【发布时间】:2018-02-28 14:49:23
【问题描述】:
我目前正在为一个项目开发一个 java swing GUI。用户界面需要使用多种我不知道的语言(英语、德语、法语等)。有人建议我使用配置文件来存储所有文本,以便翻译人员可以在项目完成后进行翻译而无需重新编译。这还有一个额外的好处,就是能够在完成后更改文本和添加语言,我还可以在此处放置一些 UI 配置,使其更具可配置性。不过经过一番思考,我意识到这会很慢,因为每次 GUI 更改时我都需要进行文件 IO。我如何设计一个 GUI,这样我仍然可以让外行在没有我的情况下翻译它,但又不会减慢程序的速度?
【问题讨论】:
-
翻译(命名资源包)通常与代码捆绑在 jar 文件中。但是即使在外面,为什么在启动时从文件中读取翻译会很慢? “每次更改 GUI 时我都需要执行文件 IO”是什么意思?读取几百行的文件非常快,用户不会注意到任何东西。
-
ResourceBundle class 正是为此目的而设计的。它并不比 Java 运行时从文件中读取你的类慢。事实上,ResourceBundle 入口文件几乎总是与读取它们的类捆绑在一起。
标签: java swing user-interface gui-design