Как заставить Google Translate работать только для одного элемента управления, а не для всей страницы?

Я пытаюсь использовать Google Translate на своем веб-сайте, чтобы перевести текст в метке с английского на хинди. Для начала я использовал следующий код, который фактически работает для всей страницы:

<head>
<meta name="google-translate-customization" 
content="3280487709591956-dc3fc45d489f056a-g5378ebab0cbcd0a4-12"/>   
</head>

Здесь я добавил элемент Google Translate:

<div id="google_translate_element">            
<table>
<tr><td></td></tr>
</table>
</div>

Код для метки и выпадающего списка, это внутри тега таблицы:

<tr>
        <td>
        </td>
        <td style="width: 244px">
            <asp:Label ID="lblSubjectArea" runat="server" Text="Subject Area" 
              meta:resourcekey="lblSubjectAreaResource1"></asp:Label>

        </td>
        <td style="width: 537px">
            <asp:DropDownList ID="ddlSubjectArea" runat="server" AutoPostBack="True"  Height="20px"
                OnSelectedIndexChanged="ddlSubjectArea_SelectedIndexChanged" Width="160px" 
                meta:resourcekey="ddlSubjectAreaResource1">
            </asp:DropDownList>
        </td>
        <td style="width: 376px">
        </td>
    </tr>

Скрипт:

<script type="text/javascript">
function googleTranslateElementInit()
{
    new google.translate.TranslateElement({ pageLanguage: 'en', 
    layout:google.translate.TranslateElement.InlineLayout.SIMPLE }
    ,'google_translate_element');
}
</script>

<script type="text/javascript" 
src="//translate.google.com/translate_a/element.js? cb=googleTranslateElementInit">
</script>

Теперь, когда я выбираю язык, скажем, хинди, происходит следующее: весь текст веб-сайта, включая текст в метках, раскрывающихся списках и т. д., переводится, но я хочу, чтобы перевод ограничивался только одной меткой, а не всей страницей. Что должно быть сделано?


person TVicky    schedule 16.06.2014    source источник


Ответы (2)


Наконец, нашел решение. Я нашел это в справке Google Translate. Здесь я вставляю часть того, что прочитал:

Предотвращение перевода ваших веб-страниц

Если вы веб-мастер и не хотите, чтобы Google Translate переводил вашу веб-страницу, просто вставьте следующий метатег в свой HTML-файл:

< meta name="google" value="notranslate">

Если вы не возражаете против перевода вашей веб-страницы с помощью Google Translate, за исключением определенного раздела (например, адреса электронной почты), просто добавьте class=notranslate к любому элементу HTML, чтобы предотвратить перевод этого элемента. Например:

Email us at <span class="notranslate"> sales at example dot com

Поэтому, если есть элемент управления, текст которого я не хочу переводить, я просто добавляю class="notranslate" в его тег. В коде в моем вопросе выше, если я хочу, чтобы метка не затрагивалась переводом, я бы переписал код как:

<asp:Label ID="lblSubjectArea" runat="server" Text="Subject Area" 
          meta:resourcekey="lblSubjectAreaResource1" class="notranslate"></asp:Label>
person TVicky    schedule 17.06.2014

<script type="text/javascript">
    function googleTranslateElementInit()
    {
        new google.translate.TranslateElement({ pageLanguage: 'en', layout: google.translate.TranslateElement.InlineLayout.HORIZONTAL, multilanguagePage: true }, 'google_translate_element');
    }

Примечания:

Возьмите Div в заданном идентификаторе = "google_translate_element",

Этот код размещается на вашей мастер-странице или веб-странице в заголовке.

person user3923117    schedule 05.09.2014