как заставить Google Translate для раздела с выпадающим списком языков работать?

Я пытаюсь использовать Google Translate для перевода комментариев пользователей. Я использую официальный мастер (http://translate.google.com/translate_tools) для создания java-скрипта и html-кода:

<script>
function googleSectionalElementInit() {
  new google.translate.SectionalElement({
    sectionalNodeClassName: 'goog-trans-section',
    controlNodeClassName: 'goog-trans-control',
    background: '#f4fa58'
  }, 'google_sectional_element');
}
</script>
<script src="//translate.google.com/translate_a/element.js?cb=googleSectionalElementInit&ug=section&hl=auto"></script>


<div class="goog-trans-section">
<div class="goog-trans-control">
</div>
some text in some language
</div>

Я не хочу, чтобы вся страница была переведена, а только комментарии. К сожалению, в коде, сгенерированном для перевода раздела, нет раскрывающегося списка для выбора языка. Кто-нибудь знает, как это реализовать? Я пытался добавить includedLanguages: 'en,fr,de,ru', в код java-скрипта, но это не помогло.


person memyself    schedule 02.12.2011    source источник
comment
Вы когда-нибудь догадывались об этом? Я столкнулся с той же проблемой - пытаюсь перейти от использования всего фрагмента веб-страницы к использованию раздела фрагмента веб-страницы, и теперь ничего не происходит...   -  person vitch    schedule 10.01.2012


Ответы (2)


Суперпросто выполните следующие действия.
1. Добавьте следующий код в то место, где вы хотите отобразить раскрывающийся список перевода.

<div id="google_translate_element"></div>
<script>
    function googleTranslateElementInit() {
      new google.translate.TranslateElement({
        pageLanguage: 'en'
      }, 'google_translate_element');
    }
</script>
<script src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
  1. добавить class="notranslate" в тег body
  2. добавьте class="translate" в раздел, который вы хотите перевести с помощью Google Translate.
person geekdeepak    schedule 08.06.2012

Кажется, виджет секционного перевода ведет себя не так, как я ожидал (и, возможно, не так, как вы ожидали). Виджет «Вся веб-страница» предоставляет вам раскрывающийся список и позволяет пользователю выбрать язык, на котором он хочет отображать страницу.

Виджет «Раздел веб-страницы», по-видимому, предназначен для работы с сайтами, которые имеют отдельные разделы на разных языках, где вы хотите, чтобы пользователь мог переводить эти разделы на ваш основной язык страницы. Это становится очевидным, когда вы нажимаете ссылку "Предварительный просмотр страницы" в официальном мастере.

Если вы посмотрите на сгенерированную разметку, то увидите, что вы размечаете разделы страницы примерно так:

<div class="goog-trans-section" lang="zh-CN">
  ...content in Chinese...
</div>

Затем сценарий автоматически добавляет ссылку «Перевести», которая позволяет вам перевести этот текст обратно на английский язык.

Чтобы достичь того, чего я хотел (и того, что, я думаю, вы тоже пытались сделать), мне нужно было придерживаться фрагмента «вся веб-страница», но добавить класс notranslate ко всему, что я не хотел переводить.

person vitch    schedule 10.01.2012