at 18.03-beta 94 lines 2.2 kB view raw
1--- a/git-sh-i18n.sh 2+++ b/git-sh-i18n.sh 3@@ -15,87 +15,11 @@ 4 fi 5 export TEXTDOMAINDIR 6 7-# First decide what scheme to use... 8-GIT_INTERNAL_GETTEXT_SH_SCHEME=fallthrough 9-if test -n "@@USE_GETTEXT_SCHEME@@" 10-then 11- GIT_INTERNAL_GETTEXT_SH_SCHEME="@@USE_GETTEXT_SCHEME@@" 12-elif test -n "$GIT_INTERNAL_GETTEXT_TEST_FALLBACKS" 13-then 14- : no probing necessary 15-elif test -n "$GIT_GETTEXT_POISON" 16-then 17- GIT_INTERNAL_GETTEXT_SH_SCHEME=poison 18-elif type gettext.sh >/dev/null 2>&1 19-then 20- # GNU libintl's gettext.sh 21- GIT_INTERNAL_GETTEXT_SH_SCHEME=gnu 22-elif test "$(gettext -h 2>&1)" = "-h" 23-then 24- # gettext binary exists but no gettext.sh. likely to be a gettext 25- # binary on a Solaris or something that is not GNU libintl and 26- # lack eval_gettext. 27- GIT_INTERNAL_GETTEXT_SH_SCHEME=gettext_without_eval_gettext 28-fi 29-export GIT_INTERNAL_GETTEXT_SH_SCHEME 30- 31-# ... and then follow that decision. 32-case "$GIT_INTERNAL_GETTEXT_SH_SCHEME" in 33-gnu) 34- # Use libintl's gettext.sh, or fall back to English if we can't. 35- . gettext.sh 36- ;; 37-gettext_without_eval_gettext) 38- # Solaris has a gettext(1) but no eval_gettext(1) 39- eval_gettext () { 40- gettext "$1" | ( 41- export PATH $(git sh-i18n--envsubst --variables "$1"); 42- git sh-i18n--envsubst "$1" 43- ) 44- } 45- 46- eval_ngettext () { 47- ngettext "$1" "$2" "$3" | ( 48- export PATH $(git sh-i18n--envsubst --variables "$2"); 49- git sh-i18n--envsubst "$2" 50- ) 51- } 52- ;; 53-poison) 54- # Emit garbage so that tests that incorrectly rely on translatable 55- # strings will fail. 56- gettext () { 57- printf "%s" "# GETTEXT POISON #" 58- } 59- 60- eval_gettext () { 61- printf "%s" "# GETTEXT POISON #" 62- } 63- 64- eval_ngettext () { 65- printf "%s" "# GETTEXT POISON #" 66- } 67- ;; 68-*) 69- gettext () { 70- printf "%s" "$1" 71- } 72- 73- eval_gettext () { 74- printf "%s" "$1" | ( 75- export PATH $(git sh-i18n--envsubst --variables "$1"); 76- git sh-i18n--envsubst "$1" 77- ) 78- } 79+# GNU gettext 80+export GIT_INTERNAL_GETTEXT_SH_SCHEME=gnu 81+export PATH=@gettext@/bin:$PATH 82 83- eval_ngettext () { 84- (test "$3" = 1 && printf "%s" "$1" || printf "%s" "$2") | ( 85- export PATH $(git sh-i18n--envsubst --variables "$2"); 86- git sh-i18n--envsubst "$2" 87- ) 88- } 89- ;; 90-esac 91+. @gettext@/bin/gettext.sh 92 93 # Git-specific wrapper functions 94 gettextln () {