2012-01-31 21 views
0

我需要一個類似於語言環境的功能,用於國際化以外的目的。例如,我想使用資源捆綁機制,併爲不同的自定義設置不同的資源包,例如,客戶端A的一個文件,客戶端B的另一個文件和另一個默認文件(對於特定客戶端文件中不存在的值)。做到這一點的唯一方法是爲每個客戶「強制」一個地區,我不想這樣做。區域設置 - 僅用於國際化嗎?

這種事情有不同的結構嗎?

回答

0

我看不出有什麼理由不能將自定義作爲一種簡單情況下的本地化來處理。語言環境最終是對用戶偏好的描述。它主要基於語言和可能的國家的原因正是這些是最常見的事情,往往會導致可以在軟件中處理的差異。

使用這些語言環境標識符的大多數系統都有某種方式來呈現具有某種擴展機制的「變體」。在ResourceBundle中,這似乎是「變體」參數。

主要問題是地點系統是原始的,因爲他們假設一個分層系統而不是正交。也就是說,您可以爲英語,美國和A公司定義en-US-xA的語言環境(以使用BCP 47區域設置ID),但是如果您需要A的員工更喜歡加拿大法語的語言環境,則它必須是fr -CA-xA,爲此您需要複製特定於A的設置。

所以我會得出結論,使用語言環境進行自定義是好的,至少如果你做而不是需要在正常意義上(不同語言,不同國家)的本地化。

+0

ResourceBundle機制有幾個問題 - 首先,它只能支持3個層次(語言,國家和變體),我需要更多。其次,它迫使我把第二層的區域設置爲資本化,這不是什麼大問題,但是令人沮喪。因此,我正在尋找其他的東西。好像我必須自己實施它。 – KidCrippler 2012-03-26 13:42:51