| | | | |
Double W дата публикации 28-11-2000 00:00 MultiLanguage инструментыМне недавно понадобилось перевести программу на несколько языков, в
связи с чем я полез на Torry's pages посмотреть, что придумали люди.
Ну, во-первых сразу отпадают всякие монстры, размером под мегабайт.
Я, конечно, понимаю, что универсальность и все такое, но у меня вся
программа меньше занимает :)
Выбираем: маленькое, бесплатное, с исходными текстами. И чтобы
любой китаец мог перевести приложение на свой язык, не имея под
рукой Delphi, HIEW и прочих навороченных инструментов, а обходился
бы по возможности Notepad'ом (или FAR'ом :))
Идея у всех одна и та же: берется набор published-свойств у каждого
компонента. Кто-то смотрит тип (String), кто-то - имя (caption,
hint и т.п.). С resourcestring - сложнее, но тоже как-то работают.
Не работает с resourcestring. Симпатичный PropertyEditor, но
во-первых я не понял, куда он складывает переведенные строки,
во-вторых под D5 программа не захотела собираться, нe найдя какого-то
модуля. Выкидываем.
SSLang, написанный нашим соотечественником Сергеем Сушко. То, что
называется "просто и со вкусом". Однако слишком уж просто - названия
компонентов приходится писать вручную, что утомительно.
Однако это первый кандидат на использование.
Тут проявлена фантазия - COM-объекты, многоуровневая модель... Из
пушки по воробьям. Ну его в баню...
Требует перекомпиляции под каждый язык. Мы пойдем другим путем...
Хранит переведенные строки в файлах DBase или Paradox. Блин, и зачем
все усложнять?
Автор пишет, что SSLang его не устраивает. И предлагает даже не
компонент, а модуль. Сначала создаешь все формы своего приложения,
потом вызываешь функцию, получаешь ini-файл. И потом вызываешь
функциии перевода сообщений (resourcestring) и надписей. Только
demo, собранная с помощью D5, дает постоянный access violation.
Но автор мыслит в правильном направлении. Возможно, именно этот модуль
я и буду дорабатывать напильником.
Вроде бы компонент, но функциональность - гораздо хуже, чем у SSLang.
Слишком много ручной работы.
ИТОГО: придется, как водится, делать что-то свое, взяв за основу
SSLang и IniLang...
[Локализация, проблемы с кодировками]
Обсуждение материала [ 22-06-2008 01:06 ] 10 сообщений |
|