first commit

This commit is contained in:
Jelaletdin12
2026-02-01 20:55:57 +05:00
commit b8c871750a
128 changed files with 23114 additions and 0 deletions

32
i18n/i18n.ts Normal file
View File

@@ -0,0 +1,32 @@
import { getRequestConfig } from "next-intl/server"
import { notFound } from "next/navigation"
export const locales = ["ru", "tm"] as const
export const defaultLocale = "ru" as const
export default getRequestConfig(async ({ requestLocale }) => {
let locale = await requestLocale
// Fallback to default if undefined
if (!locale) {
locale = defaultLocale
}
// Validate locale
if (!locales.includes(locale as any)) {
notFound()
}
try {
const messages = (await import(`./messages/${locale}.json`)).default
return {
locale,
messages,
}
} catch (error) {
return {
locale,
messages: {},
}
}
})

196
i18n/messages/ru.json Normal file
View File

@@ -0,0 +1,196 @@
{
"common": {
"categories": "Категории",
"products": "Продукты",
"catalog": "Каталог",
"search": "Поиск продукта",
"orders": "Заказы",
"favorites": "Избранное",
"cart": "Корзина",
"login": "Войти",
"logout": "Выйти",
"profile": "Профиль",
"openStore": "Открыть магазин",
"phone": "Номер телефона",
"code": "Код",
"send": "Отправить",
"enterPhone": "Введите свой номер телефона",
"weWillSendCode": "Мы вышлем вам код",
"loading": "Загрузка...",
"all_collections_loaded": "Все коллекции загружены"
},
"category": "Категория",
"checkout": "Оформить заказ",
"price_label": "Цена:",
"extra_price": "Доп. цена:",
"discount": "Скидка:",
"total_price": "Общая цена:",
"profile": "Профиль",
"cart_orders": "Корзина заказов",
"shipping_method": "Способ доставки",
"product_description_title": "Описание к товару",
"recommended": "Рекомендуем также",
"address_search": "Поиск адреса",
"address": "Адрес",
"first_name": "Имя",
"save": "Сохранить",
"enter_phone": "Введите свой номер телефона",
"code_will_be_sent": "Мы вышлем вам код",
"phone_number": "Номер телефона",
"code": "Код",
"send": "Отправить",
"last_name": "Фамилия",
"cart": "Корзина",
"order": "Заказать",
"delivery_type": "Тип доставки",
"delivery": "Доставка",
"pickup": "Самовывоз",
"payment_type": "Тип оплаты",
"cash": "Наличные",
"card": "Карта",
"choose_address": "Выберите адрес",
"brands": "Бренд",
"color": "Цвет",
"price": "Цена",
"price_from": "От",
"price_to": "До",
"label": "Ярлык",
"about_product": "О товаре",
"model": "Модель",
"product_quantity": "Количество товара:",
"store": "Магазин",
"write_to_store": "Написать в магазин",
"choose_size": "Выберите размер:",
"filter": "Фильтр",
"order_status_draft": "Черновик",
"order_status_placed": "Размещено",
"order_status_assembly": "Сборка",
"order_status_delivery": "Доставка",
"order_status_delivered": "Доставлено",
"order_status_completed": "Завершено",
"order_status_cancelled": "Отменено",
"cancel_order": "Отменить заказ",
"favorite_products": "Избранные",
"are_you_sure": "Вы уверены?",
"no": "Нет",
"yes": "Да",
"cart_empty": "Ваша корзина пуста",
"add_to_cart": "Добавить в корзину",
"go_to_cart": "Перейти в корзину",
"products": "Продукты",
"become_seller": "Стать продавцом",
"choose_region": "Выберите регион",
"choose_or_enter_address": "Выберите или введите свой адрес",
"note": "Заметка",
"seller_application_form": "Форма подачи заявления на открытие магазина",
"phone": "Телефон",
"unit_price": "Цена за 1 шт.:",
"order_available_in_shops": "Имеется заказ в магазинах:",
"subcategories": "Подкатегории",
"sort": "Сортировка",
"default": "По умолчанию",
"price_low_to_high": "От дешевых к дорогим",
"price_high_to_low": "От дорогих к дешевым",
"reset": "Сбросить",
"total": "Всего",
"no_results": "Результатов не найдено",
"close": "Закрыть",
"category_not_found": "Категория не найдена",
"empty_favorites": "У вас пока нет избранных товаров",
"removed_from_favorites": "Товар удален из избранного",
"added_to_cart": "Товар добавлен в корзину",
"failed_to_update_quantity": "Количество не удалось обновить",
"removed_from_cart": "Товар удален из корзины",
"error": "Произошла ошибка",
"out_of_stock": "Нет в наличии",
"personal_info": "Личная информация",
"profile_description": "Ваши данные профиля",
"error_loading_profile": "Не удалось загрузить профиль",
"try_again": "Попробовать снова",
"my_orders": "Мои заказы",
"active_orders": "Активные заказы",
"completed_orders": "Завершенные заказы",
"keep_order": "Оставить заказ",
"cancel_confirmation": "Вы уверены, что хотите отменить этот заказ?",
"cancelling": "Отмена...",
"order_number": "Заказ №",
"no_orders": "У вас пока нет заказов",
"no_active_orders": "У вас нет активных заказов",
"no_completed_orders": "У вас нет завершенных заказов",
"load_orders_error": "Не удалось загрузить заказы",
"order_cancelled": "Заказ отменен",
"order_cancelled_description": "Ваш заказ был успешно отменен",
"cancel_order_failed": "Не удалось отменить заказ",
"delivery_time": "Время доставки",
"delivery_date": "Дата доставки",
"payment_method": "Способ оплаты",
"product_not_found": "Товар не найден",
"product_not_found_description": "Этот товар не существует или был удален",
"no_image": "Нет изображения",
"stock": "Наличие",
"barcode": "Штрих-код",
"product_description": "Описание товара",
"adding": "Добавление...",
"added_to_cart_description": "добавлен в корзину",
"add_to_cart_failed": "Не удалось добавить товар в корзину",
"cart_updated": "Корзина обновлена",
"update_quantity_failed": "Не удалось обновить количество",
"logging_out": "Выход...",
"invalid_phone": "Неверный номер телефона",
"invalid_code": "Неверный код",
"code_sent": "Код отправлен на ваш номер",
"login_success": "Вход выполнен успешно",
"error_occurred": "Произошла ошибка",
"wrong_code": "Неверный код",
"phone_format": "Формат: 65123456",
"sending": "Отправка...",
"verifying": "Проверка...",
"verify": "Подтвердить",
"only_left": "Осталось {count} шт.",
"stock_limit_title": "Недостаточно на складе",
"stock_limit_message": "{product} закончился. Можно купить только {stock} шт.",
"understood": "Понятно",
"loading": "Загрузка...",
"customer_information": "Информация о клиенте",
"name": "Имя",
"edit_your_information": "Изменить информацию",
"view_your_information": "Просмотр информации",
"edit": "Изменить",
"enter_first_name": "Введите имя",
"enter_last_name": "Введите фамилию",
"enter_phone_number": "Введите номер телефона",
"enter_address": "Введите адрес",
"save_changes": "Сохранить изменения",
"saving": "Сохранение...",
"cancel": "Отменить",
"write_review": "Написать отзыв",
"no_reviews": "Отзывов пока нет, стать первым, кто оставил отзыв!",
"customer_reviews": "Отзывы",
"share_experience": "Поделитесь опытом с этим товаром",
"rating": "Рейтинг",
"your_review": "Ваш отзыв",
"submit": "Отправить",
"submitting": "Отправляется...",
"submit_review": "Отправить отзыв",
"characters": "символы",
"related_products": "Связанные товары",
"cart_empty_message": "Вы пока не добавили товары в корзину. Начните поиск и добавьте любимые товары в корзину.",
"start_shopping": "Начните поиск",
"favorites_empty": "У вас пока нет избранных товаров",
"favorites_empty_message": "Добавьте любимые товары в избранное",
"orders_empty": "У вас пока нет заказов",
"orders_empty_message": "Начните делать заказы",
"product": "Продукт",
"collection_not_found": "Коллекция не найдена",
"added_to_favorites": "Товар добавлен в избранное",
"submit_success": "Отзыв отправлен",
"submit_error": "Произошла ошибка",
"title": "Открыть магазин",
"enter_email": "Введите email",
"uploadPatent": "Загрузить патент",
"outOfStock": "Нет в наличии",
"requiredField": "Обязательное поле",
"fileRequired": "Файл загрузить"
}

