Интернационализация, наричана още i18n, защо това име? Тъй като интернационализацията на английския е интернационализация, има 18 букви между i и n, затова се нарича i18n. Ако нашето приложение е интернационализирано, то може лесно да се превключва в различни езикови среди, като най-често срещаното е превключването между китайски и английски, а функцията за интернационализация също е доста разпространена.
Например, при изпращане на конкретна заявка, задайте двойка ключ-стойност в заглавието: "Accept-Language":"zh", чрез съответната стойност на Accept-Language сървърът може да реши кой регионален език да използва, да намери съответния ресурсен файл, да го форматира и да го върне на клиента.
Създайте нов проект Spring Boot, създайте i18n файл под папката resources и създайте нов конфигурационен файл под тази папка според формата "Language Abbreviation Table", както е показано на фигурата по-долу:
message.properties
message_en.свойства
Не забравяйте да добавите конфигурационни параметри за редактиране на application.properties, за да направите конфигурацията ни ефективна:
Spring дефинираMessageSourceинтерфейси за достъп до интернационализирана информация.
getMessage(Низов код, Object[] args, String defaultMessage, Locale locale) getMessage(Код на низ, Object[] args, Locale locale) getMessage(MessageSourceResolvable resolvable, Locale locale)
Създайте нов контролер и опитайте да извикате друг ресурсен файл, за да върнете подсказка със следния код:
Проектът се внедрява под Windows сървър на китайски език и няма проблем китайските потребители да имат достъп до китайски. При внедряване на английската версия на Linux, китайските потребители ще подканят английски подсказка (прочетете конфигурацията на английския ресурсен файл).
Причината за това е заради насНяма нов китайски .properties файл изобщо, в този момент програмата ще прочете ресурсния файл, който съвпада с текущия системен език, и ако не може да се прочете отново, няма да може да прочете никаква конфигурация на файловете с идентифицирани свойства。 Когато публикуваме проекта на Linux English системата, въпреки че програмата не може да прочете китайската конфигурация, тя ще прочете конфигурационния файл на _en.properties, така че интерфейсът връща китайския prompt.
Решение, обстановкаFallbackToSystemLocaleFalse, кодът е следният:
(Край)
|