是否有任何eclipse插件,它允许我从我的本地化资源包中自动完成(CTRL + SPACE)一个字符串?
或者还有其他良好的做法可以轻松进行本地化吗?
我目前的状态。它正在发挥作用,但我认为可能有一种更简单的方法。
这是我的本地化课程:
/**
* Singelton class to provide localization Strings
*
* @author Andreas Freitag
*
*/
public class Localization {
private static Localization instance = null;
private Options options;
private ResourceBundle captions;
private Localization() {
options = Options.getInstance();
Locale locale = new Locale(options.getLanguage());
Locale.setDefault(new Locale(options.getLanguage()));
captions = ResourceBundle.getBundle("res.localization.localizationMessages", locale);
}
/**
* Getter for the singelton localization (thread-safe)
* */
public synchronized static Localization getInstance() {
if (instance == null) {
synchronized (Localization.class) {
instance = new Localization();
}
}
return instance;
}
/**
* A little convenience for getting the Localized strings
*
* @param name
* of the element to search for
* @return the localized String
*/
public String getString(String name) {
return captions.getString(name);
}
}
我通过Localization.getInstance.getString("Infoframe.Example");
答案 0 :(得分:0)
我认为它不会为你提供自动完成功能,但是对于一个java项目,你可以运行Source > Externalize Strings...
来获得一个向导,它会将你想要的任何字符串收集到资源包中并替换它们调用加载ResourceBundle属性键的事件。
对于eclipse插件,他们使用org.eclipse.osgi.util.NLS
的工具和子类来提供公共字段与资源键匹配的类(因此您可以自动完成)。