Re: [PATCH 1/8] worktree: factor out repeated string literal
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Jun 8, 2020, 21:41 UTC
- Message-ID
- <CAPig+cTRsyPWGb1J+28dWESKqK84RQr-yhZEmTf1=mtkmO4Y0w@mail.gmail.com>
- In-Reply-To
- <20200608193834.GA4196@konoha>
On Mon, Jun 8, 2020 at 3:38 PM Shourya Shukla <shouryashukla.oo@gmail.com> wrote:
Show 10 quoted lines
> On 08/06 02:23, Eric Sunshine wrote: > > Although this change seems to increase the "sentence lego quotient", it > > should be reasonably safe, as the reason for removal is a distinct > > clause, not strictly related to the prefix. Moreover, the "worktrees" in > > "Removing worktrees/%s:" is a path literal which ought not be localized, > > so by factoring it out, we can more easily avoid exposing that path > > fragment to translators. > > Could you explain the above paragraph just a bit more? The English is > confusing me a bit.
Which part is confusing you? The "sentence lego" bit or the bit about not wanting translators touching a path literal? Or something else?
The path element bit is easy: A literal path, such as ".git/worktrees/foo" should not be translated to a user's local language.
Sentence lego refers to the process of composing text from several pieces. Doing so can make it difficult for a translator to localize it to a particular language because the standalone pieces don't necessarily provide sufficient context for a proper translation. For instance, this example is from [1]:
Translatable strings should be entire sentences. It is often not
possible to translate single verbs or adjectives in a
substitutable way. printf ("File %s is %s protected", filename, rw ? "write" : "read"); Most translators will not look at the source and will thus only see
the string "File %s is %s protected", which is
unintelligible. Change this to printf (rw ? "File %s is write protected" :
"File %s is read protected", filename); This way the translator will not only understand the message, she
will also be able to find the appropriate grammatical
construction. A French translator for example translates "write
protected" like "protected against writing".[1]: https://www.gnu.org/software/gettext/manual/html_node/Preparing-Strings.html