From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Bruno Haible Newsgroups: gmane.emacs.devel,gmane.comp.gnu.gettext.bugs Subject: Re: Emacs i18n Date: Fri, 22 Mar 2019 02:26:38 +0100 Message-ID: <2985677.gttXtHLSRA@omega> References: <25076895.mA2g9mTHSI@omega> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="192438"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: KMail/5.1.3 (Linux/4.4.0-141-generic; KDE/5.18.0; x86_64; ; ) Cc: bug-gettext@gnu.org, emacs-devel@gnu.org To: rms@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Mar 22 02:28:05 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 1h78yZ-000nuc-6L for ged-emacs-devel@m.gmane.org; Fri, 22 Mar 2019 02:28:05 +0100 Original-Received: from localhost ([127.0.0.1]:49507 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h78yY-0002GY-4p for ged-emacs-devel@m.gmane.org; Thu, 21 Mar 2019 21:28:02 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:57506) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h78xQ-0002DT-Rg for emacs-devel@gnu.org; Thu, 21 Mar 2019 21:26:54 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h78xP-0001l9-UC for emacs-devel@gnu.org; Thu, 21 Mar 2019 21:26:52 -0400 Original-Received: from mo6-p00-ob.smtp.rzone.de ([2a01:238:20a:202:5300::11]:34311) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h78xJ-0001XA-0J; Thu, 21 Mar 2019 21:26:47 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1553218000; s=strato-dkim-0002; d=clisp.org; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From: X-RZG-CLASS-ID:X-RZG-AUTH:From:Subject:Sender; bh=cwwAepw4d6rjLccwHgJSB1Lu3WwPiiiP9SuC1XLoZYM=; b=WBKL3pWq8UDIh/E8EZNjhiWs3bUwi4ENan5zllcpJGtTpgNJc/Xb6iQ1jjOnv9McIf MqdEuPPaHyEPWJbOhd4vp9GKhF2/ZUGetk4Gwf5Ytl/gCLgwVEIWfJ5gL+esWaDm16iF 9n9yDwysG0t9d9qPdCcotuMS06ZENIrdNsEGyy5FQsz756FUYWMehdrS86d9Czhgs7Sv AVSRS0L8yWrLQS7N8W0HrUgw91yjL6LgSztsuB4I0q1WQ0xjV5jYWq0VP+yrXV86yV2f AOVr2Oy25JgEUzM1D1sQpcHgbwpbu4EhMMxnjvyLQmO0b9cdS44cHhAvHBiLN4DXYWLe eOKA== X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlIWs+iCP5vnk6shH+AHjwLuWOGKf3zZFW" X-RZG-CLASS-ID: mo00 Original-Received: from bruno.haible.de by smtp.strato.de (RZmta 44.16 DYNA|AUTH) with ESMTPSA id 5094e6v2M1Qefht (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (curve secp521r1 with 521 ECDH bits, eq. 15360 bits RSA)) (Client did not present a certificate); Fri, 22 Mar 2019 02:26:40 +0100 (CET) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2a01:238:20a:202:5300::11 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:234512 gmane.comp.gnu.gettext.bugs:1969 Archived-At: Richard Stallman wrote: > > - The translator, you can assume, can translate sentences and knows > > about the different meanings of words in different context. > > The Russian translation team for Emacs will not have difficulty using > russian-masc, russian-nom, and so on. Being Russian speakers, they > will understand how these constructs make sense for Russian, once > they read the documentation for them. Still, it's essential to consider what the programmers send to the translators, and what the translators send back in return. > I don't speak Russian. Since you speak French perfectly, and we have a French translator on this list (Jean-Christophe Helary), let me make an example in French. As far as I understand, for plural handling instead of asking the translator to translate msgid "He bought one nice horse." msgid_plural "He bought %d nice horses." you would send them just the string "He bought %d nice horses." and expect that the translator sends back the string "Il acheta %d beau%| cheval%|." and then have, in the program, code that transforms this to "Il acheta un beau cheval." or "Il acheta %d beaux chevaux." I claim that 1) It is not a win for the translator. It is just as easy for the translator to produce two strings, than a string with several markers. Speech is natural to translators, not markup and grammar. Additionally, how will the translator know whether they have done it correctly or made a mistake? If you don't want translators to return untested translations, there will be the need to integrate the algorithmic code into the translation tools (KBabel, Lokalize, Gtranslator, Poedit, etc.). How do you want to do that? 2) It is hard to implement: - For the singular case, you need to know that "cheval" is masculine. Would you like the translator to provide this information, through markup such as "Il acheta %d beau%| cheval%|." or would you like the code to look it up through a dictionary? - For the plural case, you need to know that the plural of "*eau" is "*eaux" in French (a rule that can be coded), but also that the plural of "cheval" is "chevaux" (or vice versa, that the singular of "chevaux" is "cheval") - which requires a dictionary lookup. Bruno