]> sipb.mit.edu Git - ikiwiki.git/blob - doc/bugs/ikiwiki_is_not_truly_localizable.mdwn
possible fix
[ikiwiki.git] / doc / bugs / ikiwiki_is_not_truly_localizable.mdwn
1 A lot of strings in ikiwiki are hardcoded and not taken for locales resources through gettext. This is bad because ikiwiki is thus difficult to spread for non-english users.
2
3 I mean that, for instance in CGI.pm, line like:
4
5 `my @buttons=("Save Page", "Preview", "Cancel");`
6
7 should be written as
8
9 `my @buttons=(gettext("Save Page"), gettext("Preview"), gettext("Cancel"));`
10
11 > Yes, these need to be fixed. But note that the localised texts come back
12 > into ikiwiki and are used in various places, including plugins.
13 > Including, possibly, third-party plugins. So localising the buttons would
14 > seem to require converting from the translations back into the C locale
15 > when the form is posted. --[[Joey]]
16
17 >> Wouldn't it be more easy to change all calls to the corrects ones (including in plugins) ?
18 >> For instance in the same file (CGI.pm): `elsif ($form->submitted eq gettext("Save Page")) {`.
19 >> That way no conversion to the C locale is needed.
20 >> gettext use should just be publicized in documentation (at least in [[plugins/write]]). --[[bbb]]
21
22
23 In standards templates things seems wrongly written too. For instance in page.tmpl line like:
24
25 `<li><a href="<TMPL_VAR EDITURL>" rel="nofollow">Edit</a></li>`
26
27 should be written as
28
29 `<li><a href="<TMPL_VAR EDITURL>" rel="nofollow"><TMPL_VAR EDITURL_TEXT</a></li>`
30
31 with EDITURL_TEXT variable initialized in Render.pm through a gettext call. 
32
33 Am I wrong ?
34
35 > No, that's not a sane way to localise the templates. The templates can be
36 > translated by making a copy and modifying it, or by using a tool to
37 > generate .mo files from the templates, and generate translated templates
38 > from .po files. (See [[todo/l10n]] for one attempt.) But pushing the
39 > localisation of random strings in the templates through the ikiwiki
40 > program defeats the purpose of having templates at all. --[[Joey]]
41
42 If not I can spend some time preparing patches for such corrections if it can help.
43
44 -- [[/users/bbb]]