我的文件夹值是英文的strings.xml,而values-es文件夹是另一个西班牙语的string.xml。我有一个从操作栏打开的片段来设置设置并将它们存储在SharedPreferences中,这在英语中运行良好。我在应用程序中有很多if来检查共享偏好设置的内容,但是使用英文单词,现在在西班牙语的strings.xml中我想做这样的事情,以避免更改应用程序中的所有ifs。我尝试了这个,但它不起作用:
build/mvn -Pyarn -Phadoop-2.4 -Dhadoop.version=2.4.0 -DskipTests clean package
有没有办法做类似的事情?基本上我希望用户在首选项微调器上选择“Si”,但是当我从微调器获取值时,我希望它检索“是”
答案 0 :(得分:1)
您好,请传递您要传递给字符串的值si并从您的微调器中取值yes,只是您可以尝试此示例 http://www.androidhive.info/2014/07/android-building-multi-language-supported-app/
答案 1 :(得分:1)
基本上我希望用户选择" Si"在偏好微调器上 但是当我从微调器获得值时,我希望它能够检索"是"
如果您要在Splanish中显示值,并且您想要检索的特定部分代码,则可能是您正在寻找的方式。
Resources res = getResources();
Configuration conf = res.getConfiguration();
Locale savedLocale = conf.locale; // Save your current locale first (Splanish in your case)
conf.locale = new Locale("es"); // Change the desired locale( English in your case)
res.updateConfiguration(conf, null);
// retrieve resources from desired locale
String str = res.getString(id);
// restore original locale
conf.locale = savedLocale;
res.updateConfiguration(conf, null);
我希望它会有所帮助。
答案 2 :(得分:1)
您应该使用常量来保存共享首选项所需的值,使其与语言无关。
例如,如果您有2个用于打开和关闭音乐命名的单选按钮,则应创建2个常量
public static final int ON = 1;
public static final int OFF = 0;
现在点击单选按钮,您应该检查单选按钮的ID并在共享首选项中保存适当的常量:
case: R.id.radio_on
//save ON in shared preferences
break;
case: R.id.radio_off
//save OFF in shared preferences
break;
然后你可以检查独立于任何语言的常量。