Documentation for JIRA 4.3. Documentation for other versions of JIRA is available too.

Skip to end of metadata
Go to start of metadata

This page contains information about translating JIRA into languages other than English.

On this page:

Atlassian Translations – a collaborative environment for creating translations of JIRA

Atlassian Translations provides a collaborative environment for customers to translate JIRA. At present there are thousands of accepted translations across a number of languages. We need your help to make this even better! If you are looking at updating or creating a language pack please use Atlassian Translations and tell us about your experience. You can log in with your My Atlassian account. To provide feedback or submit an existing language pack for import please contact The Internationalisation Team.

What translations of JIRA are currently available?

Currently, JIRA ships with a number of translations in the most commonly-requested languages.

As a JIRA administrator, you can choose the default language from the list of installed languages: see Choosing a Default Language for the latest list.

Individual users can also choose their preferred language from the same list: see Choosing a Language.

How are new translations of JIRA created?

JIRA's internationalisation is an ongoing effort, and we'd love your help. If you would like to translate JIRA into your language, the rest of this document describes how to do so.

Where to begin?

In order to get JIRA to appear in your own language you need to translate the content of the properties file located inside the language_default.jar file. The language_default.jar file is found inside the JIRA installation's WEB-INF/lib directory. To get the latest properties files, please download the latest version of JIRA from http://www.atlassian.com/software/jira/JIRADownloadCenter.jspa.

Extract JIRA's default property file (language_default.jar) directly into the WEB-INF/classes directory (using a standard Unzip utility of 'jar xvf' from the command-line). A new file JiraWebActionSupport.properties will be placed inside the directory WEB-INF/classes/com/atlassian/jira/web/action.

Rename this properties file so that its name contains the locale details of the language that the content will be translated to. The file's name should match the following format:

JiraWebActionSupport_<Language Code>_<Country Code>.properties

For example, if you are translating the content of the file into Portuguese (spoken in Portugal), save all changes to a properties file named JiraWebActionSupport_pt_PT.properties.

Icon
  • The location of the properties file within the WEB-INF/classes directory should match the directory structure of the extracted jar file. For example, when creating WEB-INF/classes/com/atlassian/jira/web/action/JiraWebActionSupport_pt_PT.properties file, it must be located or placed in the WEB-INF/classes/com/atlassian/jira/web/action directory (relative to the temporary directory you are working in).

  • You do not necessarily have to start your translations with the language_default.jar file. You can start working with one of the other language files located in the WEB-INF/lib directory (for example, JiraWebActionSupport_fr_FR.properties). However, the language_default.jar file is the most updated and complete version of the JIRA language file to work with. The other language files may not contain a complete set of properties.

  • If the <Language Code>_<Country Code> combination in the name of your properties file matches one of the other JiraWebActionSupport_<Language Code>_<Country Code>.jar filenames in JIRA's WEB-INF/lib directory, then you must either delete or remove that jar file from the WEB-INF/lib directory. This ensures that JIRA uses the translations in your WEB-INF/classes/com/atlassian/jira/web/action/JiraWebActionSupport_<Language Code>_<Country Code>.properties file.

  • In some cases you might need to modify language_en_UK.jar - JRA-8266 in order to modify the default English translation.

  • If you are translating into a language that requires multi-byte encoding, please refer to the Translating into multi-byte languages section below for further instructions.

The "Language Code" is a valid ISO Language Code. These codes are the lower-case, two-letter codes as defined by ISO-639.

The "Country Code" is a valid ISO Country Code. These codes are the upper-case, two-letter codes as defined by ISO-3166.

Translating into multi-byte languages

Languages like Chinese and Russian are represented with native two-byte encodings like gb2312 or koi8. Java .properties files are assumed to be Unicode encoded as ISO-8859-1. Therefore entering Chinese or Russian characters directly into the .properties files will not work.

The solution is to create the translation as a separate file, such as:

JiraWebActionSupport_<Language Code>_<Country Code>-native.txt

Once completed, these can be transformed into regular .properties files with the 'native2ascii' command. E.g. for Russian:

