codekingpro/portable-devtools
114k
1# This shell library is Git's interface to gettext.sh. See po/README2# for usage instructions.3#4# Copyright (c) 2010 Ævar Arnfjörð Bjarmason5#6 7# Export the TEXTDOMAIN* data that we need for Git8TEXTDOMAIN=git9export TEXTDOMAIN10if test -z "$GIT_TEXTDOMAINDIR"11then12 TEXTDOMAINDIR="/mingw64/share/locale"13else14 TEXTDOMAINDIR="$GIT_TEXTDOMAINDIR"15fi16export TEXTDOMAINDIR17 18# First decide what scheme to use...19GIT_INTERNAL_GETTEXT_SH_SCHEME=fallthrough20if test -n "fallthrough"21then22 GIT_INTERNAL_GETTEXT_SH_SCHEME="fallthrough"23elif test -n "$GIT_INTERNAL_GETTEXT_TEST_FALLBACKS"24then25 : no probing necessary26elif type gettext.sh >/dev/null 2>&127then28 # GNU libintl's gettext.sh29 GIT_INTERNAL_GETTEXT_SH_SCHEME=gnu30elif test "$(gettext -h 2>&1)" = "-h"31then32 # gettext binary exists but no gettext.sh. likely to be a gettext33 # binary on a Solaris or something that is not GNU libintl and34 # lack eval_gettext.35 GIT_INTERNAL_GETTEXT_SH_SCHEME=gettext_without_eval_gettext36fi37export GIT_INTERNAL_GETTEXT_SH_SCHEME38 39# ... and then follow that decision.40case "$GIT_INTERNAL_GETTEXT_SH_SCHEME" in41gnu)42 # Use libintl's gettext.sh, or fall back to English if we can't.43 . gettext.sh44 ;;45gettext_without_eval_gettext)46 # Solaris has a gettext(1) but no eval_gettext(1)47 eval_gettext () {48 gettext "$1" | (49 export PATH $(git sh-i18n--envsubst --variables "$1");50 git sh-i18n--envsubst "$1"51 )52 }53 54 ;;55*)56 gettext () {57 printf "%s" "$1"58 }59 60 eval_gettext () {61 printf "%s" "$1" | (62 export PATH $(git sh-i18n--envsubst --variables "$1");63 git sh-i18n--envsubst "$1"64 )65 }66 67 ;;68esac69 70# Git-specific wrapper functions71gettextln () {72 gettext "$1"73 echo74}75 76eval_gettextln () {77 eval_gettext "$1"78 echo79}80 