source: trunk/coverager/common.php @ 134

Last change on this file since 134 was 134, checked in by moo, 8 years ago

fix 2nd lang file detecting

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