我有一个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 中读取字符串。
此致,