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

[PATCH v4 0/4] Factorize i18n

From
Jean-Noël Avila via GitGitGadget <gitgitgadget@gmail.com>
Date
Jan 31, 2022, 22:07 UTC
Message-ID
<pull.1123.v4.git.1643666870.gitgitgadget@gmail.com>
In-Reply-To
<pull.1123.v3.git.1643580113.gitgitgadget@gmail.com>
This is a small series of i18n factorizations. Again the idea is to:
 * reduce the number of strings to translate
 * make life easier for translators by removing constant parts of the
   strings to translate
 * uniformize the UI by using a type of message for the a given type of
   condition.
Changes since V1:
 * factorize checks of more than 2 incompatible options into dedicated
   functions which list all the incompatible options present on the command
   line
Changes since V2:
 * switch to tab size 8
 * rename die_if* to die_for*
 * make 3 arg check a call to 4 arg check
 * switch another part to die_for_incompatible_opt4
Changes since V3:
 * remove spurious blank line
 * reword last commit to better reflect the changes
Jean-Noël Avila (4):
  i18n: factorize more 'incompatible options' messages
  i18n: factorize "invalid value" messages
  i18n: remove from i18n strings that do not hold translatable parts
  i18n: fix some misformated placeholders in command synopsis
 archive.c                                 |  2 +-
 builtin/am.c                              |  8 ++++--
 builtin/bisect--helper.c                  |  6 ++--
 builtin/blame.c                           |  7 +++--
 builtin/commit.c                          | 35 ++++++++++-------------
 builtin/count-objects.c                   |  2 +-
 builtin/difftool.c                        |  5 ++--
 builtin/fast-export.c                     |  2 +-
 builtin/fetch.c                           |  4 +--
 builtin/grep.c                            |  8 ++----
 builtin/hash-object.c                     |  2 +-
 builtin/help.c                            |  4 +--
 builtin/log.c                             |  5 ++--
 builtin/merge-base.c                      |  6 ++--
 builtin/mktag.c                           |  2 +-
 builtin/mktree.c                          |  2 +-
 builtin/notes.c                           |  6 ++--
 builtin/pack-objects.c                    |  2 +-
 builtin/prune-packed.c                    |  2 +-
 builtin/pull.c                            |  6 ++--
 builtin/push.c                            |  2 +-
 builtin/rebase.c                          |  2 +-
 builtin/reflog.c                          |  6 ++--
 builtin/remote.c                          |  2 +-
 builtin/replace.c                         |  2 +-
 builtin/rev-list.c                        |  2 +-
 builtin/send-pack.c                       |  2 +-
 builtin/sparse-checkout.c                 |  8 +++---
 builtin/stripspace.c                      |  4 +--
 builtin/submodule--helper.c               |  2 +-
 builtin/update-server-info.c              |  2 +-
 diff-merges.c                             |  2 +-
 gpg-interface.c                           |  6 ++--
 ls-refs.c                                 |  3 +-
 parallel-checkout.c                       |  4 +--
 parse-options.c                           | 34 ++++++++++++++++++++++
 parse-options.h                           | 16 +++++++++++
 sequencer.c                               |  2 +-
 setup.c                                   |  3 +-
 submodule-config.c                        |  2 +-
 t/t4150-am.sh                             |  2 +-
 t/t7500-commit-template-squash-signoff.sh |  2 +-
 42 files changed, 139 insertions(+), 87 deletions(-)
