Полезная информация

Будьте в курсе последних изменений в мире Mozilla, следя за нашим микроблогом в Twitter.

№123-02-2020 12:45:13

Пандёнок
Участник
 
Группа: Extensions
Зарегистрирован: 04-11-2008
Сообщений: 4706
UA: Firefox 68.0

Перевод страниц в Firefox (как в Google Chrome)

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

А здесь будет рассмотрен другой способ: когда [firefox] сам предлагает перевести страницу, если она не на вашем языке (например, не на русском). Такая экспериментальная функция есть в [firefox], но во-первых, она отключена в скрытых настройках, во-вторых, если её просто включить, она не заработает. Подробно, со скриншотами, настройка этой функции показана на https://www.our-firefox.ru/kak-v-mozill … refox.html — не буду это повторять, дам только немного изменённую мною краткую текстовую инструкцию для тех, кто не любит листать метры скринов, тем более что можно получить ключ на русскоязычном сайте «Яндекс.Переводчика» вместо английского, как это советуют там.
Вообще функцию «Перевод страниц» в Firefox можно настраивать на использование онлайн-переводчиков Google, Bing или Яндекс. Но бесплатный доступ к API (программному интерфейсу приложения) для перевода даёт только Яндекс, причём перевод через бесплатный API не очень качественный: он хуже не только перевода через платный API, но и бесплатного перевода через сам сайт https://translate.yandex.ru/ — потому что в платном API и на translate.yandex.ru используется используется нейроперевод, а в бесплатном API — статистический фразовый перевод. Вот скрин письма поддержки Яндекса об этом 30367494.png
Зеркало скрина.
То есть, если вам не интересна экспериментальная функция перевода страниц — сразу смотрите второе моё сообщение в этой теме, про перевод с помощью букмарклетов и расширений.
Если интересно, чтобы Firefox сам предлагал перевести страницу, и вам неважно качество перевода — см. скрытый текст про настройку (регистрация для просмотра не требуется).

скрытый текст
1. Убедиться, что установлен Firefox 41 или выше. Увидеть версию можно в меню «Справка» — «О Firefox» (как вариант, ввести "about:support" в адресную строку браузера и нажать Enter). Если у вас Firefox 40 или ниже — обновите программу. (В целях бесопасности рекомендуется всегда использовать последнюю версию Firefox или Firefox ESR.)
2. Ввести в адресную строку about:config и нажмите "Enter". В появившемся сообщении нажать кнопку "Я обещаю, что буду осторожен!"
3. В появившуюся поисковую строку ввести browser.translation. Появятся несколько параметров.
4. Дважды щёлкнуть левой кнопкой мыши по параметру browser.translation.detectLanguage, чтобы присвоенное ему значение сменилось с "false" на "true"; то же самое сделать для параметра browser.translation.ui.show
5. Дважды кликнуть по параметру browser.translation.engine и в появившемся окошке вместо "Google" или "Bing" вручную написать "Yandex" (обязательно с заглавной буквы) и нажать кнопку “OK”.
6. Перейти на страницу https://translate.yandex.ru/developers/keys и войти там в свою учётную запись на Яндекс. Если у вас до сих пор нет учётки на Яндексе — придётся её создать.
7. Согласиться с условиями использования API и нажать «Создать новый ключ».
8. Яндекс сгенерирует уникальный ключ, благодаря которому можно встроить его переводчик в Firefox. Скопировать этот ключ в любой текстовый файл.
9. Вернуться на страницу about:config и щёлкнуть мышкой на пустом месте, в контекстном меню выбрать «Создать» > «Строка», в появившемся окошке в качестве имени строки указать browser.translation.yandex.apiKeyOverride
10.В качестве значения этого параметра вставить ключ, полученный в шаге 8.
11.Закрыть все служебные страницы, перезапустить браузер и попробовать зайти на любой иностранный сайт (не на русском языке).

Теперь в настройках Firefox в разделе «Язык» появится пункт «Перевод веб-страниц» — там можно не только включить или отключить предложения перевода, но и настроить исключения: какие языки и какие сайты переводить не надо.

Если вам придётся эту настройку повторить (например, для нового профиля Firefox) — создавать ключ на Яндексе заново не надо — вместо шагов 7, 8 достаточно зайти на https://translate.yandex.ru/developers/keys под своей учётной записью и скопировать уже существующий ключ.

