feat(i18n): convert 38 hardcoded static labels + safe blade wrap + 226 keys

- Convert all remaining static \$modelLabel/\$pluralModelLabel to getter
  methods with __() (AppointmentResource, WorkOrderResource, MasterResource,
  ServiceTemplateResource, LaborResource, and 33 others)
- Safe blade wrap v2 (37 files, 201 wraps): fixed the regex to not match
  `->`, `=>`, `!<` — previous aggressive pass broke @if directives
- Bulk-translate lowercase model-label keys (programări, fișe lucru,
  tehnicieni, șabloane servicii, norme-ore, etc.) — these were the RO
  strings appearing in page titles/breadcrumbs
- Add human RU/EN for mechanic-kpi (Mecanic/Lucrări/Norma ore/etc.)
  and calendar-board words

Tests 306 green. Blade compiles cleanly.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-15 06:17:10 +00:00
parent 3911012c65
commit 7077fff3b3
63 changed files with 800 additions and 284 deletions
@@ -24,9 +24,19 @@ class CompanyResource extends Resource
return __('nav.label.Companii'); return __('nav.label.Companii');
} }
protected static ?string $modelLabel = 'companie'; protected static ?string $modelLabel = null;
protected static ?string $pluralModelLabel = 'companii'; public static function getModelLabel(): string
{
return __('companie');
}
protected static ?string $pluralModelLabel = null;
public static function getPluralModelLabel(): string
{
return __('companii');
}
protected static ?int $navigationSort = 10; protected static ?int $navigationSort = 10;
@@ -24,9 +24,19 @@ class PlanResource extends Resource
return __('nav.label.Planuri'); return __('nav.label.Planuri');
} }
protected static ?string $modelLabel = 'plan'; protected static ?string $modelLabel = null;
protected static ?string $pluralModelLabel = 'planuri'; public static function getModelLabel(): string
{
return __('plan');
}
protected static ?string $pluralModelLabel = null;
public static function getPluralModelLabel(): string
{
return __('planuri');
}
protected static ?int $navigationSort = 20; protected static ?int $navigationSort = 20;
@@ -35,7 +35,12 @@ class SubscriptionResource extends Resource
return __('factură'); return __('factură');
} }
protected static ?string $pluralModelLabel = 'facturi'; protected static ?string $pluralModelLabel = null;
public static function getPluralModelLabel(): string
{
return __('facturi');
}
protected static ?int $navigationSort = 30; protected static ?int $navigationSort = 30;
@@ -25,9 +25,19 @@ class SuperAdminResource extends Resource
return __('nav.label.Utilizatori'); return __('nav.label.Utilizatori');
} }
protected static ?string $modelLabel = 'utilizator'; protected static ?string $modelLabel = null;
protected static ?string $pluralModelLabel = 'utilizatori'; public static function getModelLabel(): string
{
return __('utilizator');
}
protected static ?string $pluralModelLabel = null;
public static function getPluralModelLabel(): string
{
return __('utilizatori');
}
protected static string|\UnitEnum|null $navigationGroup = null; protected static string|\UnitEnum|null $navigationGroup = null;
@@ -26,9 +26,19 @@ class ActivityResource extends Resource
return __('nav.group.Admin'); return __('nav.group.Admin');
} }
protected static ?string $modelLabel = 'eveniment'; protected static ?string $modelLabel = null;
protected static ?string $pluralModelLabel = 'jurnal'; public static function getModelLabel(): string
{
return __('eveniment');
}
protected static ?string $pluralModelLabel = null;
public static function getPluralModelLabel(): string
{
return __('jurnal');
}
protected static ?int $navigationSort = 95; protected static ?int $navigationSort = 95;
@@ -32,7 +32,12 @@ class AppointmentResource extends Resource
return __('nav.group.CRM'); return __('nav.group.CRM');
} }
protected static ?string $modelLabel = 'programare'; protected static ?string $modelLabel = null;
public static function getModelLabel(): string
{
return __('programare');
}
protected static ?string $pluralModelLabel = null; protected static ?string $pluralModelLabel = null;
+12 -2
View File
@@ -29,9 +29,19 @@ class CallResource extends Resource
return __('nav.group.Marketing'); return __('nav.group.Marketing');
} }
protected static ?string $modelLabel = 'apel'; protected static ?string $modelLabel = null;
protected static ?string $pluralModelLabel = 'apeluri'; public static function getModelLabel(): string
{
return __('apel');
}
protected static ?string $pluralModelLabel = null;
public static function getPluralModelLabel(): string
{
return __('apeluri');
}
protected static ?int $navigationSort = 62; protected static ?int $navigationSort = 62;
@@ -23,7 +23,12 @@ class ClientResource extends Resource
return __('nav.label.Clienți'); return __('nav.label.Clienți');
} }
protected static ?string $modelLabel = 'client'; protected static ?string $modelLabel = null;
public static function getModelLabel(): string
{
return __('client');
}
protected static ?string $pluralModelLabel = null; protected static ?string $pluralModelLabel = null;
+12 -2
View File
@@ -37,9 +37,19 @@ class DealResource extends Resource
return false; // PipelineBoard page is the canonical entry; this resource keeps CRUD routes for edit/create. return false; // PipelineBoard page is the canonical entry; this resource keeps CRUD routes for edit/create.
} }
protected static ?string $modelLabel = 'deal'; protected static ?string $modelLabel = null;
protected static ?string $pluralModelLabel = 'deal-uri'; public static function getModelLabel(): string
{
return __('deal');
}
protected static ?string $pluralModelLabel = null;
public static function getPluralModelLabel(): string
{
return __('deal-uri');
}
protected static ?int $navigationSort = 6; protected static ?int $navigationSort = 6;
@@ -29,7 +29,12 @@ class EmployeeProfileResource extends Resource
return __('nav.group.Finanțe'); return __('nav.group.Finanțe');
} }
protected static ?string $modelLabel = 'angajat'; protected static ?string $modelLabel = null;
public static function getModelLabel(): string
{
return __('angajat');
}
protected static ?string $pluralModelLabel = null; protected static ?string $pluralModelLabel = null;
@@ -36,7 +36,12 @@ class ExpenseResource extends Resource
return __('cheltuială'); return __('cheltuială');
} }
protected static ?string $pluralModelLabel = 'cheltuieli'; protected static ?string $pluralModelLabel = null;
public static function getPluralModelLabel(): string
{
return __('cheltuieli');
}
protected static ?int $navigationSort = 51; protected static ?int $navigationSort = 51;
@@ -36,7 +36,12 @@ class LaborResource extends Resource
return __('normă'); return __('normă');
} }
protected static ?string $pluralModelLabel = 'norme-ore'; protected static ?string $pluralModelLabel = null;
public static function getPluralModelLabel(): string
{
return __('norme-ore');
}
protected static ?int $navigationSort = 32; protected static ?int $navigationSort = 32;
+12 -2
View File
@@ -30,9 +30,19 @@ class LeadResource extends Resource
return __('nav.group.CRM'); return __('nav.group.CRM');
} }
protected static ?string $modelLabel = 'cerere'; protected static ?string $modelLabel = null;
protected static ?string $pluralModelLabel = 'cereri'; public static function getModelLabel(): string
{
return __('cerere');
}
protected static ?string $pluralModelLabel = null;
public static function getPluralModelLabel(): string
{
return __('cereri');
}
protected static ?int $navigationSort = 5; protected static ?int $navigationSort = 5;
@@ -28,7 +28,12 @@ class MarketingChannelResource extends Resource
return __('nav.group.Marketing'); return __('nav.group.Marketing');
} }
protected static ?string $modelLabel = 'canal'; protected static ?string $modelLabel = null;
public static function getModelLabel(): string
{
return __('canal');
}
protected static ?string $pluralModelLabel = null; protected static ?string $pluralModelLabel = null;
@@ -33,9 +33,19 @@ class MasterResource extends Resource
return __('nav.group.Service'); return __('nav.group.Service');
} }
protected static ?string $modelLabel = 'tehnician'; protected static ?string $modelLabel = null;
protected static ?string $pluralModelLabel = 'tehnicieni'; public static function getModelLabel(): string
{
return __('tehnician');
}
protected static ?string $pluralModelLabel = null;
public static function getPluralModelLabel(): string
{
return __('tehnicieni');
}
protected static ?int $navigationSort = 33; protected static ?int $navigationSort = 33;
@@ -28,9 +28,19 @@ class MessageTemplateResource extends Resource
return __('nav.group.Marketing'); return __('nav.group.Marketing');
} }
protected static ?string $modelLabel = 'template'; protected static ?string $modelLabel = null;
protected static ?string $pluralModelLabel = 'template-uri'; public static function getModelLabel(): string
{
return __('template');
}
protected static ?string $pluralModelLabel = null;
public static function getPluralModelLabel(): string
{
return __('template-uri');
}
protected static ?int $navigationSort = 60; protected static ?int $navigationSort = 60;
@@ -37,7 +37,12 @@ class PartResource extends Resource
return __('piesă'); return __('piesă');
} }
protected static ?string $pluralModelLabel = 'piese'; protected static ?string $pluralModelLabel = null;
public static function getPluralModelLabel(): string
{
return __('piese');
}
protected static ?int $navigationSort = 40; protected static ?int $navigationSort = 40;
@@ -29,7 +29,12 @@ class PayrollAdjustmentResource extends Resource
return __('nav.group.Finanțe'); return __('nav.group.Finanțe');
} }
protected static ?string $modelLabel = 'ajustare'; protected static ?string $modelLabel = null;
public static function getModelLabel(): string
{
return __('ajustare');
}
protected static ?string $pluralModelLabel = null; protected static ?string $pluralModelLabel = null;
@@ -31,9 +31,19 @@ class PayrollRunResource extends Resource
return __('nav.group.Finanțe'); return __('nav.group.Finanțe');
} }
protected static ?string $modelLabel = 'salariu'; protected static ?string $modelLabel = null;
protected static ?string $pluralModelLabel = 'salarii'; public static function getModelLabel(): string
{
return __('salariu');
}
protected static ?string $pluralModelLabel = null;
public static function getPluralModelLabel(): string
{
return __('salarii');
}
protected static ?int $navigationSort = 53; protected static ?int $navigationSort = 53;
@@ -30,7 +30,12 @@ class PostResource extends Resource
return __('nav.group.Admin'); return __('nav.group.Admin');
} }
protected static ?string $modelLabel = 'pod'; protected static ?string $modelLabel = null;
public static function getModelLabel(): string
{
return __('pod');
}
protected static ?string $pluralModelLabel = null; protected static ?string $pluralModelLabel = null;
+12 -2
View File
@@ -29,9 +29,19 @@ class RoleResource extends Resource
return __('nav.group.Admin'); return __('nav.group.Admin');
} }
protected static ?string $modelLabel = 'rol'; protected static ?string $modelLabel = null;
protected static ?string $pluralModelLabel = 'roluri'; public static function getModelLabel(): string
{
return __('rol');
}
protected static ?string $pluralModelLabel = null;
public static function getPluralModelLabel(): string
{
return __('roluri');
}
protected static ?int $navigationSort = 82; protected static ?int $navigationSort = 82;
@@ -28,9 +28,19 @@ class SupplierResource extends Resource
return __('nav.group.Depozit'); return __('nav.group.Depozit');
} }
protected static ?string $modelLabel = 'furnizor'; protected static ?string $modelLabel = null;
protected static ?string $pluralModelLabel = 'furnizori'; public static function getModelLabel(): string
{
return __('furnizor');
}
protected static ?string $pluralModelLabel = null;
public static function getPluralModelLabel(): string
{
return __('furnizori');
}
protected static ?int $navigationSort = 42; protected static ?int $navigationSort = 42;
+12 -2
View File
@@ -30,9 +30,19 @@ class UserResource extends Resource
return __('nav.group.Admin'); return __('nav.group.Admin');
} }
protected static ?string $modelLabel = 'utilizator'; protected static ?string $modelLabel = null;
protected static ?string $pluralModelLabel = 'utilizatori'; public static function getModelLabel(): string
{
return __('utilizator');
}
protected static ?string $pluralModelLabel = null;
public static function getPluralModelLabel(): string
{
return __('utilizatori');
}
protected static ?int $navigationSort = 80; protected static ?int $navigationSort = 80;
@@ -28,9 +28,19 @@ class WarehouseResource extends Resource
return __('nav.group.Depozit'); return __('nav.group.Depozit');
} }
protected static ?string $modelLabel = 'depozit'; protected static ?string $modelLabel = null;
protected static ?string $pluralModelLabel = 'depozite'; public static function getModelLabel(): string
{
return __('depozit');
}
protected static ?string $pluralModelLabel = null;
public static function getPluralModelLabel(): string
{
return __('depozite');
}
protected static ?int $navigationSort = 38; protected static ?int $navigationSort = 38;
+195 -32
View File
@@ -9,11 +9,17 @@
"% marja piese": "% marja piese", "% marja piese": "% marja piese",
"% marjă implicit": "Default margin %", "% marjă implicit": "Default margin %",
"% piese": "% piese", "% piese": "% piese",
"(GET, POST, PATCH, DELETE)": "(GET, POST, PATCH, DELETE)",
"(PDF).": "(PDF).",
"+ Conversație nouă": "+ New conversation", "+ Conversație nouă": "+ New conversation",
"+ Pod / spațiu nou": "+ New bay / space", "+ Pod / spațiu nou": "+ New bay / space",
"+ Pod nou": "+ Pod nou",
"+ Programare nouă": "+ New appointment", "+ Programare nouă": "+ New appointment",
"+1 {$item->article} — {$item->qty_received}/{$item->qty}": "+1 {$item->article} — {$item->qty_received}/{$item->qty}", "+1 {$item->article} — {$item->qty_received}/{$item->qty}": "+1 {$item->article} — {$item->qty_received}/{$item->qty}",
". Drag-and-drop între celule pentru a reprograma. Indicator de încărcare pe fiecare celulă (ore_planificate / capacitate). Click pe celulă goală → programare rapidă. Click pe eveniment → detalii.": ". Drag-and-drop între celule pentru a reprograma. Indicator de încărcare pe fiecare celulă (ore_planificate / capacitate). Click pe celulă goală → programare rapidă. Click pe eveniment → detalii.", ". Drag-and-drop între celule pentru a reprograma. Indicator de încărcare pe fiecare celulă (ore_planificate / capacitate). Click pe celulă goală → programare rapidă. Click pe eveniment → detalii.": ". Drag-and-drop între celule pentru a reprograma. Indicator de încărcare pe fiecare celulă (ore_planificate / capacitate). Click pe celulă goală → programare rapidă. Click pe eveniment → detalii.",
"/api/v1/clients": "/api/v1/clients",
"/api/v1/vehicles": "/api/v1/vehicles",
"/api/v1/work-orders": "/api/v1/work-orders",
"0 = dezactivat": "0 = dezactivat", "0 = dezactivat": "0 = dezactivat",
"1.15 = +15% peste prețul de bază. 0.95 = -5%.": "1.15 = +15% peste prețul de bază. 0.95 = -5%.", "1.15 = +15% peste prețul de bază. 0.95 = -5%.": "1.15 = +15% peste prețul de bază. 0.95 = -5%.",
"123456:ABC-XYZ...": "123456:ABC-XYZ...", "123456:ABC-XYZ...": "123456:ABC-XYZ...",
@@ -32,6 +38,7 @@
"AYS...": "AYS...", "AYS...": "AYS...",
"Abonament": "Subscription", "Abonament": "Subscription",
"Abonament până la": "Subscribed until", "Abonament până la": "Subscribed until",
"Abonamentul pentru": "Abonamentul pentru",
"Abonamentul se extinde automat": "Subscription auto-renews", "Abonamentul se extinde automat": "Subscription auto-renews",
"Abonamentul tău a fost extins.": "Your subscription has been extended.", "Abonamentul tău a fost extins.": "Your subscription has been extended.",
"Abonat": "Subscribed", "Abonat": "Subscribed",
@@ -135,6 +142,7 @@
"Alte": "Other", "Alte": "Other",
"Alte cheltuieli": "Other expenses", "Alte cheltuieli": "Other expenses",
"Altă problemă": "Other problem", "Altă problemă": "Other problem",
"Am salvat token-ul, ascunde-l": "Am salvat token-ul, ascunde-l",
"An": "Year", "An": "Year",
"An fabricație": "Production year", "An fabricație": "Production year",
"An model": "Model year", "An model": "Model year",
@@ -173,6 +181,7 @@
"Arhivat": "Archived", "Arhivat": "Archived",
"Arhivează": "Archive", "Arhivează": "Archive",
"Arhivă": "Archive", "Arhivă": "Archive",
"Articol": "Articol",
"Articol nu se potrivește comenzii": "Articol nu se potrivește comenzii", "Articol nu se potrivește comenzii": "Articol nu se potrivește comenzii",
"Articole": "Articole", "Articole": "Articole",
"Ascunde": "Hide", "Ascunde": "Hide",
@@ -185,7 +194,7 @@
"Astăzi": "Today", "Astăzi": "Today",
"Atașamente": "Attachments", "Atașamente": "Attachments",
"Atașat veți găsi": "Attached", "Atașat veți găsi": "Attached",
"Atelierul meu": "Atelierul meu", "Atelierul meu": "My workshop",
"Atenție": "Warning", "Atenție": "Warning",
"Audit / verificări fiscale": "Audit / verificări fiscale", "Audit / verificări fiscale": "Audit / verificări fiscale",
"August": "August", "August": "August",
@@ -194,6 +203,7 @@
"Auto": "Vehicle", "Auto": "Vehicle",
"Auto / model": "Vehicle / model", "Auto / model": "Vehicle / model",
"Auto-import Excel/CSV": "Auto-import Excel/CSV", "Auto-import Excel/CSV": "Auto-import Excel/CSV",
"AutoCRM PSauto · psauto.service.mir.md": "AutoCRM PSauto · psauto.service.mir.md",
"AutoCRM SRL": "AutoCRM SRL", "AutoCRM SRL": "AutoCRM SRL",
"Automată": "Automatic", "Automată": "Automatic",
"Automobile": "Vehicles", "Automobile": "Vehicles",
@@ -206,14 +216,17 @@
"Aștept aprobare client": "Awaiting client approval", "Aștept aprobare client": "Awaiting client approval",
"Așteptată": "Expected", "Așteptată": "Expected",
"BIC / SWIFT": "BIC / SWIFT", "BIC / SWIFT": "BIC / SWIFT",
"BIC / SWIFT:": "BIC / SWIFT:",
"Backup": "Backup", "Backup": "Backup",
"Backup & Export date": "Backup & Export date", "Backup & Export date": "Backup & Export date",
"Backup periodic (descarcă local sau sincronizează cu cloud)": "Backup periodic (descarcă local sau sincronizează cu cloud)", "Backup periodic (descarcă local sau sincronizează cu cloud)": "Backup periodic (descarcă local sau sincronizează cu cloud)",
"Balance": "Balance", "Balance": "Balance",
"Balanță": "Balance", "Balanță": "Balance",
"Banca": "Banca", "Banca": "Banca",
"Banca:": "Banca:",
"Bază": "Base", "Bază": "Base",
"Beneficiar": "Beneficiar", "Beneficiar": "Beneficiar",
"Beneficiar:": "Beneficiar:",
"Benzină": "Petrol", "Benzină": "Petrol",
"Berlină": "Sedan", "Berlină": "Sedan",
"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.",
@@ -250,7 +263,7 @@
"Calculație": "Quote", "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": "Visual calendar",
"Canal marketing": "Canal marketing", "Canal marketing": "Canal marketing",
"Cancel": "Cancel", "Cancel": "Cancel",
"Cant.": "Qty", "Cant.": "Qty",
@@ -259,6 +272,7 @@
"Cantitate restituită": "Cantitate restituită", "Cantitate restituită": "Cantitate restituită",
"Capacitate motor": "Engine capacity", "Capacitate motor": "Engine capacity",
"Capacitatea zilnică în ore": "Capacitatea zilnică în ore", "Capacitatea zilnică în ore": "Capacitatea zilnică în ore",
"Card MAIB / MICB / Victoriabank, MD Cash, e-money": "Card MAIB / MICB / Victoriabank, MD Cash, e-money",
"Card bancar": "Bank card", "Card bancar": "Bank card",
"Caroserie": "Body type", "Caroserie": "Body type",
"Cashflow zilnic — verde = încasări, roșu = cheltuieli": "Cashflow zilnic — verde = încasări, roșu = cheltuieli", "Cashflow zilnic — verde = încasări, roșu = cheltuieli": "Cashflow zilnic — verde = încasări, roșu = cheltuieli",
@@ -279,11 +293,13 @@
"Cereri": "Leads", "Cereri": "Leads",
"Cereri noi": "New leads", "Cereri noi": "New leads",
"Check-in depozit": "Check-in depozit", "Check-in depozit": "Check-in depozit",
"Checksum (ISO)": "Checksum (ISO)",
"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)", "Cheltuieli (luna)": "Expenses (month)",
"Cheltuieli pe categorie": "Cheltuieli pe categorie",
"Cheltuit": "Spent", "Cheltuit": "Spent",
"Cheltuit 90d": "Cheltuit 90d", "Cheltuit 90d": "Cheltuit 90d",
"Chirie": "Rent", "Chirie": "Rent",
@@ -294,6 +310,7 @@
"Clase auto": "Vehicle classes", "Clase auto": "Vehicle classes",
"Clasă (pentru pricing)": "Clasă (pentru pricing)", "Clasă (pentru pricing)": "Clasă (pentru pricing)",
"Claude API Key": "Claude API Key", "Claude API Key": "Claude API Key",
"Click pentru a redenumi": "Click pentru a redenumi",
"Client": "Client", "Client": "Client",
"Client & Auto": "Client & Auto", "Client & Auto": "Client & Auto",
"Client (nume, semnătură):": "Client (nume, semnătură):", "Client (nume, semnătură):": "Client (nume, semnătură):",
@@ -321,10 +338,14 @@
"Coduri cross (OEM/echivalente)": "Coduri cross (OEM/echivalente)", "Coduri cross (OEM/echivalente)": "Coduri cross (OEM/echivalente)",
"Coeficient": "Coeficient", "Coeficient": "Coeficient",
"Coeficienți preț": "Pricing coefficients", "Coeficienți preț": "Pricing coefficients",
"Coloana Articol *": "Coloana Articol *",
"Coloana Brand (opțional)": "Coloana Brand (opțional)", "Coloana Brand (opțional)": "Coloana Brand (opțional)",
"Coloana Cantitate *": "Coloana Cantitate *",
"Coloana Denumire *": "Coloana Denumire *",
"Coloana Preț *": "Coloana Preț *", "Coloana Preț *": "Coloana Preț *",
"Coloane": "Columns", "Coloane": "Columns",
"Coloană": "Column", "Coloană": "Column",
"Comanda": "Comanda",
"Comanda ta a fost primită cu succes.": "Comanda ta a fost primită cu succes.", "Comanda ta a fost primită cu succes.": "Comanda ta a fost primită cu succes.",
"Comandat": "Comandat", "Comandat": "Comandat",
"Comandată": "Comandată", "Comandată": "Comandată",
@@ -342,11 +363,13 @@
"Complet": "Full", "Complet": "Full",
"Concediu": "Vacation", "Concediu": "Vacation",
"Condiții (toate trebuie îndeplinite)": "Condiții (toate trebuie îndeplinite)", "Condiții (toate trebuie îndeplinite)": "Condiții (toate trebuie îndeplinite)",
"Configurare:": "Configurare:",
"Configurează procentele pentru calcul salariu. Marja internă (nu TVA) se scade din prețul de manoperă pentru a determina baza salariului.": "Configurează procentele pentru calcul salariu. Marja internă (nu TVA) se scade din prețul de manoperă pentru a determina baza salariului.", "Configurează procentele pentru calcul salariu. Marja internă (nu TVA) se scade din prețul de manoperă pentru a determina baza salariului.": "Configurează procentele pentru calcul salariu. Marja internă (nu TVA) se scade din prețul de manoperă pentru a determina baza salariului.",
"Configurări": "Configuration", "Configurări": "Configuration",
"Configurări avansate": "Advanced settings", "Configurări avansate": "Advanced settings",
"Confirmare plată primită": "Confirmare plată primită", "Confirmare plată primită": "Confirmare plată primită",
"Confirmat": "Confirmed", "Confirmat": "Confirmed",
"Confirmate": "Confirmed",
"Confirmă": "Confirm", "Confirmă": "Confirm",
"Confirmă că mecanicul ia fizic piesa din depozit. Stocul scade acum, fără să aștepți închiderea fișei.": "Confirmă că mecanicul ia fizic piesa din depozit. Stocul scade acum, fără să aștepți închiderea fișei.", "Confirmă că mecanicul ia fizic piesa din depozit. Stocul scade acum, fără să aștepți închiderea fișei.": "Confirmă că mecanicul ia fizic piesa din depozit. Stocul scade acum, fără să aștepți închiderea fișei.",
"Confirmă emailul": "Verify email", "Confirmă emailul": "Verify email",
@@ -356,6 +379,7 @@
"Conformitate GDPR (la cererea ștergerii datelor)": "Conformitate GDPR (la cererea ștergerii datelor)", "Conformitate GDPR (la cererea ștergerii datelor)": "Conformitate GDPR (la cererea ștergerii datelor)",
"Consum": "Consumption", "Consum": "Consumption",
"Consumabile": "Supplies", "Consumabile": "Supplies",
"Cont PayPal sau card prin PayPal": "Cont PayPal sau card prin PayPal",
"Contabil": "Accountant", "Contabil": "Accountant",
"Contact": "Contact", "Contact": "Contact",
"Contactare": "Contact", "Contactare": "Contact",
@@ -364,6 +388,7 @@
"Contactează": "Contact", "Contactează": "Contact",
"Continuă": "Continue", "Continuă": "Continue",
"Continuă →": "Continuă →", "Continuă →": "Continuă →",
"Contul": "Contul",
"Conversație nouă": "Conversație nouă", "Conversație nouă": "Conversație nouă",
"Convertește": "Convertește", "Convertește": "Convertește",
"Convertit": "Converted", "Convertit": "Converted",
@@ -408,6 +433,7 @@
"Cumulabil": "Cumulabil", "Cumulabil": "Cumulabil",
"Cumulabil = se înmulțește cu alți coeficienți. Necumulabil = doar cel mai mare necumulabil se aplică.": "Cumulabil = se înmulțește cu alți coeficienți. Necumulabil = doar cel mai mare necumulabil se aplică.", "Cumulabil = se înmulțește cu alți coeficienți. Necumulabil = doar cel mai mare necumulabil se aplică.": "Cumulabil = se înmulțește cu alți coeficienți. Necumulabil = doar cel mai mare necumulabil se aplică.",
"Curăță": "Clear", "Curăță": "Clear",
"Custom": "Custom",
"Cutie": "Gearbox", "Cutie": "Gearbox",
"Cutie de viteze": "Gearbox", "Cutie de viteze": "Gearbox",
"Cutie viteze": "Gearbox", "Cutie viteze": "Gearbox",
@@ -453,6 +479,7 @@
"De la data": "From date", "De la data": "From date",
"De la ora": "From time", "De la ora": "From time",
"De la rândul (sărim header) *": "De la rândul (sărim header) *", "De la rândul (sărim header) *": "De la rândul (sărim header) *",
"De la:": "De la:",
"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": "To process", "De procesat": "To process",
"Deal": "Deal", "Deal": "Deal",
@@ -471,6 +498,7 @@
"Denumire afișată": "Display name", "Denumire afișată": "Display name",
"Denumire companie": "Company name", "Denumire companie": "Company name",
"Denumire produs": "Product name", "Denumire produs": "Product name",
"Deploy now": "Deploy now",
"Depozit": "Warehouse", "Depozit": "Warehouse",
"Depozit gol": "Depozit gol", "Depozit gol": "Depozit gol",
"Depozit implicit": "Default warehouse", "Depozit implicit": "Default warehouse",
@@ -525,6 +553,7 @@
"Doar tu ești aici": "Doar tu ești aici", "Doar tu ești aici": "Doar tu ești aici",
"Doar utilizatorii mei": "My users only", "Doar utilizatorii mei": "My users only",
"Document": "Document", "Document": "Document",
"Documentation": "Documentation",
"Documente": "Documents", "Documente": "Documents",
"Done": "Done", "Done": "Done",
"Downgrade": "Downgrade", "Downgrade": "Downgrade",
@@ -549,25 +578,29 @@
"Editează": "Edit", "Editează": "Edit",
"Editează drepturi": "Editează drepturi", "Editează drepturi": "Editează drepturi",
"Editează produs": "Edit product", "Editează produs": "Edit product",
"Eficiență": "Eficiență", "Eficiență": "Efficiency",
"Electric": "Electric", "Electric": "Electric",
"Electrică": "Electrical", "Electrică": "Electrical",
"Eliberat: {$n} rezervări consumate": "Eliberat: {$n} rezervări consumate", "Eliberat: {$n} rezervări consumate": "Eliberat: {$n} rezervări consumate",
"Eliberează": "Issue", "Eliberează": "Issue",
"Email": "Email", "Email": "Email",
"Email admin": "Email admin", "Email admin": "Email admin",
"Email:": "Email:",
"Empty": "No results", "Empty": "No results",
"Endpoint webhook: https://service.mir.md/payments/stripe/webhook": "Endpoint webhook: https://service.mir.md/payments/stripe/webhook", "Endpoint webhook: https://service.mir.md/payments/stripe/webhook": "Endpoint webhook: https://service.mir.md/payments/stripe/webhook",
"Endpoints disponibile:": "Endpoints disponibile:",
"Eroare": "Error", "Eroare": "Error",
"Eroare la recepție": "Eroare la recepție", "Eroare la recepție": "Eroare la recepție",
"Etape": "Stages", "Etape": "Stages",
"Etapă": "Stage", "Etapă": "Stage",
"Etichete piese": "Etichete piese",
"Etichetă": "Etichetă", "Etichetă": "Etichetă",
"Ex 30 → preț vânzare = preț achiziție × 1.30": "Ex 30 → preț vânzare = preț achiziție × 1.30", "Ex 30 → preț vânzare = preț achiziție × 1.30": "Ex 30 → preț vânzare = preț achiziție × 1.30",
"Ex: 100": "Ex: 100", "Ex: 100": "Ex: 100",
"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: Curte 1, Pod 4, Atelier electric": "Ex: Curte 1, Pod 4, Atelier electric",
"Ex: Lipsește filtrul Mann W712/83": "e.g. Missing filter Mann W712/83", "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ă...",
@@ -588,6 +621,7 @@
"Ești sigur?": "Are you sure?", "Ești sigur?": "Are you sure?",
"FIȘĂ DE LUCRU": "FIȘĂ DE LUCRU", "FIȘĂ DE LUCRU": "FIȘĂ DE LUCRU",
"Facturi": "Invoices", "Facturi": "Invoices",
"Facturi & abonament": "Facturi & abonament",
"Facturi neplătite": "Unpaid invoices", "Facturi neplătite": "Unpaid invoices",
"Facturi pending / overdue": "Facturi pending / overdue", "Facturi pending / overdue": "Facturi pending / overdue",
"Factură": "Invoice", "Factură": "Invoice",
@@ -603,6 +637,7 @@
"Filters": "Filters", "Filters": "Filters",
"Filtre": "Filters", "Filtre": "Filters",
"Filtru": "Filter", "Filtru": "Filter",
"Filtru:": "Filtru:",
"Finalizat": "Done", "Finalizat": "Done",
"Financiar": "Financiar", "Financiar": "Financiar",
"Finanțe": "Finanțe", "Finanțe": "Finanțe",
@@ -624,6 +659,7 @@
"Folosit ultima dată": "Folosit ultima dată", "Folosit ultima dată": "Folosit ultima dată",
"Folosită de coeficienții de preț. Hibrid/EV se deduc și din combustibil.": "Folosită de coeficienții de preț. Hibrid/EV se deduc și din combustibil.", "Folosită de coeficienții de preț. Hibrid/EV se deduc și din combustibil.": "Folosită de coeficienții de preț. Hibrid/EV se deduc și din combustibil.",
"Force logout": "Force logout", "Force logout": "Force logout",
"Format:": "Format:",
"Foto": "Photo", "Foto": "Photo",
"Foto factură": "Foto factură", "Foto factură": "Foto factură",
"Foto piesă": "Foto piesă", "Foto piesă": "Foto piesă",
@@ -661,10 +697,12 @@
"Generează factură": "Generează factură", "Generează factură": "Generează factură",
"Generează raport": "Generate report", "Generează raport": "Generate report",
"Generează token": "Generează token", "Generează token": "Generează token",
"Generez ZIP...": "Generez ZIP...",
"Global": "Global", "Global": "Global",
"Gol — trage un card aici": "Empty — drop a card here", "Gol — trage un card aici": "Empty — drop a card here",
"Grafic": "Chart", "Grafic": "Chart",
"Gravitate": "Gravitate", "Gravitate": "Gravitate",
"Grupare:": "Grupare:",
"Grupează manopere + piese frecvente într-un șablon (ex: „Schimb ulei complet": "Grupează manopere + piese frecvente într-un șablon (ex: „Schimb ulei complet", "Grupează manopere + piese frecvente într-un șablon (ex: „Schimb ulei complet": "Grupează manopere + piese frecvente într-un șablon (ex: „Schimb ulei complet",
"Grupează manopere + piese frecvente într-un șablon (ex: „Schimb ulei complet\") și aplică-l pe o fișă cu un click.": "Grupează manopere + piese frecvente într-un șablon (ex: „Schimb ulei complet\") și aplică-l pe o fișă cu un click.", "Grupează manopere + piese frecvente într-un șablon (ex: „Schimb ulei complet\") și aplică-l pe o fișă cu un click.": "Grupează manopere + piese frecvente într-un șablon (ex: „Schimb ulei complet\") și aplică-l pe o fișă cu un click.",
"Găsite (cu articol existent)": "Găsite (cu articol existent)", "Găsite (cu articol existent)": "Găsite (cu articol existent)",
@@ -672,6 +710,7 @@
"Hatchback": "Hatchback", "Hatchback": "Hatchback",
"Hibrid": "Hybrid", "Hibrid": "Hybrid",
"IBAN": "IBAN", "IBAN": "IBAN",
"IBAN:": "IBAN:",
"ID": "ID", "ID": "ID",
"IDNO / CUI": "IDNO / CUI", "IDNO / CUI": "IDNO / CUI",
"Ianuarie": "January", "Ianuarie": "January",
@@ -718,6 +757,7 @@
"Inventar": "Inventory", "Inventar": "Inventory",
"Invitație": "Invitation", "Invitație": "Invitation",
"Invitații": "Invitations", "Invitații": "Invitations",
"Ion Popescu": "Ion Popescu",
"Istoric depozitare": "Istoric depozitare", "Istoric depozitare": "Istoric depozitare",
"Istoric prețuri furnizori": "Istoric prețuri furnizori", "Istoric prețuri furnizori": "Istoric prețuri furnizori",
"Iulie": "July", "Iulie": "July",
@@ -725,7 +765,7 @@
"JSON": "JSON", "JSON": "JSON",
"Joi": "Thursday", "Joi": "Thursday",
"Jurnal": "Audit log", "Jurnal": "Audit log",
"KPI mecanici": "KPI mecanici", "KPI mecanici": "Mechanics KPI",
"Kanban": "Kanban", "Kanban": "Kanban",
"Kilometraj": "Kilometraj", "Kilometraj": "Kilometraj",
"Km": "km", "Km": "km",
@@ -733,11 +773,15 @@
"Km ieșire": "Km out", "Km ieșire": "Km out",
"Km intrare": "Km in", "Km intrare": "Km in",
"Km la ieșire:": "Km la ieșire:", "Km la ieșire:": "Km la ieșire:",
"Km la intrare:": "Km la intrare:",
"Km parcurși": "Mileage", "Km parcurși": "Mileage",
"La editare lasă gol pentru a păstra parola actuală.": "La editare lasă gol pentru a păstra parola actuală.", "La editare lasă gol pentru a păstra parola actuală.": "La editare lasă gol pentru a păstra parola actuală.",
"La revedere": "Goodbye", "La revedere": "Goodbye",
"La succes: webhook → automat status=paid + extends company.active_until": "La succes: webhook → automat status=paid + extends company.active_until",
"La timp 90d": "La timp 90d", "La timp 90d": "La timp 90d",
"La trecere pe „Montată\" se scade automat din stoc.": "La trecere pe „Montată\" se scade automat din stoc.", "La trecere pe „Montată\" se scade automat din stoc.": "La trecere pe „Montată\" se scade automat din stoc.",
"Laracasts": "Laracasts",
"Laravel has an incredibly rich ecosystem.": "Laravel has an incredibly rich ecosystem.",
"Lasă gol = se aplică mereu. Combină condițiile pentru a ținti situații specifice.": "Lasă gol = se aplică mereu. Combină condițiile pentru a ținti situații specifice.", "Lasă gol = se aplică mereu. Combină condițiile pentru a ținti situații specifice.": "Lasă gol = se aplică mereu. Combină condițiile pentru a ținti situații specifice.",
"Lead-uri": "Lead-uri", "Lead-uri": "Lead-uri",
"Lead-uri pe sursă": "Lead-uri pe sursă", "Lead-uri pe sursă": "Lead-uri pe sursă",
@@ -749,6 +793,7 @@
"Limite": "Limite", "Limite": "Limite",
"Linia nu mai necesită aprobare.": "Linia nu mai necesită aprobare.", "Linia nu mai necesită aprobare.": "Linia nu mai necesită aprobare.",
"Linii": "Linii", "Linii": "Linii",
"Link": "Link",
"Link client (QR)": "Link client (QR)", "Link client (QR)": "Link client (QR)",
"Link tracking": "Tracking link", "Link tracking": "Tracking link",
"Linkul expiră în 60 de minute. Dacă nu ai cerut tu acest reset, ignoră emailul — contul tău e în siguranță.": "Linkul expiră în 60 de minute. Dacă nu ai cerut tu acest reset, ignoră emailul — contul tău e în siguranță.", "Linkul expiră în 60 de minute. Dacă nu ai cerut tu acest reset, ignoră emailul — contul tău e în siguranță.": "Linkul expiră în 60 de minute. Dacă nu ai cerut tu acest reset, ignoră emailul — contul tău e în siguranță.",
@@ -770,6 +815,7 @@
"Locație (raft)": "Locație (raft)", "Locație (raft)": "Locație (raft)",
"Locație rack/bin": "Locație rack/bin", "Locație rack/bin": "Locație rack/bin",
"Log in": "Log in", "Log in": "Log in",
"Login": "Login",
"Logo": "Logo", "Logo": "Logo",
"Logo & favicon": "Logo & favicon", "Logo & favicon": "Logo & favicon",
"Logo (opțional)": "Logo (opțional)", "Logo (opțional)": "Logo (opțional)",
@@ -779,16 +825,17 @@
"Loturi (FIFO)": "Loturi (FIFO)", "Loturi (FIFO)": "Loturi (FIFO)",
"Lucrare": "Lucrare", "Lucrare": "Lucrare",
"Lucrare blocată": "Work blocked", "Lucrare blocată": "Work blocked",
"Lucrări": "Lucrări", "Lucrări": "Tasks",
"Lucrări la terți": "Lucrări la terți", "Lucrări la terți": "Lucrări la terți",
"Lucrări terți": "Outsourced jobs", "Lucrări terți": "Outsourced jobs",
"Luna aceasta": "This month", "Luna aceasta": "This month",
"Luna curentă": "Current month", "Luna curentă": "Current month",
"Luna trecută": "Last month", "Luna trecută": "Last month",
"Luna următoare ▶": "Luna următoare ▶", "Luna următoare ▶": "Next month ▶",
"Lunar": "Lunar", "Lunar": "Lunar",
"Luni": "Months", "Luni": "Months",
"Luni (zi)": "Monday", "Luni (zi)": "Monday",
"Luni Vineri: 08:00 18:00": "Luni Vineri: 08:00 18:00",
"Lună": "Lună", "Lună": "Lună",
"Lățime": "Lățime", "Lățime": "Lățime",
"MB folosiți": "MB folosiți", "MB folosiți": "MB folosiți",
@@ -809,6 +856,8 @@
"Manoperă": "Labor", "Manoperă": "Labor",
"Manuală": "Manual", "Manuală": "Manual",
"Marca": "Marca", "Marca": "Marca",
"Marca/Model": "Marca/Model",
"Marca/Model:": "Marca/Model:",
"Marchează Gata": "Mark ready", "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",
@@ -832,13 +881,16 @@
"Markup %": "Markup %", "Markup %": "Markup %",
"Martie": "March", "Martie": "March",
"Marți": "Tuesday", "Marți": "Tuesday",
"Matricea": "Matricea",
"Max clienți": "Max clienți", "Max clienți": "Max clienți",
"Max fișe/lună": "Max fișe/lună", "Max fișe/lună": "Max fișe/lună",
"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": "Vehicles", "Mașini": "Vehicles",
"Mecanic": "Mechanic",
"Mecanic implicit": "Default mechanic", "Mecanic implicit": "Default mechanic",
"Mecanici": "Mechanics",
"Medie": "Medium", "Medie": "Medium",
"Mediu": "Medium", "Mediu": "Medium",
"Merchant Code": "Merchant Code", "Merchant Code": "Merchant Code",
@@ -846,16 +898,20 @@
"Mesaj client": "Mesaj client", "Mesaj client": "Mesaj client",
"Mesaje": "Messages", "Mesaje": "Messages",
"Mesaje AI/lună": "Mesaje AI/lună", "Mesaje AI/lună": "Mesaje AI/lună",
"Metoda": "Metoda",
"Metode de livrare": "Metode de livrare", "Metode de livrare": "Metode de livrare",
"Metode plată": "Payment methods", "Metode plată": "Payment methods",
"Metodă": "Metodă", "Metodă": "Metodă",
"Metodă plată": "Payment method", "Metodă plată": "Payment method",
"Miercuri": "Wednesday", "Miercuri": "Wednesday",
"Migrare la alt sistem CRM": "Migrare la alt sistem CRM",
"Min.": "Min.", "Min.": "Min.",
"Minim": "Minim", "Minim": "Minim",
"Minute": "Minutes", "Minute": "Minutes",
"Mod": "Mode", "Mod": "Mode",
"Mod stub:": "Mod stub:",
"Mod tarifare": "Mod tarifare", "Mod tarifare": "Mod tarifare",
"Mod:": "Mod:",
"Model": "Model", "Model": "Model",
"Model Claude": "Model Claude", "Model Claude": "Model Claude",
"Model Gemini": "Model Gemini", "Model Gemini": "Model Gemini",
@@ -884,12 +940,14 @@
"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",
"Neconfirmat": "Unconfirmed", "Neconfirmat": "Unconfirmed",
"Neconfirmate": "Unconfirmed",
"Necunoscut": "Unknown", "Necunoscut": "Unknown",
"Neplătit": "Unpaid", "Neplătit": "Unpaid",
"Nepublicat": "Unpublished", "Nepublicat": "Unpublished",
"Nesemnat": "Unsigned", "Nesemnat": "Unsigned",
"Nesincronizat": "Not synced", "Nesincronizat": "Not synced",
"Net 30 / Avans": "Net 30 / Avans", "Net 30 / Avans": "Net 30 / Avans",
"Net:": "Net:",
"Neverificat": "Not verified", "Neverificat": "Not verified",
"New client": "New client", "New client": "New client",
"New mașină": "New vehicle", "New mașină": "New vehicle",
@@ -913,15 +971,18 @@
"Nicio programare în perioada selectată.": "Nicio programare în perioada selectată.", "Nicio programare în perioada selectată.": "Nicio programare în perioada selectată.",
"Niciodată": "Never", "Niciodată": "Never",
"Niciun client magazin": "Niciun client magazin", "Niciun client magazin": "Niciun client magazin",
"Niciun client pierdut. 🎉": "Niciun client pierdut. 🎉",
"Niciun client încă": "Niciun client încă", "Niciun client încă": "Niciun client încă",
"Niciun cod cross": "Niciun cod cross", "Niciun cod cross": "Niciun cod cross",
"Niciun coeficient": "Niciun coeficient", "Niciun coeficient": "Niciun coeficient",
"Niciun coeficient contextual nu se aplică (preț de bază).": "Niciun coeficient contextual nu se aplică (preț de bază).", "Niciun coeficient contextual nu se aplică (preț de bază).": "Niciun coeficient contextual nu se aplică (preț de bază).",
"Niciun depozit": "Niciun depozit", "Niciun depozit": "Niciun depozit",
"Niciun istoric": "Niciun istoric", "Niciun istoric": "Niciun istoric",
"Niciun lead.": "Niciun lead.",
"Niciun lot înregistrat": "Niciun lot înregistrat", "Niciun lot înregistrat": "Niciun lot înregistrat",
"Niciun mecanic activ.": "Niciun mecanic activ.",
"Niciun mecanic implicit": "Niciun mecanic implicit", "Niciun mecanic implicit": "Niciun mecanic implicit",
"Niciun mecanic nu a finalizat lucrări în această perioadă.": "Niciun mecanic nu a finalizat lucrări în această perioadă.", "Niciun mecanic nu a finalizat lucrări în această perioadă.": "No mechanic has completed work in this period.",
"Niciun plan definit": "Niciun plan definit", "Niciun plan definit": "Niciun plan definit",
"Niciun preț înregistrat": "Niciun preț înregistrat", "Niciun preț înregistrat": "Niciun preț înregistrat",
"Niciun rest de încasat. 🎉": "Niciun rest de încasat. 🎉", "Niciun rest de încasat. 🎉": "Niciun rest de încasat. 🎉",
@@ -930,9 +991,11 @@
"Niciun tenant încă": "Niciun tenant încă", "Niciun tenant încă": "Niciun tenant încă",
"Niciun șablon": "Niciun șablon", "Niciun șablon": "Niciun șablon",
"No": "No", "No": "No",
"No-show alert": "No-show alert",
"Noiembrie": "November", "Noiembrie": "November",
"Norma ore": "Norm hours",
"Normal": "Normal", "Normal": "Normal",
"Norme-ore": "Labor times", "Norme-ore": "Labor rates",
"Note interne": "Note interne", "Note interne": "Note interne",
"Notificare": "Notification", "Notificare": "Notification",
"Notifications": "Notifications", "Notifications": "Notifications",
@@ -953,6 +1016,7 @@
"Nr. poliță": "Nr. poliță", "Nr. poliță": "Nr. poliță",
"Nr. telefon": "Phone number", "Nr. telefon": "Phone number",
"Nr. înmatriculare": "License plate", "Nr. înmatriculare": "License plate",
"Nr.:": "Nr.:",
"Nu a fost prelevată nicio sumă. Poți încerca din nou oricând.": "Nu a fost prelevată nicio sumă. Poți încerca din nou oricând.", "Nu a fost prelevată nicio sumă. Poți încerca din nou oricând.": "Nu a fost prelevată nicio sumă. Poți încerca din nou oricând.",
"Nu ai cont?": "Don't have an account?", "Nu ai cont?": "Don't have an account?",
"Nu am găsit linii valide — verifică maparea coloanelor": "Nu am găsit linii valide — verifică maparea coloanelor", "Nu am găsit linii valide — verifică maparea coloanelor": "Nu am găsit linii valide — verifică maparea coloanelor",
@@ -961,6 +1025,7 @@
"Nu re-trimite mai des de X zile": "Nu re-trimite mai des de X zile", "Nu re-trimite mai des de X zile": "Nu re-trimite mai des de X zile",
"Nu te poți șterge pe tine!": "Nu te poți șterge pe tine!", "Nu te poți șterge pe tine!": "Nu te poți șterge pe tine!",
"Nu, renunță": "No, cancel", "Nu, renunță": "No, cancel",
"Numar": "Number",
"Nume": "Name", "Nume": "Name",
"Nume (RO)": "Nume (RO)", "Nume (RO)": "Nume (RO)",
"Nume (RU)": "Nume (RU)", "Nume (RU)": "Nume (RU)",
@@ -975,6 +1040,7 @@
"Numele este obligatoriu": "Numele este obligatoriu", "Numele este obligatoriu": "Numele este obligatoriu",
"Numerar": "Cash", "Numerar": "Cash",
"Numerar net (toate plățile - cheltuieli)": "Numerar net (toate plățile - cheltuieli)", "Numerar net (toate plățile - cheltuieli)": "Numerar net (toate plățile - cheltuieli)",
"Număr": "Number",
"Numărul de zile gratis după ce un tenant alege acest plan.": "Numărul de zile gratis după ce un tenant alege acest plan.", "Numărul de zile gratis după ce un tenant alege acest plan.": "Numărul de zile gratis după ce un tenant alege acest plan.",
"OCR eșuat": "OCR eșuat", "OCR eșuat": "OCR eșuat",
"Observații": "Notes", "Observații": "Notes",
@@ -983,6 +1049,7 @@
"Ok": "OK", "Ok": "OK",
"On = arată „Bază salariu: X · marjă Y%\" sub Total în tabelul Manopere. Off = doar Total (util când review-uiești o Fișă cu clientul de față).": "On = arată „Bază salariu: X · marjă Y%\" sub Total în tabelul Manopere. Off = doar Total (util când review-uiești o Fișă cu clientul de față).", "On = arată „Bază salariu: X · marjă Y%\" sub Total în tabelul Manopere. Off = doar Total (util când review-uiești o Fișă cu clientul de față).": "On = arată „Bază salariu: X · marjă Y%\" sub Total în tabelul Manopere. Off = doar Total (util când review-uiești o Fișă cu clientul de față).",
"On = din prețul manoperelor se scade marja pentru salariu. Off = manopere la cost (salariu pe Total integral).": "On = din prețul manoperelor se scade marja pentru salariu. Off = manopere la cost (salariu pe Total integral).", "On = din prețul manoperelor se scade marja pentru salariu. Off = manopere la cost (salariu pe Total integral).": "On = din prețul manoperelor se scade marja pentru salariu. Off = manopere la cost (salariu pe Total integral).",
"Onboarded": "Onboarded",
"Onorat": "Onorat", "Onorat": "Onorat",
"Onorează (scade stoc)": "Onorează (scade stoc)", "Onorează (scade stoc)": "Onorează (scade stoc)",
"OpenAI API Key": "OpenAI API Key", "OpenAI API Key": "OpenAI API Key",
@@ -1016,6 +1083,7 @@
"PNG/SVG, max 2 MB. Apare în sidebar.": "PNG/SVG, max 2 MB. Apare în sidebar.", "PNG/SVG, max 2 MB. Apare în sidebar.": "PNG/SVG, max 2 MB. Apare în sidebar.",
"PO": "PO", "PO": "PO",
"POS": "POS", "POS": "POS",
"POST /api/v1/login": "POST /api/v1/login",
"Pagina": "Page", "Pagina": "Page",
"Pagini": "Pages", "Pagini": "Pages",
"Panou": "Panel", "Panou": "Panel",
@@ -1032,7 +1100,12 @@
"Pasul 1: Încarcă fișierul": "Pasul 1: Încarcă fișierul", "Pasul 1: Încarcă fișierul": "Pasul 1: Încarcă fișierul",
"Pasul 2: Mapează coloanele": "Pasul 2: Mapează coloanele", "Pasul 2: Mapează coloanele": "Pasul 2: Mapează coloanele",
"Pauză": "Pause", "Pauză": "Pause",
"PayPal": "PayPal",
"PayPal:": "PayPal:",
"Payload:": "Payload:",
"Paynet": "Paynet",
"Pe pauză": "Paused", "Pe pauză": "Paused",
"Pe status": "Pe status",
"Penalizări": "Penalizări", "Penalizări": "Penalizări",
"Pentru a activa PayPal, instalează `composer require srmklive/paypal` și activează în /admin/payment-settings.": "Pentru a activa PayPal, instalează `composer require srmklive/paypal` și activează în /admin/payment-settings.", "Pentru a activa PayPal, instalează `composer require srmklive/paypal` și activează în /admin/payment-settings.": "Pentru a activa PayPal, instalează `composer require srmklive/paypal` și activează în /admin/payment-settings.",
"Pentru a activa Stripe Checkout, instalează `composer require stripe/stripe-php` și activează în /admin/payment-settings.": "Pentru a activa Stripe Checkout, instalează `composer require stripe/stripe-php` și activează în /admin/payment-settings.", "Pentru a activa Stripe Checkout, instalează `composer require stripe/stripe-php` și activează în /admin/payment-settings.": "Pentru a activa Stripe Checkout, instalează `composer require stripe/stripe-php` și activează în /admin/payment-settings.",
@@ -1064,6 +1137,7 @@
"Plan ascuns public, folosit pentru tenant-i demo cu features deblocate.": "Plan ascuns public, folosit pentru tenant-i demo cu features deblocate.", "Plan ascuns public, folosit pentru tenant-i demo cu features deblocate.": "Plan ascuns public, folosit pentru tenant-i demo cu features deblocate.",
"Plata apare în 1-3 zile lucrătoare": "Plata apare în 1-3 zile lucrătoare", "Plata apare în 1-3 zile lucrătoare": "Plata apare în 1-3 zile lucrătoare",
"Plata stabilește automat starea fișei (unpaid/partial/paid)": "Plata stabilește automat starea fișei (unpaid/partial/paid)", "Plata stabilește automat starea fișei (unpaid/partial/paid)": "Plata stabilește automat starea fișei (unpaid/partial/paid)",
"Plate": "Plate",
"Plată": "Payment", "Plată": "Payment",
"Plată & total": "Payment & total", "Plată & total": "Payment & total",
"Plată anulată": "Plată anulată", "Plată anulată": "Plată anulată",
@@ -1098,6 +1172,7 @@
"Preview": "Preview", "Preview": "Preview",
"Preview PDF": "Preview PDF", "Preview PDF": "Preview PDF",
"Previzualizare": "Preview", "Previzualizare": "Preview",
"Previzualizare →": "Previzualizare →",
"Prezent": "Present", "Prezent": "Present",
"Prezențe": "Attendances", "Prezențe": "Attendances",
"Prezență": "Attendance", "Prezență": "Attendance",
@@ -1137,6 +1212,7 @@
"Producător": "Producător", "Producător": "Producător",
"Produs": "Product", "Produs": "Product",
"Produse": "Products", "Produse": "Products",
"Produsele tale": "Produsele tale",
"Profesie": "Profesie", "Profesie": "Profesie",
"Profil": "Profil", "Profil": "Profil",
"Profile": "Profile", "Profile": "Profile",
@@ -1162,6 +1238,7 @@
"Progres etapă": "Stage progress", "Progres etapă": "Stage progress",
"Proprietar": "Owner", "Proprietar": "Owner",
"Provider implicit": "Provider implicit", "Provider implicit": "Provider implicit",
"Provider:": "Provider:",
"Public": "Public", "Public": "Public",
"Public (afișat la signup)": "Public (afișat la signup)", "Public (afișat la signup)": "Public (afișat la signup)",
"Publicat": "Published", "Publicat": "Published",
@@ -1187,6 +1264,8 @@
"Rating": "Rating", "Rating": "Rating",
"Rating actualizat → {$score}★": "Rating actualizat → {$score}★", "Rating actualizat → {$score}★": "Rating actualizat → {$score}★",
"Reactivează": "Reactivate", "Reactivează": "Reactivate",
"Read the": "Read the",
"Real ore": "Real hours",
"Recalculat preț pentru {$count} piese": "Recalculat preț pentru {$count} piese", "Recalculat preț pentru {$count} piese": "Recalculat preț pentru {$count} piese",
"Recalculează": "Recalculează", "Recalculează": "Recalculează",
"Recent": "Recent", "Recent": "Recent",
@@ -1216,6 +1295,7 @@
"Refuzat de client": "Rejected by client", "Refuzat de client": "Rejected by client",
"Regenerează": "Regenerate", "Regenerează": "Regenerate",
"Register": "Register", "Register": "Register",
"Regiune": "Regiune",
"Regulă": "Rule", "Regulă": "Rule",
"Reia": "Resume", "Reia": "Resume",
"Reminder ITP / revizie": "Reminder ITP / revizie", "Reminder ITP / revizie": "Reminder ITP / revizie",
@@ -1293,6 +1373,7 @@
"Scadență": "Due date", "Scadență": "Due date",
"Scanează codurile pieselor pentru a marca ca recepționate.": "Scanează codurile pieselor pentru a marca ca recepționate.", "Scanează codurile pieselor pentru a marca ca recepționate.": "Scanează codurile pieselor pentru a marca ca recepționate.",
"Scaner cod QR / Bare": "Scaner cod QR / Bare", "Scaner cod QR / Bare": "Scaner cod QR / Bare",
"Schimb ulei + filtru": "Schimb ulei + filtru",
"Scoate din magazin": "Scoate din magazin", "Scoate din magazin": "Scoate din magazin",
"Scrie mesajul tău...": "Scrie mesajul tău...", "Scrie mesajul tău...": "Scrie mesajul tău...",
"Scăzut": "Low", "Scăzut": "Low",
@@ -1323,11 +1404,13 @@
"Semnătură digitală": "Digital signature", "Semnătură digitală": "Digital signature",
"Senzori TPMS": "Senzori TPMS", "Senzori TPMS": "Senzori TPMS",
"Septembrie": "September", "Septembrie": "September",
"Serial": "Serial",
"Serie": "Series", "Serie": "Series",
"Serie factură": "Invoice series", "Serie factură": "Invoice series",
"Service ID": "Service ID", "Service ID": "Service ID",
"Servicii": "Services", "Servicii": "Services",
"Servicii & tarif": "Services & rate", "Servicii & tarif": "Services & rate",
"Servicii oferite": "Servicii oferite",
"Servicii oferite (separate prin virgulă)": "Servicii oferite (separate prin virgulă)", "Servicii oferite (separate prin virgulă)": "Servicii oferite (separate prin virgulă)",
"Servicii terțe": "Third-party services", "Servicii terțe": "Third-party services",
"Sesiuni": "Sessions", "Sesiuni": "Sessions",
@@ -1368,16 +1451,19 @@
"Standard": "Standard", "Standard": "Standard",
"Stare": "Stare", "Stare": "Stare",
"Stare timp": "Time state", "Stare timp": "Time state",
"Stare zi": "Day status",
"Start": "Start", "Start": "Start",
"Status": "Status", "Status": "Status",
"Status dosar": "Status dosar", "Status dosar": "Status dosar",
"Status implicit": "Default status", "Status implicit": "Default status",
"Status:": "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", "Stoc minim atins": "Minimum stock reached",
"Stoc piese (la preț achiziție)": "Stoc piese (la preț achiziție)", "Stoc piese (la preț achiziție)": "Stoc piese (la preț achiziție)",
"Storage (MB)": "Storage (MB)", "Storage (MB)": "Storage (MB)",
"Storage media": "Storage media",
"Stripe: înregistrează cont la": "Stripe: înregistrează cont la", "Stripe: înregistrează cont la": "Stripe: înregistrează cont la",
"Sub minim": "Below minimum", "Sub minim": "Below minimum",
"Subcontractare": "Subcontracting", "Subcontractare": "Subcontracting",
@@ -1386,8 +1472,11 @@
"Subdomeniul: <slug>.service.mir.md": "Subdomeniul: <slug>.service.mir.md", "Subdomeniul: <slug>.service.mir.md": "Subdomeniul: <slug>.service.mir.md",
"Subiect": "Subject", "Subiect": "Subject",
"Subiect (email)": "Subiect (email)", "Subiect (email)": "Subiect (email)",
"Subiect *": "Subiect *",
"Subiect și data sunt obligatorii": "Subiect și data sunt obligatorii", "Subiect și data sunt obligatorii": "Subiect și data sunt obligatorii",
"Subtotal": "Subtotal", "Subtotal": "Subtotal",
"Subtotal manopere:": "Subtotal manopere:",
"Subtotal piese:": "Subtotal piese:",
"Succes": "Success", "Succes": "Success",
"Sugerează revizie / piese de uzură.": "Sugerează revizie / piese de uzură.", "Sugerează revizie / piese de uzură.": "Sugerează revizie / piese de uzură.",
"Sumă": "Amount", "Sumă": "Amount",
@@ -1431,6 +1520,7 @@
"Telefon alternativ": "Telefon alternativ", "Telefon alternativ": "Telefon alternativ",
"Telefon principal": "Telefon principal", "Telefon principal": "Telefon principal",
"Telefon sau parolă incorecte.": "Telefon sau parolă incorecte.", "Telefon sau parolă incorecte.": "Telefon sau parolă incorecte.",
"Telefon:": "Telefon:",
"Telefonie": "Calls", "Telefonie": "Calls",
"Telegram bot": "Telegram bot", "Telegram bot": "Telegram bot",
"Telegram chat ID": "Telegram chat ID", "Telegram chat ID": "Telegram chat ID",
@@ -1454,6 +1544,7 @@
"Terț": "Terț", "Terț": "Terț",
"Test notificare push": "Test notificare push", "Test notificare push": "Test notificare push",
"Testează bot Telegram": "Testează bot Telegram", "Testează bot Telegram": "Testează bot Telegram",
"Theme color": "Theme color",
"Timp lucrat": "Time worked", "Timp lucrat": "Time worked",
"Timp mediu": "Avg time", "Timp mediu": "Avg time",
"Timp total": "Total time", "Timp total": "Total time",
@@ -1486,6 +1577,8 @@
"Token generat!": "Token generat!", "Token generat!": "Token generat!",
"Token public": "Token public", "Token public": "Token public",
"Token revocat": "Token revocat", "Token revocat": "Token revocat",
"Tokens consumate luna aceasta:": "Tokens consumate luna aceasta:",
"Tokens:": "Tokens:",
"Top piese vândute": "Top piese vândute", "Top piese vândute": "Top piese vândute",
"Tot apelul trebuie făcut pe subdomain-ul tău:": "Tot apelul trebuie făcut pe subdomain-ul tău:", "Tot apelul trebuie făcut pe subdomain-ul tău:": "Tot apelul trebuie făcut pe subdomain-ul tău:",
"Total": "Total", "Total": "Total",
@@ -1514,6 +1607,7 @@
"Transfer bancar": "Bank transfer", "Transfer bancar": "Bank transfer",
"Transfer bancar: pune doar IBAN-ul tău, fără cont gateway": "Transfer bancar: pune doar IBAN-ul tău, fără cont gateway", "Transfer bancar: pune doar IBAN-ul tău, fără cont gateway": "Transfer bancar: pune doar IBAN-ul tău, fără cont gateway",
"Transport": "Transport", "Transport": "Transport",
"Tranz.": "Tranz.",
"Trial expiră la": "Trial expiră la", "Trial expiră la": "Trial expiră la",
"Trimis": "Sent", "Trimis": "Sent",
"Trimis · fără răspuns": "Sent · no response", "Trimis · fără răspuns": "Sent · no response",
@@ -1538,8 +1632,10 @@
"Ultim login": "Last login", "Ultim login": "Last login",
"Ultima actualizare": "Last updated", "Ultima actualizare": "Last updated",
"Ultima autentificare": "Last login", "Ultima autentificare": "Last login",
"Ultima logare": "Ultima logare",
"Ultima modificare": "Last modified", "Ultima modificare": "Last modified",
"Ultima sincronizare": "Last synced", "Ultima sincronizare": "Last synced",
"Ultimul cod citit:": "Ultimul cod citit:",
"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",
@@ -1561,6 +1657,8 @@
"VIN căutare & piese": "VIN căutare & piese", "VIN căutare & piese": "VIN căutare & piese",
"VIN trebuie să aibă cel puțin 11 caractere.": "VIN trebuie să aibă cel puțin 11 caractere.", "VIN trebuie să aibă cel puțin 11 caractere.": "VIN trebuie să aibă cel puțin 11 caractere.",
"VIN-căutare": "VIN search", "VIN-căutare": "VIN search",
"VIN:": "VIN:",
"VW Passat 2018": "VW Passat 2018",
"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 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",
@@ -1576,7 +1674,7 @@
"Venit generat": "Venit generat", "Venit generat": "Venit generat",
"Venit luna curentă": "Current month revenue", "Venit luna curentă": "Current month revenue",
"Venit luna trecută": "Venit luna trecută", "Venit luna trecută": "Venit luna trecută",
"Venit manopere": "Venit manopere", "Venit manopere": "Labor revenue",
"Venituri": "Revenues", "Venituri": "Revenues",
"Verificare": "Verification", "Verificare": "Verification",
"Verificat": "Verified", "Verificat": "Verified",
@@ -1587,6 +1685,7 @@
"Vezi tot": "View all", "Vezi tot": "View all",
"Viitoare": "Viitoare", "Viitoare": "Viitoare",
"Vineri": "Friday", "Vineri": "Friday",
"Visa, Mastercard prin Stripe": "Visa, Mastercard prin Stripe",
"Vizibil": "Visible", "Vizibil": "Visible",
"Vizual": "Visual", "Vizual": "Visual",
"Vizualizează": "View", "Vizualizează": "View",
@@ -1600,6 +1699,9 @@
"Vă mulțumim pentru încredere!": "Vă mulțumim pentru încredere!", "Vă mulțumim pentru încredere!": "Vă mulțumim pentru încredere!",
"Vă mulțumim!": "Vă mulțumim!", "Vă mulțumim!": "Vă mulțumim!",
"Văzut": "Seen", "Văzut": "Seen",
"WBAFE81070CY34521": "WBAFE81070CY34521",
"Watch video tutorials at": "Watch video tutorials at",
"We suggest starting with the following.": "We suggest starting with the following.",
"Web Push neconfigurat": "Web Push neconfigurat", "Web Push neconfigurat": "Web Push neconfigurat",
"Webhook": "Webhook", "Webhook": "Webhook",
"Webhook (Notify URL)": "Webhook (Notify URL)", "Webhook (Notify URL)": "Webhook (Notify URL)",
@@ -1615,6 +1717,7 @@
"Yes": "Yes", "Yes": "Yes",
"ZIP": "ZIP", "ZIP": "ZIP",
"ZIP cu fișiere JSON (1 per tabel) + media + manifest.json.": "ZIP cu fișiere JSON (1 per tabel) + media + manifest.json.", "ZIP cu fișiere JSON (1 per tabel) + media + manifest.json.": "ZIP cu fișiere JSON (1 per tabel) + media + manifest.json.",
"Zi": "Zi",
"Zile": "Days", "Zile": "Days",
"Zile libere": "Days off", "Zile libere": "Days off",
"Zile livrare": "Zile livrare", "Zile livrare": "Zile livrare",
@@ -1622,64 +1725,93 @@
"Zonă": "Zonă", "Zonă": "Zonă",
"Zoom in": "Zoom in", "Zoom in": "Zoom in",
"Zoom out": "Zoom out", "Zoom out": "Zoom out",
"a expirat.": "a expirat.",
"a fost suspendat.": "a fost suspendat.",
"aceste integrări sunt placeholder UI — le configurezi aici, dar implementarea actuală a fiecărui canal e proiect separat.\n Pentru moment, valorile salvate sunt accesibile în cod via": "aceste integrări sunt placeholder UI — le configurezi aici, dar implementarea actuală a fiecărui canal e proiect separat.\n Pentru moment, valorile salvate sunt accesibile în cod via", "aceste integrări sunt placeholder UI — le configurezi aici, dar implementarea actuală a fiecărui canal e proiect separat.\n Pentru moment, valorile salvate sunt accesibile în cod via": "aceste integrări sunt placeholder UI — le configurezi aici, dar implementarea actuală a fiecărui canal e proiect separat.\n Pentru moment, valorile salvate sunt accesibile în cod via",
"achiziție": "achiziție", "achiziție": "purchase",
"achiziții": "achiziții", "achiziții": "purchases",
"active": "active", "active": "active",
"actualizat": "updated", "actualizat": "updated",
"ajustare": "ajustare",
"angajat": "employee",
"angajați": "angajați", "angajați": "angajați",
"apasă": "click", "apasă": "click",
"apel": "call",
"apeluri": "calls",
"asistent gândește...": "asistent gândește...", "asistent gândește...": "asistent gândește...",
"auto-generat": "auto-generat", "auto-generat": "auto-generat",
"bonusuri/avansuri": "bonusuri/avansuri", "bonusuri/avansuri": "bonusuri/avansuri",
"call": "Call", "call": "Call",
"canal": "channel",
"canale marketing": "canale marketing", "canale marketing": "canale marketing",
"cerere": "lead",
"cereri": "leads",
"cheltuială": "cheltuială", "cheltuială": "cheltuială",
"cheltuieli": "cheltuieli",
"client": "client", "client": "client",
"client magazin": "client magazin", "client magazin": "shop customer",
"clienți": "clients", "clienți": "clients",
"clienți magazin": "clienți magazin", "clienți magazin": "shop customers",
"clienți, mașini, lead-uri, deal-uri, programări, fișe de lucru cu manopere și piese,\n depozit, furnizori, achiziții, plăți, cheltuieli, salarii, useri, logo + favicon, manifest cu metadata.": "clienți, mașini, lead-uri, deal-uri, programări, fișe de lucru cu manopere și piese,\n depozit, furnizori, achiziții, plăți, cheltuieli, salarii, useri, logo + favicon, manifest cu metadata.", "clienți, mașini, lead-uri, deal-uri, programări, fișe de lucru cu manopere și piese,\n depozit, furnizori, achiziții, plăți, cheltuieli, salarii, useri, logo + favicon, manifest cu metadata.": "clienți, mașini, lead-uri, deal-uri, programări, fișe de lucru cu manopere și piese,\n depozit, furnizori, achiziții, plăți, cheltuieli, salarii, useri, logo + favicon, manifest cu metadata.",
"coeficient": "coefficient", "coeficient": "coefficient",
"coeficienți preț": "coeficienți preț", "coeficienți preț": "pricing coefficients",
"comandă": "comandă", "comandă": "comandă",
"comenzi online": "comenzi online", "comenzi online": "comenzi online",
"deal-uri": "deal-uri", "companie": "companie",
"companii": "companii",
"dashboard.stripe.com": "dashboard.stripe.com",
"deal": "deal",
"deal-uri": "deals",
"deals": "deals", "deals": "deals",
"depozit": "warehouse",
"depozite": "warehouses",
"developer.paypal.com": "developer.paypal.com",
"eveniment": "event",
"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: WVWZZZ1JZXW000001": "ex: WVWZZZ1JZXW000001",
"ex: app-mobil, integrare-erp": "ex: app-mobil, integrare-erp", "ex: app-mobil, integrare-erp": "ex: app-mobil, integrare-erp",
"facebook": "Facebook", "facebook": "Facebook",
"facturi": "facturi",
"factură": "factură", "factură": "factură",
"finalizat": "completed", "finalizat": "completed",
"fișa de lucru completă": "fișa de lucru completă", "fișa de lucru completă": "fișa de lucru completă",
"fișe lucru": "fișe lucru", "fișe lucru": "work orders",
"fișă": "fișă", "fișă": "work order",
"furnizor": "supplier",
"furnizori": "suppliers",
"fără client": "no client", "fără client": "no client",
"google": "Google", "google": "Google",
"h norm": "h norm", "h norm": "h norm",
"h real": "h real", "h real": "h real",
"instagram": "Instagram", "instagram": "Instagram",
"jurnal": "log",
"la fiecare request": "la fiecare request",
"liber/ușor": "liber/ușor", "liber/ușor": "liber/ușor",
"linii neîncasate.": "linii neîncasate.", "linii neîncasate.": "linii neîncasate.",
"lucrare caroserie": "lucrare caroserie", "lucrare caroserie": "bodyshop job",
"lucrare terți": "lucrare terți", "lucrare terți": "subcontract job",
"lucrări caroserie": "lucrări caroserie", "lucrări caroserie": "bodyshop jobs",
"lucrări terți": "lucrări terți", "lucrări terți": "subcontract jobs",
"mașini": "vehicles", "mașini": "vehicles",
"mașină": "vehicle", "mașină": "vehicle",
"mergi la Setări → Asistent AI și adaugă cheia API (Claude / GPT / Gemini).": "mergi la Setări → Asistent AI și adaugă cheia API (Claude / GPT / Gemini).", "mergi la Setări → Asistent AI și adaugă cheia API (Claude / GPT / Gemini).": "mergi la Setări → Asistent AI și adaugă cheia API (Claude / GPT / Gemini).",
"new": "new", "new": "new",
"niciodată": "niciodată", "niciodată": "niciodată",
"norme-ore": "norme-ore", "norme": "labors",
"normă": "normă", "norme-ore": "labor rates",
"normă": "labor",
"null = fără trial": "null = fără trial", "null = fără trial": "null = fără trial",
"pentru a alege": "to select", "pentru a alege": "to select",
"piese": "piese",
"piesă": "piesă", "piesă": "piesă",
"pk_test_...": "pk_test_...", "pk_test_...": "pk_test_...",
"plan": "plan",
"planuri": "planuri",
"plată": "plată", "plată": "plată",
"plăți": "plăți", "plăți": "plăți",
"pod": "bay",
"portal.common.currency_mdl": "portal.common.currency_mdl", "portal.common.currency_mdl": "portal.common.currency_mdl",
"portal.common.email": "portal.common.email", "portal.common.email": "portal.common.email",
"portal.common.name": "portal.common.name", "portal.common.name": "portal.common.name",
@@ -1794,22 +1926,34 @@
"portal.tracking.unit_pcs": "portal.tracking.unit_pcs", "portal.tracking.unit_pcs": "portal.tracking.unit_pcs",
"portal.tracking.what_asked": "portal.tracking.what_asked", "portal.tracking.what_asked": "portal.tracking.what_asked",
"posturi de lucru": "posturi de lucru", "posturi de lucru": "posturi de lucru",
"programări": "programări", "programare": "appointment",
"programări": "appointments",
"programări active": "programări active", "programări active": "programări active",
"programări neconfirmate &lt; 24h": "programări neconfirmate &lt; 24h", "programări neconfirmate &lt; 24h": "programări neconfirmate &lt; 24h",
"referral": "Referral", "referral": "Referral",
"reguli markup": "reguli markup", "reguli markup": "reguli markup",
"regulă": "regulă", "regulă": "regulă",
"rol": "role",
"roluri": "roles",
"salarii": "salaries",
"salariu": "salary",
"sau": "or", "sau": "or",
"set anvelope": "set anvelope", "set anvelope": "tire set",
"seturi anvelope": "seturi anvelope", "seturi anvelope": "tire sets",
"site": "Website", "site": "Website",
"subcontractor": "subcontractor", "subcontractor": "subcontractor",
"subcontractori": "subcontractori", "subcontractori": "subcontractors",
"tehnician": "technician",
"tehnicieni": "technicians",
"telegram": "Telegram", "telegram": "Telegram",
"template-uri": "template-uri", "template": "template",
"template-uri": "templates",
"ultima fișă": "ultima fișă", "ultima fișă": "ultima fișă",
"utilizator": "user",
"utilizatori": "users",
"ușor": "ușor", "ușor": "ușor",
"vehicul": "vehicle",
"vehicule": "vehicles",
"vip": "vip", "vip": "vip",
"walk_in": "Walk-in", "walk_in": "Walk-in",
"whatsapp": "WhatsApp", "whatsapp": "WhatsApp",
@@ -1859,38 +2003,51 @@
"Șters": "Deleted", "Șters": "Deleted",
"Șters de": "Deleted by", "Șters de": "Deleted by",
"Șters la": "Deleted at", "Șters la": "Deleted at",
"șabloane servicii": "șabloane servicii", "șabloane servicii": "service templates",
"șablon": "șablon", "șablon": "template",
"șters": "șters", "șters": "șters",
"Țară": "Țară", "Țară": "Țară",
"Ține-mă minte": "Remember me", "Ține-mă minte": "Remember me",
"— (multe VIN-uri europene nu respectă checksum-ul NA)": "— (multe VIN-uri europene nu respectă checksum-ul NA)", "— (multe VIN-uri europene nu respectă checksum-ul NA)": "— (multe VIN-uri europene nu respectă checksum-ul NA)",
"— alege —": "— alege —",
"— fără pod —": "— fără pod —", "— fără pod —": "— fără pod —",
"— niciunul —": "— niciunul —",
"️": "️",
"← Săpt. anterioară": "← Săpt. anterioară", "← Săpt. anterioară": "← Săpt. anterioară",
"← Înapoi": "← Înapoi", "← Înapoi": "← Înapoi",
"← Înapoi la AutoCRM": "← Înapoi la AutoCRM", "← Înapoi la AutoCRM": "← Înapoi la AutoCRM",
"← Înapoi la facturi": "← Înapoi la facturi", "← Înapoi la facturi": "← Înapoi la facturi",
"→ Mergi la AutoCRM": "→ Mergi la AutoCRM",
"→ creează aplicație live → ia credentials": "→ creează aplicație live → ia credentials", "→ creează aplicație live → ia credentials": "→ creează aplicație live → ia credentials",
"→ ia keys → setează webhook la URL-ul de mai sus": "→ ia keys → setează webhook la URL-ul de mai sus", "→ ia keys → setează webhook la URL-ul de mai sus": "→ ia keys → setează webhook la URL-ul de mai sus",
"↗ Deschide Purchase": "↗ Deschide Purchase", "↗ Deschide Purchase": "↗ Deschide Purchase",
"↗ Deschide comanda în Filament": "↗ Deschide comanda în Filament", "↗ Deschide comanda în Filament": "↗ Deschide comanda în Filament",
"↗ Editare": "↗ Editare",
"≥9h/10": "≥9h/10",
"⏰ Abonament expirat": "⏰ Abonament expirat",
"⏹ Oprește": "⏹ Oprește", "⏹ Oprește": "⏹ Oprește",
"◀ Luna precedentă": "◀ Luna precedentă", "◀ Luna precedentă": "◀ Previous month",
"⚖️ Balanță": "⚖️ Balanță", "⚖️ Balanță": "⚖️ Balanță",
"⚙ Configurare tenant": "⚙ Configurare tenant",
"⚙ Cum funcționează:": "⚙ Cum funcționează:", "⚙ Cum funcționează:": "⚙ Cum funcționează:",
"⚠ Acțiune necesară": "⚠ Action needed", "⚠ Acțiune necesară": "⚠ Action needed",
"⚠ Backup-urile pot conține date sensibile (telefoane, emailuri, plăți). Stochează-le în siguranță.": "⚠ Backup-urile pot conține date sensibile (telefoane, emailuri, plăți). Stochează-le în siguranță.", "⚠ Backup-urile pot conține date sensibile (telefoane, emailuri, plăți). Stochează-le în siguranță.": "⚠ Backup-urile pot conține date sensibile (telefoane, emailuri, plăți). Stochează-le în siguranță.",
"⚠ Fără plan": "⚠ Fără plan", "⚠ Fără plan": "⚠ Fără plan",
"⚠ Pentru a primi plăți LIVE:": "⚠ Pentru a primi plăți LIVE:", "⚠ Pentru a primi plăți LIVE:": "⚠ Pentru a primi plăți LIVE:",
"⚠ Posibil churn": "⚠ Posibil churn",
"⚠ Recomandări": "⚠ Recomandări", "⚠ Recomandări": "⚠ Recomandări",
"⚠ Recomandări:": "⚠ Recomandări:", "⚠ Recomandări:": "⚠ Recomandări:",
"⚠ Token-ul tău nou (afișat o singură dată):": "⚠ Token-ul tău nou (afișat o singură dată):", "⚠ Token-ul tău nou (afișat o singură dată):": "⚠ Token-ul tău nou (afișat o singură dată):",
"⚠️ Lipsește cheia Claude în Setări → AI.": "⚠️ Lipsește cheia Claude în Setări → AI.", "⚠️ Lipsește cheia Claude în Setări → AI.": "⚠️ Lipsește cheia Claude în Setări → AI.",
"⚠️ Stoc minim atins": "⚠️ Stoc minim atins", "⚠️ Stoc minim atins": "⚠️ Stoc minim atins",
"⛔ Cont suspendat": "⛔ Cont suspendat",
"✅ Mașina dvs. este gata!": "✅ Mașina dvs. este gata!", "✅ Mașina dvs. este gata!": "✅ Mașina dvs. este gata!",
"✅ VIN decodificat": "✅ VIN decodificat",
"✏ Editează pod": "✏ Editează pod", "✏ Editează pod": "✏ Editează pod",
"✓ Achitat": "✓ Paid", "✓ Achitat": "✓ Paid",
"✓ Copiat": "✓ Copiat",
"✓ Pe abonament plătit": "✓ On paid subscription", "✓ Pe abonament plătit": "✓ On paid subscription",
"✓ valid": "✓ valid",
"⬇ Descarcă backup acum": "⬇ Descarcă backup acum", "⬇ Descarcă backup acum": "⬇ Descarcă backup acum",
"⭐ VIP fără contact recent": "⭐ VIP fără contact recent", "⭐ VIP fără contact recent": "⭐ VIP fără contact recent",
"🅿️ PayPal": "🅿️ PayPal", "🅿️ PayPal": "🅿️ PayPal",
@@ -1900,14 +2057,17 @@
"🎉 Toate facturile sunt plătite": "🎉 Toate facturile sunt plătite", "🎉 Toate facturile sunt plătite": "🎉 Toate facturile sunt plătite",
"🏦 Instrucțiuni transfer bancar": "🏦 Instrucțiuni transfer bancar", "🏦 Instrucțiuni transfer bancar": "🏦 Instrucțiuni transfer bancar",
"🏦 Transfer bancar (manual)": "🏦 Transfer bancar (manual)", "🏦 Transfer bancar (manual)": "🏦 Transfer bancar (manual)",
"👋 Bun venit!": "👋 Bun venit!",
"👥 Clienți": "👥 Clienți", "👥 Clienți": "👥 Clienți",
"💰 Finanțe": "💰 Finanțe", "💰 Finanțe": "💰 Finanțe",
"💰 Fișe neplătite": "💰 Fișe neplătite", "💰 Fișe neplătite": "💰 Fișe neplătite",
"💳 Istoric abonamente": "💳 Istoric abonamente",
"💳 Plată confirmată": "💳 Plată confirmată", "💳 Plată confirmată": "💳 Plată confirmată",
"💳 Plătește": "💳 Plătește", "💳 Plătește": "💳 Plătește",
"💳 Stripe": "💳 Stripe", "💳 Stripe": "💳 Stripe",
"💾 Salvează setările": "💾 Salvează setările", "💾 Salvează setările": "💾 Salvează setările",
"📅 Programare confirmată": "📅 Programare confirmată", "📅 Programare confirmată": "📅 Programare confirmată",
"📊 Activitate live": "📊 Activitate live",
"📊 Încărcare": "📊 Încărcare", "📊 Încărcare": "📊 Încărcare",
"📋 Copiază": "📋 Copiază", "📋 Copiază": "📋 Copiază",
"📍 Locație & contact": "📍 Locație & contact", "📍 Locație & contact": "📍 Locație & contact",
@@ -1915,11 +2075,14 @@
"📦 Caută piesă în catalog": "📦 Caută piesă în catalog", "📦 Caută piesă în catalog": "📦 Caută piesă în catalog",
"📦 Export complet date tenant": "📦 Export complet date tenant", "📦 Export complet date tenant": "📦 Export complet date tenant",
"📷 Pornește scanner": "📷 Pornește scanner", "📷 Pornește scanner": "📷 Pornește scanner",
"🔎 Decode VIN": "🔎 Decode VIN",
"🕒 Program de lucru": "🕒 Program de lucru",
"🖨 PDF programări": "🖨 PDF programări", "🖨 PDF programări": "🖨 PDF programări",
"🖨 Tipărește": "🖨 Tipărește", "🖨 Tipărește": "🖨 Tipărește",
"🗑 Șterge": "🗑 Șterge", "🗑 Șterge": "🗑 Șterge",
"😴 Clienți pierduți": "😴 Clienți pierduți", "😴 Clienți pierduți": "😴 Clienți pierduți",
"🚗 Mașini cu acest VIN în CRM": "🚗 Mașini cu acest VIN în CRM", "🚗 Mașini cu acest VIN în CRM": "🚗 Mașini cu acest VIN în CRM",
"🚗 Mașini cu kilometraj mare": "🚗 Mașini cu kilometraj mare", "🚗 Mașini cu kilometraj mare": "🚗 Mașini cu kilometraj mare",
"🚗 Mărci suportate": "🚗 Mărci suportate" "🚗 Mărci suportate": "🚗 Mărci suportate",
"🛒 Magazin piese online": "🛒 Magazin piese online"
} }
+194 -31
View File
@@ -9,11 +9,17 @@
"% marja piese": "% marja piese", "% marja piese": "% marja piese",
"% marjă implicit": "% маржи по умолчанию", "% marjă implicit": "% маржи по умолчанию",
"% piese": "% piese", "% piese": "% piese",
"(GET, POST, PATCH, DELETE)": "(GET, POST, PATCH, DELETE)",
"(PDF).": "(PDF).",
"+ Conversație nouă": "+ Новый чат", "+ Conversație nouă": "+ Новый чат",
"+ Pod / spațiu nou": "+ Новый пост / место", "+ Pod / spațiu nou": "+ Новый пост / место",
"+ Pod nou": "+ Pod nou",
"+ Programare nouă": "+ Новая запись", "+ Programare nouă": "+ Новая запись",
"+1 {$item->article} — {$item->qty_received}/{$item->qty}": "+1 {$item->article} — {$item->qty_received}/{$item->qty}", "+1 {$item->article} — {$item->qty_received}/{$item->qty}": "+1 {$item->article} — {$item->qty_received}/{$item->qty}",
". Drag-and-drop între celule pentru a reprograma. Indicator de încărcare pe fiecare celulă (ore_planificate / capacitate). Click pe celulă goală → programare rapidă. Click pe eveniment → detalii.": ". Drag-and-drop între celule pentru a reprograma. Indicator de încărcare pe fiecare celulă (ore_planificate / capacitate). Click pe celulă goală → programare rapidă. Click pe eveniment → detalii.", ". Drag-and-drop între celule pentru a reprograma. Indicator de încărcare pe fiecare celulă (ore_planificate / capacitate). Click pe celulă goală → programare rapidă. Click pe eveniment → detalii.": ". Drag-and-drop între celule pentru a reprograma. Indicator de încărcare pe fiecare celulă (ore_planificate / capacitate). Click pe celulă goală → programare rapidă. Click pe eveniment → detalii.",
"/api/v1/clients": "/api/v1/clients",
"/api/v1/vehicles": "/api/v1/vehicles",
"/api/v1/work-orders": "/api/v1/work-orders",
"0 = dezactivat": "0 = dezactivat", "0 = dezactivat": "0 = dezactivat",
"1.15 = +15% peste prețul de bază. 0.95 = -5%.": "1.15 = +15% peste prețul de bază. 0.95 = -5%.", "1.15 = +15% peste prețul de bază. 0.95 = -5%.": "1.15 = +15% peste prețul de bază. 0.95 = -5%.",
"123456:ABC-XYZ...": "123456:ABC-XYZ...", "123456:ABC-XYZ...": "123456:ABC-XYZ...",
@@ -32,6 +38,7 @@
"AYS...": "AYS...", "AYS...": "AYS...",
"Abonament": "Подписка", "Abonament": "Подписка",
"Abonament până la": "Подписка до", "Abonament până la": "Подписка до",
"Abonamentul pentru": "Abonamentul pentru",
"Abonamentul se extinde automat": "Подписка продлевается автоматически", "Abonamentul se extinde automat": "Подписка продлевается автоматически",
"Abonamentul tău a fost extins.": "Ваша подписка продлена.", "Abonamentul tău a fost extins.": "Ваша подписка продлена.",
"Abonat": "Подписан", "Abonat": "Подписан",
@@ -135,6 +142,7 @@
"Alte": "Прочее", "Alte": "Прочее",
"Alte cheltuieli": "Прочие расходы", "Alte cheltuieli": "Прочие расходы",
"Altă problemă": "Другая проблема", "Altă problemă": "Другая проблема",
"Am salvat token-ul, ascunde-l": "Am salvat token-ul, ascunde-l",
"An": "Год", "An": "Год",
"An fabricație": "Год выпуска", "An fabricație": "Год выпуска",
"An model": "Модельный год", "An model": "Модельный год",
@@ -173,6 +181,7 @@
"Arhivat": "В архиве", "Arhivat": "В архиве",
"Arhivează": "В архив", "Arhivează": "В архив",
"Arhivă": "Архив", "Arhivă": "Архив",
"Articol": "Articol",
"Articol nu se potrivește comenzii": "Articol nu se potrivește comenzii", "Articol nu se potrivește comenzii": "Articol nu se potrivește comenzii",
"Articole": "Articole", "Articole": "Articole",
"Ascunde": "Скрыть", "Ascunde": "Скрыть",
@@ -185,7 +194,7 @@
"Astăzi": "Сегодня", "Astăzi": "Сегодня",
"Atașamente": "Вложения", "Atașamente": "Вложения",
"Atașat veți găsi": "Во вложении", "Atașat veți găsi": "Во вложении",
"Atelierul meu": "Atelierul meu", "Atelierul meu": "Моя мастерская",
"Atenție": "Внимание", "Atenție": "Внимание",
"Audit / verificări fiscale": "Audit / verificări fiscale", "Audit / verificări fiscale": "Audit / verificări fiscale",
"August": "Август", "August": "Август",
@@ -194,6 +203,7 @@
"Auto": "Авто", "Auto": "Авто",
"Auto / model": "Авто / модель", "Auto / model": "Авто / модель",
"Auto-import Excel/CSV": "Auto-import Excel/CSV", "Auto-import Excel/CSV": "Auto-import Excel/CSV",
"AutoCRM PSauto · psauto.service.mir.md": "AutoCRM PSauto · psauto.service.mir.md",
"AutoCRM SRL": "AutoCRM SRL", "AutoCRM SRL": "AutoCRM SRL",
"Automată": "Автоматическая", "Automată": "Автоматическая",
"Automobile": "Автомобили", "Automobile": "Автомобили",
@@ -206,14 +216,17 @@
"Aștept aprobare client": "Ожидание одобрения клиента", "Aștept aprobare client": "Ожидание одобрения клиента",
"Așteptată": "Ожидается", "Așteptată": "Ожидается",
"BIC / SWIFT": "BIC / SWIFT", "BIC / SWIFT": "BIC / SWIFT",
"BIC / SWIFT:": "BIC / SWIFT:",
"Backup": "Бэкап", "Backup": "Бэкап",
"Backup & Export date": "Backup & Export date", "Backup & Export date": "Backup & Export date",
"Backup periodic (descarcă local sau sincronizează cu cloud)": "Backup periodic (descarcă local sau sincronizează cu cloud)", "Backup periodic (descarcă local sau sincronizează cu cloud)": "Backup periodic (descarcă local sau sincronizează cu cloud)",
"Balance": "Баланс", "Balance": "Баланс",
"Balanță": "Баланс", "Balanță": "Баланс",
"Banca": "Banca", "Banca": "Banca",
"Banca:": "Banca:",
"Bază": "База", "Bază": "База",
"Beneficiar": "Beneficiar", "Beneficiar": "Beneficiar",
"Beneficiar:": "Beneficiar:",
"Benzină": "Бензин", "Benzină": "Бензин",
"Berlină": "Седан", "Berlină": "Седан",
"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.",
@@ -250,7 +263,7 @@
"Calculație": "Расчёт", "Calculație": "Расчёт",
"Calculează luna curentă": "Calculează luna curentă", "Calculează luna curentă": "Calculează luna curentă",
"Calendar": "Календарь", "Calendar": "Календарь",
"Calendar vizual": "Calendar vizual", "Calendar vizual": "Визуальный календарь",
"Canal marketing": "Canal marketing", "Canal marketing": "Canal marketing",
"Cancel": "Отмена", "Cancel": "Отмена",
"Cant.": "Кол-во", "Cant.": "Кол-во",
@@ -259,6 +272,7 @@
"Cantitate restituită": "Cantitate restituită", "Cantitate restituită": "Cantitate restituită",
"Capacitate motor": "Объём двигателя", "Capacitate motor": "Объём двигателя",
"Capacitatea zilnică în ore": "Capacitatea zilnică în ore", "Capacitatea zilnică în ore": "Capacitatea zilnică în ore",
"Card MAIB / MICB / Victoriabank, MD Cash, e-money": "Card MAIB / MICB / Victoriabank, MD Cash, e-money",
"Card bancar": "Банковская карта", "Card bancar": "Банковская карта",
"Caroserie": "Кузов", "Caroserie": "Кузов",
"Cashflow zilnic — verde = încasări, roșu = cheltuieli": "Cashflow zilnic — verde = încasări, roșu = cheltuieli", "Cashflow zilnic — verde = încasări, roșu = cheltuieli": "Cashflow zilnic — verde = încasări, roșu = cheltuieli",
@@ -279,11 +293,13 @@
"Cereri": "Заявки", "Cereri": "Заявки",
"Cereri noi": "Новые заявки", "Cereri noi": "Новые заявки",
"Check-in depozit": "Check-in depozit", "Check-in depozit": "Check-in depozit",
"Checksum (ISO)": "Checksum (ISO)",
"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)": "Расходы (месяц)", "Cheltuieli (luna)": "Расходы (месяц)",
"Cheltuieli pe categorie": "Cheltuieli pe categorie",
"Cheltuit": "Потрачено", "Cheltuit": "Потрачено",
"Cheltuit 90d": "Cheltuit 90d", "Cheltuit 90d": "Cheltuit 90d",
"Chirie": "Аренда", "Chirie": "Аренда",
@@ -294,6 +310,7 @@
"Clase auto": "Классы авто", "Clase auto": "Классы авто",
"Clasă (pentru pricing)": "Clasă (pentru pricing)", "Clasă (pentru pricing)": "Clasă (pentru pricing)",
"Claude API Key": "Claude API Key", "Claude API Key": "Claude API Key",
"Click pentru a redenumi": "Click pentru a redenumi",
"Client": "Клиент", "Client": "Клиент",
"Client & Auto": "Client & Auto", "Client & Auto": "Client & Auto",
"Client (nume, semnătură):": "Client (nume, semnătură):", "Client (nume, semnătură):": "Client (nume, semnătură):",
@@ -321,10 +338,14 @@
"Coduri cross (OEM/echivalente)": "Coduri cross (OEM/echivalente)", "Coduri cross (OEM/echivalente)": "Coduri cross (OEM/echivalente)",
"Coeficient": "Coeficient", "Coeficient": "Coeficient",
"Coeficienți preț": "Ценовые коэффициенты", "Coeficienți preț": "Ценовые коэффициенты",
"Coloana Articol *": "Coloana Articol *",
"Coloana Brand (opțional)": "Coloana Brand (opțional)", "Coloana Brand (opțional)": "Coloana Brand (opțional)",
"Coloana Cantitate *": "Coloana Cantitate *",
"Coloana Denumire *": "Coloana Denumire *",
"Coloana Preț *": "Coloana Preț *", "Coloana Preț *": "Coloana Preț *",
"Coloane": "Колонки", "Coloane": "Колонки",
"Coloană": "Колонка", "Coloană": "Колонка",
"Comanda": "Comanda",
"Comanda ta a fost primită cu succes.": "Comanda ta a fost primită cu succes.", "Comanda ta a fost primită cu succes.": "Comanda ta a fost primită cu succes.",
"Comandat": "Comandat", "Comandat": "Comandat",
"Comandată": "Comandată", "Comandată": "Comandată",
@@ -342,11 +363,13 @@
"Complet": "Полностью", "Complet": "Полностью",
"Concediu": "Отпуск", "Concediu": "Отпуск",
"Condiții (toate trebuie îndeplinite)": "Condiții (toate trebuie îndeplinite)", "Condiții (toate trebuie îndeplinite)": "Condiții (toate trebuie îndeplinite)",
"Configurare:": "Configurare:",
"Configurează procentele pentru calcul salariu. Marja internă (nu TVA) se scade din prețul de manoperă pentru a determina baza salariului.": "Configurează procentele pentru calcul salariu. Marja internă (nu TVA) se scade din prețul de manoperă pentru a determina baza salariului.", "Configurează procentele pentru calcul salariu. Marja internă (nu TVA) se scade din prețul de manoperă pentru a determina baza salariului.": "Configurează procentele pentru calcul salariu. Marja internă (nu TVA) se scade din prețul de manoperă pentru a determina baza salariului.",
"Configurări": "Конфигурация", "Configurări": "Конфигурация",
"Configurări avansate": "Расширенная конфигурация", "Configurări avansate": "Расширенная конфигурация",
"Confirmare plată primită": "Confirmare plată primită", "Confirmare plată primită": "Confirmare plată primită",
"Confirmat": "Подтверждено", "Confirmat": "Подтверждено",
"Confirmate": "Подтверждено",
"Confirmă": "Подтвердить", "Confirmă": "Подтвердить",
"Confirmă că mecanicul ia fizic piesa din depozit. Stocul scade acum, fără să aștepți închiderea fișei.": "Confirmă că mecanicul ia fizic piesa din depozit. Stocul scade acum, fără să aștepți închiderea fișei.", "Confirmă că mecanicul ia fizic piesa din depozit. Stocul scade acum, fără să aștepți închiderea fișei.": "Confirmă că mecanicul ia fizic piesa din depozit. Stocul scade acum, fără să aștepți închiderea fișei.",
"Confirmă emailul": "Подтвердите email", "Confirmă emailul": "Подтвердите email",
@@ -356,6 +379,7 @@
"Conformitate GDPR (la cererea ștergerii datelor)": "Conformitate GDPR (la cererea ștergerii datelor)", "Conformitate GDPR (la cererea ștergerii datelor)": "Conformitate GDPR (la cererea ștergerii datelor)",
"Consum": "Расход", "Consum": "Расход",
"Consumabile": "Расходники", "Consumabile": "Расходники",
"Cont PayPal sau card prin PayPal": "Cont PayPal sau card prin PayPal",
"Contabil": "Бухгалтер", "Contabil": "Бухгалтер",
"Contact": "Контакт", "Contact": "Контакт",
"Contactare": "Связь", "Contactare": "Связь",
@@ -364,6 +388,7 @@
"Contactează": "Связаться", "Contactează": "Связаться",
"Continuă": "Продолжить", "Continuă": "Продолжить",
"Continuă →": "Continuă →", "Continuă →": "Continuă →",
"Contul": "Contul",
"Conversație nouă": "Conversație nouă", "Conversație nouă": "Conversație nouă",
"Convertește": "Convertește", "Convertește": "Convertește",
"Convertit": "Конвертирован", "Convertit": "Конвертирован",
@@ -408,6 +433,7 @@
"Cumulabil": "Cumulabil", "Cumulabil": "Cumulabil",
"Cumulabil = se înmulțește cu alți coeficienți. Necumulabil = doar cel mai mare necumulabil se aplică.": "Cumulabil = se înmulțește cu alți coeficienți. Necumulabil = doar cel mai mare necumulabil se aplică.", "Cumulabil = se înmulțește cu alți coeficienți. Necumulabil = doar cel mai mare necumulabil se aplică.": "Cumulabil = se înmulțește cu alți coeficienți. Necumulabil = doar cel mai mare necumulabil se aplică.",
"Curăță": "Очистить", "Curăță": "Очистить",
"Custom": "Свой",
"Cutie": "Коробка", "Cutie": "Коробка",
"Cutie de viteze": "Коробка передач", "Cutie de viteze": "Коробка передач",
"Cutie viteze": "КПП", "Cutie viteze": "КПП",
@@ -453,6 +479,7 @@
"De la data": "С даты", "De la data": "С даты",
"De la ora": "С", "De la ora": "С",
"De la rândul (sărim header) *": "De la rândul (sărim header) *", "De la rândul (sărim header) *": "De la rândul (sărim header) *",
"De la:": "De la:",
"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": "К обработке",
"Deal": "Сделка", "Deal": "Сделка",
@@ -471,6 +498,7 @@
"Denumire afișată": "Отображаемое название", "Denumire afișată": "Отображаемое название",
"Denumire companie": "Название компании", "Denumire companie": "Название компании",
"Denumire produs": "Название товара", "Denumire produs": "Название товара",
"Deploy now": "Deploy now",
"Depozit": "Склад", "Depozit": "Склад",
"Depozit gol": "Depozit gol", "Depozit gol": "Depozit gol",
"Depozit implicit": "Склад по умолчанию", "Depozit implicit": "Склад по умолчанию",
@@ -525,6 +553,7 @@
"Doar tu ești aici": "Doar tu ești aici", "Doar tu ești aici": "Doar tu ești aici",
"Doar utilizatorii mei": "Только мои пользователи", "Doar utilizatorii mei": "Только мои пользователи",
"Document": "Документ", "Document": "Документ",
"Documentation": "Documentation",
"Documente": "Документы", "Documente": "Документы",
"Done": "Готово", "Done": "Готово",
"Downgrade": "Понижение", "Downgrade": "Понижение",
@@ -549,25 +578,29 @@
"Editează": "Изменить", "Editează": "Изменить",
"Editează drepturi": "Editează drepturi", "Editează drepturi": "Editează drepturi",
"Editează produs": "Изменить товар", "Editează produs": "Изменить товар",
"Eficiență": "Eficiență", "Eficiență": "Эффективность",
"Electric": "Электро", "Electric": "Электро",
"Electrică": "Электрика", "Electrică": "Электрика",
"Eliberat: {$n} rezervări consumate": "Eliberat: {$n} rezervări consumate", "Eliberat: {$n} rezervări consumate": "Eliberat: {$n} rezervări consumate",
"Eliberează": "Выдать", "Eliberează": "Выдать",
"Email": "Email", "Email": "Email",
"Email admin": "Email admin", "Email admin": "Email admin",
"Email:": "Email:",
"Empty": "Нет результатов", "Empty": "Нет результатов",
"Endpoint webhook: https://service.mir.md/payments/stripe/webhook": "Endpoint webhook: https://service.mir.md/payments/stripe/webhook", "Endpoint webhook: https://service.mir.md/payments/stripe/webhook": "Endpoint webhook: https://service.mir.md/payments/stripe/webhook",
"Endpoints disponibile:": "Endpoints disponibile:",
"Eroare": "Ошибка", "Eroare": "Ошибка",
"Eroare la recepție": "Eroare la recepție", "Eroare la recepție": "Eroare la recepție",
"Etape": "Этапы", "Etape": "Этапы",
"Etapă": "Этап", "Etapă": "Этап",
"Etichete piese": "Etichete piese",
"Etichetă": "Etichetă", "Etichetă": "Etichetă",
"Ex 30 → preț vânzare = preț achiziție × 1.30": "Ex 30 → preț vânzare = preț achiziție × 1.30", "Ex 30 → preț vânzare = preț achiziție × 1.30": "Ex 30 → preț vânzare = preț achiziție × 1.30",
"Ex: 100": "Ex: 100", "Ex: 100": "Ex: 100",
"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: Curte 1, Pod 4, Atelier electric": "Ex: Curte 1, Pod 4, Atelier electric",
"Ex: Lipsește filtrul Mann W712/83": "Например: Нет фильтра Mann W712/83", "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ă...",
@@ -588,6 +621,7 @@
"Ești sigur?": "Ты уверен?", "Ești sigur?": "Ты уверен?",
"FIȘĂ DE LUCRU": "FIȘĂ DE LUCRU", "FIȘĂ DE LUCRU": "FIȘĂ DE LUCRU",
"Facturi": "Счета", "Facturi": "Счета",
"Facturi & abonament": "Facturi & abonament",
"Facturi neplătite": "Неоплаченные счета", "Facturi neplătite": "Неоплаченные счета",
"Facturi pending / overdue": "Facturi pending / overdue", "Facturi pending / overdue": "Facturi pending / overdue",
"Factură": "Счёт", "Factură": "Счёт",
@@ -603,6 +637,7 @@
"Filters": "Фильтры", "Filters": "Фильтры",
"Filtre": "Фильтры", "Filtre": "Фильтры",
"Filtru": "Фильтр", "Filtru": "Фильтр",
"Filtru:": "Filtru:",
"Finalizat": "Завершено", "Finalizat": "Завершено",
"Financiar": "Financiar", "Financiar": "Financiar",
"Finanțe": "Finanțe", "Finanțe": "Finanțe",
@@ -624,6 +659,7 @@
"Folosit ultima dată": "Folosit ultima dată", "Folosit ultima dată": "Folosit ultima dată",
"Folosită de coeficienții de preț. Hibrid/EV se deduc și din combustibil.": "Folosită de coeficienții de preț. Hibrid/EV se deduc și din combustibil.", "Folosită de coeficienții de preț. Hibrid/EV se deduc și din combustibil.": "Folosită de coeficienții de preț. Hibrid/EV se deduc și din combustibil.",
"Force logout": "Выйти со всех устройств", "Force logout": "Выйти со всех устройств",
"Format:": "Format:",
"Foto": "Фото", "Foto": "Фото",
"Foto factură": "Foto factură", "Foto factură": "Foto factură",
"Foto piesă": "Foto piesă", "Foto piesă": "Foto piesă",
@@ -661,10 +697,12 @@
"Generează factură": "Generează factură", "Generează factură": "Generează factură",
"Generează raport": "Сгенерировать отчёт", "Generează raport": "Сгенерировать отчёт",
"Generează token": "Generează token", "Generează token": "Generează token",
"Generez ZIP...": "Generez ZIP...",
"Global": "Глобально", "Global": "Глобально",
"Gol — trage un card aici": "Пусто — перетащите карточку сюда", "Gol — trage un card aici": "Пусто — перетащите карточку сюда",
"Grafic": "График", "Grafic": "График",
"Gravitate": "Gravitate", "Gravitate": "Gravitate",
"Grupare:": "Grupare:",
"Grupează manopere + piese frecvente într-un șablon (ex: „Schimb ulei complet": "Grupează manopere + piese frecvente într-un șablon (ex: „Schimb ulei complet", "Grupează manopere + piese frecvente într-un șablon (ex: „Schimb ulei complet": "Grupează manopere + piese frecvente într-un șablon (ex: „Schimb ulei complet",
"Grupează manopere + piese frecvente într-un șablon (ex: „Schimb ulei complet\") și aplică-l pe o fișă cu un click.": "Grupează manopere + piese frecvente într-un șablon (ex: „Schimb ulei complet\") și aplică-l pe o fișă cu un click.", "Grupează manopere + piese frecvente într-un șablon (ex: „Schimb ulei complet\") și aplică-l pe o fișă cu un click.": "Grupează manopere + piese frecvente într-un șablon (ex: „Schimb ulei complet\") și aplică-l pe o fișă cu un click.",
"Găsite (cu articol existent)": "Găsite (cu articol existent)", "Găsite (cu articol existent)": "Găsite (cu articol existent)",
@@ -672,6 +710,7 @@
"Hatchback": "Хэтчбек", "Hatchback": "Хэтчбек",
"Hibrid": "Гибрид", "Hibrid": "Гибрид",
"IBAN": "IBAN", "IBAN": "IBAN",
"IBAN:": "IBAN:",
"ID": "ID", "ID": "ID",
"IDNO / CUI": "IDNO / CUI", "IDNO / CUI": "IDNO / CUI",
"Ianuarie": "Январь", "Ianuarie": "Январь",
@@ -718,6 +757,7 @@
"Inventar": "Инвентаризация", "Inventar": "Инвентаризация",
"Invitație": "Приглашение", "Invitație": "Приглашение",
"Invitații": "Приглашения", "Invitații": "Приглашения",
"Ion Popescu": "Ion Popescu",
"Istoric depozitare": "Istoric depozitare", "Istoric depozitare": "Istoric depozitare",
"Istoric prețuri furnizori": "Istoric prețuri furnizori", "Istoric prețuri furnizori": "Istoric prețuri furnizori",
"Iulie": "Июль", "Iulie": "Июль",
@@ -725,7 +765,7 @@
"JSON": "JSON", "JSON": "JSON",
"Joi": "Четверг", "Joi": "Четверг",
"Jurnal": "Журнал", "Jurnal": "Журнал",
"KPI mecanici": "KPI mecanici", "KPI mecanici": "KPI механиков",
"Kanban": "Канбан", "Kanban": "Канбан",
"Kilometraj": "Kilometraj", "Kilometraj": "Kilometraj",
"Km": "км", "Km": "км",
@@ -733,11 +773,15 @@
"Km ieșire": "Пробег выход", "Km ieșire": "Пробег выход",
"Km intrare": "Пробег вход", "Km intrare": "Пробег вход",
"Km la ieșire:": "Km la ieșire:", "Km la ieșire:": "Km la ieșire:",
"Km la intrare:": "Km la intrare:",
"Km parcurși": "Пробег", "Km parcurși": "Пробег",
"La editare lasă gol pentru a păstra parola actuală.": "La editare lasă gol pentru a păstra parola actuală.", "La editare lasă gol pentru a păstra parola actuală.": "La editare lasă gol pentru a păstra parola actuală.",
"La revedere": "До свидания", "La revedere": "До свидания",
"La succes: webhook → automat status=paid + extends company.active_until": "La succes: webhook → automat status=paid + extends company.active_until",
"La timp 90d": "La timp 90d", "La timp 90d": "La timp 90d",
"La trecere pe „Montată\" se scade automat din stoc.": "La trecere pe „Montată\" se scade automat din stoc.", "La trecere pe „Montată\" se scade automat din stoc.": "La trecere pe „Montată\" se scade automat din stoc.",
"Laracasts": "Laracasts",
"Laravel has an incredibly rich ecosystem.": "Laravel has an incredibly rich ecosystem.",
"Lasă gol = se aplică mereu. Combină condițiile pentru a ținti situații specifice.": "Lasă gol = se aplică mereu. Combină condițiile pentru a ținti situații specifice.", "Lasă gol = se aplică mereu. Combină condițiile pentru a ținti situații specifice.": "Lasă gol = se aplică mereu. Combină condițiile pentru a ținti situații specifice.",
"Lead-uri": "Lead-uri", "Lead-uri": "Lead-uri",
"Lead-uri pe sursă": "Lead-uri pe sursă", "Lead-uri pe sursă": "Lead-uri pe sursă",
@@ -749,6 +793,7 @@
"Limite": "Limite", "Limite": "Limite",
"Linia nu mai necesită aprobare.": "Linia nu mai necesită aprobare.", "Linia nu mai necesită aprobare.": "Linia nu mai necesită aprobare.",
"Linii": "Linii", "Linii": "Linii",
"Link": "Link",
"Link client (QR)": "Link client (QR)", "Link client (QR)": "Link client (QR)",
"Link tracking": "Ссылка отслеживания", "Link tracking": "Ссылка отслеживания",
"Linkul expiră în 60 de minute. Dacă nu ai cerut tu acest reset, ignoră emailul — contul tău e în siguranță.": "Linkul expiră în 60 de minute. Dacă nu ai cerut tu acest reset, ignoră emailul — contul tău e în siguranță.", "Linkul expiră în 60 de minute. Dacă nu ai cerut tu acest reset, ignoră emailul — contul tău e în siguranță.": "Linkul expiră în 60 de minute. Dacă nu ai cerut tu acest reset, ignoră emailul — contul tău e în siguranță.",
@@ -769,6 +814,7 @@
"Locație": "Локация", "Locație": "Локация",
"Locație (raft)": "Locație (raft)", "Locație (raft)": "Locație (raft)",
"Locație rack/bin": "Locație rack/bin", "Locație rack/bin": "Locație rack/bin",
"Log in": "Log in",
"Login": "Вход", "Login": "Вход",
"Logo": "Logo", "Logo": "Logo",
"Logo & favicon": "Logo & favicon", "Logo & favicon": "Logo & favicon",
@@ -779,16 +825,17 @@
"Loturi (FIFO)": "Loturi (FIFO)", "Loturi (FIFO)": "Loturi (FIFO)",
"Lucrare": "Lucrare", "Lucrare": "Lucrare",
"Lucrare blocată": "Работа заблокирована", "Lucrare blocată": "Работа заблокирована",
"Lucrări": "Lucrări", "Lucrări": "Работы",
"Lucrări la terți": "Lucrări la terți", "Lucrări la terți": "Lucrări la terți",
"Lucrări terți": "Работы у третьих лиц", "Lucrări terți": "Работы у третьих лиц",
"Luna aceasta": "В этом месяце", "Luna aceasta": "В этом месяце",
"Luna curentă": "Текущий месяц", "Luna curentă": "Текущий месяц",
"Luna trecută": "Прошлый месяц", "Luna trecută": "Прошлый месяц",
"Luna următoare ▶": "Luna următoare ▶", "Luna următoare ▶": "Следующий месяц ▶",
"Lunar": "Lunar", "Lunar": "Lunar",
"Luni": "Месяцы", "Luni": "Месяцы",
"Luni (zi)": "Понедельник", "Luni (zi)": "Понедельник",
"Luni Vineri: 08:00 18:00": "Luni Vineri: 08:00 18:00",
"Lună": "Lună", "Lună": "Lună",
"Lățime": "Lățime", "Lățime": "Lățime",
"MB folosiți": "MB folosiți", "MB folosiți": "MB folosiți",
@@ -809,6 +856,8 @@
"Manoperă": "Работа", "Manoperă": "Работа",
"Manuală": "Ручная", "Manuală": "Ручная",
"Marca": "Marca", "Marca": "Marca",
"Marca/Model": "Marca/Model",
"Marca/Model:": "Marca/Model:",
"Marchează Gata": "Отметить готово", "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": "Отметить как отменено",
@@ -832,13 +881,16 @@
"Markup %": "Наценка %", "Markup %": "Наценка %",
"Martie": "Март", "Martie": "Март",
"Marți": "Вторник", "Marți": "Вторник",
"Matricea": "Matricea",
"Max clienți": "Max clienți", "Max clienți": "Max clienți",
"Max fișe/lună": "Max fișe/lună", "Max fișe/lună": "Max fișe/lună",
"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": "Автомобили",
"Mecanic": "Механик",
"Mecanic implicit": "Механик по умолчанию", "Mecanic implicit": "Механик по умолчанию",
"Mecanici": "Механики",
"Medie": "Среднее", "Medie": "Среднее",
"Mediu": "Средний", "Mediu": "Средний",
"Merchant Code": "Merchant Code", "Merchant Code": "Merchant Code",
@@ -846,16 +898,20 @@
"Mesaj client": "Mesaj client", "Mesaj client": "Mesaj client",
"Mesaje": "Сообщения", "Mesaje": "Сообщения",
"Mesaje AI/lună": "Mesaje AI/lună", "Mesaje AI/lună": "Mesaje AI/lună",
"Metoda": "Metoda",
"Metode de livrare": "Metode de livrare", "Metode de livrare": "Metode de livrare",
"Metode plată": "Способы оплаты", "Metode plată": "Способы оплаты",
"Metodă": "Metodă", "Metodă": "Metodă",
"Metodă plată": "Способ оплаты", "Metodă plată": "Способ оплаты",
"Miercuri": "Среда", "Miercuri": "Среда",
"Migrare la alt sistem CRM": "Migrare la alt sistem CRM",
"Min.": "Мин.", "Min.": "Мин.",
"Minim": "Minim", "Minim": "Minim",
"Minute": "Минуты", "Minute": "Минуты",
"Mod": "Режим", "Mod": "Режим",
"Mod stub:": "Mod stub:",
"Mod tarifare": "Mod tarifare", "Mod tarifare": "Mod tarifare",
"Mod:": "Mod:",
"Model": "Модель", "Model": "Модель",
"Model Claude": "Model Claude", "Model Claude": "Model Claude",
"Model Gemini": "Model Gemini", "Model Gemini": "Model Gemini",
@@ -884,12 +940,14 @@
"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": "Не заполнено",
"Neconfirmat": "Не подтверждено", "Neconfirmat": "Не подтверждено",
"Neconfirmate": "Не подтверждено",
"Necunoscut": "Неизвестно", "Necunoscut": "Неизвестно",
"Neplătit": "Не оплачено", "Neplătit": "Не оплачено",
"Nepublicat": "Не опубликовано", "Nepublicat": "Не опубликовано",
"Nesemnat": "Не подписано", "Nesemnat": "Не подписано",
"Nesincronizat": "Не синхронизировано", "Nesincronizat": "Не синхронизировано",
"Net 30 / Avans": "Net 30 / Avans", "Net 30 / Avans": "Net 30 / Avans",
"Net:": "Net:",
"Neverificat": "Не проверено", "Neverificat": "Не проверено",
"New client": "Новый клиент", "New client": "Новый клиент",
"New mașină": "Новое авто", "New mașină": "Новое авто",
@@ -913,15 +971,18 @@
"Nicio programare în perioada selectată.": "Nicio programare în perioada selectată.", "Nicio programare în perioada selectată.": "Nicio programare în perioada selectată.",
"Niciodată": "Никогда", "Niciodată": "Никогда",
"Niciun client magazin": "Niciun client magazin", "Niciun client magazin": "Niciun client magazin",
"Niciun client pierdut. 🎉": "Niciun client pierdut. 🎉",
"Niciun client încă": "Niciun client încă", "Niciun client încă": "Niciun client încă",
"Niciun cod cross": "Niciun cod cross", "Niciun cod cross": "Niciun cod cross",
"Niciun coeficient": "Niciun coeficient", "Niciun coeficient": "Niciun coeficient",
"Niciun coeficient contextual nu se aplică (preț de bază).": "Niciun coeficient contextual nu se aplică (preț de bază).", "Niciun coeficient contextual nu se aplică (preț de bază).": "Niciun coeficient contextual nu se aplică (preț de bază).",
"Niciun depozit": "Niciun depozit", "Niciun depozit": "Niciun depozit",
"Niciun istoric": "Niciun istoric", "Niciun istoric": "Niciun istoric",
"Niciun lead.": "Niciun lead.",
"Niciun lot înregistrat": "Niciun lot înregistrat", "Niciun lot înregistrat": "Niciun lot înregistrat",
"Niciun mecanic activ.": "Niciun mecanic activ.",
"Niciun mecanic implicit": "Niciun mecanic implicit", "Niciun mecanic implicit": "Niciun mecanic implicit",
"Niciun mecanic nu a finalizat lucrări în această perioadă.": "Niciun mecanic nu a finalizat lucrări în această perioadă.", "Niciun mecanic nu a finalizat lucrări în această perioadă.": "Ни один механик не завершил работы за этот период.",
"Niciun plan definit": "Niciun plan definit", "Niciun plan definit": "Niciun plan definit",
"Niciun preț înregistrat": "Niciun preț înregistrat", "Niciun preț înregistrat": "Niciun preț înregistrat",
"Niciun rest de încasat. 🎉": "Niciun rest de încasat. 🎉", "Niciun rest de încasat. 🎉": "Niciun rest de încasat. 🎉",
@@ -930,7 +991,9 @@
"Niciun tenant încă": "Niciun tenant încă", "Niciun tenant încă": "Niciun tenant încă",
"Niciun șablon": "Niciun șablon", "Niciun șablon": "Niciun șablon",
"No": "Нет", "No": "Нет",
"No-show alert": "No-show alert",
"Noiembrie": "Ноябрь", "Noiembrie": "Ноябрь",
"Norma ore": "Норма часов",
"Normal": "Обычный", "Normal": "Обычный",
"Norme-ore": "Нормо-часы", "Norme-ore": "Нормо-часы",
"Note interne": "Note interne", "Note interne": "Note interne",
@@ -953,6 +1016,7 @@
"Nr. poliță": "Nr. poliță", "Nr. poliță": "Nr. poliță",
"Nr. telefon": "Тел. номер", "Nr. telefon": "Тел. номер",
"Nr. înmatriculare": "Гос. номер", "Nr. înmatriculare": "Гос. номер",
"Nr.:": "Nr.:",
"Nu a fost prelevată nicio sumă. Poți încerca din nou oricând.": "Nu a fost prelevată nicio sumă. Poți încerca din nou oricând.", "Nu a fost prelevată nicio sumă. Poți încerca din nou oricând.": "Nu a fost prelevată nicio sumă. Poți încerca din nou oricând.",
"Nu ai cont?": "Нет аккаунта?", "Nu ai cont?": "Нет аккаунта?",
"Nu am găsit linii valide — verifică maparea coloanelor": "Nu am găsit linii valide — verifică maparea coloanelor", "Nu am găsit linii valide — verifică maparea coloanelor": "Nu am găsit linii valide — verifică maparea coloanelor",
@@ -961,6 +1025,7 @@
"Nu re-trimite mai des de X zile": "Nu re-trimite mai des de X zile", "Nu re-trimite mai des de X zile": "Nu re-trimite mai des de X zile",
"Nu te poți șterge pe tine!": "Nu te poți șterge pe tine!", "Nu te poți șterge pe tine!": "Nu te poți șterge pe tine!",
"Nu, renunță": "Нет, отменить", "Nu, renunță": "Нет, отменить",
"Numar": "Номер",
"Nume": "Имя", "Nume": "Имя",
"Nume (RO)": "Nume (RO)", "Nume (RO)": "Nume (RO)",
"Nume (RU)": "Nume (RU)", "Nume (RU)": "Nume (RU)",
@@ -975,6 +1040,7 @@
"Numele este obligatoriu": "Numele este obligatoriu", "Numele este obligatoriu": "Numele este obligatoriu",
"Numerar": "Наличные", "Numerar": "Наличные",
"Numerar net (toate plățile - cheltuieli)": "Numerar net (toate plățile - cheltuieli)", "Numerar net (toate plățile - cheltuieli)": "Numerar net (toate plățile - cheltuieli)",
"Număr": "Номер",
"Numărul de zile gratis după ce un tenant alege acest plan.": "Numărul de zile gratis după ce un tenant alege acest plan.", "Numărul de zile gratis după ce un tenant alege acest plan.": "Numărul de zile gratis după ce un tenant alege acest plan.",
"OCR eșuat": "OCR eșuat", "OCR eșuat": "OCR eșuat",
"Observații": "Комментарии", "Observații": "Комментарии",
@@ -983,6 +1049,7 @@
"Ok": "Ок", "Ok": "Ок",
"On = arată „Bază salariu: X · marjă Y%\" sub Total în tabelul Manopere. Off = doar Total (util când review-uiești o Fișă cu clientul de față).": "On = arată „Bază salariu: X · marjă Y%\" sub Total în tabelul Manopere. Off = doar Total (util când review-uiești o Fișă cu clientul de față).", "On = arată „Bază salariu: X · marjă Y%\" sub Total în tabelul Manopere. Off = doar Total (util când review-uiești o Fișă cu clientul de față).": "On = arată „Bază salariu: X · marjă Y%\" sub Total în tabelul Manopere. Off = doar Total (util când review-uiești o Fișă cu clientul de față).",
"On = din prețul manoperelor se scade marja pentru salariu. Off = manopere la cost (salariu pe Total integral).": "On = din prețul manoperelor se scade marja pentru salariu. Off = manopere la cost (salariu pe Total integral).", "On = din prețul manoperelor se scade marja pentru salariu. Off = manopere la cost (salariu pe Total integral).": "On = din prețul manoperelor se scade marja pentru salariu. Off = manopere la cost (salariu pe Total integral).",
"Onboarded": "Onboarded",
"Onorat": "Onorat", "Onorat": "Onorat",
"Onorează (scade stoc)": "Onorează (scade stoc)", "Onorează (scade stoc)": "Onorează (scade stoc)",
"OpenAI API Key": "OpenAI API Key", "OpenAI API Key": "OpenAI API Key",
@@ -1016,6 +1083,7 @@
"PNG/SVG, max 2 MB. Apare în sidebar.": "PNG/SVG, max 2 MB. Apare în sidebar.", "PNG/SVG, max 2 MB. Apare în sidebar.": "PNG/SVG, max 2 MB. Apare în sidebar.",
"PO": "PO", "PO": "PO",
"POS": "POS", "POS": "POS",
"POST /api/v1/login": "POST /api/v1/login",
"Pagina": "Страница", "Pagina": "Страница",
"Pagini": "Страницы", "Pagini": "Страницы",
"Panou": "Панель", "Panou": "Панель",
@@ -1032,7 +1100,12 @@
"Pasul 1: Încarcă fișierul": "Pasul 1: Încarcă fișierul", "Pasul 1: Încarcă fișierul": "Pasul 1: Încarcă fișierul",
"Pasul 2: Mapează coloanele": "Pasul 2: Mapează coloanele", "Pasul 2: Mapează coloanele": "Pasul 2: Mapează coloanele",
"Pauză": "Пауза", "Pauză": "Пауза",
"PayPal": "PayPal",
"PayPal:": "PayPal:",
"Payload:": "Payload:",
"Paynet": "Paynet",
"Pe pauză": "На паузе", "Pe pauză": "На паузе",
"Pe status": "Pe status",
"Penalizări": "Penalizări", "Penalizări": "Penalizări",
"Pentru a activa PayPal, instalează `composer require srmklive/paypal` și activează în /admin/payment-settings.": "Pentru a activa PayPal, instalează `composer require srmklive/paypal` și activează în /admin/payment-settings.", "Pentru a activa PayPal, instalează `composer require srmklive/paypal` și activează în /admin/payment-settings.": "Pentru a activa PayPal, instalează `composer require srmklive/paypal` și activează în /admin/payment-settings.",
"Pentru a activa Stripe Checkout, instalează `composer require stripe/stripe-php` și activează în /admin/payment-settings.": "Pentru a activa Stripe Checkout, instalează `composer require stripe/stripe-php` și activează în /admin/payment-settings.", "Pentru a activa Stripe Checkout, instalează `composer require stripe/stripe-php` și activează în /admin/payment-settings.": "Pentru a activa Stripe Checkout, instalează `composer require stripe/stripe-php` și activează în /admin/payment-settings.",
@@ -1064,6 +1137,7 @@
"Plan ascuns public, folosit pentru tenant-i demo cu features deblocate.": "Plan ascuns public, folosit pentru tenant-i demo cu features deblocate.", "Plan ascuns public, folosit pentru tenant-i demo cu features deblocate.": "Plan ascuns public, folosit pentru tenant-i demo cu features deblocate.",
"Plata apare în 1-3 zile lucrătoare": "Plata apare în 1-3 zile lucrătoare", "Plata apare în 1-3 zile lucrătoare": "Plata apare în 1-3 zile lucrătoare",
"Plata stabilește automat starea fișei (unpaid/partial/paid)": "Plata stabilește automat starea fișei (unpaid/partial/paid)", "Plata stabilește automat starea fișei (unpaid/partial/paid)": "Plata stabilește automat starea fișei (unpaid/partial/paid)",
"Plate": "Plate",
"Plată": "Платёж", "Plată": "Платёж",
"Plată & total": "Оплата и итого", "Plată & total": "Оплата и итого",
"Plată anulată": "Plată anulată", "Plată anulată": "Plată anulată",
@@ -1098,6 +1172,7 @@
"Preview": "Предпросмотр", "Preview": "Предпросмотр",
"Preview PDF": "Предпросмотр PDF", "Preview PDF": "Предпросмотр PDF",
"Previzualizare": "Предпросмотр", "Previzualizare": "Предпросмотр",
"Previzualizare →": "Previzualizare →",
"Prezent": "Присутствует", "Prezent": "Присутствует",
"Prezențe": "Присутствия", "Prezențe": "Присутствия",
"Prezență": "Присутствие", "Prezență": "Присутствие",
@@ -1137,6 +1212,7 @@
"Producător": "Producător", "Producător": "Producător",
"Produs": "Товар", "Produs": "Товар",
"Produse": "Товары", "Produse": "Товары",
"Produsele tale": "Produsele tale",
"Profesie": "Profesie", "Profesie": "Profesie",
"Profil": "Profil", "Profil": "Profil",
"Profile": "Профиль", "Profile": "Профиль",
@@ -1162,6 +1238,7 @@
"Progres etapă": "Прогресс этапа", "Progres etapă": "Прогресс этапа",
"Proprietar": "Владелец", "Proprietar": "Владелец",
"Provider implicit": "Provider implicit", "Provider implicit": "Provider implicit",
"Provider:": "Provider:",
"Public": "Публично", "Public": "Публично",
"Public (afișat la signup)": "Public (afișat la signup)", "Public (afișat la signup)": "Public (afișat la signup)",
"Publicat": "Опубликовано", "Publicat": "Опубликовано",
@@ -1187,6 +1264,8 @@
"Rating": "Рейтинг", "Rating": "Рейтинг",
"Rating actualizat → {$score}★": "Rating actualizat → {$score}★", "Rating actualizat → {$score}★": "Rating actualizat → {$score}★",
"Reactivează": "Реактивировать", "Reactivează": "Реактивировать",
"Read the": "Read the",
"Real ore": "Факт часов",
"Recalculat preț pentru {$count} piese": "Recalculat preț pentru {$count} piese", "Recalculat preț pentru {$count} piese": "Recalculat preț pentru {$count} piese",
"Recalculează": "Recalculează", "Recalculează": "Recalculează",
"Recent": "Недавно", "Recent": "Недавно",
@@ -1216,6 +1295,7 @@
"Refuzat de client": "Отклонено клиентом", "Refuzat de client": "Отклонено клиентом",
"Regenerează": "Перегенерировать", "Regenerează": "Перегенерировать",
"Register": "Регистрация", "Register": "Регистрация",
"Regiune": "Regiune",
"Regulă": "Правило", "Regulă": "Правило",
"Reia": "Продолжить", "Reia": "Продолжить",
"Reminder ITP / revizie": "Reminder ITP / revizie", "Reminder ITP / revizie": "Reminder ITP / revizie",
@@ -1293,6 +1373,7 @@
"Scadență": "Срок оплаты", "Scadență": "Срок оплаты",
"Scanează codurile pieselor pentru a marca ca recepționate.": "Scanează codurile pieselor pentru a marca ca recepționate.", "Scanează codurile pieselor pentru a marca ca recepționate.": "Scanează codurile pieselor pentru a marca ca recepționate.",
"Scaner cod QR / Bare": "Scaner cod QR / Bare", "Scaner cod QR / Bare": "Scaner cod QR / Bare",
"Schimb ulei + filtru": "Schimb ulei + filtru",
"Scoate din magazin": "Scoate din magazin", "Scoate din magazin": "Scoate din magazin",
"Scrie mesajul tău...": "Scrie mesajul tău...", "Scrie mesajul tău...": "Scrie mesajul tău...",
"Scăzut": "Низкий", "Scăzut": "Низкий",
@@ -1323,11 +1404,13 @@
"Semnătură digitală": "Цифровая подпись", "Semnătură digitală": "Цифровая подпись",
"Senzori TPMS": "Senzori TPMS", "Senzori TPMS": "Senzori TPMS",
"Septembrie": "Сентябрь", "Septembrie": "Сентябрь",
"Serial": "Serial",
"Serie": "Серия", "Serie": "Серия",
"Serie factură": "Серия счёта", "Serie factură": "Серия счёта",
"Service ID": "Service ID", "Service ID": "Service ID",
"Servicii": "Услуги", "Servicii": "Услуги",
"Servicii & tarif": "Услуги и тариф", "Servicii & tarif": "Услуги и тариф",
"Servicii oferite": "Servicii oferite",
"Servicii oferite (separate prin virgulă)": "Servicii oferite (separate prin virgulă)", "Servicii oferite (separate prin virgulă)": "Servicii oferite (separate prin virgulă)",
"Servicii terțe": "Сторонние услуги", "Servicii terțe": "Сторонние услуги",
"Sesiuni": "Сессии", "Sesiuni": "Сессии",
@@ -1368,16 +1451,19 @@
"Standard": "Стандартно", "Standard": "Стандартно",
"Stare": "Stare", "Stare": "Stare",
"Stare timp": "Время", "Stare timp": "Время",
"Stare zi": "Состояние дня",
"Start": "Старт", "Start": "Старт",
"Status": "Статус", "Status": "Статус",
"Status dosar": "Status dosar", "Status dosar": "Status dosar",
"Status implicit": "Статус по умолчанию", "Status implicit": "Статус по умолчанию",
"Status:": "Status:",
"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": "Достигнут мин. остаток", "Stoc minim atins": "Достигнут мин. остаток",
"Stoc piese (la preț achiziție)": "Stoc piese (la preț achiziție)", "Stoc piese (la preț achiziție)": "Stoc piese (la preț achiziție)",
"Storage (MB)": "Storage (MB)", "Storage (MB)": "Storage (MB)",
"Storage media": "Storage media",
"Stripe: înregistrează cont la": "Stripe: înregistrează cont la", "Stripe: înregistrează cont la": "Stripe: înregistrează cont la",
"Sub minim": "Ниже мин.", "Sub minim": "Ниже мин.",
"Subcontractare": "Субподряд", "Subcontractare": "Субподряд",
@@ -1386,8 +1472,11 @@
"Subdomeniul: <slug>.service.mir.md": "Subdomeniul: <slug>.service.mir.md", "Subdomeniul: <slug>.service.mir.md": "Subdomeniul: <slug>.service.mir.md",
"Subiect": "Тема", "Subiect": "Тема",
"Subiect (email)": "Subiect (email)", "Subiect (email)": "Subiect (email)",
"Subiect *": "Subiect *",
"Subiect și data sunt obligatorii": "Subiect și data sunt obligatorii", "Subiect și data sunt obligatorii": "Subiect și data sunt obligatorii",
"Subtotal": "Промежуточный итог", "Subtotal": "Промежуточный итог",
"Subtotal manopere:": "Subtotal manopere:",
"Subtotal piese:": "Subtotal piese:",
"Succes": "Успех", "Succes": "Успех",
"Sugerează revizie / piese de uzură.": "Sugerează revizie / piese de uzură.", "Sugerează revizie / piese de uzură.": "Sugerează revizie / piese de uzură.",
"Sumă": "Сумма", "Sumă": "Сумма",
@@ -1431,6 +1520,7 @@
"Telefon alternativ": "Telefon alternativ", "Telefon alternativ": "Telefon alternativ",
"Telefon principal": "Telefon principal", "Telefon principal": "Telefon principal",
"Telefon sau parolă incorecte.": "Telefon sau parolă incorecte.", "Telefon sau parolă incorecte.": "Telefon sau parolă incorecte.",
"Telefon:": "Telefon:",
"Telefonie": "Телефония", "Telefonie": "Телефония",
"Telegram bot": "Telegram bot", "Telegram bot": "Telegram bot",
"Telegram chat ID": "Telegram chat ID", "Telegram chat ID": "Telegram chat ID",
@@ -1454,6 +1544,7 @@
"Terț": "Terț", "Terț": "Terț",
"Test notificare push": "Test notificare push", "Test notificare push": "Test notificare push",
"Testează bot Telegram": "Testează bot Telegram", "Testează bot Telegram": "Testează bot Telegram",
"Theme color": "Theme color",
"Timp lucrat": "Отработано", "Timp lucrat": "Отработано",
"Timp mediu": "Среднее время", "Timp mediu": "Среднее время",
"Timp total": "Общее время", "Timp total": "Общее время",
@@ -1486,6 +1577,8 @@
"Token generat!": "Token generat!", "Token generat!": "Token generat!",
"Token public": "Token public", "Token public": "Token public",
"Token revocat": "Token revocat", "Token revocat": "Token revocat",
"Tokens consumate luna aceasta:": "Tokens consumate luna aceasta:",
"Tokens:": "Tokens:",
"Top piese vândute": "Top piese vândute", "Top piese vândute": "Top piese vândute",
"Tot apelul trebuie făcut pe subdomain-ul tău:": "Tot apelul trebuie făcut pe subdomain-ul tău:", "Tot apelul trebuie făcut pe subdomain-ul tău:": "Tot apelul trebuie făcut pe subdomain-ul tău:",
"Total": "Итого", "Total": "Итого",
@@ -1514,6 +1607,7 @@
"Transfer bancar": "Банковский перевод", "Transfer bancar": "Банковский перевод",
"Transfer bancar: pune doar IBAN-ul tău, fără cont gateway": "Transfer bancar: pune doar IBAN-ul tău, fără cont gateway", "Transfer bancar: pune doar IBAN-ul tău, fără cont gateway": "Transfer bancar: pune doar IBAN-ul tău, fără cont gateway",
"Transport": "Транспорт", "Transport": "Транспорт",
"Tranz.": "Tranz.",
"Trial expiră la": "Trial expiră la", "Trial expiră la": "Trial expiră la",
"Trimis": "Отправлено", "Trimis": "Отправлено",
"Trimis · fără răspuns": "Отправлено · без ответа", "Trimis · fără răspuns": "Отправлено · без ответа",
@@ -1538,8 +1632,10 @@
"Ultim login": "Последний вход", "Ultim login": "Последний вход",
"Ultima actualizare": "Последнее обновление", "Ultima actualizare": "Последнее обновление",
"Ultima autentificare": "Последний вход", "Ultima autentificare": "Последний вход",
"Ultima logare": "Ultima logare",
"Ultima modificare": "Последнее изменение", "Ultima modificare": "Последнее изменение",
"Ultima sincronizare": "Последняя синхронизация", "Ultima sincronizare": "Последняя синхронизация",
"Ultimul cod citit:": "Ultimul cod citit:",
"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": "Срочно",
@@ -1561,6 +1657,8 @@
"VIN căutare & piese": "VIN căutare & piese", "VIN căutare & piese": "VIN căutare & piese",
"VIN trebuie să aibă cel puțin 11 caractere.": "VIN trebuie să aibă cel puțin 11 caractere.", "VIN trebuie să aibă cel puțin 11 caractere.": "VIN trebuie să aibă cel puțin 11 caractere.",
"VIN-căutare": "VIN-поиск", "VIN-căutare": "VIN-поиск",
"VIN:": "VIN:",
"VW Passat 2018": "VW Passat 2018",
"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 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",
@@ -1576,7 +1674,7 @@
"Venit generat": "Venit generat", "Venit generat": "Venit generat",
"Venit luna curentă": "Доход тек. месяца", "Venit luna curentă": "Доход тек. месяца",
"Venit luna trecută": "Venit luna trecută", "Venit luna trecută": "Venit luna trecută",
"Venit manopere": "Venit manopere", "Venit manopere": "Доход работ",
"Venituri": "Доходы", "Venituri": "Доходы",
"Verificare": "Проверка", "Verificare": "Проверка",
"Verificat": "Проверено", "Verificat": "Проверено",
@@ -1587,6 +1685,7 @@
"Vezi tot": "Смотреть все", "Vezi tot": "Смотреть все",
"Viitoare": "Viitoare", "Viitoare": "Viitoare",
"Vineri": "Пятница", "Vineri": "Пятница",
"Visa, Mastercard prin Stripe": "Visa, Mastercard prin Stripe",
"Vizibil": "Видимо", "Vizibil": "Видимо",
"Vizual": "Визуально", "Vizual": "Визуально",
"Vizualizează": "Просмотр", "Vizualizează": "Просмотр",
@@ -1600,6 +1699,9 @@
"Vă mulțumim pentru încredere!": "Vă mulțumim pentru încredere!", "Vă mulțumim pentru încredere!": "Vă mulțumim pentru încredere!",
"Vă mulțumim!": "Vă mulțumim!", "Vă mulțumim!": "Vă mulțumim!",
"Văzut": "Просмотрено", "Văzut": "Просмотрено",
"WBAFE81070CY34521": "WBAFE81070CY34521",
"Watch video tutorials at": "Watch video tutorials at",
"We suggest starting with the following.": "We suggest starting with the following.",
"Web Push neconfigurat": "Web Push neconfigurat", "Web Push neconfigurat": "Web Push neconfigurat",
"Webhook": "Webhook", "Webhook": "Webhook",
"Webhook (Notify URL)": "Webhook (Notify URL)", "Webhook (Notify URL)": "Webhook (Notify URL)",
@@ -1615,6 +1717,7 @@
"Yes": "Да", "Yes": "Да",
"ZIP": "ZIP", "ZIP": "ZIP",
"ZIP cu fișiere JSON (1 per tabel) + media + manifest.json.": "ZIP cu fișiere JSON (1 per tabel) + media + manifest.json.", "ZIP cu fișiere JSON (1 per tabel) + media + manifest.json.": "ZIP cu fișiere JSON (1 per tabel) + media + manifest.json.",
"Zi": "Zi",
"Zile": "Дни", "Zile": "Дни",
"Zile libere": "Выходные", "Zile libere": "Выходные",
"Zile livrare": "Zile livrare", "Zile livrare": "Zile livrare",
@@ -1622,64 +1725,93 @@
"Zonă": "Zonă", "Zonă": "Zonă",
"Zoom in": "Приблизить", "Zoom in": "Приблизить",
"Zoom out": "Отдалить", "Zoom out": "Отдалить",
"a expirat.": "a expirat.",
"a fost suspendat.": "a fost suspendat.",
"aceste integrări sunt placeholder UI — le configurezi aici, dar implementarea actuală a fiecărui canal e proiect separat.\n Pentru moment, valorile salvate sunt accesibile în cod via": "aceste integrări sunt placeholder UI — le configurezi aici, dar implementarea actuală a fiecărui canal e proiect separat.\n Pentru moment, valorile salvate sunt accesibile în cod via", "aceste integrări sunt placeholder UI — le configurezi aici, dar implementarea actuală a fiecărui canal e proiect separat.\n Pentru moment, valorile salvate sunt accesibile în cod via": "aceste integrări sunt placeholder UI — le configurezi aici, dar implementarea actuală a fiecărui canal e proiect separat.\n Pentru moment, valorile salvate sunt accesibile în cod via",
"achiziție": "achiziție", "achiziție": "закупка",
"achiziții": "achiziții", "achiziții": "закупки",
"active": "активный", "active": "активный",
"actualizat": "обновлено", "actualizat": "обновлено",
"ajustare": "ajustare",
"angajat": "сотрудник",
"angajați": "angajați", "angajați": "angajați",
"apasă": "нажмите", "apasă": "нажмите",
"apel": "звонок",
"apeluri": "звонки",
"asistent gândește...": "asistent gândește...", "asistent gândește...": "asistent gândește...",
"auto-generat": "auto-generat", "auto-generat": "auto-generat",
"bonusuri/avansuri": "bonusuri/avansuri", "bonusuri/avansuri": "bonusuri/avansuri",
"call": "Звонок", "call": "Звонок",
"canal": "канал",
"canale marketing": "canale marketing", "canale marketing": "canale marketing",
"cerere": "заявка",
"cereri": "заявки",
"cheltuială": "cheltuială", "cheltuială": "cheltuială",
"cheltuieli": "cheltuieli",
"client": "клиент", "client": "клиент",
"client magazin": "client magazin", "client magazin": "клиент магазина",
"clienți": "клиенты", "clienți": "клиенты",
"clienți magazin": "clienți magazin", "clienți magazin": "клиенты магазина",
"clienți, mașini, lead-uri, deal-uri, programări, fișe de lucru cu manopere și piese,\n depozit, furnizori, achiziții, plăți, cheltuieli, salarii, useri, logo + favicon, manifest cu metadata.": "clienți, mașini, lead-uri, deal-uri, programări, fișe de lucru cu manopere și piese,\n depozit, furnizori, achiziții, plăți, cheltuieli, salarii, useri, logo + favicon, manifest cu metadata.", "clienți, mașini, lead-uri, deal-uri, programări, fișe de lucru cu manopere și piese,\n depozit, furnizori, achiziții, plăți, cheltuieli, salarii, useri, logo + favicon, manifest cu metadata.": "clienți, mașini, lead-uri, deal-uri, programări, fișe de lucru cu manopere și piese,\n depozit, furnizori, achiziții, plăți, cheltuieli, salarii, useri, logo + favicon, manifest cu metadata.",
"coeficient": "коэффициент", "coeficient": "коэффициент",
"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", "companie": "companie",
"companii": "companii",
"dashboard.stripe.com": "dashboard.stripe.com",
"deal": "сделка",
"deal-uri": "сделки",
"deals": "сделок", "deals": "сделок",
"depozit": "склад",
"depozite": "склады",
"developer.paypal.com": "developer.paypal.com",
"eveniment": "событие",
"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: WVWZZZ1JZXW000001": "ex: WVWZZZ1JZXW000001",
"ex: app-mobil, integrare-erp": "ex: app-mobil, integrare-erp", "ex: app-mobil, integrare-erp": "ex: app-mobil, integrare-erp",
"facebook": "Facebook", "facebook": "Facebook",
"facturi": "facturi",
"factură": "factură", "factură": "factură",
"finalizat": "завершено", "finalizat": "завершено",
"fișa de lucru completă": "fișa de lucru completă", "fișa de lucru completă": "fișa de lucru completă",
"fișe lucru": "fișe lucru", "fișe lucru": "заказ-наряды",
"fișă": "fișă", "fișă": "наряд",
"furnizor": "поставщик",
"furnizori": "поставщики",
"fără client": "без клиента", "fără client": "без клиента",
"google": "Google", "google": "Google",
"h norm": " ч норм", "h norm": " ч норм",
"h real": " ч факт", "h real": " ч факт",
"instagram": "Instagram", "instagram": "Instagram",
"jurnal": "журнал",
"la fiecare request": "la fiecare request",
"liber/ușor": "liber/ușor", "liber/ușor": "liber/ușor",
"linii neîncasate.": "linii neîncasate.", "linii neîncasate.": "linii neîncasate.",
"lucrare caroserie": "lucrare caroserie", "lucrare caroserie": "кузовная работа",
"lucrare terți": "lucrare terți", "lucrare terți": "работа субподрядчика",
"lucrări caroserie": "lucrări caroserie", "lucrări caroserie": "кузовные работы",
"lucrări terți": "lucrări terți", "lucrări terți": "работы субподрядчиков",
"mașini": "машины", "mașini": "машины",
"mașină": "машина", "mașină": "машина",
"mergi la Setări → Asistent AI și adaugă cheia API (Claude / GPT / Gemini).": "mergi la Setări → Asistent AI și adaugă cheia API (Claude / GPT / Gemini).", "mergi la Setări → Asistent AI și adaugă cheia API (Claude / GPT / Gemini).": "mergi la Setări → Asistent AI și adaugă cheia API (Claude / GPT / Gemini).",
"new": "новый", "new": "новый",
"niciodată": "niciodată", "niciodată": "niciodată",
"norme-ore": "norme-ore", "norme": "нормы",
"normă": "normă", "norme-ore": "нормо-часы",
"normă": "норма",
"null = fără trial": "null = fără trial", "null = fără trial": "null = fără trial",
"pentru a alege": "чтобы выбрать", "pentru a alege": "чтобы выбрать",
"piese": "piese",
"piesă": "piesă", "piesă": "piesă",
"pk_test_...": "pk_test_...", "pk_test_...": "pk_test_...",
"plan": "plan",
"planuri": "planuri",
"plată": "plată", "plată": "plată",
"plăți": "plăți", "plăți": "plăți",
"pod": "пост",
"portal.common.currency_mdl": "portal.common.currency_mdl", "portal.common.currency_mdl": "portal.common.currency_mdl",
"portal.common.email": "portal.common.email", "portal.common.email": "portal.common.email",
"portal.common.name": "portal.common.name", "portal.common.name": "portal.common.name",
@@ -1794,22 +1926,34 @@
"portal.tracking.unit_pcs": "portal.tracking.unit_pcs", "portal.tracking.unit_pcs": "portal.tracking.unit_pcs",
"portal.tracking.what_asked": "portal.tracking.what_asked", "portal.tracking.what_asked": "portal.tracking.what_asked",
"posturi de lucru": "posturi de lucru", "posturi de lucru": "posturi de lucru",
"programări": "programări", "programare": "запись",
"programări": "записи",
"programări active": "programări active", "programări active": "programări active",
"programări neconfirmate &lt; 24h": "programări neconfirmate &lt; 24h", "programări neconfirmate &lt; 24h": "programări neconfirmate &lt; 24h",
"referral": "Рекомендация", "referral": "Рекомендация",
"reguli markup": "reguli markup", "reguli markup": "reguli markup",
"regulă": "regulă", "regulă": "regulă",
"rol": "роль",
"roluri": "роли",
"salarii": "зарплаты",
"salariu": "зарплата",
"sau": "или", "sau": "или",
"set anvelope": "set anvelope", "set anvelope": "комплект шин",
"seturi anvelope": "seturi anvelope", "seturi anvelope": "комплекты шин",
"site": "Сайт", "site": "Сайт",
"subcontractor": "субподрядчик", "subcontractor": "субподрядчик",
"subcontractori": "subcontractori", "subcontractori": "субподрядчики",
"tehnician": "техник",
"tehnicieni": "техники",
"telegram": "Telegram", "telegram": "Telegram",
"template-uri": "template-uri", "template": "шаблон",
"template-uri": "шаблоны",
"ultima fișă": "ultima fișă", "ultima fișă": "ultima fișă",
"utilizator": "пользователь",
"utilizatori": "пользователи",
"ușor": "ușor", "ușor": "ușor",
"vehicul": "автомобиль",
"vehicule": "автомобили",
"vip": "vip", "vip": "vip",
"walk_in": "Пришёл лично", "walk_in": "Пришёл лично",
"whatsapp": "WhatsApp", "whatsapp": "WhatsApp",
@@ -1859,38 +2003,51 @@
"Șters": "Удалено", "Șters": "Удалено",
"Șters de": "Удалено", "Șters de": "Удалено",
"Șters la": "Удалено", "Șters la": "Удалено",
"șabloane servicii": "șabloane servicii", "șabloane servicii": "шаблоны услуг",
"șablon": "șablon", "șablon": "шаблон",
"șters": "șters", "șters": "șters",
"Țară": "Țară", "Țară": "Țară",
"Ține-mă minte": "Запомнить меня", "Ține-mă minte": "Запомнить меня",
"— (multe VIN-uri europene nu respectă checksum-ul NA)": "— (multe VIN-uri europene nu respectă checksum-ul NA)", "— (multe VIN-uri europene nu respectă checksum-ul NA)": "— (multe VIN-uri europene nu respectă checksum-ul NA)",
"— alege —": "— alege —",
"— fără pod —": "— fără pod —", "— fără pod —": "— fără pod —",
"— niciunul —": "— niciunul —",
"️": "️",
"← Săpt. anterioară": "← Săpt. anterioară", "← Săpt. anterioară": "← Săpt. anterioară",
"← Înapoi": "← Înapoi", "← Înapoi": "← Înapoi",
"← Înapoi la AutoCRM": "← Înapoi la AutoCRM", "← Înapoi la AutoCRM": "← Înapoi la AutoCRM",
"← Înapoi la facturi": "← Înapoi la facturi", "← Înapoi la facturi": "← Înapoi la facturi",
"→ Mergi la AutoCRM": "→ Mergi la AutoCRM",
"→ creează aplicație live → ia credentials": "→ creează aplicație live → ia credentials", "→ creează aplicație live → ia credentials": "→ creează aplicație live → ia credentials",
"→ ia keys → setează webhook la URL-ul de mai sus": "→ ia keys → setează webhook la URL-ul de mai sus", "→ ia keys → setează webhook la URL-ul de mai sus": "→ ia keys → setează webhook la URL-ul de mai sus",
"↗ Deschide Purchase": "↗ Deschide Purchase", "↗ Deschide Purchase": "↗ Deschide Purchase",
"↗ Deschide comanda în Filament": "↗ Deschide comanda în Filament", "↗ Deschide comanda în Filament": "↗ Deschide comanda în Filament",
"↗ Editare": "↗ Editare",
"≥9h/10": "≥9h/10",
"⏰ Abonament expirat": "⏰ Abonament expirat",
"⏹ Oprește": "⏹ Oprește", "⏹ Oprește": "⏹ Oprește",
"◀ Luna precedentă": "◀ Luna precedentă", "◀ Luna precedentă": "◀ Предыдущий месяц",
"⚖️ Balanță": "⚖️ Balanță", "⚖️ Balanță": "⚖️ Balanță",
"⚙ Configurare tenant": "⚙ Configurare tenant",
"⚙ Cum funcționează:": "⚙ Cum funcționează:", "⚙ Cum funcționează:": "⚙ Cum funcționează:",
"⚠ Acțiune necesară": "⚠ Требуется действие", "⚠ Acțiune necesară": "⚠ Требуется действие",
"⚠ Backup-urile pot conține date sensibile (telefoane, emailuri, plăți). Stochează-le în siguranță.": "⚠ Backup-urile pot conține date sensibile (telefoane, emailuri, plăți). Stochează-le în siguranță.", "⚠ Backup-urile pot conține date sensibile (telefoane, emailuri, plăți). Stochează-le în siguranță.": "⚠ Backup-urile pot conține date sensibile (telefoane, emailuri, plăți). Stochează-le în siguranță.",
"⚠ Fără plan": "⚠ Fără plan", "⚠ Fără plan": "⚠ Fără plan",
"⚠ Pentru a primi plăți LIVE:": "⚠ Pentru a primi plăți LIVE:", "⚠ Pentru a primi plăți LIVE:": "⚠ Pentru a primi plăți LIVE:",
"⚠ Posibil churn": "⚠ Posibil churn",
"⚠ Recomandări": "⚠ Recomandări", "⚠ Recomandări": "⚠ Recomandări",
"⚠ Recomandări:": "⚠ Recomandări:", "⚠ Recomandări:": "⚠ Recomandări:",
"⚠ Token-ul tău nou (afișat o singură dată):": "⚠ Token-ul tău nou (afișat o singură dată):", "⚠ Token-ul tău nou (afișat o singură dată):": "⚠ Token-ul tău nou (afișat o singură dată):",
"⚠️ Lipsește cheia Claude în Setări → AI.": "⚠️ Lipsește cheia Claude în Setări → AI.", "⚠️ Lipsește cheia Claude în Setări → AI.": "⚠️ Lipsește cheia Claude în Setări → AI.",
"⚠️ Stoc minim atins": "⚠️ Stoc minim atins", "⚠️ Stoc minim atins": "⚠️ Stoc minim atins",
"⛔ Cont suspendat": "⛔ Cont suspendat",
"✅ Mașina dvs. este gata!": "✅ Mașina dvs. este gata!", "✅ Mașina dvs. este gata!": "✅ Mașina dvs. este gata!",
"✅ VIN decodificat": "✅ VIN decodificat",
"✏ Editează pod": "✏ Editează pod", "✏ Editează pod": "✏ Editează pod",
"✓ Achitat": "✓ Оплачено", "✓ Achitat": "✓ Оплачено",
"✓ Copiat": "✓ Copiat",
"✓ Pe abonament plătit": "✓ На платной подписке", "✓ Pe abonament plătit": "✓ На платной подписке",
"✓ valid": "✓ valid",
"⬇ Descarcă backup acum": "⬇ Descarcă backup acum", "⬇ Descarcă backup acum": "⬇ Descarcă backup acum",
"⭐ VIP fără contact recent": "⭐ VIP fără contact recent", "⭐ VIP fără contact recent": "⭐ VIP fără contact recent",
"🅿️ PayPal": "🅿️ PayPal", "🅿️ PayPal": "🅿️ PayPal",
@@ -1900,14 +2057,17 @@
"🎉 Toate facturile sunt plătite": "🎉 Toate facturile sunt plătite", "🎉 Toate facturile sunt plătite": "🎉 Toate facturile sunt plătite",
"🏦 Instrucțiuni transfer bancar": "🏦 Instrucțiuni transfer bancar", "🏦 Instrucțiuni transfer bancar": "🏦 Instrucțiuni transfer bancar",
"🏦 Transfer bancar (manual)": "🏦 Transfer bancar (manual)", "🏦 Transfer bancar (manual)": "🏦 Transfer bancar (manual)",
"👋 Bun venit!": "👋 Bun venit!",
"👥 Clienți": "👥 Clienți", "👥 Clienți": "👥 Clienți",
"💰 Finanțe": "💰 Finanțe", "💰 Finanțe": "💰 Finanțe",
"💰 Fișe neplătite": "💰 Fișe neplătite", "💰 Fișe neplătite": "💰 Fișe neplătite",
"💳 Istoric abonamente": "💳 Istoric abonamente",
"💳 Plată confirmată": "💳 Plată confirmată", "💳 Plată confirmată": "💳 Plată confirmată",
"💳 Plătește": "💳 Plătește", "💳 Plătește": "💳 Plătește",
"💳 Stripe": "💳 Stripe", "💳 Stripe": "💳 Stripe",
"💾 Salvează setările": "💾 Salvează setările", "💾 Salvează setările": "💾 Salvează setările",
"📅 Programare confirmată": "📅 Programare confirmată", "📅 Programare confirmată": "📅 Programare confirmată",
"📊 Activitate live": "📊 Activitate live",
"📊 Încărcare": "📊 Încărcare", "📊 Încărcare": "📊 Încărcare",
"📋 Copiază": "📋 Copiază", "📋 Copiază": "📋 Copiază",
"📍 Locație & contact": "📍 Locație & contact", "📍 Locație & contact": "📍 Locație & contact",
@@ -1915,11 +2075,14 @@
"📦 Caută piesă în catalog": "📦 Caută piesă în catalog", "📦 Caută piesă în catalog": "📦 Caută piesă în catalog",
"📦 Export complet date tenant": "📦 Export complet date tenant", "📦 Export complet date tenant": "📦 Export complet date tenant",
"📷 Pornește scanner": "📷 Pornește scanner", "📷 Pornește scanner": "📷 Pornește scanner",
"🔎 Decode VIN": "🔎 Decode VIN",
"🕒 Program de lucru": "🕒 Program de lucru",
"🖨 PDF programări": "🖨 PDF programări", "🖨 PDF programări": "🖨 PDF programări",
"🖨 Tipărește": "🖨 Tipărește", "🖨 Tipărește": "🖨 Tipărește",
"🗑 Șterge": "🗑 Șterge", "🗑 Șterge": "🗑 Șterge",
"😴 Clienți pierduți": "😴 Clienți pierduți", "😴 Clienți pierduți": "😴 Clienți pierduți",
"🚗 Mașini cu acest VIN în CRM": "🚗 Mașini cu acest VIN în CRM", "🚗 Mașini cu acest VIN în CRM": "🚗 Mașini cu acest VIN în CRM",
"🚗 Mașini cu kilometraj mare": "🚗 Mașini cu kilometraj mare", "🚗 Mașini cu kilometraj mare": "🚗 Mașini cu kilometraj mare",
"🚗 Mărci suportate": "🚗 Mărci suportate" "🚗 Mărci suportate": "🚗 Mărci suportate",
"🛒 Magazin piese online": "🛒 Magazin piese online"
} }
@@ -16,12 +16,12 @@
<td style="padding:14px 18px;font-size:18px;text-align:right;font-weight:700;color:{{ $themeColor }};"> <td style="padding:14px 18px;font-size:18px;text-align:right;font-weight:700;color:{{ $themeColor }};">
{{ $appointment->date?->format('d.m.Y') }} {{ $appointment->date?->format('d.m.Y') }}
</td></tr> </td></tr>
<tr><td style="padding:8px 18px;font-size:13px;color:#374151;">Ora</td> <tr><td style="padding:8px 18px;font-size:13px;color:#374151;">{{ __('Ora') }}</td>
<td style="padding:8px 18px;font-size:14px;text-align:right;font-weight:600;"> <td style="padding:8px 18px;font-size:14px;text-align:right;font-weight:600;">
{{ \Illuminate\Support\Str::substr($appointment->time_start, 0, 5) }} {{ \Illuminate\Support\Str::substr($appointment->time_end, 0, 5) }} {{ \Illuminate\Support\Str::substr($appointment->time_start, 0, 5) }} {{ \Illuminate\Support\Str::substr($appointment->time_end, 0, 5) }}
</td></tr> </td></tr>
@if ($appointment->title) @if ($appointment->title)
<tr><td style="padding:8px 18px;font-size:12px;color:#6b7280;">Subiect</td> <tr><td style="padding:8px 18px;font-size:12px;color:#6b7280;">{{ __('Subiect') }}</td>
<td style="padding:8px 18px;font-size:12px;text-align:right;">{{ $appointment->title }}</td></tr> <td style="padding:8px 18px;font-size:12px;text-align:right;">{{ $appointment->title }}</td></tr>
@endif @endif
@if ($vehicle) @if ($vehicle)
@@ -32,11 +32,11 @@
</td></tr> </td></tr>
@endif @endif
@if ($master) @if ($master)
<tr><td style="padding:8px 18px;font-size:12px;color:#6b7280;">Maistru</td> <tr><td style="padding:8px 18px;font-size:12px;color:#6b7280;">{{ __('Maistru') }}</td>
<td style="padding:8px 18px;font-size:12px;text-align:right;">{{ $master->name }}</td></tr> <td style="padding:8px 18px;font-size:12px;text-align:right;">{{ $master->name }}</td></tr>
@endif @endif
@if ($post) @if ($post)
<tr><td style="padding:8px 18px;font-size:12px;color:#6b7280;">Pod</td> <tr><td style="padding:8px 18px;font-size:12px;color:#6b7280;">{{ __('Pod') }}</td>
<td style="padding:8px 18px;font-size:12px;text-align:right;">{{ $post->name }}</td></tr> <td style="padding:8px 18px;font-size:12px;text-align:right;">{{ $post->name }}</td></tr>
@endif @endif
</table> </table>
@@ -16,7 +16,7 @@
<td style="padding:14px 18px;font-size:18px;text-align:right;font-weight:700;color:#059669;"> <td style="padding:14px 18px;font-size:18px;text-align:right;font-weight:700;color:#059669;">
{{ number_format((float) $payment->amount, 2, '.', ' ') }} {{ $currency }} {{ number_format((float) $payment->amount, 2, '.', ' ') }} {{ $currency }}
</td></tr> </td></tr>
<tr><td style="padding:8px 18px;font-size:12px;color:#6b7280;">Metoda</td> <tr><td style="padding:8px 18px;font-size:12px;color:#6b7280;">{{ __('Metoda') }}</td>
<td style="padding:8px 18px;font-size:12px;text-align:right;"> <td style="padding:8px 18px;font-size:12px;text-align:right;">
{{ \App\Models\Tenant\Payment::METHODS[$payment->method] ?? $payment->method }} {{ \App\Models\Tenant\Payment::METHODS[$payment->method] ?? $payment->method }}
</td></tr> </td></tr>
@@ -25,7 +25,7 @@
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:16px 0;border:1px solid #e5e7eb;border-radius:8px;"> <table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:16px 0;border:1px solid #e5e7eb;border-radius:8px;">
<tr><td style="padding:14px;"> <tr><td style="padding:14px;">
<div style="font-size:11px;text-transform:uppercase;color:#6b7280;letter-spacing:.5px;">Vehicul</div> <div style="font-size:11px;text-transform:uppercase;color:#6b7280;letter-spacing:.5px;">{{ __('Vehicul') }}</div>
<div style="font-size:16px;font-weight:700;margin-top:4px;"> <div style="font-size:16px;font-weight:700;margin-top:4px;">
{{ $vehicle->make }} {{ $vehicle->model }} {{ $vehicle->year ?? '' }} {{ $vehicle->make }} {{ $vehicle->model }} {{ $vehicle->year ?? '' }}
@if ($vehicle->plate) <span style="color:{{ $themeColor }};">[{{ $vehicle->plate }}]</span> @endif @if ($vehicle->plate) <span style="color:{{ $themeColor }};">[{{ $vehicle->plate }}]</span> @endif
@@ -11,7 +11,7 @@
<p style="color: #6b7280; margin-bottom: 24px;">{{ __('Comanda ta a fost primită cu succes.') }}</p> <p style="color: #6b7280; margin-bottom: 24px;">{{ __('Comanda ta a fost primită cu succes.') }}</p>
<div style="background: #f9fafb; border-radius: 10px; padding: 18px; margin-bottom: 18px;"> <div style="background: #f9fafb; border-radius: 10px; padding: 18px; margin-bottom: 18px;">
<div style="font-size: 14px; color: #6b7280;">Comanda</div> <div style="font-size: 14px; color: #6b7280;">{{ __('Comanda') }}</div>
<div style="font-size: 22px; font-weight: 700; margin-bottom: 8px;">#{{ $order->number }}</div> <div style="font-size: 22px; font-weight: 700; margin-bottom: 8px;">#{{ $order->number }}</div>
<div style="color: #6b7280; font-size: 13px;"> <div style="color: #6b7280; font-size: 13px;">
{{ $order->created_at->isoFormat('D MMM YYYY, HH:mm') }} · {{ $order->created_at->isoFormat('D MMM YYYY, HH:mm') }} ·
@@ -19,7 +19,7 @@
</div> </div>
</div> </div>
<h3 style="font-size: 16px; margin-bottom: 8px;">Produsele tale</h3> <h3 style="font-size: 16px; margin-bottom: 8px;">{{ __('Produsele tale') }}</h3>
<table style="width: 100%; border-collapse: collapse; margin-bottom: 18px; font-size: 14px;"> <table style="width: 100%; border-collapse: collapse; margin-bottom: 18px; font-size: 14px;">
@foreach ($items as $item) @foreach ($items as $item)
<tr> <tr>
@@ -34,7 +34,7 @@
@endforeach @endforeach
@if ((float) $order->delivery_fee > 0) @if ((float) $order->delivery_fee > 0)
<tr> <tr>
<td style="padding: 8px 0; color: #6b7280;">Livrare</td> <td style="padding: 8px 0; color: #6b7280;">{{ __('Livrare') }}</td>
<td style="padding: 8px 0; text-align: right;">{{ number_format((float) $order->delivery_fee, 2) }} {{ $currency }}</td> <td style="padding: 8px 0; text-align: right;">{{ number_format((float) $order->delivery_fee, 2) }} {{ $currency }}</td>
</tr> </tr>
@endif @endif
@@ -32,7 +32,7 @@
</tr> </tr>
@if ($paid > 0) @if ($paid > 0)
<tr> <tr>
<td style="padding:6px 16px;font-size:12px;color:#6b7280;">Achitat</td> <td style="padding:6px 16px;font-size:12px;color:#6b7280;">{{ __('Achitat') }}</td>
<td style="padding:6px 16px;font-size:12px;text-align:right;color:#059669;">{{ number_format($paid, 2, '.', ' ') }} {{ $currency }}</td> <td style="padding:6px 16px;font-size:12px;text-align:right;color:#059669;">{{ number_format($paid, 2, '.', ' ') }} {{ $currency }}</td>
</tr> </tr>
@endif @endif
@@ -51,6 +51,6 @@
</div> </div>
@endif @endif
<p style="margin-top:20px;">{{ __('Atașat veți găsi') }} <b>{{ __('fișa de lucru completă') }}</b> (PDF).</p> <p style="margin-top:20px;">{{ __('Atașat veți găsi') }} <b>{{ __('fișa de lucru completă') }}</b> {{ __('(PDF).') }}</p>
<p>{{ __('Vă mulțumim pentru încredere!') }}</p> <p>{{ __('Vă mulțumim pentru încredere!') }}</p>
@endcomponent @endcomponent
@@ -19,14 +19,14 @@
<li>{{ __('Operatorul (tu) creezi factură:') }} <code>/admin/companies/{id}</code> {{ __('→ „Generează factură"') }}</li> <li>{{ __('Operatorul (tu) creezi factură:') }} <code>/admin/companies/{id}</code> {{ __('→ „Generează factură"') }}</li>
<li>{{ __('Tenantul vede factura în interiorul lui la') }} <code>https://{slug}.service.mir.md/billing</code></li> <li>{{ __('Tenantul vede factura în interiorul lui la') }} <code>https://{slug}.service.mir.md/billing</code></li>
<li>{{ __('Click „Plătește" → opțiuni: card (Stripe), PayPal, sau transfer manual') }}</li> <li>{{ __('Click „Plătește" → opțiuni: card (Stripe), PayPal, sau transfer manual') }}</li>
<li>La succes: webhook automat status=paid + extends company.active_until</li> <li>{{ __('La succes: webhook → automat status=paid + extends company.active_until') }}</li>
<li>{{ __('La transfer manual: tenant trimite confirmare; operator click „Marchează plătit" în /admin/subscriptions') }}</li> <li>{{ __('La transfer manual: tenant trimite confirmare; operator click „Marchează plătit" în /admin/subscriptions') }}</li>
</ol> </ol>
<div style="margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb;"> <div style="margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb;">
<b>{{ __('⚠ Pentru a primi plăți LIVE:') }}</b> <b>{{ __('⚠ Pentru a primi plăți LIVE:') }}</b>
<ul style="margin:4px 0 0 18px;padding:0;font-size:12px;"> <ul style="margin:4px 0 0 18px;padding:0;font-size:12px;">
<li>{{ __('Stripe: înregistrează cont la') }} <a href="https://dashboard.stripe.com" target="_blank" style="color:#6366f1;">dashboard.stripe.com</a> {{ __('→ ia keys → setează webhook la URL-ul de mai sus') }}</li> <li>{{ __('Stripe: înregistrează cont la') }} <a href="https://dashboard.stripe.com" target="_blank" style="color:#6366f1;">{{ __('dashboard.stripe.com') }}</a> {{ __('→ ia keys → setează webhook la URL-ul de mai sus') }}</li>
<li>PayPal: <a href="https://developer.paypal.com/dashboard/applications" target="_blank" style="color:#6366f1;">developer.paypal.com</a> {{ __('→ creează aplicație live → ia credentials') }}</li> <li>{{ __('PayPal:') }} <a href="https://developer.paypal.com/dashboard/applications" target="_blank" style="color:#6366f1;">{{ __('developer.paypal.com') }}</a> {{ __('→ creează aplicație live → ia credentials') }}</li>
<li>{{ __('Transfer bancar: pune doar IBAN-ul tău, fără cont gateway') }}</li> <li>{{ __('Transfer bancar: pune doar IBAN-ul tău, fără cont gateway') }}</li>
</ul> </ul>
</div> </div>
@@ -105,10 +105,10 @@
{{-- STATS GRID --}} {{-- STATS GRID --}}
<div class="cv-section"> <div class="cv-section">
<div class="cv-section-title">📊 Activitate live</div> <div class="cv-section-title">{{ __('📊 Activitate live') }}</div>
<div class="cv-grid"> <div class="cv-grid">
<div class="cv-card"> <div class="cv-card">
<div class="label">Useri</div> <div class="label">{{ __('Useri') }}</div>
<div class="value">{{ $stats['users'] }}</div> <div class="value">{{ $stats['users'] }}</div>
</div> </div>
<div class="cv-card"> <div class="cv-card">
@@ -142,17 +142,17 @@
<div class="sub">{{ $this->record->settings['currency'] ?? 'MDL' }}</div> <div class="sub">{{ $this->record->settings['currency'] ?? 'MDL' }}</div>
</div> </div>
<div class="cv-card"> <div class="cv-card">
<div class="label">Storage media</div> <div class="label">{{ __('Storage media') }}</div>
<div class="value">{{ $stats['storage_mb'] }}</div> <div class="value">{{ $stats['storage_mb'] }}</div>
<div class="sub">{{ __('MB folosiți') }}</div> <div class="sub">{{ __('MB folosiți') }}</div>
</div> </div>
<div class="cv-card {{ $stats['last_login'] && \Carbon\Carbon::parse($stats['last_login'])->diffInDays() > 14 ? 'danger' : '' }}"> <div class="cv-card {{ $stats['last_login'] && \Carbon\Carbon::parse($stats['last_login'])->diffInDays() > 14 ? 'danger' : '' }}">
<div class="label">Ultima logare</div> <div class="label">{{ __('Ultima logare') }}</div>
<div class="value" style="font-size:14px;"> <div class="value" style="font-size:14px;">
{{ $stats['last_login'] ? \Carbon\Carbon::parse($stats['last_login'])->diffForHumans() : 'Niciodată' }} {{ $stats['last_login'] ? \Carbon\Carbon::parse($stats['last_login'])->diffForHumans() : 'Niciodată' }}
</div> </div>
@if ($stats['last_login'] && \Carbon\Carbon::parse($stats['last_login'])->diffInDays() > 14) @if ($stats['last_login'] && \Carbon\Carbon::parse($stats['last_login'])->diffInDays() > 14)
<div class="sub"> Posibil churn</div> <div class="sub">{{ __('⚠ Posibil churn') }}</div>
@endif @endif
</div> </div>
</div> </div>
@@ -160,7 +160,7 @@
{{-- SUBSCRIPTIONS --}} {{-- SUBSCRIPTIONS --}}
<div class="cv-section"> <div class="cv-section">
<div class="cv-section-title">💳 Istoric abonamente</div> <div class="cv-section-title">{{ __('💳 Istoric abonamente') }}</div>
@if ($this->record->subscriptions->isEmpty()) @if ($this->record->subscriptions->isEmpty())
<div style="padding:32px;text-align:center;color:#9ca3af;font-size:13px;border:1px dashed #e5e7eb;border-radius:8px;"> <div style="padding:32px;text-align:center;color:#9ca3af;font-size:13px;border:1px dashed #e5e7eb;border-radius:8px;">
{{ __('Niciun abonament emis. Folosește „Generează factură" de sus.') }} {{ __('Niciun abonament emis. Folosește „Generează factură" de sus.') }}
@@ -170,10 +170,10 @@
<thead> <thead>
<tr> <tr>
<th>{{ __('Factură') }}</th> <th>{{ __('Factură') }}</th>
<th>Plan</th> <th>{{ __('Plan') }}</th>
<th>{{ __('Perioadă') }}</th> <th>{{ __('Perioadă') }}</th>
<th>{{ __('Sumă') }}</th> <th>{{ __('Sumă') }}</th>
<th>Status</th> <th>{{ __('Status') }}</th>
<th>{{ __('Plătit') }}</th> <th>{{ __('Plătit') }}</th>
</tr> </tr>
</thead> </thead>
@@ -199,7 +199,7 @@
{{-- CONFIG --}} {{-- CONFIG --}}
<div class="cv-section"> <div class="cv-section">
<div class="cv-section-title"> Configurare tenant</div> <div class="cv-section-title">{{ __('⚙ Configurare tenant') }}</div>
<div class="cv-grid" style="grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));"> <div class="cv-grid" style="grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));">
<div class="cv-card"> <div class="cv-card">
<div class="label">{{ __('Limbă') }}</div> <div class="label">{{ __('Limbă') }}</div>
@@ -216,20 +216,20 @@
<div class="value" style="font-size:14px;">{{ $this->record->settings['labor_rate'] ?? '—' }}</div> <div class="value" style="font-size:14px;">{{ $this->record->settings['labor_rate'] ?? '—' }}</div>
</div> </div>
<div class="cv-card"> <div class="cv-card">
<div class="label">Onboarded</div> <div class="label">{{ __('Onboarded') }}</div>
<div class="value" style="font-size:14px;"> <div class="value" style="font-size:14px;">
{{ ! empty($this->record->settings['onboarded_at']) ? '✓ Da' : '✗ Nu' }} {{ ! empty($this->record->settings['onboarded_at']) ? '✓ Da' : '✗ Nu' }}
</div> </div>
</div> </div>
<div class="cv-card"> <div class="cv-card">
<div class="label">Theme color</div> <div class="label">{{ __('Theme color') }}</div>
<div class="value" style="display:flex;align-items:center;gap:6px;font-size:14px;"> <div class="value" style="display:flex;align-items:center;gap:6px;font-size:14px;">
<span style="display:inline-block;width:18px;height:18px;border-radius:3px;background:{{ $this->record->settings['theme_color'] ?? '#3B82F6' }};"></span> <span style="display:inline-block;width:18px;height:18px;border-radius:3px;background:{{ $this->record->settings['theme_color'] ?? '#3B82F6' }};"></span>
{{ $this->record->settings['theme_color'] ?? '#3B82F6' }} {{ $this->record->settings['theme_color'] ?? '#3B82F6' }}
</div> </div>
</div> </div>
<div class="cv-card"> <div class="cv-card">
<div class="label">AI provider</div> <div class="label">{{ __('AI provider') }}</div>
<div class="value" style="font-size:14px;"> <div class="value" style="font-size:14px;">
{{ $this->record->settings['ai']['default_provider'] ?? 'neconfigurat' }} {{ $this->record->settings['ai']['default_provider'] ?? 'neconfigurat' }}
</div> </div>
@@ -16,9 +16,9 @@
@if (! $isError && ($provider || $tokensIn !== null)) @if (! $isError && ($provider || $tokensIn !== null))
<div class="text-xs text-gray-500 dark:text-gray-400 border-t border-gray-200 dark:border-gray-700 pt-2 flex flex-wrap gap-3"> <div class="text-xs text-gray-500 dark:text-gray-400 border-t border-gray-200 dark:border-gray-700 pt-2 flex flex-wrap gap-3">
@if ($provider) <span>Provider: <strong>{{ strtoupper($provider) }}</strong></span> @endif @if ($provider) <span>{{ __('Provider:') }} <strong>{{ strtoupper($provider) }}</strong></span> @endif
@if ($tokensIn !== null || $tokensOut !== null) @if ($tokensIn !== null || $tokensOut !== null)
<span>Tokens: <strong>{{ ($tokensIn ?? 0) + ($tokensOut ?? 0) }}</strong> ({{ $tokensIn ?? 0 }} in / {{ $tokensOut ?? 0 }} out)</span> <span>{{ __('Tokens:') }} <strong>{{ ($tokensIn ?? 0) + ($tokensOut ?? 0) }}</strong> ({{ $tokensIn ?? 0 }} in / {{ $tokensOut ?? 0 }} out)</span>
@endif @endif
@if ($latency !== null) <span>Latency: {{ $latency }} ms</span> @endif @if ($latency !== null) <span>Latency: {{ $latency }} ms</span> @endif
</div> </div>
@@ -93,7 +93,7 @@
@if ($totalCalls > 0) @if ($totalCalls > 0)
<div style="margin-bottom:12px;padding:10px 14px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;font-size:12px;color:#1e3a8a;"> <div style="margin-bottom:12px;padding:10px 14px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;font-size:12px;color:#1e3a8a;">
<strong>Tokens consumate luna aceasta:</strong> <strong>{{ __('Tokens consumate luna aceasta:') }}</strong>
{{ number_format($totalTokens) }} tokens · {{ $totalCalls }} cereri {{ number_format($totalTokens) }} tokens · {{ $totalCalls }} cereri
@foreach ($usage as $provider => $u) @foreach ($usage as $provider => $u)
· {{ strtoupper($provider) }}: {{ number_format($u['tokens_in'] + $u['tokens_out']) }} · {{ strtoupper($provider) }}: {{ number_format($u['tokens_in'] + $u['tokens_out']) }}
@@ -125,10 +125,10 @@
@if (! $chat || $chat->messages->isEmpty()) @if (! $chat || $chat->messages->isEmpty())
<div class="ai-empty"> <div class="ai-empty">
<div style="font-size:32px;margin-bottom:8px;"></div> <div style="font-size:32px;margin-bottom:8px;"></div>
<div style="font-size:14px;font-weight:600;margin-bottom:4px;">Asistent AI pentru autoservice</div> <div style="font-size:14px;font-weight:600;margin-bottom:4px;">{{ __('Asistent AI pentru autoservice') }}</div>
<div style="font-size:12px;">{{ __('Întreabă-mă orice — diagnostic, sumar, sugestii, redactare mesaje către clienți...') }}</div> <div style="font-size:12px;">{{ __('Întreabă-mă orice — diagnostic, sumar, sugestii, redactare mesaje către clienți...') }}</div>
<div style="font-size:11px;margin-top:16px;color:#9ca3af;"> <div style="font-size:11px;margin-top:16px;color:#9ca3af;">
<b>Configurare:</b> {{ __('mergi la Setări → Asistent AI și adaugă cheia API (Claude / GPT / Gemini).') }} <b>{{ __('Configurare:') }}</b> {{ __('mergi la Setări → Asistent AI și adaugă cheia API (Claude / GPT / Gemini).') }}
</div> </div>
</div> </div>
@else @else
@@ -30,11 +30,11 @@
@click="navigator.clipboard.writeText($refs.t.innerText); copied = true; setTimeout(() => copied = false, 2000)" @click="navigator.clipboard.writeText($refs.t.innerText); copied = true; setTimeout(() => copied = false, 2000)"
style="margin-left:12px;background:#3b82f6;color:white;padding:4px 10px;border:none;border-radius:4px;cursor:pointer;font-size:11px;"> style="margin-left:12px;background:#3b82f6;color:white;padding:4px 10px;border:none;border-radius:4px;cursor:pointer;font-size:11px;">
<span x-show="!copied">{{ __('📋 Copiază') }}</span> <span x-show="!copied">{{ __('📋 Copiază') }}</span>
<span x-show="copied" x-cloak> Copiat</span> <span x-show="copied" x-cloak>{{ __('✓ Copiat') }}</span>
</button> </button>
</div> </div>
<button type="button" wire:click="dismissNew" style="font-size:12px;color:#6b7280;background:none;border:none;cursor:pointer;"> <button type="button" wire:click="dismissNew" style="font-size:12px;color:#6b7280;background:none;border:none;cursor:pointer;">
Am salvat token-ul, ascunde-l {{ __('Am salvat token-ul, ascunde-l') }}
</button> </button>
</div> </div>
@endif @endif
@@ -49,8 +49,8 @@
<tr> <tr>
<th>{{ __('Nume') }}</th> <th>{{ __('Nume') }}</th>
<th>{{ __('Folosit ultima dată') }}</th> <th>{{ __('Folosit ultima dată') }}</th>
<th>Creat</th> <th>{{ __('Creat') }}</th>
<th>Permisiuni</th> <th>{{ __('Permisiuni') }}</th>
<th></th> <th></th>
</tr> </tr>
</thead> </thead>
@@ -77,10 +77,10 @@
<div class="at-doc" style="margin-top:16px;"> <div class="at-doc" style="margin-top:16px;">
<b>{{ __('Cum folosești API-ul:') }}</b> <b>{{ __('Cum folosești API-ul:') }}</b>
<ol style="margin:8px 0 0 20px;"> <ol style="margin:8px 0 0 20px;">
<li>{{ __('Obține token cu') }} <code>POST /api/v1/login</code> cu <code>email</code>+<code>password</code> JSON</li> <li>{{ __('Obține token cu') }} <code>{{ __('POST /api/v1/login') }}</code> cu <code>email</code>+<code>password</code> JSON</li>
<li>{{ __('Sau generează unul aici (recomandat pentru integrări permanente)') }}</li> <li>{{ __('Sau generează unul aici (recomandat pentru integrări permanente)') }}</li>
<li>{{ __('Adaugă header') }} <code>Authorization: Bearer &lt;token&gt;</code> la fiecare request</li> <li>{{ __('Adaugă header') }} <code>Authorization: Bearer &lt;token&gt;</code> {{ __('la fiecare request') }}</li>
<li>Endpoints disponibile: <code>/api/v1/clients</code>, <code>/api/v1/vehicles</code>, <code>/api/v1/work-orders</code> (GET, POST, PATCH, DELETE)</li> <li>{{ __('Endpoints disponibile:') }} <code>{{ __('/api/v1/clients') }}</code>, <code>{{ __('/api/v1/vehicles') }}</code>, <code>{{ __('/api/v1/work-orders') }}</code> {{ __('(GET, POST, PATCH, DELETE)') }}</li>
<li>{{ __('Tot apelul trebuie făcut pe subdomain-ul tău:') }} <code>https://{{ tenant()?->slug ?? 'YOURSLUG' }}.service.mir.md/api/v1/...</code></li> <li>{{ __('Tot apelul trebuie făcut pe subdomain-ul tău:') }} <code>https://{{ tenant()?->slug ?? 'YOURSLUG' }}.service.mir.md/api/v1/...</code></li>
</ol> </ol>
</div> </div>
@@ -22,7 +22,7 @@
</p> </p>
<ul class="bk-list"> <ul class="bk-list">
<li>{{ __('Backup periodic (descarcă local sau sincronizează cu cloud)') }}</li> <li>{{ __('Backup periodic (descarcă local sau sincronizează cu cloud)') }}</li>
<li>Migrare la alt sistem CRM</li> <li>{{ __('Migrare la alt sistem CRM') }}</li>
<li>{{ __('Audit / verificări fiscale') }}</li> <li>{{ __('Audit / verificări fiscale') }}</li>
<li>{{ __('Conformitate GDPR (la cererea ștergerii datelor)') }}</li> <li>{{ __('Conformitate GDPR (la cererea ștergerii datelor)') }}</li>
</ul> </ul>
@@ -31,12 +31,12 @@
depozit, furnizori, achiziții, plăți, cheltuieli, salarii, useri, logo + favicon, manifest cu metadata.') }} depozit, furnizori, achiziții, plăți, cheltuieli, salarii, useri, logo + favicon, manifest cu metadata.') }}
</p> </p>
<p class="bk-p"> <p class="bk-p">
<b>Format:</b> {{ __('ZIP cu fișiere JSON (1 per tabel) + media + manifest.json.') }} <b>{{ __('Format:') }}</b> {{ __('ZIP cu fișiere JSON (1 per tabel) + media + manifest.json.') }}
</p> </p>
<button type="button" class="bk-btn" wire:click="downloadBackup" wire:loading.attr="disabled"> <button type="button" class="bk-btn" wire:click="downloadBackup" wire:loading.attr="disabled">
<span wire:loading.remove wire:target="downloadBackup">{{ __('⬇ Descarcă backup acum') }}</span> <span wire:loading.remove wire:target="downloadBackup">{{ __('⬇ Descarcă backup acum') }}</span>
<span wire:loading wire:target="downloadBackup">Generez ZIP...</span> <span wire:loading wire:target="downloadBackup">{{ __('Generez ZIP...') }}</span>
</button> </button>
<p class="bk-p" style="margin-top:24px;font-size:11px;color:#9ca3af;"> <p class="bk-p" style="margin-top:24px;font-size:11px;color:#9ca3af;">
@@ -155,12 +155,12 @@
<div class="cv-shell" x-data="{ dragEventId: null }"> <div class="cv-shell" x-data="{ dragEventId: null }">
<div class="cv-head"> <div class="cv-head">
<div> <div>
<div class="cv-breadcrumb">{{ __('CRM Programări ') }} <strong style="color:var(--cv-text);">Calendar vizual</strong></div> <div class="cv-breadcrumb">{{ __('CRM Programări ') }} <strong style="color:var(--cv-text);">{{ __('Calendar vizual') }}</strong></div>
<h1>Calendar vizual</h1> <h1>{{ __('Calendar vizual') }}</h1>
</div> </div>
<div class="cv-btn-group"> <div class="cv-btn-group">
<button class="cv-btn" wire:click="exportPdf">{{ __('🖨 PDF programări') }}</button> <button class="cv-btn" wire:click="exportPdf">{{ __('🖨 PDF programări') }}</button>
<button class="cv-btn" wire:click="openNewPostForm">+ Pod nou</button> <button class="cv-btn" wire:click="openNewPostForm">{{ __('+ Pod nou') }}</button>
<button class="cv-btn cv-btn-primary" wire:click="openNewForm">{{ __('+ Programare nouă') }}</button> <button class="cv-btn cv-btn-primary" wire:click="openNewForm">{{ __('+ Programare nouă') }}</button>
</div> </div>
</div> </div>
@@ -177,12 +177,12 @@
<div class="cv-kpi-sub">{{ __('programări active') }}</div> <div class="cv-kpi-sub">{{ __('programări active') }}</div>
</div> </div>
<div class="cv-kpi"> <div class="cv-kpi">
<div class="cv-kpi-label">Confirmate</div> <div class="cv-kpi-label">{{ __('Confirmate') }}</div>
<div class="cv-kpi-value green">{{ $stats['confirmed_count'] }} / {{ $stats['total_count'] }}</div> <div class="cv-kpi-value green">{{ $stats['confirmed_count'] }} / {{ $stats['total_count'] }}</div>
<div class="cv-kpi-sub">{{ $stats['confirmation_rate_pct'] }}% rata confirmare</div> <div class="cv-kpi-sub">{{ $stats['confirmation_rate_pct'] }}% rata confirmare</div>
</div> </div>
<div class="cv-kpi"> <div class="cv-kpi">
<div class="cv-kpi-label">No-show alert</div> <div class="cv-kpi-label">{{ __('No-show alert') }}</div>
<div class="cv-kpi-value red">{{ $stats['no_show_alert'] }}</div> <div class="cv-kpi-value red">{{ $stats['no_show_alert'] }}</div>
<div class="cv-kpi-sub">{{ __('programări neconfirmate &lt; 24h') }}</div> <div class="cv-kpi-sub">{{ __('programări neconfirmate &lt; 24h') }}</div>
</div> </div>
@@ -196,32 +196,32 @@
<button class="cv-btn" wire:click="setWeekToday">{{ __('Astăzi') }}</button> <button class="cv-btn" wire:click="setWeekToday">{{ __('Astăzi') }}</button>
</div> </div>
<div class="cv-toolbar-group"> <div class="cv-toolbar-group">
<span class="cv-toolbar-label">Mod:</span> <span class="cv-toolbar-label">{{ __('Mod:') }}</span>
<div class="cv-view-switcher"> <div class="cv-view-switcher">
<button class="{{ $viewMode === 'day' ? 'active' : '' }}" wire:click="setViewMode('day')">Zi</button> <button class="{{ $viewMode === 'day' ? 'active' : '' }}" wire:click="setViewMode('day')">{{ __('Zi') }}</button>
<button class="{{ $viewMode === 'week' ? 'active' : '' }}" wire:click="setViewMode('week')">{{ __('Săpt') }}</button> <button class="{{ $viewMode === 'week' ? 'active' : '' }}" wire:click="setViewMode('week')">{{ __('Săpt') }}</button>
<button class="{{ $viewMode === 'month' ? 'active' : '' }}" wire:click="setViewMode('month')">{{ __('Lună') }}</button> <button class="{{ $viewMode === 'month' ? 'active' : '' }}" wire:click="setViewMode('month')">{{ __('Lună') }}</button>
<button class="{{ $viewMode === 'custom' ? 'active' : '' }}" wire:click="setViewMode('custom')">Custom</button> <button class="{{ $viewMode === 'custom' ? 'active' : '' }}" wire:click="setViewMode('custom')">{{ __('Custom') }}</button>
<button class="{{ $viewMode === 'list' ? 'active' : '' }}" wire:click="setViewMode('list')">{{ __('Listă') }}</button> <button class="{{ $viewMode === 'list' ? 'active' : '' }}" wire:click="setViewMode('list')">{{ __('Listă') }}</button>
</div> </div>
</div> </div>
<div class="cv-toolbar-group"> <div class="cv-toolbar-group">
<span class="cv-toolbar-label">Grupare:</span> <span class="cv-toolbar-label">{{ __('Grupare:') }}</span>
<div class="cv-view-switcher"> <div class="cv-view-switcher">
<button class="{{ $groupBy === 'post' ? 'active' : '' }}" wire:click="setGroupBy('post')">Pod</button> <button class="{{ $groupBy === 'post' ? 'active' : '' }}" wire:click="setGroupBy('post')">{{ __('Pod') }}</button>
<button class="{{ $groupBy === 'master' ? 'active' : '' }}" wire:click="setGroupBy('master')">Mecanic</button> <button class="{{ $groupBy === 'master' ? 'active' : '' }}" wire:click="setGroupBy('master')">{{ __('Mecanic') }}</button>
</div> </div>
</div> </div>
@if ($viewMode === 'custom') @if ($viewMode === 'custom')
<div class="cv-toolbar-group"> <div class="cv-toolbar-group">
<span class="cv-toolbar-label">De la:</span> <span class="cv-toolbar-label">{{ __('De la:') }}</span>
<input type="date" class="cv-select" wire:model.live="customStart"> <input type="date" class="cv-select" wire:model.live="customStart">
<span class="cv-toolbar-label">{{ __('Până la:') }}</span> <span class="cv-toolbar-label">{{ __('Până la:') }}</span>
<input type="date" class="cv-select" wire:model.live="customEnd"> <input type="date" class="cv-select" wire:model.live="customEnd">
</div> </div>
@endif @endif
<div class="cv-toolbar-group" style="margin-left:auto;"> <div class="cv-toolbar-group" style="margin-left:auto;">
<span class="cv-toolbar-label">Filtru:</span> <span class="cv-toolbar-label">{{ __('Filtru:') }}</span>
<select class="cv-select" wire:change="setMasterFilter($event.target.value)"> <select class="cv-select" wire:change="setMasterFilter($event.target.value)">
<option value="">{{ __('Toți mecanicii') }}</option> <option value="">{{ __('Toți mecanicii') }}</option>
@foreach ($this->getMasterOptions() as $id => $name) @foreach ($this->getMasterOptions() as $id => $name)
@@ -230,8 +230,8 @@
</select> </select>
<select class="cv-select" wire:change="setStatusFilter($event.target.value)"> <select class="cv-select" wire:change="setStatusFilter($event.target.value)">
<option value="all">{{ __('Toate statusurile') }}</option> <option value="all">{{ __('Toate statusurile') }}</option>
<option value="confirmed" @if($statusFilter==='confirmed')selected @endif>Confirmate</option> <option value="confirmed" @if($statusFilter==='confirmed')selected @endif>{{ __('Confirmate') }}</option>
<option value="unconfirmed" @if($statusFilter==='unconfirmed')selected @endif>Neconfirmate</option> <option value="unconfirmed" @if($statusFilter==='unconfirmed')selected @endif>{{ __('Neconfirmate') }}</option>
<option value="in_work" @if($statusFilter==='in_work')selected @endif>{{ __('În lucru') }}</option> <option value="in_work" @if($statusFilter==='in_work')selected @endif>{{ __('În lucru') }}</option>
</select> </select>
</div> </div>
@@ -239,7 +239,7 @@
<div class="cv-notes"> <div class="cv-notes">
<strong>{{ __('⚙ Cum funcționează:') }}</strong> <strong>{{ __('⚙ Cum funcționează:') }}</strong>
Matricea <strong>{{ $groupBy === 'post' ? 'Pod' : 'Mecanic' }} × Zile</strong>{{ __('. Drag-and-drop între celule pentru a reprograma. Indicator de încărcare pe fiecare celulă (ore_planificate / capacitate). Click pe celulă goală → programare rapidă. Click pe eveniment → detalii.') }} {{ __('Matricea') }} <strong>{{ $groupBy === 'post' ? 'Pod' : 'Mecanic' }} × Zile</strong>{{ __('. Drag-and-drop între celule pentru a reprograma. Indicator de încărcare pe fiecare celulă (ore_planificate / capacitate). Click pe celulă goală → programare rapidă. Click pe eveniment → detalii.') }}
</div> </div>
@if ($viewMode === 'list') @if ($viewMode === 'list')
@@ -286,7 +286,7 @@
@endforeach @endforeach
@foreach ($rows as $row) @foreach ($rows as $row)
<div class="cv-cell cv-row-label" @if ($row['kind'] === 'post' && $row['id']) wire:click="openRenamePost({{ $row['id'] }})" style="cursor:pointer;" title="Click pentru a redenumi" @endif> <div class="cv-cell cv-row-label" @if ($row['kind'] === 'post' && $row['id']) wire:click="openRenamePost({{ $row['id'] }})" style="cursor:pointer;" title="{{ __('Click pentru a redenumi') }}" @endif>
<span class="cv-row-color" style="background:{{ $row['color'] }}"></span> <span class="cv-row-color" style="background:{{ $row['color'] }}"></span>
<div> <div>
<div>{{ $row['name'] }} @if ($row['kind'] === 'post') <span style="font-size:10px; opacity:0.5;"></span>@endif</div> <div>{{ $row['name'] }} @if ($row['kind'] === 'post') <span style="font-size:10px; opacity:0.5;"></span>@endif</div>
@@ -338,7 +338,7 @@
<h3>{{ __('Legendă') }}</h3> <h3>{{ __('Legendă') }}</h3>
<div class="cv-legend-row"> <div class="cv-legend-row">
<div> <div>
<div class="cv-legend-col">Mecanici</div> <div class="cv-legend-col">{{ __('Mecanici') }}</div>
<div class="cv-legend-items"> <div class="cv-legend-items">
@foreach ($this->getMasterOptions() as $id => $name) @foreach ($this->getMasterOptions() as $id => $name)
@php @php
@@ -355,13 +355,13 @@
<div class="cv-legend-items"> <div class="cv-legend-items">
<div class="cv-legend-item"><span class="cv-load" style="position:static;">05h/10</span> {{ __('liber/ușor') }}</div> <div class="cv-legend-item"><span class="cv-load" style="position:static;">05h/10</span> {{ __('liber/ușor') }}</div>
<div class="cv-legend-item"><span class="cv-load warn" style="position:static;">58.5h/10</span> mediu</div> <div class="cv-legend-item"><span class="cv-load warn" style="position:static;">58.5h/10</span> mediu</div>
<div class="cv-legend-item"><span class="cv-load full" style="position:static;">≥9h/10</span> plin</div> <div class="cv-legend-item"><span class="cv-load full" style="position:static;">{{ __('≥9h/10') }}</span> plin</div>
</div> </div>
</div> </div>
<div> <div>
<div class="cv-legend-col">Stare zi</div> <div class="cv-legend-col">{{ __('Stare zi') }}</div>
<div class="cv-legend-items"> <div class="cv-legend-items">
<div class="cv-legend-item"><span class="cv-legend-dot" style="background:#FAFAFA; border:1px solid var(--cv-border);"></span> Weekend</div> <div class="cv-legend-item"><span class="cv-legend-dot" style="background:#FAFAFA; border:1px solid var(--cv-border);"></span> {{ __('Weekend') }}</div>
<div class="cv-legend-item"><span class="cv-legend-dot" style="background:repeating-linear-gradient(45deg,#FAFAFA,#FAFAFA 2px,#F1F5F9 2px,#F1F5F9 4px); border:1px solid var(--cv-border);"></span> {{ __('Închis (Duminică/sărbătoare)') }}</div> <div class="cv-legend-item"><span class="cv-legend-dot" style="background:repeating-linear-gradient(45deg,#FAFAFA,#FAFAFA 2px,#F1F5F9 2px,#F1F5F9 4px); border:1px solid var(--cv-border);"></span> {{ __('Închis (Duminică/sărbătoare)') }}</div>
<div class="cv-legend-item"><span class="cv-legend-dot" style="background:var(--cv-blue-bg); border:1px solid var(--cv-blue);"></span> {{ __('Astăzi') }}</div> <div class="cv-legend-item"><span class="cv-legend-dot" style="background:var(--cv-blue-bg); border:1px solid var(--cv-blue);"></span> {{ __('Astăzi') }}</div>
</div> </div>
@@ -382,11 +382,11 @@
<div class="cv-panel-body"> <div class="cv-panel-body">
<div class="cv-two-cols"> <div class="cv-two-cols">
@if ($openEvent['client_name'])<div class="cv-pfield"><label>{{ __('Client') }}</label><div class="cv-pfield-val">{{ $openEvent['client_name'] }}</div></div>@endif @if ($openEvent['client_name'])<div class="cv-pfield"><label>{{ __('Client') }}</label><div class="cv-pfield-val">{{ $openEvent['client_name'] }}</div></div>@endif
@if ($openEvent['client_phone'])<div class="cv-pfield"><label>Telefon</label><div class="cv-pfield-val" style="color:var(--cv-blue);">{{ $openEvent['client_phone'] }}</div></div>@endif @if ($openEvent['client_phone'])<div class="cv-pfield"><label>{{ __('Telefon') }}</label><div class="cv-pfield-val" style="color:var(--cv-blue);">{{ $openEvent['client_phone'] }}</div></div>@endif
@if ($openEvent['vehicle'])<div class="cv-pfield"><label>{{ __('Auto') }}</label><div class="cv-pfield-val">{{ $openEvent['vehicle'] }}</div></div>@endif @if ($openEvent['vehicle'])<div class="cv-pfield"><label>{{ __('Auto') }}</label><div class="cv-pfield-val">{{ $openEvent['vehicle'] }}</div></div>@endif
@if ($openEvent['plate'])<div class="cv-pfield"><label>Numar</label><div class="cv-pfield-val">{{ $openEvent['plate'] }}</div></div>@endif @if ($openEvent['plate'])<div class="cv-pfield"><label>{{ __('Numar') }}</label><div class="cv-pfield-val">{{ $openEvent['plate'] }}</div></div>@endif
@if ($openEvent['master_name'])<div class="cv-pfield"><label>Maistru</label><div class="cv-pfield-val">{{ $openEvent['master_name'] }}</div></div>@endif @if ($openEvent['master_name'])<div class="cv-pfield"><label>{{ __('Maistru') }}</label><div class="cv-pfield-val">{{ $openEvent['master_name'] }}</div></div>@endif
@if ($openEvent['post_name'])<div class="cv-pfield"><label>Pod</label><div class="cv-pfield-val">{{ $openEvent['post_name'] }}</div></div>@endif @if ($openEvent['post_name'])<div class="cv-pfield"><label>{{ __('Pod') }}</label><div class="cv-pfield-val">{{ $openEvent['post_name'] }}</div></div>@endif
</div> </div>
@if ($openEvent['notes']) @if ($openEvent['notes'])
<div class="cv-pfield"><label>{{ __('Notițe') }}</label><div class="cv-pfield-val" style="white-space:pre-wrap;">{{ $openEvent['notes'] }}</div></div> <div class="cv-pfield"><label>{{ __('Notițe') }}</label><div class="cv-pfield-val" style="white-space:pre-wrap;">{{ $openEvent['notes'] }}</div></div>
@@ -394,7 +394,7 @@
</div> </div>
<div class="cv-panel-actions"> <div class="cv-panel-actions">
<button class="cv-btn" wire:click="deleteEvent({{ $openEvent['id'] }})" onclick="return confirm('Ștergi această programare?')">{{ __('🗑 Șterge') }}</button> <button class="cv-btn" wire:click="deleteEvent({{ $openEvent['id'] }})" onclick="return confirm('Ștergi această programare?')">{{ __('🗑 Șterge') }}</button>
<a class="cv-btn cv-btn-primary" href="{{ route('filament.tenant.resources.appointments.edit', ['record' => $openEvent['id']]) }}"> Editare</a> <a class="cv-btn cv-btn-primary" href="{{ route('filament.tenant.resources.appointments.edit', ['record' => $openEvent['id']]) }}">{{ __('↗ Editare') }}</a>
</div> </div>
@endif @endif
</div> </div>
@@ -410,10 +410,10 @@
<div class="cv-close" wire:click="$set('showNewForm', false)"></div> <div class="cv-close" wire:click="$set('showNewForm', false)"></div>
</div> </div>
<div class="cv-panel-body"> <div class="cv-panel-body">
<div class="cv-pfield"><label>Subiect *</label><input wire:model="newAppt.title" type="text" placeholder="Schimb ulei + filtru"></div> <div class="cv-pfield"><label>{{ __('Subiect *') }}</label><input wire:model="newAppt.title" type="text" placeholder="{{ __('Schimb ulei + filtru') }}"></div>
<div class="cv-two-cols"> <div class="cv-two-cols">
<div class="cv-pfield"><label>{{ __('Data *') }}</label><input wire:model="newAppt.date" type="date"></div> <div class="cv-pfield"><label>{{ __('Data *') }}</label><input wire:model="newAppt.date" type="date"></div>
<div class="cv-pfield"><label>Pod</label> <div class="cv-pfield"><label>{{ __('Pod') }}</label>
<select wire:model="newAppt.post_id"> <select wire:model="newAppt.post_id">
<option value=""></option> <option value=""></option>
@foreach ($this->getPostOptions() as $id => $name) @foreach ($this->getPostOptions() as $id => $name)
@@ -421,7 +421,7 @@
@endforeach @endforeach
</select> </select>
</div> </div>
<div class="cv-pfield"><label>De la</label><input wire:model="newAppt.time_start" type="time"></div> <div class="cv-pfield"><label>{{ __('De la') }}</label><input wire:model="newAppt.time_start" type="time"></div>
<div class="cv-pfield"><label>{{ __('Până la') }}</label><input wire:model="newAppt.time_end" type="time"></div> <div class="cv-pfield"><label>{{ __('Până la') }}</label><input wire:model="newAppt.time_end" type="time"></div>
</div> </div>
<div class="cv-pfield"><label>{{ __('Client') }}</label> <div class="cv-pfield"><label>{{ __('Client') }}</label>
@@ -432,7 +432,7 @@
@endforeach @endforeach
</select> </select>
</div> </div>
<div class="cv-pfield"><label>Maistru</label> <div class="cv-pfield"><label>{{ __('Maistru') }}</label>
<select wire:model="newAppt.master_id"> <select wire:model="newAppt.master_id">
<option value=""></option> <option value=""></option>
@foreach ($this->getMasterOptions() as $id => $name) @foreach ($this->getMasterOptions() as $id => $name)
@@ -457,11 +457,11 @@
<p style="font-size:13px; color:#4a5568; margin-bottom:16px;">{{ __('Poți adăuga un loc de muncă (cu lift sau fără — ex: curte, atelier electric).') }}</p> <p style="font-size:13px; color:#4a5568; margin-bottom:16px;">{{ __('Poți adăuga un loc de muncă (cu lift sau fără — ex: curte, atelier electric).') }}</p>
<div class="cv-pfield"> <div class="cv-pfield">
<label>{{ __('Nume *') }}</label> <label>{{ __('Nume *') }}</label>
<input type="text" wire:model="newPost.name" placeholder="Ex: Curte 1, Pod 4, Atelier electric" autofocus> <input type="text" wire:model="newPost.name" placeholder="{{ __('Ex: Curte 1, Pod 4, Atelier electric') }}" autofocus>
</div> </div>
<div class="cv-two-cols"> <div class="cv-two-cols">
<div class="cv-pfield"> <div class="cv-pfield">
<label>Culoare</label> <label>{{ __('Culoare') }}</label>
<input type="color" wire:model="newPost.color" style="height:40px; padding:4px;"> <input type="color" wire:model="newPost.color" style="height:40px; padding:4px;">
</div> </div>
<div class="cv-pfield"> <div class="cv-pfield">
@@ -491,9 +491,9 @@
<input type="text" wire:model="renamingPostName" autofocus> <input type="text" wire:model="renamingPostName" autofocus>
</div> </div>
<div class="cv-pfield"> <div class="cv-pfield">
<label>Mecanic implicit</label> <label>{{ __('Mecanic implicit') }}</label>
<select wire:model="renamingPostMasterId"> <select wire:model="renamingPostMasterId">
<option value=""> niciunul </option> <option value="">{{ __('— niciunul —') }}</option>
@foreach ($this->getMasterOptions() as $id => $name) @foreach ($this->getMasterOptions() as $id => $name)
<option value="{{ $id }}">{{ $name }}</option> <option value="{{ $id }}">{{ $name }}</option>
@endforeach @endforeach
@@ -54,7 +54,7 @@
<div class="wiz-field"> <div class="wiz-field">
<label>{{ __('Furnizor *') }}</label> <label>{{ __('Furnizor *') }}</label>
<select wire:model="supplierId"> <select wire:model="supplierId">
<option value=""> alege </option> <option value="">{{ __('— alege —') }}</option>
@foreach ($this->getSupplierOptions() as $id => $name) @foreach ($this->getSupplierOptions() as $id => $name)
<option value="{{ $id }}">{{ $name }}</option> <option value="{{ $id }}">{{ $name }}</option>
@endforeach @endforeach
@@ -102,21 +102,21 @@
<div class="wiz-grid"> <div class="wiz-grid">
<div class="wiz-field"> <div class="wiz-field">
<label>Coloana Articol *</label> <label>{{ __('Coloana Articol *') }}</label>
<select wire:model="mapping.article_col"> <select wire:model="mapping.article_col">
<option value=""></option> <option value=""></option>
@foreach ($headersPreview['columns'] as $c)<option value="{{ $c }}">{{ $c }}</option>@endforeach @foreach ($headersPreview['columns'] as $c)<option value="{{ $c }}">{{ $c }}</option>@endforeach
</select> </select>
</div> </div>
<div class="wiz-field"> <div class="wiz-field">
<label>Coloana Denumire *</label> <label>{{ __('Coloana Denumire *') }}</label>
<select wire:model="mapping.name_col"> <select wire:model="mapping.name_col">
<option value=""></option> <option value=""></option>
@foreach ($headersPreview['columns'] as $c)<option value="{{ $c }}">{{ $c }}</option>@endforeach @foreach ($headersPreview['columns'] as $c)<option value="{{ $c }}">{{ $c }}</option>@endforeach
</select> </select>
</div> </div>
<div class="wiz-field"> <div class="wiz-field">
<label>Coloana Cantitate *</label> <label>{{ __('Coloana Cantitate *') }}</label>
<select wire:model="mapping.qty_col"> <select wire:model="mapping.qty_col">
<option value=""></option> <option value=""></option>
@foreach ($headersPreview['columns'] as $c)<option value="{{ $c }}">{{ $c }}</option>@endforeach @foreach ($headersPreview['columns'] as $c)<option value="{{ $c }}">{{ $c }}</option>@endforeach
@@ -151,7 +151,7 @@
<div class="wiz-actions"> <div class="wiz-actions">
<button class="wiz-btn" wire:click="$set('step', 1)">{{ __('← Înapoi') }}</button> <button class="wiz-btn" wire:click="$set('step', 1)">{{ __('← Înapoi') }}</button>
<button class="wiz-btn wiz-btn-primary" wire:click="goToStep3">Previzualizare </button> <button class="wiz-btn wiz-btn-primary" wire:click="goToStep3">{{ __('Previzualizare →') }}</button>
</div> </div>
@endif @endif
@@ -178,7 +178,7 @@
<table class="wiz-preview-table"> <table class="wiz-preview-table">
<thead> <thead>
<tr> <tr>
<th>Articol</th><th>Denumire</th><th>Brand</th><th>Cant.</th><th>{{ __('Preț') }}</th><th>Status</th> <th>{{ __('Articol') }}</th><th>{{ __('Denumire') }}</th><th>{{ __('Brand') }}</th><th>{{ __('Cant.') }}</th><th>{{ __('Preț') }}</th><th>{{ __('Status') }}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@@ -56,8 +56,8 @@
@if ($tab === 'overview') @if ($tab === 'overview')
<div class="fn-grid fn-grid-4"> <div class="fn-grid fn-grid-4">
<div class="fn-card"><div class="fn-stat-l">{{ __('Încasări') }}</div><div class="fn-stat-v fn-success">{{ number_format($data['income'], 2, '.', ' ') }} MDL</div></div> <div class="fn-card"><div class="fn-stat-l">{{ __('Încasări') }}</div><div class="fn-stat-v fn-success">{{ number_format($data['income'], 2, '.', ' ') }} MDL</div></div>
<div class="fn-card"><div class="fn-stat-l">Cheltuieli</div><div class="fn-stat-v fn-danger">{{ number_format($data['expenses'], 2, '.', ' ') }} MDL</div></div> <div class="fn-card"><div class="fn-stat-l">{{ __('Cheltuieli') }}</div><div class="fn-stat-v fn-danger">{{ number_format($data['expenses'], 2, '.', ' ') }} MDL</div></div>
<div class="fn-card"><div class="fn-stat-l">Profit</div><div class="fn-stat-v {{ $data['profit'] >= 0 ? 'fn-success' : 'fn-danger' }}">{{ number_format($data['profit'], 2, '.', ' ') }} MDL</div></div> <div class="fn-card"><div class="fn-stat-l">{{ __('Profit') }}</div><div class="fn-stat-v {{ $data['profit'] >= 0 ? 'fn-success' : 'fn-danger' }}">{{ number_format($data['profit'], 2, '.', ' ') }} MDL</div></div>
<div class="fn-card"><div class="fn-stat-l">{{ __('Datorii clienți') }}</div><div class="fn-stat-v fn-warning">{{ number_format($data['debtTotal'], 2, '.', ' ') }} MDL</div></div> <div class="fn-card"><div class="fn-stat-l">{{ __('Datorii clienți') }}</div><div class="fn-stat-v fn-warning">{{ number_format($data['debtTotal'], 2, '.', ' ') }} MDL</div></div>
</div> </div>
@@ -80,22 +80,22 @@
@endforeach @endforeach
</div> </div>
<div style="text-align:right;margin-top:12px;font-size:14px;"> <div style="text-align:right;margin-top:12px;font-size:14px;">
Net: <b class="{{ $data['net'] >= 0 ? 'fn-success' : 'fn-danger' }}">{{ number_format($data['net'], 2, '.', ' ') }} MDL</b> {{ __('Net:') }} <b class="{{ $data['net'] >= 0 ? 'fn-success' : 'fn-danger' }}">{{ number_format($data['net'], 2, '.', ' ') }} MDL</b>
</div> </div>
</div> </div>
@elseif ($tab === 'pnl') @elseif ($tab === 'pnl')
<div class="fn-grid fn-grid-2" style="margin-bottom: 16px;"> <div class="fn-grid fn-grid-2" style="margin-bottom: 16px;">
<div class="fn-card"> <div class="fn-card">
<div class="fn-h3">Venituri</div> <div class="fn-h3">{{ __('Venituri') }}</div>
<table class="fn-tbl"> <table class="fn-tbl">
<tr><td>Manopere</td><td class="fn-r">{{ number_format($data['worksRevenue'], 2, '.', ' ') }}</td></tr> <tr><td>{{ __('Manopere') }}</td><td class="fn-r">{{ number_format($data['worksRevenue'], 2, '.', ' ') }}</td></tr>
<tr><td>{{ __('Piese (vânzare)') }}</td><td class="fn-r">{{ number_format($data['partsRevenue'], 2, '.', ' ') }}</td></tr> <tr><td>{{ __('Piese (vânzare)') }}</td><td class="fn-r">{{ number_format($data['partsRevenue'], 2, '.', ' ') }}</td></tr>
<tr style="border-top:2px solid #e5e7eb;"><td class="fn-bold">{{ __('Total venituri') }}</td><td class="fn-r fn-bold fn-success">{{ number_format($data['totalRevenue'], 2, '.', ' ') }}</td></tr> <tr style="border-top:2px solid #e5e7eb;"><td class="fn-bold">{{ __('Total venituri') }}</td><td class="fn-r fn-bold fn-success">{{ number_format($data['totalRevenue'], 2, '.', ' ') }}</td></tr>
</table> </table>
</div> </div>
<div class="fn-card"> <div class="fn-card">
<div class="fn-h3">Costuri</div> <div class="fn-h3">{{ __('Costuri') }}</div>
<table class="fn-tbl"> <table class="fn-tbl">
<tr><td>{{ __('Cost piese (achiziție)') }}</td><td class="fn-r fn-danger">{{ number_format($data['partsCost'], 2, '.', ' ') }}</td></tr> <tr><td>{{ __('Cost piese (achiziție)') }}</td><td class="fn-r fn-danger">{{ number_format($data['partsCost'], 2, '.', ' ') }}</td></tr>
@foreach ($data['expensesByCat'] as $row) @foreach ($data['expensesByCat'] as $row)
@@ -106,7 +106,7 @@
</div> </div>
</div> </div>
<div class="fn-card" style="text-align:right;"> <div class="fn-card" style="text-align:right;">
<div class="fn-stat-l">Profit net</div> <div class="fn-stat-l">{{ __('Profit net') }}</div>
<div class="fn-stat-v {{ $data['netProfit'] >= 0 ? 'fn-success' : 'fn-danger' }}">{{ number_format($data['netProfit'], 2, '.', ' ') }} MDL</div> <div class="fn-stat-v {{ $data['netProfit'] >= 0 ? 'fn-success' : 'fn-danger' }}">{{ number_format($data['netProfit'], 2, '.', ' ') }} MDL</div>
<div style="font-size:12px;color:#6b7280;margin-top:4px;">Marjă: {{ $data['marginPct'] }}%</div> <div style="font-size:12px;color:#6b7280;margin-top:4px;">Marjă: {{ $data['marginPct'] }}%</div>
<div style="font-size:11px;color:#9ca3af;margin-top:4px;">Marjă piese: {{ number_format($data['partsMargin'], 2, '.', ' ') }} MDL</div> <div style="font-size:11px;color:#9ca3af;margin-top:4px;">Marjă piese: {{ number_format($data['partsMargin'], 2, '.', ' ') }} MDL</div>
@@ -115,7 +115,7 @@
@elseif ($tab === 'balance') @elseif ($tab === 'balance')
<div class="fn-grid fn-grid-2"> <div class="fn-grid fn-grid-2">
<div class="fn-card"> <div class="fn-card">
<div class="fn-h3">Active</div> <div class="fn-h3">{{ __('Active') }}</div>
<table class="fn-tbl"> <table class="fn-tbl">
<tr><td>{{ __('Numerar net (toate plățile - cheltuieli)') }}</td><td class="fn-r fn-bold fn-success">{{ number_format($data['netCash'], 2, '.', ' ') }} MDL</td></tr> <tr><td>{{ __('Numerar net (toate plățile - cheltuieli)') }}</td><td class="fn-r fn-bold fn-success">{{ number_format($data['netCash'], 2, '.', ' ') }} MDL</td></tr>
<tr><td>{{ __('Datorii clienți (de încasat)') }}</td><td class="fn-r fn-warning">{{ number_format($data['debt'], 2, '.', ' ') }} MDL</td></tr> <tr><td>{{ __('Datorii clienți (de încasat)') }}</td><td class="fn-r fn-warning">{{ number_format($data['debt'], 2, '.', ' ') }} MDL</td></tr>
@@ -35,7 +35,7 @@
</style> </style>
<div style="background: #fef3c7; border-left: 4px solid #f59e0b; padding: 12px 16px; border-radius: 6px; margin-bottom: 16px; font-size: 13px;"> <div style="background: #fef3c7; border-left: 4px solid #f59e0b; padding: 12px 16px; border-radius: 6px; margin-bottom: 16px; font-size: 13px;">
<b>Status:</b> {{ __('aceste integrări sunt placeholder UI le configurezi aici, dar implementarea actuală a fiecărui canal e proiect separat. {{ __('️') }} <b>{{ __('Status:') }}</b> {{ __('aceste integrări sunt placeholder UI le configurezi aici, dar implementarea actuală a fiecărui canal e proiect separat.
Pentru moment, valorile salvate sunt accesibile în cod via') }} <code>$tenant->settings['integrations']</code>. Pentru moment, valorile salvate sunt accesibile în cod via') }} <code>$tenant->settings['integrations']</code>.
</div> </div>
@@ -30,12 +30,12 @@
<table class="kpi-table"> <table class="kpi-table">
<thead> <thead>
<tr> <tr>
<th>Mecanic</th> <th>{{ __('Mecanic') }}</th>
<th>{{ __('Lucrări') }}</th> <th>{{ __('Lucrări') }}</th>
<th>Norma ore</th> <th>{{ __('Norma ore') }}</th>
<th>Real ore</th> <th>{{ __('Real ore') }}</th>
<th>{{ __('Eficiență') }}</th> <th>{{ __('Eficiență') }}</th>
<th>Venit manopere</th> <th>{{ __('Venit manopere') }}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@@ -38,7 +38,7 @@
<div class="ob-wrap"> <div class="ob-wrap">
<div class="ob-intro"> <div class="ob-intro">
<h3>👋 Bun venit!</h3> <h3>{{ __('👋 Bun venit!') }}</h3>
{{ __('Hai facem 30 de secunde de configurare ca AutoCRM-ul tău arate exact cum vrei tu. {{ __('Hai facem 30 de secunde de configurare ca AutoCRM-ul tău arate exact cum vrei tu.
Toate aceste setări pot fi schimbate oricând din meniul „Setări".') }} Toate aceste setări pot fi schimbate oricând din meniul „Setări".') }}
</div> </div>
@@ -403,7 +403,7 @@
<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>
@@ -411,7 +411,7 @@
</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>
@@ -35,7 +35,7 @@
</td> </td>
</tr> </tr>
@empty @empty
<tr><td colspan="2" class="rc-empty">Niciun client pierdut. 🎉</td></tr> <tr><td colspan="2" class="rc-empty">{{ __('Niciun client pierdut. 🎉') }}</td></tr>
@endforelse @endforelse
</table> </table>
</div> </div>
@@ -104,7 +104,7 @@
<div class="rp-card"> <div class="rp-card">
<div class="rp-h3">{{ __('Încasări pe metodă') }}</div> <div class="rp-h3">{{ __('Încasări pe metodă') }}</div>
<table class="rp-tbl"> <table class="rp-tbl">
<thead><tr><th>{{ __('Metodă') }}</th><th class="rp-right">Tranz.</th><th class="rp-right">{{ __('Total') }}</th></tr></thead> <thead><tr><th>{{ __('Metodă') }}</th><th class="rp-right">{{ __('Tranz.') }}</th><th class="rp-right">{{ __('Total') }}</th></tr></thead>
<tbody> <tbody>
@forelse ($data['by_method'] as $row) @forelse ($data['by_method'] as $row)
<tr> <tr>
@@ -119,9 +119,9 @@
</table> </table>
</div> </div>
<div class="rp-card"> <div class="rp-card">
<div class="rp-h3">Cheltuieli pe categorie</div> <div class="rp-h3">{{ __('Cheltuieli pe categorie') }}</div>
<table class="rp-tbl"> <table class="rp-tbl">
<thead><tr><th>Categorie</th><th class="rp-right">{{ __('Nr.') }}</th><th class="rp-right">{{ __('Total') }}</th></tr></thead> <thead><tr><th>{{ __('Categorie') }}</th><th class="rp-right">{{ __('Nr.') }}</th><th class="rp-right">{{ __('Total') }}</th></tr></thead>
<tbody> <tbody>
@forelse ($data['by_category'] as $row) @forelse ($data['by_category'] as $row)
<tr> <tr>
@@ -150,7 +150,7 @@
</div> </div>
</div> </div>
<div class="rp-card"> <div class="rp-card">
<div class="rp-h3">Pe status</div> <div class="rp-h3">{{ __('Pe status') }}</div>
<table class="rp-tbl"> <table class="rp-tbl">
<tbody> <tbody>
@forelse ($data['by_status'] as $row) @forelse ($data['by_status'] as $row)
@@ -169,11 +169,11 @@
<div class="rp-card" style="overflow-x: auto;"> <div class="rp-card" style="overflow-x: auto;">
<table class="rp-tbl"> <table class="rp-tbl">
<thead><tr> <thead><tr>
<th>Mecanic</th> <th>{{ __('Mecanic') }}</th>
<th>Specializare</th> <th>{{ __('Specializare') }}</th>
<th class="rp-right">Manopere</th> <th class="rp-right">{{ __('Manopere') }}</th>
<th class="rp-right">{{ __('Ore') }}</th> <th class="rp-right">{{ __('Ore') }}</th>
<th class="rp-right">Venit</th> <th class="rp-right">{{ __('Venit') }}</th>
</tr></thead> </tr></thead>
<tbody> <tbody>
@forelse ($data['rows'] as $r) @forelse ($data['rows'] as $r)
@@ -185,7 +185,7 @@
<td class="rp-right rp-bold rp-success">{{ number_format($r['revenue'], 2, '.', ' ') }}</td> <td class="rp-right rp-bold rp-success">{{ number_format($r['revenue'], 2, '.', ' ') }}</td>
</tr> </tr>
@empty @empty
<tr><td colspan="5" class="rp-muted">Niciun mecanic activ.</td></tr> <tr><td colspan="5" class="rp-muted">{{ __('Niciun mecanic activ.') }}</td></tr>
@endforelse @endforelse
</tbody> </tbody>
</table> </table>
@@ -198,7 +198,7 @@
<th>{{ __('Manoperă') }}</th> <th>{{ __('Manoperă') }}</th>
<th class="rp-right">{{ __('Nr.') }}</th> <th class="rp-right">{{ __('Nr.') }}</th>
<th class="rp-right">{{ __('Ore total') }}</th> <th class="rp-right">{{ __('Ore total') }}</th>
<th class="rp-right">Venit</th> <th class="rp-right">{{ __('Venit') }}</th>
</tr></thead> </tr></thead>
<tbody> <tbody>
@forelse ($data['rows'] as $r) @forelse ($data['rows'] as $r)
@@ -220,7 +220,7 @@
<div class="rp-card" style="overflow-x: auto;"> <div class="rp-card" style="overflow-x: auto;">
<div class="rp-h3">{{ __('Top piese vândute') }}</div> <div class="rp-h3">{{ __('Top piese vândute') }}</div>
<table class="rp-tbl"> <table class="rp-tbl">
<thead><tr><th>{{ __('Piesă') }}</th><th class="rp-right">Cant.</th><th class="rp-right">Venit</th><th class="rp-right">{{ __('Marjă') }}</th></tr></thead> <thead><tr><th>{{ __('Piesă') }}</th><th class="rp-right">{{ __('Cant.') }}</th><th class="rp-right">{{ __('Venit') }}</th><th class="rp-right">{{ __('Marjă') }}</th></tr></thead>
<tbody> <tbody>
@forelse ($data['sold'] as $r) @forelse ($data['sold'] as $r)
<tr> <tr>
@@ -238,7 +238,7 @@
<div class="rp-card"> <div class="rp-card">
<div class="rp-h3">{{ __('⚠️ Stoc minim atins') }}</div> <div class="rp-h3">{{ __('⚠️ Stoc minim atins') }}</div>
<table class="rp-tbl"> <table class="rp-tbl">
<thead><tr><th>{{ __('Piesă') }}</th><th class="rp-right">{{ __('Stoc') }}</th><th class="rp-right">Min.</th></tr></thead> <thead><tr><th>{{ __('Piesă') }}</th><th class="rp-right">{{ __('Stoc') }}</th><th class="rp-right">{{ __('Min.') }}</th></tr></thead>
<tbody> <tbody>
@forelse ($data['low'] as $p) @forelse ($data['low'] as $p)
<tr> <tr>
@@ -270,7 +270,7 @@
<td class="rp-right rp-bold">{{ $row->cnt }}</td> <td class="rp-right rp-bold">{{ $row->cnt }}</td>
</tr> </tr>
@empty @empty
<tr><td colspan="2" class="rp-muted">Niciun lead.</td></tr> <tr><td colspan="2" class="rp-muted">{{ __('Niciun lead.') }}</td></tr>
@endforelse @endforelse
</tbody> </tbody>
</table> </table>
@@ -70,7 +70,7 @@
</div> </div>
<div x-show="lastDecoded" class="sc-status" x-cloak> <div x-show="lastDecoded" class="sc-status" x-cloak>
Ultimul cod citit: <strong x-text="lastDecoded"></strong> {{ __('Ultimul cod citit:') }} <strong x-text="lastDecoded"></strong>
</div> </div>
<div class="sc-manual"> <div class="sc-manual">
@@ -21,9 +21,9 @@
</style> </style>
<div class="vs-card"> <div class="vs-card">
<h2 style="font-size:16px;font-weight:600;margin-bottom:12px;">🔎 Decode VIN</h2> <h2 style="font-size:16px;font-weight:600;margin-bottom:12px;">{{ __('🔎 Decode VIN') }}</h2>
<form wire:submit="decode" style="display:flex;gap:12px;flex-wrap:wrap;"> <form wire:submit="decode" style="display:flex;gap:12px;flex-wrap:wrap;">
<input type="text" wire:model="vin" class="vs-input" placeholder="WBAFE81070CY34521" maxlength="17" style="flex:1;min-width:300px;"> <input type="text" wire:model="vin" class="vs-input" placeholder="{{ __('WBAFE81070CY34521') }}" maxlength="17" style="flex:1;min-width:300px;">
<button type="submit" class="vs-btn">{{ __('Decodează') }}</button> <button type="submit" class="vs-btn">{{ __('Decodează') }}</button>
</form> </form>
</div> </div>
@@ -31,13 +31,13 @@
@if ($decoded) @if ($decoded)
<div class="vs-card"> <div class="vs-card">
@if ($decoded['valid']) @if ($decoded['valid'])
<h3 style="font-size:14px;font-weight:600;margin-bottom:16px;"> VIN decodificat</h3> <h3 style="font-size:14px;font-weight:600;margin-bottom:16px;">{{ __('✅ VIN decodificat') }}</h3>
<div class="vs-grid"> <div class="vs-grid">
<div><div class="vs-stat-l">{{ __('Producător') }}</div><div class="vs-stat-v">{{ $decoded['manufacturer'] }}</div></div> <div><div class="vs-stat-l">{{ __('Producător') }}</div><div class="vs-stat-v">{{ $decoded['manufacturer'] }}</div></div>
<div><div class="vs-stat-l">{{ __('Țară') }}</div><div class="vs-stat-v">{{ $decoded['country'] }}</div></div> <div><div class="vs-stat-l">{{ __('Țară') }}</div><div class="vs-stat-v">{{ $decoded['country'] }}</div></div>
<div><div class="vs-stat-l">An model (estimat)</div><div class="vs-stat-v">{{ $decoded['year'] ?? '—' }}</div></div> <div><div class="vs-stat-l">An model (estimat)</div><div class="vs-stat-v">{{ $decoded['year'] ?? '—' }}</div></div>
<div><div class="vs-stat-l">WMI</div><div class="vs-stat-v" style="font-family:monospace;">{{ $decoded['wmi'] }}</div></div> <div><div class="vs-stat-l">WMI</div><div class="vs-stat-v" style="font-family:monospace;">{{ $decoded['wmi'] }}</div></div>
<div><div class="vs-stat-l">Serial</div><div class="vs-stat-v" style="font-family:monospace;font-size:12px;">{{ $decoded['serial'] }}</div></div> <div><div class="vs-stat-l">{{ __('Serial') }}</div><div class="vs-stat-v" style="font-family:monospace;font-size:12px;">{{ $decoded['serial'] }}</div></div>
</div> </div>
@else @else
<div style="color:#dc2626;"> {{ $decoded['error'] ?? 'WMI necunoscut — producătorul nu e în baza de date locală.' }}</div> <div style="color:#dc2626;"> {{ $decoded['error'] ?? 'WMI necunoscut — producătorul nu e în baza de date locală.' }}</div>
@@ -49,7 +49,7 @@
<div class="vs-card"> <div class="vs-card">
<h3 style="font-size:14px;font-weight:600;margin-bottom:12px;">{{ __('🚗 Mașini cu acest VIN în CRM') }}</h3> <h3 style="font-size:14px;font-weight:600;margin-bottom:12px;">{{ __('🚗 Mașini cu acest VIN în CRM') }}</h3>
<table class="vs-tbl"> <table class="vs-tbl">
<thead><tr><th>VIN</th><th>Marca/Model</th><th>Plate</th><th>{{ __('Client') }}</th><th>Km</th></tr></thead> <thead><tr><th>VIN</th><th>{{ __('Marca/Model') }}</th><th>{{ __('Plate') }}</th><th>{{ __('Client') }}</th><th>{{ __('Km') }}</th></tr></thead>
<tbody> <tbody>
@foreach ($matches as $v) @foreach ($matches as $v)
<tr> <tr>
@@ -78,7 +78,7 @@
<div style="color:#9ca3af;text-align:center;padding:20px;">Niciun rezultat pentru {{ $partsQuery }}"</div> <div style="color:#9ca3af;text-align:center;padding:20px;">Niciun rezultat pentru {{ $partsQuery }}"</div>
@else @else
<table class="vs-tbl"> <table class="vs-tbl">
<thead><tr><th>Denumire</th><th>{{ __('Cod') }}</th><th>Brand</th><th>{{ __('Stoc') }}</th><th>{{ __('Preț') }}</th></tr></thead> <thead><tr><th>{{ __('Denumire') }}</th><th>{{ __('Cod') }}</th><th>{{ __('Brand') }}</th><th>{{ __('Stoc') }}</th><th>{{ __('Preț') }}</th></tr></thead>
<tbody> <tbody>
@foreach ($parts as $p) @foreach ($parts as $p)
<tr> <tr>
@@ -7,6 +7,6 @@
@if ($part->article) @if ($part->article)
<div class="text-xs text-gray-500 dark:text-gray-400 font-mono">{{ $part->article }}</div> <div class="text-xs text-gray-500 dark:text-gray-400 font-mono">{{ $part->article }}</div>
@endif @endif
<div class="text-xs text-gray-400 mt-1">Payload: <code>{{ $payload }}</code></div> <div class="text-xs text-gray-400 mt-1">{{ __('Payload:') }} <code>{{ $payload }}</code></div>
</div> </div>
</div> </div>
@@ -18,7 +18,7 @@
</div> </div>
<div class="space-y-2"> <div class="space-y-2">
<label class="block text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide">Link</label> <label class="block text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide">{{ __('Link') }}</label>
<div class="flex gap-2"> <div class="flex gap-2">
<input <input
type="text" type="text"
@@ -11,7 +11,7 @@
<dt class="text-gray-500 dark:text-gray-400">VIN</dt> <dt class="text-gray-500 dark:text-gray-400">VIN</dt>
<dd class="font-mono text-gray-900 dark:text-gray-100">{{ $info['vin'] }}</dd> <dd class="font-mono text-gray-900 dark:text-gray-100">{{ $info['vin'] }}</dd>
<dt class="text-gray-500 dark:text-gray-400">Regiune</dt> <dt class="text-gray-500 dark:text-gray-400">{{ __('Regiune') }}</dt>
<dd class="text-gray-900 dark:text-gray-100">{{ $info['region'] ?? '—' }}</dd> <dd class="text-gray-900 dark:text-gray-100">{{ $info['region'] ?? '—' }}</dd>
<dt class="text-gray-500 dark:text-gray-400">{{ __('Țară') }}</dt> <dt class="text-gray-500 dark:text-gray-400">{{ __('Țară') }}</dt>
@@ -20,16 +20,16 @@
<dt class="text-gray-500 dark:text-gray-400">{{ __('Producător') }}</dt> <dt class="text-gray-500 dark:text-gray-400">{{ __('Producător') }}</dt>
<dd class="text-gray-900 dark:text-gray-100 font-semibold">{{ $info['manufacturer'] ?? '— (WMI necunoscut)' }}</dd> <dd class="text-gray-900 dark:text-gray-100 font-semibold">{{ $info['manufacturer'] ?? '— (WMI necunoscut)' }}</dd>
<dt class="text-gray-500 dark:text-gray-400">An model</dt> <dt class="text-gray-500 dark:text-gray-400">{{ __('An model') }}</dt>
<dd class="text-gray-900 dark:text-gray-100 font-semibold">{{ $info['year'] ?? '—' }}</dd> <dd class="text-gray-900 dark:text-gray-100 font-semibold">{{ $info['year'] ?? '—' }}</dd>
<dt class="text-gray-500 dark:text-gray-400">{{ __('Cod uzină') }}</dt> <dt class="text-gray-500 dark:text-gray-400">{{ __('Cod uzină') }}</dt>
<dd class="font-mono text-gray-900 dark:text-gray-100">{{ $info['plant'] ?? '—' }}</dd> <dd class="font-mono text-gray-900 dark:text-gray-100">{{ $info['plant'] ?? '—' }}</dd>
<dt class="text-gray-500 dark:text-gray-400">Checksum (ISO)</dt> <dt class="text-gray-500 dark:text-gray-400">{{ __('Checksum (ISO)') }}</dt>
<dd class="text-gray-900 dark:text-gray-100"> <dd class="text-gray-900 dark:text-gray-100">
@if ($info['checksum_valid']) @if ($info['checksum_valid'])
<span class="text-green-600 dark:text-green-400"> valid</span> <span class="text-green-600 dark:text-green-400">{{ __('✓ valid') }}</span>
@else @else
<span class="text-gray-500">{{ __('— (multe VIN-uri europene nu respectă checksum-ul NA)') }}</span> <span class="text-gray-500">{{ __('— (multe VIN-uri europene nu respectă checksum-ul NA)') }}</span>
@endif @endif
+1 -1
View File
@@ -2,7 +2,7 @@
<html> <html>
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>Etichete piese</title> <title>{{ __('Etichete piese') }}</title>
<style> <style>
@page { size: A4; margin: 10mm; } @page { size: A4; margin: 10mm; }
* { box-sizing: border-box; } * { box-sizing: border-box; }
+6 -6
View File
@@ -29,12 +29,12 @@
<table> <table>
<thead> <thead>
<tr> <tr>
<th style="width:60px;">Ora</th> <th style="width:60px;">{{ __('Ora') }}</th>
<th>Subiect</th> <th>{{ __('Subiect') }}</th>
<th>{{ __('Client / Auto') }}</th> <th>{{ __('Client / Auto') }}</th>
<th>Pod</th> <th>{{ __('Pod') }}</th>
<th>Maistru</th> <th>{{ __('Maistru') }}</th>
<th style="width:60px;">Status</th> <th style="width:60px;">{{ __('Status') }}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@@ -60,6 +60,6 @@
<div class="empty">{{ __('Nicio programare în această perioadă.') }}</div> <div class="empty">{{ __('Nicio programare în această perioadă.') }}</div>
@endforelse @endforelse
<div class="footer">AutoCRM PSauto · psauto.service.mir.md</div> <div class="footer">{{ __('AutoCRM PSauto · psauto.service.mir.md') }}</div>
</body> </body>
</html> </html>
+16 -16
View File
@@ -134,13 +134,13 @@
</div> </div>
<div class="col col-half"> <div class="col col-half">
<div class="doc-title">{{ __('FIȘĂ DE LUCRU') }}</div> <div class="doc-title">{{ __('FIȘĂ DE LUCRU') }}</div>
<div class="doc-meta">Nr.: <b>{{ $wo->number }}</b></div> <div class="doc-meta">{{ __('Nr.:') }} <b>{{ $wo->number }}</b></div>
<div class="doc-meta">{{ __('Data deschiderii:') }} <b>{{ $wo->opened_at?->format('d.m.Y') }}</b></div> <div class="doc-meta">{{ __('Data deschiderii:') }} <b>{{ $wo->opened_at?->format('d.m.Y') }}</b></div>
@if ($wo->closed_at) @if ($wo->closed_at)
<div class="doc-meta">{{ __('Data închiderii:') }} <b>{{ $wo->closed_at->format('d.m.Y') }}</b></div> <div class="doc-meta">{{ __('Data închiderii:') }} <b>{{ $wo->closed_at->format('d.m.Y') }}</b></div>
@endif @endif
<div class="doc-meta"> <div class="doc-meta">
Status: <b>{{ \App\Models\Tenant\WorkOrder::STATUSES[$wo->status] ?? $wo->status }}</b> {{ __('Status:') }} <b>{{ \App\Models\Tenant\WorkOrder::STATUSES[$wo->status] ?? $wo->status }}</b>
</div> </div>
</div> </div>
</div> </div>
@@ -152,9 +152,9 @@
<h3>{{ __('Client') }}</h3> <h3>{{ __('Client') }}</h3>
<div class="kv"> <div class="kv">
<div><b>{{ __('Nume:') }}</b> {{ $wo->client?->name ?? '—' }}</div> <div><b>{{ __('Nume:') }}</b> {{ $wo->client?->name ?? '—' }}</div>
<div><b>Telefon:</b> {{ $wo->client?->phone ?? '—' }}</div> <div><b>{{ __('Telefon:') }}</b> {{ $wo->client?->phone ?? '—' }}</div>
@if ($wo->client?->email) @if ($wo->client?->email)
<div><b>Email:</b> {{ $wo->client->email }}</div> <div><b>{{ __('Email:') }}</b> {{ $wo->client->email }}</div>
@endif @endif
</div> </div>
</div> </div>
@@ -163,12 +163,12 @@
<div class="box"> <div class="box">
<h3>{{ __('Auto') }}</h3> <h3>{{ __('Auto') }}</h3>
<div class="kv"> <div class="kv">
<div><b>Marca/Model:</b> {{ $wo->vehicle?->make }} {{ $wo->vehicle?->model }} {{ $wo->vehicle?->year }}</div> <div><b>{{ __('Marca/Model:') }}</b> {{ $wo->vehicle?->make }} {{ $wo->vehicle?->model }} {{ $wo->vehicle?->year }}</div>
<div><b>Nr.:</b> {{ $wo->vehicle?->plate ?? '—' }}</div> <div><b>{{ __('Nr.:') }}</b> {{ $wo->vehicle?->plate ?? '—' }}</div>
@if ($wo->vehicle?->vin) @if ($wo->vehicle?->vin)
<div><b>VIN:</b> {{ $wo->vehicle->vin }}</div> <div><b>{{ __('VIN:') }}</b> {{ $wo->vehicle->vin }}</div>
@endif @endif
<div><b>Km la intrare:</b> {{ $wo->mileage_in ? number_format($wo->mileage_in, 0, '.', ' ') : '—' }}</div> <div><b>{{ __('Km la intrare:') }}</b> {{ $wo->mileage_in ? number_format($wo->mileage_in, 0, '.', ' ') : '—' }}</div>
@if ($wo->mileage_out) @if ($wo->mileage_out)
<div><b>{{ __('Km la ieșire:') }}</b> {{ number_format($wo->mileage_out, 0, '.', ' ') }}</div> <div><b>{{ __('Km la ieșire:') }}</b> {{ number_format($wo->mileage_out, 0, '.', ' ') }}</div>
@endif @endif
@@ -184,18 +184,18 @@
<div style="margin-bottom: 8px;">{{ $wo->complaint }}</div> <div style="margin-bottom: 8px;">{{ $wo->complaint }}</div>
@endif @endif
@if ($wo->diagnosis) @if ($wo->diagnosis)
<h3>Diagnostic</h3> <h3>{{ __('Diagnostic') }}</h3>
<div>{{ $wo->diagnosis }}</div> <div>{{ $wo->diagnosis }}</div>
@endif @endif
</div> </div>
@endif @endif
@if ($wo->works->isNotEmpty()) @if ($wo->works->isNotEmpty())
<h3 style="font-size: 12px; margin: 12px 0 4px; text-transform: uppercase; color: {{ $themeColor }};">Manopere</h3> <h3 style="font-size: 12px; margin: 12px 0 4px; text-transform: uppercase; color: {{ $themeColor }};">{{ __('Manopere') }}</h3>
<table class="items"> <table class="items">
<thead> <thead>
<tr> <tr>
<th style="width: 50%;">Denumire</th> <th style="width: 50%;">{{ __('Denumire') }}</th>
<th class="r" style="width: 12%;">{{ __('Ore') }}</th> <th class="r" style="width: 12%;">{{ __('Ore') }}</th>
<th class="r" style="width: 18%;">{{ __('Preț/h') }}</th> <th class="r" style="width: 18%;">{{ __('Preț/h') }}</th>
<th class="r" style="width: 20%;">{{ __('Total') }}</th> <th class="r" style="width: 20%;">{{ __('Total') }}</th>
@@ -213,7 +213,7 @@
</tbody> </tbody>
<tfoot> <tfoot>
<tr> <tr>
<td colspan="3" class="r">Subtotal manopere:</td> <td colspan="3" class="r">{{ __('Subtotal manopere:') }}</td>
<td class="r">{{ number_format((float) $worksTotal, 2, '.', ' ') }} {{ $currency }}</td> <td class="r">{{ number_format((float) $worksTotal, 2, '.', ' ') }} {{ $currency }}</td>
</tr> </tr>
</tfoot> </tfoot>
@@ -221,13 +221,13 @@
@endif @endif
@if ($wo->parts->isNotEmpty()) @if ($wo->parts->isNotEmpty())
<h3 style="font-size: 12px; margin: 12px 0 4px; text-transform: uppercase; color: {{ $themeColor }};">Piese</h3> <h3 style="font-size: 12px; margin: 12px 0 4px; text-transform: uppercase; color: {{ $themeColor }};">{{ __('Piese') }}</h3>
<table class="items"> <table class="items">
<thead> <thead>
<tr> <tr>
<th style="width: 40%;">Denumire</th> <th style="width: 40%;">{{ __('Denumire') }}</th>
<th style="width: 18%;">{{ __('Cod') }}</th> <th style="width: 18%;">{{ __('Cod') }}</th>
<th class="r" style="width: 10%;">Cant.</th> <th class="r" style="width: 10%;">{{ __('Cant.') }}</th>
<th class="r" style="width: 14%;">{{ __('Preț') }}</th> <th class="r" style="width: 14%;">{{ __('Preț') }}</th>
<th class="r" style="width: 18%;">{{ __('Total') }}</th> <th class="r" style="width: 18%;">{{ __('Total') }}</th>
</tr> </tr>
@@ -245,7 +245,7 @@
</tbody> </tbody>
<tfoot> <tfoot>
<tr> <tr>
<td colspan="4" class="r">Subtotal piese:</td> <td colspan="4" class="r">{{ __('Subtotal piese:') }}</td>
<td class="r">{{ number_format((float) $partsTotal, 2, '.', ' ') }} {{ $currency }}</td> <td class="r">{{ number_format((float) $partsTotal, 2, '.', ' ') }} {{ $currency }}</td>
</tr> </tr>
</tfoot> </tfoot>
+1 -1
View File
@@ -7,7 +7,7 @@
<p class="muted" style="margin-bottom:16px;">{{ __('portal.shop.vin_intro') }}</p> <p class="muted" style="margin-bottom:16px;">{{ __('portal.shop.vin_intro') }}</p>
<form method="GET" action="/shop/vin" style="display:flex;gap:8px;flex-wrap:wrap;"> <form method="GET" action="/shop/vin" style="display:flex;gap:8px;flex-wrap:wrap;">
<input type="text" name="vin" value="{{ $vin }}" maxlength="17" placeholder="ex: WVWZZZ1JZXW000001" <input type="text" name="vin" value="{{ $vin }}" maxlength="17" placeholder="{{ __('ex: WVWZZZ1JZXW000001') }}"
style="flex:1;min-width:240px;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-family:monospace;text-transform:uppercase;"> style="flex:1;min-width:240px;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-family:monospace;text-transform:uppercase;">
<button class="btn" type="submit">{{ __('portal.shop.vin_decode') }}</button> <button class="btn" type="submit">{{ __('portal.shop.vin_decode') }}</button>
</form> </form>
@@ -19,10 +19,10 @@
<div class="box"> <div class="box">
<h1>{{ __('🏦 Instrucțiuni transfer bancar') }}</h1> <h1>{{ __('🏦 Instrucțiuni transfer bancar') }}</h1>
<div class="row"><span>Beneficiar:</span> <b>{{ $bank['beneficiary'] ?? '—' }}</b></div> <div class="row"><span>{{ __('Beneficiar:') }}</span> <b>{{ $bank['beneficiary'] ?? '—' }}</b></div>
<div class="row"><span>IBAN:</span> <code onclick="navigator.clipboard.writeText(this.textContent)">{{ $bank['iban'] ?? '—' }}</code></div> <div class="row"><span>{{ __('IBAN:') }}</span> <code onclick="navigator.clipboard.writeText(this.textContent)">{{ $bank['iban'] ?? '—' }}</code></div>
<div class="row"><span>BIC / SWIFT:</span> <code>{{ $bank['bic'] ?? '—' }}</code></div> <div class="row"><span>{{ __('BIC / SWIFT:') }}</span> <code>{{ $bank['bic'] ?? '—' }}</code></div>
<div class="row"><span>Banca:</span> {{ $bank['bank_name'] ?? '—' }}</div> <div class="row"><span>{{ __('Banca:') }}</span> {{ $bank['bank_name'] ?? '—' }}</div>
<div class="row"><span>{{ __('Sumă:') }}</span> <b>{{ number_format($sub->amount, 2) }} {{ $sub->currency }}</b></div> <div class="row"><span>{{ __('Sumă:') }}</span> <b>{{ number_format($sub->amount, 2) }} {{ $sub->currency }}</b></div>
<div class="ref-box"> <div class="ref-box">
@@ -40,7 +40,7 @@
<ul style="margin: 8px 0 0 20px;"> <ul style="margin: 8px 0 0 20px;">
<li>{{ __('Plata apare în 1-3 zile lucrătoare') }}</li> <li>{{ __('Plata apare în 1-3 zile lucrătoare') }}</li>
<li>{{ __('Operatorul confirmă manual factura ca plătită') }}</li> <li>{{ __('Operatorul confirmă manual factura ca plătită') }}</li>
<li>Abonamentul se extinde automat</li> <li>{{ __('Abonamentul se extinde automat') }}</li>
</ul> </ul>
</div> </div>
+8 -8
View File
@@ -57,7 +57,7 @@
<body> <body>
<div class="wrap"> <div class="wrap">
<a href="/app" class="nav-back">{{ __('← Înapoi la AutoCRM') }}</a> <a href="/app" class="nav-back">{{ __('← Înapoi la AutoCRM') }}</a>
<h1>Facturi & abonament</h1> <h1>{{ __('Facturi & abonament') }}</h1>
<p class="sub">{{ $tenant->display_name ?? $tenant->name }} · {{ $tenant->slug }}.service.mir.md</p> <p class="sub">{{ $tenant->display_name ?? $tenant->name }} · {{ $tenant->slug }}.service.mir.md</p>
@if ($invoices->isEmpty()) @if ($invoices->isEmpty())
@@ -116,8 +116,8 @@
<div class="method"> <div class="method">
<div class="icon">💳</div> <div class="icon">💳</div>
<div> <div>
<div class="label">Card bancar</div> <div class="label">{{ __('Card bancar') }}</div>
<div class="desc">Visa, Mastercard prin Stripe</div> <div class="desc">{{ __('Visa, Mastercard prin Stripe') }}</div>
</div> </div>
</div> </div>
</button> </button>
@@ -132,8 +132,8 @@
<div class="method"> <div class="method">
<div class="icon">🅿️</div> <div class="icon">🅿️</div>
<div> <div>
<div class="label">PayPal</div> <div class="label">{{ __('PayPal') }}</div>
<div class="desc">Cont PayPal sau card prin PayPal</div> <div class="desc">{{ __('Cont PayPal sau card prin PayPal') }}</div>
</div> </div>
</div> </div>
</button> </button>
@@ -148,8 +148,8 @@
<div class="method"> <div class="method">
<div class="icon">🇲🇩</div> <div class="icon">🇲🇩</div>
<div> <div>
<div class="label">Paynet</div> <div class="label">{{ __('Paynet') }}</div>
<div class="desc">Card MAIB / MICB / Victoriabank, MD Cash, e-money</div> <div class="desc">{{ __('Card MAIB / MICB / Victoriabank, MD Cash, e-money') }}</div>
</div> </div>
</div> </div>
</button> </button>
@@ -164,7 +164,7 @@
<div class="method"> <div class="method">
<div class="icon">🏦</div> <div class="icon">🏦</div>
<div> <div>
<div class="label">Transfer bancar</div> <div class="label">{{ __('Transfer bancar') }}</div>
<div class="desc">{{ __('Plătește direct din bancă (1-3 zile)') }}</div> <div class="desc">{{ __('Plătește direct din bancă (1-3 zile)') }}</div>
</div> </div>
</div> </div>
+1 -1
View File
@@ -19,7 +19,7 @@
<p style="color:#6b7280;font-size:14px;">{{ __('Factură:') }} <b>{{ $sub->invoice_number ?? '#' . $sub->id }}</b> · {{ number_format($sub->amount, 2) }} {{ $sub->currency }}</p> <p style="color:#6b7280;font-size:14px;">{{ __('Factură:') }} <b>{{ $sub->invoice_number ?? '#' . $sub->id }}</b> · {{ number_format($sub->amount, 2) }} {{ $sub->currency }}</p>
<div class="note"> <div class="note">
<b>Mod stub:</b><br> <b>{{ __('Mod stub:') }}</b><br>
{{ $note }}<br><br> {{ $note }}<br><br>
În prod, aici redirectează la pagina {{ $gateway }} Checkout cu sumele și metadatele facturii. La success, webhook-ul marchează automat factura ca plătită. În prod, aici redirectează la pagina {{ $gateway }} Checkout cu sumele și metadatele facturii. La success, webhook-ul marchează automat factura ca plătită.
</div> </div>
+6 -6
View File
@@ -60,14 +60,14 @@
<p>Autoservice profesional{{ $city ? ' — ' . $city : '' }}. Diagnostic, reparații, piese, ITP.</p> <p>Autoservice profesional{{ $city ? ' — ' . $city : '' }}. Diagnostic, reparații, piese, ITP.</p>
@if (! empty($shopEnabled)) @if (! empty($shopEnabled))
<a href="/shop" style="display:inline-block;margin-top:20px;background:#fff;color:{{ $themeColor }};padding:12px 28px;border-radius:8px;font-weight:700;text-decoration:none;"> <a href="/shop" style="display:inline-block;margin-top:20px;background:#fff;color:{{ $themeColor }};padding:12px 28px;border-radius:8px;font-weight:700;text-decoration:none;">
🛒 Magazin piese online {{ __('🛒 Magazin piese online') }}
</a> </a>
@endif @endif
</header> </header>
@if (! empty($services)) @if (! empty($services))
<section class="section"> <section class="section">
<h2>Servicii oferite</h2> <h2>{{ __('Servicii oferite') }}</h2>
<div class="services-grid"> <div class="services-grid">
@foreach ($services as $s) @foreach ($services as $s)
<div class="service-card"> <div class="service-card">
@@ -84,12 +84,12 @@
<div class="info-block"> <div class="info-block">
<h3>{{ __('📍 Locație & contact') }}</h3> <h3>{{ __('📍 Locație & contact') }}</h3>
@if ($city) <p><b>{{ __('Oraș:') }}</b> {{ $city }}</p> @endif @if ($city) <p><b>{{ __('Oraș:') }}</b> {{ $city }}</p> @endif
@if ($phone) <p><b>Telefon:</b> <a href="tel:{{ $phone }}" style="color:inherit;">{{ $phone }}</a></p> @endif @if ($phone) <p><b>{{ __('Telefon:') }}</b> <a href="tel:{{ $phone }}" style="color:inherit;">{{ $phone }}</a></p> @endif
@if ($email) <p><b>Email:</b> <a href="mailto:{{ $email }}" style="color:inherit;">{{ $email }}</a></p> @endif @if ($email) <p><b>{{ __('Email:') }}</b> <a href="mailto:{{ $email }}" style="color:inherit;">{{ $email }}</a></p> @endif
</div> </div>
<div class="info-block"> <div class="info-block">
<h3>🕒 Program de lucru</h3> <h3>{{ __('🕒 Program de lucru') }}</h3>
<p>Luni Vineri: 08:00 18:00</p> <p>{{ __('Luni Vineri: 08:00 18:00') }}</p>
<p>{{ __('Sâmbătă: 09:00 14:00') }}</p> <p>{{ __('Sâmbătă: 09:00 14:00') }}</p>
<p>{{ __('Duminică: închis') }}</p> <p>{{ __('Duminică: închis') }}</p>
</div> </div>
@@ -16,7 +16,7 @@
<h1>{{ __('Plată reușită!') }}</h1> <h1>{{ __('Plată reușită!') }}</h1>
<p style="color:#6b7280;">Factura {{ $sub->invoice_number ?? '#' . $sub->id }} a fost achitată.</p> <p style="color:#6b7280;">Factura {{ $sub->invoice_number ?? '#' . $sub->id }} a fost achitată.</p>
<p style="color:#6b7280;font-size:13px;margin-top:8px;">{{ __('Abonamentul tău a fost extins.') }}</p> <p style="color:#6b7280;font-size:13px;margin-top:8px;">{{ __('Abonamentul tău a fost extins.') }}</p>
<a href="/app" class="btn"> Mergi la AutoCRM</a> <a href="/app" class="btn">{{ __('→ Mergi la AutoCRM') }}</a>
</div> </div>
</body> </body>
</html> </html>
+2 -2
View File
@@ -13,8 +13,8 @@
</head> </head>
<body> <body>
<div class="card"> <div class="card">
<h1> Abonament expirat</h1> <h1>{{ __('⏰ Abonament expirat') }}</h1>
<p>Abonamentul pentru <b>{{ $company->name }}</b> a expirat.</p> <p>{{ __('Abonamentul pentru') }} <b>{{ $company->name }}</b> {{ __('a expirat.') }}</p>
<p>{{ __('Pentru a continua să folosiți aplicația, vă rugăm să achitați factura.') }}</p> <p>{{ __('Pentru a continua să folosiți aplicația, vă rugăm să achitați factura.') }}</p>
</div> </div>
</body> </body>
+2 -2
View File
@@ -13,8 +13,8 @@
</head> </head>
<body> <body>
<div class="card"> <div class="card">
<h1> Cont suspendat</h1> <h1>{{ __('⛔ Cont suspendat') }}</h1>
<p>Contul <b>{{ $company->name }}</b> a fost suspendat.</p> <p>{{ __('Contul') }} <b>{{ $company->name }}</b> {{ __('a fost suspendat.') }}</p>
<p>{{ __('Pentru detalii, contactați administratorul platformei.') }}</p> <p>{{ __('Pentru detalii, contactați administratorul platformei.') }}</p>
</div> </div>
</body> </body>
+10 -10
View File
@@ -28,21 +28,21 @@
href="{{ url('/dashboard') }}" href="{{ url('/dashboard') }}"
class="inline-block px-5 py-1.5 dark:text-[#EDEDEC] border-[#19140035] hover:border-[#1915014a] border text-[#1b1b18] dark:border-[#3E3E3A] dark:hover:border-[#62605b] rounded-sm text-sm leading-normal" class="inline-block px-5 py-1.5 dark:text-[#EDEDEC] border-[#19140035] hover:border-[#1915014a] border text-[#1b1b18] dark:border-[#3E3E3A] dark:hover:border-[#62605b] rounded-sm text-sm leading-normal"
> >
Dashboard {{ __('Dashboard') }}
</a> </a>
@else @else
<a <a
href="{{ route('login') }}" href="{{ route('login') }}"
class="inline-block px-5 py-1.5 dark:text-[#EDEDEC] text-[#1b1b18] border border-transparent hover:border-[#19140035] dark:hover:border-[#3E3E3A] rounded-sm text-sm leading-normal" class="inline-block px-5 py-1.5 dark:text-[#EDEDEC] text-[#1b1b18] border border-transparent hover:border-[#19140035] dark:hover:border-[#3E3E3A] rounded-sm text-sm leading-normal"
> >
Log in {{ __('Log in') }}
</a> </a>
@if (Route::has('register')) @if (Route::has('register'))
<a <a
href="{{ route('register') }}" href="{{ route('register') }}"
class="inline-block px-5 py-1.5 dark:text-[#EDEDEC] border-[#19140035] hover:border-[#1915014a] border text-[#1b1b18] dark:border-[#3E3E3A] dark:hover:border-[#62605b] rounded-sm text-sm leading-normal"> class="inline-block px-5 py-1.5 dark:text-[#EDEDEC] border-[#19140035] hover:border-[#1915014a] border text-[#1b1b18] dark:border-[#3E3E3A] dark:hover:border-[#62605b] rounded-sm text-sm leading-normal">
Register {{ __('Register') }}
</a> </a>
@endif @endif
@endauth @endauth
@@ -52,8 +52,8 @@
<div class="flex items-center justify-center w-full transition-opacity opacity-100 duration-750 lg:grow starting:opacity-0"> <div class="flex items-center justify-center w-full transition-opacity opacity-100 duration-750 lg:grow starting:opacity-0">
<main class="flex max-w-[335px] w-full flex-col-reverse lg:max-w-4xl lg:flex-row"> <main class="flex max-w-[335px] w-full flex-col-reverse lg:max-w-4xl lg:flex-row">
<div class="text-[13px] leading-[20px] flex-1 p-6 pb-12 lg:p-20 bg-white dark:bg-[#161615] dark:text-[#EDEDEC] shadow-[inset_0px_0px_0px_1px_rgba(26,26,0,0.16)] dark:shadow-[inset_0px_0px_0px_1px_#fffaed2d] rounded-bl-lg rounded-br-lg lg:rounded-tl-lg lg:rounded-br-none"> <div class="text-[13px] leading-[20px] flex-1 p-6 pb-12 lg:p-20 bg-white dark:bg-[#161615] dark:text-[#EDEDEC] shadow-[inset_0px_0px_0px_1px_rgba(26,26,0,0.16)] dark:shadow-[inset_0px_0px_0px_1px_#fffaed2d] rounded-bl-lg rounded-br-lg lg:rounded-tl-lg lg:rounded-br-none">
<h1 class="mb-1 font-medium">Let's get started</h1> <h1 class="mb-1 font-medium">{{ __('Let\'s get started') }}</h1>
<p class="mb-2 text-[#706f6c] dark:text-[#A1A09A]">Laravel has an incredibly rich ecosystem. <br>We suggest starting with the following.</p> <p class="mb-2 text-[#706f6c] dark:text-[#A1A09A]">{{ __('Laravel has an incredibly rich ecosystem.') }} <br>{{ __('We suggest starting with the following.') }}</p>
<ul class="flex flex-col mb-4 lg:mb-6"> <ul class="flex flex-col mb-4 lg:mb-6">
<li class="flex items-center gap-4 py-2 relative before:border-l before:border-[#e3e3e0] dark:before:border-[#3E3E3A] before:top-1/2 before:bottom-0 before:left-[0.4rem] before:absolute"> <li class="flex items-center gap-4 py-2 relative before:border-l before:border-[#e3e3e0] dark:before:border-[#3E3E3A] before:top-1/2 before:bottom-0 before:left-[0.4rem] before:absolute">
<span class="relative py-1 bg-white dark:bg-[#161615]"> <span class="relative py-1 bg-white dark:bg-[#161615]">
@@ -62,9 +62,9 @@
</span> </span>
</span> </span>
<span> <span>
Read the {{ __('Read the') }}
<a href="https://laravel.com/docs" target="_blank" class="inline-flex items-center space-x-1 font-medium underline underline-offset-4 text-[#f53003] dark:text-[#FF4433] ml-1"> <a href="https://laravel.com/docs" target="_blank" class="inline-flex items-center space-x-1 font-medium underline underline-offset-4 text-[#f53003] dark:text-[#FF4433] ml-1">
<span>Documentation</span> <span>{{ __('Documentation') }}</span>
<svg <svg
width="10" width="10"
height="11" height="11"
@@ -89,9 +89,9 @@
</span> </span>
</span> </span>
<span> <span>
Watch video tutorials at {{ __('Watch video tutorials at') }}
<a href="https://laracasts.com" target="_blank" class="inline-flex items-center space-x-1 font-medium underline underline-offset-4 text-[#f53003] dark:text-[#FF4433] ml-1"> <a href="https://laracasts.com" target="_blank" class="inline-flex items-center space-x-1 font-medium underline underline-offset-4 text-[#f53003] dark:text-[#FF4433] ml-1">
<span>Laracasts</span> <span>{{ __('Laracasts') }}</span>
<svg <svg
width="10" width="10"
height="11" height="11"
@@ -113,7 +113,7 @@
<ul class="flex gap-3 text-sm leading-normal"> <ul class="flex gap-3 text-sm leading-normal">
<li> <li>
<a href="https://cloud.laravel.com" target="_blank" class="inline-block dark:bg-[#eeeeec] dark:border-[#eeeeec] dark:text-[#1C1C1A] dark:hover:bg-white dark:hover:border-white hover:bg-black hover:border-black px-5 py-1.5 bg-[#1b1b18] rounded-sm border border-black text-white text-sm leading-normal"> <a href="https://cloud.laravel.com" target="_blank" class="inline-block dark:bg-[#eeeeec] dark:border-[#eeeeec] dark:text-[#1C1C1A] dark:hover:bg-white dark:hover:border-white hover:bg-black hover:border-black px-5 py-1.5 bg-[#1b1b18] rounded-sm border border-black text-white text-sm leading-normal">
Deploy now {{ __('Deploy now') }}
</a> </a>
</li> </li>
</ul> </ul>