MDUIDocs
Kopiuj link llms.txtKopiuj link llms-full.txtWyświetl tę stronę w formacie MarkdownOmów tę stronę z ChatGPTOmów pełną dokumentację projektu z ChatGPT
Predefiniowany kolor
Własny kolor
Wyodrębnij kolor z tapety
Wybierz tapetę
Pierwsze kroki
Wprowadzenie Instalacja Szybki start Wsparcie TypeScript Wsparcie IDE Lokalizacja Często zadawane pytania
Tworzenie wspomagane przez AI
Style
Integracja z frameworkami
Komponenty
Funkcje
Biblioteki

Lokalizacja

Domyślnie mdui korzysta z języka angielskiego. Jeśli potrzebujesz innego języka, musisz skonfigurować wielojęzyczność.

Sposób użycia

mdui udostępnia trzy funkcje do realizacji wielojęzyczności:

  • loadLocale: ładuje pakiet językowy. Parametr to funkcja, która przyjmuje kod języka i zwraca Promise z odpowiednim pakietem. Wywołaj tę funkcję w głównym pliku projektu.
  • setLocale: przełącza na wskazany język. Parametr to nowy kod języka, zwraca Promise rozwiązujący się po załadowaniu pakietu.
  • getLocale: pobiera bieżący kod języka.

Przykład użycia:

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

// W punkcie wejściowym projektu wywołaj loadLocale
loadLocale((locale) => import(`../node_modules/mdui/locales/${locale}.js`));

// Gdy chcesz zmienić język, wywołaj tę funkcję. Po rozwiązaniu Promise język zostanie zmieniony
setLocale('zh-cn').then(() => {
  // Wywołanie getLocale pobierze bieżący kod języka
  console.log(getLocale()); // zh-cn
});

Zdarzenia stanu

Podczas rozpoczynania, kończenia lub błędu zmiany języka, na obiekcie window wyzwalane jest zdarzenie mdui-localize-status. Możesz go nasłuchiwać, aby wykonać własne akcje, np. zapisać kod języka w ciasteczku po pomyślnej zmianie.

Właściwość detail.status zdarzenia opisuje rodzaj zmiany stanu: loading, ready, error:

detail.status Opis
loading

Rozpoczęto ładowanie nowego pakietu językowego.

Obiekt detail zawiera:

  • loadingLocale: kod języka, który jest ładowany.
ready

Nowy pakiet językowy został załadowany pomyślnie.

Obiekt detail zawiera:

  • readyLocale: kod języka, który został załadowany.
error

Ładowanie nowego pakietu językowego nie powiodło się.

Obiekt detail zawiera:

  • errorLocale: kod języka, który nie został załadowany.
  • errorMessage: komunikat błędu.

Przykład użycia:

window.addEventListener('mdui-localize-status', (event) => {
  if (event.detail.status === 'loading') {
    console.log(
      `Rozpoczynanie ładowania pakietu: ${event.detail.loadingLocale}`,
    );
  } else if (event.detail.status === 'ready') {
    console.log(`Pakiet ${event.detail.readyLocale} załadowany pomyślnie`);
  } else if (event.detail.status === 'error') {
    console.error(
      `Nie udało się załadować pakietu ${event.detail.errorLocale}: ${event.detail.errorMessage}`,
    );
  }
});

Sposoby ładowania pakietów językowych

Ładowanie leniwe

Użycie dynamicznego importu pozwala pobrać odpowiedni pakiet dopiero przy przełączaniu na dany język. Jest to metoda zalecana.

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

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

Wstępne ładowanie

Podczas ładowania strony pobierane są wszystkie potrzebne pakiety językowe. Dzięki temu przy zmianie języka nie trzeba ich ponownie pobierać, co przyspiesza przełączanie.

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

Import statyczny

Ta metoda pozwala spakować wszystkie potrzebne pakiety językowe razem z kodem projektu do jednego pliku, dzięki czemu nie trzeba ich oddzielnie pobierać.

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

Ładowanie pakietów językowych przez CDN

Jeśli używasz mdui przez CDN, możesz ładować pakiety językowe bezpośrednio z CDN. Przykład użycia:

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

Obsługiwane języki

Obecnie mdui obsługuje następujące języki:

Język Kod języka
arabski ar-eg
azerbejdżański az-az
bułgarski bg-bg
bengalski (Bangladesz) bn-bd
białoruski be-by
kataloński ca-es
czeski cs-cz
duński da-dk
niemiecki de-de
grecki el-gr
angielski en-gb
angielski (amerykański) en-us
hiszpański es-es
estoński et-ee
perski fa-ir
fiński fi-fi
francuski (Belgia) fr-be
francuski (Kanada) fr-ca
francuski (Francja) fr-fr
irlandzki ga-ie
galicyjski (Hiszpania) gl-es
hebrajski he-il
hindi hi-in
chorwacki hr-hr
węgierski hu-hu
ormiański hy-am
indonezyjski id-id
włoski it-it
islandzki is-is
japoński ja-jp
gruziński ka-ge
khmerski km-kh
kurdyjski (północny) kmr-iq
kannada kn-in
kazachski kk-kz
koreański ko-kr
litewski lt-lt
łotewski lv-lv
macedoński mk-mk
malajalam ml-in
mongolski mn-mn
malajski (Malezja) ms-my
norweski nb-no
nepalski ne-np
niderlandzki (Belgia) nl-be
niderlandzki nl-nl
polski pl-pl
portugalski (Brazylia) pt-br
portugalski pt-pt
rumuński ro-ro
rosyjski ru-ru
słowacki sk-sk
serbski sr-rs
słoweński sl-si
szwedzki sv-se
tamilski ta-in
tajski th-th
turecki tr-tr
urdu (Pakistan) ur-pk
ukraiński uk-ua
wietnamski vi-vn
chiński uproszczony zh-cn
chiński tradycyjny (Hongkong) zh-hk
chiński tradycyjny (Tajwan) zh-tw

Przesyłanie nowych tłumaczeń

Aby dodać nowe tłumaczenie lub ulepszyć istniejące, otwórz Pull Request na GitHubie. Pakiety językowe znajdują się w packages/mdui/src/xliff. Możesz edytować je bezpośrednio na GitHubie.

Na tej stronie