[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Локализация X-овых приложений




On 01-Dec-1999 Alexey Kizilov wrote:
> Aleksey Novodvorsky wrote:
>> 
>> On 30-Nov-1999 Alexey Kizilov wrote:
>> > День добрый.
>> >
>> > Не подскажите ли ссылочку где можно почитать про корректную
>> > локализацию (в смысле сообщений, элементов меню и т.д.) иксовых программ ?
>> > А то существует большой проект написаный с использованием
>> > Motif и Xt и одним gettext'ом уже просто так не обойтись...
>> ???
>> Коректная локализация -- локализация gettext'ом. Не вполне понятно в какой
>> ситуации его может не хватить. В документации же к нему все расписано по
>> шагам.
> да, но для консольных приложений.
Нет, консольность приложения здесь ни при чем. Все приложения gtk, qt (не 2.0!)
локализованы gettext'ом.

> 
>> Если можно -- объясните подробнее.
> 
> Объясняю:
> 
> Xt имеет такое понятие как "ресурсы", которые в настоящий момент
> описываются в отдельном файле, а потом из них генерится .h,
> и эти ресурсы в настоящий момент железно заносятся в код,
> где и отдаются функции XtAppSetFallbackResources
> 
> Вот пример этого файла ресурсов (размер этого файла ~40K,
> но он не один):
> ...
> *mainWindow*searchButton.labelString: Search
> *mainWindow*searchButton.mnemonic: S
> *mainWindow*menuBar*search.labelString: Search...
> *mainWindow*menuBar*search.mnemonic: S
> *mainWindow*menuBar*replace.labelString: Replace...
> *mainWindow*menuBar*replace.mnemonic: R
> *mainWindow*menuBar*sr_next.labelString: Search/Replace Next
> *mainWindow*menuBar*sr_next.mnemonic: N
> ...
> Это то, что относится к тем ресурсам, которые нужно локализовывать,
> однако в этом файле ресурсов есть много чего, не относящегося
> к локазизации. Поэтому просто так эти данные gettext'у не скормить...
Ok. Но можно считывать эти ресурсы из файла ресурсов в app-defaults (извините,
функцию забыл). Вы его переводите (то, что нужно переводить) и кладете русский
вариант в <Xroot>/lib/X11/ru/app-defaults. Немецкий -- в
<Xroot>/lib/X11/de/app-defaults и т.д. Все работает -- проверьте. А если
перевода нет, то все берется из текста или из обычного
места:<Xroot>/lib/X11/app-defaults.
Rgrds, AEN