I18N的XML文档
发布时间:2020-12-16 05:33:40 所属栏目:百科 来源:网络整理
导读:我即将决定如何处理基于 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"
我即将决定如何处理基于
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行,我们的应用程序中有十几个这样的文件. 我仍然可以改变格式以最好地满足我们的需求.那么你将如何翻译呢? 我一直在考虑一些可能的方法来解决这个问题: >每种语言的单独文件,包含英文文本和翻译文本 第一种解决方案存在的问题是,根据上下文,英文文本可能会被翻译成不同的消息. 第二种解决方案使源文件的可读性降低(尽管不是很多),并且它不能轻松处理属性的转换. 一旦将文件翻译成5-6种语言,第三种解决方案就会使文件变得非常庞大和繁琐.
我会创建一个模板文件,例如命名为“somename.xml.template”
<devif> <screen id="scr1" title="[SettingsForThisCard]"> <header text="[ClimateReadings]"/> <rd setp="123" text="[AirTemperature]" unit="°C"/> ... 然后,您可以为每种语言创建一堆类似ini的文件,其中包含: SettingsForThisCard =您在给定语言中的消息 然后,您可以使用从ini文件中获取的消息替换标记.优点是,如果标签没有翻译,则易于检测并且不会浪费翻译工作.此外,它非常简单,因此可能不是满足您特定要求的最佳选择. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读