Skip to content

Commit

Permalink
Improve translations and CI
Browse files Browse the repository at this point in the history
  • Loading branch information
filisko committed Feb 9, 2025
1 parent 015e87b commit 8cec2f1
Show file tree
Hide file tree
Showing 20 changed files with 57 additions and 83 deletions.
29 changes: 19 additions & 10 deletions ci/check_validators_translations.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,32 +8,41 @@
});

$totalMissingTranslations = 0;
$totalDeprecatedTranslations = 0;

foreach ($languages as $language) {
printf('Checking validators for language %s...'.PHP_EOL.PHP_EOL, $language);

$translations = array_map(function($item) {
return str_replace('validate_', '', $item);
// }, array_keys(require 'lang/en.php'));
}, array_keys(require 'lang/'.$language));

$missingTranslations = array_diff($validators, $translations);
$deprecatedTranslations = array_diff($translations, $validators);

$totalMissingTranslations += count($missingTranslations);
$totalDeprecatedTranslations += count($deprecatedTranslations);

if (count($missingTranslations) > 0 || count($deprecatedTranslations) > 0) {
printf('Detected some issues in %s...'.PHP_EOL.PHP_EOL, $language);

if (count($missingTranslations) > 0) {
foreach ($missingTranslations as $missingTranslation) {
print(sprintf('%s error message is missing!', $missingTranslation).PHP_EOL);
print(sprintf('"%s" error message is missing!', $missingTranslation).PHP_EOL);
}

print(PHP_EOL.'Please add missing translations to lang/en.php file.'.PHP_EOL);
} else {
print('Translation checks successfully passed!'.PHP_EOL);
}
foreach ($deprecatedTranslations as $deprecatedTranslation) {
print(sprintf('⮕ "%s" error message is deprecated!', $deprecatedTranslation).PHP_EOL);
}

echo '======================================================'.PHP_EOL.PHP_EOL;
printf(PHP_EOL.'Please add the missing or remove the outdated translations in lang/%s file.'.PHP_EOL, $language);

echo '======================================================'.PHP_EOL.PHP_EOL;
}
}

