From: Junio C Hamano Date: Wed, 06 Feb 2013 02:44:05 GMT Subject: Re: [PATCH v2 2/2] i18n: mark OPTION_NUMBER (-NUM) for translation Message-ID: <7vpq0enoui.fsf@alter.siamese.dyndns.org> In-Reply-To: Jiang Xin writes: > 2013/2/6 Junio C Hamano : >> I somehow suspect that this is going in a direction that makes this >> piece of code much less maintainable. >> >> Look at the entire function and see how many places you do fprintf >> on strings that are marked with _(). short_name and long_name are >> not likely to be translated, but everything else is, especially >> multiple places that show _(opts->help) neither of these patches >> touch. >> >> I wonder if it makes more sense to add a helper function that >> returns the number of column positions (not bytes) with a signature >> similar to fprintf() and use that throughout the function instead. > > I agree, a helper named 'utf8_fprintf' in utf8.c is better. > I will send a patch latter. Yeah, the idea of a helper function I agree with; I am not thrilled with the name utf8_fprintf() though. People use the return value of fprintf() for error detection (negative return value means an error) most of the time (even though non-negative value gives the number of bytes shown), but the primary use of the return value from the utf8_fprintf() function will be to get the display width, and the name does not quite capture that.