![]() |
Модераторы: THandle, bems |
![]() ![]() ![]() |
|
Akella |
|
||||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 7 Всего: 329 |
Кто-нибудь выполнял локализацию своих приложений, написанных на Delphi?
Я смотрю в сторону компонентов TsiLang. Говорят, что неплохое решение. Что ещё посоветуете? Пока что в гугле ищу инфу по локализации. Какие грабли могут быть на пути? На данный момент я пока убираю все тексты и сообщения из кода и выношу их в отдельный модуль с константами. Т.е. вместо
будет
Ну а после буду подключать движок для перевода. D2007. Добавлено через 10 минут и 45 секунд Вот ещё нашел бесплатный движок Это сообщение отредактировал(а) Akella - 27.9.2010, 11:17 |
||||
|
|||||
CodeMonkey |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 4 Всего: 89 |
ITE?
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 7 Всего: 329 |
Разве ITE может без перекомпиляции?
Разве с помощью ITE можно на ходу менять язык? Добавлено через 5 минут и 50 секунд Я так понял, что ITE может переводить только константы? А как же текстовые свойства компонент? Например, Caption? А если есть у постоянных датасетов свойство DisplayLabel? |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 7 Всего: 329 |
интересно, откуда у GunSmoker-а столько времени на содержание блога и изучения дельфи
![]() |
|||
|
||||
CodeMonkey |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 4 Всего: 89 |
Это похоже на константы?
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 7 Всего: 329 |
не
|
|||
|
||||
kami |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 1 Всего: 72 |
DKLang ? (я им пользуюсь - более чем устраивает)
Это сообщение отредактировал(а) kami - 2.10.2010, 18:04 |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 7 Всего: 329 |
Посмотрел мельком страничку. Я там не вижу поддержку D2007+
Добавлено через 6 минут и 17 секунд Мало того:
|
|||
|
||||
casinosoftguru |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 22.12.2008 Репутация: нет Всего: нет |
я руками писал также в константы, но этот способ подойдет если текста немного в приложении
|
|||
|
||||
Xenag |
|
|||
![]() Шустрый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 51 Регистрация: 6.3.2010 Репутация: нет Всего: нет |
Главная проблема - визуальное программирование.
Там локализацию прикрутить проблемно. А на уровне кода я бы посоветовал вариант с функцией локализации. То есть не ShowMessage(constMsgHelloWorld); а ShowMessage(lc(constMsgHelloWorld)); Где constMsgHelloWorld - номер фразы. lc - функция, превращающая номер в текст. Это даст: 1. Можно менять язык на лету. 2. Можно применить любой способ локализации. Не понравился нам такой вариант, пробуем другой. Изменить нужно только одну функцию. Для экспериментов - самое оно. |
|||
|
||||
roschinspb |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 27.1.2010 Где: С-Пб Репутация: нет Всего: нет |
1. Без перкомпиляции нет, по ходу менять язык нельзя. Язык приложения автоматом выбирается в соответствии с выбраным языком ОС (Control Panel/Regional and Language options/Regional Options) 2. Переводить можно только ресурсы, т.е. всё что в resourcestring и dfm. Caption, DisplayLabel и т.п., естесственно тоже. Const — не канает. Ну еще есть полезная функция это возможность делать свои словари терминов. Для стандарнтых сообщений об ошибках в базовую поставку Delphi входят словари на французском, немецком и японском языках. Русских, понятное дело, нет :( , но можно найти ![]() Можно в фалы языковой поддержки и свои ресурсы грузить напр. картинки, тогда при загрузке ресурсов, в качестве хэндла модуля надо использовать FindResourceHInstance P.S. Локализовывать пробовал. |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 7 Всего: 329 |
![]() |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 7 Всего: 329 |
А кто-нибудь использовал EMS Advanced Localizer?
|
|||
|
||||
CodeMonkey |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 4 Всего: 89 |
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
roschinspb |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 27.1.2010 Где: С-Пб Репутация: нет Всего: нет |
Вот, гдето выкачал, ... первоисточник не могу найти, на авторство не претендую. В этот файл добавил все ангоязычные ресурсные строки взятые из исходников Delphi 2010. Добавлялись они автоматически с помощью самопального, типа, синтаксического анализатора, поэтому есть всякие "левые" строки. Потом дополнил некоторыми своими переводами и сделал программку, которая добавляет этот словарь в Translation Repository. P.S. Если добавишь свои переводы, вышли мне пож. свой вариант, по адресу мой_ник + сабака + mail.ru |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi" | |
|
Добро пожаловать в форум группы "Delphi". В разделе разрешается:
Строго запрещено:
Если Вам понравилась атмосфера форума, заходите к нам чаще! Люблю, целую, вечно Ваш, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Форум группы: delphi | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |