我有TextView
根据情况向用户显示消息。我根据情况得到了改变的字符串,而且效果很好。
我的问题是,如何针对不同的语言进行管理?
我环顾四周,大多数建议是使用单独的string.xml
,具体取决于区域设置。但由于这只是一个以编程方式更改其内容的字符串资源,因此无法正常工作。
有没有办法像
那样if(language is blabla)
change the text to "this"
或类似的东西。
答案 0 :(得分:0)
您可以使用类以编程方式检查用户的语言: http://developer.android.com/reference/java/util/Locale.html 即。
Locale.getDefault().toString()
接下来,您应该使用相应string.xml的路径 您只能更改粗体部分:
值 - 的烯RMU 强>
答案 1 :(得分:0)
我通过使用SQLite数据库来管理它。我有5种语言的5个不同的表。在我的listAdapter中,我从查询中导入了表名: SELECT * FROM dbname.sqlite_master WHERE type ='table' 接下来,在一个名为OutputStrings的单例类中,我为UI导入所有使用过的字符串。 每个活动视图都从OutputStrings读取字符串。
最诚挚的问候,
答案 2 :(得分:0)
您可以轻松地将本地更改为所需的本地:
Locale locale = new Locale("en");
Locale.setDefault(locale);
Configuration mConfig = new Configuration();
mConfig.locale = locale;
getBaseContext().getResources().updateConfiguration(mConfig,
getBaseContext().getResources().getDisplayMetrics());