X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/968106cc80c4f24ae02a3e54877939cd00e33258..cc4736d9eef4fba7ec39afe1aa6782142befc3d0:/doc/plugins/po.mdwn diff --git a/doc/plugins/po.mdwn b/doc/plugins/po.mdwn index fddfe5c41..fd8a50e0b 100644 --- a/doc/plugins/po.mdwn +++ b/doc/plugins/po.mdwn @@ -10,12 +10,16 @@ Introduction ============ A language is chosen as the "master" one, and any other supported -language is a "slave" one. A page written in the "master" language is -a "master" page, and is written in any supported format but PO. +language is a "slave" one. + +A page written in the "master" language is a "master" page, and is +written in any supported format but PO. It does not have to be named +a special way: migration from/to this plugin does not imply heavy +renaming work. Example: `bla/page.mdwn` is a "master" Markdown page written in English; if `usedirs` is enabled, it is rendered as -`bla/page/index.html.en`, else as `bla/page.html.en`. +`bla/page/index.en.html`, else as `bla/page.en.html`. Any translation of a "master" page into a "slave" language is called a "slave" page; it is written in the gettext PO format. PO is now @@ -23,7 +27,7 @@ a page type supported by ikiwiki. Example: `bla/page.fr.po` is the PO "message catalog" used to translate `bla/page.mdwn` into French; if `usedirs` is enabled, it is -rendered as `bla/page/index.html.fr`, else as `bla/page.html.fr` +rendered as `bla/page/index.fr.html`, else as `bla/page.fr.html` Configuration @@ -58,8 +62,8 @@ the wiki context. Setting `DefaultLanguage LL` (replace `LL` with your default MIME language) for the wiki context can be needed, to ensure -`bla/page/index.html.en` is served as `Content-Language: LL`. -**FIXME**: is it still needed with the new `.html.en` naming convention? +`bla/page/index.en.html` is served as `Content-Language: LL`. +**FIXME**: is it still needed with the new `.en.html` naming convention? lighttpd -------- @@ -73,6 +77,29 @@ lighttpd unfortunately does not support content negotiation. TODO ==== +Links +----- + +Choice between two behaviors must be possible in `ikiwiki.setup`; +a `po_link_to_current_language` option must allow switching +between them. + +If `po_link_to_current_language` is disabled, `[[page]]` links to the +negotiated preferred language, i.e.: + +- `usedirs` enabled: `bla/page/` +- `usedirs` disabled: `bla/page` + +This obviously does not work in case Content Negotiation is not +supported by the web server, hence one can enable +`po_link_to_current_language` to make `[[page]]` link to the current +page's language, i.e.: + +- `usedirs` enabled: `bla/page/index.LL.html` +- `usedirs` disabled: `bla/page.LL.html` + +**FIXME**: should `po_link_to_current_language` be enabled by default? + Display available translations ------------------------------ @@ -138,12 +165,10 @@ Pages selection depending on language To improve user navigation in a multi-lingual wiki, site developers must be enabled to write: - \[[!map pages="dev/* and preferredlang()" feeds="no"]] + \[[!map pages="dev/* and lang(LL)" feeds="no"]] \[[!map pages="dev/* and currentlang()" feeds="no"]] -Some new [[ikiwiki/pagespec]] functions have to be written. - Translation quality assurance -----------------------------