7
votes

Google Translate Get Langue actuelle

Après avoir constaté zéro de n'importe quoi pour m'aider en ligne ...

J'utilise la fonction actuelle pour un site multilingue: xxx

Cependant je n'ai pas de idée comment obtenir la langue actuelle une fois qu'un utilisateur le modifie. Je ne sais pas si cela est encore possible. Fondamentalement, je veux mettre à jour les images espagnols si L'espagnol est choisi sur l'anglais. Toute aide serait appréciée!


0 commentaires

6 Réponses :


0
votes

Vous pourriez être capable d'obtenir la langue de l'URL.

var selected_lang = getUrlVars()['lang'];


1 commentaires

Je reçois non défini sur la variable. Je ne pense pas que Traduire ajoute rien à l'URL, correct?



4
votes

Tu ne vas pas croire qu'il:

window.setInterval(function(){
     var lang = $(".goog-te-menu-value span:first").text();
     alert(lang);
},5000);


2 commentaires

Cela ne fonctionnera pas car Lang dépendra des paramètres de langue du navigateur.


Cet élément .goog-te-menu-Value-Value-Te-Valeur: Premier semble plus exister



0
votes

J'utilise Google Translate Module dans mon site Joomla. Mes exigences étaient que nous avons un bouton de langue en haut. Par défaut, le site sera en anglais. Donc, le bouton à afficher sur le dessus sera espagnol. Lorsque l'utilisateur clique sur le bouton, la page se traduit vers l'espagnol et le bouton passe en anglais et inversement. Cela fonctionne bien tant que vous n'obtenez pas la page. Maintenant, disent que la page traduite est en espagnol et le bouton en haut est l'anglais. Maintenant, lorsque vous rafraîchissez la page, le bouton passe à l'espagnol (fonction de masquage de mode JavaScript, la valeur par défaut est espagnole). Comme je l'active de tracer la langue actuelle, le bouton Language en haut n'était pas en fonction de la langue sélectionnée. Après avoir beaucoup creusé, j'ai trouvé ce script qui m'a aidé à résoudre mon problème. J'espère que cela aide quelqu'un d'autre aussi.

<script>
 //to get currently selected language
window.setInterval(function(){
     lang = $("select.goog-te-combo option:selected").text();
    alert(lang);
},5000);
 </script>


0 commentaires

2
votes

appeler google.translate.translateElement (). C donne le code de la langue actuelle. Par exemple, "fr" pour le français, "fr" pour l'anglais, "de" pour l'allemand.

Inspection du Google.Translate Objet global est généralement informatif. C'est un peu dur b / c google a évidemment compilé le code de telle sorte que des choses telles que translatetéelement.c ne possèdent pas de noms lisibles humains, mais avec un peu d'effort, vous pouvez donner un sens à certains des paramètres.


5 commentaires

Google a depuis mis à jour les paramètres, donc google.translate.translateElement (). C ne fonctionne plus


google.translate.translateElement (). e fonctionne maintenant pour moi


google.translate.translateElement (). e ne me dit que la langue initiale, pas la langue actuelle, une fois sélectionnée.


Assez juste. .e était ce dont j'avais besoin, mais en utilisant .a.sd en combinaison semblerait aider la plupart des gens.


google.translate.translateElement (). A.CD travaille pour moi



2
votes

appeler google.translate.translateElement (). A.SD donne l'identifiant de la langue actuelle.

Exemples: "fr" pour le français, "fr" pour l'anglais, "de" pour allemand, "" pour Italien


appelant google.translate.translateElement (). A est un objet d'autres paramètres actuels, tels que le code de suivi Google Analytics.

Vérifiez-le dans la console pour voir ce qui est là. Comment accéder à la console? < / p>

Inspection Le Google.Translate Objet global est généralement informatif. C'est un peu difficile parce que Google met constamment à jour le code, apportant des modifications aux allocations de paramètres et a évidemment compilé le code de telle sorte que des choses telles que google.translate.translateplement () n'a pas noms lisibles humains; Avec un peu d'effort, vous pouvez donner un sens à certains des paramètres.


4 commentaires

google.translate.translateElement (). e fonctionne maintenant pour moi


@TIMPETERSON google.translate.TranslateElement (). e ne me dit que la langue initiale, pas la langue actuelle, une fois sélectionnée.


Assez juste. .e était ce dont j'avais besoin, mais en utilisant .a.sd en combinaison semblerait aider la plupart des gens.


J'ai dû utiliser google.translate.translateElement (). C sur mon site.



4
votes

La langue actuellement sélectionnée est stockée dans un cookie nommé GoogTrans .

Voici un exemple simple de saisir la valeur de la cookie (basée sur le code de la cookie d'ici: Quelle est la fonction la plus courte de lecture d'un cookie par nom en JavaScript? ): xxx


0 commentaires