Import initial de Vivier depuis l'hebergement OVH
This commit is contained in:
commit
839e5e57c5
126 files changed
+22447
No files matched your search
@@ -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);
|
||||
Reference in new issue
Block a user