From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id 0G9NE5UL4l8XaAAA0tVLHw (envelope-from ) for ; Tue, 22 Dec 2020 15:07:01 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id sB8SD5UL4l8CUgAAbx9fmQ (envelope-from ) for ; Tue, 22 Dec 2020 15:07:01 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 0E6499402A9 for ; Tue, 22 Dec 2020 15:06:58 +0000 (UTC) Received: from localhost ([::1]:43760 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1krjFZ-0001rA-09 for larch@yhetil.org; Tue, 22 Dec 2020 10:06:57 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58452) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1krjFP-0001pe-92 for guix-devel@gnu.org; Tue, 22 Dec 2020 10:06:47 -0500 Received: from lepiller.eu ([2a00:5884:8208::1]:44980) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1krjFN-0003zY-0q; Tue, 22 Dec 2020 10:06:47 -0500 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 2b89fcf1; Tue, 22 Dec 2020 15:06:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=date :in-reply-to:references:mime-version:content-type :content-transfer-encoding:subject:to:cc:from:message-id; s= dkim; bh=qtob1TMGR0zakPEsXEkxgzCYrVO6pKlWV+WQaCEDAAE=; b=TcOJysP xbO0nmah3AlDLdhA5378PKZTofQxUOkvXn/h2dfIOn4VODgzS64sMYwT7AV0rBc4 0yXrt3oKbT5hnfnRPhU3FxeupfhxAFb2ZGQramTZnaE5ryI6gRNU/lliWDmlHDpf INDWL0cjvGbs3NDSb4eYwNkTPweMPNUiSXZxbeam0VyRapqriLeDKS7JVprTkfV1 T6xN9QqeS2yAw7SL8nLqwrlEgbitys1GhMxcqRQg+MhRCAqY1HiG7MQ1Ca8QUSIf 8k29is7/7/5mo1tuZJpM4i0Lp6d33RVAIx5p9SuL3n9H0KkUBj99HncvolM0cwvT MmWghTPw9jX4pgg== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id a803d1a6 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO); Tue, 22 Dec 2020 15:06:39 +0000 (UTC) Date: Tue, 22 Dec 2020 10:06:29 -0500 User-Agent: K-9 Mail for Android In-Reply-To: <871rfh28do.fsf@gnu.org> References: <86mtyf49x7.fsf@163.com> <87ft43b1g6.fsf@gnu.org> <878s9vf0vc.fsf@systemreboot.net> <871rfh28do.fsf@gnu.org> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----CYHONS69K3H2PI97PMX7AYGCGR8DB0" Content-Transfer-Encoding: 7bit Subject: Re: Word order in Guix l10n To: =?ISO-8859-1?Q?Ludovic_Court=E8s?= , Arun Isaac From: Julien Lepiller Message-ID: Received-SPF: pass client-ip=2a00:5884:8208::1; envelope-from=julien@lepiller.eu; helo=lepiller.eu X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel@gnu.org, Zhu Zihao Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -1.22 Authentication-Results: aspmx1.migadu.com; dkim=fail (headers rsa verify failed) header.d=lepiller.eu header.s=dkim header.b=TcOJysP ; dmarc=fail reason="SPF not aligned (relaxed)" header.from=lepiller.eu (policy=none); spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Queue-Id: 0E6499402A9 X-Spam-Score: -1.22 X-Migadu-Scanner: scn0.migadu.com X-TUID: TNvFC2KbS93g ------CYHONS69K3H2PI97PMX7AYGCGR8DB0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable This specific syntax looks ok, but we need to limit ourself to the common s= yntax between guile and lisp, because that's what gettext supports=2E We should use this kind of syntax everywhere we have more than one argumen= t=2E Also thinking about rtl languages, it's probably important for them, t= hough I'm not sure how gettext works for them=2E Le 22 d=C3=A9cembre 2020 10:00:35 GMT-05:00, "Ludovic Court=C3=A8s" a =C3=A9crit : >Hi, > >Arun Isaac skribis: > >>> This looks like a real issue=2E I=E2=80=99m surprised this isn=E2=80= =99t already >>> addressed though: after all, =E2=80=98printf=E2=80=99 format strings h= ave the same >>> problem, right? How does everyone else deal with that? >> >> For C's printf format strings, gettext supports special syntax to >> specify argument order=2E See >> >https://www=2Egnu=2Eorg/software/gettext/manual/html_node/c_002dformat-Fl= ag=2Ehtml > >Oh, I see=2E > >> A German example is provided on that page=2E >> >> "%2$d Zeichen lang ist die Zeichenkette `%1$s'" > >With (ice-9 format), as has been suggested before, we should be able to >do away with the =E2=80=9Cargument jumping=E2=80=9D syntax (info "(guile)= Formatted >Output"): > > (format #f "~1@*~d Zeichen lang ist die Zeichenkette `~0@*~a'" "ab" 2) > >It=E2=80=99s a bit awkward though, in particular because we have to jump = to the >previous argument (0 and 1 here instead of 1 and 2)=2E > >Does xgettext support that syntax? We=E2=80=99ve had troubles before wit= h ~*=2E > >If it does, where should we use this syntax in lieu of the simpler >forms? Everywhere? > >Thanks, >Ludo=E2=80=99=2E ------CYHONS69K3H2PI97PMX7AYGCGR8DB0 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable This specific syntax looks ok, but we need to limi= t ourself to the common syntax between guile and lisp, because that's what = gettext supports=2E

We should use this kind of syntax everywhere we = have more than one argument=2E Also thinking about rtl languages, it's prob= ably important for them, though I'm not sure how gettext works for them=2E<= br>
Le 22 d=C3=A9cembre 2020 10:00:35 GMT-05:= 00, "Ludovic Court=C3=A8s" <ludo@gnu=2Eorg> a =C3=A9crit :
Hi,

Arun Isaac <arunisaac@systemreboot=2En= et> skribis:

This looks like a real issue= =2E I=E2=80=99m surprised this isn=E2=80=99t already
addressed though: = after all, =E2=80=98printf=E2=80=99 format strings have the same
problem= , right? How does everyone else deal with that?

For C= 's printf format strings, gettext supports special syntax to
specify ar= gument order=2E See
https://www=2Egnu=2Eorg/softwar= e/gettext/manual/html_node/c_002dformat-Flag=2Ehtml
Oh, I see=2E

A Ge= rman example is provided on that page=2E

"%2$d Zeichen lang ist die= Zeichenkette `%1$s'"

With (ice-9 format), as has been = suggested before, we should be able to
do away with the =E2=80=9Cargumen= t jumping=E2=80=9D syntax (info "(guile) Formatted
Output"):

(f= ormat #f "~1@*~d Zeichen lang ist die Zeichenkette `~0@*~a'" "ab" 2)
It=E2=80=99s a bit awkward though, in particular because we have to jump t= o the
previous argument (0 and 1 here instead of 1 and 2)=2E

Does= xgettext support that syntax? We=E2=80=99ve had troubles before with ~*= =2E

If it does, where should we use this syntax in lieu of the simpl= er
forms? Everywhere?

Thanks,
Ludo=E2=80=99=2E
------CYHONS69K3H2PI97PMX7AYGCGR8DB0--