]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/plugins/po.mdwn
Merge commit 'upstream/master' into pub/master
[git.ikiwiki.info.git] / doc / plugins / po.mdwn
index c83d5a612dc4863599b3d08c15c7aea5b0cacd29..fe6b6b562a9260459aec13a20a5c458e19fc9a8e 100644 (file)
@@ -128,6 +128,9 @@ Usage
 Templates
 ---------
 
 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'
 ### 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.
 
 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
 -------------------------
 
 Additional PageSpec tests
 -------------------------
 
@@ -185,6 +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.
 
 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.
+
+Translating
+-----------
+
+One can edit the PO files using ikiwiki's CGI (a message-by-message interface
+could also be implemented at some point).
+
+If [[tips/untrusted_git_push]] is setup, one can edit the PO files in her
+preferred `$EDITOR`, without needing to be online.
+
 TODO
 ====
 
 TODO
 ====
 
@@ -210,57 +237,61 @@ Security checks
 gettext/po4a rough corners
 --------------------------
 
 gettext/po4a rough corners
 --------------------------
 
-- fix the duplicated PO header mysterious bug
-- fix the "duplicate message definition" error when updating a PO
-  file; do PO files need normalizing? (may be a side effect of
-  previous bug)
+- 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
+------------------
 
 
-Translation quality assurance
------------------------------
+### preview
 
 
-Modifying a PO file via the CGI must be forbidden if the new version
-is not a valid PO file. As a bonus, check that it provides a more
-complete translation than the existing one.
+preview does not work for PO files.
 
 
-A new `cansave` type of hook would be needed to implement this.
+### automatic POT/PO update
 
 
-Note: committing to the underlying repository is a way to bypass
-this check.
+Use the `change` hook instead of `needsbuild`?
 
 
-Translating online
-------------------
+### page titles
 
 
-As PO is a wiki page type, we already have an online PO editor, that
-is ikiwiki's CGI.
+Use nice page titles from meta plugin in links, as inline already does. This is
+actually a duplicate for
+[[bugs/pagetitle_function_does_not_respect_meta_titles]], which might be fixed
+by something like [[todo/using_meta_titles_for_parentlinks]].
 
 
-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.
+### websetup
 
 
-Translating offline without VCS access
---------------------------------------
+Which configuration settings are safe enough for websetup?
 
 
-The following workflow should be made possible for translators without
-VCS access who need to edit the PO files in another editor than a web
-browser:
+### parentlinks
 
 
-- download the page's PO file
-- use any PO editor to update the translation
-- upload the updated PO file
+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.
 
 
-Implementation note: a generic mechanism to upload a page's source is
-needed: it's only an alternative way to allow saving a the modified
-page's source with the CGI.
+### backlinks
 
 
-### Short-term workflow
+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.
 
 
-A possible workaround is:
+Translation quality assurance
+-----------------------------
 
 
-- pretend to edit the PO file online
-- copy the PO file content from the textarea
-- cancel the edit
-- paste the content into a local file.
-- edit the local file in any PO editor
-- pretend to edit the PO file online
-- paste the modified local file's content into the edit textarea
-- save
+Modifying a PO file via the CGI must be forbidden if the new version
+is not a valid PO file. As a bonus, check that it provides a more
+complete translation than the existing one.
+
+A new `cansave` type of hook would be needed to implement this.
+
+Note: committing to the underlying repository is a way to bypass
+this check.