Explorar el Código

chore(admin-ui): Automate the extraction of all supported translations

Relates to #356
Michael Bromley hace 5 años
padre
commit
04ec9de132

+ 9 - 2
packages/admin-ui/README.md

@@ -33,6 +33,13 @@ Translation keys are automatically extracted by running:
 ```
 yarn extract-translations
 ```
-This will add any new translation keys to the default language file located in [`./src/lib/static/i18n-messages/en.json`](./src/lib/static/i18n-messages/en.json).
+This scan the source files for any translation keys, and add them to each of the translation files located in [`./src/lib/static/i18n-messages/`](./src/lib/static/i18n-messages/).
 
-To extract translations into other language, run the same command as specified in the `extract-translations` npm script, but substitute the "en" in "en.json" with the [ISO 639-1 2-character language code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) for that language.
+A report is generated for each language detailing what percentage of the translation tokens are translated into that language:
+
+```text
+Extracting translation tokens for "src\lib\static\i18n-messages\de.json"
+de: 592 of 650 tokens translated (91%)
+```
+
+To add support for a new language, create a new empty json file (`{}`) in the `i18n-messages` directory named `<languageCode>.json`, where `languageCode` is one of the supported codes as given in the [LanguageCode enum type](../core/src/api/schema/common/language-code.graphql), then run `yarn extract-translations`

+ 2 - 1
packages/admin-ui/package.json

@@ -10,7 +10,7 @@
     "watch": "ng build --watch=true",
     "test": "ng test --watch=false --browsers=ChromeHeadlessCI --progress=false",
     "lint": "tslint --fix",
