powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Локализация DLL
20 сообщений из 45, страница 2 из 2
Локализация DLL
    #39507448
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVЕсли динамичные названия берутся из ресурсов или констант, то достаточно перевести их

....и окажется, что там параметры фразы идут в другом порядке в другом языке.

LSVн-р парсить пары Hello/Привет

Привет Windows 10, в которой "новый" перевели как "создать", потому что и то и другое маппилось ан слово New

Короче, да, "Проблема решаема", но она совсем не так проста, как ты написал. И в итоге учитывая все эти по мере разработки всплывающие новые и новые сложности - ты придешь к сложному велосипеду собственной выделки, аналогичному чужим велосипедам.

LSVКод "локализатора" полностью под контролем разработчика.
То же самое с опенсорсным или купленным с исходниками локализатором.
...
Рейтинг: 0 / 0
Локализация DLL
    #39507451
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockВставил в гугл (или другой какой машинный переводчик, это не принципиально как раз, дело вкуса)

Приципиально. Потому что ГУгл - статистический переводчик, и например в любом политизированном тексте он многое переведет буквально наоборот. Потому что на разных языках, условно говоря, козлами разных людей называют.
...
Рейтинг: 0 / 0
Локализация DLL
    #39507489
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochYuRockВставил в гугл (или другой какой машинный переводчик, это не принципиально как раз, дело вкуса)

Приципиально. Потому что ГУгл - статистический переводчик, и например в любом политизированном тексте он многое переведет буквально наоборот. Потому что на разных языках, условно говоря, козлами разных людей называют.
Так я не понял, это хорошо или плохо?

Мне лично иногда (речь об английском) приходилось использовать multitran для выбора наиболее подходящего перевода в контексте.
А иногда и консультироваться с профессиональным переводчиком-человеком.
А иногда - и с людьми-"носителями" языка.

Так что, статистический или нет, всё равно любой перевод руками/глазами проверять/править обязательно. Но для "шаблона" чаще всего и машинный сгодится. Что майкрософтовский, что гугловский, что ещё чей-то, что онлайн, что оффлайн, всё равно перевод будет требовать проверки/правки в обязательном порядке.
...
Рейтинг: 0 / 0
Локализация DLL
    #39507492
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schiУже надоели нечитаемые инструкции, техническая литература и кривая локализация программ.
Ну так это проблемы имиджа разработчиков этих нечитаемых инструкций и программ.

Сайт майкрософт, например, (в частности MSDN) частично переведен на русский. А страницы, которые (еще) не переведены - переводятся машинным переводом и добавляется предупреждение об этом .
В этом польза тоже есть. И не хочешь - не читай - нажми на кнопку "Открыть на языке оригинала".
...
Рейтинг: 0 / 0
Локализация DLL
    #39507499
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochТо же самое с опенсорсным или купленным с исходниками локализатором. Чушь. Там кода в 50 раз больше. И он может быть вообще на другом языке и меть возможностей в разы меньше, чем указанный простой метод.

Коллега, хочу услышать Ваш вариант решения сабжа. С простым добавлением языка за 2 минуты. Без перекомпиляций, с динамической сменой языка. С возможностью легкого встраивания в готовый проект.

Сразу скажу, что когда-то попробовал неск. "готовых" решений. Все до одного - полнейшее, в реале непригодное УГ.

Н-р одно из них предлагало на каждый язык делать отдельную папку с копией всего проекта.
5 языков= 5 копий всего проекта ! Пять, Карл ! С крайне неудобным добавлением нового языка.
Без малейших удобств для перевода. Перевод = просто по всей ветке проекта меняешь тексты. Ручкаме !
Без возможности переключения языка на лету. Просто получаешь ЕХЕ/ДЛЛ на нужном языке.
...
Рейтинг: 0 / 0
Локализация DLL
    #39507506
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSV Коллега, хочу услышать Ваш вариант решения сабжа.
а как проблему решают разработчики Лазаря или та же Эмбаркадера?
...
Рейтинг: 0 / 0
Локализация DLL
    #39507509
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockschiУже надоели нечитаемые инструкции, техническая литература и кривая локализация программ.
Ну так это проблемы имиджа разработчиков этих нечитаемых инструкций и программ.


Ну да, я могу повторить, что они должны сдохнуть, потому что с таким имиджем жить невыносимо.
...
Рейтинг: 0 / 0
Локализация DLL
    #39507510
s62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UnHolyDayГоспода, добрый день! Имею вопрос: каким макаром можно локализовать дллку с формами? Пробовал TM, Sisulizer - эффекта ноль. В идеале возможность рантайм переключение между языками. Delphi XE.В Demo проектах есть (раньше был) проект RichEdit, где язык переключается на лету, используются средства ITE. Там в коде, в модуле Reinit.pas есть место, где определяется имя файла, откуда грузить ресурсы, вот есть функция
Код: pascal
1.
function LoadNewResourceModule(Locale: LCID): Longint;


Видимо при инициализации форм происходит что-то подобное, а в вашем случае библиотеки Дельфи "не знают", что нужно имя заменить. М.б. если написать что-то подобное, как в модуле Reinit.pas, указать имя нужного файла ресурсов, можно решить проблему.
...
Рейтинг: 0 / 0
Локализация DLL
    #39507511
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДокLSV Коллега, хочу услышать Ваш вариант решения сабжа.
а как проблему решают разработчики Лазаря или та же Эмбаркадера?А хз. :)
Наверно модули с ресурсами.

В некот. проектах есть тхт-файл локализации, а сам проект сделан на переменных, которые зачитываются из этого файла.
На самом деле вариантов немного.
...
Рейтинг: 0 / 0
Локализация DLL
    #39507582
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVБез возможности переключения языка на лету

