From: Junio C Hamano Date: Tue, 29 May 2012 18:49:00 GMT Subject: Re: [PATCH 03/65] i18n: archive: mark parseopt strings for translation Message-ID: <7vmx4q4ycj.fsf@alter.siamese.dyndns.org> In-Reply-To: <20120529121428.GD14697@burratino> Jonathan Nieder writes: > Nguyen Thai Ngoc Duy wrote: > >> The test suite is currently more focused on >> features than human readable output. > > Thanks for clarifying this. Yes, that's the point of the > GETTEXT_POISON check. It is supposed to make sure that running git in > another locale does not break features by modifying text that > (internal and external) scripts parse. Correct. The most important thing to review in test scripts is that tests that verify output from the plumbing commands are *not* marked with GETTEXT_POISON (hence test_i18ncmp). IOW, storing "ls-files" output and then checking it with expected result using test_i18ncmp is *wrong*, as it won't catch mistakenly marking plumbing messages with _() and N_(). > For a sanity check on the messages marked for translation from a > translator's perspective, it is generally better to just look at the > pot file. And from the end user's perspective, I don't know a better > way to test than to just use git a little. > > As a side effect, GETTEXT_POISON keeps the test suite usable for > exercising a copy of git configured for an actual other locale, which > means that in the future the test suite could be used to check for > problems due to differences between locales other than the translated > messages (think: charset, collation order, etc). > > Ciao, > Jonathan