Internacionalizace, také nazývaná i18n, proč právě tento název? Protože internacionalizace angličtiny je internacionalizace, je mezi i a n 18 písmen, takže se tomu říká i18n. Pokud je naše aplikace internacionalizovaná, lze ji snadno přepínat v různých jazykových prostředích, nejčastější je přechod mezi čínštinou a angličtinou a funkce internacionalizace je také poměrně běžná.
Například při odeslání konkrétního požadavku nastavte v hlavičce pár klíč-hodnota "Accept-Language":"zh", a pomocí odpovídající hodnoty Accept-Language může server rozhodnout, který regionální jazyk použít, najít odpovídající soubor zdrojů, naformátovat jej a vrátit klientovi.
Vytvořte nový projekt ve Spring Bootu, vytvořte soubor i18n ve složce resources a vytvořte nový konfigurační soubor v této složce podle formátu "Language Abbreviation Table", jak je znázorněno na obrázku níže:
message.properties
message_en.vlastnosti
Nezapomeňte přidat konfigurační parametry pro úpravu app.properties, aby byla naše konfigurace účinná:
Spring definujeMessageSourcerozhraní pro přístup k internacionalizovaným informacím.
getMessage(String code, Object[] args, String defaultMessage, Locale locale) getMessage(String code, Object[] args, Locale locale) getMessage(MessageSourceResolvable resolvable, Locale locale)
Vytvořte nový řadič a zkuste zavolat jiný soubor zdroje, abyste vrátili výzvu s následujícím kódem:
Projekt je nasazen na Windows serveru v čínštině a není problém s čínskými uživateli, kteří přistupují k čínštině. Při nasazení na anglickou verzi Linuxu čínští uživatelé vyvolají anglický prompt (přečtěte si konfiguraci anglického resource souboru).
Důvodem je náš zásluhaNeexistuje žádný nový čínský soubor .properties, v tuto chvíli program přečte soubor zdroje, který odpovídá současnému systémovému jazyku, a pokud jej nelze znovu přečíst, nebude schopen přečíst žádnou konfiguraci identifikovaných vlastností。 Když projekt publikujeme do systému Linux English, i když program nedokáže číst čínskou konfiguraci, přečte konfigurační soubor _en.properties, takže rozhraní vrátí čínský prompt.
Řešení, prostředíFallbackToSystemLocaleNepravda, kód je následující:
(Konec)
|