English | 日本語 | 简体中文 | Español | Deutsch | Português (Brasil) | 한국어 | Français | Русский
GitHub UI Translator — расширение для Chrome, Edge и Firefox, которое с помощью локальных словарей переводит англоязычный интерфейс GitHub на японский, упрощённый китайский, испанский, немецкий, бразильский португальский, корейский, французский или русский язык. Расширение не использует внешние API перевода или облачные сервисы: весь перевод выполняется локально в браузере.
Снимки экрана для всех 8 поддерживаемых языков
В первой строке показан исходный английский интерфейс GitHub, а в следующих строках — результат перевода на каждый язык.
- Выполняет весь перевод локально, не отправляя содержимое страниц или настройки во внешние сервисы
- Переводит статичные элементы интерфейса GitHub, например пункты навигации и кнопки, но не затрагивает области с пользовательским содержимым: файлы README, проблемы, комментарии и блоки кода
- Позволяет включать и выключать перевод во всплывающем окне расширения
- Переводит глобальный заголовок только после завершения гидратации React на GitHub, чтобы снизить риск помех для глобального поиска; эту функцию также можно отключить во всплывающем окне
- Сейчас поддерживаются японский, упрощённый китайский, испанский, немецкий, бразильский португальский, корейский, французский и русский языки. По мере расширения покрытия будут добавляться и другие языки.
- Динамический текст с числами или датами, например «3 commits» или «opened 2 days ago», не переводится. Пользовательское содержимое, такое как имена пользователей, также исключено. Подробнее см. в разделе об области перевода.
- Поддерживается только
github.com. GitHub Enterprise и другие пользовательские домены не поддерживаются. - Расширение протестировано в Chrome, Edge и Firefox. Другие браузеры на базе Chromium тоже могут работать, но специально не тестировались.
Установите GitHub UI Translator из Интернет-магазина Chrome.
Если Интернет-магазин Chrome недоступен в вашей среде, например на устройстве под управлением организации:
- Скачайте файл
.zipиз последнего выпуска и распакуйте его. - Откройте
chrome://extensionsв Chrome и включите режим разработчика. - Нажмите «Загрузить распакованное расширение» и выберите распакованную папку.
Расширения, установленные вручную, не обновляются автоматически. Повторяйте эти действия после выхода новой версии. Политики вашей организации также могут запрещать режим разработчика или расширения, установленные вручную; в таком случае обратитесь к администратору.
Установите GitHub UI Translator из каталога дополнений Microsoft Edge.
Требуется Firefox 142 или более поздней версии.
Установите GitHub UI Translator из каталога дополнений Firefox.
После установки откройте страницу GitHub, например https://github.com/.... Поддерживаемые элементы интерфейса будут автоматически переведены на выбранный язык.
Чтобы настроить словарь или принять участие в разработке, клонируйте репозиторий и загрузите расширение напрямую.
git clone https://github.com/nobuo-miura/github-ui-translator.git- Chrome / Edge: откройте
chrome://extensionsв Chrome илиedge://extensionsв Edge, включите режим разработчика, нажмите «Загрузить распакованное расширение» и выберите клонированную папку, содержащуюmanifest.json. - Firefox: откройте
about:debugging#/runtime/this-firefox, нажмите «Загрузить временное дополнение…» и выберите файлmanifest.jsonиз репозитория. Временные дополнения удаляются при перезапуске Firefox, поэтому их нужно загружать заново в каждом сеансе.
- Нажмите значок расширения на панели инструментов, чтобы открыть переключатель перевода и выбор языка. Сейчас в комплект входят японский, упрощённый китайский, испанский, немецкий, бразильский португальский, корейский, французский и русский языки; после добавления новых словарей список можно расширить.
- При изменении переключателя или языка открытые вкладки GitHub перезагружаются, чтобы применить новую настройку.
- Во всплывающем окне также можно включить или отключить перевод глобального заголовка и перейти к этому репозиторию. Изменение этой настройки также перезагружает открытые вкладки GitHub. Перевод глобального заголовка включён по умолчанию и ожидает завершения гидратации React на GitHub; отключите его, если глобальный поиск не открывается.
- На странице настроек расширения (
chrome://extensionsв Chrome,edge://extensionsв Edge илиabout:addonsв Firefox) можно посмотреть сведения о встроенных словарях и версию расширения.
Добавить или изменить переводы можно непосредственно в файле словаря нужного языка, например dictionaries/ja.json, dictionaries/zh-CN.json, dictionaries/es.json, dictionaries/de.json, dictionaries/pt-BR.json, dictionaries/ko.json, dictionaries/fr.json или dictionaries/ru.json.
Записи сгруппированы по экранам GitHub (навигация по репозиторию, настройки репозитория, настройки организации и т. д.). Каждая группа начинается со строки комментария // ====, поэтому можно быстро определить, к какому экрану относится запись, и заметить изменения в текстах интерфейса GitHub.
- Файл представляет собой JSON со строчными комментариями
//в стиле JSONC. Поддерживаются только комментарии, занимающие всю строку; комментарии после значения в той же строке не поддерживаются. СтандартныеJSON.parseиfetch().json()не обрабатывают комментарии, поэтому расширение удаляет строки комментариев перед разбором файла. - Ключи словаря должны точно совпадать с исходным английским текстом. Начальные и конечные пробелы игнорируются как в видимом тексте, так и в поддерживаемых значениях атрибутов. Только для видимого текста последовательности пробелов, включая переводы строк, сворачиваются в один пробел. При сопоставлении значений атрибутов, таких как
aria-label,placeholder,valueкнопки иdata-disable-with, внутренние пробелы сохраняются. Сами ключи словаря не должны содержать начальных или конечных пробелов. - После изменения словаря перезагрузите расширение через
chrome://extensionsв Chrome,edge://extensionsв Edge илиabout:debuggingв Firefox.
- Добавьте
dictionaries/<code>.json(например,dictionaries/en.json) в том же формате. - Добавьте
{ "code": "<code>", "name": "<display name>" }вlanguages.json. Всплывающее окно и страница настроек загружают этот общий список. - Запустите
node scripts/validate.mjs, чтобы проверить формат словарей, повторяющиеся ключи, метаданные, совпадение наборов ключей во всех встроенных словарях, самосопоставления, цепочки переводов и несходящиеся циклы.
Всплывающее окно, страница настроек и метаданные расширения используют механизм _locales для браузерных расширений независимо от словарей перевода GitHub. Чтобы добавить новый язык и в интерфейс самого расширения, создайте _locales/<code>/messages.json с теми же ключами сообщений, что и в _locales/en/messages.json.
github-ui-translator/
├─ manifest.json
├─ shared.js # Общий список языков и вспомогательные функции локализации интерфейса расширения
├─ languages.json # Встроенные языки перевода GitHub
├─ content.js # Модуль перевода, сканирующий DOM по списку разрешённых элементов
├─ popup.html/js # Всплывающее окно панели инструментов с переключателем перевода
├─ options.html/js # Сведения о словарях и версия расширения
├─ _locales/ # Локализованные сообщения всплывающего окна, настроек и метаданных
├─ dictionaries/
│ ├─ ja.json # Японский словарь
│ ├─ zh-CN.json # Словарь упрощённого китайского языка
│ ├─ es.json # Испанский словарь
│ ├─ de.json # Немецкий словарь
│ ├─ pt-BR.json # Словарь бразильского португальского языка
│ ├─ ko.json # Корейский словарь
│ ├─ fr.json # Французский словарь
│ └─ ru.json # Русский словарь
├─ docs/
│ ├─ translation-scope.md # Английская версия
│ └─ translation-scope.ja.md # Японская версия
├─ scripts/
│ └─ validate.mjs # Проверка словарей и локализации
└─ icons/


{ "language": "ja", "name": "日本語", "translations": { // ==== Навигация по репозиторию ==== "Code": "コード", "Issues": "イシュー" } }