首页 > 解决方案 > 存储 diff 的数据。语

问题描述

我是安卓新手。我正在计划多种语言的测验应用程序。所有语言的图片都相同,但有问题、答案和添加。信息会有所不同。每种语言可以是 300 - 500 个句子。

我应该在 diff 目录中使用字符串 res 来表示不同的语言还是存在更好的方法?SQL之类的?

标签: android

解决方案


您可以使用资源文件夹中的 string.xml 文件来执行此操作。为每种语言(values-en、values-es 等)创建不同的文件夹,并在这些文件夹中添加带有文本资源的 strings.xml 文件。在所有文件中使用相同的标签并为每种语言存储不同的值。然后根据需要使用相应的 xml 填充您的视图

示例:\res\values-en\strings.xml:

<resources>
    <string name="greeting">Hello</string>
</resources>

\res\values-es\strings.xml:

<resources>
        <string name="greeting">Hola</string>
    </resources>

这就是您以编程方式更改语言“区域设置”的方式:

Locale locale = new Locale("es"); 
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config, 
      getBaseContext().getResources().getDisplayMetrics());

确保在您的清单中,您的活动下包含以下内容:

android:configChanges="locale"

来源


推荐阅读