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"
m (Quentin.lemenez.cea.fr moved page Papyrus Developer Guide/Externalize Strings In Java to Papyrus/Papyrus Developer Guide/Externalize Strings In Java) |
|||
(7 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | == | + | ==How to process to manage strings in your java plugin?== |
#messages/string visible by the user must be in a Messages.properties file, located in a java package called '''your.plugin.name.messages''' | #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. | #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. | ||
Line 23: | Line 23: | ||
The method <code>String#format</code> should work fine too. | The method <code>String#format</code> should work fine too. | ||
− | |||
− | |||
− | |||
+ | ===step 1: Open the Externalization menu=== | ||
+ | Left Click -> Source-> Externalize Strings...: | ||
[[File:ExternalizationMenu.png |1000px]] | [[File:ExternalizationMenu.png |1000px]] | ||
− | |||
+ | ===step 2: Name the String=== | ||
+ | Give a nice name to the string | ||
[[File:giveAniceName.png |1000px]] | [[File:giveAniceName.png |1000px]] | ||
− | |||
+ | ===step 3: Configure the output package=== | ||
[[File:configureOutput.png |1000px]] | [[File:configureOutput.png |1000px]] | ||
− | |||
+ | ===step 4: View the result=== | ||
[[File:resultExternalizationt.png |1000px]] | [[File:resultExternalizationt.png |1000px]] | ||
− | + | ||
+ | |||
+ | ==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: | In plugin.xml, you should do the same thing, from the Overview tab. The output folder shouldn't changed: | ||
+ | [[File:pluginExternalization.png |1000px]] | ||
− | |||
− | |||
− | |||
+ | ==How to define if a string must be externalized creating a new extension point?== | ||
+ | Set the field '''translatable''' to <code>true</code>: | ||
− | [[File:pluginTranslatable.png]] | + | [[File:pluginTranslatable.png |1000px]] |
Latest revision as of 05:09, 26 January 2018
Contents
How to process to manage strings in your java plugin?
- 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.
Left Click -> Source-> Externalize Strings...:
step 2: Name the String
Give a nice name to the string
step 3: Configure the output package
step 4: View 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
: