Zum Hauptinhalt springen

Entwicklung mit formatjs

Inoffizielle Beta-Übersetzung

Diese Seite wurde von PageTurner AI übersetzt (Beta). Nicht offiziell vom Projekt unterstützt. Fehler gefunden? Problem melden →

Neben dem starken Fokus auf die Vereinfachung der i18n-Produktionspipeline zielt formatjs darauf ab, die i18n-Entwicklererfahrung (DevEx) mit unserem eslint-plugin-formatjs zu verbessern.

Linter-Installation

npm i -D eslint-plugin-formatjs eslint

Dann in Ihrer ESLint-Konfiguration:

{
"plugins": ["formatjs"],
"rules": {
"formatjs/no-offset": "error"
}
}

Weitere Details zu unseren Regeln finden Sie unter eslint-plugin-formatjs.

Fehlercodes

react-intl ist so konzipiert, dass es bei Konfigurationsproblemen schnell fehlschlägt, bei Übersetzungsproblemen jedoch auf defaultLocale zurückfällt. Nachfolgend finden Sie die Liste der Fehler, die wir ausgeben und die während des Testens abgefangen werden können:

FORMAT_ERROR

Tritt auf, wenn wir versuchen, einen Satz zu formatieren, aber einige Platzhalterwerte fehlerhaft sind, z. B. wenn ein string für ein Date übergeben wird.

UNSUPPORTED_FORMATTER

Wir lösen diesen Fehler aus, wenn ein benutzerdefiniertes Format deklariert wird, aber kein entsprechender Formatierer vorhanden ist. Beispiel:

intl.formatMessage({
defaultMessage: 'the price is {p, number, customCurrency}',
})

und es gibt keinen Formatierer für customCurrency.

INVALID_CONFIG

Wenn Konfigurationswerte falsch konfiguriert sind, z. B. wenn locale fehlt.

MISSING_DATA

Tritt auf, wenn native Intl-APIs bestimmte Locales nicht unterstützen oder locale-data fehlt, wenn Polyfills eingerichtet sind. Dies geschieht typischerweise bei älteren Browsern/Node-Versionen oder bei der Verwendung neuerer APIs in Browsern, die diese noch nicht unterstützen.

MISSING_TRANSLATION

Wird ausgelöst, wenn wir versuchen, eine übersetzte Nachricht in messages für eine bestimmte id nachzuschlagen, diese nicht vorhanden ist und es keine Fallback-defaultMessage für die gegebene id gibt.

Protokollumfang

Dieser Fehler wird sehr häufig ausgelöst, da er für jede Nachricht ohne Übersetzung auftritt. Daher sollte bei der Fernprotokollierung eine Drosselung implementiert werden.