Ишем не локаликализованные данные

S

SlaSoft

Maestro
#1
Код:
            $_ = array();
    
            $file = DIR_LANGUAGE . $this->default . '/' . $filename . '.php';
    
            if (is_file($file)) {
                require($file);
            }
$_t = $_;
$_ = array();
            $file = DIR_LANGUAGE . $this->directory . '/' . $filename . '.php';
            
            if (is_file($file)) {
                require($file);
            }
$result = array_diff_key($_t,$_);
if ($result) ($this->log->write($result);
$_ =    array_merge($_t, $_);
Ищем не переведеные переменные
 
OP
S

SlaSoft

Maestro
Thread Starter #2
if ($result) ($this->log->write($result);


Здесь, наверное нужно еще указать файл

if ($result) ($this->log->write($file . print_r($result,true));
 
OP
S

SlaSoft

Maestro
Thread Starter #4
А вот еще..

log - не доступенг в либе

тогда file_put_contents(DIR_LOG , 'languaguge.log', $file . print_r($result,true), FILE_APPEND )
 
OP
S

SlaSoft

Maestro
Thread Starter #7
Кстати, а LOG досутпен

И вот каким образом

1.


Код:
class Language {
    private $default = 'en-gb';
    private $directory;
    public $data = array();
private $log = array();

Код:
    public function __construct($directory = '') {
        $this->directory = $directory;
    }
    public function __destuct() {
        $loger = NEW Log('language.log');
$loger->write($_SERVER['REUEST_URI'] . ' => ' .  printr_r($this->log,true));
    }
и теперь

Код:
if ($result) $this->log[] = $file . print_r($result,true);
А теперь по порядку

не отвлекаясь ни на что просто логируем в массив
После окончания в деструкторе бросаем все одним потоком
 
Останнє редагування модератором:
Симпатії: Baco
Baco

Baco

architect
#8
Шикарное решение, оно не может быть не интегрировано.
Мы вот с Алариком вот что подумали:
Если уж подключаем офф. сайт по АПИ, почему такие вот ошибки, как переменные отсутствующие, на записывать в отдельную таблицу, с минимальными идентификаторами, по типу колонок:
0. error_id (AI)
1. file_err_exeption
2. error_txt
3. type_err
4. custom_service_column
и туда вписывать ошибки, не только с языковых, но и с лоадера, и других библиотек.
Впредь, набросаю класс, для безопасного экспорта ошибок из этой таблицы, на сервер БРО, обработка и фикс по тому же методу, используя идентификатор SHOP_ID.
 
OP
S

SlaSoft

Maestro
Thread Starter #9
Не знаю, что вы там придумали :)

На этапе тестирования это работающий способ
На этапе продакшн -фтопку

Т.е. нужна override библиотека

в startup/startup
вместо
// Overwrite the default language object
$language = new Language($code);

вот так

$language = new LanguageDebug($code);
 
Зверху