powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Локализация DLL
25 сообщений из 45, страница 1 из 2
Локализация DLL
    #39506730
UnHolyDay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа, добрый день! Имею вопрос: каким макаром можно локализовать дллку с формами? Пробовал TM, Sisulizer - эффекта ноль. В идеале возможность рантайм переключение между языками. Delphi XE.
...
Рейтинг: 0 / 0
Локализация DLL
    #39506739
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DLL своя или чужая ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Локализация DLL
    #39506742
UnHolyDay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гаджимурадов Рустам, дллка своя. Проблема в том, что даже простую тестовую длл с формой и кнопкой не удается локализовать. Ресурсы генерятся, регион переключаю, но запускается в родной локали.
...
Рейтинг: 0 / 0
Локализация DLL
    #39506804
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UnHolyDay,
Посмотри примеры в Delphi с использованием ITE. Там есть и как локализовать и способы переключения принудительно "на лету".
...
Рейтинг: 0 / 0
Локализация DLL
    #39506810
UnHolyDay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alekcvp, смотрел и пробовал. Проблема в том, что тестовый екзешник локализуется, а библиотека - нет.
...
Рейтинг: 0 / 0
Локализация DLL
    #39506829
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UnHolyDay,
Ну тогда можно попробовать какие-нибудь dxGetText .
Только код придётся дописывать.
...
Рейтинг: 0 / 0
Локализация DLL
    #39506853
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Локализация DLL
    #39506854
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Простой и 100% рабочий совет:
Никакие приблуды для локализации НЕ НУЖНЫ. Они как правило неудобны и нефункциональны.

Вам нужна всего 1 процедура получающая на входе номер языка: в нужной форме/модуле пробегаете циклом по контролам, имеющим текст. Ищите в ИНИ файле в секции [MyDLLName.FormXX] имя контрола и зачитываете из него значение. Помещаете это значение в контрол.
Имя файла можно принять как langXXX.ini Где ХХХ=номер языка.
Если такого контрола в файле нет - создаёте с текущим текстом, взятым из контрола.

пример:
[MyDLLXXX.FormYYY]
lblNumber.caption=Номер Документа
lblNumber.hint=Здесь указан номер документа
Grid1.Column1.Title=Номер
Grid1.Column2.Title=Дата
...

Таким образом файл(ы) самопополняется списком текстов контролов. Остается их гуглем перевести на нужный язык.

Список типов контролов должен быть известен обходящей процедуре.

Там же можно хранить всякие прочие тексты модуля. Доставать их аналогично.
Работает быстро.
(профит)
...
Рейтинг: 0 / 0
Локализация DLL
    #39506869
UnHolyDay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
schi, Гансмокер уже как прикроватная книжка =)
LSV, не вариант. Велика вероятность что продукт будет передаваться переводчикам, поэтому очень желателен внешний редактор (хотя желателен, не значит нужен на 100%). Более того, при таком подходе встает проблема с переводом диалоговых окон, ресурсных строк. Может кто-нибудь подсказать, может ли ITE в принципе работать с длл. Судя по исходникам classes проблема встает в том, что при поиске ресурсной библиотеки из загруженной длл, система пытается грузить рабочую библиотеку.
...
Рейтинг: 0 / 0
Локализация DLL
    #39506874
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UnHolyDayschi, Гансмокер уже как прикроватная книжка =)
LSV, не вариант. Велика вероятность что продукт будет передаваться переводчикам, поэтому очень желателен внешний редактор (хотя желателен, не значит нужен на 100%). Более того, при таком подходе встает проблема с переводом диалоговых окон, ресурсных строк. Может кто-нибудь подсказать, может ли ITE в принципе работать с длл. Судя по исходникам classes проблема встает в том, что при поиске ресурсной библиотеки из загруженной длл, система пытается грузить рабочую библиотеку.Ресурсные строки тоже можно переопределить (я такое делал). Диалоги тоже можно пропустить через ИНИ.
Все в ваших руках. Отладить можно за полдня.

зы: прочие решения еще более кривые. Причем намного.
...
Рейтинг: 0 / 0
Локализация DLL
    #39506877
UnHolyDay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LSV, как вариант не инишник, а xml использовать... Черт знает, надо думать. Ручная забивка объектов и свойств рассматривалась в последнюю очередь...
...
Рейтинг: 0 / 0
Локализация DLL
    #39506880
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Локализация DLL
    #39506893
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UnHolyDayМожет кто-нибудь подсказать, может ли ITE в принципе работать с длл. Судя по исходникам classes проблема встает в том, что при поиске ресурсной библиотеки из загруженной длл, система пытается грузить рабочую библиотеку.

Может
...
Рейтинг: 0 / 0
Локализация DLL
    #39506903
