Entwicklung mit formatjs
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
- yarn
npm i -D eslint-plugin-formatjs eslint
yarn add -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.
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.