Subject: Re: Please pull gitk.git master branch

From: Junio C Hamano <[email-masked]>
Date: Sun, 12 Dec 2010 19:11:57 -0800

Junio C Hamano <[email-masked]> writes:

> Thanks, pulled (not yet pushed out).

Yikes.

Paul, has this ever been install-tested before you accepted the "pt-BR"
patch to your repository?

"msgfmt --tcl" produces po/pt_br.msg for me, but the Makefile wants to
install po/pt_BR.msg and fails.  Perhaps the poor-man's po2msg.sh does not
have this glitch and produces po/pt_BR.msg, but I don't think that is an
excuse for not checking with both that script and the real msgfmt before
the change gets this far.

Using the -o option on the msgfmt command line to force the command to
generate pt_BR.msg fails with:

    msgfmt: --tcl and --output-file are mutually exclusive

Combined with this and the fact that msgfmt produces po/pt_br.msg out of
the input po/pt_BR.po makes me suspect that Tcl runtime enviornment does
not actually expect pt_BR.msg but want to see the country part downcased.
In which case we may need to fix po2msg.sh to match that behaviour.

An workaround would be to rename po/pt_BR.po to po/pt_br.po but I don't
know if there are unexpected side effects if we did that.

I'd like to see this glitch sorted out before I push out the result of the
merge, so it is likely there won't be a pushout tonight.  We need to know:

 * Is this "downcase the country part for --tcl" a bug in the particular
   version of msgfmt I happen to have (it is 0.17 from GNU gettext on
   Debian), or is it the filename convention expected by the Tcl i18n
   runtime environment to have both language and country in lowercase?

 * What is the recommended best practice in Tcl i18n community for naming
   lang_COUNTRY.po file?  Do people typically spell the COUNTRY in
   uppercase and let "msgfmt --tcl" downcase, and deal with the filename
   case issues in the Makefile themselves?  This feels yucky, as it means
   that we cannot use '%.msg : %.po' dependency pattern, but need to list
   the dependencies by hand.  Or do they spell country part in lowercase
   to avoid this whole issue?

My _preferred_ outcome is to see that naming the input "po/pt_br.po" and
using the output "po/pt_br.msg" is the BCP, but I'd like somebody to find
out what the accepted practice would be in the Tcl land first.