if ($totalMissingTranslations > 0) {
printf('%d translations missing'.PHP_EOL, $totalMissingTranslations);
if ($totalMissingTranslations > 0 || $totalDeprecatedTranslations > 0) {
printf('%d translations missing and %d deprecated'.PHP_EOL, $totalMissingTranslations, $totalDeprecatedTranslations);
exit(1);
}

print('Translation checks successfully passed!'.PHP_EOL);
2 changes: 1 addition & 1 deletion lang/de.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
'alpha' => 'Das Feld "{field}" darf nur Buchstaben enthalten.',
'alpha_numeric' => 'Das Feld "{field}" darf nur Buchstaben und Ziffern enthalten.',
'alpha_numeric_space' => 'Das Feld "{field}" darf nur Buchstaben, Ziffern und Leerzeichen enthalten.',
'alpha_numeric_dash' => 'Das Feld "{field}" darf nur Buchstaben, Ziffern und Leerzeichen enthalten.',
'alpha_dash' => 'Das Feld "{field}" darf nur Buchstaben und Bindestriche enthalten.',
'alpha_space' => 'Das Feld "{field}" darf nur Buchstaben und Leerzeichen enthalten.',
'numeric' => 'Das Feld "{field}" muss eine Nummer sein.',
Expand All @@ -32,7 +33,6 @@
'min_numeric' => 'Das Feld "{field}" muss ein numerischer Wert größergleich {param} sein.',
'max_numeric' => 'Das Feld "{field}" muss ein numerischer Wert kleinergleich {param} sein.',
'min_age' => 'Das Feld "{field}" muss ein Alter größergleich {param} haben.',
'invalid' => 'Das Feld "{field}" ist ungültig.',
'starts' => 'Das Feld "{field}" muss mit {param} beginnen.',
'extension' => 'Das Feld "{field}" kann nur eine der folgenden Erweiterungen haben: {param}',
'required_file' => 'Das Feld "{field}" ist erforderlich.',
Expand Down
7 changes: 0 additions & 7 deletions lang/el.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@
'min_numeric' => 'Το πεδίο {field} πρέπει να είναι αριθμητική τιμή, ίση ή μεγαλύτερη από {param}',
'max_numeric' => 'Το πεδίο {field} πρέπει να είναι αριθμητική τιμή, ίση ή μικρότερη από {param}',
'min_age' => 'Το πεδίο {field} πρέπει να είναι ηλικία μεγαλύτερη ή ίση με {param}',
'invalid' => 'Το πεδίο {field} δεν είναι έγκυρο',
'starts' => 'Το πεδίο {πεδίο} πρέπει να αρχίζει με {param}',
'extension' => 'Το πεδίο {field} μπορεί να έχει μόνο μία από τις ακόλουθες επεκτάσεις: {param}',
'required_file' => 'Το πεδίο {field} είναι απαραίτητο',
Expand All @@ -45,10 +44,4 @@
'valid_array_size_greater' => 'Το πεδίο {field} πρέπει να είναι πίνακας με μέγεθος, ίσο ή μεγαλύτερο από {param}',
'valid_array_size_lesser' => 'Το πεδίο {field} πρέπει να είναι πίνακας με μέγεθος, ίσο ή μικρότερο από {param}',
'valid_array_size_equal' => 'Το πεδίο {field} πρέπει να είναι πίνακας με μέγεθος {param}',
'valid_persian_name' => 'Το {field} πρέπει να είναι ένα έγκυρο Περσικό/Dari ή Αραβικό όνομα',
'valid_eng_per_pas_name' => 'Το {field} θα πρέπει να είναι ένα έγκυρο Αγγλικό, Περσικό/Dari/Pashtu ή Αραβικό όνομα',
'valid_persian_digit' => 'Το {field} θα πρέπει να είναι ένα έγκυρο ψηφίο σε Περσική/Dari ή Αραβική μορφή',
'valid_persian_text' => 'Το {field} πρέπει να είναι έγκυρο κείμενο σε Περσική/Dari ή Αραβική μορφή',
'valid_pashtu_text' => 'Το {field} πρέπει να είναι έγκυρο κείμενο σε μορφή Pashtu',
'valid_twitter' => 'Το {field} δεν είναι έγκυρη λαβή twitter',
);
7 changes: 0 additions & 7 deletions lang/en.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@
'min_numeric' => 'The {field} field needs to be a numeric value, equal to, or higher than {param}',
'max_numeric' => 'The {field} field needs to be a numeric value, equal to, or lower than {param}',
'min_age' => 'The {field} field needs to have an age greater than or equal to {param}',
'invalid' => 'The {field} field is invalid',
'starts' => 'The {field} field needs to start with {param}',
'extension' => 'The {field} field can only have one of the following extensions: {param}',
'required_file' => 'The {field} field is required',
Expand All @@ -45,10 +44,4 @@
'valid_array_size_greater' => 'The {field} fields needs to be an array with a size, equal to, or higher than {param}',
'valid_array_size_lesser' => 'The {field} fields needs to be an array with a size, equal to, or lower than {param}',
'valid_array_size_equal' => 'The {field} fields needs to be an array with a size equal to {param}',
'valid_persian_name' => 'The {field} should be a valid Persian/Dari or Arabic name',
'valid_eng_per_pas_name' => 'The {field} should be a valid English, Persian/Dari/Pashtu or Arabic name',
'valid_persian_digit' => 'The {field} should be a valid digit in Persian/Dari or Arabic format',
'valid_persian_text' => 'The {field} should be a valid text in Persian/Dari or Arabic format',
'valid_pashtu_text' => 'The {field} should be a valid text in Pashtu format',
'valid_twitter' => 'The {field} is not a valid twitter handle',
);
9 changes: 2 additions & 7 deletions lang/eo.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
'max_len' => 'La kampo “{field}” devas enhavi maksimume {param} signojn',
'min_len' => 'La kampo “{field}” devas enhavi minimume {param} signojn',
'exact_len' => 'La kampo “{field}” devas enhavi precize {param} signojn',
'between_len' => 'La kampo “{field}” devas enhavi inter {param} kaj {param2} signojn',
'alpha_numeric_dash' => 'La kampo “{field}” povas enhavi nur leterojn, ciferojn kaj streketojn',
'alpha' => 'La kampo “{field}” povas enhavi nur leterojn',
'alpha_numeric' => 'La kampo “{field}” povas enhavi nur leterojn kaj ciferojn',
'alpha_numeric_space' => 'La kampo “{field}” povas enhavi nur leterojn, ciferojn kaj spacetojn',
Expand All @@ -31,7 +33,6 @@
'min_numeric' => 'La kampo “{field}” devas esti nombra valoro egala aŭ pli granda ol {param}',
'max_numeric' => 'La kampo “{field}” devas esti nombra valoro egala aŭ malpli granda ol {param}',
'min_age' => 'La kampo “{field}” devas enhavi aĝon egalan aŭ pli altan ol {param}',
'invalid' => 'La kampo “{field}” estas nevalida',
'starts' => 'La kampo “{field}” devas komenciĝi per {param}',
'extension' => 'La dosiero “{field}” povas havi nur unu el la jenaj finaĵoj: {param}',
'required_file' => 'La dosiero “{field}” estas deviga',
Expand All @@ -43,10 +44,4 @@
'valid_array_size_greater' => 'La kampoj “{field}” devas esti tabelo kun grandeco egala aŭ pli granda ol {param}',
'valid_array_size_lesser' => 'La kampoj “{field}” devas esti tabelo kun grandeco egala aŭ malpli granda ol {param}',
'valid_array_size_equal' => 'La kampoj “{field}” devas esti tabelo kun grandeco egala je {param}',
'valid_persian_name' => 'La kampo “{field}” devas esti valida persa/daria aŭ araba nomo',
'valid_eng_per_pas_name' => 'La kampo “{field}” devas esti valida angla, persa/daria/paŝtuna aŭ araba nomo',
'valid_persian_digit' => 'La kampo “{field}” devas esti valida cifero en persa/daria aŭ araba formato',
'valid_persian_text' => 'La kampo “{field}” devas esti valida teksto en persa/daria aŭ araba formato',
'valid_pashtu_text' => 'La kampo “{field}” devas esti valida teksto en paŝtuna formato',
'valid_twitter' => 'La kampo “{field}” ne estas valida Twitter-uzantnomo',
);
3 changes: 2 additions & 1 deletion lang/es.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
'max_len' => 'El campo {field} no puede tener más de {param} caracteres de longitud',
'min_len' => 'El campo {field} debe tener al menos {param} caracteres de longitud',
'exact_len' => 'El campo {field} debe tener {param} caracteres de longitud',
'between_len' => 'El campo {field} debe tener entre {param} y {param2} caracteres',
'alpha_numeric_dash' => 'El campo {field} solo puede contener letras, números y guiones',
'alpha' => 'El campo {field} sólo puede contener letras',
'alpha_numeric' => 'El campo {field} sólo puede contener letras y números',
'alpha_numeric_space' => 'El campo {field} solo puede contener letras, números y espacios',
Expand All @@ -31,7 +33,6 @@
'min_numeric' => 'El campo {field} debe ser un valor numérico mayor o igual que {param}',
'max_numeric' => 'El campo {field} debe ser un valor numérico menor o igual que {param}',
'min_age' => 'El campo {field} debe tener una edad mayor o igual que {param}',
'invalid' => 'El campo {field} es inválido',
'starts' => 'El campo {field} debe comenzar con {param}',
'extension' => 'El campo {field} puede contener una de las siguientes extensiones {param}',
'required_file' => 'El campo {field} es requerido',
Expand Down
8 changes: 2 additions & 6 deletions lang/fa.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
'max_len' => '{field} باید حد اکثر {param} کاراکتر یا کمتر باشد',
'min_len' => '{field} باید حد اقل {param} کاراکتر یا بیشتر باشد',
'exact_len' => '{field} باید دقیقا {param} کاراکتر باشد',
'between_len' => '{field} باید بین {param} و {param2} کاراکتر باشد',
'alpha_numeric_dash' => '{field} فقط باید شامل حروف، اعداد و خط فاصله باشد',
'alpha' => '{field} فقط باید شامل حروف باشد',
'alpha_numeric' => '{field} فقط باید شامل حروف و اعداد باشد',
'alpha_numeric_space' => '{field} فقط باید شامل حروف، اعداد و فاصله باشد',
Expand All @@ -31,7 +33,6 @@
'min_numeric' => '{field} باید یک مقدار عددی مساوی یا بزرگتر از {param} باشد',
'max_numeric' => '{field} باید یک مقدار عددی مساوی یا کوچکتر از {param} باشد',
'min_age' => '{field} باید مقدار عمر یا سن شخص مساوی یا بزرگتر از {param} باشد',
'invalid' => '{field} درست یا معتبر نیست',
'starts' => '{field} باید با {param} شروع گردد',
'extension' => '{field} فقط میتواند یکی از پسوند های {param} را داشته باشد',
'required_file' => '{field} الزامی است',
Expand All @@ -43,9 +44,4 @@
'valid_array_size_greater' => '{field} باید یک آرایه که اندازه آن مساوی یا بزرگتر از {param} باشد',
'valid_array_size_lesser' => '{field} باید یک آرایه که اندازه آن مساوی یا کوچکتر از {param} باشد',
'valid_array_size_equal' => '{field} باید یک آرایه که اندازه آن برابر با {param} باشد',
'valid_persian_name' => '{field} باید یک نام معتبر فارسی/دری یا عربی باشد',
'valid_eng_per_pas_name' => '{field} باید یک نام معتبر انگلیسی، فارسی/دری، پشتو یا عربی باشد',
'valid_persian_digit' => '{field} باید یک عدد معتبر با فرمت فارسی/دری/پشتو یا عربی باشد',
'valid_persian_text' => '{field} باید یک متن معتبر به زبان فارسی/دری باشد',
'valid_pashtu_text' => '{field} باید یک متن معتبر به زبان پشتو باشد',
);
7 changes: 6 additions & 1 deletion lang/fr.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@
'valid_email' => 'Le champ {field} doit être un email valide',
'max_len' => 'Le champ {field} doit avoir un nombre de caractère de {param} ou moins',
'min_len' => 'Le champ {field} doit avoir un nombre de caractère de {param} ou plus',
'between_len' => 'Le champ {field} doit avoir un nombre de caractères entre {param} et {param2}',
'alpha_numeric_dash' => 'Le champ {field} doit seulement contenir des caractères alpha (a-z), numériques (0-9) et tirets',
'alpha_numeric_space' => 'Le champ {field} doit seulement contenir des caractères alpha (a-z), numériques (0-9) et espaces',
'exact_len' => 'Le champ {field} doit avoir un nombre de caractère de {param}',
'alpha' => 'Le champ {field} doit seulement contenir des caractères alpha (a-z)',
'alpha_numeric' => 'Le champ {field} doit seulement contenir des caractères alpha-numérique (a-z)',
Expand All @@ -30,13 +33,15 @@
'min_numeric' => 'Le champ {field} doit être une valeur numérique égale ou supérieur à {param}',
'max_numeric' => 'Le champ {field} doit être une valeur numérique égale ou inférieur à {param}',
'min_age' => 'Le champ {field} doit être un âge égal ou supérieur à {param}',
'invalid' => 'Le champ {field} est invalide',
'starts' => 'Le champ {field} doit commencer par {param}',
'extension' => 'Le champ {field} doit avoir les extensions suivantes {param}',
'required_file' => 'Le champ {field} est obligatoire',
'equalsfield' => 'Le champ {field} n'est pas égale au champ {param}',
'iban' => 'Le champ {field} doit contenir un IBAN valide',
'phone_number' => 'Le champ {field} doit contenir un numéro de téléphone valide',
'regex' => 'Le champ {field} doit contenir une valeur valide',
'valid_array_size_greater'=> 'Le champ {field} doit être un tableau dont la taille est supérieure ou égale à {param}',
'valid_array_size_lesser' => 'Le champ {field} doit être un tableau dont la taille est inférieure ou égale à {param}',
'valid_array_size_equal' => 'Le champ {field} doit être un tableau dont la taille est égale à {param}',
'valid_json_string' => 'Le champ {field} doit avoir un format JSON',
);
3 changes: 2 additions & 1 deletion lang/he.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
'max_len' => 'שדה {field} מוכרח להיות {param} תווים או פחות',
'min_len' => 'שדה {field} מוכרח להיות לפחות {param} תווים',
'exact_len' => 'שדה {field} מוכרח להיות בדיוק {param} תווים',
'between_len' => 'שדה {field} מוכרח להיות בין {param} ל-{param2} תווים.',
'alpha_numeric_dash' => 'שדה {field} יכול להכיל אותיות, מספרים ומקפים בלבד.',
'alpha' => 'שדה {field} יכול להכיל אותיות בלבד',
'alpha_numeric' => 'שדה {field} יכול להכיל אותיות ומספרים בלבד',
'alpha_numeric_space' => 'שדה {field} יכול להכיל אותיות, מספרים ורווחים בלבד',
Expand All @@ -31,7 +33,6 @@
'min_numeric' => 'שדה {field} מוכרח להיות ערך מספרי, שווה ל, או גבוה מ {param}',
'max_numeric' => 'שדה {field} מוכרח להיות ערך מספרי, שווה או נמוך מ {param}',
'min_age' => 'שדה {field} מוכרח להיות גיל גדול או שווה ל {param}',
'invalid' => 'שדה {field} אינו חוקי',
'starts' => 'שדה {field} מוכרח להתחיל עם {param}',
'extension' => 'שדה {field} יכול להיות רק אחת מן הסיומות הבאות: {param}',
'required_file' => 'שדה {field} הינו שדה קובץ חובה',
Expand Down
Loading

0 comments on commit 8cec2f1

Please sign in to comment.