示例#1
0
文件: Lang.php 项目: Razzwan/core
 /**
  * Загружаем язык
  * @param null|string $lang
  * @throws \Exception
  */
 public static function checkLanguage($lang = null)
 {
     if ($lang !== null) {
         $file = LIW_WEB . 'config/languages/' . $lang . '/' . $lang . '.php';
         if (file_exists($file)) {
             $_SESSION['language'] = $lang;
             Lang::add(require $file);
             return;
         } else {
             throw new \Exception("Файл " . $file . " не существует.");
         }
     }
     if (!empty($_SESSION['language'])) {
         $lang = $_SESSION['language'];
         $file = LIW_WEB . 'config/languages/' . $lang . '/' . $lang . '.php';
         if (file_exists($file)) {
             Lang::add(require $file);
             return;
         }
     }
     if (isset($_SESSION['language'])) {
         unset($_SESSION['language']);
     }
     $lang = Liw::$config['def_lang'];
     $file = LIW_WEB . 'config/languages/' . $lang . '/' . $lang . '.php';
     Lang::add(require $file);
 }
 /**
  * Ajouter une nouvelle langue
  *
  *
  */
 public function ajouter($description, $code, $url)
 {
     $lang = new Lang();
     $lang->description = trim($description);
     $lang->code = strtolower(trim($code));
     $lang->defaut = 0;
     if ($this->get_un_domaine_par_langue() == 1) {
         $lang->url = rtrim($url, "/");
     }
     $lang->add();
     ActionsModules::instance()->appel_module("ajoutlangue", $langue);
 }
 function about($name)
 {
     $classname = $this->__getClassName($name);
     $path = $this->__getDriverPath($name);
     if (!@file_exists($path)) {
         return false;
     }
     require_once $path;
     if ($about = @call_user_func(array(&$classname, "about"))) {
         $about['handle'] = $name;
         $about['status'] = $this->fetchStatus($name);
         if ($about['status'] == EXTENSION_ENABLED) {
             Lang::add($this->__getClassPath($name) . '/lang/lang.%s.php', __LANG__);
         }
         $nav = @call_user_func(array(&$classname, 'fetchNavigation'));
         if ($nav != NULL) {
             $about['navigation'] = $nav;
         }
         if ($this->__requiresUpdate($about)) {
             $about['status'] = EXTENSION_REQUIRES_UPDATE;
         }
         return $about;
     }
     return false;
 }
示例#4
0
文件: Liw.php 项目: Razzwan/core
 */
defined("LIW_CORE") or define("LIW_CORE", dirname(__DIR__) . DIRECTORY_SEPARATOR);
defined("LIW_LANG") or define("LIW_LANG", '/home/www/blog.loc/blog/config/languages/');
/**
 * Проверяем, установлен ли флаг среды разработки, если ды - выставляем соотв. настройки
 */
if (defined('DEVELOP') && DEVELOP === true) {
    /**
     * В режиме отладки должны отображаться все ошибки
     */
    error_reporting(E_ALL);
    ini_set('display_errors', 1);
    /**
     * Подключаем файл с языковыми данными для разработчика
     */
    Lang::add(require LIW_LANG . 'dev.php');
    /**
     * Подключаем файл helpers.php
     */
    require_once LIW_CORE . 'core/develop/helpers.php';
}
/**
 * Class Liw
 * @package liw\core
 * Статичный класс, в котором хранятся суперглобальные переменные (пока)
 */
