我有一個應用程序需要提供以另一個設備的語言本地化的字符串。只要我的應用程序知道其他設備的語言,它就會創建一個新的資源類。類似於這個question。Android以編程方式檢查應用程序是否針對某種語言進行了本地化
剛剛創建得到字符串時,如果不支持的語言可以依傍的資源對象(假設其他設備設置爲en_US):
- 值-ZH-RUS/strings.xml中
- 值-en/strings.xml中
- 值/ strings.xml中
取而代之的第三個後備我要回落到我自己的設備的語言(假設我的設備設置爲es_ES那麼這將是) :
- 值烯RUS/strings.xml中
- 值烯/ strings.xml中
- 值-ES-RES/strings.xml中
- 值-ES/strings.xml中
- values/strings.xml
如果我可以用編程方式檢查我的應用程序是否支持語言/區域,那麼我可以實現這一點非常簡單。發現這個AssetManager.getLocales(),但認爲它沒有幫助。
有沒有辦法實現所需的回退或檢查應用程序是否在特定語言/區域本地化的方法?
「或者檢查應用程序是否在特定語言/區域中進行本地化的方法?」 - 由於您是編寫應用程序的人,並且您知道您已將其本地化爲哪種語言,只需將該信息編碼到您的應用程序中。 – CommonsWare
這是正確的,但我想避免。此代碼應該使用不同的受支持語言集在不同的應用上運行。如果這可以通過編程來完成,那麼將減少維護和失敗風險。 – Kujta