Add translation-diff util script
This commit is contained in:
		
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -13,3 +13,4 @@ run/
 | 
			
		||||
*.iws
 | 
			
		||||
.idea/
 | 
			
		||||
out/
 | 
			
		||||
translation-diff.diff
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										42
									
								
								translation-diff.pl
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										42
									
								
								translation-diff.pl
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,42 @@
 | 
			
		||||
use constant {
 | 
			
		||||
    BASE_LANG => "en_US",
 | 
			
		||||
    OUTPUT_FILE => "translation-diff.diff"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
my $lang = $ARGV[0] or die("Missing language to diff with");
 | 
			
		||||
 | 
			
		||||
sub lang_file {
 | 
			
		||||
    my ($lang) = @_;
 | 
			
		||||
    my $filename = "src/main/resources/assets/refinedstorage/lang/" . $lang . ".lang";
 | 
			
		||||
    open(my $fh, $filename) or die("Couldn't open $filename");
 | 
			
		||||
    return $fh;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub write_keys {
 | 
			
		||||
    my ($lang, $lang_keys) = @_;
 | 
			
		||||
    my $filename = $lang . ".tmp";
 | 
			
		||||
    open(my $fh, '>', $filename) or die("Couldn't open temp file $filename for $lang for writing");
 | 
			
		||||
    print $fh $lang_keys;
 | 
			
		||||
    close $fh;
 | 
			
		||||
    return $filename;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub lang_keys {
 | 
			
		||||
    my ($lang_file) = @_;
 | 
			
		||||
    my $keys = "";
 | 
			
		||||
    while (my $line = <$lang_file>) {
 | 
			
		||||
        my @p = split("=", $line);
 | 
			
		||||
        $keys .= $p[0] . "\n";
 | 
			
		||||
    }
 | 
			
		||||
    return $keys;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
my $base_keys = lang_keys(lang_file(BASE_LANG));
 | 
			
		||||
my $t1 = write_keys(BASE_LANG, $base_keys);
 | 
			
		||||
 | 
			
		||||
my $lang_keys = lang_keys(lang_file($lang));
 | 
			
		||||
my $t2 = write_keys($lang, $lang_keys);
 | 
			
		||||
 | 
			
		||||
system("diff -s -y $t1 $t2 > " . OUTPUT_FILE);
 | 
			
		||||
 | 
			
		||||
unlink($t1, $t2);
 | 
			
		||||
		Reference in New Issue
	
	Block a user