我正在开发一个应用程序。这个应用程序必须解析一个XML来显示一些数据。那个XML是用英语写的。现在我们也必须支持德语。我们不能创建另一个XML文件。我们必须在运行时翻译这个XML。问题是XML将包含英语,需要翻译500多个字符串。使用本地将所有这些字符串存储在strings.xml中是不有效的。因为在手动解析之后,我们必须从string.xml中获取值。
我的问题是如何在运行时转换这些数据?我们能用一个属性文件代替吗?如果是,怎么做?
编辑:我的XML文件中的示例是
<element name="Journal in cast iron">
<value name="Lubrication">Lubrication of grease</value>
<value name="µ">0.1</value>
</element>现在“铸铁杂志”、“润滑油”和“润滑脂润滑”需要翻译成德语。类似于上面的元素,我的XML中有大约300个元素。当XML呈现时,应该以如下方式显示:
铸铁轴颈润滑脂润滑= 0.1 %
在从xml呈现数据之后,我编写了显示数据的逻辑。
发布于 2017-04-04 09:10:45
是的,我想不需要使用api创建其他字符串文件就可以支持不同的语言,您必须创建一个api,它将输入作为设备语言&它将返回字符串xml中以键和值格式定义的字符串数组作为api响应,键在双方都是相同的,使用该键您可以使用不同语言的值。
获取所有的值之后,您可以将响应存储在应用程序中的共享首选项中,下次使用键作为设备语言& response是value,下一次您必须检查使用设备语言作为键值(如果它没有存储在设备中),然后需要进行api响应。
但是您必须在启动登录或其他屏幕之前获取所有这些数据,这意味着您必须在Splash屏幕上获取这些数据。
https://stackoverflow.com/questions/43202502
复制相似问题