首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用next-i18next库更改语言时使用CORS

使用next-i18next库更改语言时使用CORS
EN

Stack Overflow用户
提问于 2020-04-19 20:34:39
回答 2查看 230关注 0票数 0

当使用i18n.changeLanguage函数更改语言时,我遇到了cors。我有两个按钮,这两个按钮具有onClick方法,并调用一个名为changeLang.Inside的自定义函数,该函数是我正在调用的i18n.changeLanguage函数,并将其传递给lng参数。

代码语言:javascript
复制
    const changeLang = lng => {
      i18n.i18n.changeLanguage(lng);
    };


    <button onClick={() => changeLang('en')} className="en">
       EN
    </button>
    <button onClick={() => changeLang('tr')} className="tr">
       TR
    </button>

我的i18n配置就是这样的。

代码语言:javascript
复制
import NextI18Next from 'next-i18next';
import { initReactI18next } from 'react-i18next';

export default new NextI18Next({
  use: [initReactI18next],
  defaultLanguage: 'tr',
  fallbackLng: 'en',
  otherLanguages: ['en'],
  localeSubpaths: {
    en: 'en',
  },
  localePath: '/app/static/locales',
  detection: {
    order: ['cookie', 'localStorage'],
    lookupCookie: 'next-i18next',
    lookupLocalStorage: 'i18nextLng',
    caches: ['cookie', 'localStorage'],
  },
});
EN

回答 2

Stack Overflow用户

发布于 2020-04-20 00:08:21

从库的source code看,默认的localePath有一个public/static/locales作为值。

注意没有第一个斜杠,试着去掉它。

票数 0
EN

Stack Overflow用户

发布于 2020-04-20 17:52:04

我得到的error.Here是正确的版本,我在里面添加了后端对象和loadPath,它解决了这个问题。

代码语言:javascript
复制
import NextI18Next from 'next-i18next';
import { initReactI18next } from 'react-i18next';

export default new NextI18Next({
  use: [initReactI18next],
  defaultLanguage: 'tr',
  fallbackLng: 'en',
  otherLanguages: ['en'],
  localeSubpaths: {
    en: 'en',
  },
  localePath: '/app/static/locales',
  detection: {
    order: ['cookie', 'localStorage'],
    lookupCookie: 'next-i18next',
    lookupLocalStorage: 'i18nextLng',
    caches: ['cookie', 'localStorage'],
  },
  backend: {
   loadPath: 'app/static/locales/{{lng}}/{{ns}}.json',
  }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61304415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档