【发布时间】:2012-09-02 16:47:46
【问题描述】:
显然ResourceBundle 在它找到的文件中需要类似语法的属性文件。
我们有一种情况,我们想使用整个文件(在我们的例子中是 HTML 文件)作为“值”。这意味着我们没有这样的密钥。好吧,也许文件名可以作为关键。
这是一个目录树:
src/
main/
resources/
html/
content.html
content_de.html
content_fr.html
content_es.html
order.html
order_de.html
order_fr.html
order_es.html
现在我们需要逻辑来根据当前语言环境找到正确的文件。如果当前语言环境是德语并且我正在寻找html/content.html 文件,它应该会找到html/content_de.html。它不一定需要立即加载。 Java中有一些现有的机制吗?我们需要手动执行此操作吗?
由于一些限制,我们目前计划不使用任何第三方库。因此,如果 Java 6 SE 中有可用的东西,那将是我们最好的选择;但是,如果您知道第三方库,请随意命名。
编辑#1:
一个明显的解决方案是在messages.properties 中有一个键来命名该HTML 文件。虽然这会奏效,但从长远来看,它可能会让人头疼(除此之外,我认为这不会解决我们所有的问题)。
编辑 #2:我忘了说这是一个桌面应用程序。
【问题讨论】:
-
可以考虑基于过滤器的方法 - 快速入门在这里:servletsuite.com/servlets/i18nflt.htm
-
@Jayan 我忘了说我需要这个桌面应用程序,我会编辑这个问题。但是,感谢您提及它,也许它对某人有帮助。
-
您可以考虑使用 Velocity 或其他模板引擎(不限于 Web 应用程序)
标签: java resourcebundle