Русификация меню для Sublime Text 2 и 3

Sublime Text 2 русификатор меню Решил и я вложить свой небольшой вклад в развитие замечательного текстового редактора Sublime Text (релиз 2-й версии которого, кстати, вышел несколько дней назад).

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

Особенности локализации Sublime Text

Вообще-то в Sublime Text возможность локализации не предусмотрена вообще, а ее очень не хватает. Единственное, что в данный момент можно сделать в этом плане — перевести на русский язык соответствующие фразы в файлах меню (которые, по сути, являются текстовыми файлами), что я, собственно, и сделал.

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

Локализация Sublime Text

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

Имейте это в виду.

Скачать

Чтобы получить частично русский Sublime Text, скачайте архив для соответствующей версии и следуйте инструкции по установке.

Русифицированное меню для Sublime Text 2

Дата последнего обновления: 04.06.2013

Русифицированное меню для Sublime Text 3

Дата последнего обновления: 23.09.2016

Если вы желаете отблагодарить автора финансово, воспользуйтесь следующей формой, указав произвольную сумму рублей:

Установка

Все очень просто. Распакуйте скачанный архив и скопируйте все файлы с расширением .sublime-menu (кроме папки «backup») в одну из следующих папок в зависимости от вашей операционной системы, подтвердив замену (если папки «Default» по указанному пути нет, то создайте ее):

ОС и тип установкиПуть
Windows 7/8/10c:\Users\Имя_пользователя\AppData\Roaming\Sublime Text 3\Packages\Default\
Windows XPc:\Documents and Settings\Имя_пользователя\Application Data\Sublime Text 3\Packages\Default\
Windows (портативная установка)\папка_с_установленным_Sublime_Text\Data\Packages\Default\
OS X~/Library/Application Support/Sublime Text 3/Packages/Default/
Linux~/.config/sublime-text-3/Packages/Default/

Обратите внимание, что в названии папки «Default» первая буква должна быть заглавной. Если вы назовете ее «default», то пункты меню продублируются.

В папку «backup» я поместил оригинальные файлы меню Sublime Text на случай, если вы захотите их восстановить.

По поводу качества перевода

Если вы считаете, что какие-либо пункты меню могут быть переведены более понятно и грамотно, смело предлагайте свои варианты в комментариях, это приветствуется.

Как я переводил

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

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

Таким образом, в дальнейшем, если разработчик Sublime Text дополнит меню, мне не составит труда быстренько добавить и перевести новые пункты.

Полезные комментарии (1)
Комментарии (242)
  1. 1
    Олег

    Ты хоть бы координаты оставил,куда хоть по десятке скинулись бы….хоть пару тыщ за свои труды получал бы ежемесячно ;))

  2. 4
    Николай

    Немного , ты приятель , не довел дело до конца. Но и за это огромное спасибо. А так мой совет — доделай и поставь кнопку Яндекса — благотворительный сбор. Будешь деньги иметь маленькие, но хорошие .Очень хорошее дело сотворил . Спасибо огромное. С уважением.

  3. 5
    Mitai

    А в 10ке где искать эту папку?

  4. 7
    Виктор

    Спасибо вам огромное за ваш труд! С уважением,Виктор!

  5. 8
    Александр

    Загрузил куда написано — английский буквы не исчезли. В чём дело?

  6. 9
    Александр

    Извиняюсь, погорячился. Там оказывается две папки Packages. Не в ту загрузил изначально) Всё работает! Спасибо.

  7. 10
    Миша

    Спасибо брат!!!

  8. 11
    Геннадий

    В русификаторе не работает кнопка «Правка => Тэг => обернуть выделенное тегом»
    После нажатия ничего не происходит.
    При этом горячие клавиши Альт+Шифт+W продолжают работать. Как исправить?

  9. 14
    Рыжь

    Спасибо огромное за статью, за русификатор :)
    (С уважением, Рыжь)

  10. 15
    Jaan

    Спасибо все прекрасно сработало. Только вот папки Default не было пришлось создать ее и закинуть все ваши файлы. огромное спасибо!!

  11. 16
    Богдан

    Большое спасибо, отличная работа!

  12. 17
    Bam

    А как можно стиль текста поменять? а то выглядит не очень

  13. 18
    Mr. Anderson

    Dimox, исходи из того, что происходит при первом использовании хоткеев (это к вопросу о непонятках со scope и yank). «Выделить до scope» я назвал «Выделить вместе с кавычками» — именно это и происходит при нажатии, — когда курсор находится внутри фрагмента текста, завернутого в кавычки, выделяется только он, включая кавычки. Что происходит при последующих нажатиях, значения не имеет, программа просто расширяет выделение, вплоть до всего текста.
    Что касается yank — это я назвал «Вставка последнего набранного/вставленного фрагмента текста (Ctrl+K, Ctrl+Y)». Т.е. когда набираешь текст, он пишется в некий буфер. Набрал слово, и тут же можешь его вставить, но! при этом содержимое буфера обмена не меняется. Вставляешь по Ctrl-V — и буфер yank заменяется на это содержимое, можно так же вставлять его по Ctrl+Y, пока печатать не начнёшь. Ctrl+K очищает буфер yank. Вроде как-то так, по-крайней мере на первый взгляд. Что касается других надписей, типа «Open all with current extension as…» — они вшиты в бинарник, правятся hex-редактором. И пока есть непонятки с разделом Инструменты — Макрос. Всё на вражеском языке, хотя в Main.sublime-menu перевод лежит. И в строках перевода ссылки на какие-то файлы res://Packages/Default/***.sublime-macro, которых по данному адресу нет.

  14. 19
    Mr. Anderson

    А ещё вот здесь https://forum.sublimetext.com/t/what-does-yank-mean-in-st3-v3114/21300 небольшое пояснение по yank, как вариант его использования:
    Yank is Unix terminology that basically means paste, but doesn’t affect the clipboard.
    You first need to set a mark.
    Then, Edit -> Mark -> Delete to Mark, which will put the text between the current selection and the mark in the «yank» buffer.
    Edit -> Mark -> Yank then «pastes»/inserts the text that was deleted/cut.

  15. 20
    Mr. Anderson

    А вообще лучше так (вся строка целиком, включая символы переноса):
    { «command»: «yank», «caption»: «Промежуточный буфера обмена\nCtrl+K: включение/отключение промежуточного буфера (при работе с меткой)\nCtrl+Y: вставка удалённого/вырезанного фрагмента (при работе с меткой)\n повтор последнего набора/вставки (при работе без метки)» }

  16. 21
    Mr. Anderson

    Или так (чуть подправил):
    { «command»: «yank», «caption»: «Промежуточный буфера обмена\nCtrl+K: включение / отключение промежуточного буфера (при работе с меткой)\nCtrl+Y: вставка удалённого / вырезанного фрагмента (при работе с меткой)\n вставка набранного фрагмента текста / повтор вставки из буфера обмена (при работе без метки)» }

  1. 1
    Alex

    НА Yosemite 10.10.3, Sublime 3083 путь —> Пользователи/Имя/Библиотеки(открыть в новой вкладке)/Application Support/Sublime Text 3\Packages\Default. Но нужно показать скрытые файлы терминалом или сторонней программой. Путь в твоей инструкции не работает. Удачи!