从特定的strings.xml文件中获取数据

时间:2015-10-16 09:06:22

标签: android localization

我的应用程序通过本地化支持某些语言。当用户选择任何语言时,将为该特定语言设置应用程序。

应用程序与服务器交互。问题是,当用户使用除英语之外的其他语言时,语言数据将转到服务器。

因此,无论用户选择何种语言,英语语言数据都应该发送到服务器。

请让我知道我该怎么做。

示例:

我有一个字符串数组存储在strings.xml中,适用于所有语言。当我通过微调器从数组中选择任何项时,它给了我特定的语言字符串项。我想要的是,无论用户选择何种语言,都可以获得英语语言字符串。

3 个答案:

答案 0 :(得分:1)

我认为这将是一个解决方案: Load language specific string from resource? 但它已经过测试,似乎无法发挥作用。一个天真的解决方案是将您要发送到服务器的字符串以英语添加到所有语言的所有string.xml文件中,然后在需要将它们发送到服务器时调用这些字符串,或者只需要包含英文字符串的常量字符串你的代码:

public static final String STRING_TO_SEND_TO_SERVER = "your_string_in_English";   // Use this string to send to server and the strings from the strings.xml file for your UI.

答案 1 :(得分:0)

您可以使用values文件夹:默认情况下始终使用其中包含的字符串。

然后,您只需从各自文件夹中的strings文件中删除不想用于其他语言的字符串。然后,您的应用将使用values文件夹中的一个,该文件夹将使用英语。

希望它有所帮助。

答案 2 :(得分:0)

通常,xml资源应该可以帮助您修改应用的UI。 如果你必须使用某种常量与你的服务器通信,那么,也许它不是关于 strings.xml 文件。

您可以以其他方式和位置存储这些服务器值

编辑回复: 我现在明白了。您可以为您的微调器(或任何您想要的)创建一个特定的 string.xml 文件,也可以命名为 strings_for_spinner ,并在其中输入其他已经定义的值。通过这种方式,系统被迫使用这些字符串(在您的情况下,使用英语)。