2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Résoudre les problèmes d'internationalisation et de localisation dans Spring Boot
Bonjour à tous, je suis l'éditeur de Weizhuan Taoke System 3.0, et je suis aussi un programmeur qui ne porte pas de caleçon long en hiver, mais qui doit quand même être au frais par temps froid !
Présentation de l'internationalisation et de la localisation
L'internationalisation (i18n en abrégé) et la localisation (l10n en abrégé) sont des considérations très importantes lors du développement d'applications pour des utilisateurs mondiaux. L'internationalisation fait référence à la conception et à la mise en œuvre de produits logiciels afin qu'ils puissent s'adapter aux besoins de différentes langues et habitudes culturelles ; la localisation est basée sur l'internationalisation et l'adaptation en fonction de régions ou d'habitudes linguistiques spécifiques pour offrir une expérience plus conviviale.
Dans Spring Boot, l'internationalisation et la localisation sont principalement réalisées via des fichiers de ressources et le support associé fourni par Spring. Voyons d'abord comment configurer et utiliser ces fonctionnalités.
Dans un projet Spring Boot, vous pouvez utiliser des fichiers de propriétés (*.properties) ou des fichiers YAML pour définir des informations textuelles dans différentes langues. Normalement, nous créerons un fichier de ressources correspondant pour chaque langue, tel que messages.properties (fichier par défaut), messages_en.properties (anglais), messages_zh_CN.properties (chinois simplifié), etc.
Exemple de fichier de ressources messages.properties :
greeting.message=Welcome to our application!
button.submit=Submit
label.username=Username
label.password=Password
Dans Spring Boot, passezMessageSource
etLocaleResolver
Pour charger et analyser les fichiers de ressources dans différentes langues, et les adapter en fonction des paramètres régionaux de l'utilisateur.
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;
}
}
Dans un contrôleur ou un service, passezMessageSource
Pour obtenir des informations textuelles sous une langue spécifique.
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);
}
}
Outre la configuration et l'utilisation de base, les effets d'internationalisation et de localisation peuvent être encore optimisés des manières suivantes :
Cet article explique comment résoudre les problèmes d'internationalisation et de localisation dans les projets Spring Boot et réaliser une adaptation multilingue et régionale en configurant des fichiers de ressources, en utilisant la prise en charge de l'internationalisation fournie par Spring et les meilleures pratiques. Ces technologies et méthodes aident les développeurs à créer des applications conviviales et professionnelles pour les utilisateurs du monde entier.
Produit par l'éditeur de Micro-earning Taoke System 3.0, il doit s'agir d'un produit de haute qualité. Veuillez indiquer la source lors de la réimpression !