Skip to content

Commit

Permalink
gettext: add gettextln, eval_gettextln to encode common idiom
Browse files Browse the repository at this point in the history
Currently, if you want to use gettext or eval_gettext to format a message
you may have to add a separate echo statement and a surrounding subshell
in order to interpolate the required trailing new line.

This patch introduces two new helper functions, gettextln and eval_gettextln
which append a trailing newline to the gettext output.

This allows constructions of the form:

	if test -s "$GIT_DIR/BISECT_START"
	then
		(
			gettext "You need to give me at least one good and one bad revisions.
(You can use \"git bisect bad\" and \"git bisect good\" for that.)" &&
			echo
		) >&2
	else
	...

to be expressed more concisely as:

	if test -s "$GIT_DIR/BISECT_START"
	then
		gettextln "You need to give me at least one good and one bad revisions.
(You can use \"git bisect bad\" and \"git bisect good\" for that.)" >&2
	else
	...

Acked-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Jon Seymour <jon.seymour@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Jon Seymour authored and Junio C Hamano committed Aug 8, 2011
1 parent e7a85be commit 3da5c54
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions git-sh-i18n.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,38 @@ then
printf "%s" "$1"
}

gettextln() {
printf "%s\n" "$1"
}

eval_gettext () {
printf "%s" "$1" | (
export PATH $(git sh-i18n--envsubst --variables "$1");
git sh-i18n--envsubst "$1"
)
}

eval_gettextln () {
printf "%s\n" "$1" | (
export PATH $(git sh-i18n--envsubst --variables "$1");
git sh-i18n--envsubst "$1"
)
}
else
gettext () {
printf "%s" "# GETTEXT POISON #"
}

gettextln () {
printf "%s\n" "# GETTEXT POISON #"
}

eval_gettext () {
printf "%s" "# GETTEXT POISON #"
}

eval_gettextln () {
printf "%s\n" "# GETTEXT POISON #"
}
fi

0 comments on commit 3da5c54

Please sign in to comment.