问题标签 [react-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 - 从 url 导入 json 文件
我正在使用 react-i18next 进行翻译,目前一切正常,因为我正在本地导入翻译文件,如下所示
现在的挑战是,我希望能够更新翻译文件,我决定采用的实现是将文件放在 Amazon S3 上并读取它们,每当需要更新时,我都会将更新的 json 对象发送到后端将更新文件的服务。
我面临的问题是弄清楚如何像我一样在反应项目中导入文件
它给了我一个错误。找不到模块:错误:无法解析模块“https:my-s3-url/locales/en/translation.json”。
使用 i18next-xhr-backend 插件也不适用于以下配置:-
任何有关解决此问题的最佳方法的建议将不胜感激,谢谢:-)
reactjs - 如何在 i18next 配置中使用 cookie?
我想在我的 i18n.js 文件中使用 react-cookie 来设置语言。
我正在尝试这样,但它发送此错误:无效的挂钩调用。钩子只能在函数组件的主体内部调用。这可能是由于以下原因之一: 1. 你可能有不匹配的 React 版本和渲染器(例如 React DOM) 2. 你可能违反了 Hooks 规则 3. 你可能有多个 React 副本同一个应用
我想让它工作!
react-i18next - 如何在 BASIC 函数(不是组件)中使用 react-i18next?
我知道 react-i18next 在每个组件中都有效:功能(使用 useTranslation)和类组件(使用 withTranslation())但是我不能在这样的基本函数中使用翻译:
错误挂钩!
谢谢 !
i18next - 在 i18next 中对具有不同 IETF 语言标签的语言使用相同的资源
我有以下代码:
我的问题是,假设用 检测到英语时navigator.language
,它可能是en
, en-US
, en-GB
,或者对于挪威语,它可能是nb
,nb-NO
等ny-NO
。
我们希望为所有英语语言代码提供相同的翻译,并为所有挪威语言代码提供相同的翻译。
我目前的解决方案是像这样定义资源:
但是必须有更好的解决方案!有人可以帮忙吗?
reactjs - React - i18next-extract: Question about extractedTranslations output
I'm using this babel plugin https://github.com/gilbsgilbs/babel-plugin-i18next-extract. Haven't configured it much beyond the basics.
it generates an extractedTranslations folder but I just end up with keys and no values. Is that the correct behavior? I would figure that it would reconcile the values from the translations files that i already have.. I'm kind of confused on how this is useful?
javascript - i18n.changeLanguage 不是函数
这是我的代码。
当我点击de en
按钮时。我得到这个错误。TypeError: i18n.changeLanguage 不是函数。如何修复?
reactjs - react-i18next 从哪里来的 initialI18nStore
我希望有更多关于 react-i18next 的 useSSR 的文档。在文档中,它声明要构建这样的组件......
问题是它没有显示 initialI18nStore 道具的来源。我得到的 initialLanguage 会类似于“es”、“en”、“etc”,但我只是不确定 initialI18nStore 来自哪里。这是来自中间件还是 I18nextProvider 的东西?
reactjs - i18next 反应 Trans 组件 - 正确转义字符
我有一个基于反应的应用程序并使用 i18next 的 Trans 组件进行翻译。
假设我们有一个用户注册表单,我们想通过显示以下文本来确认已创建一个新帐户:
已创建名为NAME的用户。
其中NAME由用户提供并以粗体显示。
我现在拥有的是以下代码:
和以下翻译字符串
对于一个简单的案例,name: 'Tom'
它可以正常工作并显示
已创建名为Tom的用户。
但是我想让用户在他们的名字中使用特殊字符。当我把名字改成Tom&Jerry
我得到
Tom&Jerry
已创建具有名称的用户。
在做了一些研究之后,我认为问题在于 i18next 和 react 都转义了它们的输入,因此名称被转义了两次。i18next.init
我通过添加以下选项关闭了 i18next 转义
interpolation: {escapeValue: false},
这解决了 Tom&Jerry 案:
已创建名为Tom&Jerry的用户。
但是有一些输入会完全破坏它,例如name: 'Tom<'
像这样设置渲染(名称后面的所有内容都是粗体):
已创建名为 Tom 的用户。
和设置name: '<Tom>'
给了我:
已创建具有名称的用户。
(根本没有显示名称)。我希望它呈现如下:
<Tom>
已创建具有名称的用户。
有没有办法让它工作?