Сброс языкового меню

Обсуждение Total Commander. Установка, использование, настройка, решение проблем, скрытые функции. Обсуждение новых версий.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Ответить
Аватара пользователя
Monarch-LFV
Сообщения: 363
Зарегистрирован: Пн июл 22, 2019 13:20

Сброс языкового меню

Сообщение Monarch-LFV »

Уже несколько месяцев мучаюсь (с тех пор как обновился до TC 10.52, на более старых версиях не замечал).
После перезапуска ТС сбрасывается языковое меню (*.mnu) на дефолтное английское (Files, Mark...). Помогает простой перезапуск ТС или введение команды:

Код: Выделить всё

OPENLANGUAGEFILE WCMD_RUS.LNG
Проявляется это далеко не всегда, в основном после перезагрузки системы, но иногда и в процессе работы замечаю, что меню на английском, в какой момент сбрасывается - не могу отследить, поэтому даже не могу понять с чем может быть связано такое поведение.
В wincmd.ini, как и положено, прописано:

Код: Выделить всё

languageini=WCMD_RUS.LNG
Mainmenu=WCMD_RUS.mnu
Почему-то иногда ТС не видит/игнорирует эти записи, получается.
НО, что самое интересное, при таком сбросе меню на дефолтное английское, все мои пользовательские команды из файла WCMD_RUS.ini работают, все диалоги/настройки и т.д. из файла WCMD_RUS.LNG - русские, как и должно быть. То есть проблема только в загрузке файла "WCMD_RUS.mnu" при старте.
ТС собственной сборки, проблема проявляется как минимум на 2 машинах: рабочей win10х64, и домашней win7x64. ТС по умолчанию использую 32-битный.
Ввиду того, что проблему сложно отследить или воспроизвести намерено, поэтому не тестировал на чистом ТС.
Хотелось бы узнать, это только у меня такое проявляется, или кто-либо из форумчан замечал подобное поведение?
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Monarch-LFV
Ни разу такого не замечал ни в каких версиях TC и без оценки соответствующих файлов (включая и INC) никаких внятных версий причин пока не имею. У самого преимущественно 32-битный TC на Windows 7. Правда, пользуюсь я набором с расширенным, а не со стандартным меню (стандартный набор файлов держу в неизменном виде).
То, что OPENLANGUAGEFILE WCMD_RUS.LNG обрабатывается нормально, а обычный запуск TC — нет, выглядит очень странно.
Попробуйте хотя бы временно указать значение Mainmenu с полным путём (да, я знаю, что по правилам это при таком местоположении не требуется, но тем не менее попытаться и понаблюдать можно).
В какую папку установлен TC и где хранятся его настройки?
А файл WCMD_RUS.INI, кстати, привязывается к LNG, а не к MNU, так что тут ничего интересного нет.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Monarch-LFV
Сообщения: 363
Зарегистрирован: Пн июл 22, 2019 13:20

Сообщение Monarch-LFV »

Некоторое время потестировал всяко-разно и выяснил причину - виноват плагин Autorun и именно бета версии, причем с любым конфигурационным файлом: хоть переименованный example идущий в составе плагина, хоть полностью пустой файл Autorun.cfg (0 байт).
Ошибку можно воспроизвести так - просто перезагрузить компьютер, у меня ТС стоит в автозагрузке системы. При включенном Autorun - загружается англоязычное меню. При выключенном в wincmd.ini (или переименованной папке Autorun в Autorun1) - загружается без ошибок, проверял многократно.
Autorun стоит первым в списке плагинов, одинаково проявляют себя бета версии 2.2.7, 2.2.8 и 2.2.10.
Но на стабильной версии 2.2.1 - ошибки нет. Придется использовать ее.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Monarch-LFV писал(а):одинаково проявляют себя бета версии 2.2.7, 2.2.8 и 2.2.10.
Но на стабильной версии 2.2.1 - ошибки нет.
Проверялось с одинаковыми файлами конфигурации (autorun.cfg)?
Аватара пользователя
Monarch-LFV
Сообщения: 363
Зарегистрирован: Пн июл 22, 2019 13:20

Сообщение Monarch-LFV »

sa
Да, конфигурационный файл на разных версиях был одинаков.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Monarch-LFV писал(а):просто перезагрузить компьютер
А при перезагрузке самого TC (например, по команде cm_exit 9) всё нормально проходит?
Аватара пользователя
Monarch-LFV
Сообщения: 363
Зарегистрирован: Пн июл 22, 2019 13:20

Сообщение Monarch-LFV »

sa
Да, при рестарте самого ТС меню в порядке (см. первый мой пост). Просто при перезагрузке компа с вероятностью 90% ошибка воспроизводится. А рестарт ТС лишь иногда воспроизводит эту ошибку (примерно 1%), и то ТС должен немного «постоять» с какими либо процессами. То есть если специально перезапускать каждую секунду-две ТС с помощью команды cm_exit с параметрами, то навряд ли получится воспроизвести ошибку. Не знаю с чем связано.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Monarch-LFV
У меня сейчас Autorun 2.2.10, а до этого были предыдущие указанные версии. Ничего подобного описанному не наблюдал и не наблюдаю. Правда, у меня Autorun стоит в списке плагинов своего типа не первым, а третьим (что вряд ли существенно), а TC не стоит в автозагрузке системы (мне это абсолютно не нужно).
Даже самая богатая фантазия
Не представит себе наши безобразия.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Monarch-LFV писал(а):Помогает ... введение команды: ... OPENLANGUAGEFILE WCMD_RUS.LNG
Как вариант, оформите эту команду как пользовательскую (em_*) и вызывайте в конце Autorun.cfg с помощью CommandExec.
Аватара пользователя
Monarch-LFV
Сообщения: 363
Зарегистрирован: Пн июл 22, 2019 13:20

Сообщение Monarch-LFV »

sa
Что-то сам не догадался из Autorun ремонтировать баги самого Autorun. :)
Действительно, прописал в WCMD_RUS.ini:

Код: Выделить всё

[em_Autorun_LNG]
cmd=OPENLANGUAGEFILE WCMD_RUS.LNG
А в autorun.cfg:

Код: Выделить всё

CommandExec em_Autorun_LNG
Помогло, спасибо! Хоть это и выглядит больше как костыль.
Ответить