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 15B1D7FA83 for ; Mon, 10 Apr 2017 15:20:44 +0200 (CEST) Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=taostein@gmail.com; spf=Pass smtp.mailfrom=taostein@gmail.com; spf=None smtp.helo=postmaster@mail-qt0-f174.google.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of taostein@gmail.com) identity=pra; client-ip=209.85.216.174; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="taostein@gmail.com"; x-sender="taostein@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of taostein@gmail.com designates 209.85.216.174 as permitted sender) identity=mailfrom; client-ip=209.85.216.174; receiver=mail2-smtp-roc.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 (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-qt0-f174.google.com) identity=helo; client-ip=209.85.216.174; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="taostein@gmail.com"; x-sender="postmaster@mail-qt0-f174.google.com"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3AgdaFtxBFvCKtGGp1rBqYUyQJP3N1i/DPJgcQr6Af?= =?us-ascii?q?oPdwSPT/r8bcNUDSrc9gkEXOFd2CrakV16yO6+jJYi8p2d65qncMcZhBBVcuqP?= =?us-ascii?q?49uEgeOvODElDxN/XwbiY3T4xoXV5h+GynYwAOQJ6tL1LdrWev4jEMBx7xKRR6?= =?us-ascii?q?JvjvGo7Vks+7y/2+94fdbghMizexe69+IAmrpgjNq8cahpdvJLwswRXTuHtIfO?= =?us-ascii?q?pWxWJsJV2Nmhv3+9m98p1+/SlOovwt78FPX7n0cKQ+VrxYES8pM3sp683xtBnM?= =?us-ascii?q?VhWA630BWWgLiBVIAgzF7BbnXpfttybxq+Rw1DWGMcDwULs5Qiqp4bt1RxD0iS?= =?us-ascii?q?cHLz85/3/Risxsl6JQvRatqwViz4LIfI2ZMfxzcaTAc9MHXmpBRtheWDBdAo2y?= =?us-ascii?q?aIsPCvAOPeder4Lgo1cDoh+zCQyqCejyyDFHm2X20LU43OQvEQ/I0g8uEc8Qvn?= =?us-ascii?q?vIt9j6LrseXPqvwaXU0TnObfVb0ir95ojSdRAhpOmBU6xqfsrW1EIhCh/FgUuR?= =?us-ascii?q?qYzjIjiY0fgNvHKc7+p7SeKglW8nqwdqrzigw8cjkIjJhoYPxl/Y8iV5xZ84KN?= =?us-ascii?q?ulQ0B1Zt6kFYFftyCcN4ZuQ8MiRXtouCcgxbEct567ZjAGyZQ9yB7fbPyHdJKE?= =?us-ascii?q?7Q7kVOaUOTt5hGpldKijhxa190Wr1+7yVtGs3VpUsiZIlsPAu3MN2hDJ9MSLV/?= =?us-ascii?q?pw8l281TuN2A3e7PxPL1oumqrBMZEhx6Y9lpoNvkTHGS/7gED2g7WXdkUg4+So?= =?us-ascii?q?8vjnbqn/qp+SKoN5iA7zPr4hmsy4BuQ4PQwOUHaB9eug073j+FX1QLRMjvIojq?= =?us-ascii?q?nUqI7WKdgfq6KjAAJY0pwv5wiiAzqnytgUgHsKIV1ddBKClYfpOlXOIP7iDfe4?= =?us-ascii?q?hlShiCtryOrBPr36HpXCMHnDkLH6cLZy7k5T0gszzdRF651IDbEBJer/WlXtu9?= =?us-ascii?q?zAEh85Lwu0zv77B9pn04MeXXuDAquYMKPJrV+F/fkvIumJZI8NojnxMfkl5/j0?= =?us-ascii?q?jX84g1ARZ6ep3YFEIEy/S9NNKkCdKV/lg9MAF2hCmgslUKS+g1SHVXtXZm2ud6?= =?us-ascii?q?M6/DAyToy8W9TtXIeo1YCI22+AApBXYCgSFlmLCmvldoOsVPIFaSbUKchkxG9X?= =?us-ascii?q?HYO9QpMsgEn9/DTxzKBqe6+JoyA=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0BhAgAAhutYf67YVdFdHAEBBAEBCgEBF?= =?us-ascii?q?wEBBAEBCgEBhAmBCweDX5tZgjqGToxPgg8shXgCg1UHQRYBAQEBAQEBAQEBARI?= =?us-ascii?q?BAQkLCwgmMYIzIoJAAQEBAQIBIx0BGxIMAwELBgMCCw0NHQICIgERAQUBChIGE?= =?us-ascii?q?xKJZAEDDQgOineRGj+MBIIEBQEcgwkFg1EKGScDClWCWAEBAQcBAQEBARsCBhK?= =?us-ascii?q?GPoRwgnaBQwEBSIJZgl8Fh0kMiRWMEYcAi1mBf1WEWYoUkjgUH4EVDxYBgTY7I?= =?us-ascii?q?BVBGIQKKoIbMzWHMYIuAQEB?= X-IPAS-Result: =?us-ascii?q?A0BhAgAAhutYf67YVdFdHAEBBAEBCgEBFwEBBAEBCgEBhAm?= =?us-ascii?q?BCweDX5tZgjqGToxPgg8shXgCg1UHQRYBAQEBAQEBAQEBARIBAQkLCwgmMYIzI?= =?us-ascii?q?oJAAQEBAQIBIx0BGxIMAwELBgMCCw0NHQICIgERAQUBChIGExKJZAEDDQgOine?= =?us-ascii?q?RGj+MBIIEBQEcgwkFg1EKGScDClWCWAEBAQcBAQEBARsCBhKGPoRwgnaBQwEBS?= =?us-ascii?q?IJZgl8Fh0kMiRWMEYcAi1mBf1WEWYoUkjgUH4EVDxYBgTY7IBVBGIQKKoIbMzW?= =?us-ascii?q?HMYIuAQEB?= X-IronPort-AV: E=Sophos;i="5.37,182,1488841200"; d="scan'208,217";a="268492096" Received: from mail-qt0-f174.google.com ([209.85.216.174]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 10 Apr 2017 15:20:42 +0200 Received: by mail-qt0-f174.google.com with SMTP id c45so62180747qtb.1 for ; Mon, 10 Apr 2017 06:20:43 -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; bh=5ALvENwKgJLv14zeFl4/8TfM7GLHY4cCA4uUWakVzp4=; b=kb/FSlJOYib3chFf7o3CIWmPT3PC3D6jkRQKi3EwRCiSrKXPAM6keczDnI4SmfyJuY ZipE7yS5P/5Vzr2XHlww29jxzrRa8nMmRFBxOfW5PpnEIdTTSakz7dq2i0d3fPnao7KT iPIlccb5Dv7u/vqJzyE7JYJZrkD5HhQ2riyz+qdt9+4DusIGlbU75typyLk56fnKGyiH nHJ8q96nYrZDlYKANtsx9I4FCFTkxVqYlFKudUr7OD71uSBXHkguE25ZfOoVrAzLG6GZ aHkOf1hGX9zzmxTXabgmrgH0fMCzzt9kXUjtGpV2poBuF4L7zG9RIxGrKPMBefEL2rrh dZbg== 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; bh=5ALvENwKgJLv14zeFl4/8TfM7GLHY4cCA4uUWakVzp4=; b=WNMtU/001UttsgC3Y48dE2H6weXA1OXSufDPdr+jfKLHz+MeQiRbGhGgnoWXXdNuI0 weNih7NoBgmAMptbhtHvTnhhThaks+0/01OwquC9nK5tu1d3HU1uMnwApacKJ9h1m3rR WpprKQi31jVj9BO+ZvRHhwaeIez+xZMVe0dxXW1KthUkglIqovqNoOnTbCXs4ui9kBob Ufvmvr3jRiVW1f/wO4KEovHQxdG0EVl2fCkxbmVsmMYnvhW2reZ7zYFgqAV3kWyp9CkB MN5O7HZ6LYEMbGKHCBS2ieS/oAM6jRO4KfIxh6JYrkCXqqDkKzp5WtmCmJ4uITu+Zcyi PnCA== X-Gm-Message-State: AFeK/H3EedAFN7ZiaaNh1uUDhzH9cdUqG+WWmUesKEKxho3SzCAJiOvZ7Us2eLnmwmd1n5/DToU1ziL8LC6FZA== X-Received: by 10.237.39.150 with SMTP id a22mr55095140qtd.61.1491830440429; Mon, 10 Apr 2017 06:20:40 -0700 (PDT) MIME-Version: 1.0 Received: by 10.12.150.178 with HTTP; Mon, 10 Apr 2017 06:20:39 -0700 (PDT) In-Reply-To: <20170410060741.10271.10E692AB@matica.foolinux.mooo.com> References: <1715c9d9-04d7-3368-bfbd-3af8aae4698b@inria.fr> <20170408165106.55n6zfwd3tsdxxgw@pema> <8261755f-fb74-c363-a764-08623c06ce3a@inria.fr> <20170409195059.GA3385@notk.org> <20170410060741.10271.10E692AB@matica.foolinux.mooo.com> From: Tao Stein Date: Mon, 10 Apr 2017 21:20:39 +0800 Message-ID: To: OCaml Mailing List Content-Type: multipart/alternative; boundary=f403045ee6d4778e70054ccfd774 Subject: Re: [Caml-list] error messages in multiple languages ? --f403045ee6d4778e70054ccfd774 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Would people have concerns creating a compiler build dependency on libgettext ? Another concern is that xgettext seems to lack an OCaml back-end. Also, there may be some advantages to having all the language strings together in one file, as in the 1997 Caml Light implementation Xavier shared. As opposed to the many .po files of a typical gettext workflow. With one file it's easy to see all the translations for a string at once, to ensure consistency. The gettext workflow, though somewhat complex, may be more scalable. Though it's not clear to me paying for the scalability with the additional complexity is worth it in this case. I'm undecided. In terms of gettext versus catgets, some more knowledgeable people may have better opinions. Searching around a bit, it seems that gettext is used more often in open-source projects. 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 10 April 2017 at 14:14, Ian Zimmerman wrote: > On 2017-04-09 21:50, Adrien Nader wrote: > > > Unsurprisingly, pretty much everyone uses gettext rather than catgets. > > > > Personally I've enjoyed using gettext and I've found that it provided > > the features needed for a proper translation in a pretty good way. > > The one problem with gettext (which catgets lacks) is that it relies on > a piece of global data (the "text domain binding"). This makes any way > to handle translations in a shared library somewhat distasteful. > > Admittedly one can wave the problem away by relying on the default > binding established when glibc or libintl is installed, and never > calling bindtextdomain(). > > -- > Please *no* private Cc: on mailing lists and newsgroups > Personal signed mail: please _encrypt_ and sign > Don't clear-text sign: http://cr.yp.to/smtp/8bitmime.html > > -- > 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 > --f403045ee6d4778e70054ccfd774 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

