问题标签 [i18next-http-backend]
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.
reactjs - i18n 从 s3bucket 加载翻译
我i18n
在我的 React 应用程序中使用该模块,该模块作为应用程序(我将其称为实时应用程序)托管S3
并cloudfront
位于其前面。
我想将 s3 url 存储在配置文件中,以避免在我的应用程序中对其进行硬编码,以便在public/locales
开发时可以处理本地存储在文件夹中的翻译文件。
最初,我设置了后端选项,以便它始终尝试查找locales
路径中的文件。这在本地工作,但在 S3 上停止工作,尽管 locales 文件夹存在于 S3 存储桶中。我还注意到应用程序没有发送任何请求来检索翻译文件。
然后我决定将翻译文件上传到另一个 S3 存储桶并将它们托管在那里,看看这是否能解决问题。我将配置更改为对 s3 存储桶路径进行硬编码。这在本地和实时应用程序上都有效。但这意味着我不能使用我的配置文件来确定 loadPath 选项。
然后我想我可以这样构建 url:
奇怪的是,这在本地工作时AWS_CONFIG.aws_app_translations_path
既http://localhost:3000/locales
和<myhardcoded-s3-bucket-url>
。但是,一旦我将其推送到现场,它又失败了。这次提出请求https://<my-apps-base-path>/undefined/en-GB/translation.json
,例如。所以它试图使用应用程序路径并附加我在loadPath
.
然后我看到我可以loadPath
作为一个函数来构造我的 url。这也不适用于实时应用程序,但再次在本地工作。
这是我的整个i18n
文件
什么可以解释这种奇怪的行为?我在这里缺少配置吗?
i18next - I18next 使用捆绑的翻译文件在本地加载翻译
有没有办法让我从与我的 js 文件捆绑的翻译 json 文件中加载翻译?
我只需要介绍几种语言,并且由于限制,无法设置后端端点。
我知道 addResourceBundle 功能,但这样做没有成功。
我有翻译文件english.json , spanish.json
似乎不起作用。
javascript - 服务器以“应用程序/节点”的非 JavaScript MIME 类型响应
我正在尝试使用 i18next 在我的网站上设置本地化。我正在使用以下脚本(现在大部分来自实际的 i18next 网站),但后端的导入会引发错误。
错误:
我什至不知道我是否正确导入了这些东西。我很感激任何帮助。谢谢你。
create-react-app - 创建 React 应用程序 - 从相对路径加载 i18n 翻译
homepage
我的 React 应用程序通过在 package.json 中设置变量从相对路径加载。但是 i18next-http-backend 仍然尝试从而http://localhost:3000/locales/en/translation.json
不是加载翻译http://localhost:3000/myapp/locales/en/translation.json
。我什至尝试设置 loadPath 选项(虽然不确定语法),但这不起作用。请看下面:
我怎样才能使这项工作?
internationalization - i18next 与 HttpBackend,Trans 在初始化完成之前寻找密钥
我正在使用 HttpBackend 动态加载翻译但是在我的组件中,我使用 Trans 组件,并且它在尖叫缺少翻译键,我还看到 init 在尝试访问 Trans 组件后完成。我的应用程序有一个暂停,为什么会发生这种情况?
我进入控制台: i18next::translator: missingKey en translation myKey 这是其中包含 a 的文本
.... init 发生在之后。
我怎样才能解决这个问题?
有问题的组件:
reactjs - Webpack 5 / i18next - 模块解析失败:“import”和“export”可能只出现在“sourceType:module”中
将Webpack从版本4升级到 5 后,我无法构建和启动纱线服务器。一个不想合作的包是i18next-http-backend。我试图一次编译 JS 和 TS 文件。
网络包配置:
它给了我这个错误:
我应该更改我的 Webpack 配置文件以使其工作吗?
reactjs - react-i18next 循环结构转 JSON
我正在使用 react-i18next 和 i18next-http-backend 来国际化我的项目
有人可以告诉我为什么 backendConnector/backend 有这么多实例吗?
我有这样的错误
我只是想知道你能不能帮我解决这个问题
我的 i18n 代码是这个
internationalization - Spartacus Storefront 多站点 I18n 与后端
在进行 I18n 时,我们的 MultiSite Spartacus 设置遇到了一些问题。
我们希望为每个站点提供不同的翻译,因此我们将它们放在一个 API 上,该 API 可以返回依赖于 baseSite 的消息,例如:
backend.org/baseSiteX/messages?group=common
但是 Spartacus 设置不允许我们通过 baseSite?我们可以通过{{lng}}
and{{ns}}
,但不能通过 baseSite。
请参阅https://sap.github.io/spartacus-docs/i18n/#lazy-loading 我们可以通过覆盖i18nextInit
来做到这一点,但我不确定如何实现这一点。在文档中,它说您可以
crossOrigin: true
在配置中使用,但这似乎不起作用。类型检查说它不受支持,它仍然显示 uw CORS 问题
有人对这些问题有想法吗?
reactjs - 我收到此错误:尝试导入错误:“initReactI18next”未从“react-i18next”导出。这就是我的 i18next.js 文件的样子
这是我的 i18next.js 文件。我已经下载了所有依赖项,我想知道为什么会出现这个错误:
尝试导入错误:“initReactI18next”未从“react-i18next”导出。
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/ 位置
任何帮助表示赞赏,在此先感谢!