Internationalisering, også kaldet i18n, hvorfor dette navn? Fordi internationaliseringsengelsk er internationalisering, er der 18 bogstaver mellem i og n, så det kaldes i18n. Hvis vores applikation er internationaliseret, kan den nemt skiftes i forskellige sprogmiljøer; den mest almindelige er skiftet mellem kinesisk og engelsk, og internationaliseringsfunktionen er også ret almindelig.
For eksempel, når du sender en specifik anmodning, skal du sætte et nøgle-værdi-par i headeren: "Accept-Language":"zh", kan serveren via den tilsvarende værdi Accept-Language beslutte, hvilket regionssprog der skal bruges, finde den tilsvarende ressourcefil, formatere den og returnere den til klienten.
Opret et nyt Spring Boot-projekt, lav en i18n-fil under resources-mappen, og opret en ny konfigurationsfil under denne mappe i henhold til "Language Abbreviation Table"-formatet, som vist i figuren nedenfor:
besked.egenskaber
message_en.egenskaber
Husk at tilføje konfigurationsparametre for at redigere application.properties for at gøre vores konfiguration effektiv:
Fjeder definererMessageSourcegrænseflader til adgang til internationaliseret information.
getMessage(Strengkode, Objekt[] args, Streng defaultMessage, Lokalitetslokale) getMessage(Strengkode, Objekt[] args, Locale locale) getMessage(MessageSourceResolvable resolvable, Locale locale)
Opret en ny controller og prøv at kalde en anden ressourcefil for at returnere en prompt med følgende kode:
Projektet er implementeret under en Windows-server på kinesisk, og der er ingen problemer med, at kinesiske brugere får adgang til kinesisk. Når man udruler til den engelske version af Linux, vil kinesiske brugere sende en engelsk prompt (læs konfigurationen af den engelske ressourcefil).
Årsagen til dette er på grund af osDer er slet ingen ny kinesisk .properties-fil, på nuværende tidspunkt vil programmet læse den ressourcefil, der matcher det aktuelle systemsprog, og hvis den ikke kan læses igen, vil det ikke kunne læse nogen identificerede egenskabsfilkonfigurationer。 Når vi udgiver projektet til Linux-engelsksystemet, kan programmet ikke læse den kinesiske konfiguration, men det læser konfigurationsfilen _en.properties, så interfacet returnerer den kinesiske prompt.
Løsning, indstillingFallbackToSystemLocaleFalsk, koden er som følger:
(Slut)
|