Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 9087|Atsakyti: 0

[Šaltinis] Spring Boot MessageSource Internacionalizuotų kalbų duobė

[Kopijuoti nuorodą]
Paskelbta 2022-1-27 14:52:03 | | | |
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)





Ankstesnis:Praktinis "cAdvisor" naudojimas "Docker" konteinerių metrikai rinkti
Kitą:Priekinė JS konvertuoja blobus į eilutes
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com