L’internationalisation, aussi appelée i18n, pourquoi ce nom ? Comme l’internationalisation anglais est une internationalisation, il y a 18 lettres entre i et n, ce qui l’appelle i18n. Si notre application est internationalisée, elle peut être facilement modifiée dans différents environnements linguistiques, le plus courant est le passage du chinois à l’anglais, et la fonction d’internationalisation est également assez courante.
Par exemple, lors de l’envoi d’une requête spécifique, définissez une paire clé-valeur dans l’en-tête : « Accept-Language » : « zh », via la valeur correspondante Accept-Language, le serveur peut décider quel langage régional utiliser, trouver le fichier de ressource correspondant, le formater et le retourner au client.
Créez un nouveau projet Spring Boot, créez un fichier i18n dans le dossier resources, puis créez un nouveau fichier de configuration sous ce dossier selon le format « Language Abbreviation Table », comme montré dans la figure ci-dessous :
message.propriétés
message_en.propriétés
N’oubliez pas d’ajouter des paramètres de configuration pour modifier application.properties afin de rendre notre configuration efficace :
Le ressort définitMessageSourceinterfaces pour accéder à des informations internationalisées.
getMessage (String code, Object[] args, String defaultMessage, Locale locale) getMessage (String code, args Object[], Locale locale) getMessage(MessageSourceResolvable résoluble, localisation locale)
Créer un nouveau contrôleur et essayer d’appeler un autre fichier de ressource pour renvoyer une invite avec le code suivant :
Le projet est déployé sous un serveur Windows en chinois, et il n’y a aucun problème pour les utilisateurs chinois qui accèdent au chinois. Lors du déploiement vers la version anglaise de Linux, les utilisateurs chinois demanderont une invite en anglais (lisez la configuration du fichier de ressources anglais).
La raison en est à cause de nousIl n’y a pas de nouveau fichier .properties chinois ; à ce moment-là, le programme lit le fichier de ressources correspondant au langage système actuel, et s’il ne peut pas être relu, il ne pourra lire aucune configuration de fichier properties identifiée。 Lorsque nous publions le projet sur le système Linux anglais, bien que le programme ne puisse pas lire la configuration chinoise, il lira le fichier de configuration de _en.properties, donc l’interface renvoie l’invite chinoise.
Solution, cadreFallbackToSystemLocaleFaux, le code est le suivant :
(Fin)
|