La langue par défaut de Google Translate set
peut-être qu'il y a une solution évidente que je ne vois pas, mais je n'arrive pas à trouver le bon paramètre pour y arriver. En utilisant le widget Google Translate sur un site, je dois définir la langue par défaut que l'utilisateur voit lors de l'entrée du site, même si le site est en anglais.
function googleTranslateElementInit() {
new google.translate.TranslateElement({
pageLanguage: 'en'
}, 'google_translate_element');
}
j'ai essayé d'ajouter:
defaultLanguage: 'fr'
et essayé:
targetLanguage: 'fr'
j'ai trouvé de jolies solutions jQuery, mais je ne voulais pas les contourner si c'était une solution facile.
8 réponses
Ce n'est pas une réponse directe à comment utiliser jQuery pour accomplir la tâche, mais j'espère que c'est utile. Google Translate utilise un cookie appelé "googtrans" pour suivre la langue sélectionnée. Vous pouvez configurer ce cookie vous-même avant le chargement de la page et Google Translate l'utilisera.
// PHP code sample, could be accomplished with any language that can set cookies
// set the default language translation to Portugese
setcookie('googtrans', '/en/pt');
ajouter #googtrans(xx)
à la fin de la chaîne de requête traduira automatiquement la page pour vous, similaire à la configuration du cookie vous-même (où xx est le code de langue, par exemple. fr pour le français).
nous pouvons définir la langue par défaut de google translate en travaillant avec des cookies pour cette première utilisation de Google translate pour traduire votre page web puis voir quels cookies il a créé (pour ce clic droit sur votre page Web, puis la page info puis la sécurité, puis voir les cookies et cliquez sur googtrans vous voyez ce qu'est la traduction qu'il utilise et ce qui est le chemin et ce qui est le domaine ou le nom de l'hôte ) et mettez toutes ces données dans la fonction setcookies
exemple
setcookie(“googtrans”, “/en/ja”, time()+3600, “/”, “www.example.com”);
//setcookie(“googtrans”, “en/ja”);
setcookie(“googtrans”, “/en/en”, time()+3600, “/”, “.example.com”);
on dirait que jQuery / Javascript est la solution, à moins que votre utilisateur n'ait les préférences de son navigateur paramétrées à la langue différente. Citant google groupes de discussion:
L'élément Translate fonctionne en traduisant (par défaut) le contenu sur votre page quelle que soit la langue de l'utilisateur navigateur est configuré pour. Ils peuvent éventuellement sélectionner une autre langue, mais il n'y a aucun moyen de utilisez l'élément de traduire automatiquement la page dans un langue pour tous vos visiteurs.
Utilisez le code php suivant pour rediriger la page actuelle avec la balise 'googtrans'.
if(!isset($_GET['gt'])) {
header("Location: ".$_SERVER['REQUEST_URI'].">=1#googtrans(en)");
die();
}
où " en " signifie anglais.
mon idée est de définir la session en premier. et vérifiez si session contre 1. et ensuite ajouter javascript pour définir et changer dropdown languange comme désiré.
Exemple :
function set_default_language () {
session_start();
if (!isset($_SESSION['views'])) {
$_SESSION['views'] = 0;
}
$_SESSION['views'] = $_SESSION['views']+1;
if ( $_SESSION['views'] == 1 ) { ?>
<script type="text/javascript">
var select = document.querySelector('select.notranslate');
select.value = "en|id";
select.dispatchEvent(new Event('change'));
</script>
<?php
}
} add_action( 'wp_footer', 'set_default_language');
Allez dans votre dossier de thème, puis à la fonction.php où vous ajoutez
// set the default language translation to potugese
set cookie('googtrans', '/en/pt');
à la fin du fichier.
Dans l'url, vous pouvez placer deux langues.
https://translate.google.com/#no/en/Hello
Cela permettrait de traduire le mot norvégien anglais
https://translate.google.com/#{first country code}/{second one}/Hello