簡體   English   中英

根據上下文加載ResourceBundle

[英]Load ResourceBundle depending on context

我有一個應用程序,它在多個上下文中分開,每個上下文具有相同的布局,但消息不同。

關於上下文“ A”的示例:

標題

標簽:文字

關於上下文“ B”的示例:

標題B

標簽:文字B

請注意,每個上下文上的“標簽”都是相同的,上下文“ A”是默認上下文。

我需要每個上下文一個屬性文件:

  • resources.properties(上下文A-默認)

標題= TITLE

標簽=標簽

文字=文字

  • resources_b.properties(上下文B)

標題= TITLE B

文字=文字B

我想根據上下文加載良好的屬性文件。

我發現的第一個解決方案是像這樣使用Locale

// context is either "A", "B"...
resources = ResourceBundle.getBundle(config, new Locale(context));

這樣,如果未在resources_b.properties中找到該消息,它將按預期方式從resources.properties返回該消息。

什么是不使用Locale每個上下文中加載“漂亮”資源的最佳方法?

該應用程序目前僅以英語提供,但將來可能會更改...

不要將語言環境用作上下文。 您寧可使用類似如下的語言環境變體:

de_DE_<variant>, e.g., de_DE_A, de_DE_B

但請注意,沒有國家/地區無法提供變體。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM