我有一个TextView
根据情况向用户显示消息的方法。我可以根据情况更改字符串,效果很好。
我的问题是,我如何为不同的语言管理它?
我环顾四周,大多数建议是string.xml
根据语言环境使用单独的。但由于这只是一种以编程方式更改其内容的字符串资源,因此它并没有真正起作用。
有没有办法有类似的东西
if(language is blabla)
change the text to "this"
或类似的东西。
我有一个TextView
根据情况向用户显示消息的方法。我可以根据情况更改字符串,效果很好。
我的问题是,我如何为不同的语言管理它?
我环顾四周,大多数建议是string.xml
根据语言环境使用单独的。但由于这只是一种以编程方式更改其内容的字符串资源,因此它并没有真正起作用。
有没有办法有类似的东西
if(language is blabla)
change the text to "this"
或类似的东西。
您可以轻松地将本地更改为所需的本地:
Locale locale = new Locale("en");
Locale.setDefault(locale);
Configuration mConfig = new Configuration();
mConfig.locale = locale;
getBaseContext().getResources().updateConfiguration(mConfig,
getBaseContext().getResources().getDisplayMetrics());
您可以使用类以编程方式检查用户的语言: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 中读取字符串。
此致,