diff options
author | Michael Meeks <michael.meeks@suse.com> | 2013-05-13 10:35:51 +0100 |
---|---|---|
committer | Michael Meeks <michael.meeks@suse.com> | 2013-05-15 09:37:39 +0100 |
commit | 8e318ce626fb682e48dae70a910198d3891bc81d (patch) | |
tree | e698b4f87f0d30e7262ccf6ac61c8126cc0b2f93 /sysui | |
parent | e0deec252dd0670ce170eaf9eca60ca0fb56ade2 (diff) |
move desktop translation tool to solenv.
Change-Id: I6e119f79a9293fa204904459c75ff97e5d3b5be6
Diffstat (limited to 'sysui')
-rw-r--r-- | sysui/CustomTarget_share.mk | 18 | ||||
-rw-r--r-- | sysui/desktop/share/translate.pl | 149 |
2 files changed, 10 insertions, 157 deletions
diff --git a/sysui/CustomTarget_share.mk b/sysui/CustomTarget_share.mk index 4115de3f769d..121005e1a169 100644 --- a/sysui/CustomTarget_share.mk +++ b/sysui/CustomTarget_share.mk @@ -20,6 +20,8 @@ endif share_WORKDIR := $(call gb_CustomTarget_get_workdir,sysui/share) share_SRCDIR := $(SRCDIR)/sysui/desktop +share_TRANSLATE := $(SOLARENV)/bin/desktop-translate.pl + LAUNCHERLIST_APPS := writer calc draw impress math base startcenter LAUNCHERLIST := $(LAUNCHERLIST_APPS) qstart xsltfilter LAUNCHERS := $(foreach launcher,$(LAUNCHERLIST),$(share_SRCDIR)/menus/$(launcher).desktop) @@ -147,22 +149,22 @@ $(share_WORKDIR)/%/openoffice.org.xml: $(share_WORKDIR)/documents.ulf $(MIMEDESK $(share_WORKDIR)/%/openoffice.keys: \ $(share_SRCDIR)/mimetypes/openoffice.mime $(MIMEKEYS) $(share_SRCDIR)/share/brand.pl \ - $(share_SRCDIR)/share/translate.pl $(share_WORKDIR)/documents.ulf + $(share_TRANSLATE) $(share_WORKDIR)/documents.ulf mkdir -p $(dir $@) $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),PRL,1) $(PERL) $(share_SRCDIR)/share/brand.pl -p $* -u $(UNIXFILENAME.$*) \ --iconprefix $(UNIXFILENAME.$*) $^ $(share_WORKDIR)/$* - $(PERL) $(share_SRCDIR)/share/translate.pl -p $* -d $(share_WORKDIR)/$* \ + $(PERL) $(share_TRANSLATE) -p $* -d $(share_WORKDIR)/$* \ --ext "keys" --key "description" $(share_WORKDIR)/documents.ulf cat $(MIMEKEYS) > $@ $(share_WORKDIR)/%/mimelnklist: $(MIMEDESKTOPS) $(share_SRCDIR)/share/brand.pl \ - $(share_SRCDIR)/share/translate.pl $(share_WORKDIR)/documents.ulf + $(share_TRANSLATE) $(share_WORKDIR)/documents.ulf mkdir -p $(dir $@) $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),PRL,1) $(PERL) $(share_SRCDIR)/share/brand.pl -p $* -u $(UNIXFILENAME.$*) \ --iconprefix $(UNIXFILENAME.$*) $^ $(share_WORKDIR)/$* - $(PERL) $(share_SRCDIR)/share/translate.pl -p $* -d $(share_WORKDIR)/$* \ + $(PERL) $(share_TRANSLATE) -p $* -d $(share_WORKDIR)/$* \ --ext "desktop" --key "Comment" $(share_WORKDIR)/documents.ulf echo "$(MIMEDESKTOPS)" > $@ @@ -207,17 +209,17 @@ $(share_WORKDIR)/%/openoffice.applications: $(share_SRCDIR)/mimetypes/openoffice cat $< | tr -d "\015" | sed -e "s/OFFICENAME/$(UNIXFILENAME.$*)/" -e "s/%PRODUCTNAME/$(PRODUCTNAME.$*) $(PRODUCTVERSION.$*)/" > $@ $(share_WORKDIR)/%/build.flag: $(share_SRCDIR)/share/brand.pl $(LAUNCHERS) \ - $(share_SRCDIR)/share/translate.pl $(addprefix $(share_WORKDIR)/,$(ULFS)) + $(share_TRANSLATE) $(addprefix $(share_WORKDIR)/,$(ULFS)) mkdir -p $(dir $@) $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),PRL,1) $(PERL) $(share_SRCDIR)/share/brand.pl -p $(PRODUCTNAME.$*)$(PRODUCTVERSION) -u '$$(UNIXPRODUCTNAME)$$(BRANDPACKAGEVERSION)' \ $(brand_URIPARAM) \ --iconprefix '$$(UNIXBASISROOTNAME)' $^ $(share_WORKDIR)/$* - $(PERL) $(share_SRCDIR)/share/translate.pl -p $(PRODUCTNAME.$*)$(PRODUCTVERSION) -d $(share_WORKDIR)/$* \ + $(PERL) $(share_TRANSLATE) -p $(PRODUCTNAME.$*)$(PRODUCTVERSION) -d $(share_WORKDIR)/$* \ --ext "desktop" --key "Comment" $(share_WORKDIR)/launcher_comment.ulf - $(PERL) $(share_SRCDIR)/share/translate.pl -p $(PRODUCTNAME.$*)$(PRODUCTVERSION) -d $(share_WORKDIR)/$* \ + $(PERL) $(share_TRANSLATE) -p $(PRODUCTNAME.$*)$(PRODUCTVERSION) -d $(share_WORKDIR)/$* \ --ext "desktop" --key "GenericName" $(share_WORKDIR)/launcher_genericname.ulf - $(PERL) $(share_SRCDIR)/share/translate.pl -p $(PRODUCTNAME.$*)$(PRODUCTVERSION) -d $(share_WORKDIR)/$* \ + $(PERL) $(share_TRANSLATE) -p $(PRODUCTNAME.$*)$(PRODUCTVERSION) -d $(share_WORKDIR)/$* \ --ext "desktop" --key "UnityQuickList" $(share_WORKDIR)/launcher_unityquicklist.ulf touch $@ diff --git a/sysui/desktop/share/translate.pl b/sysui/desktop/share/translate.pl deleted file mode 100644 index 48742b7f1e6d..000000000000 --- a/sysui/desktop/share/translate.pl +++ /dev/null @@ -1,149 +0,0 @@ -: -eval 'exec perl -wS $0 ${1+"$@"}' - if 0; - -# -# This file is part of the LibreOffice project. -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# -# This file incorporates work covered by the following license notice: -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed -# with this work for additional information regarding copyright -# ownership. The ASF licenses this file to you under the Apache -# License, Version 2.0 (the "License"); you may not use this file -# except in compliance with the License. You may obtain a copy of -# the License at http://www.apache.org/licenses/LICENSE-2.0 . -# - -my ($prefix, $ext, $key); -my $productname = "LibreOffice"; -my $workdir = "."; - -while ($_ = $ARGV[0], /^-/) { - shift; - last if /^--$/; - if (/^-p/) { - $productname = $ARGV[0]; - shift; - } - if (/^-d/) { - $workdir = $ARGV[0]; - shift; - } - if (/^--key/) { - $key = $ARGV[0]; - shift; - } - if (/^--prefix/) { - $prefix = $ARGV[0]; - shift; - } - if (/^--ext/) { - $ext = $ARGV[0]; - shift; - } -} - -# hack for unity section -my $outkey = $key; -if ( $outkey eq "UnityQuicklist" ) { - $outkey = "Name"; -} - -my %templates; - -# open input file -unless (open(SOURCE, $ARGV[0])) { - print STDERR "Can't open $ARGV[0] file: $!\n"; - return; -} - -# currently read template -my $template; - -# read ulf file -while (<SOURCE>) { - my $line = $_; - - if ( "[" eq substr($line, 0, 1) ) { - $template = substr($line, 1, index($line,"]")-1); - my %entry; - # For every section in the specified ulf file there should exist - # a template file in $workdir .. - $entry{'outfile'} = "$workdir/$prefix$template.$ext"; - my %translations; - $entry{'translations'} = \%translations; - $templates{$template} = \%entry; - } else { - # split locale = "value" into 2 strings - my ($locale, $value) = split(' = ', $line); - - if ( $locale ne $line ) { - # replace en-US with en - $locale=~s/en-US/en/; - - # use just anything inside the "" - $value = substr($value, index($value, "\"") + 1, rindex($value, "\"") - 1); - - # replace resource placeholder - $value=~s/%PRODUCTNAME/$productname/g; - - $locale=~s/-/_/; - - $templates{$template}->{'translations'}->{$locale} = $value; - } - } -} - -close(SOURCE); - -# process templates -foreach $template (keys %templates) { - my $outfile = $templates{$template}->{'outfile'}; - - # open the template file - ignore sections for which no - # templates exist - unless(open(TEMPLATE, $outfile)) { - print STDERR "Warning: No template found for item $_: $outfile: $!\n"; - exit -1; - } - - # open output file - unless (open(OUTFILE, "> $outfile.tmp")) { - print STDERR "Can't create output file $outfile.tmp: $!\n"; - exit -1; - } - - # emit the template to the output file - while (<TEMPLATE>) { - my $keyline = $_; - $keyline =~ s/^$key/$outkey/; - print OUTFILE $keyline; - if (/$key/) { - my $translations = $templates{$template}->{'translations'}; - foreach my $locale (keys %{$translations}) { - my $value = $translations->{$locale}; - # print "locale is $locale\n"; - # print "value is $value\n"; - if ($value) { - if ($ext eq "desktop") { - print OUTFILE "$outkey\[$locale\]=$value\n"; - } else { - print OUTFILE "\t\[$locale\]$outkey=$value\n"; - } - } - } - } - } - - close(TEMPLATE); - - if (close(OUTFILE)) { - system "mv -f $outfile.tmp $outfile\n"; - } -} |