logo

oasis-root

Compiled tree of Oasis Linux based on own branch at <https://hacktivis.me/git/oasis/> git clone https://anongit.hacktivis.me/git/oasis-root.git

git-sh-i18n (1679B)


  1. # This shell library is Git's interface to gettext.sh. See po/README
  2. # for usage instructions.
  3. #
  4. # Copyright (c) 2010 Ævar Arnfjörð Bjarmason
  5. #
  6. # Export the TEXTDOMAIN* data that we need for Git
  7. TEXTDOMAIN=git
  8. export TEXTDOMAIN
  9. if test -z "$GIT_TEXTDOMAINDIR"
  10. then
  11. TEXTDOMAINDIR="/share/locale"
  12. else
  13. TEXTDOMAINDIR="$GIT_TEXTDOMAINDIR"
  14. fi
  15. export TEXTDOMAINDIR
  16. # First decide what scheme to use...
  17. GIT_INTERNAL_GETTEXT_SH_SCHEME=fallthrough
  18. if test -n ""
  19. then
  20. GIT_INTERNAL_GETTEXT_SH_SCHEME=""
  21. elif test -n "$GIT_INTERNAL_GETTEXT_TEST_FALLBACKS"
  22. then
  23. : no probing necessary
  24. elif type gettext.sh >/dev/null 2>&1
  25. then
  26. # GNU libintl's gettext.sh
  27. GIT_INTERNAL_GETTEXT_SH_SCHEME=gnu
  28. elif test "$(gettext -h 2>&1)" = "-h"
  29. then
  30. # gettext binary exists but no gettext.sh. likely to be a gettext
  31. # binary on a Solaris or something that is not GNU libintl and
  32. # lack eval_gettext.
  33. GIT_INTERNAL_GETTEXT_SH_SCHEME=gettext_without_eval_gettext
  34. fi
  35. export GIT_INTERNAL_GETTEXT_SH_SCHEME
  36. # ... and then follow that decision.
  37. case "$GIT_INTERNAL_GETTEXT_SH_SCHEME" in
  38. gnu)
  39. # Use libintl's gettext.sh, or fall back to English if we can't.
  40. . gettext.sh
  41. ;;
  42. gettext_without_eval_gettext)
  43. # Solaris has a gettext(1) but no eval_gettext(1)
  44. eval_gettext () {
  45. gettext "$1" | (
  46. export PATH $(git sh-i18n--envsubst --variables "$1");
  47. git sh-i18n--envsubst "$1"
  48. )
  49. }
  50. ;;
  51. *)
  52. gettext () {
  53. printf "%s" "$1"
  54. }
  55. eval_gettext () {
  56. printf "%s" "$1" | (
  57. export PATH $(git sh-i18n--envsubst --variables "$1");
  58. git sh-i18n--envsubst "$1"
  59. )
  60. }
  61. ;;
  62. esac
  63. # Git-specific wrapper functions
  64. gettextln () {
  65. gettext "$1"
  66. echo
  67. }
  68. eval_gettextln () {
  69. eval_gettext "$1"
  70. echo
  71. }