Textes et traductions¶
MRBS sépare le vocabulaire de l’interface, les formulations propres au site, les pages d’aide et ce manuel MkDocs. Choisir le bon niveau simplifie les mises à niveau.
| Tâche | Emplacement correct |
|---|---|
| Renommer un libellé pour ce site | $vocab_override dans config.inc.php |
| Ajouter ou améliorer une langue de l’interface MRBS | web/lang/lang.<langue> |
| Traduire ou adapter l’aide dans l’application | web/site_faq/site_faq_<langue>.html |
| Traduire ce manuel | Fichier avec suffixe de langue sous docs/ |
Remplacer le texte d’un site¶
Ne pas modifier un fichier de langue livré uniquement pour renommer « Salle »
ou le titre du site. Rechercher la clé dans web/lang/lang.en, puis la
remplacer :
$vocab_override['en']['mrbs'] = 'Resource Booking';
$vocab_override['de']['mrbs'] = 'Ressourcenbuchung';
$vocab_override['fr']['mrbs'] = 'Réservation de ressources';
$vocab_override['es']['mrbs'] = 'Reserva de recursos';
L’ordre est toujours langue puis clé : $vocab_override[LANG][TOKEN].
Exemples de clés propres au site :
$vocab_override['fr']['room.coffee_machine'] = 'Machine à café';
$vocab_override['fr']['entry.catering'] = 'Restauration';
$vocab_override['fr']['entry.description.placeholder'] =
'Ajoutez les informations destinées à l’équipe';
$vocab_override['fr']['users.zip_code.oninvalid'] =
'Saisissez un code postal valide';
$vocab_override['fr']['type.C'] = 'Réservation client';
Voir Champs personnalisés. Les descriptions des types de
réservation utilisent type.X, X étant le code configuré.
Ces substitutions survivent aux mises à niveau car elles restent dans la configuration locale. Vérifier toutefois leur sens si une version modifie le contexte de la clé originale.
Conserver les marqueurs¶
Les textes peuvent contenir des marqueurs printf comme %s, %d ou une
forme positionnelle telle que %1$d. Conserver chaque marqueur et son type.
L’ordre des arguments ne peut changer qu’avec les formes positionnelles.
Conserver aussi les fragments HTML voulus, la ponctuation significative et les espaces intentionnels. Tester les textes avec zéro, une et plusieurs valeurs.
Choisir la langue d’exécution¶
Par défaut, MRBS utilise la langue du navigateur :
Pour imposer une langue :
La valeur doit correspondre à un fichier web/lang/lang.*. La locale des
dates et heures se règle séparément :
Le système d’exploitation du serveur doit prendre la locale en charge.
$cli_language concerne les commandes sans navigateur. Pour diagnostiquer,
$language_debug = true écrit les informations de langue et de locale dans le
journal d’erreurs ; le désactiver ensuite.
Ajouter ou maintenir une langue¶
L’anglais est la référence et la langue de repli. Pour le code détecté xx :
Ensuite :
- Conserver la ligne d’ouverture PHP et toutes les clés
$vocab. - Traduire les valeurs, jamais les noms des clés.
- Enregistrer en UTF-8.
- N’utiliser aucune entité HTML sauf
; saisir directement les caractères UTF-8. - Conserver marqueurs de substitution et balisage intentionnel.
- Valider la syntaxe PHP.
MRBS charge d’abord la référence anglaise, puis la langue choisie. Une clé manquante revient donc à l’anglais.
Vérifier l’exhaustivité¶
checklang.php compare les fichiers avec lang.en. Sur une instance de
développement, le script se trouve dans le répertoire web MRBS :
Sans sélection, il propose toutes les langues installées. Sa fonction de mise à jour écrit les fichiers et exige des droits d’écriture : ne pas l’utiliser en production et examiner ses modifications. Protéger ou retirer cet outil d’un site public après le contrôle.
La validation syntaxique et checklang.php détectent des problèmes différents ;
utiliser les deux.
Traduire l’aide dans l’application¶
L’aide ne provient pas de $vocab, mais de fichiers séparés :
web/site_faq/site_faq.html
web/site_faq/site_faq_de.html
web/site_faq/site_faq_fr.html
web/site_faq/site_faq_es.html
Choisir le suffixe sans trait de soulignement :
Les anciennes valeurs telles que '_fr' restent acceptées mais sont
obsolètes. Ce réglage est indépendant de la langue du navigateur. Documenter
les modifications locales des fichiers FAQ et les fusionner lors des mises à
niveau.
Traduire ce manuel¶
Le site documentaire utilise des suffixes :
docs/admin-guide/custom-fields.md
docs/admin-guide/custom-fields.de.md
docs/admin-guide/custom-fields.fr.md
docs/admin-guide/custom-fields.es.md
L’anglais est la langue de repli de la documentation. Ces fichiers ne modifient ni l’interface MRBS ni sa page d’aide.
Processus résistant aux mises à niveau¶
- Placer les textes propres au site dans
$vocab_override. - Inventorier les fichiers de langue et de FAQ maintenus localement.
- Comparer ancien et nouveau
lang.enpour repérer les clés ajoutées ou modifiées. - Exécuter
php -lsur chaque fichier de langue changé. - Exécuter
checklang.phpsur une instance de développement protégée. - Examiner séparément les changements de FAQ.
- Tester toutes les langues actives avant le déploiement.
Liste de vérification¶
- Détection du navigateur et langue imposée choisissent la valeur attendue.
- Les clés absentes reviennent à un anglais compréhensible.
- Navigation, formulaires, erreurs, validations et administration s’affichent correctement.
%s,%det marqueurs positionnels reçoivent les bonnes valeurs.- Dates, heures, jours et fuseaux utilisent la locale voulue.
- E-mails, rapports, exports et commandes utilisent la langue attendue.
- Champs personnalisés, types, indicateurs et erreurs de validation sont traduits.
- L’aide utilise le fichier
site_faqattendu. - Les journaux ne gardent ni débogage linguistique ni données sensibles.