Handbook page about the localization server

Events happening in the community are now at Drupal community events on www.drupal.org.

Any further work on this is done in the handbook, see http://drupal.org/node/302196 and http://drupal.org/node/302194. Suggestions and help still very welcome, of course.

The current handbook section on how to contribute to translations doesn't mention the local translation servers. The following is a draft for a handbook page (or pages) to correct this. Please help by editing it (it's a wiki page), or by pointing out stuff that's incorrect, missing, or should be improved.

See also this related documentation issue.

Localization servers

In the future, all translation will be done on a localization server which will be common to all languages. For more information, see the project page for the localization server. In a status update in January 2008, the project maintainer wrote:

The project is quite usable already for smaller tasks like translating a few hundred modules to one language, but it is not ready for prime-time on drupal.org yet unfortunately.

So, while waiting for the common server, several translation communities have started local versions. There's a list of current ones at the project page.

How to contribute using a local server

Read information (if any) at the translation site and on the project page for the language to find out if there are language specific guidelines, procedures, or glossaries.

Register/log in at the site. Depending on how the site is configured, you may need to join a group for the langauge(s) you want to translate.

Each string may be added as a translation or a suggestion. On some localization servers, all users can add translations, on others most users will add suggestions which will need to be approved by a smaller group of authorized users.

You can also import translations from .po-files. Important: The server doesn't currently check if new strings are identical to old ones. In other words, if you import a translation which contains a lot of strings which are already present in the database, the result will be a lot of redundant suggestions.

The server uses Unicode fonts to create text-based icons. If your icons do not display properly, test your browser for compatibility with the Unicode 'Dingbats' block. Note: It may be necessary to install a font that supports characters in the Unicode 'Dingbats' block. A list of these fonts can be found at Font Support for Unicode Block 'Dingbats'.

How to export translations from a local server

If you want a translation to import to your own site, (... description to be added ...)

If you want a file to contribute to CVS at drupal.org, (... description to be added ...)

How to set up a local server

Important: The module is still in heavy development. There are several known issues, and both user interface and functionality may change. Take a look at the issue queue before deciding to use the server.

Important: Switching from editing .po files to using a localization server is a desicion which impacts the whole translation team. Take the time needed to get consensus for the change.

Prerequisites:

  • Your PHP installation should have the PEAR Tar package installed (which requires zzlib support). This is required for Tar extraction (in the l10n_localpacks and l10n_drupalorg modules) and Tar generation (in the l10n_community module)
    (... Is http://pear.php.net/package/Archive_Tar the package mentioned? ...)

Install the following modules:

Read the README-files of the modules, if present, to see if there are any additional installation instructions.

Go to admin/build/modules and activate the following modules:

  • Locale (core)
  • Localization community (part of the Localization server package)
  • Localization community for local packages (part of the Localization server package) ("Localization community for drupal.org" is meant for the final, common server and should not be used for local servers.)
  • Translation template extractor
  • Optionally:
    • Views
    • Organic groups
    • Localization groups (part of the Localization server package)

Go to Administer > Users > Access control (admin/user/access) and set permissions for:

  • access localization community: anonymous and authenticated users
  • administer localization community: admin roles only
  • submit suggestions: authenticated users
  • submit translations and approve suggestions: you may want to set this for autenticated users, or only for a trusted translator role

Create a directory on your server to hold the projects to be translated.

Go to Administer > Localization server > Local package connector (admin/l10n_server/l10n_localpacks). Under "Local packages directory" add the name of the directory you just created.

Copy the tarball of the Drupal version(s) you want to translate to the directory you just created. (The tarball is the .tar.gz file at http://drupal.org/download.) Do the same for any contributed modules and themes you want to translate.

Remove unwanted languages. (... description to be added ...)

Import current translations. (... description to be added ...) You can choose to import them as approved translations or as suggestions.
Important: If you import the same file twice, you will get suggestions which are identical to the approved translations.

Go to Administer > Site building > Blocks (admin/build/block). Activate the block "Translation help", choose "Configure" and under "Custom visibility settings" choose "Show this block by default, but let individual users hide it". It probably also makes most sense to check "Show block for specific roles: authenticated user"

There's also a "Bookmarked filters" block. It doesn't do anything currently, but it hardly hurts to activate it.

The information at the language landing pages is written for the final, central server. Change it to something which fits your site using the locale module. (See HOWTO: Creating a customized language set to replace Drupal terminology for how.)

Each language has a landing page. If you want to create content to be shown there, you need to create a vocabulary with a term for each language called "l10n-server-[language code]" .

See the project page for information on how to get listed on the local server list.

As with all sites, follow best practices, and remember to take backups regularily.

Translations

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week