Technologieaustausch

Lösung von Internationalisierungs- und Lokalisierungsproblemen in Spring Boot

2024-07-12

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

Lösung von Internationalisierungs- und Lokalisierungsproblemen in Spring Boot

Hallo zusammen, ich bin der Herausgeber von Weizhuan Taoke System 3.0 und außerdem ein Programmierer, der im Winter keine langen Unterhosen trägt, aber bei kaltem Wetter trotzdem cool sein muss!

Überblick über Internationalisierung und Lokalisierung

Internationalisierung (kurz i18n) und Lokalisierung (kurz l10n) sind sehr wichtige Überlegungen bei der Entwicklung von Anwendungen für globale Benutzer. Unter Internationalisierung versteht man die Gestaltung und Implementierung von Softwareprodukten, damit sie sich an die Bedürfnisse verschiedener Sprachen und kultureller Gewohnheiten anpassen können. Die Lokalisierung basiert auf der Internationalisierung und Anpassung an bestimmte Regionen oder Sprachgewohnheiten, um ein benutzerfreundlicheres Erlebnis zu bieten.

1. Internationalisierungskonfiguration in Spring Boot

In Spring Boot werden Internationalisierung und Lokalisierung hauptsächlich durch Ressourcendateien und die damit verbundene Unterstützung von Spring erreicht. Sehen wir uns zunächst an, wie diese Funktionen konfiguriert und verwendet werden.

1.1. Ressourcendateien konfigurieren

In einem Spring Boot-Projekt können Sie Eigenschaftsdateien (*.properties) oder YAML-Dateien verwenden, um Textinformationen in verschiedenen Sprachen zu definieren. Normalerweise erstellen wir für jede Sprache eine entsprechende Ressourcendatei, z. B. „messages.properties“ (Standarddatei), „messages_en.properties“ (Englisch), „messages_zh_CN.properties“ (vereinfachtes Chinesisch) usw.

Beispiel-Ressourcendatei „messages.properties“:

greeting.message=Welcome to our application!
button.submit=Submit
label.username=Username
label.password=Password
  • 1
  • 2
  • 3
  • 4
1.2. Verwendung internationaler Ressourcen in Spring Boot

Bestehen Sie im Spring BootMessageSourceUndLocaleResolverZum Laden und Analysieren von Ressourcendateien in verschiedenen Sprachen und zur Anpassung an das Gebietsschema des Benutzers.

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. Internationale Ressourcen nutzen

Übergeben Sie in einem Controller oder DienstMessageSourceUm Textinformationen unter einem bestimmten Gebietsschema zu erhalten.

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. Best Practices für Internationalisierung und Lokalisierung

Neben der grundlegenden Konfiguration und Nutzung können Internationalisierungs- und Lokalisierungseffekte auf folgende Weise weiter optimiert werden:

  • Unterstützen Sie weitere Sprachen: Fügen Sie je nach Benutzeranforderungen Ressourcendateien in weiteren Sprachen hinzu.
  • Wechseln Sie dynamisch die Sprache: Unterstützen Sie Benutzer beim Wechseln der Sprache auf der Benutzeroberfläche, z. B. über Anforderungsparameter oder Benutzereinstellungen.
  • Lokalisiertes Datum, Uhrzeit und Währung: Verwenden Sie die von Spring bereitgestellten Formatierungstools, um Datum, Uhrzeit und Währung zu lokalisieren.
  • Informationen zu Internationalisierungsausnahmen: Informationen zu Anwendungsausnahmen internationalisieren, um die Benutzererfahrung zu verbessern.

abschließend

In diesem Artikel wird erläutert, wie Sie Internationalisierungs- und Lokalisierungsprobleme in Spring Boot-Projekten lösen und durch die Konfiguration von Ressourcendateien, die Verwendung der von Spring bereitgestellten Internationalisierungsunterstützung und Best Practices eine mehrsprachige und regionale Anpassung erreichen. Diese Technologien und Methoden helfen Entwicklern, benutzerfreundliche und professionelle Anwendungen für globale Benutzer zu erstellen.

Es wurde vom Herausgeber von Micro-Earning Taoke System 3.0 erstellt und muss ein qualitativ hochwertiges Produkt sein. Bitte geben Sie beim Nachdruck die Quelle an!