Translating with Pootle/Administration
So you're an admin of some kind, and you want to:
All of this assumes you have a read/write checkout of svn+ssh://email@example.com/svnroot/i18n/trunk. One other important note is that CC uses two different types of PO files: The "normal" PO files with English keys, used by Pootle, and also PO files with logical keys, which are used by cc.engine to actually render the site.
- ./i18n/trunk/po = English-key PO files
- ./i18n/trunk/i18n = logical-key PO files (CC-style)
Note: most of this is relative to the project creativecommons.org and may or may not apply to other projects.
Add a new string
As the directory name implies, this is the "master" PO file. This is a CC-style PO file. You add your new strings to this file using whatever naming rules might be in effect for the type of string you are adding. Commit your change.
Once you have added your new string(s) you must run ./bin/sync with no arguments. This will propagate the new string(s) to all of the English-key PO files. Commit the many changes which should be visible in the ./i18n/trunk/po/ directory.
Make new string(s) available to Pootle
$ ssh translate.creativecommons.org $ cd /var/www/translate.creativecommons.org/po/ $ svn up
Add a new language to an existing project
If you are adding a language which already exists for another country (e.g. Spanish), then the easiest thing to do is, for example:
$ ssh translate.creativecommons.org $ cd /var/www/translate.creativecommons.org/po/<project name> $ sudo su pootle $ cp -a es es_PR $ rm -rf es_PR/.svn $ rm ./es_PR/*.stats ./es_PR/*.prefs ./es_PR/*.pending $ svn add es_PR $ svn ci -m "Created Puerto Rico PO directory using Spain's as a base" es_PR
If you are creating a language that doesn't already exist for some other country, then just use en_US as a base (in the example above substitute 'es' with 'en_US').
Since you've just added a new language, this is also a good time to add a translatable string for the language name itself. This is done by using the steps outlined above in Add a new string. Using the example above, you should add the following to ./i18n/trunk/master/cc_org.po:
msgid lang.es_PR msgstr "Spanish (Puerto Rico)"
Change an English string
Changing an English string is done precisely like Adding a new string, with the exception that you modify an existing string in ./i18n/trunk/master/cc_org.po instead of adding a new one.