Thread:Talk:Events/FOSDEM/2013 - DevRoom - Qgil/How to make slides easy to update and localize/reply (3)

Hi,

(I arrived here from your tweet)

About internationalization (i18n):

Many free software are using GNU Gettext to handle i18n. It uses PO files (.po extension). A PO file is simply a catalog with the original strings and their respective translation into one language. For one software, there is one PO file per language. At runtime, gettext fetches the translated strings from the catalog matching the current locale.

When we update the source code, gettext merges the changes into the existing catalogs. So translators work only on the changes (added, removed, modified). This is a golden feature. We don't want to be synchronizing changes by hand, we want the machine to do it for us, and gettext does that.

There are also various tools to help the translators to deal with PO files. http://translatewiki.net supports PO files (AFAIK).

Now can we use the same process and tools for translating documents? Yes, but not with gettext because it is a bit different. For documents we have po4a ("PO for all"). po4a can extract strings from various documents formats, and like gettext merge them into PO files. Then po4a can build translated documents from the original document and the language catalogs (PO files). See http://po4a.alioth.debian.org

I think this is what you want (more or less).

For your presentation, you probably want to define an easy-to-write source format, and from that automatically generate the presentation into the framework of your choice (HTML/CSS/JS). This source format could be for example markdown (already supported by po4a). It could also be a subset of the mediawiki format, it might make sense if people are used to it. So it would work like this:

src format ---(tool)---> HTML/CSS/JS

src format ---(po4a)---> PO files ---(po4a)---> translated src format ---(tool)---> HTML/CSS/JS

(this also allows you to change framework, without rewriting presentations)

What I am wondering is how often you will have revisions? And into how many language you want translations? Because such process and tools are good when you have many revisions, but it is a bit overkill if you just have rare updates.