]> sipb.mit.edu Git - ikiwiki.git/blobdiff - doc/plugins/po.mdwn
po plugin: slave pages link to the master's discussion page
[ikiwiki.git] / doc / plugins / po.mdwn
index e8c6975b04de8ed4fbc2a20cfc5b16634293f5b3..1b240de1ab84407a9746d04936890fef9c00b5c1 100644 (file)
@@ -128,6 +128,9 @@ Usage
 Templates
 ---------
 
+The `ISTRANSLATION` and `ISTRANSLATABLE` variables can be used to
+display things only on translatable or translation pages.
+
 ### Display page's versions in other languages
 
 The `OTHERLANGUAGES` loop provides ways to display other languages'
@@ -163,6 +166,14 @@ The following variables are available inside the loop (for every page in):
 The `PERCENTTRANSLATED` variable is set to the translation
 completeness, expressed in percent, on "slave" pages.
 
+One can use it this way:
+
+       <TMPL_IF NAME="ISTRANSLATION">
+       <div id="percenttranslated">
+         <TMPL_VAR NAME="PERCENTTRANSLATED">
+       </div>
+       </TMPL_IF>
+
 Additional PageSpec tests
 -------------------------
 
@@ -185,15 +196,22 @@ Also, when the plugin has just been enabled, or when a page has just
 been declared as being translatable, the needed POT and PO files are
 created, and the PO files are checked into version control.
 
+Discussion pages
+----------------
+
+Discussion should happen in the language in which the pages are written for
+real, *i.e.* the "master" one. If discussion pages are enabled, "slave" pages
+therefore link to the "master" page's discussion page.
+
 TODO
 ====
 
 OTHERLANGUAGES dependencies
 ---------------------------
 
-Pages using `OTHERLANGUAGES` must depend on any "master" and "slave"
-pages whose status is being displayed. It will trigger dependency
-loops; how to sort this out?
+Pages using `OTHERLANGUAGES` depend on any "master" and "slave" pages
+whose status is being displayed. It is supposed to trigger dependency
+loops, but no practical bugs were noticed yet.
 
 Should pages using the `OTHERLANGUAGES` template loop be declared as
 linking to the same page in other versions? To be rigorous, they
@@ -210,9 +228,45 @@ Security checks
 gettext/po4a rough corners
 --------------------------
 
-- fix the "duplicate message definition" error when updating a PO
-  file; do PO files need normalizing?
-- should `*.po~` backup files really be saved?
+- fix infinite loop when synchronizing two ikiwiki (when checkouts
+  live in different directories): say bla.fr.po has been updated in
+  repo2; pulling repo2 from repo1 seems to trigger a PO update, that
+  changes bla.fr.po in repo1; then pushing repo1 to repo2 triggers
+  a PO update, that changes bla.fr.po in repo2; etc.; fixed in
+  `629968fc89bced6727981c0a1138072631751fee`?
+- new translations created in the web interface must get proper charset/encoding
+  gettext metadata, else the next automatic PO update removes any non-ascii
+  chars; possible solution: put such metadata into the Pot file, and let it
+  propagate; should be fixed in `773de05a7a1ee68d2bed173367cf5e716884945a`, time
+  will tell.
+
+Misc. improvements
+------------------
+
+### automatic POT/PO update
+
+Use the `change` hook instead of `needsbuild`?
+
+### page titles
+
+Use nice page titles from meta plugin in links, as inline already does.
+
+### websetup
+
+Which configuration settings are safe enough for websetup?
+
+### parentlinks
+
+When the wiki home page is translatable, the parentlinks plugin sets
+`./index.html` as its translations' single parent link. Ideally, the home page's
+translations should get no parent link at all, just like the version written in
+the master language.
+
+### backlinks
+
+If a given translatable `sourcepage.mdwn` links to \[[destpage]],
+`sourcepage.LL.po` also link to \[[destpage]], and the latter has the master
+page *and* all its translations listed in the backlinks.
 
 Translation quality assurance
 -----------------------------
@@ -232,6 +286,8 @@ Translating online
 As PO is a wiki page type, we already have an online PO editor, that
 is ikiwiki's CGI.
 
+**FIXME** preview does not work for PO files.
+
 A message-by-message interface could also be implemented at some
 point; a nice way to do offline translation work (without VCS access)
 still has to be offered, though.