source: branches/1.3/admin/common.php @ 604

Last change on this file since 604 was 604, checked in by moo, 5 years ago

set svn:eol-style to native

  • Property svn:eol-style set to native
File size: 1.8 KB
RevLine 
[123]1<?php
2
3function get_language_file_ex($name, $l, $s)
4{
[182]5    static $lmap = array(
[123]6            'zh'    => 'zh-simplified',
7            'zh-hk' => 'zh-traditional',
8            'zh-tw' => 'zh-traditional',
9            );
[182]10    static $smap = array(
11            'gbk'     => 'gb2312',
12            'gb18030' => 'gb2312',
13            );
[123]14
[182]15    if (isset($lmap[$l])) {
16        $l = $lmap[$l];
[123]17    }
18    if (file_exists($file = "$name-$l-$s.lang.php")) {
19        return $file;
20    }
[182]21    if (isset($smap[$s])) {
22        $s = $smap[$s];
23        if (file_exists($file = "$name-$l-$s.lang.php")) {
24            return $file;
25        }
26    }
[123]27    if (file_exists($file = "$name-$l.lang.php")) {
28        return $file;
29    }
30    return null;
31}
32
33function get_language_file($name)
34{
35    global $charset, $lang;
36    $s = strtolower($charset);
37    if (isset($lang)) {
[134]38        $l = strtolower($lang);
39        $file = get_language_file_ex($name, $l, $s);
40        if (!isset($file)) {
41            $l = strtok($l, '-');
42            $file = get_language_file_ex($name, $l, $s);
43        }
[123]44    }
45    else if (!empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
46        foreach (explode(',', str_replace(' ', '', $_SERVER['HTTP_ACCEPT_LANGUAGE'])) as $l) {
47            $l = strtok($l, ';');
48            $file = get_language_file_ex($name, $l, $s);
49            if (isset($file)) {
[125]50                $lang = $l;
[123]51                break;
52            }
53            if (strpos($l, '-') !== false) {
[125]54                $ll = strtok($l, '-');
55                $file = get_language_file_ex($name, $ll, $s);
[123]56                if (isset($file)) {
[125]57                    $lang = $l;
[123]58                    break;
59                }
60            }
61        }
62    }
63    return isset($file) ? $file : "$name-en.lang.php";
64}
65
66function _T($str)
67{
68    if (isset($GLOBALS['strings'][$str])) {
69        return $GLOBALS['strings'][$str];
70    }
71    if (!empty($GLOBALS['show_todo_strings'])) {
72        return '<span style="color:red">' . htmlspecialchars($str) . '</span>';
73    }
74    return $str;
75}
76
77error_reporting(E_ALL);
[181]78ini_set('display_errors', 'On');
[123]79define('REQUEST_TIME', time());
80
81$charset = "UTF-8";
82if (file_exists("./config.php")) {
83    include("./config.php");
84}
85
86include(get_language_file("common"));
[125]87if (!isset($lang)) {
88    $lang = 'en-us';
89}
[123]90
91?>
Note: See TracBrowser for help on using the repository browser.