i18n: wrap all formatStateUsing(fn(\$s)=>X::CONST[\$s]??\$s) with __() (21 files)

Previous sed pass only matched \$state; missed \$s and other arg-name
variants. This time the regex is arg-name-agnostic and touches 21
files across Filament resources & relation managers.

Also wraps two special cases: UserResource role-labels lookup and
LaborResource pricing_mode ternary ('Fix' | 'Pe oră').

+27 human translations for the enum values that were still identity
fallback: WorkOrderWork.STATUSES (De făcut), Purchase.STATUSES,
OnlineOrder.STATUSES, Call.DIRECTIONS/STATUSES, BodyshopJob.TYPES/
STATUSES, TireSet.SEASONS, MessageTemplate.CHANNELS,
DamagePoint.SEVERITIES, ServiceTemplateItem.KINDS.

All 306 tests pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-16 07:41:35 +00:00
parent e4e63a3a09
commit e969bb9c7d
25 changed files with 78 additions and 40 deletions
+22 -3
View File
@@ -307,6 +307,7 @@
"Caz asigurare": "Caz asigurare",
"Caz de asigurare": "Caz de asigurare",
"Ce a spus clientul...": "What the client said...",
"Ceramică": "Ceramic",
"Cere aprobarea": "Request approval",
"Cerere": "Lead",
"Cerere nouă": "New lead",
@@ -514,6 +515,7 @@
"Datorii clienți (de încasat)": "Client debts (to collect)",
"Daune": "Daune",
"De către": "By",
"De făcut": "To do",
"De la": "From",
"De la (preț achiziție)": "From (purchase price)",
"De la data": "From date",
@@ -569,12 +571,13 @@
"Descriere produs": "Product description",
"Description": "Description",
"Deselect all": "Deselect all",
"Detailing": "Detailing",
"Detalii": "Details",
"Detalii (opțional)": "Details (optional)",
"Detalii auto": "Vehicle details",
"Detalii client": "Client details",
"Detalii comandă": "Order details",
"Deviz": "Deviz",
"Deviz": "Estimate",
"Dezactivare": "Deactivation",
"Dezactivează": "Deactivate",
"Dezactivează 2FA pentru acest utilizator. Va trebui să re-configureze TOTP la următoarea autentificare.": "Dezactivează 2FA pentru acest utilizator. Va trebui să re-configureze TOTP la următoarea autentificare.",
@@ -639,6 +642,7 @@
"Email admin": "Email admin",
"Email verified at": "Email verified",
"Email:": "Email:",
"Emisă": "Issued",
"Empty": "No results",
"Enabled": "Enabled",
"End": "End",
@@ -668,6 +672,7 @@
"Excepții": "Overrides",
"Excepții drepturi": "Permission overrides",
"Există deja un cont cu acest telefon.": "An account with this phone already exists.",
"Expediat": "Shipped",
"Expense": "Expense",
"Expenses": "Expenses",
"Expiră": "Expires",
@@ -705,6 +710,7 @@
"Finalizat": "Done",
"Financiar": "Financial",
"Finanțe": "Finance",
"Fix": "Fixed",
"Fișe": "Orders",
"Fișe active": "Active orders",
"Fișe deschise": "Open orders",
@@ -790,7 +796,7 @@
"Identificare": "Identification",
"Identitate": "Identitate",
"Ieri": "Yesterday",
"Ieșire": "Logout",
"Ieșire": "Outgoing",
"Ieșiri": "Outflow",
"Image": "Image",
"Images": "Images",
@@ -827,6 +833,7 @@
"Interval": "Interval",
"Interval dată": "Date range",
"Interval orar": "Time range",
"Intrare": "Incoming",
"Intrat": "Intrat",
"Inventar": "Inventory",
"Invitație": "Invitation",
@@ -1195,11 +1202,13 @@
"Owner": "Owner",
"Owner = drepturi totale. Admin = aproape la fel. Sales = doar tenanți + planuri. Finance = facturi. Support = read-only.": "Owner = drepturi totale. Admin = aproape la fel. Sales = doar tenanți + planuri. Finance = facturi. Support = read-only.",
"PDF": "PDF",
"PDR": "PDR",
"PNG/ICO, max 512 KB.": "PNG/ICO, max 512 KB.",
"PNG/SVG, max 2 MB. Apare în sidebar.": "PNG/SVG, max 2 MB. Apare în sidebar.",
"PO": "PO",
"POS": "POS",
"POST /api/v1/login": "POST /api/v1/login",
"PPF": "PPF",
"Pagina": "Page",
"Pagini": "Pages",
"Paid at": "Paid at",
@@ -1229,6 +1238,7 @@
"Payment method": "Payment method",
"Payments": "Payments",
"Paynet": "Paynet",
"Pe oră": "Hourly",
"Pe pauză": "Paused",
"Pe status": "Pe status",
"Penalizări": "Penalties",
@@ -1287,6 +1297,7 @@
"Pod / Zi": "Bay / Day",
"Pod / spațiu": "Bay / space",
"Pod × Zile": "Bay × Days",
"Polish": "Polish",
"Politica de confidențialitate": "Privacy policy",
"Politici": "Policies",
"Pontaj": "Timesheet",
@@ -1384,6 +1395,7 @@
"Published": "Published",
"Purchase": "Purchase",
"Purchases": "Purchases",
"Push": "Push",
"Putere": "Power",
"Pâlnie": "Pipeline",
"Până la": "To",
@@ -1401,6 +1413,7 @@
"Rapoarte": "Reports",
"Raport": "Report",
"Rata conversie": "Conversion rate",
"Ratat": "Missed",
"Rate": "Rate",
"Rating": "Rating",
"Rating actualizat → {$score}★": "Rating actualizat → {$score}★",
@@ -1451,6 +1464,7 @@
"Renunță": "Cancel",
"Reordonează": "Reorder",
"Reparație": "Repair",
"Reparație caroserie": "Body repair",
"Reparații": "Repairs",
"Report": "Report",
"Reports": "Reports",
@@ -1484,6 +1498,7 @@
"Rezultate": "Results",
"Rezumat": "Summary",
"Reîmprospătează": "Refresh",
"Ridicare la service": "Pickup at service",
"Ridicat": "High",
"Robotizată": "Robotized",
"Rol": "Role",
@@ -1500,7 +1515,7 @@
"Rânduri": "Rows",
"Rânduri per pagină": "Rows per page",
"Rămas": "Remaining",
"Răspuns": "Responded",
"Răspuns": "Answered",
"Răspuns AI ne-parsabil ca JSON.": "Răspuns AI ne-parsabil ca JSON.",
"SMS": "SMS",
"SUV": "SUV",
@@ -1590,6 +1605,7 @@
"Setări plăți salvate": "Setări plăți salvate",
"Setări salvate": "Setări salvate",
"Setările au fost salvate. Hai să adăugăm primul client.": "Setările au fost salvate. Hai să adăugăm primul client.",
"Sever": "Severe",
"Sex": "Gender",
"Sezon": "Sezon",
"Sfat": "Tip",
@@ -1839,6 +1855,7 @@
"Uzat": "Worn",
"Uzură (mm) per poziție": "Uzură (mm) per poziție",
"Uzură min": "Min wear",
"Ușor": "Minor",
"VIN": "VIN",
"VIN căutare & piese": "VIN căutare & piese",
"VIN trebuie să aibă cel puțin 11 caractere.": "VIN trebuie să aibă cel puțin 11 caractere.",
@@ -1887,6 +1904,7 @@
"Vizual": "Visual",
"Vizualizează": "View",
"Vizualizări": "Views",
"Vopsire": "Painting",
"Vânzări": "Vânzări",
"Vârstă max (ani)": "Max age (years)",
"Vârstă min (ani)": "Min age (years)",
@@ -2177,6 +2195,7 @@
"În depozit": "In stock",
"În lucru": "In progress",
"În pipeline": "In pipeline",
"În procesare": "Processing",
"În trial": "In trial",
"Înainte": "Back",
"Înapoi": "Back",
+28 -9
View File
@@ -162,7 +162,7 @@
"Anul acesta": "В этом году",
"Anul curent": "Текущий год",
"Anul trecut": "Прошлый год",
"Anulat": "Отменено",
"Anulat": "Отменён",
"Anulată": "Отменено",
"Anulează": "Отмена",
"Anulează fișa": "Отменить наряд",
@@ -307,6 +307,7 @@
"Caz asigurare": "Caz asigurare",
"Caz de asigurare": "Caz de asigurare",
"Ce a spus clientul...": "Что сказал клиент...",
"Ceramică": "Керамика",
"Cere aprobarea": "Запросить одобрение",
"Cerere": "Заявка",
"Cerere nouă": "Новая заявка",
@@ -404,7 +405,7 @@
"Configurări avansate": "Расширенная конфигурация",
"Confirm password": "Подтверждение пароля",
"Confirmare plată primită": "Оплата получена",
"Confirmat": "Подтверждено",
"Confirmat": "Подтверждён",
"Confirmate": "Подтверждено",
"Confirmă": "Подтвердить",
"Confirmă că mecanicul ia fizic piesa din depozit. Stocul scade acum, fără să aștepți închiderea fișei.": "Confirmă că mecanicul ia fizic piesa din depozit. Stocul scade acum, fără să aștepți închiderea fișei.",
@@ -514,6 +515,7 @@
"Datorii clienți (de încasat)": "Задолженности клиентов (к получению)",
"Daune": "Daune",
"De către": "Кем",
"De făcut": "К выполнению",
"De la": "С",
"De la (preț achiziție)": "От (цена закупки)",
"De la data": "С даты",
@@ -569,12 +571,13 @@
"Descriere produs": "Описание товара",
"Description": "Описание",
"Deselect all": "Снять выбор",
"Detailing": "Детейлинг",
"Detalii": "Подробности",
"Detalii (opțional)": "Детали (опционально)",
"Detalii auto": "Данные авто",
"Detalii client": "Данные клиента",
"Detalii comandă": "Данные заказа",
"Deviz": "Deviz",
"Deviz": "Смета",
"Dezactivare": "Деактивация",
"Dezactivează": "Деактивировать",
"Dezactivează 2FA pentru acest utilizator. Va trebui să re-configureze TOTP la următoarea autentificare.": "Dezactivează 2FA pentru acest utilizator. Va trebui să re-configureze TOTP la următoarea autentificare.",
@@ -639,6 +642,7 @@
"Email admin": "Email admin",
"Email verified at": "Email подтверждён",
"Email:": "Email:",
"Emisă": "Создана",
"Empty": "Нет результатов",
"Enabled": "Включён",
"End": "Конец",
@@ -668,6 +672,7 @@
"Excepții": "Исключения",
"Excepții drepturi": "Исключения прав",
"Există deja un cont cu acest telefon.": "Аккаунт с этим номером уже существует.",
"Expediat": "Отправлен",
"Expense": "Расход",
"Expenses": "Расходы",
"Expiră": "Истекает",
@@ -705,6 +710,7 @@
"Finalizat": "Завершено",
"Financiar": "Финансы",
"Finanțe": "Финансы",
"Fix": "Фикс.",
"Fișe": "Наряды",
"Fișe active": "Активные наряды",
"Fișe deschise": "Открытые наряды",
@@ -790,7 +796,7 @@
"Identificare": "Идентификация",
"Identitate": "Identitate",
"Ieri": "Вчера",
"Ieșire": "Выход",
"Ieșire": "Исходящий",
"Ieșiri": "Расход",
"Image": "Изображение",
"Images": "Изображения",
@@ -827,6 +833,7 @@
"Interval": "Интервал",
"Interval dată": "Диапазон дат",
"Interval orar": "Часовой интервал",
"Intrare": "Входящий",
"Intrat": "Intrat",
"Inventar": "Инвентаризация",
"Invitație": "Приглашение",
@@ -895,7 +902,7 @@
"Livrare": "Livrare",
"Livrare (zile)": "Livrare (zile)",
"Livrare gratuită peste": "Бесплатная доставка от",
"Livrat": "Доставлено",
"Livrat": "Доставлен",
"Loading": "Загрузка...",
"Loc.": "Loc.",
"Local": "Локально",
@@ -990,7 +997,7 @@
"Mecanic implicit": "Механик по умолчанию",
"Mecanici": "Механики",
"Medie": "Среднее",
"Mediu": "Средний",
"Mediu": "Среднее",
"Merchant Code": "Merchant Code",
"Mesaj": "Mesaj",
"Mesaj client": "Mesaj client",
@@ -1195,11 +1202,13 @@
"Owner": "Владелец",
"Owner = drepturi totale. Admin = aproape la fel. Sales = doar tenanți + planuri. Finance = facturi. Support = read-only.": "Owner = drepturi totale. Admin = aproape la fel. Sales = doar tenanți + planuri. Finance = facturi. Support = read-only.",
"PDF": "PDF",
"PDR": "PDR",
"PNG/ICO, max 512 KB.": "PNG/ICO, max 512 KB.",
"PNG/SVG, max 2 MB. Apare în sidebar.": "PNG/SVG, max 2 MB. Apare în sidebar.",
"PO": "PO",
"POS": "POS",
"POST /api/v1/login": "POST /api/v1/login",
"PPF": "PPF",
"Pagina": "Страница",
"Pagini": "Страницы",
"Paid at": "Оплачено",
@@ -1229,6 +1238,7 @@
"Payment method": "Способ оплаты",
"Payments": "Платежи",
"Paynet": "Paynet",
"Pe oră": "Почасовая",
"Pe pauză": "На паузе",
"Pe status": "Pe status",
"Penalizări": "Штрафы",
@@ -1287,6 +1297,7 @@
"Pod / Zi": "Пост / День",
"Pod / spațiu": "Пост / место",
"Pod × Zile": "Пост × Дни",
"Polish": "Полироль",
"Politica de confidențialitate": "Политика конфиденциальности",
"Politici": "Политики",
"Pontaj": "Табель",
@@ -1384,6 +1395,7 @@
"Published": "Опубликовано",
"Purchase": "Закупка",
"Purchases": "Закупки",
"Push": "Push",
"Putere": "Мощность",
"Pâlnie": "Воронка",
"Până la": "До",
@@ -1401,6 +1413,7 @@
"Rapoarte": "Отчёты",
"Raport": "Отчёт",
"Rata conversie": "Конверсия",
"Ratat": "Пропущенный",
"Rate": "Ставка",
"Rating": "Рейтинг",
"Rating actualizat → {$score}★": "Rating actualizat → {$score}★",
@@ -1421,8 +1434,8 @@
"Recepționat": "Принято",
"Recepționat — batch creat": "Recepționat — batch creat",
"Recepționată": "Принято",
"Recepționată parțial": "Частично принято",
"Recepționată total": "Полностью принято",
"Recepționată parțial": "Частично принята",
"Recepționată total": "Полностью принята",
"Recepționează": "Принять",
"Recomandat": "Рекомендуется",
"Recomandate": "Рекомендуемые",
@@ -1451,6 +1464,7 @@
"Renunță": "Отменить",
"Reordonează": "Изменить порядок",
"Reparație": "Ремонт",
"Reparație caroserie": "Ремонт кузова",
"Reparații": "Ремонты",
"Report": "Отчёт",
"Reports": "Отчёты",
@@ -1484,6 +1498,7 @@
"Rezultate": "Результаты",
"Rezumat": "Резюме",
"Reîmprospătează": "Обновить",
"Ridicare la service": "Самовывоз в сервисе",
"Ridicat": "Высокий",
"Robotizată": "Робот",
"Rol": "Роль",
@@ -1500,7 +1515,7 @@
"Rânduri": "Строки",
"Rânduri per pagină": "Строк на странице",
"Rămas": "Осталось",
"Răspuns": "Отвечено",
"Răspuns": "Отвечен",
"Răspuns AI ne-parsabil ca JSON.": "Răspuns AI ne-parsabil ca JSON.",
"SMS": "SMS",
"SUV": "SUV",
@@ -1590,6 +1605,7 @@
"Setări plăți salvate": "Setări plăți salvate",
"Setări salvate": "Setări salvate",
"Setările au fost salvate. Hai să adăugăm primul client.": "Setările au fost salvate. Hai să adăugăm primul client.",
"Sever": "Тяжёлое",
"Sex": "Пол",
"Sezon": "Sezon",
"Sfat": "Совет",
@@ -1839,6 +1855,7 @@
"Uzat": "Изношено",
"Uzură (mm) per poziție": "Uzură (mm) per poziție",
"Uzură min": "Мин. износ",
"Ușor": "Лёгкое",
"VIN": "VIN",
"VIN căutare & piese": "VIN căutare & piese",
"VIN trebuie să aibă cel puțin 11 caractere.": "VIN trebuie să aibă cel puțin 11 caractere.",
@@ -1887,6 +1904,7 @@
"Vizual": "Визуально",
"Vizualizează": "Просмотр",
"Vizualizări": "Просмотры",
"Vopsire": "Покраска",
"Vânzări": "Vânzări",
"Vârstă max (ani)": "Макс. возраст (лет)",
"Vârstă min (ani)": "Мин. возраст (лет)",
@@ -2177,6 +2195,7 @@
"În depozit": "На складе",
"În lucru": "В работе",
"În pipeline": "В воронке",
"În procesare": "В обработке",
"În trial": "В триале",
"Înainte": "Назад",
"Înapoi": "Назад",