On Tue, Apr 04, 2006 at 01:50:18PM +0200, Richard Levitte - VMS Whacker wrote:
> For those having a problem seeing what the characters are, the
> translation of "in" is a down arrow and the translation of "out" is an
> up arrow. I debugged this as far as I could, and what happens is that
> somewhere internally, those arrows get replaced with a question mark
> ("?"). Now, when several tickers are in action at once, there's a
> requirement that each ticker has a unique title. Unfortunately, with
> all those arrows becoming question marks, what happens is that you get
> "octets ?" and "octets ?", which is far from unique :-).
>
> The ticker code itself is not responsible for the question marks, they
> are already there in the strings received by the constructors, and I
> haven't been able to figure much further.
Ah, found it -- the arrows are indeed cute, and are fine in unicode.
But the people seeing problems are using ISO-8859-1 (the default for
fr_FR):
$ grep fr_FR /etc/locale.gen
fr_FR ISO-8859-1
fr_FR.UTF-8 UTF-8
Thus:
$ LANG=fr_FR mtn pull
monotone: récupération anonyme; utilisez -kNOMCLEF si
vous avez besoin d'une authentification
monotone: connexion à venge.net
monotone: recherche d'éléments à
synchroniser :
monotone: certificats | clefs | révisions
monotone: 16907 | 22 | 5595
monotone: néfaste: std::logic_error: ui.cc:38: invariant
'I(ui.tickers.find(tickname) == ui.tickers.end())' violated
$ LANG=fr_FR.UTF-8 mtn pull
monotone: récupération anonyme; utilisez -kNOMCLEF si
vous avez besoin d'une authentification
monotone: connexion à venge.net
monotone: recherche d'éléments à
synchroniser :
monotone: certificats | clefs | révisions
monotone: 16907 | 22 | 5595
monotone: certs ⇩ | octets ⇧ | octets
⇩ | révs ⇩
monotone: 0/0 | 2,7 Ki | 2,5 Ki | 0/0
monotone: échange réussi avec venge.net
The problem is that the arrows have no representation in ISO-8859-1,
and so when gettext transcodes the UTF-8 strings from the message
catalog to match the current locale, it collapses some strings to be
the same.
So, this isn't really even a bug in monotone -- the very best it could
do would be to display two "bytes ?" tickers, which is not very
useful.
The only solution I see is to either remove the use of the arrows
entirely, or else make sure that those translated strings are only
used when the locale actually is UTF-8, and have some other
translation otherwise.
-- Nathaniel
--
Eternity is very long, especially towards the end.
-- Woody Allen
_______________________________________________
Monotone-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/monotone-devel