ikiwiki/ todo/ l10n

From Recai:

Here is my initial work on ikiwiki l10n infrastructure (I'm sending it before finalizing, there may be errors).

I've revised the patches (tested OK):

However...

fine. Also a final note, I haven't examined the quality of generated templates yet.

Looks like, tmpl_process3 cannot preserve line breaks in template files. For example, it processed the following template:

Someone[1], possibly you, requested that you be emailed the password for

user on [2].

The password is: <TMPL_VAR USER_PASSWORD>

--
ikiwiki

[1] The user requesting the password was at IP address <TMPL_VAR

REMOTE_ADDR> [2] Located at

as (in Turkish):

Birisi[1], ki muhtemelen bu sizsiniz, [2] üzerindeki kullanıcısına ait parolanın epostalanması isteğinde bulundu. Parola: -- ikiwiki [1] Parolayı isteyen kullanıcının ait IP adresi: [2]

Looks like, tmpl_process3 cannot preserve line breaks in template files. For example, it processed the following template:

This could be easily worked around in tmpl_process3, but I wouldn't like to maintain a separate utility.


As to the hardcoded strings in ikiwiki, I've internationalized the program, and there is a po/ikiwiki.pot in the source that can be translated. --Joey


Danish l10n of templates and basewiki is available with the following commands:

git clone http://source.jones.dk/ikiwiki.git newsite
cd newsite
make

Updates are retrieved with this single command:

make

Right now the l10n is maintained by manually comparing against each new upstream release, and updating both the master mirror and the l10n as needed.

Work is in progress to semi-automate this to still check manually for updates, but maintain the l10n as PO files - to allow more translations to more than the few languages I know about myself.

As upstream ikiwiki is now maintained in GIT too, keeping the master mirror in sync with upstream could probably be automated even more - but an obstacle seems to be that content is not maintained separately but as an integral part of upstream source (GIT seems to not support subscribing to only parts of a repository).

For example use, here's how to roll out a clone of the Redpill support site:

mkdir -p ~/private_webdata
git clone http://source.redpill.dk/support.git ~/private_webdata/support.redpill.dk
cd ~/private_webdata/support.redpill.dk
make
mkdir -p ~/public_websites/support.redpill.dk
mkdir -p ~/public_websites/source.redpill.dk/support_content.git/hooks
mkdir -p ~/public_cgi/support.redpill.dk
make install

(Redpill support is inspired by http://help.riseup.net but needs to be reusable for several similarly configured networks)

--JonasSmedegaard