我正在开发一款应用。该应用程序必须解析XML以显示一些数据。该XML使用英语。现在我们也必须支持德语。我们无法创建另一个XML文件。我们不得不在运行时翻译该XML。问题是XML将包含英语,并且有超过500个字符串需要翻译。 使用local将所有这些字符串存储在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呈现时,它应该显示如下:
我已经编写了从xml渲染后显示数据的逻辑。
答案 0 :(得分:-1)
是的,我想如果不创建其他字符串文件就可以使用api来支持不同的语言,你必须创建一个api,它将输入作为你的设备语言&amp;它将返回在KEY&amp;中的字符串xml中定义的那些字符串的数组。作为api响应的值格式,密钥在两侧都是相同的,使用该密钥可以使用不同语言的值。
获取所有值后,您可以将响应存储在应用程序共享首选项中,以便下次使用密钥作为设备语言&amp;响应是值,下次你必须检查使用设备语言作为值的关键,如果它没有存储在设备中,那么需要进行api响应。
但是您必须在启动登录或其他屏幕之前获取所有这些数据,这意味着您必须在启动画面上获取此数据。