Here is a little script that can help translators to keep their languages up to date. It already helped get the French translation updated :)))
ChangeLog New tool for displaying the translation status. --- /dev/null 2003-01-30 05:24:37.000000000 -0500 +++ tools/translations_status 2003-09-20 11:34:05.000000000 -0400 @@ -0,0 +1,65 @@ +#!/bin/sh +# Copyright 2003 Dimitire O. Paun +# Simply run it from the root of your wine CVS tree: +# $ tools/tools/translations_status + +MASTER_LANG=En +MASTER_FILES=`find . -name "*$MASTER_LANG.rc"` + +list_translations() +{ + MASTER_FILE=$1 + TRANSLATIONS=`ls ${MASTER_FILE%$MASTER_LANG.rc}??.rc` + for translation in $TRANSLATIONS; do + LANG=`echo "$translation" | sed 's/.*\(..\)\.rc/\1/'` + if [ "$LANG" != 'xx' ]; then echo "$LANG"; fi + done +} + +seconds_since_epoch() +{ + FILE="$1" + STATUS="`cvs status $FILE 2>/dev/null | grep 'Working revision:'`" + if ! echo "$STATUS" | grep -q "No entry for"; then + DATE="`echo "$STATUS" | sed 's/[^0-9]*[^ ]* *//'`" + date -d "$DATE" '+%s' + fi +} + + +echo "Legend:" +echo " '.' -- translation appears to be uptodate" +echo " 'x' -- translation needs updating" +echo " '?' -- unknown status (file not under CVS control)" +echo " ' ' -- translation missing" +echo "Master language is $MASTER_LANG" +echo + +ALL_LANGS=`(for file in $MASTER_FILES; do list_translations "$file"; done) | sort -u` + +echo " Module / Language " $ALL_LANGS + +for master in $MASTER_FILES; do + MASTER_TIMESTAMP=`seconds_since_epoch "$master"` + APP=`echo "${master%/*}" | sed 's/..//'` + printf "%25s" "$APP" + for lang in $ALL_LANGS; do + LANG_FILE="${master%$MASTER_LANG.rc}$lang.rc" + if [ -f "$LANG_FILE" ]; then + if [ -z $MASTER_TIMESTAMP ]; then + STATUS="?" + else + LANG_TIMESTAMP=`seconds_since_epoch "$LANG_FILE"` + if [ "$LANG_TIMESTAMP" -lt "$MASTER_TIMESTAMP" ]; then + STATUS="x" + else + STATUS="." + fi + fi + else + STATUS=" " + fi + echo -n " $STATUS " + done + echo +done -- Dimi.