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

Re: Для RU.LINUX FAQ



On Fri, 1 Sep 2000, Alexander V. Lukyanov wrote:

> gettext не может в общем случае знать, как будет использован его
> результат. Сейчас он ничего не перекодирует. Но программа знает,
> куда идет вывод, следовательно она может сделать перекодировку.
> Было бы неплохо, если бы библиотека libintl (куда входит gettext)
> предоставляла некоторые дополнительные функции, напр. gettext_lc_ctype -
> получить строку, перекодированную в LC_CTYPE кодировку.

Мне кажется, лучше, если это будет делать сам gettext, и ввести еще одну
функцию, дающую всегда, независимо от локали, utf-8 строку.
 
> > То есть правильно было бы хранить .mo в юникоде, а gettext-ом
> > перекодировать их из юникода в кодировку локали. Это снимает проблему
> > *-ации для нескольких однобайтовых кодировок одного языка. Я, честно
> > говоря, даже удивлен - почему GNU не сделало столь очевидную вещь. Может
> > быть потому, что это нужно только русским? Но ведь это и переход на
> > юникод затрудняет тоже...
> Во-первых, никто не мешает делать .mo в utf-8, а во-вторых это не
> поможет, т.к. перекодировка все равно будет необходима (если, конечно,
> шрифт/терминал не уникодный, а таких большинство в настоящее время)

Так я и говорю: пусть функция gettext возвращает строку в кодировке
LC_CTYPE - если это так, то в большинстве случаев можно будет сразу
выводить куда надо, без еще одной перекодировки уже самой программой.

-- 
Alexander

Homepage: http://www.sensi.org/~ak/