This page last changed on Aug 16, 2006 by jnolen.
To run Confluence in another language, you must install a language pack plugin for that translation. Guides and tools for collaboratively creating translations have been made available to the Confluence community.
This page provides a technical overview of plugins, for users interested in creating or updating a translation. To install a translation, check out Community Translations.
Language Pack Overview
Language plugins are placed in the <CONFLUENCE-INSTALL-DIRECTORY>/languages/<KEY> directory, where <KEY> is the international language identifier. They consist of three files:
Name |
Purpose |
Filename |
Location |
Language Plugin Descriptor |
Defines language settings in language tag |
atlassian-plugin.xml |
./src/etc |
ConfluenceActionSupport Properties File |
Contains text strings in key:value mapping |
ConfluenceActionSupport<KEY>.properties |
./src/etc/com/atlassian/confluence/core |
Flag Image |
Contains flag image for country |
<KEY>.png |
./src/etc/templates/languages/<KEY> |
Directory Structure
The location of the three files that compose a Language Pack plugin is as follows:
./src/etc/com/atlassian/confluence/<PATH_OF_PROPERTIES_FILE>
./src/etc/templates/languages/<LANGUAGE_KEY>/<LANGUAGE_KEY>.gif
./src/etc/atlassian-plugin.xmlc
As an example, this is the directory listing of the German translation ("de_DE"):
./confluence-2.2-std/plugins/de_DE/src
./confluence-2.2-std/plugins/de_DE/src/etc
./confluence-2.2-std/plugins/de_DE/src/etc/atlassian-plugin.xml
./confluence-2.2-std/plugins/de_DE/src/etc/com
./confluence-2.2-std/plugins/de_DE/src/etc/com/atlassian
./confluence-2.2-std/plugins/de_DE/src/etc/com/atlassian/confluence
./confluence-2.2-std/plugins/de_DE/src/etc/com/atlassian/confluence/core
./confluence-2.2-std/plugins/de_DE/src/etc/com/atlassian/confluence/core/ConfluenceActionSupport_de_DE.properties
./confluence-2.2-std/plugins/de_DE/src/etc/templates
./confluence-2.2-std/plugins/de_DE/src/etc/templates/languages
./confluence-2.2-std/plugins/de_DE/src/etc/templates/languages/de_DE
./confluence-2.2-std/plugins/de_DE/src/etc/templates/languages/de_DE/de_DE.gif
Language Plugin Structure
The three components of a plugin must be updated for each translation. The following sections describe updating the language plugin descriptor, flag image and ConfluenceActionSupport properties file.
Defining The Language Plugin Descriptor
This is an example atlassian-plugin.xml file for a Language Pack plugin for German:
<atlassian-plugin name='German language pack' key='confluence.languages.de_DE'>
<plugin-info>
<description>This plugin contains translations for the German language</description>
<vendor name="Atlassian Software Systems" url="http:/>
<version>1.0</version>
</plugin-info>
<language name="German" key="de_DE" language="de" country="DE">
<!-- Define a flag that will be shown for this language -->
<resource name="de_DE.gif" type="download" location="templates/languages/de_DE/de_DE.gif">
<property key="content-type" value="image/gif"/>
</resource>
</language>
</atlassian-plugin>
Language Plugin Descriptor Attributes
The atlassian-plugin.xml file declares the language being bundled using the following attributes:
Attribute |
Description |
Required |
language |
The language being defined |
Yes |
country |
The country the language belongs to |
No |
variant |
The variant of the language |
No |
These values are based off those defined in the java.util.Locale class. For information on the valid values for the language, country and variant attributes, please see the java.util.Locale documentation.
The key attribute is an aggregation of the the three previous attributes, in the same format as that of java.util.Locale: language[_country][_variant]
Flag Images
Language packs define a flag that is to be used to represent the language. The atlassian-plugin.xml defines the language property:
<resource name="en_AU.gif" type="download" location="templates/languages/en_AU/en_AU.gif">
<property key="content-type" value="image/gif"/>
</resource>
When selecting a language, the flag defined above will be displayed. Additionally, the flag will appear during the setup process.
ConfluenceActionSupport Properties File
This Java Properties file contains key-value pairs for each string in Confluence, and supports variables. For example:
remove.all.name=Remove All
view.mail.thread.desc.full=Entire Thread (Showing {0} of {1})
Does this mean that language packs can't be uploaded? That would be unfortunate...

