--- a/git-sh-i18n.sh +++ b/git-sh-i18n.sh @@ -15,87 +15,11 @@ fi export TEXTDOMAINDIR -# First decide what scheme to use... -GIT_INTERNAL_GETTEXT_SH_SCHEME=fallthrough -if test -n "$GIT_GETTEXT_POISON" -then - GIT_INTERNAL_GETTEXT_SH_SCHEME=poison -elif test -n "@@USE_GETTEXT_SCHEME@@" -then - GIT_INTERNAL_GETTEXT_SH_SCHEME="@@USE_GETTEXT_SCHEME@@" -elif test -n "$GIT_INTERNAL_GETTEXT_TEST_FALLBACKS" -then - : no probing necessary -elif type gettext.sh >/dev/null 2>&1 -then - # GNU libintl's gettext.sh - GIT_INTERNAL_GETTEXT_SH_SCHEME=gnu -elif test "$(gettext -h 2>&1)" = "-h" -then - # gettext binary exists but no gettext.sh. likely to be a gettext - # binary on a Solaris or something that is not GNU libintl and - # lack eval_gettext. - GIT_INTERNAL_GETTEXT_SH_SCHEME=gettext_without_eval_gettext -fi -export GIT_INTERNAL_GETTEXT_SH_SCHEME - -# ... and then follow that decision. -case "$GIT_INTERNAL_GETTEXT_SH_SCHEME" in -gnu) - # Use libintl's gettext.sh, or fall back to English if we can't. - . gettext.sh - ;; -gettext_without_eval_gettext) - # Solaris has a gettext(1) but no eval_gettext(1) - eval_gettext () { - gettext "$1" | ( - export PATH $(git sh-i18n--envsubst --variables "$1"); - git sh-i18n--envsubst "$1" - ) - } - - eval_ngettext () { - ngettext "$1" "$2" "$3" | ( - export PATH $(git sh-i18n--envsubst --variables "$2"); - git sh-i18n--envsubst "$2" - ) - } - ;; -poison) - # Emit garbage so that tests that incorrectly rely on translatable - # strings will fail. - gettext () { - printf "%s" "# GETTEXT POISON #" - } - - eval_gettext () { - printf "%s" "# GETTEXT POISON #" - } - - eval_ngettext () { - printf "%s" "# GETTEXT POISON #" - } - ;; -*) - gettext () { - printf "%s" "$1" - } - - eval_gettext () { - printf "%s" "$1" | ( - export PATH $(git sh-i18n--envsubst --variables "$1"); - git sh-i18n--envsubst "$1" - ) - } +# GNU gettext +export GIT_INTERNAL_GETTEXT_SH_SCHEME=gnu +export PATH=@gettext@/bin:$PATH - eval_ngettext () { - (test "$3" = 1 && printf "%s" "$1" || printf "%s" "$2") | ( - export PATH $(git sh-i18n--envsubst --variables "$2"); - git sh-i18n--envsubst "$2" - ) - } - ;; -esac +. @gettext@/bin/gettext.sh # Git-specific wrapper functions gettextln () {