MDUIDocs
llms.txt-Link kopierenllms-full.txt-Link kopierenDiese Seite als Markdown anzeigenDiese Seite mit ChatGPT besprechenDie gesamte Projektdokumentation mit ChatGPT besprechen
Voreingestellte Farbe
Benutzerdefinierte Farbe
Farbe aus Hintergrundbild extrahieren
Bitte wählen Sie ein Hintergrundbild aus
Erste Schritte
Übersicht Installation Verwendung TypeScript-Unterstützung IDE-Unterstützung Lokalisierung Häufig gestellte Fragen
KI-gestützte Entwicklung
Stile
Integration mit Frameworks
Komponenten
Funktionen
Pakete

Lokalisierung

mdui verwendet standardmäßig intern Englisch. Wenn Sie eine andere Sprache verwenden möchten, müssen Sie eine Mehrsprachenkonfiguration vornehmen.

Verwendung

mdui bietet drei Funktionen für die Mehrsprachenunterstützung:

  • loadLocale: Lädt ein Sprachpaket. Das Argument ist eine Funktion, die einen Sprachcode als Parameter erhält und ein Promise zurückgibt. Wenn das Sprachpaket geladen ist, wird das Promise mit dem entsprechenden Sprachpaket aufgelöst. Stellen Sie sicher, dass Sie diese Funktion in der Einstiegsdatei Ihres Projekts aufrufen.
  • setLocale: Wechselt zu einer bestimmten Sprache. Das Argument ist der neue Sprachcode. Der Rückgabewert ist ein Promise, das aufgelöst wird, sobald das neue Sprachpaket geladen ist.
  • getLocale: Gibt den aktuellen Sprachcode zurück.

Ein Beispiel:

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

// Rufen Sie loadLocale am Projekteinstiegspunkt auf, um Sprachpakete zu laden
loadLocale((locale) => import(`../node_modules/mdui/locales/${locale}.js`));

// Rufen Sie diese Funktion auf, wenn Sie die Sprache wechseln möchten. Nachdem das Promise aufgelöst ist, ist der Sprachwechsel abgeschlossen.
setLocale('zh-cn').then(() => {
  // Ein Aufruf von getLocale gibt den aktuellen Sprachcode zurück
  console.log(getLocale()); // zh-cn
});

Zustandsereignisse

Zu Beginn, am Ende oder bei einem Fehler des Sprachwechsels wird das mdui-localize-status-Ereignis auf dem window ausgelöst. Sie können dieses Ereignis abhören, um benutzerdefinierte Aktionen auszuführen, z. B. das Schreiben des Sprachcodes in ein Cookie nach erfolgreichem Sprachwechsel.

Die detail.status-Eigenschaft des Ereignisses beschreibt, welche Zustandsänderung stattgefunden hat. Mögliche Werte sind: loading, ready, error:

detail.status Beschreibung
loading

Das Laden eines neuen Sprachpakets beginnt.

Das detail-Objekt enthält:

  • loadingLocale: Der Sprachcode der neu zu ladenden Sprache.
ready

Das neue Sprachpaket wurde erfolgreich geladen.

Das detail-Objekt enthält:

  • readyLocale: Der Sprachcode der neu geladenen Sprache.
error

Das Laden des neuen Sprachpakets ist fehlgeschlagen.

Das detail-Objekt enthält:

  • errorLocale: Der Sprachcode der Sprache, die nicht geladen werden konnte.
  • errorMessage: Die Fehlermeldung beim Laden.

Ein Beispiel:

window.addEventListener('mdui-localize-status', (event) => {
  if (event.detail.status === 'loading') {
    console.log(
      `Beginne mit dem Laden des neuen Sprachpakets: ${event.detail.loadingLocale}`,
    );
  } else if (event.detail.status === 'ready') {
    console.log(
      `Neues Sprachpaket ${event.detail.readyLocale} erfolgreich geladen`,
    );
  } else if (event.detail.status === 'error') {
    console.error(
      `Neues Sprachpaket ${event.detail.errorLocale} konnte nicht geladen werden: ${event.detail.errorMessage}`,
    );
  }
});

Methoden zum Laden von Sprachpaketen

Lazy Loading

Die Verwendung von dynamischen Importen ermöglicht es, das entsprechende Sprachpaket erst beim Wechsel zu dieser Sprache herunterzuladen. Dies ist die empfohlene Methode.

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

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

Preloading

Laden Sie alle benötigten Sprachpakete herunter, während die Seite geladen wird. Dadurch ist kein weiterer Download beim Sprachwechsel erforderlich, was den Sprachwechsel beschleunigt.

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

Statische Importe

Mit dieser Methode können Sie alle benötigten Sprachpakete zusammen mit Ihrem Projektcode in dieselbe Datei bündeln, sodass kein separater Download von Sprachpaketen mehr erforderlich ist.

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

Sprachpakete über ein CDN laden

Wenn Sie mdui über ein CDN verwenden, können Sie Sprachpakete direkt über das CDN laden. Ein Beispiel:

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

Unterstützte Sprachen

Derzeit unterstützt mdui die folgenden Sprachen:

Sprache Sprachcode
Arabisch ar-eg
Aserbaidschanisch az-az
Bulgarisch bg-bg
Bengalisch (Bangladesch) bn-bd
Weißrussisch be-by
Katalanisch ca-es
Tschechisch cs-cz
Dänisch da-dk
Deutsch de-de
Griechisch el-gr
Englisch en-gb
Englisch (US) en-us
Spanisch es-es
Estnisch et-ee
Persisch fa-ir
Finnisch fi-fi
Französisch (Belgien) fr-be
Französisch (Kanada) fr-ca
Französisch (Frankreich) fr-fr
Irisch ga-ie
Galicisch (Spanien) gl-es
Hebräisch he-il
Hindi hi-in
Kroatisch hr-hr
Ungarisch hu-hu
Armenisch hy-am
Indonesisch id-id
Italienisch it-it
Isländisch is-is
Japanisch ja-jp
Georgisch ka-ge
Khmer km-kh
Nordkurdisch kmr-iq
Kannada kn-in
Kasachisch kk-kz
Koreanisch ko-kr
Litauisch lt-lt
Lettisch lv-lv
Mazedonisch mk-mk
Malayalam ml-in
Mongolisch mn-mn
Malaiisch (Malaysia) ms-my
Norwegisch nb-no
Nepalesisch ne-np
Niederländisch (Belgien) nl-be
Niederländisch nl-nl
Polnisch pl-pl
Portugiesisch (Brasilien) pt-br
Portugiesisch pt-pt
Rumänisch ro-ro
Russisch ru-ru
Slowakisch sk-sk
Serbisch sr-rs
Slowenisch sl-si
Schwedisch sv-se
Tamilisch ta-in
Thailändisch th-th
Türkisch tr-tr
Urdu (Pakistan) ur-pk
Ukrainisch uk-ua
Vietnamesisch vi-vn
Vereinfachtes Chinesisch zh-cn
Traditionelles Chinesisch (Hongkong) zh-hk
Traditionelles Chinesisch (Taiwan) zh-tw

Neue Übersetzungen einreichen

Um neue Übersetzungen beizutragen oder bestehende Übersetzungen zu verbessern, reichen Sie bitte einen Pull Request auf Github ein. Die Sprachpakete befinden sich unter packages/mdui/src/xliff. Sie können sie direkt auf Github bearbeiten.

Auf dieser Seite