2013-05-25 49 views
0

我正在開發一個應用程序,它獲取所有系統可用的區域設置並顯示在列表視圖中,供用戶選擇以更改應用程序語言(就像android的語言更改選項一樣)。如何顯示基於資源可用性的區域設置列表

但我在應用程序資源中有幾個res/values文件夾,如值(缺省值),值-bn,值-zh,值-ar。所以我希望這4種語言在列表中顯示。我怎樣才能做到這一點?我需要以編程方式執行此操作。

想,我有4個文件夾values, values-bn, values-en, values-zh

然後我只能說明,

Bengali 
English 
Chinese 
+0

你期望它說什麼?默認的'values'文件夾不一定要使用任何特定的語言。 – Eric

+0

默認'values'文件夾將包含英文。如果可用值文件夾的任何字符串資源(即值-bn)缺失,它將被用作備份,它將從默認文件夾 –

+0

呈現。然後,只需在列表開始處以「英文」進行硬編碼。沒有辦法自動檢測英文默認,所以你只需要僞裝它。 – Eric

回答

0

OK,所以你想做的事就是有四種語言:英語,孟加拉語,中國和阿拉伯語,有我明白了嗎? (你的問題在內部不一致,所以很難說)。

而且您希望爲這四種語言之一中缺少字符串的情況設置一組回退值。回退值是英文的,儘管系統不會知道或關心這些。

所以,你想要做的就是把四個語言的字符串在值恩值-BN值-ZH,並值-AR目錄和回退串在什麼目錄。

事實上,因爲你的後備字符串是英文的,你可以只把它們放在目錄,並在空資源文件中的值恩目錄。英文仍會顯示在列表中。

但是爲什麼不把英文版的字符串放在values-en目錄下呢?

+0

感謝您的迴應:)我的問題的主要查詢是 - 如果我的'res'目錄中有三個語言環境的值文件夾,那麼如何才能在列表中顯示三種語言,排除其他沒有值文件夾的語言? –

+0

啊,不同的問題。那麼,不要理會我的答案。爲什麼不只是將已知區域設置列表硬編碼到您的應用程序中。每次添加新語言環境時都必須修改列表,但這不是很糟糕嗎? –

+0

是的,我已經決定了。但我認爲可能有更好的方式來以編程方式進行。這就是爲什麼我在等待。現在我將對它進行硬編碼,因爲資源是靜態的,並且很少需要更改。 請編輯您的答案與**硬編碼**的信息,以便我可以接受您的答案。謝謝 :) –

相關問題