Quoting Ask Hjorth Larsen (asklarsen@gmail.com): > On Sat, Nov 13, 2010 at 5:03 PM, Christian PERRIER <bubulle@debian.org> wrote: > > > >> #: ../keyboard-configuration.templates:10001 > >> msgid "Keep default keyboard options (${XKBOPTIONS})?" > >> msgstr "Behold standardtastaturindstillinger (${{XKBOPTIONS})?" > > > > I committed the file and fixed a little error above (double opening > > curly brace in the variable name). > > Thank you - evidently msgfmt did not find this. Is there a way to > validate such formatting strings? Yep. I use the attached script. It needs to find the relevant POT file in the current directory.
#!/bin/sh # # Sync a PO file with a POT file # test its charset # check its validity # # Copyright © 2006-2008 Christian Perrier <bubulle@debian.org> # Copyright © 2006 Denis Barbier <barbier@debian.org> temp=`tempfile` trap "rm -f $temp $temp.new" 1 2 3 15 clean_and_die() { rm -f $temp $temp.new if [ "$1" = "2" ] ; then echo Invalid encoding. Please check the file. fi exit $1 } if [ -z $1 ] then echo Usage $0 fichier clean_and_die 1 fi if [ ! -f $1 ] then echo $1 not found. clean_and_die 1 fi if [ `ls -1 *\.pot 2>/dev/null | wc -l` != "1" ] ; then echo No POT file \(or more than one\) in current directory clean_and_die 1 fi potfile=`ls -1 *\.pot` msgmerge -U --previous $1 $potfile if msgcat $1 >$temp; then mv $temp $1 fi enc=$(grep -E "^\"Content-Type" $1 | cut -f2 -d= | sed 's/\\n\"//g') echo -n "Charset is $enc. Stats: " if test -n "$enc" ; then iconv -f $enc -t UTF-8 $1 >$temp >/dev/null 2>&1 || clean_and_die 2 if [ -x $HOME/bin/check_var.pl ] ; then $HOME/bin/check_var.pl $1 || clean_and_die 3 else echo $HOME/bin/check_var.pl not found clean_and_die 1 fi LC_ALL=C msgfmt -c -v -o /dev/null --statistics $1 chmod 644 $1 fi clean_and_die 0
Attachment:
signature.asc
Description: Digital signature