成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

多語言站點(diǎn)React前端框架i18next

開發(fā) 前端
在 react 中,其實(shí)已經(jīng)有人封裝了多語言的擴(kuò)展庫,我們只需要安裝它就可以在我們的 react 項(xiàng)目中實(shí)現(xiàn)網(wǎng)站的多語言切換。

現(xiàn)在的網(wǎng)站很多時(shí)候都需要面對(duì)世界過個(gè)地區(qū)的人們?cè)L問,如果針對(duì)每個(gè)地區(qū)的人都單獨(dú)構(gòu)建一個(gè)網(wǎng)站的話,這樣會(huì)非常費(fèi)時(shí)費(fèi)力,因此最好的解決辦法就是根據(jù)用戶的訪問來對(duì)網(wǎng)站的內(nèi)容進(jìn)行翻譯,這種翻譯一般是通過從數(shù)據(jù)庫獲取對(duì)應(yīng)的語言內(nèi)容來進(jìn)行頁面內(nèi)容的替換。

圖片

在 react 中,其實(shí)已經(jīng)有人封裝了多語言的擴(kuò)展庫,我們只需要安裝它就可以在我們的 react 項(xiàng)目中實(shí)現(xiàn)網(wǎng)站的多語言切換。

圖片

下面我們簡單介紹下如何使用它。

圖片

首先,我們需要通過包管理工具比如 npm 等來安裝它。

npm install i18next react-i18next@latest

然后,我們創(chuàng)建一個(gè) i18n.js 配置文件,里面對(duì)多語言進(jìn)行相關(guān)的配置。

import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';

i18n
.use(initReactI18next)
.init({
debug: true,
fallbackLng: 'en',
interpolation: {
escapeValue: false, // not needed for react as it escapes by default
},
// language resources
resources: {
en: {
translation: {
welcome: "Welcome to React"
}
},
zh: {
translation: {
welcome: "歡迎使用 React"
}
},
}
});

export default i18n;

在這里面,resources 屬性里面配置的就是對(duì)應(yīng)的各個(gè)語言的翻譯,這里面的數(shù)據(jù),一般我們都是從數(shù)據(jù)庫中獲取,這里為了演示,我們直接寫在了配置文件中。

接下來,我們介紹下如何在項(xiàng)目中使用它。

import { useTranslation } from "react-i18next";

const lngs = [
{ code: "en", native: "English" },
{ code: "zh", native: "Chinese" },
];

export default function App() {
const { t, i18n } = useTranslation();

const handleTrans = (code) => {
i18n.changeLanguage(code);
};

return (
<div style={{padding: '50px'}}>
<h1>{t("welcome")}</h1>

{lngs.map((lng, i) => {
const { code, native } = lng;
return <button notallow={() => handleTrans(code)}>{native}</button>;
})}

</div>
);
}

在這里,我們放置了兩個(gè)按鈕,一個(gè)是中文,一個(gè)是英文,點(diǎn)擊中文,顯示中文內(nèi)容,點(diǎn)擊英文,顯示英文內(nèi)容,這里我們主要就是通過調(diào)用i18n.changeLanguage這個(gè)函數(shù)來實(shí)現(xiàn)對(duì)應(yīng)語言的轉(zhuǎn)換,我們需要翻譯的短語使t函數(shù)進(jìn)行包裹。

對(duì)于用戶語言的識(shí)別,我們主要可以通過下面的幾種方式進(jìn)行識(shí)別。

  • cookie
  • localStorage
  • navigator
  • querystring (append ?lng=LANGUAGE to URL)
  • htmlTag
  • path
  • subdomain

這些方式 i18next 都是支持的,不過使用的時(shí)候需要先安裝。

npm install i18next-browser-languagedetector --save

使用方式如下:

import i18n from "i18next";
import detector from "i18next-browser-languagedetector";
import { reactI18nextModule } from "react-i18next";

import translationEN from '../public/locales/en/translation.json';
import translationDE from '../public/locales/de/translation.json';

// the translations
const resources = {
en: {
translation: translationEN
},
de: {
translation: translationDE
}
};

i18n
.use(detector)
.use(reactI18nextModule) // passes i18n down to react-i18next
.init({
resources,
fallbackLng: "en", // use en if detected lng is not available

keySeparator: false, // we do not use keys in form messages.welcome

interpolation: {
escapeValue: false // react already safes from xss
}
});

export default i18n;

i18next 此外還支持熱更新,還支持 SSR,它還提供了Trans組件,可以讓你方便的集成到項(xiàng)目中。

圖片

總之,i18next 是非常不錯(cuò)的多語言站點(diǎn)插件,更多的使用方法和介紹你可以參考官網(wǎng)。

責(zé)任編輯:武曉燕 來源: 程序那些事兒
相關(guān)推薦

2021-07-24 11:41:42

前端開發(fā)技術(shù)

2014-04-16 14:50:20

Spark

2011-08-05 17:54:33

Cocoa Touch 多語言

2012-04-19 11:40:21

Titanium

2009-08-25 10:44:50

C#實(shí)現(xiàn)多語言

2014-07-09 09:20:06

WPFWPF應(yīng)用

2024-05-09 08:14:09

系統(tǒng)設(shè)計(jì)語言多語言

2022-08-09 07:22:15

語言數(shù)據(jù)庫程序

2023-10-18 15:21:23

2023-08-04 10:18:15

2021-09-07 10:17:35

iOS多語言適配設(shè)計(jì)

2021-06-29 21:48:32

開源語言架構(gòu)

2009-08-03 17:33:01

ASP.NET多語言支

2009-07-17 10:02:29

WPF程序多語言支持

2020-04-14 09:50:02

2010-11-19 09:25:06

to_dataOracle

2009-08-31 17:13:09

2019-08-22 10:20:41

Ubuntu設(shè)置語言

2019-12-05 16:00:15

Vim插件編程文本編輯器

2009-08-21 18:46:30

下載Server 20
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 日韩精品成人一区二区三区视频 | 青青草视频网站 | h片在线看 | 精品欧美乱码久久久久久 | 欧美视频三区 | 天天操 夜夜操 | 欧美电影免费观看高清 | 国产精品久久久久久久久久 | 亚洲成人精品 | 一级二级三级在线观看 | 精品视频一区二区三区 | 日韩在线一区二区三区 | 在线免费小视频 | 成人福利在线视频 | 欧美日韩视频在线 | www.一区二区三区.com | 精品视频一区二区三区在线观看 | 亚洲免费观看视频 | 99久久成人 | 欧美日韩高清免费 | 亚洲天堂久久 | xxx视频| a免费在线| 日韩高清国产一区在线 | 免费观看一级视频 | 日本久久网 | 日韩电影免费在线观看中文字幕 | 精品亚洲永久免费精品 | 亚洲一区亚洲二区 | 一级国产精品一级国产精品片 | 51ⅴ精品国产91久久久久久 | 日韩小视频| 欧美精品一区二区在线观看 | 国产精品成人一区二区三区夜夜夜 | 在线观看三级av | 日本一区二区高清不卡 | 成人在线免费 | 中文字幕欧美一区二区 | 亚洲三级在线观看 | 999久久久精品 | 中文字幕乱码亚洲精品一区 |