first commit
This commit is contained in:
78
pma/vendor/phpmyadmin/sql-parser/src/Translator.php
vendored
Normal file
78
pma/vendor/phpmyadmin/sql-parser/src/Translator.php
vendored
Normal file
@@ -0,0 +1,78 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace PhpMyAdmin\SqlParser;
|
||||
|
||||
use PhpMyAdmin\MoTranslator\Loader;
|
||||
|
||||
use function class_exists;
|
||||
|
||||
/**
|
||||
* Defines the localization helper infrastructure of the library.
|
||||
*/
|
||||
class Translator
|
||||
{
|
||||
/**
|
||||
* The MoTranslator loader object.
|
||||
*
|
||||
* @var Loader
|
||||
*/
|
||||
private static $loader;
|
||||
|
||||
/**
|
||||
* The MoTranslator translator object.
|
||||
*
|
||||
* @var \PhpMyAdmin\MoTranslator\Translator
|
||||
*/
|
||||
private static $translator;
|
||||
|
||||
/**
|
||||
* Loads translator.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function load()
|
||||
{
|
||||
if (self::$loader === null) {
|
||||
// Create loader object
|
||||
self::$loader = new Loader();
|
||||
|
||||
// Set locale
|
||||
self::$loader->setlocale(
|
||||
self::$loader->detectlocale()
|
||||
);
|
||||
|
||||
// Set default text domain
|
||||
self::$loader->textdomain('sqlparser');
|
||||
|
||||
// Set path where to look for a domain
|
||||
self::$loader->bindtextdomain('sqlparser', __DIR__ . '/../locale/');
|
||||
}
|
||||
|
||||
if (self::$translator !== null) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Get translator
|
||||
self::$translator = self::$loader->getTranslator();
|
||||
}
|
||||
|
||||
/**
|
||||
* Translates a string.
|
||||
*
|
||||
* @param string $msgid String to be translated
|
||||
*
|
||||
* @return string translated string (or original, if not found)
|
||||
*/
|
||||
public static function gettext($msgid)
|
||||
{
|
||||
if (! class_exists('\PhpMyAdmin\MoTranslator\Loader', true)) {
|
||||
return $msgid;
|
||||
}
|
||||
|
||||
self::load();
|
||||
|
||||
return self::$translator->gettext($msgid);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user