summaryrefslogtreecommitdiff
path: root/buildtools
diff options
context:
space:
mode:
authorAndreas Mair <amair.sob@googlemail.com>2008-03-09 09:39:06 +0100
committerAndreas Mair <amair.sob@googlemail.com>2008-03-09 09:39:06 +0100
commit7b34d920b0043281d7877d1e0ece8642d27f212d (patch)
treec3fb775627f5889beca307e407fcb95b4e6b7342 /buildtools
parent40650ddcf7b4142790b786e50f315dade90e8678 (diff)
downloadvdr-plugin-skinenigmang-7b34d920b0043281d7877d1e0ece8642d27f212d.tar.gz
vdr-plugin-skinenigmang-7b34d920b0043281d7877d1e0ece8642d27f212d.tar.bz2
2008-03-09: Version 0.0.6v0.0.6
- Added scrollbar in menu lists when compiled with VDR >= v1.5.15. - Fixed: VDR didn't responde anymore if the font used for lists was too small (<11px) and the marker in front of the active list item has been turned on. - Added workaround to fix chrashes (hopefully) for VDR 1.4.x and patched fonts. - Updated French translation (Submitted by Patrice Staudt). - Updated Dutch translation (Submitted by Johan Schuring). - Updated Spanish translation (Submitted by Bittor Corl). - Updated Finnish translation (Submitted by Rolf Ahrenberg). - Fixed crash in EPG details when using epgsearch if channel isn't found. - Updated Italian translation (Provided by Gringo). - Fix TrueTypeFonts support when compiled with VDR >= v1.5.4. - Use WeekDayNameFull() in VDR >= v1.5.5. - Use "Full Title Width" setting also for Tracks and Replay OSD. - Optionally scroll current event's title and subtitle in channel info. - New setup option "Show status symbols" (Suggested by chrisz @vdr-portal.de). - Moved to the new i18n system introduced in VDR 1.5.7; fully backwards compatible due to Udo Richter's po2i18n.pl. - Optionally show current WSS mode as symbol (if Avards is running). - Draw "Dolby Digital" and "MONO" indicator in language flags. - Hide inactive status symbols. - Removed date from OSDs: tracks, volume - Added status symbols in replay OSD. - Draw line right to logos in Tracks and Replay OSD as it's done in other OSDs too. - Added channel info OSD for "Info on channel switch = no" VDR option (Reported by Pat @vdr-portal.de). - Removed compile time dependencies to plugin services. - Renamed SKINENIGMA_HAVE_EPGSEARCH define to SKINENIGMA_USE_PLUGIN_EPGSEARCH. - Disable i18n support for VDR >= v1.5.7. - Added Turkish to translation array (for VDR >= v1.5.2). - Use group name for logos even if channel logos are searched for by channel id. - Fixed problems when compiling with VDR v1.5.7+ (Reported by Matthias Fechner). - Fixed problems with certain images (Submitted by pinky666 @vdr-portal.de). - Fixed crash if using display of repeatings in EPG details and reelchannelscan plugin is loaded. - New setup option for location of messages in menu OSD.
Diffstat (limited to 'buildtools')
-rwxr-xr-xbuildtools/po2i18n.pl158
1 files changed, 158 insertions, 0 deletions
diff --git a/buildtools/po2i18n.pl b/buildtools/po2i18n.pl
new file mode 100755
index 0000000..b210fe5
--- /dev/null
+++ b/buildtools/po2i18n.pl
@@ -0,0 +1,158 @@
+#!/usr/bin/perl
+#
+# po2i18n - Convert plugin po files in into i18n.c-format
+#
+# Written by: Udo Richter <udo_richter@gmx.de>
+# Project's homepage: http://www.udo-richter.de/vdr/scripts.html#po2i18n
+# http://www.udo-richter.de/vdr/scripts.en.html#po2i18n
+#
+
+use strict;
+use warnings;
+
+my @LANGS = (
+ "en_US",
+ "de_DE",
+ "sl_SI",
+ "it_IT",
+ "nl_NL",
+ "pt_PT",
+ "fr_FR",
+ "nn_NO",
+ "fi_FI",
+ "pl_PL",
+ "es_ES",
+ "el_GR",
+ "sv_SE",
+ "ro_RO",
+ "hu_HU",
+ "ca_ES",
+ "ru_RU",
+ "hr_HR",
+ "et_EE",
+ "da_DK",
+ "cs_CZ",
+ "tr_TR"
+ );
+
+my %VERS = (
+ "en_US" => 10200,
+ "de_DE" => 10200,
+ "sl_SI" => 10200,
+ "it_IT" => 10200,
+ "nl_NL" => 10200,
+ "pt_PT" => 10200,
+ "fr_FR" => 10200,
+ "nn_NO" => 10200,
+ "fi_FI" => 10200,
+ "pl_PL" => 10200,
+ "es_ES" => 10200,
+ "el_GR" => 10200,
+ "sv_SE" => 10200,
+ "ro_RO" => 10200,
+ "hu_HU" => 10200,
+ "ca_ES" => 10200,
+ "ru_RU" => 10302,
+ "hr_HR" => 10307,
+ "et_EE" => 10313,
+ "da_DK" => 10316,
+ "cs_CZ" => 10342,
+ "tr_TR" => 10502
+ );
+
+
+my %strings;
+
+foreach my $lang (@LANGS) { $strings{$lang} = { }; }
+
+
+sub LoadLanguage(*) {
+ my ($lang) = @_;
+
+ if (!open FILE, "<", "po/$lang.po") {
+ return 0;
+ }
+
+ my $msgid = "";
+ my $msgstr = "";
+ my $last = 0; # 0=init, 1=msgid was last, 2=msgstr was last
+
+ while (<FILE>) {
+ chomp;
+ my $line = $_;
+
+ if ($line =~ /^msgid "(.*)"$/) {
+ if ($last eq 2) {
+ $strings{$lang}->{$msgid} = $msgstr;
+ $strings{"en_US"}->{$msgid} = $msgid;
+ }
+ $msgid = $1;
+ $last = 1;
+ } elsif ($line =~ /^msgstr "(.*)"/) {
+ $msgstr = $1;
+ $last = 2;
+ } elsif ($line =~ /^"(.*)"/) {
+ if ($last eq 1) {
+ $msgid = $msgid . $1;
+ } elsif ($last eq 2) {
+ $msgstr = $msgstr . $1;
+ }
+ }
+ }
+ if ($last eq 2) {
+ $strings{$lang}->{$msgid} = $msgstr;
+ $strings{"en_US"}->{$msgid} = $msgid;
+ }
+
+ close FILE;
+}
+
+
+
+foreach my $lang (@LANGS) {
+ LoadLanguage($lang);
+}
+
+my @msgids = sort keys %{$strings{"en_US"}};
+
+
+my $silent = 0;
+
+while (<>) {
+ my $line = $_;
+
+ if ($line =~ /^\/\/ START I18N/) {
+ print "// START I18N - automatically generated by po2i18n.pl\n";
+ for my $msgid (@msgids) {
+ next if $msgid eq "";
+
+ my $head = " { ";
+ my $endif = "";
+ my $versnum = 10200;
+
+ for my $lang (@LANGS) {
+ if ($VERS{$lang} ne $versnum) {
+ $versnum = $VERS{$lang};
+ print $endif;
+ print "#if VDRVERSNUM >= $versnum\n";
+ $endif = "#endif\n";
+ }
+ my $msgstr = $strings{$lang}->{$msgid};
+ $msgstr = "" if !defined $msgstr;
+
+ print "$head\"$msgstr\",\n";
+ $head = " ";
+ }
+ print $endif;
+ print " },\n";
+ }
+ $silent = 1;
+ }
+
+ if (!$silent) { print $line; }
+
+ if ($line =~ /^\/\/ END I18N/) {
+ print "// END I18N - automatically generated by po2i18n.pl\n";
+ $silent = 0;
+ }
+}