none
Text de traduction RRS feed

  • Question

  • Bonjour,

    J'ai encore une question de "comment faire"

    J'ai + 320 lignes de texte en Fr

    je dois les traduires en  Nl, An et Al

    cela fait + 1200 lignes.

    J'utilise un fichier, une resource ou .... ?

    Merci de votre aide

    Salva

    mardi 7 septembre 2010 12:19

Réponses

  • Bonjour,

    Ajoutez un fichier de ressources MesRessources.resx. Ce fichier correspond à vos ressources dans la culture par défaut (par exemple dans votre cas le Français de Belgique). Dedans placez toutes les ressources que vous avez besoin, par exemple une chaîne de caractère de nom MaChaîne avec comme contenu "Frenchy".

    Dans l'explorateur de solution de Visual Studio, copier/coller votre fichier de ressources MesRessources.resx et nommez le MesRessources.nl-BE.resx. Dans les propriétés de ce fichier, mettez à vide le champ "Outil personnalisé". Ouvrer ce fichier dans Visual Studio, et "traduisez" vos ressources (pour MaChaîne mettez la valeur "Nézzerland").

    Dans votre code, pour utiliser vos ressources il suffit d'écrire :

    Dim s As String
    s = MesRessources.MaChaîne
    

    En fonction de la langue courant du système, .NET va automatiquement récupéré la chaîne localisée. Si malheureusement, vous vous trouvez sur un PC en russe ou chinois (c'est à dire une langue inexistante dans vos ressources), alors la langue utilisé sera la langue par défaut de votre fichier MesRessources.resx.

    Si vous souhaitez changer la langue par défaut au démarrage de l'application, il faut écrire dans le Sub Main() :

    Public Shared Sub Main()
       System.Threading.Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en-US")
       ' ...
    End Sub
    

    Cela défini la langue de votre application en anglais des Etats Unis.

    Cordialement


    Gilles TOURREAU - MVP C# - MCTS ADO .NET 3.5 - MCPD Windows Developper 3.5 - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    • Marqué comme réponse Alex Petrescu vendredi 10 septembre 2010 13:31
    mercredi 8 septembre 2010 08:41
    Modérateur

Toutes les réponses

  • Bonjour,

    Utilisez une ressource .NET qui sont fait exactement pour çà. Les ressources permettent de charger des contenus différents (chaîne de caractères, fichiers, images,...etc) en fonction de la culture courante de l'application.

    Cordialement


    Gilles TOURREAU - MVP C# - MCTS ADO .NET 3.5 - MCPD Windows Developper 3.5 - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    • Proposé comme réponse EhJoe mardi 7 septembre 2010 16:53
    mardi 7 septembre 2010 12:29
    Modérateur
  • Bonjour,

    Merci pour la reponse rapide.

    auriez-vous un petit exemple?

    Petite precision, le programme est utiliser dans un seul pays (la Belgique) ce qui explique le pourquoi des 4 langues.

    Donc la culture courante n'est pas toujours exacte dans ce cas-ci

    Le pc peut etre installer en FR-BE et l'utilisateur utiliser le Neerlandais comme langue pour le programme

    Merci

    cordialement

    Salva

    mardi 7 septembre 2010 13:03
  • Bonjour,

    Ajoutez un fichier de ressources MesRessources.resx. Ce fichier correspond à vos ressources dans la culture par défaut (par exemple dans votre cas le Français de Belgique). Dedans placez toutes les ressources que vous avez besoin, par exemple une chaîne de caractère de nom MaChaîne avec comme contenu "Frenchy".

    Dans l'explorateur de solution de Visual Studio, copier/coller votre fichier de ressources MesRessources.resx et nommez le MesRessources.nl-BE.resx. Dans les propriétés de ce fichier, mettez à vide le champ "Outil personnalisé". Ouvrer ce fichier dans Visual Studio, et "traduisez" vos ressources (pour MaChaîne mettez la valeur "Nézzerland").

    Dans votre code, pour utiliser vos ressources il suffit d'écrire :

    Dim s As String
    s = MesRessources.MaChaîne
    

    En fonction de la langue courant du système, .NET va automatiquement récupéré la chaîne localisée. Si malheureusement, vous vous trouvez sur un PC en russe ou chinois (c'est à dire une langue inexistante dans vos ressources), alors la langue utilisé sera la langue par défaut de votre fichier MesRessources.resx.

    Si vous souhaitez changer la langue par défaut au démarrage de l'application, il faut écrire dans le Sub Main() :

    Public Shared Sub Main()
       System.Threading.Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en-US")
       ' ...
    End Sub
    

    Cela défini la langue de votre application en anglais des Etats Unis.

    Cordialement


    Gilles TOURREAU - MVP C# - MCTS ADO .NET 3.5 - MCPD Windows Developper 3.5 - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    • Marqué comme réponse Alex Petrescu vendredi 10 septembre 2010 13:31
    mercredi 8 septembre 2010 08:41
    Modérateur
  • Bonjour,

    Merci Gilles,

    Je vais tenter de mettre ca en pratique

    Codialement

    Salva

    mercredi 8 septembre 2010 13:44