-    "extract-translations": "ngx-translate-extract --input ./src --output ./src/lib/static/i18n-messages/en.json --clean --sort --format namespaced-json --format-indentation \"  \" -m _",
+    "extract-translations": "node scripts/extract-translations.js",
     "ngcc": "ngcc --properties es2015 browser module main --first-only --create-ivy-entry-points"
   },
   "publishConfig": {
@@ -79,6 +79,7 @@
     "@types/prosemirror-state": "^1.2.3",
     "@types/prosemirror-view": "^1.11.2",
     "codelyzer": "^5.2.2",
+    "cross-spawn": "^7.0.3",
     "fs-extra": "^9.0.0",
     "jasmine-core": "~3.5.0",
     "jasmine-spec-reporter": "~5.0.1",

+ 88 - 0
packages/admin-ui/scripts/extract-translations.js

@@ -0,0 +1,88 @@
+const path = require('path');
+const fs = require('fs-extra');
+const spawn = require('cross-spawn');
+
+const MESSAGES_DIR = path.join(__dirname, '../src/lib/static/i18n-messages');
+
+extractTranslations().then(
+    () => {
+        process.exit(0);
+    },
+    (error) => {
+        console.log(error);
+        process.exit(1);
+    },
+);
+
+async function extractTranslations() {
+    const locales = fs.readdirSync(MESSAGES_DIR).map((file) => path.basename(file).replace('.json', ''));
+    for (const locale of locales) {
+        const outputPath = path.join(
+            path.relative(path.join(__dirname, '..'), MESSAGES_DIR),
+            `${locale}.json`,
+        );
+        console.log(`Extracting translation tokens for "${outputPath}"`);
+
+        try {
+            await runExtraction(locale);
+            const { tokenCount, translatedCount, percentage } = getStatsForLocale(locale);
+            console.log(`${locale}: ${translatedCount} of ${tokenCount} tokens translated (${percentage}%)`);
+            console.log('');
+        } catch (e) {
+            console.log(e);
+        }
+    }
+}
+
+function runExtraction(locale) {
+    const command = 'npm';
+    const args = getNgxTranslateExtractCommand(locale);
+    return new Promise((resolve, reject) => {
+        try {
+            const child = spawn(`yarnpkg`, args, { stdio: ['pipe', 'pipe', process.stderr] });
+            child.on('close', (x) => {
+                resolve();
+            });
+            child.on('error', (err) => {
+                reject(err);
+            });
+        } catch (e) {
+            reject(e);
+        }
+    });
+}
+
+function getStatsForLocale(locale) {
+    const content = fs.readJsonSync(path.join(MESSAGES_DIR, `${locale}.json`), 'utf-8');
+    let tokenCount = 0;
+    let translatedCount = 0;
+    for (const section of Object.keys(content)) {
+        const sectionTranslations = Object.values(content[section]);
+        tokenCount += sectionTranslations.length;
+        translatedCount += sectionTranslations.filter((val) => val !== '').length;
+    }
+    const percentage = Math.round((translatedCount / tokenCount) * 100);
+    return {
+        tokenCount,
+        translatedCount,
+        percentage,
+    };
+}
+
+function getNgxTranslateExtractCommand(locale) {
+    return [
+        `ngx-translate-extract`,
+        '--input',
+        './src',
+        '--output',
+        `./src/lib/static/i18n-messages/${locale}.json`,
+        `--clean`,
+        `--sort`,
+        `--format`,
+        `namespaced-json`,
+        `--format-indentation`,
+        `"  "`,
+        `-m`,
+        `_`,
+    ];
+}

+ 63 - 52
packages/admin-ui/src/lib/static/i18n-messages/de.json

@@ -30,6 +30,7 @@
     "channels": "Kanäle",
     "collections": "Sammlungen",
     "countries": "Länder",
+    "customer-groups": "",
     "customers": "Kunden",
     "dashboard": "Dashboard",
     "facets": "Facetten",
@@ -64,6 +65,7 @@
     "confirm-delete-collection": "Sammlung löschen?",
     "confirm-delete-collection-and-children-body": "Wenn Sie diese Sammlung löschen, werden auch alle untergeordneten Sammlungen gelöscht.",
     "confirm-delete-country": "Land löschen?",
+    "confirm-delete-customer": "",
     "confirm-delete-facet": "Facette löschen?",
     "confirm-delete-facet-value": "Facettenwert löschen?",
     "confirm-delete-product": "Produkt löschen?",
@@ -132,12 +134,15 @@
     "ID": "ID",
     "actions": "Aktionen",
     "add-new-variants": "{count, plural, one {1 Variante} other {{count} Varianten}} hinzufügen",
+    "add-note": "",
     "available-languages": "Verfügbare Sprachen",
     "cancel": "Abbrechen",
     "cancel-navigation": "Navigation abbrechen",
     "channel": "Kanal",
     "channels": "Kanäle",
     "code": "Code",
+    "confirm": "",
+    "confirm-delete-note": "",
     "confirm-navigation": "Navigation bestätigen",
     "create": "Erstellen",
     "created-at": "Erstellt am",
@@ -146,12 +151,14 @@
     "default-language": "Standardsprache",
     "delete": "Löschen",
     "description": "Beschreibung",
+    "details": "",
     "disabled": "Deaktiviert",
     "discard-changes": "Änderungen verwerfen",
     "display-custom-fields": "Benutzerdefinierte Felder anzeigen",
     "done": "Fertig",
     "edit": "Bearbeiten",
     "edit-field": "Feld bearbeiten",
+    "edit-note": "",
     "enabled": "Aktiviert",
     "extension-running-in-separate-window": "Die Erweiterung läuft in einem separaten Fenster",
     "guest": "Gast",
@@ -195,11 +202,23 @@
     "with-selected": "Auswahl..."
   },
   "customer": {
+    "add-customer-to-group": "",
+    "add-customer-to-groups-with-count": "",
+    "add-customers-to-group": "",
+    "add-customers-to-group-success": "",
+    "add-customers-to-group-with-count": "",
+    "add-customers-to-group-with-name": "",
     "addresses": "Adressen",
     "city": "Stadt",
+    "confirm-delete-customer-group": "",
+    "confirm-remove-customer-from-group": "",
     "country": "Land",
+    "create-customer-group": "",
     "create-new-address": "Neue Adresse anlegen",
     "create-new-customer": "Neuen Kunden anlegen",
+    "create-new-customer-group": "",
+    "customer-groups": "",
+    "customer-history": "",
     "customer-type": "Kundentyp",
     "default-billing-address": "Standard-Abrechnung",
     "default-shipping-address": "Standardversand",
@@ -208,22 +227,42 @@
     "first-name": "Vorname",
     "full-name": "Vollständiger Name",
     "guest": "Gast",
+    "history-customer-added-to-group": "",
+    "history-customer-address-created": "",
+    "history-customer-address-deleted": "",
+    "history-customer-address-updated": "",
+    "history-customer-detail-updated": "",
+    "history-customer-email-update-requested": "",
+    "history-customer-email-update-verified": "",
+    "history-customer-password-reset-requested": "",
+    "history-customer-password-reset-verified": "",
+    "history-customer-password-updated": "",
+    "history-customer-registered": "",
+    "history-customer-removed-from-group": "",
+    "history-customer-verified": "",
     "last-name": "Nachname",
     "name": "Name",
+    "new-email-address": "",
     "no-orders-placed": "Keine Bestellungen aufgegeben",
+    "not-a-member-of-any-groups": "",
+    "old-email-address": "",
     "orders": "Bestellungen",
     "password": "Passwort",
     "phone-number": "Telefonnummer",
     "postal-code": "Postleitzahl",
     "province": "Gebiet",
     "registered": "Registriert",
+    "remove-customers-from-group-success": "",
+    "remove-from-group": "",
     "search-customers-by-email": "Suche nach E-Mail-Adresse",
     "set-as-default-billing-address": "Als Standard-Rechnungsadresse festlegen",
     "set-as-default-shipping-address": "Als Standard-Versandadresse festlegen",
     "street-line-1": "Straße Zeile 1",
     "street-line-2": "Straße Zeile 2",
     "title": "Titel",
-    "verified": "Bestätigt"
+    "update-customer-group": "",
+    "verified": "Bestätigt",
+    "view-group-members": ""
   },
   "datetime": {
     "ago-days": "{count, plural, one {Vor einem Tag} other {Vor {count} Tagen}}",
@@ -274,23 +313,14 @@
     "product-variant-form-values-do-not-match": "Die Anzahl der Varianten im Produktformular stimmt nicht mit der tatsächlichen Anzahl der Varianten überein."
   },
   "lang": {
-    "aa": "Afar",
-    "ab": "Abchasisch",
-    "ae": "Avestan",
     "af": "Afrikaans",
     "ak": "Akan",
     "am": "Amharisch",
-    "an": "Aragonisch",
     "ar": "Arabisch",
     "as": "Assamesisch",
-    "av": "Avarisch",
-    "ay": "Aymara",
     "az": "Aserbaidschanisch",
-    "ba": "Baschkirisch",
     "be": "Belarussisch",
     "bg": "Bulgarisch",
-    "bh": "Bihari-Sprachen",
-    "bi": "Bislama",
     "bm": "Bambara",
     "bn": "Bengalisch",
     "bo": "Tibetisch",
@@ -298,84 +328,77 @@
     "bs": "Bosnisch",
     "ca": "Katalanisch; Valencianisch",
     "ce": "Tschetschenisch",
-    "ch": "Chamorro",
     "co": "Korsisch",
-    "cr": "Cree",
     "cs": "Tschechisch",
     "cu": "Kirchenslawisch",
-    "cv": "Tschuwaschisch",
     "cy": "Walisisch",
     "da": "Dänisch",
     "de": "Deutsch",
-    "dv": "Divehi; Divehi; Maledivisch",
+    "de_AT": "Deutsch (Österreich)",
+    "de_CH": "Deutsch (Schweiz)",
     "dz": "Dzongkha",
     "ee": "Ewe",
-    "el": "Griechisch, Modern (1453-)",
+    "el": "Griechisch",
     "en": "Englisch",
+    "en_AU": "Englisch (Australien)",
+    "en_CA": "Englisch (Kanada)",
+    "en_GB": "Englisch (Großbritannien)",
+    "en_US": "Englisch (USA)",
     "eo": "Esperanto",
-    "es": "Spanisch; Kastilisch",
+    "es": "Spanisch",
+    "es_ES": "Spanisch (Spanien)",
+    "es_MX": "Spanisch (Mexiko)",
     "et": "Estnisch",
     "eu": "Baskisch",
     "fa": "Persisch",
+    "fa_AF": "",
     "ff": "Fulah",
     "fi": "Finnisch",
-    "fj": "Fidschianisch",
     "fo": "Färöisch",
     "fr": "Französisch",
+    "fr_CA": "Französisch (Kanada)",
+    "fr_CH": "Französisch (Schweiz)",
     "fy": "Westfriesisch",
     "ga": "Irisch",
     "gd": "Gälisch; Schottisch-Gälisch",
     "gl": "Galizisch",
-    "gn": "Guarani",
     "gu": "Gujarati",
     "gv": "Manx",
     "ha": "Hausa",
     "he": "Hebräisch",
     "hi": "Hindi",
-    "ho": "Hiri Motu",
     "hr": "Kroatisch",
     "ht": "Haitianisch; Haitianisch-Kreolisch",
     "hu": "Ungarisch",
     "hy": "Armenisch",
-    "hz": "Herero",
     "ia": "Interlingua",
     "id": "Indonesisch",
-    "ie": "Interlingue; Occidental",
     "ig": "Igbo",
     "ii": "Sichuan Yi; Nuosu",
-    "ik": "Inupiaq",
-    "io": "Ido",
     "is": "Isländisch",
     "it": "Italienisch",
-    "iu": "Inuktitut",
     "ja": "Japanisch",
     "jv": "Javanisch",
     "ka": "Georgisch",
-    "kg": "Kongo",
     "ki": "Kikuyu; Gikuyu",
-    "kj": "Kuanyama; Kwanyama",
     "kk": "Kasachisch",
     "kl": "Kalaallisut; Grönländisch",
     "km": "Zentral-Khmer",
     "kn": "Kannada",
     "ko": "Koreanisch",
-    "kr": "Kanuri",
     "ks": "Kaschmirisch",
     "ku": "Kurdisch",
-    "kv": "Komi",
     "kw": "Kornisch",
     "ky": "Kirgisisch",
     "la": "Lateinisch",
     "lb": "Luxemburgisch; Letzeburgesch",
     "lg": "Ganda",
-    "li": "Limburgisch",
     "ln": "Lingala",
     "lo": "Laotisch",
     "lt": "Litauisch",
     "lu": "Luba-Katanga",
     "lv": "Lettisch",
     "mg": "Madagassisch",
-    "mh": "Marshallisch",
     "mi": "Maori",
     "mk": "Mazedonisch",
     "ml": "Malayalam",
@@ -384,35 +407,30 @@
     "ms": "Malaysisch",
     "mt": "Maltesisch",
     "my": "Birmanisch",
-    "na": "Nauru",
     "nb": "Bokmål, Norwegisch; Norwegisch-Bokmål",
     "nd": "Ndebele, Norden; Nord-Ndebele",
     "ne": "Nepalisch",
-    "ng": "Ndonga",
-    "nl": "Niederländisch; Flämisch",
+    "nl": "Niederländisch",
+    "nl_BE": "Flämisch",
     "nn": "Norwegisch Nynorsk; Nynorsk, Norwegisch",
-    "no": "Norwegisch",
-    "nr": "Ndebele, Süden; Süd-Ndebele",
-    "nv": "Navajo; Navaho",
     "ny": "Chichewa; Chewa; Nyanja",
-    "oc": "Okzitanisch (nach 1500); Provenzalisch",
-    "oj": "Ojibwa",
     "om": "Oromo",
     "or": "Oriya",
     "os": "Ossetisch",
     "pa": "Panjabi; Punjabi",
-    "pi": "Pali",
     "pl": "Polnisch",
     "ps": "Paschtu",
     "pt": "Portugiesisch",
+    "pt_BR": "Portugiesisch (Brasilien)",
+    "pt_PT": "Portugiesisch (Portugal)",
     "qu": "Quechua",
     "rm": "Rätoromanisch",
     "rn": "Rundi",
-    "ro": "Rumänisch; Moldawisch; Moldauisch",
+    "ro": "Rumänisch",
+    "ro_MD": "Moldawisch",
     "ru": "Russisch",
     "rw": "Kinyarwanda",
     "sa": "Sanskrit",
-    "sc": "Sardisch",
     "sd": "Sindhi",
     "se": "Nordsamisch",
     "sg": "Sango",
@@ -424,39 +442,33 @@
     "so": "Somalisch",
     "sq": "Albanisch",
     "sr": "Serbisch",
-    "ss": "Swati",
     "st": "Sotho, Süden",
     "su": "Sundanesisch",
     "sv": "Schwedisch",
     "sw": "Suaheli",
+    "sw_CD": "Suaheli (Kongo)",
     "ta": "Tamilisch",
     "te": "Telugu",
     "tg": "Tadschikisch",
     "th": "Thailändisch",
     "ti": "Tigrinya",
     "tk": "Turkmenisch",
-    "tl": "Tagalog",
-    "tn": "Tswana",
     "to": "Tonga (Tonga-Inseln)",
     "tr": "Türkisch",
-    "ts": "Tsonga",
     "tt": "Tatarisch",
-    "tw": "Twi",
-    "ty": "Tahitianisch",
     "ug": "Uigurisch",
     "uk": "Ukrainisch",
     "ur": "Urdu",
     "uz": "Usbekisch",
-    "ve": "Venda",
     "vi": "Vietnamesisch",
     "vo": "Volapük",
-    "wa": "Wallonisch",
     "wo": "Wolof",
     "xh": "Xhosa",
     "yi": "Jiddisch",
     "yo": "Yoruba",
-    "za": "Zhuang; Chuang",
     "zh": "Chinesisch",
+    "zh_Hans": "Chinesisch (vereinfacht)",
+    "zh_Hant": "Chinesisch (traditionell)",
     "zu": "Zulu"
   },
   "marketing": {
@@ -477,6 +489,7 @@
     "channels": "Kanäle",
     "collections": "Sammlungen",
     "countries": "Länder",
+    "customer-groups": "",
     "customers": "Kunden",
     "facets": "Facetten",
     "global-settings": "Globale Einstellungen",
@@ -498,7 +511,6 @@
   },
   "order": {
     "add-note": "Notiz hinzufügen",
-    "add-note-success": "Notiz erfolgreich hinzugefügt",
     "amount": "Betrag",
     "cancel": "Abbrechen",
     "cancel-order": "Bestellung stornieren",
@@ -511,7 +523,6 @@
     "create-fulfillment": "Auftrag ausführen",
     "create-fulfillment-success": "Auftrag ausgeführt",
     "customer": "Kunde",
-    "details": "Details",
     "fulfill": "Ausführen",
     "fulfill-order": "Auftragsausführung",
     "fulfillment": "Ausführung",

+ 71 - 71
packages/admin-ui/src/lib/static/i18n-messages/en.json

@@ -315,160 +315,160 @@
   "lang": {
     "af": "Afrikaans",
     "ak": "Akan",
-    "sq": "Albanian",
     "am": "Amharic",
     "ar": "Arabic",
-    "hy": "Armenian",
     "as": "Assamese",
     "az": "Azerbaijani",
+    "be": "Belarusian",
+    "bg": "Bulgarian",
     "bm": "Bambara",
     "bn": "Bangla",
-    "eu": "Basque",
-    "be": "Belarusian",
-    "bs": "Bosnian",
+    "bo": "Tibetan",
     "br": "Breton",
-    "bg": "Bulgarian",
-    "my": "Burmese",
+    "bs": "Bosnian",
     "ca": "Catalan",
     "ce": "Chechen",
-    "zh": "Chinese",
-    "zh_Hans": "Simplified Chinese",
-    "zh_Hant": "Traditional Chinese",
-    "cu": "Church Slavic",
-    "kw": "Cornish",
     "co": "Corsican",
-    "hr": "Croatian",
     "cs": "Czech",
+    "cu": "Church Slavic",
+    "cy": "Welsh",
     "da": "Danish",
-    "nl": "Dutch",
-    "nl_BE": "Flemish",
+    "de": "German",
+    "de_AT": "Austrian German",
+    "de_CH": "Swiss High German",
     "dz": "Dzongkha",
+    "ee": "Ewe",
+    "el": "Greek",
     "en": "English",
     "en_AU": "Australian English",
     "en_CA": "Canadian English",
     "en_GB": "British English",
     "en_US": "American English",
     "eo": "Esperanto",
+    "es": "Spanish",
+    "es_ES": "European Spanish",
+    "es_MX": "Mexican Spanish",
     "et": "Estonian",
-    "ee": "Ewe",
-    "fo": "Faroese",
+    "eu": "Basque",
+    "fa": "Persian",
+    "fa_AF": "Dari",
+    "ff": "Fulah",
     "fi": "Finnish",
+    "fo": "Faroese",
     "fr": "French",
     "fr_CA": "Canadian French",
     "fr_CH": "Swiss French",
-    "ff": "Fulah",
+    "fy": "Western Frisian",
+    "ga": "Irish",
+    "gd": "Scottish Gaelic",
     "gl": "Galician",
-    "lg": "Ganda",
-    "ka": "Georgian",
-    "de": "German",
-    "de_AT": "Austrian German",
-    "de_CH": "Swiss High German",
-    "el": "Greek",
     "gu": "Gujarati",
-    "ht": "Haitian Creole",
+    "gv": "Manx",
     "ha": "Hausa",
     "he": "Hebrew",
     "hi": "Hindi",
+    "hr": "Croatian",
+    "ht": "Haitian Creole",
     "hu": "Hungarian",
-    "is": "Icelandic",
-    "ig": "Igbo",
-    "id": "Indonesian",
+    "hy": "Armenian",
     "ia": "Interlingua",
-    "ga": "Irish",
+    "id": "Indonesian",
+    "ig": "Igbo",
+    "ii": "Sichuan Yi",
+    "is": "Icelandic",
     "it": "Italian",
     "ja": "Japanese",
     "jv": "Javanese",
-    "kl": "Kalaallisut",
-    "kn": "Kannada",
-    "ks": "Kashmiri",
+    "ka": "Georgian",
+    "ki": "Kikuyu",
     "kk": "Kazakh",
+    "kl": "Kalaallisut",
     "km": "Khmer",
-    "ki": "Kikuyu",
-    "rw": "Kinyarwanda",
+    "kn": "Kannada",
     "ko": "Korean",
+    "ks": "Kashmiri",
     "ku": "Kurdish",
+    "kw": "Cornish",
     "ky": "Kyrgyz",
-    "lo": "Lao",
     "la": "Latin",
-    "lv": "Latvian",
+    "lb": "Luxembourgish",
+    "lg": "Ganda",
     "ln": "Lingala",
+    "lo": "Lao",
     "lt": "Lithuanian",
     "lu": "Luba-Katanga",
-    "lb": "Luxembourgish",
-    "mk": "Macedonian",
+    "lv": "Latvian",
     "mg": "Malagasy",
-    "ms": "Malay",
-    "ml": "Malayalam",
-    "mt": "Maltese",
-    "gv": "Manx",
     "mi": "Maori",
-    "mr": "Marathi",
+    "mk": "Macedonian",
+    "ml": "Malayalam",
     "mn": "Mongolian",
-    "ne": "Nepali",
-    "nd": "North Ndebele",
-    "se": "Northern Sami",
+    "mr": "Marathi",
+    "ms": "Malay",
+    "mt": "Maltese",
+    "my": "Burmese",
     "nb": "Norwegian Bokmål",
+    "nd": "North Ndebele",
+    "ne": "Nepali",
+    "nl": "Dutch",
+    "nl_BE": "Flemish",
     "nn": "Norwegian Nynorsk",
     "ny": "Nyanja",
-    "or": "Odia",
     "om": "Oromo",
+    "or": "Odia",
     "os": "Ossetic",
-    "ps": "Pashto",
-    "fa": "Persian",
-    "fa_AF": "Dari",
+    "pa": "Punjabi",
     "pl": "Polish",
+    "ps": "Pashto",
     "pt": "Portuguese",
     "pt_BR": "Brazilian Portuguese",
     "pt_PT": "European Portuguese",
-    "pa": "Punjabi",
     "qu": "Quechua",
-    "ro": "Romanian",
-    "ro_MD": "Moldavian",
     "rm": "Romansh",
     "rn": "Rundi",
+    "ro": "Romanian",
+    "ro_MD": "Moldavian",
     "ru": "Russian",
-    "sm": "Samoan",
-    "sg": "Sango",
+    "rw": "Kinyarwanda",
     "sa": "Sanskrit",
-    "gd": "Scottish Gaelic",
-    "sr": "Serbian",
-    "sn": "Shona",
-    "ii": "Sichuan Yi",
     "sd": "Sindhi",
+    "se": "Northern Sami",
+    "sg": "Sango",
     "si": "Sinhala",
     "sk": "Slovak",
     "sl": "Slovenian",
+    "sm": "Samoan",
+    "sn": "Shona",
     "so": "Somali",
+    "sq": "Albanian",
+    "sr": "Serbian",
     "st": "Southern Sotho",
-    "es": "Spanish",
-    "es_ES": "European Spanish",
-    "es_MX": "Mexican Spanish",
     "su": "Sundanese",
+    "sv": "Swedish",
     "sw": "Swahili",
     "sw_CD": "Congo Swahili",
-    "sv": "Swedish",
-    "tg": "Tajik",
     "ta": "Tamil",
-    "tt": "Tatar",
     "te": "Telugu",
+    "tg": "Tajik",
     "th": "Thai",
-    "bo": "Tibetan",
     "ti": "Tigrinya",
+    "tk": "Turkmen",
     "to": "Tongan",
     "tr": "Turkish",
-    "tk": "Turkmen",
+    "tt": "Tatar",
+    "ug": "Uyghur",
     "uk": "Ukrainian",
     "ur": "Urdu",
-    "ug": "Uyghur",
     "uz": "Uzbek",
     "vi": "Vietnamese",
     "vo": "Volapük",
-    "cy": "Welsh",
-    "fy": "Western Frisian",
     "wo": "Wolof",
     "xh": "Xhosa",
     "yi": "Yiddish",
     "yo": "Yoruba",
+    "zh": "Chinese",
+    "zh_Hans": "Simplified Chinese",
+    "zh_Hant": "Traditional Chinese",
     "zu": "Zulu"
   },
   "marketing": {
@@ -679,4 +679,4 @@
     "job-result": "Job result",
     "job-state": "Job state"
   }
-}
+}

