Faciliter la traduction d'un programme vb

Description

Cette source évite l'utilisation de ResString.
Elle comprend 4 fichiers : le premier, modLanguage, contient de nombreuses fonctions pour traduire automatiquement une feuille ; le deuxième, modLNG_79535925 est un exemple de fichier de traduction ; le troisième est un petit programme qui transforme les codes ISO en codes LNG et vice-versa ; le dernier, frmDebug, est une feuille qui peut servir à tester le système de traduction.
Je conseille de nommer les contrôles explicitement dans votre programme et de mettre chaque langue dans un module différent pour simplifier la mise à jour.

Source / Exemple :


'Voici les membres de modLanguage :
CurrentLNG_ID 'de type Long, contient le code LNG actuellement utilisé dans le programme
NearLNG_ID 'de type Long, en cours de test, permettra de choisir une langue « proche » c'est-à-dire par exemple Français (standard) à la place de Français (Belgique) quand ce dernier n'est pas disponible
DefaultLNG_ID 'de type Long, permet de spécifier au moment de la compilation une langue par défaut dans votre programme (cf. la définition de cette variable en haut du module)
DebugChar() 'fonction permettant selon les arguments passées en ligne de commande d'afficher Chr(127) ou "" dans les propriétés des contrôles non traduits
GetInfoText(InfoType) 'fonction permettant de récupérer des informations dans un fichier texte
GetUserDefaultLangID() 'fonction permettant de récupérer le LangID de l'utilisateur (paramètre système)
LNG_ID() 'fonction permettant de traduire un code ISO en code LNG
LNG_ISO() 'fonction permettant de traduire un code LNG en code ISO
LocalLNG_ID([Compatible],[Mode]) 'fonction en test, permettant de récupérer la langue la plus proche des habitudes de l'utilisateur en fonction des paramètres système et application
SetCurrentLNG_ID([OptLNG_ID]) 'fonction permettant de définir la langue actuellement utilisée ; OptLNG_ID force l'utilisation de la langue ayant ce code LNG
TranslateForm(SourceForm,[OptLNG_ID]) 'fonction permettant de traduire une feuille, éventuellement en spécifiant une langue différente de la langue en cours via le paramètre OptLNG_ID
Translation(Form,Element,[OptLNG_ID]) 'fonction permettant de récupérer la traduction d'un élément (c'est-à-dire d'un ensemble <contrôle>.<propriété>)
'Autres fonctions : testent la traduction pour faciliter le débogage, elles seront documentées plus tard

Conclusion :


Je fournirai bientôt un programme qui générera directement les modules des langues, avec une interface WYSIWYG.
Désolé pour le manque de documentation, il est dû à mon actuel manque de temps ! Je corrigerai ça plus tard.

Note : les codes dits « ISO » sont basés sur les spécifications ISO pour la représentaion des noms de langue et des noms de pays, respectivement ISO 639-2 Alpha-3 et ISO 3166-1 Alpha-3.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.