Мною замечено, что почему-то не все иностранные сайты Firefox предлагает перевести. Кроме того, результат перевода может заметно отличаться от перевода того же текста на сайте https://translate.yandex.ru или с помощью букмарклета. Так, по состоянию на 29.04.2020 функция «Перевод страниц» с помощью Яндекса переводит название браузера SeaMonkey с английского на русский как «Opera» или «не Opera». При переводе с помощью букмарклетов (см. ниже) этой ошибки нет.

Параметры автоматического перевода страниц в about:config

Перевод страниц в Firefox через API Яндекса (обсуждение)

Благодарю участника parnyagan за то, что он поднял эту тему.

Отредактировано Пандёнок (29-04-2020 22:41:15)

Отсутствует

 

№214-04-2020 14:10:51

Пандёнок
Участник
 
Группа: Extensions
Зарегистрирован: 04-11-2008
Сообщений: 4706
UA: Firefox 68.0

Re: Перевод страниц в Firefox (как в Google Chrome)

Перевод страницы с помощью Переводчика Google, с очень большого числа языков.
Этот способ позволяет выполнить перевод страницы или выделенного текста одним щелчком в любом браузере с поддержкой JavaScript (а его все современные веб-браузеры поддерживают, если вы это не отключили). При выделенном тексте — открывается перевод этого текста, без выделенного — открывается перевод всей страницы в новой вкладке.
Объясняю на примере Firefox, конечно же.

  • Итак, вы пользуетесь панелью закладок? Если нет, то щёлкните правой кнопкой на панели инструментов (или зайдите в меню ), выберите «Персонализация» и перетащите «Элементы панели закладок» на другую, используемую панель. Нажмите «Готово». Этот шаг можно было пропустить, и создать закладку просто в «Закладках», но для постоянного пользования лучше, чтобы она была под рукой.
  • Теперь создайте там закладку с любым понятным вам названием (например, «Перевод» или для краткости «П») и с одним из этих "адресов" (скриптов, один из которых надо вставить вместо адреса закладки):

javascript:var%20t=((window.getSelection&&window.getSelection())||(document.getSelection&&document.getSelection())||(document.selection%20&&document.selection.createRange&&document.selection.createRange().text));var%20e=(document.charset||document.characterSet);if(t!=''){location.href='http://translate.google.com/translate_t?text='+t+'&hl=ru&langpair=auto|ru&tbb=1&ie='+e;}else{location.href='http://translate.google.com/translate?u='+escape(location.href)+'&hl=ru&langpair=auto|ru&tbb=1&ie='+e;};

javascript:var%20t=((window.getSelection&&window.getSelection())||(document.getSelection&&document.getSelection())||(document.selection%20&&document.selection.createRange&&document.selection.createRange().text));var%20e=(document.charset||document.characterSet);if(t!=''){window.open('http://translate.google.com/translate_t?text='+t+'&hl=ru&langpair=auto|ru&tbb=1&ie='+e);}else{window.open('http://translate.google.com/translate?u='+escape(location.href)+'&hl=ru&langpair=auto|ru&tbb=1&ie='+e);};void 0;

Этот скрипт поместить в закладку (на панель закладок) вместо адреса. Первый и второй скрипты отличаются тем, что первый откроет перевод в текущей вкладке (вместо той страницы, которую переводите), а второй код открывает перевод в новой вкладке — лично мне так удобнее. Если вам бывают нужны оба способа (в новой вкладке и в текущей), можно создать обе эти закладки одновременно — они не мешают работать друг другу.
Такая закладка со скриптом "по науке" называется «букмарклет».
Если нужен скрипт для перевода на другой язык — обратите внимание, что я в каждом скрипте в двух местах выделил «auto|ru» — это язык с которого переводим (auto — значит любой, автоопределение) и на который перводим. Если вместо «ru» вставить стандартный код другого языка (например, uk — украинский), то перевод будет делаться на соответствующий язык. Если же вы постоянно переводите с одного и того же языка, а Google его путает с другими языками — замените «auto» на код того языка, с которого переводите. Коды языков можно узнать в Википедии: https://ru.wikipedia.org/wiki/Коды_языков


Ещё некоторые букмарклеты для перевода.
Microsoft Bing (новый, неофициальный скрипт, к сожалению, только перевод всей страницы).
В текущей вкладке:

javascript:q=(document.location.href);void(open('https://www.microsofttranslator.com/bv.aspx?from=&to=ru&a='+escape(q),'_self'));

В новой вкладке:

javascript:q=(document.location.href);void(open('https://www.microsofttranslator.com/bv.aspx?from=&to=ru&a='+escape(q),'_blank'));

