🚀 5.6 Globalização: O Sistema Green Dog no Mundo
Na Engenharia Premium, não escrevemos textos fixos (hardcoded) no código ou nos templates. Utilizamos a Internacionalização (i18n) para garantir que o sistema possa ser traduzido para qualquer idioma sem alterar uma única linha de Java ou HTML.
📁 Gestão de Mensagens
O Spring Boot procura por arquivos de propriedades no diretório src/main/resources.
messages.properties(Idioma Padrão - ex: Inglês):welcome.message=Welcome to Green Dog Delivery! client.list.title=Client List
2. **`messages_pt_BR.properties`** (Português Brasil):
```text
welcome.message=Bem-vindo ao Green Dog Delivery!
client.list.title=Lista de Clientes
🧩 Uso no Thymeleaf
Utilizamos o seletor #{...} em nossos atributos para buscar a tradução correta com base no local do usuário.
<h1 th:text="#{client.list.title}">Título da Lista</h1>
<p th:text="#{welcome.message}">Mensagem de Boas-vindas</p>⚙️ Mudança Dinâmica de Idioma
A Engenharia de Elite permite que o usuário mude o idioma via URL (ex: ?lang=en). Para isso, configuramos um interceptador:
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Bean
public LocaleResolver localeResolver() {
SessionLocaleResolver slr = new SessionLocaleResolver();
slr.setDefaultLocale(new Locale("pt", "BR"));
return slr;
}
@Bean
public LocaleChangeInterceptor localeChangeInterceptor() {
LocaleChangeInterceptor lci = new LocaleChangeInterceptor();
lci.setParamName("lang");
return lci;
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(localeChangeInterceptor());
}
}TIP
SEO e Acessibilidade: Ter um sistema internacionalizado não só abre portas para novos mercados (EUA, Europa), como também melhora a acessibilidade e a indexação em motores de busca globais.
Agora que seu sistema fala múltiplas línguas e performa como um campeão, concluímos o módulo de desenvolvimento front-end!