MDUIDocs
Copiar link do llms.txtCopiar link do llms-full.txtVer esta página em MarkdownDiscutir esta página no ChatGPTDiscutir documentação completa do projeto no ChatGPT
Cores predefinidas
Cor personalizada
Extrair cor do papel de parede
Selecione um papel de parede
Primeiros Passos
Introdução Instalação Início rápido Suporte a TypeScript Suporte a IDE Localização FAQ
Desenvolvimento assistido por IA
Estilos
Integração com Frameworks
Componentes
Funções
Bibliotecas

Localização

O mdui usa inglês como padrão interno. Se precisar usar outro idioma, é necessário configurar o multilinguismo.

Como usar

O mdui fornece três funções para implementar a funcionalidade multilíngue:

  • loadLocale: Carrega o pacote de idioma. O parâmetro é uma função que recebe um código de idioma como argumento e retorna uma Promise. Quando o carregamento do pacote de idioma é concluído, a Promise é resolvida com o pacote de idioma correspondente. Certifique-se de chamar esta função no arquivo de entrada do projeto.
  • setLocale: Altera para o idioma especificado. O parâmetro é o novo código de idioma. Retorna uma Promise que será resolvida quando o novo pacote de idioma for carregado.
  • getLocale: Obtém o código de idioma atual.

Exemplo de uso:

import { loadLocale } from 'mdui/functions/loadLocale.js';
import { setLocale } from 'mdui/functions/setLocale.js';
import { getLocale } from 'mdui/functions/getLocale.js';

// No ponto de entrada do projeto, chame loadLocale para carregar o pacote de idioma
loadLocale((locale) => import(`../node_modules/mdui/locales/${locale}.js`));

// Chame esta função quando precisar mudar o idioma. Após a Promise ser resolvida, a mudança de idioma é bem-sucedida
setLocale('zh-cn').then(() => {
  // Chamar getLocale obtém o código de idioma atual
  console.log(getLocale()); // zh-cn
});

Eventos de estado

No início, fim ou falha da mudança de idioma, o evento mdui-localize-status é acionado no window. Você pode monitorar este evento para executar operações personalizadas, como gravar o código de idioma em um cookie após a mudança bem-sucedida.

A propriedade detail.status do evento descreve qual mudança de estado ocorreu. Os valores possíveis incluem: loading, ready, error:

detail.status Descrição
loading

Começando a carregar um novo pacote de idioma.

O objeto detail contém:

  • loadingLocale: o código de idioma do novo pacote que está sendo carregado.
ready

O novo pacote de idioma foi carregado com sucesso.

O objeto detail contém:

  • readyLocale: o código de idioma do novo pacote carregado.
error

Falha ao carregar o novo pacote de idioma.

O objeto detail contém:

  • errorLocale: o código de idioma do pacote que falhou.
  • errorMessage: a mensagem de erro da falha.

Exemplo de uso:

window.addEventListener('mdui-localize-status', (event) => {
  if (event.detail.status === 'loading') {
    console.log(
      `Começando a carregar o novo pacote de idioma: ${event.detail.loadingLocale}`,
    );
  } else if (event.detail.status === 'ready') {
    console.log(
      `Novo pacote de idioma ${event.detail.readyLocale} carregado com sucesso`,
    );
  } else if (event.detail.status === 'error') {
    console.error(
      `Falha ao carregar o novo pacote de idioma ${event.detail.errorLocale}: ${event.detail.errorMessage}`,
    );
  }
});

Formas de carregar pacotes de idioma

Lazy loading

Usar importação dinâmica permite baixar o pacote de idioma correspondente apenas quando você alterna para esse idioma. Este é o método mais recomendado.

import { loadLocale } from 'mdui/functions/loadLocale.js';

loadLocale((locale) => import(`../node_modules/mdui/locales/${locale}.js`));

Pré-carregamento

Baixe todos os pacotes de idioma necessários durante o carregamento da página. Isso elimina a necessidade de baixar novamente ao alternar o idioma, tornando a mudança mais rápida.

import { loadLocale } from 'mdui/functions/loadLocale.js';

const localizedTemplates = new Map([
  ['zh-cn', import(`../node_modules/mdui/locales/zh-cn.js`)],
  ['zh-tw', import(`../node_modules/mdui/locales/zh-tw.js`)],
]);

loadLocale(async (locale) => localizedTemplates.get(locale));

Importação estática

Este método permite empacotar todos os pacotes de idioma necessários junto com o código do seu projeto em um único arquivo, não sendo mais necessário baixar os pacotes de idioma separadamente.

import { loadLocale } from 'mdui/functions/loadLocale.js';
import * as locale_zh_cn from 'mdui/locales/zh-cn.js';
import * as locale_zh_tw from 'mdui/locales/zh-tw.js';

const localizedTemplates = new Map([
  ['zh-cn', locale_zh_cn],
  ['zh-tw', locale_zh_tw],
]);

loadLocale(async (locale) => localizedTemplates.get(locale));

Carregando pacotes de idioma via CDN

Se você está usando o mdui via CDN, pode carregar os pacotes de idioma diretamente do CDN. Exemplo de uso:

<script src="https://unpkg.com/mdui@2/mdui.global.js"></script>

<script>
  mdui.loadLocale(
    (locale) => import(`https://unpkg.com/mdui@2/locales/${locale}.js`),
  );
  mdui.setLocale('zh-cn');
</script>

Idiomas suportados

Atualmente, o mdui suporta os seguintes idiomas:

Idioma Código
Árabe ar-eg
Azerbaijano az-az
Búlgaro bg-bg
Bengali (Bangladesh) bn-bd
Bielorrusso be-by
Catalão ca-es
Tcheco cs-cz
Dinamarquês da-dk
Alemão de-de
Grego el-gr
Inglês en-gb
Inglês (Americano) en-us
Espanhol es-es
Estoniano et-ee
Persa fa-ir
Finlandês fi-fi
Francês (Bélgica) fr-be
Francês (Canadá) fr-ca
Francês (França) fr-fr
Irlandês ga-ie
Galego (Espanha) gl-es
Hebraico he-il
Hindi hi-in
Croata hr-hr
Húngaro hu-hu
Armênio hy-am
Indonésio id-id
Italiano it-it
Islandês is-is
Japonês ja-jp
Georgiano ka-ge
Khmer km-kh
Curdo do Norte kmr-iq
Kannada kn-in
Cazaque kk-kz
Coreano ko-kr
Lituano lt-lt
Letão lv-lv
Macedônio mk-mk
Malaiala ml-in
Mongol mn-mn
Malaio (Malásia) ms-my
Norueguês nb-no
Nepalês ne-np
Holandês (Bélgica) nl-be
Holandês nl-nl
Polonês pl-pl
Português (Brasil) pt-br
Português pt-pt
Romeno ro-ro
Russo ru-ru
Eslovaco sk-sk
Sérvio sr-rs
Esloveno sl-si
Sueco sv-se
Tâmil ta-in
Tailandês th-th
Turco tr-tr
Urdu (Paquistão) ur-pk
Ucraniano uk-ua
Vietnamita vi-vn
Chinês Simplificado zh-cn
Chinês Tradicional (Hong Kong) zh-hk
Chinês Tradicional (Taiwan) zh-tw

Enviar novas traduções

Para contribuir com novas traduções ou melhorar as traduções existentes, abra um Pull Request no Github. Os pacotes de idioma estão localizados em packages/mdui/src/xliff. Você pode editar diretamente no Github.

Nesta página