From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id EA0E31FF165 for ; Thu, 31 Jul 2025 13:27:30 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id DB0CB39213; Thu, 31 Jul 2025 13:28:57 +0200 (CEST) From: Maximiliano Sandoval To: pve-devel@lists.proxmox.com Date: Thu, 31 Jul 2025 13:25:59 +0200 Message-ID: <20250731112822.297009-1-m.sandoval@proxmox.com> X-Mailer: git-send-email 2.47.2 MIME-Version: 1.0 X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1753961290319 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.095 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pve-devel] [PATCH proxmox-i18n 1/2] format with proxmox-perltidy X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" Signed-off-by: Maximiliano Sandoval --- po2js.pl | 69 ++++++++++++++++++++++++++------------------------------ 1 file changed, 32 insertions(+), 37 deletions(-) diff --git a/po2js.pl b/po2js.pl index ee5bbd1..c5268d7 100755 --- a/po2js.pl +++ b/po2js.pl @@ -26,14 +26,10 @@ sub fnv31a { my $hval = 0x811c9dc5; foreach my $c (unpack('C*', $string)) { - $hval ^= $c; - $hval += ( - (($hval << 1) ) + - (($hval << 4) ) + - (($hval << 7) ) + - (($hval << 8) ) + - (($hval << 24) ) ); - $hval = $hval & 0xffffffff; + $hval ^= $c; + $hval += + ((($hval << 1)) + (($hval << 4)) + (($hval << 7)) + (($hval << 8)) + (($hval << 24))); + $hval = $hval & 0xffffffff; } return $hval & 0x7fffffff; } @@ -41,51 +37,50 @@ sub fnv31a { my $catalog = {}; foreach my $filename (@ARGV) { - my $href = Locale::PO->load_file_ashash($filename) || - die "unable to load '$filename'\n"; - + my $href = Locale::PO->load_file_ashash($filename) + || die "unable to load '$filename'\n"; + my $charset; my $hpo = $href->{'""'} || die "no header"; my $header = $hpo->dequote($hpo->msgstr); if ($header =~ m|^Content-Type:\s+text/plain;\s+charset=(\S+)$|im) { - $charset = $1; + $charset = $1; } else { - die "unable to get charset\n" if !$charset; + die "unable to get charset\n" if !$charset; } - foreach my $k (keys %$href) { - my $po = $href->{$k}; - next if $po->fuzzy(); # skip fuzzy entries - my $ref = $po->reference(); + my $po = $href->{$k}; + next if $po->fuzzy(); # skip fuzzy entries + my $ref = $po->reference(); - # skip unused entries - next if !$ref; + # skip unused entries + next if !$ref; - # skip entries if t is defined (pve/pmg) and the string is - # not used there or in the widget toolkit - next if $options->{t} && $ref !~ m/($options->{t}|proxmox)\-/; - - my $qmsgid = decode($charset, $po->msgid); - my $msgid = $po->dequote($qmsgid); + # skip entries if t is defined (pve/pmg) and the string is + # not used there or in the widget toolkit + next if $options->{t} && $ref !~ m/($options->{t}|proxmox)\-/; - my $qmsgstr = decode($charset, $po->msgstr); - my $msgstr = $po->dequote($qmsgstr); + my $qmsgid = decode($charset, $po->msgid); + my $msgid = $po->dequote($qmsgid); - next if !length($msgid); # skip header - - next if !length($msgstr); # skip untranslated entries + my $qmsgstr = decode($charset, $po->msgstr); + my $msgstr = $po->dequote($qmsgstr); - my $digest = fnv31a($msgid); + next if !length($msgid); # skip header - die "duplicate digest" if $catalog->{$digest}; + next if !length($msgstr); # skip untranslated entries - $catalog->{$digest} = [ $msgstr ]; - # later, we can add plural forms to the array + my $digest = fnv31a($msgid); + + die "duplicate digest" if $catalog->{$digest}; + + $catalog->{$digest} = [$msgstr]; + # later, we can add plural forms to the array } } -my $json = to_json($catalog, {canonical => 1, utf8 => 1}); +my $json = to_json($catalog, { canonical => 1, utf8 => 1 }); my $version = $options->{v} // ("dev-build " . localtime()); my $content = "// $version\n"; # write version to the beginning to better avoid stale cache @@ -120,8 +115,8 @@ function gettext(buf) { __EOD if ($outfile) { - open(my $fh, '>', $outfile) || - die "unable to open '$outfile' - $!\n"; + open(my $fh, '>', $outfile) + || die "unable to open '$outfile' - $!\n"; print $fh $content; } else { print $content; -- 2.47.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel