Κοινή χρήση τεχνολογίας

Επίλυση ζητημάτων διεθνοποίησης και τοπικής προσαρμογής στο Spring Boot

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Επίλυση ζητημάτων διεθνοποίησης και τοπικής προσαρμογής στο Spring Boot

Γεια σε όλους, είμαι ο συντάκτης του Weizhuang Taoke System 3.0 και είμαι επίσης προγραμματιστής που δεν φοράει μακριά john το χειμώνα, αλλά πρέπει ακόμα να είναι χαριτωμένος στον κρύο καιρό!

Επισκόπηση διεθνοποίησης και τοπικής προσαρμογής

Η διεθνοποίηση (i18n για συντομία) και η τοπική προσαρμογή (l10n για συντομία) είναι πολύ σημαντικά ζητήματα κατά την ανάπτυξη εφαρμογών για παγκόσμιους χρήστες. Η διεθνοποίηση αναφέρεται στο σχεδιασμό και την υλοποίηση προϊόντων λογισμικού, ώστε να μπορούν να προσαρμοστούν στις ανάγκες των διαφορετικών γλωσσών και των πολιτιστικών συνηθειών, η τοπική προσαρμογή βασίζεται στη διεθνοποίηση και προσαρμογή σύμφωνα με συγκεκριμένες περιοχές ή γλωσσικές συνήθειες για να παρέχει μια πιο φιλική εμπειρία.

1. Διαμόρφωση διεθνοποίησης στο Spring Boot

Στο Spring Boot, η διεθνοποίηση και η τοπική προσαρμογή επιτυγχάνονται κυρίως μέσω αρχείων πόρων και σχετικής υποστήριξης που παρέχεται από το Spring. Ας δούμε πρώτα πώς να ρυθμίσετε και να χρησιμοποιήσετε αυτές τις δυνατότητες.

1.1 Διαμόρφωση αρχείων πόρων

Σε ένα έργο Spring Boot, μπορείτε να χρησιμοποιήσετε αρχεία ιδιοτήτων (*.properties) ή αρχεία YAML για να ορίσετε πληροφορίες κειμένου σε διαφορετικές γλώσσες. Κανονικά, θα δημιουργήσουμε ένα αντίστοιχο αρχείο πόρων για κάθε γλώσσα, όπως messages.properties (προεπιλεγμένο αρχείο), messages_en.properties (Αγγλικά), messages_zh_CN.properties (Απλοποιημένα Κινεζικά) κ.λπ.

Δείγμα αρχείου πόρων messages.properties:

greeting.message=Welcome to our application!
button.submit=Submit
label.username=Username
label.password=Password
  • 1
  • 2
  • 3
  • 4
1.2 Χρήση διεθνών πόρων στο Spring Boot

Στο Spring Boot, περάστεMessageSourceκαιLocaleResolverΓια φόρτωση και ανάλυση αρχείων πόρων σε διαφορετικές γλώσσες και προσαρμογή σύμφωνα με τις τοπικές ρυθμίσεις του χρήστη.

package cn.juwatech.localization;

import cn.juwatech.Application;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.MessageSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.support.ReloadableResourceBundleMessageSource;
import org.springframework.web.servlet.LocaleResolver;
import org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver;

import java.util.Locale;

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

    @Bean
    public LocaleResolver localeResolver() {
        AcceptHeaderLocaleResolver resolver = new AcceptHeaderLocaleResolver();
        resolver.setDefaultLocale(Locale.US); // 设置默认Locale
        return resolver;
    }

    @Bean
    public MessageSource messageSource() {
        ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
        messageSource.setBasename("classpath:messages");
        messageSource.setDefaultEncoding("UTF-8");
        return messageSource;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
1.3 Χρήση διεθνών πόρων

Σε ελεγκτή ή υπηρεσία, περάστεMessageSourceΓια να λάβετε πληροφορίες κειμένου σε μια συγκεκριμένη τοπική ρύθμιση.

package cn.juwatech.localization;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class GreetingController {

    @Autowired
    private MessageSource messageSource;

    @GetMapping("/greeting")
    public String greeting() {
        Locale locale = LocaleContextHolder.getLocale();
        return messageSource.getMessage("greeting.message", null, locale);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

2. Βέλτιστες πρακτικές διεθνοποίησης και τοπικής προσαρμογής

Εκτός από τη βασική διαμόρφωση και χρήση, τα εφέ διεθνοποίησης και τοπικής προσαρμογής μπορούν να βελτιστοποιηθούν περαιτέρω με τους ακόλουθους τρόπους:

  • Υποστηρίξτε περισσότερες γλώσσες: Προσθέστε αρχεία πόρων σε περισσότερες γλώσσες ανάλογα με τις ανάγκες των χρηστών.
  • Δυναμική εναλλαγή γλωσσών: Υποστήριξη χρηστών για εναλλαγή γλωσσών στη διεπαφή, όπως μέσω παραμέτρων αιτήματος ή ρυθμίσεων χρήστη.
  • Τοπική ημερομηνία, ώρα και νόμισμα: Χρησιμοποιήστε τα εργαλεία μορφοποίησης που παρέχονται από το Spring για να προσαρμόσετε την ημερομηνία, την ώρα και το νόμισμα.
  • Πληροφορίες εξαίρεσης διεθνοποίησης: Διεθνοποιήστε τις πληροφορίες εξαίρεσης εφαρμογών για τη βελτίωση της εμπειρίας χρήστη.

Συμπερασματικά

Αυτό το άρθρο εισάγει τον τρόπο επίλυσης ζητημάτων διεθνοποίησης και τοπικής προσαρμογής σε έργα Spring Boot και την επίτευξη πολυγλωσσικής και περιφερειακής προσαρμογής διαμορφώνοντας αρχεία πόρων, χρησιμοποιώντας την υποστήριξη διεθνοποίησης που παρέχεται από το Spring και βέλτιστες πρακτικές. Αυτές οι τεχνολογίες και μέθοδοι βοηθούν τους προγραμματιστές να δημιουργήσουν φιλικές και επαγγελματικές εφαρμογές για παγκόσμιους χρήστες.

Κατασκευασμένο από τον εκδότη του Micro-earning Taoke System 3.0, πρέπει να είναι προϊόν υψηλής ποιότητας, αναφέρετε την πηγή κατά την επανεκτύπωση.