Would people have concerns creating a compiler bu= ild dependency on libgettext ?

Another concern is that xgettext seems to lack an = OCaml back-end.

Also, there may be some advantages to having all the language str= ings together in one file, as in the 1997 Caml Light implementation Xavier = shared. As opposed to the many .po files of a typical gettext workflow. Wit= h one file it's easy to see all the translations for a string at once, = to ensure consistency. The gettext workflow, though somewhat complex, may b= e more scalable. Though it's not clear to me paying for the scalability= with the additional complexity is worth it in this case. I'm undecided= .

In t= erms of gettext versus catgets, some more knowledgeable people may have bet= ter opinions. Searching around a bit, it seems that gettext is used more of= ten in open-source projects.

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 10 April 2017 at 14:14, Ian Zimmerman <itz= @primate.net> wrote:
On 2017-04-09 21:50, Adrien Nader wrote:

> Unsurprisingly, pretty much everyone uses gettext rather than catgets.=
>
> Personally I've enjoyed using gettext and I've found that it p= rovided
> the features needed for a proper translation in a pretty good way.

The one problem with gettext (which catgets lacks) is that it relies= on
a piece of global data (the "text domain binding").=C2=A0 This ma= kes any way
to handle translations in a shared library somewhat distasteful.

Admittedly one can wave the problem away by relying on the default
binding established when glibc or libintl is installed, and never
calling bindtextdomain().

--
Please *no* private Cc: on mailing lists and newsgroups
Personal signed mail: please _encrypt_ and sign
Don't clear-text sign: http://cr.yp.to/smtp/8bitmime.html=

--
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

--f403045ee6d4778e70054ccfd774--