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

Заказывай стафф с атрибутикой Mozilla и... пусть все вокруг завидуют тебе! Быть уникальным - быть с Mozilla!

№123-02-2020 12:45:13

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

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

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

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


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.

Зачёркнутые шаги 6-8 (равно как и бесплатность ключей) будут неактуальны с 15 августа 2020 — если кому-то интересно использовать встроенную функцию перевода во что бы то ни стало, вот ссылки на платные сервисы: Google Translation API, Yandex Translate | Яндекс.Облако, Translator Text API - Microsoft Translator for Business. Но это всё даже их разработчиками позиционируется как функции только для бизнеса, а для простого пользователя больше подходят букмарклеты и расширения — см. сообщения ниже.
9. Скопировать полученный ключ в любой текстовый файл.
10. Вернуться на страницу about:config и щёлкнуть мышкой на пустом месте, в контекстном меню выбрать «Создать» > «Строка», в появившемся окошке в качестве имени строки указать browser.translation.yandex.apiKeyOverride
11.В качестве значения этого параметра вставить ключ, полученный в шаге 8.
12.Закрыть все служебные страницы, перезапустить браузер и попробовать зайти на любой иностранный сайт (не на русском языке).

Теперь в настройках 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 Яндекса (обсуждение)

Дополнено:
Мне пришло письмо от Яндекса (жирный шрифт добавил я):


С 31 июля 2020 года вы сможете бесплатно переводить 50 000 символов в день, а с 15 августа 2020 года мы закрываем доступ к бесплатному API Яндекс.Переводчика. Если вы хотите и дальше использовать технологии Яндекса для перевода, регистрируйтесь на сервисе Yandex Translate на платформе Яндекс.Облако.

То есть: «халява закончилась». Но не надо нигде регистрироваться и никому платить: см. ниже!


Примерно то же самое (причём бесплатно, с более удобными и понятными настройками и весьма быстро) умеет делать расширение Translate Web Pages («Перевести веб-страницы»). Например, чтобы настроить автоматический перевод английского языка на всех сайтах, установите это расширение, зайдите на любую страницу на английском языке, нажмите кнопку расширения 32981201.png на панели инструментов [firefox], поставьте галочку «Всегда переводить с…» и нажмите кнопку «Перевести». Чтобы всегда переводить определённый сайт (со всех языков, которые там встретятся), нажмите кнопку расширения — параметры — «всегда переводить этот сайт». Кроме того, это расширение умеет переводить выделенный текст. Можно настроить на перевод с помощью переводчика Google или Яндекса.
Внимание: это расширение не работает, если заблокированы скрипты, например, расширением NoScript.

Отредактировано Пандёнок (10-04-2022 14:03:04)

Отсутствует

 

№214-04-2020 14:10:51

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

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

Перевод страницы с помощью Переводчика 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='https://translate.google.com/?sl=auto&tl=ru&text='+t}else{location.href='https://translate.google.com/translate?sl=auto&tl=ru&u='+escape(location.href)};

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('https://translate.google.com/?sl=auto&tl=ru&text='+t);}else{window.open('https://translate.google.com/translate?sl=auto&tl=ru&u='+escape(location.href));};void 0;

Или то же самое без использования шифрования HTTPS

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/?sl=auto&tl=ru&text='+t}else{location.href='http://translate.google.com/translate?sl=auto&tl=ru&u='+escape(location.href)};

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/?sl=auto&tl=ru&text='+t);}else{window.open('http://translate.google.com/translate?sl=auto&tl=ru&u='+escape(location.href));};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'); })();

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


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


Но есть сайт, который не обращает внимания на & в тексте, а качество перевода сравнимо с переводчиками Google и Яндекса!
Перевод выделенного текста с помощью переводчика DeepL (поддерживаются более 70 языков):

javascript:location.href='https://www.deepl.com/translator#auto/ru/'+encodeURI(window.getSelection().toString())

— перевод откроется в той же вкладке.

Обсуждение:


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


Дополнено: букмарклеты для перевода всей страницы Яндекс.Переводчиком (как и сама веб-версия Яндекс.Переводчика) не позволяют переводить запрещённые в России сайты — причём это ограничение действует не только в России. Это можно обойти, если вместо букмарклетов и вместо веб-версии использовать расширения (см. ниже).

Отредактировано Пандёнок (06-04-2022 00:40:43)

Отсутствует

 

№329-04-2020 23:21:42

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

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

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


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


Рекомендуемые Mozilla расширения для перевода:

  • To Google Translate от автора Juan Escobar, — имеет русскоязычный интерфейс и умеет не только переводить, но и озвучивать текст;
  • Simple Translate от автора sienori, — умеет использовать не только Google, но и DeepL, хотя для последнего нужны регистрация и настройка.

Другие популярные расширения-переводчики:

  • Translate Web Pages (Перевести веб-страницы) от автора Filipe Ps (обсуждение) — может использовать переводчик Google или Яндекс (на выбор пользователя);
  • S3.Переводчик от автора Oleksandr (обсуждение) — использует Переводчик Google, имеет много возможностей и настроек;
  • Google Translator for Firefox от автора nobzol — легковесное расширение (всего 67КБ), работа которого напоминает работу скриптов-букмарклетов для Переводчика Google — то есть перевод всегда открывается в новой вкладке с Переводчиком Google, а не в подсказке, но в отличие от букмарклетов перевод не прерывается на знаке "&".

Расширение Translation Comparison позволяет сравнить разные переводы — Google, Bing, ImTranslator и Яндекс.


Тема-обсуждение разных расширений для перевода — Дополнения-переводчики (предупреждаю, что многие указанные там расширения уже не существуют или не работают в последних версиях Firefox).

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


Не рекомендую использовать расширение Yandex Translate (all languages) — оно имеет тот же недостаток, что и букмарклеты — "спотыкается" на знаке "&" — но вдобавок ещё и требует копировать текст для перевода в адресную строку.


Отредактировано Пандёнок (10-04-2022 14:35:44)

Отсутствует

 

Board footer

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