Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.07.21;
Скачать: [xml.tar.bz2];

Вниз

Вопрос по локализации приложений...   Найти похожие ветки 

 
Balkon   (2003-07-03 11:05) [0]

Приветствую, мастера!
Вопрос следующий. Какие файлы нужно распространять вместе
с исполняемым файлом при локализации приложения?

Сейчас делаю так:
Изначально приложение емеет английский интерфейс.
Использую файлы: PrjName.exe + PrjName.RUS В результате на моем
ПК при копировании этих файлов в какую-нибудь папку, русификация поддерживается. Если же я переношу эти 2 файла на другой ПК, то
русификации нет - интерфейс английский.


 
NickBat   (2003-07-03 11:10) [1]

Ну откуда мы знаем как реализована русификация у тебя?


 
Balkon   (2003-07-03 11:18) [2]

Извиняюсь.

Достаточно ли будет сказать, что делаю русификацию с помощью Integrated Translation Environment?


 
Balkon   (2003-07-03 19:44) [3]

Прошу прощения, что опять поднимаю топик.

Но вопрос остался.

Повторюсь, что локализую приложение в
Integrated Translation Environment. Приложение изначально английское (представляет собой единств. файл Localization.exe). Добавляю язык, перевожу текстовые ресурсы формы
на русский с момощью Translation Manager. Компилирую. Устанавливаю русский активным. Все работает на моем компьютере.

Переношу на другой ПК файлы Localization.exe и Localization.RUS
(который создался ITE) и при запуске наблюдаю английский интерфейс. Если запускаю по сети на своем ПК Localization.exe, то вижу русский интерфейс.

Чего не хватает?

Может быть излишне подробно описал проблему, но решил что так хоть кто-нибудь поможет.

Заранее благодарен, за любого рода советы и комментарии.



 
AlexRush   (2003-07-03 20:21) [4]

Весьма распространенный прием локализации: Все локальные тексты (и оригинальный)(буть-то caption"ы меню, кнопок, MessageBox"ов и т.д.) загоняются в ресурсы StringTable. Все таблицы получаются абсолютно идентичными по структуре (только тексты разные, естественно). Затем, пишется некая процедура инициализации интерфейса, которая получает ID таблицы и загоняет тексты из нее на формы/кнопки и пр. Вокруг нее - обертка, которая получает ID языка, и вызавает предыдушую с соответствующим ID таблицы. (так MFC"сты делают) IMHO прсто и удобно.


 
Anatoly Podgoretsky   (2003-07-03 20:25) [5]

AlexRush © (03.07.03 20:21)
Это же, но только автоматом делает ITE


 
AlexRush   (2003-07-03 20:31) [6]

Anatoly Podgoretsky © (03.07.03 20:25)>> Не в курсе. Серьезных (больших) многоязыковых интерфейсов делать не доводилось.


 
Anatoly Podgoretsky   (2003-07-03 20:38) [7]

Мне приходилось, очень удобно, но сначала надо привыкнуть к среде и процессу компиляции. А так среда позволяет делать даже разные формы для разных языков. В результате чисто ресурсные (языковые) DLL. Правда также очень больших проектов, постоянно переделываемых не делал, может тогда не так удобно будет.


 
Balkon   (2003-07-03 20:38) [8]

:) Понятно. Спасибо за комментарий

Но в таком подходе наверное есть прокол в том, что некоторые
элементы формы при разных языках имеют разные размеры, т.е.
ч/з StringTable прийдется хранить гдето и размеры. Наверное это слишком "муторно", если конечно я все правильно понимаю. Через ITE же все делается визуально.

...Однако у меня с ITE такой, выше описанный ньюанс. Причем в
в найденых статьях процесс локализации В ITE описывается именно созданием файла ресурсов xxxx.RUS и "подкладывания" этого файла к файлу приложения xxxx.exe Однако такой подход у меня дает положительный результ только на собственном ПК. А перелопачивать
всю русификацию в StringTable не охото (слишком много). Нужно разобраться...


 
Balkon   (2003-07-03 20:40) [9]

>Anatoly Podgoretsky ©
>Мне приходилось, очень удобно

А у вас случаем такой проблемы, как у меня не возникало?


 
Anatoly Podgoretsky   (2003-07-03 22:07) [10]

Balkon (03.07.03 20:38)
Такой проблемы не возникает, поскольку для каждого языка своя форма со своими компонентами, размеры, шрифты и прочее меняются независимо, теоритически может быть даже разный набор компонент на форме, но не желательно.

Balkon (03.07.03 20:40)
Такой проблемы не возникало, только проблемы начального освоения, если интересует то на моем сайте есть проект DMA использующий данную технологию.


 
DiamondShark   (2003-07-03 22:40) [11]

Старая песня: документацию читают только ламеры, а настоящие мужчины не ищут лёгких путей.

Не знаю, по-моему точнее борланда никто не ответит:

When your application starts up, it checks the locale of the local system. If it finds any resource DLLs with the same name as the EXE, DLL, or BPL files it is using, it checks the extension on those DLLs. If the extension of the resource module matches the language and country of the system locale, your application will use the resources in that resource module instead of the resources in the executable, DLL, or package. If there is not a resource module that matches both the language and the country, your application will try to locate a resource module that matches just the language. If there is no resource module that matches the language, your application will use the resources compiled with the executable, DLL, or package.

If you want your application to use a different resource module than the one that matches the locale of the local system, you can set a locale override entry in the Windows registry. Under the HKEY_CURRENT_USER\Software\Borland\Locales key, add your application’s path and file name as a string value and set the data value to the extension of your resource DLLs. At startup, the application will look for resource DLLs with this extension before trying the system locale. Setting this registry entry allows you to test localized versions of your application without changing the locale on your system.



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2003.07.21;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.008 c
8-67915
Yorick
2003-03-31 02:00
2003.07.21
Поворот изображения в Image ?


1-67856
Igor_P
2003-07-07 22:50
2003.07.21
MessageDlg


6-67957
LOX
2003-05-06 17:05
2003.07.21
А как из TWebBrowser скопировать текст?


11-67742
Ал
2002-11-16 23:25
2003.07.21
Pbitmap.ScanLine не работает!


1-67783
Flint
2003-07-07 12:51
2003.07.21
TThread





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский