+++ /dev/null
-#!/opt/local/bin/perl
-use XML::Simple;
-use Getopt::Std;
-use File::Glob;
-use Data::Dumper;
-use strict;
-
-our ( $opt_m, $opt_x, $opt_l );
-our $VERSION = '0.01';
-our %LANGS = (
- 'fr' => 'French',
- 'ja' => 'Japanese',
- 'de' => 'German',
- 'ko' => 'Korean',
- 'tr' => 'Turkish'
- );
-
-getopts("xl:m:");
-HELP_MESSAGE() unless $opt_m;
-
-$opt_m =~ s/\.xml$//;
-HELP_MESSAGE() unless -f $opt_m . '.xml';
-
-my $eng = $opt_m . '.xml';
-my @files = glob $opt_m . '.xml.*';
-
-my $xs = XML::Simple->new();
-my $eng_xml = $xs->XMLin( $eng );
-
-print "This document defines the following directives:\n";
-my @directives;
-foreach my $directive ( sort( keys %{ $eng_xml->{directivesynopsis} } ) ) {
- push @directives, $directive;
- print $directive . "\n";
-}
-print "\n";
-
-foreach my $file (@files) {
-
- next if $file =~ m/\.meta$/;
- my $lang = $file;
- $lang =~ s/.*\.([^.]+)$/$1/;
-
- if ( $opt_l ) {
- next unless $lang eq $opt_l;
- }
-
- print "Translation available in ". ($LANGS{$lang}?$LANGS{$lang}:$lang) ."\n";
- my $lang_xml = $xs->XMLin( $file );
-
- my @missing;
- foreach my $d ( @directives ) {
- unless ( defined( $lang_xml->{directivesynopsis}->{$d} ) ) {
- print "Translation does not define $d\n";
- push @missing, $d;
- }
- }
-
- if ( $opt_x && @missing ) {
- print "\nPaste the following into the XML:\n\n";
- foreach my $d ( @missing ) {
- directive_doc( $d, $eng_xml ) if $opt_x;
- }
- }
-
- print "\n\n";
-}
-
-sub directive_doc {
- my ($d, $eng_xml) = @_;
-
- print "<directivesynopsis>\n";
- print "<name>" . $d . "</name>\n";
- print "<description>" .
- $eng_xml->{directivesynopsis}->{$d}->{description} .
- "</description>\n";
- print "<contextlist>";
-
- # If there's only one context, this is a scalar, not an arrayref.
- if ( !ref( $eng_xml->{directivesynopsis}->{$d}->{contextlist}->{context}) ) {
- $eng_xml->{directivesynopsis}->{$d}->{contextlist}->{context}
- = [ $eng_xml->{directivesynopsis}->{$d}->{contextlist}->{context} ]
- }
-
- foreach my $c ( @{ $eng_xml->{directivesynopsis}->{$d}->{contextlist}->{context} } ) {
- print "<context>".$c."</context>";
- }
- print "</contextlist>\n";
- print "<usage>Documentation not yet translated. Please see English version of document.</usage>\n";
- print "</directivesynopsis>\n\n";
-}
-
-sub HELP_MESSAGE {
- print STDERR qq~
-
-Usage:
-
-cd manual/mod
-../../review_translations.pl -m mod_rewrite
-
-Lists languages with available translations, and tells you what
-directives are missing from each translation.
-
--m mod_foo - Run for mod_foo.
-
--x - Generate XML for missing directives, to be pasted into the
-translation XML.
-
--l xx - Only look at document in language xx
-
-~;
-
- exit();
-}
-
-