Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Papyrus/Papyrus Developer Guide/Externalize Strings In Java"
Line 49: | Line 49: | ||
− | [[File:pluginExternalization.png]] | + | [[File:pluginExternalization.png |1000px]] |
=====How to define if a string must be externalized creating a new extension point?===== | =====How to define if a string must be externalized creating a new extension point?===== | ||
Line 55: | Line 55: | ||
− | [[File:pluginTranslatable.png]] | + | [[File:pluginTranslatable.png |1000px]] |
Revision as of 06:05, 25 January 2018
Contents
in java code
- messages/string visible by the user must be in a Messages.properties file, located in a java package called your.plugin.name.messages
- Exception message must not be translated, even if they are visible by the final user. We need to avoid to receive bugs with exception message in another language than english.
- String hidden for the final user, must have the tag //$NON-NLS-index. (index starting to 1, with no space between the
//
and the$
. - Each string displayed to the user, must be written in one string:
Bad code:
String fileName = "aFileName";
String message = "The file " + fileName + " can't be found";
This message is splitted in 2 strings. It is not good, because the translator doesn't know what he is translating and the order of the words can change from english to another language, so we recommand:
Good code:
String fileName = "aFileName";
String message = NLS.bind("The file {0} can't be found", fileName);
In this message, there is only one string to translate, the translator, can move the {0} to the good location in the new language.
The method String#format
should work fine too.
How to process to manage strings in your java file?
- step 1: Open the Externalization menu: Left Click -> Source-> Externalize Strings...:
- step 2: give a nice name to the string
- step3: configure the output package
- step 4: the result
How to process to manage strings in your plugin.xml file?
In plugin.xml, you should do the same thing, from the Overview tab. The output folder shouldn't changed:
How to define if a string must be externalized creating a new extension point?
Set the field translatable to true
: