feat(i18n): fix widgets, pipeline & mechanic boards + missing translations

Follow-up to previous i18n pass — user reported many visible RO strings on
EN/RU locales because auto-wrap missed:
  - Stat::make() first-arg labels in StatsOverview, FinanceOverview, PlatformStats
  - $heading static in LowStockTable (converted to getHeading() method)
  - Pipeline board Blade view: 40+ literal strings wrapped with {{ __() }}
  - Mechanic board Blade view: statuses, buttons, block modal
  - PipelineBoard.php hardcoded tag labels, stage labels, notify strings
  - MechanicBoard.php confirmBlock notification

Added human RU + EN translations for the visible strings shown in the
screenshots (dashboard widgets, Client/Vehicle list breadcrumbs & columns,
pipeline board topbar/stats/filters/cards/detail panel/quick actions,
mechanic board stats/statuses/block modal). All 306 tests pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-15 05:31:26 +00:00
parent f7fc69077b
commit 2d447e6294
9 changed files with 381 additions and 156 deletions
+10 -10
View File
@@ -33,29 +33,29 @@ class PlatformStats extends BaseWidget
->count(); ->count();
return [ return [
Stat::make('Tenants total', $total) Stat::make(__('Tenants total'), $total)
->description('Toate companiile') ->description(__('Toate companiile'))
->descriptionIcon('heroicon-m-building-office-2') ->descriptionIcon('heroicon-m-building-office-2')
->color('primary') ->color('primary')
->url(\App\Filament\Central\Resources\CompanyResource::getUrl('index')), ->url(\App\Filament\Central\Resources\CompanyResource::getUrl('index')),
Stat::make('Active', $active) Stat::make(__('Active'), $active)
->description(__("✓ Pe abonament plătit")) ->description(__("✓ Pe abonament plătit"))
->descriptionIcon('heroicon-m-check-circle') ->descriptionIcon('heroicon-m-check-circle')
->color('success'), ->color('success'),
Stat::make('În trial', $trial) Stat::make(__('În trial'), $trial)
->description($trial > 0 ? 'Posibili clienți noi' : '—') ->description($trial > 0 ? __('Posibili clienți noi') : '—')
->descriptionIcon('heroicon-m-clock') ->descriptionIcon('heroicon-m-clock')
->color('warning'), ->color('warning'),
Stat::make('Expiră < 7 zile', $expiring) Stat::make(__('Expiră < 7 zile'), $expiring)
->description($expiring > 0 ? '⚠ Acțiune necesară' : 'Toate ok') ->description($expiring > 0 ? __('⚠ Acțiune necesară') : __('Toate ok'))
->descriptionIcon('heroicon-m-exclamation-triangle') ->descriptionIcon('heroicon-m-exclamation-triangle')
->color($expiring > 0 ? 'danger' : 'success'), ->color($expiring > 0 ? 'danger' : 'success'),
Stat::make('Venit luna curentă', number_format($mrr, 0, ',', ' ') . ' MDL') Stat::make(__('Venit luna curentă'), number_format($mrr, 0, ',', ' ') . ' MDL')
->description(__('MRR realizat')) ->description(__('MRR realizat'))
->descriptionIcon('heroicon-m-banknotes') ->descriptionIcon('heroicon-m-banknotes')
->color('success'), ->color('success'),
Stat::make('Facturi neplătite', $overdue) Stat::make(__('Facturi neplătite'), $overdue)
->description($overdue > 0 ? 'Verifică și amintește' : 'Toate plătite') ->description($overdue > 0 ? __('Verifică și amintește') : __('Toate plătite'))
->descriptionIcon('heroicon-m-exclamation-circle') ->descriptionIcon('heroicon-m-exclamation-circle')
->color($overdue > 0 ? 'danger' : 'gray') ->color($overdue > 0 ? 'danger' : 'gray')
->url(\App\Filament\Central\Resources\SubscriptionResource::getUrl('index') . '?activeTab=overdue'), ->url(\App\Filament\Central\Resources\SubscriptionResource::getUrl('index') . '?activeTab=overdue'),
+16 -16
View File
@@ -171,7 +171,7 @@ class PipelineBoard extends Page
$list = array_values($cards[$key]); $list = array_values($cards[$key]);
$sum = array_sum(array_map(fn ($c) => (float) $c['amount'], $list)); $sum = array_sum(array_map(fn ($c) => (float) $c['amount'], $list));
$columns[$key] = [ $columns[$key] = [
'label' => $label, 'label' => __($label),
'color' => $color, 'color' => $color,
'count' => count($list), 'count' => count($list),
'sum' => $sum, 'sum' => $sum,
@@ -238,7 +238,7 @@ class PipelineBoard extends Page
} }
Lead::create(array_merge($data, ['status' => 'new'])); Lead::create(array_merge($data, ['status' => 'new']));
$this->showNewForm = false; $this->showNewForm = false;
$this->notify('Cerere nouă adăugată'); $this->notify(__('Cerere nouă adăugată'));
} }
public function exportCsv() public function exportCsv()
@@ -398,10 +398,10 @@ class PipelineBoard extends Page
'date' => today()->addDay(), 'date' => today()->addDay(),
'time_start' => '10:00', 'time_start' => '10:00',
'time_end' => '11:00', 'time_end' => '11:00',
'title' => $title ?: 'Programare', 'title' => $title ?: __('Programare'),
'status' => 'scheduled', 'status' => 'scheduled',
]); ]);
$this->notify("Programare creată · mâine 10:00"); $this->notify(__('Programare creată · mâine 10:00'));
$this->openCardKey = null; $this->openCardKey = null;
} }
@@ -439,7 +439,7 @@ class PipelineBoard extends Page
$tags[] = ['label' => Lead::SOURCES[$lead->source] ?? $lead->source, 'color' => 'gray']; $tags[] = ['label' => Lead::SOURCES[$lead->source] ?? $lead->source, 'color' => 'gray'];
} }
if ($lead->status === 'no_answer') { if ($lead->status === 'no_answer') {
$tags[] = ['label' => 'Fără răspuns', 'color' => 'red']; $tags[] = ['label' => __('Fără răspuns'), 'color' => 'red'];
} }
$diffMin = $lead->created_at?->diffInMinutes(now()) ?? 0; $diffMin = $lead->created_at?->diffInMinutes(now()) ?? 0;
$overdue = $diffMin > 60 && $lead->status !== 'contacted'; $overdue = $diffMin > 60 && $lead->status !== 'contacted';
@@ -450,7 +450,7 @@ class PipelineBoard extends Page
'code' => 'CR-' . str_pad((string) $lead->id, 4, '0', STR_PAD_LEFT), 'code' => 'CR-' . str_pad((string) $lead->id, 4, '0', STR_PAD_LEFT),
'subject' => trim(($lead->car ?: '') . ' ' . ($lead->model ?: '')) ?: $lead->name, 'subject' => trim(($lead->car ?: '') . ' ' . ($lead->model ?: '')) ?: $lead->name,
'plate' => $lead->car ?: '', 'plate' => $lead->car ?: '',
'client_name' => $lead->name ?: 'Anonim', 'client_name' => $lead->name ?: __('Anonim'),
'phone' => $lead->phone, 'phone' => $lead->phone,
'source' => $lead->source, 'source' => $lead->source,
'amount' => (float) $lead->budget, 'amount' => (float) $lead->budget,
@@ -470,7 +470,7 @@ class PipelineBoard extends Page
{ {
$tags = []; $tags = [];
if ($deal->urgent) { if ($deal->urgent) {
$tags[] = ['label' => 'Urgent', 'color' => 'red']; $tags[] = ['label' => __('Urgent'), 'color' => 'red'];
} }
if ($deal->source && in_array($deal->source, ['instagram', 'site', 'call', 'whatsapp', 'telegram'])) { if ($deal->source && in_array($deal->source, ['instagram', 'site', 'call', 'whatsapp', 'telegram'])) {
$tags[] = ['label' => Lead::SOURCES[$deal->source] ?? $deal->source, 'color' => 'gray']; $tags[] = ['label' => Lead::SOURCES[$deal->source] ?? $deal->source, 'color' => 'gray'];
@@ -542,23 +542,23 @@ class PipelineBoard extends Page
private function woCard(WorkOrder $wo): array private function woCard(WorkOrder $wo): array
{ {
$tags = []; $tags = [];
$tags[] = ['label' => "Fișă {$wo->number}", 'color' => 'purple']; $tags[] = ['label' => __('Fișă') . " {$wo->number}", 'color' => 'purple'];
if ($wo->status === 'agreement') { if ($wo->status === 'agreement') {
$tags[] = ['label' => 'Necesită aprobare', 'color' => 'amber']; $tags[] = ['label' => __('Necesită aprobare'), 'color' => 'amber'];
} }
if ($wo->status === 'awaiting_parts') { if ($wo->status === 'awaiting_parts') {
$tags[] = ['label' => 'Așteaptă piese', 'color' => 'amber']; $tags[] = ['label' => __('Așteaptă piese'), 'color' => 'amber'];
} }
if ($wo->status === 'ready') { if ($wo->status === 'ready') {
$tags[] = ['label' => 'Gata', 'color' => 'green']; $tags[] = ['label' => __('Gata'), 'color' => 'green'];
if ($wo->pay_status === 'partial') { if ($wo->pay_status === 'partial') {
$tags[] = ['label' => 'Avans achitat', 'color' => 'blue']; $tags[] = ['label' => __('Avans achitat'), 'color' => 'blue'];
} elseif ($wo->pay_status !== 'paid') { } elseif ($wo->pay_status !== 'paid') {
$tags[] = ['label' => 'Neachitat', 'color' => 'amber']; $tags[] = ['label' => __('Neachitat'), 'color' => 'amber'];
} }
} }
if ($wo->status === 'done' && $wo->pay_status === 'paid') { if ($wo->status === 'done' && $wo->pay_status === 'paid') {
$tags[] = ['label' => '✓ Achitat', 'color' => 'green']; $tags[] = ['label' => __('✓ Achitat'), 'color' => 'green'];
} }
$progress = null; $progress = null;
@@ -710,7 +710,7 @@ class PipelineBoard extends Page
default => 'edit', default => 'edit',
}, },
'color' => 'blue', 'color' => 'blue',
'text' => $a->description ?: ucfirst($a->event ?? 'actualizat'), 'text' => $a->description ?: ucfirst($a->event ?? __('actualizat')),
'time' => $a->created_at?->diffForHumans(), 'time' => $a->created_at?->diffForHumans(),
]; ];
} }
@@ -720,7 +720,7 @@ class PipelineBoard extends Page
private function stageStepper(int $currentIdx): array private function stageStepper(int $currentIdx): array
{ {
$labels = ['Cerere', 'Calcul.', 'Programat', 'În lucru', 'Gata', 'Achitat']; $labels = [__('Cerere'), __('Calcul.'), __('Programat'), __('În lucru'), __('Gata'), __('Achitat')];
$out = []; $out = [];
foreach ($labels as $i => $label) { foreach ($labels as $i => $label) {
$out[] = [ $out[] = [
@@ -30,20 +30,20 @@ class FinanceOverview extends BaseWidget
$debt = max(0, $debtTotal - $paidOnDebt); $debt = max(0, $debtTotal - $paidOnDebt);
return [ return [
Stat::make('Încasări (luna)', number_format($income, 2, '.', ' ') . ' MDL') Stat::make(__('Încasări (luna)'), number_format($income, 2, '.', ' ') . ' MDL')
->icon('heroicon-o-arrow-trending-up') ->icon('heroicon-o-arrow-trending-up')
->color('success') ->color('success')
->description(now()->translatedFormat('F Y')), ->description(now()->translatedFormat('F Y')),
Stat::make('Cheltuieli (luna)', number_format($expenses, 2, '.', ' ') . ' MDL') Stat::make(__('Cheltuieli (luna)'), number_format($expenses, 2, '.', ' ') . ' MDL')
->icon('heroicon-o-arrow-trending-down') ->icon('heroicon-o-arrow-trending-down')
->color('danger'), ->color('danger'),
Stat::make('Profit (luna)', number_format($profit, 2, '.', ' ') . ' MDL') Stat::make(__('Profit (luna)'), number_format($profit, 2, '.', ' ') . ' MDL')
->icon('heroicon-o-banknotes') ->icon('heroicon-o-banknotes')
->color($profit >= 0 ? 'success' : 'danger'), ->color($profit >= 0 ? 'success' : 'danger'),
Stat::make('Datorii clienți', number_format($debt, 2, '.', ' ') . ' MDL') Stat::make(__('Datorii clienți'), number_format($debt, 2, '.', ' ') . ' MDL')
->icon('heroicon-o-exclamation-circle') ->icon('heroicon-o-exclamation-circle')
->color($debt > 0 ? 'warning' : 'success'), ->color($debt > 0 ? 'warning' : 'success'),
]; ];
@@ -13,7 +13,12 @@ class LowStockTable extends BaseWidget
protected int|string|array $columnSpan = 'full'; protected int|string|array $columnSpan = 'full';
protected static ?string $heading = '⚠️ Stoc minim atins'; protected static ?string $heading = null;
public function getHeading(): string
{
return '⚠️ ' . __('Stoc minim atins');
}
public function table(Table $table): Table public function table(Table $table): Table
{ {
@@ -21,27 +21,27 @@ class StatsOverview extends BaseWidget
$todayAppointments = Appointment::whereDate('date', today())->count(); $todayAppointments = Appointment::whereDate('date', today())->count();
return [ return [
Stat::make('Clienți', Client::count()) Stat::make(__('Clienți'), Client::count())
->description(__('Total în baza de date')) ->description(__('Total în baza de date'))
->icon('heroicon-o-users') ->icon('heroicon-o-users')
->color('primary'), ->color('primary'),
Stat::make('Mașini', Vehicle::count()) Stat::make(__('Mașini'), Vehicle::count())
->description(__('Total înregistrate')) ->description(__('Total înregistrate'))
->icon('heroicon-o-truck') ->icon('heroicon-o-truck')
->color('info'), ->color('info'),
Stat::make('Cereri noi', $newLeads) Stat::make(__('Cereri noi'), $newLeads)
->description(__('De procesat')) ->description(__('De procesat'))
->icon('heroicon-o-inbox-arrow-down') ->icon('heroicon-o-inbox-arrow-down')
->color($newLeads > 0 ? 'warning' : 'success'), ->color($newLeads > 0 ? 'warning' : 'success'),
Stat::make('Deal-uri active', $openDeals) Stat::make(__('Deal-uri active'), $openDeals)
->description(__('În pipeline')) ->description(__('În pipeline'))
->icon('heroicon-o-funnel') ->icon('heroicon-o-funnel')
->color('primary'), ->color('primary'),
Stat::make('Programări azi', $todayAppointments) Stat::make(__('Programări azi'), $todayAppointments)
->description(today()->format('d.m.Y')) ->description(today()->format('d.m.Y'))
->icon('heroicon-o-calendar') ->icon('heroicon-o-calendar')
->color('success'), ->color('success'),
+124 -14
View File
@@ -1,4 +1,5 @@
{ {
"#": "#",
"$n sesiuni revoke-uite": "$n sesiuni revoke-uite", "$n sesiuni revoke-uite": "$n sesiuni revoke-uite",
"% Manopere": "% Manopere", "% Manopere": "% Manopere",
"% Piese": "% Piese", "% Piese": "% Piese",
@@ -33,6 +34,7 @@
"Acces în aplicație (opțional)": "Acces în aplicație (opțional)", "Acces în aplicație (opțional)": "Acces în aplicație (opțional)",
"Această acțiune este ireversibilă": "This action is irreversible", "Această acțiune este ireversibilă": "This action is irreversible",
"Achitat": "Paid", "Achitat": "Paid",
"Achitat azi": "Paid today",
"Achiziții": "Purchases", "Achiziții": "Purchases",
"Acord": "Agreement", "Acord": "Agreement",
"Acordat de": "Acordat de", "Acordat de": "Acordat de",
@@ -40,6 +42,7 @@
"Activ": "Active", "Activ": "Active",
"Activare": "Activation", "Activare": "Activation",
"Active": "Active", "Active": "Active",
"Active acum": "Active now",
"Activează": "Activate", "Activează": "Activate",
"Activează / dezactivează notificările auto către clienți. Telegram are prioritate dacă clientul are cont legat.": "Activează / dezactivează notificările auto către clienți. Telegram are prioritate dacă clientul are cont legat.", "Activează / dezactivează notificările auto către clienți. Telegram are prioritate dacă clientul are cont legat.": "Activează / dezactivează notificările auto către clienți. Telegram are prioritate dacă clientul are cont legat.",
"Activează PayPal": "Activează PayPal", "Activează PayPal": "Activează PayPal",
@@ -49,14 +52,17 @@
"Activează magazinul public la <slug>.service.mir.md/shop. Piesele apar doar dacă sunt marcate „Publicat\".": "Activează magazinul public la <slug>.service.mir.md/shop. Piesele apar doar dacă sunt marcate „Publicat\".", "Activează magazinul public la <slug>.service.mir.md/shop. Piesele apar doar dacă sunt marcate „Publicat\".": "Activează magazinul public la <slug>.service.mir.md/shop. Piesele apar doar dacă sunt marcate „Publicat\".",
"Activează plata prin transfer": "Activează plata prin transfer", "Activează plata prin transfer": "Activează plata prin transfer",
"Activi": "Active", "Activi": "Active",
"Activitate recentă": "Recent activity",
"Activă": "Active", "Activă": "Active",
"Actualizat la": "Updated at", "Actualizat la": "Updated at",
"Actualizează": "Update", "Actualizează": "Update",
"Acțiune": "Action", "Acțiune": "Action",
"Acțiuni rapide": "Quick actions",
"Acțiuni în bulk": "Bulk actions", "Acțiuni în bulk": "Bulk actions",
"Acțiuni în masă": "Bulk actions", "Acțiuni în masă": "Bulk actions",
"Adaugă atelierele terțe la care trimiți lucrări (turbo, cutii, vopsitorie, PDR) și urmărește costul + marja.": "Adaugă atelierele terțe la care trimiți lucrări (turbo, cutii, vopsitorie, PDR) și urmărește costul + marja.", "Adaugă atelierele terțe la care trimiți lucrări (turbo, cutii, vopsitorie, PDR) și urmărește costul + marja.": "Adaugă atelierele terțe la care trimiți lucrări (turbo, cutii, vopsitorie, PDR) și urmărește costul + marja.",
"Adaugă auto": "Add vehicle", "Adaugă auto": "Add vehicle",
"Adaugă cerere": "Add lead",
"Adaugă chei API ca să activezi asistentul. Cheile rămân la voi — nu sunt partajate.": "Adaugă chei API ca să activezi asistentul. Cheile rămân la voi — nu sunt partajate.", "Adaugă chei API ca să activezi asistentul. Cheile rămân la voi — nu sunt partajate.": "Adaugă chei API ca să activezi asistentul. Cheile rămân la voi — nu sunt partajate.",
"Adaugă cheltuială": "Add expense", "Adaugă cheltuială": "Add expense",
"Adaugă client": "Add client", "Adaugă client": "Add client",
@@ -91,6 +97,7 @@
"Ai uitat parola?": "Forgot password?", "Ai uitat parola?": "Forgot password?",
"Aici apar cererile clienților potențiali. Convertește-le în deal-uri sau direct în programări de la butonul „Convertește\".": "Aici apar cererile clienților potențiali. Convertește-le în deal-uri sau direct în programări de la butonul „Convertește\".", "Aici apar cererile clienților potențiali. Convertește-le în deal-uri sau direct în programări de la butonul „Convertește\".": "Aici apar cererile clienților potențiali. Convertește-le în deal-uri sau direct în programări de la butonul „Convertește\".",
"Aici apar clienții care și-au creat cont în magazinul online (/shop/register).": "Aici apar clienții care și-au creat cont în magazinul online (/shop/register).", "Aici apar clienții care și-au creat cont în magazinul online (/shop/register).": "Aici apar clienții care și-au creat cont în magazinul online (/shop/register).",
"Ale mele": "Mine",
"Aleatoriu": "Random", "Aleatoriu": "Random",
"Alege categorie": "Choose category", "Alege categorie": "Choose category",
"Alege client": "Choose client", "Alege client": "Choose client",
@@ -107,16 +114,19 @@
"Alege vehicul": "Choose vehicle", "Alege vehicul": "Choose vehicle",
"Alfabetic": "Alphabetically", "Alfabetic": "Alphabetically",
"Alte cheltuieli": "Other expenses", "Alte cheltuieli": "Other expenses",
"Altă problemă": "Other problem",
"An": "Year", "An": "Year",
"An fabricație": "Model year", "An fabricație": "Model year",
"Angajat din": "Angajat din", "Angajat din": "Angajat din",
"Ani": "Years", "Ani": "Years",
"Anonim": "Anonymous",
"Antet": "Header", "Antet": "Header",
"Antet fișă": "Order header", "Antet fișă": "Order header",
"Anual": "Anual", "Anual": "Anual",
"Anul curent": "Current year", "Anul curent": "Current year",
"Anul trecut": "Last year", "Anul trecut": "Last year",
"Anulat": "Cancelled", "Anulat": "Cancelled",
"Anulează": "Cancel",
"Anulează fișa": "Cancel order", "Anulează fișa": "Cancel order",
"Anvelope": "Tires", "Anvelope": "Tires",
"Apare în magazinul online public.": "Apare în magazinul online public.", "Apare în magazinul online public.": "Apare în magazinul online public.",
@@ -154,9 +164,15 @@
"Autentificare": "Login", "Autentificare": "Login",
"Autentificare 2FA": "2FA authentication", "Autentificare 2FA": "2FA authentication",
"Auto": "Vehicle", "Auto": "Vehicle",
"Auto / model": "Vehicle / model",
"AutoCRM SRL": "AutoCRM SRL", "AutoCRM SRL": "AutoCRM SRL",
"Automobile": "Vehicles",
"Avans": "Advance", "Avans": "Advance",
"Avans achitat": "Advance paid",
"Avg zile": "Avg zile", "Avg zile": "Avg zile",
"Azi": "Today",
"Așteaptă piese": "Awaiting parts",
"Aștept aprobare client": "Awaiting client approval",
"Așteptată": "Expected", "Așteptată": "Expected",
"BIC / SWIFT": "BIC / SWIFT", "BIC / SWIFT": "BIC / SWIFT",
"Backup": "Backup", "Backup": "Backup",
@@ -169,8 +185,11 @@
"Bifează ce poate face acest rol. Modificările au efect imediat.": "Bifează ce poate face acest rol. Modificările au efect imediat.", "Bifează ce poate face acest rol. Modificările au efect imediat.": "Bifează ce poate face acest rol. Modificările au efect imediat.",
"Bifă": "Check", "Bifă": "Check",
"Bine ai venit": "Welcome", "Bine ai venit": "Welcome",
"Blocat": "Blocked",
"Blocată": "Blocked", "Blocată": "Blocked",
"Blochează": "Block", "Blochează": "Block",
"Blochez": "Block",
"Blochez lucrarea": "Block the work",
"Boală": "Sick", "Boală": "Sick",
"Bon": "Receipt", "Bon": "Receipt",
"Bonuri": "Receipts", "Bonuri": "Receipts",
@@ -186,7 +205,9 @@
"Bună ziua": "Hello", "Bună ziua": "Hello",
"CSV": "CSV", "CSV": "CSV",
"Calcul": "Calcul", "Calcul": "Calcul",
"Calcul.": "Quote",
"Calculat salariul {$period} pentru {$count} utilizatori": "Calculat salariul {$period} pentru {$count} utilizatori", "Calculat salariul {$period} pentru {$count} utilizatori": "Calculat salariul {$period} pentru {$count} utilizatori",
"Calculație": "Quote",
"Calculează luna curentă": "Calculează luna curentă", "Calculează luna curentă": "Calculează luna curentă",
"Calendar": "Calendar", "Calendar": "Calendar",
"Calendar vizual": "Calendar vizual", "Calendar vizual": "Calendar vizual",
@@ -204,15 +225,22 @@
"Categorie implicită": "Default category", "Categorie implicită": "Default category",
"Categorii": "Categorii", "Categorii": "Categorii",
"Caută": "Search", "Caută": "Search",
"Caută client, mașină, număr...": "Search client, vehicle, number...",
"Caută în tabel": "Search in table", "Caută în tabel": "Search in table",
"Caz asigurare": "Caz asigurare", "Caz asigurare": "Caz asigurare",
"Caz de asigurare": "Caz de asigurare", "Caz de asigurare": "Caz de asigurare",
"Ce a spus clientul...": "What the client said...",
"Cerere": "Lead",
"Cerere nouă": "New lead",
"Cerere nouă adăugată": "New lead added",
"Cereri": "Leads", "Cereri": "Leads",
"Cereri noi": "New leads",
"Check-in depozit": "Check-in depozit", "Check-in depozit": "Check-in depozit",
"Cheia HMAC pentru semnarea cererilor + verificarea webhook-urilor de la Paynet.": "Cheia HMAC pentru semnarea cererilor + verificarea webhook-urilor de la Paynet.", "Cheia HMAC pentru semnarea cererilor + verificarea webhook-urilor de la Paynet.": "Cheia HMAC pentru semnarea cererilor + verificarea webhook-urilor de la Paynet.",
"Cheie": "Cheie", "Cheie": "Cheie",
"Cheltuială": "Expense", "Cheltuială": "Expense",
"Cheltuieli": "Expenses", "Cheltuieli": "Expenses",
"Cheltuieli (luna)": "Expenses (month)",
"Cheltuit": "Spent", "Cheltuit": "Spent",
"Cheltuit 90d": "Cheltuit 90d", "Cheltuit 90d": "Cheltuit 90d",
"Chitanțe": "Receipts", "Chitanțe": "Receipts",
@@ -223,7 +251,7 @@
"Claude API Key": "Claude API Key", "Claude API Key": "Claude API Key",
"Client": "Client", "Client": "Client",
"Client & Auto": "Client & Auto", "Client & Auto": "Client & Auto",
"Client CRM": "Client CRM", "Client CRM": "CRM client",
"Client ID": "Client ID", "Client ID": "Client ID",
"Client VIP": "Client VIP", "Client VIP": "Client VIP",
"Client existent": "Existing client", "Client existent": "Existing client",
@@ -285,9 +313,11 @@
"Creat de": "Created by", "Creat de": "Created by",
"Creat la": "Created at", "Creat la": "Created at",
"Create": "Create", "Create": "Create",
"Created at": "Created at",
"Crează manual prima factură sau folosește butonul „Generează factură\" din pagina Companiei.": "Crează manual prima factură sau folosește butonul „Generează factură\" din pagina Companiei.", "Crează manual prima factură sau folosește butonul „Generează factură\" din pagina Companiei.": "Crează manual prima factură sau folosește butonul „Generează factură\" din pagina Companiei.",
"Crează prima fișă pentru o mașină existentă. Adaugă manopere, piese, plăți — totalul se calculează automat.": "Crează prima fișă pentru o mașină existentă. Adaugă manopere, piese, plăți — totalul se calculează automat.", "Crează prima fișă pentru o mașină existentă. Adaugă manopere, piese, plăți — totalul se calculează automat.": "Crează prima fișă pentru o mașină existentă. Adaugă manopere, piese, plăți — totalul se calculează automat.",
"Credit": "Credit", "Credit": "Credit",
"Creează cerere": "Create lead",
"Creează planuri (ex: Free, Basic, Pro) și atribuie-le companiilor.": "Creează planuri (ex: Free, Basic, Pro) și atribuie-le companiilor.", "Creează planuri (ex: Free, Basic, Pro) și atribuie-le companiilor.": "Creează planuri (ex: Free, Basic, Pro) și atribuie-le companiilor.",
"Creează un bot la @BotFather, lipește token-ul aici și apasă „Setează webhook\". Clienții îți scriu la bot, partajează telefonul, iar codul se leagă automat de fișa lor.": "Creează un bot la @BotFather, lipește token-ul aici și apasă „Setează webhook\". Clienții îți scriu la bot, partajează telefonul, iar codul se leagă automat de fișa lor.", "Creează un bot la @BotFather, lipește token-ul aici și apasă „Setează webhook\". Clienții îți scriu la bot, partajează telefonul, iar codul se leagă automat de fișa lor.": "Creează un bot la @BotFather, lipește token-ul aici și apasă „Setează webhook\". Clienții îți scriu la bot, partajează telefonul, iar codul se leagă automat de fișa lor.",
"Crescător": "Ascending", "Crescător": "Ascending",
@@ -330,6 +360,7 @@
"Date personale": "Date personale", "Date personale": "Date personale",
"Datele apar pe facturi și pe pagina de plată a tenant-ului. Confirmarea o faci manual.": "Datele apar pe facturi și pe pagina de plată a tenant-ului. Confirmarea o faci manual.", "Datele apar pe facturi și pe pagina de plată a tenant-ului. Confirmarea o faci manual.": "Datele apar pe facturi și pe pagina de plată a tenant-ului. Confirmarea o faci manual.",
"Datorie": "Debt", "Datorie": "Debt",
"Datorii clienți": "Client debt",
"Daune": "Daune", "Daune": "Daune",
"De către": "De către", "De către": "De către",
"De la": "From", "De la": "From",
@@ -337,8 +368,10 @@
"De la data": "From date", "De la data": "From date",
"De la ora": "From time", "De la ora": "From time",
"De obicei 10× preț lunar (2 luni gratis).": "De obicei 10× preț lunar (2 luni gratis).", "De obicei 10× preț lunar (2 luni gratis).": "De obicei 10× preț lunar (2 luni gratis).",
"De procesat": "De procesat", "De procesat": "To process",
"Deal": "Deal", "Deal": "Deal",
"Deal nou": "New deal",
"Deal-uri active": "Active deals",
"Deals": "Deals", "Deals": "Deals",
"Debit": "Debit", "Debit": "Debit",
"Deblochează": "Unblock", "Deblochează": "Unblock",
@@ -356,10 +389,15 @@
"Depozit implicit": "Default warehouse", "Depozit implicit": "Default warehouse",
"Depozit țintă": "Target warehouse", "Depozit țintă": "Target warehouse",
"Depublică": "Unpublish", "Depublică": "Unpublish",
"Depășit termen": "Overdue",
"Descarcă PDF": "Download PDF", "Descarcă PDF": "Download PDF",
"Descarcă factura": "Download invoice", "Descarcă factura": "Download invoice",
"Descarcă template": "Download template", "Descarcă template": "Download template",
"Deschide": "Open", "Deschide": "Open",
"Deschide Fișă": "Open order",
"Deschide deal": "Open deal",
"Deschide fișa": "Open order",
"Deschide fișa pentru aprobare lucrare/piesă.": "Open the order to approve work/part.",
"Deschide tenantul": "Deschide tenantul", "Deschide tenantul": "Deschide tenantul",
"Deschis": "Opened", "Deschis": "Opened",
"Deschis la": "Opened at", "Deschis la": "Opened at",
@@ -367,6 +405,7 @@
"Descriere": "Description", "Descriere": "Description",
"Descriere produs": "Product description", "Descriere produs": "Product description",
"Detalii": "Details", "Detalii": "Details",
"Detalii (opțional)": "Details (optional)",
"Detalii auto": "Vehicle details", "Detalii auto": "Vehicle details",
"Detalii client": "Client details", "Detalii client": "Client details",
"Detalii comandă": "Order details", "Detalii comandă": "Order details",
@@ -395,6 +434,7 @@
"Doar utilizatorii mei": "My users only", "Doar utilizatorii mei": "My users only",
"Document": "Document", "Document": "Document",
"Documente": "Documents", "Documente": "Documents",
"Done": "Done",
"Downgrade": "Downgrade", "Downgrade": "Downgrade",
"Drept": "Permission", "Drept": "Permission",
"Drepturi": "Permissions", "Drepturi": "Permissions",
@@ -408,7 +448,9 @@
"Durată reală": "Actual duration", "Durată reală": "Actual duration",
"EJk...": "EJk...", "EJk...": "EJk...",
"ETA": "ETA", "ETA": "ETA",
"Echipament defect": "Broken equipment",
"Edit": "Edit", "Edit": "Edit",
"Editare": "Edit",
"Editează": "Edit", "Editează": "Edit",
"Editează drepturi": "Editează drepturi", "Editează drepturi": "Editează drepturi",
"Editează produs": "Edit product", "Editează produs": "Edit product",
@@ -429,6 +471,7 @@
"Ex: 20": "Ex: 20", "Ex: 20": "Ex: 20",
"Ex: 20 pentru +20%": "Ex: 20 pentru +20%", "Ex: 20 pentru +20%": "Ex: 20 pentru +20%",
"Ex: 25": "Ex: 25", "Ex: 25": "Ex: 25",
"Ex: Lipsește filtrul Mann W712/83": "e.g. Missing filter Mann W712/83",
"Ex: Pod 1, Curte 1, Atelier electric": "Ex: Pod 1, Curte 1, Atelier electric", "Ex: Pod 1, Curte 1, Atelier electric": "Ex: Pod 1, Curte 1, Atelier electric",
"Ex: cu lift, fără lift, doar diagnoză...": "Ex: cu lift, fără lift, doar diagnoză...", "Ex: cu lift, fără lift, doar diagnoză...": "Ex: cu lift, fără lift, doar diagnoză...",
"Ex: lockdown temporar; acces pentru audit; etc.": "Ex: lockdown temporar; acces pentru audit; etc.", "Ex: lockdown temporar; acces pentru audit; etc.": "Ex: lockdown temporar; acces pentru audit; etc.",
@@ -436,11 +479,14 @@
"Excepții": "Overrides", "Excepții": "Overrides",
"Excepții drepturi": "Permission overrides", "Excepții drepturi": "Permission overrides",
"Expiră": "Expiră", "Expiră": "Expiră",
"Expiră < 7 zile": "Expires < 7 days",
"Expiră la (opțional)": "Expiră la (opțional)", "Expiră la (opțional)": "Expiră la (opțional)",
"Export": "Export",
"Export CSV": "Export CSV", "Export CSV": "Export CSV",
"Extras": "Statement", "Extras": "Statement",
"Ești sigur?": "Are you sure?", "Ești sigur?": "Are you sure?",
"Facturi": "Invoices", "Facturi": "Invoices",
"Facturi neplătite": "Unpaid invoices",
"Facturi pending / overdue": "Facturi pending / overdue", "Facturi pending / overdue": "Facturi pending / overdue",
"Factură": "Invoice", "Factură": "Invoice",
"Factură importată": "Factură importată", "Factură importată": "Factură importată",
@@ -453,7 +499,7 @@
"Filters": "Filters", "Filters": "Filters",
"Filtre": "Filters", "Filtre": "Filters",
"Filtru": "Filter", "Filtru": "Filter",
"Finalizat": "Completed", "Finalizat": "Done",
"Financiar": "Financiar", "Financiar": "Financiar",
"Finanțe": "Finanțe", "Finanțe": "Finanțe",
"Fișe": "Orders", "Fișe": "Orders",
@@ -464,6 +510,7 @@
"Fișiere": "Files", "Fișiere": "Files",
"Fișă": "Order", "Fișă": "Order",
"Fișă asociată": "Fișă asociată", "Fișă asociată": "Fișă asociată",
"Fișă de lucru": "Work order",
"Fișă lucru": "Fișă lucru", "Fișă lucru": "Fișă lucru",
"Folosește „Check-in depozit\" pe set pentru a înregistra prima depozitare.": "Folosește „Check-in depozit\" pe set pentru a înregistra prima depozitare.", "Folosește „Check-in depozit\" pe set pentru a înregistra prima depozitare.": "Folosește „Check-in depozit\" pe set pentru a înregistra prima depozitare.",
"Folosit dacă markup = 0.": "Folosit dacă markup = 0.", "Folosit dacă markup = 0.": "Folosit dacă markup = 0.",
@@ -486,7 +533,10 @@
"Furnizor preferat": "Furnizor preferat", "Furnizor preferat": "Furnizor preferat",
"Furnizori": "Suppliers", "Furnizori": "Suppliers",
"Fără TVA": "Without VAT", "Fără TVA": "Without VAT",
"Fără răspuns": "No answer",
"Galerie de până la 8 imagini. Prima e afișată în catalog. Max 2 MB / imagine.": "Galerie de până la 8 imagini. Prima e afișată în catalog. Max 2 MB / imagine.", "Galerie de până la 8 imagini. Prima e afișată în catalog. Max 2 MB / imagine.": "Galerie de până la 8 imagini. Prima e afișată în catalog. Max 2 MB / imagine.",
"Gata": "Ready",
"Gata de ridicare": "Ready for pickup",
"Gata estimat (ETA)": "Gata estimat (ETA)", "Gata estimat (ETA)": "Gata estimat (ETA)",
"Gemini API Key": "Gemini API Key", "Gemini API Key": "Gemini API Key",
"General": "General", "General": "General",
@@ -495,6 +545,7 @@
"Generează raport": "Generate report", "Generează raport": "Generate report",
"Generează token": "Generează token", "Generează token": "Generează token",
"Global": "Global", "Global": "Global",
"Gol — trage un card aici": "Empty — drop a card here",
"Grafic": "Chart", "Grafic": "Chart",
"Gravitate": "Gravitate", "Gravitate": "Gravitate",
"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.", "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.",
@@ -567,8 +618,11 @@
"Limite": "Limite", "Limite": "Limite",
"Linii": "Linii", "Linii": "Linii",
"Link client (QR)": "Link client (QR)", "Link client (QR)": "Link client (QR)",
"Link tracking": "Tracking link",
"Lipsă": "Lipsă", "Lipsă": "Lipsă",
"Lipsă piesă": "Missing part",
"Liste configurabile": "Configurable lists", "Liste configurabile": "Configurable lists",
"Listă": "List",
"Livrare": "Livrare", "Livrare": "Livrare",
"Livrare (zile)": "Livrare (zile)", "Livrare (zile)": "Livrare (zile)",
"Livrare gratuită peste": "Livrare gratuită peste", "Livrare gratuită peste": "Livrare gratuită peste",
@@ -599,7 +653,9 @@
"Luni (zi)": "Monday", "Luni (zi)": "Monday",
"Lățime": "Lățime", "Lățime": "Lățime",
"MD00 AG00 0000 ...": "MD00 AG00 0000 ...", "MD00 AG00 0000 ...": "MD00 AG00 0000 ...",
"MRR realizat": "MRR realizat", "MDL pipeline total": "MDL pipeline total",
"MDL închise azi": "MDL closed today",
"MRR realizat": "Realized MRR",
"Magazin": "Magazin", "Magazin": "Magazin",
"Magazin activ": "Magazin activ", "Magazin activ": "Magazin activ",
"Magazin online": "Online shop", "Magazin online": "Online shop",
@@ -610,6 +666,7 @@
"Manopere": "Labor lines", "Manopere": "Labor lines",
"Manoperă": "Labor", "Manoperă": "Labor",
"Marca": "Marca", "Marca": "Marca",
"Marchează Gata": "Mark ready",
"Marchează acest tenant ca demo (datele pot fi resetate periodic).": "Marchează acest tenant ca demo (datele pot fi resetate periodic).", "Marchează acest tenant ca demo (datele pot fi resetate periodic).": "Marchează acest tenant ca demo (datele pot fi resetate periodic).",
"Marchează anulat": "Mark as cancelled", "Marchează anulat": "Mark as cancelled",
"Marchează plătit": "Mark as paid", "Marchează plătit": "Mark as paid",
@@ -636,7 +693,7 @@
"Max mașini": "Max mașini", "Max mașini": "Max mașini",
"Max useri": "Max useri", "Max useri": "Max useri",
"Mașina e gata de ridicat": "Mașina e gata de ridicat", "Mașina e gata de ridicat": "Mașina e gata de ridicat",
"Mașini": "Mașini", "Mașini": "Vehicles",
"Mecanic implicit": "Default mechanic", "Mecanic implicit": "Default mechanic",
"Mediu": "Medium", "Mediu": "Medium",
"Merchant Code": "Merchant Code", "Merchant Code": "Merchant Code",
@@ -671,6 +728,10 @@
"Mulțumim": "Thank you", "Mulțumim": "Thank you",
"Mâine": "Tomorrow", "Mâine": "Tomorrow",
"Mărci auto suportate (separate prin virgulă)": "Mărci auto suportate (separate prin virgulă)", "Mărci auto suportate (separate prin virgulă)": "Mărci auto suportate (separate prin virgulă)",
"Neachitat": "Unpaid",
"Necesită acțiune": "Needs action",
"Necesită aprobare": "Needs approval",
"Necesită aprobare client": "Needs client approval",
"Necesită cel puțin 2 recepții complete cu data așteptată setată.": "Necesită cel puțin 2 recepții complete cu data așteptată setată.", "Necesită cel puțin 2 recepții complete cu data așteptată setată.": "Necesită cel puțin 2 recepții complete cu data așteptată setată.",
"Necompletat": "Empty", "Necompletat": "Empty",
"Necunoscut": "Unknown", "Necunoscut": "Unknown",
@@ -680,6 +741,8 @@
"Nesincronizat": "Not synced", "Nesincronizat": "Not synced",
"Net 30 / Avans": "Net 30 / Avans", "Net 30 / Avans": "Net 30 / Avans",
"Neverificat": "Not verified", "Neverificat": "Not verified",
"New client": "New client",
"New mașină": "New vehicle",
"Nicio comandă încă": "Nicio comandă încă", "Nicio comandă încă": "Nicio comandă încă",
"Nicio daună marcată": "Nicio daună marcată", "Nicio daună marcată": "Nicio daună marcată",
"Nicio factură generată": "Nicio factură generată", "Nicio factură generată": "Nicio factură generată",
@@ -688,7 +751,7 @@
"Nicio lucrare la terți": "Nicio lucrare la terți", "Nicio lucrare la terți": "Nicio lucrare la terți",
"Nicio mașină încă": "Nicio mașină încă", "Nicio mașină încă": "Nicio mașină încă",
"Nicio piesă implicită": "Nicio piesă implicită", "Nicio piesă implicită": "Nicio piesă implicită",
"Niciodată": "Niciodată", "Niciodată": "Never",
"Niciun client magazin": "Niciun client magazin", "Niciun client magazin": "Niciun client magazin",
"Niciun client încă": "Niciun client încă", "Niciun client încă": "Niciun client încă",
"Niciun cod cross": "Niciun cod cross", "Niciun cod cross": "Niciun cod cross",
@@ -712,6 +775,8 @@
"Notifications": "Notifications", "Notifications": "Notifications",
"Notificări": "Notifications", "Notificări": "Notifications",
"Notițe": "Notes", "Notițe": "Notes",
"Notițe / Reclamație": "Notes / Complaint",
"Notițe / reclamație": "Notes / complaint",
"Notițe interne": "Notițe interne", "Notițe interne": "Notițe interne",
"Nou": "New", "Nou": "New",
"Nou tehnician": "Nou tehnician", "Nou tehnician": "Nou tehnician",
@@ -783,7 +848,9 @@
"Pas 2 — Brand & limbă": "Pas 2 — Brand & limbă", "Pas 2 — Brand & limbă": "Pas 2 — Brand & limbă",
"Pas 3 — Tarif & terminat": "Pas 3 — Tarif & terminat", "Pas 3 — Tarif & terminat": "Pas 3 — Tarif & terminat",
"Pauză": "Pause", "Pauză": "Pause",
"Pe pauză": "Paused",
"Penalizări": "Penalizări", "Penalizări": "Penalizări",
"Per page": "Per page",
"Perioada (YYYY-MM)": "Perioada (YYYY-MM)", "Perioada (YYYY-MM)": "Perioada (YYYY-MM)",
"Perioadă": "Period", "Perioadă": "Period",
"Perioadă (YYYY-MM)": "Perioadă (YYYY-MM)", "Perioadă (YYYY-MM)": "Perioadă (YYYY-MM)",
@@ -819,6 +886,7 @@
"Politici": "Policies", "Politici": "Policies",
"Pontaj": "Timesheet", "Pontaj": "Timesheet",
"Populare": "Popular", "Populare": "Popular",
"Posibili clienți noi": "Potential new clients",
"Post actualizat": "Post actualizat", "Post actualizat": "Post actualizat",
"Poze": "Photos", "Poze": "Photos",
"Pozele auto": "Vehicle photos", "Pozele auto": "Vehicle photos",
@@ -865,13 +933,20 @@
"Profil": "Profil", "Profil": "Profil",
"Profile": "Profile", "Profile": "Profile",
"Profit": "Profit", "Profit": "Profit",
"Profit (luna)": "Profit (month)",
"Programare": "Appointment",
"Programare adăugată": "Programare adăugată", "Programare adăugată": "Programare adăugată",
"Programare confirmată": "Programare confirmată", "Programare confirmată": "Programare confirmată",
"Programare creată · mâine 10:00": "Appointment created · tomorrow 10:00",
"Programare mutată": "Programare mutată", "Programare mutată": "Programare mutată",
"Programare ștearsă": "Programare ștearsă", "Programare ștearsă": "Programare ștearsă",
"Programat": "Scheduled",
"Programează": "Schedule",
"Programează întâlnire": "Schedule meeting", "Programează întâlnire": "Schedule meeting",
"Programări": "Appointments", "Programări": "Appointments",
"Programări azi": "Appointments today",
"Progres": "Progres", "Progres": "Progres",
"Progres etapă": "Stage progress",
"Proprietar": "Owner", "Proprietar": "Owner",
"Provider implicit": "Provider implicit", "Provider implicit": "Provider implicit",
"Public": "Public", "Public": "Public",
@@ -891,6 +966,7 @@
"ROI": "ROI", "ROI": "ROI",
"Rapoarte": "Reports", "Rapoarte": "Reports",
"Raport": "Report", "Raport": "Report",
"Rata conversie": "Conversion rate",
"Rating": "Rating", "Rating": "Rating",
"Rating actualizat → {$score}★": "Rating actualizat → {$score}★", "Rating actualizat → {$score}★": "Rating actualizat → {$score}★",
"Reactivează": "Reactivate", "Reactivează": "Reactivate",
@@ -963,6 +1039,7 @@
"Rânduri": "Rows", "Rânduri": "Rows",
"Rânduri per pagină": "Rows per page", "Rânduri per pagină": "Rows per page",
"Rămas": "Rămas", "Rămas": "Rămas",
"SMS": "SMS",
"Salarii": "Payroll", "Salarii": "Payroll",
"Salariu & comisioane": "Salariu & comisioane", "Salariu & comisioane": "Salariu & comisioane",
"Salariu & marjă": "Salary & margin", "Salariu & marjă": "Salary & margin",
@@ -1000,6 +1077,7 @@
"Selectează fișier": "Select file", "Selectează fișier": "Select file",
"Selectează furnizorul": "Selectează furnizorul", "Selectează furnizorul": "Selectează furnizorul",
"Selectează interval": "Select range", "Selectează interval": "Select range",
"Selectează motivul pentru care lucrarea nu poate continua. Va fi vizibil managerului.": "Select the reason why work cannot continue. Visible to the manager.",
"Selectează oră": "Select time", "Selectează oră": "Select time",
"Selectează perioadă": "Select period", "Selectează perioadă": "Select period",
"Semnat": "Signed", "Semnat": "Signed",
@@ -1045,12 +1123,15 @@
"Specificații": "Specificații", "Specificații": "Specificații",
"Standard": "Standard", "Standard": "Standard",
"Stare": "Stare", "Stare": "Stare",
"Stare timp": "Time state",
"Start": "Start",
"Status": "Status", "Status": "Status",
"Status dosar": "Status dosar", "Status dosar": "Status dosar",
"Status implicit": "Default status", "Status implicit": "Default status",
"Stoc": "Stock", "Stoc": "Stock",
"Stoc adăugat": "Stoc adăugat", "Stoc adăugat": "Stoc adăugat",
"Stoc minim": "Stoc minim", "Stoc minim": "Stoc minim",
"Stoc minim atins": "Minimum stock reached",
"Storage (MB)": "Storage (MB)", "Storage (MB)": "Storage (MB)",
"Subcontractare": "Subcontracting", "Subcontractare": "Subcontracting",
"Subcontractor": "Subcontractor", "Subcontractor": "Subcontractor",
@@ -1065,6 +1146,7 @@
"Sunet": "Sound", "Sunet": "Sound",
"Sunt de acord": "I agree", "Sunt de acord": "I agree",
"Sunteți sigur?": "Are you sure?", "Sunteți sigur?": "Are you sure?",
"Sună": "Call",
"Sursă": "Source", "Sursă": "Source",
"Sursă & Atribuire": "Sursă & Atribuire", "Sursă & Atribuire": "Sursă & Atribuire",
"Suspendat": "Suspended", "Suspendat": "Suspended",
@@ -1100,6 +1182,7 @@
"Tenant not resolved": "Tenant not resolved", "Tenant not resolved": "Tenant not resolved",
"Tenant suspendat.": "Tenant suspendat.", "Tenant suspendat.": "Tenant suspendat.",
"Tenants recenți": "Tenants recenți", "Tenants recenți": "Tenants recenți",
"Tenants total": "Total tenants",
"Termen": "Due date", "Termen": "Due date",
"Termen limită": "Deadline", "Termen limită": "Deadline",
"Termene": "Termene", "Termene": "Termene",
@@ -1122,15 +1205,18 @@
"Tip jante": "Tip jante", "Tip jante": "Tip jante",
"Tipărește": "Print", "Tipărește": "Print",
"Tipărește etichete QR": "Tipărește etichete QR", "Tipărește etichete QR": "Tipărește etichete QR",
"Toate": "All",
"Toate atelierele": "All workshops", "Toate atelierele": "All workshops",
"Toate autovehiculele": "All vehicles", "Toate autovehiculele": "All vehicles",
"Toate categoriile": "All categories", "Toate categoriile": "All categories",
"Toate cererile": "All leads", "Toate cererile": "All leads",
"Toate cheltuielile": "All expenses", "Toate cheltuielile": "All expenses",
"Toate comenzile": "All orders", "Toate comenzile": "All orders",
"Toate companiile": "Toate companiile", "Toate companiile": "All companies",
"Toate câmpurile": "All fields", "Toate câmpurile": "All fields",
"Toate limbile": "All languages", "Toate limbile": "All languages",
"Toate ok": "All OK",
"Toate plătite": "All paid",
"Toate plățile": "All payments", "Toate plățile": "All payments",
"Toate produsele": "All products", "Toate produsele": "All products",
"Toate rolurile": "All roles", "Toate rolurile": "All roles",
@@ -1138,12 +1224,13 @@
"Token public": "Token public", "Token public": "Token public",
"Token revocat": "Token revocat", "Token revocat": "Token revocat",
"Total": "Total", "Total": "Total",
"Total deals active": "Total active deals",
"Total general": "Grand total", "Total general": "Grand total",
"Total net": "Total net", "Total net": "Total net",
"Total plătit": "Total paid", "Total plătit": "Total paid",
"Total rezultate": "Total results", "Total rezultate": "Total results",
"Total în baza de date": "Total în baza de date", "Total în baza de date": "Total in database",
"Total înregistrate": "Total înregistrate", "Total înregistrate": "Total registered",
"Toți clienții": "All clients", "Toți clienții": "All clients",
"Toți utilizatorii": "All users", "Toți utilizatorii": "All users",
"Tracking & ETA": "Tracking & ETA", "Tracking & ETA": "Tracking & ETA",
@@ -1163,7 +1250,7 @@
"Trimite reset parolă": "Trimite reset parolă", "Trimite reset parolă": "Trimite reset parolă",
"UM": "Unit", "UM": "Unit",
"Ulei": "Oil", "Ulei": "Oil",
"Ultim login": "Ultim login", "Ultim login": "Last login",
"Ultima actualizare": "Last updated", "Ultima actualizare": "Last updated",
"Ultima autentificare": "Last login", "Ultima autentificare": "Last login",
"Ultima modificare": "Last modified", "Ultima modificare": "Last modified",
@@ -1171,6 +1258,7 @@
"Un depozit implicit a fost creat la migrare. Adaugă altele dacă ai locații fizice separate (sucursală, hală, mobil).": "Un depozit implicit a fost creat la migrare. Adaugă altele dacă ai locații fizice separate (sucursală, hală, mobil).", "Un depozit implicit a fost creat la migrare. Adaugă altele dacă ai locații fizice separate (sucursală, hală, mobil).": "Un depozit implicit a fost creat la migrare. Adaugă altele dacă ai locații fizice separate (sucursală, hală, mobil).",
"Upgrade": "Upgrade", "Upgrade": "Upgrade",
"Urgent": "Urgent", "Urgent": "Urgent",
"Urgente": "Urgent",
"Urgență": "Urgency", "Urgență": "Urgency",
"User API": "User API", "User API": "User API",
"Useri": "Useri", "Useri": "Useri",
@@ -1182,6 +1270,7 @@
"VIN căutare & piese": "VIN căutare & piese", "VIN căutare & piese": "VIN căutare & piese",
"VIN-căutare": "VIN search", "VIN-căutare": "VIN search",
"Va deconecta utilizatorul pe toate device-urile.": "Va deconecta utilizatorul pe toate device-urile.", "Va deconecta utilizatorul pe toate device-urile.": "Va deconecta utilizatorul pe toate device-urile.",
"Va fi adăugată în Cerere nouă": "Will be added to \"New lead\"",
"Va fi pre-completat când creezi o programare pentru acest pod": "Va fi pre-completat când creezi o programare pentru acest pod", "Va fi pre-completat când creezi o programare pentru acest pod": "Va fi pre-completat când creezi o programare pentru acest pod",
"Va recalcula sell_price pentru TOATE piesele active. Continui?": "Va recalcula sell_price pentru TOATE piesele active. Continui?", "Va recalcula sell_price pentru TOATE piesele active. Continui?": "Va recalcula sell_price pentru TOATE piesele active. Continui?",
"Val.": "Val.", "Val.": "Val.",
@@ -1192,11 +1281,13 @@
"Vehicul nou": "New vehicle", "Vehicul nou": "New vehicle",
"Venit": "Revenue", "Venit": "Revenue",
"Venit generat": "Venit generat", "Venit generat": "Venit generat",
"Venit luna curentă": "Current month revenue",
"Venit manopere": "Venit manopere", "Venit manopere": "Venit manopere",
"Venituri": "Revenues", "Venituri": "Revenues",
"Verificare": "Verification", "Verificare": "Verification",
"Verificat": "Verified", "Verificat": "Verified",
"Verifică emailul": "Check your email", "Verifică emailul": "Check your email",
"Verifică și amintește": "Verify and remind",
"Vezi imagine": "View image", "Vezi imagine": "View image",
"Vezi mai mult": "View more", "Vezi mai mult": "View more",
"Vezi tot": "View all", "Vezi tot": "View all",
@@ -1216,6 +1307,7 @@
"Webhook setat — botul e gata": "Webhook setat — botul e gata", "Webhook setat — botul e gata": "Webhook setat — botul e gata",
"Weekend": "Weekend", "Weekend": "Weekend",
"Welcome": "Welcome", "Welcome": "Welcome",
"WhatsApp": "WhatsApp",
"Widget": "Widget", "Widget": "Widget",
"XLS": "XLS", "XLS": "XLS",
"Yes": "Yes", "Yes": "Yes",
@@ -1229,33 +1321,42 @@
"Zoom out": "Zoom out", "Zoom out": "Zoom out",
"achiziție": "achiziție", "achiziție": "achiziție",
"achiziții": "achiziții", "achiziții": "achiziții",
"active": "active",
"actualizat": "updated",
"angajați": "angajați", "angajați": "angajați",
"apasă": "click", "apasă": "click",
"auto-generat": "auto-generat", "auto-generat": "auto-generat",
"bonusuri/avansuri": "bonusuri/avansuri", "bonusuri/avansuri": "bonusuri/avansuri",
"canale marketing": "canale marketing", "canale marketing": "canale marketing",
"cheltuială": "cheltuială", "cheltuială": "cheltuială",
"client": "client",
"client magazin": "client magazin", "client magazin": "client magazin",
"clienți": "clienți", "clienți": "clients",
"clienți magazin": "clienți magazin", "clienți magazin": "clienți magazin",
"coeficient": "coefficient", "coeficient": "coefficient",
"coeficienți preț": "coeficienți preț", "coeficienți preț": "coeficienți preț",
"comandă": "comandă", "comandă": "comandă",
"comenzi online": "comenzi online", "comenzi online": "comenzi online",
"deal-uri": "deal-uri", "deal-uri": "deal-uri",
"deals": "deals",
"ex: Iarnă Michelin": "ex: Iarnă Michelin", "ex: Iarnă Michelin": "ex: Iarnă Michelin",
"ex: Mașină veche, Client VIP, Express": "ex: Mașină veche, Client VIP, Express", "ex: Mașină veche, Client VIP, Express": "ex: Mașină veche, Client VIP, Express",
"ex: Revizie completă 15.000 km": "ex: Revizie completă 15.000 km", "ex: Revizie completă 15.000 km": "ex: Revizie completă 15.000 km",
"ex: app-mobil, integrare-erp": "ex: app-mobil, integrare-erp", "ex: app-mobil, integrare-erp": "ex: app-mobil, integrare-erp",
"factură": "factură", "factură": "factură",
"finalizat": "completed",
"fișe lucru": "fișe lucru", "fișe lucru": "fișe lucru",
"fișă": "fișă", "fișă": "fișă",
"fără client": "no client",
"h norm": "h norm",
"h real": "h real",
"lucrare caroserie": "lucrare caroserie", "lucrare caroserie": "lucrare caroserie",
"lucrare terți": "lucrare terți", "lucrare terți": "lucrare terți",
"lucrări caroserie": "lucrări caroserie", "lucrări caroserie": "lucrări caroserie",
"lucrări terți": "lucrări terți", "lucrări terți": "lucrări terți",
"mașini": "mașini", "mașini": "vehicles",
"mașină": "mașină", "mașină": "vehicle",
"new": "new",
"niciodată": "niciodată", "niciodată": "niciodată",
"norme-ore": "norme-ore", "norme-ore": "norme-ore",
"normă": "normă", "normă": "normă",
@@ -1380,19 +1481,26 @@
"subcontractor": "subcontractor", "subcontractor": "subcontractor",
"subcontractori": "subcontractori", "subcontractori": "subcontractori",
"template-uri": "template-uri", "template-uri": "template-uri",
"vip": "vip",
"Împărtășește": "Share", "Împărtășește": "Share",
"În așteptare": "Pending",
"În curs": "In progress", "În curs": "In progress",
"În depozit": "In warehouse", "În depozit": "In warehouse",
"În lucru": "In progress",
"În pipeline": "In pipeline", "În pipeline": "In pipeline",
"În trial": "In trial",
"Înainte": "Back", "Înainte": "Back",
"Încarcă fișier": "Upload file", "Încarcă fișier": "Upload file",
"Încarcă fișierul Excel sau CSV": "Încarcă fișierul Excel sau CSV", "Încarcă fișierul Excel sau CSV": "Încarcă fișierul Excel sau CSV",
"Încarcă o poză cu factura. AI-ul extrage furnizorul, data și liniile. Verifici și salvezi.": "Încarcă o poză cu factura. AI-ul extrage furnizorul, data și liniile. Verifici și salvezi.", "Încarcă o poză cu factura. AI-ul extrage furnizorul, data și liniile. Verifici și salvezi.": "Încarcă o poză cu factura. AI-ul extrage furnizorul, data și liniile. Verifici și salvezi.",
"Încasări (luna)": "Income (month)",
"Începe": "Start", "Începe": "Start",
"Începe lucrul": "Start work",
"Închide": "Close", "Închide": "Close",
"Închide fișa": "Close order", "Închide fișa": "Close order",
"Închis": "Closed", "Închis": "Closed",
"Închis la": "Closed at", "Închis la": "Closed at",
"Închise azi": "Closed today",
"Încărcare STO": "Workshop load", "Încărcare STO": "Workshop load",
"Încărcare service": "Workshop load", "Încărcare service": "Workshop load",
"Înregistrare": "Register", "Înregistrare": "Register",
@@ -1414,7 +1522,9 @@
"șabloane servicii": "șabloane servicii", "șabloane servicii": "șabloane servicii",
"șablon": "șablon", "șablon": "șablon",
"Ține-mă minte": "Remember me", "Ține-mă minte": "Remember me",
"✓ Pe abonament plătit": "✓ Pe abonament plătit", "⚠ Acțiune necesară": "⚠ Action needed",
"✓ Achitat": "✓ Paid",
"✓ Pe abonament plătit": "✓ On paid subscription",
"🅿️ PayPal": "🅿️ PayPal", "🅿️ PayPal": "🅿️ PayPal",
"🇲🇩 Paynet (Moldova)": "🇲🇩 Paynet (Moldova)", "🇲🇩 Paynet (Moldova)": "🇲🇩 Paynet (Moldova)",
"🎉 Bun venit în AutoCRM!": "🎉 Bun venit în AutoCRM!", "🎉 Bun venit în AutoCRM!": "🎉 Bun venit în AutoCRM!",
+125 -15
View File
@@ -1,4 +1,5 @@
{ {
"#": "#",
"$n sesiuni revoke-uite": "$n sesiuni revoke-uite", "$n sesiuni revoke-uite": "$n sesiuni revoke-uite",
"% Manopere": "% Manopere", "% Manopere": "% Manopere",
"% Piese": "% Piese", "% Piese": "% Piese",
@@ -33,6 +34,7 @@
"Acces în aplicație (opțional)": "Acces în aplicație (opțional)", "Acces în aplicație (opțional)": "Acces în aplicație (opțional)",
"Această acțiune este ireversibilă": "Это действие необратимо", "Această acțiune este ireversibilă": "Это действие необратимо",
"Achitat": "Оплачено", "Achitat": "Оплачено",
"Achitat azi": "Оплачено сегодня",
"Achiziții": "Закупки", "Achiziții": "Закупки",
"Acord": "Соглашение", "Acord": "Соглашение",
"Acordat de": "Acordat de", "Acordat de": "Acordat de",
@@ -40,6 +42,7 @@
"Activ": "Активный", "Activ": "Активный",
"Activare": "Активация", "Activare": "Активация",
"Active": "Активные", "Active": "Активные",
"Active acum": "В работе сейчас",
"Activează": "Активировать", "Activează": "Активировать",
"Activează / dezactivează notificările auto către clienți. Telegram are prioritate dacă clientul are cont legat.": "Activează / dezactivează notificările auto către clienți. Telegram are prioritate dacă clientul are cont legat.", "Activează / dezactivează notificările auto către clienți. Telegram are prioritate dacă clientul are cont legat.": "Activează / dezactivează notificările auto către clienți. Telegram are prioritate dacă clientul are cont legat.",
"Activează PayPal": "Activează PayPal", "Activează PayPal": "Activează PayPal",
@@ -49,14 +52,17 @@
"Activează magazinul public la <slug>.service.mir.md/shop. Piesele apar doar dacă sunt marcate „Publicat\".": "Activează magazinul public la <slug>.service.mir.md/shop. Piesele apar doar dacă sunt marcate „Publicat\".", "Activează magazinul public la <slug>.service.mir.md/shop. Piesele apar doar dacă sunt marcate „Publicat\".": "Activează magazinul public la <slug>.service.mir.md/shop. Piesele apar doar dacă sunt marcate „Publicat\".",
"Activează plata prin transfer": "Activează plata prin transfer", "Activează plata prin transfer": "Activează plata prin transfer",
"Activi": "Активные", "Activi": "Активные",
"Activitate recentă": "Недавняя активность",
"Activă": "Активна", "Activă": "Активна",
"Actualizat la": "Обновлено", "Actualizat la": "Обновлено",
"Actualizează": "Обновить", "Actualizează": "Обновить",
"Acțiune": "Действие", "Acțiune": "Действие",
"Acțiuni rapide": "Быстрые действия",
"Acțiuni în bulk": "Массовые действия", "Acțiuni în bulk": "Массовые действия",
"Acțiuni în masă": "Массовые действия", "Acțiuni în masă": "Массовые действия",
"Adaugă atelierele terțe la care trimiți lucrări (turbo, cutii, vopsitorie, PDR) și urmărește costul + marja.": "Adaugă atelierele terțe la care trimiți lucrări (turbo, cutii, vopsitorie, PDR) și urmărește costul + marja.", "Adaugă atelierele terțe la care trimiți lucrări (turbo, cutii, vopsitorie, PDR) și urmărește costul + marja.": "Adaugă atelierele terțe la care trimiți lucrări (turbo, cutii, vopsitorie, PDR) și urmărește costul + marja.",
"Adaugă auto": "Добавить авто", "Adaugă auto": "Добавить авто",
"Adaugă cerere": "Добавить заявку",
"Adaugă chei API ca să activezi asistentul. Cheile rămân la voi — nu sunt partajate.": "Adaugă chei API ca să activezi asistentul. Cheile rămân la voi — nu sunt partajate.", "Adaugă chei API ca să activezi asistentul. Cheile rămân la voi — nu sunt partajate.": "Adaugă chei API ca să activezi asistentul. Cheile rămân la voi — nu sunt partajate.",
"Adaugă cheltuială": "Добавить расход", "Adaugă cheltuială": "Добавить расход",
"Adaugă client": "Добавить клиента", "Adaugă client": "Добавить клиента",
@@ -91,6 +97,7 @@
"Ai uitat parola?": "Забыли пароль?", "Ai uitat parola?": "Забыли пароль?",
"Aici apar cererile clienților potențiali. Convertește-le în deal-uri sau direct în programări de la butonul „Convertește\".": "Aici apar cererile clienților potențiali. Convertește-le în deal-uri sau direct în programări de la butonul „Convertește\".", "Aici apar cererile clienților potențiali. Convertește-le în deal-uri sau direct în programări de la butonul „Convertește\".": "Aici apar cererile clienților potențiali. Convertește-le în deal-uri sau direct în programări de la butonul „Convertește\".",
"Aici apar clienții care și-au creat cont în magazinul online (/shop/register).": "Aici apar clienții care și-au creat cont în magazinul online (/shop/register).", "Aici apar clienții care și-au creat cont în magazinul online (/shop/register).": "Aici apar clienții care și-au creat cont în magazinul online (/shop/register).",
"Ale mele": "Мои",
"Aleatoriu": "Случайно", "Aleatoriu": "Случайно",
"Alege categorie": "Выбрать категорию", "Alege categorie": "Выбрать категорию",
"Alege client": "Выбрать клиента", "Alege client": "Выбрать клиента",
@@ -107,16 +114,19 @@
"Alege vehicul": "Выбрать транспорт", "Alege vehicul": "Выбрать транспорт",
"Alfabetic": "По алфавиту", "Alfabetic": "По алфавиту",
"Alte cheltuieli": "Прочие расходы", "Alte cheltuieli": "Прочие расходы",
"Altă problemă": "Другая проблема",
"An": "Год", "An": "Год",
"An fabricație": "Год выпуска", "An fabricație": "Год выпуска",
"Angajat din": "Angajat din", "Angajat din": "Angajat din",
"Ani": "Годы", "Ani": "Годы",
"Anonim": "Аноним",
"Antet": "Шапка", "Antet": "Шапка",
"Antet fișă": "Шапка наряда", "Antet fișă": "Шапка наряда",
"Anual": "Anual", "Anual": "Anual",
"Anul curent": "Текущий год", "Anul curent": "Текущий год",
"Anul trecut": "Прошлый год", "Anul trecut": "Прошлый год",
"Anulat": "Отменено", "Anulat": "Отменено",
"Anulează": "Отмена",
"Anulează fișa": "Отменить наряд", "Anulează fișa": "Отменить наряд",
"Anvelope": "Шины", "Anvelope": "Шины",
"Apare în magazinul online public.": "Apare în magazinul online public.", "Apare în magazinul online public.": "Apare în magazinul online public.",
@@ -154,9 +164,15 @@
"Autentificare": "Аутентификация", "Autentificare": "Аутентификация",
"Autentificare 2FA": "2FA аутентификация", "Autentificare 2FA": "2FA аутентификация",
"Auto": "Авто", "Auto": "Авто",
"Auto / model": "Авто / модель",
"AutoCRM SRL": "AutoCRM SRL", "AutoCRM SRL": "AutoCRM SRL",
"Automobile": "Автомобили",
"Avans": "Аванс", "Avans": "Аванс",
"Avans achitat": "Аванс оплачен",
"Avg zile": "Avg zile", "Avg zile": "Avg zile",
"Azi": "Сегодня",
"Așteaptă piese": "Ждёт запчасти",
"Aștept aprobare client": "Ожидание одобрения клиента",
"Așteptată": "Ожидается", "Așteptată": "Ожидается",
"BIC / SWIFT": "BIC / SWIFT", "BIC / SWIFT": "BIC / SWIFT",
"Backup": "Бэкап", "Backup": "Бэкап",
@@ -169,8 +185,11 @@
"Bifează ce poate face acest rol. Modificările au efect imediat.": "Bifează ce poate face acest rol. Modificările au efect imediat.", "Bifează ce poate face acest rol. Modificările au efect imediat.": "Bifează ce poate face acest rol. Modificările au efect imediat.",
"Bifă": "Флажок", "Bifă": "Флажок",
"Bine ai venit": "Добро пожаловать", "Bine ai venit": "Добро пожаловать",
"Blocat": "Заблокировано",
"Blocată": "Заблокирована", "Blocată": "Заблокирована",
"Blochează": "Заблокировать", "Blochează": "Заблокировать",
"Blochez": "Блокировать",
"Blochez lucrarea": "Заблокировать работу",
"Boală": "Больничный", "Boală": "Больничный",
"Bon": "Чек", "Bon": "Чек",
"Bonuri": "Чеки", "Bonuri": "Чеки",
@@ -186,7 +205,9 @@
"Bună ziua": "Здравствуйте", "Bună ziua": "Здравствуйте",
"CSV": "CSV", "CSV": "CSV",
"Calcul": "Calcul", "Calcul": "Calcul",
"Calcul.": "Расчёт",
"Calculat salariul {$period} pentru {$count} utilizatori": "Calculat salariul {$period} pentru {$count} utilizatori", "Calculat salariul {$period} pentru {$count} utilizatori": "Calculat salariul {$period} pentru {$count} utilizatori",
"Calculație": "Расчёт",
"Calculează luna curentă": "Calculează luna curentă", "Calculează luna curentă": "Calculează luna curentă",
"Calendar": "Календарь", "Calendar": "Календарь",
"Calendar vizual": "Calendar vizual", "Calendar vizual": "Calendar vizual",
@@ -204,15 +225,22 @@
"Categorie implicită": "Категория по умолчанию", "Categorie implicită": "Категория по умолчанию",
"Categorii": "Categorii", "Categorii": "Categorii",
"Caută": "Поиск", "Caută": "Поиск",
"Caută client, mașină, număr...": "Поиск клиента, авто, номера...",
"Caută în tabel": "Поиск в таблице", "Caută în tabel": "Поиск в таблице",
"Caz asigurare": "Caz asigurare", "Caz asigurare": "Caz asigurare",
"Caz de asigurare": "Caz de asigurare", "Caz de asigurare": "Caz de asigurare",
"Ce a spus clientul...": "Что сказал клиент...",
"Cerere": "Заявка",
"Cerere nouă": "Новая заявка",
"Cerere nouă adăugată": "Новая заявка добавлена",
"Cereri": "Заявки", "Cereri": "Заявки",
"Cereri noi": "Новые заявки",
"Check-in depozit": "Check-in depozit", "Check-in depozit": "Check-in depozit",
"Cheia HMAC pentru semnarea cererilor + verificarea webhook-urilor de la Paynet.": "Cheia HMAC pentru semnarea cererilor + verificarea webhook-urilor de la Paynet.", "Cheia HMAC pentru semnarea cererilor + verificarea webhook-urilor de la Paynet.": "Cheia HMAC pentru semnarea cererilor + verificarea webhook-urilor de la Paynet.",
"Cheie": "Cheie", "Cheie": "Cheie",
"Cheltuială": "Расход", "Cheltuială": "Расход",
"Cheltuieli": "Расходы", "Cheltuieli": "Расходы",
"Cheltuieli (luna)": "Расходы (месяц)",
"Cheltuit": "Потрачено", "Cheltuit": "Потрачено",
"Cheltuit 90d": "Cheltuit 90d", "Cheltuit 90d": "Cheltuit 90d",
"Chitanțe": "Квитанции", "Chitanțe": "Квитанции",
@@ -223,7 +251,7 @@
"Claude API Key": "Claude API Key", "Claude API Key": "Claude API Key",
"Client": "Клиент", "Client": "Клиент",
"Client & Auto": "Client & Auto", "Client & Auto": "Client & Auto",
"Client CRM": "Client CRM", "Client CRM": "Клиент CRM",
"Client ID": "Client ID", "Client ID": "Client ID",
"Client VIP": "Client VIP", "Client VIP": "Client VIP",
"Client existent": "Существующий клиент", "Client existent": "Существующий клиент",
@@ -285,9 +313,11 @@
"Creat de": "Создано", "Creat de": "Создано",
"Creat la": "Создано", "Creat la": "Создано",
"Create": "Создать", "Create": "Создать",
"Created at": "Создан",
"Crează manual prima factură sau folosește butonul „Generează factură\" din pagina Companiei.": "Crează manual prima factură sau folosește butonul „Generează factură\" din pagina Companiei.", "Crează manual prima factură sau folosește butonul „Generează factură\" din pagina Companiei.": "Crează manual prima factură sau folosește butonul „Generează factură\" din pagina Companiei.",
"Crează prima fișă pentru o mașină existentă. Adaugă manopere, piese, plăți — totalul se calculează automat.": "Crează prima fișă pentru o mașină existentă. Adaugă manopere, piese, plăți — totalul se calculează automat.", "Crează prima fișă pentru o mașină existentă. Adaugă manopere, piese, plăți — totalul se calculează automat.": "Crează prima fișă pentru o mașină existentă. Adaugă manopere, piese, plăți — totalul se calculează automat.",
"Credit": "Кредит", "Credit": "Кредит",
"Creează cerere": "Создать заявку",
"Creează planuri (ex: Free, Basic, Pro) și atribuie-le companiilor.": "Creează planuri (ex: Free, Basic, Pro) și atribuie-le companiilor.", "Creează planuri (ex: Free, Basic, Pro) și atribuie-le companiilor.": "Creează planuri (ex: Free, Basic, Pro) și atribuie-le companiilor.",
"Creează un bot la @BotFather, lipește token-ul aici și apasă „Setează webhook\". Clienții îți scriu la bot, partajează telefonul, iar codul se leagă automat de fișa lor.": "Creează un bot la @BotFather, lipește token-ul aici și apasă „Setează webhook\". Clienții îți scriu la bot, partajează telefonul, iar codul se leagă automat de fișa lor.", "Creează un bot la @BotFather, lipește token-ul aici și apasă „Setează webhook\". Clienții îți scriu la bot, partajează telefonul, iar codul se leagă automat de fișa lor.": "Creează un bot la @BotFather, lipește token-ul aici și apasă „Setează webhook\". Clienții îți scriu la bot, partajează telefonul, iar codul se leagă automat de fișa lor.",
"Crescător": "По возрастанию", "Crescător": "По возрастанию",
@@ -330,6 +360,7 @@
"Date personale": "Date personale", "Date personale": "Date personale",
"Datele apar pe facturi și pe pagina de plată a tenant-ului. Confirmarea o faci manual.": "Datele apar pe facturi și pe pagina de plată a tenant-ului. Confirmarea o faci manual.", "Datele apar pe facturi și pe pagina de plată a tenant-ului. Confirmarea o faci manual.": "Datele apar pe facturi și pe pagina de plată a tenant-ului. Confirmarea o faci manual.",
"Datorie": "Долг", "Datorie": "Долг",
"Datorii clienți": "Задолженности клиентов",
"Daune": "Daune", "Daune": "Daune",
"De către": "De către", "De către": "De către",
"De la": "От", "De la": "От",
@@ -337,8 +368,10 @@
"De la data": "С даты", "De la data": "С даты",
"De la ora": "С", "De la ora": "С",
"De obicei 10× preț lunar (2 luni gratis).": "De obicei 10× preț lunar (2 luni gratis).", "De obicei 10× preț lunar (2 luni gratis).": "De obicei 10× preț lunar (2 luni gratis).",
"De procesat": "De procesat", "De procesat": "К обработке",
"Deal": "Сделка", "Deal": "Сделка",
"Deal nou": "Новая сделка",
"Deal-uri active": "Активные сделки",
"Deals": "Сделки", "Deals": "Сделки",
"Debit": "Дебет", "Debit": "Дебет",
"Deblochează": "Разблокировать", "Deblochează": "Разблокировать",
@@ -356,10 +389,15 @@
"Depozit implicit": "Склад по умолчанию", "Depozit implicit": "Склад по умолчанию",
"Depozit țintă": "Целевой склад", "Depozit țintă": "Целевой склад",
"Depublică": "Снять с публикации", "Depublică": "Снять с публикации",
"Depășit termen": "Просрочено",
"Descarcă PDF": "Скачать PDF", "Descarcă PDF": "Скачать PDF",
"Descarcă factura": "Скачать счёт", "Descarcă factura": "Скачать счёт",
"Descarcă template": "Скачать шаблон", "Descarcă template": "Скачать шаблон",
"Deschide": "Открыть", "Deschide": "Открыть",
"Deschide Fișă": "Открыть наряд",
"Deschide deal": "Открыть сделку",
"Deschide fișa": "Открыть наряд",
"Deschide fișa pentru aprobare lucrare/piesă.": "Откройте наряд для одобрения работы/запчасти.",
"Deschide tenantul": "Deschide tenantul", "Deschide tenantul": "Deschide tenantul",
"Deschis": "Открыт", "Deschis": "Открыт",
"Deschis la": "Открыт", "Deschis la": "Открыт",
@@ -367,6 +405,7 @@
"Descriere": "Описание", "Descriere": "Описание",
"Descriere produs": "Описание товара", "Descriere produs": "Описание товара",
"Detalii": "Подробности", "Detalii": "Подробности",
"Detalii (opțional)": "Детали (опционально)",
"Detalii auto": "Данные авто", "Detalii auto": "Данные авто",
"Detalii client": "Данные клиента", "Detalii client": "Данные клиента",
"Detalii comandă": "Данные заказа", "Detalii comandă": "Данные заказа",
@@ -395,6 +434,7 @@
"Doar utilizatorii mei": "Только мои пользователи", "Doar utilizatorii mei": "Только мои пользователи",
"Document": "Документ", "Document": "Документ",
"Documente": "Документы", "Documente": "Документы",
"Done": "Готово",
"Downgrade": "Понижение", "Downgrade": "Понижение",
"Drept": "Право", "Drept": "Право",
"Drepturi": "Права", "Drepturi": "Права",
@@ -408,7 +448,9 @@
"Durată reală": "Фактическая длительность", "Durată reală": "Фактическая длительность",
"EJk...": "EJk...", "EJk...": "EJk...",
"ETA": "ETA", "ETA": "ETA",
"Echipament defect": "Неисправное оборудование",
"Edit": "Изменить", "Edit": "Изменить",
"Editare": "Изменить",
"Editează": "Изменить", "Editează": "Изменить",
"Editează drepturi": "Editează drepturi", "Editează drepturi": "Editează drepturi",
"Editează produs": "Изменить товар", "Editează produs": "Изменить товар",
@@ -429,6 +471,7 @@
"Ex: 20": "Ex: 20", "Ex: 20": "Ex: 20",
"Ex: 20 pentru +20%": "Ex: 20 pentru +20%", "Ex: 20 pentru +20%": "Ex: 20 pentru +20%",
"Ex: 25": "Ex: 25", "Ex: 25": "Ex: 25",
"Ex: Lipsește filtrul Mann W712/83": "Например: Нет фильтра Mann W712/83",
"Ex: Pod 1, Curte 1, Atelier electric": "Ex: Pod 1, Curte 1, Atelier electric", "Ex: Pod 1, Curte 1, Atelier electric": "Ex: Pod 1, Curte 1, Atelier electric",
"Ex: cu lift, fără lift, doar diagnoză...": "Ex: cu lift, fără lift, doar diagnoză...", "Ex: cu lift, fără lift, doar diagnoză...": "Ex: cu lift, fără lift, doar diagnoză...",
"Ex: lockdown temporar; acces pentru audit; etc.": "Ex: lockdown temporar; acces pentru audit; etc.", "Ex: lockdown temporar; acces pentru audit; etc.": "Ex: lockdown temporar; acces pentru audit; etc.",
@@ -436,11 +479,14 @@
"Excepții": "Исключения", "Excepții": "Исключения",
"Excepții drepturi": "Исключения прав", "Excepții drepturi": "Исключения прав",
"Expiră": "Expiră", "Expiră": "Expiră",
"Expiră < 7 zile": "Истекает < 7 дней",
"Expiră la (opțional)": "Expiră la (opțional)", "Expiră la (opțional)": "Expiră la (opțional)",
"Export": "Экспорт",
"Export CSV": "Экспорт CSV", "Export CSV": "Экспорт CSV",
"Extras": "Выписка", "Extras": "Выписка",
"Ești sigur?": "Ты уверен?", "Ești sigur?": "Ты уверен?",
"Facturi": "Счета", "Facturi": "Счета",
"Facturi neplătite": "Неоплаченные счета",
"Facturi pending / overdue": "Facturi pending / overdue", "Facturi pending / overdue": "Facturi pending / overdue",
"Factură": "Счёт", "Factură": "Счёт",
"Factură importată": "Factură importată", "Factură importată": "Factură importată",
@@ -464,6 +510,7 @@
"Fișiere": "Файлы", "Fișiere": "Файлы",
"Fișă": "Наряд", "Fișă": "Наряд",
"Fișă asociată": "Fișă asociată", "Fișă asociată": "Fișă asociată",
"Fișă de lucru": "Заказ-наряд",
"Fișă lucru": "Fișă lucru", "Fișă lucru": "Fișă lucru",
"Folosește „Check-in depozit\" pe set pentru a înregistra prima depozitare.": "Folosește „Check-in depozit\" pe set pentru a înregistra prima depozitare.", "Folosește „Check-in depozit\" pe set pentru a înregistra prima depozitare.": "Folosește „Check-in depozit\" pe set pentru a înregistra prima depozitare.",
"Folosit dacă markup = 0.": "Folosit dacă markup = 0.", "Folosit dacă markup = 0.": "Folosit dacă markup = 0.",
@@ -486,7 +533,10 @@
"Furnizor preferat": "Furnizor preferat", "Furnizor preferat": "Furnizor preferat",
"Furnizori": "Поставщики", "Furnizori": "Поставщики",
"Fără TVA": "Без НДС", "Fără TVA": "Без НДС",
"Fără răspuns": "Без ответа",
"Galerie de până la 8 imagini. Prima e afișată în catalog. Max 2 MB / imagine.": "Galerie de până la 8 imagini. Prima e afișată în catalog. Max 2 MB / imagine.", "Galerie de până la 8 imagini. Prima e afișată în catalog. Max 2 MB / imagine.": "Galerie de până la 8 imagini. Prima e afișată în catalog. Max 2 MB / imagine.",
"Gata": "Готов",
"Gata de ridicare": "Готов к выдаче",
"Gata estimat (ETA)": "Gata estimat (ETA)", "Gata estimat (ETA)": "Gata estimat (ETA)",
"Gemini API Key": "Gemini API Key", "Gemini API Key": "Gemini API Key",
"General": "Общее", "General": "Общее",
@@ -495,6 +545,7 @@
"Generează raport": "Сгенерировать отчёт", "Generează raport": "Сгенерировать отчёт",
"Generează token": "Generează token", "Generează token": "Generează token",
"Global": "Глобально", "Global": "Глобально",
"Gol — trage un card aici": "Пусто — перетащите карточку сюда",
"Grafic": "График", "Grafic": "График",
"Gravitate": "Gravitate", "Gravitate": "Gravitate",
"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.", "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.",
@@ -567,8 +618,11 @@
"Limite": "Limite", "Limite": "Limite",
"Linii": "Linii", "Linii": "Linii",
"Link client (QR)": "Link client (QR)", "Link client (QR)": "Link client (QR)",
"Link tracking": "Ссылка отслеживания",
"Lipsă": "Lipsă", "Lipsă": "Lipsă",
"Lipsă piesă": "Нет запчасти",
"Liste configurabile": "Настраиваемые списки", "Liste configurabile": "Настраиваемые списки",
"Listă": "Список",
"Livrare": "Livrare", "Livrare": "Livrare",
"Livrare (zile)": "Livrare (zile)", "Livrare (zile)": "Livrare (zile)",
"Livrare gratuită peste": "Livrare gratuită peste", "Livrare gratuită peste": "Livrare gratuită peste",
@@ -599,7 +653,9 @@
"Luni (zi)": "Понедельник", "Luni (zi)": "Понедельник",
"Lățime": "Lățime", "Lățime": "Lățime",
"MD00 AG00 0000 ...": "MD00 AG00 0000 ...", "MD00 AG00 0000 ...": "MD00 AG00 0000 ...",
"MRR realizat": "MRR realizat", "MDL pipeline total": "MDL всего в воронке",
"MDL închise azi": "MDL закрыто сегодня",
"MRR realizat": "Реализованный MRR",
"Magazin": "Magazin", "Magazin": "Magazin",
"Magazin activ": "Magazin activ", "Magazin activ": "Magazin activ",
"Magazin online": "Онлайн-магазин", "Magazin online": "Онлайн-магазин",
@@ -610,6 +666,7 @@
"Manopere": "Работы", "Manopere": "Работы",
"Manoperă": "Работа", "Manoperă": "Работа",
"Marca": "Marca", "Marca": "Marca",
"Marchează Gata": "Отметить готово",
"Marchează acest tenant ca demo (datele pot fi resetate periodic).": "Marchează acest tenant ca demo (datele pot fi resetate periodic).", "Marchează acest tenant ca demo (datele pot fi resetate periodic).": "Marchează acest tenant ca demo (datele pot fi resetate periodic).",
"Marchează anulat": "Отметить как отменено", "Marchează anulat": "Отметить как отменено",
"Marchează plătit": "Отметить как оплачено", "Marchează plătit": "Отметить как оплачено",
@@ -636,7 +693,7 @@
"Max mașini": "Max mașini", "Max mașini": "Max mașini",
"Max useri": "Max useri", "Max useri": "Max useri",
"Mașina e gata de ridicat": "Mașina e gata de ridicat", "Mașina e gata de ridicat": "Mașina e gata de ridicat",
"Mașini": "Mașini", "Mașini": "Автомобили",
"Mecanic implicit": "Механик по умолчанию", "Mecanic implicit": "Механик по умолчанию",
"Mediu": "Средний", "Mediu": "Средний",
"Merchant Code": "Merchant Code", "Merchant Code": "Merchant Code",
@@ -648,7 +705,7 @@
"Metode plată": "Способы оплаты", "Metode plată": "Способы оплаты",
"Metodă plată": "Способ оплаты", "Metodă plată": "Способ оплаты",
"Miercuri": "Среда", "Miercuri": "Среда",
"Min.": "Min.", "Min.": "Мин.",
"Minim": "Minim", "Minim": "Minim",
"Minute": "Минуты", "Minute": "Минуты",
"Mod": "Режим", "Mod": "Режим",
@@ -671,6 +728,10 @@
"Mulțumim": "Спасибо", "Mulțumim": "Спасибо",
"Mâine": "Завтра", "Mâine": "Завтра",
"Mărci auto suportate (separate prin virgulă)": "Mărci auto suportate (separate prin virgulă)", "Mărci auto suportate (separate prin virgulă)": "Mărci auto suportate (separate prin virgulă)",
"Neachitat": "Не оплачено",
"Necesită acțiune": "Требует действия",
"Necesită aprobare": "Требуется одобрение",
"Necesită aprobare client": "Требуется одобрение клиента",
"Necesită cel puțin 2 recepții complete cu data așteptată setată.": "Necesită cel puțin 2 recepții complete cu data așteptată setată.", "Necesită cel puțin 2 recepții complete cu data așteptată setată.": "Necesită cel puțin 2 recepții complete cu data așteptată setată.",
"Necompletat": "Не заполнено", "Necompletat": "Не заполнено",
"Necunoscut": "Неизвестно", "Necunoscut": "Неизвестно",
@@ -680,6 +741,8 @@
"Nesincronizat": "Не синхронизировано", "Nesincronizat": "Не синхронизировано",
"Net 30 / Avans": "Net 30 / Avans", "Net 30 / Avans": "Net 30 / Avans",
"Neverificat": "Не проверено", "Neverificat": "Не проверено",
"New client": "Новый клиент",
"New mașină": "Новое авто",
"Nicio comandă încă": "Nicio comandă încă", "Nicio comandă încă": "Nicio comandă încă",
"Nicio daună marcată": "Nicio daună marcată", "Nicio daună marcată": "Nicio daună marcată",
"Nicio factură generată": "Nicio factură generată", "Nicio factură generată": "Nicio factură generată",
@@ -688,7 +751,7 @@
"Nicio lucrare la terți": "Nicio lucrare la terți", "Nicio lucrare la terți": "Nicio lucrare la terți",
"Nicio mașină încă": "Nicio mașină încă", "Nicio mașină încă": "Nicio mașină încă",
"Nicio piesă implicită": "Nicio piesă implicită", "Nicio piesă implicită": "Nicio piesă implicită",
"Niciodată": "Niciodată", "Niciodată": "Никогда",
"Niciun client magazin": "Niciun client magazin", "Niciun client magazin": "Niciun client magazin",
"Niciun client încă": "Niciun client încă", "Niciun client încă": "Niciun client încă",
"Niciun cod cross": "Niciun cod cross", "Niciun cod cross": "Niciun cod cross",
@@ -712,6 +775,8 @@
"Notifications": "Уведомления", "Notifications": "Уведомления",
"Notificări": "Уведомления", "Notificări": "Уведомления",
"Notițe": "Заметки", "Notițe": "Заметки",
"Notițe / Reclamație": "Заметки / Жалоба",
"Notițe / reclamație": "Заметки / жалоба",
"Notițe interne": "Notițe interne", "Notițe interne": "Notițe interne",
"Nou": "Новый", "Nou": "Новый",
"Nou tehnician": "Nou tehnician", "Nou tehnician": "Nou tehnician",
@@ -783,7 +848,9 @@
"Pas 2 — Brand & limbă": "Pas 2 — Brand & limbă", "Pas 2 — Brand & limbă": "Pas 2 — Brand & limbă",
"Pas 3 — Tarif & terminat": "Pas 3 — Tarif & terminat", "Pas 3 — Tarif & terminat": "Pas 3 — Tarif & terminat",
"Pauză": "Пауза", "Pauză": "Пауза",
"Pe pauză": "На паузе",
"Penalizări": "Penalizări", "Penalizări": "Penalizări",
"Per page": "На странице",
"Perioada (YYYY-MM)": "Perioada (YYYY-MM)", "Perioada (YYYY-MM)": "Perioada (YYYY-MM)",
"Perioadă": "Период", "Perioadă": "Период",
"Perioadă (YYYY-MM)": "Perioadă (YYYY-MM)", "Perioadă (YYYY-MM)": "Perioadă (YYYY-MM)",
@@ -819,6 +886,7 @@
"Politici": "Политики", "Politici": "Политики",
"Pontaj": "Табель", "Pontaj": "Табель",
"Populare": "Популярные", "Populare": "Популярные",
"Posibili clienți noi": "Потенциальные новые клиенты",
"Post actualizat": "Post actualizat", "Post actualizat": "Post actualizat",
"Poze": "Фото", "Poze": "Фото",
"Pozele auto": "Фото авто", "Pozele auto": "Фото авто",
@@ -865,13 +933,20 @@
"Profil": "Profil", "Profil": "Profil",
"Profile": "Профиль", "Profile": "Профиль",
"Profit": "Прибыль", "Profit": "Прибыль",
"Profit (luna)": "Прибыль (месяц)",
"Programare": "Запись",
"Programare adăugată": "Programare adăugată", "Programare adăugată": "Programare adăugată",
"Programare confirmată": "Programare confirmată", "Programare confirmată": "Programare confirmată",
"Programare creată · mâine 10:00": "Запись создана · завтра 10:00",
"Programare mutată": "Programare mutată", "Programare mutată": "Programare mutată",
"Programare ștearsă": "Programare ștearsă", "Programare ștearsă": "Programare ștearsă",
"Programat": "Запланировано",
"Programează": "Запланировать",
"Programează întâlnire": "Запланировать встречу", "Programează întâlnire": "Запланировать встречу",
"Programări": "Записи", "Programări": "Записи",
"Programări azi": "Записи сегодня",
"Progres": "Progres", "Progres": "Progres",
"Progres etapă": "Прогресс этапа",
"Proprietar": "Владелец", "Proprietar": "Владелец",
"Provider implicit": "Provider implicit", "Provider implicit": "Provider implicit",
"Public": "Публично", "Public": "Публично",
@@ -891,6 +966,7 @@
"ROI": "ROI", "ROI": "ROI",
"Rapoarte": "Отчёты", "Rapoarte": "Отчёты",
"Raport": "Отчёт", "Raport": "Отчёт",
"Rata conversie": "Конверсия",
"Rating": "Рейтинг", "Rating": "Рейтинг",
"Rating actualizat → {$score}★": "Rating actualizat → {$score}★", "Rating actualizat → {$score}★": "Rating actualizat → {$score}★",
"Reactivează": "Реактивировать", "Reactivează": "Реактивировать",
@@ -963,6 +1039,7 @@
"Rânduri": "Строки", "Rânduri": "Строки",
"Rânduri per pagină": "Строк на странице", "Rânduri per pagină": "Строк на странице",
"Rămas": "Rămas", "Rămas": "Rămas",
"SMS": "SMS",
"Salarii": "Зарплаты", "Salarii": "Зарплаты",
"Salariu & comisioane": "Salariu & comisioane", "Salariu & comisioane": "Salariu & comisioane",
"Salariu & marjă": "Зарплата и маржа", "Salariu & marjă": "Зарплата и маржа",
@@ -1000,6 +1077,7 @@
"Selectează fișier": "Выберите файл", "Selectează fișier": "Выберите файл",
"Selectează furnizorul": "Selectează furnizorul", "Selectează furnizorul": "Selectează furnizorul",
"Selectează interval": "Выберите интервал", "Selectează interval": "Выберите интервал",
"Selectează motivul pentru care lucrarea nu poate continua. Va fi vizibil managerului.": "Выберите причину, по которой работа не может продолжаться. Будет видно менеджеру.",
"Selectează oră": "Выберите время", "Selectează oră": "Выберите время",
"Selectează perioadă": "Выберите период", "Selectează perioadă": "Выберите период",
"Semnat": "Подписано", "Semnat": "Подписано",
@@ -1045,12 +1123,15 @@
"Specificații": "Specificații", "Specificații": "Specificații",
"Standard": "Стандартно", "Standard": "Стандартно",
"Stare": "Stare", "Stare": "Stare",
"Stare timp": "Время",
"Start": "Старт",
"Status": "Статус", "Status": "Статус",
"Status dosar": "Status dosar", "Status dosar": "Status dosar",
"Status implicit": "Статус по умолчанию", "Status implicit": "Статус по умолчанию",
"Stoc": "Остаток", "Stoc": "Остаток",
"Stoc adăugat": "Stoc adăugat", "Stoc adăugat": "Stoc adăugat",
"Stoc minim": "Stoc minim", "Stoc minim": "Stoc minim",
"Stoc minim atins": "Достигнут мин. остаток",
"Storage (MB)": "Storage (MB)", "Storage (MB)": "Storage (MB)",
"Subcontractare": "Субподряд", "Subcontractare": "Субподряд",
"Subcontractor": "Субподрядчик", "Subcontractor": "Субподрядчик",
@@ -1065,6 +1146,7 @@
"Sunet": "Звук", "Sunet": "Звук",
"Sunt de acord": "Я согласен", "Sunt de acord": "Я согласен",
"Sunteți sigur?": "Вы уверены?", "Sunteți sigur?": "Вы уверены?",
"Sună": "Позвонить",
"Sursă": "Источник", "Sursă": "Источник",
"Sursă & Atribuire": "Sursă & Atribuire", "Sursă & Atribuire": "Sursă & Atribuire",
"Suspendat": "Приостановлено", "Suspendat": "Приостановлено",
@@ -1100,6 +1182,7 @@
"Tenant not resolved": "Tenant not resolved", "Tenant not resolved": "Tenant not resolved",
"Tenant suspendat.": "Tenant suspendat.", "Tenant suspendat.": "Tenant suspendat.",
"Tenants recenți": "Tenants recenți", "Tenants recenți": "Tenants recenți",
"Tenants total": "Всего тенантов",
"Termen": "Срок", "Termen": "Срок",
"Termen limită": "Крайний срок", "Termen limită": "Крайний срок",
"Termene": "Termene", "Termene": "Termene",
@@ -1122,15 +1205,18 @@
"Tip jante": "Tip jante", "Tip jante": "Tip jante",
"Tipărește": "Печать", "Tipărește": "Печать",
"Tipărește etichete QR": "Tipărește etichete QR", "Tipărește etichete QR": "Tipărește etichete QR",
"Toate": "Все",
"Toate atelierele": "Все мастерские", "Toate atelierele": "Все мастерские",
"Toate autovehiculele": "Все авто", "Toate autovehiculele": "Все авто",
"Toate categoriile": "Все категории", "Toate categoriile": "Все категории",
"Toate cererile": "Все заявки", "Toate cererile": "Все заявки",
"Toate cheltuielile": "Все расходы", "Toate cheltuielile": "Все расходы",
"Toate comenzile": "Все заказы", "Toate comenzile": "Все заказы",
"Toate companiile": "Toate companiile", "Toate companiile": "Все компании",
"Toate câmpurile": "Все поля", "Toate câmpurile": "Все поля",
"Toate limbile": "Все языки", "Toate limbile": "Все языки",
"Toate ok": "Всё в порядке",
"Toate plătite": "Все оплачены",
"Toate plățile": "Все платежи", "Toate plățile": "Все платежи",
"Toate produsele": "Все товары", "Toate produsele": "Все товары",
"Toate rolurile": "Все роли", "Toate rolurile": "Все роли",
@@ -1138,12 +1224,13 @@
"Token public": "Token public", "Token public": "Token public",
"Token revocat": "Token revocat", "Token revocat": "Token revocat",
"Total": "Итого", "Total": "Итого",
"Total deals active": "Всего активных сделок",
"Total general": "Общий итог", "Total general": "Общий итог",
"Total net": "Total net", "Total net": "Total net",
"Total plătit": "Всего оплачено", "Total plătit": "Всего оплачено",
"Total rezultate": "Всего результатов", "Total rezultate": "Всего результатов",
"Total în baza de date": "Total în baza de date", "Total în baza de date": "Всего в базе",
"Total înregistrate": "Total înregistrate", "Total înregistrate": "Всего зарегистрировано",
"Toți clienții": "Все клиенты", "Toți clienții": "Все клиенты",
"Toți utilizatorii": "Все пользователи", "Toți utilizatorii": "Все пользователи",
"Tracking & ETA": "Отслеживание и ETA", "Tracking & ETA": "Отслеживание и ETA",
@@ -1163,14 +1250,15 @@
"Trimite reset parolă": "Trimite reset parolă", "Trimite reset parolă": "Trimite reset parolă",
"UM": "Ед.", "UM": "Ед.",
"Ulei": "Масло", "Ulei": "Масло",
"Ultim login": "Ultim login", "Ultim login": "Последний вход",
"Ultima actualizare": "Последнее обновление", "Ultima actualizare": "Последнее обновление",
"Ultima autentificare": "Последний вход", "Ultima autentificare": "Последний вход",
"Ultima modificare": "Последнее изменение", "Ultima modificare": "Последнее изменение",
"Ultima sincronizare": "Последняя синхронизация", "Ultima sincronizare": "Последняя синхронизация",
"Un depozit implicit a fost creat la migrare. Adaugă altele dacă ai locații fizice separate (sucursală, hală, mobil).": "Un depozit implicit a fost creat la migrare. Adaugă altele dacă ai locații fizice separate (sucursală, hală, mobil).", "Un depozit implicit a fost creat la migrare. Adaugă altele dacă ai locații fizice separate (sucursală, hală, mobil).": "Un depozit implicit a fost creat la migrare. Adaugă altele dacă ai locații fizice separate (sucursală, hală, mobil).",
"Upgrade": "Обновление", "Upgrade": "Обновление",
"Urgent": "Срочный", "Urgent": "Срочно",
"Urgente": "Срочные",
"Urgență": "Срочность", "Urgență": "Срочность",
"User API": "User API", "User API": "User API",
"Useri": "Useri", "Useri": "Useri",
@@ -1182,6 +1270,7 @@
"VIN căutare & piese": "VIN căutare & piese", "VIN căutare & piese": "VIN căutare & piese",
"VIN-căutare": "VIN-поиск", "VIN-căutare": "VIN-поиск",
"Va deconecta utilizatorul pe toate device-urile.": "Va deconecta utilizatorul pe toate device-urile.", "Va deconecta utilizatorul pe toate device-urile.": "Va deconecta utilizatorul pe toate device-urile.",
"Va fi adăugată în Cerere nouă": "Будет добавлена в «Новая заявка»",
"Va fi pre-completat când creezi o programare pentru acest pod": "Va fi pre-completat când creezi o programare pentru acest pod", "Va fi pre-completat când creezi o programare pentru acest pod": "Va fi pre-completat când creezi o programare pentru acest pod",
"Va recalcula sell_price pentru TOATE piesele active. Continui?": "Va recalcula sell_price pentru TOATE piesele active. Continui?", "Va recalcula sell_price pentru TOATE piesele active. Continui?": "Va recalcula sell_price pentru TOATE piesele active. Continui?",
"Val.": "Val.", "Val.": "Val.",
@@ -1192,11 +1281,13 @@
"Vehicul nou": "Новый транспорт", "Vehicul nou": "Новый транспорт",
"Venit": "Доход", "Venit": "Доход",
"Venit generat": "Venit generat", "Venit generat": "Venit generat",
"Venit luna curentă": "Доход тек. месяца",
"Venit manopere": "Venit manopere", "Venit manopere": "Venit manopere",
"Venituri": "Доходы", "Venituri": "Доходы",
"Verificare": "Проверка", "Verificare": "Проверка",
"Verificat": "Проверено", "Verificat": "Проверено",
"Verifică emailul": "Проверьте email", "Verifică emailul": "Проверьте email",
"Verifică și amintește": "Проверить и напомнить",
"Vezi imagine": "Просмотр изображения", "Vezi imagine": "Просмотр изображения",
"Vezi mai mult": "Смотреть больше", "Vezi mai mult": "Смотреть больше",
"Vezi tot": "Смотреть все", "Vezi tot": "Смотреть все",
@@ -1216,6 +1307,7 @@
"Webhook setat — botul e gata": "Webhook setat — botul e gata", "Webhook setat — botul e gata": "Webhook setat — botul e gata",
"Weekend": "Выходные", "Weekend": "Выходные",
"Welcome": "Добро пожаловать", "Welcome": "Добро пожаловать",
"WhatsApp": "WhatsApp",
"Widget": "Виджет", "Widget": "Виджет",
"XLS": "XLS", "XLS": "XLS",
"Yes": "Да", "Yes": "Да",
@@ -1229,33 +1321,42 @@
"Zoom out": "Отдалить", "Zoom out": "Отдалить",
"achiziție": "achiziție", "achiziție": "achiziție",
"achiziții": "achiziții", "achiziții": "achiziții",
"active": "активный",
"actualizat": "обновлено",
"angajați": "angajați", "angajați": "angajați",
"apasă": "нажмите", "apasă": "нажмите",
"auto-generat": "auto-generat", "auto-generat": "auto-generat",
"bonusuri/avansuri": "bonusuri/avansuri", "bonusuri/avansuri": "bonusuri/avansuri",
"canale marketing": "canale marketing", "canale marketing": "canale marketing",
"cheltuială": "cheltuială", "cheltuială": "cheltuială",
"client": "клиент",
"client magazin": "client magazin", "client magazin": "client magazin",
"clienți": "clienți", "clienți": "клиенты",
"clienți magazin": "clienți magazin", "clienți magazin": "clienți magazin",
"coeficient": "коэффициент", "coeficient": "коэффициент",
"coeficienți preț": "coeficienți preț", "coeficienți preț": "coeficienți preț",
"comandă": "comandă", "comandă": "comandă",
"comenzi online": "comenzi online", "comenzi online": "comenzi online",
"deal-uri": "deal-uri", "deal-uri": "deal-uri",
"deals": "сделок",
"ex: Iarnă Michelin": "ex: Iarnă Michelin", "ex: Iarnă Michelin": "ex: Iarnă Michelin",
"ex: Mașină veche, Client VIP, Express": "ex: Mașină veche, Client VIP, Express", "ex: Mașină veche, Client VIP, Express": "ex: Mașină veche, Client VIP, Express",
"ex: Revizie completă 15.000 km": "ex: Revizie completă 15.000 km", "ex: Revizie completă 15.000 km": "ex: Revizie completă 15.000 km",
"ex: app-mobil, integrare-erp": "ex: app-mobil, integrare-erp", "ex: app-mobil, integrare-erp": "ex: app-mobil, integrare-erp",
"factură": "factură", "factură": "factură",
"finalizat": "завершено",
"fișe lucru": "fișe lucru", "fișe lucru": "fișe lucru",
"fișă": "fișă", "fișă": "fișă",
"fără client": "без клиента",
"h norm": " ч норм",
"h real": " ч факт",
"lucrare caroserie": "lucrare caroserie", "lucrare caroserie": "lucrare caroserie",
"lucrare terți": "lucrare terți", "lucrare terți": "lucrare terți",
"lucrări caroserie": "lucrări caroserie", "lucrări caroserie": "lucrări caroserie",
"lucrări terți": "lucrări terți", "lucrări terți": "lucrări terți",
"mașini": "mașini", "mașini": "машины",
"mașină": "mașină", "mașină": "машина",
"new": "новый",
"niciodată": "niciodată", "niciodată": "niciodată",
"norme-ore": "norme-ore", "norme-ore": "norme-ore",
"normă": "normă", "normă": "normă",
@@ -1380,19 +1481,26 @@
"subcontractor": "субподрядчик", "subcontractor": "субподрядчик",
"subcontractori": "subcontractori", "subcontractori": "subcontractori",
"template-uri": "template-uri", "template-uri": "template-uri",
"vip": "vip",
"Împărtășește": "Поделиться", "Împărtășește": "Поделиться",
"În așteptare": "В ожидании",
"În curs": "В процессе", "În curs": "В процессе",
"În depozit": "На складе", "În depozit": "На складе",
"În lucru": "В работе",
"În pipeline": "В воронке", "În pipeline": "В воронке",
"În trial": "В триале",
"Înainte": "Назад", "Înainte": "Назад",
"Încarcă fișier": "Загрузить файл", "Încarcă fișier": "Загрузить файл",
"Încarcă fișierul Excel sau CSV": "Încarcă fișierul Excel sau CSV", "Încarcă fișierul Excel sau CSV": "Încarcă fișierul Excel sau CSV",
"Încarcă o poză cu factura. AI-ul extrage furnizorul, data și liniile. Verifici și salvezi.": "Încarcă o poză cu factura. AI-ul extrage furnizorul, data și liniile. Verifici și salvezi.", "Încarcă o poză cu factura. AI-ul extrage furnizorul, data și liniile. Verifici și salvezi.": "Încarcă o poză cu factura. AI-ul extrage furnizorul, data și liniile. Verifici și salvezi.",
"Încasări (luna)": "Поступления (месяц)",
"Începe": "Начать", "Începe": "Начать",
"Începe lucrul": "Начать работу",
"Închide": "Закрыть", "Închide": "Закрыть",
"Închide fișa": "Закрыть наряд", "Închide fișa": "Закрыть наряд",
"Închis": "Закрыт", "Închis": "Закрыт",
"Închis la": "Закрыт", "Închis la": "Закрыт",
"Închise azi": "Закрыто сегодня",
"Încărcare STO": "Загрузка СТО", "Încărcare STO": "Загрузка СТО",
"Încărcare service": "Загрузка сервиса", "Încărcare service": "Загрузка сервиса",
"Înregistrare": "Регистрация", "Înregistrare": "Регистрация",
@@ -1414,7 +1522,9 @@
"șabloane servicii": "șabloane servicii", "șabloane servicii": "șabloane servicii",
"șablon": "șablon", "șablon": "șablon",
"Ține-mă minte": "Запомнить меня", "Ține-mă minte": "Запомнить меня",
"✓ Pe abonament plătit": "✓ Pe abonament plătit", "⚠ Acțiune necesară": "⚠ Требуется действие",
"✓ Achitat": "✓ Оплачено",
"✓ Pe abonament plătit": "✓ На платной подписке",
"🅿️ PayPal": "🅿️ PayPal", "🅿️ PayPal": "🅿️ PayPal",
"🇲🇩 Paynet (Moldova)": "🇲🇩 Paynet (Moldova)", "🇲🇩 Paynet (Moldova)": "🇲🇩 Paynet (Moldova)",
"🎉 Bun venit în AutoCRM!": "🎉 Bun venit în AutoCRM!", "🎉 Bun venit în AutoCRM!": "🎉 Bun venit în AutoCRM!",
@@ -71,11 +71,11 @@
<div class="mb-stats"> <div class="mb-stats">
<div class="mb-stat"> <div class="mb-stat">
<div class="lbl">Active acum</div> <div class="lbl">{{ __('Active acum') }}</div>
<div class="val">{{ $counts['active'] }}</div> <div class="val">{{ $counts['active'] }}</div>
</div> </div>
<div class="mb-stat"> <div class="mb-stat">
<div class="lbl">Închise azi</div> <div class="lbl">{{ __('Închise azi') }}</div>
<div class="val">{{ $counts['closed_today'] }}</div> <div class="val">{{ $counts['closed_today'] }}</div>
</div> </div>
</div> </div>
@@ -93,7 +93,7 @@
<a href="{{ route('filament.tenant.resources.work-orders.edit', $wo) }}" class="num" style="text-decoration:none;color:#3b82f6;">#{{ $wo->number }}</a> <a href="{{ route('filament.tenant.resources.work-orders.edit', $wo) }}" class="num" style="text-decoration:none;color:#3b82f6;">#{{ $wo->number }}</a>
<span class="plate">{{ $wo->vehicle?->plate ?? '—' }}</span> <span class="plate">{{ $wo->vehicle?->plate ?? '—' }}</span>
</div> </div>
<div class="client">{{ $wo->client?->name ?? 'fără client' }} · {{ $wo->vehicle?->make }} {{ $wo->vehicle?->model }}</div> <div class="client">{{ $wo->client?->name ?? __('fără client') }} · {{ $wo->vehicle?->make }} {{ $wo->vehicle?->model }}</div>
@if ($wo->complaint) @if ($wo->complaint)
<div class="complaint">{{ $wo->complaint }}</div> <div class="complaint">{{ $wo->complaint }}</div>
@endif @endif
@@ -112,31 +112,31 @@
<div style="flex:1;"> <div style="flex:1;">
<span style="font-weight:600;">{{ $w->name }}</span> <span style="font-weight:600;">{{ $w->name }}</span>
<div style="margin-top:3px; display:flex; gap:4px; align-items:center; flex-wrap:wrap;"> <div style="margin-top:3px; display:flex; gap:4px; align-items:center; flex-wrap:wrap;">
<span style="background:{{ $stColor }}; color:white; padding:1px 6px; border-radius:4px; font-size:10px; font-weight:600;">{{ \App\Models\Tenant\WorkOrderWork::MECHANIC_STATUSES[$ms] }}</span> <span style="background:{{ $stColor }}; color:white; padding:1px 6px; border-radius:4px; font-size:10px; font-weight:600;">{{ __(\App\Models\Tenant\WorkOrderWork::MECHANIC_STATUSES[$ms]) }}</span>
@if ($w->hours > 0) @if ($w->hours > 0)
<span style="color:#6b7280; font-size:10px;">{{ rtrim(rtrim(number_format($w->hours, 2), '0'), '.') }}h norm</span> <span style="color:#6b7280; font-size:10px;">{{ rtrim(rtrim(number_format($w->hours, 2), '0'), '.') }}{{ __('h norm') }}</span>
@endif @endif
@if ($w->actual_hours > 0 && $effColor) @if ($w->actual_hours > 0 && $effColor)
<span style="color:{{ $effColor }}; font-weight:600; font-size:10px;">{{ rtrim(rtrim(number_format($w->actual_hours, 2), '0'), '.') }}h real ({{ $w->efficiencyPct() }}%)</span> <span style="color:{{ $effColor }}; font-weight:600; font-size:10px;">{{ rtrim(rtrim(number_format($w->actual_hours, 2), '0'), '.') }}{{ __('h real') }} ({{ $w->efficiencyPct() }}%)</span>
@endif @endif
@if ($w->block_reason) @if ($w->block_reason)
<span style="color:#dc2626; font-size:10px;"> {{ \App\Models\Tenant\WorkOrderWork::BLOCK_REASONS[$w->block_reason] ?? $w->block_reason }}</span> <span style="color:#dc2626; font-size:10px;"> {{ __(\App\Models\Tenant\WorkOrderWork::BLOCK_REASONS[$w->block_reason] ?? $w->block_reason) }}</span>
@endif @endif
</div> </div>
</div> </div>
</div> </div>
<div style="display:flex; gap:4px; margin-top:6px; flex-wrap:wrap;"> <div style="display:flex; gap:4px; margin-top:6px; flex-wrap:wrap;">
@if (in_array($ms, ['pending', 'blocked'])) @if (in_array($ms, ['pending', 'blocked']))
<button wire:click="startWork({{ $w->id }})" style="background:#3b82f6;color:white;border:none;padding:4px 8px;border-radius:4px;font-size:11px;cursor:pointer;"> Start</button> <button wire:click="startWork({{ $w->id }})" style="background:#3b82f6;color:white;border:none;padding:4px 8px;border-radius:4px;font-size:11px;cursor:pointer;"> {{ __('Start') }}</button>
@endif @endif
@if ($ms === 'in_progress') @if ($ms === 'in_progress')
<button wire:click="pauseWork({{ $w->id }})" style="background:#f59e0b;color:white;border:none;padding:4px 8px;border-radius:4px;font-size:11px;cursor:pointer;"> Pauză</button> <button wire:click="pauseWork({{ $w->id }})" style="background:#f59e0b;color:white;border:none;padding:4px 8px;border-radius:4px;font-size:11px;cursor:pointer;"> {{ __('Pauză') }}</button>
<button wire:click="doneWork({{ $w->id }})" style="background:#10b981;color:white;border:none;padding:4px 8px;border-radius:4px;font-size:11px;cursor:pointer;"> Done</button> <button wire:click="doneWork({{ $w->id }})" style="background:#10b981;color:white;border:none;padding:4px 8px;border-radius:4px;font-size:11px;cursor:pointer;"> {{ __('Done') }}</button>
<button wire:click="openBlockModal({{ $w->id }})" style="background:#fff;color:#dc2626;border:1px solid #dc2626;padding:4px 8px;border-radius:4px;font-size:11px;cursor:pointer;">🔴 Blochez</button> <button wire:click="openBlockModal({{ $w->id }})" style="background:#fff;color:#dc2626;border:1px solid #dc2626;padding:4px 8px;border-radius:4px;font-size:11px;cursor:pointer;">🔴 {{ __('Blochez') }}</button>
@endif @endif
@if ($ms === 'paused') @if ($ms === 'paused')
<button wire:click="resumeWork({{ $w->id }})" style="background:#3b82f6;color:white;border:none;padding:4px 8px;border-radius:4px;font-size:11px;cursor:pointer;"> Reia</button> <button wire:click="resumeWork({{ $w->id }})" style="background:#3b82f6;color:white;border:none;padding:4px 8px;border-radius:4px;font-size:11px;cursor:pointer;"> {{ __('Reia') }}</button>
<button wire:click="doneWork({{ $w->id }})" style="background:#10b981;color:white;border:none;padding:4px 8px;border-radius:4px;font-size:11px;cursor:pointer;"> Done</button> <button wire:click="doneWork({{ $w->id }})" style="background:#10b981;color:white;border:none;padding:4px 8px;border-radius:4px;font-size:11px;cursor:pointer;"> {{ __('Done') }}</button>
@endif @endif
</div> </div>
</div> </div>
@@ -155,19 +155,19 @@
@if ($blockingWorkId) @if ($blockingWorkId)
<div style="position:fixed; inset:0; background:rgba(0,0,0,0.5); z-index:9999; display:flex; align-items:center; justify-content:center;" wire:click="$set('blockingWorkId', null)"> <div style="position:fixed; inset:0; background:rgba(0,0,0,0.5); z-index:9999; display:flex; align-items:center; justify-content:center;" wire:click="$set('blockingWorkId', null)">
<div class="mb-modal-content" style="background:white; border-radius:12px; padding:20px; max-width:400px; width:90%;" wire:click.stop> <div class="mb-modal-content" style="background:white; border-radius:12px; padding:20px; max-width:400px; width:90%;" wire:click.stop>
<h2 style="font-size:16px; font-weight:600; margin-bottom:12px; color:#dc2626;">🔴 Blochez lucrarea</h2> <h2 style="font-size:16px; font-weight:600; margin-bottom:12px; color:#dc2626;">🔴 {{ __('Blochez lucrarea') }}</h2>
<p style="font-size:13px; color:#4b5563; margin-bottom:14px;">Selectează motivul pentru care lucrarea nu poate continua. Va fi vizibil managerului.</p> <p style="font-size:13px; color:#4b5563; margin-bottom:14px;">{{ __('Selectează motivul pentru care lucrarea nu poate continua. Va fi vizibil managerului.') }}</p>
<label style="font-size:11px; color:#6b7280; text-transform:uppercase; font-weight:600; display:block; margin-bottom:4px;">Motiv *</label> <label style="font-size:11px; color:#6b7280; text-transform:uppercase; font-weight:600; display:block; margin-bottom:4px;">{{ __('Motiv') }} *</label>
<select wire:model="blockReason" style="width:100%; padding:8px 10px; border:1px solid #cbd5e1; border-radius:6px; font-size:14px; margin-bottom:12px;"> <select wire:model="blockReason" style="width:100%; padding:8px 10px; border:1px solid #cbd5e1; border-radius:6px; font-size:14px; margin-bottom:12px;">
@foreach (\App\Models\Tenant\WorkOrderWork::BLOCK_REASONS as $k => $v) @foreach (\App\Models\Tenant\WorkOrderWork::BLOCK_REASONS as $k => $v)
<option value="{{ $k }}">{{ $v }}</option> <option value="{{ $k }}">{{ __($v) }}</option>
@endforeach @endforeach
</select> </select>
<label style="font-size:11px; color:#6b7280; text-transform:uppercase; font-weight:600; display:block; margin-bottom:4px;">Detalii (opțional)</label> <label style="font-size:11px; color:#6b7280; text-transform:uppercase; font-weight:600; display:block; margin-bottom:4px;">{{ __('Detalii (opțional)') }}</label>
<textarea wire:model="blockNote" rows="2" style="width:100%; padding:8px 10px; border:1px solid #cbd5e1; border-radius:6px; font-size:14px; margin-bottom:14px;" placeholder="Ex: Lipsește filtrul Mann W712/83"></textarea> <textarea wire:model="blockNote" rows="2" style="width:100%; padding:8px 10px; border:1px solid #cbd5e1; border-radius:6px; font-size:14px; margin-bottom:14px;" placeholder="{{ __('Ex: Lipsește filtrul Mann W712/83') }}"></textarea>
<div style="display:flex; gap:8px;"> <div style="display:flex; gap:8px;">
<button wire:click="$set('blockingWorkId', null)" style="flex:1; padding:8px; background:white; color:#4b5563; border:1px solid #cbd5e1; border-radius:6px; cursor:pointer;">Anulează</button> <button wire:click="$set('blockingWorkId', null)" style="flex:1; padding:8px; background:white; color:#4b5563; border:1px solid #cbd5e1; border-radius:6px; cursor:pointer;">{{ __('Anulează') }}</button>
<button wire:click="confirmBlock" style="flex:1; padding:8px; background:#dc2626; color:white; border:none; border-radius:6px; cursor:pointer; font-weight:600;">Blochez</button> <button wire:click="confirmBlock" style="flex:1; padding:8px; background:#dc2626; color:white; border:none; border-radius:6px; cursor:pointer; font-weight:600;">{{ __('Blochez') }}</button>
</div> </div>
</div> </div>
</div> </div>
@@ -199,16 +199,16 @@
<div class="pb-shell" x-data="{ view: 'kanban', dragKey: null }" wire:poll.10s> <div class="pb-shell" x-data="{ view: 'kanban', dragKey: null }" wire:poll.10s>
{{-- TOPBAR --}} {{-- TOPBAR --}}
<div class="pb-topbar"> <div class="pb-topbar">
<span class="pb-topbar-title">Pipeline</span> <span class="pb-topbar-title">{{ __('Pipeline') }}</span>
<div class="pb-topbar-sep"></div> <div class="pb-topbar-sep"></div>
<div class="pb-search"> <div class="pb-search">
<span class="pb-search-icon">🔍</span> <span class="pb-search-icon">🔍</span>
<input placeholder="Caută client, mașină, număr..." wire:model.live.debounce.300ms="searchQuery" /> <input placeholder="{{ __('Caută client, mașină, număr...') }}" wire:model.live.debounce.300ms="searchQuery" />
</div> </div>
<div class="pb-topbar-right"> <div class="pb-topbar-right">
<button class="pb-btn" wire:click="setFilter('urgent')"> Filtre</button> <button class="pb-btn" wire:click="setFilter('urgent')"> {{ __('Filtre') }}</button>
<a class="pb-btn" wire:click="exportCsv" wire:loading.attr="disabled"> Export</a> <a class="pb-btn" wire:click="exportCsv" wire:loading.attr="disabled"> {{ __('Export') }}</a>
<button class="pb-btn pb-btn-primary" wire:click="openNewForm">+ Deal nou</button> <button class="pb-btn pb-btn-primary" wire:click="openNewForm">+ {{ __('Deal nou') }}</button>
</div> </div>
</div> </div>
@@ -216,49 +216,49 @@
<div class="pb-stat-strip"> <div class="pb-stat-strip">
<div class="pb-stat-item"> <div class="pb-stat-item">
<span class="pb-stat-val">{{ $stats['active'] }}</span> <span class="pb-stat-val">{{ $stats['active'] }}</span>
<span class="pb-stat-lbl">Total deals active</span> <span class="pb-stat-lbl">{{ __('Total deals active') }}</span>
</div> </div>
<div class="pb-stat-sep"></div> <div class="pb-stat-sep"></div>
<div class="pb-stat-item"> <div class="pb-stat-item">
<span class="pb-stat-val" style="color:var(--pb-blue)">{{ number_format($stats['pipeline_mdl'], 0, '.', ' ') }}</span> <span class="pb-stat-val" style="color:var(--pb-blue)">{{ number_format($stats['pipeline_mdl'], 0, '.', ' ') }}</span>
<span class="pb-stat-lbl">MDL pipeline total</span> <span class="pb-stat-lbl">{{ __('MDL pipeline total') }}</span>
</div> </div>
<div class="pb-stat-sep"></div> <div class="pb-stat-sep"></div>
<div class="pb-stat-item"> <div class="pb-stat-item">
<span class="pb-stat-val" style="color:var(--pb-green)">{{ number_format($stats['closed_today_mdl'], 0, '.', ' ') }}</span> <span class="pb-stat-val" style="color:var(--pb-green)">{{ number_format($stats['closed_today_mdl'], 0, '.', ' ') }}</span>
<span class="pb-stat-lbl">MDL închise azi</span> <span class="pb-stat-lbl">{{ __('MDL închise azi') }}</span>
</div> </div>
<div class="pb-stat-sep"></div> <div class="pb-stat-sep"></div>
<div class="pb-stat-item"> <div class="pb-stat-item">
<span class="pb-stat-val" style="color:var(--pb-amber)">{{ $stats['need_action'] }}</span> <span class="pb-stat-val" style="color:var(--pb-amber)">{{ $stats['need_action'] }}</span>
<span class="pb-stat-lbl">Necesită acțiune</span> <span class="pb-stat-lbl">{{ __('Necesită acțiune') }}</span>
</div> </div>
<div class="pb-stat-sep"></div> <div class="pb-stat-sep"></div>
<div class="pb-stat-item"> <div class="pb-stat-item">
<span class="pb-stat-val">{{ $stats['conversion_rate'] }}%</span> <span class="pb-stat-val">{{ $stats['conversion_rate'] }}%</span>
<span class="pb-stat-lbl">Rata conversie</span> <span class="pb-stat-lbl">{{ __('Rata conversie') }}</span>
</div> </div>
<div class="pb-stat-sep"></div> <div class="pb-stat-sep"></div>
<div class="pb-stat-item"> <div class="pb-stat-item">
<span class="pb-stat-val" style="color:var(--pb-red)">{{ $stats['overdue'] }}</span> <span class="pb-stat-val" style="color:var(--pb-red)">{{ $stats['overdue'] }}</span>
<span class="pb-stat-lbl">Depășit termen</span> <span class="pb-stat-lbl">{{ __('Depășit termen') }}</span>
</div> </div>
</div> </div>
{{-- FILTER BAR --}} {{-- FILTER BAR --}}
<div class="pb-filter-bar"> <div class="pb-filter-bar">
<div class="pb-view-toggle"> <div class="pb-view-toggle">
<div class="pb-vt-btn" :class="view==='kanban' && 'active'" @click="view='kanban'">📋 Kanban</div> <div class="pb-vt-btn" :class="view==='kanban' && 'active'" @click="view='kanban'">📋 {{ __('Kanban') }}</div>
<div class="pb-vt-btn" :class="view==='list' && 'active'" @click="view='list'"> Listă</div> <div class="pb-vt-btn" :class="view==='list' && 'active'" @click="view='list'"> {{ __('Listă') }}</div>
</div> </div>
<div class="pb-filter-sep"></div> <div class="pb-filter-sep"></div>
<div class="pb-chip {{ $activeFilter === 'all' ? 'active' : '' }}" wire:click="setFilter('all')">Toate</div> <div class="pb-chip {{ $activeFilter === 'all' ? 'active' : '' }}" wire:click="setFilter('all')">{{ __('Toate') }}</div>
<div class="pb-chip {{ $activeFilter === 'mine' ? 'active' : '' }}" wire:click="setFilter('mine')">👤 Ale mele</div> <div class="pb-chip {{ $activeFilter === 'mine' ? 'active' : '' }}" wire:click="setFilter('mine')">👤 {{ __('Ale mele') }}</div>
<div class="pb-chip {{ $activeFilter === 'urgent' ? 'active' : '' }}" wire:click="setFilter('urgent')" style="color:var(--pb-red-text)"> Urgente</div> <div class="pb-chip {{ $activeFilter === 'urgent' ? 'active' : '' }}" wire:click="setFilter('urgent')" style="color:var(--pb-red-text)"> {{ __('Urgente') }}</div>
<div class="pb-chip {{ $activeFilter === 'today' ? 'active' : '' }}" wire:click="setFilter('today')">📅 Azi</div> <div class="pb-chip {{ $activeFilter === 'today' ? 'active' : '' }}" wire:click="setFilter('today')">📅 {{ __('Azi') }}</div>
<div class="pb-filter-sep"></div> <div class="pb-filter-sep"></div>
<div class="pb-period">📅 {{ now()->locale('ro')->isoFormat('MMMM YYYY') }}</div> <div class="pb-period">📅 {{ now()->locale(app()->getLocale())->isoFormat('MMMM YYYY') }}</div>
<div class="pb-total">Pipeline: <strong>{{ number_format($stats['pipeline_mdl'], 0, '.', ' ') }} MDL</strong> · <strong>{{ $stats['active'] }} deals</strong></div> <div class="pb-total">{{ __('Pipeline') }}: <strong>{{ number_format($stats['pipeline_mdl'], 0, '.', ' ') }} MDL</strong> · <strong>{{ $stats['active'] }} {{ __('deals') }}</strong></div>
</div> </div>
{{-- KANBAN --}} {{-- KANBAN --}}
@@ -297,29 +297,29 @@
<div class="pb-deal-actions" @click.stop> <div class="pb-deal-actions" @click.stop>
@if ($colKey === 'request') @if ($colKey === 'request')
{{-- 📅 calendar-plus / 📞 phone / --}} {{-- 📅 calendar-plus / 📞 phone / --}}
<a class="pb-act-btn" wire:click.stop="quickSchedule('{{ $card['key'] }}')" title="Programare">📅</a> <a class="pb-act-btn" wire:click.stop="quickSchedule('{{ $card['key'] }}')" title="{{ __('Programare') }}">📅</a>
@if (!empty($card['phone']))<a class="pb-act-btn" href="tel:{{ $card['phone'] }}" @click.stop title="Sună">📞</a>@endif @if (!empty($card['phone']))<a class="pb-act-btn" href="tel:{{ $card['phone'] }}" @click.stop title="{{ __('Sună') }}">📞</a>@endif
<a class="pb-act-btn" href="{{ $card['edit_url'] }}" @click.stop title="Editare"></a> <a class="pb-act-btn" href="{{ $card['edit_url'] }}" @click.stop title="{{ __('Editare') }}"></a>
@elseif ($colKey === 'quote') @elseif ($colKey === 'quote')
{{-- 📅 / 💬 message / --}} {{-- 📅 / 💬 message / --}}
<a class="pb-act-btn" wire:click.stop="quickSchedule('{{ $card['key'] }}')" title="Programare">📅</a> <a class="pb-act-btn" wire:click.stop="quickSchedule('{{ $card['key'] }}')" title="{{ __('Programare') }}">📅</a>
@if (!empty($card['phone']))<a class="pb-act-btn" href="https://wa.me/{{ preg_replace('/\D/', '', $card['phone']) }}" target="_blank" @click.stop title="WhatsApp">💬</a>@endif @if (!empty($card['phone']))<a class="pb-act-btn" href="https://wa.me/{{ preg_replace('/\D/', '', $card['phone']) }}" target="_blank" @click.stop title="{{ __('WhatsApp') }}">💬</a>@endif
<a class="pb-act-btn" href="{{ $card['edit_url'] }}" @click.stop title="Editare"></a> <a class="pb-act-btn" href="{{ $card['edit_url'] }}" @click.stop title="{{ __('Editare') }}"></a>
@elseif ($colKey === 'scheduled') @elseif ($colKey === 'scheduled')
{{-- 📄+ file-plus (start WO) / 💬 / --}} {{-- 📄+ file-plus (start WO) / 💬 / --}}
<a class="pb-act-btn" wire:click.stop="moveCard('{{ $card['key'] }}', 'in_work')" title="Începe lucrul (creează fișă)">📄</a> <a class="pb-act-btn" wire:click.stop="moveCard('{{ $card['key'] }}', 'in_work')" title="{{ __('Începe lucrul') }}">📄</a>
@if (!empty($card['phone']))<a class="pb-act-btn" href="https://wa.me/{{ preg_replace('/\D/', '', $card['phone']) }}" target="_blank" @click.stop title="WhatsApp">💬</a>@endif @if (!empty($card['phone']))<a class="pb-act-btn" href="https://wa.me/{{ preg_replace('/\D/', '', $card['phone']) }}" target="_blank" @click.stop title="{{ __('WhatsApp') }}">💬</a>@endif
<a class="pb-act-btn" href="{{ $card['edit_url'] }}" @click.stop title="Editare"></a> <a class="pb-act-btn" href="{{ $card['edit_url'] }}" @click.stop title="{{ __('Editare') }}"></a>
@elseif ($colKey === 'in_work') @elseif ($colKey === 'in_work')
{{-- 👁 eye / 💬 / --}} {{-- 👁 eye / 💬 / --}}
<a class="pb-act-btn" href="{{ $card['edit_url'] }}" @click.stop title="Deschide fișa">👁</a> <a class="pb-act-btn" href="{{ $card['edit_url'] }}" @click.stop title="{{ __('Deschide fișa') }}">👁</a>
@if (!empty($card['phone']))<a class="pb-act-btn" href="https://wa.me/{{ preg_replace('/\D/', '', $card['phone']) }}" target="_blank" @click.stop title="WhatsApp">💬</a>@endif @if (!empty($card['phone']))<a class="pb-act-btn" href="https://wa.me/{{ preg_replace('/\D/', '', $card['phone']) }}" target="_blank" @click.stop title="{{ __('WhatsApp') }}">💬</a>@endif
<a class="pb-act-btn" wire:click.stop="moveCard('{{ $card['key'] }}', 'ready')" title="Marchează Gata"></a> <a class="pb-act-btn" wire:click.stop="moveCard('{{ $card['key'] }}', 'ready')" title="{{ __('Marchează Gata') }}"></a>
@elseif ($colKey === 'ready') @elseif ($colKey === 'ready')
{{-- 💰 cash / 💬 / --}} {{-- 💰 cash / 💬 / --}}
<a class="pb-act-btn" wire:click.stop="moveCard('{{ $card['key'] }}', 'paid')" title="Achitat">💰</a> <a class="pb-act-btn" wire:click.stop="moveCard('{{ $card['key'] }}', 'paid')" title="{{ __('Achitat') }}">💰</a>
@if (!empty($card['phone']))<a class="pb-act-btn" href="tel:{{ $card['phone'] }}" @click.stop title="Sună">📞</a>@endif @if (!empty($card['phone']))<a class="pb-act-btn" href="tel:{{ $card['phone'] }}" @click.stop title="{{ __('Sună') }}">📞</a>@endif
<a class="pb-act-btn" href="{{ $card['edit_url'] }}" @click.stop title="Editare"></a> <a class="pb-act-btn" href="{{ $card['edit_url'] }}" @click.stop title="{{ __('Editare') }}"></a>
@endif @endif
</div> </div>
<div class="pb-deal-id">{{ $card['code'] }}</div> <div class="pb-deal-id">{{ $card['code'] }}</div>
@@ -328,7 +328,7 @@
@if (!empty($card['tags'])) @if (!empty($card['tags']))
<div class="pb-deal-meta"> <div class="pb-deal-meta">
@foreach ($card['tags'] as $tag) @foreach ($card['tags'] as $tag)
<span class="pb-tag pb-tag-{{ $tag['color'] }}">{{ $tag['label'] }}</span> <span class="pb-tag pb-tag-{{ $tag['color'] }}">{{ __($tag['label']) }}</span>
@endforeach @endforeach
</div> </div>
@endif @endif
@@ -350,10 +350,10 @@
@endif @endif
</div> </div>
@empty @empty
<div class="pb-empty-col">Gol trage un card aici</div> <div class="pb-empty-col">{{ __('Gol — trage un card aici') }}</div>
@endforelse @endforelse
@if ($colKey !== 'paid') @if ($colKey !== 'paid')
<button type="button" class="pb-add-card" wire:click="openNewForm">+ Adaugă cerere</button> <button type="button" class="pb-add-card" wire:click="openNewForm">+ {{ __('Adaugă cerere') }}</button>
@endif @endif
</div> </div>
</div> </div>
@@ -366,7 +366,7 @@
<thead> <thead>
<tr> <tr>
@foreach (['#', 'Subiect', 'Client', 'Auto', 'Etapă', 'Sumă', 'Responsabil', 'Stare timp'] as $h) @foreach (['#', 'Subiect', 'Client', 'Auto', 'Etapă', 'Sumă', 'Responsabil', 'Stare timp'] as $h)
<th style="text-align:left; padding:8px 12px; font-size:10px; font-weight:600; color:var(--pb-text-3); text-transform:uppercase; border-bottom:1px solid var(--pb-border);">{{ $h }}</th> <th style="text-align:left; padding:8px 12px; font-size:10px; font-weight:600; color:var(--pb-text-3); text-transform:uppercase; border-bottom:1px solid var(--pb-border);">{{ __($h) }}</th>
@endforeach @endforeach
</tr> </tr>
</thead> </thead>
@@ -395,40 +395,40 @@
@if ($showNewForm) @if ($showNewForm)
<div class="pb-panel-head"> <div class="pb-panel-head">
<div> <div>
<div class="pb-panel-title">Cerere nouă</div> <div class="pb-panel-title">{{ __('Cerere nouă') }}</div>
<div class="pb-panel-id">Va fi adăugată în Cerere nouă</div> <div class="pb-panel-id">{{ __('Va fi adăugată în Cerere nouă') }}</div>
</div> </div>
<div class="pb-close-btn" wire:click="$set('showNewForm', false)"></div> <div class="pb-close-btn" wire:click="$set('showNewForm', false)"></div>
</div> </div>
<form class="pb-panel-body" wire:submit.prevent="createNewLead"> <form class="pb-panel-body" wire:submit.prevent="createNewLead">
<div class="pb-form-field"> <div class="pb-form-field">
<label>Nume *</label> <label>{{ __('Nume') }} *</label>
<input type="text" wire:model="newName" placeholder="Ion Popescu" autofocus> <input type="text" wire:model="newName" placeholder="Ion Popescu" autofocus>
</div> </div>
<div class="pb-form-field"> <div class="pb-form-field">
<label>Telefon *</label> <label>{{ __('Telefon') }} *</label>
<input type="text" wire:model="newPhone" placeholder="+373 69 ..."> <input type="text" wire:model="newPhone" placeholder="+373 69 ...">
</div> </div>
<div class="pb-form-field"> <div class="pb-form-field">
<label>Auto / model</label> <label>{{ __('Auto / model') }}</label>
<input type="text" wire:model="newCar" placeholder="VW Passat 2018"> <input type="text" wire:model="newCar" placeholder="VW Passat 2018">
</div> </div>
<div class="pb-form-field"> <div class="pb-form-field">
<label>Sursă</label> <label>{{ __('Sursă') }}</label>
<select wire:model="newSource"> <select wire:model="newSource">
@foreach (\App\Models\Tenant\Lead::SOURCES as $val => $lbl) @foreach (\App\Models\Tenant\Lead::SOURCES as $val => $lbl)
<option value="{{ $val }}">{{ $lbl }}</option> <option value="{{ $val }}">{{ __($lbl) }}</option>
@endforeach @endforeach
</select> </select>
</div> </div>
<div class="pb-form-field"> <div class="pb-form-field">
<label>Notițe / reclamație</label> <label>{{ __('Notițe / reclamație') }}</label>
<textarea wire:model="newNotes" placeholder="Ce a spus clientul..."></textarea> <textarea wire:model="newNotes" placeholder="{{ __('Ce a spus clientul...') }}"></textarea>
</div> </div>
</form> </form>
<div class="pb-panel-actions"> <div class="pb-panel-actions">
<button type="button" class="pb-quick-btn" wire:click="$set('showNewForm', false)">Anulează</button> <button type="button" class="pb-quick-btn" wire:click="$set('showNewForm', false)">{{ __('Anulează') }}</button>
<button type="button" class="pb-quick-btn primary" wire:click="createNewLead">Creează cerere</button> <button type="button" class="pb-quick-btn primary" wire:click="createNewLead">{{ __('Creează cerere') }}</button>
</div> </div>
@endif @endif
</div> </div>
@@ -446,7 +446,7 @@
</div> </div>
<div class="pb-panel-body"> <div class="pb-panel-body">
<div> <div>
<div class="pb-panel-sec-title">Progres etapă</div> <div class="pb-panel-sec-title">{{ __('Progres etapă') }}</div>
<div class="pb-stage-stepper"> <div class="pb-stage-stepper">
@foreach ($detail['stages'] as $st) @foreach ($detail['stages'] as $st)
<div class="pb-stage-step {{ $st['done'] ? 'done' : '' }} {{ $st['current'] ? 'current' : '' }}"></div> <div class="pb-stage-step {{ $st['done'] ? 'done' : '' }} {{ $st['current'] ? 'current' : '' }}"></div>
@@ -454,7 +454,7 @@
</div> </div>
<div class="pb-stage-labels"> <div class="pb-stage-labels">
@foreach ($detail['stages'] as $st) @foreach ($detail['stages'] as $st)
<div class="pb-stage-lbl {{ $st['current'] ? 'current' : '' }}">{{ $st['label'] }}</div> <div class="pb-stage-lbl {{ $st['current'] ? 'current' : '' }}">{{ __($st['label']) }}</div>
@endforeach @endforeach
</div> </div>
</div> </div>
@@ -464,15 +464,15 @@
@foreach ($detail['fields'] as $label => $value) @foreach ($detail['fields'] as $label => $value)
@if ($value) @if ($value)
<div class="pb-pfield"> <div class="pb-pfield">
<div class="pb-pfield-label">{{ $label }}</div> <div class="pb-pfield-label">{{ __($label) }}</div>
<div class="pb-pfield-val" @if($label==='Telefon') style="color:var(--pb-blue)" @endif>{{ $value }}</div> <div class="pb-pfield-val" @if(__($label)===__("Telefon")) style="color:var(--pb-blue)" @endif>{{ $value }}</div>
</div> </div>
@endif @endif
@endforeach @endforeach
</div> </div>
@if ($detail['note']) @if ($detail['note'])
<div class="pb-pfield"> <div class="pb-pfield">
<div class="pb-pfield-label">Notițe / Reclamație</div> <div class="pb-pfield-label">{{ __('Notițe / Reclamație') }}</div>
<div style="font-size:12px; color:var(--pb-text-2); white-space:pre-wrap;">{{ $detail['note'] }}</div> <div style="font-size:12px; color:var(--pb-text-2); white-space:pre-wrap;">{{ $detail['note'] }}</div>
</div> </div>
@endif @endif
@@ -480,21 +480,21 @@
@if (!empty($detail['wo'])) @if (!empty($detail['wo']))
<div class="pb-panel-section"> <div class="pb-panel-section">
<div class="pb-panel-sec-title">Fișă de lucru</div> <div class="pb-panel-sec-title">{{ __('Fișă de lucru') }}</div>
<div style="background:var(--pb-purple-bg); border:1px solid #DDD6FE; border-radius:6px; padding:10px 12px; display:flex; align-items:center; justify-content:space-between;"> <div style="background:var(--pb-purple-bg); border:1px solid #DDD6FE; border-radius:6px; padding:10px 12px; display:flex; align-items:center; justify-content:space-between;">
<div> <div>
<div style="font-size:12px; font-weight:600; color:var(--pb-purple-text);">{{ $detail['wo']['number'] }} · {{ $detail['wo']['status_label'] }}</div> <div style="font-size:12px; font-weight:600; color:var(--pb-purple-text);">{{ $detail['wo']['number'] }} · {{ __($detail['wo']['status_label']) }}</div>
<div style="font-size:11px; color:var(--pb-purple-text); opacity:.8; margin-top:2px;"> <div style="font-size:11px; color:var(--pb-purple-text); opacity:.8; margin-top:2px;">
@if (!is_null($detail['wo']['progress_pct'])){{ $detail['wo']['progress_pct'] }}% finalizat @endif @if (!is_null($detail['wo']['progress_pct'])){{ $detail['wo']['progress_pct'] }}% {{ __('finalizat') }} @endif
@if ($detail['wo']['eta']) · ETA {{ $detail['wo']['eta'] }} @endif @if ($detail['wo']['eta']) · ETA {{ $detail['wo']['eta'] }} @endif
</div> </div>
</div> </div>
<a class="pb-quick-btn" style="padding:4px 10px;" href="{{ $detail['edit_url'] }}"> Deschide</a> <a class="pb-quick-btn" style="padding:4px 10px;" href="{{ $detail['edit_url'] }}"> {{ __('Deschide') }}</a>
</div> </div>
@if (!empty($detail['wo']['has_pending_approval'])) @if (!empty($detail['wo']['has_pending_approval']))
<div style="margin-top:8px; background:var(--pb-amber-bg); border:1px solid #FDE68A; border-radius:6px; padding:8px 12px;"> <div style="margin-top:8px; background:var(--pb-amber-bg); border:1px solid #FDE68A; border-radius:6px; padding:8px 12px;">
<div style="font-size:11px; font-weight:600; color:var(--pb-amber-text);"> Necesită aprobare client</div> <div style="font-size:11px; font-weight:600; color:var(--pb-amber-text);"> {{ __('Necesită aprobare client') }}</div>
<div style="font-size:11px; color:var(--pb-amber-text); margin-top:2px;">Deschide fișa pentru aprobare lucrare/piesă.</div> <div style="font-size:11px; color:var(--pb-amber-text); margin-top:2px;">{{ __('Deschide fișa pentru aprobare lucrare/piesă.') }}</div>
</div> </div>
@endif @endif
</div> </div>
@@ -502,7 +502,7 @@
@if (!empty($detail['activity'])) @if (!empty($detail['activity']))
<div class="pb-panel-section"> <div class="pb-panel-section">
<div class="pb-panel-sec-title">Activitate recentă</div> <div class="pb-panel-sec-title">{{ __('Activitate recentă') }}</div>
@foreach ($detail['activity'] as $a) @foreach ($detail['activity'] as $a)
<div class="pb-activity-item"> <div class="pb-activity-item">
<div class="pb-act-icon" style="background:var(--pb-blue-bg); color:var(--pb-blue-text);"></div> <div class="pb-act-icon" style="background:var(--pb-blue-bg); color:var(--pb-blue-text);"></div>
@@ -516,15 +516,15 @@
@endif @endif
<div class="pb-panel-section"> <div class="pb-panel-section">
<div class="pb-panel-sec-title">Acțiuni rapide</div> <div class="pb-panel-sec-title">{{ __('Acțiuni rapide') }}</div>
<div class="pb-quick-grid"> <div class="pb-quick-grid">
@if (!empty($detail['phone'])) @if (!empty($detail['phone']))
<a class="pb-quick-btn" target="_blank" href="https://wa.me/{{ preg_replace('/\D/', '', $detail['phone']) }}">💚 WhatsApp</a> <a class="pb-quick-btn" target="_blank" href="https://wa.me/{{ preg_replace('/\D/', '', $detail['phone']) }}">💚 {{ __('WhatsApp') }}</a>
<a class="pb-quick-btn" href="tel:{{ $detail['phone'] }}">📞 Sună</a> <a class="pb-quick-btn" href="tel:{{ $detail['phone'] }}">📞 {{ __('Sună') }}</a>
<a class="pb-quick-btn" href="sms:{{ $detail['phone'] }}">💬 SMS</a> <a class="pb-quick-btn" href="sms:{{ $detail['phone'] }}">💬 {{ __('SMS') }}</a>
@endif @endif
@if (!empty($detail['wo']['tracking_url'])) @if (!empty($detail['wo']['tracking_url']))
<a class="pb-quick-btn" href="{{ $detail['wo']['tracking_url'] }}" target="_blank">🔗 Link tracking</a> <a class="pb-quick-btn" href="{{ $detail['wo']['tracking_url'] }}" target="_blank">🔗 {{ __('Link tracking') }}</a>
@endif @endif
</div> </div>
</div> </div>
@@ -533,11 +533,11 @@
<div class="pb-panel-actions"> <div class="pb-panel-actions">
@php $kind = explode(':', $openCardKey)[0] ?? '' @endphp @php $kind = explode(':', $openCardKey)[0] ?? '' @endphp
@if (in_array($kind, ['lead', 'deal']) && empty($detail['wo'])) @if (in_array($kind, ['lead', 'deal']) && empty($detail['wo']))
<a class="pb-quick-btn" wire:click="quickSchedule('{{ $openCardKey }}')">📅 Programează</a> <a class="pb-quick-btn" wire:click="quickSchedule('{{ $openCardKey }}')">📅 {{ __('Programează') }}</a>
<a class="pb-quick-btn primary" href="{{ $detail['edit_url'] }}"> Deschide deal</a> <a class="pb-quick-btn primary" href="{{ $detail['edit_url'] }}"> {{ __('Deschide deal') }}</a>
@elseif ($kind === 'wo') @elseif ($kind === 'wo')
<a class="pb-quick-btn" href="{{ $this->calendarUrl() }}">📅 Calendar</a> <a class="pb-quick-btn" href="{{ $this->calendarUrl() }}">📅 {{ __('Calendar') }}</a>
<a class="pb-quick-btn primary" href="{{ $detail['edit_url'] }}"> Deschide Fișă</a> <a class="pb-quick-btn primary" href="{{ $detail['edit_url'] }}"> {{ __('Deschide Fișă') }}</a>
@endif @endif
</div> </div>
@endif @endif