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: Tue, 05 Mar 2019 21:16:07 -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> 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="65146"; mail-complaints-to="usenet@blaine.gmane.org" Cc: eliz@gnu.org, eggert@cs.ucla.edu, emacs-devel@gnu.org To: Juri Linkov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Mar 06 03:16:31 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 1h1M6g-000Gph-Ev for ged-emacs-devel@m.gmane.org; Wed, 06 Mar 2019 03:16:30 +0100 Original-Received: from localhost ([127.0.0.1]:52775 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h1M6f-0004x7-Ee for ged-emacs-devel@m.gmane.org; Tue, 05 Mar 2019 21:16:29 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:42279) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h1M6R-0004vo-Ep for emacs-devel@gnu.org; Tue, 05 Mar 2019 21:16:19 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:33693) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h1M6L-00081R-2y; Tue, 05 Mar 2019 21:16:09 -0500 Original-Received: from rms by fencepost.gnu.org with local (Exim 4.82) (envelope-from ) id 1h1M6J-0006D5-AQ; Tue, 05 Mar 2019 21:16:07 -0500 In-Reply-To: <87bm2p56gu.fsf@mail.linkov.net> (message from Juri Linkov on Tue, 05 Mar 2019 23:58:25 +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:233858 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. ]]] > One of the main decisions that has to be made is whether to wrap all > user-facing translatable strings in all Lisp files using a macro/function > 'gettext' (alias '_') explicitly like is implemented in XEmacs' I18N3 > that would help to extract translations from the source code, or to use > a low-level implicit translation without changing the existing code like > is implemented for handling text-quoting-style in format strings. > The latter will even allow translation of strings that a package author > forgot to mark with '_'. We could recognize all strings passed as certain arguments to certain functions as translatable automatically, and have an explicit way to mark other strings as translatable. That could reduce the amount of work for developers to mark them. The translatability could be recorded as a text property in the string. Then, if a function such as 'message' gets a format string that is not translatable, it could warn, or save up a record that developers could optionally look at later. This would help remind developers to mark the strings that need it. -- Dr Richard Stallman President, Free Software Foundation (https://gnu.org, https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org)