问题标签 [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.
jquery - 替换 i18next 中的变量
我已经实现了 i18next,在获得了几个问题的帮助后,一切正常。我仍然无法理解支持站点上的部分文档。
我正在尝试复制这部分(在此处找到):
就我而言,这是 JSON 文件:
和 HTML:
注意: jQuery 2.1.1 和 jQuery Mobile 1.4.2 加载在标头中。
我确定我没有将各个部分放在它们应该去的地方,因为它不起作用(没有插入变量“currencysymbol”)。其余代码工作正常,因为我得到了所有翻译文本。
我真正想要实现的是能够创建将被称为翻译的一部分的变量(货币符号、公司名称、公司地址等...... - 用于附属目的),并能够替换那些值,因为它们在翻译文本中重复。
我想把这些变量放在一个地方,这样它们很容易调整,并且不会受到语言变化的影响。
javascript - i18next 本地化和 javascript
我正在为 javascript 使用i18next本地化。由于我正在结合 PHP 和 javascript,并且我需要对 3 种语言(en、de、fr)进行本地化,所以我面临一个小问题。今天我开始第一次使用 i18next 库,在翻译 div、ul 等普通标签时一切正常……我面临的问题是图片。因为我需要为每种语言提供不同的图片,所以我不确定 i18next 库是否可以在标签参数中设置一个值。例如:
我需要在这里改变的是风格,这部分:
这并不总是相同的,design.png 图像会根据 url 的语言设置而有所不同,例如:
有没有办法用 i18next 库改变它,为每个 lang 不同的图像路径,像这样:
在document.write里面?或者有没有办法从javascript中的url中的lang参数获取值(没有RegEx,这就像我最后一个使用RegEx的解决方案)?
javascript - 解析 html 元素中的 data-i18n 属性
我正在尝试使用自定义正则表达式(也使用默认的 i18n.t 函数)从 html 文件中解析“data-i18n”属性:
解析器可以在这里找到: https ://github.com/karellm/i18next-parser
来自文档的命令:
正则表达式已在 regexpal 和 debuggex 上进行了测试,它匹配正确的标签:
我尝试以各种形式转义正则表达式字符串,但它不起作用。如何正确地做到这一点?
javascript - 以编程方式更改初始化选项
我正在使用 javascript-libraryi18next
来支持多语言。
我可以在初始化时设置诸如 fallback-Language 之类的选项:
但是,我需要能够在初始化后随时以编程方式更改这些选项。
我可以通过调用来更改语言i18next.setLng("en");
,但是有没有办法修改后备语言和其他选项,例如sendMissing
?
knockout.js - 尝试在 TypeScript 中导入 i18next 时无法加载外部模块
我无法导入 i18next 的一个原因是 i18next.d.ts 文件没有
最后,就像 jquery.d.ts 和 knockout.d.ts 一样。它只有
因此,当我尝试使用导入我的 TypeScript 文件时
它将barf:无法加载外部模块模块不能别名为非模块类型
我不知道为什么肯定类型的项目以这种方式组成 d.ts 文件。而且我不知道 declare module 是否是一个好的解决方案。
有人请帮忙。
javascript - i18next - 复数形式不正确
问题,我正在使用 i18next,一切都很好,除了复数翻译。
复数翻译适用于某些语言,但不适用于其他语言。
例如,克罗地亚语不起作用。我添加了一些日志语句,发现它没有使用翻译键“name_plural”,而是使用“name_plural_5”..
它与这段代码有关:
其中引用了这个复数扩展名:
作为参考,英语看起来像这样:
现在谁能告诉我这意味着什么?我是否需要为此语言提供多个复数翻译,为什么?
backbone.js - i18next 使用 Backbone 和 requireJs 不起作用
我在使用 i18next 和 requireJs 和 Backbone 时遇到了麻烦。我有一个名为“i18n”的文件夹,其中列出了我的所有资源。
i18 文件夹的内容:resources-locale_en.js resources-locale_es.js resources-locale_fr.js resources-locale_it.js
resources-locale_es.js 的内容
在我的要求 config.js 上:
加载 DOM 时,我运行:
但只是列出内容 data-i18n 的元素,而不是转换任何东西
我做错了什么?
jquery - 如何正确本地化剑道手机中的字符串?
我在 kendo 旁边使用 i18next 库,并且在我的应用程序的 Kendo UI Web 部分中按预期工作没有问题,但移动端是另一回事。我认为我可以从 init 函数调用我的 i18n 函数,并让它毫无问题地填充我的模板属性中的“data-i18n”......但似乎在视图之后您无法访问任何视图元素完全构建/绑定...所以我尝试将 i18n 代码放入 ListView 的“DataBound”事件中,该事件确实有效,但这似乎每次呈现/刷新列表时都会执行很多不必要的代码。
关于如何更好地做到这一点的想法?因此,我什至还没有开始对布局进行本地化。
这是视图本身的模板:
<div id="dashboard-meeting"
data-role="view"
data-model="dashViewModel"
data-bind="events:{init:meetingListInit,show:meetingListShow}"
data-layout="drawer-layout"
data-title="By Meeting">
<ul id="meeting-list" class="meetingList"></ul>
<div class="no-data" style="display:none;">No Data</div>
</div>
这是列表的行项目模板...
这是我的视图模型:
正如您在我的初始化代码中的注释中看到的那样,我什至尝试将“人数”的列表项元素的文本绑定到通过 init 函数本地化的数据模型文本字符串。但这不会绑定,所以我放弃了,走这条路。
node.js - 使 gettext 目录保持最新
我有一个 node.js 项目,我正在使用 I18next 对其进行本地化,并使用 gettext http://i18next.com/node/pages/doc_init.html#gettext后端。
我在这个项目中使用的模板引擎是https://github.com/bminer/node-blade,它类似于玉。
然后我使用带有命令的https://www.npmjs.org/package/i18next-parser库i18next -r -o ../tmp -l en
来提取所有 msgid 并创建一个 dev.json 文件。
完成后,我使用i18next-conv -l en -s ../dev.json -t dev.po
将其转换为 gettext 格式。
以此为例,我将创建一个 fr.po 文件,然后将其翻译成法语。
到目前为止,这个过程运行良好,问题是,如何最好地保留所有 msgid,例如,我需要将新字符串添加到目录中,然后将它们合并到 fr.po 文件中,而不会丢失任何已经翻译的字符串?
非常感谢任何建议。