From eedd2204a6eb228210b90b132220310a660952ef Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 5 Jul 2025 21:47:51 +0000 Subject: [PATCH] chore: automatic locale sync (#5639) Co-authored-by: GitHub Action --- .../use-locales/available-locales.ts | 114 +++++++++--------- frontend/i18n.config.ts | 66 +++++----- frontend/nuxt.config.ts | 65 +++++----- mealie/schema/_mealie/validators.py | 3 +- 4 files changed, 128 insertions(+), 120 deletions(-) diff --git a/frontend/composables/use-locales/available-locales.ts b/frontend/composables/use-locales/available-locales.ts index a5ff2794f..2fe5e4044 100644 --- a/frontend/composables/use-locales/available-locales.ts +++ b/frontend/composables/use-locales/available-locales.ts @@ -3,187 +3,193 @@ export const LOCALES = [ { name: "繁體中文 (Chinese traditional)", value: "zh-TW", - progress: 29, + progress: 8, dir: "ltr", }, { name: "简体中文 (Chinese simplified)", value: "zh-CN", - progress: 98, + progress: 32, dir: "ltr", }, { name: "Tiếng Việt (Vietnamese)", value: "vi-VN", - progress: 0, + progress: 1, dir: "ltr", }, { name: "Українська (Ukrainian)", value: "uk-UA", - progress: 100, + progress: 37, dir: "ltr", }, { name: "Türkçe (Turkish)", value: "tr-TR", - progress: 62, + progress: 36, dir: "ltr", }, { name: "Svenska (Swedish)", value: "sv-SE", - progress: 99, + progress: 37, dir: "ltr", }, { name: "српски (Serbian)", value: "sr-SP", - progress: 31, + progress: 9, dir: "ltr", }, { - name: "Slovenian", + name: "Slovenščina (Slovenian)", value: "sl-SI", - progress: 49, + progress: 37, dir: "ltr", }, { - name: "Slovak", + name: "Slovenčina (Slovak)", value: "sk-SK", - progress: 91, + progress: 37, dir: "ltr", }, { name: "Pусский (Russian)", value: "ru-RU", - progress: 99, + progress: 35, dir: "ltr", }, { name: "Română (Romanian)", value: "ro-RO", - progress: 44, + progress: 37, dir: "ltr", }, { name: "Português (Portuguese)", value: "pt-PT", - progress: 100, + progress: 37, dir: "ltr", }, { name: "Português do Brasil (Brazilian Portuguese)", value: "pt-BR", - progress: 95, + progress: 34, dir: "ltr", }, { name: "Polski (Polish)", value: "pl-PL", - progress: 100, + progress: 37, dir: "ltr", }, { name: "Norsk (Norwegian)", value: "no-NO", - progress: 97, + progress: 37, dir: "ltr", }, { name: "Nederlands (Dutch)", value: "nl-NL", - progress: 100, + progress: 37, dir: "ltr", }, { - name: "Latvian", + name: "Latviešu (Latvian)", value: "lv-LV", - progress: 0, + progress: 36, dir: "ltr", }, { - name: "Lithuanian", + name: "Lietuvių (Lithuanian)", value: "lt-LT", - progress: 91, + progress: 27, dir: "ltr", }, { name: "한국어 (Korean)", value: "ko-KR", - progress: 3, + progress: 9, dir: "ltr", }, { name: "日本語 (Japanese)", value: "ja-JP", - progress: 11, + progress: 37, dir: "ltr", }, { name: "Italiano (Italian)", value: "it-IT", - progress: 100, + progress: 37, dir: "ltr", }, { - name: "Icelandic", + name: "Íslenska (Icelandic)", value: "is-IS", - progress: 0, + progress: 2, dir: "ltr", }, { name: "Magyar (Hungarian)", value: "hu-HU", - progress: 98, + progress: 38, dir: "ltr", }, { - name: "Croatian", + name: "Hrvatski (Croatian)", value: "hr-HR", - progress: 91, + progress: 28, dir: "ltr", }, { name: "עברית (Hebrew)", value: "he-IL", - progress: 98, + progress: 37, dir: "rtl", }, { - name: "Galician", + name: "Galego (Galician)", value: "gl-ES", - progress: 3, + progress: 37, dir: "ltr", }, { name: "Français (French)", value: "fr-FR", - progress: 100, + progress: 37, + dir: "ltr", + }, + { + name: "Français canadien (Canadian French)", + value: "fr-CA", + progress: 37, dir: "ltr", }, { name: "Belge (Belgian)", value: "fr-BE", - progress: 100, - dir: "ltr", - }, - { - name: "French, Canada", - value: "fr-CA", - progress: 95, + progress: 37, dir: "ltr", }, { name: "Suomi (Finnish)", value: "fi-FI", - progress: 89, + progress: 37, + dir: "ltr", + }, + { + name: "Eesti (Estonian)", + value: "et-EE", + progress: 37, dir: "ltr", }, { name: "Español (Spanish)", value: "es-ES", - progress: 93, + progress: 37, dir: "ltr", }, { @@ -195,55 +201,55 @@ export const LOCALES = [ { name: "British English", value: "en-GB", - progress: 2, + progress: 22, dir: "ltr", }, { name: "Ελληνικά (Greek)", value: "el-GR", - progress: 33, + progress: 37, dir: "ltr", }, { name: "Deutsch (German)", value: "de-DE", - progress: 100, + progress: 37, dir: "ltr", }, { name: "Dansk (Danish)", value: "da-DK", - progress: 98, + progress: 37, dir: "ltr", }, { name: "Čeština (Czech)", value: "cs-CZ", - progress: 64, + progress: 37, dir: "ltr", }, { name: "Català (Catalan)", value: "ca-ES", - progress: 74, + progress: 37, dir: "ltr", }, { - name: "Bulgarian", + name: "Български (Bulgarian)", value: "bg-BG", - progress: 99, + progress: 31, dir: "ltr", }, { name: "العربية (Arabic)", value: "ar-SA", - progress: 18, + progress: 24, dir: "rtl", }, { name: "Afrikaans (Afrikaans)", value: "af-ZA", - progress: 90, + progress: 26, dir: "ltr", }, -]; +] diff --git a/frontend/i18n.config.ts b/frontend/i18n.config.ts index 6600f7385..d78288f85 100644 --- a/frontend/i18n.config.ts +++ b/frontend/i18n.config.ts @@ -1,47 +1,47 @@ /* eslint-disable @typescript-eslint/no-require-imports */ const datetimeFormats = { // CODE_GEN_ID: DATE_LOCALES - "el-GR": require("./lang/dateTimeFormats/el-GR.json"), - "it-IT": require("./lang/dateTimeFormats/it-IT.json"), - "ko-KR": require("./lang/dateTimeFormats/ko-KR.json"), - "es-ES": require("./lang/dateTimeFormats/es-ES.json"), - "ja-JP": require("./lang/dateTimeFormats/ja-JP.json"), - "bg-BG": require("./lang/dateTimeFormats/bg-BG.json"), - "zh-CN": require("./lang/dateTimeFormats/zh-CN.json"), - "tr-TR": require("./lang/dateTimeFormats/tr-TR.json"), - "ar-SA": require("./lang/dateTimeFormats/ar-SA.json"), "hu-HU": require("./lang/dateTimeFormats/hu-HU.json"), - "pt-PT": require("./lang/dateTimeFormats/pt-PT.json"), "no-NO": require("./lang/dateTimeFormats/no-NO.json"), - "sv-SE": require("./lang/dateTimeFormats/sv-SE.json"), - "ro-RO": require("./lang/dateTimeFormats/ro-RO.json"), - "sk-SK": require("./lang/dateTimeFormats/sk-SK.json"), - "uk-UA": require("./lang/dateTimeFormats/uk-UA.json"), - "fr-CA": require("./lang/dateTimeFormats/fr-CA.json"), + "nl-NL": require("./lang/dateTimeFormats/nl-NL.json"), "pl-PL": require("./lang/dateTimeFormats/pl-PL.json"), "da-DK": require("./lang/dateTimeFormats/da-DK.json"), - "pt-BR": require("./lang/dateTimeFormats/pt-BR.json"), - "de-DE": require("./lang/dateTimeFormats/de-DE.json"), - "ca-ES": require("./lang/dateTimeFormats/ca-ES.json"), - "sr-SP": require("./lang/dateTimeFormats/sr-SP.json"), - "cs-CZ": require("./lang/dateTimeFormats/cs-CZ.json"), - "fr-FR": require("./lang/dateTimeFormats/fr-FR.json"), + "fr-CA": require("./lang/dateTimeFormats/fr-CA.json"), "fr-BE": require("./lang/dateTimeFormats/fr-BE.json"), - "zh-TW": require("./lang/dateTimeFormats/zh-TW.json"), - "af-ZA": require("./lang/dateTimeFormats/af-ZA.json"), + "it-IT": require("./lang/dateTimeFormats/it-IT.json"), + "sl-SI": require("./lang/dateTimeFormats/sl-SI.json"), + "sr-SP": require("./lang/dateTimeFormats/sr-SP.json"), + "is-IS": require("./lang/dateTimeFormats/is-IS.json"), + "ja-JP": require("./lang/dateTimeFormats/ja-JP.json"), + "fr-FR": require("./lang/dateTimeFormats/fr-FR.json"), + "ca-ES": require("./lang/dateTimeFormats/ca-ES.json"), + "tr-TR": require("./lang/dateTimeFormats/tr-TR.json"), + "fi-FI": require("./lang/dateTimeFormats/fi-FI.json"), + "hr-HR": require("./lang/dateTimeFormats/hr-HR.json"), + "pt-BR": require("./lang/dateTimeFormats/pt-BR.json"), + "sk-SK": require("./lang/dateTimeFormats/sk-SK.json"), + "zh-CN": require("./lang/dateTimeFormats/zh-CN.json"), + "pt-PT": require("./lang/dateTimeFormats/pt-PT.json"), + "en-GB": require("./lang/dateTimeFormats/en-GB.json"), + "ro-RO": require("./lang/dateTimeFormats/ro-RO.json"), + "cs-CZ": require("./lang/dateTimeFormats/cs-CZ.json"), + "en-US": require("./lang/dateTimeFormats/en-US.json"), + "lv-LV": require("./lang/dateTimeFormats/lv-LV.json"), + "ko-KR": require("./lang/dateTimeFormats/ko-KR.json"), + "bg-BG": require("./lang/dateTimeFormats/bg-BG.json"), + "gl-ES": require("./lang/dateTimeFormats/gl-ES.json"), + "de-DE": require("./lang/dateTimeFormats/de-DE.json"), + "lt-LT": require("./lang/dateTimeFormats/lt-LT.json"), "ru-RU": require("./lang/dateTimeFormats/ru-RU.json"), "he-IL": require("./lang/dateTimeFormats/he-IL.json"), - "nl-NL": require("./lang/dateTimeFormats/nl-NL.json"), - "en-US": require("./lang/dateTimeFormats/en-US.json"), - "en-GB": require("./lang/dateTimeFormats/en-GB.json"), - "fi-FI": require("./lang/dateTimeFormats/fi-FI.json"), + "el-GR": require("./lang/dateTimeFormats/el-GR.json"), + "zh-TW": require("./lang/dateTimeFormats/zh-TW.json"), + "af-ZA": require("./lang/dateTimeFormats/af-ZA.json"), + "es-ES": require("./lang/dateTimeFormats/es-ES.json"), + "sv-SE": require("./lang/dateTimeFormats/sv-SE.json"), + "ar-SA": require("./lang/dateTimeFormats/ar-SA.json"), "vi-VN": require("./lang/dateTimeFormats/vi-VN.json"), - "sl-SI": require("./lang/dateTimeFormats/sl-SI.json"), - "lv-LV": require("./lang/dateTimeFormats/lv-LV.json"), - "is-IS": require("./lang/dateTimeFormats/is-IS.json"), - "gl-ES": require("./lang/dateTimeFormats/gl-ES.json"), - "lt-LT": require("./lang/dateTimeFormats/lt-LT.json"), - "hr-HR": require("./lang/dateTimeFormats/hr-HR.json"), + "uk-UA": require("./lang/dateTimeFormats/uk-UA.json"), // END: DATE_LOCALES }; diff --git a/frontend/nuxt.config.ts b/frontend/nuxt.config.ts index 1ec3e753e..0f32df94d 100644 --- a/frontend/nuxt.config.ts +++ b/frontend/nuxt.config.ts @@ -242,47 +242,48 @@ export default defineNuxtConfig({ i18n: { locales: [ // CODE_GEN_ID: MESSAGE_LOCALES - { code: "lv-LV", file: "lv-LV.ts" }, - { code: "el-GR", file: "el-GR.ts" }, - { code: "it-IT", file: "it-IT.ts" }, - { code: "ko-KR", file: "ko-KR.ts" }, - { code: "es-ES", file: "es-ES.ts" }, - { code: "ja-JP", file: "ja-JP.ts" }, - { code: "bg-BG", file: "bg-BG.ts" }, - { code: "zh-CN", file: "zh-CN.ts" }, - { code: "tr-TR", file: "tr-TR.ts" }, - { code: "ar-SA", file: "ar-SA.ts" }, { code: "hu-HU", file: "hu-HU.ts" }, - { code: "pt-PT", file: "pt-PT.ts" }, { code: "no-NO", file: "no-NO.ts" }, - { code: "sv-SE", file: "sv-SE.ts" }, - { code: "ro-RO", file: "ro-RO.ts" }, - { code: "sk-SK", file: "sk-SK.ts" }, - { code: "uk-UA", file: "uk-UA.ts" }, - { code: "lt-LT", file: "lt-LT.ts" }, - { code: "fr-CA", file: "fr-CA.ts" }, + { code: "nl-NL", file: "nl-NL.ts" }, { code: "pl-PL", file: "pl-PL.ts" }, - { code: "hr-HR", file: "hr-HR.ts" }, { code: "da-DK", file: "da-DK.ts" }, - { code: "pt-BR", file: "pt-BR.ts" }, - { code: "de-DE", file: "de-DE.ts" }, - { code: "ca-ES", file: "ca-ES.ts" }, - { code: "sr-SP", file: "sr-SP.ts" }, - { code: "cs-CZ", file: "cs-CZ.ts" }, - { code: "gl-ES", file: "gl-ES.ts" }, - { code: "fr-FR", file: "fr-FR.ts" }, + { code: "fr-CA", file: "fr-CA.ts" }, { code: "fr-BE", file: "fr-BE.ts" }, - { code: "zh-TW", file: "zh-TW.ts" }, - { code: "af-ZA", file: "af-ZA.ts" }, - { code: "is-IS", file: "is-IS.ts" }, + { code: "it-IT", file: "it-IT.ts" }, { code: "sl-SI", file: "sl-SI.ts" }, + { code: "sr-SP", file: "sr-SP.ts" }, + { code: "is-IS", file: "is-IS.ts" }, + { code: "ja-JP", file: "ja-JP.ts" }, + { code: "fr-FR", file: "fr-FR.ts" }, + { code: "ca-ES", file: "ca-ES.ts" }, + { code: "tr-TR", file: "tr-TR.ts" }, + { code: "fi-FI", file: "fi-FI.ts" }, + { code: "hr-HR", file: "hr-HR.ts" }, + { code: "pt-BR", file: "pt-BR.ts" }, + { code: "sk-SK", file: "sk-SK.ts" }, + { code: "zh-CN", file: "zh-CN.ts" }, + { code: "pt-PT", file: "pt-PT.ts" }, + { code: "en-GB", file: "en-GB.ts" }, + { code: "ro-RO", file: "ro-RO.ts" }, + { code: "cs-CZ", file: "cs-CZ.ts" }, + { code: "et-EE", file: "et-EE.ts" }, + { code: "en-US", file: "en-US.ts" }, + { code: "lv-LV", file: "lv-LV.ts" }, + { code: "ko-KR", file: "ko-KR.ts" }, + { code: "bg-BG", file: "bg-BG.ts" }, + { code: "gl-ES", file: "gl-ES.ts" }, + { code: "de-DE", file: "de-DE.ts" }, + { code: "lt-LT", file: "lt-LT.ts" }, { code: "ru-RU", file: "ru-RU.ts" }, { code: "he-IL", file: "he-IL.ts" }, - { code: "nl-NL", file: "nl-NL.ts" }, - { code: "en-US", file: "en-US.ts" }, - { code: "en-GB", file: "en-GB.ts" }, - { code: "fi-FI", file: "fi-FI.ts" }, + { code: "el-GR", file: "el-GR.ts" }, + { code: "zh-TW", file: "zh-TW.ts" }, + { code: "af-ZA", file: "af-ZA.ts" }, + { code: "es-ES", file: "es-ES.ts" }, + { code: "sv-SE", file: "sv-SE.ts" }, + { code: "ar-SA", file: "ar-SA.ts" }, { code: "vi-VN", file: "vi-VN.ts" }, + { code: "uk-UA", file: "uk-UA.ts" }, // END: MESSAGE_LOCALES ], strategy: "no_prefix", diff --git a/mealie/schema/_mealie/validators.py b/mealie/schema/_mealie/validators.py index 115b4ff41..f49a12c07 100644 --- a/mealie/schema/_mealie/validators.py +++ b/mealie/schema/_mealie/validators.py @@ -12,10 +12,11 @@ def validate_locale(locale: str) -> bool: "en-GB", "en-US", "es-ES", + "et-EE", "fi-FI", + "fr-BE", "fr-CA", "fr-FR", - "fr-BE", "gl-ES", "he-IL", "hr-HR",