summaryrefslogtreecommitdiff
path: root/l10ntools
diff options
context:
space:
mode:
authorAndras Timar <atimar@suse.com>2011-12-13 08:43:13 +0100
committerAndras Timar <atimar@suse.com>2011-12-13 08:44:00 +0100
commitd5b25bdd1247363c5745dd5fcbc2ec784063b6bd (patch)
treed11dd831cbd6985a7ee2c1be357b5e7bfb4a6ffe /l10ntools
parentc0b0cbe1a7ce5e71de57aa3908441026dedccaab (diff)
introducing propex tool for string extranction from .properties files
Diffstat (limited to 'l10ntools')
-rw-r--r--l10ntools/prj/d.lst1
-rwxr-xr-xl10ntools/scripts/propex63
-rw-r--r--l10ntools/source/localize.cxx1
3 files changed, 65 insertions, 0 deletions
diff --git a/l10ntools/prj/d.lst b/l10ntools/prj/d.lst
index b3e48cfabfa6..0d3971975818 100644
--- a/l10ntools/prj/d.lst
+++ b/l10ntools/prj/d.lst
@@ -38,6 +38,7 @@ mkdir: %_DEST%\bin\help\com\sun\star\help
..\scripts\keyidGen.pl %_DEST%\bin\keyidGen.pl
..\scripts\addkeyid2pot.pl %_DEST%\bin\addkeyid2pot.pl
..\scripts\po2lo %_DEST%\bin\po2lo
+..\scripts\propex %_DEST%\bin\propex
..\inc\export.hxx %_DEST%\inc\l10ntools\export.hxx
..\inc\l10ntools\directory.hxx %_DEST%\inc\l10ntools\directory.hxx
..\inc\l10ntools\file.hxx %_DEST%\inc\l10ntools\file.hxx
diff --git a/l10ntools/scripts/propex b/l10ntools/scripts/propex
new file mode 100755
index 000000000000..e7ee7e99c9db
--- /dev/null
+++ b/l10ntools/scripts/propex
@@ -0,0 +1,63 @@
+:
+eval 'exec perl -S $0 ${1+"$@"}'
+ if 0;
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License or as specified alternatively below. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Initial Developer of the Original Code is
+# Andras Timar <atimar@suse.com>
+# Portions created by the Initial Developer are Copyright (C) 2011 the
+# Initial Developer. All Rights Reserved.
+#
+# Major Contributor(s):
+#
+# For minor contributions see the git repository.
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+#
+# extracts strings from Java properties files
+#
+
+use strict;
+use Getopt::Std;
+use Cwd;
+
+my %options=();
+getopts("ep:r:i:o:l:", \%options);
+
+unless ( $options{i} =~ m/en_US/ ) {exit 1;}
+
+my $file = substr ( Cwd::abs_path($options{i}), length(Cwd::abs_path($options{r})) + 1 );
+$file =~ s|/|\\|g;
+
+open (INFILE, "<$options{i}") || die "propex: cannot open input file: $options{i}";
+open (OUTFILE, ">$options{o}") || die "propex: cannot open output file: $options{o}";
+
+while (<INFILE>) {
+ chomp;
+ if (/=/) {
+ my ($id, $value) = split /=/;
+ $value =~ s/^\s+//; #remove leading spaces
+ $value =~ s/\s+$//; #remove trailing spaces
+ $value =~ s/(\\u([0-9a-fA-F]{4}))/pack("C0U1",hex($2))/ge; #convert ascii escaped unicode to utf-8
+ print OUTFILE "$options{p}\t$file\t0\tproperty\t$id\t\t\t\t0\ten-US\t$value\t\t\t\t20020202 02:02:02\n";
+ }
+}
+
+close (INFILE);
+close (OUTFILE);
+
+exit 0;
diff --git a/l10ntools/source/localize.cxx b/l10ntools/source/localize.cxx
index 992683a79c28..a857a65c0b85 100644
--- a/l10ntools/source/localize.cxx
+++ b/l10ntools/source/localize.cxx
@@ -58,6 +58,7 @@ const char *ExeTable[][4] = {
{ "xrm", "xrmex", " -e", "negative" },
{ "xml", "xrmex", " -e", "positive" },
{ "xhp", "helpex", " -e", "negative" },
+ { "properties", "propex", " -e", "negative" },
{ "NULL", "NULL", "NULL", "NULL" }
};