git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: Jean-Noel Avila <jn.avila@free.fr>,
	Git Mailing List <git@vger.kernel.org>
Subject: Re: [PATCH v3 2/2] l10n: Add git-add.txt to localized man pages
Date: Fri, 24 Mar 2017 16:58:14 +0100	[thread overview]
Message-ID: <CACBZZX51BskROyC_Kp=-PHuqzJ4uaDpu277R0Y4qCvz=6vLUiA@mail.gmail.com> (raw)
In-Reply-To: <xmqqpohbtxi3.fsf@gitster.mtv.corp.google.com>

On Mon, Mar 20, 2017 at 11:05 PM, Junio C Hamano <gitster@pobox.com> wrote:
> But more importantly, aren't we essentially adding an equivalent of
>
>         cd Documentation && cat git-*.txt
>
> to our codebase?
>
> Surely we cannot avoid having a copy of all messages that are to be
> translated using msgid/msgstr based approach, and we already do so
> for end-user-facing in-program strings, but it just feels a bit too
> much having to carry a duplicate (and slightly a stale) copy of the
> entire documentation set around.  For N languages, we'll have an
> equivalent for N copies of the English text, in addition to the
> translated documentation.

As someone reading this thread from the sidelines you never elaborate
on why this is a problem worth solving (other than "a bit too much")
before everyone downthread jumped on trying to figure out how to solve
this out-of tree somehow.

So I thought I'd do a basic test of what it would mean to have this
in-tree. For every git version (every tag) since v1.0.0 I created a
parallel version of all our git-*.txt documentation, applied rot13 to
it, and dropped it in Documentation/po/rot13[1].

The end result after repack is:

    $ du -sh git-*/.git
    88M     git-orig/.git
    89M     git-po4a/.git

Now of course this isn't equivalent to the *.po files we're talking
about, which'll also contain the original English version, so let's
say that's at least 2x the size, or just assume 2.5x for extra
overhead because the translation is longer / uses higher Unicode
characters or whatever.

That's still only an extra 2.5MB per-language for 10 years of history,
and an extra 3.75MB to the checkout.

Even if we had 10 languages with a 100% translation (a stretch, since
the core translations in po/ only have 12 languages) the .git
directory would grow from the current 88MB to 113MB, and the checkout
from 33MB to 70MB (for comparison the existing po/ directory is
5.3MB).

Maybe I've just become desensitized to bigger repos but that seems
like nothing to me. For comparison the linux.git repository has a
1.9GB .git and an 800MB checkout.

There's always going to be some inconvenience cost to pay when cloning
doesn't Just Work. Right now grabbing any tar'd up git.git from any
service it's on will give you something you can fully build. This'll
no longer be the case for the po4a assets.

If there's a good reason to break that kind of stuff fine, but the
growth in repo/checkout size noted above seems tiny to me compared to
disks & hardware these days.

1. rm -rfv Documentation/po; mkdir -p Documentation/po/rot13; for
version in $(git tag -l --contains v1.0.0 'v[0-9]*.[0-9]*.[0-9]'
--sort=version:refname); do for file in $(git ls-tree $version --
./Documentation/|awk '{print $4}'|grep '^Documentation/git-.*\.txt');
do git show $version:$file | perl -pe 'tr/A-Za-z/N-ZA-Mn-za-m/' >
${file/git-/po/rot13/git-}; done; git add Documentation/po && git
commit -m"Bump rot13 for $version"; done

  parent reply	other threads:[~2017-03-24 15:59 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-12 20:02 [PATCH] l10n: add framework for localizing the manpages Jean-Noel Avila
2017-03-12 20:02 ` Jean-Noel Avila
2017-03-12 20:36   ` Jean-Noël AVILA
2017-03-13  0:01   ` Junio C Hamano
2017-03-14 21:00     ` Ævar Arnfjörð Bjarmason
2017-03-14 21:13       ` Junio C Hamano
2017-03-15  8:11       ` Jean-Noël Avila
2017-03-15  9:01         ` Ævar Arnfjörð Bjarmason
2017-03-15  7:58     ` Jean-Noël Avila
2017-03-15 16:07       ` Junio C Hamano
2017-03-15 18:28       ` Stefan Beller
2017-03-18 17:53 ` [PATCH v2 1/2] l10n: Introduce framework for localizing man pages Jean-Noel Avila
2017-03-18 17:53   ` [PATCH v2 2/2] l10n: Add git-add.txt to localized " Jean-Noel Avila
2017-03-18 19:41   ` [PATCH v2 1/2] l10n: Introduce framework for localizing " Junio C Hamano
2017-03-18 22:17     ` Jean-Noël AVILA
2017-03-18 23:03     ` Junio C Hamano
2017-03-20  2:11       ` Junio C Hamano
2017-03-20  8:10         ` Jean-Noël Avila
2017-03-20  8:21           ` Jean-Noël AVILA
2017-03-20 16:50           ` Junio C Hamano
2017-03-20 21:02 ` Rework manpage localisation Jean-Noel Avila
2017-03-20 21:02   ` [PATCH v3 1/2] l10n: Introduce framework for localizing man pages Jean-Noel Avila
2017-03-21 18:09     ` Junio C Hamano
2017-03-20 21:02   ` [PATCH v3 2/2] l10n: Add git-add.txt to localized " Jean-Noel Avila
2017-03-20 22:05     ` Junio C Hamano
2017-03-22 12:01       ` Jean-Noël Avila
2017-03-22 18:02         ` Junio C Hamano
2017-03-22 18:41           ` Stefan Beller
2017-03-22 18:56             ` Junio C Hamano
2017-03-22 18:59               ` Stefan Beller
2017-03-24 14:21                 ` Michael J Gruber
2017-03-25 15:40           ` Jean-Noël AVILA
2017-03-26 22:56             ` Junio C Hamano
2017-03-27 20:12               ` Jean-Noël AVILA
2017-03-27 20:29                 ` Junio C Hamano
2017-03-24 15:58       ` Ævar Arnfjörð Bjarmason [this message]
2017-03-24 17:57         ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CACBZZX51BskROyC_Kp=-PHuqzJ4uaDpu277R0Y4qCvz=6vLUiA@mail.gmail.com' \
    --to=avarab@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jn.avila@free.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).