Файловый менеджер - Редактировать - /var/www/html/libintl-perl.zip
Ðазад
PK ! ��4d0 0 FAQnu �[��� The FAQ has been podified, see "perldoc Locale::libintlFAQ". If you haven't installed libintl-perl and read this file in the source distribution, either try "perldoc lib/Locale/libintlFAQ.pod", or point your favorite web browser to http://search.cpan.org/~guido/libintl-perl/lib/Locale/libintlFAQ.pod. PK ! �F� � examples/simplecal/Makefile.PLnu �[��� #!/usr/bin/perl -w # -*- perl -*- # vim: tabstop=4 # Makefile generator for libintl-perl. # Copyright (C) 2002-2015 Guido Flohr <guido.flohr@cantanea.com>, # all rights reserved. # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU Library General Public License as published # by the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Library General Public License for more details. # You should have received a copy of the GNU Library General Public # License along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, # USA. use ExtUtils::MakeMaker; # See lib/ExtUtils/MakeMaker.pm for details of how to influence # the contents of the Makefile that is written. WriteMakefile( NAME => 'simplecal', VERSION_FROM => 'bin/simplecal.pl', PREREQ_PM => { Locale::TextDomain => 0, }, EXE_FILES => [ 'bin/simplecal.pl' ], AUTHOR => 'Guido Flohr <guido.flohr@cantanea.com>', ABSTRACT => 'Demonstration package for libintl-perl', ); __END__ Local Variables: mode: perl perl-indent-level: 4 perl-continued-statement-offset: 4 perl-continued-brace-offset: 0 perl-brace-offset: -4 perl-brace-imaginary-offset: 0 perl-label-offset: -4 cperl-indent-level: 4 cperl-continued-statement-offset: 2 tab-width: 4 End: PK ! �)k|x x # examples/simplecal/lib/SimpleCal.pmnu �[��� #! /bin/false # vim: tabstop=4 package SimpleCal; use strict; # The text domain (identifier) of our package is 'com.cantanea.simplecal', # following the advice in the pod of Locale::TextDomain. use Locale::TextDomain qw (com.cantanea.simplecal); use base qw (Exporter); use vars qw (@EXPORT); @EXPORT = qw (month_name abbr_week_day is_leap_year); sub month_name ($) { my $month = shift; $month = 0 unless $month; $month %= 12; # This is of course stupid but explains things best. See the # function abbr_week_day() for a smarter approach. if ($month == 0) { return __"January"; } elsif ($month == 1) { return __"February"; } elsif ($month == 2) { return __"March"; } elsif ($month == 3) { return __"April"; } elsif ($month == 4) { return __"May"; } elsif ($month == 5) { return __"June"; } elsif ($month == 6) { return __"July"; } elsif ($month == 7) { return __"August"; } elsif ($month == 8) { return __"September"; } elsif ($month == 9) { return __"October"; } elsif ($month == 10) { return __"November"; } else { return __"December"; } } # This is smarter. We initialize an array with the English names first. # The function N__() is exported by Locale::TextDomain and returns # its argument unmodified. Its sole purpose is to mark the string as # being translatable, so that it will make it into the pot file for # our package. # # It is dangerous to use __() here! Why? Then the array will be translated # only once, at compile time. It is very likely that the locale settings # have not yet been initialized to the user preferences at this point # of time, and since the array is already created, the translation # will not produce the correct results. # # This should become clearer if you imagine that our library would be # part of a daemon that is running for days or even years. The array # would be initialized with the language that was set at program startup # and would then never change again, because you actually cache the # translations. my @abbr_week_days = ( N__"Sun", N__"Mon", N__"Tue", N__"Wed", N__"Thu", N__"Fri", N__"Sat", ); sub abbr_week_day ($) { my $wday = shift; $wday = 0 unless $wday; $wday %= 7; # The argument to __() is simply a string, not necessarily a string # constant. The following line will look up the English name in the # array, and then translates that string on the fly into the current # user language. return __($abbr_week_days[$wday]); # This can still be suboptimal because it translates the string again # and again. In situations where you are absolutely sure that the # user language will not change again, you may prefer to cache the # translations despite of the above hints, especially if you # call the function very many times. In a library you can usually # not be sure whether the user language can change or not and you # should avoid that. The message lookup is quite fast. # Instead of the above return directive we could also have written: # # return $__{$abbr_week_days[$wday]}; # # resp. # # return $__->{$abbr_week_days[$wday]}; # # It is basically a matter of taste whether you prefer the tied # hash lookup or the function call. } # Check whether the argument is a leap year. sub is_leap_year { my $year = shift; $year = 0 unless $year; return 1 if $year % 4 == 0 && ($year % 100 != 0 || $year % 400 == 0); return; } 1; __END__ Local Variables: mode: perl perl-indent-level: 4 perl-continued-statement-offset: 4 perl-continued-brace-offset: 0 perl-brace-offset: -4 perl-brace-imaginary-offset: 0 perl-label-offset: -4 cperl-indent-level: 4 cperl-continued-statement-offset: 2 tab-width: 4 End: PK ! 9k��� � examples/simplecal/MANIFESTnu �[��� MANIFEST Makefile.PL bin/simplecal.pl lib/SimpleCal.pm po/Makefile po/PACKAGE po/POTFILES.in po/ar.po po/ar_SA.po po/cs.po po/de.po po/de_AT.po po/fr.po po/ga.po po/it.po po/nl.po po/com.cantanea.simplecal.pot po/pt.po po/pt_BR.po po/ru.po lib/LocaleData/de/LC_MESSAGES/com.cantanea.simplecal.mo lib/LocaleData/fr/LC_MESSAGES/com.cantanea.simplecal.mo lib/LocaleData/ar/LC_MESSAGES/com.cantanea.simplecal.mo lib/LocaleData/ar_SA/LC_MESSAGES/com.cantanea.simplecal.mo lib/LocaleData/de_AT/LC_MESSAGES/com.cantanea.simplecal.mo lib/LocaleData/ga/LC_MESSAGES/com.cantanea.simplecal.mo lib/LocaleData/it/LC_MESSAGES/com.cantanea.simplecal.mo lib/LocaleData/pt/LC_MESSAGES/com.cantanea.simplecal.mo lib/LocaleData/pt_BR/LC_MESSAGES/com.cantanea.simplecal.mo lib/LocaleData/nl/LC_MESSAGES/com.cantanea.simplecal.mo lib/LocaleData/ru/LC_MESSAGES/com.cantanea.simplecal.mo lib/LocaleData/cs/LC_MESSAGES/com.cantanea.simplecal.mo PK ! b���� � examples/simplecal/po/it.ponu �[��� # Italian translations for SimpleCal. # msgid "" msgstr "" "Project-Id-Version: SimpleCal\n" "Report-Msgid-Bugs-To: Edit the file PACAKGE to change this.\n" "POT-Creation-Date: 2013-01-14 18:14+0200\n" "PO-Revision-Date: 2003-07-28 04:10+0200\n" "Last-Translator: Guido Flohr <Guido.Flohr@cantanea.com>\n" "Language-Team: Italian <guido.flohr@cantanea.com>\n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" #: ../lib/SimpleCal.pm:26 msgid "January" msgstr "gennaio" #: ../lib/SimpleCal.pm:28 msgid "February" msgstr "febbraio" #: ../lib/SimpleCal.pm:30 msgid "March" msgstr "marzo" #: ../lib/SimpleCal.pm:32 msgid "April" msgstr "aprile" #: ../lib/SimpleCal.pm:34 msgid "May" msgstr "maggio" #: ../lib/SimpleCal.pm:36 msgid "June" msgstr "giugno" #: ../lib/SimpleCal.pm:38 msgid "July" msgstr "luglio" #: ../lib/SimpleCal.pm:40 msgid "August" msgstr "agosto" #: ../lib/SimpleCal.pm:42 msgid "September" msgstr "settembre" #: ../lib/SimpleCal.pm:44 msgid "October" msgstr "ottobre" #: ../lib/SimpleCal.pm:46 msgid "November" msgstr "novembre" #: ../lib/SimpleCal.pm:48 msgid "December" msgstr "dicembre" #: ../lib/SimpleCal.pm:70 msgid "Sun" msgstr "dom" #: ../lib/SimpleCal.pm:71 msgid "Mon" msgstr "lun" #: ../lib/SimpleCal.pm:72 msgid "Tue" msgstr "mar" #: ../lib/SimpleCal.pm:73 msgid "Wed" msgstr "mer" #: ../lib/SimpleCal.pm:74 msgid "Thu" msgstr "gio" #: ../lib/SimpleCal.pm:75 msgid "Fri" msgstr "ven" #: ../lib/SimpleCal.pm:76 msgid "Sat" msgstr "sab" #~ msgid "Welcome to {package}!\n" #~ msgstr "Benvenuti in �{package}!\n" #~ msgid "Bye.\n" #~ msgstr "Ciao!\n" PK ! J�H�v v examples/simplecal/po/cs.ponu �[��� # Czech translations for SimpleCal. # msgid "" msgstr "" "Project-Id-Version: SimpleCal\n" "Report-Msgid-Bugs-To: Edit the file PACAKGE to change this.\n" "POT-Creation-Date: 2013-01-14 18:14+0200\n" "PO-Revision-Date: 2003-07-28 04:21+0200\n" "Last-Translator: Jan Tomášek <jan@tomasek.cz>\n" "Language-Team: Czech <guido.flohr@cantanea.com>\n" "Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../lib/SimpleCal.pm:26 msgid "January" msgstr "Leden" #: ../lib/SimpleCal.pm:28 msgid "February" msgstr "Únor" #: ../lib/SimpleCal.pm:30 msgid "March" msgstr "Březen" #: ../lib/SimpleCal.pm:32 msgid "April" msgstr "Duben" #: ../lib/SimpleCal.pm:34 msgid "May" msgstr "Květen" #: ../lib/SimpleCal.pm:36 msgid "June" msgstr "Červen" #: ../lib/SimpleCal.pm:38 msgid "July" msgstr "Červenec" #: ../lib/SimpleCal.pm:40 msgid "August" msgstr "Září" #: ../lib/SimpleCal.pm:42 msgid "September" msgstr "Říjen" #: ../lib/SimpleCal.pm:44 msgid "October" msgstr "Listopad" #: ../lib/SimpleCal.pm:46 msgid "November" msgstr "Prosinec" #: ../lib/SimpleCal.pm:48 msgid "December" msgstr "Prosinec" #: ../lib/SimpleCal.pm:70 msgid "Sun" msgstr "Ne" #: ../lib/SimpleCal.pm:71 msgid "Mon" msgstr "Po" #: ../lib/SimpleCal.pm:72 msgid "Tue" msgstr "Út" #: ../lib/SimpleCal.pm:73 msgid "Wed" msgstr "St" #: ../lib/SimpleCal.pm:74 msgid "Thu" msgstr "Čt" #: ../lib/SimpleCal.pm:75 msgid "Fri" msgstr "Pá" #: ../lib/SimpleCal.pm:76 msgid "Sat" msgstr "So" #~ msgid "Welcome to {package}!\n" #~ msgstr "Vítejte v {package}!\n" #~ msgid "Bye.\n" #~ msgstr "Nashledanou!\n" PK ! 1�� examples/simplecal/po/ru.ponu �[��� # Russian translations for SimpleCal. # msgid "" msgstr "" "Project-Id-Version: SimpleCal\n" "Report-Msgid-Bugs-To: Edit the file PACAKGE to change this.\n" "POT-Creation-Date: 2013-01-14 18:14+0200\n" "PO-Revision-Date: 2003-07-28 04:21+0200\n" "Last-Translator: Guido Flohr <Guido.Flohr@cantanea.com>\n" "Language-Team: Russian <guido.flohr@cantanea.com>\n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-5\n" "Content-Transfer-Encoding: 8bit\n" #: ../lib/SimpleCal.pm:26 msgid "January" msgstr "������" #: ../lib/SimpleCal.pm:28 msgid "February" msgstr "�������" #: ../lib/SimpleCal.pm:30 msgid "March" msgstr "�����" #: ../lib/SimpleCal.pm:32 msgid "April" msgstr "������" #: ../lib/SimpleCal.pm:34 msgid "May" msgstr "���" #: ../lib/SimpleCal.pm:36 msgid "June" msgstr "����" #: ../lib/SimpleCal.pm:38 msgid "July" msgstr "����" #: ../lib/SimpleCal.pm:40 msgid "August" msgstr "�������" #: ../lib/SimpleCal.pm:42 msgid "September" msgstr "��������" #: ../lib/SimpleCal.pm:44 msgid "October" msgstr "�������" #: ../lib/SimpleCal.pm:46 msgid "November" msgstr "������" #: ../lib/SimpleCal.pm:48 msgid "December" msgstr "�������" #: ../lib/SimpleCal.pm:70 msgid "Sun" msgstr "���" #: ../lib/SimpleCal.pm:71 msgid "Mon" msgstr "���" #: ../lib/SimpleCal.pm:72 msgid "Tue" msgstr "���" #: ../lib/SimpleCal.pm:73 msgid "Wed" msgstr "���" #: ../lib/SimpleCal.pm:74 msgid "Thu" msgstr "���" #: ../lib/SimpleCal.pm:75 msgid "Fri" msgstr "���" #: ../lib/SimpleCal.pm:76 msgid "Sat" msgstr "���" #~ msgid "Welcome to {package}!\n" #~ msgstr "����� ���������� � {package}!\n" #~ msgid "Bye.\n" #~ msgstr "����!\n" PK ! ��� � examples/simplecal/po/PACKAGEnu �[��� # Makefile snippet that holds all package-dependent information. # Add more languages here! Beware that this is a makefile snippet and # you have to adhere to make syntax. LINGUAS = de \ de_AT \ it \ ru \ fr \ ar \ ar_SA \ ga \ pt \ pt_BR \ nl \ cs # Textdomain for our package. TEXTDOMAIN = com.cantanea.simplecal # Initial copyright holder added to pot and po files. #COPYRIGHT_HOLDER = Guido Flohr COPYRIGHT_HOLDER = Edit the file PACKAGE to change this. # Where to send msgid bugs? #MSGID_BUGS_ADDRESS = Guido Flohr <guido.flohr@cantanea.com> MSGID_BUGS_ADDRESS = Edit the file PACAKGE to change this. PK ! � ��� � examples/simplecal/po/de_AT.ponu �[��� # German (Austria) translations for SimpleCal. # msgid "" msgstr "" "Project-Id-Version: SimpleCal\n" "Report-Msgid-Bugs-To: Edit the file PACAKGE to change this.\n" "POT-Creation-Date: 2013-01-14 18:14+0200\n" "PO-Revision-Date: 2003-07-27 18:47+0200\n" "Last-Translator: Guido Flohr <Guido.Flohr@cantanea.com>\n" "Language-Team: German <guido.flohr@cantanea.com>\n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../lib/SimpleCal.pm:26 msgid "January" msgstr "J�nner" #: ../lib/SimpleCal.pm:28 msgid "February" msgstr "Feber" #: ../lib/SimpleCal.pm:30 msgid "March" msgstr "" #: ../lib/SimpleCal.pm:32 msgid "April" msgstr "" #: ../lib/SimpleCal.pm:34 msgid "May" msgstr "" #: ../lib/SimpleCal.pm:36 msgid "June" msgstr "" #: ../lib/SimpleCal.pm:38 msgid "July" msgstr "" #: ../lib/SimpleCal.pm:40 msgid "August" msgstr "" #: ../lib/SimpleCal.pm:42 msgid "September" msgstr "" #: ../lib/SimpleCal.pm:44 msgid "October" msgstr "" #: ../lib/SimpleCal.pm:46 msgid "November" msgstr "" #: ../lib/SimpleCal.pm:48 msgid "December" msgstr "" #: ../lib/SimpleCal.pm:70 msgid "Sun" msgstr "" #: ../lib/SimpleCal.pm:71 msgid "Mon" msgstr "" #: ../lib/SimpleCal.pm:72 msgid "Tue" msgstr "" #: ../lib/SimpleCal.pm:73 msgid "Wed" msgstr "" #: ../lib/SimpleCal.pm:74 msgid "Thu" msgstr "" #: ../lib/SimpleCal.pm:75 msgid "Fri" msgstr "" #: ../lib/SimpleCal.pm:76 msgid "Sat" msgstr "" PK ! {i��; ; 0 examples/simplecal/po/com.cantanea.simplecal.potnu �[��� # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Edit the file PACKAGE to change this. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: Edit the file PACAKGE to change this.\n" "POT-Creation-Date: 2013-01-14 18:14+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #: ../lib/SimpleCal.pm:26 msgid "January" msgstr "" #: ../lib/SimpleCal.pm:28 msgid "February" msgstr "" #: ../lib/SimpleCal.pm:30 msgid "March" msgstr "" #: ../lib/SimpleCal.pm:32 msgid "April" msgstr "" #: ../lib/SimpleCal.pm:34 msgid "May" msgstr "" #: ../lib/SimpleCal.pm:36 msgid "June" msgstr "" #: ../lib/SimpleCal.pm:38 msgid "July" msgstr "" #: ../lib/SimpleCal.pm:40 msgid "August" msgstr "" #: ../lib/SimpleCal.pm:42 msgid "September" msgstr "" #: ../lib/SimpleCal.pm:44 msgid "October" msgstr "" #: ../lib/SimpleCal.pm:46 msgid "November" msgstr "" #: ../lib/SimpleCal.pm:48 msgid "December" msgstr "" #: ../lib/SimpleCal.pm:70 msgid "Sun" msgstr "" #: ../lib/SimpleCal.pm:71 msgid "Mon" msgstr "" #: ../lib/SimpleCal.pm:72 msgid "Tue" msgstr "" #: ../lib/SimpleCal.pm:73 msgid "Wed" msgstr "" #: ../lib/SimpleCal.pm:74 msgid "Thu" msgstr "" #: ../lib/SimpleCal.pm:75 msgid "Fri" msgstr "" #: ../lib/SimpleCal.pm:76 msgid "Sat" msgstr "" PK ! >Re e examples/simplecal/po/ar.ponu �[��� # Arabic translations for SimpleCal. # msgid "" msgstr "" "Project-Id-Version: SimpleCal\n" "Report-Msgid-Bugs-To: Edit the file PACAKGE to change this.\n" "POT-Creation-Date: 2013-01-14 18:14+0200\n" "PO-Revision-Date: 2003-07-27 18:56+0200\n" "Last-Translator: Guido Flohr <Guido.Flohr@cantanea.com>\n" "Language-Team: Arabic <guido.flohr@cantanea.com>\n" "Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-6\n" "Content-Transfer-Encoding: 8bit\n" #: ../lib/SimpleCal.pm:26 msgid "January" msgstr "�����" #: ../lib/SimpleCal.pm:28 msgid "February" msgstr "������" #: ../lib/SimpleCal.pm:30 msgid "March" msgstr "����" #: ../lib/SimpleCal.pm:32 msgid "April" msgstr "�����" #: ../lib/SimpleCal.pm:34 msgid "May" msgstr "����" #: ../lib/SimpleCal.pm:36 msgid "June" msgstr "�����" #: ../lib/SimpleCal.pm:38 msgid "July" msgstr "�����" #: ../lib/SimpleCal.pm:40 msgid "August" msgstr "�����" #: ../lib/SimpleCal.pm:42 msgid "September" msgstr "������" #: ../lib/SimpleCal.pm:44 msgid "October" msgstr "������" #: ../lib/SimpleCal.pm:46 msgid "November" msgstr "������" #: ../lib/SimpleCal.pm:48 msgid "December" msgstr "������" #: ../lib/SimpleCal.pm:70 msgid "Sun" msgstr "�" #: ../lib/SimpleCal.pm:71 msgid "Mon" msgstr "�" #: ../lib/SimpleCal.pm:72 msgid "Tue" msgstr "�" #: ../lib/SimpleCal.pm:73 msgid "Wed" msgstr "�" #: ../lib/SimpleCal.pm:74 msgid "Thu" msgstr "�" #: ../lib/SimpleCal.pm:75 msgid "Fri" msgstr "�" #: ../lib/SimpleCal.pm:76 msgid "Sat" msgstr "�" #~ msgid "Welcome to {package}!\n" #~ msgstr "���� �� {package} ��\n" #~ msgid "Bye.\n" #~ msgstr "!��� �����\n" PK ! ��wq� � examples/simplecal/po/ga.ponu �[��� # Irish translations for SimpleCal. # msgid "" msgstr "" "Project-Id-Version: SimpleCal\n" "Report-Msgid-Bugs-To: Edit the file PACAKGE to change this.\n" "POT-Creation-Date: 2013-01-14 18:14+0200\n" "PO-Revision-Date: 2003-07-28 04:10+0200\n" "Last-Translator: Guido Flohr <Guido.Flohr@cantanea.com>\n" "Language-Team: Irish <guido.flohr@cantanea.com>\n" "Language: ga\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" #: ../lib/SimpleCal.pm:26 msgid "January" msgstr "Ean�ir" #: ../lib/SimpleCal.pm:28 msgid "February" msgstr "Feabhra" #: ../lib/SimpleCal.pm:30 msgid "March" msgstr "M�rta" #: ../lib/SimpleCal.pm:32 msgid "April" msgstr "Aibre�n" #: ../lib/SimpleCal.pm:34 msgid "May" msgstr "M� na Bealtaine" #: ../lib/SimpleCal.pm:36 msgid "June" msgstr "Meith" #: ../lib/SimpleCal.pm:38 msgid "July" msgstr "I�il" #: ../lib/SimpleCal.pm:40 msgid "August" msgstr "L�nasa" #: ../lib/SimpleCal.pm:42 msgid "September" msgstr "Me�n F�mhair" #: ../lib/SimpleCal.pm:44 msgid "October" msgstr "Deireadh F�mhair" #: ../lib/SimpleCal.pm:46 msgid "November" msgstr "M� na Samhna" #: ../lib/SimpleCal.pm:48 msgid "December" msgstr "M� na Nollag" #: ../lib/SimpleCal.pm:70 msgid "Sun" msgstr "Domh" #: ../lib/SimpleCal.pm:71 msgid "Mon" msgstr "Luan" #: ../lib/SimpleCal.pm:72 msgid "Tue" msgstr "M�irt" #: ../lib/SimpleCal.pm:73 msgid "Wed" msgstr "C�ad" #: ../lib/SimpleCal.pm:74 msgid "Thu" msgstr "D�ar" #: ../lib/SimpleCal.pm:75 msgid "Fri" msgstr "Aoine" #: ../lib/SimpleCal.pm:76 msgid "Sat" msgstr "Sath" #~ msgid "Welcome to {package}!\n" #~ msgstr "B�idh {package} agat agus f�ilte!\n" #~ msgid "Bye.\n" #~ msgstr "Sl�n leat!\n" PK ! [��~ ~ examples/simplecal/po/fr.ponu �[��� # French translations for SimpleCal. # msgid "" msgstr "" "Project-Id-Version: SimpleCal\n" "Report-Msgid-Bugs-To: Edit the file PACAKGE to change this.\n" "POT-Creation-Date: 2013-01-14 18:14+0200\n" "PO-Revision-Date: 2003-07-28 04:07+0200\n" "Last-Translator: Guido Flohr <Guido.Flohr@cantanea.com>\n" "Language-Team: French <guido.flohr@cantanea.com>\n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" #: ../lib/SimpleCal.pm:26 msgid "January" msgstr "janvier" #: ../lib/SimpleCal.pm:28 msgid "February" msgstr "f�vrier" #: ../lib/SimpleCal.pm:30 msgid "March" msgstr "mars" #: ../lib/SimpleCal.pm:32 msgid "April" msgstr "avril" #: ../lib/SimpleCal.pm:34 msgid "May" msgstr "mai" #: ../lib/SimpleCal.pm:36 msgid "June" msgstr "juin" #: ../lib/SimpleCal.pm:38 msgid "July" msgstr "juillet" #: ../lib/SimpleCal.pm:40 msgid "August" msgstr "ao�t" #: ../lib/SimpleCal.pm:42 msgid "September" msgstr "septembre" #: ../lib/SimpleCal.pm:44 msgid "October" msgstr "octobre" #: ../lib/SimpleCal.pm:46 msgid "November" msgstr "novembre" #: ../lib/SimpleCal.pm:48 msgid "December" msgstr "d�cembre" #: ../lib/SimpleCal.pm:70 msgid "Sun" msgstr "di" #: ../lib/SimpleCal.pm:71 msgid "Mon" msgstr "lu" #: ../lib/SimpleCal.pm:72 msgid "Tue" msgstr "ma" #: ../lib/SimpleCal.pm:73 msgid "Wed" msgstr "me" #: ../lib/SimpleCal.pm:74 msgid "Thu" msgstr "je" #: ../lib/SimpleCal.pm:75 msgid "Fri" msgstr "ve" #: ../lib/SimpleCal.pm:76 msgid "Sat" msgstr "sa" #~ msgid "Welcome to {package}!\n" #~ msgstr "Bienvenu � {package}!\n" #~ msgid "Bye.\n" #~ msgstr "� toute � l'heure!\n" PK ! TZe� examples/simplecal/po/Makefilenu �[��� # Makefile for various po files. srcdir = . libdir = ../lib CATALOGS = $(LINGUAS) MO_FILES = $(addsuffix .gmo, $(LINGUAS)) MSGMERGE = msgmerge MSGFMT = msgfmt XGETTEXT = xgettext CATOBJEXT = .po include PACKAGE TD = $(strip $(TEXTDOMAIN)) default: help all: $(TD).pot update-po update-mo install help: @echo "Available targets:" @echo " pot - remake master catalog" @echo " update-po - merge po files" @echo " update-mo - regenerate mo files" @echo " install - install mo files" @echo " all - all of the above" POTFILES = $(srcdir)/POTFILES \ $(shell cat $(srcdir)/POTFILES) pot: $(TD).pot clean: rm -f *~ *.bak *.gmo $(TD).pot: $(POTFILES) $(XGETTEXT) --output=$(srcdir)/$(TD).pox --from-code=utf-8 \ --add-comments=TRANSLATORS: --files-from=$(srcdir)/POTFILES \ --copyright-holder="$(COPYRIGHT_HOLDER)" \ --msgid-bugs-address="$(MSGID_BUGS_ADDRESS)" \ --keyword --keyword='$$__' --keyword=__ --keyword=__x \ --keyword=__n:1,2 --keyword=__nx:1,2 --keyword=__xn:1,2 \ --keyword=__p:1c,2 --keyword=__np:1c,2,3 \ --keyword=__npx:1c,2,3 --keyword=N__ --keyword=N__n:1,2 \ --keyword=N__p:1c,2 --keyword=N__np:1c,2,3 --keyword=%__ && \ rm -f $@ && mv $(TD).pox $@ install: $(MO_FILES) cd $(srcdir); \ targetdir='$(libdir)/LocaleData'; \ languages='$(LINGUAS)'; \ for lang in $$languages; do \ mkdir -p "$$targetdir/$$lang/LC_MESSAGES" || exit 1; \ dest="$$targetdir/$$lang/LC_MESSAGES/$(TD).mo"; \ cat="$$lang.gmo"; \ echo "installing $$cat as $$dest"; \ cp -f $$cat $$dest && chmod 644 $$dest || exit 1; \ done update-mo: $(MO_FILES) update-po: $(MAKE) $(TD).pot cd $(srcdir); \ catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ mv $$lang.po $$lang.old.po; \ echo "$$lang:"; \ if $(MSGMERGE) $$lang.old.po $(TD).pot -o $$lang.po; then \ rm -f $$lang.old.po; \ else \ echo "msgmerge for $$cat failed!"; \ rm -f $$lang.po; \ mv $$lang.old.po $$lang.po; \ fi; \ done .SUFFIXES: .SUFFIXES: .po .gmo .po.gmo: $(MSGFMT) --check --statistics --verbose -o $@ $< PK ! .;�;( ( examples/simplecal/po/POTFILESnu �[��� ../bin/simplecal.pl ../lib/SimpleCal.pm PK ! B%�� � examples/simplecal/po/pt.ponu �[��� # Portuguese translations for SimpleCal. # msgid "" msgstr "" "Project-Id-Version: SimpleCal\n" "Report-Msgid-Bugs-To: Edit the file PACAKGE to change this.\n" "POT-Creation-Date: 2013-01-14 18:14+0200\n" "PO-Revision-Date: 2003-07-28 04:24+0200\n" "Last-Translator: Guido Flohr <Guido.Flohr@cantanea.com>\n" "Language-Team: Portuguese <guido.flohr@cantanea.com>\n" "Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" #: ../lib/SimpleCal.pm:26 msgid "January" msgstr "Janeiro" #: ../lib/SimpleCal.pm:28 msgid "February" msgstr "Fevereiro" #: ../lib/SimpleCal.pm:30 msgid "March" msgstr "Mar�o" #: ../lib/SimpleCal.pm:32 msgid "April" msgstr "Abril" #: ../lib/SimpleCal.pm:34 msgid "May" msgstr "Maio" #: ../lib/SimpleCal.pm:36 msgid "June" msgstr "Junho" #: ../lib/SimpleCal.pm:38 msgid "July" msgstr "Julho" #: ../lib/SimpleCal.pm:40 msgid "August" msgstr "Agosto" #: ../lib/SimpleCal.pm:42 msgid "September" msgstr "Setembro" #: ../lib/SimpleCal.pm:44 msgid "October" msgstr "Outubro" #: ../lib/SimpleCal.pm:46 msgid "November" msgstr "Novembro" #: ../lib/SimpleCal.pm:48 msgid "December" msgstr "Dezembro" #: ../lib/SimpleCal.pm:70 msgid "Sun" msgstr "Dom" #: ../lib/SimpleCal.pm:71 msgid "Mon" msgstr "Seg" #: ../lib/SimpleCal.pm:72 msgid "Tue" msgstr "Ter" #: ../lib/SimpleCal.pm:73 msgid "Wed" msgstr "Qua" #: ../lib/SimpleCal.pm:74 msgid "Thu" msgstr "Qui" #: ../lib/SimpleCal.pm:75 msgid "Fri" msgstr "Sex" #: ../lib/SimpleCal.pm:76 msgid "Sat" msgstr "S�b" #~ msgid "Welcome to {package}!\n" #~ msgstr "Bem-vindo ao {package}!\n" #~ msgid "Bye.\n" #~ msgstr "At� a vista!\n" PK ! ��k� � examples/simplecal/po/ar_SA.ponu �[��� # Arabic translations for SimpleCal. # msgid "" msgstr "" "Project-Id-Version: SimpleCal\n" "Report-Msgid-Bugs-To: Edit the file PACAKGE to change this.\n" "POT-Creation-Date: 2013-01-14 18:14+0200\n" "PO-Revision-Date: 2003-07-27 18:56+0200\n" "Last-Translator: Guido Flohr <Guido.Flohr@cantanea.com>\n" "Language-Team: Arabic <guido.flohr@cantanea.com>\n" "Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-6\n" "Content-Transfer-Encoding: 8bit\n" #: ../lib/SimpleCal.pm:26 msgid "January" msgstr "����� ������" #: ../lib/SimpleCal.pm:28 msgid "February" msgstr "����" #: ../lib/SimpleCal.pm:30 msgid "March" msgstr "����" #: ../lib/SimpleCal.pm:32 msgid "April" msgstr "�����" #: ../lib/SimpleCal.pm:34 msgid "May" msgstr "������" #: ../lib/SimpleCal.pm:36 msgid "June" msgstr "����" #: ../lib/SimpleCal.pm:38 msgid "July" msgstr "����" #: ../lib/SimpleCal.pm:40 msgid "August" msgstr "��" #: ../lib/SimpleCal.pm:42 msgid "September" msgstr "�����" #: ../lib/SimpleCal.pm:44 msgid "October" msgstr "����� �����" #: ../lib/SimpleCal.pm:46 msgid "November" msgstr "����� ������" #: ../lib/SimpleCal.pm:48 msgid "December" msgstr "����� �����" #: ../lib/SimpleCal.pm:70 msgid "Sun" msgstr "" #: ../lib/SimpleCal.pm:71 msgid "Mon" msgstr "" #: ../lib/SimpleCal.pm:72 msgid "Tue" msgstr "" #: ../lib/SimpleCal.pm:73 msgid "Wed" msgstr "" #: ../lib/SimpleCal.pm:74 msgid "Thu" msgstr "" #: ../lib/SimpleCal.pm:75 msgid "Fri" msgstr "" #: ../lib/SimpleCal.pm:76 msgid "Sat" msgstr "" PK ! ��V�t t examples/simplecal/po/nl.ponu �[��� # Dutch translations for SimpleCal. # msgid "" msgstr "" "Project-Id-Version: SimpleCal\n" "Report-Msgid-Bugs-To: Edit the file PACAKGE to change this.\n" "POT-Creation-Date: 2013-01-14 18:14+0200\n" "PO-Revision-Date: 2003-07-28 04:08+0200\n" "Last-Translator: Guido Flohr <Guido.Flohr@cantanea.com>\n" "Language-Team: Dutch <guido.flohr@cantanea.com>\n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" #: ../lib/SimpleCal.pm:26 msgid "January" msgstr "januari" #: ../lib/SimpleCal.pm:28 msgid "February" msgstr "februari" #: ../lib/SimpleCal.pm:30 msgid "March" msgstr "maart" #: ../lib/SimpleCal.pm:32 msgid "April" msgstr "april" #: ../lib/SimpleCal.pm:34 msgid "May" msgstr "mei" #: ../lib/SimpleCal.pm:36 msgid "June" msgstr "juni" #: ../lib/SimpleCal.pm:38 msgid "July" msgstr "juli" #: ../lib/SimpleCal.pm:40 msgid "August" msgstr "augustus" #: ../lib/SimpleCal.pm:42 msgid "September" msgstr "september" #: ../lib/SimpleCal.pm:44 msgid "October" msgstr "oktober" #: ../lib/SimpleCal.pm:46 msgid "November" msgstr "november" #: ../lib/SimpleCal.pm:48 msgid "December" msgstr "december" #: ../lib/SimpleCal.pm:70 msgid "Sun" msgstr "zo" #: ../lib/SimpleCal.pm:71 msgid "Mon" msgstr "ma" #: ../lib/SimpleCal.pm:72 msgid "Tue" msgstr "di" #: ../lib/SimpleCal.pm:73 msgid "Wed" msgstr "wo" #: ../lib/SimpleCal.pm:74 msgid "Thu" msgstr "do" #: ../lib/SimpleCal.pm:75 msgid "Fri" msgstr "vr" #: ../lib/SimpleCal.pm:76 msgid "Sat" msgstr "za" #~ msgid "Welcome to {package}!\n" #~ msgstr "Welkom bij {package}!\n" #~ msgid "Bye.\n" #~ msgstr "Tot zo!\n" PK ! ��\�, , examples/simplecal/po/pt_BR.ponu �[��� # Brazilian Portuguese translations for SimpleCal. # msgid "" msgstr "" "Project-Id-Version: SimpleCal\n" "Report-Msgid-Bugs-To: Edit the file PACAKGE to change this.\n" "POT-Creation-Date: 2013-01-14 18:14+0200\n" "PO-Revision-Date: 2003-07-27 18:56+0200\n" "Last-Translator: Guido Flohr <Guido.Flohr@cantanea.com>\n" "Language-Team: Brazilian Portuguese <guido.flohr@cantanea.com>\n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" #: ../lib/SimpleCal.pm:26 msgid "January" msgstr "janeiro" #: ../lib/SimpleCal.pm:28 msgid "February" msgstr "fevereiro" #: ../lib/SimpleCal.pm:30 msgid "March" msgstr "mar�o" #: ../lib/SimpleCal.pm:32 msgid "April" msgstr "abril" #: ../lib/SimpleCal.pm:34 msgid "May" msgstr "maio" #: ../lib/SimpleCal.pm:36 msgid "June" msgstr "junho" #: ../lib/SimpleCal.pm:38 msgid "July" msgstr "julho" #: ../lib/SimpleCal.pm:40 msgid "August" msgstr "agosto" #: ../lib/SimpleCal.pm:42 msgid "September" msgstr "setembro" #: ../lib/SimpleCal.pm:44 msgid "October" msgstr "outubro" #: ../lib/SimpleCal.pm:46 msgid "November" msgstr "novembro" #: ../lib/SimpleCal.pm:48 msgid "December" msgstr "dezembro" #: ../lib/SimpleCal.pm:70 msgid "Sun" msgstr "Dom" #: ../lib/SimpleCal.pm:71 msgid "Mon" msgstr "Seg" #: ../lib/SimpleCal.pm:72 msgid "Tue" msgstr "Ter" #: ../lib/SimpleCal.pm:73 msgid "Wed" msgstr "Qua" #: ../lib/SimpleCal.pm:74 msgid "Thu" msgstr "Qui" #: ../lib/SimpleCal.pm:75 msgid "Fri" msgstr "Sex" #: ../lib/SimpleCal.pm:76 msgid "Sat" msgstr "S�b" PK ! ��0� � examples/simplecal/po/de.ponu �[��� # German translations for SimpleCal. # msgid "" msgstr "" "Project-Id-Version: SimpleCal\n" "Report-Msgid-Bugs-To: Edit the file PACAKGE to change this.\n" "POT-Creation-Date: 2013-01-14 18:14+0200\n" "PO-Revision-Date: 2003-07-28 04:06+0200\n" "Last-Translator: Guido Flohr <Guido.Flohr@cantanea.com>\n" "Language-Team: German <guido.flohr@cantanea.com>\n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../lib/SimpleCal.pm:26 msgid "January" msgstr "Januar" #: ../lib/SimpleCal.pm:28 msgid "February" msgstr "Februar" #: ../lib/SimpleCal.pm:30 msgid "March" msgstr "M�rz" #: ../lib/SimpleCal.pm:32 msgid "April" msgstr "April" #: ../lib/SimpleCal.pm:34 msgid "May" msgstr "Mai" #: ../lib/SimpleCal.pm:36 msgid "June" msgstr "Juni" #: ../lib/SimpleCal.pm:38 msgid "July" msgstr "Juli" #: ../lib/SimpleCal.pm:40 msgid "August" msgstr "August" #: ../lib/SimpleCal.pm:42 msgid "September" msgstr "September" #: ../lib/SimpleCal.pm:44 msgid "October" msgstr "Oktober" #: ../lib/SimpleCal.pm:46 msgid "November" msgstr "November" #: ../lib/SimpleCal.pm:48 msgid "December" msgstr "Dezember" #: ../lib/SimpleCal.pm:70 msgid "Sun" msgstr "So" #: ../lib/SimpleCal.pm:71 msgid "Mon" msgstr "Mo" #: ../lib/SimpleCal.pm:72 msgid "Tue" msgstr "Di" #: ../lib/SimpleCal.pm:73 msgid "Wed" msgstr "Mi" #: ../lib/SimpleCal.pm:74 msgid "Thu" msgstr "Do" #: ../lib/SimpleCal.pm:75 msgid "Fri" msgstr "Fr" #: ../lib/SimpleCal.pm:76 msgid "Sat" msgstr "Sa" #~ msgid "Welcome to {package}!\n" #~ msgstr "Willkommen bei {package}!\n" #~ msgid "Bye.\n" #~ msgstr "Tsch�ss!\n" PK ! O�:2� � examples/simplecal/TRANSLATIONSnu �[��� This package is internationalized with libintl-perl. It can be configured to speak in different languages. If your language is still missing, you should take a look into the file "README-NLS" (section "The Translator's View") where you will find instructions for contributing a translation into your language to this package. You can see the translation status of this package for various languages in the following table. If your language is completely missing in the table, your translation will be welcomed as a contribution to the project. Translation Status for "simplecal" ================================== Language | Code | Status | Current Translator --------------------+-------+---+----+--------------------------------- Arabic | ar | O | C | Guido Flohr Arabic/Saudi Arabia | ar_SA | O | C | Guido Flohr Dutch | nl | O | C | Guido Flohr French | fr | O | C | Guido Flohr German | de | A | C | Guido Flohr German/Austria | de_AT | O | C | Guido Flohr Irish | ga | O | C | Guido Flohr Italian | it | O | C | Guido Flohr Portuguese | pt | O | C | Guido Flohr Portuguese/Brazil | pt_BR | O | C | Guido Flohr Russian | ru | O | C | Guido Flohr Legend: The status is displayed in two columns. The left column informs you whether somebody is already in charge of that translation, the right columns reflects the status of the translation itself. Left: (O) - Orphaned: The translation needs a new maintainer. You? (A) - Assigned: The translation already has a maintainer. Right: (C) - Complete: All messages are translated. (M) - Mostly: Most (all important) messages are translated. (P) - Partially: The translation is only partially done. (-) - Missing: No translation is currently available. Messages for missing translations will be displayed in English. PK ! Q$��$ �$ examples/simplecal/README-NLSnu �[��� Notes on National Language Support (NLS) **************************************** This package is internationalized with libintl-perl, a free internationalization library for Perl, you will need to install a copy of libintl-perl in order to use the package. You can get libintl-perl from the Comprehensive Perl Archive Network CPAN at http://www.cpan.org/. The following notes are meant to be a quick start guide for somewhat experienced users and system administrators and many important details had to be omitted for brevity. Feel free to include this document in your own Perl packages internationalized with libintl-perl, no severe copyright restrictions apply. You should send corrections or improvements to the author Guido Flohr <guido DOT flohr AT cantanea DOT com>, so that others can benefit from your changes. The End User's View =================== The installation routine for this package will automatically take care that your system has a sufficient version of libintl-perl installed. This is basically sufficient for proper operation, but - especially if internationalized software is new to you - you should read on carefully in order to fully benefit from the internationalization (I18N) features of this package. Perl Setup ---------- The I18N library libintl-perl will run with a wide range of Perl versions (at least from Perl version 5.005_03 to Perl 5.8.0) but you will experience slight difference in features and performance depending on the version of Perl you use. With Perl versions prior to 5.7.3 you can use the package for all European scripts (including those with Greek or Cyrillic scripts), and also for many scripts used outside Europe, like Arabic, Hebrew, Georgian, Vietnamese or Thai, more general all scripts using 8 bit charsets. Other scripts are only available if the translations in this package are provided in Unicode and they can only be output in Unicode. Beginning with Perl 5.7.3 the module Encode became part of the Perl core, and it offers you a much wider range of possible scripts. If you plan to use some of the lesser used scripts for Chinese, Japanese, and Korean, you should also install the module Encode::HanExtra. Setting Your Language --------------------- Most modern systems are already prepared and configured for internationalization, and the user interface of the software you have installed will already be configured for your preferred language. Packages internationalized with libintl-perl will honor these configuration settings and will also operate in your preferred language if the necessary translations are available. The environment variable "LANGUAGE" has the highest precedence for translations. The most common format for this environment variable is a (lowercase) two-letter language code and an (uppercase) two-letter country code separated by an underscore "_", for example: LANGUAGE=fr_BE export LANGUAGE This will set your language preferences to French ("fr") for Belgium ("BE"). Other examples are French for France ("fr_FR"), German for Austria ("de_AT"), and so on. You can also omit the country part ("FR", "DE", "IT", "RU", ...) in which case a default setting for the country will be assumed. If there are no translations available for your selected languages, the original message (normally in English) will be displayed. You can also define a chain of languages to be tried separated by a colon: LANGUAGE=fr_BE:fr_FR:fr:it Read this as: "I want translations in French for Belgium. If they are not available try French for France, then any French translation, and finally Italian". Please note that this chain notation is only allowed for the environment variable "LANGUAGE", it is not valid for any of the following variables. If "LANGUAGE" is not set, the library checks the variable "LANG". It has the same syntax as "LANGUAGE" but does not allow the preferences chain with the colon syntax. After "LANG" the variable "LC_ALL" is tried, and finally "LC_MESSAGES" (think "locale category messages"). IMPORTANT! The environment variable "LANGUAGE" is ignored, if neither the environment variable "LC_ALL" or "LC_MESSAGES" is set to a valid locale on your system. It is also ignored, if the resulting locale is the fallback locale "C" or "POSIX". Note for Microsoft Windows users: The locale preferences you have configured for your system cannot yet be evaluated by libintl-perl. This may change for future versions of libintl-perl but for the moment you have to make do with the instructions given above. In order to set environment variables, you have to right-click on the icon "My Computer" on your desktop, select "Properties" in the context menu, and then click the tab labelled "Environment variables". Setting the Output Charset -------------------------- Even if you have managed to properly select your preferred language, you may still have difficulties reading the program languages, because libintl-perl was unable to determine the correct charset to use for messages. For example, it may assume Unicode ("UTF-8") but you really need ISO-Latin-1 (also known as "Latin-1" or "ISO-8859-1"). If this is the case, please set the environment variable "OUTPUT_CHARSET" to the appropriate value, for example: OUTPUT_CHARSET=iso-8859-1 export OUTPUT_CHARSET Charset names are case-insensitive, i. e. "LATIN-1" is the equivalent to "Latin-1" or even "lAtIn-1". Note: The output charset "utf8" is NOT recognized. Please use the correct abbreviation "utf-8" (with a hyphen) instead. The Translator's View ===================== If you want to contribute a new translation to this package, please contact the author first. Somebody may have already started this translation, and furthermore the package author will be able to give you detailled instructions and help. Translating a Perl package is not much work and it does not require any technical skills. If you are able to use the software itself, you will also be able to contribute a translation for your language. But why should you do that? You are able to read and understand this text and you will also be able to understand the English messages that the software spits out by default. Computers are an integral part of today's society. Computers are used to explore new sources of information, forbidding computers would be a modern form of censorship. Computers may also improve social life, the internet helps people to find contacts in their area and all over the world, even if they would otherwise be deprived from that because of a handicap, lack of money for traveling, or other reasons. In many societies, the ability to use and handle a computer also has a strong impact on your perspectives in life, you may not be able to find an adequate job because of your lack of computer experience, or you may even lose your job because of that. Everybody should benefit from computers, regardless of cultural background. Computers are expansive goods, and their price is already a high barrier to cross. If computers speak in a foreign language, the learning curve gets steeper and the barrier gets even higher. You can help the people that share your native language by contributing a translation. The author of this package has already prepared everything, the rest is up to you! The Programmer's View ===================== You have downloaded this package because you want to use it in your own project(s). The fact that the package is internationalized with libintl-perl does not affect its usability in any way. But you should keep in mind that textual messages produced by the package may change according to the locale settings at run-time. This can lead to errors. For example, if you parse error messages produced by the package, you will most probably fail to detect what you are looking for, if these error messages are suddenly presented in another language or another output charset. It is probably needless to say that this is bad practice and an indicator for a poorly written interface. Either you have missed the correct method for determining the substance of the message in a locale-independent manner, or the author of the package has mis-designed the package interface. In any case, this is a technical problem that should be solved by technicians. You should not put that burden on the shoulders of your users but rather solve the problem in cooperation with the author of the module that causes it. If this is absolutely impossible, as a temporary workaround you can completely switch off the native language support of the package by setting the environment variable "LANGUAGE" to the special value "C": BEGIN { $ENV{LANGUAGE} = $ENV{LANG} = "C"; } The value "C" instructs libintl-perl to leave all messages untouched, and you can use the package as if it was not internationalized at all. If the project you are working on is not yet internationalized, you should consider to prepare it for internationalization now. Doing so is only little work for yourself, but results in a large benefit for the users of your software. The package "libintl-perl" ships with exhaustive documentation for programmers and a sample package that you can use as a skeleton for your own project(s). Internationalizing Perl software with libintl-perl is easy, the package that this file is a part of, prooves that. Guido Flohr PK ! �$?�� � # examples/simplecal/bin/simplecal.plnu �[��� #!/usr/bin/perl -w # vim: tabstop=4 use strict; # Include our little library. use SimpleCal; # For setlocale. use POSIX qw (setlocale); use Locale::Messages qw (LC_MESSAGES); # Our script contains translatable messages. We have to assign # it a text domain. Note that this is only needed here because the # script *itself* contains translatable messages from the text domain # "com.cantanea.simplecal". use Locale::TextDomain ('com.cantanea.simplecal'); use vars qw ($VERSION); $VERSION = '1.0'; # Set the locale according to the environment. setlocale (LC_MESSAGES, ""); # Print a greeting message. We want to be flexible with the package # name, and so we will make this a placeholder. my $package_name = "SimpleCal"; #print __x("Welcome to {package}!\n", package => $package_name); # Inquire current date and time. my @now = localtime; my $year = $now[5] + 1900; # Current year. my $month = $now[4]; # Current month in the range of 0-11. # Print the header for our calendar. my $month_name = SimpleCal::month_name ($month); print "\t$month_name $year\n"; # And now print the abbreviation for every day of the week. foreach my $i (0 .. 6) { # This makes the (insecure!) assumption that the abbreviated # week day is no longer than 5 characters. printf "%6s", abbr_week_day ($i); } # And a final newline. print "\n"; # The rest of the program only prints out the day numbers and is not # particularly interesting. # We will start at a Sunday where month day <= 0 and suppress negative dates # later. my $first_day = $now[3] - $now[6]; if ($first_day > 0) { $first_day %= 7; $first_day -= 7; } my $last_day; if ($month == 1) { if (SimpleCal::is_leap_year ($year)) { $last_day = 29; } else { $last_day = 28; } } elsif ($month == 3 || $month == 5 || $month == 8 || $month == 10) { $last_day = 30; } else { $last_day = 31; } my $day_of_week = 0; # Sunday. foreach my $mday ($first_day .. $last_day) { if ($mday <= 0) { printf "%6s", ' '; } else { printf "% 6d", $mday; } ++$day_of_week; if ($day_of_week == 7) { $day_of_week = 0; print "\n"; } } print "\n" if $day_of_week; # Say good bye. # TRANSLATORS: This may be a colloquial way of saying good bye to the user. #print __"Bye.\n"; __END__ Local Variables: mode: perl perl-indent-level: 4 perl-continued-statement-offset: 4 perl-continued-brace-offset: 0 perl-brace-offset: -4 perl-brace-imaginary-offset: 0 perl-label-offset: -4 cperl-indent-level: 4 cperl-continued-statement-offset: 2 tab-width: 4 End: PK ! �=hP hP examples/READMEnu �[��� This is a simple, respectively stupid Perl package that shows how the complete internationalization process for a Perl package *could* be done. It does not claim to be the smartest or the only possible solution, but it provides at least a skeleton for real packages. If libintl-perl should someday become an "established" Perl package, it would probably be a lot better to seamlessly integrate the process into ExtUtils::MakeMaker, but for now it's all we have. The example focuses on the packaging process, i. e. on the things you have to do to maintain an internationalized Perl package, so that users of your package will benefit from translations you provide. It therefore doesn't make use of any of the nitty-gritty details of message translation like plural handling or the like. Requirements ------------ The only requirement is a Perl aware version of GNU gettext. Perl support was introduced only recently in GNU gettext, and you will have to check whether your copy of GNU gettext already supports Perl. Support for Perl was introduced in version 0.12.2 of GNU gettext. If your version is older, you have to update GNU gettext. First test ---------- The subdirectory "simplecal" contains a regular Perl package like the ones you will find on the CPAN. You should first try to build and use the package: cd simplecal perl Makefile.PL make If you see a warning that the prerequisite Locale::TextDomain is not found, then you have to install libintl-perl first. You should never "make install", the package is only a stupid example and you will not really want to install it. You can simply try it out from the installation directory itself: perl -Ilib bin/simplecal.pl It should print a crude calendar representation in English, or even in your preferred language, depending on your system settings. The Programming --------------- Now we should dig into the sources. All relevant files are commented and should give you a pretty good idea of what's going on. Change your directory to the package directory "simplecal" and inspect the source files. The heart of the library is found in the file lib/SimpleCal.pm. This Perl module defines functions that map numeric values to month names or abbreviated week day names. You will find nothing unusual in this module except for a line at the beginning of the file that reads: use Locale::TextDomain qw (com.cantanea.simplecal); In case you are not familiar with the operator "qw", this is an equivalent writing of use Locale::TextDomain ('com.cantanea.simplecal'); That line in the code does three things: It imports the module Locale::TextDomain, *and* it states that the text domain (or identifier) for this package is "com.cantanea.simplecal", *and* it says that the translations for this package can be found in the subdirectory "LocaleDate" of any component of @INC (unless it can be found in one of the system locations). See the POD in Locale::TextDomain for more information. You may also find out that some strings have a "__" or a "N__" in front of them. The explanation to these funny things has two sides: First, they mark the following strings as being translatable, so that the parser "xgettext" included in GNU gettext can find them. Yet, at runtime both "__" and "N__" are really function names, and they will look up their argument in the translation database. There is more documentation available on this. Guess where! Yepp, in the POD of Locale::TextDomain. The library is used by a Perl script "bin/simplecal.pl". Let's have a look at that script now. The first remarkable line is the one that calls POSIX::setlocale(): setlocale (LC_MESSAGES, ''); The POD of the POSIX module gives additional information on the function setlocale(). In brief, that call initializes the locale settings for the category "LC_MESSAGES" to the pre-selected user settings (this is indicated by the empty second argument). The constant LC_MESSAGES is exported by Locale::Messages, which is always a safe choice. If your script is only intended to run with Perl 5.8 or better, you can also import LC_MESSAGES from the POSIX module. The rest of the program only prints a calendar for the current month. It retrieves the name of the month and the abbreviated weekday names from our little SimpleCal.pm module which provides this information in a localized form. A Dutch Calendar ---------------- We want to see the calendar in Dutch now. All you have to do is to set the environment variable LANGUAGE to the value "nl". If you don't know how to do this, add the following line somewhere at the top of "bin/simplecal.pl": $ENV{LANGUAGE} = "nl"; Now run the script again: perl -Ilib bin/simplecal.pl It should print out the calendar in Dutch. Look at the *.po files in the subdirectory "po" for a list of other translations I have prepared. You can try them out in a similar manner. Please see the file "README-NLS" in subdirectory "sample/simplecal" for details on how to set the language via environment variables. The Subdirectory "po" --------------------- This directory contains the raw translations and a Makefile that will compile and install them. If you enter this directory and type "make" you will see a list of the available Makefile targets. The first one is the target "pot", a so-called phony target, i. e. it is not related to a file with the name of "pot". The command "make pot" will remake the master catalog of the package and place the result in the file "com.cantanea.simplecal.pot" ("com.cantanea.simplecal" is the text domain resp. identifier for our package). Type the command "make pot" now to see how the master catalog is actually generated. If the output says something like "nothing to be done for `pot'", then delete the file "com.cantanea.simplecal.pot" and try again. You should see now that the target file "com.cantanea.simplecal.pot" is generated by the program xgettext with a plethora of options: xgettext --output=./com.cantanea.simplecal.pox --from-code=utf-8 \ --add-comments=TRANSLATORS: --files-from=./POTFILES \ --copyright-holder="Imperia AG Huerth/Germany" \ --keyword --keyword='$__' --keyword=__ --keyword=__x \ --keyword=__n:1,2 --keyword=__nx:1,2 --keyword=__xn \ --keyword=N__ --language=perl && \ rm -f com.cantanea.simplecal.pot && \ mv com.cantanea.simplecal.pox com.cantanea.simplecal.pot Type "xgettext --help" for a detailled explanation of the command line options. In brief this invocation causes xgettext to read a list of files from the file "POTFILES", extract all messages from these source files and place the result in the output file "com.cantanea.simplecal.pox". If the command succeeds, the old ".pot" file is replaced by the new ".pox" file. Yes, this is complicated, and that is why this skeleton Makefile is provided here. You can copy it without any modification into your package to use it. The file POTFILES contains a list of source files to be scanned for translatable strings. Have a look at it, and you will understand it. The Makefile also includes a file called "PACKAGE". This file contains all package-dependent information in a couple of Makefile variables: - TEXTDOMAIN This Makefile variable should contain the text domain/identifier for your package. Please see the POD of Locale::TextDomain for advice on a reasonable naming. - LINGUAS The language codes of all languages supported by your package. Each entry corresponds to a po file in the po subdirectory. - COPYRIGHT_HOLDER Usually your name. Whatever you put here will be included as the copyright holder in the header of the po files. - MSGID_BUGS_ADDRESS Usually your name and e-mail address. It will also be included in the po header and translators will check this entry when they come across a bug in a msgid, or when they have difficulties to translate a certain message because of awkward coding on your side. Okay, after "make pot" we have updated the master message catalog TEXTDOMAIN.pot, in our case "com.cantanea.simplecal.pot". Have a look into the file now. It contains the original English messages that xgettext has extracted from our source files and blank translations. The po files (the files the names of which end with ".po") contain previous translations provided by our package translators. Whenever you change the Perl sources, the list of messages may change. This results in a maybe new .pot file and requires an update of all po files. Try that now and type "make update-po" You will see confusing output from "make" but you may get the idea that every single po file (every language that the package supports) gets updated, and the new strings are inserted into the po files. Since nothing really changed here (we did not change the source files yet) you can now try to update the compiled po files which end in ".gmo" (for GNU mo format) with "make update-mo". Again, you will see maybe cryptic output from "make" that signifies that all compiled files are re-generated now by a program called "msgfmt". The last step requires that you copy the (possibly changed) mo files into your package by "make install". This will copy the gmo files as ".mo" files into the subdirectory "LocaleData" of your package so that libintl-perl is able to find them at runtime. You can perform all these steps at once by typing "make all" although this is mostly useful for testing purposes. In reality the workflow is different: - You change your source files, messages may have been added, deleted or modified. You will have to update the master message catalog by typing "make pot". - Since the translations may have gotten out-of-date, you will have to merge your changes into all po files by "make update-po". - Your translators will get copies of the po files, reflect your changes in the po files and send them back to you. - When you have received the updates, it is time to compile the po files into a binary representation with "make update-mo". - These binary mo files have to be installed under "LocaleData", and you have to "make install". Note that "make install" installs the mo files in your source package, not in the system location! - Now that you have updated the translations for your package, you will want to upload a new version to the CPAN. Note that all these steps are *only* necessary for package maintainers. As a user of the package, you will only see the resulting mo files under "LocaleData". End users do *not* need any of the gettext tools, and they do not have to perform any of the above steps theirselves! Changing the Sources -------------------- You may wonder whether your translators have to re-translate everything from scratch whenever you change your Perl sources. This is, of course, not the case. Let's say, you want to add a welcome and a good-bye message to the program output. Have a look into "bin/simplecal.pl" and you will see that this is already prepared but commented out (search for "Welcome to" and "Bye" if you can't find it). Uncomment these lines and see what happens to the po files in that case. Before you proceed, you should have a look at the Dutch translation file "nl.po". At the bottom you will find some lines that are commented out with "#~" and that proove that I have already prepared that case. The comment sign "#~" in po files signifies that a particular translation is obsoleted, i. e. no longer needed because it is no longer present in the source files. Say, that you have really changed your mind, and you want to re-introduce the welcome and good-bye messages to your program and you uncomment the corresponding lines in "bin/simplecal.pl". You will have to re-make the master catalog "com.cantanea.simplecal.pot" by "make pot", and then "make update-po" to update the po files. In fact, "make update-po" is sufficient because it will also update the pot file if it is out-of-date (i. e. if any of the source files have changed in the meantime). Type "make update-po" now, and look again at "po/nl.po". You will see that the previously translated welcome and good-bye messages have been re-activated from the obsoleted entries. In fact your translators will have nothing to do, because their old translations are still valid. Type "make install" and then re-run "perl -Ilib bin/simplecal.pl", set the environment variable "LANG" to any of the available languages, and things will still work perfectly. Of course, it is a rare case that messages are discarded and later re-activated in programming sources. It is more likely that you will modify a message, or maybe add a message that is similar to former ones. Let's say that you want to change the exclamation mark in the good-bye message at the bottom of the script to a simple full stop. Look for the line that reads print __"Bye!\n"; and change it into print __"Bye.\n"; Change into the directory "po", update the translation files with "make update-po" and inspect the file "nl.po". At first glance, you may not see any change. But then: The entry for the good-bye message has an additional comment "#, fuzzy". The fuzzy mark signifies that the msgerge program has found that a message is very similar to a previous message (even obsoleted ones are taken into account), and that it proposes an old translation here. The translator will normally modify the translation accordingly (without having to re-type everything), remove the fuzzy mark and send back the translation to you. In fact you could also install translations that have not been revised by the translator and are still marked as fuzzy. This is not recommended however! The algorithm used in msgmerge is quite smart and seldom fails to detect minimal changes in the source message and propose the old translation. However, it often proposes translations from other valid or obsoleted entries that are only vaguely related to the real meaning. You should understand the fuzzy merging mechanism as a helpful feature to the translator only and never install fuzzy translations unless you absolutely know what you are doing. Pass Comments to Translators ---------------------------- The po files contain references for every message to the corresponding source files as comments. But you still may feel a need for giving hints to the translators. You may want to tell the translators, that the good-bye message can be somewhat sloppy (or whatever you like). This is simple to do. Have a look at the good-bye message in "bin/simplecal.pl" and you will see that it is preceded by a comment introduced with the string "TRANSLATORS:". If you start your Perl comment like this, it will end up as a comment for translators in the resulting po (resp. pot) file and may serve as a hint for translators. In fact, the string "TRANSLATORS:" is arbitrarily chosen. If you prefer another string, change it in the invocation of "xgettext" in the skeleton Makefile provided here. Informational Files ------------------- You should put two additional files in your distribution. The first one is "README-NLS". It should be a verbatim copy of the most recent version found in the "simplecal" sample package. Please send corrections or improvements to this file to the maintainer Guido Flohr <guido.flohr@cantanea.com>, and add package-specific notes to your documentation instead. Users expect this file to have a standard contents, and they will not check it for changes on a regular basis. The file "TRANSLATIONS" should reflect the current translation status of your package. It should list all currently availabe translations, their completeness, and it should also inform your user which translations are actively maintained, and which are not. You can find a sample in the "simplecal" sample package. Bringing It All Together ------------------------ The above sounds definitely more complicated than it is. In practice you code as before but mark all your strings with "__" and friends like described in the POD of Locale::TextDomain. Before a new release you change into the directory "po" of your distribution and type "make update-po" to update the available translations. Distribute the modified po files to your translators, and once you have collected them all, type "make install" to add them to your distribution. That's all, all translations will be available in your package now. Internationalizing Existing Packages ------------------------------------ Internationalizing an already existing package with libintl-perl is less painful than you think. The following roadmap should do it with minimal effort. First create a subdirectory "po" in your sources, copy the "Makefile" from this sample, and copy and edit the files "TEXTDOMAIN" and "LINGUAS" (LINGUAS can set the Makefile variable "LINGUAS" to the empty string and TEXTDOMAIN should set "TEXTDOMAIN" to a name as advised in the POD of Locale::TextDomain). Next you have to mark the translatable strings in your sources with "__" and friends. You can do that by hand, but isn't that the kind of job that you have bought a computer for? List your source files in "po/POTFILES" and then try xgettext -a --files-from=POTFILES -o all.pot The option "-a" instructs xgettext to extract *all* strings from your sources. This option may miss a few strings (consider a bug report in that case), it will issue a lot of warnings about "illegal variable interpolations" (see the POD of Locale::TextDomain for workarounds) and will put a lot of strings extracted from your sources into the file "all.pot". Now, load the file "all.pot" into an editor of your choice. If your choice is "GNU emacs" you will have maximum comfort: Select an entry, type "s" and you can cycle through the source files that this particular entry originates from. Other PO editors like KBabel or PO-Edit provide similar functionality. But even with the "Notepad" on MS-DOS you will be able to navigate to the corresponding source file. Once you have found the origin in your sources, you have to decide whether this is a false positive, and you simply ignore it. If it is a translatable string you either simply mark it with "__" or you "repair" it. What does "repair" mean? Again, the POD of Locale::TextDomain... In brief: Your Perl sources will be full of stuff like: die "Cannot open file '$filename': $!\n"; This string is not suitable for translation, because it is not constant. It may change depending on the value of the variable $filename and the value of $!. You will have to change that into something like: die __x ("Cannot open file '{filename}': {err}\n", filename => $filename, err => $err); Once you are done with marking the strings, you can try to run your scripts/modules and you will see a lot of complaints by Perl that it doesn't know about "__" (in various incarnations). Remember that "__" is really a function call and you have to import the function "__" and its relatives into your namespace. What you have to do is to invent an identifier for your package (see Locale::TextDomain for hints) and then add the following line to all of your source files that produced errors: use Locale::TextDomain ('Name-Of-My-Package'); You will be happy if "Name-Of-My-Package" is the same as the Makefile variable "TEXTDOMAIN" in the file "po/TEXTDOMAIN" that you have created in the beginning. For the common case of a pure library: Is that really all I have to do? Yes! What about POSIX::setlocale(), don't I have to make a call somewhere? No, not for a library! And what about calls to textdomain() and bindtextdomain() that I know from C or other languages? No, this is all hidden in "use TextDomain (PACKAGENAME)" for Perl. To make it clear again: A library should NEVER change the locale settings. The script that uses a library (or multiple libraries) should do that, and this boils down to three lines of Perl: use POSIX qw (setlocale); use Locale::Messages (LC_MESSAGES); setlocale (LC_MESSAGES, ""); That means: The *calling* Perl script, the one that uses possibly internationalized libraries, should initialize the locale settings to the user preferences. Libraries should honor that setting but should never change it. If a script misses a call to setlocale(), your internationalized library will happily continue to work flawlessly with the original English messages, it is up to the client programmer to reveal the i18n features in your code! Good luck! Guido PK ! ���|A A copyrightnu �[��� Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Source: https://metacpan.org/release/libintl-perl Upstream-Contact: Guido Flohr <guido.flohr@cantanea.com> Upstream-Name: libintl-perl Files: * Copyright: (C) 2002-2016, Guido Flohr <guido.flohr@cantanea.com> License: GPL-3+ Files: debian/* Copyright: 2020, Ken Ibbotson <keni@computer.org> 2005-2020, Peter Eisentraut <petere@debian.org> 2004, Marc 'HE' Brockschmidt <he@debian.org> 2003-2004, Marc Brockschmidt <marc@dch-faq.de> License: GPL-3+ or Artistic or GPL-1+ License: Artistic This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License, which comes with Perl. . On Debian systems, the complete text of the Artistic License can be found in `/usr/share/common-licenses/Artistic'. License: GPL-1+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version. . On Debian systems, the complete text of version 1 of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-1'. License: GPL-3+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. . On Debian systems, the complete text of version 3 of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-3'. PK ! 9�/^ ^ THANKSnu �[��� These people have helped in the development of libintl-perl: - Joshua Miller <unrtst@cpan.com> has extended libintl-perl to provide the important context-sensitive functions (pgettext() and friends). - Christian Lackas <delta@lackas.net> has given various hints on performance optimizations - Ingrid Gräfen <ingrid.graefen@imperia.net> has fixed a major performance penalty on systems without POSIX::LC_MESSAGES, and she has extensively tested the Perl backend for GNU xgettext under cygwin - Bruno Haible for libiconv which was the base for many conversions and for integrating my Perl backend into GNU gettext Other people have helped by sending in improvements, suggestions and bug reports (you will find out how to make the mail addresses valid): - DH <crazyinsomniac?yahoo.com> - Jo-Even Skarstein <joska?nvg.org> - Gerhard Stoll <gerhard_stoll?gmx.de> - Marc Brockschmidt <marc?marcbrockschmidt.de> - Laurent Bonnaud <Laurent.Bonnaud?inpg.fr> - Jan Kratochvil <lace?jankratochvil.net> - Светослав Агафонкин <slavi.agafonkin?imperia.bg> - Michael Bell <michael.bell?cms.hu-berlin.de> - David Cantrell <dcantrell?cpan.org> - Karl Berry <karl?freefriends.org> - Patrice Dumas <pertusus?free.fr> - Karen Etheridge <ether?cpan.org> - Slaven Rezić <slaven@rezic.de> Please inform me if I have forgotten your contribution. Guido Flohr PK ! �,�� � changelog.Debian.gznu �[��� � �W�O�6��_1R?�#!��㭠�]�]?��RU!o�M�u��vأ}g����*UA{��3�̌�� �d�p#a;��p4k�,�����[hM�U��ߚ���� ��u�WL���a� ���7�6s<µa��s�`~��r8*�B��V�6�u�=�u�v!އs>�4NSHF�x�%Sx'q��%�C�쀨a���t��/X�-,���O� @0��� �^��j���;��@�f�~�$=}���:6�|3����Y����SpIF��6o� ��;O�S�{u~������(���\+g���(x��/� �s���m�[�s@0�O����������e�zR��]�i�vd�~w���"mJ���x��"���Y�(���E�� ;#�-�X �lĤЮ�:����dH�%wh�LX�N���G ��ǃ���m#5+�� �O\���L;�-�ǔ-�{����l<b�%sy�A�)��$�1�D!)��p5F���0f�džYP3Iז��P�3`[ZhQR�`�p҆6�]�^�>�3��N��������I�0�� ! >g�t����� *���]�{.�'%� Ǡ�4+����PyLʧ����@bbP����;��z������Ż�W��'����!��JK~��B"7 �ҟ� ����Y����'xV��b}�F=���kDA�^�SA ),� �w�����������ݧOw��gw���On/n���쁊���_`j��k���a��)w�3��?P��!m�wK� ������T��\�b�$ΔV�@&s1�K��z��H�Z%� -��4��/��6�C�vUJ�^bh? ��)5�;&�%Z�#��3��]�^k͞�9�{�="������e����A *Q���|J��Y�v����:�Y�A��"�]V�ֿ�0�Ġ�.*��oF�j�([0�r#JN/��_���.��%�tW ����5��U<���x�MRB��ZH]Tnc�?������^�̐���p�:�!�Uӱe�?�f�F��^��nU�[���y8�{� �1�����j���h�k�I�bO�M�67�4J���?�y���E�.\����n���a�D�V�m?��1�)F�J-��%�B�u��~z��e�g_�{�TpT��a��/v!a����lg��W&��[���������$� :-�| �j���&�4�鰿��|�� \��'��Yz���?~���I���Ɨk�"h���w�~4����V �ƀRI+��� ���r�0IG�ߺb�o:�ݠ� T��v�S�۲�%y�☸5W�*�&�$��j5��N�r�'�����9��|vp� x�_��l+����8=�ƣk�0C��GH�Y:��Y�F��G��јFgwc��J5����uC��*0�C(�0w.��@�ഗ��I��G�>&YٍC�q�ռ��~l�,&#H�,�,�0o�-�� Ry2>8��vT�}�#-m~�����Y�o:O8��g?6��Q�ȋ�yA���gE��ϧ��ьrG������'X����i6�f�g�XL�_�V�Q*� ��8���V��K?��R���WSt����邳���Iw|U�Q�]��BLJY�f����;8���oi����l�ĺ��ƅ(���!_��_ �2�� PK ! �E��w w TODOnu �[��� - web_set_locale returns the language and the country for lang/country combinations (eg. de-AT) in the language field. Correct? - add conversion modules for other Unicode encodings than UTF-8 (UTF-16, UCS-*) - Better support for Windows, the locale detection stuff does not really work there. Any help would be appreciated. - Check whether other locale categories than LC_MESSAGES work. - Avoid call to __load_domain in Locale::gettext_pp, use a cache table first - The pure Perl version of gettext will always look for message catalogs in /usr/share/locale/{LANGUAGE}/LC_MESSAGES after the directory specified by bindtextdomain(). This can lead to undesired results. But I think the C version from libintl does the same, correct? - Allow to dynamically expand the list of supported conversions - Allow to dynamically restrict the list of suppported conversions PK ! ~!��] ] NEWS.gznu �[��� � �X�O#9��_Q7��B:? DZ�ev4+`����}��n�c�m�����{ew���(t��W����NMIxJǔ��Z<�p�����ԣ̨4V�JN����j#)M^:�H<�2o��r+2����ъ ����Wnvrb}?�����ܫ�A���B<�,����d2�~}�6���+�~�Zy�6�k ������>���t�-���iDZ1;6�yew�}��KK��^,U��������Ze�é̤u)���F�o�T*5⑮�Σ۟n�6��L�4��O��x&��p� �ET�:b�o�J��%Y魒Q�R����ʤ���Y�a�.��QU�v��5UdI�2o�vE�#���k��J���UFgJ�T���aB:� �d#X잜�e��Ƃ�u��l$譴�k���@�TY��y����,�ؕ5���(k4ӂ6�*�������U8n�1*�%������O�TU1pQ�i�&<e�b&����E�v�c]�_��(d��wo#�p:9�$w�2��oM�]),����%���� ʿ0��" %uH~��P-����{&��I��W"��j~����e0��@*�F%#�H�:QJڊ'�<��]��+�#�~1� ނ��L:�kN���o�!6���yՒ��bZ߭�BY�M�X1�%N ��9�m]�3y��Bci]Q� fY�$�/g�l:'o$@2J&o<�||��S��nުn�g��߾�t<��;t0����Z�� �|���e ���6�P�-�G�V��eh/G�s [צ.�XR8��I�#P�u�e��}ُ���si�/z�uj4�0�j�F�e�[ch��:VǤ�@7�E�0,)���b��u:#���2 �lׄ�o%���rO���f̈�>WJ�Ҧ���u�T'i� i��mii�'��:�w���o��,�vpNX�G#@B�OM��iV��j����b>c̓�8���I��f��AY�BHK����GJ0� =����S{� �p�{_5�2>8l�;��m��`�������~ŴJ%&���8a!X��bQ��#��*�Ꮟ���Zz�v1��U�qŊ�Sˣ#�)2U0*��K0}#S1[P7s�ռ��GZ��`�@_��X�85�ۧ�9a5�%�m�r(,�iLy%�Ÿu�Kq���g��)Qp\X��\�ɇS��'wҺ�:��j��$Yp̳p�yF��F��:z25���!�H�<��D\L���_�I� �#��WRxnV\N���L���>�^���V������Mw&�a�ru�{D�܀A�E�됯`��'�(����tat�0l�.mj�h��uˈoI'п�,cU���6A��R9T�J�@�ѝ��0W�\��8rtXBii &:r�� z�0�e�GF�"����¥Jq�*�@��x��I�Bh��E���}1�k��cHW"�H����k�>�*b�8��k��*���x���EV���K<�?��o�U���1�2 jZ��!Xq�tͨ�̜�C�xh�d�݁_0Ǟy� ?Nv�p��8F+{a�� �QCr��xBk�9T����c�W+P�;/�1J��۵x����+���ˏ�*�:.%�r9����o� 3���x��<N2e�ax��l�����?QOy�b= �_���=�P���#-��l�2�W����;�(X�����ճ��U���ˣݘ�Γ0��b��x��`�k�����k!#�ي8}7XgQi��W2#ceC����(A����lv��@镉�x��� �Z��(N�祣�i��CNòVu�1���i�bbb��m�Q+Ν��]���lF�}I�70��6�%0&�pٌ-�q\�b�l栵�Qǝ����y���Q��:�R�hi�%��WO�)�ӻ�]|����,���J �K�'��J���}��xqfB���4���} �_��z/�M���O�EqI��h^�b7�z�B����P"Z�/j������dp�L��aaE�atZU+��|�A��v�����c@���yx�6��~��b��A��%q�o$����]�_|�;�?m��t� PK ! �MI[ [ README.gznu �[��� � �Zmo����k�C����i A�زcԖ]KA����[��[n�D����3�{/��w�2;���3��x}��ݵ�֭.��U]�jl[��O�)u���1�'����ym*�ﶭL������Z�e�\�ۛNWz��zcuV� �n ������T9��K]Z�[ך���W��;[j�+��沁�l����7?��:��[+���wᴹ�]�6}W��R��!��a��rٞ"����ܵ6�����B�[�ļ��x���}��<��) Hd��ڍ����u\�m���|c��ns��y��<OН�������V���/����������돃ؾ�ی��65��DzP����PO�ʰKi���<W�����ץm` U���m��]�\^\�z�mQ��5_4m�+���U �G�[��^�&] -�,F``qԇ���� h���.��+ �샅b#.D�F�~�lZ��DnQ�ʕ�V$�e���P��]��O^�6voT*f������령�6�CF5 ��ڗJ��f߮�k,�!<[���Fr�C�q�v��0�g� �UY �n;ZZQ���ؾ��jstm@�ϠX� p[}����G:��z�VWy��B딾�t�7���1<����ѓ���]�8Ft'ӛ�~����˷��q Y�ɺ�7��h�ɏX��U�y��8]QC9ɄSa� �uUwPJ�'xzO�E�-�2��m�"�~�v��T�?ݽZ=�{���q)DUO-�k��U'��W��?�3;�dצ-�mg��J��![�!�I�cX��A�� ��*)��]E��V=��`��xD��m]��z� PJX8 ��x��z�� *{O[a6�3��K��Ǽ�;ƴmh��������X!��ïa��MO<"�)_o��>�>@��G���Z<�V:���&"6�K��B����!����&yG��i��m��j�ZRZ�X� C�����S��w1+"�%}�A|c|�Ѽ溮տ֛!� �RYx}�.J�G(�'� ��mR~����| YdrV5XC�=!Ւ��ؚIZ�A�Ԁ3��_Ý��w�C!I��49�Rك.Lz1h=�(xv��e�7�'ԆAd��DXN�M��h�t�weS�<�!�R��aH�փ���YN�0�Y� ���L�v�)��YDS��m�T��'�#�[Уoj�BH`�rO���SE��� i��d4{0���rq|�V��"� ��� K���AP"~��mxJ��Z+�Zt������D�,���ם��Īq1y��\����� $�� �~�>��A=�5,�K�%�Ҕy8/�~]���֔PB � �}���I%��� ���+�75"���B���lj��ٹ�� \��v~�w7�>���s$�"��IKb& 7�:��p�����n�5�Z���b-��tN���6������L'6�ds��a�] �i3g7�@���)ݧ�>0�k Z��;��4=0�Q����g������E��F���2� +Em���J�Th%�?8�Q%�F3k�%oP7 �ܴ���XLw^�O�+�@n��������3�K�T���8�/-�FN �����BR�&�hŜM:�\��g-���18�X�x=���11� "��R/�w;�U5Nx�� %�{��0�q�b$Jl6U}��^Ľ)Eʜ۾���?�B�RH,)\ �^�%T�.�d�l��Ț_C����WG���WTCO����E�<����y��RU�;|��/u�w۲�! k�l-�3�(Q�a�ui2�?�W%y!�����ޯ�sf��z}>[����IQPk�*hjj���EL�}��R�5�?*� 3i��P3 #� s�U�\�� T�|�_��?!��g�O>X�!�n��R��!A�b��MM�@�B���T=#St�$�~pm]�..c}`���hk<���M���c��5xF��٤L������Z(�"*�&ԪL���ȁдv5�-Lbv����@V�l�ꏁE/e�Ϸ}<�@��C�>��:8$�5E�C=C��o(�#� ;5�Jjs��3?}��@ї:�(]~�o8���.����9���/�yX��M�B1%�1@��y���X�c���c�k�����P��Fj&�mL�R��2�˴��d{�mw �s�J��L�C#�@��P,m���y�]R�� a����Jo�.ډU������Y1���A��*�����Yh%'�+�&QKL��P��v�N|]N}�E�{�L�j� ���˘x���a�����r��@%嶤��B\dr��X�;�!�&�`*��)��B��S7��Z��$X n��u8ɰ�!�#�glC��R$+IR��G�p �ޠ454?�${��}����2���� 2n]h �&oS�c�6C�p��p]J�'J����w��-!ְ�)R�iҽHmӤjv�r+i�i$�I���� 0O��pV���� �^m1�Į�A���_0�J�M�L�W��L�?�{��H3�^�J�X'g'?��� 4(eFyb�a� "�!1�2�~�mC����R�M2ӄ� �u�6tQZ�h��'�G�PR�=���Q2N2�L�X�@���&Ȇ�����[5-�Qy�0��R�㮘���:RO������jA��SC�yųHT2�3j�+�X�Gi|(�۱SB�� �ӆ���6��H$�A��2�����(�r�Ϩ�,)y�^�u6�Cc�e�����&0�m�;��= �f�ԡR�K��/��"�B�&����G)����\��i>����c ]��v�l��-�;p�Y�-VCnSUf��U�lCAG^���� `a@��� �p8� �!9 ���.¢X�Te(Df)��\�=M{ד�Ĥ0^�|c3��L�� ?*I�-�'J��� �'r�X�x�p&�%��P�H���v��.����GՓj�T��i^�I�gPA��&H�M�x���'��J���2tv�p�P�Ķ��}̮���R��� ���6�T�v�A"���b2�v��U���U��ޕ���,;�n�P8�5�f��#b� �fq�ē$et�B�s��_>��o/�������:���Ϻ�82�G�ؾ�~�����+�範MJ��V�p&j�6>B#f�^hi�L��+g.�z�F�����8ڌ3csuV�`��ꃑ�%����Cѳ�qO�ͳ���^�w���<QO�g*|�`:�6�)��-�ɋ���(�x1���q:?%DP�y2����>�����۫�I c-��&���7?s~$�����1T+���d�e]���Jr�F FY��z���8�0}��R5[:�B���H0H�OFh �m�-��+���MZ�r�"ݿ����ƌ#X��E����!���p'�P`+B�����on�n�D���S̖=�ҷ� `_DM�Qw�j�)j?L����]g�D{xxv>����Uw�ZC�5 �T]Uś ����8�a�N,@�h�]�#�4]zT��;e ��.&��v}�qi R��Y%�l9;U���-\�g��:�,�ԋ����r}��ׂ����n7i+OUxv�T(�&/�8�J��1���B:ՋW.��8c����\���b�ҀU� �0�Ҧ��f˩-�����Av�B�+I�s�`�zd�۫��:�i��e,q�#˥O�����e��=�y�T�A}1����m�%�Tb�>���Aֺ��� Cz��GR�A�,��W���p��_����1�ä���;ɏ�݁�lu�~M1j{c3øv��2�Ո�I��)��M�T��3�e�{�:ѕmM���Yj+$,x���o���!5H�:9��%�����j��S�[��2��-Qǖ�e�IE�Je�xB_��j�3�/?���g(�ԓ4�&(�����w&��� �̵� /c�}l�$#�n���Y�k�1Y���0z��En�_^g�4t�� ���,�r��B����I�wp��t��3}��G�J�=Y�Ǭ�֛�]�GbQ����)��?�ү�s)�?�*܇'