[pacman-dev] [RFC v3 13/13] bacman: make gettext useful
Allan McRae
allan at archlinux.org
Sat Oct 1 09:24:27 UTC 2016
On 01/10/16 19:16, Olivier Brunel wrote:
> 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
>
Good thing all gettext calls require quotes then.
A
More information about the pacman-dev
mailing list