Loading...
 
Multi-Language Add-In for Visual Studio

Multi-Language Add-In for Visual Studio


Probleme de traduction pour site web dynamique en asp.net

Bonjour, j ai un sérieux problème mon site est dynamique c'est a dire que je fait recours a la base de données.Y a des mots ou des textes qui s affichent provenant de la base données et cette dernière est de nature fichier xml et les données sont dans les fichiers xml
donc ces données n arrivent donc pas a être traduit pourriez vous m'aider comment j arriverai a traduire ces données là afin qu elles soient traduits aussi au niveau de l'affichage du site web!
J attends impatiemment votre reponse merci et bon travail

Germany

C'est un problème difficile et elle n'est pas gérée par le Multi-Language Add-In.

Il y a aura toujours deux approches:

  • Conception de localisation dans votre base de données ou de structures XML à partir du début
  • Ajouter la localisation tard dans le développement


La première option est évidemment «meilleures pratiques».

Toutefois, à mon avis des outils logiciels sont souvent développés pour aider les utilisateurs qui ne suivent pas les meilleures pratiques.

J'ai un outil Multi-Language Database pour ajouter le support de localisation à une base de données. J'ai écrit cet outil il ya plusieurs années et - en effet - jamais vraiment évolué en un outil mature. L'idée était de définir des tables standardisées pour stocker des traductions associées à d'autres tables, et un programme de éditer les traductions. Vous pouvez télécharger ce d'ici. Le fichier d'aide décrit les tableaux qui l'ajoute à votre base de données.

Formats de fichier XML basés sont très diverses. Je ne pense pas qu'il y aura une solution de localisation généralisée pour les fichiers XML. À mon avis, la seule façon est de concevoir la localisation dans votre système depuis le début.

Phil


Bonjour phil

Mon application parvient a etre traduit du francais en anglais comme il se doit mais il y a certains string qui ne parviennent a etre traduit notamment ceux ci

toolBox1.AddTab(ml.ml_string(155, "Fichiers de Base"));
toolBox11.AddItem(ml.ml_string(107, "Place"), 1, 1);
toolBox11.AddItem(ml.ml_string(108, "Tarif"), 1, 1);
toolBox11.AddItem(ml.ml_string(110, "Bus"), 1, 1);
toolBox11.AddItem(ml.ml_string(106, "Chauffeur"), 1, 1);
toolBox11.AddItem(ml.ml_string(109, "Destination"), 1, 1);
toolBox11.AddItem(ml.ml_string(105, "Service"), 1, 1);

ces derniers lorsque je change par exemple ca reste figé ca change pas de langues ca reste en francais!

Pourriez vous m aider et me dre ou est le probleme

ok merci

Germany

J'espère que j'ai bien compris la question.

Lorsque tu ajoutes le soutien pour changer la langue pendent l'exécution, le Add-In crée une fonction ml_UpdateControls() dans chaque formulaire et chaque contrôle de l'utilisateur.

Il enregistre aussi cette fonction pour l'événement LanguageChanged, avec le code suivant.

MLRuntime.MLRuntime.LanguageChanged 
  += new MLRuntime.MLRuntime.LanguageChangedDelegate ( ml_UpdateControls ) ;

Je propose que tu définis ta propre fonction pour gérer cet événement, qui doit appeler la fonction ml_UpdateControls.

private void LangChanged()
{
  ml_UpdateControls() ;
}

Enregistres cette fonction au lieu de ml_UpdateControls.

MLRuntime.MLRuntime.LanguageChanged
  += new MLRuntime.MLRuntime.LanguageChangedDelegate ( LangChanged ) ;

Tu dois également modifier le code où la fonction est déregistrée dans la fonction dispose.

MLRuntime.MLRuntime.LanguageChanged
  -= new MLRuntime.MLRuntime.LanguageChangedDelegate ( LangChanged ) ;

Ensuite, tu dois placer le code supplémentaire dans la nouvelle fonction pour mise à jour des textes quand la langue est changeée. Par exemple:

private void LangChanged()
{
  ml_UpdateControls() ;

  toolBox1.tabs[0].Text = ml.ml_string(155, "Fichiers de Base") ;
  toolBox11.Item[0].Text = ml.ml_string(107, "Place") ;
  toolBox11.Item[1].Text = ml.ml_string(108, "Tarif") ;
  toolBox11.Item[2].Text = ml.ml_string(110, "Bus") ;
  toolBox11.Item[3].Text = ml.ml_string(106, "Chauffeur") ;
  toolBox11.Item[4].Text = ml.ml_string(109, "Destination") ;
  toolBox11.Item[5].Text = ml.ml_string(105, "Service") ;
}

Ce code est presque certainement erronée.smile

Notes que tu ne dois pas modifier la fonction ml_UpdateControls directement, parce que l'Add-In le régénérera automatiquement.

Cordiallement
Phil