Internasjonalisering, også kalt i18n, hvorfor dette navnet? Fordi internasjonaliseringsengelsk er internasjonalisering, er det 18 bokstaver mellom i og n, så det kalles i18n. Hvis applikasjonen vår er internasjonalisert, kan den enkelt byttes i ulike språkmiljøer, den vanligste er byttet mellom kinesisk og engelsk, og internasjonaliseringsfunksjonen er også ganske vanlig.
For eksempel, når du sender en spesifikk forespørsel, sett et nøkkel-verdi-par i headeren: "Accept-Language":"zh", kan serveren gjennom Accept-Language tilsvarende verdi bestemme hvilket regionspråk som skal brukes, finne den tilsvarende ressursfilen, formatere den og returnere den til klienten.
Opprett et nytt Spring Boot-prosjekt, lag en i18n-fil under ressursmappen, og lag en ny konfigurasjonsfil under denne mappen i henhold til "Language Abbreviation Table"-formatet, som vist i figuren under:
melding.egenskaper
message_en.egenskaper
Husk å legge til konfigurasjonsparametere for å redigere application.properties for å gjøre konfigurasjonen effektiv:
Spring definererMessageSourcegrensesnitt for tilgang til internasjonalisert informasjon.
getMessage(Strengkode, Objekt[] args, Streng defaultMessage, Locale locale) getMessage(Strengkode, Objekt[] args, Locale locale) getMessage(MessageSourceResolvable resolvable, Locale locale)
Opprett en ny kontroller og prøv å kalle en annen ressursfil for å returnere en prompt med følgende kode:
Prosjektet er distribuert under en Windows-server på kinesisk, og det er ikke noe problem med kinesiske brukere som får tilgang til kinesisk. Når man distribuerer til den engelske versjonen av Linux, vil kinesiske brukere be om en engelsk prompt (les: konfigurasjonen av den engelske ressursfilen).
Grunnen til dette er på grunn av ossDet finnes ingen ny kinesisk .properties-fil i det hele tatt, på dette tidspunktet vil programmet lese ressursfilen som matcher det nåværende systemspråket, og hvis den ikke kan leses igjen, vil det ikke kunne lese noen identifiserte egenskapsfilkonfigurasjoner。 Når vi publiserer prosjektet til Linux English-systemet, selv om programmet ikke kan lese den kinesiske konfigurasjonen, vil det lese konfigurasjonsfilen _en.properties, slik at grensesnittet returnerer den kinesiske prompten.
Løsning, settingFallbackToSystemLocalefeil, koden er som følger:
(Slutt)
|