Модераторы: THandle, bems

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Локализация приложения на Delphi 
:(
    Опции темы
Akella
Дата 27.9.2010, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



Кто-нибудь выполнял локализацию своих приложений, написанных на Delphi?

Я смотрю в сторону компонентов TsiLang. Говорят, что неплохое решение.
Что ещё посоветуете? Пока что в гугле ищу инфу по локализации.


Какие грабли могут быть на пути?
На данный момент я пока убираю все тексты и сообщения из кода и выношу их в отдельный модуль с константами.
Т.е. вместо 
Код
ShowMessage('Привет, мир');


будет

Код

uses
  uConstsMsg, ...;
constMsgHelloWorld = 'Привет, мир';
....
ShowMessage(constMsgHelloWorld);


Ну а после буду подключать движок для перевода.

D2007.

Добавлено через 10 минут и 45 секунд
Вот ещё нашел бесплатный движок

Это сообщение отредактировал(а) Akella - 27.9.2010, 11:17
PM MAIL   Вверх
CodeMonkey
Дата 27.9.2010, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 4
Всего: 89



ITE?


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Akella
Дата 27.9.2010, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



Разве ITE может без перекомпиляции?
Разве с помощью ITE можно на ходу менять язык?

Добавлено через 5 минут и 50 секунд
Я так понял, что ITE может переводить только константы? А как же текстовые свойства компонент? Например, Caption?
А если есть у постоянных датасетов свойство DisplayLabel?
PM MAIL   Вверх
Akella
Дата 27.9.2010, 16:19 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



интересно, откуда у GunSmoker-а столько времени на содержание блога и изучения дельфи  smile 
PM MAIL   Вверх
CodeMonkey
Дата 27.9.2010, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 4
Всего: 89



Это похоже на константы?


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Akella
Дата 27.9.2010, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



не
PM MAIL   Вверх
kami
Дата 2.10.2010, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 1
Всего: 72



DKLang ? (я им пользуюсь - более чем устраивает)

Это сообщение отредактировал(а) kami - 2.10.2010, 18:04
PM MAIL WWW   Вверх
Akella
Дата 3.10.2010, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



Посмотрел мельком страничку. Я там не вижу поддержку D2007+

Добавлено через 6 минут и 17 секунд
Мало того:
Цитата
DKLang Localization Package требует Tnt Delphi Unicode Controls

PM MAIL   Вверх
casinosoftguru
Дата 4.10.2010, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 138
Регистрация: 22.12.2008

Репутация: нет
Всего: нет



я руками писал также в константы, но этот способ подойдет если текста немного в приложении
PM MAIL   Вверх
Xenag
Дата 5.10.2010, 02:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 51
Регистрация: 6.3.2010

Репутация: нет
Всего: нет



Главная проблема - визуальное программирование.
Там локализацию прикрутить проблемно.
А на уровне кода я бы посоветовал вариант с функцией локализации.
То есть не ShowMessage(constMsgHelloWorld);
а ShowMessage(lc(constMsgHelloWorld));
Где constMsgHelloWorld - номер фразы.
lc - функция, превращающая номер в текст.
Это даст:
1. Можно менять язык на лету.
2. Можно применить любой способ локализации. 
Не понравился нам такой вариант, пробуем другой. 
Изменить нужно только одну функцию.
Для экспериментов - самое оно.
PM   Вверх
roschinspb
Дата 6.10.2010, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 27.1.2010
Где: С-Пб

Репутация: нет
Всего: нет



Цитата(Akella @ 27.9.2010,  15:59)
Разве ITE может без перекомпиляции?
Разве с помощью ITE можно на ходу менять язык?

Добавлено @ 16:05
Я так понял, что ITE может переводить только константы? А как же текстовые свойства компонент? Например, Caption?
А если есть у постоянных датасетов свойство DisplayLabel?

1. Без перкомпиляции нет, по ходу менять язык нельзя. Язык приложения автоматом выбирается в соответствии с выбраным языком ОС (Control Panel/Regional and Language options/Regional Options)

2. Переводить можно только ресурсы, т.е. всё что в resourcestring и dfm. Caption, DisplayLabel и т.п., естесственно тоже. Const — не канает.

Ну еще есть полезная функция это возможность делать свои словари терминов. Для стандарнтых сообщений об ошибках в базовую поставку Delphi входят словари на французском, немецком и японском языках. Русских, понятное дело, нет :( , но можно найти smile

Можно в фалы языковой поддержки и свои ресурсы грузить напр. картинки, тогда при загрузке ресурсов, в качестве хэндла модуля надо использовать FindResourceHInstance

P.S. Локализовывать пробовал.
PM MAIL WWW   Вверх
Akella
Дата 6.10.2010, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



 smile спасибо
PM MAIL   Вверх
Akella
Дата 13.11.2010, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



А кто-нибудь использовал EMS Advanced Localizer?
PM MAIL   Вверх
CodeMonkey
Дата 13.11.2010, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 4
Всего: 89



Цитата(roschinspb @  6.10.2010,  18:50 Найти цитируемый пост)
 но можно найти


Подкинь ссылочку?


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
roschinspb
Дата 13.11.2010, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 27.1.2010
Где: С-Пб

Репутация: нет
Всего: нет



Цитата(CodeMonkey @ 13.11.2010,  14:30)
Цитата(roschinspb @  6.10.2010,  18:50 Найти цитируемый пост)
 но можно найти


Подкинь ссылочку?

Вот, гдето выкачал, ... первоисточник не могу найти, на авторство не претендую.

В этот файл добавил все ангоязычные ресурсные строки взятые из исходников Delphi 2010. Добавлялись они автоматически с помощью самопального, типа, синтаксического анализатора, поэтому есть всякие "левые" строки.
Потом дополнил некоторыми своими переводами и сделал программку, которая добавляет этот словарь в Translation Repository. P.S. Если добавишь свои переводы, вышли мне пож. свой вариант, по адресу мой_ник + сабака + mail.ru
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle

Добро пожаловать в форум группы "Delphi".

В разделе разрешается:

  • Флудить (в приемлемых величинах)
  • Обсуждать модерирование данного раздела (но не его модератора)
  • Добавлять свои правила если они не противоречат существующим
  • Делать наезды на пешеходов***

Строго запрещено:

  • Размещать рекламу
  • Совершать оскорбления личностей
  • Материться
  • *** Пешеходами не являются (ко)модераторы, админы, участники клуба.

Если Вам понравилась атмосфера форума, заходите к нам чаще! Люблю, целую, вечно Ваш, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Форум группы: delphi | Следующая тема »


 




[ Время генерации скрипта: 0.0858 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.