1 | <?php |
||
26 | class Language { |
||
27 | public $all_languages = array('ar_SA' => array('العَرَبِيَّةُ', 'ar', 'arabic'), |
||
28 | 'bg_BG' => array('Български', 'bg', 'bulgarian'), |
||
29 | 'id_ID' => array('Bahasa Indonesia', 'id', 'indonesian'), |
||
30 | 'ms_MY' => array('Bahasa Melayu', 'ms', 'malay'), |
||
31 | 'ca_ES' => array('Català', 'ca', 'catalan'), // ca_CA |
||
32 | 'cs_CZ' => array('Čeština', 'cs', 'czech'), |
||
33 | 'de_DE' => array('Deutsch', 'de', 'german'), |
||
34 | 'da_DK' => array('Dansk', 'da', 'danish') , // dk_DK |
||
35 | 'et_EE' => array('Eesti', 'et', 'estonian'), // ee_ET |
||
36 | 'en_GB' => array('English', 'en', 'english'), |
||
37 | 'en_US' => array('English (US)', 'en', 'english'), |
||
38 | 'es_AR' => array('Español (Argentina)', 'es', 'spanish'), |
||
39 | 'es_CO' => array('Español (Colombia)', 'es', 'spanish'), |
||
40 | 'es_ES' => array('Español (España)', 'es', 'spanish'), |
||
41 | 'es_419' => array('Español (América Latina)', 'es', 'spanish'), |
||
42 | 'es_MX' => array('Español (Mexico)', 'es', 'spanish'), |
||
43 | 'es_VE' => array('Español (Venezuela)', 'es', 'spanish'), |
||
44 | 'eu_ES' => array('Euskara', 'en', 'basque'), |
||
45 | 'fr_FR' => array('Français', 'fr', 'french'), |
||
46 | 'gl_ES' => array('Galego', 'gl', 'galician'), |
||
47 | 'el_GR' => array('Ελληνικά', 'el', 'greek'), // el_EL |
||
48 | 'he_IL' => array('עברית', 'he', 'hebrew'), // he_HE |
||
49 | 'hr_HR' => array('Hrvatski', 'hr', 'croatian'), |
||
50 | 'hu_HU' => array('Magyar', 'hu', 'hungarian'), |
||
51 | 'it_IT' => array('Italiano', 'it', 'italian'), |
||
52 | 'lv_LV' => array('Latviešu', 'lv', 'latvian'), |
||
53 | 'lt_LT' => array('Lietuvių', 'lt', 'lithuanian'), |
||
54 | 'nl_NL' => array('Nederlands', 'nl', 'dutch'), |
||
55 | 'nb_NO' => array('Norsk (Bokmål)', 'nb', 'norwegian'), // no_NB |
||
56 | 'nn_NO' => array('Norsk (Nynorsk)', 'nn', 'norwegian'), // no_NN |
||
57 | 'fa_IR' => array('فارسی', 'fa', 'persian'), |
||
58 | 'pl_PL' => array('Polski', 'pl', 'polish'), |
||
59 | 'pt_PT' => array('Português', 'pt', 'portuguese'), |
||
60 | 'pt_BR' => array('Português do Brasil', 'pt', 'brazilian portuguese'), |
||
61 | 'ro_RO' => array('Română', 'en', 'romanian'), |
||
62 | 'ru_RU' => array('Pусский', 'ru', 'russian'), |
||
63 | 'sk_SK' => array('Slovenčina', 'sk', 'slovak'), |
||
64 | 'sl_SI' => array('Slovenščina', 'sl', 'slovenian slovene'), |
||
65 | 'sr_RS' => array('Srpski', 'sr', 'serbian'), |
||
66 | 'fi_FI' => array('Suomi', 'fi', 'finish'), |
||
67 | 'sv_SE' => array('Svenska', 'sv', 'swedish'), |
||
68 | 'vi_VN' => array('Tiếng Việt', 'vi', 'vietnamese'), |
||
69 | 'th_TH' => array('ภาษาไทย', 'th', 'thai'), |
||
70 | 'tr_TR' => array('Türkçe', 'tr', 'turkish'), |
||
71 | 'uk_UA' => array('Українська', 'en', 'ukrainian'), // ua_UA |
||
72 | 'ja_JP' => array('日本語', 'ja', 'japanese'), |
||
73 | 'zh_CN' => array('简体中文', 'zh', 'chinese'), |
||
74 | 'zh_TW' => array('繁體中文', 'zh', 'chinese') |
||
75 | ); |
||
76 | |||
77 | /** |
||
78 | * Returns list of available locales |
||
79 | * |
||
80 | * @return array |
||
81 | */ |
||
82 | public function listLocaleDir() |
||
83 | { |
||
84 | $result = array('en_GB'); |
||
85 | if (!is_dir(dirname(__FILE__).'/../locale')) { |
||
86 | return $result; |
||
87 | } |
||
88 | $handle = @opendir(dirname(__FILE__).'/../locale'); |
||
89 | if ($handle === false) return $result; |
||
90 | while (false !== ($file = readdir($handle))) { |
||
91 | $path = dirname(__FILE__).'/../locale'.'/'.$file.'/LC_MESSAGES/fam.mo'; |
||
92 | if ($file != "." && $file != ".." && @file_exists($path)) { |
||
93 | $result[] = $file; |
||
94 | } |
||
95 | } |
||
96 | closedir($handle); |
||
97 | return $result; |
||
98 | } |
||
99 | |||
100 | public function getLocale($locale) |
||
104 | |||
105 | /** |
||
106 | * Returns list of available languages |
||
107 | * |
||
108 | * @return array |
||
109 | */ |
||
110 | public function getLanguages() |
||
121 | } |
||
122 | ?> |