📄 uplang
字号:
#!/usr/bin/perlif(!$ARGV[0]) { print <<MOOUsage: lang.pl <english file> <translated file>MOO; exit;}my %ids;open(ENG, "<$ARGV[0]");while(<ENG>) { if($_ =~ /^ *\#/) { # comment next; } $_ =~ s/\r//g; if($_ =~ /^ *([a-z]+): *(.*)/) { ($var, $value) = ($1, $2); # print "$var => $value\n"; $set{$var} = $value; if($var eq "new") { # the last one for a single phrase $all{$set{'id'}, 'desc'}=$set{'desc'}; $all{$set{'id'}, 'eng'}=$set{'eng'}; $ids{$set{'id'}}=1; undef %set; } }}close(ENG);undef %set;open(NEW, "<$ARGV[1]");while(<NEW>) { if($_ =~ /^ *\#/) { # comment next; } $_ =~ s/\r//g; if($_ =~ /^ *([a-z]+): *(.*)/) { ($var, $value) = ($1, $2); $set{$var} = $value; if($var eq "new") { # the last one for a single phrase if(!$ids{$set{'id'}}) { print "### ".$set{'id'}." was not found in the english file!\n"; next; } print "\nid: ".$set{'id'}."\n"; if($set{'desc'} ne $all{$set{'id'}, 'desc'}) { print "### Description changed! Previous description was:\n", "### \"".$set{'desc'}."\"\n"; $set{'desc'} = $all{$set{'id'}, 'desc'}; } print "desc: ".$set{'desc'}."\n"; if($set{'eng'} ne $all{$set{'id'}, 'eng'}) { print "### English phrase was changed! Previous translation was made on:\n", "### ".$set{'eng'}."\n"; $set{'eng'} = $all{$set{'id'}, 'eng'}; } print "eng: ".$set{'eng'}."\n"; print "new: ".$set{'new'}."\n"; $ids{$set{'id'}}=0; } }}close(NEW);# output new phrases not already translatedfor(sort keys %ids) { if($ids{$_}) { my $id=$_; print "\nid: $_\n"; print "desc: ".$all{$id, 'desc'}."\n"; print "eng: ".$all{$id, 'eng'}."\n"; print "### Not previously translated\n"; print "new: \n"; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -