Internazionalizzazione, chiamata anche i18n, perché questo nome? Poiché l'inglese internazionalizzazione è internazionalizzazione, ci sono 18 lettere tra i e n, quindi si chiama i18n. Se la nostra applicazione è internazionalizzata, può essere facilmente cambiata in diversi ambienti linguistici, il più comune è il passaggio tra cinese e inglese, e anche la funzione di internazionalizzazione è piuttosto comune.
Ad esempio, quando si invia una richiesta specifica, si imposta una coppia chiave-valore nell'intestazione: "Accept-Language":"zh", tramite il valore corrispondente Accept-Language, il server può decidere quale linguaggio regionale utilizzare, trovare il file risorsa corrispondente, formattarlo e restituirlo al client.
Crea un nuovo progetto Spring Boot, crea un file i18n nella cartella resources e crea un nuovo file di configurazione sotto questa cartella secondo il formato "Language Abbreviation Table", come mostrato nella figura sottostante:
messaggi.proprietà
message_en.proprietà
Ricorda di aggiungere parametri di configurazione per modificare application.properties per rendere la nostra configurazione efficace:
Definizione della mollaMessageSourceinterfacce per accedere a informazioni internazionalizzate.
getMessage (Stringcode string, Object[] args, String defaultMessage, Locale locale) getMessage(Stringcode String, Object[] args, Locale locale) getMessage(MessageSourceResolvable risolvibile, localizzazione locale)
Crea un nuovo controller e prova a chiamare un file di risorsa diverso per restituire un prompt con il seguente codice:
Il progetto è distribuito su un server Windows in cinese e non ci sono problemi con gli utenti cinesi che accedono al cinese. Durante il deployment sulla versione inglese di Linux, gli utenti cinesi richiederanno un prompt in inglese (leggi la configurazione del file risorsa inglese).
Il motivo è grazie a noiNon esiste alcun nuovo file cinese .properties, al momento il programma leggerà il file di risorse che corrisponde al linguaggio di sistema attuale e, se non può essere riletto, non potrà leggere alcuna configurazione del file properties identificata。 Quando pubblichiamo il progetto sul sistema Linux inglese, anche se il programma non può leggere la configurazione cinese, leggerà il file di configurazione di _en.properties, quindi l'interfaccia restituisce il prompt cinese.
Soluzione, ambientazioneFallbackToSystemLocalefalso, il codice è il seguente:
(Fine)
|