Skip to content
Snippets Groups Projects
Select Git revision
  • 508dca41eb36c8331a0abbc94653d53ca2f0a812
  • v2018.2.x default
  • experimental
  • master
  • v2021.1.2-ffs
  • v2021.1.1-ffs
  • nrb/gluon-master-cpe510
  • v2021.1-ffs
  • v2020.2.3-ffs
  • nrbffs/fastd-remove-delay
  • v2020.2.2-ffs
  • v2020.2.1-ffs
  • v2020.2-ffs
  • v2020.2.x
  • v2020.1.3-ffs
  • v2020.1.1-ffs
  • v2020.1-ffs
  • v2019.1.2-ffs
  • v2019.1.1-ffs
  • nrb/test-radv-filter
  • v2019.1-ffs
  • nrbffs/netgear-ex6120
  • v2021.1.2-ffs0.2
  • v2021.1.2-ffs0.1
  • v2021.1.1-ffs0.4
  • v2021.1.1-ffs0.3
  • v2021.1.1-ffs0.2
  • v2021.1.1-ffs0.1
  • v2021.1-ffs0.1
  • v2020.2.3-ffs0.3
  • v2020.2.3-ffs0.2
  • v2020.2.3-ffs0.1
  • v2020.2.2-ffs0.1
  • v2020.2.1-ffs0.1
  • v2020.2-ffs0.1
  • v2020.2
  • v2020.2.x-ffs0.1
  • v2020.1.3-ffs0.1
  • v2020.1.1-ffs0.1
  • v2020.1-ffs0.1
  • v2019.1.2-ffs0.1
  • v2019.1.1-ffs0.1
42 results

vermagic

Blame
  • Forked from firmware / FFS Gluon
    Source project has a limited visibility.
    i18n-scan.pl 2.12 KiB
    #!/usr/bin/perl
    
    use strict;
    use warnings;
    use Text::Balanced qw(extract_bracketed extract_delimited extract_tagged);
    
    @ARGV >= 1 || die "Usage: $0 <source directory>\n";
    
    
    my %stringtable;
    
    sub dec_lua_str
    {
    	my $s = shift;
    	$s =~ s/[\s\n]+/ /g;
    	$s =~ s/\\n/\n/g;
    	$s =~ s/\\t/\t/g;
    	$s =~ s/\\(.)/$1/g;
    	$s =~ s/^ //;
    	$s =~ s/ $//;
    	return $s;
    }
    
    sub dec_tpl_str
    {
    	my $s = shift;
    	$s =~ s/-$//;
    	$s =~ s/[\s\n]+/ /g;
    	$s =~ s/^ //;
    	$s =~ s/ $//;
    	$s =~ s/\\/\\\\/g;
    	return $s;
    }
    
    
    if( open F, "find @ARGV -type f '(' -name '*.html' -o -name '*.lua' ')' |" )
    {
    	while( defined( my $file = readline F ) )
    	{
    		chomp $file;
    
    		if( open S, "< $file" )
    		{
    			local $/ = undef;
    			my $raw = <S>;
    			close S;
    
    
    			my $text = $raw;
    
    			while( $text =~ s/ ^ .*? (?:translate|translatef|_) [\n\s]* \( /(/sgx )
    			{
    				( my $code, $text ) = extract_bracketed($text, q{('")});
    
    				$code =~ s/\\\n/ /g;
    				$code =~ s/^\([\n\s]*//;
    				$code =~ s/[\n\s]*\)$//;
    
    				my $res = "";
    				my $sub = "";
    
    				if( $code =~ /^['"]/ )
    				{
    					while( defined $sub )
    					{
    						( $sub, $code ) = extract_delimited($code, q{'"}, q{\s*(?:\.\.\s*)?});
    
    						if( defined $sub && length($sub) > 2 )
    						{
    							$res .= substr $sub, 1, length($sub) - 2;