Организация мультиязычности

имеется MVC, необходимо сделать мультиязычность(без js) по логике: из БД берется значение (rus, en) и далее если у человека 'rus', то подключается файл rus.php(аналогично en.php) с языком, помогите организовать правильно проверку, как не напишу - постоянно что то не так делаю. Буду очень признателен за помощь

Контроллер

<?php

namespace application\core;
use application\core\View;
abstract class Controller {

public $route;
public $view;
public $acl;
public $tariffs;

public function __construct($route) {
    
    $this->route = $route;
    

    if($this->route['action'] == 'index' AND $this->route['controller'] == 'main' AND $_SESSION != Array()) { // Check authorization
        header('Location: /miners/index');
    }
    // debug($_SESSION['account']);
    $this->view = new View($route);
    $this->model = $this->loadModel($route['controller']);
}

public function loadModel($name) { // Loading model
    $path = 'application\models\\'.ucfirst($name);
    if (class_exists($path)) {
        return new $path;
    }
}
}

Модель

<?php

namespace application\core;
use application\lib\Db;
abstract class Model {

public $db;

public function __construct() {
    $this->db = new Db;
}

}

Вид

<?php

namespace application\core;

class View {

public $path;
public $route;
public $layout = 'default';
public function __construct($route) {
    $this->route = $route;
    $this->path = $route['controller'].'/'.$route['action'];
    
}

public function render($title, $vars = []) {
    extract($vars);
    $path = 'application/views/'.$this->path.'.php';
    if (file_exists($path)) {
        ob_start();
        require $path;
        $content = ob_get_clean();
        require 'application/views/layouts/'.$this->layout.'.php';
        
    }

}

Ответы (0 шт):