L'internationalisation d'outils d'automatisation Windows, comme les scripts batch, nécessite des architectures adaptées pour gérer efficacemment les interfaces multilingues. Ce document explore une approche basée sur l'isolation des répertoires et la liaison statique des langues pour un utilitaire de mise à niveau système, permettant une expérience utilisateur cohérente à travers différentes locales.
Conception architecturale
Le projet adopte une structure de fichiers où chaque langue dispose d'un répertoire distinct contenant l'ensemble des ressources nécessaires. Cette séparation garentit l'indépendance des environnements linguistiques et évite les conflits de ressources.
Organisation des fichiers
Upgrade_Tool/
├── francais/ # Environnement français
│ ├── Upgrade_Tool.bat # Script batch localisé
│ ├── readme_fr.txt # Documentation en français
│ └── [optionnel]sources/ # Ressources d'installation
├── english/ # Environnement anglais
│ ├── Upgrade_Tool.bat # Script batch localisé
│ ├── readme_en.txt # Documentation en anglais
│ └── [optionnel]sources/ # Ressources d'installation
└── deutsch/ # Environnement allemand
├── Upgrade_Tool.bat # Script batch localisé
├── readme_de.txt # Documentation en allemand
└── [optionnel]sources/ # Ressources d'installation
Chaque répertoire correspondant à une langue contient un script batch autonome et une documentation traduite, assurant une cohérence fonctionnelle complète au sein de chaque locale.
Mécanisme de liaison des langues
L'internationalisation repose sur l'intégration directe des textes d'interface dans les scripts batch, éliminant ainsi le besoin de chragement dynamique de ressources. Chaque version linguistique est un exécutable indépendant avec tous les éléments de texte codés en dur.
Exemples de localisation des scripts
Le menu principal illustre cette intégration des textes dans le code :
Version française (fichier francais/Upgrade_Tool.bat) :
@echo off
echo Éléments sélectionnés :
echo Identifiant d'édition : %id_edition%
echo Nom du produit : %nom_produit% (extrait du registre)
Version anglaise (fichier english/Upgrade_Tool.bat) :
@echo off
echo Selected items:
echo Edition identifier: %edition_id%
echo Product name: %product_name% (retrieved from registry)
Version allemande (fichier deutsch/Upgrade_Tool.bat) :
@echo off
echo Ausgewählte Elemente:
echo Editionskennung: %ausgabe_id%
echo Produktname: %produkt_name% (aus Registry gelesen)
Processus de sélection de langue
L'utilisateur active un environnement linguistique en exécutant le script batch correspondant :
- Naviguer vers le répertoire de la langue souhaitée
- Exécuter le fichier
Upgrade_Tool.batpar double-clic - L'interface utilisateur s'affiche dans la langue correspondante
Stratégies de maintenance
La synchronisation des versions est critique pour maintenir la cohérence fonctionnelle. Tous les scripts partagent un numéro de version commun (par exemple, V2.4) avec un journal des modifications centralisé :
Historique des modifications :
V2.4
- Correction de la taille de fenêtre au démarrage
- Amélioration de la lisibilité du menu principal
V2.3
- Ajout du support pour Server 2025
Les traductions sont validées par des locuteurs natifs spécialisés, comme l'illustre l'adaptation technique de termes clés :
Identifiant de composition : %id_composition%
(version de base, version technique dérivée)
Évaluation et optimisations potentielles
Cette approche présente des avantages en termes de performance et de compatibilité, mais nécessite des efforts de maintenance accrus lors des mises à jour fonctionnelles. Pour améliorer la maintenabilité, des évolutions sont envisageables :
- Externalisation des chaînes de caractères dans des fichiers de configuration (.ini, .csv)
- Implémentation d'un sélecteur de langue dynamique au sein du script
- Intégration d'outils de traduction automatisée pour réduire la charge manuelle
L'utilisation de variables plus descriptives et d'une structure modulaire dans les scripts peut également faciliter la maintenance.