Internacionalização, também chamada i18n, por que esse nome? Como o inglês internacionalização é internacionalização, há 18 letras entre i e n, por isso é chamado de i18n. Se nossa aplicação for internacionalizada, ela pode ser facilmente alterada em diferentes ambientes linguísticos, a mais comum é a troca entre chinês e inglês, e a função de internacionalização também é bastante comum.
Por exemplo, ao enviar uma solicitação específica, defina um par chave-valor no cabeçalho: "Accept-Language":"zh", através do valor correspondente Accept-Language, o servidor pode decidir qual idioma regional usar, encontrar o arquivo de recurso correspondente, formatá-lo e devolvê-lo ao cliente.
Crie um novo projeto Spring Boot, crie um arquivo i18n na pasta resources e crie um novo arquivo de configuração nessa pasta de acordo com o formato "Language Abbreviation Table", conforme mostrado na figura abaixo:
Mensagem.propriedades
message_en.propriedades
Lembre-se de adicionar parâmetros de configuração para editar application.properties para tornar nossa configuração eficaz:
Mola defineMessageSourceinterfaces para acesso a informações internacionais.
getMessage (String code, Object[] args, String defaultMessage, Local local) getMessage (String code, Object[] args, Local local) getMessage(MessageSourceResolvable resolvível, Localização local)
Crie um novo controlador e tente chamar um arquivo de recurso diferente para retornar um prompt com o seguinte código:
O projeto é implantado em um servidor Windows em chinês, e não há problema com usuários chineses acessando o chinês. Ao implantar para a versão em inglês do Linux, usuários chineses solicitam um prompt em inglês (leia a configuração do arquivo de recurso em inglês).
O motivo disso é por nossa causaNão há nenhum novo arquivo .properties chinês; neste momento, o programa lê o arquivo de recurso que corresponde à linguagem atual do sistema e, se não puder ser lido novamente, não poderá ler nenhuma configuração identificada do arquivo properties。 Quando publicamos o projeto no sistema Linux em inglês, embora o programa não consiga ler a configuração chinesa, ele lê o arquivo de configuração do _en.properties, então a interface retorna o prompt chinês.
Solução, cenárioFallbackToSystemLocalefalso, o código é o seguinte:
(Fim)
|