From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: "Dr. Arne Babenhauserheide" Newsgroups: gmane.emacs.bugs Subject: bug#54139: 27.2; Translating the Emacs Menu Date: Thu, 24 Feb 2022 09:30:34 +0100 Message-ID: <875yp4ll22.fsf@web.de> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="34899"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: mu4e 1.6.10; emacs 27.2 To: 54139@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Feb 24 09:35:33 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nN9b2-0008p2-G8 for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 24 Feb 2022 09:35:32 +0100 Original-Received: from localhost ([::1]:36396 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nN9b1-0004qa-2X for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 24 Feb 2022 03:35:31 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:43542) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nN9aZ-0004qO-2X for bug-gnu-emacs@gnu.org; Thu, 24 Feb 2022 03:35:04 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:53577) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nN9aY-0006ZC-C8 for bug-gnu-emacs@gnu.org; Thu, 24 Feb 2022 03:35:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nN9aY-0008RW-7F for bug-gnu-emacs@gnu.org; Thu, 24 Feb 2022 03:35:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: "Dr. Arne Babenhauserheide" Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 24 Feb 2022 08:35:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 54139 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.164569169532434 (code B ref -1); Thu, 24 Feb 2022 08:35:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 24 Feb 2022 08:34:55 +0000 Original-Received: from localhost ([127.0.0.1]:47474 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nN9aQ-0008R4-RZ for submit@debbugs.gnu.org; Thu, 24 Feb 2022 03:34:55 -0500 Original-Received: from lists.gnu.org ([209.51.188.17]:55094) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nN9aP-0008Qx-Ej for submit@debbugs.gnu.org; Thu, 24 Feb 2022 03:34:54 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:43526) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nN9aP-0004q7-7k for bug-gnu-emacs@gnu.org; Thu, 24 Feb 2022 03:34:53 -0500 Original-Received: from mout.web.de ([212.227.15.3]:36633) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nN9aN-0006YP-4a for bug-gnu-emacs@gnu.org; Thu, 24 Feb 2022 03:34:52 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1645691688; bh=9bdt/uMd8FaS346BZb1/U1dTzynDVDpW0dj9QAH1iC8=; h=X-UI-Sender-Class:From:To:Subject:Date; b=Qx6VQzppaDRFgKGhJ1UIHQjFMZUmbSkl3IU3R/7dmwsgxsdVkAmjdmMNnoZg+fdM9 KCxrqLTqBrM/C3yPPvk1mZaMm2aTKBpeD3kVyUO7IPN+ByZdM3QRBsgfQPgSUloxko B+Z/0OuyOjzTEkILmZfhJXEBhIEKAk7xUwo4cPPk= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Original-Received: from fluss ([84.149.81.193]) by smtp.web.de (mrweb006 [213.165.67.108]) with ESMTPSA (Nemesis) id 1M6pYY-1nJKdS3Dna-008msZ; Thu, 24 Feb 2022 09:34:48 +0100 X-Provags-ID: V03:K1:v2qG3fUAZ20iD4YZsXmEwevO6KYojNWxEk4QwsL3VCT39tWA/ry Wc7wCXZF9LPlfnj/BNwwTH8trWRB0cuHQZeNrKWI/hMgmtROlWZCeyagBQ9ZbEGfH6v5CsU Lu6z8Tsucg1X5DInYpVxNJMJsEClVbxsWzgEpM24XHphotI9n4yrQ3DFlUYSQnnM6pYUpVp 4TgAOkyJLvRfhb63M2bCw== X-UI-Out-Filterresults: notjunk:1;V03:K0:W+aW/UeIWLI=:y+wkuByYcm3Do9USRa5CiH FcEVjEzUFippPmjmHji5q+Ys6WTb+AEo8uN1yBINHppFVs+8Ki9AZYjP5KKIlQgK3RbX1u/nq +LEFTmiYPMGzok5w2yrHOHcVYhj/yfhSUlMGsCOKGfH7addoV6yk2VU+3NyfyETl4jh6SgG02 H5fNLuWAknlwJ+N5QHpBSJnDJgQS3+iqM9hCBB/w97EEWaZmc08LNgsQ8Sb06bKfQoMFFH8AX m0UGUBmuNYy7NMcHBYtoV/3D6qieeyOteRBjtudI5uCE3PfcqMgLrvsr6kmLEibx8SbGWDp3D MKlBk5EcGOjAuf41f2QVOIJO4fdKGy6xffTd2JwL1zwDwUYoqzlobAwbfCSPzM6sE9D1fBDAw slfoPvU+ZR/LhVOqUqaOyvAN6xYa72KfRvnlj8Paefc8Zal8PPvQNIK/T+cIGHj/ImJis/Tju M2qZIjglLRSLEsm/Tb9oqHWJj99tK6MfHYuTxlTKvkX6Tum8d9TX5vvA1j74qAZR4kfL0eLaT D0EdR417gFEoIRwc8GCq+EOXtYDCDVuiDJWl5+f9TDXcQu4aMffIhsjh7mSBauLF35E6JbRQn TsJIvYn6iG4tlD6kvRBs3CxzzFNU7Vi9LtGxAJv29vhRrGLu7jO53mbWD8CTxTogqpBVBZmnp FLzWuXqVP1eIx7y8dUVMQXWx/mmLhbv93OsaOfZG0CbxoX4CThkUWXPqFOQYfUCxSP0tJvRD2 TsazJ6WynpgKB2haZ2laJRmGMn5/bgxWINmGWQCE5st8jN4wslcZ9w6lyB8u6n71VvdBAz5y Received-SPF: pass client-ip=212.227.15.3; envelope-from=arne_bab@web.de; helo=mout.web.de X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:227565 Archived-At: --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable For newcomers the Menu is very useful to start into Emacs. But it is only available in English. It would be great to be able to translate it, for example by setting some translation strings. One way to get the initial steps could be to have (bindings--define-key ...) check a table of known translations and use a translated string if available. A more advanced method would be shelling out to gettext to benefit from existing translation platforms. Here=E2=80=99s an unclean proof of concept that might break your Emacs and = is not fit for Emacs itself due to using advice: (defun translate-bindings (orig-fun &rest args) (let* ((menu (nth 0 args)) (key (nth 1 args)) (entry (nth 2 args)) (new-entry (cond ((and (< 1 (length entry)) (stringp (nth 0 entry))) (let ((name (nth 0 entry))) (cons (concat "translated: " name) (cdr entry)))) ((and (< 2 (length entry)) (stringp (nth 1 entry))) (let ((name (nth 1 entry))) (cons (car entry) (cons (concat "translated: " name= ) (cdr (cdr entry)))))) (t entry)))) (print (and (< 2 (length entry)) (stringp (nth 1 entry)))) (print new-entry) (apply orig-fun menu key (list new-entry)))) (advice-add 'bindings--define-key :around #'translate-bindings) (require 'menu-bar) (bindings--define-key global-map [menu-bar edit] (cons "Edit" menu-bar-edit-menu)) Best wishes, Arne =2D-=20 Unpolitisch sein hei=C3=9Ft politisch sein, ohne es zu merken. draketo.de --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQJEBAEBCAAuFiEE801qEjXQSQPNItXAE++NRSQDw+sFAmIXQygQHGFybmVfYmFi QHdlYi5kZQAKCRAT741FJAPD64lcD/9gUj5s7Rfcjhm3B9N6F/2Iz0IKVVm6Dp7V 1dJ2oeljd4JInhJQJkNR+8coqkJooe+edIaVKv0nBSs/BCfwZbi0amEybFxfzWnO YS/+Zw/tY0/D46GD4fJzG5cYC/HSJiMYY68Lj0sRPc6/yaYkFXqzfDoGT1SEj7Yi j6Z3Bz6JgIvDOqlMyXekh/4XLqk0SkvXZPLubp4C7oGfTBsC8HoJGtdEJ04vajVR vhhI3kFSK0X7jCzgnFRN1b7zYtEHPaA50DTEGs6QzRbY+e6/GLQyYxckTxKhRVWE bRj/4qgPdlbxeUefzTB268Xnoo54cBl737Axxg7TviLLGFZpNLIeaR2sSWbSnJX1 r4ViYUUJQkyRlxkpy226CVbtA2KGrmlVaNGrTew47umf5octzda46+hawHOUmz5P iGjs0zvmGb7Hh/5LARP0qDa5UHfK0CBJMkQGyhMTvZBd7SHOhUblZAx/sy17K7/o 7MayMEzm+DY5IZha9nRULPioP5qXYykpbp8SEV2hfgvyFWCE17rTHZmU5ldapinY o0f+u2m5nMsONR5ePS4zk4K2dh/0qAZVgTosH8WK8LLGTVYpS2zAcxsfIG8VJ2Fd x+QqxgGO8Ldnr/g9O6YYC6jOWMdb14wgGbFQMxeOmV3A+nxylqNMCjG+CfPubTPA OWITIc1lzIjEBAEBCAAuFiEE3Si95tmHXKvOSosd3M8NswvBBUgFAmIXQygQHGFy bmVfYmFiQHdlYi5kZQAKCRDczw2zC8EFSPeeA/0TxnVvc1rNvDg6NWNEJs52jHIg irQcq/IyadRUdgsFpro28H36uJgVTO75Lv+ZxqEnKIkEoE9sviOQPnCDKXXDHnUp 5APr4/HrTwt/cdj48ywB18bnZZ+b8D515v079NoRkDVx5p98n5eAukMpeUQYBovo lDRDP8C4Gj6Kje6hJQ== =ukLm -----END PGP SIGNATURE----- --=-=-=--