Community-based Language Support
The YouTrack user interface is officially available in Chinese (Simplified), English, French, German, Japanese, Korean, Portuguese (Brazilian), Russian, and Spanish. While this is a good start, there are a lot of other languages out there.
To give you the chance to work with YouTrack in your language of choice, we support community-based localization. This effort is supported on Crowdin, a cloud-based localization management platform. Here, we upload all of the files that contain source strings for translation so you can use the Crowdin translation editor to localize the interface text.
Language Support
The Community-based Localization for YouTrack & Hub project gives us the opportunity to make YouTrack available in languages that aren't officially supported in the product itself. Several languages with partial translations are available as language options in YouTrack. These languages can be applied at the global level or as a per-user preference.
The project also supports translations for other languages, including Traditional Chinese and Italian. When the community has suggested translations for a significant portion of the project files, we will arrange for proofreaders to review these suggestions. Once the suggested translations have been approved, we can make these languages available inside YouTrack as well.
Translating the YouTrack UI
Translations for languages that have been requested by the YouTrack community are available in the Community-based Localization for YouTrack & Hub project in Crowdin. This project uses US English as the source language for all localization efforts. Translation from another default language is not supported.
This project is open to the public. Anyone who wants to contribute translations is welcome. All you need is a Crowdin account.
To contribute translations for a language:
Access Crowdin in your web browser and log in or sign up for your own account.
Navigate to the Community-based Localization for YouTrack & Hub project.
Click the language that you want to provide translations for.
Select a file from the list.
To view all strings in the project, click the Translate All button.
Enter your translations in the Crowdin user interface.
Search for and select source strings in the left panel.
View the source string and context in the panel above the input area for new translations. When translating all strings, the name of the file that contains the source string is also visible.
View suggestions from other community members, translation memory, and machine translations in the panel below the input area for new translations. If you find a suitable translation in the suggestions, click the Use and Save icon to copy it.
View comments related to the current source string in the right panel. If you have questions concerning the source string, enter and add your comments here.
Translations that are provided by the user community are not immediately available in YouTrack.
All suggestions must be reviewed and approved by an editor.
Approved strings must be included in a YouTrack build that is released to the public. These strings are only available after the upgrade is applied to the installation or instance.
Project Files
The community-based localization project for YouTrack and Hub stores source strings in a collection of files and folders.
Files that are stored in the Hub directory and its subdirectories contain strings that are shown in the user interface for Hub. If your YouTrack instance or installation uses a built-in Hub service, you can localize these pages into your language of choice by translating the strings in these files.
None of the strings in this project folder are mandatory.
Files that are stored in the YouTrack directory contain strings that are shown in the YouTrack UI.
Files that are marked with a High priority icon contain mandatory strings.
Mandatory Strings
Before a community-driven language can be supported in YouTrack, there is a collection of text strings that must be localized. These strings support basic components like the default names for issue fields, issue link types, attribute names in search queries for search and commands, and so on.
These strings are stored in .properties
files. These files contain text strings that are shown on various parts of the YouTrack user interface:
File | Description |
---|---|
| The strings in this file name most of the default entities that are provided by YouTrack. This includes default groups, users, roles, link types, custom fields, and values for custom fields. It also includes strings that are used in search queries and commands for which the usage is not context dependent. |
| This file contains text strings that are used in search queries and commands. For example, |
These files are assigned high priority in the project. As a result, they appear at the top of the list inside the YouTrack folder.
For best results, translate these files first.
Predefined Fields
The PredefinedFields.properties
file contains text strings that are used in search queries and commands. These strings can have multiple variations based on their usage. That is, text presentation of these attributes on the user interface depends on the current context the attribute is mentioned in. For each case, the attribute is presented in a specific form, which is denoted by a flag.
For example, you can reference the tag
issue attribute in both search queries and commands. In search queries, this attribute is also assigned the alias tagged as
.
Each attribute can have several forms. For each attribute, forms are presented in the <attribute text string>:form flag(s)
format. Aliases are separated from primary names with a vertical bar (|
).
The form flag is represented by a single latin letter that must not be translated. You should only translate the attribute text string. If needed, you can remove or add forms, separated by a vertical bar. If a flag follows at least one form in the original English string, then at least one form with this flag must be present in the localized version, and vice versa. The localization cannot contain additional flags that are not used in the source language.
The meaning of each flag is described in the following table:
Flag | Context | Description |
---|---|---|
| Presentation | The primary name of the attribute. This form of the word appears in auto-completion suggestions for the corresponding term and all of its aliases. |
| Sort | The word form that is used when the user sorts search results by this attribute. This form is used as the target value for the |
| Filter | The word form that is used as a term in a search query. For example: |
| Has | The word form that is used to search for issues with the keyword |
| Command | The word form that is used when referencing an issue attribute in a command. For example, |
| Visibility | This is the form of the word that is show in the Fields Visibility Settings dialog. The checkboxes in this dialog determine whether the field is shown on Issues list. |
As an example, let's look at the source string for the star
attribute. The source string for this attribute in the properties file reads as follows:
star:sphc|watcher:c
This term is used in the following contexts:
The primary name for this attribute is
star
.When used to sort search results, this attribute is referenced as
sort by: star
.When used to search for issues with the keyword
has
, this attribute is referenced ashas: star
.When used in a command, you can either reference this attribute as
star <user>
or use the aliaswatcher
. This alias is not supported in search queries.The
star
attribute is not supported as a search attribute and is not offered as an option in the fields visibility settings.
In our Russian localization, this string is translated as follows:
метка:sphc|наблюдатель:c|звезда:c
Here, the terms метка
, наблюдатель
, and звезда
are all supported in Russian commands. The term метка
is only valid in search contexts.
Notification Templates
Notification templates use FreeMarker template (FTL) files as the basic blocks that form templates. You can view the list of available FTL files on the
page.As you probably know, you can not only view the list of notification templates but also edit them right there, in the YouTrack interface. You might ask yourself whether it makes sense to localize the notification templates when you can translate these messages in place. The answer is easy. If you revert changes to the notification templates and restore the default version, you get the English text. Your localized version can be overwritten in just a few clicks.
In addition to the notifications that are sent by YouTrack, you have access to translate additional messages that are sent by the built-in Hub service.
There are two folders that contain notification templates:
Folder | Description |
---|---|
Hub\templates | Contains files for messages that are sent by the built-in Hub service. |
YouTrack\templates | Contains files for messages that are sent by YouTrack. |
To localize these files, translate all of the meaningful texts except the tags. Also, you should translate the attributes of the tags that are used in the user interface, for example, the content of the title
attribute.
Additional Languages
The Community-based Localization for YouTrack & Hub project supports a handful of languages that were requested by YouTrack users. If you'd like to add support for another language, take one of the following actions:
Message a manager directly in Crowdin. All of the managers are listed on the project home page.
Submit a support request. Our support engineers will forward your request to a localization manager.
Just because we support a language in the localization project, that doesn't mean that you'll automatically see this language in YouTrack. Before any language is enabled in the YouTrack user interface, our development team verifies that the mandatory strings are localized. If so, we mark the language so that it is available for use in YouTrack.
Contribution Guidelines
You have no obligation to join this community localization project or to share ideas, suggestions, text, or translations with JetBrains. We are, however, thrilled to have you!
By joining or sharing contributions you grant JetBrains a royalty-free, irrevocable, worldwide, sublicensable and transferable license to make, use, sell, have made, offer to sell, or import, publicly display or perform, distribute, or modify the contributions.
When you join the project, JetBrains receives the name of your account in our translation system and your email address. To learn how JetBrains works with such data, please refer to our Privacy Policy. By joining the project, you agree that JetBrains may use your account name in the content published by JetBrains to recognize your contribution.