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 () {