class Liw
{
    private static $levels = [];
    public static $config = [];
    public static $isGuest = true;
示例#5
0
文件: Lang.class.php 项目: GGF/baza4
    public function getJavascripts()
    {
        return array($this->getWebDir(__DIR__) . '/js/' . self::$lang . '.js', $this->getWebDir(__DIR__) . '/js/lang.js');
    }
    public static function add($array)
    {
        self::$langtext = array_replace_recursive(self::$langtext, $array);
    }
    public static function getString($var)
    {
        $var = explode(".", $var);
        $tmp = self::$langtext;
        foreach ($var as $v) {
            if (isset($tmp[$v])) {
                $tmp = $tmp[$v];
            } else {
                return implode(".", $var);
            }
        }
        $tmp = $tmp[self::$lang];
        return $tmp;
    }
    public function setLang($lang = 'en')
    {
        self::$lang = $lang;
        $_SERVER["lang"] = $lang;
    }
}
Lang::staticConsturct();
Lang::add(array("alerts" => array("sent" => array("ru" => "СООБЩЕНИЕ ОТПРАВЛЕНО.\\n\\nВаше сообщение было успешно отправлено.\\n\\nСпасибо.", "en" => "MESSAGE SENT.\\n\\nYour message has been successfully sent.\\n\\nThank you."), "code" => array("ru" => "Неверный код подтверждения.", "en" => "Specified confirmation code is wrong."), "time" => array("ru" => "ОШИБКА. СООБЩЕНИЕ НЕ ОТПРАВЛЕНО.\\n\\nНедавно Вы уже отправляли сообщение.\\n\\nНа сайте действует ограничение по количеству отсылаемых\\nсообщений: одно сообщение раз в 10 минут.\\n\\nЭто ограничение установлено в целях борьбы со спамом.", "en" => "ERROR. MESSAGE IS NOT SENT.\\n\\nYou have sent the message already.\\n\\nYou can send only one message in 10 minutes due to\\n\\nanti-spam restrictions."), "oblg" => array("ru" => "Заполнены не все обязательные поля...", "en" => "Obligatory fields aren't filled...")), "mail" => array("generated" => array("ru" => "Это письмо было сформировано автоматически.", "en" => "This letter is automatically-generated."), "robot" => array("ru" => "{$_SERVER[project][name]}", "en" => "{$_SERVER[project][name]}")), "paging" => array("pages" => array("ru" => "Страницы", "en" => "Pages"), "showed" => array("ru" => "Показано", "en" => "Showed"), "of" => array("ru" => "из", "en" => "of")), "submit" => array("ru" => "Продолжить", "en" => "Submit"), "reset" => array("ru" => "Отмена", "en" => "Reset"), "close" => array("ru" => "Закрыть", "en" => "Close"), "no-flash" => array("ru" => "Вы должны установить Flash™ плеер чтобы увидеть ролик.", "en" => "You have to install Flash™ player in order to watch this movie."), "highlighted" => array("ru" => "В тексте выделены слова, которые Вы искали", "en" => "Keywords you searched for are highlighted"), "tags" => array("ru" => "Тэги", "en" => "Tags"), "sitemap" => array("ru" => "Карта сайта", "en" => "Site map"), "status" => array("enabled" => array("ru" => "включен", "en" => "enabled"), "disabled" => array("ru" => "выключен", "en" => "disabled"))));
示例#6
0
 /**
  * Load all language files (core and extensions)
  *
  * It may be possible that there are only translations for an extension,
  * so don't stop if there is no core translation as Symphony will always display the English strings.
  */
 public static function loadAll()
 {
     // Load localisation file for the Symphony core
     $file = Lang::findLanguagePath(Symphony::lang()) . '/lang.%s.php';
     $path = sprintf($file, Symphony::lang());
     if (is_file($path)) {
         Lang::load($file, Symphony::lang(), true);
     }
     // Load localisation files for extensions
     foreach (new ExtensionIterator(ExtensionIterator::FLAG_STATUS, Extension::STATUS_ENABLED) as $extension) {
         $path = Extension::getPathFromClass(get_class($extension)) . '/lang/lang.%s.php';
         if (is_file(sprintf($path, Symphony::lang()))) {
             Lang::add($path, Symphony::lang());
         }
     }
     /*foreach(ExtensionManager::instance()->listAll() as $handle => $e){
     			$path = ExtensionManager::instance()->__getClassPath($handle) . '/lang/lang.%s.php';
     			if($e['status'] == Extension::ENABLED && file_exists(sprintf($path, Symphony::lang()))){
     				Lang::add($path, Symphony::lang());
     			}
     		}*/
 }
示例#7
0
文件: i18n.php 项目: GGF/baza4
<?php

Lang::add(array('Adminhere' => array('ru' => 'Admin здесь', 'en' => 'Admin is here')));
示例#8
0
 /**
  * Load all language files (core and extensions)
  *
  * It may be possible that there are only translations for an extension, 
  * so don't stop if there is no core translation as Symphony will always display the English strings.
  */
 public static function loadAll($ExtensionManager)
 {
     // Load localisation file for the Symphony core
     $file = Lang::findLanguagePath(Symphony::lang(), $ExtensionManager) . '/lang.%s.php';
     $path = sprintf($file, Symphony::lang());
     if (file_exists($path)) {
         Lang::load($file, Symphony::lang(), true);
     }
     // Load localisation files for extensions
     foreach ($ExtensionManager->listAll() as $handle => $e) {
         $path = $ExtensionManager->__getClassPath($handle) . '/lang/lang.%s.php';
         if ($e['status'] == EXTENSION_ENABLED && file_exists(sprintf($path, Symphony::lang()))) {
             Lang::add($path, Symphony::lang());
         }
     }
 }
示例#9
0
文件: i18n.php 项目: GGF/baza4
<?php

