BlogPost
por: Jonathan Folland 10 de junho de 2024

Internacionalização sem falhas: Equilíbrio entre CMS e Frontend com Umbraco e Next.js

O Umbraco CMS oferece funcionalidades robustas para suportar a internacionalização, facilitando a gestão de sítios Web multilingues. Duas características chave são o conteúdo localizado no local e os dicionários.

1. Conteúdo localizado no local

O conteúdo localizado no local permite aos editores de conteúdos gerir versões de diferentes idiomas do mesmo conteúdo diretamente na interface do Umbraco. Esta funcionalidade assegura um processo simplificado de atualização e manutenção de conteúdos em vários idiomas sem a necessidade de duplicar ou sincronizar manualmente os conteúdos. Os editores podem alternar entre idiomas dentro do mesmo nó de conteúdo, facilitando a comparação e garantindo a consistência.

2. Dicionários

Os dicionários no Umbraco fornecem uma forma centralizada de gerir traduções de texto estático utilizado em todo o sítio Web, como etiquetas, mensagens de erro e outros elementos da IU. Ao definir itens de dicionário, os editores podem manter as traduções num único local, garantindo a consistência e tornando as actualizações mais eficientes. Cada item de dicionário pode ter várias traduções correspondentes aos diferentes idiomas suportados pelo sítio.

Estas funcionalidades permitem aos editores de conteúdos proporcionar uma experiência de utilizador multilingue perfeita, simplificando o processo de localização e mantendo a consistência em várias versões linguísticas do sítio Web.

Bibliotecas de internacionalização para Next.js

O Next.js não inclui suporte à internacionalização (i18n) de imediato, mas várias bibliotecas podem ajudar os desenvolvedores a implementar a i18n sem problemas. Aqui estão algumas escolhas populares:

1. next-i18next
- Fornece uma maneira fácil de adicionar suporte a i18n usando o ecossistema i18next.
- Os recursos incluem deteção automática de idioma, traduções no lado do servidor e namespaces dinâmicos.
- Ideal para projetos que exigem gerenciamento abrangente de i18n com configuração mínima.

2. react-intl
- Parte do conjunto FormatJS, concebido para formatar datas, números e cadeias de caracteres.
- Fornece recursos avançados de i18n, como formatação de mensagens e manipulação de dados de localidade.
- Funciona bem com qualquer aplicativo React, incluindo aqueles construídos com Next.js.

3. next-translate
- Concentra-se na simplicidade e no desempenho.
- Permite carregar traduções de ficheiros estáticos, optimizando para cenários de exportação estática.
- Suporta múltiplas localidades e fácil integração com o roteamento Next.js.

Características do `next-intl`

Para este site, escolhemos o `next-intl` para lidar com a internacionalização dentro do framework Next.js. Aqui estão algumas características chave que fazem do `next-intl` uma escolha forte:

1. Integração simples
- Integra-se facilmente com o Next.js, exigindo configuração mínima.
- Usa arquivos JSON para gerenciar traduções, tornando simples a adição e atualização de traduções.

2. Tradução contextual
- Suporta tradução contextual e dinâmica, permitindo que os programadores adaptem as mensagens com base no estado da aplicação e nas interacções do utilizador.

3. Gestão de localidades
- Simplifica a gestão da localidade com ganchos e fornecedores incorporados.
- Trata automaticamente a deteção e o encaminhamento da localidade, garantindo que os utilizadores vejam o conteúdo no seu idioma preferido.

4. Optimizado para desempenho
- Concebido para ser leve e eficiente, minimizando o impacto no desempenho da aplicação.
- Carrega as traduções de forma preguiçosa, reduzindo os tempos de carregamento inicial e melhorando a experiência do utilizador.

5. Suporte SSR e SSG
- Totalmente compatível com os recursos de renderização do lado do servidor (SSR) e geração de site estático (SSG) do Next.js.
- Garante que o conteúdo traduzido está disponível no momento da construção, melhorando o SEO e o desempenho do carregamento.

Conclusões

Optamos por aproveitar os recursos prontos para uso do Umbraco para gerenciar conteúdo localizado para itens de conteúdo e itens de dicionário. A API de entrega do Umbraco fornece o conteúdo localizado a clientes sem cabeça. Escrevemos um serviço rest simples para expor os itens do dicionário. Utilizámos o next-intl principalmente para gerir o locale. Isto incluiu identificar a localidade atual a partir de diferentes localizações do site e passar a localidade com pedidos de conteúdo e itens de dicionário para o Umbraco.

Prevemos escrever artigos mais aprofundados sobre os aspectos técnicos da implementação destas funcionalidades, juntamente com artigos relacionados com a automatização do processo de tradução. Volte em breve.

Partilhar


Aproveite o poder do headless para alcançar a excelência em marketing!

A equipe da Given Data LLC monitora continuamente os avanços no espaço de gerenciamento de conteúdo, mantendo-nos à frente da concorrência. Necessidade urgente? ligue para nós

+1 786-475-5504

Contate-nos Arrow Right 2

Serviços

Recursos

Oportunidades

Boletim

©2024 Given Data, LLC. Todos os direitos reservados.