Διεθνοποίηση, που ονομάζεται επίσης i18n, γιατί αυτό το όνομα; Επειδή τα αγγλικά διεθνοποίησης είναι διεθνοποίηση, υπάρχουν 18 γράμματα μεταξύ i και n, επομένως ονομάζεται i18n. Εάν η εφαρμογή μας είναι διεθνοποιημένη, μπορεί εύκολα να αλλάξει σε διαφορετικά γλωσσικά περιβάλλοντα, η πιο συνηθισμένη είναι η εναλλαγή μεταξύ κινεζικών και αγγλικών και η λειτουργία διεθνοποίησης είναι επίσης αρκετά κοινή.
Για παράδειγμα, κατά την αποστολή ενός συγκεκριμένου αιτήματος, ορίστε ένα ζεύγος κλειδιού-τιμής στην κεφαλίδα: "Accept-Language":"zh", μέσω της αντίστοιχης τιμής Accept-Language, ο διακομιστής μπορεί να αποφασίσει ποια γλώσσα περιοχής θα χρησιμοποιήσει, να βρει το αντίστοιχο αρχείο πόρου, να το μορφοποιήσει και να το επιστρέψει στον πελάτη.
Δημιουργήστε ένα νέο έργο Spring Boot, δημιουργήστε ένα αρχείο i18n κάτω από το φάκελο πόρων και δημιουργήστε ένα νέο αρχείο διαμόρφωσης κάτω από αυτόν το φάκελο σύμφωνα με τη μορφή "Language Abbreviation Table", όπως φαίνεται στο παρακάτω σχήμα:
μήνυμα.ιδιότητες
message_en.ιδιότητες
Θυμηθείτε να προσθέσετε παραμέτρους διαμόρφωσης για να επεξεργαστείτε το application.properties για να κάνετε τη διαμόρφωσή μας αποτελεσματική:
Η άνοιξη ορίζειΠηγή μηνύματοςδιεπαφές για την πρόσβαση σε διεθνοποιημένες πληροφορίες.
getMessage(Κώδικας συμβολοσειράς, Object[] args, String defaultMessage, Locale locale) getMessage(Κώδικας συμβολοσειράς, Αντικείμενο[] args, Τοπικές ρυθμίσεις) getMessage(MessageSourceResolvable resolvable, τοπικές ρυθμίσεις)
Δημιουργήστε έναν νέο ελεγκτή και προσπαθήστε να καλέσετε ένα διαφορετικό αρχείο πόρου για να επιστρέψετε ένα μήνυμα με τον ακόλουθο κώδικα:
Το έργο αναπτύσσεται σε διακομιστή Windows στα κινέζικα και δεν υπάρχει πρόβλημα με τους Κινέζους χρήστες να έχουν πρόσβαση στα κινέζικα. Κατά την ανάπτυξη στην αγγλική έκδοση του Linux, οι Κινέζοι χρήστες θα ζητήσουν μια αγγλική προτροπή (διαβάστε τη διαμόρφωση του αγγλικού αρχείου πόρων).
Ο λόγος για αυτό είναι εξαιτίας μαςΔεν υπάρχει καθόλου νέο κινεζικό αρχείο .properties, αυτή τη στιγμή το πρόγραμμα θα διαβάσει το αρχείο πόρων που ταιριάζει με την τρέχουσα γλώσσα συστήματος και εάν δεν μπορεί να διαβαστεί ξανά, δεν θα μπορεί να διαβάσει καμία καθορισμένη διαμόρφωση αρχείου ιδιοτήτων。 Όταν δημοσιεύουμε το έργο στο αγγλικό σύστημα Linux, αν και το πρόγραμμα δεν μπορεί να διαβάσει την κινεζική διαμόρφωση, θα διαβάσει το αρχείο διαμόρφωσης του _en.properties, οπότε η διεπαφή επιστρέφει την κινεζική προτροπή.
Λύση, ρύθμισηFallbackToSystemLocalefalse, ο κωδικός έχει ως εξής:
(Τέλος)
|