Translating ccPublisher

From Creative Commons
Jump to: navigation, search

ccPublisher 2.2 (currently under development) will focus on providing internationalization (i18n) support. This document is a work in progress that describes the translation process which will be used once ccPublisher 2.2 release candidates are available.

Translations for ccPublisher are stored in gettext message catalogs. Message catalogs are text files which associate translated strings with identifiers used by the application. Each string to be translated is referred to as a "message".

Getting Help

The cctools-i18n mailing list at is used for managing translations for ccPublisher. If you are translating ccPublisher into a new language, you are encouraged to join this list. The addition of new messages to be translated will be announced there, and you may ask questions on the list regarding internationalization. The availability of new message catalogs will also be announced there.

Creating A Translation

When translating ccPublisher there are two files which must be copied and editted for the core application. Extensions may have their own message catalogs which need translating (see Translating Extensions for details on internationalizing ccPublisher extensions). The translation resources are located in the resources/locale subdirectory for a development sandbox. Use the following instructions to create a new translation for ccPublisher; these instructions are for translating ccPublisher to the fictional "ya" locale and assume a Linux development environment.

  • Create a locale subdirectory for your new translation
 $ cd resources/locale
 $ mkdir ya
 $ mkdir ya/LC_MESSAGES
  • Copy the template files into the new directory
 $ cp ccpublisher.pot ya/ccpublisher.po
 $ cp p6.pot ya/p6.pot
  • Edit the new files with the translated content. Two areas need editted: the header information and the messages.
    • The header information should be updated with the translator's contact information, email address and the character set used. The character set should usually be utf-8.
    • Each message is defined by two lines; the translated content goes between the quotes on the msgstr line. The msgid line must not be changed.
 msgid "OK"
 msgstr ""
  • Run ccPublisher with the --locale parameter; alternately if working on your default locale, omit the parameter and ccPublisher will use the operating system's default locale information.
 Change to the sandbox root directory
 $ cd ../../.. 
 $ python --locale ya

ccPublisher will recompile the .po files into binary message catalogs (.mo files) when it runs if the .po files are newer or the .mo files do not exist. This feature exists to aid translators.

Translating under Windows

To translate under Windows, download and install an i18n-enabled beta release [XXX add link here] (2.1 or later). In the installation directory you will find a resources directory, which contains the locale subdirectory. Create a new subdirectory under locale with a name matching your new locale. For example, to translate ccPublisher into French, create a directory named fr_FR.

Copy the template files from locale into your new directory; rename them from .pot to .po.

Edit each .po file per the instructions above.

If you are translating ccPublisher to your default locale, simply run ccPublisher to test your translation. If you are translating to a different locale, create a shortcut to ccp.exe and modify it to pass the --locale parameter in.

Translating under Mac OS X

coming soon...

Submitting a Translation

Once you have completed or updated a translation and tested it, you can submit it to the ccPublisher developers using the Roundup bug tracking system. Click here to create a new issue with the correct default values set. Add the locale information for your new translation to the title and attach the .po files you created (either individually or in a zip/tar file).

We encourage people submitting bugs and feature requests via Roundup to create accounts so they can easily monitor issues they create.

Supported Languages

ccPublisher includes support for the following languages:

  • English

The following languages will be included in the next release: