Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RuHub — русификация GitHub

Расширение для Chrome/Edge/Яндекс Браузера/Brave/Opera, которое переводит интерфейс GitHub на русский и добавляет пару кнопок в шапку репозитория. Manifest V3, никаких сборщиков — просто content script.

Что оно делает

Content script проходит по DOM через TreeWalker и подставляет перевод для текстовых узлов, совпадающих (по trim().toLowerCase()) со словарём в content.js. Заодно переводятся атрибуты aria-label, placeholder, title и data-content у элементов, где они есть.

Код при этом не трогается: shouldSkipNode явно исключает <pre>, <code>, <textarea>, diff-таблицы, blob-вьюер, подсветку синтаксиса, редакторы (CodeMirror, Monaco, Lexical) и всё, что помечено contenteditable. Идея простая — переводить интерфейс, а не содержимое чужих репозиториев.

За перерисовками GitHub (там всё через pjax/turbo, без полных перезагрузок страницы) следит MutationObserver с дебаунсом в 80мс, так что перевод и кнопки не пропадают при переходах между страницами.

В шапке репозитория (ul.pagehead-actions) появляются две кнопки:

  • VS Code — открывает текущую страницу на github.dev, то есть тот же путь, только github.comgithub.dev.
  • ZIP — прямая ссылка на /user/repo/archive/HEAD.zip, без похода в выпадающее меню Code.

Установка

В магазин расширений это не выкладывалось, ставится вручную:

  1. Скачайте или клонируйте репозиторий.
  2. Откройте страницу расширений: chrome://extensions/, edge://extensions/ или browser://extensions/ в Яндекс Браузере.
  3. Включите режим разработчика.
  4. «Загрузить распакованное расширение» → укажите папку с manifest.json.

Словарь переводов

Всё в объекте DICTIONARY в начале content.js — пары вида "pull requests": "Пул-реквесты". Покрыта в основном навигация репозитория (Pull requests, Issues, Actions, Projects, Wiki, Settings и т.д.), кнопки действий (fork, star, watch, sponsor...) и разделы коммитов/веток/релизов.

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

Чего словарь не покрывает — остаётся на английском. Это не полноценная локализация всего GitHub, а перевод самых частых элементов интерфейса.

Файлы

  • manifest.json — Manifest V3, content script на github.com/*, запуск на document_end
  • content.js — словарь, перевод DOM, обе кнопки
  • styles.css — стили кнопок под тему GitHub, светлую и тёмную (prefers-color-scheme)

About

🇷🇺 RuHub — браузерное расширение для русификации интерфейса GitHub и быстрых действий разработчика (VS Code web, ZIP)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages