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: Tue, 26 Mar 2019 15:35:22 -0700 Organization: UCLA Computer Science Department Message-ID: <2440fc3c-d6ff-7354-ffa1-16b6e4ca8f7a@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> <87h8cjspc0.fsf@mail.linkov.net> <29a53a39-fa50-1e94-9420-a3ea1250aa44@gmail.com> <87r2azq478.fsf@mail.linkov.net> <83o963s4gx.fsf@gnu.org> <87va09ckym.fsf@mail.linkov.net> <83sgvdndt0.fsf@gnu.org> <8736ncgcnm.fsf@mail.linkov.net> <5F95E50C-2A55-4ED2-A82B-86FAAFC526ED@gmail.com> <87ef6uod20.fsf@mail.linkov.net> <831s2tmx97.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="218020"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.0 Cc: emacs-devel@gnu.org, brandelune@gmail.com, juri@linkov.net To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Mar 26 23:35:42 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 1h8ufV-000uVo-87 for ged-emacs-devel@m.gmane.org; Tue, 26 Mar 2019 23:35:41 +0100 Original-Received: from localhost ([127.0.0.1]:38925 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h8ufU-0004jW-7Q for ged-emacs-devel@m.gmane.org; Tue, 26 Mar 2019 18:35:40 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:41850) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h8ufK-0004jD-P4 for emacs-devel@gnu.org; Tue, 26 Mar 2019 18:35:31 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h8ufJ-00071G-QR for emacs-devel@gnu.org; Tue, 26 Mar 2019 18:35:30 -0400 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:33394) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h8ufH-0006zY-LU; Tue, 26 Mar 2019 18:35:27 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 99DBB16094C; Tue, 26 Mar 2019 15:35:23 -0700 (PDT) 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 fRjPSinQD76N; Tue, 26 Mar 2019 15:35:22 -0700 (PDT) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id C51B5160EC0; Tue, 26 Mar 2019 15:35:22 -0700 (PDT) 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 cYKHGDKC8oVB; Tue, 26 Mar 2019 15:35:22 -0700 (PDT) Original-Received: from Penguin.CS.UCLA.EDU (Penguin.CS.UCLA.EDU [131.179.64.200]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id A377E160A50; Tue, 26 Mar 2019 15:35:22 -0700 (PDT) Openpgp: preference=signencrypt Autocrypt: addr=eggert@cs.ucla.edu; prefer-encrypt=mutual; keydata= xsFNBEyAcmQBEADAAyH2xoTu7ppG5D3a8FMZEon74dCvc4+q1XA2J2tBy2pwaTqfhpxxdGA9 Jj50UJ3PD4bSUEgN8tLZ0san47l5XTAFLi2456ciSl5m8sKaHlGdt9XmAAtmXqeZVIYX/UFS 96fDzf4xhEmm/y7LbYEPQdUdxu47xA5KhTYp5bltF3WYDz1Ygd7gx07Auwp7iw7eNvnoDTAl KAl8KYDZzbDNCQGEbpY3efZIvPdeI+FWQN4W+kghy+P6au6PrIIhYraeua7XDdb2LS1en3Ss mE3QjqfRqI/A2ue8JMwsvXe/WK38Ezs6x74iTaqI3AFH6ilAhDqpMnd/msSESNFt76DiO1ZK QMr9amVPknjfPmJISqdhgB1DlEdw34sROf6V8mZw0xfqT6PKE46LcFefzs0kbg4GORf8vjG2 Sf1tk5eU8MBiyN/bZ03bKNjNYMpODDQQwuP84kYLkX2wBxxMAhBxwbDVZudzxDZJ1C2VXujC OJVxq2kljBM9ETYuUGqd75AW2LXrLw6+MuIsHFAYAgRr7+KcwDgBAfwhPBYX34nSSiHlmLC+ KaHLeCLF5ZI2vKm3HEeCTtlOg7xZEONgwzL+fdKo+D6SoC8RRxJKs8a3sVfI4t6CnrQzvJbB n6gxdgCu5i29J1QCYrCYvql2UyFPAK+do99/1jOXT4m2836j1wARAQABzSBQYXVsIEVnZ2Vy dCA8ZWdnZXJ0QGNzLnVjbGEuZWR1PsLBfgQTAQIAKAUCTIByZAIbAwUJEswDAAYLCQgHAwIG FQgCCQoLBBYCAwECH In-Reply-To: <831s2tmx97.fsf@gnu.org> 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:234754 Archived-At: On 3/26/19 9:11 AM, Eli Zaretskii wrote: >> 2. While you're thinking about (1) here are some other questions. How >> will ngettext determine the message catalog? Is the catalog visible to >> users as a global variable, or as a hidden part of the global state, or >> is it something explicit? How will catalogs from multiple packages be >> used? How would a multi-lingual application work in Emacs if the message >> catalog is part of global state? This seems to be a crucial issue, I'd >> say. For example, should Emacs export dcngettext to Lisp code, instead >> of just plain ngettext? (Emacs could then define ngettext in terms of >> dcngettext.) > Do we have any reasons not to follow the CLISP example of factoring > these issues? That's the first I've heard that CLISP does gettext. I looked into it, and it's a reasonably simple binding, which means that the language is part of the global state (Emacs would not easily be multilingual) and that each package can have its own catalog and can specify that catalog as a trailing argument to gettext (presumably the default catalog would be for Emacs core). This should be good enough, though it will be a bit of a hassle for non-core code to keep track of the catalog. > will we mandate that Emacs catalogs need > always to be in UTF-8 encoding? Yes, that makes sense.