Не русифицируется меню

Материал из TCKB 2.0
Перейти к:навигация, поиск

Преамбула

После выхода Total Commander 7.0 и пакета русификации к нему с завидным постоянством стали появляться вопросы вида: "Я скачал и установил пакет русификации. Интерфейс теперь русский, а меню осталось английским. Как это исправить?". Если вы просто хотите решить проблему, просто пролистайте текст в самый конец, там в найдёте готовый рецепт. Основная же часть статьи рассчинана на тех, кого интересует, в чём же дело, каков источник проблемы.

Амбула

Начнём с небольшого экскурса в историю. В TC предыдущих версий (вплоть до 6.5x) локализация была предусмотрена только для двух файлов: языковой файл (с именем вида wcmd_rus.lng) и файл меню (wcmd_rus.mnu). Для полноценной же локализации дополнительно необходимо перевести файл справки и список команд. Про справку сейчас говорить не будем, а на списке команд остановимся чуть подробнее. Он хранится в файле totalcmd.inc в каталоге установки TC и содержит строки вида:

cm_Copy=905;Copy files

Смысл полей следующий:

  1. cm_Copy: Символьное имя команды
  2. 905: Численный код
  3. Copy files: Описание команды на английском языке

Сам файл totalcmd.inc жизненно необходим для нормальной работы TC, поскольку команды он ищет именно в этом файле. А если файла нет - возникают самые разные незапланированные спецэффекты: команды, назначенные на сочетания клавиш, не запускаются, вместо собственного меню выводится стандартное, английское, намертво вшитое в исполняемый файл totalcmd.exe, и т. д.

Поскольку список команд из totalcmd.inc почти в неизменном виде выводился в диалогах, предлагающих выбор команды (например, при назначении сочетаний клавиш, создании кнопок панели инструментов и т. д.), то, чтобы интерфейс был полностью локализован, описания, хранящиеся в этом файле, требовалось перевести на русский и заменить оригинал переведённым файлом. Формат файла, разумеется, оставался тем же самым, просто английское описание заменялось переведённым.

С выпуском версии 7.0 ситуация изменилась: Total Commander начал сам поддерживать локализацию списка команд, точно так же, как до этого поддерживал перевод интерфейса и меню. Отныне переводчики вместо того, чтобы переводить файл totalcmd.inc, должны создать в подкаталоге Language (там, где хранятся языковые файлы) новый файл с названием вида wcmd_rus.inc и вписать в него строки, сопоставляющие числовому код команды переведённое описание, например:

905="Копировать файлы"

Total Commander автоматически определяет наличие такого файла в языковом каталоге при выборе соответствующего языка в настройках, после чего описания команд будут выводиться переведёнными. Заметьте: роль файла totalcmd.inc при этом осталась прежней - он по-прежнему должен находиться в каталоге установки TC, по-прежнему должен содержать все используемые в TC команды, по-прежнему должен быть в формате "cm_Copy=905;Copy files"! Пакет русификации, составленный Константином Власовым и Вадимом Казаковым, учитывает все эти особенности. При его установке единственное, что вам нужно сделать — это согласиться на автоматическую установку или (если она отключена) распаковать вручную все файлы в каталог TC. Больше НИЧЕГО делать не нужно: ни перемещать, ни переименовывать, ни заменять другие файлы (разве что это были файлы от предыдущей версии русификации). Тем не менее, огромное количество пользователей по какой-то необъяснимой причине (может, по привычке?) вытаскивают файл wcmd_rus.inc из языкового каталога, переименовывают его в totalcmd.inc и заменяют этим файлом оригинал. Посмотрите ещё раз на формат этих двух файлов и сами скажите: может ли файл локализации служить заменой оригинальному списку команд? Ответ очевиден: нет.

Рецепт

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

  1. Восстановите оригинальный файл totalcmd.inc из дистрибутива Total Commander.
  2. Установите русификацию в точности так, как это описано в ReadMe-файле.
  3. Выберите в настройках TC русский язык.
  4. Не делайте больше никаких дополнительных действий!!!

Константин Власов


Смотри также

Ключевые слова: русификация, локализация, меню, не русифицируется меню