我正在开发应用程序,一切都很好。 应用程序假设支持英语和俄语。 英语工作正常,但当我尝试使用俄语语言环境启动应用程序时,我看到了:
https://yadi.sk/i/gj8TOziskGvzf
我在start()
方法
Locale.setDefault(new Locale("ru", "RU"));
FXMLLoader loader = new FXMLLoader(this.getClass().getResource("view/sample.fxml"));
loader.setResources(ResourceBundle.getBundle("bundles.MyBundle"));
在控制器中:
public class SingleSiteConfiguratorController implements Initializable {
//....
@Override
public void initialize(URL url, ResourceBundle resourceBundle) {
this.languageBundle = resourceBundle;
}
//....
// And accessing
private void someMethod() {
String outputDir = languageBundle.getString("choose_output_folder");
}
}
在MyBandle_ru.properties
:
#...
choose_output_folder=Выберите папку в которой сгенерируется приложение
#...
有什么问题?
答案 0 :(得分:2)
Java属性文件must be in the ISO-8859-1 encoding. IDE倾向于通过将\u
转义显示为相应的字符来“隐藏”此文件。唯一可以确定的方法是在纯文本编辑器中打开它。
您可能会发现JDK的native2ascii工具对于使用正确的转义创建.properties文件非常有用。