]> sipb.mit.edu Git - ikiwiki.git/blobdiff - doc/plugins/po.mdwn
more thoughts on underlays
[ikiwiki.git] / doc / plugins / po.mdwn
index 2f88a3dfe725194c5e4986e2280a96c479892ee9..f28c8b188cd1bfbf1dea53b3d5b63ce0b12c1fa3 100644 (file)
@@ -55,7 +55,7 @@ Supported languages
 languages, such as:
 
         po_slave_languages => { 'fr' => 'Français',
-                                'es' => 'Castellano',
+                                'es' => 'Español',
                                 'de' => 'Deutsch',
         }
 
@@ -106,17 +106,6 @@ negotiated preferred language, *i.e.* `foo/page/`.
 * if the web server does not support Content Negotiation, setting
   `po_link_to` to `negotiated` will produce a unusable website.
 
-### Links appearance
-
-When `po_translation_status_in_links` is enabled, the text of a link
-to a slave pages displays this page's translation status.
-
-When the `po_strictly_refresh_backlinks` setting is enabled, a page is
-refreshed every time a backlinked page is changed. This updates the
-translation status in links, and helps having a consistent translated
-wiki. Beware, this make every page depend on every page that links to
-it, which can slow everything down and bloat the dependency pagespecs.
-
 Server support
 ==============
 
@@ -161,24 +150,9 @@ display things only on translatable or translation pages.
 The `OTHERLANGUAGES` loop provides ways to display other languages'
 versions of the same page, and the translations' status.
 
-One typically adds the following code to `templates/page.tmpl`:
-
-       <TMPL_IF NAME="OTHERLANGUAGES">
-       <div id="otherlanguages">
-         <ul>
-         <TMPL_LOOP NAME="OTHERLANGUAGES">
-           <li>
-             <a href="<TMPL_VAR NAME="URL">"><TMPL_VAR NAME="LANGUAGE"></a>
-             <TMPL_UNLESS NAME="MASTER">
-               (<TMPL_VAR NAME="PERCENT">&nbsp;%)
-             </TMPL_UNLESS>
-           </li>
-         </TMPL_LOOP>
-         </ul>
-       </div>
-       </TMPL_IF>
-
-The following variables are available inside the loop (for every page in):
+An example of its use can be found in the default
+`templates/page.tmpl`. In case you want to customize it, the following
+variables are available inside the loop (for every page in):
 
 * `URL` - url to the page
 * `CODE` - two-letters language code
@@ -189,15 +163,8 @@ The following variables are available inside the loop (for every page in):
 ### Display the current translation status
 
 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>
+completeness, expressed in percent, on "slave" pages. It is used by
+the default `templates/page.tmpl`.
 
 Additional PageSpec tests
 -------------------------
@@ -242,8 +209,8 @@ preferred `$EDITOR`, without needing to be online.
 Markup languages support
 ------------------------
 
-Markdown is well supported. Some other markup languages supported by
-ikiwiki mostly work, but some pieces of syntax are not rendered
+[[Markdown|mdwn]] is well supported. Some other markup languages supported
+by ikiwiki mostly work, but some pieces of syntax are not rendered
 correctly on the slave pages:
 
 * [[reStructuredText|rst]]: anonymous hyperlinks and internal
@@ -257,7 +224,7 @@ correctly on the slave pages:
 Security
 ========
 
-[[./security]] contains a detailed security analysis of this plugin
+[[po/discussion]] contains a detailed security analysis of this plugin
 and its dependencies.
 
 When using po4a older than 0.35, it is recommended to uninstall
@@ -270,49 +237,65 @@ TODO
 Better links
 ------------
 
-### Page title in links
-
-Using the fix to
+Once the fix to
 [[bugs/pagetitle_function_does_not_respect_meta_titles]] from
-[[intrigeri]]'s `meta` branch, the generated links' text is based on
-the page titles set with the [[meta|plugins/meta]] plugin. This has to
-be merged into ikiwiki upstream, though.
-
-Robustness tests
-----------------
-
-### Enabling/disabling the plugin
-
-* enabling the plugin with `po_translatable_pages` set to blacklist: **OK**
-* enabling the plugin with `po_translatable_pages` set to whitelist: **OK**
-* enabling the plugin without `po_translatable_pages` set: **OK**
-* disabling the plugin: **OK**
-
-### Changing the plugin config
-
-* adding existing pages to `po_translatable_pages`: **OK**
-* removing existing pages from `po_translatable_pages`: **OK**
-* adding a language to `po_slave_languages`: **OK**
-* removing a language from `po_slave_languages`: **OK**
-* changing `po_master_language`: **OK**
-* replacing `po_master_language` with a language previously part of
-  `po_slave_languages`: needs two rebuilds, but **OK** (this is quite
-  a perverse test actually)
-
-### Creating/deleting/renaming pages
-
-All cases of master/slave page creation/deletion/rename, both via RCS
-and via CGI, have been tested.
-
-### Misc
-
-* general test with `usedirs` disabled: **OK**
-* general test with `indexpages` enabled: **not OK**
-* general test with `po_link_to=default` with `userdirs` enabled: **OK**
-* general test with `po_link_to=default` with `userdirs` disabled: **OK**
-
-Misc. bugs
-----------
+[[intrigeri]]'s `meta` branch is merged into ikiwiki upstream, the
+generated links' text will be optionally based on the page titles set
+with the [[meta|plugins/meta]] plugin, and will thus be translatable.
+It will also allow displaying the translation status in links to slave
+pages. Both were implemented, and reverted in commit
+ea753782b222bf4ba2fb4683b6363afdd9055b64, which should be reverted
+once [[intrigeri]]'s `meta` branch is merged.
+
+An integration branch, called `meta-po`, merges [[intrigeri]]'s `po`
+and `meta` branches, and thus has thise additional features.
+
+
+Language display order
+----------------------
+
+Jonas pointed out that one might want to control the order that links to
+other languages are listed, for various reasons. Currently, there is no
+order, as `po_slave_languages` is a hash. It would need to be converted
+to an array to support this. (If twere done, twere best done quickly.)
+--[[Joey]] 
+
+po files in underlay
+--------------------
+
+I think this plugin doesn't yet allow po files to be present in an
+underlay to translate files also from the underlay.
+
+In `istranslatablefile`, it specifically checks that
+the file is present in srcdir. 
+
+Problem with this is that it precludes using po to translate
+the basewiki (work which is well under way for Danish BTW),
+since the translated po files cannot really be used.
+
+A further problem comes if one wants to use a non-English language as the
+`po_master_language`. It would be good to get a translated
+basewiki, taking po files from the underlay and using them as the primary
+page sources, but this plugin doesn't yet support that. 
+
+And, maybe it shouldn't? A user would not expect to see a po file when
+editing the index page of their wiki, just because they're using a
+different language. Instead, we might want to build localized .mdwn files
+for the basewiki, and then ikiwiki would just use that translated underlay.
+The when the user edits index, they get a nice mdwn file to start from.
+
+So, we seem to have two cases, in one po files from the underlay should be
+used, in the other not. Hmm. Support both?
+--[[Joey]] 
+
+Duplicate %links ?
+------------------
+
+I notice code in the scan hook that seems to assume
+that %links will accumulate duplicate links for a page.
+That used to be so, but the bug was fixed. Does this mean
+that po might be replacing the only link on a page, in error? 
+--[[Joey]] 
 
 Documentation
 -------------