Compare commits

...

3 Commits

Author SHA1 Message Date
farazdy 4716945aab fixed config 3 months ago
farazdy e5af63dc93 added AI api to translator
added sms test
3 months ago
farazdy d300f4f9be update json 3 months ago

@ -756,7 +756,7 @@ function cardCount()
function sendSMSText($number, $content)
{
$url = 'http://rest.payamak-panel.com/api/SendSMS/SendSMS';
$url = config('app.sms_url');
$options = array(
'content-type' => 'application/x-www-form-urlencoded',
@ -788,6 +788,45 @@ function sendSMSText($number, $content)
return $result;
}
/***
* send sms
* @param string $number phone number
* @param string $content sms content
* @return bool|string
*/
function sendSMSText2($number, $content)
{
$url = config('app.sms_url');
$options = array(
'content-type' => 'application/x-www-form-urlencoded',
'cache-control' => 'no-cache'
);
$fields_string = http_build_query(array(
'user' => config('app.sms_user'),
'password' => config('app.sms_pass'),
'number' => $number,
'text' => $content,
'isflash' => 'false'
));
//open connection
$ch = curl_init();
//set the url, number of POST vars, POST data
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
//So that curl_exec returns the contents of the cURL; rather than echoing it
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//execute post
$result = curl_exec($ch);
return json_decode($result,true);
}
/***
* remove title of html code
* @param $str

@ -6,6 +6,8 @@ use App\Http\Controllers\Controller;
use App\Http\Requests\XlangSaveRequest;
use App\Models\Xlang;
use Illuminate\Http\Request;
use GuzzleHttp\Client;
use Illuminate\Support\Facades\Artisan;
use function Xmen\StarterKit\Helpers\logAdmin;
use function Xmen\StarterKit\Helpers\logAdminBatch;
@ -148,6 +150,25 @@ class XlangController extends Controller
define("TRANSLATE_FILE", PREFIX_PATH . 'resources/lang/' . $tag . '.json');
return response()->download(TRANSLATE_FILE, $tag . '.json');
}
public function ai($tag)
{
// set_time_limit(300);
define("TRANSLATE_FILE", PREFIX_PATH . 'resources/lang/' . $tag . '.json');
$file = file_get_contents(TRANSLATE_FILE);
$url = 'http://5.255.98.77:3001/json?form=en&to='.$tag;
$client = new Client([
'headers' => [ 'Content-Type' => 'application/json' ]
]);
$response = $client->post($url,
['body' => $file]
);
file_put_contents(TRANSLATE_FILE,$response->getBody());
return redirect()->back()->with(['message' => __("Translated by ai xstack service:").' '.$tag]);
}
public function upload($tag, Request $request)
{

@ -168,6 +168,7 @@
"Double click on image to change index image": "دوبار کلیک کنید تا عکس اصلی انتخاب شود",
"Double click on to remove item": "برای حذف دابل کلیک کنید",
"Double click to remove": "برای حذف دابل کلیک کنید",
"Download json file": "بارگیری فایل جی‌سان",
"Draft": "پیش‌نویس",
"Draft now": "پیش‌نویس کن",
"Drafted": "پیش‌نویس شده",
@ -239,6 +240,7 @@
"Incorrect mobile number": "شماره تماس اشتباه است",
"Index image": "تصویر شاخص",
"Information": "اطلاعات",
"Invalid json file!": "فایل جیسان معتبر نیست",
"Invalid search": "جستجوی نا معتبر",
"Invoice": "صورتحساب",
"Invoice id": "شماره صورتحساب",
@ -505,6 +507,10 @@
"Total Price": "مبلغ کل",
"Total amount": "مقدار کل",
"Tracking code": "کد رهگیری",
"Translate": "ترجمان",
"Translate updated": "ترجمه به روز شد",
"Translate with AI": "ترجمه با کمک هوش مصنوعی",
"Translated by ai xstack service:": "",
"Translates": "ترجمان",
"Transport": "روش ارسال",
"Transport method": "شیوه ارسال",
@ -520,6 +526,7 @@
"Under construction": "در دست تعمیر \/ به‌روزرسانی",
"Unit": "واحد",
"Unknown bulk action :": "یک رویداد نامتعارف جمعی",
"Upload file": "بارگزاری فایل",
"Upload images": "بارگزاری عکس",
"Upload new images": "بارگزاری عکس جدید",
"User": "کاربر",

@ -119,6 +119,7 @@
"Do": "Сделать",
"Double click on image to change index image": "Дважды щелкните на изображение, чтобы изменить индексное изображение",
"Double click on to remove item": "Дважды щелкните, чтобы удалить элемент",
"Download json file": "",
"Draft": "Черновик",
"Draft now": "Создать черновик",
"Drafted": "Создан черновик",
@ -178,6 +179,7 @@
"Incorrect mobile number": "Неправильный номер мобильного телефона",
"Index image": "Индексное изображение",
"Information": "Информация",
"Invalid json file!": "",
"Invalid search": "Недопустимый поиск",
"Invoice": "Счет",
"Invoice id": "ID счета",
@ -189,286 +191,290 @@
"Invoices status changed successfully": "Статус счетов успешно изменен",
"Is breaking news?": "Разбить на новости?",
"Is default": "«По умолчанию»",
"Is effective price?": "«Эффективная цена?»",
"Key": "Ключ",
"LTR": "ЛТР",
"Label": "Этикетка",
"Lang": "Ланг",
"Language list": "«Список языков»",
"Languages": "«Языки»",
"Languages translate": "«Языки переводят»",
"Last update": "Последнее обновление",
"Link": "Связь",
"Login": "Авторизоваться",
"Login / Register": "«Войти/Зарегистрироваться»",
"Logout": "Выйти",
"Logs": "«Журналы»",
"Long text": "«Длинный текст»",
"Magazine": "«Журнал»",
"Main address": "«Основной адрес»",
"Main category": "Главная категория",
"Main product category": "«Основная категория товаров»",
"Manage": "Управлять",
"Max click": "«Макс клик»",
"Menus": "«Меню»",
"Menus list": "«Список меню»",
"Menus preview": "«Предварительный просмотр меню»",
"Metas and publish": "«Метаинформация и публикация»",
"Mobile": "«Мобильный»",
"Monday": "Понедельник",
"Multi select type": "«Множественный выбор типа»",
"Name": "Имя",
"Name and lastname": "«Имя и фамилия»",
"New Advertise": "«Новая реклама»",
"New Clip": "«Новый клип»",
"New Customer": "Новый клиент",
"New Discount": "«Новая скидка»",
"New Gallery": "«Новая Галерея»",
"New Invoice": "«Новый счет»",
"New Poll": "«Новый опрос»",
"New Post": "Новый пост",
"New Product": "Новый продукт",
"New Product category": "«Новая категория товаров»",
"New Property": "«Новая недвижимость»",
"New Slider": "«Новый слайдер»",
"New Video": "«Новое видео»",
"New category": "Новая категория",
"New customer": "Новый клиент",
"New discount": "«Новая скидка»",
"New gallery": "«Новая галерея»",
"New invoice": "«Новый счет»",
"New language": "Новый язык",
"New menu": "«Новое меню»",
"New product": "Новый продукт",
"New product category": "«Новая категория товаров»",
"New ticket": "«Новый билет»",
"New transport": "«Новый транспорт»",
"New user": "Новый пользователь",
"Next": "Следующий",
"No": "Нет",
"No parent": "«Нет родителя»",
"No product": "«Нет товара»",
"Normal": "Нормальный",
"Not required": "Не требуется",
"Number type": "«Тип номера»",
"Online": "В сети",
"Option": "Вариант",
"Options": "Параметры",
"Order": "Заказ",
"Order type": "«Тип заказа»",
"Out stock": "Нет в наличии",
"Page name": "«Название страницы»",
"Parent": "«Родитель»",
"Password": "Пароль",
"Pay by credit": "«Оплата в кредит»",
"Payment Type": "Способ оплаты",
"Payment error": "Ошибка оплаты",
"Payment price:": "«Стоимость оплаты:»",
"Pediatric dental clips": "«Детские стоматологические зажимы»",
"Pending": "В ожидании",
"Phone": "Телефон",
"Pictures": "Картинки",
"Pin": "Приколоть",
"Please change payment gate.": "«Пожалуйста, измените платежный шлюз».",
"Please confirm your password before continuing.": "«Пожалуйста, подтвердите свой пароль, прежде чем продолжить».",
"Poll": "Голосование",
"Poll list": "«Список опросов»",
"Polls": "Опросы",
"Polls list": "«Список опросов»",
"Post": "Почта",
"Post Text": "«Опубликовать текст»",
"Post list": "«Список сообщений»",
"Post reply": "Ответить",
"Postal code": "Почтовый индекс",
"Posts": "Сообщения",
"Posts search": "«Поиск постов»",
"Preview": "«Предварительный просмотр»",
"Previous": "Предыдущий",
"Price": "Цена",
"Price range": "Ценовой диапазон",
"Print": "Распечатать",
"Processing": "Обработка",
"Product": "Продукт",
"Product added to favorite": "«Товар добавлен в избранное»",
"Product categories": "Категории продукта",
"Product categories list": "«Список категорий товаров»",
"Product categories node": "«Узел категорий товаров»",
"Product category": "Категория продукта",
"Product category Parent": "«Категория продукта для родителей»",
"Product category created successfully": "«Категория товаров успешно создана»",
"Product category deleted successfully": "«Категория товара успешно удалена»",
"Product category name": "«Название категории товаров»",
"Product category updated successfully": "«Категория продукта успешно обновлена»",
"Product deleted successfully": "«Продукт успешно удален»",
"Product invoice deleted successfully": "«Счет за продукт успешно удален»",
"Product invoice updated successfully": "«Счет за продукт успешно обновлен»",
"Product removed form card": "«Карточка формы удаления товара»",
"Product removed from favorite": "«Товар удален из избранного»",
"Product restore successfully": "«Продукт восстановлен успешно»",
"Product stock changed successfully": "«Запас продукции успешно изменен»",
"Products": "Продукты",
"Products list": "«Список товаров»",
"Profile": "Профиль",
"Profile updated": "Профиль обновлен",
"Properties list": "«Список свойств»",
"Properties meta": "«Мета свойства»",
"Properties sort": "«Сортировка свойств»",
"Publish now": "«Опубликовать сейчас»",
"Published": "Опубликовано",
"Quantity": "Количество",
"Question": "Вопрос",
"Question / Answer": "Вопрос ответ",
"Questions": "Вопросы",
"Question|Message": "«Вопрос|Сообщение»",
"RTL": "РТЛ",
"Ref ID": "«Реферальный идентификатор»",
"Register": "Регистр",
"Register or login to complete purchase": "«Зарегистрируйтесь или войдите, чтобы завершить покупку»",
"Reject": "Отклонять",
"Remember Me": "Запомнить меня",
"Remove": "Удалять",
"Reply": "Отвечать",
"Required": "Необходимый",
"Reserve order for :H hours": "«Резервный заказ на :H часов»",
"Reset": "Перезагрузить",
"Reset Password": "Сброс пароля",
"Restore": "Восстановить",
"Role": "Роль",
"SKU": "СКУ",
"SMS Code": "«СМС-код»",
"SMS send, Please login with you Auth code": "«Отправить SMS. Пожалуйста, войдите, используя свой код авторизации»",
"Saturday": "Суббота",
"Save": "Сохранять",
"Save sort": "«Сохранить сортировку»",
"Search": "Поиск",
"Search for": "Искать",
"Search in all panel": "«Поиск по всей панели»",
"Searchable": "Доступно для поиска",
"Section": "Раздел",
"Select type": "«Выбрать тип»",
"Send": "Отправлять",
"Send Answer": "«Отправить ответ»",
"Send Answer and close": "«Отправить ответ и закрыть»",
"Send Password Reset Link": "«Отправить ссылку для сброса пароля»",
"Send new ticket": "«Отправить новый билет»",
"Setting": "Параметр",
"Setting added to website": "«Настройка добавлена на сайт»",
"Setting of website updated": "«Настройки сайта обновлены»",
"Shopping card": "«Покупательная карточка»",
"Short text": "«Короткий текст»",
"Show": "Показывать",
"Signup or Login": "Зарегистрируйтесь или войдите под своим ником",
"Single Select \u0026 multi search": "«Единый выбор и множественный поиск»",
"Slider": "«Слайдер»",
"Slider list": "«Список слайдеров»",
"Sliders": "«Слайдеры»",
"Sort": "Сортировать",
"Sort category": "«Сортировать категорию»",
"Sort product category": "«Сортировать по категориям товаров»",
"Special quantity": "«Специальное количество»",
"State": "Состояние",
"Status": "Положение дел",
"Stock quantity": "«Количество запасов»",
"Store": "Магазин",
"Sub invoices items": "«Позиции дополнительных счетов»",
"Subject": "Предмет",
"Subtitle": "«Субтитры»",
"Sum": "«Сумма»",
"Sunday": "Воскресенье",
"Tag": "Ярлык",
"Tag search": "«Поиск по тегам»",
"Tag with sub posts": "«Отметка с подзаписями»",
"Tagged by": "Отмечено",
"Tags": "«Теги»",
"Tax": "«Налог»",
"Text": "Текст",
"Text type": "«Тип текста»",
"The first and/or second image will be index image": "«Первое и/или второе изображение будет индексным»",
"The order is duplicate please check invoices list": "«Заказ дубликат, пожалуйста, проверьте список счетов»",
"Thumbnail": "«Миниатюра»",
"Thursday": "Четверг",
"Ticket answered successfully": "«Заявка успешно отвечена»",
"Ticket has been sent": "«Билет отправлен»",
"Tickets": "Билеты",
"Tickets deleted successfully": "«Билеты успешно удалены»",
"Tickets status changed successfully": "«Статус заявки успешно изменен»",
"Title": "Заголовок",
"To": "К",
"Toggle navigation": "«Переключить навигацию»",
"Total Price": "Итоговая цена",
"Total amount": "Общая сумма",
"Tracking code": "Код отслеживания",
"Translates": "«Переводит»",
"Transport": "Транспорт",
"Transport method": "«Транспортный метод»",
"Transport price": "«Цена перевозки»",
"Transports": "«Транспорт»",
"Transports list": "«Список транспорта»",
"Trashed": "Разрушенный",
"True": "Истинный",
"Try login": "«Попробуйте войти»",
"Tuesday": "Вторник",
"Type": "Тип",
"Under construction": "В разработке",
"Unit": "Единица",
"Unknown bulk action :": "«Неизвестное массовое действие:»",
"Upload images": "Загрузить изображения",
"Upload new images": "«Загрузить новые изображения»",
"User": "Пользователь",
"User list": "«Список пользователей»",
"Username": "Имя пользователя",
"Users": "«Пользователи»",
"Users list": "«Список пользователей»",
"Verify Your Email Address": "Проверьте свой адрес электронной почты",
"Video clip": "Видеоклип",
"Video clips": "Видеоклипы",
"Video list": "«Список видео»",
"We call you about price soon.": "«Скоро мы позвоним вам и уточним цену».",
"Website contents": "«Содержимое сайта»",
"Wednesday": "Среда",
"Welcome": "Добро пожаловать",
"Width": "Ширина",
"Yes": "Да",
"You are logged in!": "Вы вошли в систему!",
"You can choose one or more image together": "«Вы можете выбрать одно или несколько изображений вместе»",
"You disliked ": "«Тебе не понравилось»",
"You don't have any credit": "«У тебя нет кредита»",
"You dont't have acccess this acction": "«У вас нет доступа к этому действию»",
"You have got :count products in your basket, Could you complete your purchase?": "«У вас в корзине :count товаров. Не могли бы вы завершить покупку?»",
"You liked ": "Тебе понравилось ",
"You liked ago ": "«Тебе понравилось назад»",
"You order reserved for a few hours, please pay to complete process": "«Вы заказываете зарезервировано на несколько часов, пожалуйста, заплатите, чтобы завершить процесс»",
"You voted ago ": "«Вы проголосовали назад»",
"You voted right now ": "«Вы проголосовали прямо сейчас»",
"Your Email sent": "«Ваше письмо отправлено»",
"Your authentication code": "«Ваш код аутентификации»",
"Your comment submited successfully, After approve will be visbile.": "«Ваш комментарий успешно отправлен. После одобрения он будет виден».",
"Your credit": "«Ваша заслуга»",
"Your invoices": "«Ваши счета»",
"Your message has been successfully sent.": "Ваше сообщение было успешно отправлено.",
"Your message...": "Ваше сообщение...",
"Your question has been sent, We answer it soon.": "«Ваш вопрос отправлен, мы скоро на него ответим».",
"Your question or request...": "«Ваш вопрос или просьба...»",
"action": "действие",
"body": "тело",
"by percent": "по процентам",
"by price": "по цене",
"choose addrress": "выбрать адрес",
"click here to request another": "«нажмите здесь, чтобы запросить еще»",
"clip or cover not uploaded...": "клип или обложка не загружены...",
"created successfully": "«создано успешно»",
"deleted successfully": "успешно удалено",
"id": "идентификатор",
"invoice created successfully": "счет успешно создан",
"name / email": "«имя / адрес электронной почты»",
"not searchable": "недоступно для поиска",
"password repeat": "повторить пароль",
"phone": "телефон",
"postal_code": "Почтовый индекс",
"preview": "предварительный просмотр",
"reply": "отвечать",
"slider or cover not uploaded...": "слайдер или обложка не загружены...",
"transports deleted successfully": "транспорт успешно удален",
"updated successfully": "Успешно Обновлено",
"weight": "масса"
}
"Is effective price?": "«Эффективная цена?»",
"Key": "Ключ",
"LTR": "ЛТР",
"Label": "Этикетка",
"Lang": "Ланг",
"Language list": "«Список языков»",
"Languages": "«Языки»",
"Languages translate": "«Языки переводят»",
"Last update": "Последнее обновление",
"Link": "Связь",
"Login": "Авторизоваться",
"Login \/ Register": "«Войти\/Зарегистрироваться»",
"Logout": "Выйти",
"Logs": "«Журналы»",
"Long text": "«Длинный текст»",
"Magazine": "«Журнал»",
"Main address": "«Основной адрес»",
"Main category": "Главная категория",
"Main product category": "«Основная категория товаров»",
"Manage": "Управлять",
"Max click": "«Макс клик»",
"Menus": "«Меню»",
"Menus list": "«Список меню»",
"Menus preview": "«Предварительный просмотр меню»",
"Metas and publish": "«Метаинформация и публикация»",
"Mobile": "«Мобильный»",
"Monday": "Понедельник",
"Multi select type": "«Множественный выбор типа»",
"Name": "Имя",
"Name and lastname": "«Имя и фамилия»",
"New Advertise": "«Новая реклама»",
"New Clip": "«Новый клип»",
"New Customer": "Новый клиент",
"New Discount": "«Новая скидка»",
"New Gallery": "«Новая Галерея»",
"New Invoice": "«Новый счет»",
"New Poll": "«Новый опрос»",
"New Post": "Новый пост",
"New Product": "Новый продукт",
"New Product category": "«Новая категория товаров»",
"New Property": "«Новая недвижимость»",
"New Slider": "«Новый слайдер»",
"New Video": "«Новое видео»",
"New category": "Новая категория",
"New customer": "Новый клиент",
"New discount": "«Новая скидка»",
"New gallery": "«Новая галерея»",
"New invoice": "«Новый счет»",
"New language": "Новый язык",
"New menu": "«Новое меню»",
"New product": "Новый продукт",
"New product category": "«Новая категория товаров»",
"New ticket": "«Новый билет»",
"New transport": "«Новый транспорт»",
"New user": "Новый пользователь",
"Next": "Следующий",
"No": "Нет",
"No parent": "«Нет родителя»",
"No product": "«Нет товара»",
"Normal": "Нормальный",
"Not required": "Не требуется",
"Number type": "«Тип номера»",
"Online": "В сети",
"Option": "Вариант",
"Options": "Параметры",
"Order": "Заказ",
"Order type": "«Тип заказа»",
"Out stock": "Нет в наличии",
"Page name": "«Название страницы»",
"Parent": "«Родитель»",
"Password": "Пароль",
"Pay by credit": "«Оплата в кредит»",
"Payment Type": "Способ оплаты",
"Payment error": "Ошибка оплаты",
"Payment price:": "«Стоимость оплаты:»",
"Pediatric dental clips": "«Детские стоматологические зажимы»",
"Pending": "В ожидании",
"Phone": "Телефон",
"Pictures": "Картинки",
"Pin": "Приколоть",
"Please change payment gate.": "«Пожалуйста, измените платежный шлюз».",
"Please confirm your password before continuing.": "«Пожалуйста, подтвердите свой пароль, прежде чем продолжить».",
"Poll": "Голосование",
"Poll list": "«Список опросов»",
"Polls": "Опросы",
"Polls list": "«Список опросов»",
"Post": "Почта",
"Post Text": "«Опубликовать текст»",
"Post list": "«Список сообщений»",
"Post reply": "Ответить",
"Postal code": "Почтовый индекс",
"Posts": "Сообщения",
"Posts search": "«Поиск постов»",
"Preview": "«Предварительный просмотр»",
"Previous": "Предыдущий",
"Price": "Цена",
"Price range": "Ценовой диапазон",
"Print": "Распечатать",
"Processing": "Обработка",
"Product": "Продукт",
"Product added to favorite": "«Товар добавлен в избранное»",
"Product categories": "Категории продукта",
"Product categories list": "«Список категорий товаров»",
"Product categories node": "«Узел категорий товаров»",
"Product category": "Категория продукта",
"Product category Parent": "«Категория продукта для родителей»",
"Product category created successfully": "«Категория товаров успешно создана»",
"Product category deleted successfully": "«Категория товара успешно удалена»",
"Product category name": "«Название категории товаров»",
"Product category updated successfully": "«Категория продукта успешно обновлена»",
"Product deleted successfully": "«Продукт успешно удален»",
"Product invoice deleted successfully": "«Счет за продукт успешно удален»",
"Product invoice updated successfully": "«Счет за продукт успешно обновлен»",
"Product removed form card": "«Карточка формы удаления товара»",
"Product removed from favorite": "«Товар удален из избранного»",
"Product restore successfully": "«Продукт восстановлен успешно»",
"Product stock changed successfully": "«Запас продукции успешно изменен»",
"Products": "Продукты",
"Products list": "«Список товаров»",
"Profile": "Профиль",
"Profile updated": "Профиль обновлен",
"Properties list": "«Список свойств»",
"Properties meta": "«Мета свойства»",
"Properties sort": "«Сортировка свойств»",
"Publish now": "«Опубликовать сейчас»",
"Published": "Опубликовано",
"Quantity": "Количество",
"Question": "Вопрос",
"Question \/ Answer": "Вопрос ответ",
"Questions": "Вопросы",
"Question|Message": "«Вопрос|Сообщение»",
"RTL": "РТЛ",
"Ref ID": "«Реферальный идентификатор»",
"Register": "Регистр",
"Register or login to complete purchase": "«Зарегистрируйтесь или войдите, чтобы завершить покупку»",
"Reject": "Отклонять",
"Remember Me": "Запомнить меня",
"Remove": "Удалять",
"Reply": "Отвечать",
"Required": "Необходимый",
"Reserve order for :H hours": "«Резервный заказ на :H часов»",
"Reset": "Перезагрузить",
"Reset Password": "Сброс пароля",
"Restore": "Восстановить",
"Role": "Роль",
"SKU": "СКУ",
"SMS Code": "«СМС-код»",
"SMS send, Please login with you Auth code": "«Отправить SMS. Пожалуйста, войдите, используя свой код авторизации»",
"Saturday": "Суббота",
"Save": "Сохранять",
"Save sort": "«Сохранить сортировку»",
"Search": "Поиск",
"Search for": "Искать",
"Search in all panel": "«Поиск по всей панели»",
"Searchable": "Доступно для поиска",
"Section": "Раздел",
"Select type": "«Выбрать тип»",
"Send": "Отправлять",
"Send Answer": "«Отправить ответ»",
"Send Answer and close": "«Отправить ответ и закрыть»",
"Send Password Reset Link": "«Отправить ссылку для сброса пароля»",
"Send new ticket": "«Отправить новый билет»",
"Setting": "Параметр",
"Setting added to website": "«Настройка добавлена на сайт»",
"Setting of website updated": "«Настройки сайта обновлены»",
"Shopping card": "«Покупательная карточка»",
"Short text": "«Короткий текст»",
"Show": "Показывать",
"Signup or Login": "Зарегистрируйтесь или войдите под своим ником",
"Single Select & multi search": "«Единый выбор и множественный поиск»",
"Slider": "«Слайдер»",
"Slider list": "«Список слайдеров»",
"Sliders": "«Слайдеры»",
"Sort": "Сортировать",
"Sort category": "«Сортировать категорию»",
"Sort product category": "«Сортировать по категориям товаров»",
"Special quantity": "«Специальное количество»",
"State": "Состояние",
"Status": "Положение дел",
"Stock quantity": "«Количество запасов»",
"Store": "Магазин",
"Sub invoices items": "«Позиции дополнительных счетов»",
"Subject": "Предмет",
"Subtitle": "«Субтитры»",
"Sum": "«Сумма»",
"Sunday": "Воскресенье",
"Tag": "Ярлык",
"Tag search": "«Поиск по тегам»",
"Tag with sub posts": "«Отметка с подзаписями»",
"Tagged by": "Отмечено",
"Tags": "«Теги»",
"Tax": "«Налог»",
"Text": "Текст",
"Text type": "«Тип текста»",
"The first and\/or second image will be index image": "«Первое и\/или второе изображение будет индексным»",
"The order is duplicate please check invoices list": "«Заказ дубликат, пожалуйста, проверьте список счетов»",
"Thumbnail": "«Миниатюра»",
"Thursday": "Четверг",
"Ticket answered successfully": "«Заявка успешно отвечена»",
"Ticket has been sent": "«Билет отправлен»",
"Tickets": "Билеты",
"Tickets deleted successfully": "«Билеты успешно удалены»",
"Tickets status changed successfully": "«Статус заявки успешно изменен»",
"Title": "Заголовок",
"To": "К",
"Toggle navigation": "«Переключить навигацию»",
"Total Price": "Итоговая цена",
"Total amount": "Общая сумма",
"Tracking code": "Код отслеживания",
"Translate updated": "",
"Translate with AI": "",
"Translated by ai xstack service:": "",
"Translates": "«Переводит»",
"Transport": "Транспорт",
"Transport method": "«Транспортный метод»",
"Transport price": "«Цена перевозки»",
"Transports": "«Транспорт»",
"Transports list": "«Список транспорта»",
"Trashed": "Разрушенный",
"True": "Истинный",
"Try login": "«Попробуйте войти»",
"Tuesday": "Вторник",
"Type": "Тип",
"Under construction": "В разработке",
"Unit": "Единица",
"Unknown bulk action :": "«Неизвестное массовое действие:»",
"Upload file": "",
"Upload images": "Загрузить изображения",
"Upload new images": "«Загрузить новые изображения»",
"User": "Пользователь",
"User list": "«Список пользователей»",
"Username": "Имя пользователя",
"Users": "«Пользователи»",
"Users list": "«Список пользователей»",
"Verify Your Email Address": "Проверьте свой адрес электронной почты",
"Video clip": "Видеоклип",
"Video clips": "Видеоклипы",
"Video list": "«Список видео»",
"We call you about price soon.": "«Скоро мы позвоним вам и уточним цену».",
"Website contents": "«Содержимое сайта»",
"Wednesday": "Среда",
"Welcome": "Добро пожаловать",
"Width": "Ширина",
"Yes": "Да",
"You are logged in!": "Вы вошли в систему!",
"You can choose one or more image together": "«Вы можете выбрать одно или несколько изображений вместе»",
"You disliked ": "«Тебе не понравилось»",
"You don't have any credit": "«У тебя нет кредита»",
"You dont't have acccess this acction": "«У вас нет доступа к этому действию»",
"You have got :count products in your basket, Could you complete your purchase?": "«У вас в корзине :count товаров. Не могли бы вы завершить покупку?»",
"You liked ": "Тебе понравилось ",
"You liked ago ": "«Тебе понравилось назад»",
"You order reserved for a few hours, please pay to complete process": "«Вы заказываете зарезервировано на несколько часов, пожалуйста, заплатите, чтобы завершить процесс»",
"You voted ago ": "«Вы проголосовали назад»",
"You voted right now ": "«Вы проголосовали прямо сейчас»",
"Your Email sent": "«Ваше письмо отправлено»",
"Your authentication code": "«Ваш код аутентификации»",
"Your comment submited successfully, After approve will be visbile.": "«Ваш комментарий успешно отправлен. После одобрения он будет виден».",
"Your credit": "«Ваша заслуга»",
"Your invoices": "«Ваши счета»",
"Your message has been successfully sent.": "Ваше сообщение было успешно отправлено.",
"Your message...": "Ваше сообщение...",
"Your question has been sent, We answer it soon.": "«Ваш вопрос отправлен, мы скоро на него ответим».",
"Your question or request...": "«Ваш вопрос или просьба...»",
"action": "действие",
"body": "тело",
"by percent": "по процентам",
"by price": "по цене",
"choose addrress": "выбрать адрес",
"click here to request another": "«нажмите здесь, чтобы запросить еще»",
"clip or cover not uploaded...": "клип или обложка не загружены...",
"created successfully": "«создано успешно»",
"deleted successfully": "успешно удалено",
"id": "идентификатор",
"invoice created successfully": "счет успешно создан",
"name \/ email": "«имя \/ адрес электронной почты»",
"not searchable": "недоступно для поиска",
"password repeat": "повторить пароль",
"phone": "телефон",
"postal_code": "Почтовый индекс",
"preview": "предварительный просмотр",
"reply": "отвечать",
"slider or cover not uploaded...": "слайдер или обложка не загружены...",
"transports deleted successfully": "транспорт успешно удален",
"updated successfully": "Успешно Обновлено",
"weight": "масса"
}

@ -28,7 +28,10 @@
{{__("Upload file")}}
</button>
</form>
<a href="{{route('admin.lang.ai',$lang->tag)}}" class="btn btn-outline-success w-100 mt-3 btn-sm">
<i class="ri-ai-generate"></i>
{{__("Translate with AI")}}
</a>
</div>
</div>
@endforeach

@ -41,6 +41,7 @@ Route::prefix(config('starter-kit.uri'))->name('admin.')->group(
Route::post('/update/{xlang}', [\App\Http\Controllers\Admin\XlangController::class,'update'])->name('update');
Route::post('bulk', [\App\Http\Controllers\Admin\XlangController::class, "bulk"])->name('bulk');
Route::get('/download/{tag}', [\App\Http\Controllers\Admin\XlangController::class,'download'])->name('download');
Route::get('/ai/{tag}', [\App\Http\Controllers\Admin\XlangController::class,'ai'])->name('ai');
Route::post('/upload/{tag}', [\App\Http\Controllers\Admin\XlangController::class,'upload'])->name('upload');
});
@ -289,6 +290,24 @@ Route::get('/resetStock', [App\Http\Controllers\WebsiteController::class, "reset
Route::get('/resetQ', [App\Http\Controllers\WebsiteController::class, "resetQuantity"])->name('resetQuantity');
Route::get('/credit/pay/{invoice}', [App\Http\Controllers\CustomerController::class, 'credit'])->name('credit');
Route::get('/test/sms',function (){
if (auth()->check()){
$result = \App\Helpers\sendSMSText2('09209517726','پیامک');
if ($result == null){
return 'fatal error';
}else{
if ($result['OK']){
return $result['Msg'];
}else{
return 'err'.$result['Code'].': '.$result['Msg'];
}
}
} else{
return abort(403);
}
});
//Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');
if (\App\Helpers\getSetting('redirect') == 'yes') {
Route::get('{any}', [\App\Http\Controllers\RedirectController::class, 'check'])->where('any', '.*');

Loading…
Cancel
Save