多语言和多语言同时

时间:2013-01-15 09:21:49

标签: android

我正在开发一个具有多语言支持的应用程序(使用 / res / values - **方式)并成功完成。然后我想使用Holo和掉落的旧设备(例如2.3。*)来使用默认设备(使用 / res / values-v11 方式)。

所以,我最终得到了一个与此类似的结构(没有语言的结构是EN,默认情况下):

  • / RES /值
  • / RES /值-V11
  • / RES /值德
  • / RES /值-DE-V11
  • / RES /值-ES
  • / RES /值-ES-V11

......每个人都有以下内容:

  • 的strings.xml
  • 的themes.xml

...其中 strings.xml 是定义本地化文本的位置, themes.xml 具有:

对于非v11 目录(旧设备)

<?xml version="1.0" encoding="UTF-8"?>
<resources>
    <style name="MyTheme" parent="@android:style/Theme">
        <!-- Any customizations for your app running on pre-3.0 devices here -->
    </style>
</resources>

对于 -v11 目录(+3.0设备)

<?xml version="1.0" encoding="UTF-8"?>
<resources>
    <style name="MyTheme" parent="@android:style/Theme.Holo">
        <!-- Any customizations for your app running on devices with Theme.Holo here -->
    </style>
</resources>

记住将此属性添加到AndroidManifest.xml上的应用程序标记

android:theme   ="@style/MyTheme"

这适用于所有语言和所有设备,当前和传统,正确的主题选择和一切。在多个物理设备中测试过。

所以,问题是:

难道你不认为这是可以维护的吗?我的意思是,然后我们为每种语言都有2个完全相同的string.xml文件,但对于每个新文本,我们必须填写两次,这增加了拼写错误的风险。如果您有 analytics.xml styles.xml ,......内部

,则会发生同样的情况

使用 strings.xml 在Android中使用语言处理非常好,是否有其他解决方法可以更好地使用这种多语言和多语言?

谢谢。

1 个答案:

答案 0 :(得分:1)

我不确定你为什么需要像

这样的东西
values-de-v11

我会用这样的东西:

values
values-de
values-fr
values-es
values-cat
...

并在每个strings.xml文件中放入翻译。 另一方面,您还可以添加文件夹:

values
values-v11

在里面你可以添加你的主题。

文件夹值应该包含默认语言的strings.xml(通常是英文)和没有holo的设备的后备主题文件。

您可以查看文档中的所有可能性:

http://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources