Javascript 流星定位/i18n-libs比较
我正在尝试评估使用哪一个,因此希望其他做出此决定的人提供任何反馈。似乎有两个大的翻译项目: 消息格式 专业人士Javascript 流星定位/i18n-libs比较,javascript,meteor,internationalization,i18next,messageformat,Javascript,Meteor,Internationalization,I18next,Messageformat,我正在尝试评估使用哪一个,因此希望其他做出此决定的人提供任何反馈。似乎有两个大的翻译项目: 消息格式 专业人士 基于MessageFormat.js实体库 包括提取工具 处理模糊字符串和版本(如果应用程序中更新了字符串) javascript和handlebar方法 用于字符串翻译的预构建翻译工具/webUI 由Gadi撰写,流星大师活跃社区的家伙 抽头i18n 注: 基于i18next引擎 使用AJAX加载语言 专业人士 引导/语言选择器的帮助程序 对软件包的支持 支持数据库集
- 基于MessageFormat.js实体库
- 包括提取工具
- 处理模糊字符串和版本(如果应用程序中更新了字符串)
- javascript和handlebar方法
- 用于字符串翻译的预构建翻译工具/webUI
- 由Gadi撰写,流星大师活跃社区的家伙
- 基于i18next引擎
- 使用AJAX加载语言
- 引导/语言选择器的帮助程序
- 对软件包的支持
- 支持数据库集合转换 )
EN: {{tr "string", 'en'}}
FR: {{tr "string", 'fr'}}
2) 提取动态数据
至少messageFormat项目将捕获/提取静态页面中的字符串,但如果我在复杂的mongo集合中已经有很多内容,有没有办法捕获这些内容
感谢软件包创建者或该领域的其他人提供的任何见解。听起来您已经下定决心了。;) 如何在一个页面中提供有多个翻译的助手
EN: {{tr "string", 'en'}}
FR: {{tr "string", 'fr'}}
在MessageFormat中,每种语言都不需要特殊的助手。您只需在模板中为“基本”语言(比如英语)定义一次键和值。然后,您可以使用MessageFormat基于web的翻译工具为法语、西班牙语等添加其他字符串
要选择语言,只需设置语言环境,这样就可以在客户端中添加下拉列表,以便用户可以完成此操作
请参阅SetLocale:
如果我在复杂的mongo集合中已经有很多内容,有没有办法捕获这些内容
我真的需要知道更多关于您的应用程序的细节,以回答您可能如何做到这一点。MessageFormat只是创建了一个函数的MessageFormat.js文件,因此您可以直接修改该文件,但它们会在下次运行mf_extract时被覆盖。因此,我认为您实际上只需要获取应用程序中定义的名称-值对,即{{mf'admin.dashboard.title''dashboard'}}。但是,如果您有办法将当前的“内容”映射到这些my Key,您可以将这些内容加载到mfstrings集合中,或者编写代码将它们拉到mfAll.js中
我们所有的Meteor应用程序都使用MessageFormat,我们非常喜欢它。我没有使用TAPI18N的经验,但MessageFormat似乎能很好地满足我们的需求(我们正在做日语、英语、汉语)
我建议将其添加到您的项目中,或者将其与测试项目一起使用,以获得一些经验,然后您可以决定您喜欢它的方式。请务必阅读有关mf_extract的内容,否则您会被卡住。您也可以使用它来翻译您的应用程序。如果您有任何问题,我将尝试回答!