Internacionalización, también llamada i18n, ¿por qué este nombre? Como el inglés es internacionalización, hay 18 letras entre i y n, por lo que se llama i18n. Si nuestra aplicación está internacionalizada, puede cambiarse fácilmente en diferentes entornos lingüísticos; el más común es el cambio entre chino e inglés, y la función de internacionalización también es bastante común.
Por ejemplo, al enviar una solicitud específica, se establece un par clave-valor en la cabecera: "Accept-Language":"zh", a través del valor correspondiente Accept-Language, el servidor puede decidir qué lenguaje regional usar, encontrar el archivo de recurso correspondiente, formatearlo y devolverlo al cliente.
Crea un nuevo proyecto Spring Boot, crea un archivo i18n en la carpeta resources y crea un nuevo archivo de configuración bajo esta carpeta según el formato "Language Abbreviation Table", como se muestra en la figura siguiente:
mensaje.propiedades
message_en.propiedades
Recuerda añadir parámetros de configuración para editar application.properties y así hacer nuestra configuración efectiva:
Definición de muelleMensajeFuenteinterfaces para acceder a información internacionalizada.
getMessage (Código de cadena, args Object[], String defaultMessage, Localidad local) getMessage (Código de cadena, args de objeto[], localización local) getMessage(MessageSourceResolvable resolvible, Localisation locale)
Crea un nuevo controlador e intenta llamar a otro archivo de recursos para devolver un prompt con el siguiente código:
El proyecto está desplegado bajo un servidor Windows en chino, y no hay problema con usuarios chinos accediendo al chino. Al desplegar en la versión inglesa de Linux, los usuarios chinos solicitarán un prompt en inglés (lee la configuración del archivo de recurso en inglés).
La razón de esto es por nosotrosNo hay ningún nuevo archivo .properties en chino; en este momento el programa leerá el archivo de recurso que coincide con el lenguaje actual del sistema, y si no puede leerse de nuevo, no podrá leer ninguna configuración identificada del archivo de propiedades。 Cuando publicamos el proyecto en el sistema Linux en inglés, aunque el programa no puede leer la configuración china, leerá el archivo de configuración de _en.properties, por lo que la interfaz devuelve el prompt chino.
Solución, ambientaciónFallbackToSystemLocalefalso, el código es el siguiente:
(Fin)
|