Now I have written the perl script. It turned out a little longer than I suspected it would be, because it has to take care of a certain situation, when the build never occurs at the time, when the translation is "properly" outdated.
In order for it to run properly, the following changes should be made: 1). --- Makefile 2000/07/12 23:18:56 1.19 +++ Makefile 2000/09/27 12:20:03 @@ -1,6 +1,6 @@ # Top-level Makefile for the Debian Web pages -LANGUAGES := arabic chinese croatian danish dutch english esperanto finnish \ +LANGUAGES := english arabic chinese croatian danish dutch esperanto finnish \ french german hungarian italian japanese korean norwegian \ polish portuguese romanian russian spanish swedish turkish LANGUAGES-install := $(addsuffix -install,${LANGUAGES}) - because build in english directory touches translations, it should be moved to the beginning of the build process 2). --- Makefile.common 2000/09/11 19:11:54 1.10 +++ Makefile.common 2000/09/27 12:20:38 @@ -17,7 +17,8 @@ ENGLISHSRCDIR = $(WMLBASE)/../english endif -ENGLISHDIR := $(ENGLISHSRCDIR) # this is just an alias +ENGLISHDIR := $(ENGLISHSRCDIR) +# this ^ is just an alias HTMLDIR = $(WMLBASE)/$(RELHTMLBASE)/$(CUR_DIR) TEMPLDIR = $(WMLBASE)/$(RELTEMPLDIR) @@ -115,6 +116,9 @@ %.$(LANGUAGE).html : %.wml $(TEMPLDIR)/template.wml $(TEMPLDIR)/languages.wml \ $(HTMLDEP) $(WML) $(<F) +ifeq "$(LANGUAGE)" "en" + $(WMLBASE)/../touch_translations.pl $(CURDIR)/$(<F) +endif endif endif 3). --- english/template/debian/translation-check.wml 2000/08/29 16:39:57 1.4 +++ english/template/debian/translation-check.wml 2000/09/27 12:21:14 @@ -1,4 +1,8 @@ #use wml::std::tags +#use wml::debian::translation-check-definitions + +# Translators: please do not modify this file, instead look at +# "translation-check-definitions.wml" # EXAMPLE CODE (file translation-check.wml called as # #use wml::debian::translation-check translation="1.1") @@ -16,16 +20,18 @@ # This is the maximum difference between a translated # document and the original before printing the warning -$max_versions = 5; + [EMAIL PROTECTED] = (5, 10, 15); # Turn this to '1' to set debugging ouput -# Ä„Only do this if you know what you are doing! +# only do this if you know what you are doing! # If you checkin to CVS this should be set to 0 $debug = 0; -# This is the directory where the original source is kept -# maybe it could be a parameter, since sometimes the original -# language is NOT english +# This is the directory where the original source is kept. Even if the +# language you are translating from is not English, you should put the +# revision of the English file in your #use wml::debian::translation-check +# line $original_dir = "../english"; # TODO: Should do error checking here if file does not exist... open (MAKE,"<Makefile"); @@ -85,11 +91,12 @@ # TODO: check also major numbers print "Comparing minor $last_number to minor $last_translated_number\n" if $debug; -if ( $last_number - $last_translated_number > $max_versions ) -{ -# TODO:This should be printed using slices in order to tell the -# user in his language - print "<B>Warning!: This translations is too out of date</B><BR>"; +if ( ($last_number - $last_translated_number) >= $max_versions[2] ) { + print "<translation-warning3>"; +} elsif (($last_number - $last_translated_number) >= $max_versions[1]) { + print "<translation-warning2>"; +} elsif (($last_number - $last_translated_number) >= $max_versions[0]) { + print "<translation-warning1>"; } close CVS_ENTRY; } 4). this contains slices for all languages # Translators: Please add a slice for your language to each of these warnings. # The first will be shown, when the translation is 5 revisions old, the # second, when it is 10 revisions old, and the last, when it is 15 revisions # old. (The exact numbers may be changed, but you get the idea.) <define-tag translation-warning1> [EN:<p>This translation of this page is a little outdated. You may consider looking at the original.<br>:] [IT:<p>This translation of this page is a little outdated. You may consider looking at the original.<br>:] [...truncated..] 5). check in the script (see attachment) 6). all translators should add the #use wml::debian::translation-check translation="X.xx" tag to their files. Please comment on this. regards Marcin PS: I tested this for whole webwml tree, everything seems to work fine. -- +--------------------------------+ The reason we come up with new versions |Marcin Owsiany | is not to fix bugs. It's the stupidest |[EMAIL PROTECTED]| reason to buy a new version +--------------------------------+ I ever heard. - Bill Gates
touch_translations.pl
Description: Perl program