Traductions de logiciels ayant leur données dans des fichiers ini

Description

ce petit soft a été fait en 2h pour permettre à des linguiste de traduire MétaProg

il est simple

commencer par sélectionner un fichier ini suivant le format suivant:

[langues]
Com=langues de trad dispo...
Com=pour la traduction par le logiciel externe
Nb=4
1=Francais
2=Anglais
3=Espagnol
4=Allemand
5=Portuguais

[donnees]
Com=les données à traduire...
Com=pour la traduction par le logiciel externe
Nb=1
1=donnee1

[Francais]
donnee1=salut

[Anglais]
donnee1=hello

Allé bonne prog & @+

Source / Exemple :


le code comporte des application des combo box, fichier ini
et des controles sur boites de dialogue

_______________

après avoir inclu BFichierIni & BString 
& défini la cste 

typedef enum
{
	LANGUE_ANGLAISE,
	LANGUE_FRANCAISE,
}ELangues;

        2 variables globales (les seules...)
extern ELangues iLangageTrtt;	/// langage de traitement 
extern ELangues iLangageLogiciel;	/// langage du logiciel

#define FICHIER_INI "MetaPrg.ini"

qq macros depuis le programme pour acceder facilement a ces données :

#define GET_TXT_LANGUE(chaineDest,intitule,isForTrtt) do{\
	BString langue;\
	switch(isForTrtt?iLangageTrtt:iLangageLogiciel)\
	{\
	case LANGUE_ANGLAISE : langue="Anglais";break;\
	case LANGUE_FRANCAISE : langue="Francais";break;\
	default:BVisuel::informe("langue non définie - english selection by default...",false);langue="Anglais";\
	}\
	chaineDest=BFichierIni::get(langue,intitule,FICHIER_INI,true);\
	}while(0)

ex d'utilisation: GET_TXT_LANGUE(plomp,"princChoixSrceParDefaut",false);

____________________________________________________________________________

une 2e macro pour les tooltips 

/// --------------------------------------------------------
/// ---------------- MACRO : MACRO_INIT_TOOLTIP ----------------
/// --------------------------------------------------------
/// -----  Objectif	: récup d'un texte dans une langue paramétrée
/// -----  Auteur(s)	: Bruno CELLE 12/07/04
/// -----  PreCond	: infos ds FICHIER_INI
/// -----  PostCond	: /
/// -----  Etat		: 1			(-1<0<1<2)
/// -----  Nota		: info langue dans le fichier ini: ['param']'Langue' puis [langue choisie]
/// -----  MaJ 18/03/04 : nom langue récupéré dans le ini...
/// --------------------------------------------------------
/// -----  BString chaineDest : chaine à recup
/// -----  BString intitule : intitulé ds le fichier ini
/// -----  ELangageDeProg iLangageTrtt (var globale) : langage de traitement
/// --------------------------------------------------------
#define MACRO_INIT_TOOLTIP(STR_ID,ID) do{\
		BString msg;\
		GET_TXT_LANGUE(msg,STR_ID,false);\
		msg=msg.convertTxtMisEnForme();\
		m_tooltip.AddTool(GetDlgItem(ID), msg);\
	}while(0)

ex d'utilisation: MACRO_INIT_TOOLTIP("IDC_RDevToString",IDC_RDevToString);

Conclusion :


Le prj est complet et distribuable : licence type cardWare : envoyez moi un ptt mail...
Magicalement....
Bonne Prog
Nono

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.