About Internationalization Services
Sabre Red 360 supports the following languages:
English, French, German, Italian, Japanese, Portuguese, Spanish, Russian, Simplified Chinese and Traditional Chinese.
End-users select the language in which they prefer to work when they sign in to the application at startup. Additionally, end-users can change their language from the Tools > Options menu in Sabre Red 360 at any time.
Native Sabre GDS information and the content from external data sources may not be consistently internationalized across all applications that are running in the Workspace. Sabre is not responsible for the quality and consistency of internationalization of Red Apps.
Sabre may reject Red Apps that offer multiple language support for the following reasons:
Sabre receives feedback that language translations are not accurate or consistent.
Developers submit multiple copies of Red Apps for the purpose of offering multiple language support.
With respect to Red Apps, internationalization of a plug-in is the translation of SWT code and SWT elements to the desired languages. If you are embedding a Red App that is written in SWT inside an editor or a view, you can also internationalize your application.
Red Apps defines a process and provides a special Sabre Red 360 class for translation. The process is based on I18n and is adapted for use with Red Apps and Sabre Red 360. By using the Sabre Red 360 class and by preparing the files that these topics describe, you can translate all action labels, view labels, text, and forms that are present in the Java code and plugin.xml in your project.
With internationalization, you can do the following:
Translate text into any of the languages that Sabre Red 360 supports.
Convert special characters to characters in the supported languages.
Convert characters into the Cyrillic and the Japanese alphabets.
You must prepare your Java code and a corresponding set of message property files for English and for each language that you want to translate. You are also required to prepare your plugin.xml and a set of plug-in properties files for English and all other languages.
If you prepare files for languages other than English and you do not have a set of corresponding English language files, Sabre Red 360 displays errors to end-users who select English. If your plug-in project does not include files for internationalization, Sabre Red 360 displays the text on your plug-ins in English, the default language.
If you want to use translation services in multiple plug-ins in a Red App bundle, each plug-in that uses the internationalization services must have its own set of message and plug-in properties files, the required extension point, and classes for i18n, as described in these topics.
When Sabre Red 360 translates your plug-ins, it executes your Java code and plugin.xml. The Java code accesses message properties files to obtain some text values to translate, and the plugin.xml uses the plug-in properties files for the other text values.
Sample Scenario for Preparing a Plug-in in English and Spanish
Suppose that your plug-in includes an editor, menu contributions, and a status line contribution. In addition, your project also has a notification.
To prepare text and labels in your Java code, you must add a static String label_01, static String label_02, and so on, to correspond to all labels and text in Messages.java.
You must also add label_one, label_two, and so on, to messages.properties and messages_es.properties for the labels and text in your Java code.
For all attributes that display text on the Sabre Red 360 GUI in the editor, menus, and status line, you must substitute the %keyname in plugin.xml, and add all of the keyname occurrences to plugin.properties and plugin_es.properties.
Dependencies and Classes
When you are adding translation and internationalization services to a plug-in, the following dependency and classes are required.
Minimum Required Dependency
Sabre Red 360 Activator class
com.sabre.edge.platform.core.nls.EdgeNLS. You are required to extend this class.