bor*_*eas 6 xml string build-automation android localizable.strings
我将我的iPhone应用程序移植到android,现在我遇到了字符串文件的问题.
该应用程序是一个翻译工具,用户可以切换语言,因此所有本地化的字符串都使用两种语言,并且它们独立于操作系统的运行区域.
对于iOS版本,我有不同的文件,如de.strings,en.strings和fr.strings等.对于具有指定语言对的每个目标,我从字符串表中读取字符串,例如对于de-fr,我将在项目中包含de.strings和fr.strings,并在info-list文件中设置字符串表的名称并读取字符串从他们.最后,我有一个项目包含不同的目标(具有不同的信息列表文件),并且所有项目都配置得很好.
我打算在Android平台上做同样的事情,但是
每个项目只允许一个strings.xml吗?
如何设置不同的构建目标?例如,我的de-fr和de-en翻译应用程序实际上是两个应用程序,唯一的区别是语言对.如何设置某些内容以便我可以使用一个项目生成两个应用程序?在XCode中它很简单,但我找不到eclipse的解决方案.
如何为每个目标指定应该读取哪个strings.xml?
感谢您的回答,但请注意,我需要与操作系统区域设置无关的语言设置,即如果用户将操作系统区域设置从en更改为de,我的应用程序仍会显示英文本地化字符串.我问的实际上是如何设置像prebuild这样的东西并为不同的目标加载不同的字符串文件.
该strings.xml包含原始文本,假定为英语.要创建翻译成不同的语言,你可以创建文件夹,例如:
values-gr,values.it,为希腊最终意大利.只需复制strings.xml到这些文件夹并进行翻译即可.
在应用程序启动时,OS会根据用户的首选项自动选择一种语言.
例如,强制希腊语可以使用:
Locale locale = new Locale("gr");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
Run Code Online (Sandbox Code Playgroud)
当然,您应该为此提供希腊语翻译.
您可以在此处查看文档: 支持不同的语言 - Android
| 归档时间: |
|
| 查看次数: |
7014 次 |
| 最近记录: |