native2ascii -encoding cp1251 JiraWebActionSupport_ru_RU-native.txt

Translating words

Properties files contain many "entries" for each of the words and sentences used in JIRA. The entry for the common word "Project" looks like this:

common.concepts.project = Project

To translate this into French (for example), you would replace the English word "Project" with "Projet", ie:

common.concepts.project = Projet

Translating sentences

Some sentences in JIRA have certain words that are HTML links OR constitute database data. For example:

issue.operations.move = {0}Move{1} this issue to another project

OR

roadmap.issuesresolved = {0} of {1} issues have been resolved

In the first example, the word "Move" links to the "Move Issue" page. The HTML code for this link is passed in using {0} and {1}. In the second example, {0} is the number of resolved issues and {1} is the total number of issues. When translating sentences, ensure that you do not omit these elements. A French translation of the first example above might look like this:

issue.operations.move = {0}Déplacer{1} cette demande vers un autre projet

Note

Icon

Any HTML needs to be escaped, e.g.
use

not

Translating the javascript calendar popup tool

In addition to the JIRA-specific translation files, you may want to see if there is an existing translation for the javascript calendar utility that JIRA uses as a date picker. You can find these files in /jira-components/jira-webapp/src/main/webapp/includes/lib/calendar/lang/.js. Many languages already have a translation; it is a good idea to look over the translation and see if the months correspond to the correct months that java expects for a date in your locale. If you add a new calendar_{LANG}.js file, you will need to add an entry mapping the filename to your language code in the file atlassian-jira/WEB-INF/classes/calendar-language-util.properties{*}. For example:

en=calendar_en.js


You will also need to add the javascript file as a downloadable web resource. Modify the file system-webresources-plugin.xml to include the following:

Packaging the translation

The properties files for each locale are collected into language bundles. Once you have finished translating all the properties files, a language descriptor file has to be created. This file "tells" JIRA that a new language is available. The file MUST be called language-descriptor.xml and should be located at the root of the language bundle (i.e. directly in the temporary directory). The language-descriptor.xml tells JIRA which locale (language and country) the property files represent, and the JIRA version for which the translation was last updated. The language-descriptor.xml file looks like this:

<language>
<locale>en_UK</locale>
<version>2.6</version>
</language>

The locale tag must contain a proper Java locale name. The locale name is made up of the Language Code and Country Code (please see the Where to begin? section for more details).

  • Set the value of the contents of the locale tag to the locale that your translation represents.
  • Set the contents of the version tag to the version of JIRA for which you are doing the translation.

Create a jar ('jar cvf language_<locale>.jar ...') which contains all the translated property files (remember to preserve the directory structure) and the language-descriptor.xml file. Although not absolutely necessary, it is a good idea to call this file language_<locale>.jar, where <locale> is the contents of the locale tag in the language-descriptor.xml file. For example, for French call the file language_fr_FR.jar.

Installing a new translation of JIRA

To make JIRA aware of your translation, you will need to copy the jar file that you created in the previous step (see Translating JIRA into the WEB-INF/lib directory found under JIRA's web application directory.

If you would like JIRA to display a flag for your translation during the setup process, place a GIF image with the same name as the locale into the /images/flags directory under JIRA's web application directory. For example, for the French translation place a file called fr_FR.gif into the /images/flags directory.

  • If you are installing JIRA for the first time, the first page of the Setup Wizard should now display your newly installed language.
  • If you are already using JIRA, you can choose your newly installed language from the list of installed languages: see http://www.atlassian.com/software/jira/docs/latest/i18n.html.

Submitting a translation

If you would like your translation to be included in JIRA, please create an issue on jira.atlassian.com and attach the jar containing the properties files.

Reporting a translation issue

Have you noticed an issue with an existing translation? Please file an issue!

What about translations of the documentation?

We do not currently offer translations of the JIRA documentation into other languages. However, we do offer a page where people can contribute the guides they have written in languages other than English: JIRA Documentation in Other Languages.

  • No labels