[pacman-dev] [RFC v3 13/13] bacman: make gettext useful
Olivier Brunel
jjk at jjacky.com
Sat Oct 1 09:16:10 UTC 2016
On Sat, 1 Oct 2016 17:41:51 +1000
Allan McRae <allan at archlinux.org> wrote:
> On 30/09/16 22:14, Dave Reisner wrote:
> > On Fri, Sep 30, 2016 at 01:48:01PM +0200, Gordian Edenhofer wrote:
> >> Export TEXTDOMAIN and TEXTDOMAINDIR in order for the strings to be
> >> translatable with gettext.
> >> ---
> >> contrib/bacman.sh.in | 28 ++++++++++++++++++++++------
> >> 1 file changed, 22 insertions(+), 6 deletions(-)
> >>
> >> diff --git a/contrib/bacman.sh.in b/contrib/bacman.sh.in
> >> index 39fbe99..cc243c9 100644
> >> --- a/contrib/bacman.sh.in
> >> +++ b/contrib/bacman.sh.in
> >> @@ -32,6 +32,17 @@ QUIET=0
> >> # Required for fakeroot because options are shifted off the array.
> >> ARGS=("$@")
> >>
> >> +# gettext initialization
> >> +export TEXTDOMAIN='pacman'
> >> +export TEXTDOMAINDIR='@localedir@'
> >> +
> >> +# Determine whether we have gettext; make it a no-op if we do not
> >> +if ! type -p gettext >/dev/null; then
> >> + gettext() {
> >> + printf "%s\n" "$@"
> >
> > Not sure if this is copypasted from somewhere, but it's wrong.
> > Consider the output of:
> >
> > printf '%s\n' 1 2 3
> >
> > vs.
> >
> > printf '%s\n' '1 2 3'
> >
> > You probably wanted this to be: printf '%s\n' "$*"
> >
>
> Just because I am being dumb... Can someone explain the issue here:
>
> # foo1() { printf "%s\n" "$@"; }
> # foo2() { printf "%s\n" "$*"; }
>
> # foo1 "test string"
> test string
>
> # foo2 "test string"
> test string
>
>
> I don't see a difference.
Cause you never tested w/out quotes (multiple args):
# foo1 test string
test
string
# foo2 test string
test string
>
> Allan
More information about the pacman-dev
mailing list