Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Многоязычность, Как сделать? 
V
    Опции темы
Алкоголик
Дата 9.4.2009, 08:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Здраствуйте.
Есть проект реализованный на русском языке, нужно добавить туда поддержку английского.
В проекте пара форм, на которых раскиданы элементы. И штук 15 модулей в которых тоже есть текст.
Вот как тут лучше реаизовать подключения языков?

Добавлено через 11 минут и 58 секунд
Понимаю, что через iniFiles.. но как, куда и в какие моменты считывать их. В модулях вместо текста подставлять переменную и в нее уже считывать или как? и считывать когда? при создании программы(в какой то глобальный массив) или когда идет обращение к модулю?
PM MAIL   Вверх
pseud
Дата 9.4.2009, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Экспёрт Тыдыщ
***


Профиль
Группа: Завсегдатай
Сообщений: 1175
Регистрация: 18.5.2007
Где: Минск, Беларусь

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



Вариант1:
1.
Код

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

resourcestring
  S_STRING = 'Локализация';

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Caption := S_STRING;
end;

2. компилишься
3. открываешь свой Project1.exe каким-нибудь редактором ресурсов (например, ExeScope)
4. находишь свои русские строки и обзываешь по английски (французски, тулузски)
5. сохраняешь и запускаешь свой новоиспеченный Project1.exe - english-вершн


--------------------
Испытание чужого терпения можно считать успешным, если оно лопнуло...
PM MAIL   Вверх
Akella
Дата 9.4.2009, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


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

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



Вариант 2. 
Ставишь компоненты типа TsiLang (локализация приложений)
PM MAIL   Вверх
Алкоголик
Дата 9.4.2009, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Ну первый вариант меня не устрайвает. А вот второй заинтересовал, а не могли бы вы посоветовать какой-нибудь бесплатный компонентик. А то неохото для небольшой программы покупать..
Используется Delphi 2007

Это сообщение отредактировал(а) Алкоголик - 9.4.2009, 09:52
PM MAIL   Вверх
CodeMonkey
Дата 9.4.2009, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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





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


Бывалый
*


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

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



Как я понял эти компоненты меняют Caption у кнопок лейбелов и прочего.. А когда русский текст находится в тексте программы?
PM MAIL   Вверх
cemick
Дата 9.4.2009, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Алкоголик @  9.4.2009,  11:02 Найти цитируемый пост)
Как я понял эти компоненты меняют Caption у кнопок лейбелов и прочего.. А когда русский текст находится в тексте программы? 

Тогда сам и меняй в рантайме, в зависимости от выбранного языка, делов-то...
PM MAIL WWW   Вверх
CodeMonkey
Дата 9.4.2009, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата
Как я понял эти компоненты меняют Caption у кнопок лейбелов и прочего.

Не только.

Цитата
А когда русский текст находится в тексте программы?

Есть такая хорошая практика: все константы, которые нужно локализовывать, необходимо оформлять как resourcestring.


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


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

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



Цитата(CodeMonkey @  9.4.2009,  09:10 Найти цитируемый пост)
http://delphikingdom.ru/asp/viewitem.asp?catalogid=335 + см. обсуждение 

Тема хорошая, жалко только, что инфа там немного устаревшая. 

Цитата(CodeMonkey @  9.4.2009,  11:11 Найти цитируемый пост)
Есть такая хорошая практика: все константы, которые нужно локализовывать, необходимо оформлять как resourcestring. 

Не просто хорошая практика, а обязательное условие для работы большинства локализаторов.

Цитата(Алкоголик @  9.4.2009,  07:32 Найти цитируемый пост)
Есть проект реализованный на русском языке, нужно добавить туда поддержку английского.

А вот это, кстати, может вызвать трудности, в случае если перевод сделан по словарю. Но это так, мысли вслух.
PM MAIL WWW Skype   Вверх
ZBugz
Дата 10.4.2009, 07:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А я его юзаю http://www.dk-soft.org/download.php?lang=ru&cat_id=4
Всегда работает и бесплатно smile 
PM MAIL   Вверх
Алкоголик
Дата 11.4.2009, 07:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Но он вроде не работает с D2007?
PM MAIL   Вверх
GN1
Дата 11.4.2009, 09:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 23.4.2008
Где: Казахстан

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



Цитата(Алкоголик @ 11.4.2009,  07:26)
Но он вроде не работает с D2007?

Угу, "DKLang Localization Package 4" работает только с 2009.
PM MAIL WWW   Вверх
Алкоголик
Дата 11.4.2009, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Попытался использовать  "DKLang". Но возникло пару вопросов:
1) Нужно на каждую форму кидать что ли компонент? А как быть с unit' ами?
2) Он не видит resourcestring?

Это сообщение отредактировал(а) Алкоголик - 11.4.2009, 13:25
PM MAIL   Вверх
GN1
Дата 12.4.2009, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 23.4.2008
Где: Казахстан

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



Да, на каждую форму.
Там есть хелп, и примеры отличные smile Я по ним разобрался.
PM MAIL WWW   Вверх
ZBugz
Дата 13.4.2009, 08:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(GN1 @ 12.4.2009,  10:46)
Да, на каждую форму.
Там есть хелп, и примеры отличные smile Я по ним разобрался.

+1
Ниче сложно, все в примере есть smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

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


 




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


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

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