File Coverage

blib/lib/ClearPress/Localize.pm
Criterion Covered Total %
statement 21 36 58.3
branch 0 4 0.0
condition 0 3 0.0
subroutine 7 10 70.0
pod 3 3 100.0
total 31 56 55.3


line stmt bran cond sub pod time code
1             #!/usr/bin/env perl
2             # -*- mode: cperl; tab-width: 8; indent-tabs-mode: nil; basic-offset: 2 -*-
3             # vim:ts=8:sw=2:et:sta:sts=2
4             #########
5             # Author: rmp
6             #
7             package ClearPress::Localize;
8 5     5   49 use strict;
  5         15  
  5         197  
9 5     5   37 use warnings;
  5         15  
  5         219  
10 5     5   37 use base qw(Locale::Maketext);
  5         16  
  5         2301  
11 5     5   73234 use HTTP::ClientDetect::Language;
  5         1754465  
  5         243  
12             use Locale::Maketext::Lexicon {
13 5         68 _auto => 1,
14             _style => 'gettext',
15 5     5   2327 };
  5         16249  
16 5     5   499 use Carp;
  5         17  
  5         1858  
17              
18             our $VERSION = q[477.1.2];
19              
20             sub init {
21 80     80 1 2066 my ($class, $locales) = @_;
22 80         678 Locale::Maketext::Lexicon->import($locales);
23 80         35620 return 1;
24             }
25              
26             sub lang {
27 0     0 1   my $lang_detect = HTTP::ClientDetect::Language->new(server_default => 'en_GB');
28             my $req = {
29             accept_language => $ENV{HTTP_ACCEPT_LANGUAGE},
30 0           };
31              
32 0           my $sym = \%ClearPress::request::;
33 0 0         if(!exists $sym->{accept_language}) {
34 0     0     *ClearPress::request::accept_language = sub { my $self = shift; return $self->{accept_language}; };
  0            
  0            
35             }
36              
37 0           bless $req, 'ClearPress::request';
38 0           my $lang = $lang_detect->language($req);
39              
40             # if($lang) {
41             # carp qq[Detected $lang from $ENV{HTTP_ACCEPT_LANGUAGE}];
42             # }
43 0           return $lang;
44             }
45              
46             sub localizer {
47 0     0 1   my ($class, $lang) = @_;
48              
49 0   0       my $lh = __PACKAGE__->get_handle($lang || __PACKAGE__->lang());
50 0 0         if(!$lh) {
51 0           carp qq[Could not construct localizer for $lang];
52             }
53 0           return $lh;
54             }
55              
56             1;
57             __END__