feat(Translation): enhance product dialogs and update translation model

- Added new translation files for product dialogs to support additional languages.
- Refactored various components to utilize translation functions for error messages, labels, and placeholders, enhancing localization support.
This commit is contained in:
sebseb7
2025-11-22 09:43:51 +01:00
parent d63c385a97
commit 3389a9b66c
72 changed files with 1625 additions and 196 deletions

View File

@@ -3,6 +3,7 @@ import navigation from './navigation.js';
import auth from './auth.js';
import cart from './cart.js';
import product from './product.js';
import productDialogs from './productDialogs.js';
import search from './search.js';
import sorting from './sorting.js';
import chat from './chat.js';
@@ -35,6 +36,7 @@ export default {
"auth": auth,
"cart": cart,
"product": product,
"productDialogs": productDialogs,
"search": search,
"sorting": sorting,
"chat": chat,

View File

@@ -5,17 +5,18 @@ export default {
"notFoundDescription": "Продукт, який ви шукаєте, не існує або був видалений.",
"backToHome": "Повернутися на головну сторінку",
"error": "Помилка",
"articleNumber": "Номер артикула",
"articleNumber": "Артикул",
"manufacturer": "Виробник",
"inclVat": "включно з {{vat}}% ПДВ",
"inclVatSimple": "включно з ПДВ",
"priceUnit": "{{price}}/{{unit}}",
"new": "Новий",
"weeks": "тижнів",
"weeks": "Тижнів",
"arriving": "Прибуття:",
"inclVatFooter": "включно з {{vat}}% ПДВ,*",
"availability": "Наявність",
"inStock": "в наявності",
"comingSoon": "Скоро буде",
"comingSoon": "Скоро в наявності",
"deliveryTime": "Час доставки",
"inclShort": "вкл.",
"vatShort": "ПДВ",
@@ -25,7 +26,7 @@ export default {
"pickupPrice": "Ціна за самовивіз: €19.90 за живець.",
"consistsOf": "Складається з:",
"loadingComponentDetails": "{{index}}. Завантаження деталей компонента...",
"loadingProduct": "Продукт завантажується...",
"loadingProduct": "Завантаження продукту...",
"individualPriceTotal": "Загальна ціна окремо:",
"setPrice": "Ціна набору:",
"yourSavings": "Ваша економія:",
@@ -38,7 +39,7 @@ export default {
"filteredOneProduct": "{{filtered}} з 1 продукту",
"xOfYProducts": "{{x}} з {{y}} продуктів"
},
"removeFiltersToSee": "Видаліть фільтри, щоб побачити продукти",
"removeFiltersToSee": "Приберіть фільтри, щоб побачити продукти",
"outOfStock": "Немає в наявності",
"fromXProducts": "від {{count}} продуктів",
"discount": {

View File

@@ -0,0 +1,61 @@
export default {
"questionTitle": "Питання про продукт",
"questionSubtitle": "У вас є питання щодо цього продукту? Ми раді допомогти вам.",
"questionSuccess": "Дякуємо за ваше питання! Ми зв’яжемося з вами якнайшвидше.",
"nameLabel": "Ім'я",
"namePlaceholder": "Ваше ім'я",
"emailLabel": "Електронна пошта",
"emailPlaceholder": "your.email@example.com",
"questionLabel": "Ваше питання",
"questionPlaceholder": "Опишіть ваше питання щодо цього продукту...",
"photosLabelQuestion": "Додайте фото до вашого питання (необов’язково)",
"submitQuestion": "Надіслати питання",
"sending": "Надсилання...",
"ratingTitle": "Оцінити продукт",
"ratingSubtitle": "Поділіться своїм досвідом використання цього продукту та допоможіть іншим клієнтам зробити вибір.",
"ratingSuccess": "Дякуємо за ваш відгук! Він буде опублікований після перевірки.",
"emailHelper": "Ваша електронна пошта не буде опублікована",
"ratingLabel": "Оцінка *",
"pleaseRate": "Будь ласка, оцініть",
"ratingStars": "{{rating}} з 5 зірок",
"reviewLabel": "Ваш відгук (необов’язково)",
"reviewPlaceholder": "Опишіть свій досвід з цим продуктом...",
"photosLabelRating": "Додайте фото до вашого відгуку (необов’язково)",
"submitRating": "Надіслати відгук",
"errorGeneric": "Сталася помилка",
"errorPhotos": "Помилка обробки фотографій",
"availabilityTitle": "Запитати наявність",
"availabilitySubtitle": "Цей продукт наразі недоступний. Ми з радістю повідомимо вас, як тільки він з’явиться в наявності.",
"availabilitySuccessEmail": "Дякуємо за ваш запит! Ми повідомимо вас електронною поштою, як тільки продукт знову буде доступний.",
"availabilitySuccessTelegram": "Дякуємо за ваш запит! Ми повідомимо вас через Telegram, як тільки продукт знову буде доступний.",
"notificationMethodLabel": "Як ви хочете отримувати сповіщення?",
"telegramBotLabel": "Telegram Bot",
"telegramIdLabel": "Telegram ID",
"telegramPlaceholder": "@yourTelegramName or Telegram ID",
"telegramHelper": "Введіть ваш Telegram-ім'я користувача (з @) або Telegram ID",
"messageLabel": "Повідомлення (необов’язково)",
"messagePlaceholder": "Додаткова інформація або питання...",
"submitAvailability": "Запитати наявність",
"photoUploadSelect": "Вибрати фото",
"photoUploadErrorMaxFiles": "Максимум дозволено {{max}} файлів",
"photoUploadErrorFileType": "Дозволені лише зображення (JPEG, PNG, GIF, WebP)",
"photoUploadErrorFileSize": "Файл занадто великий. Максимум: {{maxSize}}MB",
"photoUploadSelectedFiles": "Вибрано {{count}} файл(ів)",
"photoUploadCompressed": "(скомпресовано для завантаження)",
"photoUploadRemove": "Видалити зображення",
"photoUploadLabelDefault": "Додати фото (необов’язково)",
"shareTitle": "Поділитися",
"shareEmbed": "Вбудувати",
"shareCopyLink": "Копіювати посилання",
"shareSuccessEmbed": "Код для вбудовування скопійовано в буфер обміну!",
"shareErrorEmbed": "Помилка копіювання коду для вбудовування",
"shareSuccessLink": "Посилання скопійовано в буфер обміну!",
"shareWhatsAppText": "Перегляньте цей продукт: {{name}}",
"shareTelegramText": "Перегляньте цей продукт: {{name}}",
"shareEmailSubject": "Рекомендація продукту",
"shareEmailBody": "Привіт,\n\nХочу порекомендувати вам цей продукт:\n\n{{name}}\n{{url}}\n\nЗ найкращими побажаннями"
};