我即将决定如何处理基于
XML的UI描述格式的国际化.
格式通常如下所示:
... <devif> <screen id="scr1" title="Settings for this and that"> <header text="climate readings"/> <rd setp="123" text="Air temperature" unit="°C"/> <rd setp="234" text="Humidity" unit="%rH"/> <rd setp="345" text="CO2" unit="ppm"/> <header text="Settings"/> <wr setp="567" text="Air temperature demand" unit="°C"/> </screen> ... </devif>
每个文件都包含大量屏幕,最多可包含10,000行,我们的应用程序中有十几个这样的文件.
我仍然可以改变格式以最好地满足我们的需求.那么你将如何翻译呢?
>每种语言的单独文件,包含英文文本和翻译文本
>为每个标记使用ID,并为每个标识使用带有翻译文本的单独文件
>将所有翻译放在同一个文件中
第一种解决方案存在的问题是,根据上下文,英文文本可能会被翻译成不同的消息.
我会创建一个模板文件,例如命名为“somename.xml.template”
<devif> <screen id="scr1" title="[SettingsForThisCard]"> <header text="[climateReadings]"/> <rd setp="123" text="[AirTemperature]" unit="°C"/> ...
然后,您可以为每种语言创建一堆类似ini的文件,其中包含:
SettingsForThisCard =您在给定语言中的消息
然后,您可以使用从ini文件中获取的消息替换标记.优点是,如果标签没有翻译,则易于检测并且不会浪费翻译工作.此外,它非常简单,因此可能不是满足您特定要求的最佳选择.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。