diff --git a/components/pages/home/blog/catalog.tsx b/components/pages/home/blog/catalog.tsx
index 857b94d..397af3c 100644
--- a/components/pages/home/blog/catalog.tsx
+++ b/components/pages/home/blog/catalog.tsx
@@ -7,6 +7,7 @@ import CatalogCardSkeleton from "@/components/loadingSkleton";
import EmptyData from "@/components/EmptyData";
import { getRouteLang } from "@/request/getLang";
import { CategoryType } from "@/lib/types";
+import { useTranslations } from "next-intl";
export default function Catalog() {
const language = getRouteLang();
@@ -15,6 +16,7 @@ export default function Catalog() {
queryFn: () => httpClient(endPoints.category.all),
select: (data): CategoryType[] => data?.data?.results,
});
+ const t = useTranslations();
if (isLoading) {
return (
@@ -30,8 +32,8 @@ export default function Catalog() {
if (!data || data.length === 0) {
return (
);
diff --git a/components/pages/products/catalog.tsx b/components/pages/products/catalog.tsx
index 30818ec..14ed875 100644
--- a/components/pages/products/catalog.tsx
+++ b/components/pages/products/catalog.tsx
@@ -91,7 +91,7 @@ export default function CatalogCard({
{/* Background glow effect */}
diff --git a/components/pages/services/empty.tsx b/components/pages/services/empty.tsx
index a225d0c..46cd7e5 100644
--- a/components/pages/services/empty.tsx
+++ b/components/pages/services/empty.tsx
@@ -12,7 +12,7 @@ export function EmptyServices() {
transition={{ duration: 0.5 }}
className="max-w-250 w-full mx-auto py-20"
>
-
+
- {t("home.services.noData.title") || "Xizmatlar topilmadi"}
+ {t("operationalSystems.noData.title") || "Xizmatlar topilmadi"}
- {t("home.services.noData.description") || "Hozircha hech qanday xizmat mavjud emas. Tez orada yangi xizmatlar qo'shiladi."}
+ {t("operationalSystems.noData.description") || "Hozircha hech qanday xizmat mavjud emas. Tez orada yangi xizmatlar qo'shiladi."}
window.location.reload()}
className="font-almarai bg-red-600 hover:bg-red-700 text-white font-semibold py-3 px-8 rounded-full transition-all duration-300 transform hover:scale-105 shadow-lg hover:shadow-red-500/50"
>
- {t("home.services.noData.reload") || "Qayta yuklash"}
+ {t("operationalSystems.noData.empty") || "Qayta yuklash"}
);
}
@@ -38,9 +37,9 @@ export function ServicesLoading() {
-
+
);
-}
\ No newline at end of file
+}
diff --git a/components/pages/services/ourService.tsx b/components/pages/services/ourService.tsx
index da67124..c8f3648 100644
--- a/components/pages/services/ourService.tsx
+++ b/components/pages/services/ourService.tsx
@@ -131,8 +131,8 @@ export function OurService() {
-
-
+
+
{t("home.services.viewMoreServices")}
diff --git a/messages/en.json b/messages/en.json
index 9bfa2b3..27c9483 100644
--- a/messages/en.json
+++ b/messages/en.json
@@ -146,6 +146,10 @@
}
},
"products": {
+ "noData": {
+ "title": "Catalog Not Found",
+ "description": "There are currently no categories available. Please check back later."
+ },
"catalog": {
"blockdescription": "Polypropylene pipes and fittings for automatic fire suppression systems and internal fire water supply",
"cadescription": "Equipment for automatic fire suppression",
@@ -223,14 +227,20 @@
"help": "Help"
},
"address": "Tashkent city, Yunusabad district, 3rd dead-end of Niyozbek Yoli street, house 39",
- "create": "Created by {name}"
+ "create": "Created by {name}",
+ "terms": "Terms & Conditions",
+ "privacy": "Privacy Policy"
},
"operationalSystems": {
"title": "Operating Systems",
"subtitle": "Automatic fire detection and extinguishing systems. Latest technological achievements.",
"loading": "Loading...",
"error": "An error occurred. Please try again.",
- "noData": "No data found",
+ "noData": {
+ "empty": "No data found",
+ "title": "No Services Found",
+ "description": "There are currently no services available. New services will be added soon."
+ },
"retry": "Retry",
"features": "Features",
"systems": {
diff --git a/messages/ru.json b/messages/ru.json
index 3ba5513..a71abeb 100644
--- a/messages/ru.json
+++ b/messages/ru.json
@@ -146,6 +146,10 @@
}
},
"products": {
+ "noData": {
+ "title": "Каталог не найден",
+ "description": "В настоящее время категории отсутствуют. Пожалуйста, зайдите позже."
+ },
"catalog": {
"blockdescription": "Полипропиленовые трубы и фитинги для систем автоматического пожаротушения и внутреннего противопожарного водопровода",
"cadescription": "Оборудование для автоматического пожаротушения",
@@ -223,20 +227,26 @@
"help": "Помощь"
},
"address": "г. Ташкент, Юнусабадский район, 3-й тупик улицы Ниязбек йўли, дом 39",
- "create": "Разработано {name}"
+ "create": "Разработано",
+ "terms": "Условия использования",
+ "privacy": "Политика конфиденциальности"
},
"operationalSystems": {
"title": "Операционные системы",
"subtitle": "Системы автоматического обнаружения и тушения пожаров. Последние достижения технологий.",
"loading": "Загрузка...",
"error": "Произошла ошибка. Пожалуйста, попробуйте снова.",
- "noData": "Данные не найдены",
+ "noData": {
+ "empty": "Данные не найдены",
+ "title": "Услуги не найдены",
+ "description": "В настоящее время нет доступных услуг. Новые услуги будут добавлены в ближайшее время."
+ },
"retry": "Повторить",
"features": "Характеристики",
"systems": {
"sprinkler": {
"title": "Спринклерная система пожаротушения",
- "short-desc":"Системы автоматического обнаружения и тушения пожаров. Новейшие достижения технологий.",
+ "short-desc": "Системы автоматического обнаружения и тушения пожаров. Новейшие достижения технологий.",
"description": "Спринклерная система пожаротушения контролирует и тушит пожар на начальной стадии путем автоматического распыления воды. Система автоматически активируется при повышении температуры и работает только в зоне обнаружения пожара.",
"features": [
"Автоматический механизм активации",
diff --git a/messages/uz.json b/messages/uz.json
index 70acbf8..ac56ed0 100644
--- a/messages/uz.json
+++ b/messages/uz.json
@@ -146,6 +146,10 @@
}
},
"products": {
+ "noData":{
+ "title":"Katalog topilmadi",
+ "description":"Hozircha kategoriyalar mavjud emas. Keyinroq urinib ko'ring"
+ },
"catalog": {
"blockdescription": "Avtomatik yong‘in o‘chirish tizimlari va ichki yong‘inga qarshi suv ta’minoti uchun polipropilen quvurlar va fitinglar",
"cadescription": "Avtomatik yong‘in o‘chirish uchun uskunalar",
@@ -223,20 +227,26 @@
"help": "Yordam"
},
"address": "Toshkent shahri , Yunusabod tumani , Niyozbek yo'li 3 tor ko'chasi , 39 uy",
- "create": "{name} - Jamoasi tomonidan ishlab chiqilgan"
+ "create": "{name} - Jamoasi tomonidan ishlab chiqilgan",
+ "terms":"Foydalanish shartlari",
+ "privacy":"Maxfiylik siyosati"
},
"operationalSystems": {
"title": "Operatsion tizimlar",
"subtitle": "Yong'inni avtomatik aniqlash va o'chirish tizimlari. Texnologiyaning eng so'nggi yutuqlari.",
"loading": "Yuklanmoqda...",
"error": "Xatolik yuz berdi. Iltimos, qaytadan urinib ko'ring.",
- "noData": "Ma'lumotlar topilmadi",
+ "noData": {
+ "empty": "Ma'lumotlar topilmadi",
+ "title": "Xizmatlar topilmadi",
+ "description": "Hozircha hech qanday xizmat mavjud emas. Tez orada yangi xizmatlar qo'shiladi."
+ },
"retry": "Qayta urinish",
"features": "Hususiyatlari",
"systems": {
"sprinkler": {
"title": "Sprinklerli yong'in o'chirish tizimi",
- "short-desc":"Yong'inni avtomatik aniqlash va o'chirish tizimlari. Texnologiyaning eng so'nggi yutuqlari.",
+ "short-desc": "Yong'inni avtomatik aniqlash va o'chirish tizimlari. Texnologiyaning eng so'nggi yutuqlari.",
"description": "Sprinklerli yong'in o'chirish tizimi avtomatik suv purkash orqali yong'inni dastlabki bosqichida nazorat qiladi va o'chiradi. Tizim harorat oshganda avtomatik ishga tushadi va faqat yong'in aniqlangan hududda faoliyat ko'rsatadi.",
"features": [
"Avtomatik ishga tushish mexanizmi",