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

[PATCH 3/5] gettext docs: the gettext.h C interface

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Sep 10, 2010, 19:35 UTC
Message-ID
<1284147353-18000-4-git-send-email-avarab@gmail.com>
In-Reply-To
<AANLkTikdHZFmXAdABvS9hPXtbXNJU5NdCOrw5_KP73bX@mail.gmail.com>

Change po/README's "Marking strings for translation" section so that it covers the gettext.h C interface.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 po/README |   36 ++++++++++++++++++++++++++++++++++++
 1 files changed, 36 insertions(+), 0 deletions(-)
diff --git a/po/README b/po/README
index 372cb9c..ac12637 100644
--- a/po/README
+++ b/po/README
@@ -119,3 +119,39 @@ General advice:
 
        /* TRANSLATORS: %s will be "revert" or "cherry-pick" */
        die(_("%s: Unable to write new index file"), me);
+
+We provide wrappers for C, Shell and Perl programs. Here's how they're
+used:
+
+C:
+
+ - Include builtin.h at the top, it'll pull in in gettext.h, which
+   defines the gettext interface. Consult with the list if you need to
+   use gettext.h directly.
+
+ - The C interface is a subset of the normal GNU gettext
+   interface. We currently export these functions:
+
+   - _()
+
+    Mark and translate a string. E.g.:
+
+        printf(_("HEAD is now at %s"), hex);
+
+   - N_()
+
+    A no-op pass-through macro for marking strings inside static
+    initializations, e.g.:
+        
+        static const char *reset_type_names[] = {
+            N_("mixed"), N_("soft"), N_("hard"), N_("merge"), N_("keep"), NULL
+        };
+        
+    And then, later:
+
+        die(_("%s reset is not allowed in a bare repository"),
+               _(reset_type_names[reset_type]));
+
+    Here _() couldn't have statically determined what the translation
+    string will be, but since it was already marked for translation
+    with N_() the look-up in the message catalog will succeed.
-- 
1.7.2.3.313.gcd15
Previous: Ævar Arnfjörð BjarmasonNext: Junio C Hamano
Message 37 of 47 in “[CONTINUE] Add gettext support to Git”
  1. 00/20 [CONTINUE] Add gettext support to GitÆvar Arnfjörð Bjarmason, Sep 7, 2010
  2. 01/20 gettextize: git-clean clean.requireForce bracesÆvar Arnfjörð Bjarmason, Sep 7, 2010
  3. 02/20 gettextize: git-clone "Cloning into" message bracesÆvar Arnfjörð Bjarmason, Sep 7, 2010
  4. 04/20 Makefile: add GNU_GETTEXT, set when we expect GNU gettextÆvar Arnfjörð Bjarmason, Sep 7, 2010
  5. 05/20 Makefile: MSGFMT="msgfmt --check" under GNU_GETTEXTÆvar Arnfjörð Bjarmason, Sep 7, 2010
  6. 06/20 Revert "gettextize: git-revert mark the "me" variable for translation"Ævar Arnfjörð Bjarmason, Sep 7, 2010
  7. 07/20 gettextize: git-revert "Your local changes" messageÆvar Arnfjörð Bjarmason, Sep 7, 2010
  8. 08/20 gettextize: git-revert literal "me" messagesÆvar Arnfjörð Bjarmason, Sep 7, 2010
  9. 09/20 gettext: add GETTEXT_POISON support for shell scriptsÆvar Arnfjörð Bjarmason, Sep 7, 2010
  10. 10/20 gettext: add GETTEXT_POISON tests for shell scriptsÆvar Arnfjörð Bjarmason, Sep 7, 2010
  11. 11/20 gettextize: git-am add git-sh-i18nÆvar Arnfjörð Bjarmason, Sep 7, 2010
  12. 12/20 gettextize: git-am one-line gettext $msg; echoÆvar Arnfjörð Bjarmason, Sep 7, 2010
  13. 13/20 gettextize: git-am multi-line getttext $msg; echoÆvar Arnfjörð Bjarmason, Sep 7, 2010
  14. 14/20 gettextize: git-am eval_gettext messagesÆvar Arnfjörð Bjarmason, Sep 7, 2010
  15. 15/20 gettextize: git-am die messagesÆvar Arnfjörð Bjarmason, Sep 7, 2010
  16. 16/20 gettextize: git-am cannot_fallback messagesÆvar Arnfjörð Bjarmason, Sep 7, 2010
  17. 17/20 gettextize: git-am clean_abort messagesÆvar Arnfjörð Bjarmason, Sep 7, 2010
  18. 18/20 gettextize: git-am "Apply?" messageÆvar Arnfjörð Bjarmason, Sep 7, 2010
  19. 19/20 gettextize: git-am core say messagesÆvar Arnfjörð Bjarmason, Sep 7, 2010
  20. 20/20 gettextize: git-am printf(1) message to eval_gettextÆvar Arnfjörð Bjarmason, Sep 7, 2010
  21. Jonathan NiederSep 7, 2010
  22. Ævar Arnfjörð BjarmasonSep 7, 2010
  23. Jonathan NiederSep 7, 2010
  24. 20/20 gettextize: git-am printf(1) message to eval_gettextÆvar Arnfjörð Bjarmason, Sep 7, 2010
  25. 19/20 gettextize: git-am core say messagesÆvar Arnfjörð Bjarmason, Sep 7, 2010
  26. Junio C HamanoSep 8, 2010
  27. Ævar Arnfjörð BjarmasonSep 8, 2010
  28. Ævar Arnfjörð BjarmasonSep 10, 2010
  29. Junio C HamanoSep 10, 2010
  30. Ævar Arnfjörð BjarmasonSep 10, 2010
  31. 0/5 gettext docs: programmer docs in po/READMEÆvar Arnfjörð Bjarmason, Sep 10, 2010
  32. Ævar Arnfjörð BjarmasonSep 10, 2010
  33. 1/5 gettext docs: add a "Testing your changes" section to po/READMEÆvar Arnfjörð Bjarmason, Sep 10, 2010
  34. 2/5 gettext docs: add "Marking strings for translation" section in po/READMEÆvar Arnfjörð Bjarmason, Sep 10, 2010
  35. Junio C HamanoSep 10, 2010
  36. Ævar Arnfjörð BjarmasonSep 10, 2010
  37. 3/5 gettext docs: the gettext.h C interfaceÆvar Arnfjörð Bjarmason, Sep 10, 2010
  38. Junio C HamanoSep 10, 2010
  39. Ævar Arnfjörð BjarmasonSep 10, 2010
  40. Junio C HamanoSep 10, 2010
  41. Ævar Arnfjörð BjarmasonSep 10, 2010
  42. Junio C HamanoSep 10, 2010
  43. Ævar Arnfjörð BjarmasonSep 10, 2010
  44. 4/5 gettext docs: the git-sh-i18n.sh Shell interfaceÆvar Arnfjörð Bjarmason, Sep 10, 2010
  45. Junio C HamanoSep 10, 2010
  46. Ævar Arnfjörð BjarmasonSep 10, 2010
  47. 5/5 gettext docs: the Git::I18N Perl interfaceÆvar Arnfjörð Bjarmason, Sep 10, 2010

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.