The main code change is in the first patch, which enables parseopt to use gettext(). The rest is a bunch of N_(). I only post 2 patches here. The rest can be found at
https://github.com/pclouds/git/commits/parseopt-i18n
About 1000 strings are marked for translation in this series. Shell-based parseopt is not supported because I don't know how to mark strings in shell scripts.
I suggest to merge this series (once it passes the review) in a quiet time in next. Then I'll add additional patches to all topics in pu that touch parseopt and keep doing so until the series graduates to master.
Surprisingly, this series (based on master) does not cause any conflicts with pu. So now may be a good time.
Nguyễn Thái Ngọc Duy (65):
i18n: parseopt: lookup help and argument translations when showing
usage
i18n: apply: mark parseopt strings for translation
i18n: archive: mark parseopt strings for translation
i18n: add: mark parseopt strings for translation
i18n: bisect--helper: mark parseopt strings for translation
i18n: blame: mark parseopt strings for translation
i18n: branch: mark parseopt strings for translation
i18n: cat-file: mark parseopt strings for translation
i18n: check-attr: mark parseopt strings for translation
i18n: checkout-index: mark parseopt strings for translation
i18n: checkout: mark parseopt strings for translation
i18n: cherry: mark parseopt strings for translation
i18n: clean: mark parseopt strings for translation
i18n: clone: mark parseopt strings for translation
i18n: column: mark parseopt strings for translation
i18n: commit: mark parseopt strings for translation
i18n: config: mark parseopt strings for translation
i18n: count-objects: mark parseopt strings for translation
i18n: describe: mark parseopt strings for translation
i18n: fast-export: mark parseopt strings for translation
i18n: fetch: mark parseopt strings for translation
i18n: fmt-merge-msg: mark parseopt strings for translation
i18n: for-each-ref: mark parseopt strings for translation
i18n: format-patch: mark parseopt strings for translation
i18n: fsck: mark parseopt strings for translation
i18n: gc: mark parseopt strings for translation
i18n: grep: mark parseopt strings for translation
i18n: hash-object: mark parseopt strings for translation
i18n: help: mark parseopt strings for translation
i18n: init-db: mark parseopt strings for translation
i18n: log: mark parseopt strings for translation
i18n: ls-files: mark parseopt strings for translation
i18n: ls-tree: mark parseopt strings for translation
i18n: merge-base: mark parseopt strings for translation
i18n: merge-file: mark parseopt strings for translation
i18n: merge: mark parseopt strings for translation
i18n: mktree: mark parseopt strings for translation
i18n: mv: mark parseopt strings for translation
i18n: name-rev: mark parseopt strings for translation
i18n: notes: mark parseopt strings for translation
i18n: pack-objects: mark parseopt strings for translation
i18n: pack-refs: mark parseopt strings for translation
i18n: prune-packed: mark parseopt strings for translation
i18n: prune: mark parseopt strings for translation
i18n: push: mark parseopt strings for translation
i18n: read-tree: mark parseopt strings for translation
i18n: remote: mark parseopt strings for translation
i18n: replace: mark parseopt strings for translation
i18n: status: mark parseopt strings for translation
i18n: rerere: mark parseopt strings for translation
i18n: reset: mark parseopt strings for translation
i18n: rev-parse: mark parseopt strings for translation
i18n: revert, cherry-pick: mark parseopt strings for translation
i18n: rm: mark parseopt strings for translation
i18n: shortlog: mark parseopt strings for translation
i18n: show-branch: mark parseopt strings for translation
i18n: show-ref: mark parseopt strings for translation
i18n: symbolic-ref: mark parseopt strings for translation
i18n: tag: mark parseopt strings for translation
i18n: update-index: mark parseopt strings for translation
i18n: update-ref: mark parseopt strings for translation
i18n: update-server-info: mark parseopt strings for translation
i18n: verify-pack: mark parseopt strings for translation
i18n: verify-tag: mark parseopt strings for translation
i18n: write-tree: mark parseopt strings for translationarchive.c | 38 +++++++------- builtin/add.c | 26 +++++----- builtin/apply.c | 62 +++++++++++----------- builtin/archive.c | 12 ++-- builtin/bisect--helper.c | 6 +- builtin/blame.c | 46 ++++++++-------- builtin/branch.c | 54 +++++++++--------- builtin/cat-file.c | 20 ++++---- builtin/check-attr.c | 12 ++-- builtin/checkout-index.c | 24 ++++---- builtin/checkout.c | 40 +++++++------- builtin/clean.c | 18 +++--- builtin/clone.c | 56 ++++++++++---------- builtin/column.c | 16 +++--- builtin/commit.c | 98 +++++++++++++++++----------------- builtin/config.c | 56 ++++++++++---------- builtin/count-objects.c | 4 +- builtin/describe.c | 28 +++++----- builtin/fast-export.c | 28 +++++----- builtin/fetch.c | 48 ++++++++-------- builtin/fmt-merge-msg.c | 16 +++--- builtin/for-each-ref.c | 18 +++--- builtin/fsck.c | 24 ++++---- builtin/gc.c | 12 ++-- builtin/grep.c | 90 ++++++++++++++++---------------- builtin/hash-object.c | 16 +++--- builtin/help.c | 10 ++-- builtin/init-db.c | 18 +++--- builtin/log.c | 80 ++++++++++++++-------------- builtin/ls-files.c | 54 +++++++++--------- builtin/ls-tree.c | 22 ++++---- builtin/merge-base.c | 12 ++-- builtin/merge-file.c | 20 ++++---- builtin/merge.c | 48 ++++++++-------- builtin/mktree.c | 8 ++-- builtin/mv.c | 10 ++-- builtin/name-rev.c | 22 ++++---- builtin/notes.c | 120 +++++++++++++++++++++--------------------- builtin/pack-objects.c | 64 +++++++++++----------- builtin/pack-refs.c | 6 +- builtin/prune-packed.c | 6 +- builtin/prune.c | 10 ++-- builtin/push.c | 34 ++++++------ builtin/read-tree.c | 38 +++++++------- builtin/remote.c | 84 +++++++++++++++--------------- builtin/replace.c | 12 ++-- builtin/rerere.c | 4 +- builtin/reset.c | 20 ++++---- builtin/rev-parse.c | 18 +++--- builtin/revert.c | 36 ++++++------ builtin/rm.c | 14 +++--- builtin/shortlog.c | 14 +++--- builtin/show-branch.c | 42 +++++++------- builtin/show-ref.c | 28 +++++----- builtin/symbolic-ref.c | 8 ++-- builtin/tag.c | 56 ++++++++++---------- builtin/update-index.c | 54 +++++++++--------- builtin/update-ref.c | 10 ++-- builtin/update-server-info.c | 4 +- builtin/verify-pack.c | 6 +- builtin/verify-tag.c | 4 +- builtin/write-tree.c | 10 ++-- parse-options.c | 19 ++++--- parse-options.h | 25 +++++---- 64 files changed, 962 insertions(+), 956 deletions(-)
-- 1.7.8.36.g69ee2