IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Dotnet Discussion :

Traduction site automatiquement [Débutant]


Sujet :

Dotnet

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de Pelote2012
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 925
    Billets dans le blog
    2
    Par défaut Traduction site automatiquement
    Bonjour,

    Je suis à la recherched'une méthode simple pour traduire mon site en multi-langue. Il y a foison sur le net, mais ... je n'ai pas encore réussi à faire fonctionner cela correctement.

    J'ai un site, avec une centaines de page, contenant des modalPopup,des ckeditor, une connexion pour mot de passe ...
    J'ai fait une page d'essai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    <%@ MasterType VirtualPath="~/MasterPages/Generique.master" %>
     
    <%@ Page Title="" Language="VB" MasterPageFile="~/MasterPages/Generique.master" AutoEventWireup="false" CodeFile="testtrad.aspx.vb" Inherits="testtrad" %>
     
    <asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
     
    <script type="text/javascript">
        if (window != top) { top.location = window.location; } 
    </script>
    // <script type="text/javascript" src="//www.google.com/jsapi"></script> 
        <script type="text/javascript">
         //   var defLang = "";
         //   var targetLang = "";
          //  var ControlID = "<%= Translation.ClientID %>" ;
          //  google.load("language", "1");
            //function initialize() {
              //  var container = document.getElementById(ControlID);
                //if (container != null) {
                  //  google.language.translate(container.innerHTML, defLang, targetLang, function (result) {
                    //    if (!result.error) {
                      //      container.innerHTML = "";
                        //    container.innerHTML = result.translation;
                        //}
                   // });
               // } else {
                 //   alert("Invalid ControlID provided.");
                //}
            //}
        </script> 
     
    </asp:Content>
    <asp:Content ID="Content2" ContentPlaceHolderID="Navigation" Runat="Server">
    </asp:Content>
    <asp:Content ID="Content3" ContentPlaceHolderID="Contenu" Runat="Server">
     
     <asp:Label ID="Translation" runat="server" Text="C'est mardi. Allons-y" ></asp:Label>
     </asp:Content>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    Partial Class testtrad
        Inherits PageBase
     
        Protected Sub testtrad_Init(sender As Object, e As System.EventArgs) Handles Me.Init
            If Not Page.IsPostBack Then Response.Redirect("http://translate.google.com/translate?hl=fr&ie=UTF8&oe=UTF8&prev=&u=http://admin.extranet.euralliance.com/testtrad.aspx&langpair=fr|en")
        End Sub
     
     
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            ''You can find the whole list of code at following link
            ''http://code.google.com/apis/ajax/playground/?exp=language#is_it_translatable
     
            ''Variables to hold the primary & target language code for Google Language APIs
            'Dim PrimaryGoogleLanguageCode As String = "fr"
            'Dim TargetGoogleLanguageCode As String = "en"
     
            '' Define the name and type of the client script on the page. 
            'Dim csName As [String] = "GoogleLangAPI"
            'Dim csType As Type = Me.[GetType]()
     
            '' Get a ClientScriptManager reference from the Page class. 
            'Dim cs As ClientScriptManager = Page.ClientScript
     
            '' Check to see if the client script is already registered. 
            'If Not cs.IsClientScriptBlockRegistered(csType, csName) Then
            '    Dim csText As New StringBuilder()
            '    csText.Append("<script type=""text/javascript"">defLang=""")
            '    csText.Append(PrimaryGoogleLanguageCode)
            '    csText.Append(""";targetLang=""")
            '    csText.Append(TargetGoogleLanguageCode)
            '    csText.Append(""";google.setOnLoadCallback(initialize);</script>")
            '    cs.RegisterClientScriptBlock(csType, csName, csText.ToString())
            'End If
     
     
        End Sub
     
     
    End Class
    Je me log correcxtement , je vais sur ma page

    Mon site reviens à la page de loggin (traduite en anglais) je remets mes identifiants... et je reviens sur ma page de loggin en français ...

    Je pense que je dois mal utiliser. Quelqu'un pourrai m'aider ?

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Il existe plusieurs façons de procéder :
    - Soit en utilisant une base de données pour stocker les traductions
    - Soit en utilisant les Resources (fichiers .resx)

    Pour la première solution, voici un tutorial très bien fait : http://immobilis.developpez.com/articles/dotnet/internationalisation-application-asp-net-grace-base-donnees/

    Pour la seconde, voici quelques liens :
    - Walkthrough: Using Resources for Localization with ASP.NET
    - How to: Create Resource Files for ASP.NET Web Sites
    - Best Practices for Developing World-Ready Applications

    Si tu n'es pas familier avec ces concepts, je te conseille de prendre le temps de faire un projet de test avec une ou 2 pages, pour pouvoir tester tranquillement et voir comment ça fonctionne. Ce n'est pas évident au début, mais dès que tu as intégré les concepts, ça roule

    [EDIT] : je précise que j'ai bien noté que tu utilises Google Translate. Je te donne ces solutions, car tes traductions seront plus précises.

    Après, si tu veux rester sur Google Translate, as-tu vérifié que les paramètres que tu mets dans l'URL sont corrects, notamment que ta page de login n'indique pas FR au lieu de EN ?
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre éprouvé
    Avatar de Pelote2012
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 925
    Billets dans le blog
    2
    Par défaut
    Merci pour tes précisions.
    Je travaille en parallèle sur les traductions en BDD

    (fichier ressources mis de coté car pas pratiques sur ce site, car on à beaucoup de notion d'héritage et de paramétrage... alors il y aurai une floppé de texte avec des noms plus ou moins dynamique ... )

    Tes précision me seront vraiment utile merci encore. Pour la traduction google... quand j'ai dit à mon Boss qu'il faudrait 40 jours pour faire toutes les traductions il a répondu ... Il a dit que c'est inadmissible avec les traduction automatique et il m'a montré google translate par son navigateur.
    J'ai essayé en mode programmation. Mais il faut soit le winget... et ça il en veut pas... soit passer par l'URL mais le pb est que du coup la notion d'auhentification n'est pas transmise entre google et mon site ... donc inutilisable. Google translate marche bien mais pour un site de présentation très classique (certainement la majorité des sites).

    Si quelqu'un a réussi à passer ces désagréments...
    Sinon je tiens au courant de toute avancée de ma part.

  4. #4
    Membre éprouvé
    Avatar de Pelote2012
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 925
    Billets dans le blog
    2
    Par défaut
    Bon la solution la plus probante reste quand même la traduction en BDD, donc je clos, faute de trouver une solution plus propre

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. création de sous site automatiquement
    Par antarox dans le forum Développement Sharepoint
    Réponses: 2
    Dernier message: 22/05/2012, 14h57
  2. langue site automatique
    Par dcvman dans le forum Balisage (X)HTML et validation W3C
    Réponses: 16
    Dernier message: 30/10/2010, 20h07
  3. modifier toutes les pages d'un site automatiquement
    Par ajor dans le forum Services Web
    Réponses: 3
    Dernier message: 18/10/2008, 13h35
  4. [traduction] les sites qui utilisent des traducteurs automatiques
    Par straasha dans le forum La taverne du Club : Humour et divers
    Réponses: 8
    Dernier message: 25/08/2008, 14h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo