Completed
Pull Request — master (#106)
by Michal
135:31 queued 70:13
created

Translator::gettext()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 3
Bugs 0 Features 0
Metric Value
dl 0
loc 6
rs 9.4285
c 3
b 0
f 0
cc 1
eloc 3
nc 1
nop 1
1
<?php
2
3
/**
4
 * Defines the localization helper infrastructure of the library.
5
 */
6
7
namespace SqlParser;
8
9
use MoTranslator;
10
11
class Translator
12
{
13
    /**
14
     * The MoTranslator loader object.
15
     *
16
     * @var MoTranslator\Loader
17
     */
18
    private static $loader;
19
20
    /**
21
     * The MoTranslator translator object.
22
     *
23
     * @var MoTranslator\Translator
24
     */
25
    private static $translator;
26
27
    /**
28
     * Loads transator.
29
     */
30
    public static function load()
31
    {
32
        if (is_null(self::$loader)) {
33
            // Create loader object
34
            self::$loader = new MoTranslator\Loader();
35
36
            // Set locale
37
            self::$loader->setlocale(
38
                self::$loader->detectlocale()
39
            );
40
41
            // Set default text domain
42
            self::$loader->textdomain('sqlparser');
43
44
            // Set path where to look for a domain
45
            self::$loader->bindtextdomain('sqlparser', __DIR__ . '/../locale/');
46
        }
47
48
        if (is_null(self::$translator)) {
49
            // Get translator
50
            self::$translator = self::$loader->getTranslator();
51
        }
52
    }
53
54
    /**
55
     * Translates a string.
56
     *
57
     * @param string $msgid String to be translated
58
     *
59
     * @return string translated string (or original, if not found)
60
     */
61
    public static function gettext($msgid)
62
    {
63
        self::load();
64
65
        return self::$translator->gettext($msgid);
66
    }
67
}
68