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

@@ -8,9 +8,10 @@ export default {
"articleNumber": "Артикул",
"manufacturer": "Производитель",
"inclVat": "включая {{vat}}% НДС",
"inclVatSimple": "включая НДС",
"priceUnit": "{{price}}/{{unit}}",
"new": "Новый",
"weeks": "недели",
"weeks": "Недели",
"arriving": "Прибытие:",
"inclVatFooter": "включая {{vat}}% НДС,*",
"availability": "Наличие",
@@ -22,10 +23,10 @@ export default {
"weight": "Вес: {{weight}} кг",
"youSave": "Вы экономите: {{amount}}",
"cheaperThanIndividual": "Дешевле, чем покупать по отдельности",
"pickupPrice": "Цена при самовывозе: 19.90 за черенок.",
"pickupPrice": "Цена при самовывозе: 19,90 за черенок.",
"consistsOf": "Состоит из:",
"loadingComponentDetails": "{{index}}. Загрузка деталей компонента...",
"loadingProduct": "Продукт загружается...",
"loadingProduct": "Загрузка продукта...",
"individualPriceTotal": "Общая цена по отдельности:",
"setPrice": "Цена набора:",
"yourSavings": "Ваша экономия:",

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": "Ваш email не будет опубликован",
"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}}МБ",
"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С наилучшими пожеланиями"
};