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