我有一个支持英语和法语的Android应用程序。我有一个切换按钮可以在两种语言之间切换。我有2个带有相同变量名的string.xml文件,但显然,这些值是使用不同的语言。
一个例子:
英语:<string name="username">UserName</string>
法语:<string name="username">Nom d'utilisateur</string>
文件名是strings.xml(英文)。那是在res下的values文件夹中。另一个文件是strings_fr.xml(法语)。这是在res。
下的values-fr文件夹下有没有办法,一旦用户切换切换以切换文件?
我知道Locales,但我发现它们有些错误和缓慢。
由于
答案 0 :(得分:0)
您应该将“strings_fr.xml”重命名为“strings.xml” 你将有2个文件夹:“值”(默认)和值-fr(用于法语本地化)。 with files strings.xml
答案 1 :(得分:0)
你必须改变它:
1) Put strings.xml file in values folder which is default.
2) create a strings.xml file in values-fr folder.
答案 2 :(得分:0)
到目前为止,我不知道您尝试使用Locale,但此代码将设置语言,直到您重新设置或重新启动应用程序为止。
这不应该带来任何性能上的缺陷。
Configuration originalConfig = this.getResources().getConfiguration();
Locale locale = new Locale("fr"); //as an example
Configuration c = new Configuration();
c.locale = locale;
this.getResources().updateConfiguration(c,
this.getResources().getDisplayMetrics());
this
显然是Activity的子类。