Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 9087|Odpoveď: 0

[Zdroj] Spring Boot MessageSource Priepasť internacionalizovaných jazykov

[Kopírovať odkaz]
Zverejnené 27. 1. 2022 14:52:03 | | | |
Internacionalizácia, tiež nazývaná i18n, prečo práve tento názov? Keďže internacionalizácia angličtiny je internacionalizácia, medzi i a n je 18 písmen, preto sa nazýva i18n. Ak je naša aplikácia internacionalizovaná, dá sa ľahko prepínať v rôznych jazykových prostrediach, najčastejšie je prechod medzi čínštinou a angličtinou a funkcia internacionalizácie je tiež pomerne bežná.

Napríklad pri odosielaní konkrétnej požiadavky nastavte v hlavičke pár kľúč-hodnota: "Accept-Language":"zh", cez zodpovedajúcu hodnotu Accept-Language môže server rozhodnúť, ktorý regionálny jazyk použiť, nájsť príslušný súbor zdrojov, naformátovať ho a vrátiť klientovi.

Vytvorte nový Spring Boot projekt, vytvorte i18n súbor v priečinku resources a pod týmto priečinkom vytvorte nový konfiguračný súbor podľa formátu "Language Abbreviation Table", ako je znázornené na obrázku nižšie:




message.properties

message_en. Vlastnosti

Nezabudnite pridať konfiguračné parametre na úpravu application.properties, aby bola naša konfigurácia účinná:

Spring definujeMessageSourcerozhrania na prístup k internacionalizovaným informáciám.

getMessage(String code, Object[] args, String defaultMessage, Locale locale)
getMessage(String code, Object[] args, Locale locale)
getMessage(MessageSourceResolvable resolvable, Locale locale)



Vytvorte nový kontrolér a skúste zavolať iný resource súbor, aby ste vrátili výzvu s nasledujúcim kódom:



Projekt je nasadený na Windows serveri v čínštine a nie je problém s čínskymi používateľmi, ktorí pristupujú k čínštine. Pri nasadení na anglickú verziu Linuxu čínski používatelia vyvolajú anglickú výzvu (prečítajte si konfiguráciu anglického resource súboru).

Dôvodom je náš zásluhaNeexistuje žiadny nový čínsky súbor .properties, v tomto čase program prečíta súbor zdrojov, ktorý zodpovedá aktuálnemu systémovému jazyku, a ak ho nebude možné prečítať znova, nebude schopný prečítať žiadnu konfiguráciu identifikovaných vlastností。 Keď projekt publikujeme do systému Linux English, hoci program nevie čítať čínsku konfiguráciu, prečíta konfiguračný súbor _en.properties, takže rozhranie vráti čínsky prompt.

Riešenie, prostredieFallbackToSystemLocalenepravda, kód je nasledovný:

(Koniec)





Predchádzajúci:Praktické využitie cAdvisor na zber metrík Docker kontajnerov
Budúci:Front-end JS prevádza blobs na stringy
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com