+ 333 - 94
packages/admin-ui/src/lib/static/i18n-messages/es.json

@@ -2,116 +2,177 @@
   "admin": {
     "create-new-administrator": "Crear nuevo administrador"
   },
+  "asset": {
+    "add-asset": "",
+    "add-asset-with-count": "",
+    "assets-selected-count": "",
+    "dimensions": "",
+    "focal-point": "",
+    "notify-create-assets-success": "",
+    "original-asset-size": "",
+    "preview": "",
+    "remove-asset": "",
+    "search-asset-name": "",
+    "select-assets": "",
+    "set-as-featured-asset": "",
+    "set-focal-point": "",
+    "source-file": "",
+    "unset-focal-point": "",
+    "update-focal-point": "",
+    "update-focal-point-error": "",
+    "update-focal-point-success": "",
+    "upload-assets": "",
+    "uploading": ""
+  },
   "breadcrumb": {
     "administrators": "Administradores",
     "assets": "Archivos",
-    "categories": "Categorías",
     "channels": "Canales",
+    "collections": "",
     "countries": "Países",
+    "customer-groups": "",
     "customers": "Clientes",
     "dashboard": "Panel de control",
     "facets": "Facetas",
     "global-settings": "Ajustes globales",
+    "job-queue": "",
+    "manage-variants": "",
     "orders": "Pedidos",
     "payment-methods": "Métodos de pago",
     "products": "Productos",
     "promotions": "Promociones",
     "roles": "Roles",
     "shipping-methods": "Métodos de envío",
+    "system-status": "",
     "tax-categories": "Categorías de impuestos",
-    "tax-rates": "Tasas de impuestos"
+    "tax-rates": "Tasas de impuestos",
+    "zones": ""
   },
   "catalog": {
-    "add-asset": "Añadir archivo",
-    "add-asset-to-product": "Añadir {count, plural, 0 {archivos} one {1 archivo} other {{count} archivos}} al producto",
-    "add-facet": "Añadir faceta",
     "add-facet-value": "Añadir valor de faceta",
     "add-facets": "Añadir facetas",
-    "assets-selected-count": "{ count } archivos seleccionados",
+    "add-option": "",
+    "assign-product-to-channel-success": "",
+    "assign-products-to-channel": "",
+    "assign-to-channel": "",
+    "assign-to-named-channel": "",
+    "channel-price-preview": "",
+    "collection-contents": "",
+    "confirm-adding-options-delete-default-body": "",
+    "confirm-adding-options-delete-default-title": "",
+    "confirm-delete-asset": "",
+    "confirm-delete-channel": "",
+    "confirm-delete-collection": "",
+    "confirm-delete-collection-and-children-body": "",
     "confirm-delete-country": "Eliminar país?",
+    "confirm-delete-customer": "",
     "confirm-delete-facet": "Eliminar faceta?",
     "confirm-delete-facet-value": "Eliminar valor de faceta?",
     "confirm-delete-product": "Eliminar producto?",
-    "confirm-generate-product-variants": "Haz click en 'Finalizar' para generar {count} variantes de producto",
-    "create-group": "Crear grupo de opciones",
+    "confirm-delete-product-variant": "",
+    "confirm-delete-promotion": "",
+    "confirm-delete-shipping-method": "",
+    "confirm-delete-zone": "",
+    "create-new-collection": "",
     "create-new-facet": "Crear nueva faceta",
-    "create-new-option-group": "Crear nuevo grupo de opciones",
     "create-new-product": "Crear nuevo producto",
-    "create-new-product-category": "Crear nueva categoría de producto",
+    "created-new-variants-success": "",
+    "default-variant": "",
+    "delete-default-variant": "",
+    "display-variant-cards": "",
+    "display-variant-table": "",
     "drop-files-to-upload": "Arrastra archivos para subirlos",
-    "facet": "Faceta",
+    "expand-all-collections": "",
     "facet-values": "Valores de faceta",
-    "facets": "Facetas",
-    "filter-by-group-name": "Filtrar por nombre de grupo",
-    "generate-product-variants": "Generar variantes de producto",
-    "generate-variants-default-only": "Este producto no tiene opciones",
-    "generate-variants-with-options": "Este producto contiene opciones",
+    "filter-by-name": "",
+    "filters": "",
     "group-by-product": "Agrupar por producto",
+    "manage-variants": "",
     "move-down": "Mover abajo",
     "move-to": "Mover a",
     "move-up": "Mover arriba",
+    "no-channel-selected": "",
     "no-featured-asset": "Sin archivo destacado",
     "no-selection": "Sin selección",
-    "notify-create-assets-success": "Creado {count, plural, one {un nuevo Archivo} other {{count} nuevos Archivos}}",
-    "open-asset-source": "Abrir original del archivo",
-    "option-group-code": "Código",
-    "option-group-name": "Nombre del grupo de opciones",
-    "option-group-options-label": "Opciones",
-    "option-group-options-tooltip": "Entra cada opción como una nueva linea en el idioma por defecto ({ defaultLanguage })",
-    "options": "Opciones",
-    "original-asset-size": "Tamaño del original",
+    "notify-remove-product-from-channel-error": "",
+    "notify-remove-product-from-channel-success": "",
+    "option": "",
+    "option-name": "",
+    "option-values": "",
     "price": "Precio",
+    "price-conversion-factor": "",
+    "price-in-channel": "",
     "price-includes-tax-at": "Los precios incluyen impuestos: { rate }%",
     "price-with-tax-in-default-zone": "Precio con { rate }% impuestos: { price }",
+    "private": "",
     "product-details": "Detalles de producto",
     "product-name": "Nombre del producto",
     "product-variants": "Variantes de producto",
-    "remove-asset": "Eliminar archivo",
-    "search-asset-name": "Buscar archivos por nombre",
+    "public": "",
+    "rebuild-search-index": "",
+    "reindex-error": "",
+    "reindex-successful": "",
+    "reindexing": "",
+    "remove-from-channel": "",
+    "remove-option": "",
+    "remove-product-from-channel": "",
+    "search-for-term": "",
     "search-product-name-or-code": "Buscar por nombre o código de producto",
-    "select-assets": "Seleccionar archivos",
-    "select-option-group": "Seleccionar grupo de opciones",
-    "selected-option-groups": "Grupos de opciones seleccionados",
-    "set-as-featured-asset": "Seleccionar como archivo destacado",
     "sku": "SKU",
     "slug": "Slug",
+    "stock-on-hand": "",
     "tax-category": "Categoría de impuestos",
     "taxes": "Impuestos",
-    "truncated-options-count": "{count} más {count, plural, one {opción} other {opciones}}",
-    "upload-assets": "Subir archivos",
-    "values": "Valores"
+    "track-inventory": "",
+    "update-product-option": "",
+    "values": "Valores",
+    "variant": "",
+    "view-contents": "",
+    "visibility": ""
   },
   "common": {
     "ID": "ID",
     "actions": "Acciones",
+    "add-new-variants": "",
+    "add-note": "",
     "available-languages": "Idiomas disponibles",
-    "back": "Atrás",
     "cancel": "Cancelar",
     "cancel-navigation": "Cancelar navegación",
+    "channel": "",
+    "channels": "",
     "code": "Código",
     "confirm": "Confirmar",
+    "confirm-delete-note": "",
     "confirm-navigation": "Confirmar navegación",
     "create": "Crear",
-    "created": "Creado",
     "created-at": "Creado el",
     "custom-fields": "Campos personalizados",
+    "default-channel": "",
+    "default-language": "",
     "delete": "Eliminar",
     "description": "Descripción",
+    "details": "",
+    "disabled": "",
     "discard-changes": "Descartar cambios",
+    "display-custom-fields": "",
     "done": "Hecho",
     "edit": "Editar",
     "edit-field": "Editar campo",
+    "edit-note": "",
     "enabled": "Habilitado",
-    "finish": "Finalizar",
+    "extension-running-in-separate-window": "",
     "guest": "Invitado",
+    "hide-custom-fields": "",
     "items-per-page-option": "{ count } por página",
     "language": "Idioma",
+    "launch-extension": "",
+    "live-update": "",
     "log-out": "Salir",
     "login": "Entrar",
     "more": "Más...",
     "name": "Nombre",
-    "next": "Siguiente",
     "no-results": "Sin resultados",
+    "not-set": "",
     "notify-create-error": "Ha ocurrido un problema, imposible de crear { entity }",
     "notify-create-success": "Creado nuevo { entity }",
     "notify-delete-error": "Ha ocurrido un problema, imposible de eliminar { entity }",
@@ -122,67 +183,144 @@
     "notify-update-success": "Actualizado { entity }",
     "open": "Abrir",
     "password": "Contraseña",
+    "price": "",
+    "price-with-tax": "",
+    "private": "",
+    "public": "",
     "remember-me": "Recordarme",
     "remove": "Borrar",
+    "results-count": "",
     "select": "Seleccionar...",
+    "select-display-language": "",
+    "select-today": "",
     "there-are-unsaved-changes": "Ha cambios sin guardar, Si sales de este sitio tus cambios se perderán.",
     "update": "Actualizar",
-    "updated": "Actualizado",
     "updated-at": "Actualizado el",
-    "username": "Nombre de usuario"
+    "username": "Nombre de usuario",
+    "view-next-month": "",
+    "view-previous-month": "",
+    "with-selected": ""
   },
   "customer": {
+    "add-customer-to-group": "",
+    "add-customer-to-groups-with-count": "",
+    "add-customers-to-group": "",
+    "add-customers-to-group-success": "",
+    "add-customers-to-group-with-count": "",
+    "add-customers-to-group-with-name": "",
     "addresses": "Direcciones",
     "city": "Ciudad",
+    "confirm-delete-customer-group": "",
+    "confirm-remove-customer-from-group": "",
     "country": "País",
+    "create-customer-group": "",
     "create-new-address": "Crear nueva dirección",
     "create-new-customer": "Crear nuevo cliente",
+    "create-new-customer-group": "",
+    "customer-groups": "",
+    "customer-history": "",
     "customer-type": "Tipo de cliente",
     "default-billing-address": "Facturación (Por defecto)",
     "default-shipping-address": "Envío (Por defecto)",
     "email-address": "Dirección de email",
+    "email-verification-sent": "",
     "first-name": "Nombre",
     "full-name": "Nombre Completo",
     "guest": "Invitado",
+    "history-customer-added-to-group": "",
+    "history-customer-address-created": "",
+    "history-customer-address-deleted": "",
+    "history-customer-address-updated": "",
+    "history-customer-detail-updated": "",
+    "history-customer-email-update-requested": "",
+    "history-customer-email-update-verified": "",
+    "history-customer-password-reset-requested": "",
+    "history-customer-password-reset-verified": "",
+    "history-customer-password-updated": "",
+    "history-customer-registered": "",
+    "history-customer-removed-from-group": "",
+    "history-customer-verified": "",
     "last-name": "Apellidos",
     "name": "Nombre",
+    "new-email-address": "",
     "no-orders-placed": "No tienes ningún pedido aún.",
+    "not-a-member-of-any-groups": "",
+    "old-email-address": "",
     "orders": "Pedidos",
     "password": "Contraseña",
     "phone-number": "Número de teléfono",
     "postal-code": "Código postal",
     "province": "Provincia",
     "registered": "Registrado",
+    "remove-customers-from-group-success": "",
+    "remove-from-group": "",
+    "search-customers-by-email": "",
     "set-as-default-billing-address": "Seleccionar como dirección de facturación por defecto",
     "set-as-default-shipping-address": "Seleccionar como dirección de envío por defecto",
     "street-line-1": "Calle linea 1",
     "street-line-2": "Calle linea 2",
     "title": "Título",
-    "verified": "Verificado"
+    "update-customer-group": "",
+    "verified": "Verificado",
+    "view-group-members": ""
+  },
+  "datetime": {
+    "ago-days": "",
+    "ago-hours": "",
+    "ago-minutes": "",
+    "ago-seconds": "",
+    "duration-milliseconds": "",
+    "duration-minutes:seconds": "",
+    "duration-seconds": "",
+    "month-apr": "",
+    "month-aug": "",
+    "month-dec": "",
+    "month-feb": "",
+    "month-jan": "",
+    "month-jul": "",
+    "month-jun": "",
+    "month-mar": "",
+    "month-may": "",
+    "month-nov": "",
+    "month-oct": "",
+    "month-sep": "",
+    "time": "",
+    "weekday-fr": "",
+    "weekday-mo": "",
+    "weekday-sa": "",
+    "weekday-su": "",
+    "weekday-th": "",
+    "weekday-tu": "",
+    "weekday-we": ""
+  },
+  "editor": {
+    "image-alt": "",
+    "image-src": "",
+    "image-title": "",
+    "insert-image": "",
+    "link-href": "",
+    "link-title": "",
+    "remove-link": "",
+    "set-link": ""
   },
   "error": {
     "403-forbidden": "Tu sesión ha expirado, por favor vuelve a inicar sesión",
     "could-not-connect-to-server": "No podemos conectar con el servidor vendure { url }",
-    "facet-value-form-values-do-not-match": "El nnumero de valores en la faceta, no coincide con el numero de variantes que existen"
+    "facet-value-form-values-do-not-match": "El nnumero de valores en la faceta, no coincide con el numero de variantes que existen",
+    "health-check-failed": "",
+    "no-default-shipping-zone-set": "",
+    "no-default-tax-zone-set": "",
+    "product-variant-form-values-do-not-match": ""
   },
   "lang": {
-    "aa": "Afar",
-    "ab": "Abkhazian",
-    "ae": "Avestan",
     "af": "Afrikaans",
     "ak": "Akan",
     "am": "Amharic",
-    "an": "Aragonese",
     "ar": "Arabic",
     "as": "Assamese",
-    "av": "Avaric",
-    "ay": "Aymara",
     "az": "Azerbaijani",
-    "ba": "Bashkir",
     "be": "Belarusian",
     "bg": "Bulgarian",
-    "bh": "Bihari languages",
-    "bi": "Bislama",
     "bm": "Bambara",
     "bn": "Bengali",
     "bo": "Tibetan",
@@ -190,84 +328,77 @@
     "bs": "Bosnian",
     "ca": "Catalan; Valencian",
     "ce": "Chechen",
-    "ch": "Chamorro",
     "co": "Corsican",
-    "cr": "Cree",
     "cs": "Czech",
     "cu": "Church Slavic",
-    "cv": "Chuvash",
     "cy": "Welsh",
     "da": "Danish",
     "de": "German",
-    "dv": "Divehi; Dhivehi; Maldivian",
+    "de_AT": "",
+    "de_CH": "",
     "dz": "Dzongkha",
     "ee": "Ewe",
     "el": "Greek, Modern (1453-)",
     "en": "English",
+    "en_AU": "",
+    "en_CA": "",
+    "en_GB": "",
+    "en_US": "",
     "eo": "Esperanto",
     "es": "Spanish; Castilian",
+    "es_ES": "",
+    "es_MX": "",
     "et": "Estonian",
     "eu": "Basque",
     "fa": "Persian",
+    "fa_AF": "",
     "ff": "Fulah",
     "fi": "Finnish",
-    "fj": "Fijian",
     "fo": "Faroese",
     "fr": "French",
+    "fr_CA": "",
+    "fr_CH": "",
     "fy": "Western Frisian",
     "ga": "Irish",
     "gd": "Gaelic; Scottish Gaelic",
     "gl": "Galician",
-    "gn": "Guarani",
     "gu": "Gujarati",
     "gv": "Manx",
     "ha": "Hausa",
     "he": "Hebrew",
     "hi": "Hindi",
-    "ho": "Hiri Motu",
     "hr": "Croatian",
     "ht": "Haitian; Haitian Creole",
     "hu": "Hungarian",
     "hy": "Armenian",
-    "hz": "Herero",
     "ia": "Interlingua",
     "id": "Indonesian",
-    "ie": "Interlingue; Occidental",
     "ig": "Igbo",
     "ii": "Sichuan Yi; Nuosu",
-    "ik": "Inupiaq",
-    "io": "Ido",
     "is": "Icelandic",
     "it": "Italian",
-    "iu": "Inuktitut",
     "ja": "Japanese",
     "jv": "Javanese",
     "ka": "Georgian",
-    "kg": "Kongo",
     "ki": "Kikuyu; Gikuyu",
-    "kj": "Kuanyama; Kwanyama",
     "kk": "Kazakh",
     "kl": "Kalaallisut; Greenlandic",
     "km": "Central Khmer",
     "kn": "Kannada",
     "ko": "Korean",
-    "kr": "Kanuri",
     "ks": "Kashmiri",
     "ku": "Kurdish",
-    "kv": "Komi",
     "kw": "Cornish",
     "ky": "Kirghiz; Kyrgyz",
     "la": "Latin",
     "lb": "Luxembourgish; Letzeburgesch",
     "lg": "Ganda",
-    "li": "Limburgan; Limburger; Limburgish",
     "ln": "Lingala",
     "lo": "Lao",
     "lt": "Lithuanian",
     "lu": "Luba-Katanga",
     "lv": "Latvian",
     "mg": "Malagasy",
-    "mh": "Marshallese",
     "mi": "Maori",
     "mk": "Macedonian",
     "ml": "Malayalam",
@@ -276,35 +407,30 @@
     "ms": "Malay",
     "mt": "Maltese",
     "my": "Burmese",
-    "na": "Nauru",
     "nb": "Bokmål, Norwegian; Norwegian Bokmål",
     "nd": "Ndebele, North; North Ndebele",
     "ne": "Nepali",
-    "ng": "Ndonga",
     "nl": "Dutch; Flemish",
+    "nl_BE": "",
     "nn": "Norwegian Nynorsk; Nynorsk, Norwegian",
-    "no": "Norwegian",
-    "nr": "Ndebele, South; South Ndebele",
-    "nv": "Navajo; Navaho",
     "ny": "Chichewa; Chewa; Nyanja",
-    "oc": "Occitan (post 1500); Provençal",
-    "oj": "Ojibwa",
     "om": "Oromo",
     "or": "Oriya",
     "os": "Ossetian; Ossetic",
     "pa": "Panjabi; Punjabi",
-    "pi": "Pali",
     "pl": "Polish",
     "ps": "Pushto; Pashto",
     "pt": "Portuguese",
+    "pt_BR": "",
+    "pt_PT": "",
     "qu": "Quechua",
     "rm": "Romansh",
     "rn": "Rundi",
     "ro": "Romanian; Moldavian; Moldovan",
+    "ro_MD": "",
     "ru": "Russian",
     "rw": "Kinyarwanda",
     "sa": "Sanskrit",
-    "sc": "Sardinian",
     "sd": "Sindhi",
     "se": "Northern Sami",
     "sg": "Sango",
@@ -316,39 +442,33 @@
     "so": "Somali",
     "sq": "Albanian",
     "sr": "Serbian",
-    "ss": "Swati",
     "st": "Sotho, Southern",
     "su": "Sundanese",
     "sv": "Swedish",
     "sw": "Swahili",
+    "sw_CD": "",
     "ta": "Tamil",
     "te": "Telugu",
     "tg": "Tajik",
     "th": "Thai",
     "ti": "Tigrinya",
     "tk": "Turkmen",
-    "tl": "Tagalog",
-    "tn": "Tswana",
     "to": "Tonga (Tonga Islands)",
     "tr": "Turkish",
-    "ts": "Tsonga",
     "tt": "Tatar",
-    "tw": "Twi",
-    "ty": "Tahitian",
     "ug": "Uighur; Uyghur",
     "uk": "Ukrainian",
     "ur": "Urdu",
     "uz": "Uzbek",
-    "ve": "Venda",
     "vi": "Vietnamese",
     "vo": "Volapük",
-    "wa": "Walloon",
     "wo": "Wolof",
     "xh": "Xhosa",
     "yi": "Yiddish",
     "yo": "Yoruba",
-    "za": "Zhuang; Chuang",
     "zh": "Chinese",
+    "zh_Hans": "",
+    "zh_Hant": "",
     "zu": "Zulu"
   },
   "marketing": {
@@ -356,18 +476,24 @@
     "add-action": "Añadir acción",
     "add-condition": "Añadir condición",
     "conditions": "Condiciones",
-    "create-new-promotion": "Crear nueva promoción"
+    "coupon-code": "",
+    "create-new-promotion": "Crear nueva promoción",
+    "ends-at": "",
+    "per-customer-limit": "",
+    "starts-at": ""
   },
   "nav": {
     "administrators": "Administradores",
     "assets": "Archivos",
     "catalog": "Catálogo",
-    "categories": "Categorías",
     "channels": "Canales",
+    "collections": "",
     "countries": "Países",
+    "customer-groups": "",
     "customers": "Clientes",
     "facets": "Facetas",
     "global-settings": "Ajustes globales",
+    "job-queue": "",
     "marketing": "Marketing",
     "orders": "Pedidos",
     "payment-methods": "Métodos de pago",
@@ -377,32 +503,112 @@
     "sales": "Ventas",
     "settings": "Ajustes",
     "shipping-methods": "Métodos de envío",
+    "system": "",
+    "system-status": "",
     "tax-categories": "Categorías de impuestos",
-    "tax-rates": "Tasas de impuestos"
+    "tax-rates": "Tasas de impuestos",
+    "zones": ""
   },
   "order": {
+    "add-note": "",
     "amount": "Precio",
+    "cancel": "",
+    "cancel-order": "",
+    "cancel-reason-customer-request": "",
+    "cancel-reason-not-available": "",
+    "cancel-selected-items": "",
+    "cancellation-reason": "",
+    "cancelled-order-success": "",
+    "contents": "",
+    "create-fulfillment": "",
+    "create-fulfillment-success": "",
     "customer": "Cliente",
-    "order-code": "Código de orden",
+    "fulfill": "",
+    "fulfill-order": "",
+    "fulfillment": "",
+    "fulfillment-method": "",
+    "history-coupon-code-applied": "",
+    "history-coupon-code-removed": "",
+    "history-fulfillment-created": "",
+    "history-items-cancelled": "",
+    "history-order-cancelled": "",
+    "history-order-fulfilled": "",
+    "history-order-transition": "",
+    "history-payment-settled": "",
+    "history-payment-transition": "",
+    "history-refund-transition": "",
+    "item-count": "",
+    "line-fulfillment-all": "",
+    "line-fulfillment-none": "",
+    "line-fulfillment-partial": "",
+    "net-price": "",
+    "note-is-private": "",
+    "note-only-visible-to-administrators": "",
+    "note-visible-to-customer": "",
+    "order-history": "",
+    "payment": "",
+    "payment-amount": "",
     "payment-metadata": "metadata de pago",
     "payment-method": "método de pago",
+    "payment-state": "",
+    "payment-to-refund": "",
     "product-name": "Nombre del producto",
     "product-sku": "SKU",
+    "promotions-applied": "",
     "quantity": "Cantidad",
+    "refund": "",
+    "refund-adjustment": "",
+    "refund-and-cancel-order": "",
+    "refund-metadata": "",
+    "refund-order": "",
+    "refund-order-success": "",
+    "refund-reason": "",
+    "refund-reason-customer-request": "",
+    "refund-reason-not-available": "",
+    "refund-reason-required": "",
+    "refund-shipping": "",
+    "refund-total": "",
+    "refund-total-error": "",
+    "refund-with-amount": "",
+    "refunded-count": "",
+    "return-to-stock": "",
+    "search-by-order-code": "",
+    "settle-payment": "",
+    "settle-payment-error": "",
+    "settle-payment-success": "",
+    "settle-refund": "",
+    "settle-refund-manual-instructions": "",
+    "settle-refund-success": "",
     "shipping": "Envío",
     "shipping-address": "Dirección de envío",
+    "shipping-method": "",
     "state": "Estado",
+    "state-adding-items": "",
+    "state-all-orders": "",
+    "state-arranging-payment": "",
+    "state-cancelled": "",
+    "state-fulfilled": "",
+    "state-partially-fulfilled": "",
+    "state-payment-authorized": "",
+    "state-payment-settled": "",
     "sub-total": "Sub total",
     "total": "Total",
+    "tracking-code": "",
     "transaction-id": "ID de transacción",
+    "unfulfilled": "",
     "unit-price": "Precio unitario"
   },
   "settings": {
     "add-countries-to-zone": "Añadir países a zona...",
     "add-countries-to-zone-success": "Añadido { countryCount } {countryCount, plural, one {país} other {países}} a la zona \"{ zoneName }\"",
+    "add-products-to-test-order": "",
     "administrator": "Administrador",
     "catalog": "Catálogo",
+    "channel": "",
     "channel-token": "Token de canal",
+    "confirm-delete-role": "",
+    "confirm-delete-tax-category": "",
+    "confirm-delete-tax-rate": "",
     "create": "Crear",
     "create-new-channel": "Crear nuevo canal",
     "create-new-country": "Crear nuevo país",
@@ -410,34 +616,67 @@
     "create-new-shipping-method": "Crear nuevo método de envío",
     "create-new-tax-category": "Crear categoría de impuestos",
     "create-new-tax-rate": "Crear nueva tasa de impuestos",
+    "create-new-zone": "",
     "create-zone": "Crear zona",
     "currency": "Moneda",
     "customer": "Cliente",
+    "default-role-label": "",
     "default-shipping-zone": "Zona de envío por defecto",
     "default-tax-zone": "Zona de impuestos por defecto",
     "delete": "Eliminar",
+    "eligible": "",
     "email-address": "Dirección de email",
+    "filter-by-member-name": "",
     "first-name": "Nombre",
     "last-name": "Apellidos",
+    "no-eligible-shipping-methods": "",
     "order": "Pedido",
     "password": "Contraseña",
     "payment-method-config-options": "Configuración método de pago",
     "permissions": "Permisos",
     "prices-include-tax": "Los precios incluyen impuestos para la zona por defecto.",
+    "promotion": "",
     "rate": "Tasa",
     "read": "Leer",
-    "remove-countries-from-zone": "Eliminar países de la zona...",
     "remove-countries-from-zone-success": "Eliminados { countryCount } {countryCount, plural, one {país} other {países}} de la zona \"{ zoneName }\"",
-    "role": "Rol",
+    "remove-from-zone": "",
     "roles": "Roles",
+    "search-by-product-name-or-sku": "",
+    "search-country-by-name": "",
     "section": "Sección",
-    "select-zone": "Seleccionar zona",
     "settings": "Ajustes",
     "shipping-calculator": "Calculador de envíos",
     "shipping-eligibility-checker": "Comprueba disponibilidad de envío",
+    "shipping-method": "",
     "tax-category": "Categoría de impuesto",
     "tax-rate": "Tasa de impuesto",
+    "test-address": "",
+    "test-order": "",
+    "test-result": "",
+    "test-shipping-method": "",
+    "test-shipping-methods": "",
+    "track-inventory-default": "",
     "update": "Actualizar",
+    "update-zone": "",
+    "view-zone-members": "",
     "zone": "Zona"
+  },
+  "system": {
+    "all-job-queues": "",
+    "health-all-systems-up": "",
+    "health-error": "",
+    "health-last-checked": "",
+    "health-message": "",
+    "health-refresh": "",
+    "health-status": "",
+    "health-status-down": "",
+    "health-status-up": "",
+    "hide-settled-jobs": "",
+    "job-data": "",
+    "job-duration": "",
+    "job-error": "",
+    "job-queue-name": "",
+    "job-result": "",
+    "job-state": ""
   }
