我正在开发一个具有多语言支持的应用程序(使用 / res / values - **方式)并成功完成。然后我想使用Holo和掉落的旧设备(例如2.3。*)来使用默认设备(使用 / res / values-v11 方式)。
所以,我最终得到了一个与此类似的结构(没有语言的结构是EN,默认情况下):
......每个人都有以下内容:
...其中 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中使用语言处理非常好,是否有其他解决方法可以更好地使用这种多语言和多语言?
谢谢。
答案 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