Posted by david@randombits.org at Apr 18, 2006 23:28
|
Is atlassian going to provide with Off-the-shelf languages?
French is our top priority.

Posted by didier.boulet@gmail.com at Apr 19, 2006 04:31
|
Confluence 2.2 will not ship with any Off-the-shelf languages. We are hoping to be able to provide a number of default languages in the near future.
Cheers,
Jens

Posted by jens@atlassian.com at Apr 20, 2006 23:28
|
Any chance we get the english pack to jump start our translation work?

Posted by angel@acm.org at Apr 21, 2006 04:07
|
Please send an email to confluence-support to request the english pack.

Posted by jens@atlassian.com at Apr 26, 2006 21:00
|
FYI,
Confluence 2.2 was released yesterday and is now available for download. Look for a file called ConfluenceActionSupport.properties in the Confluence directory and use this file as a base for the translation. It contains most of the text used in Confluence.
In the next few days we will also provide a language plugin starter kit which will make it easier for you to translate Confluence. When ready, the starter kit will be available for download on this page.
Cheers,
Jens

Posted by jens@atlassian.com at Apr 27, 2006 19:40
|
FYI,
There is a utility to help translate between property files more quickly.
http://www.javasharing.com/javasharing/web/guest/properties_editor

Posted by bert.chen@atosorigin.com at Apr 28, 2006 01:49
|
I'd like to help with the translation to French. There are close to 3000 strings to translate. What's the best way to split the work? No point in 2 people translating the same string twice.
Suggested workflow - for each new language:
- Agree on standard translations for recurring words (i.e. dashboard, space, profile, username) to keep the final translation consistent,
- Agree on a list of strings (for example all lines matching regex pattern ^[^ #] in ConfluenceActionSupport.properties) and breaking it down into 20-string units,
- Each pick one or more units to translate & commit back to a central repository when done
Any ideas as to how to get started? Where could this translation repository be hosted? I'm not familiar with Subversion but maybe that would be a good tool for the job?
Thanks for any pointers - let's get Confluence localized!
Cheers, Chris

Posted by doobya at Apr 28, 2006 06:19
|
Hi Chris,
I'd like to help too, and I might even have some time to do so, eventually! 
We already have a repository: an editable running draft of the French translation is available at http://confluence.atlassian.com/display/DISC/French_FR+Translation - why not start from there? I think Confluence handles concurrent editing quite well, so we can all add to it when time permits.
Does this make sense?
Normand

Posted by norbro at Sep 13, 2006 08:36
|
There is some confusion about where to place tha language.jar. When copying it to WEB-INF/lib you cannot switch between the languages.
Above there are to ways described. Put it to install-dir/languages/ or to install-dir/plugins.
What is the best way?

Posted by f.marx@enbw.com at Dec 13, 2006 08:52
|
Hi Fabian,
There shouldn't be a problem if you place the language.jar at WEB-INF/lib. I would suggest you to place it there and if it doesn't work, can you please raise a support request at https://support.atlassian.com
Regards,
Mei

Posted by meiyan.chan@atlassian.com at Dec 14, 2006 18:46
|
Dear All,
After I installed a Chinese Language Pack under Confluence 2.3.1 and then changed the language to Chinese, the Confluence works correctly except the search function. when I click the search button, Confluence displays nothing but a blank page. If I change the language back to English, the search function works ok.
The same situation happens no matter I changed the index language to either English or Chinese or CJK, whereas I rebuilt index each time. The pack which I used could work correctly under Confluence 2.2.x, including the search function.
Anyone can help me? Thanks in advance!

Posted by jele at Feb 07, 2007 04:50
|
Hi Jack,
Can you please raise an issue at our Support system?
From there, please attach the Chinese Language Pack (jar file) and I will try to replicate the problem in our system locally. It would be great if you could also provide a zip backup of your <confluence-install>/logs directory. Thanks.
Regards,
Mei

Posted by meiyan.chan@atlassian.com at Feb 08, 2007 04:00
|
Hi Mei,
I've raised an issue at the Support system. BTW, I couldn't find any log file or directory under my confluence installed directory, so I copied some information from the Tomcat window and uploaded a log file created by myself instead.
Thank you very much.
Regards,
Jack

Posted by jele at Feb 08, 2007 23:20
|
|