[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Urgent: please update console-setup translation for Debian Installer release



Quoting dooteo (dooteo@zundan.com):

> > The variable name is wrong. *that* I have fixed.
> 
> My fault! I'm really sorry. By the way, did you have any script to check
> those kind of vars (which msgfmt command does not detect)?

Yep. Here it is.

(you need to have to 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


Reply to: