* util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
comment. Add an extra layer of quotation, requiring the output of this function to be used in a printf format string. (gettext_printf): New function. * util/grub.d/10_hurd.in: Use gettext_printf where appropriate. Extract translatable strings from here-documents and use a temporary variable instead, so that xgettext can find them. * util/grub.d/10_kfreebsd.in: Likewise. * util/grub.d/10_linux.in: Likewise. * util/grub.d/20_linux_xen.in: Likewise. * po/grub.d.sed: New file. * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf arguments. Set c-format flags on all strings extracted from util/grub.d/ (xgettext refuses to include these itself for strings it extracted from a shell file, but these really are c-format).
This commit is contained in:
parent
5318fe9804
commit
4e01b6c821
8 changed files with 58 additions and 12 deletions
19
ChangeLog
19
ChangeLog
|
@ -1,3 +1,22 @@
|
||||||
|
2010-12-21 Colin Watson <cjwatson@ubuntu.com>
|
||||||
|
|
||||||
|
* util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
|
||||||
|
comment. Add an extra layer of quotation, requiring the output of
|
||||||
|
this function to be used in a printf format string.
|
||||||
|
(gettext_printf): New function.
|
||||||
|
* util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
|
||||||
|
Extract translatable strings from here-documents and use a temporary
|
||||||
|
variable instead, so that xgettext can find them.
|
||||||
|
* util/grub.d/10_kfreebsd.in: Likewise.
|
||||||
|
* util/grub.d/10_linux.in: Likewise.
|
||||||
|
* util/grub.d/20_linux_xen.in: Likewise.
|
||||||
|
|
||||||
|
* po/grub.d.sed: New file.
|
||||||
|
* po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
|
||||||
|
arguments. Set c-format flags on all strings extracted from
|
||||||
|
util/grub.d/ (xgettext refuses to include these itself for strings
|
||||||
|
it extracted from a shell file, but these really are c-format).
|
||||||
|
|
||||||
2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
|
2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
* grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
|
* grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
|
||||||
|
|
|
@ -173,7 +173,8 @@ $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in $(srcdir)/POTFILES-shell
|
||||||
--files-from=$(srcdir)/POTFILES-shell.in \
|
--files-from=$(srcdir)/POTFILES-shell.in \
|
||||||
--copyright-holder='$(COPYRIGHT_HOLDER)' \
|
--copyright-holder='$(COPYRIGHT_HOLDER)' \
|
||||||
--msgid-bugs-address="$$msgid_bugs_address" \
|
--msgid-bugs-address="$$msgid_bugs_address" \
|
||||||
--join-existing --language=Shell --keyword=gettext_quoted \
|
--join-existing --language=Shell \
|
||||||
|
--keyword=gettext_quoted --keyword=gettext_printf \
|
||||||
;; \
|
;; \
|
||||||
*) \
|
*) \
|
||||||
$(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
|
$(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
|
||||||
|
@ -183,10 +184,13 @@ $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in $(srcdir)/POTFILES-shell
|
||||||
--package-name="$${package_gnu}@PACKAGE@" \
|
--package-name="$${package_gnu}@PACKAGE@" \
|
||||||
--package-version='@VERSION@' \
|
--package-version='@VERSION@' \
|
||||||
--msgid-bugs-address="$$msgid_bugs_address" \
|
--msgid-bugs-address="$$msgid_bugs_address" \
|
||||||
--join-existing --language=Shell --keyword=gettext_quoted \
|
--join-existing --language=Shell \
|
||||||
|
--keyword=gettext_quoted --keyword=gettext_printf \
|
||||||
;; \
|
;; \
|
||||||
esac
|
esac
|
||||||
test ! -f $(DOMAIN).po || { \
|
test ! -f $(DOMAIN).po || { \
|
||||||
|
sed -f grub.d.sed < $(DOMAIN).po > $(DOMAIN).1po && \
|
||||||
|
mv $(DOMAIN).1po $(DOMAIN).po; \
|
||||||
if test -f $(srcdir)/$(DOMAIN).pot; then \
|
if test -f $(srcdir)/$(DOMAIN).pot; then \
|
||||||
sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
|
sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
|
||||||
sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
|
sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
|
||||||
|
|
2
po/grub.d.sed
Normal file
2
po/grub.d.sed
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
/^#: util\/grub\.d\//a\
|
||||||
|
#, c-format
|
|
@ -187,8 +187,20 @@ version_find_latest ()
|
||||||
echo "$a"
|
echo "$a"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# One layer of quotation is eaten by "", the second by sed, and the third by
|
||||||
|
# printf; so this turns ' into \'. Note that you must use the output of
|
||||||
|
# this function in a printf format string.
|
||||||
gettext_quoted () {
|
gettext_quoted () {
|
||||||
$gettext "$@" | sed "s/'/'\\\\''/g"
|
$gettext "$@" | sed "s/'/'\\\\\\\\''/g"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Run the first argument through gettext_quoted, and then pass that and all
|
||||||
|
# remaining arguments to printf. This is a useful abbreviation and tends to
|
||||||
|
# be easier to type.
|
||||||
|
gettext_printf () {
|
||||||
|
local format="$1"
|
||||||
|
shift
|
||||||
|
printf "$(gettext_quoted "$format")" "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
uses_abstraction () {
|
uses_abstraction () {
|
||||||
|
|
|
@ -81,14 +81,16 @@ do
|
||||||
menuentry "${OS} ${KERNEL}" ${CLASS} {
|
menuentry "${OS} ${KERNEL}" ${CLASS} {
|
||||||
EOF
|
EOF
|
||||||
prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/"
|
prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/"
|
||||||
|
message="$(gettext_printf "Loading GNU Mach ...")"
|
||||||
cat << EOF
|
cat << EOF
|
||||||
echo '$(gettext_quoted "Loading GNU Mach ...")'
|
echo '$message'
|
||||||
multiboot ${kernel} root=device:${GRUB_DEVICE#/dev/}
|
multiboot ${kernel} root=device:${GRUB_DEVICE#/dev/}
|
||||||
EOF
|
EOF
|
||||||
save_default_entry | sed -e "s/^/\t/"
|
save_default_entry | sed -e "s/^/\t/"
|
||||||
prepare_grub_to_access_device ${GRUB_DEVICE} | sed -e "s/^/\t/"
|
prepare_grub_to_access_device ${GRUB_DEVICE} | sed -e "s/^/\t/"
|
||||||
|
message="$(gettext_printf "Loading the Hurd ...")"
|
||||||
cat << EOF
|
cat << EOF
|
||||||
echo '$(gettext_quoted "Loading the Hurd ...")'
|
echo '$message'
|
||||||
module /hurd/${hurd_fs}.static ${hurd_fs} --readonly \\
|
module /hurd/${hurd_fs}.static ${hurd_fs} --readonly \\
|
||||||
--multiboot-command-line='\${kernel-command-line}' \\
|
--multiboot-command-line='\${kernel-command-line}' \\
|
||||||
--host-priv-port='\${host-port}' \\
|
--host-priv-port='\${host-port}' \\
|
||||||
|
@ -103,13 +105,15 @@ EOF
|
||||||
menuentry "${OS} ${KERNEL} (recovery mode)" ${CLASS} {
|
menuentry "${OS} ${KERNEL} (recovery mode)" ${CLASS} {
|
||||||
EOF
|
EOF
|
||||||
prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/"
|
prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/"
|
||||||
|
message="$(gettext_printf "Loading GNU Mach ...")"
|
||||||
cat << EOF
|
cat << EOF
|
||||||
echo '$(gettext_quoted "Loading GNU Mach ...")'
|
echo '$message'
|
||||||
multiboot ${kernel} root=device:${GRUB_DEVICE#/dev/} -s
|
multiboot ${kernel} root=device:${GRUB_DEVICE#/dev/} -s
|
||||||
EOF
|
EOF
|
||||||
prepare_grub_to_access_device ${GRUB_DEVICE} | sed -e "s/^/\t/"
|
prepare_grub_to_access_device ${GRUB_DEVICE} | sed -e "s/^/\t/"
|
||||||
|
message="$(gettext_printf "Loading the Hurd ...")"
|
||||||
cat << EOF
|
cat << EOF
|
||||||
echo '$(gettext_quoted "Loading the Hurd ...")'
|
echo '$message'
|
||||||
module /hurd/${hurd_fs}.static ${hurd_fs} \\
|
module /hurd/${hurd_fs}.static ${hurd_fs} \\
|
||||||
--multiboot-command-line='\${kernel-command-line}' \\
|
--multiboot-command-line='\${kernel-command-line}' \\
|
||||||
--host-priv-port='\${host-port}' \\
|
--host-priv-port='\${host-port}' \\
|
||||||
|
|
|
@ -84,8 +84,9 @@ kfreebsd_entry ()
|
||||||
fi
|
fi
|
||||||
|
|
||||||
printf '%s\n' "${prepare_boot_cache}"
|
printf '%s\n' "${prepare_boot_cache}"
|
||||||
|
message="$(gettext_printf "Loading kernel of FreeBSD %s ..." ${version})"
|
||||||
cat << EOF
|
cat << EOF
|
||||||
echo '$(printf "$(gettext_quoted "Loading kernel of FreeBSD %s ...")" ${version})'
|
echo '$message'
|
||||||
kfreebsd ${rel_dirname}/${basename} ${args}
|
kfreebsd ${rel_dirname}/${basename} ${args}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
|
|
@ -94,13 +94,15 @@ EOF
|
||||||
prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/")"
|
prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/")"
|
||||||
fi
|
fi
|
||||||
printf '%s\n' "${prepare_boot_cache}"
|
printf '%s\n' "${prepare_boot_cache}"
|
||||||
|
message="$(gettext_printf "Loading Linux %s ..." ${version})"
|
||||||
cat << EOF
|
cat << EOF
|
||||||
echo '$(printf "$(gettext_quoted "Loading Linux %s ...")" ${version})'
|
echo '$message'
|
||||||
linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}
|
linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}
|
||||||
EOF
|
EOF
|
||||||
if test -n "${initrd}" ; then
|
if test -n "${initrd}" ; then
|
||||||
|
message="$(gettext_printf "Loading initial ramdisk ...")"
|
||||||
cat << EOF
|
cat << EOF
|
||||||
echo '$(gettext_quoted "Loading initial ramdisk ...")'
|
echo '$message'
|
||||||
initrd ${rel_dirname}/${initrd}
|
initrd ${rel_dirname}/${initrd}
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -73,14 +73,16 @@ linux_entry ()
|
||||||
prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/")"
|
prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/")"
|
||||||
fi
|
fi
|
||||||
printf '%s\n' "${prepare_boot_cache}"
|
printf '%s\n' "${prepare_boot_cache}"
|
||||||
|
message="$(gettext_printf "Loading Linux %s ..." ${version})"
|
||||||
cat << EOF
|
cat << EOF
|
||||||
echo '$(printf "$(gettext_quoted "Loading Linux %s ...")" ${version})'
|
echo '$message'
|
||||||
multiboot ${rel_xen_dirname}/${xen_basename} placeholder ${xen_args}
|
multiboot ${rel_xen_dirname}/${xen_basename} placeholder ${xen_args}
|
||||||
module ${rel_dirname}/${basename} placeholder root=${linux_root_device_thisversion} ro ${args}
|
module ${rel_dirname}/${basename} placeholder root=${linux_root_device_thisversion} ro ${args}
|
||||||
EOF
|
EOF
|
||||||
if test -n "${initrd}" ; then
|
if test -n "${initrd}" ; then
|
||||||
|
message="$(gettext_printf "Loading initial ramdisk ...")"
|
||||||
cat << EOF
|
cat << EOF
|
||||||
echo '$(gettext_quoted "Loading initial ramdisk ...")'
|
echo '$message'
|
||||||
module ${rel_dirname}/${initrd}
|
module ${rel_dirname}/${initrd}
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in a new issue