Einführung react-i18next ist ein leistungsstarkes Internationalisierungsframework basierend auf
Installieren Sie müssen sowohl die Abhängigkeiten Konfiguration Erstellen Sie einen neuen Erstellen Sie drei neue Dateien in
de.json { "Kopfzeile": { "register":"Registrieren", "signin":"Anmelden", "home": "Zuhause" }, "Fußzeile": { "Detail" : "Alle Rechte vorbehalten @ React" }, "heim": { "hot_recommended": "Heiß empfohlen", "new_arrival": "Neuankömmling", "joint_venture": "Gemeinschaftsunternehmen" } } zh.json { "Kopfzeile": { "register":"Registrieren", "signin":"Anmelden", "home": "Zuhause" }, "Fußzeile": { "Detail": "Urheberrecht @ React" }, "heim": { "hot_recommended": "Heiß empfohlen", "new_arrival": "Neuankömmling", "joint_venture": "Gemeinschaftsunternehmen" } } config.ts importiere i18n von „i18next“; importiere { initReactI18next } von 'react-i18next'; importiere translation_en aus „./en.json“; importiere translation_zh aus „./zh.json“; const Ressourcen = { de: Übersetzung: translation_en, }, de: { Übersetzung: translation_zh, }, }; i18n.use(initReactI18next).init({ Ressourcen, lng: "zh", Interpolation: Escape-Wert: false, }, }); Standard-i18n exportieren; verwendenReferenzprofil Referenzieren Sie die importiere React von „react“; importiere ReactDOM von „react-dom“; importiere './index.css'; App aus „./App“ importieren; importiere './i18n/config'; // Referenzkonfigurationsdatei ReactDOM.render( <Reagieren.StrictMode> <App /> </React.StrictMode>, document.getElementById('root') ); Verwendung in KomponentenMethode 1 Verwenden Sie die High-Order-Funktion (HOC) importiere React von „react“; Stile aus „./Home.module.css“ importieren; //Einführung der HOC-High-Order-Funktion withTranslation und der i18n ts-Typdefinition WithTranslation importiere { mitÜbersetzung, MitÜbersetzung } von "react-i18next" Klasse HomeComponent erweitert React.Component<WithTranslation> { rendern() { const { t } = diese.props; Rückkehr <> <h1>{t('header.home')}</h1> <ul> <li>{t('home.hot_recommended')}</li> <li>{t('home.neue_Ankunft')}</li> <li>{t('Heimat.Joint_Venture')}</li> </ul> </> } } export const Home = withTranslation()(HomeComponent); // Verwenden Sie die höherwertige Funktion withTranslation, um die Dateneinfügung der Sprachkonfiguration abzuschließen. Methode 2 Verwenden Sie importiere React von „react“; importiere { useTranslation, Trans } von 'react-i18next' exportiere const Home: React.FC = () => { const { t } = useTranslation() zurückkehren ( <div> <h1>{t('header.home')}</h1> <ul> <li>{t('home.hot_recommended')}</li> {/* Es gibt einen anderen Weg */} <li><Trans>Zuhause.Neuankömmling</Trans></li> </ul> </div> ); }; Sprache wechseln importiere i18n von „i18next“; const changeLanguage= (Wert) => { i18n.changeLanguage(val); // der Wert des Parameters val ist „en“ oder „zh“ }; oder importiere React von „react“; importiere { useTranslation } von 'react-i18next' export const Home: React.FC = () => { const { t, i18n } = useTranslation() zurückkehren ( <button onClick={()=>i18n.changeLanguage(i18n.language=='en'?'zh':'en')}>{i18n.language=='en'?'zh':'en'}</button> ); }; Dies ist das Ende dieses Artikels über die Internationalisierung von React react-i18next. Weitere relevante Inhalte zu React internationalization react-i18next finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Beispielcode zum Erzielen eines dreidimensionalen Bildplatzierungseffekts mit reinem CSS
>>: Zusammenfassung des Wissens zum MySQL-Protokoll
Der Meta-Tag ist ein Hilfstag im Head-Bereich der...
Hintergrund Ein Nginx-Servermodul muss als Proxy ...
Inhaltsverzeichnis JSON.parse JSON.parse-Syntax R...
Sie wissen, dass der Browser ohne diese Option bei...
Tabellenstruktur einer MySQL-Tabelle schnell ände...
In diesem Artikel werden hauptsächlich die Proble...
System: CentOS 7 RPM-Pakete: mysql-community-clie...
Vorwort In diesem Artikel wird erläutert, wie Sie...
Es scheint, dass die MySQL-Server-Datei zur norma...
A. Installation des MySQL-Sicherungstools xtrabac...
Hintergrund: Machen Sie jeden Tag ein wenig Forts...
Inhaltsverzeichnis Schlossübersicht Sperrklassifi...
Effektanzeige: Controllerknoten zur Umgebungsvorb...
In diesem Artikel wird der Beispielcode für erwei...
Mit der zunehmenden Reife des Internetzeitalters ...