i18n: fix widget heading, translate Select options from model consts, +40 keys
- LowStockTable: rename getHeading → getTableHeading (correct Filament API) - Global I18n::opts() helper wraps Model::CONST values in __() so Select dropdowns show translated status/type/season/etc. labels - Sed-transform ->options(X::CONST), ->options(array_combine(X::A,X::A)), and formatStateUsing(fn($s)=>X::CONST[$s]??$s) → wrap with __() (58 options + 10 combines + 7 formatStateUsing across 28 files) - CalendarBoard: all 7 day names now via __() (was missing 4) - calendar-board.blade: fix untranslated 'săptămâna curentă', 'capacitate', 'rata confirmare', 'mediu', 'plin', 'Pod / Zi' / 'Mecanic / Zi' - +40 RU/EN translations (Client & Auto, Maistru / Mecanic, Programat, Sosit, Finalizat, Anulat, Neprezentat, days of week, calendar KPIs) All 306 tests pass. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
+40
-22
@@ -250,7 +250,7 @@
|
||||
"Blochez": "Блокировать",
|
||||
"Blochez lucrarea": "Заблокировать работу",
|
||||
"Boală": "Больничный",
|
||||
"Body type": "Кузов",
|
||||
"Body type": "Тип кузова",
|
||||
"Bon": "Чек",
|
||||
"Bonuri": "Чеки",
|
||||
"Bot OK: @{$name}": "Bot OK: @{$name}",
|
||||
@@ -259,6 +259,7 @@
|
||||
"Brand": "Бренд",
|
||||
"Brand & contact": "Бренд и контакты",
|
||||
"Break": "Универсал",
|
||||
"Budget": "Бюджет",
|
||||
"Buget": "Бюджет",
|
||||
"Buget & rezultate (luna curentă)": "Бюджет и результаты (текущий месяц)",
|
||||
"Bulk actions": "Массовые действия",
|
||||
@@ -327,9 +328,9 @@
|
||||
"Class": "Класс",
|
||||
"Clasă (pentru pricing)": "Класс (для тарификации)",
|
||||
"Claude API Key": "Claude API Key",
|
||||
"Click pentru a redenumi": "Click pentru a redenumi",
|
||||
"Click pentru a redenumi": "Кликните для переименования",
|
||||
"Client": "Клиент",
|
||||
"Client & Auto": "Client & Auto",
|
||||
"Client & Auto": "Клиент и авто",
|
||||
"Client (nume, semnătură):": "Клиент (имя, подпись):",
|
||||
"Client / Auto": "Client / Auto",
|
||||
"Client CRM": "Клиент CRM",
|
||||
@@ -371,6 +372,7 @@
|
||||
"Comandat": "Comandat",
|
||||
"Comandată": "Заказана",
|
||||
"Comandă": "Заказ",
|
||||
"Comandă emisă": "Заказ создан",
|
||||
"Comandă nouă #": "Новый заказ #",
|
||||
"Comandă primită": "Заказ получен",
|
||||
"Combustibil": "Топливо",
|
||||
@@ -458,6 +460,8 @@
|
||||
"Culoare brand": "Цвет бренда",
|
||||
"Culoare în calendar": "Цвет в календаре",
|
||||
"Cum folosești API-ul:": "Как использовать API:",
|
||||
"Cum funcționează": "Как работает",
|
||||
"Cum funcționează:": "Как работает:",
|
||||
"Cumul.": "Cumul.",
|
||||
"Cumulabil": "Cumulabil",
|
||||
"Cumulabil = se înmulțește cu alți coeficienți. Necumulabil = doar cel mai mare necumulabil se aplică.": "Cumulabil = se înmulțește cu alți coeficienți. Necumulabil = doar cel mai mare necumulabil se aplică.",
|
||||
@@ -688,7 +692,7 @@
|
||||
"Filters": "Фильтры",
|
||||
"Filtre": "Фильтры",
|
||||
"Filtru": "Фильтр",
|
||||
"Filtru:": "Filtru:",
|
||||
"Filtru:": "Фильтр:",
|
||||
"Finalizat": "Завершено",
|
||||
"Financiar": "Financiar",
|
||||
"Finanțe": "Финансы",
|
||||
@@ -756,7 +760,7 @@
|
||||
"Gol — trage un card aici": "Пусто — перетащите карточку сюда",
|
||||
"Grafic": "График",
|
||||
"Gravitate": "Gravitate",
|
||||
"Grupare:": "Grupare:",
|
||||
"Grupare:": "Группировка:",
|
||||
"Grupează manopere + piese frecvente într-un șablon (ex: „Schimb ulei complet": "Grupează manopere + piese frecvente într-un șablon (ex: „Schimb ulei complet",
|
||||
"Grupează manopere + piese frecvente într-un șablon (ex: „Schimb ulei complet\") și aplică-l pe o fișă cu un click.": "Grupează manopere + piese frecvente într-un șablon (ex: „Schimb ulei complet\") și aplică-l pe o fișă cu un click.",
|
||||
"Găsite (cu articol existent)": "Найдено (с существующим артикулом)",
|
||||
@@ -898,6 +902,8 @@
|
||||
"Logout": "Выход",
|
||||
"Loturi": "Loturi",
|
||||
"Loturi (FIFO)": "Loturi (FIFO)",
|
||||
"Low Stock Table": "Остаток ниже минимума",
|
||||
"Low stock": "Ниже минимума",
|
||||
"Lucrare": "Lucrare",
|
||||
"Lucrare blocată": "Работа заблокирована",
|
||||
"Lucrări": "Работы",
|
||||
@@ -908,7 +914,7 @@
|
||||
"Luna trecută": "Прошлый месяц",
|
||||
"Luna următoare ▶": "Следующий месяц ▶",
|
||||
"Lunar": "Lunar",
|
||||
"Luni": "Месяцы",
|
||||
"Luni": "Понедельник",
|
||||
"Luni (zi)": "Понедельник",
|
||||
"Luni – Vineri: 08:00 – 18:00": "Luni – Vineri: 08:00 – 18:00",
|
||||
"Lună": "Месяц",
|
||||
@@ -924,7 +930,7 @@
|
||||
"Mai": "Май",
|
||||
"Mai mic = aplicat primul.": "Mai mic = aplicat primul.",
|
||||
"Maistru": "Мастер",
|
||||
"Maistru / Mecanic": "Maistru / Mecanic",
|
||||
"Maistru / Mecanic": "Мастер / Механик",
|
||||
"Maistru / Recepție:": "Мастер / Ресепшн:",
|
||||
"Make": "Марка",
|
||||
"Manager": "Менеджер",
|
||||
@@ -960,7 +966,7 @@
|
||||
"Marți": "Вторник",
|
||||
"Master": "Мастер",
|
||||
"Master name": "Мастер",
|
||||
"Matricea": "Matricea",
|
||||
"Matricea": "Матрица",
|
||||
"Max clienți": "Макс. клиентов",
|
||||
"Max fișe/lună": "Макс. нарядов/мес",
|
||||
"Max mașini": "Макс. авто",
|
||||
@@ -969,6 +975,7 @@
|
||||
"Mașina e gata de ridicat": "Авто готово к выдаче",
|
||||
"Mașini": "Автомобили",
|
||||
"Mecanic": "Механик",
|
||||
"Mecanic / Zi": "Механик / День",
|
||||
"Mecanic implicit": "Механик по умолчанию",
|
||||
"Mecanici": "Механики",
|
||||
"Medie": "Среднее",
|
||||
@@ -995,7 +1002,7 @@
|
||||
"Mod": "Режим",
|
||||
"Mod stub:": "Mod stub:",
|
||||
"Mod tarifare": "Mod tarifare",
|
||||
"Mod:": "Mod:",
|
||||
"Mod:": "Режим:",
|
||||
"Model": "Модель",
|
||||
"Model Claude": "Model Claude",
|
||||
"Model Gemini": "Model Gemini",
|
||||
@@ -1029,6 +1036,7 @@
|
||||
"Neconfirmate": "Не подтверждено",
|
||||
"Necunoscut": "Неизвестно",
|
||||
"Neplătit": "Не оплачено",
|
||||
"Neprezentat": "Не явился",
|
||||
"Nepublicat": "Не опубликовано",
|
||||
"Nesemnat": "Не подписано",
|
||||
"Nesincronizat": "Не синхронизировано",
|
||||
@@ -1077,7 +1085,7 @@
|
||||
"Niciun tenant încă": "Пока нет арендаторов",
|
||||
"Niciun șablon": "Нет шаблонов",
|
||||
"No": "Нет",
|
||||
"No-show alert": "No-show alert",
|
||||
"No-show alert": "No-show предупр.",
|
||||
"Noiembrie": "Ноябрь",
|
||||
"Norm hours": "Норма часов",
|
||||
"Norma ore": "Норма часов",
|
||||
@@ -1169,7 +1177,7 @@
|
||||
"Ore (normă)": "Часы (норма)",
|
||||
"Ore disponibile / zi": "Доступные часы / день",
|
||||
"Ore lucrate": "Отработанные часы",
|
||||
"Ore programate": "Ore programate",
|
||||
"Ore programate": "Запланированные часы",
|
||||
"Ore total": "Ore total",
|
||||
"Ore/zi": "Часов/день",
|
||||
"Owner": "Владелец",
|
||||
@@ -1264,7 +1272,9 @@
|
||||
"Plăți internaționale. Mai potrivit pentru clienți din afara MD.": "Plăți internaționale. Mai potrivit pentru clienți din afara MD.",
|
||||
"Pod": "Пост",
|
||||
"Pod / Spațiu lucru": "Пост / рабочее место",
|
||||
"Pod / Zi": "Пост / День",
|
||||
"Pod / spațiu": "Пост / место",
|
||||
"Pod × Zile": "Пост × Дни",
|
||||
"Politica de confidențialitate": "Политика конфиденциальности",
|
||||
"Politici": "Политики",
|
||||
"Pontaj": "Табель",
|
||||
@@ -1397,6 +1407,8 @@
|
||||
"Recepționat": "Принято",
|
||||
"Recepționat — batch creat": "Recepționat — batch creat",
|
||||
"Recepționată": "Принято",
|
||||
"Recepționată parțial": "Частично принято",
|
||||
"Recepționată total": "Полностью принято",
|
||||
"Recepționează": "Принять",
|
||||
"Recomandat": "Рекомендуется",
|
||||
"Recomandate": "Рекомендуемые",
|
||||
@@ -1637,7 +1649,7 @@
|
||||
"Suspensie": "Подвеска",
|
||||
"Sâmbătă": "Суббота",
|
||||
"Sâmbătă: 09:00 – 14:00": "Sâmbătă: 09:00 – 14:00",
|
||||
"Săpt": "Săpt",
|
||||
"Săpt": "Нед",
|
||||
"Săpt. lucrătoare": "Раб. дни",
|
||||
"Săpt. următoare →": "Săpt. următoare →",
|
||||
"Săptămâna aceasta": "На этой неделе",
|
||||
@@ -1744,9 +1756,10 @@
|
||||
"Total în baza de date": "Всего в базе",
|
||||
"Total încasat": "Total încasat",
|
||||
"Total înregistrate": "Всего зарегистрировано",
|
||||
"Toți": "Все",
|
||||
"Toți VIP-ii sunt în contact recent.": "Toți VIP-ii sunt în contact recent.",
|
||||
"Toți clienții": "Все клиенты",
|
||||
"Toți mecanicii": "Toți mecanicii",
|
||||
"Toți mecanicii": "Все механики",
|
||||
"Toți utilizatorii": "Все пользователи",
|
||||
"Tracking & ETA": "Отслеживание и ETA",
|
||||
"Tracțiune": "Привод",
|
||||
@@ -1827,7 +1840,7 @@
|
||||
"Vehicle class": "Класс авто",
|
||||
"Vehicle make": "Марка авто",
|
||||
"Vehicle model": "Модель авто",
|
||||
"Vehicle plate": "Гос. номер авто",
|
||||
"Vehicle plate": "Гос. номер",
|
||||
"Vehicul": "Транспорт",
|
||||
"Vehicul existent": "Существующий транспорт",
|
||||
"Vehicul nou": "Новый транспорт",
|
||||
@@ -1887,7 +1900,7 @@
|
||||
"Yes": "Да",
|
||||
"ZIP": "ZIP",
|
||||
"ZIP cu fișiere JSON (1 per tabel) + media + manifest.json.": "ZIP cu fișiere JSON (1 per tabel) + media + manifest.json.",
|
||||
"Zi": "Zi",
|
||||
"Zi": "День",
|
||||
"Zile": "Дни",
|
||||
"Zile libere": "Выходные",
|
||||
"Zile livrare": "Zile livrare",
|
||||
@@ -1914,6 +1927,7 @@
|
||||
"call": "Звонок",
|
||||
"canal": "канал",
|
||||
"canale marketing": "canale marketing",
|
||||
"capacitate": "загрузка",
|
||||
"cerere": "заявка",
|
||||
"cereri": "заявки",
|
||||
"cheltuială": "cheltuială",
|
||||
@@ -1958,7 +1972,7 @@
|
||||
"instagram": "Instagram",
|
||||
"jurnal": "журнал",
|
||||
"la fiecare request": "la fiecare request",
|
||||
"liber/ușor": "liber/ușor",
|
||||
"liber/ușor": "свободно/легко",
|
||||
"linii neîncasate.": "linii neîncasate.",
|
||||
"lucrare caroserie": "кузовная работа",
|
||||
"lucrare terți": "работа субподрядчика",
|
||||
@@ -1966,6 +1980,7 @@
|
||||
"lucrări terți": "работы субподрядчиков",
|
||||
"mașini": "машины",
|
||||
"mașină": "машина",
|
||||
"mediu": "средняя",
|
||||
"mergi la Setări → Asistent AI și adaugă cheia API (Claude / GPT / Gemini).": "mergi la Setări → Asistent AI și adaugă cheia API (Claude / GPT / Gemini).",
|
||||
"new": "новый",
|
||||
"niciodată": "niciodată",
|
||||
@@ -1980,6 +1995,7 @@
|
||||
"plan": "plan",
|
||||
"planuri": "planuri",
|
||||
"plată": "plată",
|
||||
"plin": "полная",
|
||||
"plăți": "plăți",
|
||||
"pod": "пост",
|
||||
"portal.common.currency_mdl": "portal.common.currency_mdl",
|
||||
@@ -2098,8 +2114,9 @@
|
||||
"posturi de lucru": "posturi de lucru",
|
||||
"programare": "запись",
|
||||
"programări": "записи",
|
||||
"programări active": "programări active",
|
||||
"programări neconfirmate < 24h": "programări neconfirmate < 24h",
|
||||
"programări active": "активные записи",
|
||||
"programări neconfirmate < 24h": "неподтверждённые записи < 24ч",
|
||||
"rata confirmare": "коэф. подтверждения",
|
||||
"referral": "Рекомендация",
|
||||
"reguli markup": "reguli markup",
|
||||
"regulă": "regulă",
|
||||
@@ -2113,6 +2130,7 @@
|
||||
"site": "Сайт",
|
||||
"subcontractor": "субподрядчик",
|
||||
"subcontractori": "субподрядчики",
|
||||
"săptămâna curentă": "текущая неделя",
|
||||
"tehnician": "техник",
|
||||
"tehnicieni": "техники",
|
||||
"telegram": "Telegram",
|
||||
@@ -2149,11 +2167,11 @@
|
||||
"Închide": "Закрыть",
|
||||
"Închide fișa": "Закрыть наряд",
|
||||
"Închis": "Закрыт",
|
||||
"Închis (Duminică/sărbătoare)": "Închis (Duminică/sărbătoare)",
|
||||
"Închis (Duminică/sărbătoare)": "Закрыто (Воскр./праздник)",
|
||||
"Închis la": "Закрыт",
|
||||
"Închise azi": "Закрыто сегодня",
|
||||
"Încărcare STO": "Загрузка СТО",
|
||||
"Încărcare celulă": "Încărcare celulă",
|
||||
"Încărcare celulă": "Загрузка ячейки",
|
||||
"Încărcare service": "Загрузка сервиса",
|
||||
"Înregistrare": "Регистрация",
|
||||
"Înregistrat": "Зарегистрирован",
|
||||
@@ -2193,13 +2211,13 @@
|
||||
"↗ Deschide Purchase": "↗ Deschide Purchase",
|
||||
"↗ Deschide comanda în Filament": "↗ Deschide comanda în Filament",
|
||||
"↗ Editare": "↗ Editare",
|
||||
"≥9h/10": "≥9h/10",
|
||||
"≥9h/10": "≥9ч/10",
|
||||
"⏰ Abonament expirat": "⏰ Abonament expirat",
|
||||
"⏹ Oprește": "⏹ Oprește",
|
||||
"◀ Luna precedentă": "◀ Предыдущий месяц",
|
||||
"⚖️ Balanță": "⚖️ Balanță",
|
||||
"⚙ Configurare tenant": "⚙ Configurare tenant",
|
||||
"⚙ Cum funcționează:": "⚙ Cum funcționează:",
|
||||
"⚙ Cum funcționează:": "⚙ Как работает:",
|
||||
"⚠ Acțiune necesară": "⚠ Требуется действие",
|
||||
"⚠ Backup-urile pot conține date sensibile (telefoane, emailuri, plăți). Stochează-le în siguranță.": "⚠ Backup-urile pot conține date sensibile (telefoane, emailuri, plăți). Stochează-le în siguranță.",
|
||||
"⚠ Fără plan": "⚠ Fără plan",
|
||||
|
||||
Reference in New Issue
Block a user