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

Soyez le premier à donner votre avis sur cette source.

Vue 5 106 fois - Téléchargée 249 fois

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

Ajouter un commentaire

Commentaires

magic_Nono
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
Hello,
une source similaire
(comparaison à faire ultérieurement)

http://www.cppfrance.com/code.aspx?ID=10647
++
Nono.
victorcoasne
Messages postés
1100
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
17 octobre 2012
3
J'ai du tomber sur une erreur grave mais je sais plus comment j'ai fait vu que maintenant ça fonctionne
magic_Nono
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
victor> merci pr le 10/10

ceci dit, je ne comprend pas ta remarque,
j'ai redownloadé le src & lancé l'exe, po vu d'erreur sur ma station

pourrais tu expliciter stp?
merci
++
Nono.
victorcoasne
Messages postés
1100
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
17 octobre 2012
3
Quand il y a des erreur le titre est Visual C++ Runtime Library

10/10
magic_Nono
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
Ce soft a été inséré en tant que module dans MétaProg
il n'est donc plus maintenu...

si vous voulez le reprendre sachez qu'il comporte le bug suivant :
- certaines entrées ayant déjà une similaire ne sont pas crées
soluce : dans DGestionListe::OnChangeEnew , utiliser => FindStringExact



Bonne prog & en espérant que cela servira...

Rappel comme tous mes sources, licence cardWare : mettez un post sur cet article ou envoyez moi un mail expliquant brievement ce que vous en faites...

Magicalement...

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.