Translating Display Names and Enumerated Values
This section describes how to set up translations for names and enumerated values of custom fields.
Custom Field Translation Overview
When you create a custom field, you provide a display name for that field. If you create the field as an enumerated type, you must also provide names for the enumerated values. The client also displays all of these names to users. The names that you specify when you create the field become the default names for that field.
If you do not set up translations for the names of a custom field, users will always see the default names. However, if you translate the names associated with a field, users will see the names provided for the locale specified for the operating system of that client.
For example, suppose you have a custom field for which you specified all the default names in English. Then you translate the names (a display name and several names for enumerated values) into French. Users whose clients use French operating systems will see the French names. All other users see the default names.
In more complicated examples, you need to understand how locales and languages are defined. Each locale or language is defined by using at most three parts separated by hyphens. These parts represent the language itself, the country it is spoken in, and a variant of that language. Most languages are represented by just the first two of these parts.
For example, Dutch has the following three entries in the language table:
- Dutch [nl]
- Dutch (Belgium) [nl-BE]
- Dutch (Netherlands) [nl-NL]
The bracketed section represents the locale or language. In this case, [nl] represents a generic Dutch, while [nl-BE] and [nl-NL] represent Dutch as it is spoken and written in Belgium and in the Netherlands, respectively.
If you translate the names from a custom field into generic Dutch, all Dutch operating systems can use those names. If you translate the names into both generic Dutch and the Dutch used in Belgium, the client treats the names as follows:
- Users whose clients run on operating systems with the locale set to the Dutch of the Netherlands (the [nl-NL] entry) see the generic Dutch translations. If an enumerated name is not translated into Dutch, these users see the default name for that value.
- Users whose clients run on operating systems with the locale set to the Dutch of Belgium see the translations for the Dutch of Belgium.
If an enumerated name is not translated into the Dutch of Belgium, they see the generic Dutch name for that value. If a name is not translated into either the Dutch of Belgium or generic Dutch, they see the default name for that value.
Accordingly, if you are generally satisfied with the generic Dutch translations, but want to use a different spelling or a different word for just one value in the Dutch of Belgium, you can translate the name of that value into the Dutch of Belgium.
Note: The Java VM reads the locale information setting for the client’s operating system when it starts running. If you change that setting, you must restart the Java VM.
Tip: Generally, an organization standardizes on one language for the default values of all custom fields. Otherwise, the application allows you to use a different default language for every custom field. For example, when you create a custom field using English names, English names become the default for that field. If someone else creates a custom field using Japanese names, the default names for that field are Japanese, unless they are changed later.
Translating Display Names
When you create a custom field, you need to provide a display name for that field.
To translate a display name, do the following:
-
Do one of the following:
- While creating a custom field with the Add Field dialog box, click Translate.
- Display the properties of a custom field. Click Advanced > Customize from the File or Change Request menus. Select the field to be modified. Click Edit, to display the default values in the Modify Field dialog box. These values may not be what you see in your client. For example, the defaults may be in English, and you may be using the StarTeam Cross-Platform Client with a French locale. Click Translate. The Translate Field dialog box opens.
-
Select the language you want in the Language list. If it does not appear, click Add.
- In the Add Language dialog box, select a language from the Language list.
- In the User Defined field, type an existing locale name, such as fr-FR to quickly select the language by its locale name.
- Type a new locale name. A user-defined locale name must follow the formatting rules for locale names. You can use up to 8 characters: letters, numbers, and one or two hyphens to separate the locale name into two or three parts. Underscores display as hyphens. (No spaces are allowed.) Regardless of the case you type, the first part will always be lowercase and the second part will always be uppercase. After its creation, the user-defined language becomes a member of the language list for the current field. It is not available for other fields unless you also create it for those fields. To see the values in a user-defined language, users must set their workstations to that locale.
-
Click OK.
Be aware that adding a language to one field does not automatically add it to the language list for any other field. Also, if you do not translate any values, the language will disappear from the language list for this field.
- Optionally, type the display name for the field in the new language in the Translated Display Name field.
- Optionally, translate enumerated values.
- Click OK to return to the Add Field or Modify Field dialog box.
- Click OK to return to the Customize dialog box.
- Click Close.
Translating Enumerated Values
If you create an enumerated type field, you must also provide names for the enumerated values. All of these names are displayed to users in the client.
To translate enumerated values, do the following:
- Select an enumerated value to be translated.
-
Click Edit.
The Translate Enumerated Value dialog box displays.
- Type the translated value in the Translated Text field.
- Click OK to return to the Translate Field dialog box.
- Repeat steps 1-4 for other enumerated values.