From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Re: Emacs i18n Date: Wed, 06 Mar 2019 22:42:06 -0500 Message-ID: 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> Reply-To: rms@gnu.org Content-Type: text/plain; charset=Utf-8 Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="171224"; mail-complaints-to="usenet@blaine.gmane.org" Cc: juri@linkov.net, eggert@cs.ucla.edu, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Mar 07 04:42:23 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 1h1jvJ-000iO9-AG for ged-emacs-devel@m.gmane.org; Thu, 07 Mar 2019 04:42:21 +0100 Original-Received: from localhost ([127.0.0.1]:44553 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h1jvH-0008RQ-ES for ged-emacs-devel@m.gmane.org; Wed, 06 Mar 2019 22:42:19 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:57990) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h1jv5-0008PS-Ll for emacs-devel@gnu.org; Wed, 06 Mar 2019 22:42:08 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:55647) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h1jv5-0007lT-HB; Wed, 06 Mar 2019 22:42:07 -0500 Original-Received: from rms by fencepost.gnu.org with local (Exim 4.82) (envelope-from ) id 1h1jv4-00038J-E7; Wed, 06 Mar 2019 22:42:06 -0500 In-Reply-To: <837edbdg33.fsf@gnu.org> (message from Eli Zaretskii on Wed, 06 Mar 2019 20:15:44 +0200) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] 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:233879 Archived-At: [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > You mean, the function, such as 'message', that receives the string > will translate it? As opposed to the alternative of translating the > string _before_ it gets passed to the function? Yes, of course. > If we do that, how do we deal with strings that are computed by > concatenation or formatting? Feed them in through %s or something like that. I'm proposing the convention that the first argument to 'message' gets by default translated, and other arguments don't. With this convention, whichever result you want, it is clear how to get it. We already do things basically this way, because if you want to compute a string to be the message, you don't want % to be treated specially in it. So you use "%s" as the first argument and pas that string as the second. So I think this will require only occasional changes and they won't be urgent. > They get in one piece to functions like > 'message', but the catalog will not hold that concatenated string, it > will have the parts separately. That would happen if the catalog is made ONLY by scanning the source. That's why I suggested a feature to record whatever nontrivial format strings are passed to 'message' and are not in the catalog. Then you can add them to the catalog, or fix things some other way. -- Dr Richard Stallman President, Free Software Foundation (https://gnu.org, https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org)