You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							45 lines
						
					
					
						
							1.2 KiB
						
					
					
				
			
		
		
	
	
							45 lines
						
					
					
						
							1.2 KiB
						
					
					
				#!/usr/bin/perl
 | 
						|
 | 
						|
use strict;
 | 
						|
use JSON;
 | 
						|
 | 
						|
my $tr = {
 | 
						|
    portal  => 'lemonldap-ng-portal/site/htdocs/static/languages',
 | 
						|
    manager => 'lemonldap-ng-manager/site/htdocs/static/languages',
 | 
						|
    mail    => 'lemonldap-ng-portal/site/templates/common/mail',
 | 
						|
};
 | 
						|
my @order = (qw(portal mail manager));
 | 
						|
 | 
						|
foreach my $target (@order) {
 | 
						|
    opendir my $dir, $tr->{$target};
 | 
						|
    my @langs =
 | 
						|
      map { s/\.json$//; $_ }
 | 
						|
      grep { /\.json$/ and $_ !~ /^(?:fr|en)\.json$/ } readdir($dir);
 | 
						|
    close $dir;
 | 
						|
    my ( $file, $ref, $res );
 | 
						|
 | 
						|
    # Get reference file
 | 
						|
    {
 | 
						|
        local $/ = undef;
 | 
						|
        open $file, '<', "$tr->{$target}/en.json" or die $!;
 | 
						|
        $ref = JSON::from_json(<$file>);
 | 
						|
    }
 | 
						|
    my @keys = keys %$ref;
 | 
						|
    foreach my $lang (@langs) {
 | 
						|
        my $content;
 | 
						|
        {
 | 
						|
            local $/ = undef;
 | 
						|
            open $file, '<', "$tr->{$target}/$lang.json" or die $!;
 | 
						|
            $content = JSON::from_json(<$file>);
 | 
						|
        }
 | 
						|
        my $good;
 | 
						|
        foreach (@keys) {
 | 
						|
            $good++ if $content->{$_} ne $ref->{$_};
 | 
						|
        }
 | 
						|
        $res->{$lang} = int( $good * 100 / @keys );
 | 
						|
    }
 | 
						|
    print "# $target\n";
 | 
						|
    foreach my $lang ( sort { $res->{$b} <=> $res->{$a} } keys %$res ) {
 | 
						|
        printf "  %-5s: %3d%\n", $lang, $res->{$lang};
 | 
						|
    }
 | 
						|
}
 | 
						|
 |