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

Поиск:

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


Шустрый
*


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

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



Для фриварных программ удобно делать так, чтобы сами юзеры могли быстро создавать свои переводы.
Я делаю так:

Код

unit ini_lang;

interface

uses
  SysUtils, Inifiles;

const
  ini_filename = 'lang.ini';

function ReadLocalizedValue(Name: string; Locale: integer): string;

type
  TLangInifile = class (Tinifile)
  end;

implementation

function ReadLocalizedValue(Name: string; Locale: integer): string;
var
 langinifile: TLangInifile;
 sPath: string[60];
const
  StandError = 'Error reading language file! Make sure that file "' + ini_filename + '" is in the application folder';
begin
  GetDir(0, sPath); 
  langinifile := TLangInifile.Create(spath+'\'+ini_filename);
  Result := langinifile.ReadString(inttostr(Locale), Name, StandError); 
  langinifile.Free;
end;

end.


Плюс в том что многократно повторяющиеся элементы в ini-файле переводить не надо - удобство для переводчиков.
Минус думаю всем ясен. Придется писать громоздкую процедуру считывания локализованных заголовков ...
(Label1.caption:=ReadLocalizedValue('File'); и так по каждому элементу)

INI-Файл выглядит так:
Код

[1049]  ;Русский
File            = Файл
Exit                 = Выход



Если сразу предположить наличие многоязыковости, то времени лишнего отнимает лишь малость.


PM MAIL   Вверх
offline
Дата 2.9.2005, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата
Для фриварных программ удобно делать так, чтобы сами юзеры могли быстро создавать свои переводы.


ага, я посмотрю, как ты создашь перевод китайской программы ;)
PM MAIL   Вверх
allx
Дата 2.9.2005, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



kirilllius
Ни разу в жизни не пользовался китайской программой smile Ан нет, была, была - TeraTerm, однако и та была а инглише.

Вопрос к народу. Кто-нибудь пробовал выносить все строки в ресурсы, и можно ли селать MUI-файлы с дельфийскими ресурсами, чтобы все автоматом работало? Может есть какой-нить компонент который этим занимается?
PM MAIL   Вверх
offline
Дата 2.9.2005, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



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


Шустрый
*


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

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



kirilllius
Спасибо! Чет ссылки среди кода сразу я не заметил.
Интересная статейка про локализацию.

Это сообщение отредактировал(а) allx - 3.9.2005, 10:03
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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