Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Общие вопросы > Многоязычность |
Автор: Алкоголик 9.4.2009, 08:32 |
Здраствуйте. Есть проект реализованный на русском языке, нужно добавить туда поддержку английского. В проекте пара форм, на которых раскиданы элементы. И штук 15 модулей в которых тоже есть текст. Вот как тут лучше реаизовать подключения языков? Добавлено через 11 минут и 58 секунд Понимаю, что через iniFiles.. но как, куда и в какие моменты считывать их. В модулях вместо текста подставлять переменную и в нее уже считывать или как? и считывать когда? при создании программы(в какой то глобальный массив) или когда идет обращение к модулю? |
Автор: pseud 9.4.2009, 09:22 | ||
Вариант1: 1.
2. компилишься 3. открываешь свой Project1.exe каким-нибудь редактором ресурсов (например, ExeScope) 4. находишь свои русские строки и обзываешь по английски (французски, тулузски) 5. сохраняешь и запускаешь свой новоиспеченный Project1.exe - english-вершн |
Автор: Akella 9.4.2009, 09:26 |
Вариант 2. Ставишь компоненты типа TsiLang (локализация приложений) |
Автор: Алкоголик 9.4.2009, 09:50 |
Ну первый вариант меня не устрайвает. А вот второй заинтересовал, а не могли бы вы посоветовать какой-нибудь бесплатный компонентик. А то неохото для небольшой программы покупать.. Используется Delphi 2007 |
Автор: CodeMonkey 9.4.2009, 10:10 |
http://delphikingdom.ru/asp/viewitem.asp?catalogid=335 + см. обсуждение |
Автор: Алкоголик 9.4.2009, 11:02 |
Как я понял эти компоненты меняют Caption у кнопок лейбелов и прочего.. А когда русский текст находится в тексте программы? |
Автор: CodeMonkey 9.4.2009, 12:11 | ||||
Не только.
Есть такая хорошая практика: все константы, которые нужно локализовывать, необходимо оформлять как http://transl-gunsmoker.blogspot.com/2008/12/blog-post_9202.html. |
Автор: Bose 9.4.2009, 14:00 | ||||||
Тема хорошая, жалко только, что инфа там немного устаревшая.
Не просто хорошая практика, а обязательное условие для работы большинства локализаторов.
А вот это, кстати, может вызвать трудности, в случае если перевод сделан по словарю. Но это так, мысли вслух. |
Автор: ZBugz 10.4.2009, 07:51 |
А я его юзаю http://www.dk-soft.org/download.php?lang=ru&cat_id=4 Всегда работает и бесплатно ![]() |
Автор: Алкоголик 11.4.2009, 07:26 |
Но он вроде не работает с D2007? |
Автор: GN1 11.4.2009, 09:24 | ||
Угу, "DKLang Localization Package 4" работает только с 2009. |
Автор: Алкоголик 11.4.2009, 13:24 |
Попытался использовать "DKLang". Но возникло пару вопросов: 1) Нужно на каждую форму кидать что ли компонент? А как быть с unit' ами? 2) Он не видит resourcestring? |
Автор: GN1 12.4.2009, 10:46 |
Да, на каждую форму. Там есть хелп, и примеры отличные ![]() |
Автор: ZBugz 13.4.2009, 08:02 | ||
+1 Ниче сложно, все в примере есть ![]() |