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 translation archive.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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html