ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 29.09.2009, 00:20
ZdezBilYa
Участник форума
Регистрация: 29.08.2008
Сообщений: 151
Провел на форуме:
1551582

Репутация: 107
Отправить сообщение для ZdezBilYa с помощью ICQ
По умолчанию

Можно использовать компонент TsiLang
 

  #12  
Старый 09.10.2009, 17:15
dos999
Познающий
Регистрация: 15.02.2008
Сообщений: 98
Провел на форуме:
183980

Репутация: 50
Thumbs up

Сори что поднял эту тему, просто хотелось бы высказаться по результатам решения проблемы:
В Borland не лохи сидели и всё уже продумали. Локализация приложения осуществляется очень легко встроенными средствами. Итак, по шагам

1. открываем наш проект (который нужно перевести с русского на буржуйский ) и заходим в Project => Languages => Add
2. далее следуем указаниям мастера (выбираем язык, в нашем случае это English(UK) ENG). среда создаст Progect Group и ещё один отдельный проект.
3. Открывается программа Translation Manager в ней то мы и осуществляем весь перевод. Тут существует несколько подводных камней о которых я напишу ниже.
4. Всё перевели, сохранилии закрыли. теперь открываем проект который у нас создался автоматически в папке ENG и компилим его.
5. В результате компиляции сформируеться файл Project1.ENG в котором находяться все наши труды и старания по переводу.
6. Тут возникает вопрос, как указать при запуске какой интерфейс мы хотим видеть в программе (наш родной русский или буржуйский из файла project1.ENG). Регулируеться это всё дело значение в реестре HKCU\Software\Borland\Lacales\ (необходимо добавить текстовое значение с полным патчем к файлу, например c:\Progect1.exe) если значение ключа ENG то все строки беруться из Project1.ENG иначе всё по умолчанию на русском.

ПОДВОДНЫЕ КАМНИ И УКАЗАНИЯ ПО ЛОКАЛИЗАЦИИ
Я уверен что опишу далеко не все, но вот те с которыми столкнулся я.
1. Все строки(которые вы желаете перевести) в коде нужно вывести в resourcestring только там их можно увидеть Translation Manager'ом. (даже те строки которые у вас в разделе const)
Пример :
Код:
было
const
cnstHeadConfig = 'Настройки';
...
Edit1.text := cnstHeadConfig;
Edit2.text := 'Текст1';

стало
resourcestring
  cnstHeadConfig = 'Настройка';
  cnstText1 = 'Текст1';
...
Edit1.text := cnstHeadConfig;
Edit2.text := cnstText1;
2. При формировании фала (с которым в последующем будет работать TranskateManager) программа парсит dfm файлы нашего проекта и вытаскивает строковые значения. У меня возникла проблема с некоторыми dx компонентами, такими как dxEditButton, кнопки в него пришлось добавлять програмно, т.к. парсинг такие записи в dfm-ке неберёт =(.

Заключение
При добавлении/изменении строк, имён объектов в проекте мы заходим в project => Languages => Update и переводим добавленные строки.
На мой взгляд всё очень просто и удобно. Будут вопросы пишите.
PS. Сори за знаки препинания... торопился.
 

  #13  
Старый 11.10.2009, 13:09
0ldbi4
Постоянный
Регистрация: 14.04.2008
Сообщений: 327
Провел на форуме:
584699

Репутация: 69
По умолчанию

А я как-то сталкивался с этой проблемой:
Просто в массив со строками заносил строки нужного языка,
а caption'ам присваивал значение элемента массива, единственное если много слов нужно мто много элементов в которых легко запутатся.
 

  #14  
Старый 12.10.2009, 10:58
dos999
Познающий
Регистрация: 15.02.2008
Сообщений: 98
Провел на форуме:
183980

Репутация: 50
По умолчанию

20ldbi4 У меня в приложении около 3к строк было.

Возникла её одна проблема... сервисы по такой схеме не работают.
в реестре пишу например
строковое значение C:\123\MyService.exe содержащее ENG

в папке 123 лежит 2 файла MyService.exe и MyService.ENG.
И при всём при этом сервис один хнр запускается на русском.
Ребят.... есть мысли?
 
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Books PSalm69 Избранное 248 27.10.2009 04:52



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