UnHolyDay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
makhaon, спасибо, читаю
schi, ок буду проверять руки на допустимую кривизну =)
...
Рейтинг: 0 / 0
Локализация DLL
    #39506907
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UnHolyDayLSV, как вариант не инишник, а xml использовать... Черт знает, надо думать. Ручная забивка объектов и свойств рассматривалась в последнюю очередь...Чем ХМЛ лучше ИНИ ? Ничем. Но ИНИ проще.
Вручную не нужно заполнять. Оно само заполнится при первом открытии.
Осталось только перевести.
Гуглом отлично переводит. Имена контролов не трогает.
Проверяешь, чуть правишь(если надо) и через 2 минуты - готово.
ИНИ можно и в нотпаде поправить.
...
Рейтинг: 0 / 0
Локализация DLL
    #39507082
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSV,

для начала хорошо.

потом всплывут две проблемы.

1) не у всех контролов названия статичны, некоторые названия могут меняться в зависимости от действий пользователя (например выбрали разные строки в дереве/гриде)

2) если переводить могут пользователи, может оказаться, что на контроле не хватает места
...
Рейтинг: 0 / 0
Локализация DLL
    #39507096
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVОстается их гуглем перевести на нужный язык.
Это инструкция про то, как выставить себя клоуном?
...
Рейтинг: 0 / 0
Локализация DLL
    #39507111
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer,

Это бизнес-проект.

Компоненты, которые переводят программу полностью автоматически без участия ращзработчика и пользователя, на любой язык, при первом запуске.
...
Рейтинг: 0 / 0
Локализация DLL
    #39507297
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerLSVОстается их гуглем перевести на нужный язык.
Это инструкция про то, как выставить себя клоуном?Откуда такой вывод ? Между родственными языками (рус-укр-бел-поль) гуглоперевод делается очень даже качественно. Ну конечно всегда есть что подправить или сократить, но это менее 5% строк. Гуглоперевод экономит до 95% времени на перевод.
...
Рейтинг: 0 / 0
Локализация DLL
    #39507303
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) не у всех контролов названия статичны, Проблема решаема: Если динамичные названия берутся из ресурсов или констант, то достаточно перевести их, а сам контрол из списка исключить.
Хуже, если текст берется из БД. Но даже для этого случая можно что-то придумать, н-р парсить пары Hello/Привет, где нечетный токен - из БД, а четный - его перевод. Разумеется придется учесть все варианты. Чаще всего их число конечно.

Код "локализатора" полностью под контролем разработчика. Можно реализовать что угодно. И вставить практически в любой проект.
...
Рейтинг: 0 / 0
Локализация DLL
    #39507305
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVМежду родственными языками (рус-укр-бел-поль) гуглоперевод делается очень даже качественно.
Мне сразу вспомнилось, как я попробовал гуглем выяснить, о чём одна классическая еврейская песня. Из тех перлов, что он выдал, мне больше всего запомнилась строка Земля декоративного оргазма .
...
Рейтинг: 0 / 0
Локализация DLL
    #39507347
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerLSVМежду родственными языками (рус-укр-бел-поль) гуглоперевод делается очень даже качественно.
Мне сразу вспомнилось, как я попробовал гуглем выяснить, о чём одна классическая еврейская песня. Из тех перлов, что он выдал, мне больше всего запомнилась строка Земля декоративного оргазма .

Может, песня о том и была ? :)
...
Рейтинг: 0 / 0
Локализация DLL
    #39507364
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVОткуда такой вывод ? Между родственными языками (рус-укр-бел-поль) гуглоперевод делается очень даже качественно. Ну конечно всегда есть что подправить или сократить, но это менее 5% строк. Гуглоперевод экономит до 95% времени на перевод.
Да в любом случае экономит - хорошо знаешь ты язык, на который переводишь, или плохо (типа английского).
Вставил в гугл (или другой какой машинный переводчик, это не принципиально как раз, дело вкуса), скопировал перевод, вставил себе и прочитал/подкорректировал. Довольно быстрый алгоритм.

Проблема, если совершенно языка не знаешь (для меня это все, кроме рус, укр и eng). Тогда без помощи наемных специалистов не обойтись.
...
Рейтинг: 0 / 0
Локализация DLL
    #39507370
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerLSVМежду родственными языками (рус-укр-бел-поль) гуглоперевод делается очень даже качественно.
Мне сразу вспомнилось, как я попробовал гуглем выяснить, о чём одна классическая еврейская песня. Из тех перлов, что он выдал, мне больше всего запомнилась строка Земля декоративного оргазма .по сабжу: даже если гуглоперевод ошибается в 30% случаев, то все равно это экономит много времени. Поправить намного быстрее, чем перевести все с нуля самому.
И речь не идет про онлайн-перевод (через вебсервисы).
...
Рейтинг: 0 / 0
Локализация DLL
    #39507418
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSV,

по сабжу - гуглопереводчики должны сдохнуть, как только их потуги выходят за рамки личного использования перевода. Уже надоели нечитаемые инструкции, техническая литература и кривая локализация программ. Посмеяться, конечно можно, но в жизни гораздо больше поводов для здорового смеха и без упомянутых поводов.
...
Рейтинг: 0 / 0
25 сообщений из 45, страница 1 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Локализация DLL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]