forked from hestiacp/hestiacp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathi18n.php
47 lines (41 loc) · 1.19 KB
/
i18n.php
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
<?php
// Functions for internationalization
// I18N support information here
putenv("LANGUAGE=".detect_user_language());
setlocale( LC_ALL, 'C.UTF-8' );
$domain = 'hestiacp';
$localedir = '/usr/local/hestia/web/locale';
bindtextdomain($domain, $localedir);
textdomain($domain);
/**
* Detects user language from Accept-Language HTTP header.
* @param string Fallback language (default: 'en')
* @return string Language code (such as 'en' and 'ja')
*/
function detect_user_language() {
if (!empty($_SESSION['language'])) {
return $_SESSION['language'];
}elseif (!empty($_SESSION['LANGUAGE'])){
return $_SESSION['LANGUAGE'];
}else{
return 'en';
}
}
/**
* Translate ISO2 to "Language"
* nl = Dutch, de = German
* @param string iso2 code
* @return string Language
*/
function translate_json($string){
$json = file_get_contents($_SERVER['DOCUMENT_ROOT'].'/locale/languages.json');
$json_a = json_decode($json, true);
return $json_a[$string][0] .' ('.$json_a[$string.'_locale'][0].')';
}
/**
* Detects user language .
* @param string Fallback language (default: 'en')
* @return string Language code (such as 'en' and 'ja')
*/
function detect_login_language(){
}