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

Вниз

Многоязычность интерфейса   Найти похожие ветки 

 
Gerbert   (2008-10-06 08:55) [0]

Здравствуйте. Подскажите новичку как в программах реализуют многоязычность интерфейса. В данный момент мне пришло в голову только сделать базовую форму, которая при старте формы перебирает все Caption-ы и Hint-ы компонентов, ищет их в ини файле и меняет на нужный язык. Затем все формы своего проекта наследую от этой формы. Правильно ли делаю? Как делают профессионалы ? Спасибо.


 
КПК   (2008-10-06 09:08) [1]

храни капшены и хинту в ини файлах например russian.lng потом подгружай во время создания форм...


 
123-ий ©   (2008-10-06 10:00) [2]

я в xml храню. сейчас пишу прогу, которая анализирует .dfm файл, дерет от туда капшены и формирует соответственный xml файл. Также напишу юнит для загрузки этих капшнов из xml в форму. Надо будет - выложу.


 
Gerbert   (2008-10-06 10:07) [3]


> Надо будет - выложу.


Был бы очень принзнателен.


 
123-ий ©   (2008-10-06 10:11) [4]

ну так как закончу так сразу


 
Desdechado ©   (2008-10-06 16:36) [5]

Integrated Translation Environment
Так как перевод может затрагивать не только надписи, но и прочие ресурсы (картинки с надписями или нацсимволикой, звуки и речь, даже размеры элементов управления).


 
@!!ex ©   (2008-10-06 16:37) [6]

Велосипедисты. :)
Уже давно есть тулзы для мультиязычности в Delphi.


 
clickmaker ©   (2008-10-06 17:37) [7]

В FARe, к примеру, все строки хранятся в файлах lng
Собственно, вариантов не так уж и много. А точнее, всего 2: DLL с ресурсами и текстовик. Все остальное - вариации на тему


 
Eraser ©   (2008-10-06 17:46) [8]

http://matrix.kladovka.net.ru/download.php?getfilename=uploads/other/multilang.zip
если немного напильником доработать, то вполне сносный велосипед получится.

> Integrated Translation Environment

вещь безусловно хорошая, но черезчур трудозатратная и имеет существенный недостаток - нельзя передать файл для перевода третьим лицам.


 
Правильный$Вася   (2008-10-06 17:48) [9]


> В FARe, к примеру, все строки хранятся в файлах lng

а там больше ничего и нет: ни картинок, ни звуков, ни окон
и арабского фара я тоже не видел


 
clickmaker ©   (2008-10-06 17:50) [10]

> а там больше ничего и нет: ни картинок, ни звуков

насчет звуков - это да, упущение. Их очень там не хватает.
Написать Рошалу, что-ли...


 
Правильный$Вася   (2008-10-06 18:08) [11]


> clickmaker ©   (06.10.08 17:50) [10]

тогда пусть лучше озвучивает интерфейс и справку при наведении мыши ;)
причем каким-нибудь словочитающим движком, чтоб инсталлятор не распухал


 
Eraser ©   (2008-10-06 18:53) [12]

AFAIK фар сейчас - open source )


 
Anatoly Podgoretsky ©   (2008-10-06 20:16) [13]

> Eraser  (06.10.2008 17:46:08)  [8]

Для кого то трудо затраты, а для кого то экономия ресурсов, и ресурсов компьютера тоже.


 
Правильный$Вася   (2008-10-06 20:38) [14]


> Eraser ©   (06.10.08 18:53) [12]

есть от него юникодный fork в свободном виде
а коммерческий никто не отменял, вроде


 
isasa ©   (2008-10-06 20:52) [15]

Anatoly Podgoretsky ©   (06.10.08 20:16) [13]

> Eraser  (06.10.2008 17:46:08)  [8]

Для кого то трудо затраты, а для кого то экономия ресурсов, и ресурсов компьютера тоже.


Мы много языков знаем. Мы все переведем сами, не? :)


 
Правильный$Вася   (2008-10-06 20:56) [16]


>  Мы все переведем сами, не? :)

бюро перевода сделает


 
isasa ©   (2008-10-06 21:01) [17]

Правильный$Вася   (06.10.08 20:56) [16]

бюро перевода сделает


А как ты потом будешь сопоставлять оригинальные фразы и перевод.
Иж же в ресурсы всунить надо(но или текстовый файл), т.е сопоставить каким-то ключам?
Хорошо что перевод, допустим, немецкий. А если фарси?


 
Anatoly Podgoretsky ©   (2008-10-06 21:17) [18]

> isasa  (06.10.2008 20:52:15)  [15]

Зачем нам самим, мы ни петь, ни рисовать не умеем, но есть люди.


 
Anatoly Podgoretsky ©   (2008-10-06 21:25) [19]

> isasa  (06.10.2008 21:01:17)  [17]

Это ресурсы, значит не затруднит сбросить в текстовый файл, большинством редакторами ресурсов, при том прямо в Юникоде если нужно.


 
isasa ©   (2008-10-06 21:36) [20]

Anatoly Podgoretsky ©   (06.10.08 21:25) [19]

Это ресурсы, значит не затруднит сбросить в текстовый файл, большинством редакторами ресурсов, при том прямо в Юникоде если нужно.


Это я понимаю.
Интересно сохранить связку key_id - original_text - translated_text, что бы потом не читать и не вникать в суть.
"Теряем время" (с)


 
Anatoly Podgoretsky ©   (2008-10-06 21:45) [21]

> isasa  (06.10.2008 21:36:20)  [20]

В файл сохраняется, для строк ИД + строка (в формате StringTable)
Переводчик добавит к ней строка 2

Кроме того, кто постоянно с этим работает, вполне в состоянии сделать несложную программу с удобным, для переводчика, интерфейсом. Не исключается и персональная база и интерфейс в виде обычной сетки на три колонки. И инструментарий по гонянию информации туда и обратно в программу. Но это если есть желание и достаточно большой объем работы.


 
Anatoly Podgoretsky ©   (2008-10-06 21:46) [22]

> isasa  (06.10.2008 21:36:20)  [20]

По аналогии с реестром, никто же не работает с текстовым экспортированым файлом, а используют regedit.


 
isasa ©   (2008-10-06 21:58) [23]

Anatoly Podgoretsky ©   (06.10.08 21:45) [21]

В файл сохраняется, для строк ИД + строка (в формате StringTable)
Переводчик добавит к ней строка 2


"Так бы сразу и сказал" (с) Джентельмены удачи.

Я пользую Excel и выгрузку "с разделителем запятая". Потом цепляем к dll ресурса и вперед ... :)


 
Anatoly Podgoretsky ©   (2008-10-07 01:46) [24]

> isasa  (06.10.2008 21:58:23)  [23]

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



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

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

Наверх





Память: 0.5 MB
Время: 0.006 c
11-1196158227
D[u]fa
2007-11-27 13:10
2008.12.07
TabControl скрыть вкладку


15-1222953108
turbouser
2008-10-02 17:11
2008.12.07
Что бы такого изобрести?


2-1224828809
AlexDan
2008-10-24 10:13
2008.12.07
ProgressBar


15-1222540548
Копир
2008-09-27 22:35
2008.12.07
Вполне искусственный интеллект


2-1225057267
NavigatorNeba
2008-10-27 00:41
2008.12.07
Место на компонентах под Label, не реагирует на onClick.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский