Latest post of the previous page:
Но тогда надо хотя бы, чтобы файл корректур искался в директории текущего профиля Фара.
Latest post of the previous page:
Но тогда надо хотя бы, чтобы файл корректур искался в директории текущего профиля Фара.
Формально это то же самое, что просто добавить формат ID="Text", но искаробочные переводы оставить в старом формате.2useven10 wrote:Работу фар с локализацией можно вообще оставить почти без изменений.
Загрузка .lng и использование языковых сообщений остаётся без изменений.
Надо чуть допилить lng транслятор, чтобы делал не только enum, но и массив строк идентификаторов.
Эти идентификаторы нужны только на момент загрузки 'модификаторов', память - не больше 20к, скорость не изменится.
Базовые языковые файлы без изменений. Надо только дописать загрузку модификаций (если они есть).
Для них естественный формат ID="Text". Имена можно брать производными от языкового файла - FarRus.lng.mod
в 4462 обновился языковой файл, и Far перестал запускаться с модифицированным FarEng.lng. соответственно, пришлось перенести изменённые строчки в новый файл.
changelog wrote:Code: Select all
w17 27.01.2016 23:06:51 +0300 - build 4522 1. Экспериментально: кастомизация языковых файлов без редактирования генерируемых 'родных' файлов .lng Чтобы работало надо: 1) создать полные версии языковых файлов обновлённым генератором lng.generator.exe, в новой сборке должны быть. 2) создать свой файл с изменениями для нужных языков Имя файла = <Оригинал>.custom, например FarRus.lng.custom, FarEng.lng.custom Файл ищется в %FARHOME% и %FARPROFILE% (можно создать 2 файла) Файл должен содержать строки вида: MessageId = "Modified Text" например: MListFileSize = " %1 bytes in %2 files, %3 folders " Нужный MessageId можно найти в оригинальном файле, там это выглядит так: //[MessageId] "Original text" //[MListFileSize] " Bytes: %1, files: %2, folders: %3 " Такой формат также допустим в .lng.custom файлах. //[MListFileSize] " %1 bytes in %2 files, %3 folders "
%1
%2
%3
теперь надо использовать {0}
{1}
{2}
Code: Select all
drkns 30.09.2018 02:13:21 +0300 - build 5275
1. Lng MListFileSize может содержать replacement field "{3}", куда будет помещена сумма файлов и папок.
Заменив строку на что-то типа "{0} bytes in {3} files", можно получить почти такую же информацию о выделенных файлах, как было до 4442.