diff options
Diffstat (limited to 'lib/Locale')
-rw-r--r-- | lib/Locale/POFileManager.pm | 7 | ||||
-rw-r--r-- | lib/Locale/POFileManager/File.pm | 7 |
2 files changed, 10 insertions, 4 deletions
diff --git a/lib/Locale/POFileManager.pm b/lib/Locale/POFileManager.pm index 5924754..87c01ae 100644 --- a/lib/Locale/POFileManager.pm +++ b/lib/Locale/POFileManager.pm @@ -68,8 +68,7 @@ sub has_language { my ($lang) = @_; for my $file ($self->files) { - $file->stringify =~ m{.*/(.*)\.po}; - return 1 if $1 eq $lang; + return 1 if $file->language eq $lang; } return; @@ -96,7 +95,7 @@ sub canonical_language_file { my $lang = $self->canonical_language; return $self->first_file(sub { - $_->file->stringify =~ /\Q$lang\E\.po$/; + $_->file->language eq $lang; }); } @@ -106,7 +105,7 @@ sub find_missing { my %ret; for my $file ($self->files) { - $ret{$file->file->stringify} = $file->find_missing_from($canon_file); + $ret{$file->language} = $file->find_missing_from($canon_file); } return %ret; diff --git a/lib/Locale/POFileManager/File.pm b/lib/Locale/POFileManager/File.pm index b3aa78b..64cb60c 100644 --- a/lib/Locale/POFileManager/File.pm +++ b/lib/Locale/POFileManager/File.pm @@ -38,6 +38,13 @@ sub save { Locale::PO->save_file_fromarray($self->file->stringify, [$self->entries]); } +sub language { + my $self = shift; + my $language = $self->file->basename; + $language =~ s{(.*)\.po$}{$1}; + return $language; +} + sub find_missing_from { my $self = shift; my ($other) = @_; |