我有一个在多个上下文中分隔的应用程序,每个上下文都有相同的布局,但是有不同的消息。
上下文示例" A":
TITLE
标签:文字
上下文示例" B":
TITLE B
标签:文字B
请注意"标签"在每个背景和背景下是相同的" A"是默认上下文。
我需要为每个上下文设置一个属性文件:
title = TITLE
label = Label
文本=文本
title = TITLE B
text = text B
我想根据上下文加载好的属性文件。
我找到的第一个解决方案是使用Locale
,如下所示:
// context is either "A", "B"...
resources = ResourceBundle.getBundle(config, new Locale(context));
这样,如果在 resources_b.properties 中找不到该消息,它将按预期返回 resources.properties 中的消息。
什么是最好的方式来拥有一个漂亮的"每个上下文的资源加载不使用Locale
?
该应用程序目前仅以英文显示,但将来可能会发生变化......
答案 0 :(得分:0)
不要将区域设置用作上下文。您可以使用以下语言环境变体:
de_DE_<variant>, e.g., de_DE_A, de_DE_B
但请注意,没有国家/地区就无法使用变体。