а нет простых решений у сложных проблем

вот например с "на лету" - выводим мы на окно, в какой-нибудь statictext внизу довольно большой и сложный текст с десятком параметров. Этакий анализ ситуации и рекомендации.

и тут пользователь переключил язык.

получается, что все функции, которые собирали этот текст и выводили на экран - нужно перезапустить.

никакой компонент этого не сделает, ни самописный, ни купленный
все равно придётся в своем коде на это закладываться, если реально нужно
...
Рейтинг: 0 / 0
Локализация DLL
    #39507602
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochи тут пользователь переключил язык.И ничего смертельного не произойдет. В следующую отрисовку контрола попадет уже новый язык. Или пусть жмёт F5 :)

95% случаев можно "покрыть" совсем простыми решениями.

А ваш вариант решения так и не прозвучал. :)
...
Рейтинг: 0 / 0
Локализация DLL
    #39507616
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochа нет простых решений у сложных проблем
Условно:
1. Добавляем в setup.ini в секцию [langs] новую строку
1=eng
2=rus
3=ukr #это новая

2. Переименовываем eng.ini в ukr.ini

3. Переводим содержимое ukr.ini
с

[controls]
BUTTON_YES=Yes
BUTTON_NO=No

в

[controls]
BUTTON_YES=Так
BUTTON_NO=Нi

4. Перезапускаем программу (или как-то перечитываем список поддерживаемых языков из setup.ini) - всё, программа поддерживает новый язык.

Не так уж и сложно. Естественно, контролы должны читать свои текстовые данные из языковых констант текущего выбранного в настройках файла.

Ariochвсе равно придётся в своем коде на это закладываться, если реально нужно
Ну понятно что в своем коде.
И у всех контролов должно быть получение нотификации (в каком-то виде) о смене языка.
...
Рейтинг: 0 / 0
Локализация DLL
    #39507650
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

Именно так. После смены языка просто переоткрываю новый ини. У меня это Lang1/2/3...
На гл. форме перечитывается гл. меню.

Процедура и не знает, какой именно файл открыт. Просто читает из него при открытии формы.
Можно предусмотреть перечитку текстов всех открытых форм. Не суть.

Главное, что это всего одна простая процедура на весь проект. А ее гибкость довольно высокая.
...
Рейтинг: 0 / 0
Локализация DLL
    #39507663
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSV Коллега, хочу услышать Ваш вариант решения сабжа. С простым добавлением языка за 2 минуты. Без перекомпиляций, с динамической сменой языка. С возможностью легкого встраивания в готовый проект.
Лично я скажу, что без моих layout-ов либо аналогичных средств эта задача заведомо обречена на провал. То есть, для перевода с русского на украинский, возможно, "варианты решения" ещё и годятся, а для перевода с русского, например, на иврит - подсказать, в каком направлении следуют?
...
Рейтинг: 0 / 0
Локализация DLL
    #39507670
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer,

Ну вообще-то тут речь идет о реализации самого механизма переключения между языками. Не о трудностях и правильности перевода - это дело для переводчиков.
...
Рейтинг: 0 / 0
Локализация DLL
    #39507675
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerLSV Коллега, хочу услышать Ваш вариант решения сабжа. С простым добавлением языка за 2 минуты. Без перекомпиляций, с динамической сменой языка. С возможностью легкого встраивания в готовый проект.
Лично я скажу, что без моих layout-ов либо аналогичных средств эта задача заведомо обречена на провал. То есть, для перевода с русского на украинский, возможно, "варианты решения" ещё и годятся, а для перевода с русского, например, на иврит - подсказать, в каком направлении следуют?Речь про смену направления чтения и расположений контролов ?? :)
Да. В случае иврита или арабской вязи это гораздо более сложная локализация во всех аспектах.

зы:
(осмотр у врача)
- Ой, как хорошо ! ...Ой, как хорошо !
- Доктор, что именно хорошо ?????
- Хорошо, что этого у меня нет.
(с) анек
...
Рейтинг: 0 / 0
Локализация DLL
    #39507678
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVРечь про смену направления чтения и расположений контролов ?? :)
Как вишенка на торте. А более обще - про резкое изменение длин надписей, вызывающее необходимость переверстки. Ну и ещё моменты типа шрифтов и размеров. Скажем, русский мы читаем свободно, а вот надпись עולם הדוגמניות того же размера выглядит не лучшим образом, детали мелковаты, особенно если с огласовками.
...
Рейтинг: 0 / 0
Локализация DLL
    #39507710
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVА хз. :)
Наверно модули с ресурсами.
Вопрос был риторическим :)

На Лазаре теоретически интернационализировать приложение можно, например, так .

Кстати, самому интересно стало. Надо будет попробовать
...
Рейтинг: 0 / 0
Локализация DLL
    #39507912
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДокНадо будет попробовать
действительно, оказалось, в Лазаре это нетрудно .
...
Рейтинг: 0 / 0
Локализация DLL
    #39508252
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerLSVРечь про смену направления чтения и расположений контролов ?? :)
Как вишенка на торте. А более обще - про резкое изменение длин надписей, вызывающее необходимость переверстки. Ну и ещё моменты типа шрифтов и размеров. Скажем, русский мы читаем свободно, а вот надпись עולם הדוגמניות того же размера выглядит не лучшим образом, детали мелковаты, особенно если с огласовками.Думаю такие сложные случаи вообще стандартными инструментами не решаются.
Сам проект быть остро заточен под подобные локализации с подменой шаблонов, форм, шрифтов, всех системных сообщений, ошибок и т.д.
...
Рейтинг: 0 / 0
20 сообщений из 45, страница 2 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Локализация DLL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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