dcs*_*san 5 javascript internationalization messageformat meteor i18next
我正在尝试评估哪一个使用,所以会感谢做出这个决定的其他人的任何反馈.似乎有两个大的翻译项目:
http://messageformat.meteor.com/
PROS
笔记:
PROS
利弊? - 只有JSON格式,没有yaml,编辑非常繁琐 - 没有用于管理字符串的webUI
还有一些其他项目,如https://github.com/Nemo64/meteor-translator, 但上面两个似乎是最彻底的.我错过了其他人吗?
选择合适的工具时人们会使用哪些其他标准?messageFormat与i18next的基础技术似乎是一个因素.
1)页面中有多种语言
我正在尝试做一个双语应用程序但是:
点击:"只通过网络发送当前客户端语言所需的翻译"
这是否意味着语言只能是A或B,而不是混合,基于会话自动切换?
即如何在页面中提供助手以进行多次翻译
EN: {{tr "string", 'en'}}
FR: {{tr "string", 'fr'}}
Run Code Online (Sandbox Code Playgroud)
2)提取动态数据
至少messageFormat项目将捕获/提取静态页面中的字符串,但如果我已经在复杂的mongo集合中有很多内容,有没有办法捕获它?
感谢包装创作者或该领域其他人的任何见解.
听起来你已经下定决心了。;)
如何在页面中提供帮助程序以进行多种翻译
在 MessageFormat 中,您不需要为每种语言提供特殊的帮助程序。您只需在模板中为“基本”语言(假设是英语)定义一次键和值。然后,您可以使用基于 Web 的 MessageFormat 翻译工具添加其他字符串,例如法语、西班牙语等。
要选择语言,您只需设置区域设置,这样您就可以在客户端中添加一个下拉菜单,以便您的用户可以完成此操作。
请参阅 SetLocale: http: //messageformat.meteor.com/docs#methods
如果我在复杂的 mongo 集合中已经有很多内容,有没有办法捕获它?
我真的需要了解有关您的应用程序的更多详细信息,以回答您如何能够做到这一点。MessageFormat 只是创建一个函数的 messageformat.js 文件,因此您可以直接修改该文件,但下次运行 mf_extract 时它会被覆盖。所以我认为你真的只需要获取应用程序中定义的名称-值对,即 {{mf 'admin.dashboard.title' 'Dashboard'}}。但是,如果您有某种方法将当前的“内容”映射到这些我的键,您也许可以将该内容加载到 mfstrings 集合中,或者编写代码将它们拉入 mfAll.js 中。。。
我们在所有 Meteor 应用程序中使用 MessageFormat,并且非常喜欢它。我没有使用 TAP i18n 的经验,但 MessageFormat 似乎可以很好地满足我们的需求(我们正在做日语、英语、中文)。
我建议将其添加到您的项目中,或者将其与测试项目一起使用以获得一些经验,然后您可以决定您喜欢它的方式。只需确保您阅读了有关 mf_extract 的内容,否则您会陷入困境。
归档时间: |
|
查看次数: |
4160 次 |
最近记录: |