base-commit: 5d01301f2b865aa8dba1654d3f447ce9d21db0b5
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1123%2Fjnavila%2Ffactorize_i18n-v4
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1123/jnavila/factorize_i18n-v4
Pull-Request: https://github.com/gitgitgadget/git/pull/1123
Range-diff vs v3:
 1:  aac3f9821c7 ! 1:  2eac2ef502b i18n: factorize more 'incompatible options' messages
     @@ parse-options.h: NORETURN void usage_msg_opt(const char *msg,
       /*
        * Use these assertions for callbacks that expect to be called with NONEG and
        * NOARG respectively, and do not otherwise handle the "unset" and "arg"
     -@@ parse-options.h: int parse_opt_tracking_mode(const struct option *, const char *, int);
     - #define OPT_PATHSPEC_FILE_NUL(v)  OPT_BOOL(0, "pathspec-file-nul", v, N_("with --pathspec-from-file, pathspec elements are separated with NUL character"))
     - #define OPT_AUTOSTASH(v) OPT_BOOL(0, "autostash", v, N_("automatically stash/stash pop before and after"))
     - 
     -+
     - #endif
      
       ## t/t7500-commit-template-squash-signoff.sh ##
      @@ t/t7500-commit-template-squash-signoff.sh: test_expect_success '--fixup=reword: give error with pathsec' '
 2:  078336ae418 = 2:  2d359118d8f i18n: factorize "invalid value" messages
 3:  d5ddd903df7 = 3:  cdaa576aac1 i18n: remove from i18n strings that do not hold translatable parts
 4:  b8e80e178ee ! 4:  f37b03128b2 i18n: transfer variables into placeholders in command synopsis
     @@ Metadata
      Author: Jean-Noël Avila <jn.avila@free.fr>
      
       ## Commit message ##
     -    i18n: transfer variables into placeholders in command synopsis
     +    i18n: fix some misformated placeholders in command synopsis
     +
     +     * add '<>' around arguments where missing
     +     * convert plurals into '...' forms
      
          This applies the style guide for documentation.
      
          Signed-off-by: Jean-Noël Avila <jn.avila@free.fr>
     +    Reviewed-by: Phillip Wood <phillip.wood123@gmail.com>
      
       ## builtin/fast-export.c ##
      @@
-- 
gitgitgadget
Previous: Johannes SixtNext: Jean-Noël Avila via GitGitGadget
Message 32 of 41 in “Factorize i18n”
  1. 0/4 Factorize i18nJean-Noël Avila via GitGitGadget, Jan 22, 2022
  2. 1/4 i18n: factorize more 'incompatible options' messagesJean-Noël Avila via GitGitGadget, Jan 22, 2022
  3. Johannes SixtJan 24, 2022
  4. Phillip WoodJan 24, 2022
  5. Jean-Noël AVILAJan 25, 2022
  6. Johannes SixtJan 25, 2022
  7. 2/4 i18n: factorize "invalid value" messagesJean-Noël Avila via GitGitGadget, Jan 22, 2022
  8. Phillip WoodJan 24, 2022
  9. 4/4 i18n: transfer variables into placeholders in command synopsisJean-Noël Avila via GitGitGadget, Jan 22, 2022
  10. 3/4 i18n: remove from i18n strings that do not hold translatable partsJean-Noël Avila via GitGitGadget, Jan 22, 2022
  11. 0/4 Factorize i18nJean-Noël Avila via GitGitGadget, Jan 28, 2022
  12. 1/4 i18n: factorize more 'incompatible options' messagesJean-Noël Avila via GitGitGadget, Jan 28, 2022
  13. Johannes SixtJan 28, 2022
  14. Junio C HamanoJan 28, 2022
  15. Johannes SixtJan 29, 2022
  16. Jean-Noël AVILAJan 29, 2022
  17. Johannes SixtJan 29, 2022
  18. Ævar Arnfjörð BjarmasonFeb 1, 2022
  19. 2/4 i18n: factorize "invalid value" messagesJean-Noël Avila via GitGitGadget, Jan 28, 2022
  20. 3/4 i18n: remove from i18n strings that do not hold translatable partsJean-Noël Avila via GitGitGadget, Jan 28, 2022
  21. 4/4 i18n: transfer variables into placeholders in command synopsisJean-Noël Avila via GitGitGadget, Jan 28, 2022
  22. 0/4 Factorize i18nJean-Noël Avila via GitGitGadget, Jan 30, 2022
  23. 1/4 i18n: factorize more 'incompatible options' messagesJean-Noël Avila via GitGitGadget, Jan 30, 2022
  24. Johannes SixtJan 31, 2022
  25. Phillip WoodJan 31, 2022
  26. 2/4 i18n: factorize "invalid value" messagesJean-Noël Avila via GitGitGadget, Jan 30, 2022
  27. 4/4 i18n: transfer variables into placeholders in command synopsisJean-Noël Avila via GitGitGadget, Jan 30, 2022
  28. Phillip WoodJan 31, 2022
  29. Jean-Noël AvilaJan 31, 2022
  30. 3/4 i18n: remove from i18n strings that do not hold translatable partsJean-Noël Avila via GitGitGadget, Jan 30, 2022
  31. Johannes SixtJan 31, 2022
  32. 0/4 Factorize i18nJean-Noël Avila via GitGitGadget, Jan 31, 2022
  33. 1/4 i18n: factorize more 'incompatible options' messagesJean-Noël Avila via GitGitGadget, Jan 31, 2022
  34. Junio C HamanoJan 31, 2022
  35. Johannes SixtFeb 1, 2022
  36. Junio C HamanoFeb 1, 2022
  37. Jean-Noël AvilaFeb 2, 2022
  38. Johannes SixtFeb 2, 2022
  39. 2/4 i18n: factorize "invalid value" messagesJean-Noël Avila via GitGitGadget, Jan 31, 2022
  40. 3/4 i18n: remove from i18n strings that do not hold translatable partsJean-Noël Avila via GitGitGadget, Jan 31, 2022
  41. 4/4 i18n: fix some misformated placeholders in command synopsisJean-Noël Avila via GitGitGadget, Jan 31, 2022

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.