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 mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id CAD1C7FA83 for ; Tue, 11 Apr 2017 16:18:52 +0200 (CEST) Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=gabriel.scherer@gmail.com; spf=Pass smtp.mailfrom=gabriel.scherer@gmail.com; spf=None smtp.helo=postmaster@mail-qk0-f180.google.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of gabriel.scherer@gmail.com) identity=pra; client-ip=209.85.220.180; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="gabriel.scherer@gmail.com"; x-sender="gabriel.scherer@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of gabriel.scherer@gmail.com designates 209.85.220.180 as permitted sender) identity=mailfrom; client-ip=209.85.220.180; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="gabriel.scherer@gmail.com"; x-sender="gabriel.scherer@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-qk0-f180.google.com) identity=helo; client-ip=209.85.220.180; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="gabriel.scherer@gmail.com"; x-sender="postmaster@mail-qk0-f180.google.com"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3A5by4KBFzmV20N8yipmEfNZ1GYnF86YWxBRYc798d?= =?us-ascii?q?s5kLTJ7ypMWwAkXT6L1XgUPTWs2DsrQf2raQ6/iocFdDyK7JiGoFfp1IWk1Nou?= =?us-ascii?q?QttCtkPvS4D1bmJuXhdS0wEZcKflZk+3amLRodQ56mNBXdrXKo8DEdBAj0OxZr?= =?us-ascii?q?KeTpAI7SiNm82/yv95HJbQhFgDWwbaluIBmqsA7cqtQYjYx+J6gr1xDHuGFIe+?= =?us-ascii?q?NYxWNpIVKcgRPx7dqu8ZBg7ipdpesv+9ZPXqvmcas4S6dYDCk9PGAu+MLrrxjD?= =?us-ascii?q?QhCR6XYaT24bjwBHAwnB7BH9Q5fxri73vfdz1SWGIcH7S60/VC+85Kl3VhDnlC?= =?us-ascii?q?YHNyY48G7JjMxwkLlbqw+lqxBm3oLYfJ2ZOP94c6zaYN0aWHFBXt5PWCNdHoOy?= =?us-ascii?q?YYwPD+8bMuZZqYn2ul8CoBS6CAWpAu7k1z1GiWLs3aAi0eshHwHI0gIjEdwTrn?= =?us-ascii?q?rbsM74O70OXe2v1qTE0SnPYvFQ1Dzg6IbIaBchofSUULxxa8Xe0lMvFwLbgVWU?= =?us-ascii?q?tIfrIi+a1uQTvGiB8eVgT/+khmkoqw5ruTev3MYshZfNho4P0VDL6SV5z5gvJd?= =?us-ascii?q?KmUk52etGkEJ5KuCGbM4t6WN8tQ2ZtuCsjzLANpJC1fC8PyJs9xh7fbeSKc4+U?= =?us-ascii?q?7R35UeaRJSt3hHV/eL2hnRqy9lKgyuLkWsm11lZKtCtFncPWunADzRzf8seHSv?= =?us-ascii?q?ph/kehxDaAzBrf5f1DIUAxjabaK4Quwr43lpoUq0jMAij2mEDwgaSLdUsk4vCl?= =?us-ascii?q?5/r7brjivJORNI95hhvgPqgwhsCzG/k0PwsSU2Wd5O+yzqfs/VfjT7VPlvA2kr?= =?us-ascii?q?fWsJTdJckDo662GQ5V0oI65xamDDeqzM0UnXcaIF9GZB6LlYfpO1bJIPD3Cfew?= =?us-ascii?q?nU6gnytsx/DDJrHhA5PNIWbfkLr5Y7px90pRxBAwwN1f/Z5YFK8NLO7pVkPst9?= =?us-ascii?q?HUEgc1MwmuzObmDNV92JkeWWWKAqKBP6Pdq0SH5vguI+aSYI8Zoi39JOQl5/Hw?= =?us-ascii?q?l382h0UdcLKm3ZsScn+4H/BmL1+Fbnrrh9cNCX0KsRYmTOz2lF2CViZeaGqoUK?= =?us-ascii?q?I54jE3EYamDYbYRoCxm7GBxye6HphOZm9cEFyMEHHod5+FW/gWci6SLNVhwXQ4?= =?us-ascii?q?Uu3rcY4q1Ri0uEfFjZ8hZsjT/CAD/9q3ztl+58Xakxc/5T19ScOH3DfeYXtzmz?= =?us-ascii?q?YnTjUs3a176Xd2ylqZ3LIw1/NRH8ZS6vcPSQw6OITR1cR1DtnzXkTKedLfGwXu?= =?us-ascii?q?ecmvHTxkFoF5+NQJeUsoXoj7gw=3D=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0B+AACD5OxYhrTcVdFcHAEBBAEBCgEBF?= =?us-ascii?q?wEBBAEBCgEBg0o/gQsHg1+KE5FMgjqGToxQgg8uhXYCg1kHPxgBAQEBAQEBAQE?= =?us-ascii?q?BARIBAQEICwsIKC+CMyKCQQECAgEjHQEbEgsBAwELBgUEBxodAgIiAREBBQEKE?= =?us-ascii?q?gYTEollAQMNCA6cMT+MBIIEBQEcgwkFg1wKGScDClWCaAEBAQEBAQQBAQEBAQE?= =?us-ascii?q?BARgCBhKGPoRwhQOCWYJfBYdJDI5OhlyCB4R5i16CVI5wkjkUH4EVDxCBPSUWI?= =?us-ascii?q?FYYhAoqH4ILJDUBiVQBAQE?= X-IPAS-Result: =?us-ascii?q?A0B+AACD5OxYhrTcVdFcHAEBBAEBCgEBFwEBBAEBCgEBg0o?= =?us-ascii?q?/gQsHg1+KE5FMgjqGToxQgg8uhXYCg1kHPxgBAQEBAQEBAQEBARIBAQEICwsIK?= =?us-ascii?q?C+CMyKCQQECAgEjHQEbEgsBAwELBgUEBxodAgIiAREBBQEKEgYTEollAQMNCA6?= =?us-ascii?q?cMT+MBIIEBQEcgwkFg1wKGScDClWCaAEBAQEBAQQBAQEBAQEBARgCBhKGPoRwh?= =?us-ascii?q?QOCWYJfBYdJDI5OhlyCB4R5i16CVI5wkjkUH4EVDxCBPSUWIFYYhAoqH4ILJDU?= =?us-ascii?q?BiVQBAQE?= X-IronPort-AV: E=Sophos;i="5.37,185,1488841200"; d="scan'208,217";a="268660019" Received: from mail-qk0-f180.google.com ([209.85.220.180]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 11 Apr 2017 16:18:51 +0200 Received: by mail-qk0-f180.google.com with SMTP id h67so141044620qke.0 for ; Tue, 11 Apr 2017 07:18:51 -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=zUI+i4HGCVdHG8ybdB4Rv/qgVpB/ohn7ThlCRfMJaW8=; b=AiPQ9T9H71IxMJ8TyiqqGfzKA4uxl68gJrC8Ch7xDHcyemXlg6jmijzG3YrumjCAW7 NXPZYpEjnk42HlCnnrQpKXphCFNmoY5h/dpEHg4bpd4hOQTgH+2dmCPxjafU8iwDG31e oKUe+VcIS9gPlulTXn/2lfK30WNlf86agPcT2u7Q7OomtLN21CHHeqqGnxizNt8sFo9n CUY4xApq8HOatJ6gp77K/Rh+Q7xlLo6zvqIw7avaQpilYu08UQmG/2DygZLEaHjpCmPY hC0eTn+ysdww3lLp9A+nvzjoewGsGHvPmDxj0rTqpL3EvRK5LLrutXC6P/ohy3fGeG/p 9rHQ== 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=zUI+i4HGCVdHG8ybdB4Rv/qgVpB/ohn7ThlCRfMJaW8=; b=unHQDentqNsMJ92DHaJSrSBndmEvIDhuGvvFdxw18kScwa9wXDfVG48/k0gcgaSPEb wQpZNxcu7CtSPmURuHLcGpH7UFM/N7PGvxrLj68S9F91B+UgNHgcQ4uflJa2/61vjLKM 4KnfIQlIXuWXlWzxmETHAeSPgj/zf2hZ6ijKBRiKZFIMv+vY6MrznjTGApz6JWUkudzd Lv4NfN6s6DaDhh+UzEfHgPZibjtLLzZgo9nBTy66/gFMrgOji1gsswFJXW4IhKMV1xFg wEbotkXqPh2MPELR3CJhjWQnPUX4Zan5ZaQdQTFwNyeDvVg43xlJlrlVESB+iHFerneL tMrA== X-Gm-Message-State: AFeK/H1qQ5PjwX4gLD7PhuDi9V8M0C2ivjynMYeJwwi8y3WrUQvcVqkUumuDqs5s+V5lw9DSoag31Fn3TjDdBA== X-Received: by 10.55.21.86 with SMTP id f83mr50205630qkh.214.1491920330415; Tue, 11 Apr 2017 07:18:50 -0700 (PDT) MIME-Version: 1.0 Received: by 10.12.156.10 with HTTP; Tue, 11 Apr 2017 07:18:09 -0700 (PDT) In-Reply-To: <20170411140512.GK28111@annexia.org> References: <20170411140512.GK28111@annexia.org> From: Gabriel Scherer Date: Tue, 11 Apr 2017 10:18:09 -0400 Message-ID: To: "Richard W.M. Jones" Cc: Tao Stein , OCaml Mailing List Content-Type: multipart/alternative; boundary=001a1147b80453ea9d054ce4c59f Subject: Re: [Caml-list] error messages in multiple languages ? --001a1147b80453ea9d054ce4c59f Content-Type: text/plain; charset=UTF-8 > 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/ > input_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 > --001a1147b80453ea9d054ce4c59f Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
> I find that it makes it considerably easier to s= earch for error messages

On this specific topic, I would be in= terested 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 i= n 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 <rich@an= nexia.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

--001a1147b80453ea9d054ce4c59f--