X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/886f35153b0945ec39568c61d3e7451c18be6be8..32cc0b336ae830831787b2024b855ed7db0a1589:/doc/plugins/po.mdwn?ds=inline diff --git a/doc/plugins/po.mdwn b/doc/plugins/po.mdwn index 2b0fba628..28b69e04b 100644 --- a/doc/plugins/po.mdwn +++ b/doc/plugins/po.mdwn @@ -41,20 +41,21 @@ Configuration `po_slave_languages` is used to set the list of supported "slave" languages, such as: - po_slave_languages => { 'fr' => { 'name' => 'Français', }, - 'es' => { 'name' => 'Castellano', }, - 'de' => { 'name' => 'Deutsch', } + po_slave_languages => { 'fr' => 'Français', + 'es' => 'Castellano', + 'de' => 'Deutsch', } Decide which pages are translatable ----------------------------------- -The subset of "master" pages subject to translation is configurable: +The `po_translatable_pages` setting configures what pages are +translatable. It is a [[ikiwiki/PageSpec]], so you have lots of +control over what kind of pages are translatable. -- a `[[!translatable ]]` directive, when put on a page, makes it - translatable -- to set at once a bunch of pages as being translatable, use this - [[ikiwiki/directive]] with the `match=PageSpec` argument. +The `*.LL.po` translations files are anyway not considered as being +translatable, so you don't need to worry about excluding them manually +from this [[ikiwiki/PageSpec]]. Internal links -------------- @@ -66,12 +67,12 @@ and site-specific preferences. ### Default linking behavior If `po_link_to` is unset, or set to `default`, ikiwiki's default -linking behavior is preserved: `[[page]]` links to the master +linking behavior is preserved: `\[[page]]` links to the master language's page. ### Link to negotiated language -If `po_link_to` is set to `negotiated`, `[[page]]` links to the +If `po_link_to` is set to `negotiated`, `\[[page]]` links to the negotiated preferred language, *i.e.* `foo/page/`. (In)compatibility notes: @@ -85,7 +86,7 @@ negotiated preferred language, *i.e.* `foo/page/`. ### Link to current language If `po_link_to` is set to `current` and the destination page is either -a translatable page or a translation, `[[page]]` links to the current +a translatable page or a translation, `\[[page]]` links to the current page's language, *i.e.*: - `foo/page/index.LL.html` if `usedirs` is enabled @@ -122,15 +123,6 @@ lighttpd unfortunately does not support content negotiation. TODO ==== -Optimization ------------- - -Move `match_istranslation` and `match_istranslatable` code into helper -functions, and pre-compute what can be early in the build process: - -- the list of translatable (master) pages -- for every translatable page, the list of slave pages - Display available translations ------------------------------ @@ -171,8 +163,6 @@ The latter can be implemented by making any "slave" page depend on the corresponding "master" page. The `add_depends` function can achieve this, if used in a **FIXME** hook. -The POT files should not be published on the wiki. - UI consistency: rename "Edit" button on slave pages ---------------------------------------------------