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