-}
+}

+ 91 - 58
packages/admin-ui/src/lib/static/i18n-messages/pl.json

@@ -21,7 +21,8 @@
     "update-focal-point": "Zaktualizuj punkt centralny",
     "update-focal-point-error": "Błąd podczas aktualizacji punktu centralnego",
     "update-focal-point-success": "Punkt centralny zaktualizowany",
-    "upload-assets": "Upload"
+    "upload-assets": "Upload",
+    "uploading": ""
   },
   "breadcrumb": {
     "administrators": "Administratorzy",
@@ -29,6 +30,7 @@
     "channels": "Kanały",
     "collections": "Kolekcje",
     "countries": "Kraje",
+    "customer-groups": "",
     "customers": "Klienci",
     "dashboard": "Dashboard",
     "facets": "Fasety",
@@ -41,8 +43,10 @@
     "promotions": "Promocje",
     "roles": "Role",
     "shipping-methods": "Metody wysyłki",
+    "system-status": "",
     "tax-categories": "Kategorie podatkowe",
-    "tax-rates": "Stawki podatkowe"
+    "tax-rates": "Stawki podatkowe",
+    "zones": ""
   },
   "catalog": {
     "add-facet-value": "Dodaj nazwe faseta",
@@ -56,16 +60,19 @@
     "collection-contents": "Zawartość kolekcji",
     "confirm-adding-options-delete-default-body": "Dodawanie opcji spowoduje, że obecna domyślna opcja zostanie usunięta. Czy chcesz kontynuować?",
     "confirm-adding-options-delete-default-title": "Usunąć domyślny tytuł?",
+    "confirm-delete-asset": "",
     "confirm-delete-channel": "Usunąć kanał?",
     "confirm-delete-collection": "Usunąć kolekcje?",
     "confirm-delete-collection-and-children-body": "Usunięcie tej kolekcji spowoduje usunięcie także podkategorii",
     "confirm-delete-country": "Usunąć kraj?",
+    "confirm-delete-customer": "",
     "confirm-delete-facet": "Usunąć faset?",
     "confirm-delete-facet-value": "Usunąć wartość faseta?",
     "confirm-delete-product": "Usunąć produkt?",
     "confirm-delete-product-variant": "Usunąć wariant produktu?",
     "confirm-delete-promotion": "Usunąć promocje?",
     "confirm-delete-shipping-method": "Usunąć metode wysyłki?",
+    "confirm-delete-zone": "",
     "create-new-collection": "Utwórz nową kolekcje",
     "create-new-facet": "Utwórz faset",
     "create-new-product": "Nowy produkt",
@@ -101,6 +108,7 @@
     "product-details": "Szczegóły produktu",
     "product-name": "Nazwa produktu",
     "product-variants": "Warianty produktu",
+    "public": "",
     "rebuild-search-index": "Przebuduj indeksy wyszukiwania",
     "reindex-error": "Wystąpił błąd podczas przebudowania indeksów",
     "reindex-successful": "Zaindeksowano {count, plural, one {wariant produktu} other {{count} wariantów produktu}} w {time}ms",
@@ -126,12 +134,15 @@
     "ID": "ID",
     "actions": "Akcje",
     "add-new-variants": "Dodaj {count, plural, one {1 wariant} other {{count} wariantów}}",
+    "add-note": "",
     "available-languages": "Dostępne języki",
     "cancel": "Anuluj",
     "cancel-navigation": "Anuluj nawigacje",
     "channel": "Kanał",
     "channels": "Kanały",
     "code": "Kod",
+    "confirm": "",
+    "confirm-delete-note": "",
     "confirm-navigation": "Potwierdź nawigacje",
     "create": "Utwórz",
     "created-at": "Utworzone dnia",
@@ -140,12 +151,14 @@
     "default-language": "Domyślny jezyk",
     "delete": "Usuń",
     "description": "Opis",
+    "details": "",
     "disabled": "Wyłączony",
     "discard-changes": "Odrzuć zmiany",
     "display-custom-fields": "Wyświetl pola dodatkowe",
     "done": "Skończone",
     "edit": "Edytuj",
     "edit-field": "Edytuj pole",
+    "edit-note": "",
     "enabled": "Aktywny",
     "extension-running-in-separate-window": "Rozszerzenie jest włączone w innym oknie",
     "guest": "Gość",
@@ -185,14 +198,27 @@
     "updated-at": "Zaaktualizowano dnia",
     "username": "Nazwa użytkownika",
     "view-next-month": "Wyświetl następny miesiąc",
-    "view-previous-month": "Wyświetl poprzedni miesiąc"
+    "view-previous-month": "Wyświetl poprzedni miesiąc",
+    "with-selected": ""
   },
   "customer": {
+    "add-customer-to-group": "",
+    "add-customer-to-groups-with-count": "",
+    "add-customers-to-group": "",
+    "add-customers-to-group-success": "",
+    "add-customers-to-group-with-count": "",
+    "add-customers-to-group-with-name": "",
     "addresses": "Adres",
     "city": "Miasto",
+    "confirm-delete-customer-group": "",
+    "confirm-remove-customer-from-group": "",
     "country": "Kraj",
+    "create-customer-group": "",
     "create-new-address": "Utwórz nowy adres",
     "create-new-customer": "Utwórz nowego klient",
+    "create-new-customer-group": "",
+    "customer-groups": "",
+    "customer-history": "",
     "customer-type": "Typ klienta",
     "default-billing-address": "Domyślny adres rozliczeniowy",
     "default-shipping-address": "Domyślny adres wysyłki",
@@ -201,22 +227,42 @@
     "first-name": "Imię",
     "full-name": "Pełna nazwa",
     "guest": "Gość",
+    "history-customer-added-to-group": "",
+    "history-customer-address-created": "",
+    "history-customer-address-deleted": "",
+    "history-customer-address-updated": "",
+    "history-customer-detail-updated": "",
+    "history-customer-email-update-requested": "",
+    "history-customer-email-update-verified": "",
+    "history-customer-password-reset-requested": "",
+    "history-customer-password-reset-verified": "",
+    "history-customer-password-updated": "",
+    "history-customer-registered": "",
+    "history-customer-removed-from-group": "",
+    "history-customer-verified": "",
     "last-name": "Nazwisko",
     "name": "Nazwa",
+    "new-email-address": "",
     "no-orders-placed": "Brak złożonych zamówień",
+    "not-a-member-of-any-groups": "",
+    "old-email-address": "",
     "orders": "Zamówienia",
     "password": "Hasło",
     "phone-number": "Telefon",
     "postal-code": "Kod pocztowy",
     "province": "Województwo",
     "registered": "Zarejestrowany",
+    "remove-customers-from-group-success": "",
+    "remove-from-group": "",
     "search-customers-by-email": "Szukaj przez email",
     "set-as-default-billing-address": "Ustaw jako domyślny adres rozliczeniowy",
     "set-as-default-shipping-address": "Ustaw jako domyślny adres wysyłki",
     "street-line-1": "Ulica 1",
     "street-line-2": "Ulica 2",
     "title": "Tytuł",
-    "verified": "Zweryfikowany"
+    "update-customer-group": "",
+    "verified": "Zweryfikowany",
+    "view-group-members": ""
   },
   "datetime": {
     "ago-days": "{count, plural, one {1 dzień} other {{count} dni}} temu",
@@ -261,26 +307,20 @@
     "403-forbidden": "Brak autoryzacji dla \"{ path }\". Brak uprawnień lub wygasła sesja.",
     "could-not-connect-to-server": "Nie można połączyć z serverem Vendure na { url }",
     "facet-value-form-values-do-not-match": "Ilość wartości fasetów nie zgadza się z realną liczbą wartości.",
+    "health-check-failed": "",
+    "no-default-shipping-zone-set": "",
+    "no-default-tax-zone-set": "",
     "product-variant-form-values-do-not-match": "Ilość opcji w formularzu nie zgadza się z realną liczbą opcji."
   },
   "lang": {
-    "aa": "Afar",
-    "ab": "Abkhazian",
-    "ae": "Avestan",
     "af": "Afrikaans",
     "ak": "Akan",
     "am": "Amharic",
-    "an": "Aragonese",
     "ar": "Arabic",
     "as": "Assamese",
-    "av": "Avaric",
-    "ay": "Aymara",
     "az": "Azerbaijani",
-    "ba": "Bashkir",
     "be": "Belarusian",
     "bg": "Bulgarian",
-    "bh": "Bihari languages",
-    "bi": "Bislama",
     "bm": "Bambara",
     "bn": "Bengali",
     "bo": "Tibetan",
@@ -288,84 +328,77 @@
     "bs": "Bosnian",
     "ca": "Catalan; Valencian",
     "ce": "Chechen",
-    "ch": "Chamorro",
     "co": "Corsican",
-    "cr": "Cree",
     "cs": "Czech",
     "cu": "Church Slavic",
-    "cv": "Chuvash",
     "cy": "Welsh",
     "da": "Danish",
     "de": "German",
-    "dv": "Divehi; Dhivehi; Maldivian",
+    "de_AT": "",
+    "de_CH": "",
     "dz": "Dzongkha",
     "ee": "Ewe",
     "el": "Greek, Modern (1453-)",
     "en": "English",
+    "en_AU": "",
+    "en_CA": "",
+    "en_GB": "",
+    "en_US": "",
     "eo": "Esperanto",
     "es": "Spanish; Castilian",
+    "es_ES": "",
+    "es_MX": "",
     "et": "Estonian",
     "eu": "Basque",
     "fa": "Persian",
+    "fa_AF": "",
     "ff": "Fulah",
     "fi": "Finnish",
-    "fj": "Fijian",
     "fo": "Faroese",
     "fr": "French",
+    "fr_CA": "",
+    "fr_CH": "",
     "fy": "Western Frisian",
     "ga": "Irish",
     "gd": "Gaelic; Scottish Gaelic",
     "gl": "Galician",
-    "gn": "Guarani",
     "gu": "Gujarati",
     "gv": "Manx",
     "ha": "Hausa",
     "he": "Hebrew",
     "hi": "Hindi",
-    "ho": "Hiri Motu",
     "hr": "Croatian",
     "ht": "Haitian; Haitian Creole",
     "hu": "Hungarian",
     "hy": "Armenian",
-    "hz": "Herero",
     "ia": "Interlingua",
     "id": "Indonesian",
-    "ie": "Interlingue; Occidental",
     "ig": "Igbo",
     "ii": "Sichuan Yi; Nuosu",
-    "ik": "Inupiaq",
-    "io": "Ido",
     "is": "Icelandic",
     "it": "Italian",
-    "iu": "Inuktitut",
     "ja": "Japanese",
     "jv": "Javanese",
     "ka": "Georgian",
-    "kg": "Kongo",
     "ki": "Kikuyu; Gikuyu",
-    "kj": "Kuanyama; Kwanyama",
     "kk": "Kazakh",
     "kl": "Kalaallisut; Greenlandic",
     "km": "Central Khmer",
     "kn": "Kannada",
     "ko": "Korean",
-    "kr": "Kanuri",
     "ks": "Kashmiri",
     "ku": "Kurdish",
-    "kv": "Komi",
     "kw": "Cornish",
     "ky": "Kirghiz; Kyrgyz",
     "la": "Latin",
     "lb": "Luxembourgish; Letzeburgesch",
     "lg": "Ganda",
-    "li": "Limburgan; Limburger; Limburgish",
     "ln": "Lingala",
     "lo": "Lao",
     "lt": "Lithuanian",
     "lu": "Luba-Katanga",
     "lv": "Latvian",
     "mg": "Malagasy",
-    "mh": "Marshallese",
     "mi": "Maori",
     "mk": "Macedonian",
     "ml": "Malayalam",
@@ -374,35 +407,30 @@
     "ms": "Malay",
     "mt": "Maltese",
     "my": "Burmese",
-    "na": "Nauru",
     "nb": "Bokmål, Norwegian; Norwegian Bokmål",
     "nd": "Ndebele, North; North Ndebele",
     "ne": "Nepali",
-    "ng": "Ndonga",
     "nl": "Dutch; Flemish",
+    "nl_BE": "",
     "nn": "Norwegian Nynorsk; Nynorsk, Norwegian",
-    "no": "Norwegian",
-    "nr": "Ndebele, South; South Ndebele",
-    "nv": "Navajo; Navaho",
     "ny": "Chichewa; Chewa; Nyanja",
-    "oc": "Occitan (post 1500); Provençal",
-    "oj": "Ojibwa",
     "om": "Oromo",
     "or": "Oriya",
     "os": "Ossetian; Ossetic",
     "pa": "Panjabi; Punjabi",
-    "pi": "Pali",
     "pl": "Polish",
     "ps": "Pushto; Pashto",
     "pt": "Portuguese",
+    "pt_BR": "",
+    "pt_PT": "",
     "qu": "Quechua",
     "rm": "Romansh",
     "rn": "Rundi",
     "ro": "Romanian; Moldavian; Moldovan",
+    "ro_MD": "",
     "ru": "Russian",
     "rw": "Kinyarwanda",
     "sa": "Sanskrit",
-    "sc": "Sardinian",
     "sd": "Sindhi",
     "se": "Northern Sami",
     "sg": "Sango",
@@ -414,39 +442,33 @@
     "so": "Somali",
     "sq": "Albanian",
     "sr": "Serbian",
-    "ss": "Swati",
     "st": "Sotho, Southern",
     "su": "Sundanese",
     "sv": "Swedish",
     "sw": "Swahili",
+    "sw_CD": "",
     "ta": "Tamil",
     "te": "Telugu",
     "tg": "Tajik",
     "th": "Thai",
     "ti": "Tigrinya",
     "tk": "Turkmen",
-    "tl": "Tagalog",
-    "tn": "Tswana",
     "to": "Tonga (Tonga Islands)",
     "tr": "Turkish",
-    "ts": "Tsonga",
     "tt": "Tatar",
-    "tw": "Twi",
-    "ty": "Tahitian",
     "ug": "Uighur; Uyghur",
     "uk": "Ukrainian",
     "ur": "Urdu",
     "uz": "Uzbek",
-    "ve": "Venda",
     "vi": "Vietnamese",
     "vo": "Volapük",
-    "wa": "Walloon",
     "wo": "Wolof",
     "xh": "Xhosa",
     "yi": "Yiddish",
     "yo": "Yoruba",
-    "za": "Zhuang; Chuang",
     "zh": "Chinese",
+    "zh_Hans": "",
+    "zh_Hant": "",
     "zu": "Zulu"
   },
   "marketing": {
@@ -467,6 +489,7 @@
     "channels": "Kanały",
     "collections": "Kolekcje",
     "countries": "Kraje",
+    "customer-groups": "",
     "customers": "Klienci",
     "facets": "Facets",
     "global-settings": "Ustawienia globalne",
@@ -480,12 +503,14 @@
     "sales": "Sprzedaż",
     "settings": "Ustawienia",
     "shipping-methods": "Metody wysyłki",
+    "system": "",
+    "system-status": "",
     "tax-categories": "Kategorie podatkowe",
-    "tax-rates": "Stawki podatkowe"
+    "tax-rates": "Stawki podatkowe",
+    "zones": ""
   },
   "order": {
     "add-note": "Dodaj notatke",
-    "add-note-success": "Notatka dodana pomyślnie",
     "amount": "Ilość",
     "cancel": "Anuluj",
     "cancel-order": "Anuluj zamówienie",
@@ -498,7 +523,6 @@
     "create-fulfillment": "Utwórz wypełnienie",
     "create-fulfillment-success": "Utworzono wypełnienie pomyślnie",
     "customer": "Klient",
-    "details": "Detale",
     "fulfill": "Zrealizuj",
     "fulfill-order": "Zrealizuj zamówienie",
     "fulfillment": "Realizacja",
@@ -592,6 +616,7 @@
     "create-new-shipping-method": "Utwórz nową metode wysyłki",
     "create-new-tax-category": "Utwórz nową kategorię podatkową",
     "create-new-tax-rate": "Utwórz nową stawkę podatkową",
+    "create-new-zone": "",
     "create-zone": "Utwórz strefe",
     "currency": "Waluta",
     "customer": "Klient",
@@ -601,8 +626,8 @@
     "delete": "Usuń",
     "eligible": "Wybieralny",
     "email-address": "Email",
+    "filter-by-member-name": "",
     "first-name": "Imię",
-
     "last-name": "Nazwisko",
     "no-eligible-shipping-methods": "Brak pasujących metod wysyłki",
     "order": "Zamówienie",
@@ -613,13 +638,12 @@
     "promotion": "Promocja",
     "rate": "Stawka",
     "read": "Odczyt",
-    "remove-countries-from-zone": "Usuń kraje ze strefy...",
     "remove-countries-from-zone-success": "Usunięto { countryCount } {countryCount, plural, one {kraj} other {kraje}} ze strefy \"{ zoneName }\"",
+    "remove-from-zone": "",
     "roles": "Role",
     "search-by-product-name-or-sku": "Szukaj produktu po nazwie lub SKU",
     "search-country-by-name": "Szukaj kraju po nazwie",
     "section": "Sekcja",
-    "select-zone": "Wybierz strefy",
     "settings": "Ustawienia",
     "shipping-calculator": "Kalkulator wysyłki",
     "shipping-eligibility-checker": "Sprawdź możliwość wysyłki",
@@ -633,17 +657,26 @@
     "test-shipping-methods": "Testowe metody wysyłki",
     "track-inventory-default": "Śledź domyślnie magazyn",
     "update": "Aktualizuj",
+    "update-zone": "",
+    "view-zone-members": "",
     "zone": "Strefa"
   },
   "system": {
     "all-job-queues": "Kolejka wszystkich zadań",
+    "health-all-systems-up": "",
+    "health-error": "",
+    "health-last-checked": "",
+    "health-message": "",
+    "health-refresh": "",
+    "health-status": "",
+    "health-status-down": "",
+    "health-status-up": "",
     "hide-settled-jobs": "Ukryj rozliczone zlecenia",
     "job-data": "Dane zlecenia",
     "job-duration": "Czas trwania",
     "job-error": "Błąd zlecenia",
     "job-queue-name": "Nazwa kolejki",
     "job-result": "Rezultat zlecenia",
-    "job-state": "Status zlecenia",
-    "jobs-in-progress": "{ count } {count, plural, one {zadanie} other {zadań}} w trakcie"
+    "job-state": "Status zlecenia"
   }
