Those are discussion notes for website translation. Please look at the bottom of the page to get a set of actions to be done.
In past the tor project had it's own webpage translated. The translators had svn access to commit changes. Weasel was keeping a table of which page is updated and which page is not. It's done with a bunch of XML files. The language is dependent on the browser and the user was able to click on translation flags.
It got abandoned because some of the translation where not kept up-to-date.
We switched from WML to PO that allow to use putal to edit it, then we switched to transifex, then runa realized that most stuff are not kept up to date. We lost some translator, one the lesson learning is that is not possible/useful to have only single context get translated without the whole page displayed, as the translator need to do it in the context.
The conversion from XML to PO is a pain especially when translator tweak wrongly some HTML tags that need to be fixed up manually.
Weasel: Do we really want to translate all the page of the website? Moritz: We could translate only a reduced set of the website webpages.
We should do a Sitemap, from here define what we want to have translated.
We should reduce the set of the web page that have to be translated.
Moritz: We should probably start from scratch the website. But this would imply increasing the complexity to achieve the goal.
Lunar: "At Tails they use a iki-wiki, that works with a translation plugin with PO. The wiki is in a git repository. It does text-to-HTML and it does generate static website. Translation are not acceptable if there's not at least 2 different persons available to keep the duties. At least 15 pages must be translated before a new language it's published".
PO files provide some infrastructure tools, but the issue is that those can be used only by technical peoples.
Moritz: We should talk to volunteer coordinator to have them involved in the project for the translation. The PO files could be stored over a git files.
We would need to have a staging area for the website, to see how it does look, before going to publish it.
Transifex is the right choice, including the step to have a review process. Each text translated MUST goes trough a review process by a nominated set of 2 language-owner.
The process would sounds like that:
- Decide the pages that should be translated.
- Move our content to the iki-wiki and export all text to PO files to be import them to transifex and import it back translated.
- Moving to ikiwiki would change the URL path, so there will be the need to have a 301 permanent redirect.
Question is: Are we moving to ikiwiki or to keep current structure? The short term approach is to keep the format like it is, in WML/HTML. The long term approach could be to move to ikiwiki.
- Current website use TAGs in WML to re-write the latests-version of download link automatically. This could be a requirements to be considered or to be worked-around by having a -latests version on the file download URL, giving back a redirect to the right version files.
- Who is the webmaster that fetch all the changes and upload to the website?
There's no clear answer.
The process would require:
- Have 1 trusted reviewer for each language
- Have multiple translators for each language
- When a page is translated and reviewed there's a cronjob that automatically publish it, going trough git
- If a web page is not translated, it should have a default page saying that it has not still been translated, pointing out to instruction to contribute.
- If a webpage is outdated, a notice over the outdated web page have to be linked/provided
We will need to build a community for that, but we can look at the current software translators.
So the TODO is:
- Make Torproject.org sitemap
- Define which pages will be part of "translated pages"
- Setup a transifex repo
- Deal on how to have translator's reviewers status (translator should not be reviewer for the website, due toe
- Write import/export script (This script, must generate for all the web page also the non-translated ones and add a notice for the outdated one)
- Write a cronjob that automatically does the publishing
- Setup everything on the official server to publish it (it could be possible to use a git repo as an exchange point for that)