Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Локализация DLL / 25 сообщений из 45, страница 1 из 2
17.08.2017, 11:39:32
    #39506730
UnHolyDay
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Локализация DLL
Господа, добрый день! Имею вопрос: каким макаром можно локализовать дллку с формами? Пробовал TM, Sisulizer - эффекта ноль. В идеале возможность рантайм переключение между языками. Delphi XE.
...
Рейтинг: 0 / 0
17.08.2017, 11:47:31
    #39506739
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Локализация DLL
DLL своя или чужая ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
17.08.2017, 11:50:27
    #39506742
UnHolyDay
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Локализация DLL
Гаджимурадов Рустам, дллка своя. Проблема в том, что даже простую тестовую длл с формой и кнопкой не удается локализовать. Ресурсы генерятся, регион переключаю, но запускается в родной локали.
...
Рейтинг: 0 / 0
17.08.2017, 13:19:55
    #39506804
alekcvp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Локализация DLL
UnHolyDay,
Посмотри примеры в Delphi с использованием ITE. Там есть и как локализовать и способы переключения принудительно "на лету".
...
Рейтинг: 0 / 0
17.08.2017, 13:28:10
    #39506810
UnHolyDay
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Локализация DLL
alekcvp, смотрел и пробовал. Проблема в том, что тестовый екзешник локализуется, а библиотека - нет.
...
Рейтинг: 0 / 0
17.08.2017, 13:54:06
    #39506829
alekcvp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Локализация DLL
UnHolyDay,
Ну тогда можно попробовать какие-нибудь dxGetText .
Только код придётся дописывать.
...
Рейтинг: 0 / 0
17.08.2017, 14:19:08
    #39506853
schi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Локализация DLL
...
Рейтинг: 0 / 0
17.08.2017, 14:19:30
    #39506854
LSV
LSV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Локализация DLL
Простой и 100% рабочий совет:
Никакие приблуды для локализации НЕ НУЖНЫ. Они как правило неудобны и нефункциональны.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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