Added conv-lang.pl & moved to utils folder
This commit is contained in:
@@ -1,11 +1,13 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
git_top_level=$(git rev-parse --show-toplevel)
|
||||||
|
|
||||||
if [ $# -eq 0 ]; then
|
if [ $# -eq 0 ]; then
|
||||||
echo "Please specify a language file to update"
|
echo "Please specify a language to update"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
language_file="$1"
|
language_file="$git_top_level/src/lang/extra/$1.txt"
|
||||||
|
|
||||||
# Check that the specified file exists
|
# Check that the specified file exists
|
||||||
if [ ! -f "$language_file" ]; then
|
if [ ! -f "$language_file" ]; then
|
||||||
@@ -38,4 +40,6 @@ while read -r line; do
|
|||||||
echo "$line" >>"$language_file"
|
echo "$line" >>"$language_file"
|
||||||
echo "Added missing line to $language_file: $line"
|
echo "Added missing line to $language_file: $line"
|
||||||
fi
|
fi
|
||||||
done <"english.txt"
|
done <"$git_top_level/src/lang/extra/english.txt"
|
||||||
|
cd $git_top_level/src/lang/
|
||||||
|
perl $git_top_level/utils/conv-lang.pl
|
123
utils/conv-lang.pl
Executable file
123
utils/conv-lang.pl
Executable file
@@ -0,0 +1,123 @@
|
|||||||
|
|
||||||
|
#!/usr/bin/env perl
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
|
use utf8;
|
||||||
|
|
||||||
|
use File::Slurp;
|
||||||
|
|
||||||
|
my @langs = qw(
|
||||||
|
afrikaans.txt
|
||||||
|
arabic_egypt.txt
|
||||||
|
basque.txt
|
||||||
|
belarusian.txt
|
||||||
|
brazilian_portuguese.txt
|
||||||
|
bulgarian.txt
|
||||||
|
catalan.txt
|
||||||
|
chuvash.txt
|
||||||
|
croatian.txt
|
||||||
|
czech.txt
|
||||||
|
danish.txt
|
||||||
|
dutch.txt
|
||||||
|
english_AU.txt
|
||||||
|
english_US.txt
|
||||||
|
esperanto.txt
|
||||||
|
estonian.txt
|
||||||
|
faroese.txt
|
||||||
|
finnish.txt
|
||||||
|
french.txt
|
||||||
|
frisian.txt
|
||||||
|
gaelic.txt
|
||||||
|
galician.txt
|
||||||
|
german.txt
|
||||||
|
greek.txt
|
||||||
|
hebrew.txt
|
||||||
|
hindi.txt
|
||||||
|
hungarian.txt
|
||||||
|
icelandic.txt
|
||||||
|
ido.txt
|
||||||
|
indonesian.txt
|
||||||
|
irish.txt
|
||||||
|
italian.txt
|
||||||
|
japanese.txt
|
||||||
|
korean.txt
|
||||||
|
latin.txt
|
||||||
|
latvian.txt
|
||||||
|
lithuanian.txt
|
||||||
|
luxembourgish.txt
|
||||||
|
macedonian.txt
|
||||||
|
malay.txt
|
||||||
|
maltese.txt
|
||||||
|
marathi.txt
|
||||||
|
norwegian_bokmal.txt
|
||||||
|
norwegian_nynorsk.txt
|
||||||
|
persian.txt
|
||||||
|
polish.txt
|
||||||
|
portuguese.txt
|
||||||
|
romanian.txt
|
||||||
|
russian.txt
|
||||||
|
serbian.txt
|
||||||
|
simplified_chinese.txt
|
||||||
|
slovak.txt
|
||||||
|
slovenian.txt
|
||||||
|
spanish.txt
|
||||||
|
spanish_MX.txt
|
||||||
|
swedish.txt
|
||||||
|
tamil.txt
|
||||||
|
thai.txt
|
||||||
|
traditional_chinese.txt
|
||||||
|
turkish.txt
|
||||||
|
urdu.txt
|
||||||
|
ukrainian.txt
|
||||||
|
vietnamese.txt
|
||||||
|
welsh.txt
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
my @lang_lines;
|
||||||
|
|
||||||
|
my $start = 0;
|
||||||
|
my @lines = read_file("extra/english.txt") or die("Can't read english.txt");
|
||||||
|
for (@lines) {
|
||||||
|
$start = 1 if /##override off/;
|
||||||
|
next unless $start;
|
||||||
|
|
||||||
|
next if /^##/;
|
||||||
|
|
||||||
|
push @lang_lines, $_;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
for my $lang (@langs) {
|
||||||
|
my @in_lines = read_file($lang);
|
||||||
|
push @in_lines, read_file("extra/$lang");
|
||||||
|
|
||||||
|
my %strs;
|
||||||
|
for (@in_lines) {
|
||||||
|
chomp;
|
||||||
|
next if /^#/;
|
||||||
|
|
||||||
|
if (/^(\w+)\s*:/) {
|
||||||
|
$strs{$1} = $_;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
my @lines;
|
||||||
|
my $suppress_whitespace = 1;
|
||||||
|
for (@lang_lines) {
|
||||||
|
if (/^(\w+)\s*:/) {
|
||||||
|
if ($strs{$1}) {
|
||||||
|
push @lines, $strs{$1} . "\n";
|
||||||
|
$suppress_whitespace = 0;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
next if ($_ eq "\n") && $suppress_whitespace;
|
||||||
|
push @lines, $_;
|
||||||
|
$suppress_whitespace = ($_ eq "\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
pop @lines if ($lines[-1] eq "\n");
|
||||||
|
write_file("extra/$lang", @lines);
|
||||||
|
}
|
Reference in New Issue
Block a user