Compare commits

...

2 Commits

Author SHA1 Message Date
GitHub Action
75097c3b8f chore: crowdin locale sync 2026-02-01 03:38:08 +00:00
Michael Genson
2987cf8ba6 dev: Allow locale sync path in auto merge (#6974) 2026-01-31 21:37:31 -06:00
2 changed files with 46 additions and 37 deletions

View File

@@ -61,11 +61,20 @@ jobs:
FILES=$(gh pr view "$PR_NUMBER" --repo "$REPO" --json files --jq '.files[].path') FILES=$(gh pr view "$PR_NUMBER" --repo "$REPO" --json files --jq '.files[].path')
for file in $FILES; do for file in $FILES; do
if [[ ! "$file" =~ ^frontend/lang/ ]] && [[ ! "$file" =~ ^mealie/repos/seed/resources/[^/]+/locales/ ]]; then # Check if file matches any allowed path
echo "::error::Invalid file path: $file" if [[ "$file" == "frontend/composables/use-locales/available-locales.ts" ]] || \
echo "Only files in frontend/lang/ or mealie/repos/seed/resources/*/locales/ are allowed" [[ "$file" =~ ^frontend/lang/ ]] || \
exit 1 [[ "$file" =~ ^mealie/repos/seed/resources/[^/]+/locales/ ]]; then
continue
fi fi
# File doesn't match allowed paths
echo "::error::Invalid file path: $file"
echo "Only the following paths are allowed:"
echo " - frontend/composables/use-locales/available-locales.ts"
echo " - frontend/lang/"
echo " - mealie/repos/seed/resources/*/locales/"
exit 1
done done
echo "All files are in allowed paths" echo "All files are in allowed paths"

View File

@@ -21,19 +21,19 @@ export const LOCALES = [
{ {
name: "Українська (Ukrainian)", name: "Українська (Ukrainian)",
value: "uk-UA", value: "uk-UA",
progress: 100, progress: 83,
dir: "ltr", dir: "ltr",
}, },
{ {
name: "Türkçe (Turkish)", name: "Türkçe (Turkish)",
value: "tr-TR", value: "tr-TR",
progress: 41, progress: 40,
dir: "ltr", dir: "ltr",
}, },
{ {
name: "Svenska (Swedish)", name: "Svenska (Swedish)",
value: "sv-SE", value: "sv-SE",
progress: 68, progress: 61,
dir: "ltr", dir: "ltr",
}, },
{ {
@@ -45,55 +45,55 @@ export const LOCALES = [
{ {
name: "Slovenščina (Slovenian)", name: "Slovenščina (Slovenian)",
value: "sl-SI", value: "sl-SI",
progress: 41, progress: 40,
dir: "ltr", dir: "ltr",
}, },
{ {
name: "Slovenčina (Slovak)", name: "Slovenčina (Slovak)",
value: "sk-SK", value: "sk-SK",
progress: 46, progress: 47,
dir: "ltr", dir: "ltr",
}, },
{ {
name: "Pусский (Russian)", name: "Pусский (Russian)",
value: "ru-RU", value: "ru-RU",
progress: 46, progress: 44,
dir: "ltr", dir: "ltr",
}, },
{ {
name: "Română (Romanian)", name: "Română (Romanian)",
value: "ro-RO", value: "ro-RO",
progress: 45, progress: 44,
dir: "ltr", dir: "ltr",
}, },
{ {
name: "Português (Portuguese)", name: "Português (Portuguese)",
value: "pt-PT", value: "pt-PT",
progress: 40, progress: 39,
dir: "ltr", dir: "ltr",
}, },
{ {
name: "Português do Brasil (Brazilian Portuguese)", name: "Português do Brasil (Brazilian Portuguese)",
value: "pt-BR", value: "pt-BR",
progress: 49, progress: 46,
dir: "ltr", dir: "ltr",
}, },
{ {
name: "Polski (Polish)", name: "Polski (Polish)",
value: "pl-PL", value: "pl-PL",
progress: 53, progress: 49,
dir: "ltr", dir: "ltr",
}, },
{ {
name: "Norsk (Norwegian)", name: "Norsk (Norwegian)",
value: "no-NO", value: "no-NO",
progress: 43, progress: 42,
dir: "ltr", dir: "ltr",
}, },
{ {
name: "Nederlands (Dutch)", name: "Nederlands (Dutch)",
value: "nl-NL", value: "nl-NL",
progress: 59, progress: 54,
dir: "ltr", dir: "ltr",
}, },
{ {
@@ -105,13 +105,13 @@ export const LOCALES = [
{ {
name: "Lietuvių (Lithuanian)", name: "Lietuvių (Lithuanian)",
value: "lt-LT", value: "lt-LT",
progress: 31, progress: 30,
dir: "ltr", dir: "ltr",
}, },
{ {
name: "한국어 (Korean)", name: "한국어 (Korean)",
value: "ko-KR", value: "ko-KR",
progress: 39, progress: 38,
dir: "ltr", dir: "ltr",
}, },
{ {
@@ -123,73 +123,73 @@ export const LOCALES = [
{ {
name: "Italiano (Italian)", name: "Italiano (Italian)",
value: "it-IT", value: "it-IT",
progress: 52, progress: 49,
dir: "ltr", dir: "ltr",
}, },
{ {
name: "Íslenska (Icelandic)", name: "Íslenska (Icelandic)",
value: "is-IS", value: "is-IS",
progress: 46, progress: 43,
dir: "ltr", dir: "ltr",
}, },
{ {
name: "Magyar (Hungarian)", name: "Magyar (Hungarian)",
value: "hu-HU", value: "hu-HU",
progress: 48, progress: 46,
dir: "ltr", dir: "ltr",
}, },
{ {
name: "Hrvatski (Croatian)", name: "Hrvatski (Croatian)",
value: "hr-HR", value: "hr-HR",
progress: 29, progress: 30,
dir: "ltr", dir: "ltr",
}, },
{ {
name: "עברית (Hebrew)", name: "עברית (Hebrew)",
value: "he-IL", value: "he-IL",
progress: 72, progress: 64,
dir: "rtl", dir: "rtl",
}, },
{ {
name: "Galego (Galician)", name: "Galego (Galician)",
value: "gl-ES", value: "gl-ES",
progress: 39, progress: 38,
dir: "ltr", dir: "ltr",
}, },
{ {
name: "Français (French)", name: "Français (French)",
value: "fr-FR", value: "fr-FR",
progress: 74, progress: 67,
dir: "ltr", dir: "ltr",
}, },
{ {
name: "Français canadien (Canadian French)", name: "Français canadien (Canadian French)",
value: "fr-CA", value: "fr-CA",
progress: 99, progress: 83,
dir: "ltr", dir: "ltr",
}, },
{ {
name: "Belge (Belgian)", name: "Belge (Belgian)",
value: "fr-BE", value: "fr-BE",
progress: 40, progress: 39,
dir: "ltr", dir: "ltr",
}, },
{ {
name: "Suomi (Finnish)", name: "Suomi (Finnish)",
value: "fi-FI", value: "fi-FI",
progress: 41, progress: 40,
dir: "ltr", dir: "ltr",
}, },
{ {
name: "Eesti (Estonian)", name: "Eesti (Estonian)",
value: "et-EE", value: "et-EE",
progress: 47, progress: 44,
dir: "ltr", dir: "ltr",
}, },
{ {
name: "Español (Spanish)", name: "Español (Spanish)",
value: "es-ES", value: "es-ES",
progress: 47, progress: 45,
dir: "ltr", dir: "ltr",
}, },
{ {
@@ -201,43 +201,43 @@ export const LOCALES = [
{ {
name: "British English", name: "British English",
value: "en-GB", value: "en-GB",
progress: 45, progress: 42,
dir: "ltr", dir: "ltr",
}, },
{ {
name: "Ελληνικά (Greek)", name: "Ελληνικά (Greek)",
value: "el-GR", value: "el-GR",
progress: 42, progress: 41,
dir: "ltr", dir: "ltr",
}, },
{ {
name: "Deutsch (German)", name: "Deutsch (German)",
value: "de-DE", value: "de-DE",
progress: 98, progress: 83,
dir: "ltr", dir: "ltr",
}, },
{ {
name: "Dansk (Danish)", name: "Dansk (Danish)",
value: "da-DK", value: "da-DK",
progress: 66, progress: 63,
dir: "ltr", dir: "ltr",
}, },
{ {
name: "Čeština (Czech)", name: "Čeština (Czech)",
value: "cs-CZ", value: "cs-CZ",
progress: 45, progress: 43,
dir: "ltr", dir: "ltr",
}, },
{ {
name: "Català (Catalan)", name: "Català (Catalan)",
value: "ca-ES", value: "ca-ES",
progress: 41, progress: 40,
dir: "ltr", dir: "ltr",
}, },
{ {
name: "Български (Bulgarian)", name: "Български (Bulgarian)",
value: "bg-BG", value: "bg-BG",
progress: 51, progress: 49,
dir: "ltr", dir: "ltr",
}, },
{ {