我有一個TextView
,它根據情況向用戶顯示一條消息。我得到的字符串取決於具體情況,這很好。以編程方式更改字符串的語言
我的問題是,我如何管理不同的語言?
我環顧四周,大多數建議是根據語言環境使用單獨的string.xml
。但是,由於這只是一個以編程方式更改其內容的字符串資源,它並不真正起作用。
有沒有辦法有像
if(language is blabla)
change the text to "this"
或類似的東西。
我有一個TextView
,它根據情況向用戶顯示一條消息。我得到的字符串取決於具體情況,這很好。以編程方式更改字符串的語言
我的問題是,我如何管理不同的語言?
我環顧四周,大多數建議是根據語言環境使用單獨的string.xml
。但是,由於這只是一個以編程方式更改其內容的字符串資源,它並不真正起作用。
有沒有辦法有像
if(language is blabla)
change the text to "this"
或類似的東西。
您可以通過編程方式使用類檢查用戶的語言: http://developer.android.com/reference/java/util/Locale.html 即
Locale.getDefault().toString()
接下來,你應該使用路徑適當string.xml 你只改變加粗部分:
值 - en-rMU
我通過使用SQLite數據庫管理這個。我有5種語言的5個不同的表格。在我的listAdapter中,我從查詢中導入了表名: SELECT * FROM dbname.sqlite_master WHERE type ='table' 接下來,在一個名爲OutputStrings的單例類中,我導入所有用於UI的字符串。 從每個活動視圖都從OutputStrings中讀取字符串。
最好的問候,
您可以輕鬆地改變你的地方到您想要的地方:
Locale locale = new Locale("en");
Locale.setDefault(locale);
Configuration mConfig = new Configuration();
mConfig.locale = locale;
getBaseContext().getResources().updateConfiguration(mConfig,
getBaseContext().getResources().getDisplayMetrics());
漢語語言不同,當用戶改變他們的語言設置嗎?或者,您是否正在根據應用程序中的某些用戶選擇來更改該字符串的語言? – 2013-05-06 19:30:24