On 12/14/2010 10:58 AM, Laurent LĂ©onard wrote: >>> New patch 0010-Debianize-libvirt-guests.patch >>> >>> + if ! $configured; then >>> +- echo $"Ignoring guests on $uri URI" >>> ++ echo "Ignoring guests on $uri URI" >> >> It might make sense to introduce a function: >> >> libvirt_echo() { >> echo $"$@" >> } >> >> So that the lines above become: >> >> if ! $configured; then >> libvirt_echo "Ignoring guests on $uri URI" >> >> If we get this integrated upstream we'd only have to patch a single >> line which might future merging easier. We might even be able to either >> pick $" or just " by looking at the shell used. > > What about that proposition ?
Certainly it is better to go through a wrapper function, to minimize the number of places where translation is attempted. And run-time detection of which method to use seems easy enough; something like this (minimally tested): if (LC_ALL=C; test $"x" = x); then libvirt_echo() { echo $"$1" } else libvirt_echo() { gettext "$1" } fi But there is still the issue of marking translated strings in such a way that xgettext can find them. How do other debian-ized init scripts handle this problem? Is there something in $sysconfdir/rc.d/init.d/functions that is already common between distros to aid in this effort? Oh, and this is interesting reading[1], since it claims the use of $"" in bash is a security hole. Instead, the current gettext recommendations for adding i18n to a shell script are to source the file gettext.sh, set TEXTDOMAIN and TEXTDOMAINDIR, and use gettext(1) and friends everywhere in the first place. But I didn't find out how xgettext works on shell scripts (if it even can); xgettext -L doesn't seem to support a shell-like language. I guess I'll ask for more advice on the gettext mailing list. [1] http://www.gnu.org/software/gettext/manual/gettext.html#bash But if we go with the gettext advice of avoiding $"" altogether, then there's no need to go through an intermediate function, and we should instead mark every translated string by using gettext instead of echo. -- Eric Blake ebl...@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list