|
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 |
- |
|
|