i18n(work-order-edit): translate tab, tracking-link modal + widen for QR
- getContentTabLabel: 'ⓘ Info & antet' now goes through __()
- Tracking-client modal heading translated ('Tracking client — WO #…')
- Both 'Închide' cancel labels wrapped in __()
- Tracking modal widened to 'lg' so the QR + link input fit without overlap
- Notification 'Șablon aplicat' template built with __() so RU/EN see
translated pieces
- +16 translations covering the QR modal, Info tab, Închide etc.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -20,7 +20,7 @@ class EditWorkOrder extends EditRecord
|
|||||||
|
|
||||||
public function getContentTabLabel(): ?string
|
public function getContentTabLabel(): ?string
|
||||||
{
|
{
|
||||||
return 'ⓘ Info & antet';
|
return 'ⓘ ' . __('Info & antet');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getContentTabPosition(): ?\Filament\Resources\Pages\Enums\ContentTabPosition
|
public function getContentTabPosition(): ?\Filament\Resources\Pages\Enums\ContentTabPosition
|
||||||
@@ -49,7 +49,7 @@ class EditWorkOrder extends EditRecord
|
|||||||
$r = app(\App\Services\ServiceComposer::class)->applyTemplate($this->record, $template);
|
$r = app(\App\Services\ServiceComposer::class)->applyTemplate($this->record, $template);
|
||||||
$this->fillForm();
|
$this->fillForm();
|
||||||
\Filament\Notifications\Notification::make()
|
\Filament\Notifications\Notification::make()
|
||||||
->title("Șablon aplicat: {$r['labor']} manopere, {$r['parts']} piese")
|
->title(__('Șablon aplicat') . ": {$r['labor']} " . __('manopere') . ", {$r['parts']} " . __('piese'))
|
||||||
->success()->send();
|
->success()->send();
|
||||||
}),
|
}),
|
||||||
Actions\Action::make('ai_diagnose')
|
Actions\Action::make('ai_diagnose')
|
||||||
@@ -59,7 +59,7 @@ class EditWorkOrder extends EditRecord
|
|||||||
->visible(fn () => ! empty($this->record->complaint))
|
->visible(fn () => ! empty($this->record->complaint))
|
||||||
->modalHeading(__('Diagnostic AI bazat pe plângerea clientului'))
|
->modalHeading(__('Diagnostic AI bazat pe plângerea clientului'))
|
||||||
->modalSubmitAction(false)
|
->modalSubmitAction(false)
|
||||||
->modalCancelActionLabel('Închide')
|
->modalCancelActionLabel(__('Închide'))
|
||||||
->modalContent(function () {
|
->modalContent(function () {
|
||||||
[$reply, $meta] = app(\App\Services\Ai\AiAssistantService::class)
|
[$reply, $meta] = app(\App\Services\Ai\AiAssistantService::class)
|
||||||
->suggestDiagnosis($this->record);
|
->suggestDiagnosis($this->record);
|
||||||
@@ -69,9 +69,10 @@ class EditWorkOrder extends EditRecord
|
|||||||
->label(__('Link client (QR)'))
|
->label(__('Link client (QR)'))
|
||||||
->icon('heroicon-m-qr-code')
|
->icon('heroicon-m-qr-code')
|
||||||
->color('primary')
|
->color('primary')
|
||||||
->modalHeading(fn () => 'Tracking client — WO #' . $this->record->number)
|
->modalHeading(fn () => __('Tracking client') . ' — WO #' . $this->record->number)
|
||||||
->modalSubmitAction(false)
|
->modalSubmitAction(false)
|
||||||
->modalCancelActionLabel('Închide')
|
->modalCancelActionLabel(__('Închide'))
|
||||||
|
->modalWidth('lg')
|
||||||
->modalContent(fn () => view('filament.tenant.tracking-qr', [
|
->modalContent(fn () => view('filament.tenant.tracking-qr', [
|
||||||
'wo' => $this->record,
|
'wo' => $this->record,
|
||||||
])),
|
])),
|
||||||
|
|||||||
+9
-5
@@ -560,7 +560,7 @@
|
|||||||
"Deschide fișa": "Open order",
|
"Deschide fișa": "Open order",
|
||||||
"Deschide fișa pentru aprobare lucrare/piesă.": "Open the order to approve work/part.",
|
"Deschide fișa pentru aprobare lucrare/piesă.": "Open the order to approve work/part.",
|
||||||
"Deschide tenantul": "Deschide tenantul",
|
"Deschide tenantul": "Deschide tenantul",
|
||||||
"Deschide →": "Deschide →",
|
"Deschide →": "Open →",
|
||||||
"Deschis": "Opened",
|
"Deschis": "Opened",
|
||||||
"Deschis la": "Opened at",
|
"Deschis la": "Opened at",
|
||||||
"Descrescător": "Descending",
|
"Descrescător": "Descending",
|
||||||
@@ -580,7 +580,7 @@
|
|||||||
"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.",
|
"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.",
|
||||||
"Diagnosis": "Diagnosis",
|
"Diagnosis": "Diagnosis",
|
||||||
"Diagnostic": "Diagnostic",
|
"Diagnostic": "Diagnostic",
|
||||||
"Diagnostic AI bazat pe plângerea clientului": "AI diagnosis based on client complaint",
|
"Diagnostic AI bazat pe plângerea clientului": "AI diagnosis based on the client complaint",
|
||||||
"Diagnosticare": "Diagnosis",
|
"Diagnosticare": "Diagnosis",
|
||||||
"Diagnoza": "Diagnosis",
|
"Diagnoza": "Diagnosis",
|
||||||
"Diagnoză": "Diagnosis",
|
"Diagnoză": "Diagnosis",
|
||||||
@@ -815,6 +815,7 @@
|
|||||||
"Importă lead-uri direct din Lead Ads forms.": "Import leads directly from Lead Ads forms.",
|
"Importă lead-uri direct din Lead Ads forms.": "Import leads directly from Lead Ads forms.",
|
||||||
"Inactiv": "Inactive",
|
"Inactiv": "Inactive",
|
||||||
"Inactive": "Inactive",
|
"Inactive": "Inactive",
|
||||||
|
"Info & antet": "Info & header",
|
||||||
"Infopanel": "Dashboard",
|
"Infopanel": "Dashboard",
|
||||||
"Informația de bază — click pe titlul secțiunilor de mai jos pentru detalii.": "Basic information — click on the section titles below for details.",
|
"Informația de bază — click pe titlul secțiunilor de mai jos pentru detalii.": "Basic information — click on the section titles below for details.",
|
||||||
"Informație": "Info",
|
"Informație": "Info",
|
||||||
@@ -882,7 +883,7 @@
|
|||||||
"Linia nu mai necesită aprobare.": "Line no longer needs approval.",
|
"Linia nu mai necesită aprobare.": "Line no longer needs approval.",
|
||||||
"Linii": "Linii",
|
"Linii": "Linii",
|
||||||
"Link": "Link",
|
"Link": "Link",
|
||||||
"Link client (QR)": "Link client (QR)",
|
"Link client (QR)": "Client link (QR)",
|
||||||
"Link tracking": "Tracking link",
|
"Link tracking": "Tracking link",
|
||||||
"Linkul expiră în 60 de minute. Dacă nu ai cerut tu acest reset, ignoră emailul — contul tău e în siguranță.": "Linkul expiră în 60 de minute. Dacă nu ai cerut tu acest reset, ignoră emailul — contul tău e în siguranță.",
|
"Linkul expiră în 60 de minute. Dacă nu ai cerut tu acest reset, ignoră emailul — contul tău e în siguranță.": "Linkul expiră în 60 de minute. Dacă nu ai cerut tu acest reset, ignoră emailul — contul tău e în siguranță.",
|
||||||
"Linkul expiră în 7 zile. Dacă nu te aștepți la această invitație, ignoră acest mesaj.\n\nMulțumim,": "Linkul expiră în 7 zile. Dacă nu te aștepți la această invitație, ignoră acest mesaj.\n\nMulțumim,",
|
"Linkul expiră în 7 zile. Dacă nu te aștepți la această invitație, ignoră acest mesaj.\n\nMulțumim,": "Linkul expiră în 7 zile. Dacă nu te aștepți la această invitație, ignoră acest mesaj.\n\nMulțumim,",
|
||||||
@@ -1779,6 +1780,7 @@
|
|||||||
"Toți mecanicii": "All mechanics",
|
"Toți mecanicii": "All mechanics",
|
||||||
"Toți utilizatorii": "All users",
|
"Toți utilizatorii": "All users",
|
||||||
"Tracking & ETA": "Tracking & ETA",
|
"Tracking & ETA": "Tracking & ETA",
|
||||||
|
"Tracking client": "Client tracking",
|
||||||
"Tracțiune": "Drive",
|
"Tracțiune": "Drive",
|
||||||
"Trage fișierul aici": "Drop file here",
|
"Trage fișierul aici": "Drop file here",
|
||||||
"Transfer": "Transfer",
|
"Transfer": "Transfer",
|
||||||
@@ -1794,7 +1796,7 @@
|
|||||||
"Trimite": "Send",
|
"Trimite": "Send",
|
||||||
"Trimite SMS": "Send SMS",
|
"Trimite SMS": "Send SMS",
|
||||||
"Trimite SMS-uri prin gateway local (Moldcell/Orange API).": "Trimite SMS-uri prin gateway local (Moldcell/Orange API).",
|
"Trimite SMS-uri prin gateway local (Moldcell/Orange API).": "Trimite SMS-uri prin gateway local (Moldcell/Orange API).",
|
||||||
"Trimite acest link clientului — vede statusul fișei, ETA și fotografiile fără să se logheze.": "Trimite acest link clientului — vede statusul fișei, ETA și fotografiile fără să se logheze.",
|
"Trimite acest link clientului — vede statusul fișei, ETA și fotografiile fără să se logheze.": "Send this link to the client — they see the order status, ETA and photos without logging in.",
|
||||||
"Trimite email": "Send email",
|
"Trimite email": "Send email",
|
||||||
"Trimite emailul standard de resetare a parolei către clientul magazinului.": "Trimite emailul standard de resetare a parolei către clientul magazinului.",
|
"Trimite emailul standard de resetare a parolei către clientul magazinului.": "Trimite emailul standard de resetare a parolei către clientul magazinului.",
|
||||||
"Trimite factură": "Send invoice",
|
"Trimite factură": "Send invoice",
|
||||||
@@ -2000,6 +2002,7 @@
|
|||||||
"lucrare terți": "subcontract job",
|
"lucrare terți": "subcontract job",
|
||||||
"lucrări caroserie": "bodyshop jobs",
|
"lucrări caroserie": "bodyshop jobs",
|
||||||
"lucrări terți": "subcontract jobs",
|
"lucrări terți": "subcontract jobs",
|
||||||
|
"manopere": "labors",
|
||||||
"mașini": "vehicles",
|
"mașini": "vehicles",
|
||||||
"mașină": "vehicle",
|
"mașină": "vehicle",
|
||||||
"mediu": "medium",
|
"mediu": "medium",
|
||||||
@@ -2011,7 +2014,7 @@
|
|||||||
"normă": "labor",
|
"normă": "labor",
|
||||||
"null = fără trial": "null = fără trial",
|
"null = fără trial": "null = fără trial",
|
||||||
"pentru a alege": "to select",
|
"pentru a alege": "to select",
|
||||||
"piese": "piese",
|
"piese": "parts",
|
||||||
"piesă": "piesă",
|
"piesă": "piesă",
|
||||||
"pk_test_...": "pk_test_...",
|
"pk_test_...": "pk_test_...",
|
||||||
"plan": "plan",
|
"plan": "plan",
|
||||||
@@ -2202,6 +2205,7 @@
|
|||||||
"Înregistrează seturile de anvelope ale clienților și gestionează depozitarea sezonieră (tire hotel). Urmărește uzura, TPMS și locația în depozit.": "Înregistrează seturile de anvelope ale clienților și gestionează depozitarea sezonieră (tire hotel). Urmărește uzura, TPMS și locația în depozit.",
|
"Înregistrează seturile de anvelope ale clienților și gestionează depozitarea sezonieră (tire hotel). Urmărește uzura, TPMS și locația în depozit.": "Înregistrează seturile de anvelope ale clienților și gestionează depozitarea sezonieră (tire hotel). Urmărește uzura, TPMS și locația în depozit.",
|
||||||
"Întreabă-mă orice — diagnostic, sumar, sugestii, redactare mesaje către clienți...": "Întreabă-mă orice — diagnostic, sumar, sugestii, redactare mesaje către clienți...",
|
"Întreabă-mă orice — diagnostic, sumar, sugestii, redactare mesaje către clienți...": "Întreabă-mă orice — diagnostic, sumar, sugestii, redactare mesaje către clienți...",
|
||||||
"Șabloane servicii": "Service templates",
|
"Șabloane servicii": "Service templates",
|
||||||
|
"Șablon aplicat": "Template applied",
|
||||||
"Șablon aplicat: {$r['labor']} manopere, {$r['parts']} piese": "Șablon aplicat: {$r['labor']} manopere, {$r['parts']} piese",
|
"Șablon aplicat: {$r['labor']} manopere, {$r['parts']} piese": "Șablon aplicat: {$r['labor']} manopere, {$r['parts']} piese",
|
||||||
"Șablon serviciu": "Service template",
|
"Șablon serviciu": "Service template",
|
||||||
"Șterge": "Delete",
|
"Șterge": "Delete",
|
||||||
|
|||||||
+9
-5
@@ -560,7 +560,7 @@
|
|||||||
"Deschide fișa": "Открыть наряд",
|
"Deschide fișa": "Открыть наряд",
|
||||||
"Deschide fișa pentru aprobare lucrare/piesă.": "Откройте наряд для одобрения работы/запчасти.",
|
"Deschide fișa pentru aprobare lucrare/piesă.": "Откройте наряд для одобрения работы/запчасти.",
|
||||||
"Deschide tenantul": "Deschide tenantul",
|
"Deschide tenantul": "Deschide tenantul",
|
||||||
"Deschide →": "Deschide →",
|
"Deschide →": "Открыть →",
|
||||||
"Deschis": "Открыт",
|
"Deschis": "Открыт",
|
||||||
"Deschis la": "Открыт",
|
"Deschis la": "Открыт",
|
||||||
"Descrescător": "По убыванию",
|
"Descrescător": "По убыванию",
|
||||||
@@ -815,6 +815,7 @@
|
|||||||
"Importă lead-uri direct din Lead Ads forms.": "Импорт лидов напрямую из форм Lead Ads.",
|
"Importă lead-uri direct din Lead Ads forms.": "Импорт лидов напрямую из форм Lead Ads.",
|
||||||
"Inactiv": "Неактивно",
|
"Inactiv": "Неактивно",
|
||||||
"Inactive": "Неактивный",
|
"Inactive": "Неактивный",
|
||||||
|
"Info & antet": "Инфо и шапка",
|
||||||
"Infopanel": "Инфопанель",
|
"Infopanel": "Инфопанель",
|
||||||
"Informația de bază — click pe titlul secțiunilor de mai jos pentru detalii.": "Основная информация — нажмите на заголовок секции ниже для деталей.",
|
"Informația de bază — click pe titlul secțiunilor de mai jos pentru detalii.": "Основная информация — нажмите на заголовок секции ниже для деталей.",
|
||||||
"Informație": "Информация",
|
"Informație": "Информация",
|
||||||
@@ -881,8 +882,8 @@
|
|||||||
"Limite": "Limite",
|
"Limite": "Limite",
|
||||||
"Linia nu mai necesită aprobare.": "Строка больше не требует одобрения.",
|
"Linia nu mai necesită aprobare.": "Строка больше не требует одобрения.",
|
||||||
"Linii": "Linii",
|
"Linii": "Linii",
|
||||||
"Link": "Link",
|
"Link": "Ссылка",
|
||||||
"Link client (QR)": "Link client (QR)",
|
"Link client (QR)": "Ссылка клиенту (QR)",
|
||||||
"Link tracking": "Ссылка отслеживания",
|
"Link tracking": "Ссылка отслеживания",
|
||||||
"Linkul expiră în 60 de minute. Dacă nu ai cerut tu acest reset, ignoră emailul — contul tău e în siguranță.": "Linkul expiră în 60 de minute. Dacă nu ai cerut tu acest reset, ignoră emailul — contul tău e în siguranță.",
|
"Linkul expiră în 60 de minute. Dacă nu ai cerut tu acest reset, ignoră emailul — contul tău e în siguranță.": "Linkul expiră în 60 de minute. Dacă nu ai cerut tu acest reset, ignoră emailul — contul tău e în siguranță.",
|
||||||
"Linkul expiră în 7 zile. Dacă nu te aștepți la această invitație, ignoră acest mesaj.\n\nMulțumim,": "Linkul expiră în 7 zile. Dacă nu te aștepți la această invitație, ignoră acest mesaj.\n\nMulțumim,",
|
"Linkul expiră în 7 zile. Dacă nu te aștepți la această invitație, ignoră acest mesaj.\n\nMulțumim,": "Linkul expiră în 7 zile. Dacă nu te aștepți la această invitație, ignoră acest mesaj.\n\nMulțumim,",
|
||||||
@@ -1779,6 +1780,7 @@
|
|||||||
"Toți mecanicii": "Все механики",
|
"Toți mecanicii": "Все механики",
|
||||||
"Toți utilizatorii": "Все пользователи",
|
"Toți utilizatorii": "Все пользователи",
|
||||||
"Tracking & ETA": "Отслеживание и ETA",
|
"Tracking & ETA": "Отслеживание и ETA",
|
||||||
|
"Tracking client": "Отслеживание клиента",
|
||||||
"Tracțiune": "Привод",
|
"Tracțiune": "Привод",
|
||||||
"Trage fișierul aici": "Перетащите файл сюда",
|
"Trage fișierul aici": "Перетащите файл сюда",
|
||||||
"Transfer": "Перевод",
|
"Transfer": "Перевод",
|
||||||
@@ -1794,7 +1796,7 @@
|
|||||||
"Trimite": "Отправить",
|
"Trimite": "Отправить",
|
||||||
"Trimite SMS": "Отправить SMS",
|
"Trimite SMS": "Отправить SMS",
|
||||||
"Trimite SMS-uri prin gateway local (Moldcell/Orange API).": "Trimite SMS-uri prin gateway local (Moldcell/Orange API).",
|
"Trimite SMS-uri prin gateway local (Moldcell/Orange API).": "Trimite SMS-uri prin gateway local (Moldcell/Orange API).",
|
||||||
"Trimite acest link clientului — vede statusul fișei, ETA și fotografiile fără să se logheze.": "Trimite acest link clientului — vede statusul fișei, ETA și fotografiile fără să se logheze.",
|
"Trimite acest link clientului — vede statusul fișei, ETA și fotografiile fără să se logheze.": "Отправьте эту ссылку клиенту — он увидит статус наряда, ETA и фото без входа в систему.",
|
||||||
"Trimite email": "Отправить email",
|
"Trimite email": "Отправить email",
|
||||||
"Trimite emailul standard de resetare a parolei către clientul magazinului.": "Trimite emailul standard de resetare a parolei către clientul magazinului.",
|
"Trimite emailul standard de resetare a parolei către clientul magazinului.": "Trimite emailul standard de resetare a parolei către clientul magazinului.",
|
||||||
"Trimite factură": "Отправить счёт",
|
"Trimite factură": "Отправить счёт",
|
||||||
@@ -2000,6 +2002,7 @@
|
|||||||
"lucrare terți": "работа субподрядчика",
|
"lucrare terți": "работа субподрядчика",
|
||||||
"lucrări caroserie": "кузовные работы",
|
"lucrări caroserie": "кузовные работы",
|
||||||
"lucrări terți": "работы субподрядчиков",
|
"lucrări terți": "работы субподрядчиков",
|
||||||
|
"manopere": "работ",
|
||||||
"mașini": "машины",
|
"mașini": "машины",
|
||||||
"mașină": "машина",
|
"mașină": "машина",
|
||||||
"mediu": "средняя",
|
"mediu": "средняя",
|
||||||
@@ -2011,7 +2014,7 @@
|
|||||||
"normă": "норма",
|
"normă": "норма",
|
||||||
"null = fără trial": "null = fără trial",
|
"null = fără trial": "null = fără trial",
|
||||||
"pentru a alege": "чтобы выбрать",
|
"pentru a alege": "чтобы выбрать",
|
||||||
"piese": "piese",
|
"piese": "запчастей",
|
||||||
"piesă": "piesă",
|
"piesă": "piesă",
|
||||||
"pk_test_...": "pk_test_...",
|
"pk_test_...": "pk_test_...",
|
||||||
"plan": "plan",
|
"plan": "plan",
|
||||||
@@ -2202,6 +2205,7 @@
|
|||||||
"Înregistrează seturile de anvelope ale clienților și gestionează depozitarea sezonieră (tire hotel). Urmărește uzura, TPMS și locația în depozit.": "Înregistrează seturile de anvelope ale clienților și gestionează depozitarea sezonieră (tire hotel). Urmărește uzura, TPMS și locația în depozit.",
|
"Înregistrează seturile de anvelope ale clienților și gestionează depozitarea sezonieră (tire hotel). Urmărește uzura, TPMS și locația în depozit.": "Înregistrează seturile de anvelope ale clienților și gestionează depozitarea sezonieră (tire hotel). Urmărește uzura, TPMS și locația în depozit.",
|
||||||
"Întreabă-mă orice — diagnostic, sumar, sugestii, redactare mesaje către clienți...": "Întreabă-mă orice — diagnostic, sumar, sugestii, redactare mesaje către clienți...",
|
"Întreabă-mă orice — diagnostic, sumar, sugestii, redactare mesaje către clienți...": "Întreabă-mă orice — diagnostic, sumar, sugestii, redactare mesaje către clienți...",
|
||||||
"Șabloane servicii": "Шаблоны услуг",
|
"Șabloane servicii": "Шаблоны услуг",
|
||||||
|
"Șablon aplicat": "Шаблон применён",
|
||||||
"Șablon aplicat: {$r['labor']} manopere, {$r['parts']} piese": "Șablon aplicat: {$r['labor']} manopere, {$r['parts']} piese",
|
"Șablon aplicat: {$r['labor']} manopere, {$r['parts']} piese": "Șablon aplicat: {$r['labor']} manopere, {$r['parts']} piese",
|
||||||
"Șablon serviciu": "Шаблон услуги",
|
"Șablon serviciu": "Шаблон услуги",
|
||||||
"Șterge": "Удалить",
|
"Șterge": "Удалить",
|
||||||
|
|||||||
Reference in New Issue
Block a user