Как axelclk опубликовал в своей ссылке ... затмение предоставить
// $ NON-NLS-1 $
Заявление для уведомления проекта о том, что первая строка в этой строке не должна переводиться. Все остальные строки вы можете найти, позвонив
Source-> Externalize Strings
Внешние строки включают все языки, которые вы хотите поддерживать.
Файл, который включает переводы, похожие на:
PluginPage.Error1 = text1
PluginPage.Error2 = text2
Класс, который читает перевод
private static final String BUNDLE_NAME = "com.plugin.name"; //$NON-NLS-1$
private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
private PluginMessages() {
}
public static String getString(String key) {
// TODO Auto-generated method stub
try {
return RESOURCE_BUNDLE.getString(key);
} catch (MissingResourceException e) {
return '!' + key + '!';
}
}
И вы можете назвать это как:
String msg = PluginMessages.getString("PluginPage.Error2"); //$NON-NLS-1$
EDIT:
Когда строка экстернализуется, и вы хотите использовать исходную строку, вы можете удалить строку экстернализации из всех файлов свойств без использования по умолчанию. Когда Bundle не может найти файл сообщения, соответствующий местному языку, используется значение по умолчанию.
Но это не работает во время выполнения.