Android 英语/西班牙语应用程序:如何在值es/字符串中设置以西班牙语显示的值,但在应用程序中保留用于ifs检查的英语值?

Android 英语/西班牙语应用程序:如何在值es/字符串中设置以西班牙语显示的值,但在应用程序中保留用于ifs检查的英语值?,android,xml,Android,Xml,我的文件夹值是英文的strings.xml,文件夹值是西班牙文的string.xml。我有一个从操作栏打开的片段,用来设置设置并将它们存储在SharedReferences中,这在英语中很好用。我在应用程序中有很多if来检查在共享首选项上设置了什么,但是使用英语中的单词和现在西班牙语中的strings.xml,我希望这样做以避免更改应用程序中的所有if。我试过这个,但不起作用: <string-array name="music"> <item value="

我的文件夹值是英文的strings.xml,文件夹值是西班牙文的string.xml。我有一个从操作栏打开的片段,用来设置设置并将它们存储在SharedReferences中,这在英语中很好用。我在应用程序中有很多if来检查在共享首选项上设置了什么,但是使用英语中的单词和现在西班牙语中的strings.xml,我希望这样做以避免更改应用程序中的所有if。我试过这个,但不起作用:

 <string-array name="music">
        <item value="Yes">Si</item>
        <item value="No">No</item>
    </string-array>

硅
不

有没有类似的方法?基本上,我希望用户在“首选项”微调器上选择“Si”,但当我从微调器中获取值时,我希望它检索“Yes”

嗨,请将要传递的值Si传递给字符串,并从微调器中获取值Yes。您可以尝试此示例

您好,请将要传递给字符串的值si传递给字符串,并从微调器中获取值“是”,您可以尝试此示例

您好,请将要传递给字符串的值si传递给字符串,并从微调器中获取值“是”,您可以尝试此示例

您好,请将要传递给字符串的值si传递给字符串,并从微调器中获取值“是”,您可以尝试此示例

基本上,我希望用户在“首选项”微调器上选择“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);
我希望这会有帮助

基本上,我希望用户在“首选项”微调器上选择“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);
我希望这会有帮助

基本上,我希望用户在“首选项”微调器上选择“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);
我希望这会有帮助

基本上,我希望用户在“首选项”微调器上选择“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);

我希望这会有帮助

您应该为需要保存在共享首选项中的值使用常量,这样它将独立于语言

例如,如果有两个单选按钮用于打开和关闭音乐命名,则应创建两个常量

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;

然后,您可以检查独立于任何语言的常量。

您应该使用常量作为需要保存在共享首选项中的值,这样它将独立于语言

例如,如果有两个单选按钮用于打开和关闭音乐命名,则应创建两个常量

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;

然后,您可以检查独立于任何语言的常量。

您应该使用常量作为需要保存在共享首选项中的值,这样它将独立于语言

例如,如果有两个单选按钮用于打开和关闭音乐命名,则应创建两个常量

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;

然后,您可以检查独立于任何语言的常量。

您应该使用常量作为需要保存在共享首选项中的值,这样它将独立于语言

例如,如果有两个单选按钮用于打开和关闭音乐命名,则应创建两个常量

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;

然后,您可以独立于任何语言检查常量。

这成功了…谢谢我的朋友这成功了…谢谢我的朋友这成功了…谢谢我的朋友这成功了…谢谢我的朋友这成功了…谢谢我的朋友