내가 내 프로그램을 시작할 때 나는 이러한 경고 메시지를 얻을 :경고 메시지 :: 간단한
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 :: 번역 :: I18N :: en_us :: Lexicon "오류 메시지가 더 이상"Win32 :: Locale :: Lexicon "오류 메시지가 있지만 옵션이 아닙니다 ...
을 나는 단지에서 경고를받을 수있는'-W 콜 use' 명령 줄에서 (-w되지 않음). 너도 똑같은거야? –
@ 리차드 : Perl 5.10에서는 Perl 5.12와 함께 -W로 경고 만받습니다. -w & -W로 경고합니다. – sebthebert