]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/plugins/po.mdwn
po plugin: clearer file naming specs
[git.ikiwiki.info.git] / doc / plugins / po.mdwn
index fddfe5c41756a0b87bbe735f2d22ecb6b992c651..fd8a50e0bb455b3dea0c93cc9c0439f87c3c8600 100644 (file)
@@ -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
 -----------------------------