MDUIDocs
Copiar enlace llms.txtCopiar enlace llms-full.txtVer esta página en formato MarkdownDiscutir esta página con ChatGPTDiscutir la documentación completa del proyecto con ChatGPT
Color preestablecido
Color personalizado
Extraer color del fondo de pantalla
Selecciona una imagen de fondo
Primeros pasos
Visión general Instalación Uso rápido Soporte para TypeScript Soporte para IDE Localización Preguntas frecuentes
Desarrollo asistido por IA
Estilos
Integración con frameworks
Componentes
Funciones
Paquetes independientes

Localización

Por defecto, mdui usa inglés internamente. Si necesitas usar otro idioma, debes configurar la localización.

Uso

mdui ofrece tres funciones para implementar la localización:

  • loadLocale: Carga el paquete de idioma. El parámetro es una función que recibe un código de idioma y devuelve una Promise que se resuelve con el paquete de idioma correspondiente cuando se completa la carga. Asegúrate de llamar a esta función en el archivo de entrada del proyecto.
  • setLocale: Cambia al idioma especificado. El parámetro es el nuevo código de idioma. Devuelve una Promise que se resuelve cuando se completa la carga del nuevo paquete de idioma.
  • getLocale: Obtiene el código de idioma actual.

Uso:

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

// Llama a loadLocale en la entrada del proyecto para cargar los paquetes de idioma
loadLocale((locale) => import(`../node_modules/mdui/locales/${locale}.js`));

// Llama a esta función cuando necesites cambiar de idioma. Después de que la Promise se resuelva, el cambio de idioma se habrá completado
setLocale('zh-cn').then(() => {
  // Llamando a getLocale se obtiene el código de idioma actual
  console.log(getLocale()); // zh-cn
});

Evento de estado

Al inicio, finalización o fallo del cambio de idioma, se dispara el evento mdui-localize-status en window. Puedes escuchar este evento para realizar acciones personalizadas, como escribir el código de idioma en una cookie después de un cambio exitoso.

La propiedad detail.status del evento describe qué cambio de estado ha ocurrido. Los valores posibles son: loading, ready, error:

detail.status Descripción
loading

Comienza a cargar un nuevo paquete de idioma.

El objeto detail contiene:

  • loadingLocale: el código de idioma que se está cargando.
ready

El nuevo paquete de idioma se cargó correctamente.

El objeto detail contiene:

  • readyLocale: el código de idioma que se cargó correctamente.
error

Falló la carga del nuevo paquete de idioma.

El objeto detail contiene:

  • errorLocale: el código de idioma que falló al cargarse.
  • errorMessage: mensaje de error de la carga fallida.

Uso:

window.addEventListener('mdui-localize-status', (event) => {
  if (event.detail.status === 'loading') {
    console.log(
      `Comenzando a cargar el nuevo paquete de idioma: ${event.detail.loadingLocale}`,
    );
  } else if (event.detail.status === 'ready') {
    console.log(
      `Nuevo paquete de idioma ${event.detail.readyLocale} cargado correctamente`,
    );
  } else if (event.detail.status === 'error') {
    console.error(
      `Falló la carga del nuevo paquete de idioma ${event.detail.errorLocale}: ${event.detail.errorMessage}`,
    );
  }
});

Métodos de carga del paquete de idioma

Carga perezosa

Usar importación dinámica permite descargar el paquete de idioma correspondiente solo cuando se cambia a ese idioma. Este es el método más recomendado.

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

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

Precarga

Descarga todos los paquetes de idioma necesarios al cargar la página. Esto evita tener que descargarlos al cambiar de idioma, haciendo que el cambio sea más rápido.

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));

Importación estática

Usar este método permite empaquetar todos los paquetes de idioma necesarios junto con el código de tu proyecto en un solo archivo, sin necesidad de descargas adicionales.

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));

Cargar paquetes de idioma mediante CDN

Si usas mdui mediante CDN, puedes cargar los paquetes de idioma directamente desde el CDN. 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 soportados

Actualmente, mdui soporta los siguientes idiomas:

Idioma Código de idioma
Árabe ar-eg
Azerbaiyano az-az
Búlgaro bg-bg
Bengalí (Bangladesh) bn-bd
Bielorruso be-by
Catalán ca-es
Checo cs-cz
Danés da-dk
Alemán de-de
Griego el-gr
Inglés en-gb
Inglés (Estados Unidos) en-us
Español es-es
Estonio et-ee
Persa fa-ir
Finés fi-fi
Francés (Bélgica) fr-be
Francés (Canadá) fr-ca
Francés (Francia) fr-fr
Irlandés ga-ie
Gallego (España) gl-es
Hebreo he-il
Hindi hi-in
Croata hr-hr
Húngaro hu-hu
Armenio hy-am
Indonesio id-id
Italiano it-it
Islandés is-is
Japonés ja-jp
Georgiano ka-ge
Jemer km-kh
Kurdo del norte kmr-iq
Canarés kn-in
Kazajo kk-kz
Coreano ko-kr
Lituano lt-lt
Letón lv-lv
Macedonio mk-mk
Malayalam ml-in
Mongol mn-mn
Malayo (Malasia) ms-my
Noruego nb-no
Nepalí ne-np
Neerlandés (Bélgica) nl-be
Neerlandés nl-nl
Polaco pl-pl
Portugués (Brasil) pt-br
Portugués pt-pt
Rumano ro-ro
Ruso ru-ru
Eslovaco sk-sk
Serbio sr-rs
Esloveno sl-si
Sueco sv-se
Tamil ta-in
Tailandés th-th
Turco tr-tr
Urdu (Pakistán) ur-pk
Ucraniano uk-ua
Vietnamita vi-vn
Chino simplificado zh-cn
Chino tradicional (Hong Kong) zh-hk
Chino tradicional (Taiwán) zh-tw

Contribuir con nuevas traducciones

Para contribuir con nuevas traducciones o mejorar las existentes, envía un Pull Request en Github. Los paquetes de idioma se encuentran en packages/mdui/src/xliff. Puedes editar directamente en Github.

Contenido de esta página