| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > многоязычный интерфейс |
| Автор: namra 17.11.2008, 21:16 | ||
| Здравствуйте у меня такая проблема есть код перевода интерфейса программы, как мне его записать в отдельный unit и подключать к каждой форме через uses, чтобы не загромождать кодом формы. Код перевода
|
| Автор: Akella 17.11.2008, 23:19 | ||
| для таких вопросов есть раздел Delphi для новичков Добавлено через 2 минуты и 1 секунду
ну никак не относиться к твое1 проблеме Добавлено через 3 минуты и 43 секунды namra, в IDE же есть команда: File->New, выбери там новый unit и вставишь свой код в него. А в остальных модулях проекта просто в uses добавишь имя нового модуля. |
| Автор: namra 18.11.2008, 00:03 | ||||
Создал Unit запихал код выдал: Очень нужно может кто опишет где это описать и что исправить
выдал ошибки
|
| Автор: remax 18.11.2008, 00:39 |
| Проще использовать один Unit, а перевод осуществлять специальными средствами, например JvTranslator из библиотеки JEDI. |
| Автор: Bose 18.11.2008, 02:00 | ||||
замени текст на такой:
При вызове передавай в процедуру ещё и экземпляр формы. Например
|
| Автор: namra 18.11.2008, 22:24 |
| Bose спасибо огромное помогло! |
| Автор: ecspertiza 19.11.2008, 12:31 |
| Могу посоветовать прогу Delphi localization compiler специально для локализации приложений на дельфах, я сам ей интерфейс на другой язык переводил, в месте с ней обычно и демка есть посмотришь разберёся |
| Автор: Akella 20.11.2008, 11:47 |
| А разве в самой IDE нет возможности реализовать многоязычный интерфейс, я когда-то читал, что можно, только не занимался этим. Добавлено через 4 минуты и 17 секунд namra, смотри, помоему тебе неплохой пример, тоже перевод с использованием текстовых файлов: http://www.codenet.ru/progr/delphi/stat/multilang.php |
| Автор: ecspertiza 20.11.2008, 12:28 |
| В самой IDE можно реализовать многоязычный интерфейс тока ето геморой и нечнго больше, Зачем изобретать велосипед, кто нить скачал Delphi localization compiler и посмотрел что ето такое? Если прога состоит из 30 форм, и языков надо не 2 а 6, то пользуясь примером http://www.codenet.ru/progr/delphi/stat/multilang.php, скока будет длится загрузка да и смена интерфейса будет возможна тока при перезагрузке, говорю для локализации или интернационализации на Delphi качайте прогу Delphi localization compiler, там всё просто, есть к ней описание, и демка. |
| Автор: Akella 20.11.2008, 15:14 |
| ecspertiza, я не понял, как с ним работать, Добавлено через 30 секунд честно говоря я и не шибко вдавался в изучение сей программы |
| Автор: ecspertiza 20.11.2008, 15:33 | ||
Там всё просто, включаешь прогу, зате File->new, выбираешь *.exe своей программы, она подгружает всё что может перевести, затем идёт процесс перевода(руками правда) на требуемый язык, затем Save and Compile (в папку с проектом), в программе подключаем модуль LcUnit.pas(идёт вместе с программой), потом в программе пишем
на самом деле всё просто, по ней в инете есть мануал тока поискать требо. зрите в аттаче, сама прога, небольшой HELP, Demka и модуль |
| Автор: Bose 20.11.2008, 17:10 |
| ecspertiza, а она умеет дополнять существующий перевод? И исходники закрыты. На самом деле решений для перевода полным полно. Вот только многие из них не умеют переводить все как надо. Некоторые не умеют переводить ресурсы, другие не умеют переводить свойства нестандартных компонент. Третьи уvt.n переводить всё, но для переключения языка приходится перезапускать программу. И чем их все рассматривать, проще написать своё, или модифицировать готовое опен-сорсное. Хотя бы тот же JvTranslator. Хотя JvTranslator насколько я помню тоже не умеет переводить resourcestrings. |
| Автор: ecspertiza 20.11.2008, 17:45 |
| Bose , насчёт этого невкурсе, за собой перевод дополняет, а вот если он ещё как нить сделан то незнаю. И ешё у етой проги проблема с месаджами, к ним надо придумывать что то своё. |