minhas informações de contato
Correspondência[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Resolvendo problemas de internacionalização e localização no Spring Boot
Olá a todos, sou o editor do Weizhuan Taoke System 3.0 e também sou um programador que não usa ceroulas no inverno, mas ainda precisa estar fresco no frio!
Visão Geral da Internacionalização e Localização
A internacionalização (abreviadamente i18n) e a localização (abreviadamente l10n) são considerações muito importantes ao desenvolver aplicativos para usuários globais. A internacionalização refere-se à concepção e implementação de produtos de software para que possam se adaptar às necessidades de diferentes idiomas e hábitos culturais. A localização é baseada na internacionalização e adaptação de acordo com regiões ou hábitos linguísticos específicos para proporcionar uma experiência mais amigável;
No Spring Boot, a internacionalização e a localização são alcançadas principalmente por meio de arquivos de recursos e suporte relacionado fornecido pelo Spring. Vejamos primeiro como configurar e usar esses recursos.
Em um projeto Spring Boot, você pode usar arquivos de propriedades (*.properties) ou arquivos YAML para definir informações de texto em diferentes idiomas. Normalmente, criaremos um arquivo de recursos correspondente para cada idioma, como messages.properties (arquivo padrão), messages_en.properties (inglês), messages_zh_CN.properties (chinês simplificado), etc.
Exemplo de arquivo de recurso messages.properties:
greeting.message=Welcome to our application!
button.submit=Submit
label.username=Username
label.password=Password
No Spring Boot, passeMessageSource
eLocaleResolver
Carregar e analisar arquivos de recursos em diferentes idiomas e adaptá-los de acordo com a localidade do usuário.
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;
}
}
Em um controlador ou serviço, passeMessageSource
Para obter informações de texto em um local específico.
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);
}
}
Além da configuração e uso básicos, os efeitos de internacionalização e localização podem ser otimizados ainda mais das seguintes maneiras:
Este artigo apresenta como resolver problemas de internacionalização e localização em projetos Spring Boot e obter adaptação multilíngue e regional configurando arquivos de recursos, usando o suporte de internacionalização fornecido pelo Spring e as melhores práticas. Essas tecnologias e métodos ajudam os desenvolvedores a criar aplicativos amigáveis e profissionais para usuários globais.
Produzido pelo editor do Micro-earning Taoke System 3.0, deve ser um produto de alta qualidade. Indique a fonte ao reimprimir!