[Pmwiki-users] i18n distribution question

Patrick R. Michaud pmichaud
Tue Aug 19 21:17:44 CDT 2003

I have a question for people using the internationalization (i18n) modules.
I now have two mechanisms by which one can define i18n strings--one
is by using the XLSDV function, as is currently done in the i18n-xx.php
files.  Another is to define and edit the translations within wiki pages, 
as is currently being done at 

My question is, which one is better for distribution purposes?  I'll
use French (fr) as the example language here, although it can be any
language.  Currently the French translations are defined in a file
called i18n-fr.php, which is a PHP script that loads the translation
table for French phrases.  This works fine, but coordinating the
translation table updates is becoming a bit tricky.

An alternative would be to define the translations within a wiki page,
say PmWikiFr.XLTable.  The master version of the XLTable page for each
language can be maintained and updated on pmichaud.com (along with all of 
the other PmWikiFr.* pages).  Someone wanting to convert to French would 
then simply download a package containing the pages in the PmWikiFr group 
(including the translation table page and other documentation pages 
that might exist), copy them into wikilib.d/, and then add a line to 
local.php such as:


which says to add the translations from PmWikiFr.XLTable into the "fr"
language set.  The advantage of this is that adding/editing translations
can be done by simply editing a wiki page (and can be easily added for
future distributions by editing the pmichaud.com version of the page).  
Also, site-administrators could easily maintain local and custom translation 
table entries via a statement such as


The biggest drawback I can see to this approach is that on many sites
it may be necessary to password protect the XLTable pages from editing 
changes, otherwise someone could edit the XLTable pages and maliciously 
change some of the PmWiki prompts.

Anyone have a preference for distribution, or need to see this second 
approach demonstrated on the pmichaud.com site in order to understand 
it better?

Also note that the approaches are not mutually exclusive--one can easily
convert and combine i18n-xx.php translation entries and wiki-based 


More information about the pmwiki-users mailing list