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
So schreiben Sie Urteilsaussagen in MySQL: Method...
//MySQL-Anweisung SELECT * FROM `MyTable` WHERE `...
Inhaltsverzeichnis 1. Übergeordnetes Element über...
Vorwort Manchmal stellen Dateikopien eine enorme ...
Was ist Fuser Command? Der Befehl fuser ist ein s...
Inhaltsverzeichnis MySQL-Absturzwiederherstellung...
1. Vergleichen Sie den alten virtuellen DOM mit d...
Inhaltsverzeichnis Vorwort 1. Ermitteln Sie die L...
Inhaltsverzeichnis 1. Einige Punkte, die Sie beac...
Inhaltsverzeichnis Vorwort Grundlegende Verwendun...
1. Der Unterschied zwischen den Befehlen > und...
Einführung Das MySQL-Protokoll für langsame Abfra...
Um VMWare unter Linux zu installieren, müssen Sie...
Datenbank MySQL Version 8.0.18 Laden Sie eine DBe...
body{font-size:12px; font-family:"Schriftart...