<?php
namespace Claromentis\Core\Localization;

$GLOBALS["__65da1b1" . "ec2d6653e" . "8a0ab7848" . "e536215"] = (@$GLOBALS["__65da1b1ec2d6653e8a" . "0ab7848e536215"] ?: array()) + array("_982bb11c1217d9ad3a391d728" . "27f54ce" => base64_decode("Q2FuJ3QgZmluZCBsb" . "2NhbGl6YXRpb24gc3" . "RyaW5nICc="), "_aef8d01f1d32e6333fa01fc401e05" . "eee" => base64_decode("bG9jY" . "Wxpem" . "F0aW9" . "u"), "_e608e5b5c4c34a67ba97" . "ef84c1e16199" => base64_decode("Jw" . "=="), "_4d707fa" . "b93bebb0" . "0bbe69e8" . "159697c9" . "0" => base64_decode(""));
use Claromentis\Core\Localization\Exception\MissingPhraseException;
use Claromentis\Core\Services;




class Facade
{
    
    
    
    
    protected static $localization;
    
    
    
    
    protected static function Init()
    {
        global $g_application;
        self::$localization = $g_application[$GLOBALS["__65da1b1ec2d6653e8a0ab7848" . "e536215"]["_aef8d01" . "f1d32e63" . "33fa01fc" . "401e05ee" . "e"]];
    }
    
    
    
    
    
    
    public static function SetLocalizationService(Localization $_aef8d01f1d32e6333fa01fc401e05eee)
    {
        self::$localization = $_aef8d01f1d32e6333fa01fc401e05eee;
    }
    
    
    
    
    public static function UnsetLocalizationService()
    {
        self::$localization = null;
    }
    
    
    
    
    
    
    public static function SetLanguage($_059707644b06dfe19a36970b58499427)
    {
        if (!self::$localization) {
            self::Init();
        }
        self::$localization->SetLanguage($_059707644b06dfe19a36970b58499427);
    }
    
    
    
    
    public static function GetLanguage()
    {
        if (!self::$localization) {
            self::Init();
        }
        return self::$localization->GetLanguage();
    }
    
    
    
    
    public static function GetLocale()
    {
        if (!self::$localization) {
            self::Init();
        }
        return self::$localization->GetLocale();
    }
    
    
    
    
    public static function GetDateFormatter()
    {
        if (!self::$localization) {
            self::Init();
        }
        return self::$localization->GetDateFormatter();
    }
    
    
    
    
    
    public static function GetPhrase($key)
    {
        if (!self::$localization) {
            self::Init();
        }
        try {
            return self::$localization->getTranslation($key);
        } catch (MissingPhraseException $_fe441aa3ef350bfb1a1a1ad8520dd530) {
            Services::I()->GetLogger($GLOBALS["__65da1b1ec2d6653e8a0ab7848e53" . "6215"]["_aef8d01f1d32e6333" . "fa01fc401e05eee"])->warning($GLOBALS["__65da1b1ec2d6653e8a0ab7848e" . "536215"]["_982bb11c121" . "7d9ad3a391d7" . "2827f54ce"] . $key . $GLOBALS["__65da1b1ec2d6653" . "e8a0ab7848e536215"]["_e608e5b" . "5c4c34a6" . "7ba97ef8" . "4c1e1619" . "9"]);
            return $GLOBALS["__65da1b1" . "ec2d6653e" . "8a0ab7848" . "e536215"]["_4d707fab9" . "3bebb00bbe" . "69e8159697" . "c90"];
        }
    }
    
    
    
    
    
    public static function KeyExist($key)
    {
        if (!self::$localization) {
            self::Init();
        }
        return self::$localization->KeyExist($key);
    }
}