Nemzetköziesítés, más néven i18n, miért ez a név? Mivel az angol nemzetköziesítése nemzetköziség, 18 betű van az i és n között, ezért i18n-nek hívják. Ha az alkalmazásunk nemzetközi, könnyen váltható különböző nyelvi környezetekben, a leggyakoribb a kínai és angol közötti váltás, és a nemzetköziesítési funkció is elég gyakori.
Például, amikor egy adott kérést küldünk, állíts be kulcs-érték párt a fejlécben: "Accept-Language":"zh", az Accept-Language megfelelő értéken keresztül a szerver eldöntheti, melyik régió nyelvét használja, megtalálhatja a megfelelő erőforrás fájlt, formázza azt, és visszaküldheti a kliensnek.
Hozzon létre egy új Spring Boot projektet, hozzon létre egy i18n fájlt a források mappában, és hozzon létre egy új konfigurációs fájlt ebben a mappában a "Language Abbreviation Table" formátum szerint, ahogy az alábbi ábrán látható:
message.properties
message_en.properties
Ne felejtsd el konfigurálási paramétereket hozzáadni az application.properties szerkesztéséhez, hogy a konfigurációnk hatékony legyen:
A rugó meghatározzaMessageSourceinterfészek a nemzetközileşdirett információkhoz való hozzáféréshez.
getMessage(String code, Object[] args, String defaultMessage, Locale locale) getMessage(String code, Object[] args, Locale locale) getMessage(MessageSourceResolvable resolvable, Locale locale)
Hozz létre egy új vezérlőt, és próbálj meg egy másik erőforrásfájlt hívni, hogy a következő kóddal egy promptot adjon:
A projekt egy Windows szerveren van telepítve, kínai nyelven, és nincs probléma azzal, hogy a kínai felhasználók hozzáférnek a kínai nyelvhez. A Linux angol verziójára történő telepítésekor a kínai felhasználók angol nyelvű promptot kérnek (olvassa el az angol forrásfájl konfigurációját).
Ennek oka miattunk vanEgyáltalán nincs új kínai .properties fájl, ekkor a program elolvassa a jelenlegi rendszernyelvhez illeszkedő erőforrás-fájlt, és ha nem olvasható újra, akkor nem tud azonosított tulajdonságok fájlkonfigurációt olvasni。 Amikor a projektet közzétesszük a Linux angol rendszerre, bár a program nem tudja olvasni a kínai konfigurációt, a _en.properties konfigurációs fájlját fogja olvasni, így az interfész visszaadja a kínai promptot.
Megoldás, beállításFallbackToSystemLocalehamis, a kód a következő:
(Vége)
|