forked from php/web-php
-
Notifications
You must be signed in to change notification settings - Fork 1
/
languages.inc
123 lines (117 loc) · 3.51 KB
/
languages.inc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<?php // -*- C++ -*-
/*
This is a list of all manual languages hosted
within PHP SVN modules (phpdoc-{lang})
Some codes, like "kr", "tw" and "hk" are not in
conformance with the official language code standard!
http://www.unicode.org/unicode/onlinedat/languages.html
*/
$LANGUAGES = array(
'en' => 'English',
'ar' => 'Arabic',
'bg' => 'Bulgarian',
'pt_BR' => 'Brazilian Portuguese',
'zh' => 'Chinese (Simplified)',
'hk' => 'Chinese (Hong Kong Cantonese)',
'tw' => 'Chinese (Traditional)',
'ca' => 'Catalan',
'cs' => 'Czech',
'da' => 'Danish',
'nl' => 'Dutch',
'fi' => 'Finnish',
'fr' => 'French',
'de' => 'German',
'el' => 'Greek',
'he' => 'Hebrew',
'hu' => 'Hungarian',
'id' => 'Indonesian',
'it' => 'Italian',
'ja' => 'Japanese',
'kr' => 'Korean',
'lt' => 'Lithuanian',
'no' => 'Norwegian',
'pl' => 'Polish',
'pt' => 'Portuguese',
'ro' => 'Romanian',
'ru' => 'Russian',
'fa' => 'Persian',
'sr' => 'Serbian',
'sk' => 'Slovak',
'sl' => 'Slovenian',
'es' => 'Spanish',
'sv' => 'Swedish',
'tr' => 'Turkish',
'uk' => 'Ukrainian',
);
/*
The following languages are inactive, which means they will not:
- Show up via the language select box at php.net
- Be selectable via my.php
- Accept redirections to the translation, despite ACCEPT_LANGUAGE
- Be listed at php.net/docs or php.net/download-docs
However, these languages are available on the doc dev server:
- http://docs.php.net/
*/
$INACTIVE_ONLINE_LANGUAGES = array(
'ar' => 'Arabic',
'bg' => 'Bulgarian',
'hk' => 'Chinese (Hong Kong Cantonese)',
'tw' => 'Chinese (Traditional)',
'ca' => 'Catalan',
'cs' => 'Czech',
'da' => 'Danish',
'nl' => 'Dutch',
'fi' => 'Finnish',
'el' => 'Greek',
'he' => 'Hebrew',
'hu' => 'Hungarian',
'id' => 'Indonesian',
'it' => 'Italian',
'kr' => 'Korean',
'lt' => 'Lithuanian',
'no' => 'Norwegian',
'pl' => 'Polish',
'pt' => 'Portuguese',
'fa' => 'Persian',
'sr' => 'Serbian',
'sk' => 'Slovak',
'sl' => 'Slovenian',
'sv' => 'Swedish',
'uk' => 'Ukrainian',
);
$ACTIVE_ONLINE_LANGUAGES = array_diff($LANGUAGES, $INACTIVE_ONLINE_LANGUAGES);
// Convert between language codes back and forth
// [We use non standard languages codes and so conversion
// is needed when communicating with the outside world]
function language_convert($langcode, $to_phpweb_format = TRUE)
{
global $LANGUAGES;
if ($to_phpweb_format) {
switch ($langcode) {
case 'zh_cn': return 'zh';
case 'zh_hk': return 'hk';
case 'zh_tw': return 'tw';
case 'ko' : return 'kr';
default:
if (isset($LANGUAGES[$langcode])) {
return $langcode;
}
// Fallback on english if we got something wacky
return "en";
}
}
else {
switch ($langcode) {
case 'cn': return 'zh_cn';
case 'hk': return 'zh_hk';
case 'tw': return 'zh_tw';
case 'kr': return 'ko';
default:
if (isset($LANGUAGES[$langcode])) {
return $langcode;
}
// Fallback on english if we got something wacky
return "en";
}
}
}