Internacionalizacija, dar vadinama i18n, kodėl šis pavadinimas? Kadangi internacionalizacija anglų kalba yra internacionalizacija, tarp i ir n yra 18 raidžių, todėl ji vadinama i18n. Jei mūsų programa yra internacionalizuota, ją galima lengvai perjungti skirtingose kalbų aplinkose, labiausiai paplitęs yra perjungimas tarp kinų ir anglų, o internacionalizacijos funkcija taip pat yra gana dažna.
Pavyzdžiui, siųsdami konkrečią užklausą, antraštėje nustatykite rakto ir reikšmės porą: "Accept-Language":"zh", per atitinkamą reikšmę "Accept-Language" serveris gali nuspręsti, kurią regiono kalbą naudoti, rasti atitinkamą išteklių failą, suformatuoti jį ir grąžinti klientui.
Sukurkite naują "Spring Boot" projektą, sukurkite i18n failą išteklių aplanke ir sukurkite naują konfigūracijos failą šiame aplanke pagal "Kalbos santrumpų lentelės" formatą, kaip parodyta paveikslėlyje žemiau:
message.properties
message_en.savybės
Nepamirškite pridėti konfigūracijos parametrų, kad galėtumėte redaguoti application.properties, kad mūsų konfigūracija būtų veiksminga:
Pavasaris apibrėžiaPranešimo šaltinissąsajos, skirtos prieigai prie tarptautinės informacijos.
getMessage(Eilutės kodas, Objektas[] argumentai, Eilutė defaultMessage, Lokalės lokalė) getMessage(Eilutės kodas, Objektas[] argumentai, Lokalės lokalė) getMessage(MessageSourceResolvable resolvable, lokalės lokalė)
Sukurkite naują valdiklį ir pabandykite iškviesti kitą išteklių failą, kad gautumėte raginimą su šiuo kodu:
Projektas įdiegtas "Windows" serveryje kinų kalba ir nėra jokių problemų dėl Kinijos vartotojų prieigos prie kinų kalbos. Diegdami anglišką "Linux" versiją, Kinijos vartotojai paragins anglišką raginimą (perskaitykite angliško išteklių failo konfigūraciją).
To priežastis yra dėl mūsųNaujo kinų .properties failo iš viso nėra, šiuo metu programa nuskaitys išteklių failą, atitinkantį dabartinę sistemos kalbą, o jei jo nebus galima perskaityti dar kartą, ji negalės perskaityti jokios identifikuotų ypatybių failo konfigūracijos。 Kai paskelbsime projektą "Linux" anglų sistemoje, nors programa negali perskaityti kinų konfigūracijos, ji nuskaitys _en.properties konfigūracijos failą, todėl sąsaja grąžins kinų raginimą.
Sprendimas, nustatymasFallbackToSystemLocalefalse, kodas yra toks:
(Pabaiga)
|