summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2010-02-18 12:15:53 -0600
committerJesse Luehrs <doy@tozt.net>2010-02-18 12:15:53 -0600
commite7b0afa2f7b8cd45bfea000f2d2238497ce0f982 (patch)
treea15b33303f26bbcb5f21a5597087a4f25bbf1987
parentb3fa49c38792421b72d2ebb348ca6d48a5fd670a (diff)
downloadlocale-pofilemanager-e7b0afa2f7b8cd45bfea000f2d2238497ce0f982.tar.gz
locale-pofilemanager-e7b0afa2f7b8cd45bfea000f2d2238497ce0f982.zip
centralize the filename => lang mapping, and use it in more places
-rw-r--r--lib/Locale/POFileManager.pm7
-rw-r--r--lib/Locale/POFileManager/File.pm7
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) = @_;