Ada_Ru форум

Обсуждение языка Ада

gtkada and russian

Оставить новое сообщение

Сообщения

Aleksey Ulasevich
gtkada and russian
2005-07-30 17:05:47

Здравствуйте!

Пробую писать на Ada (gnat-3.15) с использованием библиотеки GtkAda.

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

 

Например - Gtk_New (Button, "Кнопка 1")

 

В результате текст не выводится, а в консоле пишет про pango и плохой UTF-8:

(trigon:94716): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

 

Как включить русский?

 

PS. В системе почти все у меня русифицировано и прекрасно работает

FreeBSD-5.4, Xorg-6.8.2, gnat-3.15p-3, Gtk-2.6.8, GtkAda-2.4.0

 

-- С уважением,

Алексей Ю. Уласевич

(A.STAKANOV)

http://www.livejournal.com/users/a_stakanov/

Aleksey Ulasevich wrote:

Здравствуйте!

Пробую писать на Ada (gnat-3.15) с использованием библиотеки GtkAda. Все вроде было хорошо пока я не попытался сделать надписи на кнопках по русски.

 

Например - Gtk_New (Button, "Кнопка 1")

 

В результате текст не выводится, а в консоле пишет про pango и плохой UTF-8: (trigon:94716): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

 

Как включить русский?

 

Вопросы:

 

1. Какая кодировка используется в локализации (значение переменных окружения LANG, LC_ALL)?

 

2. В какой кодировке сохраняются файлы исходных текстов?

 

(Ответ должен быть UTF8 ;) )

 

Если это не так (равно если и так) то рекомендуется использовать только английские буквы в именах, а для локализации фактически выводимого текста использовать GNU GetText или файл ресурсов. Правда как это сделать в Gtk я не знаю.

 

 

--

Vadim Godunko

 

 

 

 

Vadim Godunko п©п╦я┬п╣я┌:

 

Aleksey Ulasevich wrote:

 

...

 

п²п╟п©я─п╦п╪п╣я─ - Gtk_New (Button, "п п╫п╬п©п╨п╟ 1")

 

п▓ я─п╣п╥я┐п╩я▄я┌п╟я┌п╣ я┌п╣п╨я│я┌ п╫п╣ п╡я▀п╡п╬п╢п╦я┌я│я▐, п╟ п╡ п╨п╬п╫я│п╬п╩п╣ п©п╦я┬п╣я┌ п©я─п╬ pango п╦ п©п╩п╬я┘п╬п╧ UTF-8:

(trigon:94716): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

 

п п╟п╨ п╡п╨п╩я▌я┤п╦я┌я▄ я─я┐я│я│п╨п╦п╧?

 

п▓п╬п©я─п╬я│я▀:

 

1. п п╟п╨п╟я▐ п╨п╬п╢п╦я─п╬п╡п╨п╟ п╦я│п©п╬п╩я▄п╥я┐п╣я┌я│я▐ п╡ п╩п╬п╨п╟п╩п╦п╥п╟я├п╦п╦ (п╥п╫п╟я┤п╣п╫п╦п╣ п©п╣я─п╣п╪п╣п╫п╫я▀я┘

п╬п╨я─я┐п╤п╣п╫п╦я▐ LANG, LC_ALL)?

 

ru_RU.KOI8-R

 

2. п▓ п╨п╟п╨п╬п╧ п╨п╬п╢п╦я─п╬п╡п╨п╣ я│п╬я┘я─п╟п╫я▐я▌я┌я│я▐ я└п╟п╧п╩я▀ п╦я│я┘п╬п╢п╫я▀я┘ я┌п╣п╨я│я┌п╬п╡?

 

koi8-r )

 

(п·я┌п╡п╣я┌ п╢п╬п╩п╤п╣п╫ п╠я▀я┌я▄ UTF8 ;) )

 

п∙я│п╩п╦ я█я┌п╬ п╫п╣ я┌п╟п╨ (я─п╟п╡п╫п╬ п╣я│п╩п╦ п╦ я┌п╟п╨) я┌п╬ я─п╣п╨п╬п╪п╣п╫п╢я┐п╣я┌я│я▐ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ я┌п╬п╩я▄п╨п╬

п╟п╫пЁп╩п╦п╧я│п╨п╦п╣ п╠я┐п╨п╡я▀ п╡ п╦п╪п╣п╫п╟я┘, п╟ п╢п╩я▐ п╩п╬п╨п╟п╩п╦п╥п╟я├п╦п╦ я└п╟п╨я┌п╦я┤п╣я│п╨п╦ п╡я▀п╡п╬п╢п╦п╪п╬пЁп╬

