From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/8467 Path: news.gmane.org!not-for-mail From: Rich Felker Newsgroups: gmane.linux.lib.musl.general Subject: Re: Message localization [Was: Re: [musl] Adjustments to roadmap] Date: Tue, 8 Sep 2015 11:18:42 -0400 Message-ID: <20150908151842.GZ17773@brightrain.aerifal.cx> References: <20150828024347.GA7624@brightrain.aerifal.cx> <20150830121847.4c7aa488@r2lynx> <20150830053147.GL7833@brightrain.aerifal.cx> <20150831002108.69c832d1@r2lynx> <20150830192953.GQ7833@brightrain.aerifal.cx> <20150901112655.5ec772d4@r2lynx> <20150901044730.GC7833@brightrain.aerifal.cx> <20150902092657.4fca189f@r2lynx> <20150902022856.GF17773@brightrain.aerifal.cx> <20150907205119.5c6812e4@r2lynx> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1441725546 12487 80.91.229.3 (8 Sep 2015 15:19:06 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 8 Sep 2015 15:19:06 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-8479-gllmg-musl=m.gmane.org@lists.openwall.com Tue Sep 08 17:19:03 2015 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1ZZKfj-0005kc-Ax for gllmg-musl@m.gmane.org; Tue, 08 Sep 2015 17:18:59 +0200 Original-Received: (qmail 3780 invoked by uid 550); 8 Sep 2015 15:18:56 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Original-Received: (qmail 3758 invoked from network); 8 Sep 2015 15:18:55 -0000 Content-Disposition: inline In-Reply-To: <20150907205119.5c6812e4@r2lynx> User-Agent: Mutt/1.5.21 (2010-09-15) Original-Sender: Rich Felker Xref: news.gmane.org gmane.linux.lib.musl.general:8467 Archived-At: On Mon, Sep 07, 2015 at 08:51:19PM +0700, Рысь wrote: > On Tue, 1 Sep 2015 22:28:56 -0400 > Rich Felker wrote: > > > On Wed, Sep 02, 2015 at 09:26:57AM +0700, Рысь wrote: > > > On Tue, 1 Sep 2015 00:47:30 -0400 > > > Rich Felker wrote: > > > > > > > On Tue, Sep 01, 2015 at 11:26:55AM +0700, Рысь wrote: > > > > > This is what I get when running musl 1.1.11 without patches > > > > > (untouched): > > > > > > > > > > % MUSL_LOCPATH=/tmp/l LC_ALL=ru_RU ./lib/libc.so ../date > > > > > Tue Sep 1 11:22:31 2015 > > > > > > > > > > I attached strace output as well as compiled ru_RU data. > > > > > > > > The mo file is broken; it looks like it was produced with the > > > > buggy msgfmt from the sabotage repo that outputs the strings in > > > > the order they were in the source, rather than sorting them. If > > > > you write a perl/awk/whatever script to pre-sort them you should > > > > be able to get by with this msgfmt; otherwise, you could use the > > > > GNU version or try the other branch of gettext-tiny. > > > > > > How to sort strings (or there is a script I don't know about)? > > > Because I can't use gnu version, and using gettext-tiny which was > > > not updated for 3 years. Or there is another version with this > > > feature implemented? > > > > It was in gettext-tiny but then reverted because making msgfmt work > > exposed other limitations in it. You can check out the > > second-to-newest version or the 'full' branch that still has a working > > version. > > > > Rich > > Many Thanks! > > Sorry for late feedback, now only had time to test it. It works! > > % MUSL_LOCPATH=/tmp/l LC_ALL=ru_RU ./date > Пн Сен 7 20:47:05 2015 > > Meow!! > > I guess there is a root of lack of translation in my case: many > programs use msgfmt and friends to make .mo from .po. So if I > want to solve the problem, I must "update" gettext-tiny then rebuild > all affected software. Am I right? Yes, but the reason this code is not in 'master' of gettext-tiny yet (actually it was committed there then reverted) is that gettext-tiny's msgfmt is not really working; it's missing some features/behavior needed to correctly handle real-world .po files from many apps. If you really can't use the GNU version of msgfmt you might need to see if there's some other version (maybe a BSD one?) you can use or else find someone who can fix/finish gettext-tiny's msgfmt for you. Rich