Lang::add(array("Auth" => array("session" => array("cantfinduser" => array("ru" => "Не могу найти пользователя по сессии. Обратитесь к разработчику!", "en" => "Can not find user by session. Call to developer"), "wrongpassword" => array("ru" => "Не могу найти пользователя по паролю. Попробуйте еще раз!", "en" => "Can not find user by password. Try again!"), "old" => array("ru" => "Сессия не верна или устарела!", "en" => "Session too old"), "nosession" => array("ru" => "<span style='display:none'>Сессия не верна или устарела!</span>", "en" => "<span style='display:none'>Session too old</span>"), "success" => array("ru" => "", "en" => "")), "error" => array("noconstructor" => array("ru" => "Нельзя использовать конструктор для создания класса Auth.\\nИспользуйте статический метод getInstance()", "en" => "Do not use constructor. Use static method getInstance()")))));
示例#10
0
文件: i18n.php 项目: GGF/baza4
<?php

Lang::add(array("Form" => array("captcha" => array("reload" => array("ru" => "Обновить код", "en" => "Reload captcha"), "title" => array("ru" => "Код содержит только цифры", "en" => "Code contains only digits")), "error" => array("length" => array("ru" => "Максимальное количество символов", "en" => "Maximum length"), "obligatory" => array("empty" => array("ru" => "Это поле обязательно для заполнения", "en" => "The field is obligatory"), "not-found" => array("ru" => "Значение не найдено в массиве", "en" => "Value has not been found in array"), AJAXFORM_TYPE_CHECKBOX => array("ru" => "Поле должно быть отмечено", "en" => "This field has to be checked"), AJAXFORM_TYPE_SELECT => array("ru" => "Значение должно быть выбрано", "en" => "Value has to be selected"), AJAXFORM_TYPE_RADIO => array("ru" => "Значение должно быть выбрано", "en" => "Value has to be selected"), AJAXFORM_TYPE_FILE => array("ru" => "Необходимо указать файл", "en" => "File has to be selected"), AJAXFORM_TYPE_DATE => array("ru" => "Необходимо выбрать дату", "en" => "Date has to be selected")), "checker" => array("illegal" => array("ru" => "Поле содержит запрещенные символы", "en" => "The field is contains illegal characters"), AJAXFORM_CHECK_DEFAULT => array("ru" => "", "en" => ""), AJAXFORM_CHECK_CUSTOM => array("ru" => "", "en" => ""), AJAXFORM_CHECK_NUMERIC => array("ru" => "Это поле может содержать только цифры", "en" => "Allowed characters: digits only"), AJAXFORM_CHECK_LOGIN => array("ru" => "", "en" => ""), AJAXFORM_CHECK_CODE => array("ru" => "", "en" => ""), AJAXFORM_CHECK_PHONE => array("ru" => "", "en" => ""), AJAXFORM_CHECK_MAIL => array("ru" => "", "en" => ""), AJAXFORM_CHECK_URL => array("ru" => "", "en" => "")), "format" => array(AJAXFORM_FORMAT_PHONE => array("ru" => strip_tags("Телефон должен соответствовать <a href='http://www.artlebedev.ru/kovodstvo/sections/91/#54' target='_blank'>формату</a> +7 123 456-78-90"), "en" => strip_tags("Phone should correspond to the <a href='http://en.wikipedia.org/wiki/Phone_number' target='_blank'>format</a> +7 123 456-78-90»")), AJAXFORM_FORMAT_MAIL => array("ru" => strip_tags("Адрес должен соответствовать <a href='http://ru.wikipedia.org/wiki/%D0%90%D0%B4%D1%80%D0%B5%D1%81_%D1%8D%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%BE%D0%B9_%D0%BF%D0%BE%D1%87%D1%82%D1%8B' target='_blank'>формату</a> name@site.ru"), "en" => strip_tags("Mail address should correspond to the <a href='http://en.wikipedia.org/wiki/E-mail_address' target='_blank'>format</a> name@site.com")), AJAXFORM_FORMAT_URL => array("ru" => strip_tags("URL должен соответствовать <a href='http://ru.wikipedia.org/wiki/URL#.D0.A1.D1.82.D1.80.D1.83.D0.BA.D1.82.D1.83.D1.80.D0.B0_URL' target='_blank'>формату</a> и начинаться на «http://» или «www.»"), "en" => strip_tags("URL should correspond to the <a href='http://en.wikipedia.org/wiki/Url' target='_blank'>format</a> and start with «http://» or «www.»")), AJAXFORM_FORMAT_LOGIN => array("ru" => "Разрешенные символы: 0…9, a…z, «-», «_», не менее трех символов", "en" => "Allowed characters: 0…9, a…z, «-», «_», three symbols minimum"), AJAXFORM_FORMAT_CUSTOM => array("ru" => "Поле заполнено не по формату", "en" => "Field not corresponds to the format")), "code" => array("ru" => "Неверный код подтверждения", "en" => "Wrong confirmation code")))));