问题标签 [i18next]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - i18next html 转义 - 服务器端生成的电子邮件需要
我使用 i18next 翻译电子邮件模板。它们包含文本需要具有的按钮,
以防止智能手机电子邮件阅读器出现错误呈现。为了防止智能手机电子邮件阅读器将按钮分成两部分,我确实需要有不间断的空格。
问题是,i18next 转义了 html。
而不是My button
,我进入了My button
我的按钮。
这是一个简化版本(伪代码),说明了我想要实现的目标:
玉模板看起来像:
arrays - i18next 渲染 JSON 数组
我想渲染一个 JSON 数组
在两个 HTML 中span
:
我应该设置什么值data-i18n
来实现这一点,或者你能推荐另一种方式吗?
python - JSON 到 iOS 字符串文件
我有一个 json 文件,但我想将其转换为 .strings 文件以便在 iOS 中进行国际化。
所以,我想从:
变成这样的东西:
我想我会看看这是否是内置的,似乎它可能是一个常见的功能。
谢谢。
javascript - Meteor 本地化/i18n 库比较
我正在尝试评估使用哪一个,因此将不胜感激做出此决定的其他人的任何反馈。似乎有两个大的翻译项目:
消息格式
http://messageformat.meteor.com/
优点
- 基于 MessageFormat.js 的大量库
- 包括提取工具
- 处理模糊字符串和版本,如果字符串在应用程序中更新
- javascript 和车把方法
- 用于字符串翻译的预构建翻译工具/webUI http://messageformat.meteor.com/translate/af
- 由 Gadi 撰写,流星大师活跃社区人士
TAP i18n
笔记:
- 基于 i18next 引擎
- 使用 AJAX 加载语言
优点
- 引导程序/语言选择器的助手
- 对包的支持
- 支持数据库集合翻译 https://github.com/TAPevents/tap-i18n-db)
缺点?- 只有 JSON 格式,没有 yaml,编辑起来很乏味 - 没有用于管理字符串的 webUI
还有一些其他项目,例如https://github.com/Nemo64/meteor-translator 但上面两个似乎是最彻底的。我错过了其他人吗?
人们在选择正确的工具时还使用了哪些其他标准?messageFormat 与 i18next 的底层技术似乎是一个因素。
问题:
1)页面中的多种语言
我正在尝试做一个双语应用程序,但是:
点击:“仅通过网络发送当前客户语言所需的翻译”
这是否意味着语言只能是 A 或 B,而不是混合,基于会话自动切换?
即如何在页面中提供帮助以进行多种翻译
2)提取动态数据
至少 messageFormat 项目将在静态页面中捕获/提取字符串,但是如果我在复杂的 mongo 集合中已经有很多内容,有没有办法捕获这个?
感谢包创建者或该领域其他人提供的任何见解。
node.js - i18next 访问jade模板内的翻译功能
我有以下代码:
这个模板:
但是,我无法让这个翻译功能“不”在任何地方工作。我做错了什么?
angularjs - Angularjs 对使用 JSON 数据动态加载的模板执行翻译
我正在构建一个需要翻译的应用程序
我的应用程序结构与此类似
someDirective.js -----> 加载 someDirective 模板
someDirective 模板 - <p>{{data.name}}</p>
所以我的问题是,是否可以对模板进行翻译?
像 <p>{{data.name | 翻译}}</p>
如果是这样,我该如何实现?
javascript - i18next 最佳实践
我已经成功实现了 i18next,顺便说一句,这是一个很棒的库!尽管我仍在寻找“最佳实践”。这是我现在的设置,总的来说我喜欢:
在 DOM 中,我做这样的事情:
在 JS 中,我会做这样的事情:
这意味着我在代码本身中维护英文翻译。translation.json
但是,我使用 i18next-parser使用单独的文件维护其他语言:
这一切都很好。唯一的问题是,当我设置'en'
为 时userLanguage
,i18next
坚持获取/locales/en/translation.json
文件,即使它不包含任何翻译。{}
为了防止 404,我目前在该文件中提供了一个空的 json 对象。
有没有办法完全防止加载空的 .json 文件?
javascript - 如何等待 Angular 模块加载?
我正在尝试在我的 Angular 项目中使用 i18next ( https://github.com/archer96/ng-i18next ),但它似乎加载得太慢了。这是我的设置:
我必须添加一个超时才能有一个值。有没有办法确保在加载控制器时 i18next 已准备就绪?
更新
我正在尝试按类型对锻炼进行分组,使用 $i18next 进行翻译。但这不起作用,因为在控制器完成翻译之前视图已经“准备好”。
javascript - 如何在 i18next 中使用多个命名空间?
我刚刚开始 i18next,我想为我项目中的每个模块创建翻译文件。似乎使用命名空间是正确的方法。该项目可以使用多个视图创建页面布局,因此我需要能够同时翻译来自多个命名空间的字符串。
我创建了一个具有两个命名空间的简单示例,但我只能让 i18next 为一个命名空间翻译字符串。如果我使用defaultNs: namespaces[0]
,那么数字会被翻译,defaultNs: namespaces[1]
颜色会被翻译,并且defaultNs: namespaces
什么都不会被翻译。但我无法弄清楚如何让两个名称空间都进行翻译。
i18next - 键或标签中的 i18next json 点
JS:i18n.t("SOME TEXT TO BE TRANSLATED.")
JSON:"SOME TEXT TO BE TRANSLATED.": "Een stukje tekst om te vertalen"
i18n.t("SOME TEXT TO BE TRANSLATED.")
给我"SOME TEXT TO BE TRANSLATED.".
如果我删除“。” (点)来自标签和函数 t,而不是文本被翻译。
如何解决这个问题?