Lines 31-37
eval {
Link Here
|
31 |
import Memoize::Memcached qw(memoize_memcached); |
31 |
import Memoize::Memcached qw(memoize_memcached); |
32 |
|
32 |
|
33 |
memoize_memcached('getTranslatedLanguages', memcached => C4::Context->memcached); |
33 |
memoize_memcached('getTranslatedLanguages', memcached => C4::Context->memcached); |
34 |
memoize_memcached('getFrameworkLanguages' , memcached => C4::Context->memcached); |
|
|
35 |
memoize_memcached('getAllLanguages', memcached => C4::Context->memcached); |
34 |
memoize_memcached('getAllLanguages', memcached => C4::Context->memcached); |
36 |
} |
35 |
} |
37 |
}; |
36 |
}; |
Lines 41-52
BEGIN {
Link Here
|
41 |
require Exporter; |
40 |
require Exporter; |
42 |
@ISA = qw(Exporter); |
41 |
@ISA = qw(Exporter); |
43 |
@EXPORT = qw( |
42 |
@EXPORT = qw( |
44 |
&getFrameworkLanguages |
|
|
45 |
&getTranslatedLanguages |
43 |
&getTranslatedLanguages |
46 |
&getLanguages |
44 |
&getLanguages |
47 |
&getAllLanguages |
45 |
&getAllLanguages |
48 |
); |
46 |
); |
49 |
@EXPORT_OK = qw(getSearchLanguages getLanguages_iso getFrameworkLanguages getTranslatedLanguages getAllLanguages getLanguages get_bidi regex_lang_subtags language_get_description accept_language); |
47 |
@EXPORT_OK = qw(getSearchLanguages getLanguages_iso getTranslatedLanguages getAllLanguages getLanguages get_bidi regex_lang_subtags language_get_description accept_language); |
50 |
$DEBUG = 0; |
48 |
$DEBUG = 0; |
51 |
} |
49 |
} |
52 |
|
50 |
|
Lines 64-108
use C4::Languages;
Link Here
|
64 |
|
62 |
|
65 |
=head1 FUNCTIONS |
63 |
=head1 FUNCTIONS |
66 |
|
64 |
|
67 |
=head2 getFrameworkLanguages |
|
|
68 |
|
69 |
Returns a reference to an array of hashes: |
70 |
|
71 |
my $languages = getFrameworkLanguages(); |
72 |
for my $language(@$languages) { |
73 |
print "$language->{language_code}\n"; # language code in iso 639-2 |
74 |
print "$language->{language_name}\n"; # language name in native script |
75 |
print "$language->{language_locale_name}\n"; # language name in current locale |
76 |
} |
77 |
|
78 |
=cut |
79 |
|
80 |
sub getFrameworkLanguages { |
81 |
# get a hash with all language codes, names, and locale names |
82 |
my $all_languages = getAllLanguages(); |
83 |
my @languages; |
84 |
|
85 |
# find the available directory names |
86 |
my $dir=C4::Context->config('intranetdir')."/installer/data/"; |
87 |
opendir (MYDIR,$dir); |
88 |
my @listdir= grep { !/^\.|CVS/ && -d "$dir/$_"} readdir(MYDIR); |
89 |
closedir MYDIR; |
90 |
|
91 |
# pull out all data for the dir names that exist |
92 |
for my $dirname (@listdir) { |
93 |
for my $language_set (@$all_languages) { |
94 |
|
95 |
if ($dirname eq $language_set->{language_code}) { |
96 |
push @languages, { |
97 |
'language_code'=>$dirname, |
98 |
'language_description'=>$language_set->{language_description}, |
99 |
'native_descrition'=>$language_set->{language_native_description} } |
100 |
} |
101 |
} |
102 |
} |
103 |
return \@languages; |
104 |
} |
105 |
|
106 |
=head2 getSearchLanguages |
65 |
=head2 getSearchLanguages |
107 |
|
66 |
|
108 |
Get selection of languages codes and iso639_2. |
67 |
Get selection of languages codes and iso639_2. |
109 |
- |
|
|