问题标签 [i18next-browser-languagedetector]
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 的(异步)初始化之前使用 i18next-browser-languageDetector
我正在使用i18next
并且i18next-browser-languageDetector
喜欢这样:
现在检测是在i18next
库的初始化阶段进行的,这是异步的,所以如果我想检查已检测到的语言 ( i18next.language
),我需要等待它完成。
问题是我需要在i18next
加载资源之前检测语言,以便在向后端发出任何请求之前设置Accept-Language
标头。axios
我知道我可以只阅读localStorage
,cookies
或者navigator
我自己,但如果可能的话,我想使用已经内置的功能i18next-browser-languageDetector
。
reactjs - 在 cookie 接受横幅后重新初始化 i18next 实例
我在一个网站上工作,遇到了一个我似乎无法解决的 i18next 奇怪问题。
我希望 i18next 将当前语言保存在 cookie 中,但前提是用户已接受存储 cookie(自定义 cookie 横幅组件)
目前,我有以下代码:
i18n.js
index.js
我的问题是caches: ['cookie']
物业。我希望它包含“cookie”,但只有在用户单击网站某处的“我同意”按钮之后。有没有办法先用空的缓存数组加载 i18next 并在用户单击“我同意”时重新加载对象。
在下一页访问(当用户接受 cookie 时)i18next 应该知道它也可以从语言 cookie 中读取。但我认为当我知道如何解决第一个问题时,我可以轻松解决这个问题。
next.js - 通过 Url 的路径确定语言
我试图通过在next-i18next包中更改站点的子路径来找到一种更改语言的方法,我搜索了Internet(https://github.com/isaachinman/next-i18next/issues/32,https:/ /github.com/i18next/i18next-browser-languageDetector#detector-options)来回答这个问题,但它没有用。更改 url 中的子路径后,它被复制并将我重定向到一个不存在的页面。
我的代码:
也许我只是错过了一些东西,因为这是我在 next.js 上的第一个项目,所以我在社区中寻求帮助,如果有任何帮助或提示,我将不胜感激。
javascript - 将本地化传递给 svg 图像?
目前,我正在使用 i18next 在 React 中开发一个多语言项目。
我有一些包含静态文本语言的 SVG 图像。这是来自 SVG 图像之一的示例。
是否可以使用我在 React 组件中使用的 i18Next 实用程序将本地化传递到 SVG 文件中:
i18next.js
反应示例:label={i18next.t( 'windows.MAIN_CARD.projectName' )}
如果没有,这是我可以从本地存储中做的事情吗?
本地存储
window.localStorage.i18nextLng
在这个 Stack Overflow 问题Angular / svg - pass data into svg & 在这篇博文https://getlocalization.wordpress.com/2016/11/07/how-to-utilize-svg-in-localization/中,它被证明了这是可能的。
不知道从哪里开始,在此先感谢您的帮助。
reactjs - 为什么 i18next-browser-languagedetector 默认选择“en”?
为什么我的 fallbackLng 不起作用?为什么 i18next-browser-languagedetector 默认选择“en”?我想将默认语言设置为“jp”。这是我的配置文件。请帮忙 !!!
index.js
我不想使用 lng: 'jp' 因为如果我刷新页面,语言会返回到 'jp'。我还想缓存最后一个用户选择的语言。
reactjs - 我可以使用 i18next-browser-languageDetector 检测第一次检测到语言的时间吗?
我有一个已翻译成多种语言的反应应用程序,并且还包含一些日期格式化功能。例如,我想允许用户在 12 小时和 24 小时之间更改,但是当切换到德语时,会自动将该选项更改为 24 小时(因为德国通常不使用 12 小时时间)。
我仍然希望用户能够更改此选项,并且我也不希望每次重新加载页面时将其重置为 24 小时。
我正在使用i18next
并i18next-browser-languageDetector
检测浏览器语言,目前我有一个事件绑定到i18next
用户手动更改语言时,以便为每种语言设置这些默认设置,这非常有效:
现在,唯一的问题是在首次加载应用程序时,即浏览器检测器首次检测到用户的语言时,不会触发此功能。
如何确定i18next-browser-languageDetector
最初检测到语言的时间,即不是从本地存储加载,而是lng=de
例如查询字符串会触发它,以便我可以设置这些设置?
node.js - i18next 将 en-US 语言环境映射到 en 命名空间文件夹/文件
抱歉,如果我没有正确地问这个问题,目前,我们的系统使用 i18nexti18next-http-backend
和i18next-browser-languagedetector
. 当浏览器使用英语语言环境设置时,浏览器使用i18next-browser-languagedetector
返回。en-US
然而,nodejs 应用程序的设置i18next-http-backend
方式是用英文为/public/locales/en/language.json
. 现在的问题是,i18next 包依赖备用语言,因为en-US
它不映射到 en ( /public/locales/en/
) 命名空间/文件夹位置。
我知道,只需重命名文件夹或将后备语言更改为 en 就足够简单了。
但我觉得有一种方法可以映射这个或另一种我无法弄清楚并且无法在文档中找到的方法,所以我想知道它是否可能,当语言检测器检测到 en-US 语言环境时,它会映射到 /public/locales/en/ 位置
任何帮助表示赞赏,在此先感谢!
reactjs - use react-i18next cookies only if user accepts cookies
I have been using react-i18next for a while and I have recently implemented a Cookie Consent React component. Therefore, I would like to only use cookies in i18next only if the user has accepted them.
The first step for me has been to remove the 'cookie' from the initial configuration:
However, it seems that removing cookie from detection, etc. does not change anything, I can still see the cookie being set. Is this expected?
My second question is, once the user accepts the cookie, how should I tell react-i18next to use cookies? Should I call init again? I am worried that might have side effects like the user selected language being reset.
javascript - 使用 I18next-react 更改 URL 路径
您好,选择新语言后,我无法更改 href 路径 (URL)
我得到了 example.com/undefined/page1
我用这种方式将语言路径导入到 Href
和链接<a>home</a>