From b9a972691e3967166e642bd91ea229087a6b4874 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:43:42 +0000 Subject: [PATCH 01/48] i18n: git-am add git-sh-i18n MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Source git-sh-i18n in git-am.sh, it's needed to import the Git gettext shell functions. Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-am.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/git-am.sh b/git-am.sh index 6cdd5910db..79c5ea2a57 100755 --- a/git-am.sh +++ b/git-am.sh @@ -37,6 +37,7 @@ rerere-autoupdate update the index with reused conflict resolution if possible rebasing* (internal use for git-rebase)" . git-sh-setup +. git-sh-i18n prefix=$(git rev-parse --show-prefix) set_reflog_action am require_work_tree From 81dd2fe542f68d1f4c286806ce1560b269c79275 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:43:43 +0000 Subject: [PATCH 02/48] i18n: git-am one-line gettext $msg; echo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit One-line `gettext $msg; echo' messages are the simplest use case for gettext(1). Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-am.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/git-am.sh b/git-am.sh index 79c5ea2a57..f54f13d984 100755 --- a/git-am.sh +++ b/git-am.sh @@ -115,7 +115,7 @@ go_next () { cannot_fallback () { echo "$1" - echo "Cannot fall back to three-way merge." + gettext "Cannot fall back to three-way merge."; echo exit 1 } @@ -645,7 +645,7 @@ do if test -z "$GIT_AUTHOR_EMAIL" then - echo "Patch does not have a valid e-mail address." + gettext "Patch does not have a valid e-mail address."; echo stop_here $this fi @@ -696,7 +696,7 @@ do action=again while test "$action" = again do - echo "Commit Body is:" + gettext "Commit Body is:"; echo echo "--------------------------" cat "$dotest/final-commit" echo "--------------------------" From bd8643ae51622abadd47535ea2f7763282f7d8ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:43:44 +0000 Subject: [PATCH 03/48] i18n: git-am multi-line getttext $msg; echo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When we have multi-line `gettext $msg; echo' messages we can't preserve the existing indenting because gettext(1) can't accept input on stdin. Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-am.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/git-am.sh b/git-am.sh index f54f13d984..5a152b0878 100755 --- a/git-am.sh +++ b/git-am.sh @@ -757,16 +757,16 @@ do # working tree. resolved= git diff-index --quiet --cached HEAD -- && { - echo "No changes - did you forget to use 'git add'?" - echo "If there is nothing left to stage, chances are that something else" - echo "already introduced the same changes; you might want to skip this patch." + gettext "No changes - did you forget to use 'git add'? +If there is nothing left to stage, chances are that something else +already introduced the same changes; you might want to skip this patch."; echo stop_here_user_resolve $this } unmerged=$(git ls-files -u) if test -n "$unmerged" then - echo "You still have unmerged paths in your index" - echo "did you forget to use 'git add'?" + gettext "You still have unmerged paths in your index +did you forget to use 'git add'?"; echo stop_here_user_resolve $this fi apply_status=0 From a4372c373bc4f1a36137af315a8f8fe20385203b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:43:45 +0000 Subject: [PATCH 04/48] i18n: git-am eval_gettext messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Messages that use variables to be interpolated need to use eval_gettext(), this wrapper will eval the message and expand the variable for us. Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-am.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/git-am.sh b/git-am.sh index 5a152b0878..7c0273c9ad 100755 --- a/git-am.sh +++ b/git-am.sh @@ -99,9 +99,9 @@ stop_here_user_resolve () { printf '%s\n' "$resolvemsg" stop_here $1 fi - echo "When you have resolved this problem run \"$cmdline --resolved\"." - echo "If you would prefer to skip this patch, instead run \"$cmdline --skip\"." - echo "To restore the original branch and stop patching run \"$cmdline --abort\"." + eval_gettext "When you have resolved this problem run \"\$cmdline --resolved\". +If you would prefer to skip this patch, instead run \"\$cmdline --skip\". +To restore the original branch and stop patching run \"\$cmdline --abort\"."; echo stop_here $1 } @@ -608,9 +608,9 @@ do go_next && continue test -s "$dotest/patch" || { - echo "Patch is empty. Was it split wrong?" - echo "If you would prefer to skip this patch, instead run \"$cmdline --skip\"." - echo "To restore the original branch and stop patching run \"$cmdline --abort\"." + eval_gettext "Patch is empty. Was it split wrong? +If you would prefer to skip this patch, instead run \"\$cmdline --skip\". +To restore the original branch and stop patching run \"\$cmdline --abort\"."; echo stop_here $this } rm -f "$dotest/original-commit" "$dotest/author-script" From 22fdd11432d6177ad6f8b9e32f0c4a8101542786 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:43:46 +0000 Subject: [PATCH 05/48] i18n: git-am gettext + gettext to stderr message Signed-off-by: Junio C Hamano --- git-am.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/git-am.sh b/git-am.sh index 7c0273c9ad..d56c7e9df9 100755 --- a/git-am.sh +++ b/git-am.sh @@ -89,8 +89,11 @@ safe_to_abort () { then return 0 fi - echo >&2 "You seem to have moved HEAD since the last 'am' failure." - echo >&2 "Not rewinding to ORIG_HEAD" + ( + gettext "You seem to have moved HEAD since the last 'am' failure. +Not rewinding to ORIG_HEAD" && + echo + ) >&2 return 1 } From 790872592ee51318062a2c0cc68d1040d74ca529 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:43:47 +0000 Subject: [PATCH 06/48] i18n: git-am die messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The die messages in git-am need to use: die "$(gettext "string")" Since gettext(1) emits the message instead of returning it like the C equivalent, and our die() function in git-sh-setup needs to get a string as an argument. Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-am.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/git-am.sh b/git-am.sh index d56c7e9df9..b9ec69e31b 100755 --- a/git-am.sh +++ b/git-am.sh @@ -44,7 +44,7 @@ require_work_tree cd_to_toplevel git var GIT_COMMITTER_IDENT >/dev/null || - die "You need to set your committer info first" + die "$(gettext "You need to set your committer info first")" if git rev-parse --verify -q HEAD >/dev/null then @@ -362,7 +362,7 @@ do --rebasing) rebasing=t threeway=t keep=t scissors=f no_inbody_headers=t ;; -d|--dotest) - die "-d option is no longer supported. Do not use." + die "$(gettext "-d option is no longer supported. Do not use.")" ;; --resolvemsg) shift; resolvemsg=$1 ;; @@ -425,12 +425,12 @@ then false ;; esac || - die "previous rebase directory $dotest still exists but mbox given." + die "$(eval_gettext "previous rebase directory \$dotest still exists but mbox given.")" resume=yes case "$skip,$abort" in t,t) - die "Please make up your mind. --skip or --abort?" + die "$(gettext "Please make up your mind. --skip or --abort?")" ;; t,) git rerere clear @@ -457,7 +457,7 @@ then else # Make sure we are not given --skip, --resolved, nor --abort test "$skip$resolved$abort" = "" || - die "Resolve operation not in progress, we are not resuming." + die "$(gettext "Resolve operation not in progress, we are not resuming.")" # Start afresh. mkdir -p "$dotest" || exit @@ -522,7 +522,7 @@ case "$resolved" in if test "$files" then test -n "$HAS_HEAD" && : >"$dotest/dirtyindex" - die "Dirty index: cannot apply patches (dirty: $files)" + die "$(eval_gettext "Dirty index: cannot apply patches (dirty: \$files)")" fi esac @@ -695,7 +695,7 @@ To restore the original branch and stop patching run \"\$cmdline --abort\"."; ec if test "$interactive" = t then test -t 0 || - die "cannot be interactive without stdin connected to a terminal." + die "$(gettext "cannot be interactive without stdin connected to a terminal.")" action=again while test "$action" = again do From a424ca157fec59d0fd7f1fbd8c9b48059fa0b375 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:43:48 +0000 Subject: [PATCH 07/48] i18n: git-am cannot_fallback messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Translate messages with gettext(1) before they're passed to the cannot_fallback function, just like we handle the die function. Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-am.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/git-am.sh b/git-am.sh index b9ec69e31b..aef2a1bd14 100755 --- a/git-am.sh +++ b/git-am.sh @@ -133,7 +133,7 @@ fall_back_3way () { "$dotest/patch" && GIT_INDEX_FILE="$dotest/patch-merge-tmp-index" \ git write-tree >"$dotest/patch-merge-base+" || - cannot_fallback "Repository lacks necessary blobs to fall back on 3-way merge." + cannot_fallback "$(gettext "Repository lacks necessary blobs to fall back on 3-way merge.")" say Using index info to reconstruct a base tree... if GIT_INDEX_FILE="$dotest/patch-merge-tmp-index" \ @@ -142,8 +142,8 @@ fall_back_3way () { mv "$dotest/patch-merge-base+" "$dotest/patch-merge-base" mv "$dotest/patch-merge-tmp-index" "$dotest/patch-merge-index" else - cannot_fallback "Did you hand edit your patch? -It does not apply to blobs recorded in its index." + cannot_fallback "$(gettext "Did you hand edit your patch? +It does not apply to blobs recorded in its index.")" fi test -f "$dotest/patch-merge-index" && From d62a1461c31e341bea9a25d54d09dcc1cd1a28a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:43:49 +0000 Subject: [PATCH 08/48] i18n: git-am clean_abort messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Messages that used the clean_abort function needed both gettext(1) and eval_gettext(). These need to be interpolated in a string like the die and cannot_fallback messages. Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-am.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/git-am.sh b/git-am.sh index aef2a1bd14..efce63a4ee 100755 --- a/git-am.sh +++ b/git-am.sh @@ -258,7 +258,7 @@ split_patches () { stgit-series) if test $# -ne 1 then - clean_abort "Only one StGIT patch series can be applied at once" + clean_abort "$(gettext "Only one StGIT patch series can be applied at once")" fi series_dir=`dirname "$1"` series_file="$1" @@ -310,9 +310,9 @@ split_patches () { ;; *) if test -n "$parse_patch" ; then - clean_abort "Patch format $patch_format is not supported." + clean_abort "$(eval_gettext "Patch format \$patch_format is not supported.")" else - clean_abort "Patch format detection failed." + clean_abort "$(gettext "Patch format detection failed.")" fi ;; esac From 7a74d04a46eaa24aaea8080178520266d716e5ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:43:50 +0000 Subject: [PATCH 09/48] i18n: git-am "Apply?" message MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Make the "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all" message translatable, and leave a note in a TRANSLATORS comment explaining that translators have to preserve a mention of the y/n/e/v/a characters since the program will expect them, and not their localized equivalents. Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-am.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/git-am.sh b/git-am.sh index efce63a4ee..e1917543e4 100755 --- a/git-am.sh +++ b/git-am.sh @@ -703,7 +703,10 @@ To restore the original branch and stop patching run \"\$cmdline --abort\"."; ec echo "--------------------------" cat "$dotest/final-commit" echo "--------------------------" - printf "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all " + # TRANSLATORS: Make sure to include [y], [n], [e], [v] and [a] + # in your translation. The program will only accept English + # input at this point. + gettext "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all " read reply case "$reply" in [yY]*) action=yes ;; From 865207a6dd9f7cc0c0941798b6ab4115b14f97a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:43:51 +0000 Subject: [PATCH 10/48] i18n: git-am "Falling back" say message MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Make the "Falling back to patching base and 3-way merge..." message used by fall_back_3way() translatable. Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-am.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git-am.sh b/git-am.sh index e1917543e4..a0db15e6bb 100755 --- a/git-am.sh +++ b/git-am.sh @@ -151,7 +151,7 @@ It does not apply to blobs recorded in its index.")" orig_tree=$(cat "$dotest/patch-merge-base") && rm -fr "$dotest"/patch-merge-* || exit 1 - say Falling back to patching base and 3-way merge... + say "$(gettext "Falling back to patching base and 3-way merge...")" # This is not so wrong. Depending on which base we picked, # orig_tree may be wildly different from ours, but his_tree From dff1a98350c97c6ce207c582c8fd042bc6c04cd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:43:52 +0000 Subject: [PATCH 11/48] i18n: git-am core say messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Make the core git-am messages that use say() translatable. These are visible on almost every git am invocation. There are tests that depend on the "Applying" output that need to be changed to use the test_i18* functions along with this translation. Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-am.sh | 6 +++--- t/t4150-am.sh | 2 +- t/t4151-am-abort.sh | 5 +++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/git-am.sh b/git-am.sh index a0db15e6bb..72d4c03b62 100755 --- a/git-am.sh +++ b/git-am.sh @@ -742,7 +742,7 @@ To restore the original branch and stop patching run \"\$cmdline --abort\"."; ec stop_here $this fi - say "Applying: $FIRSTLINE" + say "$(eval_gettext "Applying: \$FIRSTLINE")" case "$resolved" in '') @@ -787,7 +787,7 @@ did you forget to use 'git add'?"; echo # Applying the patch to an earlier tree and merging the # result may have produced the same tree as ours. git diff-index --quiet --cached HEAD -- && { - say No changes -- Patch already applied. + say "$(gettext "No changes -- Patch already applied.")" go_next continue } @@ -813,7 +813,7 @@ did you forget to use 'git add'?"; echo GIT_AUTHOR_DATE= fi parent=$(git rev-parse --verify -q HEAD) || - say >&2 "applying to an empty history" + say >&2 "$(gettext "applying to an empty history")" if test -n "$committer_date_is_author_date" then diff --git a/t/t4150-am.sh b/t/t4150-am.sh index 850fc96d1f..151404e090 100755 --- a/t/t4150-am.sh +++ b/t/t4150-am.sh @@ -465,7 +465,7 @@ test_expect_success 'am newline in subject' ' test_tick && sed -e "s/second/second \\\n foo/" patch1 >patchnl && git am output.out 2>&1 && - grep "^Applying: second \\\n foo$" output.out + test_i18ngrep "^Applying: second \\\n foo$" output.out ' test_expect_success 'am -q is quiet' ' diff --git a/t/t4151-am-abort.sh b/t/t4151-am-abort.sh index c95c4ccc39..1176bcccf3 100755 --- a/t/t4151-am-abort.sh +++ b/t/t4151-am-abort.sh @@ -45,8 +45,9 @@ do test_expect_success "am$with3 --skip continue after failed am$with3" ' test_must_fail git am$with3 --skip >output && - test "$(grep "^Applying" output)" = "Applying: 6" && - test_cmp file-2-expect file-2 && + test_i18ngrep "^Applying" output >output.applying && + test_i18ngrep "^Applying: 6$" output.applying && + test_i18ncmp file-2-expect file-2 && test ! -f .git/MERGE_RR ' From 39dc30dc1b4335083e322495567093d3886bc09b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:43:53 +0000 Subject: [PATCH 12/48] i18n: git-am printf(1) message to eval_gettext MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Convert a message that used printf(1) format to use eval_gettext. It's easier for translators to handle the latter, since the eval format automatically gives them context via variable names. Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-am.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git-am.sh b/git-am.sh index 72d4c03b62..463c741dfc 100755 --- a/git-am.sh +++ b/git-am.sh @@ -797,7 +797,7 @@ did you forget to use 'git add'?"; echo fi if test $apply_status != 0 then - printf 'Patch failed at %s %s\n' "$msgnum" "$FIRSTLINE" + eval_gettext 'Patch failed at $msgnum $FIRSTLINE'; echo stop_here_user_resolve $this fi From a9f578685299239ae2de16fb7389ee9f38364b6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:43:54 +0000 Subject: [PATCH 13/48] i18n: git-pull add git-sh-i18n MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-pull.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/git-pull.sh b/git-pull.sh index fb9e2df931..05011b1d8e 100755 --- a/git-pull.sh +++ b/git-pull.sh @@ -9,6 +9,7 @@ LONG_USAGE='Fetch one or more remote refs and merge it/them into the current HEA SUBDIRECTORY_OK=Yes OPTIONS_SPEC= . git-sh-setup +. git-sh-i18n set_reflog_action "pull $*" require_work_tree cd_to_toplevel From 85af5f82a67f87c7c6054572729a48d2182c72d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:43:55 +0000 Subject: [PATCH 14/48] i18n: git-pull die messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-pull.sh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/git-pull.sh b/git-pull.sh index 05011b1d8e..acb0c37731 100755 --- a/git-pull.sh +++ b/git-pull.sh @@ -18,20 +18,20 @@ cd_to_toplevel die_conflict () { git diff-index --cached --name-status -r --ignore-submodules HEAD -- if [ $(git config --bool --get advice.resolveConflict || echo true) = "true" ]; then - die "Pull is not possible because you have unmerged files. + die "$(gettext "Pull is not possible because you have unmerged files. Please, fix them up in the work tree, and then use 'git add/rm ' -as appropriate to mark resolution, or use 'git commit -a'." +as appropriate to mark resolution, or use 'git commit -a'.")" else - die "Pull is not possible because you have unmerged files." + die "$(gettext "Pull is not possible because you have unmerged files.")" fi } die_merge () { if [ $(git config --bool --get advice.resolveConflict || echo true) = "true" ]; then - die "You have not concluded your merge (MERGE_HEAD exists). -Please, commit your changes before you can merge." + die "$(gettext "You have not concluded your merge (MERGE_HEAD exists). +Please, commit your changes before you can merge.")" else - die "You have not concluded your merge (MERGE_HEAD exists)." + die "$(gettext "You have not concluded your merge (MERGE_HEAD exists).")" fi } @@ -186,7 +186,7 @@ test true = "$rebase" && { # On an unborn branch if test -f "$GIT_DIR/index" then - die "updating an unborn branch with changes added to the index" + die "$(gettext "updating an unborn branch with changes added to the index")" fi else require_clean_work_tree "pull with rebase" "Please commit or stash them." @@ -242,11 +242,11 @@ case "$merge_head" in ?*' '?*) if test -z "$orig_head" then - die "Cannot merge multiple branches into empty head" + die "$(gettext "Cannot merge multiple branches into empty head")" fi if test true = "$rebase" then - die "Cannot rebase onto multiple branches" + die "$(gettext "Cannot rebase onto multiple branches")" fi ;; esac From 9f35aaa917455dee3d205fc28e549a3c640fb448 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:43:56 +0000 Subject: [PATCH 15/48] i18n: git-pull eval_gettext + die message MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-pull.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/git-pull.sh b/git-pull.sh index acb0c37731..06dcd81b02 100755 --- a/git-pull.sh +++ b/git-pull.sh @@ -222,12 +222,12 @@ then echo >&2 "Warning: commit $orig_head." git update-index -q --refresh git read-tree -u -m "$orig_head" "$curr_head" || - die 'Cannot fast-forward your working tree. + die "$(eval_gettext "Cannot fast-forward your working tree. After making sure that you saved anything precious from -$ git diff '$orig_head' +$ git diff \$orig_head output, run $ git reset --hard -to recover.' +to recover.")" fi From 3320a973fee4a238e684d0203b0f2d4b941a2c2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:43:57 +0000 Subject: [PATCH 16/48] i18n: git-pull eval_gettext + warning message MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-pull.sh | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/git-pull.sh b/git-pull.sh index 06dcd81b02..a10b1290bc 100755 --- a/git-pull.sh +++ b/git-pull.sh @@ -217,9 +217,12 @@ then # $orig_head commit, but we are merging into $curr_head. # First update the working tree to match $curr_head. - echo >&2 "Warning: fetch updated the current branch head." - echo >&2 "Warning: fast-forwarding your working tree from" - echo >&2 "Warning: commit $orig_head." + ( + eval_gettext "Warning: fetch updated the current branch head. +Warning: fast-forwarding your working tree from +Warning: commit \$orig_head." && + echo + ) >&2 git update-index -q --refresh git read-tree -u -m "$orig_head" "$curr_head" || die "$(eval_gettext "Cannot fast-forward your working tree. From d0ad8251100c1db6d5265d59275bed09ce4731ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:43:58 +0000 Subject: [PATCH 17/48] i18n: git-submodule add git-sh-i18n MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-submodule.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/git-submodule.sh b/git-submodule.sh index bf110e9cb7..816ab3d95f 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -14,6 +14,7 @@ USAGE="[--quiet] add [-b branch] [-f|--force] [--reference ] [--] ...]" OPTIONS_SPEC= . git-sh-setup +. git-sh-i18n . git-parse-remote require_work_tree From dc2204fe32385fba349e18d953dacd152c72fe00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:43:59 +0000 Subject: [PATCH 18/48] i18n: git-submodule echo + eval_gettext messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-submodule.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/git-submodule.sh b/git-submodule.sh index 816ab3d95f..547f5cbcfc 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -234,7 +234,7 @@ cmd_add() then if test -d "$path"/.git -o -f "$path"/.git then - echo "Adding existing repo at '$path' to the index" + eval_gettext "Adding existing repo at '\$path' to the index"; echo else die "'$path' already exists and is not a valid git repo" fi @@ -658,7 +658,10 @@ cmd_summary() { ;; # removed *) # unexpected type - echo >&2 "unexpected mode $mod_dst" + ( + eval_gettext "unexpected mode \$mod_dst" && + echo + ) >&2 continue ;; esac fi From 8f3f2c44c5ef06be5a1d1617d01f536669b0b35f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:44:00 +0000 Subject: [PATCH 19/48] i18n: git-submodule say + eval_gettext messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-submodule.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git-submodule.sh b/git-submodule.sh index 547f5cbcfc..f193aa602a 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -878,7 +878,7 @@ cmd_sync() ;; esac - say "Synchronizing submodule url for '$name'" + say "$(eval_gettext "Synchronizing submodule url for '\$name'")" git config submodule."$name".url "$url" if test -e "$path"/.git From 497ee87245bfa9691fde611550b1f3f86678eda5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:44:01 +0000 Subject: [PATCH 20/48] i18n: git-submodule die + eval_gettext messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-submodule.sh | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/git-submodule.sh b/git-submodule.sh index f193aa602a..de5048cfe9 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -35,7 +35,7 @@ resolve_relative_url () { remote=$(get_default_remote) remoteurl=$(git config "remote.$remote.url") || - die "remote ($remote) does not have a url defined in .git/config" + die "$(eval_gettext "remote (\$remote) does not have a url defined in .git/config")" url="$1" remoteurl=${remoteurl%/} sep=/ @@ -53,7 +53,7 @@ resolve_relative_url () sep=: ;; *) - die "cannot strip one component off url '$remoteurl'" + die "$(eval_gettext "cannot strip one component off url '\$remoteurl'")" ;; esac ;; @@ -105,7 +105,7 @@ module_name() name=$( git config -f .gitmodules --get-regexp '^submodule\..*\.path$' | sed -n -e 's|^submodule\.\(.*\)\.path '"$re"'$|\1|p' ) test -z "$name" && - die "No submodule mapping found in .gitmodules for path '$path'" + die "$(eval_gettext "No submodule mapping found in .gitmodules for path '\$path'")" echo "$name" } @@ -129,7 +129,7 @@ module_clone() else git-clone -n "$url" "$path" fi || - die "Clone of '$url' into submodule path '$path' failed" + die "$(eval_gettext "Clone of '\$url' into submodule path '\$path' failed")" } # @@ -202,7 +202,7 @@ cmd_add() realrepo=$repo ;; *) - die "repo URL: '$repo' must be absolute or begin with ./|../" + die "$(eval_gettext "repo URL: '\$repo' must be absolute or begin with ./|../")" ;; esac @@ -219,7 +219,7 @@ cmd_add() s|/*$|| ') git ls-files --error-unmatch "$path" > /dev/null 2>&1 && - die "'$path' already exists in the index" + die "$(eval_gettext "'\$path' already exists in the index")" if test -z "$force" && ! git add --dry-run --ignore-missing "$path" > /dev/null 2>&1 then @@ -236,7 +236,7 @@ cmd_add() then eval_gettext "Adding existing repo at '\$path' to the index"; echo else - die "'$path' already exists and is not a valid git repo" + die "$(eval_gettext "'\$path' already exists and is not a valid git repo")" fi case "$repo" in @@ -259,16 +259,16 @@ cmd_add() '') git checkout -f -q ;; ?*) git checkout -f -q -B "$branch" "origin/$branch" ;; esac - ) || die "Unable to checkout submodule '$path'" + ) || die "$(eval_gettext "Unable to checkout submodule '\$path'")" fi git add $force "$path" || - die "Failed to add submodule '$path'" + die "$(eval_gettext "Failed to add submodule '\$path'")" git config -f .gitmodules submodule."$path".path "$path" && git config -f .gitmodules submodule."$path".url "$repo" && git add --force .gitmodules || - die "Failed to register submodule '$path'" + die "$(eval_gettext "Failed to register submodule '\$path'")" } # @@ -318,7 +318,7 @@ cmd_foreach() cmd_foreach "--recursive" "$@" fi ) || - die "Stopping at '$path'; script returned non-zero status." + die "$(eval_gettext "Stopping at '\$path'; script returned non-zero status.")" fi done } @@ -361,7 +361,7 @@ cmd_init() url=$(git config -f .gitmodules submodule."$name".url) test -z "$url" && - die "No url found for submodule path '$path' in .gitmodules" + die "$(eval_gettext "No url found for submodule path '\$path' in .gitmodules")" # Possibly a url relative to parent case "$url" in @@ -371,14 +371,14 @@ cmd_init() esac git config submodule."$name".url "$url" || - die "Failed to register url for submodule path '$path'" + die "$(eval_gettext "Failed to register url for submodule path '\$path'")" upd="$(git config -f .gitmodules submodule."$name".update)" test -z "$upd" || git config submodule."$name".update "$upd" || - die "Failed to register update mode for submodule path '$path'" + die "$(eval_gettext "Failed to register update mode for submodule path '\$path'")" - say "Submodule '$name' ($url) registered for path '$path'" + say "$(eval_gettext "Submodule '\$name' (\$url) registered for path '\$path'")" done } @@ -474,7 +474,7 @@ cmd_update() else subsha1=$(clear_local_git_env; cd "$path" && git rev-parse --verify HEAD) || - die "Unable to find current revision in submodule path '$path'" + die "$(eval_gettext "Unable to find current revision in submodule path '\$path'")" fi if ! test -z "$update" @@ -498,7 +498,7 @@ cmd_update() (clear_local_git_env; cd "$path" && ((rev=$(git rev-list -n 1 $sha1 --not --all 2>/dev/null) && test -z "$rev") || git-fetch)) || - die "Unable to fetch in submodule path '$path'" + die "$(eval_gettext "Unable to fetch in submodule path '\$path'")" fi # Is this something we just cloned? @@ -534,7 +534,7 @@ cmd_update() if test -n "$recursive" then (clear_local_git_env; cd "$path" && eval cmd_update "$orig_flags") || - die "Failed to recurse into submodule path '$path'" + die "$(eval_gettext "Failed to recurse into submodule path '\$path'")" fi done } @@ -834,7 +834,7 @@ cmd_status() cd "$path" && eval cmd_status "$orig_args" ) || - die "Failed to recurse into submodule path '$path'" + die "$(eval_gettext "Failed to recurse into submodule path '\$path'")" fi done } From ee653c89ff77eaadd2162870267ad812fdc34af5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:44:02 +0000 Subject: [PATCH 21/48] i18n: git-submodule $update_module say + die messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Gettextize $update_module say and die messages. These messages needed to be split up to make them translatable. Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-submodule.sh | 17 ++++++++--------- t/t7406-submodule-update.sh | 2 +- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/git-submodule.sh b/git-submodule.sh index de5048cfe9..7eb1de03a5 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -511,24 +511,23 @@ cmd_update() case "$update_module" in rebase) command="git rebase" - action="rebase" - msg="rebased onto" + die_msg="$(eval_gettext "Unable to rebase '\$sha1' in submodule path '\$path'")" + say_msg="$(eval_gettext "Submodule path '\$path': rebased into '\$sha1'")" ;; merge) command="git merge" - action="merge" - msg="merged in" + die_msg="$(eval_gettext "Unable to merge '\$sha1' in submodule path '\$path'")" + say_msg="$(eval_gettext "Submodule path '\$path': merged in '\$sha1'")" ;; *) command="git checkout $subforce -q" - action="checkout" - msg="checked out" + die_msg="$(eval_gettext "Unable to checkout '\$sha1' in submodule path '\$path'")" + say_msg="$(eval_gettext "Submodule path '\$path': checked out '\$sha1'")" ;; esac - (clear_local_git_env; cd "$path" && $command "$sha1") || - die "Unable to $action '$sha1' in submodule path '$path'" - say "Submodule path '$path': $msg '$sha1'" + (clear_local_git_env; cd "$path" && $command "$sha1") || die $die_msg + say $say_msg fi if test -n "$recursive" diff --git a/t/t7406-submodule-update.sh b/t/t7406-submodule-update.sh index 4f16fcce2b..60e33bed28 100755 --- a/t/t7406-submodule-update.sh +++ b/t/t7406-submodule-update.sh @@ -90,7 +90,7 @@ test_expect_success 'submodule update does not fetch already present commits' ' (cd super && git submodule update > ../actual 2> ../actual.err ) && - test_cmp expected actual && + test_i18ncmp expected actual && ! test -s actual.err ' From b9b9c22f6db3e3c089098ba04fbc885e2cb4f4dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:44:03 +0000 Subject: [PATCH 22/48] i18n: git-submodule "cached cannot be used" message MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Gettextize the "--cached cannot be used with --files" message. Since this message starts with "--" we have to pass "--" as the first argument. This works with both GNU gettext 0.18.1 (as expected), and the gettext(1) on Solaris 10. Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-submodule.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git-submodule.sh b/git-submodule.sh index 7eb1de03a5..444e1c581a 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -617,7 +617,7 @@ cmd_summary() { if [ -n "$files" ] then test -n "$cached" && - die "--cached cannot be used with --files" + die "$(gettext -- "--cached cannot be used with --files")" diff_cmd=diff-files head= fi From 165119e9e6cd9697caf3141c3433640f6804ae54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:44:04 +0000 Subject: [PATCH 23/48] i18n: git-submodule "Submodule change[...]" messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Gettextize the "Submodules changed but not updated" and "Submodule changes to be committed" messages. This is explicitly tested for so we need to skip a portion of a test with test_i18ncmp. Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-submodule.sh | 4 ++-- t/t7401-submodule-summary.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/git-submodule.sh b/git-submodule.sh index 444e1c581a..60ea58e31b 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -745,9 +745,9 @@ cmd_summary() { done | if test -n "$for_status"; then if [ -n "$files" ]; then - echo "# Submodules changed but not updated:" + gettext "# Submodules changed but not updated:"; echo else - echo "# Submodule changes to be committed:" + gettext "# Submodule changes to be committed:"; echo fi echo "#" sed -e 's|^|# |' -e 's|^# $|#|' diff --git a/t/t7401-submodule-summary.sh b/t/t7401-submodule-summary.sh index 7d7fde057b..44ebc45da0 100755 --- a/t/t7401-submodule-summary.sh +++ b/t/t7401-submodule-summary.sh @@ -228,7 +228,7 @@ EOF test_expect_success '--for-status' " git submodule summary --for-status HEAD^ >actual && - test_cmp actual - < Date: Sat, 21 May 2011 18:44:05 +0000 Subject: [PATCH 24/48] i18n: git-submodule $errmsg messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Gettextize warning messages stored in the $errmsg variable using eval_gettext interpolation. This is explicitly tested for so we need to skip a portion of a test with test_i18ncmp. Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-submodule.sh | 6 +++--- t/t7401-submodule-summary.sh | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/git-submodule.sh b/git-submodule.sh index 60ea58e31b..5de34e40c0 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -678,13 +678,13 @@ cmd_summary() { total_commits= case "$missing_src,$missing_dst" in t,) - errmsg=" Warn: $name doesn't contain commit $sha1_src" + errmsg="$(eval_gettext " Warn: \$name doesn't contain commit \$sha1_src")" ;; ,t) - errmsg=" Warn: $name doesn't contain commit $sha1_dst" + errmsg="$(eval_gettext " Warn: \$name doesn't contain commit \$sha1_dst")" ;; t,t) - errmsg=" Warn: $name doesn't contain commits $sha1_src and $sha1_dst" + errmsg="$(eval_gettext " Warn: \$name doesn't contain commits \$sha1_src and \$sha1_dst")" ;; *) errmsg= diff --git a/t/t7401-submodule-summary.sh b/t/t7401-submodule-summary.sh index 44ebc45da0..cfa6632644 100755 --- a/t/t7401-submodule-summary.sh +++ b/t/t7401-submodule-summary.sh @@ -162,7 +162,7 @@ test_expect_success 'nonexistent commit' " Warn: sm1 doesn't contain commit $head4_full EOF - test_cmp actual expected + test_i18ncmp actual expected " commit_file From 490b6d5749c432370c4f8a5ed8d854cbf1116e20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:44:06 +0000 Subject: [PATCH 25/48] i18n: git-submodule "Entering [...]" message MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Gettextize the "Entering [...]" message. This is explicitly tested for so we need to skip a portion of a test with test_i18ncmp. Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-submodule.sh | 2 +- t/t7407-submodule-foreach.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/git-submodule.sh b/git-submodule.sh index 5de34e40c0..f7d7f51c37 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -306,7 +306,7 @@ cmd_foreach() do if test -e "$path"/.git then - say "Entering '$prefix$path'" + say "$(eval_gettext "Entering '\$prefix\$path'")" name=$(module_name "$path") ( prefix="$prefix$path/" diff --git a/t/t7407-submodule-foreach.sh b/t/t7407-submodule-foreach.sh index e5be13c271..ae3bd18a5e 100755 --- a/t/t7407-submodule-foreach.sh +++ b/t/t7407-submodule-foreach.sh @@ -77,7 +77,7 @@ test_expect_success 'test basic "submodule foreach" usage' ' git config foo.bar zar && git submodule foreach "git config --file \"\$toplevel/.git/config\" foo.bar" ) && - test_cmp expect actual + test_i18ncmp expect actual ' test_expect_success 'setup nested submodules' ' @@ -158,7 +158,7 @@ test_expect_success 'test messages from "foreach --recursive"' ' cd clone2 && git submodule foreach --recursive "true" > ../actual ) && - test_cmp expect actual + test_i18ncmp expect actual ' cat > expect < Date: Sat, 21 May 2011 18:44:07 +0000 Subject: [PATCH 26/48] i18n: git-submodule "[...] path is ignored" message MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Gettextize the "The following path is ignored" message. This is explicitly tested for so we need to skip a portion of a test with test_i18ncmp. Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-submodule.sh | 9 ++++++--- t/t7400-submodule-basic.sh | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/git-submodule.sh b/git-submodule.sh index f7d7f51c37..11c4bade1a 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -223,9 +223,12 @@ cmd_add() if test -z "$force" && ! git add --dry-run --ignore-missing "$path" > /dev/null 2>&1 then - echo >&2 "The following path is ignored by one of your .gitignore files:" && - echo >&2 $path && - echo >&2 "Use -f if you really want to add it." + ( + eval_gettext "The following path is ignored by one of your .gitignore files: +\$path +Use -f if you really want to add it." && + echo + ) >&2 exit 1 fi diff --git a/t/t7400-submodule-basic.sh b/t/t7400-submodule-basic.sh index 874279e32d..ea3b445b43 100755 --- a/t/t7400-submodule-basic.sh +++ b/t/t7400-submodule-basic.sh @@ -99,7 +99,7 @@ test_expect_success 'submodule add to .gitignored path fails' ' git add --force .gitignore && git commit -m"Ignore everything" && ! git submodule add "$submodurl" submod >actual 2>&1 && - test_cmp expect actual + test_i18ncmp expect actual ) ' From 1c2ef66f63e60539044d1e0cd8fbfbccd2cefc2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:44:08 +0000 Subject: [PATCH 27/48] i18n: git-submodule "path not initialized" message MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Gettextize the "Submodule path '$path' not initialized" message. This is explicitly tested for so we need to skip a portion of a test with test_i18grep. Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-submodule.sh | 4 ++-- t/t7400-submodule-basic.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/git-submodule.sh b/git-submodule.sh index 11c4bade1a..654a8cb8c9 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -464,8 +464,8 @@ cmd_update() # Only mention uninitialized submodules when its # path have been specified test "$#" != "0" && - say "Submodule path '$path' not initialized" && - say "Maybe you want to use 'update --init'?" + say "$(eval_gettext "Submodule path '\$path' not initialized +Maybe you want to use 'update --init'?")" continue fi diff --git a/t/t7400-submodule-basic.sh b/t/t7400-submodule-basic.sh index ea3b445b43..b2b26b72d0 100755 --- a/t/t7400-submodule-basic.sh +++ b/t/t7400-submodule-basic.sh @@ -357,7 +357,7 @@ test_expect_success 'update --init' ' git submodule update init > update.out && cat update.out && - grep "not initialized" update.out && + test_i18ngrep "not initialized" update.out && ! test -d init/.git && git submodule update --init init && From b3e73449642d3728986f4d7620a4050f1ff0999c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:44:09 +0000 Subject: [PATCH 28/48] i18n: git-submodule "blob" and "submodule" messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Gettextize the words "blob" and "submodule", which will be interpolated in a message emitted by git-submodule. This is explicitly tested for so we need to skip a portion of a test with test_i18ncmp. Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-submodule.sh | 6 ++++-- t/t7401-submodule-summary.sh | 8 ++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/git-submodule.sh b/git-submodule.sh index 654a8cb8c9..c1d3a5e2fa 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -712,11 +712,13 @@ cmd_summary() { sha1_abbr_dst=$(echo $sha1_dst | cut -c1-7) if test $status = T then + blob="$(gettext "blob")" + submodule="$(gettext "submodule")" if test $mod_dst = 160000 then - echo "* $name $sha1_abbr_src(blob)->$sha1_abbr_dst(submodule)$total_commits:" + echo "* $name $sha1_abbr_src($blob)->$sha1_abbr_dst($submodule)$total_commits:" else - echo "* $name $sha1_abbr_src(submodule)->$sha1_abbr_dst(blob)$total_commits:" + echo "* $name $sha1_abbr_src($submodule)->$sha1_abbr_dst($blob)$total_commits:" fi else echo "* $name $sha1_abbr_src...$sha1_abbr_dst$total_commits:" diff --git a/t/t7401-submodule-summary.sh b/t/t7401-submodule-summary.sh index cfa6632644..30b429e7dc 100755 --- a/t/t7401-submodule-summary.sh +++ b/t/t7401-submodule-summary.sh @@ -128,7 +128,7 @@ test_expect_success 'typechanged submodule(submodule->blob), --cached' " < Add foo5 EOF - test_cmp actual expected + test_i18ncmp actual expected " test_expect_success 'typechanged submodule(submodule->blob), --files' " @@ -138,7 +138,7 @@ test_expect_success 'typechanged submodule(submodule->blob), --files' " > Add foo5 EOF - test_cmp actual expected + test_i18ncmp actual expected " rm -rf sm1 && @@ -149,7 +149,7 @@ test_expect_success 'typechanged submodule(submodule->blob)' " * sm1 $head4(submodule)->$head5(blob): EOF - test_cmp actual expected + test_i18ncmp actual expected " rm -f sm1 && @@ -173,7 +173,7 @@ test_expect_success 'typechanged submodule(blob->submodule)' " > Add foo7 EOF - test_cmp expected actual + test_i18ncmp expected actual " commit_file sm1 && From 8a583bec74d0d0eba0cab1d82cf146561d2f59d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:44:10 +0000 Subject: [PATCH 29/48] i18n: git-stash add git-sh-i18n MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-stash.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/git-stash.sh b/git-stash.sh index 0a9403653d..1ad380a289 100755 --- a/git-stash.sh +++ b/git-stash.sh @@ -14,6 +14,7 @@ SUBDIRECTORY_OK=Yes OPTIONS_SPEC= START_DIR=`pwd` . git-sh-setup +. git-sh-i18n require_work_tree cd_to_toplevel From 365c656a70a7345ec58c34831e08740faf5d9cf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:44:11 +0000 Subject: [PATCH 30/48] i18n: git-stash echo + gettext message MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-stash.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/git-stash.sh b/git-stash.sh index 1ad380a289..d720554403 100755 --- a/git-stash.sh +++ b/git-stash.sh @@ -390,7 +390,10 @@ apply_stash () { status=$? if test -n "$INDEX_OPTION" then - echo >&2 'Index was not unstashed.' + ( + gettext "Index was not unstashed." && + echo + ) >&2 fi exit $status fi From 5a1758710d06ce9ddef754a8ee79408277032d8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:44:12 +0000 Subject: [PATCH 31/48] i18n: git-stash say + gettext messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-stash.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/git-stash.sh b/git-stash.sh index d720554403..c3ca7a1da1 100755 --- a/git-stash.sh +++ b/git-stash.sh @@ -168,7 +168,7 @@ save_stash () { git update-index -q --refresh if no_changes then - say 'No local changes to save' + say "$(gettext "No local changes to save")" exit 0 fi test -f "$GIT_DIR/logs/$ref_stash" || @@ -488,7 +488,7 @@ branch) case $# in 0) save_stash && - say '(To restore them type "git stash apply")' + say "$(gettext "(To restore them type \"git stash apply\")")" ;; *) usage From b1440ce2bdfa9c5083606711b845e9d0019e2702 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:44:13 +0000 Subject: [PATCH 32/48] i18n: git-stash die + gettext messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-stash.sh | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/git-stash.sh b/git-stash.sh index c3ca7a1da1..57892152c6 100755 --- a/git-stash.sh +++ b/git-stash.sh @@ -40,7 +40,7 @@ no_changes () { clear_stash () { if test $# != 0 then - die "git stash clear with parameters is unimplemented" + die "$(gettext "git stash clear with parameters is unimplemented")" fi if current=$(git rev-parse --verify $ref_stash 2>/dev/null) then @@ -62,7 +62,7 @@ create_stash () { then head=$(git rev-list --oneline -n 1 HEAD --) else - die "You do not have the initial commit yet" + die "$(gettext "You do not have the initial commit yet")" fi if branch=$(git symbolic-ref -q HEAD) @@ -77,7 +77,7 @@ create_stash () { i_tree=$(git write-tree) && i_commit=$(printf 'index on %s\n' "$msg" | git commit-tree $i_tree -p $b_commit) || - die "Cannot save the current index state" + die "$(gettext "Cannot save the current index state")" if test -z "$patch_mode" then @@ -91,7 +91,7 @@ create_stash () { git write-tree && rm -f "$TMPindex" ) ) || - die "Cannot save the current worktree state" + die "$(gettext "Cannot save the current worktree state")" else @@ -104,14 +104,14 @@ create_stash () { # state of the working tree w_tree=$(GIT_INDEX_FILE="$TMP-index" git write-tree) || - die "Cannot save the current worktree state" + die "$(gettext "Cannot save the current worktree state")" git diff-tree -p HEAD $w_tree > "$TMP-patch" && test -s "$TMP-patch" || - die "No changes selected" + die "$(gettext "No changes selected")" rm -f "$TMP-index" || - die "Cannot remove temporary index (can't happen)" + die "$(gettext "Cannot remove temporary index (can't happen)")" fi @@ -124,7 +124,7 @@ create_stash () { fi w_commit=$(printf '%s\n' "$stash_msg" | git commit-tree $w_tree -p $b_commit -p $i_commit) || - die "Cannot record working tree state" + die "$(gettext "Cannot record working tree state")" } save_stash () { @@ -172,7 +172,7 @@ save_stash () { exit 0 fi test -f "$GIT_DIR/logs/$ref_stash" || - clear_stash || die "Cannot initialize stash" + clear_stash || die "$(gettext "Cannot initialize stash")" create_stash "$stash_msg" @@ -180,7 +180,7 @@ save_stash () { : >>"$GIT_DIR/logs/$ref_stash" git update-ref -m "$stash_msg" $ref_stash $w_commit || - die "Cannot save the current status" + die "$(gettext "Cannot save the current status")" say Saved working directory and index state "$stash_msg" if test -z "$patch_mode" @@ -193,7 +193,7 @@ save_stash () { fi else git apply -R < "$TMP-patch" || - die "Cannot remove worktree changes" + die "$(gettext "Cannot remove worktree changes")" if test "$keep_index" != "t" then @@ -288,7 +288,7 @@ parse_flags_and_rev() case $# in 0) - have_stash || die "No stash found." + have_stash || die "$(gettext "No stash found.")" set -- ${ref_stash}@{0} ;; 1) @@ -336,11 +336,11 @@ apply_stash () { assert_stash_like "$@" - git update-index -q --refresh || die 'unable to refresh index' + git update-index -q --refresh || die "$(gettext "unable to refresh index")" # current index state c_tree=$(git write-tree) || - die 'Cannot apply a stash in the middle of a merge' + die "$(gettext "Cannot apply a stash in the middle of a merge")" unstashed_index_tree= if test -n "$INDEX_OPTION" && test "$b_tree" != "$i_tree" && @@ -348,9 +348,9 @@ apply_stash () { then git diff-tree --binary $s^2^..$s^2 | git apply --cached test $? -ne 0 && - die 'Conflicts in index. Try without --index.' + die "$(gettext "Conflicts in index. Try without --index.")" unstashed_index_tree=$(git write-tree) || - die 'Could not save index tree' + die "$(gettext "Could not save index tree")" git reset fi @@ -376,7 +376,7 @@ apply_stash () { git diff-index --cached --name-only --diff-filter=A $c_tree >"$a" && git read-tree --reset $c_tree && git update-index --add --stdin <"$a" || - die "Cannot unstage modified files" + die "$(gettext "Cannot unstage modified files")" rm -f "$a" fi squelch= @@ -417,7 +417,7 @@ drop_stash () { } apply_to_branch () { - test -n "$1" || die 'No branch name specified' + test -n "$1" || die "$(gettext "No branch name specified")" branch=$1 shift 1 From 33ceddcf243105a348401187c6d5975227c8e151 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:44:14 +0000 Subject: [PATCH 33/48] i18n: git-stash die + eval_gettext messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-stash.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git-stash.sh b/git-stash.sh index 57892152c6..3d89c15072 100755 --- a/git-stash.sh +++ b/git-stash.sh @@ -295,7 +295,7 @@ parse_flags_and_rev() : ;; *) - die "Too many revisions specified: $REV" + die "$(eval_gettext "Too many revisions specified: \$REV")" ;; esac From 777b6f13734d82a2775abdcc7220faede5e1aea8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:44:15 +0000 Subject: [PATCH 34/48] i18n: git-stash die + eval_gettext $* messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Gettextize messages that used the $* variable. Since it's subroutine local we have to provide an alias for it for eval_gettext. Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-stash.sh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/git-stash.sh b/git-stash.sh index 3d89c15072..509e14f051 100755 --- a/git-stash.sh +++ b/git-stash.sh @@ -321,7 +321,10 @@ is_stash_like() } assert_stash_like() { - is_stash_like "$@" || die "'$*' is not a stash-like commit" + is_stash_like "$@" || { + args="$*" + die "$(eval_gettext "'\$args' is not a stash-like commit")" + } } is_stash_ref() { @@ -329,7 +332,10 @@ is_stash_ref() { } assert_stash_ref() { - is_stash_ref "$@" || die "'$*' is not a stash reference" + is_stash_ref "$@" || { + args="$*" + die "$(eval_gettext "'\$args' is not a stash reference")" + } } apply_stash () { From 155da748ef4938382db50ab5784b2a3971932c08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:44:16 +0000 Subject: [PATCH 35/48] i18n: git-stash die + eval_gettext $1 messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Gettextize a messages that used the $1 variable. Since it's subroutine local we have to provide an alias for it for eval_gettext. Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-stash.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/git-stash.sh b/git-stash.sh index 509e14f051..ede35a533a 100755 --- a/git-stash.sh +++ b/git-stash.sh @@ -299,7 +299,10 @@ parse_flags_and_rev() ;; esac - REV=$(git rev-parse --quiet --symbolic --verify $1 2>/dev/null) || die "$1 is not valid reference" + REV=$(git rev-parse --quiet --symbolic --verify $1 2>/dev/null) || { + reference="$1" + die "$(eval_gettext "\$reference is not valid reference")" + } i_commit=$(git rev-parse --quiet --verify $REV^2 2>/dev/null) && set -- $(git rev-parse $REV $REV^1 $REV: $REV^1: $REV^2: 2>/dev/null) && From eed10649c2864168e6205057ce49101cc1123a13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:44:17 +0000 Subject: [PATCH 36/48] i18n: git-stash "unknown option" message MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Gettextize the "unknown option for 'stash save'" message that's shown on: $ git stash save --blah-blah error: unknown option for 'stash save': --blah-blah To provide a message, use git stash save -- '--blah-blah' Usage: git stash list [] In a translation the second line should be aligned with the first one. I've added a TRANSLATORS comment to indicate this. Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-stash.sh | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/git-stash.sh b/git-stash.sh index ede35a533a..fa5a43e579 100755 --- a/git-stash.sh +++ b/git-stash.sh @@ -152,8 +152,19 @@ save_stash () { break ;; -*) - echo "error: unknown option for 'stash save': $1" - echo " To provide a message, use git stash save -- '$1'" + option="$1" + # TRANSLATORS: $option is an invalid option, like + # `--blah-blah'. The 7 spaces at the beginning of the + # second line correspond to "error: ". So you should line + # up the second line with however many characters the + # translation of "error: " takes in your language. E.g. in + # English this is: + # + # $ git stash save --blah-blah 2>&1 | head -n 2 + # error: unknown option for 'stash save': --blah-blah + # To provide a message, use git stash save -- '--blah-blah' + eval_gettext "$("error: unknown option for 'stash save': \$option + To provide a message, use git stash save -- '\$option'")"; echo usage ;; *) From d4ca6c8b3e36b67f214317879c2c4cd80d1b1c25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:44:18 +0000 Subject: [PATCH 37/48] i18n: git-stash drop_stash say/die messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Gettextize the say/die eval_gettext messages in the drop_stash function. Since making these translatable would result in a long line I've wrapped this into two lines. Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-stash.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/git-stash.sh b/git-stash.sh index fa5a43e579..5619da5c10 100755 --- a/git-stash.sh +++ b/git-stash.sh @@ -430,7 +430,8 @@ drop_stash () { assert_stash_ref "$@" git reflog delete --updateref --rewrite "${REV}" && - say "Dropped ${REV} ($s)" || die "${REV}: Could not drop stash entry" + say "$(eval_gettext "Dropped \${REV} (\$s)")" || + die "$(eval_gettext "\${REV}: Could not drop stash entry")" # clear_stash if we just dropped the last stash entry git rev-parse --verify "$ref_stash@{0}" > /dev/null 2>&1 || clear_stash From dcf9c2e57ab8c916701dd1d4791ef479a3aaf1fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:44:19 +0000 Subject: [PATCH 38/48] i18n: git-bisect add git-sh-i18n MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-bisect.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/git-bisect.sh b/git-bisect.sh index 415a8d04cc..751c73350b 100755 --- a/git-bisect.sh +++ b/git-bisect.sh @@ -28,6 +28,7 @@ Please use "git help bisect" to get the full man page.' OPTIONS_SPEC= . git-sh-setup +. git-sh-i18n require_work_tree _x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]' From d0238a88f502962d96242e826c003a1e9bc68eb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:44:20 +0000 Subject: [PATCH 39/48] i18n: git-bisect gettext + echo message MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-bisect.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/git-bisect.sh b/git-bisect.sh index 751c73350b..4420b46a44 100755 --- a/git-bisect.sh +++ b/git-bisect.sh @@ -308,7 +308,7 @@ bisect_visualize() { bisect_reset() { test -s "$GIT_DIR/BISECT_START" || { - echo "We are not bisecting." + gettext "We are not bisecting."; echo return } case "$#" in @@ -414,7 +414,7 @@ bisect_run () { fi if sane_grep "is the first bad commit" "$GIT_DIR/BISECT_RUN" > /dev/null; then - echo "bisect run success" + gettext "bisect run success"; echo exit 0; fi From ddd7a7c2220692ca3b25173b635218736c76b271 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:44:21 +0000 Subject: [PATCH 40/48] i18n: git-bisect echo + gettext messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-bisect.sh | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/git-bisect.sh b/git-bisect.sh index 4420b46a44..b29238db07 100755 --- a/git-bisect.sh +++ b/git-bisect.sh @@ -36,7 +36,10 @@ _x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40" bisect_autostart() { test -s "$GIT_DIR/BISECT_START" || { - echo >&2 'You need to start by "git bisect start"' + ( + gettext "You need to start by \"git bisect start\"" && + echo + ) >&2 if test -t 0 then echo >&2 -n 'Do you want me to do it for you [Y/n]? ' @@ -239,7 +242,10 @@ bisect_next_check() { t,,good) # have bad but not good. we could bisect although # this is less optimum. - echo >&2 'Warning: bisecting only with a bad commit.' + ( + gettext "Warning: bisecting only with a bad commit." && + echo + ) >&2 if test -t 0 then printf >&2 'Are you sure [Y/n]? ' @@ -403,7 +409,10 @@ bisect_run () { if sane_grep "first bad commit could be any of" "$GIT_DIR/BISECT_RUN" \ > /dev/null; then - echo >&2 "bisect run cannot continue any more" + ( + gettext "bisect run cannot continue any more" && + echo + ) >&2 exit $res fi From c6649c92711196c477181e1a50e5a080b204c3aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:44:22 +0000 Subject: [PATCH 41/48] i18n: git-bisect echo + eval_gettext message MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-bisect.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/git-bisect.sh b/git-bisect.sh index b29238db07..1b432b58f9 100755 --- a/git-bisect.sh +++ b/git-bisect.sh @@ -417,8 +417,11 @@ bisect_run () { fi if [ $res -ne 0 ]; then - echo >&2 "bisect run failed:" - echo >&2 "'bisect_state $state' exited with error code $res" + ( + eval_gettext "bisect run failed: +'bisect_state \$state' exited with error code \$res" && + echo + ) >&2 exit $res fi From 9570fc1e6acff65f762b6d540b9ed7fe967a98d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:44:23 +0000 Subject: [PATCH 42/48] i18n: git-bisect die + gettext messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-bisect.sh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/git-bisect.sh b/git-bisect.sh index 1b432b58f9..876fdd1f0b 100755 --- a/git-bisect.sh +++ b/git-bisect.sh @@ -61,7 +61,7 @@ bisect_start() { # head=$(GIT_DIR="$GIT_DIR" git symbolic-ref -q HEAD) || head=$(GIT_DIR="$GIT_DIR" git rev-parse --verify HEAD) || - die "Bad HEAD - I need a HEAD" + die "$(gettext "Bad HEAD - I need a HEAD")" # # Check if we are bisecting. @@ -80,11 +80,11 @@ bisect_start() { # cogito usage, and cogito users should understand # it relates to cg-seek. [ -s "$GIT_DIR/head-name" ] && - die "won't bisect on seeked tree" + die "$(gettext "won't bisect on seeked tree")" start_head="${head#refs/heads/}" ;; *) - die "Bad HEAD - strange symbolic ref" + die "$(gettext "Bad HEAD - strange symbolic ref")" ;; esac fi @@ -201,10 +201,10 @@ bisect_state() { state=$1 case "$#,$state" in 0,*) - die "Please call 'bisect_state' with at least one argument." ;; + die "$(gettext "Please call 'bisect_state' with at least one argument.")" ;; 1,bad|1,good|1,skip) rev=$(git rev-parse --verify HEAD) || - die "Bad rev input: HEAD" + die "$(gettext "Bad rev input: HEAD")" bisect_write "$state" "$rev" check_expected_revs "$rev" ;; 2,bad|*,good|*,skip) @@ -219,7 +219,7 @@ bisect_state() { eval "$eval" check_expected_revs "$@" ;; *,bad) - die "'git bisect bad' can take only one argument." ;; + die "$(gettext "'git bisect bad' can take only one argument.")" ;; *) usage ;; esac @@ -369,7 +369,7 @@ bisect_replay () { good|bad|skip) bisect_write "$command" "$rev" ;; *) - die "?? what are you talking about?" ;; + die "$(gettext "?? what are you talking about?")" ;; esac done <"$1" bisect_auto_next @@ -434,7 +434,7 @@ bisect_run () { } bisect_log () { - test -s "$GIT_DIR/BISECT_LOG" || die "We are not bisecting." + test -s "$GIT_DIR/BISECT_LOG" || die "$(gettext "We are not bisecting.")" cat "$GIT_DIR/BISECT_LOG" } From 15eaa0494051ae2db7fbc357bd0f5b75d3e17a31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:44:24 +0000 Subject: [PATCH 43/48] i18n: git-bisect die + eval_gettext messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-bisect.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/git-bisect.sh b/git-bisect.sh index 876fdd1f0b..8491490171 100755 --- a/git-bisect.sh +++ b/git-bisect.sh @@ -114,7 +114,7 @@ bisect_start() { *) rev=$(git rev-parse -q --verify "$arg^{commit}") || { test $has_double_dash -eq 1 && - die "'$arg' does not appear to be a valid revision" + die "$(eval_gettext "'\$arg' does not appear to be a valid revision")" break } case $bad_seen in @@ -159,7 +159,7 @@ bisect_write() { case "$state" in bad) tag="$state" ;; good|skip) tag="$state"-"$rev" ;; - *) die "Bad bisect_write argument: $state" ;; + *) die "$(eval_gettext "Bad bisect_write argument: \$state")" ;; esac git update-ref "refs/bisect/$tag" "$rev" || exit echo "# $state: $(git show-branch $rev)" >>"$GIT_DIR/BISECT_LOG" @@ -187,7 +187,7 @@ bisect_skip() { do case "$arg" in *..*) - revs=$(git rev-list "$arg") || die "Bad rev input: $arg" ;; + revs=$(git rev-list "$arg") || die "$(eval_gettext "Bad rev input: \$arg")" ;; *) revs=$(git rev-parse --sq-quote "$arg") ;; esac @@ -213,7 +213,7 @@ bisect_state() { for rev in "$@" do sha=$(git rev-parse --verify "$rev^{commit}") || - die "Bad rev input: $rev" + die "$(eval_gettext "Bad rev input: \$rev")" eval="$eval bisect_write '$state' '$sha'; " done eval "$eval" @@ -328,8 +328,8 @@ bisect_reset() { if git checkout "$branch" -- ; then bisect_clean_state else - die "Could not check out original HEAD '$branch'." \ - "Try 'git bisect reset '." + die "$(eval_gettext "Could not check out original HEAD '\$branch'. +Try 'git bisect reset '.")" fi } From 0920925584f4a306daf723d1fbdf75c215755f09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:44:25 +0000 Subject: [PATCH 44/48] i18n: git-bisect bisect_run + $@ messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Gettextize bisect_run messages that use the $@ variable. Since it's subroutine local we have to provide an alias for it for eval_gettext. Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-bisect.sh | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/git-bisect.sh b/git-bisect.sh index 8491490171..bc7e16eb84 100755 --- a/git-bisect.sh +++ b/git-bisect.sh @@ -380,14 +380,18 @@ bisect_run () { while true do - echo "running $@" + command="$@" + eval_gettext "running \$command"; echo "$@" res=$? # Check for really bad run error. if [ $res -lt 0 -o $res -ge 128 ]; then - echo >&2 "bisect run failed:" - echo >&2 "exit code $res from '$@' is < 0 or >= 128" + ( + eval_gettext "bisect run failed: +exit code \$res from '\$command' is < 0 or >= 128" && + echo + ) >&2 exit $res fi From 7d0c2d6fbf3141cb4402987cbc2711c75490d217 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:44:26 +0000 Subject: [PATCH 45/48] i18n: git-bisect bisect_reset + $1 messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ettextize bisect_reset messages that use the $1 variable. Since it's subroutine local we have to provide an alias for it for eval_gettext. Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-bisect.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/git-bisect.sh b/git-bisect.sh index bc7e16eb84..4dc28ecdf9 100755 --- a/git-bisect.sh +++ b/git-bisect.sh @@ -319,8 +319,10 @@ bisect_reset() { } case "$#" in 0) branch=$(cat "$GIT_DIR/BISECT_START") ;; - 1) git rev-parse --quiet --verify "$1^{commit}" > /dev/null || - die "'$1' is not a valid commit" + 1) git rev-parse --quiet --verify "$1^{commit}" > /dev/null || { + invalid="$1" + die "$(eval_gettext "'\$invalid' is not a valid commit")" + } branch="$1" ;; *) usage ;; From 55a9fc80438744eb09d2146a1c85798fbdd27764 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:44:27 +0000 Subject: [PATCH 46/48] i18n: git-bisect bisect_replay + $1 messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Gettextize bisect_replay messages that use the $1 variable. Since it's subroutine local we have to provide an alias for it for eval_gettext. Since I was doing that anyway I've changed all other uses of $1 variable to use the alias variable for clarity. Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-bisect.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/git-bisect.sh b/git-bisect.sh index 4dc28ecdf9..58b24e3841 100755 --- a/git-bisect.sh +++ b/git-bisect.sh @@ -354,8 +354,9 @@ bisect_clean_state() { } bisect_replay () { - test "$#" -eq 1 || die "No logfile given" - test -r "$1" || die "cannot read $1 for replaying" + file="$1" + test "$#" -eq 1 || die "$(gettext "No logfile given")" + test -r "$file" || die "$(eval_gettext "cannot read \$file for replaying")" bisect_reset while read git bisect command rev do @@ -373,7 +374,7 @@ bisect_replay () { *) die "$(gettext "?? what are you talking about?")" ;; esac - done <"$1" + done <"$file" bisect_auto_next } From 04de099622ff8b5481a383e76207b65cde9b5d1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:44:28 +0000 Subject: [PATCH 47/48] i18n: git-bisect [Y/n] messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Gettextize the [Y/n] questions git-bisect presents, and leave a note in a TRANSLATORS comment explaining that translators have to preserve a mention of the Y/n characters since the program will expect them, and not their localized equivalents. Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-bisect.sh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/git-bisect.sh b/git-bisect.sh index 58b24e3841..f0a6909ce3 100755 --- a/git-bisect.sh +++ b/git-bisect.sh @@ -42,7 +42,10 @@ bisect_autostart() { ) >&2 if test -t 0 then - echo >&2 -n 'Do you want me to do it for you [Y/n]? ' + # TRANSLATORS: Make sure to include [Y] and [n] in your + # translation. The program will only accept English input + # at this point. + gettext "Do you want me to do it for you [Y/n]? " >&2 read yesno case "$yesno" in [Nn]*) @@ -248,7 +251,10 @@ bisect_next_check() { ) >&2 if test -t 0 then - printf >&2 'Are you sure [Y/n]? ' + # TRANSLATORS: Make sure to include [Y] and [n] in your + # translation. The program will only accept English input + # at this point. + gettext "Are you sure [Y/n]? " >&2 read yesno case "$yesno" in [Nn]*) exit 1 ;; esac fi From be508d3a63767a9c7a03368aebf2674d18cc4b74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sat, 21 May 2011 18:44:29 +0000 Subject: [PATCH 48/48] i18n: git-bisect bisect_next_check "You need to" message MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Gettextize the "You need to start by" message in bisect_next_check. This message assembled English output by hand so it needed to be split up to make it translatable. Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- git-bisect.sh | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/git-bisect.sh b/git-bisect.sh index f0a6909ce3..b2186a8627 100755 --- a/git-bisect.sh +++ b/git-bisect.sh @@ -261,15 +261,22 @@ bisect_next_check() { : bisect without good... ;; *) - THEN='' - test -s "$GIT_DIR/BISECT_START" || { - echo >&2 'You need to start by "git bisect start".' - THEN='then ' - } - echo >&2 'You '$THEN'need to give me at least one good' \ - 'and one bad revisions.' - echo >&2 '(You can use "git bisect bad" and' \ - '"git bisect good" for that.)' + + if test -s "$GIT_DIR/BISECT_START" + then + ( + gettext "You need to give me at least one good and one bad revisions. +(You can use \"git bisect bad\" and \"git bisect good\" for that.)" && + echo + ) >&2 + else + ( + gettext "You need to start by \"git bisect start\". +You then need to give me at least one good and one bad revisions. +(You can use \"git bisect bad\" and \"git bisect good\" for that.)" && + echo + ) >&2 + fi exit 1 ;; esac }