ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|
Мультиязычность приложения Delphi. |

24.09.2009, 16:31
|
|
Познающий
Регистрация: 15.02.2008
Сообщений: 98
Провел на форуме: 183980
Репутация:
50
|
|
Мультиязычность приложения Delphi.
Вот недавно столкнулся с необходимостью сделать в программе (ужа написаной) мультиязычный интерфейс, т.е. чтобы все Caption'ы и тому подобные свойства были на таком языке который выберет пользователь из моего списка.
Может кто нить уже занимался подобными вещами, посоветуйте как лучше сделать.
Была идея хранить тексты в каком нить ini или xml файле, в Form.OnCreate сделать перебор всех компонентов и по имени компонента находить и присваивать нужный Caption. Недостаток этого метода в том что если имя компонента измениться то будет Exception. Ещё можно искать не по имени а по тому же Caption но тут ещё хуже.
Хелп ми народ, подкиньте идейку.
|
|
|

24.09.2009, 18:55
|
|
Постоянный
Регистрация: 29.10.2008
Сообщений: 306
Провел на форуме: 1819761
Репутация:
180
|
|
Сообщение от dos999
Недостаток этого метода в том что если имя компонента измениться то будет Exception.
А если в ini-файле прописывать имя компонента? Например:
Код:
:rus
caption1=текст1
caption2=текст2
:eng
caption1=text1
caption2=text2
P.S.: Не совсем понял, каким образом имя компонента изменится в готовой программе?
|
|
|

25.09.2009, 11:29
|
|
Познающий
Регистрация: 15.02.2008
Сообщений: 98
Провел на форуме: 183980
Репутация:
50
|
|
В том то и дело что проек постоянно меняеться (развиваеться) и не исключено что имена компонентов нужно будет менять. допустим был какой нить Label12 а стал LbName
|
|
|

25.09.2009, 11:52
|
|
Познающий
Регистрация: 30.01.2009
Сообщений: 30
Провел на форуме: 75077
Репутация:
14
|
|
http://www.codenet.ru/progr/delphi/stat/multilang.php
Отличное решение, хотя я этот код фиксил. Уже не помню, как.
|
|
|

25.09.2009, 12:30
|
|
Познающий
Регистрация: 30.12.2008
Сообщений: 64
Провел на форуме: 647156
Репутация:
76
|
|
В Delphi вроде есть что-то типа встроенной мультиязычности. Если рядом с исполняемым файлом положить библиотеку с переведенными ресурсами с расширением rus, то приложение будет использовать ресурсы из этой библиотеки.
|
|
|

25.09.2009, 13:06
|
|
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме: 1892597
Репутация:
836
|
|
мда...
https://forum.antichat.ru/thread142629.html
не судьба соседние темы посмотреть? Тем более что в заголовке описана (более/менее) твоя проблема
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
|
|
|

25.09.2009, 13:09
|
|
Познающий
Регистрация: 15.02.2008
Сообщений: 98
Провел на форуме: 183980
Репутация:
50
|
|
В Delphi вроде есть что-то типа встроенной мультиязычности. Если рядом с исполняемым файлом положить библиотеку с переведенными ресурсами с расширением rus, то приложение будет использовать ресурсы из этой библиотеки.
Да в Delphi есть translation manager всё там делается очень легко и прикольно, но вот компилить можно помоему только 1 язык из добавленных. а мне 2 exe'шника никчему.
|
|
|

25.09.2009, 13:14
|
|
Познающий
Регистрация: 15.02.2008
Сообщений: 98
Провел на форуме: 183980
Репутация:
50
|
|
http://www.codenet.ru/progr/delphi/stat/multilang.php
Отличное решение, хотя я этот код фиксил. Уже не помню, как.
спс BlackSilver, но о недостатках этого метода я уже говорил, искать компоненты по имени или кэпшену сейчас для меня "не по фен-шую", т.к. проект активно изменяется.
https://forum.antichat.ru/thread142629.html
не судьба соседние темы посмотреть? Тем более что в заголовке описана (более/менее) твоя проблема
W!z@rD и что в этой теме общего с моей? как компоненты цыклом перебрать и ослу понятно.
|
|
|

25.09.2009, 17:10
|
|
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме: 1892597
Репутация:
836
|
|
лооолл
1. Цикл
2. "Недостаток этого метода в том что если имя компонента измениться"
ололо? не правда ли?
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
|
|
|

26.09.2009, 01:51
|
|
Познающий
Регистрация: 15.02.2008
Сообщений: 98
Провел на форуме: 183980
Репутация:
50
|
|
=) ну ты ппц) чё написал то,сам понял?) ладно нехочу сориться, видимо друг друга не поняли.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|