Класс содержит нобходимые методы для работы с языковыми файлами
Открытые члены | |
createLangFiles ($lang, $filter=null, $position=0) | |
makeLangArchive ($lang) | |
getPossibleLangsData () | |
removePhrases ($translates_ids) | |
addTableControl (TableControl $table_control) | |
addFilterControl (FilterControl $filter_control) | |
setFilter ($filter_array) | |
setLangFilter ($lang) | |
getListCount () | |
getList ($page=1, $page_size=100) | |
getTableGroupRows () | |
saveTranslates ($translates, $add=false) | |
getModuleLangFilepath ($module, $type, $lang) | |
saveFilters () | |
getHashSourcePhrase ($phrase) | |
removeLangs ($langs) | |
Открытые члены унаследованные от BaseModel | |
addError ($message, $fieldname=null, $form=null) | |
hasError () | |
getErrors () | |
cleanErrors () | |
getDisplayErrors () | |
getErrorsStr () | |
getFormErrors ($form, $separator= ', ') | |
getNonFormErrors ($separator= ', ') | |
exportErrors () | |
importErrors ($data) | |
Открытые статические члены | |
static | getTranslateModuleList () |
static | getPossibleLang () |
static | getSavedFilters () |
Поля данных | |
const | TIMEOUT = 15 |
const | FILTER_SESSION_VAR = 'lang_filter' |
const | FILTER_SHOW_WITH_TRANSLATE = 'with_translate' |
const | FILTER_SHOW_NO_TRANSLATE = 'no_translate' |
const | CORE_MODULE_ID = '@core' |
const | LANG_FILE_TYPE_JS = 'js' |
const | LANG_FILE_TYPE_PHP = 'php' |
Поля данных унаследованные от BaseModel | |
$form_fieldname = [] | |
$errors_by_form = [] | |
$errors_non_form = [] | |
$errors = [] | |
Защищенные члены | |
createLangFilesForDirectory ($directory_path, $module, $lang) | |
prepareJsStrings ($js_strings) | |
getStringsFromDir ($directory_path, array $extensions, array $patterns) | |
getStringsFromDirByTokenizer ($directory_path, array $extensions) | |
getStringsFromFile ($file_path, array $patterns) | |
getStringsFromFileByTokenizer ($file_path) | |
addLangFolderToArchive (ZipArchive $zip, $relative_folder) | |
getModulesLangFilepath () | |
getLangFilepath ($module, $view_folder) | |
getAllPhrases () | |
loadLangFile ($filepath, $module, $type, $lang) | |
addTranslateInFile ($file, $new_translates) | |
replaceTranslatesInFile ($file, $new_translates) | |
transformTranslatesByFiles ($translates) | |
getModuleViewPath ($module) | |
writeLangFile ($file, $messages) | |
loadTranslateFile ($file) | |
Дополнительные унаследованные члены | |
Защищенные данные унаследованные от BaseModel | |
$default_error_fieldname = 'Информация' | |
addFilterControl | ( | FilterControl | $filter_control | ) |
Устанавливает фильтры, от компонента
FilterControl | $filter_control | - объект фильтра |
|
protected |
Добавляет файлы одного модуля в архив
ZipArchive | $zip | Объект архива |
string | $relative_folder | Путь к папке, относительно корня сайта |
addTableControl | ( | TableControl | $table_control | ) |
Применяет параметры таблицы к выборке. Зарезервировано
TableControl | $table_control |
|
protected |
Обновляет или добавляет переводы в файле
string | $file | путь к языковому файлу |
array | $new_translates | массив [Хэш исходной фразы => ['source' => Исходная фраза, 'translate' => 'перевод']] |
createLangFiles | ( | $lang, | |
$filter = null , |
|||
$position = 0 |
|||
) |
Метод, создающий файлы локализации по всему проекту
string | $lang | - язык для которого подготовить файлы |
string | $filter | - фильтрует модули, для которых нужно создать языковый файл. Может содержать "имя папки модуля" или "@core" или "#имя шаблона" |
int | $position | Позиция, с которой начинать обработку |
|
protected |
Создает языковые файлы для определенной директории
string | $directory_path | - путь к папке |
string | $module | Идентификатор модуля |
string | $lang | Идентификатор языка |
|
protected |
Возвращает полный список фраз с учетом фильтра
getHashSourcePhrase | ( | $phrase | ) |
Возвращает хэш от исходной фразы для перевода
string | $phrase | Исходная фраза |
|
protected |
Находит в указанной папке языковые файлы
string | $module | Идентификатор модуля или шаблона или ядра |
string | $view_folder | путь к папке, в которой должна находиться папка lang |
getList | ( | $page = 1 , |
|
$page_size = 100 |
|||
) |
Возвращает список языковых файлов во всех модулях и актуальной теме оформления
int | $page | Номер страницы |
int | $page_size | Количество элементов на странице |
getListCount | ( | ) |
Возвращает общее количество фраз для перевода
getModuleLangFilepath | ( | $module, | |
$type, | |||
$lang | |||
) |
Возвращает полный путь к языковому файлу
string | $module | имя модуля |
string | $type | тип файла для переводов |
string | $lang | двухсимвольный идентификатор языка |
|
protected |
Возвращает информацию по всем файлам переводов для всех модулей с учетом фильтра
|
protected |
Возвращает путь к папке, где должна находиться папка lang для модуля $module
string | $module | идентификатор модуля, темы, ядра |
|
static |
Возвращает список языков, для которых созданы языковые файлы в системе
getPossibleLangsData | ( | ) |
Возвращает существующие в системе языки в формате для отображения в списке
|
static |
Возвращает сохраненные в сессии фильтры последнего отображения переводов
|
protected |
Получить все строки из директории
string | $directory_path | - путь к папке |
array | $extensions | - расширения файлов для поиска |
array | $patterns | - массив парсинга |
|
protected |
Получить все строки из директории используя токинайзер PHP
string | $directory_path | - путь к папке |
array | $extensions | - расширения файлов для поиска |
|
protected |
Получить все строки из конкретного файлы
string | $file_path | - полный путь к файлу на диске |
array | $patterns | - правила для парсинга |
|
protected |
Получить все строки из конкретного файла используя лексер для обхода
string | $file_path | - полный путь к файлу на диске |
getTableGroupRows | ( | ) |
Возвращает данные вставки групп в таблицу
|
static |
Возвращает ассоциативный массив со списком модулей и тем оформления, которые можно перевести
|
protected |
Возвращает массив с id, исходной фразой и переводом
string | $filepath | |
string | $module | |
string | $type | |
string | $lang |
|
protected |
Возвращает имеющиеся фразы в файле переводов
string | $file | Полный путь к файлу переводов |
makeLangArchive | ( | $lang | ) |
Возвращает относительную ссылку на созданный zip архив
string | $lang | Идентификатор языка |
RsException |
|
protected |
Обрабатывает JS фразы. Исключает из них экранирование
array | $js_strings |
removeLangs | ( | $langs | ) |
Удаляет файлы переводов для заданных языков
array | $langs |
removePhrases | ( | $translates_ids | ) |
Удаляет фразы из языкового файла
array | $translates_ids | Массив с ID фраз, которые необходимо удалить |
|
protected |
Заменяет фразы в файле
string | $file | Полный путь к файлу на диске |
array | $new_translates | массив с переводами, [ID исходной фразы module-lang-type-phraseId => Перевод, ...] |
saveFilters | ( | ) |
Сохраняет в сессии фильтры последнего отображения переводов
saveTranslates | ( | $translates, | |
$add = false |
|||
) |
Сохраняет переводы
$translates | ||
bool | $add | Если true, то фразы либо обновляются, либо добавляются в $translates ожидается массив [Хэш исходной фразы => ['source' => Исходная фраза, 'translate' => 'перевод']] Если false, то [Хэш исходной фразы => 'перевод'] |
setFilter | ( | $filter_array | ) |
Устанавливает массив с фильтрами по переводам
$filter_array |
setLangFilter | ( | $lang | ) |
Устанавливает фильтр по языку
string | $lang |
|
protected |
Возвращает массив с фразами, сгруппированными по полным путям к файлам
array | $translates | массив с переводами, где в ключе составной ID исходной фразы module-lang-type-phraseId |
|
protected |
Записывает на диск файл с переводами фраз в формате ReadyScript
string | $file | Полный путь к файлу перевода |
array | $messages | Массив с исходной фразой в ключе и переводом в значении |
const CORE_MODULE_ID = '@core' |
const FILTER_SESSION_VAR = 'lang_filter' |
const FILTER_SHOW_NO_TRANSLATE = 'no_translate' |
const FILTER_SHOW_WITH_TRANSLATE = 'with_translate' |
const LANG_FILE_TYPE_JS = 'js' |
const LANG_FILE_TYPE_PHP = 'php' |
const TIMEOUT = 15 |