...如果是這樣,如何?使用區域設置強制Android使用不支持的語言的特定strings.xml文件
我們製造專用於Android設備的工業環境。它基本上是一款平板電腦,但只有一個應用程序在運行。用戶不需要訪問設備的任何其他功能,甚至系統設置(如WiFi和時間設置)也可以通過我們的應用程序執行,而不是通過Android設置小部件執行。 所以基本上他們看到的每個按鈕和消息都使用我們的strings.xml
文件。
目前我們所有的客戶都滿意地使用默認的美國英語設置,但我們很快會有一些客戶想要當地語言並向我們提供翻譯文件。目前,其中一個是羅馬尼亞語,它不是在該設備上具有任何本機支持的語言(Samsung Galaxy tab 4);另一個是捷克。
因此,我們希望將strings.xml
文件添加到適當的res文件夾中,非英文語言和我們的應用程序中的下拉列表中選擇我們正在使用的語言。以編程方式,我們認爲我們可以用Locale
設置哪個strings.xml
文件,它使用,因此,例如,如果羅馬尼亞已經從下拉列表中選擇的,我們會用Locale
到平板電腦上設置成羅馬尼亞所以我們所有的應用程序的用戶界面將採用羅馬尼亞strings.xml
文件。
我們的設置(包括新下拉列表)無法由客戶訪問 - 它們由現場服務工程師在客戶現場設置。
問題:
- 將這項工作?即,即使設備沒有對該語言的本機支持,我們是否可以通過
Locale
來控制它使用哪個strings.xml
文件? - 由於羅馬尼亞是不是與此設備,我們假定系統消息仍然會拿出在英語中本身支持的語言。這是真的? (這不是問題 - 系統消息對於我們的應用程序來說並不常見,我們的產品用戶會接受支持,如果發生這種情況,我只想確保如果我們將
Locale
設置爲羅馬尼亞語或捷克語或某些沒有本地支持的其他語言,如果它試圖發佈系統消息,它不會崩潰平板電腦)。
您需要爲您的設備創建根目錄並添加您的語言標識符。可能是你需要自定義ROM。訪問https://source.android.com/ – Qamar
我在我的Activity.onCreate()中使用了一些這樣的事情來定義使用witch strings.xml。 ?沒有U帶 「RO」, 「」 RO」 開關(VAR){ 殼體1試試: LOC =新區域設置( 「日」, 「CH」); 斷裂; 情況2: LOC = new Locale(「de」,「DE」); break; } Locale.setDefault(loc); – canisLupusLupus