diff options
author | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2010-07-16 16:10:14 +0200 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2010-07-16 16:39:51 +0200 |
commit | 21ac8dcc0a3486de7fc82b3070dce0d6766143a5 (patch) | |
tree | 9bac377a6001f203723acbeb2a9a2488db97483b /share/qtcreator/translations/check-ts.pl | |
parent | 2d9c9cc86b5fde5b90eb4d9f63be8988c7599b08 (diff) |
add check-ts target to assess completeness of translations
Diffstat (limited to 'share/qtcreator/translations/check-ts.pl')
-rwxr-xr-x | share/qtcreator/translations/check-ts.pl | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/share/qtcreator/translations/check-ts.pl b/share/qtcreator/translations/check-ts.pl new file mode 100755 index 0000000000..02909f2512 --- /dev/null +++ b/share/qtcreator/translations/check-ts.pl @@ -0,0 +1,87 @@ +#! /usr/bin/perl -w +############################################################################# +## +## Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +## All rights reserved. +## Contact: Nokia Corporation (qt-info@nokia.com) +## +## This file is part of the translations module of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL$ +## No Commercial Usage +## This file contains pre-release code and may not be distributed. +## You may use this file in accordance with the terms and conditions +## contained in the Technology Preview License Agreement accompanying +## this package. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 as published by the Free Software +## Foundation and appearing in the file LICENSE.LGPL included in the +## packaging of this file. Please review the following information to +## ensure the GNU Lesser General Public License version 2.1 requirements +## will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## In addition, as a special exception, Nokia gives you certain additional +## rights. These rights are described in the Nokia Qt LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## If you have questions regarding the use of this file, please contact +## Nokia at qt-info@nokia.com. +## +## +## +## +## +## +## +## +## $QT_END_LICENSE$ +## +############################################################################# + + +use strict; + +my %scores = (); + +my $files = join("\n", <*_??.ts>); +my $res = `xmlpatterns -param files=\"$files\" check-ts.xq`; +for my $i (split(/ /, $res)) { + $i =~ /^(?:[^\/]+\/)*qtcreator_(..)\.ts:(.*)$/; + my ($lang, $pc) = ($1, $2); + $scores{$lang} = $pc; +} + +my $code = ""; + +for my $lang (sort(keys(%scores))) { + my $pc = $scores{$lang}; + my $fail = ""; + if (int($pc) < 98) { + $fail = " (excluded)"; + } else { + $code .= " ".$lang; + } + printf "%-5s %3d%s\n", $lang, $pc, $fail; +} + +my $fn = "translations.pro"; +my $nfn = $fn."new"; +open IN, $fn or die; +open OUT, ">".$nfn or die; +while (1) { + $_ = <IN>; + last if (/^LANGUAGES /); + print OUT $_; +} +while ($_ =~ /\\\n$/) { + $_ = <IN>; +} +print OUT "LANGUAGES =".$code."\n"; +while (<IN>) { + print OUT $_; +} +close OUT; +close IN; +rename $nfn, $fn; |