ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Sergey Vlasov <vsu@mivlgu.murom.ru>
To: devel@altlinux.ru
Subject: Re: [devel] Локализация и использование функции catgets
Date: Wed, 20 Feb 2002 19:49:15 +0300
Message-ID: <20020220194915.A1450@vcserver.mivlgu.ru> (raw)
In-Reply-To: <20020220154424.GA8013@sam-solutions.net>

On Wed, Feb 20, 2002 at 17:44:24 +0200, Alexander Bokovoy wrote:
> On Wed, Feb 20, 2002 at 06:10:36PM +0300, Sergey Vlasov wrote:
> > > так что лучше ??? или правильнее использовать с точки зрания
> > > кросплатформенности?
> > 
> > Кстати, у них тут
> > (http://www.openldap.org/lists/openldap-devel/200201/msg00120.html) еще
> > одно требование: сервер должен сам отдавать сообщения на запрошенном языке
> > в UTF-8.  Похоже, gettext при всех своих преимуществах тут пролетает по
> > следущей причине: он использует язык, установленный в LC_MESSAGES.
> > Динамически переключать его неудобно, к тому же сервер, насколько я понял,
> > на pthreads - тут вообще труба, т.к. setlocale действует глобально для
> > всего процесса.
> > 
> > Т.е. gettext хорошо подходит для тех ситуаций, где не нужно переключать
> > язык динамически, но при их подходе к локализации сервера он не годится.
> Неверно. Дело в том, что gettext прекрасно справляется и с этой задачей
> посредством использования функции bind_textdomain_codeset(const char *
> DOMAINNAME, const char* CODESET).

Речь шла не о смене кодировки, а о смене языка. Т.е. клиент посылает (в
расширенном эапросе - они собирались ввести какое-то расширение) код
языка, на котором выдавать ответ; сервер выдает сообщения на этом языке.
Для кодировки, действительно, есть bind_textdomain_codeset; для языка -
надо все равно менять locale.  А кодировка как раз в данном случае
одинаковая - UTF-8 для любого языка.

> > что wchar_t == Unicode, что в общем случае неверно; кроме того, у
> > wcstombs/mbstowcs есть проблемы с кодировками, зависящими от состояния -
> > т.е. сам интерфейс тоже кривоват).  С более новыми и правильными функциями
> > опять та же проблема - они не везде есть.  GNU libiconv (этот точно под
> > LGPL) им опять, вероятно, не понравится?
> Если не понравится, то сами себе они злобные буратины. Других настолько же
> общих и портабельных решений нет.

Понятно.  Просто обидно, что опять можем получить половинчатое решение
проблемы, при том, что уже есть готовые средства для нормального решения.



  reply	other threads:[~2002-02-20 16:49 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-02-19 11:09 Volkov Serge
2002-02-19 11:35 ` Sergey Vlasov
2002-02-19 11:41   ` Volkov Serge
2002-02-19 11:47     ` [devel] Re: [devel] Локализация и использование функцииcatgets Anton Farygin
2002-02-19 11:51     ` [devel] Локализация и использование функции catgets Sergey Vlasov
2002-02-19 12:01       ` Volkov Serge
2002-02-19 14:08         ` Sergey Vlasov
2002-02-20  6:12           ` Volkov Serge
2002-02-20 15:10             ` Sergey Vlasov
2002-02-20 15:44               ` Alexander Bokovoy
2002-02-20 16:49                 ` Sergey Vlasov [this message]
2002-02-21  6:04                   ` Volkov Serge
2002-02-19 12:07     ` Dmitry V. Levin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20020220194915.A1450@vcserver.mivlgu.ru \
    --to=vsu@mivlgu.murom.ru \
    --cc=devel@altlinux.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git