Берём к примеру файл
https://github.com/vcmssu/VCMS/blob/master/app/controllers/ActiveController.php
Текст локализации на русском:
[code]Cms::header('Темы на форуме пользователя ' . Functions::esc($row['login']));
Cms::header('Посты на форуме пользователя ' . Functions::esc($row['login']));
Cms::header('Файлы в загрузках пользователя ' . Functions::esc($row['login']));[/code]
и так далее.
Можно же создать файл например language/ru/common.php
и хранить все переменные с текстом в нём.
[code]
$theme_in_forum = 'Темы на форуме пользователя';
$post_in_forum = 'Посты на форуме пользователя';
$files_in_download = 'Файлы в загрузках пользователя';[/code]
Следовательно ваш код изменится
[code]Cms::header($theme_in_forum . Functions::esc($row['login']));
Cms::header($post_in_forum . Functions::esc($row['login']));
Cms::header($files_in_download . Functions::esc($row['login']));[/code]
как и весь основной. Далее если будет желание сделать перевод, достаточно изменить текст в одном или нескольких файлах, размещённых в понятной папке.
Конечно с помощью переменных это просто, но наглядно достаточно понятно. В phpBB есть возможность дополнять своими файлами локализации, не трогая код ядра, по этому записано в массив:
<?php
if (!defined('IN_PHPBB'))
{
exit;
}
if (empty($lang) || !is_array($lang))
{
$lang = array();
}
$lang = array_merge($lang, array(
'CONTROLLER_ARGUMENT_VALUE_MISSING' => 'Не задано значение аргумента #%1$s: <strong>%3$s</strong> класса <strong>%2$s</strong>',
'CONTROLLER_NOT_SPECIFIED' => 'Не указан контроллер.',
'CONTROLLER_METHOD_NOT_SPECIFIED' => 'Не указан метод для данного контроллера.',
'CONTROLLER_SERVICE_UNDEFINED' => 'Служба контроллера «<strong>%s</strong>» не указана в файле ./config/services.yml.',
));
?>