Gestion des langues, countries, chaînes de caractère simple

Soyez le premier à donner votre avis sur cette source.

Vue 11 286 fois - Téléchargée 904 fois

Description

Gérer les langues dans un programme peut devenir vite fastidieux. Vous pouvez utilisez le gestionnaire intégré des API DotNet. Mais il va devenir difficile de faire faire des traductions par des tierces personnes. Je vous propose une bibliothèque incluant la gestion des chaînes dans un fichier xml, associé à une application pour gérer la base de données sans se fatiguer. L'application peut fusionner des fichiers de countries. Les sources de l'application elle-même utilise l'API et sert d'exemple. Sauvegarde ASCII, UTF-8, UTF-16

Source / Exemple :


using GG;

public class MainForm : Form
{
  private Country country; // class to manage this application countries	
		
  public MainForm()
  {
    country = new Country();
  }

  void MainFormLoad(object sender, EventArgs e)
  {
    GG.Xml.IniXml.Read(this); // permet de sauver automatiquement la position de la fenêtre
    country.Read();             // par défaut, la classe charge le fichier du répertoire 
                              // de l'application appelé [countries.xml]
    loadCountries("Français");
  }

  private void loadCountries(string name) 
  {
    country.Name = name; // choix de la langue
    mnuFile.Text = country["MNU_FILE"];
    mnuOpen.Text = country["MNU_OPEN"];
    // ...
  }

  void MainFormFormClosed(object sender, FormClosedEventArgs e)
  {
    GG.Xml.IniXml.Write(this);
  }
}

Conclusion :


Et voilà,

En 3 lignes de codes, vous pouvez chargez et changer à la volée toutes les chaînes de caractère de votre application.

Il serait intéressant que ceux qui peuvent traduire GGCountries m'envoient leurs traductions.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
2
Date d'inscription
vendredi 8 février 2008
Statut
Membre
Dernière intervention
14 janvier 2011

J'utilise SharpDevelop. Je pense que les Warnings viennent du fait que les contrôles EditListView et PropertyGrid sont dans le même fichier. Hors VS n'aime pas car le designer ne le supporte pas. Il faut tout séparer dans des fichiers différents.

Le but du projet est surtout la gestion des chaînes. Le gestionnaire lui-même sert d'exemple. Mais il est un peu dépassé avec maintenant les WPF.
Messages postés
3
Date d'inscription
vendredi 14 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2011

Super réactivité, bravo c'est pas courant...

Maintenant ça va tout de suite beaucoup mieux ;-)

Je peut démarrer l'application et en tout cas du point de vu fonctionnelle ça me plaint bien et je trouve ça très souple et très pratique.

Un problème cependant lorsque depuis l'IDE je double click sur les formes MainForm et PreferencesForme j'obtient en lieu et place du graphisme des dlg deux messages d'erreur:

Type 'GG.Windows.Forms.EditListView' introuvable. Assurez-vous que l'assembly qui contient ce type est référencé. Si ce type est un composant de votre projet de développement, assurez-vous que le projet a été créé comme il se doit.

et

La variable 'grid' n'est pas déclarée ou n'a jamais été assignée.


Dans la liste des erreurs j'ai également:

Avertissement 1 Type 'GG.Windows.Forms.EditListView' introuvable. Assurez-vous que l'assembly qui contient ce type est référencé. Si ce type est un composant de votre projet de développement, assurez-vous que le projet a été créé comme il se doit. 0 0


Avertissement 2 La variable 'grid' n'est pas déclarée ou n'a jamais été assignée. C:\BC\C#\VS2008\GGCountries\GGCountries\MainForm.Designer.cs 421 0


Avertissement 3 Type 'GG.Windows.Forms.PropertyGrid' introuvable. Assurez-vous que l'assembly qui contient ce type est référencé. Si ce type est un composant de votre projet de développement, assurez-vous que le projet a été créé comme il se doit. 0 0
Messages postés
2
Date d'inscription
vendredi 8 février 2008
Statut
Membre
Dernière intervention
14 janvier 2011

Merci pour l'info,

J'ai mis le zip à jour. Il manquait des fichiers.

Pour simplifier ton développement, tu peux encore rajouter dans la classe un membre static :

public static Country Current;

et un évènement :

public event EventHandler CountryChanged;

Dans le constructeur :

Current = this;

Puis tu appelles l'event lorsque tu changes le nom du country.

Ce qui fait que dans toute ton application, il suffit que tes classes s'enregistrent sur l'event de Country.Current pour se mettre à jour toutes seule.
Messages postés
3
Date d'inscription
vendredi 14 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2011

ça à l'air bien ton code, cependant je le download pour l'utiliser et il manque plein de fichiers (\lib\*), certaines boîtes de dialogue ne s'ouvrent pas car il y a des erreurs.

Peut être que j'ai raté un virage mais te serait'il possible de m'aider ? Je travail en Visual Studion 2008. Merci...

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.