Compare commits

...

3 Commits

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

@ -756,7 +756,7 @@ function cardCount()
function sendSMSText($number, $content) function sendSMSText($number, $content)
{ {
$url = 'http://rest.payamak-panel.com/api/SendSMS/SendSMS'; $url = config('app.sms_url');
$options = array( $options = array(
'content-type' => 'application/x-www-form-urlencoded', 'content-type' => 'application/x-www-form-urlencoded',
@ -788,6 +788,45 @@ function sendSMSText($number, $content)
return $result; 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 * remove title of html code
* @param $str * @param $str

@ -6,6 +6,8 @@ use App\Http\Controllers\Controller;
use App\Http\Requests\XlangSaveRequest; use App\Http\Requests\XlangSaveRequest;
use App\Models\Xlang; use App\Models\Xlang;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use GuzzleHttp\Client;
use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\Artisan;
use function Xmen\StarterKit\Helpers\logAdmin; use function Xmen\StarterKit\Helpers\logAdmin;
use function Xmen\StarterKit\Helpers\logAdminBatch; use function Xmen\StarterKit\Helpers\logAdminBatch;
@ -148,6 +150,25 @@ class XlangController extends Controller
define("TRANSLATE_FILE", PREFIX_PATH . 'resources/lang/' . $tag . '.json'); define("TRANSLATE_FILE", PREFIX_PATH . 'resources/lang/' . $tag . '.json');
return response()->download(TRANSLATE_FILE, $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) public function upload($tag, Request $request)
{ {

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

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

@ -28,7 +28,10 @@
{{__("Upload file")}} {{__("Upload file")}}
</button> </button>
</form> </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>
</div> </div>
@endforeach @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('/update/{xlang}', [\App\Http\Controllers\Admin\XlangController::class,'update'])->name('update');
Route::post('bulk', [\App\Http\Controllers\Admin\XlangController::class, "bulk"])->name('bulk'); 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('/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'); 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('/resetQ', [App\Http\Controllers\WebsiteController::class, "resetQuantity"])->name('resetQuantity');
Route::get('/credit/pay/{invoice}', [App\Http\Controllers\CustomerController::class, 'credit'])->name('credit'); 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'); //Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');
if (\App\Helpers\getSetting('redirect') == 'yes') { if (\App\Helpers\getSetting('redirect') == 'yes') {
Route::get('{any}', [\App\Http\Controllers\RedirectController::class, 'check'])->where('any', '.*'); Route::get('{any}', [\App\Http\Controllers\RedirectController::class, 'check'])->where('any', '.*');

Loading…
Cancel
Save