|
|
|
Проблема с локализацией Resourcestring
|
|||
|---|---|---|---|
|
#18+
Проблема возникает, если интерфейс Windows на украинском языке. Для локализации программы использую http://www.lingobit.com/extractor/delphi_extract_hardcoded_string.html т.е. получается 2 файла programa1.exe и programa2.ukr Можно подумать, что файл ukr не подключается или еще что-то, но сам интерфейс программы на украинском. Т.е. подписи, заголовки из DFM нормально отображаются на украинском. Может надо что-то в lingobit "подкрутить", чтобы в exe-шнике правильно подставлялись строки или локаль правильно выбиралась? Может быть еще связано как-то с GetThreadLocale(). Даже не знаю, что и где перепроверить... примеры Код: pascal 1. 2. появляется SaveDialog, но строка с типами файлов пустая вызываю диалог Код: pascal 1. 2. 3. 4. 5. открывается пустышка, надписи только на кнопках и иконка видна. Но это еще не все. Если вызываю процедуру экспорта (DevExpress) ExportGridToXXXXX(), то программа подвисает и жрет 40-50 процентов процессорного времени: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Возвращаю интерфейс Винды на русский, хотя программа остается на украинском, проблемы исчезают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2021, 19:47 |
|
||
|
Проблема с локализацией Resourcestring
|
|||
|---|---|---|---|
|
#18+
с 2007-го года пользуюсь DKLang, и горя не знаю с локализациями https://github.com/yktoo/dklang где вы берёте вот это вот всё, я даже под грибами не могу увидеть Хотя да, это же X11 - стильно-модно-молодёжно :-))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2021, 19:56 |
|
||
|
Проблема с локализацией Resourcestring
|
|||
|---|---|---|---|
|
#18+
defecator стильно-модно-молодёжно когда-то использовал Radialix, там была возможность полуавтоматического перевода с помощью гугла, потом Radialix помер, и нужно было куда-то переезжать, оказалось, что Lingobit оооочень похож на Radialix. В общем, почти без проблем переехал на Lingobit, так и остался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2021, 20:05 |
|
||
|
Проблема с локализацией Resourcestring
|
|||
|---|---|---|---|
|
#18+
X11 defecator стильно-модно-молодёжно когда-то использовал Radialix, там была возможность полуавтоматического перевода с помощью гугла, потом Radialix помер, и нужно было куда-то переезжать, оказалось, что Lingobit оооочень похож на Radialix. В общем, почти без проблем переехал на Lingobit, так и остался. а что-нибудь нативное не приходило в голову использовать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2021, 20:13 |
|
||
|
Проблема с локализацией Resourcestring
|
|||
|---|---|---|---|
|
#18+
это и есть нативное, в паре с лингобит используется даже файл ReinitLocale.pas из примеров дельфи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2021, 20:39 |
|
||
|
Проблема с локализацией Resourcestring
|
|||
|---|---|---|---|
|
#18+
defecator с 2007-го года пользуюсь DKLang нашел свою старую статью "как я локализовал свое приложение на Delphi" и там нашел причину, по которой я не стал использовать DKLang авторБиблиотека компонент «DKLang Localization Package». Начал пробовать другие компоненты. Посоветовали «DKLang Localization Package». Поддержки Delphi2007 я не нашёл, только Delphi6- Delphi2006. Мало того, «DKLang Localization Package» требует «Tnt Delphi Unicode Controls». Желание сразу отпало. И я даже не стал устанавливать и пробовать эти компоненты в деле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2021, 10:59 |
|
||
|
Проблема с локализацией Resourcestring
|
|||
|---|---|---|---|
|
#18+
Народ, как быть, есть в проекте 100 тыс хардкордных строк на русском, есть желание локализовать программу на другие языки, но нет желания автоматически менять на уродство типа resourcestring String1='blablabla1'; String2='blablabla2'; String100500='blablabla3'; В идеале хотелось бы так: было: ShowMessage('Привет, мир!') стало: ShowMessage(tr('Привет, мир!')) Но если я поменяю букву в оригинале, то оно само должно предложить обновить перевод, чтобы ничего не забыть. tr - это из QT, и там как раз сделано так, как я написал. Там в комплекте есть даже средство для работы переводчика. Для Delphi я ничего подобного не нашёл. Все почему-то увлекаются переводом Caption у кнопочек, а как дело доходит до исходников (а основная сложность именно в исходниках), предлагают автоматически всё поменять на String1, String2, String100500. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2021, 12:38 |
|
||
|
Проблема с локализацией Resourcestring
|
|||
|---|---|---|---|
|
#18+
это не уродство, так правильно - использовать resourcestring вместо String1, String1 пиши более менее понятные названия переменных constErrUserNotFound, constError, constErrDBConnection, constErrFileNotFound, constUserFirstName ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2021, 12:41 |
|
||
|
Проблема с локализацией Resourcestring
|
|||
|---|---|---|---|
|
#18+
DmSer Но если я поменяю букву в оригинале, то оно само должно предложить обновить перевод, чтобы ничего не забыть. Так работает Lingobit. Он показывает новые и измененные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2021, 12:42 |
|
||
|
Проблема с локализацией Resourcestring
|
|||
|---|---|---|---|
|
#18+
X11 defecator с 2007-го года пользуюсь DKLang нашел свою старую статью "как я локализовал свое приложение на Delphi" и там нашел причину, по которой я не стал использовать DKLang авторБиблиотека компонент «DKLang Localization Package». Начал пробовать другие компоненты. Посоветовали «DKLang Localization Package». Поддержки Delphi2007 я не нашёл, только Delphi6- Delphi2006. Мало того, «DKLang Localization Package» требует «Tnt Delphi Unicode Controls». Желание сразу отпало. И я даже не стал устанавливать и пробовать эти компоненты в деле. фигня это, никогда DKLang не использовал Tnt - ему это в принципе не нужно, это невизуальные компоненты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2021, 12:53 |
|
||
|
Проблема с локализацией Resourcestring
|
|||
|---|---|---|---|
|
#18+
DmSer Народ, как быть, есть в проекте 100 тыс хардкордных строк на русском, есть желание локализовать программу на другие языки, но нет желания автоматически менять на уродство типа resourcestring String1='blablabla1'; String2='blablabla2'; String100500='blablabla3'; В идеале хотелось бы так: было: ShowMessage('Привет, мир!') стало: ShowMessage(tr('Привет, мир!')) gettext смотри, он так работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2021, 12:59 |
|
||
|
Проблема с локализацией Resourcestring
|
|||
|---|---|---|---|
|
#18+
X11 это не уродство, так правильно - использовать resourcestring вместо String1, String1 пиши более менее понятные названия переменных constErrUserNotFound, constError, constErrDBConnection, constErrFileNotFound, constUserFirstName Эмбаркадера что-то сама никак не решит, как правильно. В одних случаях предлагают resourcestring, в других случаях Translate('Hello, world'). Мне resourcestring не нравится. Смотри исходники лазаруса, как там эти строки называются: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Будет крайне противно, если вместо ShowMessage('Привет, мир!') будет абракадабра типа ShowMessage(hhshelpthemacrosinbrowserparamswillbereplacedbytheurl) А если в проекте 100000 строк, то так и будет! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2021, 13:17 |
|
||
|
Проблема с локализацией Resourcestring
|
|||
|---|---|---|---|
|
#18+
Fr0sT-Brutal DmSer Народ, как быть, есть в проекте 100 тыс хардкордных строк на русском, есть желание локализовать программу на другие языки, но нет желания автоматически менять на уродство типа resourcestring String1='blablabla1'; String2='blablabla2'; String100500='blablabla3'; В идеале хотелось бы так: было: ShowMessage('Привет, мир!') стало: ShowMessage(tr('Привет, мир!')) gettext смотри, он так работает Он автоматизирует подстановку tr (или свой аналог)? Он будет следить на актуальностью переводов, или придётся свою следилку пилить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2021, 13:19 |
|
||
|
Проблема с локализацией Resourcestring
|
|||
|---|---|---|---|
|
#18+
DmSer Он автоматизирует подстановку tr (или свой аналог)? Он будет следить на актуальностью переводов, или придётся свою следилку пилить? Gettext это движок и организация локализаций (ключ - фраза на базовом языке). На его основе надо искать тулзы/либы. Т.к. это стандартный механизм в линуксе, то они наверняка должны быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2021, 14:22 |
|
||
|
Проблема с локализацией Resourcestring
|
|||
|---|---|---|---|
|
#18+
Вообще-то это моя тема ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2021, 14:26 |
|
||
|
Проблема с локализацией Resourcestring
|
|||
|---|---|---|---|
|
#18+
https://habr.com/en/post/264693/ + https://poedit.net/ Сами утилиты dxgettext лучше брать в сорцах из trunc: https://sourceforge.net/p/dxgettext/code/HEAD/tree/trunk/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2021, 14:41 |
|
||
|
Проблема с локализацией Resourcestring
|
|||
|---|---|---|---|
|
#18+
В общем, вроде решил проблему... В настройках lingobit-проекта выбрал Многоязычные файлы. Теперь все живет в одном едином exe-шнике. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2021, 15:50 |
|
||
|
Проблема с локализацией Resourcestring
|
|||
|---|---|---|---|
|
#18+
defecator никогда DKLang не использовал Tnt использовал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2021, 12:35 |
|
||
|
Проблема с локализацией Resourcestring
|
|||
|---|---|---|---|
|
#18+
defecator никогда DKLang не использовал Tnt использовал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2021, 12:36 |
|
||
|
Проблема с локализацией Resourcestring
|
|||
|---|---|---|---|
|
#18+
defecator никогда DKLang не использовал Tnt использовал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2021, 12:38 |
|
||
|
Проблема с локализацией Resourcestring
|
|||
|---|---|---|---|
|
#18+
X11, Достаточно было дать однин линк на сорцы: https://github.com/yktoo/dklang/blob/DKLang_v3/DKLang.pas#L671 Но это всё дело давно минувших дней (v4 уже не имеет этой зависимости, а текущая v5 и подавно). At Version 5.0 DKLang Localization Package has been rewritten to work on all current (XE5) platforms: VCL (win32 & win64) & FireMonkey (win32, win64, OSX, Android & iOS). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2021, 23:22 |
|
||
|
Проблема с локализацией Resourcestring
|
|||
|---|---|---|---|
|
#18+
Судя по примерам, DKLang подойдет для совсем простых проектов. Код: pascal 1. 2. Такой локализатор и я когда-то делал . Кто-то даже пользовался. Но когда проект огромный, хотелось бы видеть все текстовые сообщения там, где они используются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2021, 09:13 |
|
||
|
Проблема с локализацией Resourcestring
|
|||
|---|---|---|---|
|
#18+
DmSer Код: pascal 1. 2. Это вообще неудобный вариант, хоть и применяется в Android софте. Если уж юзать краткие именования ключей, то константы дадут огромное преимущество контроля компилятором. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2021, 09:46 |
|
||
|
Проблема с локализацией Resourcestring
|
|||
|---|---|---|---|
|
#18+
Fr0sT-Brutal DmSer Код: pascal 1. 2. Это вообще неудобный вариант, хоть и применяется в Android софте. Если уж юзать краткие именования ключей, то константы дадут огромное преимущество контроля компилятором. Это только для констант применяется Текстовые строки и прочие надписи на формах меняются автоматически, а не вручную ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2021, 10:20 |
|
||
|
Проблема с локализацией Resourcestring
|
|||
|---|---|---|---|
|
#18+
zedxxx X11, Достаточно было дать однин линк на сорцы: https://github.com/yktoo/dklang/blob/DKLang_v3/DKLang.pas#L671 Но это всё дело давно минувших дней (v4 уже не имеет этой зависимости, а текущая v5 и подавно). At Version 5.0 DKLang Localization Package has been rewritten to work on all current (XE5) platforms: VCL (win32 & win64) & FireMonkey (win32, win64, OSX, Android & iOS). у меня есть версия 2.4, в которой нет ни слова про Tnt ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2021, 10:22 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=40035024&tid=2037709]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
150ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 452ms |

| 0 / 0 |
