При запуске программы я получаю следующие предупреждающие сообщения:
Name "AAT::Translation::I18N::en_us::Lexicon" used only once: possible typo at /usr/share/perl/5.12/Locale/Maketext.pm line 404.
Name "Win32::Locale::Lexicon" used only once: possible typo at /usr/share/perl/5.12/I18N/LangTags/Detect.pm line 140.
Моя программа использует модуль с Locale :: Maketext :: Simple :
use Locale::Maketext::Simple(
Path => '/usr/share/aat/Translations/'
);
Этот каталог содержит мои * .po файлы (en.po, fr.po ...)
Я не получил никаких предупреждений перед использованием Perl 5.12 / Locale :: Maketext :: Simple 0.21 ...
Есть идеи, как мне это исправить?
Редактировать 1: Полный код
package AAT::Translation;
use strict;
use warnings;
use Readonly;
use AAT::Utils qw( NULL );
my %AAT_Translation = ();
use Locale::Maketext::Simple(
Path => '/usr/share/aat/Translations/'
);
sub Init
{
my $lang = shift;
loc_lang($lang);
$AAT_Translation{$lang}{'_USER'} = loc("_USER");
return (1);
}
sub Get
{
my ($lang, $str) = @_;
return (undef) if (NULL($str));
Init($lang) if (!defined $AAT_Translation{$lang}{'_USER'});
$AAT_Translation{$lang}{$str} = (loc($str) || $str)
if (!defined $AAT_Translation{$lang}{$str});
return ($AAT_Translation{$lang}{$str});
}
Редактировать 2: Конечно, если я создаю ссылку en_us.po -> en.po, я не получаю ошибку «AAT :: Translation :: I18N :: en_us :: Lexicon» сообщений больше, только сообщения об ошибках «Win32 :: Locale :: Lexicon», но это не вариант ...