From 72dc1a5f021595d9878fb6380280307400a46c4e Mon Sep 17 00:00:00 2001 From: intrigeri Date: Sat, 18 Oct 2008 23:06:56 +0200 Subject: [PATCH 1/2] po plugin: todo++ Signed-off-by: intrigeri --- doc/plugins/po.mdwn | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/doc/plugins/po.mdwn b/doc/plugins/po.mdwn index c83d5a612..be3f4821e 100644 --- a/doc/plugins/po.mdwn +++ b/doc/plugins/po.mdwn @@ -214,6 +214,25 @@ gettext/po4a rough corners - 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` ? + +Misc. bugs +---------- + + + +Misc. improvements +------------------ + +### page titles + +Use nice page titles from meta plugin in links, as inline already does. + Translation quality assurance ----------------------------- @@ -233,6 +252,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. From f096a9d7986025badd2f2773bbf71fb33cb96b7b Mon Sep 17 00:00:00 2001 From: intrigeri Date: Sun, 19 Oct 2008 00:05:13 +0200 Subject: [PATCH 2/2] po plugin: added ISTRANSLATION and ISTRANSLATABLE template variables Signed-off-by: intrigeri --- IkiWiki/Plugin/po.pm | 6 ++++++ doc/plugins/po.mdwn | 11 +++++++++++ 2 files changed, 17 insertions(+) diff --git a/IkiWiki/Plugin/po.pm b/IkiWiki/Plugin/po.pm index 26bd893a9..56f4162da 100644 --- a/IkiWiki/Plugin/po.pm +++ b/IkiWiki/Plugin/po.pm @@ -371,6 +371,12 @@ sub pagetemplate (@) { #{{{ if (istranslation($page) && $template->query(name => "percenttranslated")) { $template->param(percenttranslated => percenttranslated($page)); } + if ($template->query(name => "istranslation")) { + $template->param(istranslation => istranslation($page)); + } + if ($template->query(name => "istranslatable")) { + $template->param(istranslatable => istranslatable($page)); + } if ($template->query(name => "otherlanguages")) { $template->param(otherlanguages => [otherlanguages($page)]); if (istranslatable($page)) { diff --git a/doc/plugins/po.mdwn b/doc/plugins/po.mdwn index be3f4821e..bc455021a 100644 --- a/doc/plugins/po.mdwn +++ b/doc/plugins/po.mdwn @@ -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: + + +
+ +
+
+ Additional PageSpec tests -------------------------