【问题标题】:A way to convert all localization strings to JSON?一种将所有本地化字符串转换为 JSON 的方法?
【发布时间】:2013-02-10 19:12:35
【问题描述】:

我正在尝试为 Android 开发一个 phonegap 插件,它首先检查用户的默认语言环境,然后获取该语言环境的所有字符串并将其转换为 JSON,然后将其发送回 JavaScript。

我知道如何检查默认语言环境并将内容发送回 JavaScript,但问题是我不知道如何做中间部分,即。获取与语言环境匹配的字符串并将它们转换为 JSON。

感谢您的帮助,谢谢!

【问题讨论】:

    标签: javascript android json cordova localization


    【解决方案1】:

    鉴于您知道语言环境,您可以将本地化字符串放在由该语言环境命名的文件中。例如,en_US.strings 就是 en_US 文件。如果您遵循该格式,则只需 usr XHR 即可加载它。如果文件本身是令牌和本地化的 JSON 数据包,那么您就大功告成了。

    【讨论】:

    • 我不确定我是否理解你想说的,但我的本地字符串应该在本地,只是遵循 android 本地化指南。所以它们是在 @987654323 中找到的 xml 文件@文件夹。我需要将那些在 xml 中找到的字符串转换为原生端的 JSON。
    • 所以基本上 - 您需要请求 XML 并将其转换为 JavaScript 值,对吗?如果是这样,您只需通过 XHR 加载 XML 并使用 JS 解析 XML。您不会将其转换为 JSON,而只是将其用作 XML。 Mozilla 开发网络对此有一篇文章:developer.mozilla.org/en-US/docs/Parsing_and_serializing_XML
    • 我通过创建一个非常小的插件解决了这个问题,该插件只从本机端返回一个 Locale.getDefault().getLanguage(),然后设置我的 JS 'lang' 变量以匹配找到的 JSON 语言对象在我的 JS 中。我希望语言文件保留在本机端的原因是更易于维护。现在我的 JS 中有一堆 JSON 对象,最终可能难以维护。但无论如何,感谢您的努力。
    • 顺便说一句,如果您使用的是 PhoneGap,请不要忘记有一种更简单的方法可以获取他们的语言环境。 docs.phonegap.com/en/2.4.0/…
    • 哦,不知道他们已将 Globalization 插件包含在 PhoneGap 2.2 中...但是查看源代码,我实现的插件实际上正是 Globalization 插件所做的,而且我的项目有PhoneGap 的早期版本。不过,很高兴知道!谢谢!
    猜你喜欢
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-13
    • 1970-01-01
    • 2018-04-04
    相关资源
    最近更新 更多