1 If you want to translate your wiki into another language, there are
2 essentially three pieces needed for a complete translation:
4 1. The messages in the ikiwiki program itself need to be translated.
5 Ikiwiki is internationalised, and most such messages are already marked
6 with `gettext()`. The source tarball includes a `po/ikiwiki.pot`
7 that can be copied and translated as a po file. All very standard.
9 Note that a few things in the source are not currently translated. These
12 * Error messages of the "should never happen" variety.
13 * Certian info in commit messages, which is not visible from inside the
14 wiki, but is visible in the commit logs. This needs to stay in English
15 so that ikiwiki can parse it back out of the logs.
16 * Some parts of FormBuilder forms, which should be translatable by
17 adding templates. Note that these forms don't need templates for the
19 * The name of the `index` page, which has a special meaning to browsers
21 * The names of some other pages, like `sidebar` and `openid`.
22 * The names and values of parameters, both to the program, in the setup
23 file, and in preprocessor directives.
25 1. The [[basewiki]] needs to be translated. The
26 [[plugins/contrib/po]] ikiwiki plugin will allow translating
27 wikis using po files and can be used for this.
29 There is now a website, [l10n.ikiwiki.info](http://l10n.ikiwiki.info)
30 that both demos the translated basewiki, and allows easy translation of
33 To generate the po and pot files for translating the basewiki,
34 get ikiwiki's source, edit the `po/underlay.setup` file,
35 adding your language. Then run 'make -C po underlays`.
36 This will generate many po files under `po/underlays`. The first
37 ones you'll want to translate are in the `po/underlays/basewiki` directory,
38 which is really not very large, just a few thousand words.
39 After that is done, you can tackle those under
40 `po/underlays/directives`, which are a much larger (tens of
43 1. The templates also need to be translated. Some work has been done on an
44 infrastructure for maintaining translated templates, as documented in
45 [[todo/l10n]], but until that's complete, you'd need to copy and
46 translate the templates by hand.