Deploy 1: i18n + Notifications + Global Search + Tests

- SetLocale middleware (ro/ru/en, session-first, user-persisted)
- Lang switcher in topbar (Filament render hook USER_MENU_BEFORE)
- POST /locale/{lang} route persists to user.locale + session
- Database notifications enabled on tenant panel (30s polling)
- GlobalSearch (Cmd+K / Ctrl+K) on Client, Vehicle, WorkOrder, Lead, Part
- Tests: TenantIsolation (4), AuthFlow (2), WorkOrderCalc (3), MarkupRule (3)
This commit is contained in:
2026-05-07 18:22:48 +00:00
parent 6c72fc7db1
commit d1e0695930
17 changed files with 770 additions and 0 deletions
+57
View File
@@ -0,0 +1,57 @@
{
"Dashboard": "Dashboard",
"Save": "Save",
"Cancel": "Cancel",
"Delete": "Delete",
"Edit": "Edit",
"Create": "Create",
"Search": "Search",
"Filters": "Filters",
"Reset": "Reset",
"Yes": "Yes",
"No": "No",
"Loading": "Loading...",
"Empty": "No results",
"Settings": "Settings",
"Profile": "Profile",
"Logout": "Logout",
"Welcome": "Welcome",
"Total": "Total",
"Date": "Date",
"Status": "Status",
"Actions": "Actions",
"Notifications": "Notifications",
"Clienți": "Clients",
"Mașini": "Vehicles",
"Cereri": "Leads",
"Pâlnie": "Pipeline",
"Calendar": "Calendar",
"Programări": "Appointments",
"Fișe lucru": "Work orders",
"Kanban": "Kanban",
"Norme-ore": "Labor times",
"Depozit": "Inventory",
"Furnizori": "Suppliers",
"Achiziții": "Purchases",
"Plăți": "Payments",
"Cheltuieli": "Expenses",
"Salarii": "Payroll",
"Tehnicieni": "Technicians",
"Marketing": "Marketing",
"Mesaje": "Messages",
"Rapoarte": "Reports",
"Recomandări": "Recommendations",
"Încărcare STO": "Workshop load",
"Procentaj": "Markup",
"VIN-căutare": "VIN search",
"Integrări": "Integrations",
"Backup": "Backup",
"Asistent AI": "AI Assistant",
"Setări companie": "Company settings",
"Utilizatori": "Users",
"Jurnal": "Audit log",
"Telefonie": "Calls",
"Finanțe": "Finance",
"Site PSauto": "Public site"
}
+24
View File
@@ -0,0 +1,24 @@
{
"Dashboard": "Tablou de bord",
"Save": "Salvează",
"Cancel": "Anulează",
"Delete": "Șterge",
"Edit": "Editează",
"Create": "Creează",
"Search": "Caută",
"Filters": "Filtre",
"Reset": "Resetează",
"Yes": "Da",
"No": "Nu",
"Loading": "Se încarcă...",
"Empty": "Niciun rezultat",
"Settings": "Setări",
"Profile": "Profil",
"Logout": "Ieșire",
"Welcome": "Bine ai venit",
"Total": "Total",
"Date": "Dată",
"Status": "Status",
"Actions": "Acțiuni",
"Notifications": "Notificări"
}
+57
View File
@@ -0,0 +1,57 @@
{
"Dashboard": "Панель",
"Save": "Сохранить",
"Cancel": "Отмена",
"Delete": "Удалить",
"Edit": "Изменить",
"Create": "Создать",
"Search": "Поиск",
"Filters": "Фильтры",
"Reset": "Сбросить",
"Yes": "Да",
"No": "Нет",
"Loading": "Загрузка...",
"Empty": "Нет результатов",
"Settings": "Настройки",
"Profile": "Профиль",
"Logout": "Выход",
"Welcome": "Добро пожаловать",
"Total": "Итого",
"Date": "Дата",
"Status": "Статус",
"Actions": "Действия",
"Notifications": "Уведомления",
"Clienți": "Клиенты",
"Mașini": "Машины",
"Cereri": "Заявки",
"Pâlnie": "Воронка",
"Calendar": "Календарь",
"Programări": "Записи",
"Fișe lucru": "Рабочие листы",
"Kanban": "Канбан",
"Norme-ore": "Нормо-часы",
"Depozit": "Склад",
"Furnizori": "Поставщики",
"Achiziții": "Закупки",
"Plăți": "Платежи",
"Cheltuieli": "Расходы",
"Salarii": "Зарплаты",
"Tehnicieni": "Техники",
"Marketing": "Маркетинг",
"Mesaje": "Сообщения",
"Rapoarte": "Отчёты",
"Recomandări": "Рекомендации",
"Încărcare STO": "Загрузка СТО",
"Procentaj": "Наценка",
"VIN-căutare": "VIN-поиск",
"Integrări": "Интеграции",
"Backup": "Бэкап",
"Asistent AI": "AI Ассистент",
"Setări companie": "Настройки компании",
"Utilizatori": "Пользователи",
"Jurnal": "Журнал",
"Telefonie": "Телефония",
"Finanțe": "Финансы",
"Site PSauto": "Сайт"
}