This page explains how to help translation Alfresco into a language that is currently unsupported. The list of languages supported for a specific version is in the documentation for that version (for instance, see Alfresco 4.2). To provide feedback on an official translation, please open an issue.
The Alfresco community has standardized on a specific set of tools and a collaborative process that incorporates best practices and provides some consistency across the various translation teams.
These are the parts of a mature community translation project:
The following sections lay out how a language pack moves through these tools during its lifecycle. Most translation projects start off at CrowdIn and don't worry about a separate project site or add-ons directory entry. Once they need to maintain their old translations, or are ready to advertise the language pack to other Alfresco users, they establish those parts of the project.
To participate in a community translation, we ask that you join us in the Alfresco Translators Mailing List where we coordinate the translation process. We also ask that you monitor the Language Packs Forum to help users who have problems with a language pack.
Alfresco Community translations should be distributed under the Apache license to allow for maximum reuse and potential incorporation into the supported product without having to track down contribution agreements from all contributors.
The Alfresco community coalesced around using CrowdIn as a collaborative translation platform. CrowdIn is a web service to assist with community translations. It is free for use by open source projects.
http://crowdin.net/project/alfresco
For each new release of Alfresco Community Edition, the latest strings are uploaded to CrowdIn replacing the current version (see the discussion page for reasoning). CrowdIn maintains a translation memory that automatically translates strings that are identical between versions.
Even though CrowdIn offers a forum where translators can discuss the translation, we use the Alfresco Translators Mailing List for collaboration across all the languages. The Google Group infrastructure makes it easier to export the conversations, is more easily searchable, provides a mailing list interface, and will remain valid should we change translation tools. The translation effort for each individual language will determine whether to use the CrowdIn forum or a different mailing list for that specific language.
The uploaded strings on CrowdIn combines the strings in the latest versions of Enterprise and Community Editions. This provides the greatest coverage of translated strings because there are a few features that are only in Enterprise Edition, but Community Edition normally has the newest features.
All of the Alfresco translations stored in CrowdIn can be downloaded with this URL:
http://crowdin.net/download/project/alfresco
Individual languages are available at a URL for each language:
http://crowdin.net/download/project/alfresco/<lang>.zip
for example pt_PT would be http://crowdin.net/download/project/alfresco/pt-PT.zip
Once the translated files are downloaded, they should be renamed to include the language suffix. Then they can be imported into the code repository at your project site.
One of our community members maintains a site with an export of all the strings in CrowdIn packages as JAR files (with the TinyMCE translation included) that can easily be added to Alfresco:
http://translation.alfresco.com/
The packages are refreshed regularly.
The script that does the download and packaging is available here: Build_i18n.sh.txt.
Community developed language packs should host with a popular project hosting service such as GitHub, BitBucket, or Google Code. These services provide a source code repository for tracking changes to the translation, a download facility for packaged language packs, and an issue tracker for reporting problems with previous releases.
The specific details for packaging and installing a language pack is on the Language Packs page. In general:
Once the strings for a new version of Alfresco are uploaded into CrowdIn, translations for previous versions will need to be maintained through check-ins to source control. Changes that should carry forward to future translations should also be made against the latest version in CrowdIn.
Mature language packs should be listed at Alfresco Add-ons. This is where most users of Alfresco look for extensions such as language packs.
You will need to sign-up for an account at CrowdIn and request to join the translation group for the languages you are interested in. In might take us a day to approve your request.
All strings in CrowdIn are in one of the following three states:
A quick translation process is to:
Further testing can be done using the complete packages that are regularly built at http://translation.alfresco.com/.
More information is on the Language_Packs page. Please read the General Tips section.
Alfresco translations follow the following guidelines (thanks to the Flattr community for some of these ideas: