2009-11-20 5 views
19

Возможно, это очевидное решение, которое я пропускаю, но я не могу найти правильный параметр, чтобы это произошло. Используя виджет Google Translate на сайте, мне нужно установить язык по умолчанию, который пользователь видит при входе на сайт, даже если сайт является английским.Google Translate set default language

function googleTranslateElementInit() { 
    new google.translate.TranslateElement({ 
     pageLanguage: 'en' 
    }, 'google_translate_element'); 
} 

Я попытался добавить: defaultLanguage: 'fr' и попробовал: targetLanguage: 'fr'

Я нашел некоторые интересные решения JQuery, но не хотел, чтобы обойти это, если это было легко исправить.

+0

могли бы вы поделиться рабочим раствором Jquery для этого? –

+0

только что получил этот рабочий '$ ($ ('span: contains (" Select Language ")') [1]). Html ('English')' –

ответ

0

Похоже, что jQuery/Javascript - это путь сюда, если у пользователя нет настроек браузера на другом языке. Цитируя the google groups discussion:

Перевести элемент работает по переводу (по умолчанию) содержание на странице на каком бы языке браузер конечного пользователя устанавливается для. Они могут выбрать другой язык, но нет способа использовать этот элемент для автоматического перевода страницы на заданный язык для всех ваших посетителей.

16

Это не прямой ответ на вопрос, как использовать jQuery для выполнения задачи, но, надеюсь, это полезно. Google Translate использует куки-файл под названием «googtrans», чтобы отслеживать, какой язык выбран. Вы можете установить этот файл cookie перед загрузкой страницы, и Google Translate будет использовать его.

// PHP code sample, could be accomplished with any language that can set cookies 
// set the default language translation to Portugese 
setcookie('googtrans', '/en/pt'); 
12

Добавление #googtrans(xx) до конца строки запроса будет также автоматически перевести страницу для вас, подобно установке куки самостоятельно (где хх является код языка, например, пт для французского).

1

Мы можем установить Google перевести язык по умолчанию, работая с печеньем для первого использования Google Translate для перевода веб-страницы затем посмотреть, что печенье он создал (для этого щелкните правой кнопкой мыши на веб-странице, то страница инфо то безопасность просматривать куки и нажмите на googtrans вы видите, что это перевод он использует и то, что путь, и что это имя домена или хоста) и поставить это все данные в setcookies функционируют

пример

setcookie(“googtrans”, “/en/ja”, time()+3600, “/”, “www.example.com”); 

//setcookie(“googtrans”, “en/ja”); 
setcookie(“googtrans”, “/en/en”, time()+3600, “/”, “.example.com”); 
0

Используйте следующий PHP-код для перенаправления текущей страницы тегом googtrans.

if(!isset($_GET['gt'])) { 
    header("Location: ".$_SERVER['REQUEST_URI']."&gt=1#googtrans(en)"); 
    die(); 
} 

Где en находится английский.

0

Моя идея - установить сеанс первым. и проверьте, если счетчик сеанса равен 1. , а затем добавьте javascript для установки и изменения раскрывающегося списка по желанию.

Пример:

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'); 
+0

или вместо кросс-браузера использовать jquery. function set_default_language() { \t session_start(); \t if (!isset($_SESSION['views'])) { \t $_SESSION['views'] = 0; \t } \t $_SESSION['views'] = $_SESSION['views']+ \t if ($_SESSION['views'] == 1) { \t ?> \t \t guruh

0

Перейдите в папку темы, а затем функционировать.php, где вы добавляете

// set the default language translation to potugese 
set cookie('googtrans', '/en/pt'); 

в конец файла.

0

В URL-адресе вы можете разместить два языка.

https://translate.google.com/#no/en/Hello

Это перевести слово на английский язык норвежский

https://translate.google.com/#{first country code}/{second one}/Hello