-}
+}

+ 108 - 57
packages/admin-ui/src/lib/static/i18n-messages/zh.json → packages/admin-ui/src/lib/static/i18n-messages/zh_Hans.json

@@ -21,7 +21,8 @@
     "update-focal-point": "重新设置焦点",
     "update-focal-point-error": "更新焦点失败",
     "update-focal-point-success": "更新焦点成功",
-    "upload-assets": "上传资源"
+    "upload-assets": "上传资源",
+    "uploading": ""
   },
   "breadcrumb": {
     "administrators": "用户管理",
@@ -29,10 +30,12 @@
     "channels": "销售渠道",
     "collections": "商品系列",
     "countries": "国家列表",
+    "customer-groups": "",
     "customers": "客户管理",
     "dashboard": "总览",
     "facets": "商品特征",
     "global-settings": "语言设置",
+    "job-queue": "",
     "manage-variants": "商品规格管理",
     "orders": "订单管理",
     "payment-methods": "支付管理",
@@ -40,8 +43,10 @@
     "promotions": "优惠券管理",
     "roles": "角色管理",
     "shipping-methods": "配送方式管理",
+    "system-status": "",
     "tax-categories": "税表分类",
-    "tax-rates": "税率管理"
+    "tax-rates": "税率管理",
+    "zones": ""
   },
   "catalog": {
     "add-facet-value": "添加特征值",
@@ -55,16 +60,19 @@
     "collection-contents": "系列产品",
     "confirm-adding-options-delete-default-body": "添加新规格到此产品会导致含此规格的产品被删除,确认继续吗?",
     "confirm-adding-options-delete-default-title": "确认删除产品规格么?",
+    "confirm-delete-asset": "",
     "confirm-delete-channel": "确认删除销售渠道?",
     "confirm-delete-collection": "确认删除商品系列吗?",
     "confirm-delete-collection-and-children-body": "删除这个系列会删除它所包含的子系列,确认删除码?",
     "confirm-delete-country": "确认删除国家?",
+    "confirm-delete-customer": "",
     "confirm-delete-facet": "确认删除特征?",
     "confirm-delete-facet-value": "确认删除特征值?",
     "confirm-delete-product": "确认删除商品?",
     "confirm-delete-product-variant": "确认删除商品规格?",
     "confirm-delete-promotion": "确认删除优惠券?",
     "confirm-delete-shipping-method": "确认删除邮寄方式?",
+    "confirm-delete-zone": "",
     "create-new-collection": "添加系列",
     "create-new-facet": "添加特征",
     "create-new-product": "添加商品",
@@ -112,7 +120,6 @@
     "search-product-name-or-code": "输入要搜索的商品名称或商品编码",
     "sku": "商品库存编码",
     "slug": "名称缩写",
-    "slug-pattern-error": "只能使用字母, 数字, - and _",
     "stock-on-hand": "库存",
     "tax-category": "税表分类",
     "taxes": "价格(含税)",
@@ -127,25 +134,31 @@
     "ID": "ID",
     "actions": "操作",
     "add-new-variants": "添加{count}个商品规格",
+    "add-note": "",
     "available-languages": "可用语言",
     "cancel": "取消",
     "cancel-navigation": "取消",
     "channel": "销售渠道",
     "channels": "销售渠道",
     "code": "编码",
+    "confirm": "",
+    "confirm-delete-note": "",
     "confirm-navigation": "导航确认",
     "create": "添加",
     "created-at": "创建时间",
     "custom-fields": "客户化字段",
     "default-channel": "默认销售渠道",
+    "default-language": "",
     "delete": "删除",
     "description": "描述",
+    "details": "",
     "disabled": "禁用",
     "discard-changes": "放弃修改",
     "display-custom-fields": "显示客户化字段",
     "done": "完成",
     "edit": "编辑",
     "edit-field": "编辑域",
+    "edit-note": "",
     "enabled": "启用",
     "extension-running-in-separate-window": "扩展已在另一个窗口启动",
     "guest": "游客",
@@ -153,6 +166,7 @@
     "items-per-page-option": "每页显示 { count } 条",
     "language": "语言",
     "launch-extension": "启动扩展插件",
+    "live-update": "",
     "log-out": "退出",
     "login": "登陆",
     "more": "更多...",
@@ -184,14 +198,27 @@
     "updated-at": "修改时间",
     "username": "用户名",
     "view-next-month": "查看下个月",
-    "view-previous-month": "查看下个月"
+    "view-previous-month": "查看下个月",
+    "with-selected": ""
   },
   "customer": {
+    "add-customer-to-group": "",
+    "add-customer-to-groups-with-count": "",
+    "add-customers-to-group": "",
+    "add-customers-to-group-success": "",
+    "add-customers-to-group-with-count": "",
+    "add-customers-to-group-with-name": "",
     "addresses": "地址",
     "city": "市",
+    "confirm-delete-customer-group": "",
+    "confirm-remove-customer-from-group": "",
     "country": "国家",
+    "create-customer-group": "",
     "create-new-address": "添加地址",
     "create-new-customer": "添加客户",
+    "create-new-customer-group": "",
+    "customer-groups": "",
+    "customer-history": "",
     "customer-type": "客户验证类型",
     "default-billing-address": "默认账单地址",
     "default-shipping-address": "默认邮寄地址",
@@ -200,24 +227,51 @@
     "first-name": "名",
     "full-name": "名字",
     "guest": "访客",
+    "history-customer-added-to-group": "",
+    "history-customer-address-created": "",
+    "history-customer-address-deleted": "",
+    "history-customer-address-updated": "",
+    "history-customer-detail-updated": "",
+    "history-customer-email-update-requested": "",
+    "history-customer-email-update-verified": "",
+    "history-customer-password-reset-requested": "",
+    "history-customer-password-reset-verified": "",
+    "history-customer-password-updated": "",
+    "history-customer-registered": "",
+    "history-customer-removed-from-group": "",
+    "history-customer-verified": "",
     "last-name": "姓",
     "name": "姓名",
+    "new-email-address": "",
     "no-orders-placed": "无订单记录",
+    "not-a-member-of-any-groups": "",
+    "old-email-address": "",
     "orders": "订单列表",
     "password": "密码",
     "phone-number": "电话号码",
     "postal-code": "邮政编码",
     "province": "省(直辖市)",
     "registered": "已注册",
+    "remove-customers-from-group-success": "",
+    "remove-from-group": "",
     "search-customers-by-email": "输入要搜索的客户邮件地址",
     "set-as-default-billing-address": "设置为默认账单地址",
     "set-as-default-shipping-address": "设置为默认邮寄地址",
     "street-line-1": "街道",
     "street-line-2": "详细地址(小区,公司门牌号等)",
     "title": "客户称呼",
-    "verified": "已验证"
+    "update-customer-group": "",
+    "verified": "已验证",
+    "view-group-members": ""
   },
   "datetime": {
+    "ago-days": "",
+    "ago-hours": "",
+    "ago-minutes": "",
+    "ago-seconds": "",
+    "duration-milliseconds": "",
+    "duration-minutes:seconds": "",
+    "duration-seconds": "",
     "month-apr": "4月",
     "month-aug": "8月",
     "month-dec": "12月",
@@ -253,26 +307,20 @@
     "403-forbidden": "无权限访问路径 \"{ path }\"。无权限或会话已过期,请重新登陆",
     "could-not-connect-to-server": "无法链接服务器 { url }",
     "facet-value-form-values-do-not-match": "表单中商品特征值数量与实际不符",
+    "health-check-failed": "",
+    "no-default-shipping-zone-set": "",
+    "no-default-tax-zone-set": "",
     "product-variant-form-values-do-not-match": "表单中商品规格数量与实际不符"
   },
   "lang": {
-    "aa": "阿法尔语",
-    "ab": "阿布哈兹语",
-    "ae": "阿维斯陀语",
     "af": "南非语",
     "ak": "阿坎语",
     "am": "阿姆哈拉语",
-    "an": "阿拉贡语",
     "ar": "阿拉伯语",
     "as": "阿萨姆语",
-    "av": "阿瓦尔语",
-    "ay": "艾马拉语",
     "az": "阿塞拜疆语",
-    "ba": "巴什基尔语",
     "be": "白俄罗斯语",
     "bg": "保加利亚语",
-    "bh": "比哈尔语",
-    "bi": "比斯拉马语",
     "bm": "班巴拉语",
     "bn": "孟加拉语",
     "bo": "标准藏语",
@@ -280,84 +328,77 @@
     "bs": "波斯尼亚语",
     "ca": "加泰罗尼亚语",
     "ce": "车臣语",
-    "ch": "查莫罗语",
     "co": "柯西嘉语",
-    "cr": "克里语",
     "cs": "捷克语",
     "cu": "古教会斯拉夫语",
-    "cv": "楚瓦什语",
     "cy": "威尔士语",
     "da": "丹麦语",
     "de": "德语",
-    "dv": "迪维西语",
+    "de_AT": "",
+    "de_CH": "",
     "dz": "宗喀语",
     "ee": "埃维语",
     "el": "希腊语",
     "en": "英语",
+    "en_AU": "",
+    "en_CA": "",
+    "en_GB": "",
+    "en_US": "",
     "eo": "世界语",
     "es": "西班牙语",
+    "es_ES": "",
+    "es_MX": "",
     "et": "爱沙尼亚语",
     "eu": "巴斯克语",
     "fa": "波斯语",
+    "fa_AF": "",
     "ff": "富拉语",
     "fi": "芬兰语",
-    "fj": "斐济语",
     "fo": "法罗语",
     "fr": "法语",
+    "fr_CA": "",
+    "fr_CH": "",
     "fy": "西弗里斯兰语",
     "ga": "爱尔兰语",
     "gd": "苏格兰盖尔语",
     "gl": "加利西亚语",
-    "gn": "瓜拉尼语",
     "gu": "古吉拉特语",
     "gv": "马恩语",
     "ha": "豪萨语",
     "he": "希伯来语",
     "hi": "印地语",
-    "ho": "希里莫图语",
     "hr": "克罗地亚语",
     "ht": "海地语",
     "hu": "匈牙利语",
     "hy": "亚美尼亚语",
-    "hz": "赫雷罗语",
     "ia": "国际语",
     "id": "印度尼西亚语",
-    "ie": "西方国际语",
     "ig": "伊博语",
     "ii": "彝语北部方言",
-    "ik": "伊努皮克语",
-    "io": "伊多语",
     "is": "冰岛语",
     "it": "意大利语",
-    "iu": "因纽特语",
     "ja": "日语",
     "jv": "爪哇语",
     "ka": "格鲁吉亚语",
-    "kg": "刚果语",
     "ki": "基库尤语",
-    "kj": "库瓦亚马语",
     "kk": "哈萨克语",
     "kl": "格陵兰语",
     "km": "高棉语",
     "kn": "坎纳达语",
     "ko": "韩语",
-    "kr": "卡努里语",
     "ks": "克什米尔语",
     "ku": "库尔德语",
-    "kv": "科米语",
     "kw": "康沃尔语",
     "ky": "柯尔克孜语",
     "la": "拉丁语",
     "lb": "卢森堡语",
     "lg": "干达语",
-    "li": "林堡语",
     "ln": "林加拉语",
     "lo": "老挝语",
     "lt": "立陶宛语",
     "lu": "卢巴卡丹加语",
     "lv": "拉脱维亚语",
     "mg": "马达加斯加语",
-    "mh": "马绍尔语",
     "mi": "毛利语",
     "mk": "马其顿语",
     "ml": "马拉雅拉姆语",
@@ -366,35 +407,30 @@
     "ms": "马来语",
     "mt": "马耳他语",
     "my": "缅甸语",
-    "na": "瑙鲁语",
     "nb": "书面挪威语",
     "nd": "北恩德贝莱语",
     "ne": "尼泊尔语",
-    "ng": "恩敦加语",
     "nl": "荷兰语",
+    "nl_BE": "",
     "nn": "挪威尼诺斯克语",
-    "no": "挪威语",
-    "nr": "南恩德贝莱语",
-    "nv": "纳瓦霍语",
     "ny": "齐切瓦语",
-    "oc": "奥克语",
-    "oj": "奥杰布瓦语",
     "om": "奥罗莫语",
     "or": "奥里雅语",
     "os": "奥塞梯语",
     "pa": "旁遮普语",
-    "pi": "巴利语",
     "pl": "波兰语",
     "ps": "普什图语",
     "pt": "葡萄牙语",
+    "pt_BR": "",
+    "pt_PT": "",
     "qu": "盖丘亚语",
     "rm": "罗曼什语",
     "rn": "基隆迪语",
     "ro": "罗马尼亚语",
+    "ro_MD": "",
     "ru": "俄语",
     "rw": "卢旺达语",
     "sa": "梵语",
-    "sc": "撒丁语",
     "sd": "信德语",
     "se": "北萨米语",
     "sg": "桑戈语",
@@ -406,39 +442,33 @@
     "so": "索马里语",
     "sq": "阿尔巴尼亚语",
     "sr": "塞尔维亚语",
-    "ss": "斯威士语",
     "st": "南索托语",
     "su": "巽他语",
     "sv": "瑞典语",
     "sw": "斯瓦希里语",
+    "sw_CD": "",
     "ta": "泰米尔语",
     "te": "泰卢固语",
     "tg": "塔吉克语",
     "th": "泰语",
     "ti": "提格里尼亚语",
     "tk": "土库曼语",
-    "tl": "塔加拉族语",
-    "tn": "茨瓦纳语",
     "to": "汤加语",
     "tr": "土耳其语",
-    "ts": "聪加语",
     "tt": "鞑靼语",
-    "tw": "契维语",
-    "ty": "塔希提语",
     "ug": "维吾尔语",
     "uk": "乌克兰语",
     "ur": "乌尔都语",
     "uz": "乌兹别克语",
-    "ve": "文达语",
     "vi": "越南语",
     "vo": "沃拉普克语",
-    "wa": "瓦隆语",
     "wo": "沃洛夫语",
     "xh": "科萨语",
     "yi": "意第绪语",
     "yo": "约鲁巴语",
-    "za": "壮语",
     "zh": "简体中文",
+    "zh_Hans": "",
+    "zh_Hant": "",
     "zu": "祖鲁语"
   },
   "marketing": {
@@ -459,9 +489,11 @@
     "channels": "销售渠道",
     "collections": "商品系列",
     "countries": "国家列表",
+    "customer-groups": "",
     "customers": "客户管理",
     "facets": "产品特征",
     "global-settings": "语言设置",
+    "job-queue": "",
     "marketing": "市场营销",
     "orders": "订单管理",
     "payment-methods": "支付管理",
@@ -471,12 +503,14 @@
     "sales": "销售管理",
     "settings": "系统设置",
     "shipping-methods": "配送方式",
+    "system": "",
+    "system-status": "",
     "tax-categories": "税表分类",
-    "tax-rates": "税表管理"
+    "tax-rates": "税表管理",
+    "zones": ""
   },
   "order": {
     "add-note": "添加备注",
-    "add-note-success": "备注添加成功",
     "amount": "金额",
     "cancel": "取消",
     "cancel-order": "取消订单",
@@ -489,7 +523,6 @@
     "create-fulfillment": "确认配货",
     "create-fulfillment-success": "确认配货成功",
     "customer": "客户",
-    "details": "详情",
     "fulfill": "已配货",
     "fulfill-order": "接受订单",
     "fulfillment": "配货记录",
@@ -583,6 +616,7 @@
     "create-new-shipping-method": "添加配送方式",
     "create-new-tax-category": "创建税表分类",
     "create-new-tax-rate": "添加税率",
+    "create-new-zone": "",
     "create-zone": "创建销售区域",
     "currency": "币种",
     "customer": "客户管理",
@@ -592,6 +626,7 @@
     "delete": "删除",
     "eligible": "符合条件",
     "email-address": "电子邮件",
+    "filter-by-member-name": "",
     "first-name": "名",
     "last-name": "姓",
     "no-eligible-shipping-methods": "没有符合条件的配送方式",
@@ -603,13 +638,12 @@
     "promotion": "优惠券管理",
     "rate": "税率",
     "read": "只读",
-    "remove-countries-from-zone": "移除国家...",
     "remove-countries-from-zone-success": "{ countryCount }个国际已从\"{ zoneName }\"中移除",
+    "remove-from-zone": "",
     "roles": "角色列表",
     "search-by-product-name-or-sku": "输入要搜索的产品名称或库存编码",
     "search-country-by-name": "输入要搜索的国家名称",
     "section": "操作项目",
-    "select-zone": "选择销售区域",
     "settings": "系统设置",
     "shipping-calculator": "配送费计算",
     "shipping-eligibility-checker": "使用此配送方式的合格条件",
@@ -623,9 +657,26 @@
     "test-shipping-methods": "模拟测试配送方式",
     "track-inventory-default": "默认跟踪库存",
     "update": "修改",
+    "update-zone": "",
+    "view-zone-members": "",
     "zone": "销售区域"
   },
   "system": {
-    "jobs-in-progress": "{ count }个任务正在运行"
+    "all-job-queues": "",
+    "health-all-systems-up": "",
+    "health-error": "",
+    "health-last-checked": "",
+    "health-message": "",
+    "health-refresh": "",
+    "health-status": "",
+    "health-status-down": "",
+    "health-status-up": "",
+    "hide-settled-jobs": "",
+    "job-data": "",
+    "job-duration": "",
+    "job-error": "",
+    "job-queue-name": "",
+    "job-result": "",
+    "job-state": ""
   }
-}
+}

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 610 - 48
yarn.lock


Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio