Partage
  • Partager sur Facebook
  • Partager sur Twitter

SYstème de traduction en c#

Problème

    15 février 2021 à 16:25:59

    Bonjour,

    Je dois réaliser un projet utiliser winsform et j'ai choisi de faire une application type "google traduction".

    Pour ce qui est de la forme j'y arriver mais au niveau de la traduction en elle-même je ne sais pas trop comment m'y prendre ...

    Pourrais-je avoir un peu d'aide svp ?

    Cordialement,

    AR.

    • Partager sur Facebook
    • Partager sur Twitter
      15 février 2021 à 16:32:12

      Hello,

      Tu t'es trompé de forum, pour le c# c'est le forum .NET. Je demande le déplacement.

      -
      Edité par edgarjacobs 15 février 2021 à 16:33:47

      • Partager sur Facebook
      • Partager sur Twitter
        15 février 2021 à 19:58:15

        Déplacement effectué :)
        • Partager sur Facebook
        • Partager sur Twitter

        Pas d'aide concernant le code par MP, le forum est là pour ça :)

          15 février 2021 à 20:20:45

          La traduction "moderne" est un champ des plus actifs en intelligence artificielle.

          Si tu te pose ce type de question, c'est que tu 'as pas les bases pour le mener à bien.

          • Partager sur Facebook
          • Partager sur Twitter
          Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
          Anonyme
            16 février 2021 à 13:14:47

            Salut !

            Ca peut être utile :

            https://github.com/Grizley56/GoogleTranslateFreeApi

            Bonne chance :)

            -
            Edité par Anonyme 16 février 2021 à 13:14:56

            • Partager sur Facebook
            • Partager sur Twitter
              16 février 2021 à 14:46:03

              Zonedetec a écrit:

              Salut !

              Ca peut être utile :

              https://github.com/Grizley56/GoogleTranslateFreeApi

              Bonne chance :)

              -
              Edité par Zonedetec il y a environ 1 heure

              Je vais voir merci !

              Je comprend pas, je ne peux pas exécuter la solution. J'ai bien installé le package et ce message d'erreur s'affiche :(

              C'est ma première fois en c#, même si j'ai fais du c++ pendant 1 an c'es totalement différent et je suis un peu perdu ...



              -
              Edité par ArthurRig 16 février 2021 à 15:09:34

              • Partager sur Facebook
              • Partager sur Twitter
                16 février 2021 à 17:13:49

                Si vous avez fait du C++, c'est exactement le même "problème" qu'avec les Dll.

                Un projet qui génère un assemnly "bibliothèque de class", c'est exactement comme un projet qui génère une Dll en C++.

                Il faut des réglages voir d'autres projets pour pouvoir ouvrir une session de débogage avec.

                Le message d'erreur est assez explicite sur une des manières de faire pour pouvoir ouvrir une session de débogage permettant de déboguer de bidule.

                Mais je vous donne un conseil, sur ce genre de projet, s'il y a un bug, il y a 99% de chance que le problème est dans votre code et pas dans le code fourni par Google.

                Donc, ne cherchez pas trop à déboguer le code Google mais concentrez-vous sur le votre. L'open-Source, ça permet de voir les conséquences de VOS conneries plutôt que de déboguer le code de nos petits camarades.

                La solution que vous avez ouvert dans Visual Studio ne semble contenir qu'un projet, de type "bibliothèque de class", qui peut générer un assembly .NET sous forme de fichier .dll, que vous pourrez sans problème référencer dans un autre projet .NET, de type exécutable, celui-là.

                S'il y a plusieurs projet dans la solution Visual Studio, il y a très vraisemblablement un projet "exécutable" qui sert à tester/illustrer l'usage de l'API. C'est plutôt ce projet qui doit être lancer pour ouvrir une session de débogage. S'il n'existe pas, il suffit d'en créer un et c'est ce qu'indique le message d'erreur.

                • Partager sur Facebook
                • Partager sur Twitter
                Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
                Anonyme
                  16 février 2021 à 21:04:52

                  ArthurRig a écrit:

                  Zonedetec a écrit:

                  Salut !

                  Ca peut être utile :

                  https://github.com/Grizley56/GoogleTranslateFreeApi

                  Bonne chance :)

                  -
                  Edité par Zonedetec il y a environ 1 heure

                  Je vais voir merci !

                  Je comprend pas, je ne peux pas exécuter la solution. J'ai bien installé le package et ce message d'erreur s'affiche :(

                  C'est ma première fois en c#, même si j'ai fais du c++ pendant 1 an c'es totalement différent et je suis un peu perdu ...



                  -
                  Edité par ArthurRig il y a environ 5 heures

                  T'as pas du tout compris le principe des packages, je vais t'expliquer ne t'inquiète pas xD :

                  Un package c'est un code, fait par quelqu'un autre, que tu peux utliser dans ton projet. Tu te doute bien que tu vas pas importer tout le code source de son projet, mais uniquement le package pour que tu accès aux méthodes du code en une seul ligne.

                  Alors d'abord, il faut ajouter le package à ton projet, et non le télécharger, pour cela il faut que soit :

                  - Tu ajoutes le package en utilisant le gestionnaire de package (sur VS c'est dans Affichage -> Autres fenêtres -> Console du gestionnaire de package)

                  Ensuite tu cliques en bas sur l'onglet du gestionnaire de package : 

                  Et enfin tu colles la ligne :

                   Install-Package GoogleTranslateFreeApi -Version 1.1.1

                  Ou alors tu peux aussi l'installer comme ça :

                  Tu recherches en haut nuget, et tu appuies sur "Gérer les packages nugets"

                  Et tu recherches dans l'onglet "Parcourir" le nom du package, ici  GoogleTranslateFreeApi



                  Maintenant, pour l'utiliser, il faut voir la page GitHub du projet, c'est le lien que je t'ai envoyé : https://github.com/Grizley56/GoogleTranslateFreeApi

                  Il y a des exemples de code, et tu peux, normalement, le copier coller dans ton projet :

                  ps: si tu as une erreur, essaye clique droit -> Action rapide et réfactorisation -> using...

                  Voilà j'espère ça t'as aidé :)

                  -
                  Edité par Anonyme 16 février 2021 à 21:08:23

                  • Partager sur Facebook
                  • Partager sur Twitter
                    16 février 2021 à 21:48:19

                    Zonedetec a écrit:

                    ArthurRig a écrit:

                    Zonedetec a écrit:

                    Salut !

                    Ca peut être utile :

                    https://github.com/Grizley56/GoogleTranslateFreeApi

                    Bonne chance :)

                    -
                    Edité par Zonedetec il y a environ 1 heure

                    Je vais voir merci !

                    Je comprend pas, je ne peux pas exécuter la solution. J'ai bien installé le package et ce message d'erreur s'affiche :(

                    C'est ma première fois en c#, même si j'ai fais du c++ pendant 1 an c'es totalement différent et je suis un peu perdu ...



                    -
                    Edité par ArthurRig il y a environ 5 heures

                    T'as pas du tout compris le principe des packages, je vais t'expliquer ne t'inquiète pas xD :

                    Un package c'est un code, fait par quelqu'un autre, que tu peux utliser dans ton projet. Tu te doute bien que tu vas pas importer tout le code source de son projet, mais uniquement le package pour que tu accès aux méthodes du code en une seul ligne.

                    Alors d'abord, il faut ajouter le package à ton projet, et non le télécharger, pour cela il faut que soit :

                    - Tu ajoutes le package en utilisant le gestionnaire de package (sur VS c'est dans Affichage -> Autres fenêtres -> Console du gestionnaire de package)

                    Ensuite tu cliques en bas sur l'onglet du gestionnaire de package : 

                    Et enfin tu colles la ligne :

                     Install-Package GoogleTranslateFreeApi -Version 1.1.1

                    Ou alors tu peux aussi l'installer comme ça :

                    Tu recherches en haut nuget, et tu appuies sur "Gérer les packages nugets"

                    Et tu recherches dans l'onglet "Parcourir" le nom du package, ici  GoogleTranslateFreeApi



                    Maintenant, pour l'utiliser, il faut voir la page GitHub du projet, c'est le lien que je t'ai envoyé : https://github.com/Grizley56/GoogleTranslateFreeApi

                    Il y a des exemples de code, et tu peux, normalement, le copier coller dans ton projet :

                    ps: si tu as une erreur, essaye clique droit -> Action rapide et réfactorisation -> using...

                    Voilà j'espère ça t'as aidé :)

                    -
                    Edité par Zonedetec il y a 3 minutes

                    Bonsoir, tout d'abord merci pour votre réponse qui m'aide à comprendre beaucoup de choses que je n'avais pas comprises.

                    Moi qui croyait connaître les "bases" du C après bientôt 2 ans en prépa intégré dans une école d'ingé, que nenni je suis perdu, j'avais jamais entendu parlé de package ou de sorcelleries de ce genre :x

                    Revenons au sujet ... j'ai donc installé le package et collé un code d'exemple qui est lié à l'appui sur un bouton (un simple test pour voir si la traduction pourrait marcher), mais une erreur que je n'ai jamais vue est apparu :

                    Une erreur avec une méthode asynchrone, je n'avais jamais vu ce type d'erreur auparavant, je n'ai vraiment aucune idée de ce que cela peut-être ... Est-ce en rapport avec le fait que le clic du bouton soit asynchrone ? 

                    Si de l'aide est (encore) possible, cela ne serais pas de refus :)

                    J'ai encore beaucoup à apprendre mais mon projet m'intéresse du coup j'essaie de creuser.

                    Merci par avance 

                    -
                    Edité par ArthurRig 16 février 2021 à 22:02:00

                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      17 février 2021 à 10:16:08

                      Alors oui, c'est normal, la méthode est une méthode async, en gros elle va pas bloquer le programme pendant le temps de son exécution.

                      Il suffit juste d'ajouter au nom de de la methode button1_click ceci :

                       private void async button1_Click(...)


                      (le async)

                      -
                      Edité par Anonyme 17 février 2021 à 10:16:41

                      • Partager sur Facebook
                      • Partager sur Twitter
                        17 février 2021 à 11:32:05

                        Zonedetec a écrit:

                        Alors oui, c'est normal, la méthode est une méthode async, en gros elle va pas bloquer le programme pendant le temps de son exécution.

                        Il suffit juste d'ajouter au nom de de la methode button1_click ceci :

                         private void async button1_Click(...)


                        (le async)

                        -
                        Edité par Zonedetec il y a environ 1 heure

                        Merci, ça avance ça avance, le programme s'exécute maintenant.

                        Néanmoins, ceci apparait :


                        Détails de l'erreur :

                        System.Reflection.TargetInvocationException

                          HResult=0x80131604

                          Message=Une exception a été levée par la cible d'un appel.

                          Source=mscorlib

                          Arborescence des appels de procédure :

                           à System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)

                           à System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)

                           à System.Delegate.DynamicInvokeImpl(Object[] args)

                           à System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)

                           à System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)

                           à System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)

                           à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)

                           à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)

                           à System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)

                           à System.Windows.Forms.Control.InvokeMarshaledCallbacks()

                           à System.Windows.Forms.Control.WndProc(Message& m)

                           à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)

                           à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)

                           à System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

                           à System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)

                           à System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)

                           à System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)

                           à System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)

                           à System.Windows.Forms.Application.Run(Form mainForm)

                           à WindowsFormsApp2.Program.Main() dans C:\Users\Arthur\source\repos\WindowsFormsApp2\Program.cs :ligne 19

                          Cette exception a été levée à l'origine dans cette pile des appels : 

                            [Code externe]

                            WindowsFormsApp2.Form1.button1_Click(object, System.EventArgs) dans Form1.cs

                            [Code externe]

                        Exception interne 1 :

                        NotSupportedException : The method is no longer valid, or something went wrong

                        Mon but est juste de tester la méthode avec le bouton pour déjà voir si cela fonctionne mais dans le long terme j'aimerai choisir moi-même la langue et le texte que je veux puis utiliser ce package pour qu'il fasse la traduction.
                        Merci d'avance :)

                        -
                        Edité par ArthurRig 17 février 2021 à 12:13:13

                        • Partager sur Facebook
                        • Partager sur Twitter
                          18 février 2021 à 10:11:59

                          En faisant du debugging pas à pas, pouvez-vous nous donner le code de la fonction qui ne fonctionne pas ainsi que la ligne où l'exception est levé ?

                          -
                          Edité par bacelar 18 février 2021 à 10:12:11

                          • Partager sur Facebook
                          • Partager sur Twitter
                          Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.

                          SYstème de traduction en c#

                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                          • Editeur
                          • Markdown