From: Vincent van Ravesteijn Date: Thu, 24 May 2012 12:34:01 GMT Subject: Re: [PATCH] Collocate strings to simplify translation Message-ID: <4FBE2AB9.6010502@lyx.org> In-Reply-To: <4FBE2797.80505@viscovery.net> Op 24-5-2012 14:20, Johannes Sixt schreef: > Am 5/24/2012 11:55, schrieb Vincent van Ravesteijn: >> Op 24-5-2012 10:32, Zbigniew Jędrzejewski-Szmek schreef: >>> On 05/24/2012 09:41 AM, Vincent van Ravesteijn wrote: >>>> - status_printf_ln(s, c, _("%s files:"), what); >>>> + status_printf_ln(s, c, _("%s:"), what); >>> How can "%s:" be translated? _() should be removed here. >> Some languages might use a character different from ':'. For example, >> Chinese uses a full-width character ':' (unicode 0xFF1A) instead of a >> half-width character. Maybe this is taken care of by the system/shell or >> whatever, maybe not. Other examples are languages that read from right to >> left. I guess it should then be translated by ":%s". >> >> This will probably be a matter of convention. > Shouldn't you then move the colon with the "files"? That is, here we have: > > - status_printf_ln(s, c, _("%s files:"), what); > + status_printf_ln(s, c, "%s", what); > > and elsewhere we use _("Untracked files:") and _("Ignored files:"). I would avoid having too many 'decorations' in the strings themselves, because it is annoying to have to translate "Untracked files", "untracked files", "untracked files:", " (untracked files)" etc. Besides, the translation of "%s:" can be reused numerous times. Just my opinion. Vincent