Если вместо ru вписать другой код языка, перевод будет сделан на соответствующий язык. Если Bing ошибается с определением языка переводимой страницы — после "from=" надо дописать код исходого языка.


Яндекс.Переводчик, перевод всей страницы.
В текущей вкладке:

javascript:q=(document.location.href);void(open('https://translate.yandex.ru/translate?lang=auto-auto&url='+escape(q),'_self'));

В новой вкладке:

javascript:q=(document.location.href);void(open('https://translate.yandex.ru/translate?lang=auto-auto&url='+escape(q),'_blank'));

Здесь auto-auto — это направление перевода (с какого и на какой язык), при "auto-auto" язык определяется автоматически и переводится на тот язык, который установлен в вашем браузере.
Если в скриптах для «Яндекс.Переводчика» вместо https://translate.yandex.ru написать https://translate.yandex.com, откроется англоязычный интерфейс «Яндекс.Переводчика».
Яндекс.Переводчик, перевод только выделенного текста:

javascript:(function(){ var text = enquoteURI(document.getSelection()); if (!text.length) { text = prompt('Что перевести') } var url = 'https://translate.yandex.ru/?text=' + text + ' &sl=es&tl=pt#'; window.open(url,'trans','left=0,top=90,width=1080,height=400,toolbar=0,location=0,resizable=1'); })();

Если ничего не выделено, откроется окошко для ввода текста!


Важно! При переводе выделенного текста с помощью букмарклетов, если в тексте есть знак & (амперсанд), то перевод оборвётся перед ним, причём без сообщения об ошибке! Это не зависит от используемого сервиса перевода, а является особенностью работы букмарклетов в принципе. При переводе всей страницы (а не выделенного текста) или при переводе с помощью расширений этой ошибки нет.
Кроме того, букмарклеты не работают на сайте дополнений Firefox —  addons.mozilla.org.

Обсуждение:

Отредактировано Пандёнок (29-04-2020 23:21:50)

Отсутствует

 

№329-04-2020 23:21:42

Пандёнок
Участник
 
Группа: Extensions
Зарегистрирован: 04-11-2008
Сообщений: 4706
UA: Firefox 68.0

Re: Перевод страниц в Firefox (как в Google Chrome)

Ещё один способ — это использование расширений с функцией перевода — их множество, и подавляющее большинство из них используют Переводчик Google:

Рекомендуемое Mozilla расширение для перевода — To Google Translate от автора Juan Escobar, оно имеет русскоязычный интерфейс и умеет не только переводить, но и озвучивать текст.
Одно из популярных расширений-переводчиков — S3.Переводчик (Обсуждение).
Тема-обсуждение разных расширений для перевода — Дополнения-переводчики (предупреждаю, что многие указанные там расширения уже не существуют или не работают в последних версиях Firefox).

Но качество и безопасность каждого расширения я гарантировать не могу, тем более что сам очень давно не пользовался расширениями-переводчиками, зато букмарклетами, предложенными выше, я пользуюсь уже лет 10. Они не замедляют работу браузера, так как активируются только по вашему щелчку и вся их работа сводится к отправке адреса или выделенного текста на сервис онлайн перевода.
Раньше существовали и другие скрипты и расширения, но многие прежние «рецепты» не работают, потому что поменялось многое и в работе сервисов-переводчиков, и в самом Firefox. Информацию для этого сообщения я собирал из своих старых сообщений, кроме того, отсюда, отсюда, отсюда. Скрипты — только проверенные мною, работающие на момент написания сообщения, некоторые отредактировал.


Не рекомендую расширение PKTranslate — оно делает то же самое, что и функция «Перевод страниц» в Firefox, то есть переводит через бесплатный API Яндекс.Переводчика — с таким же некачественным результатом. Получать API-ключ тоже требуется.
Не рекомендую использовать расширение Yandex Translate (all languages) — оно имеет тот же недостаток, что и букмарклеты — "спотыкается" на знаке & — но вдобавок ещё и требует копировать текст для перевода в адресную строку.


Если перевод Яндекса вам интересен, можно использовать расширение Translate Button — оно добавляет кнопку для перевода текста Переводчиком Google (это не настраивается) и кнопку перевода страниц, которую можно настроить на один из переводчиков: Google, Яндекс или Bing.
Более широкие возможности даёт расширение Translation Comparison — в нём можно сравнить разные переводы — Google, Bing, ImTranslator и Яндекс.

Отредактировано Пандёнок (29-04-2020 23:29:03)

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia
Язык отображения форума: [Русский] [English]