Import initial de Vivier depuis l'hebergement OVH

This commit is contained in:
Yann PILLA committed 2026-10-16 21:52:44 +02:00
commit 839e5e57c5
126 files changed
+22447

No files matched your search

+39
View File
@@ -0,0 +1,39 @@
<?php
// Tests de la traduction : php tests/test_i18n.php
declare(strict_types=1);
const VIVIER_RACINE = __DIR__ . '/..';
require __DIR__ . '/../src/i18n.php';
$ok = 0; $ko = 0;
function verifier(string $nom, bool $cond): void {
global $ok, $ko;
if ($cond) { $ok++; } else { $ko++; echo "ECHEC : $nom\n"; }
}
verifier('français : le texte est rendu tel quel', t('Profils') === 'Profils');
verifier('français : variables', t('Conservation prolongée de %d mois.', 24) === 'Conservation prolongée de 24 mois.');
verifier('français : accord', tn(1, '%d profil', '%d profils') === '1 profil' && tn(3, '%d profil', '%d profils') === '3 profils');
verifier('français : nombre', nombre(9.10) === '9,1' && nombre(17.0) === '17' && annees(1) === '1 an' && annees(9.1) === '9,1 ans');
langue_courante('en');
verifier('anglais : traduction', t('Profils') === 'Profiles');
verifier('anglais : variables', t('Conservation prolongée de %d mois.', 24) === 'Retention extended by 24 months.');
verifier('anglais : accord', tn(1, '%d profil', '%d profils') === '1 profile' && tn(3, '%d profil', '%d profils') === '3 profiles');
verifier('anglais : nombre', nombre(9.10) === '9.1' && annees(9.1) === '9.1 years');
verifier('anglais : clé absente rendue en français', t('Texte jamais traduit') === 'Texte jamais traduit');
verifier('anglais : journal à partie variable', t_journal('Import de CV_Test.pdf') === 'Import of CV_Test.pdf' && t_journal('Traduction en anglais') === 'Translation into English');
verifier('langue inconnue ignorée', langue_courante('xx') === 'en');
verifier('allemand : libellés du CV', traduire('Compétences techniques', 'de') === 'Technische Kenntnisse' && annees(9.1, 'de') === '9,1 Jahre');
// Chaque traduction garde les mêmes variables que le texte français
foreach (['en', 'de'] as $langue) {
$ecarts = [];
foreach (dictionnaire($langue) as $fr => $traduit) {
preg_match_all('/%[sd]/', $fr, $a); preg_match_all('/%[sd]/', $traduit, $b);
if ($a[0] !== $b[0]) { $ecarts[] = $fr; }
}
verifier("$langue : variables identiques dans chaque traduction" . ($ecarts ? ' (' . implode(' | ', $ecarts) . ')' : ''), !$ecarts);
}
echo "$ok réussis, $ko échoués\n";
exit($ko > 0 ? 1 : 0);