From: Junio C Hamano Date: Fri, 14 Jun 2013 17:20:47 GMT Subject: Re: [PATCH 1/2] am: handle stray $dotest directory Message-ID: <7vehc4pq1c.fsf@alter.siamese.dyndns.org> In-Reply-To: Ramkumar Ramachandra writes: > Junio C Hamano wrote: >> The reason would become clear once you think what string you are >> feeding eval_gettext with if you do not escape. The translators >> translate a fixed string (possibly with placeholders) to a fixed >> translated string (possibly with placeholders). >> >> eval_gettext "Stray $dotest directory found. ..." >> >> would allow the shell to expand $dotest before eval_gettext sees it, >> which would mean the string is no longer a constant. > > Ah. I was scratching my head wondering why $dotest needed to be > translated (it's just a path). "Stray" and "directory found" are to be translated. You can have infinite possibilities to $dotest that is computed at runtime, so that should be kept as a variable, untranslated in the message template.