From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.devel Subject: Re: Emacs i18n Date: Sat, 9 Mar 2019 22:07:06 -0800 Organization: UCLA Computer Science Department Message-ID: <19b02ea5-c5e2-29a6-c037-f7481490f92a@cs.ucla.edu> References: <87o97aq6gz.fsf@jidanni.org> <87tvgoud56.fsf@mail.linkov.net> <83o96wk2mi.fsf@gnu.org> <87k1hjfvjd.fsf@mail.linkov.net> <871s3p0zdz.fsf@mail.linkov.net> <83h8ckezyt.fsf@gnu.org> <83o96qegv1.fsf@gnu.org> <32b1ab1b-bef4-629a-8830-b1dcc6915087@cs.ucla.edu> <83a7iae9va.fsf@gnu.org> <05ed2dec-2a84-f7dc-1af5-c9d923992785@cs.ucla.edu> <87bm2p56gu.fsf@mail.linkov.net> <837edbdg33.fsf@gnu.org> <65e3fe78-3264-12ff-1edf-a05bfd86a9a9@cs.ucla.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="38174"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.1 Cc: eliz@gnu.org, juri@linkov.net, lokedhs@gmail.com, emacs-devel@gnu.org To: rms@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Mar 10 07:07:28 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1h2rcN-0009oe-OC for ged-emacs-devel@m.gmane.org; Sun, 10 Mar 2019 07:07:27 +0100 Original-Received: from localhost ([127.0.0.1]:40641 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h2rcM-0005q9-JP for ged-emacs-devel@m.gmane.org; Sun, 10 Mar 2019 01:07:26 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:54847) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h2rcB-0005ps-FG for emacs-devel@gnu.org; Sun, 10 Mar 2019 01:07:16 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h2rcA-00024R-PE for emacs-devel@gnu.org; Sun, 10 Mar 2019 01:07:15 -0500 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:50546) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h2rc9-00023H-II; Sun, 10 Mar 2019 01:07:13 -0500 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 00377161543; Sat, 9 Mar 2019 22:07:11 -0800 (PST) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id mCq9t1AMVBgW; Sat, 9 Mar 2019 22:07:11 -0800 (PST) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 29F3316154B; Sat, 9 Mar 2019 22:07:11 -0800 (PST) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id XSWNiWtSl6tV; Sat, 9 Mar 2019 22:07:11 -0800 (PST) Original-Received: from [192.168.1.9] (cpe-23-242-74-103.socal.res.rr.com [23.242.74.103]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id EE521161531; Sat, 9 Mar 2019 22:07:10 -0800 (PST) In-Reply-To: Content-Language: en-US X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 131.179.128.68 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:234005 Archived-At: Richard Stallman wrote: > If this does not work, why not? Thanks for explaining the -masc, -fem, -neut part. I'm afraid, though, th= at I=20 still don't fully understand the proposal. It sounds like it is a redesig= n of=20 what GNU gettext does, but I don't see any advantage over GNU gettext. > In the example that was sent, I see code that tests for certain kinds > of numbers. But since I don't know the language that that is written > in, the mathematical conditions are the only part I understand. I > don't see what it will _do_ in each of those conditions. I presume it > selects the appropriate suffix for the number, but I don't follow how > it does so. The GNU gettext translation code doesn't know anything about suffixes. Al= l it=20 knows is that if n%10=3D=3D1 && n%100!=3D11 then it should use msgstr[0],= else if=20 n%10>=3D2 && n%10<=3D4 && (n%100<10 || n%100>=3D20) then it should use ms= gstr[1], else=20 it should use msgstr[2]. The translations themselves are string formats t= hat=20 already have the proper suffixes, and GNU gettext simply copies those suf= fixes. This is a simple scheme that does not attempt to solve the problem of gen= erating=20 idiomatic phrases for numbers (e.g., "twenty-four bytes" in English, "=D0= =B4=D0=B2=D0=B0=D0=B4=D1=86=D0=B0=D1=82=D1=8C=20 =D1=87=D0=B5=D1=82=D1=8B=D1=80=D0=B5 =D0=B1=D0=B0=D0=B9=D1=82=D0=B0" in R= ussian). All it solves is the problem of generating phrases=20 containing numerals (e.g., "24 bytes" in English, "23 =D0=B1=D0=B0=D0=B9=D1= =82=D0=B0" in Russian), as=20 these are the sorts of phrases that printf formats can generate. In pract= ice,=20 this is good enough.