Если в %FARHOME% положить чужой языковой файл (я случайно скопировал из плагина), то far не запустится с жуткой руганью.
Как-то это чересчур жестоко, попробовал по-быстрому поменять маску в language.cpp (*.lng) на более избирательную (Far???.lng) - не прошло. В этом случае отваливается загрузка языковых файлов плагинов. Надо бы как-то отделить мух от котлет...
Левый языковой файл в %FARHOME%
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Левый языковой файл в %FARHOME%
Так уж и с жуткой? Вроде бы причина достаточно однозначно указана:
Exception: 0xE06D7363 - C++ exception
Details: class far_exception, what(): C:\far\Bad.lng: language data is incorrect or damaged (at language::load, language.cpp:372)
Можно что-то типа
while(not loaded) try_next_lng();
, но есть ли смысл? Это случается раз в сто лет.Левый языковой файл в %FARHOME%
Источник проблемы указан так, что идентифицировать его можно (если не испугаешься).
Я о неадекватности реакции на неподходяший языковой файл, не подходит - пропустить без всякой ругани и всё.
Молча, но нужен способ идентификации - свой плохой или чужой.
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Левый языковой файл в %FARHOME%
Если пропускать - то только на тот же самый язык (если есть).
Иначе весь интерфейс внезапно окажется на незнакомом языке, что сильно хуже, чем исключение, т.к. непонятно, кто виноват и что делать.
А смысл? lng файлы сами по себе не заводятся.свой плохой или чужой
Если пользователь копирует левые файлы, он может точно так же скопировать туда FarVasya.lng (идентичный натуральному, но с улучшенным переводом), или FarEng.lng от старой версии.
Левый языковой файл в %FARHOME%
Это всего навсего о том, что сам фар не должен обращать внимания на AudioPlayer???.lng,
и соответственно AudioPlayer должен пытаться открыть только свои файлы.
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Левый языковой файл в %FARHOME%
Это, несомненно, хорошая мысль, и если бы сейчас был 1996 год, а мы были Рошалом, подобные ограничения стоило бы рассмотреть.
Однако,
- и так было всегда, со всеми вытекающими.https://api.farmanager.com/ru/language/index.html wrote:Все *.lng и *.hlf файлы в каталоге с Far Manager`ом, во всех подкаталогах папки Plugins считаются как языковые файлы и файлы подсказки.
Формат SameNameAsDll???.lng даже дистрибутивные плагины не соблюдают, как предлагается внедрять тоталитаризм?