я┌п╣п╨я│я┌п╟ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ GNU GetText п╦п╩п╦ я└п╟п╧п╩ я─п╣я│я┐я─я│п╬п╡. п÷я─п╟п╡п╢п╟ п╨п╟п╨ я█я┌п╬

я│п╢п╣п╩п╟я┌я▄ п╡ Gtk я▐ п╫п╣ п╥п╫п╟я▌.

 

п■п╟ п╩п╟п╢п╫п╬ ) п²п╣ п╪п╬п╤п╣я┌ п╠я▀я┌я▄. пё п╪п╣п╫я▐ я┌я┐я┌ Mozilla, AbiWord, GIMP п╦ я┌п©. п▓я│п╣

п©я─п╣п╨я─п╟я│п╫п╬ пЁп╬п╡п╬я─я▐я┌ п©п╬ я─я┐я│я│п╨п╦, п╟ п╪п╬п╦ п©я─п╬пЁя─п╟п╪п╪я▀ п╫п╣ п╪п╬пЁя┐я┌.

п╒п╟п╨ п╫п╣ п╠я▀п╡п╟п╣я┌.б═

 

--

п║ я┐п╡п╟п╤п╣п╫п╦п╣п╪,

п░п╩п╣п╨я│п╣п╧ п╝. пёп╩п╟я│п╣п╡п╦я┤

(A.STAKANOV)

http://www.livejournal.com/users/a_stakanov/

Aleksey Ulasevich wrote:

 

Да ладно ) Не может быть. У меня тут Mozilla, AbiWord, GIMP и тп. Все прекрасно говорят по русски, а мои программы не могут.

Так не бывает.

 

Поскольку они внутри используют только англицкий, а потом используют средства gettext и ресурсов для подстановки строк, то у них всё и работает.

Попробуй конвертнуть исходный файл в UTF-8 и откомпилировать:

 

iconv --from-code=koi8r --to-code=utf8 -o out.ada in.ada

 

gnatmake -gnatW8 out.ada

 

;)

 

 

--

Vadim Godunko

 

 

 

 

Vadim Godunko п©п╦я┬п╣я┌:

 

Aleksey Ulasevich wrote:

п■п╟ п╩п╟п╢п╫п╬ ) п²п╣ п╪п╬п╤п╣я┌ п╠я▀я┌я▄. пё п╪п╣п╫я▐ я┌я┐я┌ Mozilla, AbiWord, GIMP п╦ я┌п©. п▓я│п╣

п©я─п╣п╨я─п╟я│п╫п╬ пЁп╬п╡п╬я─я▐я┌ п©п╬ я─я┐я│я│п╨п╦, п╟ п╪п╬п╦ п©я─п╬пЁя─п╟п╪п╪я▀ п╫п╣ п╪п╬пЁя┐я┌.

п╒п╟п╨ п╫п╣ п╠я▀п╡п╟п╣я┌.

 

п÷п╬я│п╨п╬п╩я▄п╨я┐ п╬п╫п╦ п╡п╫я┐я┌я─п╦ п╦я│п©п╬п╩я▄п╥я┐я▌я┌ я┌п╬п╩я▄п╨п╬ п╟п╫пЁп╩п╦я├п╨п╦п╧, п╟ п©п╬я┌п╬п╪ п╦я│п©п╬п╩я▄п╥я┐я▌я┌

я│я─п╣п╢я│я┌п╡п╟ gettext п╦ я─п╣я│я┐я─я│п╬п╡ п╢п╩я▐ п©п╬п╢я│я┌п╟п╫п╬п╡п╨п╦ я│я┌я─п╬п╨, я┌п╬ я┐ п╫п╦я┘ п╡я│я▒ п╦ я─п╟п╠п╬я┌п╟п╣я┌.

 

п÷п╬п©я─п╬п╠я┐п╧ п╨п╬п╫п╡п╣я─я┌п╫я┐я┌я▄ п╦я│я┘п╬п╢п╫я▀п╧ я└п╟п╧п╩ п╡ UTF-8 п╦ п╬я┌п╨п╬п╪п©п╦п╩п╦я─п╬п╡п╟я┌я▄:

 

я█я┌п╬ я─п╟п╠п╬я┌п╟п╣я┌ )

 

--

п║ я┐п╡п╟п╤п╣п╫п╦п╣п╪,

п░п╩п╣п╨я│п╣п╧ п╝. пёп╩п╟я│п╣п╡п╦я┤

(A.STAKANOV)

http://www.livejournal.com/users/a_stakanov/

Новое сообщение:
Страницы: 1

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти