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

Вниз

Про многоязычное приложение... ETM.   Найти похожие ветки 

 
Чапаев ©   (2006-10-24 10:56) [0]

Скажем, есть приложение, есть папка lang, где лежат *.RUS, *.ENU и ещё несколько файлов локализации. Как мне для каждого файла локализации получить название языка:
1) на английском;
2) на самом этом языке?


 
Чапаев ©   (2006-10-24 11:00) [1]

3) LCID (или language ID? не слишком хорошо в этом пока ориентируюсь).


 
Чапаев ©   (2006-10-24 12:43) [2]

Вопрос снимается, разобрался. Всем спасибо за содержательные ответы. :-D


 
Anatoly Podgoretsky ©   (2006-10-24 14:09) [3]

По реестру или как?
Обычно принято приводить решение.


 
Чапаев ©   (2006-10-24 14:48) [4]

> [3] Anatoly Podgoretsky ©   (24.10.06 14:09)
Да в общем есть чУдная переменная SysUtils.Languages (BDS2006), которая на две трети удовлетворяет мои запросы. Оставшаяся треть (первая) решается с помощью GetLocaleInfo().


 
Anatoly Podgoretsky ©   (2006-10-24 15:00) [5]

А вот за это спасибо, не знал про эту переменную. Видишь как полезно делать суммари, в нетривиальных случаях.


 
Плохиш ©   (2006-10-24 15:33) [6]


> Чапаев ©   (24.10.06 14:48) [4]
> > [3] Anatoly Podgoretsky ©   (24.10.06 14:09)
> Да в общем есть чУдная переменная SysUtils.Languages (BDS2006)

Функция в D7.
Только не совсем понятно, как она помогла решить задачу из [0]?


 
Чапаев ©   (2006-10-24 15:41) [7]

Ну не то чтоб она послужила "философским камнем", который решил разом все проблемы, но там есть свойство Ext[], с помощью которого можно сотворить всё, что мне надо.


 
Anatoly Podgoretsky ©   (2006-10-24 15:49) [8]

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


 
Плохиш ©   (2006-10-24 16:01) [9]


> Чапаев ©   (24.10.06 15:41) [7]

Понятно :-)

> Anatoly Podgoretsky ©   (24.10.06 15:49) [8]

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


 
Чапаев ©   (2006-10-24 16:33) [10]

> [8] Anatoly Podgoretsky ©   (24.10.06 15:49)
Нет, список языков, о которых знает система (не знаю, как это более вразумительно сказать). В моём случае Languages.Count=158.


 
Anatoly Podgoretsky ©   (2006-10-24 16:38) [11]

А жалко, так хотелось хорошего, честного метода. Тогда может посмотреть, что в реестре есть по данной части, у меня есть несколько таких приложений, будет время взгляну.


 
Наиль ©   (2006-10-24 17:58) [12]


> [11] Anatoly Podgoretsky ©   (24.10.06 16:38)

Я всегда считал, что знаете всё про локализацию.
Что касается реестра, то вот вырезка из "Delphi Russian Knowledge Base"
Как локализовать (русифицировать) ресурсы какого-либо пакета (runtime package)?
1) Вынимаете pесуpсы из этого модуля.
2) Пеpеводите их на дpугой язык. (напpимеp pусский)
3) Создаете в Delphi свой пpоект Dll-ки (с именем того модуля, из котоpого вы
вынули pесуpсы, напpимеp vcl30), в котоpый включаете _пеpеведенные_
pесуpсы:
{$R vcl30rus.res}
4) Собиpаете все это.
5) Пеpеименовываете полученную vcl30.Dll в vcl30.rus и кидаете ее в System.
Если вы хотите, пpиложение "говоpило" по pусски только тогда, когда в
pегиональных установках стоит Russia - то тогда это все.
Если же вы хотите, чтобы ваше пpиложение _всегда_ поднимало pусские pесуpсы,
то необходимо сделать следующее добавление в Registry:
HKEY_CURRENT_USER\SOFTWARE\Borland\Delphi\Locales
"X:\MyProject\MyApp.exe" = "rus"

Перечитал приведёный пример несколько раз, и понял, что не очень понял, о чём здесь написано.
Надеюсь это и есть, тот самый - честный способ.


 
Anatoly Podgoretsky ©   (2006-10-24 18:30) [13]


> Я всегда считал, что знаете всё про локализацию.

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



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

Форум: "Основная";
Текущий архив: 2006.12.03;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.097 c
8-1145099031
Серджинйо
2006-04-15 15:03
2006.12.03
Попиксельно нарисовать эллипс


2-1163597749
КлЯкСа
2006-11-15 16:35
2006.12.03
Как закрыть список DBLookupCombo?


2-1163409817
ORMADA
2006-11-13 12:23
2006.12.03
Пересечение окон


2-1163780750
Golikov
2006-11-17 19:25
2006.12.03
как перевести строку в ASCII-код ?


2-1163580497
Магедон
2006-11-15 11:48
2006.12.03
как убрать мерцание мышки?





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