diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6f0a14c --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/upload/engine/inc/maharder/utils/composer.lock \ No newline at end of file diff --git a/install_archive.bat b/install_archive.bat index 6d4c227..db8fbd2 100644 --- a/install_archive.bat +++ b/install_archive.bat @@ -5,6 +5,6 @@ cd temp set PATH=%PATH%;%ProgramFiles%\7-Zip\ 7z a -mx0 -r -tzip -aoa dle_faker.zip * cd .. -copy /Y temp\mhadmin.zip dle_faker_install.zip +copy /Y temp\dle_faker.zip dle_faker_install.zip rd /s /q temp exit; diff --git a/manifest.json b/manifest.json index f1f7a2e..6ee4f8d 100644 --- a/manifest.json +++ b/manifest.json @@ -1,12 +1,14 @@ { - "version": "173.1.0", - "status": "dev", + "version": "180.1.2", + "status": "stable", "dle": [ - "17.x" + "17.x", + "18.0" ], "php": [ "8.3" ], "name": "DLE Faker", - "description": "Генератор фиктивных новостей на сайте" + "description": "Генератор фиктивных новостей на сайте", + "mhadmin": "180.3.5" } diff --git a/readme.md b/readme.md index e4f35c3..486a302 100644 --- a/readme.md +++ b/readme.md @@ -1,5 +1,52 @@ -просто шаблон для репозиториев +[![GitHub issues](https://img.shields.io/github/issues/DevCraftClub/dle_faker.svg?style=flat-square)](https://github.com/DevCraftClub/dle_faker/issues)[![GitHub forks](https://img.shields.io/github/forks/DevCraftClub/dle_faker.svg?style=flat-square)](https://github.com/DevCraftClub/dle_faker/network)[![GitHub license](https://img.shields.io/github/license/DevCraftClub/dle_faker.svg?style=flat-square)](https://github.com/DevCraftClub/dle_faker/blob/master/LICENSE) +# DLE Faker -1. Обновить значения в manifest.json -2. Удалить, если нет файлов локализации, файл crowdin.yml -3. Если не нужен скрипт обновления readme.md, то удаляем из .github/workflows/update-readme.yml +![Текущая версия](https://img.shields.io/github/manifest-json/v/DevCraftClub/dle_faker/main?style=for-the-badge&label=%D0%92%D0%B5%D1%80%D1%81%D0%B8%D1%8F)![Статус разработки](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2FDevCraftClub%2Fdle_faker%2Frefs%2Fheads%2Fmain%2Fmanifest.json&query=%24.status&style=for-the-badge&label=%D0%A1%D1%82%D0%B0%D1%82%D1%83%D1%81&color=orange) + +![Версия DLE](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2FDevCraftClub%2Fdle_faker%2Frefs%2Fheads%2Fmain%2Fmanifest.json&query=%24.dle&style=for-the-badge&label=DLE)![Версия PHP](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2FDevCraftClub%2Fdle_faker%2Frefs%2Fheads%2Fmain%2Fmanifest.json&query=%24.php&style=for-the-badge&logo=php&logoColor=777BB4&label=PHP&color=777BB4)![Версия MHAdmin](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2FDevCraftClub%2Fdle_faker%2Frefs%2Fheads%2Fmain%2Fmanifest.json&query=%24.mhadmin&style=for-the-badge&label=MH-ADMIN&color=red) + +DLE Faker - лагин, что позволяет вам генерировать случайные данные для DLE. На данный момент поддерживаются следующие компоненты: новости и пользователи. + +## **Установка / Обновление** + +**У вас три варианта для установки:** + +### 1. **При помощи bat-Скрипта. Для пользователей Windows** + +Для этого устанавливаем [7Zip](https://www.7-zip.org/download.html). +После установки запускаем скрипт install_archive.bat. +После завершения установки - загружаем install.zip в менеджер плагинов. + +### 2. **При помощи sh-Скрипта. Для пользователей Linux/MacOS** + +1. Устанавливаем права +```bash +chmod +x install_archive.sh +``` +2. Запускаем скрипт +```bash +./install_archive.sh +``` +3. Устанавливаем плагин через менеджер плагинов + +### 3. **Упаковать самому** + +Любым архиватором запаковать всё содержимое в папке upload (нужен формат zip!), причём так, чтобы в корне архива был +файл install.xml и папка engine. +Затем устанавливаем архив через менеджер плагинов. + +### 4. **Просто залить** + +Залейте папку engine в корень сайта и установите плагин через менеджер плагинов. + +### 5. **Установка зависимостей** (Опционально) + +Если в ходе использования выскочит ошибка связанная с `Faker` или / и `Faker\Factory` - установите зависимости через [композер](https://readme.devcraft.club/latest/dev/composer/). + +Нужно установить следующую зависимость: + +```bash +composer require fakerphp/faker +``` + +В теории она должна прописаться через файл `init.php`. diff --git a/upload/engine/ajax/maharder/dle_faker/generator_create_post.php b/upload/engine/ajax/maharder/dle_faker/generator_create_post.php index 121b382..f30fc54 100644 --- a/upload/engine/ajax/maharder/dle_faker/generator_create_post.php +++ b/upload/engine/ajax/maharder/dle_faker/generator_create_post.php @@ -20,7 +20,7 @@ if (!$inputData['template']) { echo (new ErrorResponseAjax()) - ->setData([__('dle_faker', 'Шаблон не может быть пустым')])->setMeta(['template'])->send(); + ->setData([__('Шаблон не может быть пустым')])->setMeta(['template'])->send(); exit; } if (!$inputData['count']) $inputData['count'] = 1; @@ -29,7 +29,7 @@ $templateData = $MHDB->get(FakerTemplate::class, $inputData['template']); if (!$templateData) { - echo (new ErrorResponseAjax(404))->setData([__('dle_faker', 'Такого шаблона не существует')])->send(); + echo (new ErrorResponseAjax(404))->setData([__('Такого шаблона не существует')])->send(); exit; } @@ -37,6 +37,16 @@ $parse = new ParseFilter(); + if (empty($fakerConfig['users'])) { + echo (new ErrorResponseAjax())->setData([__("Не проставлена настройка для автора новости!")])->send(); + exit; + } + + if (empty($fakerConfig['categories'])) { + echo (new ErrorResponseAjax())->setData([__("Не проставлена настройка для категорий!")])->send(); + exit; + } + $title = $parse->process( filter_var(parseNewsValues($template['title']), FILTER_SANITIZE_FULL_SPECIAL_CHARS) ); @@ -52,15 +62,10 @@ $date_to = !empty($template['date_to_alt']) ? $template['date_to_alt'] : $template['date_to']; $date = getRandomDateBetween(parseNewsValues($date_from), parseNewsValues($date_to)); - $short_story = $parse->process( - filter_var(parseNewsValues($template['short_story']), FILTER_SANITIZE_FULL_SPECIAL_CHARS) - ); - $full_story = $parse->process( - filter_var(parseNewsValues($template['full_story']), FILTER_SANITIZE_FULL_SPECIAL_CHARS) - ); - if (empty($full_story)) $full_story = $short_story; - + $short_story = $parse->process(parseNewsValues($template['short_story'])); + $full_story = $parse->process(parseNewsValues($template['full_story'])); + if (empty($full_story)) $full_story = $short_story; $xfields = []; @@ -89,7 +94,7 @@ do { // Используем подготовленные запросы для повышения безопасности - $stmt = $db->query("SELECT id FROM " . PREFIX . "_post WHERE alt_name = '" . $db->safesql($alt_name) . "'"); + $stmt = $db->query("SELECT id FROM " . PREFIX . "_post WHERE alt_name = '{$db->safesql($alt_name)}'"); $foundNews = $db->get_row($stmt); @@ -114,12 +119,12 @@ $catalog_url = $config['create_catalog'] ? $db->safesql( dle_substr( htmlspecialchars( strip_tags( stripslashes( $title ) ), ENT_QUOTES, 'UTF-8' ), 0, 1 ) ) : ''; $user = $mh_admin->getUser($author); - $exclAuthor = [strval($author)]; + $exclAuthor = [(string) $author]; while (!$user) { $author = filter_var(getRandomValue(explode(',', $template['autor']), exclude: $exclAuthor), FILTER_VALIDATE_INT); $user = $mh_admin->getUser($author); - $exclAuthor[] = strval($author); + $exclAuthor[] = (string) $author; } try { @@ -150,7 +155,7 @@ } } $xfSearchWords = implode( ", ", $xfSearch ); - $db->query( "INSERT INTO " . PREFIX . "_xfsearch (news_id, tagname, tagvalue) VALUES {$xfSearchWords}" ); + if(!empty($xfSearchWords)) $db->query( "INSERT INTO " . PREFIX . "_xfsearch (news_id, tagname, tagvalue) VALUES {$xfSearchWords}" ); clear_cache( array('news_', 'tagscloud_', 'archives_', 'calendar_', 'topnews_', 'rss', 'stats') ); @@ -177,13 +182,28 @@ } catch (Exception $e) { echo (new ErrorResponseAjax())->setData([$e->getMessage()])->send(); + LogGenerator::generateLog( + 'DLE Faker', + 'ajax/generator_create_post/create_post', + $e->getMessage() + ); exit; } } catch (Exception $e) { echo (new ErrorResponseAjax())->setData([$e->getMessage()])->send(); + LogGenerator::generateLog( + 'DLE Faker', + 'ajax/generator_create_post/exception', + $e->getMessage() + ); } catch (Throwable $e) { echo (new ErrorResponseAjax())->setData([$e->getMessage()])->send(); + LogGenerator::generateLog( + 'DLE Faker', + 'ajax/generator_create_post/throwable', + $e->getMessage() + ); } -exit; \ No newline at end of file +exit; diff --git a/upload/engine/ajax/maharder/dle_faker/generator_create_user.php b/upload/engine/ajax/maharder/dle_faker/generator_create_user.php index 1c3a1dc..d04d3f1 100644 --- a/upload/engine/ajax/maharder/dle_faker/generator_create_user.php +++ b/upload/engine/ajax/maharder/dle_faker/generator_create_user.php @@ -23,21 +23,21 @@ $inputData = filter_var_array($parsedData, $filter); if (empty($inputData['name'])) { - echo (new ErrorResponseAjax())->setData([__('dle_faker', 'Шаблон для псевдонима не может быть пустым')]) + echo (new ErrorResponseAjax())->setData([__('Шаблон для псевдонима не может быть пустым')]) ->setMeta(['name']) ->send(); exit; } if (empty($inputData['email'])) { - echo (new ErrorResponseAjax())->setData([__('dle_faker', 'Шаблон для электронной почты не может быть пустым')]) + echo (new ErrorResponseAjax())->setData([__('Шаблон для электронной почты не может быть пустым')]) ->setMeta(['email']) ->send(); exit; } if (empty($inputData['password'])) { - echo (new ErrorResponseAjax())->setData([__('dle_faker', 'Шаблон для пароля не может быть пустым')]) + echo (new ErrorResponseAjax())->setData([__('Шаблон для пароля не может быть пустым')]) ->setMeta(['password']) ->send(); exit; @@ -79,19 +79,27 @@ ] )->send(); } else { - echo (new ErrorResponseAjax(404))->setData([__('dle_faker', 'Пользователь не был найден!')])->send(); + echo (new ErrorResponseAjax(404))->setData([__('Пользователь не был найден!')])->send(); } } elseif ($create_user === -1) { - echo (new ErrorResponseAjax())->setData([__('dle_faker', 'Псевдоним пользователя (:uname) уже занят!', [':uname' => $username])])->send(); + echo (new ErrorResponseAjax())->setData([__('Псевдоним пользователя (:uname) уже занят!', [':uname' => $username])])->send(); } elseif ($create_user === -2) { - echo (new ErrorResponseAjax())->setData([__('dle_faker', 'Электронная почта (:email) пользователя уже занята!', [':email' => $email])])->send(); + echo (new ErrorResponseAjax())->setData([__('Электронная почта (:email) пользователя уже занята!', [':email' => $email])])->send(); } elseif ($create_user === -3) { - echo (new ErrorResponseAjax())->setData([__('dle_faker', 'Электронная почта (:email) не подлежит нужному формату!', [':email' => $email])])->send(); + echo (new ErrorResponseAjax())->setData([__('Электронная почта (:email) не подлежит нужному формату!', [':email' => $email])])->send(); } elseif ($create_user === -4) { - echo (new ErrorResponseAjax())->setData([__('dle_faker', 'Установленной группы (:group) не существует!', [':group' => $usergroup])])->send(); + echo (new ErrorResponseAjax())->setData([__('Установленной группы (:group) не существует!', [':group' => $usergroup])])->send(); } } catch (Exception $e) { echo (new ErrorResponseAjax())->setData([$e->getMessage()])->send(); +<<<<<<< HEAD +======= + LogGenerator::generateLog( + 'DLE Faker', + 'ajax/generator_create_users', + $e->getMessage() + ); +>>>>>>> refs/remotes/origin/releases/173.1.0 } exit; \ No newline at end of file diff --git a/upload/engine/ajax/maharder/dle_faker/settings.php b/upload/engine/ajax/maharder/dle_faker/settings.php index 96e788c..460668f 100644 --- a/upload/engine/ajax/maharder/dle_faker/settings.php +++ b/upload/engine/ajax/maharder/dle_faker/settings.php @@ -23,14 +23,14 @@ if (empty($filteredData['language']) || $filteredData['language'] === 'site') $filteredData['language'] = MhTranslation::getLocale(); if(empty($filteredData['users'])) { - echo (new ErrorResponseAjax())->setData([__('mhadmin', 'Нужно указать хотя бы одного пользователя!')]) + echo (new ErrorResponseAjax())->setData([__('Нужно указать хотя бы одного пользователя!')]) ->setMeta(['users']) ->send(); exit; } if(empty($filteredData['categories'])) { - echo (new ErrorResponseAjax())->setData([__('mhadmin', 'Нужно указать хотя бы одну категорию!')]) + echo (new ErrorResponseAjax())->setData([__('Нужно указать хотя бы одну категорию!')]) ->setMeta(['categories']) ->send(); exit; @@ -41,9 +41,17 @@ file_put_contents($configFile, json_encode($filteredData, JSON_UNESCAPED_UNICODE)); clear_cache(); - echo (new SuccessResponseAjax())->setData([__('mhadmin', 'Настройки сохранены')])->send(); + echo (new SuccessResponseAjax())->setData([__('Настройки сохранены')])->send(); } catch (Exception $e) { - echo (new ErrorResponseAjax())->setData([__('mhadmin', 'Ошибка в сохранении настроек'), $e->getMessage()])->send(); + echo (new ErrorResponseAjax())->setData([__('Ошибка в сохранении настроек'), $e->getMessage()])->send(); +<<<<<<< HEAD +======= + LogGenerator::generateLog( + 'DLE Faker', + 'ajax/settings', + $e->getMessage() + ); +>>>>>>> refs/remotes/origin/releases/173.1.0 } exit; \ No newline at end of file diff --git a/upload/engine/ajax/maharder/dle_faker/templates_change_status.php b/upload/engine/ajax/maharder/dle_faker/templates_change_status.php index 0e74ec1..522c6a6 100644 --- a/upload/engine/ajax/maharder/dle_faker/templates_change_status.php +++ b/upload/engine/ajax/maharder/dle_faker/templates_change_status.php @@ -13,21 +13,21 @@ $id = filter_var($parsedData['id'], FILTER_VALIDATE_INT); if (!$id) { - echo (new ErrorResponseAjax())->setData([__('dle_faker', 'Некорректные данные: :data.', [':data' => 'id'])])->send(); + echo (new ErrorResponseAjax())->setData([__('Некорректные данные: :data.', [':data' => 'id'])])->send(); exit; } $template = $MHDB->get(FakerTemplate::class, $id); if (!$template) { - echo (new ErrorResponseAjax(404))->setData([__('dle_faker', 'Такого шаблона не существует!')])->send(); + echo (new ErrorResponseAjax(404))->setData([__('Такого шаблона не существует!')])->send(); exit; } try { $template->active = $method == 'activate_template'; $MHDB->update($template); - echo (new SuccessResponseAjax(201))->setData([$method == 'activate_template' ? __('dle_faker', 'Шаблон был включён') : __('dle_faker', 'Шаблон был выключён')])->send(); + echo (new SuccessResponseAjax(201))->setData([$method == 'activate_template' ? __('Шаблон был включён') : __('Шаблон был выключён')])->send(); } catch (Exception $e) { echo (new ErrorResponseAjax())->setData([$e->getMessage()])->send(); } diff --git a/upload/engine/ajax/maharder/dle_faker/templates_create.php b/upload/engine/ajax/maharder/dle_faker/templates_create.php index 308d534..0d387ef 100644 --- a/upload/engine/ajax/maharder/dle_faker/templates_create.php +++ b/upload/engine/ajax/maharder/dle_faker/templates_create.php @@ -38,27 +38,27 @@ if (empty($inputData['name'])) { echo (new ErrorResponseAjax()) - ->setData([__('dle_faker', 'Название шаблона не может быть пустым')])->setMeta(['name'])->send(); + ->setData([__('Название шаблона не может быть пустым')])->setMeta(['name'])->send(); exit; } if (empty($inputData['autor'])) { echo (new ErrorResponseAjax()) - ->setData([__('dle_faker', 'Автор не может быть пустым')])->setMeta(['autor'])->send(); + ->setData([__('Автор не может быть пустым')])->setMeta(['autor'])->send(); exit; } if (empty($inputData['title'])) { echo (new ErrorResponseAjax()) - ->setData([__('dle_faker', 'Заголовок не может быть пустым')])->setMeta(['title'])->send(); + ->setData([__('Заголовок не может быть пустым')])->setMeta(['title'])->send(); exit; } if (empty($inputData['category'])) { echo (new ErrorResponseAjax()) - ->setData([__('dle_faker', 'Категория не может быть пустой')])->setMeta(['category'])->send(); + ->setData([__('Категория не может быть пустой')])->setMeta(['category'])->send(); exit; } if (empty($inputData['short_story'])) { echo (new ErrorResponseAjax()) - ->setData([__('dle_faker', 'Короткое описание не может быть пустой')])->setMeta(['short_story'])->send(); + ->setData([__('Короткое описание не может быть пустой')])->setMeta(['short_story'])->send(); exit; } if (empty($inputData['allow_main'])) $inputData['allow_main'] = 'random'; @@ -89,18 +89,28 @@ if ($id) { $MHDB->update($template); echo (new SuccessResponseAjax(201)) - ->setData([__('dle_faker', 'Шаблон успешно изменен')])->setRedirect( + ->setData([__('Шаблон успешно изменен')])->setRedirect( $mh_admin->getDleUrl() . '?mod=dle_faker&sites=template' )->send(); } else { $MHDB->create($template); echo (new SuccessResponseAjax()) - ->setData([__('dle_faker', 'Шаблон успешно создан')])->setRedirect( + ->setData([__('Шаблон успешно создан')])->setRedirect( $mh_admin->getDleUrl() . '?mod=dle_faker&sites=template' )->send(); } } catch (Exception $e) { echo (new ErrorResponseAjax())->setData([$e->getMessage()])->send(); +<<<<<<< HEAD } -exit; \ No newline at end of file +exit; +======= + LogGenerator::generateLog( + 'DLE Faker', + 'ajax/templates_create', + $e->getMessage() + ); +} +exit; +>>>>>>> refs/remotes/origin/releases/173.1.0 diff --git a/upload/engine/ajax/maharder/dle_faker/templates_delete.php b/upload/engine/ajax/maharder/dle_faker/templates_delete.php index 3d21a47..42f6207 100644 --- a/upload/engine/ajax/maharder/dle_faker/templates_delete.php +++ b/upload/engine/ajax/maharder/dle_faker/templates_delete.php @@ -13,14 +13,25 @@ $id = filter_var($parsedData['id'], FILTER_VALIDATE_INT); if (!$id) { - echo (new ErrorResponseAjax())->setData([__('dle_faker', 'Некорректные данные: :data.', [':data' => 'id'])])->send(); + echo (new ErrorResponseAjax())->setData([__('Некорректные данные: :data.', [':data' => 'id'])])->send(); exit; } try { $template = $MHDB->delete(FakerTemplate::class, $id); - echo (new SuccessResponseAjax(201))->setData([$method == 'activate_template' ? __('dle_faker', 'Шаблон был включён') : __('dle_faker', 'Шаблон был выключён')])->send(); +<<<<<<< HEAD + echo (new SuccessResponseAjax(201))->setData([$method == 'activate_template' ? __('Шаблон был включён') : __('Шаблон был выключён')])->send(); } catch (Exception $e) { echo (new ErrorResponseAjax())->setData([$e->getMessage()])->send(); +======= + echo (new SuccessResponseAjax(201))->setData([__('Шаблон удалён')])->send(); +} catch (Exception $e) { + echo (new ErrorResponseAjax())->setData([$e->getMessage()])->send(); + LogGenerator::generateLog( + 'DLE Faker', + 'ajax/templates_delete', + $e->getMessage() + ); +>>>>>>> refs/remotes/origin/releases/173.1.0 } exit; \ No newline at end of file diff --git a/upload/engine/inc/dle_faker.php b/upload/engine/inc/dle_faker.php index 01bb00e..e5fa92d 100755 --- a/upload/engine/inc/dle_faker.php +++ b/upload/engine/inc/dle_faker.php @@ -20,10 +20,10 @@ $modInfo = [ 'module_name' => 'DLE Faker', - 'module_version' => '173.1.0', + 'module_version' => '180.1.2', 'module_description' => __('dle_faker', 'Генерирует случайные данные для наполнения сайта'), 'module_code' => 'dle_faker', - 'module_id' => 4, + 'module_id' => 29, 'module_icon' => 'engine/inc/maharder/_modules/dle_faker/assets/icon.png', 'site_link' => 'https://devcraft.club', 'docs_link' => 'https://readme.devcraft.club', diff --git a/upload/engine/inc/maharder/_locales/en_US/dle_faker.xliff b/upload/engine/inc/maharder/_locales/en_US/dle_faker.xliff index c312d15..9f0a431 100644 --- a/upload/engine/inc/maharder/_locales/en_US/dle_faker.xliff +++ b/upload/engine/inc/maharder/_locales/en_US/dle_faker.xliff @@ -4,6 +4,7 @@ Псевдоним пользователя +<<<<<<< HEAD User Pseudonym @@ -249,6 +250,253 @@ Изменить Modify +======= + Template name + + + Полное имя пользователя + Specify a unique name for the template + + + Электронная почта пользователя + Activate template + + + Группа пользователя + With this option enabled, you can use this template to create a news item + + + Пароль + The author of the news story + + + Кол-во пользователей + Using tags, fill in the template. Or specify author ID + + + Генерировать + News headline + + + Сводка информации + Using tags, fill in the template for the news headline. + + + Кол-во объектов + News Category + + + Прогресс + Using tags, fill in the template for the news category. Or specify category IDs + + + Ожидаем начала... + Date of publication, beginning + + + Вывод + Specify the start date for the random value + + + Начать обработку + Date of publication, end + + + Отмена / Закрыть + Specify the end date for the random value + + + Обработано {value} из {total} + Summary + + + Название шаблона + Generate a description using the generation tags + + + Укажите уникальное название для шаблона + Full Content + + + Активировать шаблон + Additional field: + + + Автор новости + Content for the field + + + Используя теги заполните шаблон. Либо укажите ID автора + Enable + + + Заголовок новости + Off + + + Используя теги заполните шаблон для заголовка новости. + Accidentally + + + Категория новости + The following parameters will be considered: + + + Используя теги заполните шаблон для категории новости. Либо укажите ID категорий + <div class="item"><b>Disable</b> - Option disables option</div> + + + Дата публикации, начало + ><b>Disable</b> - Option disables the option</div> + + + Укажите начальную дату для случайного значения + ><b>Random</b> - Programmatically decides whether to enable the option or not</div><br><i>Default: Random</i> + + + Дата публикации, начало (Альтернатива) + Publish on the main page + + + Укажите начальную дату для случайного значения. Если значение указано, то значение выше не будет учитываться. Разрешены теги. Если Теги не будут соответствовать положенным, то это поле будет не действительным. + Publish the news on the website + + + Дата публикации, конец + Record the news + + + Укажите конечную дату для случайного значения + Allow comments + + + Дата публикации, конец (Альтернатива) + Allow article rating + + + Укажите конечную дату для случайного значения. Если значение указано, то значение выше не будет учитываться. Разрешены теги. Если Теги не будут соответствовать положенным, то это поле будет не действительным. + Prohibit indexing for search engines + + + Краткое содержание + Exclude from site search + + + Сгенерируйте описание используя теги генерации + Publish news in RSS feed + + + Полное содержание + Use in Yandex Turbo + + + Дополнительное поле: + Use in Yandex Zen + + + <b class="ui warning text">!!!ИЗОБРАЖЕНИЯ, ФАЙЛЫ, АУДИО, ВИДЕО и ПРОЧИЕ ВЛОЖЕНИЯ НЕ ПОДДЕРЖИВАЮТСЯ!!!</b><br>Содержимое для поля + Save + + + Включить + Everything's great! + + + Выключить + The data has been saved! + + + Случайно + template + + + Следующие параметры будут учитываться: + template + + + <div class="item"><b>Включить</b> - Опция включает опцию</div> + templates + + + <div class="item"><b>Выключить</b> - Опция выключает опцию</div> + Title + + + <div class="item"><b>Случайно</b> - Программно решает, включить опцию или нет</div><br><i>По умолчанию: Случайно</i> + Is it on? + + + Публиковать на главной + Action selection + + + Опубликовать новость на сайте + Modify + + + Зафиксировать новость + Delete + + + Разрешить комментарии + Disconnect + + + Разрешить рейтинг статьи + Settings + + + Запретить индексацию для поисковиков + Active + + + Исключить из поиска по сайту + Creating a new template + + + Опубликовать новость в RSS потоке + Module settings + + + Использовать в Яндекс Турбо + Main release + + + Использовать в Яндекс Дзен + Change history + + + Сохранить + The name of the template cannot be empty + + + Всё отлично! + An author can't be blank + + + Данные были сохранены! + The header cannot be blank + + + шаблон + A category cannot be empty + + + Название + A short description can't be empty + + + Включён? + The template was successfully created + + + Выбор действия + There is no such template! + + + Изменить + The template was included +>>>>>>> refs/remotes/origin/releases/173.1.0 Удалить @@ -264,7 +512,11 @@ Теги для генерации пользователей +<<<<<<< HEAD Tags for user generation +======= + Tags for generating users +>>>>>>> refs/remotes/origin/releases/173.1.0 Тег @@ -280,7 +532,11 @@ Вспомогательные теги, которые доступны для всех генераторов +<<<<<<< HEAD Additional tags available for all generators +======= + Auxiliary tags that are available for all generators +>>>>>>> refs/remotes/origin/releases/173.1.0 Настройки @@ -296,7 +552,11 @@ Список категорий +<<<<<<< HEAD Category list +======= + List of categories +>>>>>>> refs/remotes/origin/releases/173.1.0 Количество категорий @@ -308,7 +568,11 @@ Кол-во новостей +<<<<<<< HEAD Number of news +======= + Number of news items +>>>>>>> refs/remotes/origin/releases/173.1.0 Генератор новостей @@ -316,6 +580,7 @@ Генерация новостей на основе шаблонов +<<<<<<< HEAD News generation based on templates @@ -329,6 +594,21 @@ Генерация случайных пользователей Random user generation +======= + Generating news based on templates + + + Перейти + Go to + + + Генератор пользователей + User Generator + + + Генерация случайных пользователей + Generation of random users +>>>>>>> refs/remotes/origin/releases/173.1.0 Случайный псевдоним, пример: coolcat123 @@ -352,6 +632,7 @@ Фамилия, пример: Волков +<<<<<<< HEAD Last name, example: Volkov @@ -361,6 +642,17 @@ Мужское обращение, пример: Господин. В русском нет аналога для Mr. Male salutation, example: Mister. There is no equivalent for Mr. in Russian. +======= + Surname, example: Volkov + + + Суффикс, пример: Мл. + Suffix, example: ml. + + + Мужское обращение, пример: Господин. В русском нет аналога для Mr. + Male address, example: Mr. In Russian there is no equivalent for Mr. +>>>>>>> refs/remotes/origin/releases/173.1.0 Генерирует строку, содержащую случайное одно слово. @@ -372,7 +664,11 @@ Параметр max указывает количество символов. +<<<<<<< HEAD The parameter max indicates the number of characters. +======= + The max parameter specifies the number of characters. +>>>>>>> refs/remotes/origin/releases/173.1.0 Генерирует случайную дату и время @@ -392,6 +688,7 @@ Генерирует случайное целое число от 0 до 9. +<<<<<<< HEAD Generates a random whole number from 0 to 9. @@ -401,6 +698,17 @@ Параметр min задаёт нижнюю границу. The parameter min sets the lower boundary. +======= + Generates a random integer from 0 to 9. + + + Генерирует случайное число с плавающей запятой + Generates a random floating point number + + + Параметр min задаёт нижнюю границу. + The min parameter sets the lower limit. +>>>>>>> refs/remotes/origin/releases/173.1.0 Параметр max задаёт верхнюю границу. @@ -770,6 +1078,93 @@ Такого шаблона не существует There is no such template +<<<<<<< HEAD +======= + + Страница %page% + Page %page% + + + Редактирование шаблона: :name + Template edit: :name + + + Генерирует случайное значение да или нет (true / false) + Generates a random yes or no value (true / false) + + + Генерирует случайное целое число, содержащее от 0 до nums цифр. + Generates a random integer containing 0 to nums digits. + + + Когда параметр strict установлен в значение true, функция будет возвращать только целые числа, содержащие ровно nums цифр. + When the strict parameter is set to true, the function will only return integers containing exactly nums digits. + + + Генерирует случайное целое число от 0 до 9, исключая заданное число. + Generates a random integer from 0 to 9, excluding the given number. + + + Параметр float отвечает за количество десятичных знаков. + The float parameter is responsible for the number of decimal places. + + + Генерирует случайное целое число в диапазоне от min до max. По умолчанию генерируется число в диапазоне от 0 до 2 147 483 647. + Generates a random integer in the range from min to max. By default, a number between 0 and 2,147,483,647 is generated. + + + Возвращает случайный элемент из заданного массива, итерируемого объекта или перечисления. По умолчанию параметр $count установлен в 1, а если передано значение null, возвращается случайное количество элементов.<br>Массив должен быть простым без дополнительных ковычек. + Returns a random element from the given array, iterated object or enumeration. By default, the $count parameter is set to 1, and if null is passed, a random number of elements is returned.<br>The array must be simple without additional quotation marks. + + + Параметр count установлен в 1, а если передано значение null, возвращается случайное количество элементов. + The count parameter is set to 1, and if passed a value of null, a random number of items is returned. + + + Параметр connector установлен на _. Он отвечает за объединение элементов списка. + The connector parameter is set to _. It is responsible for connecting the list elements. + + + Выбирает случайного пользователя, указанного в настройках. Настроек по умолчанию нет, поэтому их нужно сохранить! + Selects a random user specified in the settings. There are no default settings, so you must save them! + + + Выбирает случайную категорию, указанную в настройках. Настроек по умолчанию нет, поэтому их нужно сохранить! + Selects a random category specified in the settings. There are no default settings, so you need to save them! + + + Генерирует строку, содержащую случайные предложения. Параметр max устанавливает кол-во + Generates a string containing random sentences. The max parameter sets the number of + + + Генерирует абзац текста, содержащий заданное количество предложений. По умолчанию генерируется 3 предложения. + Generates a paragraph of text containing the specified number of sentences. By default, 3 sentences are generated. + + + Параметр max указывает сколько предложений генерировать. По умолчанию: 3 + The max parameter specifies how many sentences to generate. Default: 3 + + + Генерирует случайную текстовую строку. Первый параметр задаёт максимальное количество символов, которое должна содержать строка (по умолчанию 200). + Generates a random text string. The first parameter specifies the maximum number of characters the string should contain (default is 200). + + + Генерирует случайную дату и время со своим форматированием. + Generates a random date and time with its own formatting. + + + Обращение, пример: Госпожа или Девушка. В русском нет аналога для Ms. или Mrs. + Address, example: Mistress or Girl. There is no equivalent in Russian for Ms. or Mrs. + + + Женское обращение, пример: Госпожа или Девушка. В русском нет аналога для Ms. или Mrs. + Feminine address, example: Mistress or Girl. There is no equivalent in Russian for Ms. or Mrs. + + + Случайная электронная почта, пример: walter.sophia@hotmail.com. Связи с именем никакой нет! + Random email, example: walter.sophia@hotmail.com. There is no connection to the name! + +>>>>>>> refs/remotes/origin/releases/173.1.0 diff --git a/upload/engine/inc/maharder/_locales/ru_RU/dle_faker.xliff b/upload/engine/inc/maharder/_locales/ru_RU/dle_faker.xliff index 5285e2a..fcf6361 100644 --- a/upload/engine/inc/maharder/_locales/ru_RU/dle_faker.xliff +++ b/upload/engine/inc/maharder/_locales/ru_RU/dle_faker.xliff @@ -1,859 +1,2 @@ - - - - - - Псевдоним пользователя - Псевдоним пользователя - - - Полное имя пользователя - Полное имя пользователя - - - Электронная почта пользователя - Электронная почта пользователя - - - Группа пользователя - Группа пользователя - - - Пароль - Пароль - - - Кол-во пользователей - Кол-во пользователей - - - Генерировать - Генерировать - - - Сводка информации - Сводка информации - - - Кол-во объектов - Кол-во объектов - - - Прогресс - Прогресс - - - Ожидаем начала... - Ожидаем начала... - - - Вывод - Вывод - - - Начать обработку - Начать обработку - - - Отмена / Закрыть - Отмена / Закрыть - - - Обработано {value} из {total} - Обработано {value} из {total} - - - Название шаблона - Название шаблона - - - Укажите уникальное название для шаблона - Укажите уникальное название для шаблона - - - Активировать шаблон - Активировать шаблон - - - Автор новости - Автор новости - - - Используя теги заполните шаблон. Либо укажите ID автора - Используя теги заполните шаблон. Либо укажите ID автора - - - Заголовок новости - Заголовок новости - - - Используя теги заполните шаблон для заголовка новости. - Используя теги заполните шаблон для заголовка новости. - - - Категория новости - Категория новости - - - Используя теги заполните шаблон для категории новости. Либо укажите ID категорий - Используя теги заполните шаблон для категории новости. Либо укажите ID категорий - - - Дата публикации, начало - Дата публикации, начало - - - Укажите начальную дату для случайного значения - Укажите начальную дату для случайного значения - - - Дата публикации, начало (Альтернатива) - Дата публикации, начало (Альтернатива) - - - Укажите начальную дату для случайного значения. Если значение указано, то значение выше не будет учитываться. Разрешены теги. Если Теги не будут соответствовать положенным, то это поле будет не действительным. - Укажите начальную дату для случайного значения. Если значение указано, то значение выше не будет учитываться. Разрешены теги. Если Теги не будут соответствовать положенным, то это поле будет не действительным. - - - Дата публикации, конец - Дата публикации, конец - - - Укажите конечную дату для случайного значения - Укажите конечную дату для случайного значения - - - Дата публикации, конец (Альтернатива) - Дата публикации, конец (Альтернатива) - - - Укажите конечную дату для случайного значения. Если значение указано, то значение выше не будет учитываться. Разрешены теги. Если Теги не будут соответствовать положенным, то это поле будет не действительным. - Укажите конечную дату для случайного значения. Если значение указано, то значение выше не будет учитываться. Разрешены теги. Если Теги не будут соответствовать положенным, то это поле будет не действительным. - - - Краткое содержание - Краткое содержание - - - Сгенерируйте описание используя теги генерации - Сгенерируйте описание используя теги генерации - - - Полное содержание - Полное содержание - - - Дополнительное поле: - Дополнительное поле: - - - <b class="ui warning text">!!!ИЗОБРАЖЕНИЯ, ФАЙЛЫ, АУДИО, ВИДЕО и ПРОЧИЕ ВЛОЖЕНИЯ НЕ ПОДДЕРЖИВАЮТСЯ!!!</b><br>Содержимое для поля - <b class="ui warning text">!!!ИЗОБРАЖЕНИЯ, ФАЙЛЫ, АУДИО, ВИДЕО и ПРОЧИЕ ВЛОЖЕНИЯ НЕ ПОДДЕРЖИВАЮТСЯ!!!</b><br>Содержимое для поля - - - Включить - Включить - - - Выключить - Выключить - - - Случайно - Случайно - - - Следующие параметры будут учитываться: - Следующие параметры будут учитываться: - - - <div class="item"><b>Включить</b> - Опция включает опцию</div> - <div class="item"><b>Включить</b> - Опция включает опцию</div> - - - <div class="item"><b>Выключить</b> - Опция выключает опцию</div> - <div class="item"><b>Выключить</b> - Опция выключает опцию</div> - - - <div class="item"><b>Случайно</b> - Программно решает, включить опцию или нет</div><br><i>По умолчанию: Случайно</i> - <div class="item"><b>Случайно</b> - Программно решает, включить опцию или нет</div><br><i>По умолчанию: Случайно</i> - - - Публиковать на главной - Публиковать на главной - - - Опубликовать новость на сайте - Опубликовать новость на сайте - - - Зафиксировать новость - Зафиксировать новость - - - Разрешить комментарии - Разрешить комментарии - - - Разрешить рейтинг статьи - Разрешить рейтинг статьи - - - Запретить индексацию для поисковиков - Запретить индексацию для поисковиков - - - Исключить из поиска по сайту - Исключить из поиска по сайту - - - Опубликовать новость в RSS потоке - Опубликовать новость в RSS потоке - - - Использовать в Яндекс Турбо - Использовать в Яндекс Турбо - - - Использовать в Яндекс Дзен - Использовать в Яндекс Дзен - - - Сохранить - Сохранить - - - Всё отлично! - Всё отлично! - - - Данные были сохранены! - Данные были сохранены! - - - шаблон - шаблон - - - Название - Название - - - Включён? - Включён? - - - Выбор действия - Выбор действия - - - Изменить - Изменить - - - Удалить - Удалить - - - Отключить - Отключить - - - Создать - Создать - - - Теги для генерации пользователей - Теги для генерации пользователей - - - Тег - Тег - - - Описание - Описание - - - Теги для генерации новостей - Теги для генерации новостей - - - Вспомогательные теги, которые доступны для всех генераторов - Вспомогательные теги, которые доступны для всех генераторов - - - Настройки - Настройки - - - Язык генерации - Язык генерации - - - Список пользователей - Список пользователей - - - Список категорий - Список категорий - - - Количество категорий - Количество категорий - - - Шаблон - Шаблон - - - Кол-во новостей - Кол-во новостей - - - Генератор новостей - Генератор новостей - - - Генерация новостей на основе шаблонов - Генерация новостей на основе шаблонов - - - Перейти - Перейти - - - Генератор пользователей - Генератор пользователей - - - Генерация случайных пользователей - Генерация случайных пользователей - - - Случайный псевдоним, пример: coolcat123 - Случайный псевдоним, пример: coolcat123 - - - Полное имя, пример: Проф. Артём Волков - Полное имя, пример: Проф. Артём Волков - - - Имя, пример: Артём - Имя, пример: Артём - - - Мужское имя, пример: Артём - Мужское имя, пример: Артём - - - Женское имя, пример: Анна - Женское имя, пример: Анна - - - Фамилия, пример: Волков - Фамилия, пример: Волков - - - Суффикс, пример: Мл. - Суффикс, пример: Мл. - - - Мужское обращение, пример: Господин. В русском нет аналога для Mr. - Мужское обращение, пример: Господин. В русском нет аналога для Mr. - - - Генерирует строку, содержащую случайное одно слово. - Генерирует строку, содержащую случайное одно слово. - - - Генерирует строку, содержащую случайное предложение. - Генерирует строку, содержащую случайное предложение. - - - Параметр max указывает количество символов. - Параметр max указывает количество символов. - - - Генерирует случайную дату и время - Генерирует случайную дату и время - - - Зависимости не были установлены! - Зависимости не были установлены! - - - Установите их при помощи консоли сами! PHP должен быть выполняемым! - Установите их при помощи консоли сами! PHP должен быть выполняемым! - - - Генерирует случайный эмодзи - Генерирует случайный эмодзи - - - Генерирует случайное целое число от 0 до 9. - Генерирует случайное целое число от 0 до 9. - - - Генерирует случайное число с плавающей запятой - Генерирует случайное число с плавающей запятой - - - Параметр min задаёт нижнюю границу. - Параметр min задаёт нижнюю границу. - - - Параметр max задаёт верхнюю границу. - Параметр max задаёт верхнюю границу. - - - Генерирует случайный символ из алфавита. - Генерирует случайный символ из алфавита. - - - Как админка MH Admin - Как админка MH Admin - - - Арабский [Arabic (Saudi Arabia)] - Арабский [Arabic (Saudi Arabia)] - - - Болгарский [Bulgarian (Bulgaria)] - Болгарский [Bulgarian (Bulgaria)] - - - Бангла [Bangla (Bangladesh)] - Бангла [Bangla (Bangladesh)] - - - Чешский [Czech (Czech Republic)] - Чешский [Czech (Czech Republic)] - - - Датский [Danish (Denmark)] - Датский [Danish (Denmark)] - - - Немецкий [German (Austria)] - Немецкий [German (Austria)] - - - Немецкий [German (Switzerland)] - Немецкий [German (Switzerland)] - - - Немецкий [German (Germany)] - Немецкий [German (Germany)] - - - Греческий [Greek (Cyprus)] - Греческий [Greek (Cyprus)] - - - Греческий [Greek (Greece)] - Греческий [Greek (Greece)] - - - Английский [English (Australia)] - Английский [English (Australia)] - - - Английский [English (Canada)] - Английский [English (Canada)] - - - Английский [English (United Kingdom)] - Английский [English (United Kingdom)] - - - Английский [English (Hong Kong SAR China)] - Английский [English (Hong Kong SAR China)] - - - Английский [English (India)] - Английский [English (India)] - - - Английский [English (Nigeria)] - Английский [English (Nigeria)] - - - Английский [English (New Zealand)] - Английский [English (New Zealand)] - - - Английский [English (Philippines)] - Английский [English (Philippines)] - - - Английский [English (Singapore)] - Английский [English (Singapore)] - - - Английский [English (Uganda)] - Английский [English (Uganda)] - - - Английский [English (United States)] - Английский [English (United States)] - - - Английский [English (South Africa)] - Английский [English (South Africa)] - - - Испанский [Spanish (Spain)] - Испанский [Spanish (Spain)] - - - Испанский [Spanish (Peru)] - Испанский [Spanish (Peru)] - - - Испанский [Spanish (Venezuela)] - Испанский [Spanish (Venezuela)] - - - Персидский [Persian (Iran)] - Персидский [Persian (Iran)] - - - Финский [Finnish (Finland)] - Финский [Finnish (Finland)] - - - Французский [French (Belgium)] - Французский [French (Belgium)] - - - Французский [French (Canada)] - Французский [French (Canada)] - - - Французский [French (Switzerland)] - Французский [French (Switzerland)] - - - Французский [French (France)] - Французский [French (France)] - - - Иврит [Hebrew (Israel)] - Иврит [Hebrew (Israel)] - - - Хорватский [Croatian (Croatia)] - Хорватский [Croatian (Croatia)] - - - Венгерский [Hungarian (Hungary)] - Венгерский [Hungarian (Hungary)] - - - Индонезийский [Indonesian (Indonesia)] - Индонезийский [Indonesian (Indonesia)] - - - Исландский [Icelandic (Iceland)] - Исландский [Icelandic (Iceland)] - - - Итальянский [Italian (Switzerland)] - Итальянский [Italian (Switzerland)] - - - Итальянский [Italian (Italy)] - Итальянский [Italian (Italy)] - - - Японский [Japanese (Japan)] - Японский [Japanese (Japan)] - - - Корейский [Korean (South Korea)] - Корейский [Korean (South Korea)] - - - Литовский [Lithuanian (Lithuania)] - Литовский [Lithuanian (Lithuania)] - - - Латышский [Latvian (Latvia)] - Латышский [Latvian (Latvia)] - - - Норвежский [Norwegian (Norway)] - Норвежский [Norwegian (Norway)] - - - Голландский [Dutch (Belgium)] - Голландский [Dutch (Belgium)] - - - Голландский [Dutch (Netherlands)] - Голландский [Dutch (Netherlands)] - - - Польский [Polish (Poland)] - Польский [Polish (Poland)] - - - Португальский [Portuguese (Brazil)] - Португальский [Portuguese (Brazil)] - - - Португальский [Portuguese (Portugal)] - Португальский [Portuguese (Portugal)] - - - Румынский [Romanian (Romania)] - Румынский [Romanian (Romania)] - - - Русский [Russian (Russia)] - Русский [Russian (Russia)] - - - Словацкий [Slovak (Slovakia)] - Словацкий [Slovak (Slovakia)] - - - Словенский [Slovenian (Slovenia)] - Словенский [Slovenian (Slovenia)] - - - Сербский [Serbian (Serbia)] - Сербский [Serbian (Serbia)] - - - Шведский [Swedish (Sweden)] - Шведский [Swedish (Sweden)] - - - Турецкий [Turkish (Turkey)] - Турецкий [Turkish (Turkey)] - - - Украинский [Ukrainian (Ukraine)] - Украинский [Ukrainian (Ukraine)] - - - Вьетнамский [Vietnamese (Vietnam)] - Вьетнамский [Vietnamese (Vietnam)] - - - Китайский [Chinese (Simplified, China)] - Китайский [Chinese (Simplified, China)] - - - Китайский [Chinese (Traditional, Taiwan)] - Китайский [Chinese (Traditional, Taiwan)] - - - Шаблоны - Шаблоны - - - Активные - Активные - - - Создание нового шаблона - Создание нового шаблона - - - Доступные генераторы - Доступные генераторы - - - Настройки модуля - Настройки модуля - - - Основной релиз - Основной релиз - - - История изменений - История изменений - - - Перечень тегов для генерации данных - Перечень тегов для генерации данных - - - Генерирует случайные данные для наполнения сайта - Генерирует случайные данные для наполнения сайта - - - Генератор - Генератор - - - Теги - Теги - - - Нужно указать хотя бы одного пользователя! - Нужно указать хотя бы одного пользователя! - - - Нужно указать хотя бы одну категорию! - Нужно указать хотя бы одну категорию! - - - Настройки сохранены - Настройки сохранены - - - Ошибка в сохранении настроек - Ошибка в сохранении настроек - - - Шаблон для псевдонима не может быть пустым - Шаблон для псевдонима не может быть пустым - - - Шаблон для электронной почты не может быть пустым - Шаблон для электронной почты не может быть пустым - - - Шаблон для пароля не может быть пустым - Шаблон для пароля не может быть пустым - - - Пользователь не был найден! - Пользователь не был найден! - - - Название шаблона не может быть пустым - Название шаблона не может быть пустым - - - Автор не может быть пустым - Автор не может быть пустым - - - Заголовок не может быть пустым - Заголовок не может быть пустым - - - Категория не может быть пустой - Категория не может быть пустой - - - Короткое описание не может быть пустой - Короткое описание не может быть пустой - - - Шаблон успешно изменен - Шаблон успешно изменен - - - Шаблон успешно создан - Шаблон успешно создан - - - Такого шаблона не существует! - Такого шаблона не существует! - - - Шаблон был включён - Шаблон был включён - - - Шаблон не может быть пустым - Шаблон не может быть пустым - - - Такого шаблона не существует - Такого шаблона не существует - - - Страница %page% - Страница %page% - - - Редактирование шаблона: :name - Редактирование шаблона: :name - - - Генерирует случайное значение да или нет (true / false) - Генерирует случайное значение да или нет (true / false) - - - Генерирует случайное целое число, содержащее от 0 до nums цифр. - Генерирует случайное целое число, содержащее от 0 до nums цифр. - - - Когда параметр strict установлен в значение true, функция будет возвращать только целые числа, содержащие ровно nums цифр. - Когда параметр strict установлен в значение true, функция будет возвращать только целые числа, содержащие ровно nums цифр. - - - Генерирует случайное целое число от 0 до 9, исключая заданное число. - Генерирует случайное целое число от 0 до 9, исключая заданное число. - - - Параметр float отвечает за количество десятичных знаков. - Параметр float отвечает за количество десятичных знаков. - - - Генерирует случайное целое число в диапазоне от min до max. По умолчанию генерируется число в диапазоне от 0 до 2 147 483 647. - Генерирует случайное целое число в диапазоне от min до max. По умолчанию генерируется число в диапазоне от 0 до 2 147 483 647. - - - Возвращает случайный элемент из заданного массива, итерируемого объекта или перечисления. По умолчанию параметр $count установлен в 1, а если передано значение null, возвращается случайное количество элементов.<br>Массив должен быть простым без дополнительных ковычек. - Возвращает случайный элемент из заданного массива, итерируемого объекта или перечисления. По умолчанию параметр $count установлен в 1, а если передано значение null, возвращается случайное количество элементов.<br>Массив должен быть простым без дополнительных ковычек. - - - Параметр count установлен в 1, а если передано значение null, возвращается случайное количество элементов. - Параметр count установлен в 1, а если передано значение null, возвращается случайное количество элементов. - - - Параметр connector установлен на _. Он отвечает за объединение элементов списка. - Параметр connector установлен на _. Он отвечает за объединение элементов списка. - - - Выбирает случайного пользователя, указанного в настройках. Настроек по умолчанию нет, поэтому их нужно сохранить! - Выбирает случайного пользователя, указанного в настройках. Настроек по умолчанию нет, поэтому их нужно сохранить! - - - Выбирает случайную категорию, указанную в настройках. Настроек по умолчанию нет, поэтому их нужно сохранить! - Выбирает случайную категорию, указанную в настройках. Настроек по умолчанию нет, поэтому их нужно сохранить! - - - Генерирует строку, содержащую случайные предложения. Параметр max устанавливает кол-во - Генерирует строку, содержащую случайные предложения. Параметр max устанавливает кол-во - - - Генерирует абзац текста, содержащий заданное количество предложений. По умолчанию генерируется 3 предложения. - Генерирует абзац текста, содержащий заданное количество предложений. По умолчанию генерируется 3 предложения. - - - Параметр max указывает сколько предложений генерировать. По умолчанию: 3 - Параметр max указывает сколько предложений генерировать. По умолчанию: 3 - - - Генерирует случайную текстовую строку. Первый параметр задаёт максимальное количество символов, которое должна содержать строка (по умолчанию 200). - Генерирует случайную текстовую строку. Первый параметр задаёт максимальное количество символов, которое должна содержать строка (по умолчанию 200). - - - Генерирует случайную дату и время со своим форматированием. - Генерирует случайную дату и время со своим форматированием. - - - Обращение, пример: Госпожа или Девушка. В русском нет аналога для Ms. или Mrs. - Обращение, пример: Госпожа или Девушка. В русском нет аналога для Ms. или Mrs. - - - Женское обращение, пример: Госпожа или Девушка. В русском нет аналога для Ms. или Mrs. - Женское обращение, пример: Госпожа или Девушка. В русском нет аналога для Ms. или Mrs. - - - Случайная электронная почта, пример: walter.sophia@hotmail.com. Связи с именем никакой нет! - Случайная электронная почта, пример: walter.sophia@hotmail.com. Связи с именем никакой нет! - - - - + +Псевдоним пользователяПсевдоним пользователяПолное имя пользователяПолное имя пользователяЭлектронная почта пользователяЭлектронная почта пользователяГруппа пользователяГруппа пользователяПарольПарольКол-во пользователейКол-во пользователейГенерироватьГенерироватьСводка информацииСводка информацииКол-во объектовКол-во объектовПрогрессПрогрессОжидаем начала...Ожидаем начала...ВыводВыводНачать обработкуНачать обработкуОтмена / ЗакрытьОтмена / ЗакрытьОбработано {value} из {total}Обработано {value} из {total}Название шаблонаНазвание шаблонаУкажите уникальное название для шаблонаУкажите уникальное название для шаблонаАктивировать шаблонАктивировать шаблонАвтор новостиАвтор новостиИспользуя теги заполните шаблон. Либо укажите ID автораИспользуя теги заполните шаблон. Либо укажите ID автораЗаголовок новостиЗаголовок новостиИспользуя теги заполните шаблон для заголовка новости.Используя теги заполните шаблон для заголовка новости.Категория новостиКатегория новостиИспользуя теги заполните шаблон для категории новости. Либо укажите ID категорийИспользуя теги заполните шаблон для категории новости. Либо укажите ID категорийДата публикации, началоДата публикации, началоУкажите начальную дату для случайного значенияУкажите начальную дату для случайного значенияДата публикации, начало (Альтернатива)Дата публикации, начало (Альтернатива)Укажите начальную дату для случайного значения. Если значение указано, то значение выше не будет учитываться. Разрешены теги. Если Теги не будут соответствовать положенным, то это поле будет не действительным.Укажите начальную дату для случайного значения. Если значение указано, то значение выше не будет учитываться. Разрешены теги. Если Теги не будут соответствовать положенным, то это поле будет не действительным.Дата публикации, конецДата публикации, конецУкажите конечную дату для случайного значенияУкажите конечную дату для случайного значенияДата публикации, конец (Альтернатива)Дата публикации, конец (Альтернатива)Укажите конечную дату для случайного значения. Если значение указано, то значение выше не будет учитываться. Разрешены теги. Если Теги не будут соответствовать положенным, то это поле будет не действительным.Укажите конечную дату для случайного значения. Если значение указано, то значение выше не будет учитываться. Разрешены теги. Если Теги не будут соответствовать положенным, то это поле будет не действительным.Краткое содержаниеКраткое содержаниеСгенерируйте описание используя теги генерацииСгенерируйте описание используя теги генерацииПолное содержаниеПолное содержаниеДополнительное поле:Дополнительное поле:<b class="ui warning text">!!!ИЗОБРАЖЕНИЯ, ФАЙЛЫ, АУДИО, ВИДЕО и ПРОЧИЕ ВЛОЖЕНИЯ НЕ ПОДДЕРЖИВАЮТСЯ!!!</b><br>Содержимое для поля<b class="ui warning text">!!!ИЗОБРАЖЕНИЯ, ФАЙЛЫ, АУДИО, ВИДЕО и ПРОЧИЕ ВЛОЖЕНИЯ НЕ ПОДДЕРЖИВАЮТСЯ!!!</b><br>Содержимое для поляВключитьВключитьВыключитьВыключитьСлучайноСлучайноСледующие параметры будут учитываться:Следующие параметры будут учитываться:<div class="item"><b>Включить</b> - Опция включает опцию</div><div class="item"><b>Включить</b> - Опция включает опцию</div><div class="item"><b>Выключить</b> - Опция выключает опцию</div><div class="item"><b>Выключить</b> - Опция выключает опцию</div><div class="item"><b>Случайно</b> - Программно решает, включить опцию или нет</div><br><i>По умолчанию: Случайно</i><div class="item"><b>Случайно</b> - Программно решает, включить опцию или нет</div><br><i>По умолчанию: Случайно</i>Публиковать на главнойПубликовать на главнойОпубликовать новость на сайтеОпубликовать новость на сайтеЗафиксировать новостьЗафиксировать новостьРазрешить комментарииРазрешить комментарииРазрешить рейтинг статьиРазрешить рейтинг статьиЗапретить индексацию для поисковиковЗапретить индексацию для поисковиковИсключить из поиска по сайтуИсключить из поиска по сайтуОпубликовать новость в RSS потокеОпубликовать новость в RSS потокеИспользовать в Яндекс ТурбоИспользовать в Яндекс ТурбоИспользовать в Яндекс ДзенИспользовать в Яндекс ДзенСохранитьСохранитьВсё отлично!Всё отлично!Данные были сохранены!Данные были сохранены!шаблоншаблонНазваниеНазваниеВключён?Включён?Выбор действияВыбор действияИзменитьИзменитьУдалитьУдалитьОтключитьОтключитьСоздатьСоздатьТеги для генерации пользователейТеги для генерации пользователейТегТегОписаниеОписаниеТеги для генерации новостейТеги для генерации новостейВспомогательные теги, которые доступны для всех генераторовВспомогательные теги, которые доступны для всех генераторовНастройкиНастройкиЯзык генерацииЯзык генерацииСписок пользователейСписок пользователейСписок категорийСписок категорийКоличество категорийКоличество категорийШаблонШаблонКол-во новостейКол-во новостейГенератор новостейГенератор новостейГенерация новостей на основе шаблоновГенерация новостей на основе шаблоновПерейтиПерейтиГенератор пользователейГенератор пользователейГенерация случайных пользователейГенерация случайных пользователейСлучайный псевдоним, пример: coolcat123Случайный псевдоним, пример: coolcat123Полное имя, пример: Проф. Артём ВолковПолное имя, пример: Проф. Артём ВолковИмя, пример: АртёмИмя, пример: АртёмМужское имя, пример: АртёмМужское имя, пример: АртёмЖенское имя, пример: АннаЖенское имя, пример: АннаФамилия, пример: ВолковФамилия, пример: ВолковСуффикс, пример: Мл.Суффикс, пример: Мл.Мужское обращение, пример: Господин. В русском нет аналога для Mr.Мужское обращение, пример: Господин. В русском нет аналога для Mr.Генерирует строку, содержащую случайное одно слово.Генерирует строку, содержащую случайное одно слово.Генерирует строку, содержащую случайное предложение.Генерирует строку, содержащую случайное предложение.Параметр max указывает количество символов.Параметр max указывает количество символов.Генерирует случайную дату и времяГенерирует случайную дату и времяЗависимости не были установлены!Зависимости не были установлены!Установите их при помощи консоли сами! PHP должен быть выполняемым!Установите их при помощи консоли сами! PHP должен быть выполняемым!Генерирует случайный эмодзиГенерирует случайный эмодзиГенерирует случайное целое число от 0 до 9.Генерирует случайное целое число от 0 до 9.Генерирует случайное число с плавающей запятойГенерирует случайное число с плавающей запятойПараметр min задаёт нижнюю границу.Параметр min задаёт нижнюю границу.Параметр max задаёт верхнюю границу.Параметр max задаёт верхнюю границу.Генерирует случайный символ из алфавита.Генерирует случайный символ из алфавита.Как админка MH AdminКак админка MH AdminАрабский [Arabic (Saudi Arabia)]Арабский [Arabic (Saudi Arabia)]Болгарский [Bulgarian (Bulgaria)]Болгарский [Bulgarian (Bulgaria)]Бангла [Bangla (Bangladesh)]Бангла [Bangla (Bangladesh)]Чешский [Czech (Czech Republic)]Чешский [Czech (Czech Republic)]Датский [Danish (Denmark)]Датский [Danish (Denmark)]Немецкий [German (Austria)]Немецкий [German (Austria)]Немецкий [German (Switzerland)]Немецкий [German (Switzerland)]Немецкий [German (Germany)]Немецкий [German (Germany)]Греческий [Greek (Cyprus)]Греческий [Greek (Cyprus)]Греческий [Greek (Greece)]Греческий [Greek (Greece)]Английский [English (Australia)]Английский [English (Australia)]Английский [English (Canada)]Английский [English (Canada)]Английский [English (United Kingdom)]Английский [English (United Kingdom)]Английский [English (Hong Kong SAR China)]Английский [English (Hong Kong SAR China)]Английский [English (India)]Английский [English (India)]Английский [English (Nigeria)]Английский [English (Nigeria)]Английский [English (New Zealand)]Английский [English (New Zealand)]Английский [English (Philippines)]Английский [English (Philippines)]Английский [English (Singapore)]Английский [English (Singapore)]Английский [English (Uganda)]Английский [English (Uganda)]Английский [English (United States)]Английский [English (United States)]Английский [English (South Africa)]Английский [English (South Africa)]Испанский [Spanish (Spain)]Испанский [Spanish (Spain)]Испанский [Spanish (Peru)]Испанский [Spanish (Peru)]Испанский [Spanish (Venezuela)]Испанский [Spanish (Venezuela)]Персидский [Persian (Iran)]Персидский [Persian (Iran)]Финский [Finnish (Finland)]Финский [Finnish (Finland)]Французский [French (Belgium)]Французский [French (Belgium)]Французский [French (Canada)]Французский [French (Canada)]Французский [French (Switzerland)]Французский [French (Switzerland)]Французский [French (France)]Французский [French (France)]Иврит [Hebrew (Israel)]Иврит [Hebrew (Israel)]Хорватский [Croatian (Croatia)]Хорватский [Croatian (Croatia)]Венгерский [Hungarian (Hungary)]Венгерский [Hungarian (Hungary)]Индонезийский [Indonesian (Indonesia)]Индонезийский [Indonesian (Indonesia)]Исландский [Icelandic (Iceland)]Исландский [Icelandic (Iceland)]Итальянский [Italian (Switzerland)]Итальянский [Italian (Switzerland)]Итальянский [Italian (Italy)]Итальянский [Italian (Italy)]Японский [Japanese (Japan)]Японский [Japanese (Japan)]Корейский [Korean (South Korea)]Корейский [Korean (South Korea)]Литовский [Lithuanian (Lithuania)]Литовский [Lithuanian (Lithuania)]Латышский [Latvian (Latvia)]Латышский [Latvian (Latvia)]Норвежский [Norwegian (Norway)]Норвежский [Norwegian (Norway)]Голландский [Dutch (Belgium)]Голландский [Dutch (Belgium)]Голландский [Dutch (Netherlands)]Голландский [Dutch (Netherlands)]Польский [Polish (Poland)]Польский [Polish (Poland)]Португальский [Portuguese (Brazil)]Португальский [Portuguese (Brazil)]Португальский [Portuguese (Portugal)]Португальский [Portuguese (Portugal)]Румынский [Romanian (Romania)]Румынский [Romanian (Romania)]Русский [Russian (Russia)]Русский [Russian (Russia)]Словацкий [Slovak (Slovakia)]Словацкий [Slovak (Slovakia)]Словенский [Slovenian (Slovenia)]Словенский [Slovenian (Slovenia)]Сербский [Serbian (Serbia)]Сербский [Serbian (Serbia)]Шведский [Swedish (Sweden)]Шведский [Swedish (Sweden)]Турецкий [Turkish (Turkey)]Турецкий [Turkish (Turkey)]Украинский [Ukrainian (Ukraine)]Украинский [Ukrainian (Ukraine)]Вьетнамский [Vietnamese (Vietnam)]Вьетнамский [Vietnamese (Vietnam)]Китайский [Chinese (Simplified, China)]Китайский [Chinese (Simplified, China)]Китайский [Chinese (Traditional, Taiwan)]Китайский [Chinese (Traditional, Taiwan)]ШаблоныШаблоныАктивныеАктивныеСоздание нового шаблонаСоздание нового шаблонаДоступные генераторыДоступные генераторыНастройки модуляНастройки модуляОсновной релизОсновной релизИстория измененийИстория измененийПеречень тегов для генерации данныхПеречень тегов для генерации данныхГенерирует случайные данные для наполнения сайтаГенерирует случайные данные для наполнения сайтаГенераторГенераторТегиТегиНужно указать хотя бы одного пользователя!Нужно указать хотя бы одного пользователя!Нужно указать хотя бы одну категорию!Нужно указать хотя бы одну категорию!Настройки сохраненыНастройки сохраненыОшибка в сохранении настроекОшибка в сохранении настроекШаблон для псевдонима не может быть пустымШаблон для псевдонима не может быть пустымШаблон для электронной почты не может быть пустымШаблон для электронной почты не может быть пустымШаблон для пароля не может быть пустымШаблон для пароля не может быть пустымПользователь не был найден!Пользователь не был найден!Название шаблона не может быть пустымНазвание шаблона не может быть пустымАвтор не может быть пустымАвтор не может быть пустымЗаголовок не может быть пустымЗаголовок не может быть пустымКатегория не может быть пустойКатегория не может быть пустойКороткое описание не может быть пустойКороткое описание не может быть пустойШаблон успешно измененШаблон успешно измененШаблон успешно созданШаблон успешно созданТакого шаблона не существует!Такого шаблона не существует!Шаблон был включёнШаблон был включёнШаблон не может быть пустымШаблон не может быть пустымТакого шаблона не существуетТакого шаблона не существуетНе проставлена настройка для автора новости!Не проставлена настройка для автора новости!Не проставлена настройка для категорий!Не проставлена настройка для категорий!Псевдоним пользователя (:uname) уже занят!Псевдоним пользователя (:uname) уже занят!Электронная почта (:email) пользователя уже занята!Электронная почта (:email) пользователя уже занята!Электронная почта (:email) не подлежит нужному формату!Электронная почта (:email) не подлежит нужному формату!Установленной группы (:group) не существует!Установленной группы (:group) не существует!Некорректные данные: :data.Некорректные данные: :data.[FIX] Исправлена итерация в templates_create.html[FIX] Исправлена итерация в templates_create.html[FIX] Исправлены языковые функции[FIX] Исправлены языковые функции[UPDATE] В файле generator_create_post.php логика вставки данных в базу данных обновлена. Она будет исполняться только в случае, если $xfSearchWords не пуст[UPDATE] В файле generator_create_post.php логика вставки данных в базу данных обновлена. Она будет исполняться только в случае, если $xfSearchWords не пуст[UPDATE] В init.php управление зависимостями упрощено с целью сосредоточения на регистрации отсутствуюших зависимостей[UPDATE] В init.php управление зависимостями упрощено с целью сосредоточения на регистрации отсутствуюших зависимостей[UPDATE] HTML-шаблон изменен для улучшения обработки переменных в цикле templates_create.html.[UPDATE] HTML-шаблон изменен для улучшения обработки переменных в цикле templates_create.html.[FIX] Исправлена обработка данных при генерации новостей[FIX] Исправлена обработка данных при генерации новостей[FIX] Исправлен скрипт установки[FIX] Исправлен скрипт установкиРедактирование шаблона: :nameРедактирование шаблона: :nameГенерирует случайное значение да или нет (true / false)Генерирует случайное значение да или нет (true / false)Генерирует случайное целое число, содержащее от 0 до nums цифр.Генерирует случайное целое число, содержащее от 0 до nums цифр.Когда параметр strict установлен в значение true, функция будет возвращать только целые числа, содержащие ровно nums цифр.Когда параметр strict установлен в значение true, функция будет возвращать только целые числа, содержащие ровно nums цифр.Генерирует случайное целое число от 0 до 9, исключая заданное число.Генерирует случайное целое число от 0 до 9, исключая заданное число.Параметр float отвечает за количество десятичных знаков.Параметр float отвечает за количество десятичных знаков.Генерирует случайное целое число в диапазоне от min до max. По умолчанию генерируется число в диапазоне от 0 до 2 147 483 647.Генерирует случайное целое число в диапазоне от min до max. По умолчанию генерируется число в диапазоне от 0 до 2 147 483 647.Возвращает случайный элемент из заданного массива, итерируемого объекта или перечисления. По умолчанию параметр $count установлен в 1, а если передано значение null, возвращается случайное количество элементов.<br>Массив должен быть простым без дополнительных ковычек.Возвращает случайный элемент из заданного массива, итерируемого объекта или перечисления. По умолчанию параметр $count установлен в 1, а если передано значение null, возвращается случайное количество элементов.<br>Массив должен быть простым без дополнительных ковычек.Параметр count установлен в 1, а если передано значение null, возвращается случайное количество элементов.Параметр count установлен в 1, а если передано значение null, возвращается случайное количество элементов.Параметр connector установлен на _. Он отвечает за объединение элементов списка.Параметр connector установлен на _. Он отвечает за объединение элементов списка.Выбирает случайного пользователя, указанного в настройках. Настроек по умолчанию нет, поэтому их нужно сохранить!Выбирает случайного пользователя, указанного в настройках. Настроек по умолчанию нет, поэтому их нужно сохранить!Выбирает случайную категорию, указанную в настройках. Настроек по умолчанию нет, поэтому их нужно сохранить!Выбирает случайную категорию, указанную в настройках. Настроек по умолчанию нет, поэтому их нужно сохранить!Генерирует строку, содержащую случайное кол-во слов. Параметр max устанавливает кол-во.Генерирует строку, содержащую случайное кол-во слов. Параметр max устанавливает кол-во.Генерирует строку, содержащую случайные предложения. Параметр max устанавливает кол-воГенерирует строку, содержащую случайные предложения. Параметр max устанавливает кол-воГенерирует абзац текста, содержащий заданное количество предложений. По умолчанию генерируется 3 предложения.Генерирует абзац текста, содержащий заданное количество предложений. По умолчанию генерируется 3 предложения.Параметр max указывает сколько предложений генерировать. По умолчанию: 3Параметр max указывает сколько предложений генерировать. По умолчанию: 3Генерирует случайную текстовую строку. Первый параметр задаёт максимальное количество символов, которое должна содержать строка (по умолчанию 200).Генерирует случайную текстовую строку. Первый параметр задаёт максимальное количество символов, которое должна содержать строка (по умолчанию 200).Генерирует случайную дату и время со своим форматированием.Генерирует случайную дату и время со своим форматированием.Обращение, пример: Госпожа или Девушка. В русском нет аналога для Ms. или Mrs.Обращение, пример: Госпожа или Девушка. В русском нет аналога для Ms. или Mrs.Женское обращение, пример: Госпожа или Девушка. В русском нет аналога для Ms. или Mrs.Женское обращение, пример: Госпожа или Девушка. В русском нет аналога для Ms. или Mrs.Случайная электронная почта, пример: walter.sophia@hotmail.com. Связи с именем никакой нет!Случайная электронная почта, пример: walter.sophia@hotmail.com. Связи с именем никакой нет!Ошибка при обработке ошибки AJAX:Ошибка при обработке ошибки AJAX:Неизвестная ошибкаНеизвестная ошибка diff --git a/upload/engine/inc/maharder/_locales/uk_UA/dle_faker.xliff b/upload/engine/inc/maharder/_locales/uk_UA/dle_faker.xliff index bdcf923..6556fb3 100644 --- a/upload/engine/inc/maharder/_locales/uk_UA/dle_faker.xliff +++ b/upload/engine/inc/maharder/_locales/uk_UA/dle_faker.xliff @@ -16,6 +16,7 @@ Группа пользователя +<<<<<<< HEAD Група користувачів @@ -201,6 +202,193 @@ Запретить индексацию для поисковиков Заборонити індексацію для пошукових систем +======= + При увімкненому параметрі можна буде використовувати цей шаблон для створення новини + + + Пароль + Автор новини + + + Кол-во пользователей + Використовуючи теги, заповніть шаблон. Або вкажіть ID автора + + + Генерировать + Заголовок новини + + + Сводка информации + Використовуючи теги, заповніть шаблон для заголовка новини. + + + Кол-во объектов + Категорія новини + + + Прогресс + Використовуючи теги, заповніть шаблон для категорії новини. Або вкажіть ID категорій + + + Ожидаем начала... + Дата публікації, початок + + + Вывод + Вкажіть початкову дату для випадкового значення + + + Начать обработку + Дата публікації, кінець + + + Отмена / Закрыть + Вкажіть кінцеву дату для випадкового значення + + + Обработано {value} из {total} + Короткий зміст + + + Название шаблона + Згенеруйте опис, використовуючи теги генерації + + + Укажите уникальное название для шаблона + Повний зміст + + + Активировать шаблон + Додаткове поле: + + + Автор новости + Вміст для поля + + + Используя теги заполните шаблон. Либо укажите ID автора + Увімкнути + + + Заголовок новости + Вимкнути + + + Используя теги заполните шаблон для заголовка новости. + Випадково + + + Категория новости + Наступні параметри будуть враховуватися: + + + Используя теги заполните шаблон для категории новости. Либо укажите ID категорий + <div class="item"><b>Вимкнути</b> - Опція вимикає опцію</div> + + + Дата публикации, начало + ><b>Вимкнути</b> - Опція вимикає опцію</div> + + + Укажите начальную дату для случайного значения + ><b>Випадково</b> - Програмно вирішує, увімкнути опцію чи ні</div><br><i>За замовчуванням: Випадково</i> + + + Дата публикации, начало (Альтернатива) + Публікувати на головній + + + Укажите начальную дату для случайного значения. Если значение указано, то значение выше не будет учитываться. Разрешены теги. Если Теги не будут соответствовать положенным, то это поле будет не действительным. + Опублікувати новину на сайті + + + Дата публикации, конец + Зафіксувати новину + + + Укажите конечную дату для случайного значения + Дозволити коментарі + + + Дата публикации, конец (Альтернатива) + Дозволити рейтинг статті + + + Укажите конечную дату для случайного значения. Если значение указано, то значение выше не будет учитываться. Разрешены теги. Если Теги не будут соответствовать положенным, то это поле будет не действительным. + Заборонити індексацію для пошукових систем + + + Краткое содержание + Виключити з пошуку по сайту + + + Сгенерируйте описание используя теги генерации + Опублікувати новину в RSS потоці + + + Полное содержание + Використовувати в Яндекс Турбо + + + Дополнительное поле: + Використовувати в Яндекс Дзен + + + <b class="ui warning text">!!!ИЗОБРАЖЕНИЯ, ФАЙЛЫ, АУДИО, ВИДЕО и ПРОЧИЕ ВЛОЖЕНИЯ НЕ ПОДДЕРЖИВАЮТСЯ!!!</b><br>Содержимое для поля + Зберегти + + + Включить + Все чудово! + + + Выключить + Дані було збережено! + + + Случайно + шаблон + + + Следующие параметры будут учитываться: + шаблону + + + <div class="item"><b>Включить</b> - Опция включает опцию</div> + шаблонів + + + <div class="item"><b>Выключить</b> - Опция выключает опцию</div> + Назва + + + <div class="item"><b>Случайно</b> - Программно решает, включить опцию или нет</div><br><i>По умолчанию: Случайно</i> + Увімкнено? + + + Публиковать на главной + Вибір дії + + + Опубликовать новость на сайте + Змінити + + + Зафиксировать новость + Видалити + + + Разрешить комментарии + Вимкнути + + + Разрешить рейтинг статьи + Налаштування + + + Запретить индексацию для поисковиков + Активні +>>>>>>> refs/remotes/origin/releases/173.1.0 Исключить из поиска по сайту @@ -224,7 +412,11 @@ Всё отлично! +<<<<<<< HEAD Все чудово! +======= + Автор не може бути порожнім +>>>>>>> refs/remotes/origin/releases/173.1.0 Данные были сохранены! @@ -770,6 +962,93 @@ Такого шаблона не существует Такого шаблону не існує +<<<<<<< HEAD +======= + + Страница %page% + Сторінка %page% + + + Редактирование шаблона: :name + Редагування шаблону: :name + + + Генерирует случайное значение да или нет (true / false) + Генерує випадкове значення так чи ні (true / false) + + + Генерирует случайное целое число, содержащее от 0 до nums цифр. + Генерує випадкове ціле число, що містить від 0 до nums цифр. + + + Когда параметр strict установлен в значение true, функция будет возвращать только целые числа, содержащие ровно nums цифр. + Коли параметр strict встановлений у значення true, функція повертатиме тільки цілі числа, що містять рівно nums цифр. + + + Генерирует случайное целое число от 0 до 9, исключая заданное число. + Генерує випадкове ціле число від 0 до 9, виключаючи задане число. + + + Параметр float отвечает за количество десятичных знаков. + Параметр float відповідає за кількість десяткових знаків. + + + Генерирует случайное целое число в диапазоне от min до max. По умолчанию генерируется число в диапазоне от 0 до 2 147 483 647. + Генерує випадкове ціле число в діапазоні від min до max. За замовчуванням генерується число в діапазоні від 0 до 2 147 483 647. + + + Возвращает случайный элемент из заданного массива, итерируемого объекта или перечисления. По умолчанию параметр $count установлен в 1, а если передано значение null, возвращается случайное количество элементов.<br>Массив должен быть простым без дополнительных ковычек. + Повертає випадковий елемент із заданого масиву, ітерованого об'єкта або перерахування. За замовчуванням параметр $count встановлено в 1, а якщо передано значення null, повертається випадкова кількість елементів.<br>Масив має бути простим без додаткових лапок. + + + Параметр count установлен в 1, а если передано значение null, возвращается случайное количество элементов. + Параметр count встановлено в 1, а якщо передано значення null, повертається випадкова кількість елементів. + + + Параметр connector установлен на _. Он отвечает за объединение элементов списка. + Параметр connector встановлено на _. Він відповідає за об'єднання елементів списку. + + + Выбирает случайного пользователя, указанного в настройках. Настроек по умолчанию нет, поэтому их нужно сохранить! + Вибирає випадкового користувача, зазначеного в налаштуваннях. Налаштувань за замовчуванням немає, тому їх потрібно зберегти! + + + Выбирает случайную категорию, указанную в настройках. Настроек по умолчанию нет, поэтому их нужно сохранить! + Вибирає випадкову категорію, зазначену в налаштуваннях. Налаштувань за замовчуванням немає, тому їх потрібно зберегти! + + + Генерирует строку, содержащую случайные предложения. Параметр max устанавливает кол-во + Генерує рядок, що містить випадкові речення. Параметр max встановлює кількість + + + Генерирует абзац текста, содержащий заданное количество предложений. По умолчанию генерируется 3 предложения. + Генерує абзац тексту, що містить задану кількість речень. За замовчуванням генерується 3 речення. + + + Параметр max указывает сколько предложений генерировать. По умолчанию: 3 + Параметр max вказує скільки пропозицій генерувати. За замовчуванням: 3 + + + Генерирует случайную текстовую строку. Первый параметр задаёт максимальное количество символов, которое должна содержать строка (по умолчанию 200). + Генерує випадковий текстовий рядок. Перший параметр задає максимальну кількість символів, яку має містити рядок (за замовчуванням 200). + + + Генерирует случайную дату и время со своим форматированием. + Генерує випадкову дату і час зі своїм форматуванням. + + + Обращение, пример: Госпожа или Девушка. В русском нет аналога для Ms. или Mrs. + Звернення, приклад: Пані або Дівчина. У російській немає аналога для Ms. або Mrs. + + + Женское обращение, пример: Госпожа или Девушка. В русском нет аналога для Ms. или Mrs. + Жіноче звернення, приклад: Пані або Дівчина. У російській немає аналога для Ms. або Mrs. + + + Случайная электронная почта, пример: walter.sophia@hotmail.com. Связи с именем никакой нет! + Випадкова електронна пошта, приклад: walter.sophia@hotmail.com. Зв'язку з ім'ям жодного немає! + +>>>>>>> refs/remotes/origin/releases/173.1.0 diff --git a/upload/engine/inc/maharder/_modules/dle_faker/module/changelog.php b/upload/engine/inc/maharder/_modules/dle_faker/module/changelog.php index f798d4d..7ae9d9d 100755 --- a/upload/engine/inc/maharder/_modules/dle_faker/module/changelog.php +++ b/upload/engine/inc/maharder/_modules/dle_faker/module/changelog.php @@ -16,14 +16,24 @@ $logs = [ + '180.1.2' => [ + __('[FIX] Исправлена итерация в templates_create.html'), + __('[FIX] Исправлены языковые функции'), + ], + '173.1.1' => [ + __('[UPDATE] В файле generator_create_post.php логика вставки данных в базу данных обновлена. Она будет исполняться только в случае, если $xfSearchWords не пуст'), + __('[UPDATE] В init.php управление зависимостями упрощено с целью сосредоточения на регистрации отсутствуюших зависимостей'), + __('[UPDATE] HTML-шаблон изменен для улучшения обработки переменных в цикле templates_create.html.'), + __('[FIX] Исправлена обработка данных при генерации новостей'), + __('[FIX] Исправлен скрипт установки'), + ], '173.1.0' => [ - __('mhadmin', 'Основной релиз'), + __('Основной релиз'), ], ]; $modVars = [ - 'title' => __('mhadmin', 'История изменений'), - 'module_icon' => 'fad fa-robot', + 'title' => __('История изменений'), 'logs' => $logs, ]; diff --git a/upload/engine/inc/maharder/_modules/dle_faker/pages/templates_all.php b/upload/engine/inc/maharder/_modules/dle_faker/pages/templates_all.php old mode 100755 new mode 100644 index 596532c..01d2450 --- a/upload/engine/inc/maharder/_modules/dle_faker/pages/templates_all.php +++ b/upload/engine/inc/maharder/_modules/dle_faker/pages/templates_all.php @@ -41,14 +41,13 @@ 'order' => $order, 'sort' => $sort, 'filters' => array_merge( - $twigFilter->createFilter('name', 'text', __('dle_faker', 'Название')), - $twigFilter->createFilter('active', 'select', __('dle_faker', 'Активные'), choices: ['' => __('mhadmin', 'Все'), 'no' => __('mhadmin', 'Нет'), 'yes' => __('mhadmin', 'Да')]), + $twigFilter->createFilter('name', 'text', __('Название')), + $twigFilter->createFilter('active', 'select', __('Активные'), choices: ['' => __('Все'), 'no' => __('Нет'), 'yes' => __( 'Да')]), ) ]; if ($cur_page > 1) { - $mh->setBreadcrumb(new BreadCrumb(__('mhadmin', 'Страница %page%', ['%page%' => $cur_page]), THIS_SELF . '?' . http_build_query($GET_DATA))); - + $mh->setBreadcrumb(new BreadCrumb(__(Страница %page%', ['%page%' => $cur_page]), THIS_SELF . '?' . http_build_query($GET_DATA))); } $htmlTemplate = 'dle_faker/templates_all.html'; \ No newline at end of file diff --git a/upload/engine/inc/maharder/_modules/dle_faker/pages/templates_create.php b/upload/engine/inc/maharder/_modules/dle_faker/pages/templates_create.php index 7f5f749..c1070b7 100755 --- a/upload/engine/inc/maharder/_modules/dle_faker/pages/templates_create.php +++ b/upload/engine/inc/maharder/_modules/dle_faker/pages/templates_create.php @@ -5,14 +5,14 @@ $id = filter_var($_GET['id'], FILTER_VALIDATE_INT); $settings = []; -$title = __('dle_faker', 'Создание нового шаблона'); +$title = __('Создание нового шаблона'); if ($id) { $template = $MHDB->get(FakerTemplate::class, $id); - $settings = json_decode($template->template, true); + $settings = json_decode($template->template, true, 512, JSON_THROW_ON_ERROR); $settings['name'] = $template->name; $settings['active_template'] = $template->active; - $title = __('dle_faker', 'Редактирование шаблона: :name', [':name' => $template->name]); + $title = __('Редактирование шаблона: :name', [':name' => $template->name]); } $modVars = [ diff --git a/upload/engine/inc/maharder/_modules/dle_faker/utils/composer.lock b/upload/engine/inc/maharder/_modules/dle_faker/utils/composer.lock deleted file mode 100755 index 5376670..0000000 --- a/upload/engine/inc/maharder/_modules/dle_faker/utils/composer.lock +++ /dev/null @@ -1 +0,0 @@ -1736952746 \ No newline at end of file diff --git a/upload/engine/inc/maharder/_modules/dle_faker/utils/faker_lang.php b/upload/engine/inc/maharder/_modules/dle_faker/utils/faker_lang.php index 3bebcbb..18a3606 100644 --- a/upload/engine/inc/maharder/_modules/dle_faker/utils/faker_lang.php +++ b/upload/engine/inc/maharder/_modules/dle_faker/utils/faker_lang.php @@ -1,64 +1,64 @@ __('dle_faker', 'Как админка MH Admin'), - 'ar_SA' => __('dle_faker', 'Арабский [Arabic (Saudi Arabia)]'), - 'bg_BG' => __('dle_faker', 'Болгарский [Bulgarian (Bulgaria)]'), - 'bn_BD' => __('dle_faker', 'Бангла [Bangla (Bangladesh)]'), - 'cs_CZ' => __('dle_faker', 'Чешский [Czech (Czech Republic)]'), - 'da_DK' => __('dle_faker', 'Датский [Danish (Denmark)]'), - 'de_AT' => __('dle_faker', 'Немецкий [German (Austria)]'), - 'de_CH' => __('dle_faker', 'Немецкий [German (Switzerland)]'), - 'de_DE' => __('dle_faker', 'Немецкий [German (Germany)]'), - 'el_CY' => __('dle_faker', 'Греческий [Greek (Cyprus)]'), - 'el_GR' => __('dle_faker', 'Греческий [Greek (Greece)]'), - 'en_AU' => __('dle_faker', 'Английский [English (Australia)]'), - 'en_CA' => __('dle_faker', 'Английский [English (Canada)]'), - 'en_GB' => __('dle_faker', 'Английский [English (United Kingdom)]'), - 'en_HK' => __('dle_faker', 'Английский [English (Hong Kong SAR China)]'), - 'en_IN' => __('dle_faker', 'Английский [English (India)]'), - 'en_NG' => __('dle_faker', 'Английский [English (Nigeria)]'), - 'en_NZ' => __('dle_faker', 'Английский [English (New Zealand)]'), - 'en_PH' => __('dle_faker', 'Английский [English (Philippines)]'), - 'en_SG' => __('dle_faker', 'Английский [English (Singapore)]'), - 'en_UG' => __('dle_faker', 'Английский [English (Uganda)]'), - 'en_US' => __('dle_faker', 'Английский [English (United States)]'), - 'en_ZA' => __('dle_faker', 'Английский [English (South Africa)]'), - 'es_ES' => __('dle_faker', 'Испанский [Spanish (Spain)]'), - 'es_PE' => __('dle_faker', 'Испанский [Spanish (Peru)]'), - 'es_VE' => __('dle_faker', 'Испанский [Spanish (Venezuela)]'), - 'fa_IR' => __('dle_faker', 'Персидский [Persian (Iran)]'), - 'fi_FI' => __('dle_faker', 'Финский [Finnish (Finland)]'), - 'fr_BE' => __('dle_faker', 'Французский [French (Belgium)]'), - 'fr_CA' => __('dle_faker', 'Французский [French (Canada)]'), - 'fr_CH' => __('dle_faker', 'Французский [French (Switzerland)]'), - 'fr_FR' => __('dle_faker', 'Французский [French (France)]'), - 'he_IL' => __('dle_faker', 'Иврит [Hebrew (Israel)]'), - 'hr_HR' => __('dle_faker', 'Хорватский [Croatian (Croatia)]'), - 'hu_HU' => __('dle_faker', 'Венгерский [Hungarian (Hungary)]'), - 'id_ID' => __('dle_faker', 'Индонезийский [Indonesian (Indonesia)]'), - 'is_IS' => __('dle_faker', 'Исландский [Icelandic (Iceland)]'), - 'it_CH' => __('dle_faker', 'Итальянский [Italian (Switzerland)]'), - 'it_IT' => __('dle_faker', 'Итальянский [Italian (Italy)]'), - 'ja_JP' => __('dle_faker', 'Японский [Japanese (Japan)]'), - 'ko_KR' => __('dle_faker', 'Корейский [Korean (South Korea)]'), - 'lt_LT' => __('dle_faker', 'Литовский [Lithuanian (Lithuania)]'), - 'lv_LV' => __('dle_faker', 'Латышский [Latvian (Latvia)]'), - 'nb_NO' => __('dle_faker', 'Норвежский [Norwegian (Norway)]'), - 'nl_BE' => __('dle_faker', 'Голландский [Dutch (Belgium)]'), - 'nl_NL' => __('dle_faker', 'Голландский [Dutch (Netherlands)]'), - 'pl_PL' => __('dle_faker', 'Польский [Polish (Poland)]'), - 'pt_BR' => __('dle_faker', 'Португальский [Portuguese (Brazil)]'), - 'pt_PT' => __('dle_faker', 'Португальский [Portuguese (Portugal)]'), - 'ro_RO' => __('dle_faker', 'Румынский [Romanian (Romania)]'), - 'ru_RU' => __('dle_faker', 'Русский [Russian (Russia)]'), - 'sk_SK' => __('dle_faker', 'Словацкий [Slovak (Slovakia)]'), - 'sl_SI' => __('dle_faker', 'Словенский [Slovenian (Slovenia)]'), - 'sr_RS' => __('dle_faker', 'Сербский [Serbian (Serbia)]'), - 'sv_SE' => __('dle_faker', 'Шведский [Swedish (Sweden)]'), - 'tr_TR' => __('dle_faker', 'Турецкий [Turkish (Turkey)]'), - 'uk_UA' => __('dle_faker', 'Украинский [Ukrainian (Ukraine)]'), - 'vi_VN' => __('dle_faker', 'Вьетнамский [Vietnamese (Vietnam)]'), - 'zh_CN' => __('dle_faker', 'Китайский [Chinese (Simplified, China)]'), - 'zh_TW' => __('dle_faker', 'Китайский [Chinese (Traditional, Taiwan)]'), + 'site' => __('Как админка MH Admin'), + 'ar_SA' => __('Арабский [Arabic (Saudi Arabia)]'), + 'bg_BG' => __('Болгарский [Bulgarian (Bulgaria)]'), + 'bn_BD' => __('Бангла [Bangla (Bangladesh)]'), + 'cs_CZ' => __('Чешский [Czech (Czech Republic)]'), + 'da_DK' => __('Датский [Danish (Denmark)]'), + 'de_AT' => __('Немецкий [German (Austria)]'), + 'de_CH' => __('Немецкий [German (Switzerland)]'), + 'de_DE' => __('Немецкий [German (Germany)]'), + 'el_CY' => __('Греческий [Greek (Cyprus)]'), + 'el_GR' => __('Греческий [Greek (Greece)]'), + 'en_AU' => __('Английский [English (Australia)]'), + 'en_CA' => __('Английский [English (Canada)]'), + 'en_GB' => __('Английский [English (United Kingdom)]'), + 'en_HK' => __('Английский [English (Hong Kong SAR China)]'), + 'en_IN' => __('Английский [English (India)]'), + 'en_NG' => __('Английский [English (Nigeria)]'), + 'en_NZ' => __('Английский [English (New Zealand)]'), + 'en_PH' => __('Английский [English (Philippines)]'), + 'en_SG' => __('Английский [English (Singapore)]'), + 'en_UG' => __('Английский [English (Uganda)]'), + 'en_US' => __('Английский [English (United States)]'), + 'en_ZA' => __('Английский [English (South Africa)]'), + 'es_ES' => __('Испанский [Spanish (Spain)]'), + 'es_PE' => __('Испанский [Spanish (Peru)]'), + 'es_VE' => __('Испанский [Spanish (Venezuela)]'), + 'fa_IR' => __('Персидский [Persian (Iran)]'), + 'fi_FI' => __('Финский [Finnish (Finland)]'), + 'fr_BE' => __('Французский [French (Belgium)]'), + 'fr_CA' => __('Французский [French (Canada)]'), + 'fr_CH' => __('Французский [French (Switzerland)]'), + 'fr_FR' => __('Французский [French (France)]'), + 'he_IL' => __('Иврит [Hebrew (Israel)]'), + 'hr_HR' => __('Хорватский [Croatian (Croatia)]'), + 'hu_HU' => __('Венгерский [Hungarian (Hungary)]'), + 'id_ID' => __('Индонезийский [Indonesian (Indonesia)]'), + 'is_IS' => __('Исландский [Icelandic (Iceland)]'), + 'it_CH' => __('Итальянский [Italian (Switzerland)]'), + 'it_IT' => __('Итальянский [Italian (Italy)]'), + 'ja_JP' => __('Японский [Japanese (Japan)]'), + 'ko_KR' => __('Корейский [Korean (South Korea)]'), + 'lt_LT' => __('Литовский [Lithuanian (Lithuania)]'), + 'lv_LV' => __('Латышский [Latvian (Latvia)]'), + 'nb_NO' => __('Норвежский [Norwegian (Norway)]'), + 'nl_BE' => __('Голландский [Dutch (Belgium)]'), + 'nl_NL' => __('Голландский [Dutch (Netherlands)]'), + 'pl_PL' => __('Польский [Polish (Poland)]'), + 'pt_BR' => __('Португальский [Portuguese (Brazil)]'), + 'pt_PT' => __('Португальский [Portuguese (Portugal)]'), + 'ro_RO' => __('Румынский [Romanian (Romania)]'), + 'ru_RU' => __('Русский [Russian (Russia)]'), + 'sk_SK' => __('Словацкий [Slovak (Slovakia)]'), + 'sl_SI' => __('Словенский [Slovenian (Slovenia)]'), + 'sr_RS' => __('Сербский [Serbian (Serbia)]'), + 'sv_SE' => __('Шведский [Swedish (Sweden)]'), + 'tr_TR' => __('Турецкий [Turkish (Turkey)]'), + 'uk_UA' => __('Украинский [Ukrainian (Ukraine)]'), + 'vi_VN' => __('Вьетнамский [Vietnamese (Vietnam)]'), + 'zh_CN' => __('Китайский [Chinese (Simplified, China)]'), + 'zh_TW' => __('Китайский [Chinese (Traditional, Taiwan)]'), ]; diff --git a/upload/engine/inc/maharder/_templates/dle_faker/templates_create.html b/upload/engine/inc/maharder/_templates/dle_faker/templates_create.html index 94671b2..3a0a145 100755 --- a/upload/engine/inc/maharder/_templates/dle_faker/templates_create.html +++ b/upload/engine/inc/maharder/_templates/dle_faker/templates_create.html @@ -1,6 +1,6 @@ {% from "_macros/select.twig" import multi, select %} {% from "_macros/checkbox.twig" import checkbox %} -{% from "_macros/input.twig" import hidden %} +{% from "_macros/input.twig" import hidden, arrayInput %} {% extends 'base.html' %} {% block content %} @@ -106,16 +106,9 @@

{{title}}

}) }} - {% for type, name in xfields %} + {% for xf in xfields %} - {{ include('templateIncludes/segRow.html', { - id: 'xfields['~type ~ ']', - name: 'Дополнительное поле: '|trans|raw ~ name, - descr: '!!!ИЗОБРАЖЕНИЯ, ФАЙЛЫ, АУДИО, ВИДЕО и ПРОЧИЕ ВЛОЖЕНИЯ НЕ ПОДДЕРЖИВАЮТСЯ!!!
Содержимое для поля '|trans|html_entity_decode ~ type, - type: 'text', - variable: settings - }) - }} + {{ arrayInput('xfields[' ~ xf.type ~ ']', 'Дополнительное поле: '|trans|raw ~ xf.description, '!!!ИЗОБРАЖЕНИЯ, ФАЙЛЫ, АУДИО, ВИДЕО и ПРОЧИЕ ВЛОЖЕНИЯ НЕ ПОДДЕРЖИВАЮТСЯ!!!
Содержимое для поля '|trans|html_entity_decode ~ xf.name, settings.xfields, 'xfields') }} {% endfor %} @@ -160,6 +153,12 @@

{{title}}

$(() => { $(document).on('click', '.save', function () { startLoading(); + let formData = $('.form').serializeArray(); + let shortStoryField = formData.findIndex(field => field.name === 'short_story'); + let fullStoryField = formData.findIndex(field => field.name === 'full_story'); + formData[shortStoryField].value = tinymce.get('short_story_editor').getContent(); + formData[fullStoryField].value = tinymce.get('full_story_editor').getContent(); + $.ajax({ url: 'engine/ajax/controller.php?mod=maharder', data: { @@ -167,7 +166,7 @@

{{title}}

module: '{{module_code}}', file: 'master', method: 'create_template', - data: $('.form').serialize() + data: $.param(formData) }, type: 'POST', success: function (data) { diff --git a/upload/install.xml b/upload/install.xml index 9193816..0d46890 100644 --- a/upload/install.xml +++ b/upload/install.xml @@ -2,7 +2,7 @@ DLE Faker Генерирует случайные данные для наполнения сайта engine/inc/maharder/_modules/dle_faker/assets/icon.png -173.1.0 +180.1.2 17.3 greater @@ -13,10 +13,10 @@ - + - +