Класс содержит нобходимые методы для работы с языковыми файлами
Открытые члены | |
| 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 |