2
# ***** BEGIN LICENSE BLOCK *****
3
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
5
# The contents of this file are subject to the Mozilla Public License Version
6
# 1.1 (the "License"); you may not use this file except in compliance with
7
# the License. You may obtain a copy of the License at
8
# http://www.mozilla.org/MPL/
10
# Software distributed under the License is distributed on an "AS IS" basis,
11
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12
# for the specific language governing rights and limitations under the
15
# The Original Code is Mozilla Installer locale verification.
17
# The Initial Developer of the Original Code is Mozilla Foundation
18
# Portions created by the Initial Developer are Copyright (C) 2006
19
# the Initial Developer. All Rights Reserved.
22
# Robert Strong <robert.bugzilla@gmail.com>
24
# Alternatively, the contents of this file may be used under the terms of
25
# either the GNU General Public License Version 2 or later (the "GPL"), or
26
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
27
# in which case the provisions of the GPL or the LGPL are applicable instead
28
# of those above. If you wish to allow use of your version of this file only
29
# under the terms of either the GPL or the LGPL, and not to allow others to
30
# use your version of this file under the terms of the MPL, indicate your
31
# decision by deleting the provisions above and replace them with the notice
32
# and other provisions required by the GPL or the LGPL. If you do not delete
33
# the provisions above, a recipient may use your version of this file under
34
# the terms of any one of the MPL, the GPL or the LGPL.
36
# ***** END LICENSE BLOCK *****
38
# Note: this was written using compare-locales.pl as a template.
46
open PROPS, "<$file" || die ("Couldn't open file $file");
49
my $contents = <PROPS>;
52
$contents =~ s/\\$$//gm;
54
return $contents =~ /^\s*([^#!\n]*)$/gm;
63
my @entities = readProperties("$gSourceDir/$path");
65
foreach my $entity (@entities) {
66
if ($entity =~ m|.*(\$\(\^Name\)).*| ||
67
$entity =~ m|.*(\$\(\^NameDA\)).*| ||
68
$entity =~ m|.*(\$\{BrandFullName\}).*| ||
69
$entity =~ m|.*(\$\{BrandShortName\}).*|) {
70
push @invalid, "$entity\n *** incorrect variable usage please refer to en-US";
76
print "Properties in $path using invalid values:\n";
78
print " In $gSourceDir: (change these in your localization)\n";
79
map { print " $_\n"; } @invalid;
90
opendir(DIR, "$gSourceDir/$path") ||
91
die ("Couldn't list $gSourceDir/$path");
92
@entries = grep(!(/^(\.|CVS)/ || /~$/), readdir(DIR));
95
foreach my $file (@entries) {
96
if (-d "$gSourceDir/$path/$file") {
97
checkDir("$path/$file");
99
if ($file =~ /\.properties$/) {
100
checkProperties("$path/$file");
106
local ($gSourceDir) = @ARGV;
107
($gSourceDir) || die("Specify one directory to verify");
109
if (!-d $gSourceDir) {
110
die("Not a directory");