195
i18n/messages/tm.json Normal file
View File

@@ -0,0 +1,195 @@
{
"common": {
"categories": "Bölümler",
"products": "Azyk harytlary",
"catalog": "Katalog",
"search": "Haryt gözleg",
"orders": "Sargytlar",
"favorites": "Halanlarym",
"cart": "Sebet",
"login": "Girmek",
"logout": "Çykmak",
"profile": "Profil",
"openStore": "Satyjy bolmak",
"phone": "Telefon",
"code": "Kod",
"send": "Ugrat",
"enterPhone": "Telefon belgisini giriziň",
"weWillSendCode": "Biz size kod ugradarys",
"loading": "Ýüklenýär...",
"all_collections_loaded": "Bütüň koleksiyonlar ýüklendi"
},
"category": "Bölümler",
"checkout": "Sargyt et",
"price_label": "Baha:",
"extra_price": "Goşmaça baha:",
"discount": "Arzanladyş:",
"total_price": "Jemi baha:",
"profile": "Profil",
"shipping_method": "Eltip bermek usuly",
"cart_orders": "Sargyt sebedi",
"product_description_title": "Haryt barada maglumat",
"recommended": "Maslahat berilýän harytlar",
"address_search": "Adres gözleg",
"address": "Adres",
"first_name": "Ady",
"save": "Ýatda sakla",
"enter_phone": "Telefon belgisini giriziň",
"code_will_be_sent": "Biz size kod ugradarys",
"phone_number": "Telefon belgisi",
"code": "Kod",
"send": "Ugrat",
"last_name": "Familiýa",
"cart": "Sebet",
"order": "Sargyt et",
"delivery_type": "Elip bermek görnüşi",
"delivery": "Eltip bermek",
"pickup": "Özüň baryp al",
"payment_type": "Töleg görnüşi",
"cash": "Nagt",
"card": "Kartdan tölemek",
"choose_address": "Adres saýla",
"brands": "Brendler",
"color": "Reňk",
"price": "Baha",
"price_from": "Pesi",
"price_to": "Ýokary",
"label": "Etiket",
"about_product": "Haryt barada",
"model": "Görnüşi",
"product_quantity": "Haryt mukdary:",
"store": "Dükan",
"write_to_store": "Dükana ýaz",
"choose_size": "Ölçegi saýla:",
"filter": "Süzgüç",
"order_status_draft": "Garaşlama",
"order_status_placed": "Ýerleşdirildi",
"order_status_assembly": "Gurnama",
"order_status_delivery": "Eltip bermek",
"order_status_delivered": "Eltilip berildi",
"order_status_completed": "Tamamlandy",
"order_status_cancelled": "Ýatyryldy",
"cancel_order": "Sargydy ýatyrmak",
"favorite_products": "Saýlanan harytlar",
"are_you_sure": "Siz ynamlymy?",
"no": "Ýok",
"yes": "Hawa",
"cart_empty": "Siziň söwda sebediňiz boş",
"add_to_cart": "Sebede goş",
"go_to_cart": "Sebede geçmek",
"products": "Azyk harytlary",
"become_seller": "Satyjy bolmak",
"choose_region": "Etrap saýlaň",
"choose_or_enter_address": "Salgyňyzy saýlaň ýa-da ýazyň",
"note": "Bellik",
"seller_application_form": "Dükan açmak üçin arza görnüşi",
"phone": "Telefon",
"unit_price": "1 san bahasy:",
"order_available_in_shops": "Dükanlarda sargyt bar:",
"subcategories": "Kiçi bölümler",
"sort": "Tertiplemek",
"default": "Adaty",
"price_low_to_high": "Arzan bahadan gymmat bahara",
"price_high_to_low": "Gymmat bahadan arzan bahara",
"reset": "Arassalamak",
"total": "Jemi",
"no_results": "Netije tapylmady",
"close": "Ýap",
"category_not_found": "Bölüm tapylmady",
"empty_favorites": "Siziň saýlanan harytlaryňyz ýok",
"removed_from_favorites": "Haryt saýlanlardan aýryldy",
"added_to_cart": "Haryt sebede goşuldy",
"failed_to_update_quantity": "Mukdar täzelenip bolmady",
"removed_from_cart": "Haryt sebetden aýryldy",
"error": "Ýalňyşlyk ýüze çykdy",
"out_of_stock": "Haryt ýok",
"personal_info": "Şahsy maglumat",
"profile_description": "Siziň profil maglumatlaryňyz",
"error_loading_profile": "Profili ýükläp bolmady",
"try_again": "Täzeden synanyşyň",
"my_orders": "Meniň sargytlarym",
"active_orders": "Işjeň sargytlar",
"completed_orders": "Tamamlanan sargytlar",
"keep_order": "Sargydy saklamak",
"cancel_confirmation": "Siz bu sargydy ýatyrmagy hakykatdanam isleýärsiňizmi?",
"cancelling": "Ýatyrylýar...",
"order_number": "Sargyt №",
"no_orders": "Siziň heniz sargydyňyz ýok",
"no_active_orders": "Siziň işjeň sargydyňyz ýok",
"no_completed_orders": "Siziň tamamlanan sargydyňyz ýok",
"load_orders_error": "Sargytlary ýükläp bolmady",
"order_cancelled": "Sargyt ýatyryldy",
"order_cancelled_description": "Siziň sargydy üstünlikli ýatyryldy",
"cancel_order_failed": "Sargydy ýatyryp bolmady",
"delivery_time": "Eltip berme wagty",
"delivery_date": "Eltip berme senesi",
"payment_method": "Töleg usuly",
"product_not_found": "Haryt tapylmady",
"product_not_found_description": "Bu haryt ýok ýa-da aýryldy",
"no_image": "Surat ýok",
"stock": "Mukdary",
"barcode": "Barkod",
"product_description": "Haryt barada düşündiriş",
"adding": "Goşulýar...",
"added_to_cart_description": "sebede goşuldy",
"add_to_cart_failed": "Haryt sebede goşulmady",
"cart_updated": "Sebet täzelendi",
"update_quantity_failed": "Mukdar täzelenip bolmady",
"logging_out": "Çykylýar...",
"invalid_phone": "Nädogry telefon belgisi",
"invalid_code": "Nädogry kod",
"code_sent": "Kod siziň telefon belgiňize iberildi",
"login_success": "Giriş üstünlikli boldy",
"error_occurred": "Ýalňyşlyk ýüze çykdy",
"wrong_code": "Kod nädogry",
"phone_format": "Format: 65123456",
"sending": "Iberilýär...",
"verifying": "Barlanýar...",
"verify": "Tassyklamak",
"only_left": "Diňe {count} sany galdy",
"stock_limit_title": "Çäkli sanda",
"stock_limit_message": "{product} harytdan diňe {stock} sany bar. Mundan köp sebediňize goşup bilmersiňiz.",
"understood": "Düşündim",
"loading": "Ýüklenýär...",
"customer_information": "Müşteri maglumatlary",
"name": "Ady",
"edit_your_information": "Maglumatlaryňyzy üýtgediň",
"view_your_information": "Maglumatlaryňyzy görüň",
"edit": "Üýtgetmek",
"enter_first_name": "Adyňyzy ýazyň",
"enter_last_name": "Familiýaňyzy ýazyň",
"enter_phone_number": "Telefon belgisini giriziň",
"enter_address": "Adres giriziň",
"save_changes": "Ýatda sakla",
"saving": "Ýatda saklýar...",
"cancel": "Goýbolsun",
"write_review": "Teswir ýaz",
"no_reviews": "Entek teswir ýok, ilkinji teswiri siz ýazyň!",
"customer_reviews": "Teswirler",
"share_experience": "Bu haryt barada öz teswiriňizi ýazyň",
"rating": "Reýting",
"your_review": "Teswiriňiz",
"submit": "Ugratmak",
"submitting": "Ugradylýar...",
"submit_review": "Teswiri ugrat",
"characters": "simbol",
"related_products": "Meňzeş harytlar",
"cart_empty_message": "Entek sebediňize haryt goşmadyňyz. Söwda etmäge başlaň!!!",
"start_shopping": "Söwda etmäge başla!",
"favorites_empty": "Siziň saýlanan harytlaryňyz ýok",
"favorites_empty_message": "Halan harydyňyz saýlap goýuň!",
"orders_empty": "Siziň sargytlaryňyz ýok",
"orders_empty_message": "Sargyt etmäge başlaň!",
"product": "haryt",
"collection_not_found": "Kolleksiýa tapylmady",
"added_to_favorites": "Haryt saýlananlara goşuldy",
"submit_success": "Üstünlikli ugradyldy",
"submit_error": "Ýalňyşlyk ýüze çykdy",
"title": "Magazin aç",
"enter_email": "Poçtaňyzy ýazyň",
"uploadPatent": "Patent goş",
"outOfStock": "Ammarda ýok",
"requiredField": "Zerur maglumat",
"fileRequired": "Fayl goş"
}