17 апреля, 2024

hleb

Находите все последние статьи и смотрите телешоу, репортажи и подкасты, связанные с Россией.

Как я сделал расширение Chrome для преобразования правописания Reg US • The Register

Как я сделал расширение Chrome для преобразования правописания Reg US • The Register

Держась за руки записывать Она начала свою жизнь в Лондоне в 1994 году, и сегодня у нее есть журналисты и другие сотрудники по всему миру, то есть в Сан-Франциско, Сиднее, Сингапуре, Берлине и других странах.

Он писал наши Eagles в их местном стиле: американцы использовали американское правописание, британцы полагались на британское правописание, австралийцы в значительной степени также использовали британское правописание, а все остальные делали то, что считали нормальным. Если статья написана, например, командой США и опубликована утром в Великобритании, написание часто меняется на британское.

По мере того, как мы добавляли новых авторов и редакторов по всему миру и привлекали больше людей во всем мире — сейчас около 40 миллионов уникальных читателей в год — во всех часовых поясах, по логистическим и профессиональным причинам стало необходимо согласовать только один последовательный стиль для весь сайт. после, после записывать Во время пандемии мы перешли с .co.uk на .com, выбрав американское правописание.

Почему? Потому что он честно отражает поистине глобальный характер наших читателей. Британское правописание может привести к тому, что мы будем появляться только в Великобритании. Да, мы родом из Великобритании, но сегодня мы обслуживаем максимально возможное количество технических работников в организациях по всему миру. Мы хотим, чтобы наш вкус просвещенной и непочтительной технической прессы распространился повсюду, чтобы мы могли внести свой вклад, бросив вызов поставщикам, объяснив, что происходит, и укусив руку, которая кормит ИТ.

Тем не менее, американское правописание не всем нравится, или, по крайней мере, у нас сложилось такое впечатление, когда мы читали заметки, ориентированные на кирпичи, которые в последнее время пробрасывались через наши цифровые окна.

Как оливковая ветвь страстного сегмента наших читателей, предпочитающих английский язык King’s, этот орел решил создать расширение для браузера Chrome, чтобы изменять слова в статьях, опубликованных с правописанием в США, на британское правописание.

это называется Спеллерайзер, потому что я был немного глуп в надежде держаться подальше от расползающегося и нераскаявшегося безразличия, которое является новой нормой в Интернете. Кроме того, глупое название служит напоминанием о том, что расширение не работает должным образом. Но эй, это бесплатно.

READ  Бывшие лучшие жокеи стали пионерами революционной подковы и добились потрясающих результатов.

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

На самом деле, я должен был положиться на модель машинного обучения, чтобы внести более обоснованные изменения в орфографию. Но тогда это был не проект кодирования выходного дня. Не стесняйтесь отправлять свои улучшения через GitHub.

Я надеюсь, что создаю Spellerizer, чтобы доказать, что написать расширение для браузера достаточно просто, и побудить тех, у кого скромные знания JavaScript, попробовать его.

Конечно, есть аналогичные доступные варианты, такие как сценарии оболочки, Perl или Python для извлечения, перевода и выплевывания страниц. Но браузер — особенно важная часть программного обеспечения, и его стоит настроить, если вам нравится писать код.

Spellerizer можно скачать и установить из файла хром интернет-магазин или от него Репозиторий GitHub. Первый вариант — лучший вариант, если вы хотите продолжать и получать обновления — некоторые люди Отчет Chrome удаляет загруженные вручную (несжатые) расширения при перезапуске браузера В качестве меры безопасности. Однако это был не мой опыт.

Поскольку ранее в Интернет-магазине Chrome не было расширения, вы можете ожидать появления предупреждения — «Это расширение не является доверенным для Enhanced Safe Browsing». — На chrome://extensions/page после установки. Google объяснятьНовым разработчикам обычно требуется несколько месяцев, чтобы им стали доверять.

Spellerizer официально не поддерживается и не спонсируется записывать и его издатель, Situation Publishing, который не дает никаких гарантий пригодности или функциональности. Как говорится в списке Chrome Web Store, вам, вероятно, это не нужно. но если ты этого хочешь, Если ты действительно этого хочешьмои редакторы не против иметь расширение на данный момент.

READ  Брикстон выпускает Cromwell 1200

Google Документация по API расширений Chrome Хорошее место, чтобы узнать о тонкостях создания расширения для браузера. Как только вы получите общее представление о том, как основные компоненты (файл манифеста, сервис-воркер, сценарии содержимого и другие веб-страницы, связанные с расширениями) связаны друг с другом, стоит установить расширение, например Средство просмотра исходного кода расширения Chrome (CRX) Отображает исходный код расширения из Интернет-магазина Chrome перед загрузкой.

Можно просмотреть исходный код уже установленного расширения, но это требует немного больше усилий, потому что вам нужно знать путь к папке расширения Chrome (chrome://version/ -> [Profile Path field]/extensions), а затем найдите правильный 32-символьный идентификатор, используемый для имени каталога расширения, среди других, которые могут существовать.

Spellerizer, вероятно, сложнее, чем нужно, потому что я решил реализовать интернационализация — Способ замены текстовых строк, видимых в расширении, переведенным текстом в зависимости от выбранного языка браузера. локализовать.js Скрипт собирает текстовые значения из элементов HTML-страницы, помеченных расширением . атрибут «данные-i18n» а потом Варианты перевода вытащил из Сообщения. json файл.

Расширение, написанное с v3. заявлениеработает, загружая сервис-воркер, фон.jsи появляется onboarding-page.html при установке. Изначально он добавляет к значку Spellerizer функцию слушателя, которая, если следовать инструкциям и Закреплено на панели браузераон будет виден без нажатия всплывающего окна «Плагины».

Функция слушателя, прикрепленная к значку орла Spellerizer, воспроизводит файл контент-script.js Файл, выполняющий основную часть работы. Если щелкнуть во время просмотра файла регистр страница, он извлекает файл данных правописания, правописание_data.json (сделанный Доступный разработчиком Heiswayi Nrird под лицензией MIT) и повторяется во всех файлах. КУПЛ контракт Древовидная структура, используемая для организации элементов на веб-странице.

Мой подход не был особенно сложным — с тех пор я узнал, что есть гораздо более лаконичный способ перебирать узлы DOM с помощью Древоход объект — Но петли внутри петель делают свое дело. Функция scanWords (строка 20, content-script.js) разделяет отображаемый текст, связанный с узлами DOM, на отдельные слова и сравнивает каждое из примерно 1700 пар слов в США и Великобритании. Если он находит совпадение, он заменяет правописание США на правописание Великобритании, сохраняя исходный регистр.

READ  Как читать сообщения в Instagram, не будучи замеченным?

Если сценарий находит какие-либо слова для замены, значок кода расширения будет обновлен числом, представляющим количество замененных слов. Значок исчезает, когда вы нажимаете на другую вкладку браузера. А если перезалить файл регистр страницы, любые сделанные изменения исчезнут, потому что они только на стороне клиента.

Также есть страница параметров, которую я добавил для тестирования постоянных данных через API локального хранилища. Доступ к нему можно получить, нажав клавишу Ctrl на значке Spellerizer, а список параметров содержит один флажок под названием «Мир во всем мире».

Как вы можете себе представить, это не имеет никакого эффекта. наслаждаться. ®