В Птн, 28.03.2003, в 23:23, "Алексей Любимов" написал:
> Почему то уже вторая программа на гтк2 не хочет работать с руским переводом иначе как в локали ru_RU.UTF-8
>
> первая sodipodi
>
> вторая - xpad.
Это просто неграмотно написанные программы. Англоязычных программистов
надо бить по рукам всем миром и настойчиво объяснять, что не инглишем единым
живёт человечество. Содержимое PO здесь ни причём. Надо править код программы.
Детальные инструкции может дать Сергей Удальцов, сам сделавший такую
ошибку в gswitchit.
Вот его ответ на моё письмо об этом:
---------------------------------------------------------------------------
> Можно ли написать краткую инструкцию для "чайников" как своими силами
> исправить это в произвольной программе на GTK2?
Очень краткая инструкция.
bindtextdomain( PACKAGE, GNOMELOCALEDIR );
bind_textdomain_codeset( GETTEXT_PACKAGE, "UTF-8" );
textdomain( PACKAGE );
У меня не было второй строки. Поэтому и была эта проблема. Добавил
строку - проблема исчезла. Чего и коллегам желаю:) Не помню, кто мне это
подсказал - то ли Влад, то ли Дмитрий...
---------------------------------------------------------------------------
Пользуясь случаем говорю спасибо за совет! Отталкиваясь от этого письма
я уже сделал правки для собранных мной новых пакетов gtkam и libexif-gtk
(прилагается).
Там не всё так правильно, как хотелось бы, но теперь оно работает. Пока
не получается отправить их через sourceforge из-за его гадкого механизма
идентификации. Попасть на страницы gphoto2.sourceforge.net я могу только
анонимно.
> [avl avl avl]$ LC_ALL=ru_RU.KOI8-R xpad
>
> много
>
> (xpad:12254): Gtk-WARNING **: Invalid input string
>
>
> и русское меню пустое...
>
> Вызываю диалог и получаю:
>
> такие ошибки
> (xpad:12254): Gtk-WARNING **: Failed to set label from markup due to error parsing markup: Произошла ошибка в строке 1 на символе 9: Текст закодирован как UTF-8 недопустимым образом
>
> и такие
> ** (xpad:12254): WARNING **: Invalid UTF8 string passed to pango_layout_set_text()
>
> в итоге весь диалог без надписей.
>
>
> LC_ALL=ru_RU.UTF-8 xpad работает нормально.
>
> в исходниках
> #include "gettext.h"
> #define _(String) gettext (String)
> #define N_(String) gettext_noop (String)
>
> GtkWidget *label_text = gtk_label_new (_("Text Color"));
Джентльменский набор ошибок англоязычного программиста.
Об этом стоит написать во всех ЧаВо.
> Чего не так сделано?
Attachment:
gtkam-patches.tar.gz
Description: GNU Zip compressed data
Attachment:
libexif-gtk.tar.gz
Description: GNU Zip compressed data