我得到這些警告消息,當我開始我的程序:警告信息與地點:: Maketext ::簡單
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 ...
之前,我沒有收到任何警告0任何想法如何解決這個問題?
編輯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 ::翻譯:: I18N :: en_us :: Lexicon「錯誤消息了,只有」Win32 :: Locale :: Lexicon「錯誤消息,但這不是一個選項...
我只能從得到警告你的'use'與-W調用命令行(不-w)。你也一樣嗎? –
@Richard:用Perl 5.10,我只用-W得到這些警告,用Perl 5.12,我用-w&-W得到這些警告-W – sebthebert