Up ! Translator

Ceci est le fichier source du programme exécutable Up ! Translator.

Source Composant "Up ! Translator" Version 4.0.0;

ImporterModule
/************/


Parametre <upstrn> Section "UpsTrn"
/*********************************/
Prive :
/*****/
Variable
/******/
Prive :
/*****/
Prive :
/*****/
Fonction AppliquerAuxFichiersDuRepertoire2(NomRepertoire:Caractere, Filtre:Caractere, /***********************************************************************************/
Variable
/******/
Debut ListeFichiers=ListerFichiers(NomRepertoire,Filtre);
Si ListeFichiers!=Nul Alors Fin Si
Retourner Vrai;
Fin Fonction

Fonction AppliquerAuxFichiersDuRepertoire(Traitement : Fonction(NomDuRepertoire:Caractere, /****************************************************************************************/
Variable
/******/
Debut Numero=1;
TantQue Vrai Faire Fin TantQue
Retourner Vrai;
Fin Fonction

Fonction ChargerUnFichierMessage(NomDuRepertoire:Caractere, NomFichierMessage:Caractere) Retourner Booleen
/********************************************************************************************************/
Debut
Si Detail Alors Fin Si
Si Non ChargerFichierMessage(NomDuRepertoire+NomFichierMessage) Alors Fin Si
Retourner Vrai;
Fin Fonction

Procedure EnvoyerMessageConstituer(LibelleSection:Caractere, MotCle:Caractere)
/****************************************************************************/
Debut
Ecran.Ecrire(Message(UpsTrn,"TraductionSupprimee",MotCle,LibelleSection));
Fin Procedure

Fonction ExecuterConstituer() Retourner Entier
/********************************************/
Debut
SousActionDeConstituer=ActionConstituer(SousAction);
Si ((SousActionDeConstituer!=ConstituerCreation) Et (ThesaurusDepart==Nul)) Ou (ThesaurusArrivee==Nul) Alors Fin Si
Si (SousActionDeConstituer==ConstituerCreation) Et IlExisteFichier(UpsHome+"upsnls/upsnls/"+LanguesSupportees(Langue)+"/"+ThesaurusArrivee+".nlt") Alors Fin Si

Si ThesaurusDepart!=Nul Alors Fin Si

Si AppliquerAuxFichiersDuRepertoire(ChargerUnFichierMessage) Alors Fin Si
Ecran.Ecrire("\n"+Message(UpsTrn,"GenerationUpsTrnEnEchec",ThesaurusArrivee));
Retourner 1;
Fin Fonction

Procedure EnvoyerMessageTraduire(LibelleSection:Caractere,MotCle:Caractere)
/*************************************************************************/
Debut
Ecran.Ecrire(Message(UpsTrn,"TraductionManquante",MotCle,LibelleSection));
Fin Procedure

Fonction TraduireUnFichier(NomDuRepertoire:Caractere, NomFichier:Caractere) Retourner Booleen
/*******************************************************************************************/
Debut
Si Detail Alors Sinon Fin Si
Retourner Vrai;
Fin Fonction

Fonction ExecuterTraduire() Retourner Entier
/******************************************/
Variable
/******/
Debut
LangueDepartDecodee=LanguesSupportees(LangueDepart);
LangueArriveeDecodee=LanguesSupportees(LangueArrivee);
Si LangueDepartDecodee==LangueArriveeDecodee Alors Fin Si

Numero=1;
TantQue Vrai Faire Fin TantQue

Si Non IlExisteThesaurus Alors Fin Si

Si AppliquerAuxFichiersDuRepertoire(TraduireUnFichier) Alors Sinon Fin Si
Fin Fonction

Procedure EnvoyerMessageFormater(NomFichier:Caractere)
/****************************************************/
Debut
Ecran.Ecrire(Message(UpsTrn,"FormatageFichier",NomFichier));
Fin Procedure

Fonction ExecuterFormater() Retourner Entier
/******************************************/
Debut
FormatDeFormater=FormatThesaurus(Format);
LangueCibleDecodee=LanguesSupportees(LangueCible);

Si FormaterThesaurus(Thesaurus,FormatDeFormater,LangueCibleDecodee, Sinon Fin Si
Fin Fonction

Procedure EnvoyerMessageFormaterInverse(MessageEnvoye:Caractere)
/**************************************************************/
Debut
Ecran.Ecrire(Message(UpsTrn,"FormatageDepuisFichier",MessageEnvoye));
Fin Procedure

Procedure EnvoyerMessageFormaterInverse2(LibelleSection:Caractere, MotCle:Caractere)
/**********************************************************************************/
Debut
Ecran.Ecrire(Message(UpsTrn,"TraductionManquante",MotCle,LibelleSection));
Fin Procedure

Fonction ExecuterFormaterInverse() Retourner Entier
/*************************************************/ Debut
Si Thesaurus==Nul Alors Fin Si
FormatDeFormater=FormatThesaurus(Format);
LangueDepartDecodee=LanguesSupportees(LangueDepart);
LangueArriveeDecodee=LanguesSupportees(LangueArrivee);

Si Detail Alors Fin Si
Si Non ChargerThesaurus(Thesaurus,LangueDepartDecodee,Vrai) Alors Fin Si
Si IlExisteFichier(UpsHome+"upsnls/upsnls/"+LanguesSupportees(LangueArriveeDecodee)+"/"+Thesaurus+".nlt") Alors Fin Si

Si FormaterInverseThesaurus(Thesaurus,FormatDeFormater,LangueDepartDecodee,LangueArriveeDecodee, Sinon Fin Si
Retourner 1;
Fin Fonction

Principal
/*******/
Debut
Si Entete Alors Fin Si

Selon Action Faire Fin Selon
Fin Principal