React App에서 i18n을 구현하는 방법
15346 단어 i18nhacktoberfesti18nextreact
먼저 라이브러리 설치
react-i18next, i18next 및 i18next-http-backend의 모든 라이브러리를 설치해야 합니다.
npm install react-i18next i18next i18next-http-backend --save
이제 src 파일에 구성 파일을 만듭니다. React App
이름이 i18n.js인 파일과 아래 내용
import i18n from "i18next";
import backend from "i18next-http-backend";
import { initReactI18next } from "react-i18next";
i18n
.use(backend)
.use(initReactI18next)
.init({
lng: "pt",
fallbackLng: "pt",
interpolation: {
escapeValue: false
},
react: {
bindI18n: 'languageChanged',
useSuspense: false,
}
});
export default i18n;
React App의 index.js에서 이 파일 i18n.js를 가져옵니다.
구성 앱에서 파일 i18n.js 및 공급자를 가져오는 사용법
import { I18nextProvider } from 'react-i18next';
import i18n from './i18n';
그리고 렌더 앱에서 이 공급자를 사용합니다.
<I18nextProvider i18n={i18n}>
<App />
</I18nextProvider>
공급자 및 가져오기가 포함된 index.js의 예
React 앱에서 구현 가져오기 및 제공자를 사용한 다음 예
import React from 'react';
import { createRoot } from 'react-dom/client';
import './index.scss';
import App from './App';
import { I18nextProvider } from 'react-i18next';
import i18n from './i18n';
createRoot(document.getElementById('root')).render(
<React.StrictMode>
<I18nextProvider i18n={i18n}>
<App />
</I18nextProvider>
</React.StrictMode>
);
좋습니다. 이제 번역 파일을 만들고 구성 요소에 사용법을 만들어야 합니다.
번역 로케일 파일 생성
공용 폴더에서 이름 로케일로 이 폴더를 생성하고 로케일 폴더에서 번역 파일의 en, pt 또는 es 이름과 같은 모든 폴더를 생성해야 합니까?
폴더 안에는 번역 발생과 함께 translate.json이라는 이름의 json을 생성해야 합니다. 예를 들어 아래의 json을 따르세요.
이름 파일: locales/en/translate.json
{
"languages": {
"pt": "Portuguese",
"en": "English",
"es": "Spanish"
},
"title": {
"config": "Configuration"
}
}
이름 파일: locales/pt/translate.json
{
"languages": {
"pt": "Português",
"en": "Inglês",
"es": "Espanhol"
},
"title": {
"config": "Configurações"
}
}
이름 파일: locales/es/translate.json
{
"languages": {
"pt": "Portugués",
"en": "Inglés",
"es": "Español"
},
"title": {
"config": "Configurações"
}
}
영어, 포르투갈어 및 스페인어를 번역하는 아주 좋은 파일
이제 구성 요소에서 번역을 사용합니다.
이제 구성 요소에서 사용 번역이 필요하고 후크 useTranslation을 사용하여 로케일의 언어를 변경하기 위한 선택 또는 버튼을 생성합니까?
선택 언어 변경이 있는 구성 요소의 기본 사용 예
import React from 'react';
import { useTranslation } from 'react-i18next';
function AppLanguage() {
const { t, i18n } = useTranslation();
return (
<React.Fragment>
<h1>{t('title.config')}</h1>
<select
className="App-language"
name="language"
value={i18n.language}
onChange={e => i18n.changeLanguage(e.target.value)}
>
<option value="pt">{t('languages.pt')}</option>
<option value="en">{t('languages.en')}</option>
<option value="es">{t('languages.es')}</option>
</select>
</React.Fragment>
);
}
export default AppLanguage;
완료 당신은 좋은 해커이고 당신의 React 앱은 전 세계 많은 사람들을 위한 많은 언어와 국제적 접근으로 내부화되어 있습니다. 당신을 위한 좋은 연구와 멋진 #hacktoberfest
참조
참조가 필요한 경우 더 많은 예제와 함께 아래 목록을 따르십시오.
도움이 필요하세요?
나에게 댓글을 달거나 이야기하십시오.
도움이 되고 싶고 만나서 반가워요.
Reference
이 문제에 관하여(React App에서 i18n을 구현하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/lucasferreiralimax/how-implementation-i18n-in-react-app-1gkj텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)