Skip to content
Snippets Groups Projects
Select Git revision
  • 372d9c372e5c91dbf3a67566a10ad0e16da31214
  • experimental default protected
  • v2023.2.5-ffs
  • nrb/ex400-remove-wps
  • nrb/airmax-test
  • v2023.2.4-ffs
  • nrb/ar9344-reset-sequence
  • autinerd/experimental-openwrt-24.10
  • v2023.2.3-ffs
  • v2023.2.2-ffs
  • v2023.2-ffs
  • v2023.1-ffs
  • v2022.1.4-ffs
  • feature/addMikrotikwAP
  • v2022.1.3-ffs
  • v2021.1.2-ffs
  • v2022.1.1-ffs
  • master protected
  • v2021.1.1-ffs
  • nrb/gluon-master-cpe510
  • v2021.1-ffs
  • experimental-2025-07-04
  • experimental-2025-07-04-base
  • experimental-2025-07-01
  • experimental-2025-07-01-base
  • experimental-2025-06-25
  • experimental-2025-06-25-base
  • experimental-2025-06-24
  • experimental-2025-06-24-base
  • experimental-2025-06-22
  • experimental-2025-06-22-base
  • v2023.2.5-ffs0.1
  • experimental-2025-06-08
  • experimental-2025-06-08-base
  • experimental-2025-06-06
  • experimental-2025-06-06-base
  • experimental-2025-05-27
  • experimental-2025-05-27-base
  • experimental-2025-05-18
  • experimental-2025-05-18-base
  • experimental-2025-05-15
41 results

Dockerfile

  • 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;