none
multilingue de la fenêtre courante RRS feed

  • Question

  • bonjour,

    je ne savais pas ou mettre ce sujet (dans le Forum C# ou WPF) et puis j'ai choisi celui-ci parce que le problème apparaît sur la page.

    bref, je suis entrain de développer une application multilingue.

    l'application a été complètement traduite et toutes les fenêtres sont mises à jour avec les autres langues sauf la fenêtre ou je change la langue(celle ou je décide de changer la langue).

    est ce qu'il y a un moyen d'y remédier sans trop sans avoir a faire une méthode de mise a jour des champs??

    merci d'avance

    jeudi 30 mai 2013 14:45

Réponses

  • Bonjour,

    Dans votre cas il n'existe pas de solution pour rafraichir automatiquement la fenêtre lors du changement de la langue à cause de l'utilisation des balises {x:Static}.

    Il aurait fallut créer et utilisé un Xaml Markup Extension maison qui aurait réalisé la traduction de vos chaînes de caractères et si nécessaire les rafraichir lors du changement de la langue :

    http://wpftutorial.net/LocalizeMarkupExtension.html

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    • Marqué comme réponse Florin Ciuca lundi 10 juin 2013 08:54
    dimanche 2 juin 2013 22:33
    Modérateur
  • merci pour votre réponse,

    c'est bon, j'ai fait un parcours sur toues les éléments de la page pour mettre a jour les text

    merci encore pour votre réponse :)

    • Marqué comme réponse ahmedmahdi lundi 3 juin 2013 12:04
    lundi 3 juin 2013 09:22

Toutes les réponses

  • Bonjour,

    Il n'existe pas de fonctionnalité native dans WPF permettant de faire des applications multilingues. Vous avez donc utilisé certainement un composant ou une classe que vous avez développé.

    Est-il possible que vous puissiez nous montrer le code de la classe qui permet de changer la langue de votre application ?

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    jeudi 30 mai 2013 21:29
    Modérateur
  • voila le code.

    j'ai utiliser les classe .resx

            public mainWindow()
            {
                System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("fr-FR");
                
                InitializeComponent();
    
                culture= new List<CultureInfo>();
                culture.Add(System.Threading.Thread.CurrentThread.CurrentUICulture);
                culture.Add(new System.Globalization.CultureInfo("en-US"));
                culture.Add(new System.Globalization.CultureInfo("de-DE"));
                culture.Add(new System.Globalization.CultureInfo("es-ES"));
                culture.Add(new System.Globalization.CultureInfo("it-IT"));
    }

    et des boutons qui font appel a cette methode

            private void changerLaLangue(int emplacementDeLaLangue)
            {
                System.Threading.Thread.CurrentThread.CurrentUICulture = culture[emplacementDeLaLangue];
                System.Threading.Thread.CurrentThread.CurrentCulture = culture[emplacementDeLaLangue];
                InitializeComponent();
            }

    jeudi 30 mai 2013 21:38
  • Bonjour,

    OK.
    Et comment est réalisé la traduction dans vos libellés sur votre fenêtre WPF ?

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    vendredi 31 mai 2013 07:09
    Modérateur
  • puisque le code est assez conséquent voici un exemple d'un bouton:

            <Button Name="boutonAjouterClient" Height="200" Width="280" VerticalAlignment="Top" HorizontalAlignment="Center" Margin="0,530" Visibility="Visible" Click="boutonAjouterClient_Click">
                <Button.Template>
                    <ControlTemplate>
                        <Grid>
                            <Image Source="Images/Icones/IconeAjouterClient2.png" Width="220" Height="220" HorizontalAlignment="Center" VerticalAlignment="Top"/>
                            <Label Content="{x:Static local:WindowStaticText.ajoutClientLabel}" FontSize="36" FontWeight="Bold" Height="60" HorizontalAlignment="Center" VerticalAlignment="Bottom"/>
                        </Grid>
                    </ControlTemplate>
                </Button.Template>
                <Button.ToolTip>
                    <ToolTip>
                        <StackPanel>
                            <TextBlock FontWeight="Bold" Text="{x:Static local:WindowStaticText.ajoutClientToolTip}"></TextBlock>
                        </StackPanel>
                    </ToolTip>
                </Button.ToolTip>
            </Button>

    vendredi 31 mai 2013 07:12
  • Bonjour,

    Dans votre cas il n'existe pas de solution pour rafraichir automatiquement la fenêtre lors du changement de la langue à cause de l'utilisation des balises {x:Static}.

    Il aurait fallut créer et utilisé un Xaml Markup Extension maison qui aurait réalisé la traduction de vos chaînes de caractères et si nécessaire les rafraichir lors du changement de la langue :

    http://wpftutorial.net/LocalizeMarkupExtension.html

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    • Marqué comme réponse Florin Ciuca lundi 10 juin 2013 08:54
    dimanche 2 juin 2013 22:33
    Modérateur
  • merci pour votre réponse,

    c'est bon, j'ai fait un parcours sur toues les éléments de la page pour mettre a jour les text

    merci encore pour votre réponse :)

    • Marqué comme réponse ahmedmahdi lundi 3 juin 2013 12:04
    lundi 3 juin 2013 09:22