Regarding i18n in Mercurial

Anton Shestakov av6 at dwimlabs.net
Fri Aug 10 06:32:00 EDT 2018


On Fri, 10 Aug 2018 09:00:10 +0200
David Demelier <markand at malikania.fr> wrote:

> Since translations are not updated often, my proposal is to completely
> remove them.

Here's the thing: given the multitude of ways to contribute to an open
source project, translating it is one of the most unappreciated such
ways. When people don't understand the language, they often think i18n
commits is just noise (consider: we have a separate hg-i18n repo). If
they do understand the language, they may be too used to seeing
project's original language everywhere and reject changes because of
that. Multiple commits get squashed, credit gets lost, people boo at
your choice of words, etc.

If I ever saw a project that removed work of many people just because
that work wasn't perfect, I'd go contribute to something else where
contributions would be valued. (In case of translations, the work might
have been perfect at some point, and then just bitrotted.)

Removing translations from the whole project is not even needed to make
the interface be in English. Users can remove their own hg.mo file
locally, or use LC_ALL, or even HGPLAIN. Alternatively, they can look at
the interface and get an idea to send missing translations.

Instead of removing, we should think about making translations look
like contributions that we also want, just like patches to code.

> Also, having outdated translations may refer to
> deprecated/removed options.

Luckily, gettext has a "fuzzy" flag that gets added to a message when
its original text changes. It makes the message retain the existing
translation, but doesn't allow its use in the interface until it's is
updated.


More information about the Mercurial-devel mailing list