From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id 507E27FA83 for ; Tue, 11 Apr 2017 16:59:49 +0200 (CEST) Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=taostein@gmail.com; spf=Pass smtp.mailfrom=taostein@gmail.com; spf=None smtp.helo=postmaster@mail-qk0-f181.google.com Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of taostein@gmail.com) identity=pra; client-ip=209.85.220.181; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="taostein@gmail.com"; x-sender="taostein@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of taostein@gmail.com designates 209.85.220.181 as permitted sender) identity=mailfrom; client-ip=209.85.220.181; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="taostein@gmail.com"; x-sender="taostein@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-qk0-f181.google.com) identity=helo; client-ip=209.85.220.181; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="taostein@gmail.com"; x-sender="postmaster@mail-qk0-f181.google.com"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3AEAB5yBT7UccGX0Scea9UzsmtVdpsv+yvbD5Q0YIu?= =?us-ascii?q?jvd0So/mwa6ybRSN2/xhgRfzUJnB7Loc0qyN4vymATRIyK3CmUhKSIZLWR4BhJ?= =?us-ascii?q?detC0bK+nBN3fGKuX3ZTcxBsVIWQwt1Xi6NU9IBJS2PAWK8TW94jEIBxrwKxd+?= =?us-ascii?q?KPjrFY7OlcS30P2594HObwlSijewZbx/IA+qoQnNq8IbnZZsJqEtxxXTv3BGYf?= =?us-ascii?q?5WxWRmJVKSmxbz+MK994N9/ipTpvws6ddOXb31cKokQ7NYCi8mM30u683wqRbD?= =?us-ascii?q?VwqP6WACXWgQjxFFHhLK7BD+Xpf2ryv6qu9w0zSUMMHqUbw5Xymp4rx1QxH0li?= =?us-ascii?q?gIKz858HnWisNuiqJbvAmhrAF7z4LNfY2ZKOZycqbbcNwdWGRBQ91RVzRfDYyg?= =?us-ascii?q?c4sBAe0BPeNCoIn8oVsFsB+yCAaoCe/qzDJDm3340rAg0+k5Ew7G0gwuEdwNvn?= =?us-ascii?q?rJstv6KLwfXvqpwKTS1zjPc+9a1DX75YPVch4hu/aMXbdofMTP00YvEB7OgEiM?= =?us-ascii?q?qYP7PjOV0PkGvm+H7+V6UuKvkHInpB9wojip3coshYzJiZgUylDA7yl23IE1Jd?= =?us-ascii?q?ihRUN9fNWqHpxQtySAOIt3RMMvW2Zotzogxb0DvZ60YC8KyI45yBLFbPyHaYeI?= =?us-ascii?q?7griVOaXOzd4hWhqdKixhxao6USgxez8VtW00FZXtSVJiMXDtncI1xDL6smIUP?= =?us-ascii?q?t9/kCm2TqVyw/T7eRELEYpnqTYM54s2qA8moYXvEjZHSL7mF/6gLGIekk44OSk?= =?us-ascii?q?9ufqbqjgq5SBLYF7kBv+Pb4rmsGnAeQ3LAwOX2+D9OS5zrLj/En5TKxTjv01jq?= =?us-ascii?q?XVqZ7aKdkYq6KkGQNV3YEj6xGwDzeiztsUh2UILFVAeB6fjojpPU/BIOzgAPuh?= =?us-ascii?q?n1ihlC1nyvPGM7H7HJnBMGTPnK38cbt+9kJQ0A8zwspe55JQBLEBOvXzWkrpud?= =?us-ascii?q?zEFBA5NBe0w/r5B9V80IMTQm2PAqqDP6PTtV+E/P4gI+6JZIMNojbyN+Al5+Ly?= =?us-ascii?q?jX8+gVISYbOm3Z4TaHyhGvRmIl6ZYWb3j9caEWYKuxI+Q/bwhF2DVz5TfXeyUL?= =?us-ascii?q?gm6jE1EoL1RbvEE6+kiqaA0SPzJZZWa3pLEBjYHn7ibYSJX7EXYyKfOMJ7ujMB?= =?us-ascii?q?XLmlDYQm0Ef9mhX9zu9bJ+2cwTEVtJSrgMR84PbPmBA03TNxBsWZlWqKSjcnzS?= =?us-ascii?q?szWzYq0fUn8gRGwVCZ3P093qVV?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0C6AAAN7+xYhrXcVdFcGgEBAQECAQEBA?= =?us-ascii?q?QgBAQEBFgEBAQMBAQEJAQEBgkOBRnkSB4Nfm2CCOpUtLoV2AoNaB0IVAQEBAQE?= =?us-ascii?q?BAQEBAQESAQEBCAsLCCgvgjMigkABAQEBAgEjHQEbEgsBAwELBgMCCw0NHQICI?= =?us-ascii?q?QEBEQEFAQoSBhMSBIlhAQMNCA6LKZEaP4wEggQFARyDCQWDXAoZJwMKVYJoAQE?= =?us-ascii?q?BAQEBBAEBAQEBAQEBGAIGEoY+hHCCUYIyglmCXwWHSQyJGIU2hiE7hwCHHIRCg?= =?us-ascii?q?lSOcIsBhzgUH4EVDyaBJzsgFUEYhAoqH4F8MzUBiVQBAQE?= X-IPAS-Result: =?us-ascii?q?A0C6AAAN7+xYhrXcVdFcGgEBAQECAQEBAQgBAQEBFgEBAQM?= =?us-ascii?q?BAQEJAQEBgkOBRnkSB4Nfm2CCOpUtLoV2AoNaB0IVAQEBAQEBAQEBAQESAQEBC?= =?us-ascii?q?AsLCCgvgjMigkABAQEBAgEjHQEbEgsBAwELBgMCCw0NHQICIQEBEQEFAQoSBhM?= =?us-ascii?q?SBIlhAQMNCA6LKZEaP4wEggQFARyDCQWDXAoZJwMKVYJoAQEBAQEBBAEBAQEBA?= =?us-ascii?q?QEBGAIGEoY+hHCCUYIyglmCXwWHSQyJGIU2hiE7hwCHHIRCglSOcIsBhzgUH4E?= =?us-ascii?q?VDyaBJzsgFUEYhAoqH4F8MzUBiVQBAQE?= X-IronPort-AV: E=Sophos;i="5.37,186,1488841200"; d="scan'208,217";a="220097630" Received: from mail-qk0-f181.google.com ([209.85.220.181]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 11 Apr 2017 16:59:48 +0200 Received: by mail-qk0-f181.google.com with SMTP id h67so142202473qke.0 for ; Tue, 11 Apr 2017 07:59:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=vQHUKy6pWukSfLwjfSbd/agNBSHPEDiglK4VXG4uS+s=; b=UF1hZ0OnOJXi3wJqOUkSOn+4YlA67sWPlQO1PEYv/MymryHRimKd+zhIBbFc8K/Eq+ mUD1h5vY8xKxPFf1glZYgKaHWoZgKiamDwnA6xkMP6ruKr/HF72dsw6nTb6fK7HQ3hC1 RlAhEDc+bsueWiuXhRLB1vQ9E+1yVdMUsD5RZj6ZnMM48ML/qCNl8qjVrU7PONvGh3/p bLnKOBQ8ckRneEwEDIwvK/VF6cYFZSjq/Qb9NMVOq5KQxdESKxgMF8GbgLHNjilFiJ6a a0xcj39D8NCfmGRwPCSYUwPa77uCP/MktDK9aQYHbChei13c8aAhGPRtApBi7PSS1iXn 57zw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=vQHUKy6pWukSfLwjfSbd/agNBSHPEDiglK4VXG4uS+s=; b=ZvJ+nZEYvtanHvIxUdHR/ywu0sNoFqrC/FzeyjR20KfN6KhDTHgoNunWgjlu73svwt ceilt2/C2SiKLnnIwI+oFuYWHghBot3n0ATTueCkUPzvXexxqch6M4/JwWAZ2Xkz41JR Q+WcQYZagobrUE1TyZeyeZpD9SyTNjDukzqarevBDHu/yZCHH+6qMmgb8ofi5ydOQuL1 ecFICHhYZnZDQ41UsiNG2GSPtyy+LgsYzHxfklO5OM8qiFt7Ph73F2MZOaPgGwxhThik D4oBatrPGTv7JlhcM17x0pDRooyZUDcw51588yCHibxWtnBEziTauXsdQLCNDNJNTbBx aXuA== X-Gm-Message-State: AN3rC/4bWs1c9sDGSEhj2O8p3U5aRdxwGCGtmKwMkGZ1gmg1AJycxLqI8SAPMZEWOD5BKnxPVpWvs9T79t/xuA== X-Received: by 10.55.76.12 with SMTP id z12mr1981649qka.205.1491922786739; Tue, 11 Apr 2017 07:59:46 -0700 (PDT) MIME-Version: 1.0 Received: by 10.12.150.178 with HTTP; Tue, 11 Apr 2017 07:59:46 -0700 (PDT) In-Reply-To: References: <20170411140512.GK28111@annexia.org> From: Tao Stein Date: Tue, 11 Apr 2017 22:59:46 +0800 Message-ID: To: Gabriel Scherer Cc: "Richard W.M. Jones" , OCaml Mailing List Content-Type: multipart/alternative; boundary=001a114a8636bc691d054ce557f0 Subject: Re: [Caml-list] error messages in multiple languages ? --001a114a8636bc691d054ce557f0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Numbering the messages is a great idea, even if it is using Latin script. I don't know about education in Arabic countries, but in China learners generally learn math and arithmetic using Latin numbers as opposed to the Chinese script numbers (=E4=B8=80, =E4=BA=8C, =E4=B8=89, =E5=9B=9B, etc) wh= ich is used in written text. So everyone is familiar with Latin scripting for numbers. Latin for error numbers would probably be fine. Richard W.M. Jones wrote: > I want to add that OCaml already has an excellent gettext implementation. > No need to reinvent any wheels. Thank you Richard. I will take a look at that. Tao Stein / =E7=9F=B3=E6=B6=9B / =D8=AA=D8=A7=D9=88 =D8=B4=D8=AA=D8=A7=D9= =8A=D9=86 On 11 April 2017 at 22:18, Gabriel Scherer wrote: > > I find that it makes it considerably easier to search for error messages > > On this specific topic, I would be interested in having OCaml compiler > error messages numbered, just as warnings already are, precisely because = it > makes it much easier to reference them (is robust to change of wording), > and for example look up a specific error in the manual for further > explanations -- we recently started doing this for warnings, see > http://caml.inria.fr/pub/docs/manual-ocaml/comp.html#sec270 . > > > > On Tue, Apr 11, 2017 at 10:05 AM, Richard W.M. Jones > wrote: > >> It looks like people have already mentioned getttext. >> >> I want to add that OCaml already has an excellent gettext >> implementation. No need to reinvent any wheels. >> >> https://forge.ocamlcore.org/projects/ocaml-gettext/ >> >> We use it every day in libguestfs, an example picked at random >> (there are thousands more): >> >> https://github.com/libguestfs/libguestfs/blob/master/v2v/inp >> ut_libvirt.ml#L39 >> >> Therefore you might think I'd be very exciting about having the OCaml >> compiler messages being localized. That not so much. I find that it >> makes it considerably easier to search for error messages, and also to >> help people, if they are in a single language. It's for this reason >> that we don't translate debugging and other internal messages in our >> tools. (But being an English native speaker it's a lot easier for me, >> so take this with a pinch of salt.) >> >> Rich. >> >> -- >> Caml-list mailing list. Subscription management and archives: >> https://sympa.inria.fr/sympa/arc/caml-list >> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners >> Bug reports: http://caml.inria.fr/bin/caml-bugs >> > > --001a114a8636bc691d054ce557f0 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

Numbering the messages is a great idea, even if i= t is using Latin script. I don't know about education in Arabic countri= es, but in China learners generally learn math and arithmetic using Latin n= umbers as opposed to the Chinese script numbers (=E4=B8=80, =E4=BA=8C, =E4= =B8=89, =E5=9B=9B, etc) which is used in written text. So everyone is famil= iar with Latin scripting for numbers. Latin for error numbers would probabl= y be fine.

Richard W.M. Jones=C2=A0<r= ich@annexia.org> wrote:
I want = to add that OCaml already has an excellent gettext=C2=A0implementation.=C2=A0 No need to reinvent any wheels.=

Thank you Richard. I will take a look at that.

Tao Stein / =E7=9F=B3=E6=B6=9B /=C2=A0=D8=AA=D8=A7=D9=88 =D8=B4=D8=AA=D8=A7=D9=8A=D9=86=

On 11 April 2017 at 22:18, Gabriel Scherer <= span dir=3D"ltr"><gabriel.scherer@gmail.com> wrote:
=
> I find that it makes it considerably easier to search for error m= essages

On this specific topic, I would be interested i= n having OCaml compiler error messages numbered, just as warnings already a= re, precisely because it makes it much easier to reference them (is robust = to change of wording), and for example look up a specific error in the manu= al for further explanations -- we recently started doing this for warnings,= see http://caml.inria.fr/pub/docs/manual-ocaml/comp.ht= ml#sec270 .



=
On Tue, Apr 11, 201= 7 at 10:05 AM, Richard W.M. Jones <rich@annexia.org> wrote:
It looks like people have already mentioned getttext.

I want to add that OCaml already has an excellent gettext
implementation.=C2=A0 No need to reinvent any wheels.

=C2=A0 https://forge.ocamlcore.org/projects= /ocaml-gettext/

We use it every day in libguestfs, an example picked at random
(there are thousands more):

=C2=A0 https://github.c= om/libguestfs/libguestfs/blob/master/v2v/input_libvirt.ml#L39=

Therefore you might think I'd be very exciting about having the OCaml compiler messages being localized.=C2=A0 That not so much.=C2=A0 I find tha= t it
makes it considerably easier to search for error messages, and also to
help people, if they are in a single language.=C2=A0 It's for this reas= on
that we don't translate debugging and other internal messages in our
tools.=C2=A0 (But being an English native speaker it's a lot easier for= me,
so take this with a pinch of salt.)

Rich.

--
Caml-list mailing list.=C2=A0 Subscription management and archives:
https://sympa.inria.fr/sympa/arc/caml-list
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs


--001a114a8636bc691d054ce557f0--