git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 2/2] i18n: Add extra -- to seperate gettext and message

From
Jiang Xin <worldhello.net@gmail.com>
Date
Jun 15, 2012, 16:05 UTC
Message-ID
<CANYiYbGnoZDMkOq-goaPO98L4Ar1HzMVS-JjjBz7rNHVgv4ywQ@mail.gmail.com>
In-Reply-To
<7vpq9ft3ls.fsf@alter.siamese.dyndns.org>
2012/6/5 Junio C Hamano <gitster@pobox.com>:
Show 5 quoted lines
> I think there is value for having a generic solution than declaring
> "No message shall begin with a dash".
>
> I am not convinced that it is ideal for the implementation of
> gettext_ln to prepend "--" in front when it calls gettext, though.
I saw Ævar's bug report on xgettext to the GNU gettext list:
 * http://git.661346.n2.nabble.com/GETTEXT-BUG-xgettext-1-can-t-extract-quot-gettext-foo-quot-td7560744.html

May be post to a more official mailing list, such as bug-gnu-utils at https://lists.gnu.org/mailman/listinfo/bug-gnu-utils will get some response, but I doubt there won't be a clear resolution in xgettext.

The default configurations of xgettext for shell scripts are defined in file 'gettext-tools/src/x-sh.c':

      x_sh_keyword ("gettext");
      x_sh_keyword ("ngettext:1,2");
      x_sh_keyword ("eval_gettext");
      x_sh_keyword ("eval_ngettext:1,2");

Keyword "gettext" above is the same as "gettext:1". xgettext has no idea of options and arguments, if there is a seperator ('--') between gettext and the message, message is argument 2. For example:

    gettext -- "--cached cannot be used with --files"

We can override the default settings of xgettext by passing '-k' and multiple '--keyword', '--flags' options to xgettext.

    xgettext  ... --language=Shell \
                  -k  --keyword=gettext:2 \
                  --flag=gettext:2:pass-sh-format  ...
But "gettext message" will be broken.

Write a wrapper for gettext and extract messages using 'xgettext --keyword=<gettext-wrapper>' is a reasonable solution.

-- 
Jiang Xin
Previous: Junio C HamanoNext: Jonathan Nieder
Message 6 of 8 in “i18n: Extract msgs marked by sh gettext wrappers”
  1. 1/2 i18n: Extract msgs marked by sh gettext wrappersJiang Xin, Jun 3, 2012
  2. 2/2 i18n: Add extra -- to seperate gettext and messageJiang Xin, Jun 3, 2012
  3. Ævar Arnfjörð BjarmasonJun 4, 2012
  4. Jiang XinJun 4, 2012
  5. Junio C HamanoJun 4, 2012
  6. Jiang XinJun 15, 2012
  7. Jonathan NiederJun 15, 2012
  8. Junio C HamanoJun 15, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.