fix(i18n): auto-translate labels on Filament columns/fields/filters/actions

Root cause of untranslated table headers: Filament's HasLabel::getLabel()
auto-generates a label from the field name (e.g. `name` → "Name") but only
calls __() on it if you also invoke ->translateLabel(). Without that, the
auto-generated label always renders in English regardless of app locale.

Fix: configureUsing() in AppServiceProvider makes translateLabel() the
default for every Column, BaseFilter, Field, Action and BulkAction.

Then added 175 human RU/EN translations for Filament's auto-generated
keys (Name, Phone, Email, Status, Balance, Created at, Plate, Make,
Model, Year, VIN, Mileage, Owner, Client, Vehicle, Amount, Total, Qty,
Actions, Search, Filter, Export, Import, plus enums/relationships).

All 306 tests pass. Deploy will fix table headers on
Clients / Vehicles / Work orders / Payments / Purchases / Suppliers etc.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-16 05:21:29 +00:00
parent 7077fff3b3
commit 38650da875
3 changed files with 359 additions and 6 deletions
+175 -6
View File
@@ -59,7 +59,7 @@
"Actions": "Действия",
"Activ": "Активный",
"Activare": "Активация",
"Active": "Активные",
"Active": "Активный",
"Active acum": "В работе сейчас",
"Activează": "Активировать",
"Activează / dezactivează notificările auto către clienți. Telegram are prioritate dacă clientul are cont legat.": "Activează / dezactivează notificările auto către clienți. Telegram are prioritate dacă clientul are cont legat.",
@@ -72,6 +72,7 @@
"Activi": "Активные",
"Activitate recentă": "Недавняя активность",
"Activă": "Активна",
"Actual hours": "Факт. часы",
"Actualizat la": "Обновлено",
"Actualizează": "Обновить",
"Acțiune": "Действие",
@@ -108,6 +109,7 @@
"Adaugă serviciu": "Добавить услугу",
"Adaugă utilizator": "Добавить пользователя",
"Adaugă vehicul": "Добавить транспорт",
"Address": "Адрес",
"Admin tenant (la creare)": "Admin tenant (la creare)",
"Administrator": "Администратор",
"Adresă": "Адрес",
@@ -143,6 +145,7 @@
"Alte cheltuieli": "Прочие расходы",
"Altă problemă": "Другая проблема",
"Am salvat token-ul, ascunde-l": "Am salvat token-ul, ascunde-l",
"Amount": "Сумма",
"An": "Год",
"An fabricație": "Год выпуска",
"An model": "Модельный год",
@@ -171,6 +174,7 @@
"Aplică prețul": "Aplică prețul",
"Aplică toate regulile la stoc": "Aplică toate regulile la stoc",
"Aplică șablon": "Применить шаблон",
"Approved at": "Утверждено",
"Aprilie": "Апрель",
"Aprobare": "Утверждение",
"Aprobat": "Утверждено",
@@ -181,6 +185,8 @@
"Arhivat": "В архиве",
"Arhivează": "В архив",
"Arhivă": "Архив",
"Article": "Артикул",
"Article code": "Артикул",
"Articol": "Articol",
"Articol nu se potrivește comenzii": "Articol nu se potrivește comenzii",
"Articole": "Articole",
@@ -196,6 +202,8 @@
"Atașat veți găsi": "Во вложении",
"Atelierul meu": "Моя мастерская",
"Atenție": "Внимание",
"Attachment": "Вложение",
"Attachments": "Вложения",
"Audit / verificări fiscale": "Audit / verificări fiscale",
"August": "Август",
"Autentificare": "Аутентификация",
@@ -221,9 +229,12 @@
"Backup & Export date": "Backup & Export date",
"Backup periodic (descarcă local sau sincronizează cu cloud)": "Backup periodic (descarcă local sau sincronizează cu cloud)",
"Balance": "Баланс",
"Balance due": "К оплате",
"Balanță": "Баланс",
"Banca": "Banca",
"Banca:": "Banca:",
"Barcode": "Штрих-код",
"Bay": "Пост",
"Bază": "База",
"Beneficiar": "Beneficiar",
"Beneficiar:": "Beneficiar:",
@@ -238,16 +249,18 @@
"Blochez": "Блокировать",
"Blochez lucrarea": "Заблокировать работу",
"Boală": "Больничный",
"Body type": "Кузов",
"Bon": "Чек",
"Bonuri": "Чеки",
"Bot OK: @{$name}": "Bot OK: @{$name}",
"Bot Telegram nu răspunde": "Bot Telegram nu răspunde",
"Bot token": "Bot token",
"Brand": "Brand",
"Brand": "Бренд",
"Brand & contact": "Бренд и контакты",
"Break": "Универсал",
"Buget": "Бюджет",
"Buget & rezultate (luna curentă)": "Buget & rezultate (luna curentă)",
"Bulk actions": "Массовые действия",
"Bun venit": "Добро пожаловать",
"Bun venit în AutoCRM!": "Bun venit în AutoCRM!",
"Bună": "Хорошее",
@@ -280,6 +293,7 @@
"Categorie": "Категория",
"Categorie implicită": "Категория по умолчанию",
"Categorii": "Categorii",
"Category": "Категория",
"Caută": "Поиск",
"Caută client, mașină, număr...": "Поиск клиента, авто, номера...",
"Caută în tabel": "Поиск в таблице",
@@ -307,7 +321,9 @@
"Chitanță": "Квитанция",
"Cifră de afaceri": "Оборот",
"Ciornă": "Черновик",
"City": "Город",
"Clase auto": "Классы авто",
"Class": "Класс",
"Clasă (pentru pricing)": "Clasă (pentru pricing)",
"Claude API Key": "Claude API Key",
"Click pentru a redenumi": "Click pentru a redenumi",
@@ -320,12 +336,14 @@
"Client VIP": "Client VIP",
"Client existent": "Существующий клиент",
"Client legat (CRM)": "Client legat (CRM)",
"Client name": "Имя клиента",
"Client nou": "Новый клиент",
"Clienți": "Клиенты",
"Clienți VIP cu care nu s-a vorbit de peste 30 zile.": "Clienți VIP cu care nu s-a vorbit de peste 30 zile.",
"Clienți care n-au mai venit de peste 6 luni — bun moment pentru un mesaj de revenire.": "Clienți care n-au mai venit de peste 6 luni — bun moment pentru un mesaj de revenire.",
"Clienți magazin": "Клиенты магазина",
"Clienți noi în perioadă": "Clienți noi în perioadă",
"Closed at": "Закрыт",
"Cod": "Код",
"Cod QR": "QR-код",
"Cod articol": "Артикул",
@@ -334,6 +352,7 @@
"Cod necunoscut": "Cod necunoscut",
"Cod tracking": "Код отслеживания",
"Cod uzină": "Cod uzină",
"Code": "Код",
"Codul produsului": "Код товара",
"Coduri cross (OEM/echivalente)": "Coduri cross (OEM/echivalente)",
"Coeficient": "Coeficient",
@@ -345,6 +364,7 @@
"Coloana Preț *": "Coloana Preț *",
"Coloane": "Колонки",
"Coloană": "Колонка",
"Color": "Цвет",
"Comanda": "Comanda",
"Comanda ta a fost primită cu succes.": "Comanda ta a fost primită cu succes.",
"Comandat": "Comandat",
@@ -357,16 +377,23 @@
"Comercial": "Коммерческий",
"Comision manopere": "Comision manopere",
"Comision piese": "Comision piese",
"Comment": "Комментарий",
"Comments": "Комментарии",
"Companie": "Компания",
"Companie & plan": "Companie & plan",
"Companie creată: {$result['company']->name}": "Companie creată: {$result['company']->name}",
"Company": "Компания",
"Company name": "Название компании",
"Complaint": "Жалоба",
"Complet": "Полностью",
"Concediu": "Отпуск",
"Condition": "Состояние",
"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.",
"Configurări": "Конфигурация",
"Configurări avansate": "Расширенная конфигурация",
"Confirm password": "Подтверждение пароля",
"Confirmare plată primită": "Confirmare plată primită",
"Confirmat": "Подтверждено",
"Confirmate": "Подтверждено",
@@ -406,6 +433,7 @@
"Cost piese (achiziție)": "Cost piese (achiziție)",
"Cost/lead": "Cost/lead",
"Costuri": "Стоимости",
"Country": "Страна",
"Coupé": "Купе",
"Creanțe": "Дебиторка",
"Creat": "Creat",
@@ -432,6 +460,7 @@
"Cumul.": "Cumul.",
"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ă.",
"Currency": "Валюта",
"Curăță": "Очистить",
"Custom": "Свой",
"Cutie": "Коробка",
@@ -493,11 +522,14 @@
"Decodează": "Decodează",
"Deconectare": "Отключение",
"Delete": "Удалить",
"Delete selected": "Удалить выбранные",
"Deleted at": "Удалён",
"Demo (pentru demonstrații sales)": "Demo (pentru demonstrații sales)",
"Denumire": "Наименование",
"Denumire afișată": "Отображаемое название",
"Denumire companie": "Название компании",
"Denumire produs": "Название товара",
"Department": "Отдел",
"Deploy now": "Deploy now",
"Depozit": "Склад",
"Depozit gol": "Depozit gol",
@@ -524,6 +556,8 @@
"Descriere": "Описание",
"Descriere (opțional)": "Descriere (opțional)",
"Descriere produs": "Описание товара",
"Description": "Описание",
"Deselect all": "Снять выбор",
"Detalii": "Подробности",
"Detalii (opțional)": "Детали (опционально)",
"Detalii auto": "Данные авто",
@@ -533,6 +567,7 @@
"Dezactivare": "Деактивация",
"Dezactivează": "Деактивировать",
"Dezactivează 2FA pentru acest utilizator. Va trebui să re-configureze TOTP la următoarea autentificare.": "Dezactivează 2FA pentru acest utilizator. Va trebui să re-configureze TOTP la următoarea autentificare.",
"Diagnosis": "Диагноз",
"Diagnostic": "Диагностика",
"Diagnostic AI bazat pe plângerea clientului": "Diagnostic AI bazat pe plângerea clientului",
"Diagnosticare": "Диагностика",
@@ -541,6 +576,7 @@
"Diametru R": "Diametru R",
"Dimensiune": "Dimensiune",
"Din catalog (lasă gol pentru text liber)": "Din catalog (lasă gol pentru text liber)",
"Disabled": "Выключен",
"Discount": "Скидка",
"Discount %": "Скидка %",
"Distribuie": "Распределить",
@@ -557,14 +593,18 @@
"Documente": "Документы",
"Done": "Готово",
"Downgrade": "Понижение",
"Draft": "Черновик",
"Drept": "Право",
"Drepturi": "Права",
"Due at": "Срок",
"Due date": "Срок",
"Duminică": "Воскресенье",
"Duminică: închis": "Duminică: închis",
"Duplică": "Дублировать",
"Duplică rând": "Дублировать строку",
"După": "După",
"După efectuarea transferului:": "După efectuarea transferului:",
"Duration": "Длительность",
"Durată": "Длительность",
"Durată (sec)": "Durată (sec)",
"Durată estimată": "Расчётная длительность",
@@ -585,8 +625,11 @@
"Eliberează": "Выдать",
"Email": "Email",
"Email admin": "Email admin",
"Email verified at": "Email подтверждён",
"Email:": "Email:",
"Empty": "Нет результатов",
"Enabled": "Включён",
"End": "Конец",
"Endpoint webhook: https://service.mir.md/payments/stripe/webhook": "Endpoint webhook: https://service.mir.md/payments/stripe/webhook",
"Endpoints disponibile:": "Endpoints disponibile:",
"Eroare": "Ошибка",
@@ -595,6 +638,8 @@
"Etapă": "Этап",
"Etichete piese": "Etichete piese",
"Etichetă": "Etichetă",
"Event": "Событие",
"Events": "События",
"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: 20": "Ex: 20",
@@ -610,6 +655,8 @@
"Excepții": "Исключения",
"Excepții drepturi": "Исключения прав",
"Există deja un cont cu acest telefon.": "Există deja un cont cu acest telefon.",
"Expense": "Расход",
"Expenses": "Расходы",
"Expiră": "Expiră",
"Expiră < 7 zile": "Истекает < 7 дней",
"Expiră la (opțional)": "Expiră la (opțional)",
@@ -634,6 +681,9 @@
"Față-Stânga": "Față-Stânga",
"Februarie": "Февраль",
"Femeie": "Женский",
"File": "Файл",
"Files": "Файлы",
"Filter": "Фильтр",
"Filters": "Фильтры",
"Filtre": "Фильтры",
"Filtru": "Фильтр",
@@ -658,6 +708,7 @@
"Folosit dacă markup = 0.": "Folosit dacă markup = 0.",
"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.",
"Force delete": "Удалить безвозвратно",
"Force logout": "Выйти со всех устройств",
"Format:": "Format:",
"Foto": "Фото",
@@ -665,8 +716,10 @@
"Foto piesă": "Foto piesă",
"Foto înainte / după": "Foto înainte / după",
"Fotografii": "Фотографии",
"From": "От",
"Frâne": "Тормоза",
"Frâne, Ulei, ...": "Frâne, Ulei, ...",
"Fuel": "Топливо",
"Funcție": "Funcție",
"Funcționalități": "Funcționalități",
"Funcționalități incluse": "Funcționalități incluse",
@@ -709,6 +762,8 @@
"Hartă daune": "Hartă daune",
"Hatchback": "Хэтчбек",
"Hibrid": "Гибрид",
"Hourly rate": "Часовая ставка",
"Hours": "Часы",
"IBAN": "IBAN",
"IBAN:": "IBAN:",
"ID": "ID",
@@ -722,6 +777,8 @@
"Ieri": "Вчера",
"Ieșire": "Выход",
"Ieșiri": "Расход",
"Image": "Изображение",
"Images": "Изображения",
"Imagine": "Изображение",
"Imagine principală": "Главное изображение",
"Imagini": "Изображения",
@@ -742,6 +799,7 @@
"Importă din Excel": "Импорт из Excel",
"Importă lead-uri direct din Lead Ads forms.": "Importă lead-uri direct din Lead Ads forms.",
"Inactiv": "Неактивно",
"Inactive": "Неактивный",
"Infopanel": "Инфопанель",
"Informația de bază — click pe titlul secțiunilor de mai jos pentru detalii.": "Informația de bază — click pe titlul secțiunilor de mai jos pentru detalii.",
"Informație": "Информация",
@@ -757,12 +815,21 @@
"Inventar": "Инвентаризация",
"Invitație": "Приглашение",
"Invitații": "Приглашения",
"Invoice number": "№ счёта",
"Ion Popescu": "Ion Popescu",
"Is active": "Активно",
"Is default": "По умолчанию",
"Is deleted": "Удалено",
"Is enabled": "Включено",
"Is published": "Опубликовано",
"Is vip": "VIP",
"Istoric depozitare": "Istoric depozitare",
"Istoric prețuri furnizori": "Istoric prețuri furnizori",
"Iulie": "Июль",
"Iunie": "Июнь",
"JSON": "JSON",
"Job": "Работа",
"Jobs": "Работы",
"Joi": "Четверг",
"Jurnal": "Журнал",
"KPI mecanici": "KPI механиков",
@@ -780,11 +847,17 @@
"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 trecere pe „Montată\" se scade automat din stoc.": "La trecere pe „Montată\" se scade automat din stoc.",
"Labor": "Работа",
"Labors": "Работы",
"Language": "Язык",
"Laracasts": "Laracasts",
"Laravel has an incredibly rich ecosystem.": "Laravel has an incredibly rich ecosystem.",
"Last login at": "Последний вход",
"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": "Заявка",
"Lead-uri": "Lead-uri",
"Lead-uri pe sursă": "Lead-uri pe sursă",
"Leads": "Заявки",
"Legendă": "Legendă",
"Legendă:": "Legendă:",
"Legătura cu fișa CRM (opțional). Auto-matched la înregistrare după telefon.": "Legătura cu fișa CRM (opțional). Auto-matched la înregistrare după telefon.",
@@ -811,6 +884,7 @@
"Loc.": "Loc.",
"Local": "Локально",
"Localizare & monedă": "Локализация и валюта",
"Location": "Локация",
"Locație": "Локация",
"Locație (raft)": "Locație (raft)",
"Locație rack/bin": "Locație rack/bin",
@@ -851,6 +925,7 @@
"Maistru": "Мастер",
"Maistru / Mecanic": "Maistru / Mecanic",
"Maistru / Recepție:": "Maistru / Recepție:",
"Make": "Марка",
"Manager": "Менеджер",
"Manopere": "Работы",
"Manoperă": "Работа",
@@ -866,6 +941,7 @@
"Marchează terminat": "Отметить как готовое",
"Marcă": "Марка",
"Marcă implicită": "Марка по умолчанию",
"Margin": "Маржа",
"Marja": "Маржа",
"Marja piese": "Marja piese",
"Marja profitului": "Маржа прибыли",
@@ -877,14 +953,17 @@
"Marjă profit:": "Marjă profit:",
"Marketing": "Маркетинг",
"Marketing (UTM)": "Marketing (UTM)",
"Markup": "Markup",
"Markup": "Наценка",
"Markup %": "Наценка %",
"Martie": "Март",
"Marți": "Вторник",
"Master": "Мастер",
"Master name": "Мастер",
"Matricea": "Matricea",
"Max clienți": "Max clienți",
"Max fișe/lună": "Max fișe/lună",
"Max mașini": "Max mașini",
"Max qty": "Макс. кол-во",
"Max useri": "Max useri",
"Mașina e gata de ridicat": "Mașina e gata de ridicat",
"Mașini": "Автомобили",
@@ -898,6 +977,8 @@
"Mesaj client": "Mesaj client",
"Mesaje": "Сообщения",
"Mesaje AI/lună": "Mesaje AI/lună",
"Message": "Сообщение",
"Method": "Метод",
"Metoda": "Metoda",
"Metode de livrare": "Metode de livrare",
"Metode plată": "Способы оплаты",
@@ -905,6 +986,8 @@
"Metodă plată": "Способ оплаты",
"Miercuri": "Среда",
"Migrare la alt sistem CRM": "Migrare la alt sistem CRM",
"Mileage": "Пробег",
"Min qty": "Мин. кол-во",
"Min.": "Мин.",
"Minim": "Minim",
"Minute": "Минуты",
@@ -917,6 +1000,7 @@
"Model Gemini": "Model Gemini",
"Model OpenAI": "Model OpenAI",
"Model implicit": "Модель по умолчанию",
"Model year": "Модельный год",
"Modele": "Модели",
"Modificat de": "Изменено",
"Moldova-Agroindbank": "Moldova-Agroindbank",
@@ -932,6 +1016,7 @@
"Mulțumim": "Спасибо",
"Mâine": "Завтра",
"Mărci auto suportate (separate prin virgulă)": "Mărci auto suportate (separate prin virgulă)",
"Name": "Имя",
"Neachitat": "Не оплачено",
"Necesită acțiune": "Требует действия",
"Necesită aprobare": "Требуется одобрение",
@@ -993,10 +1078,12 @@
"No": "Нет",
"No-show alert": "No-show alert",
"Noiembrie": "Ноябрь",
"Norm hours": "Норма часов",
"Norma ore": "Норма часов",
"Normal": "Обычный",
"Norme-ore": "Нормо-часы",
"Note interne": "Note interne",
"Notes": "Заметки",
"Notificare": "Уведомление",
"Notifications": "Уведомления",
"Notificări": "Уведомления",
@@ -1026,6 +1113,8 @@
"Nu te poți șterge pe tine!": "Nu te poți șterge pe tine!",
"Nu, renunță": "Нет, отменить",
"Numar": "Номер",
"Number": "Номер",
"Number generated": "Номер создан",
"Nume": "Имя",
"Nume (RO)": "Nume (RO)",
"Nume (RU)": "Nume (RU)",
@@ -1050,9 +1139,11 @@
"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).",
"Onboarded": "Onboarded",
"Only trashed": "Только удалённые",
"Onorat": "Onorat",
"Onorează (scade stoc)": "Onorează (scade stoc)",
"OpenAI API Key": "OpenAI API Key",
"Opened at": "Открыт",
"Operator platformă:": "Operator platformă:",
"Operatorul (tu) creezi factură:": "Operatorul (tu) creezi factură:",
"Operatorul confirmă manual factura ca plătită": "Operatorul confirmă manual factura ca plătită",
@@ -1066,6 +1157,9 @@
"Ora închidere": "Время закрытия",
"Oraș": "Город",
"Oraș:": "Oraș:",
"Order": "Заказ",
"Order number": "№ заказа",
"Orders": "Заказы",
"Ordine": "Порядок",
"Ordonare": "Сортировка",
"Ordonat": "Отсортировано",
@@ -1077,6 +1171,7 @@
"Ore programate": "Ore programate",
"Ore total": "Ore total",
"Ore/zi": "Часов/день",
"Owner": "Владелец",
"Owner = drepturi totale. Admin = aproape la fel. Sales = doar tenanți + planuri. Finance = facturi. Support = read-only.": "Owner = drepturi totale. Admin = aproape la fel. Sales = doar tenanți + planuri. Finance = facturi. Support = read-only.",
"PDF": "PDF",
"PNG/ICO, max 512 KB.": "PNG/ICO, max 512 KB.",
@@ -1086,6 +1181,7 @@
"POST /api/v1/login": "POST /api/v1/login",
"Pagina": "Страница",
"Pagini": "Страницы",
"Paid at": "Оплачено",
"Panou": "Панель",
"Panou control": "Панель управления",
"Parolă": "Пароль",
@@ -1093,16 +1189,24 @@
"Parolă (lasă gol pentru auto-generat)": "Parolă (lasă gol pentru auto-generat)",
"Parolă API": "Parolă API",
"Parolă resetată.": "Parolă resetată.",
"Part": "Запчасть",
"Parts": "Запчасти",
"Parțial": "Частично",
"Pas 1 — Datele afacerii": "Pas 1 — Datele afacerii",
"Pas 2 — Brand & limbă": "Pas 2 — Brand & limbă",
"Pas 3 — Tarif & terminat": "Pas 3 — Tarif & terminat",
"Password": "Пароль",
"Pasul 1: Încarcă fișierul": "Pasul 1: Încarcă fișierul",
"Pasul 2: Mapează coloanele": "Pasul 2: Mapează coloanele",
"Pauză": "Пауза",
"Pay status": "Статус оплаты",
"PayPal": "PayPal",
"PayPal:": "PayPal:",
"Payload:": "Payload:",
"Payment": "Платёж",
"Payment date": "Дата платежа",
"Payment method": "Способ оплаты",
"Payments": "Платежи",
"Paynet": "Paynet",
"Pe pauză": "На паузе",
"Pe status": "Pe status",
@@ -1123,6 +1227,10 @@
"Persoană fizică": "Persoană fizică",
"Persoană juridică": "Persoană juridică",
"Personalizat": "Персонализировано",
"Phone": "Телефон",
"Phone alt": "Тел. дополн.",
"Photo": "Фото",
"Photos": "Фото",
"Pierdut": "Потерян",
"Pierdute": "Pierdute",
"Piese": "Запчасти",
@@ -1137,7 +1245,7 @@
"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 stabilește automat starea fișei (unpaid/partial/paid)": "Plata stabilește automat starea fișei (unpaid/partial/paid)",
"Plate": "Plate",
"Plate": "Гос. номер",
"Plată": "Платёж",
"Plată & total": "Оплата и итого",
"Plată anulată": "Plată anulată",
@@ -1161,6 +1269,7 @@
"Pontaj": "Табель",
"Populare": "Популярные",
"Posibili clienți noi": "Потенциальные новые клиенты",
"Position": "Должность",
"Post actualizat": "Post actualizat",
"Poze": "Фото",
"Pozele auto": "Фото авто",
@@ -1196,6 +1305,7 @@
"Preț/h": "Preț/h",
"Prețuri": "Prețuri",
"Prețurile se înregistrează automat la fiecare recepție de PO.": "Prețurile se înregistrează automat la fiecare recepție de PO.",
"Price": "Цена",
"Primește cereri din canalul Telegram + trimite confirmări automate.": "Primește cereri din canalul Telegram + trimite confirmări automate.",
"Primit": "Primit",
"Print": "Печать",
@@ -1246,6 +1356,9 @@
"Publică": "Опубликовать",
"Publică în magazin": "Publică în magazin",
"Publishable key": "Publishable key",
"Published": "Опубликовано",
"Purchase": "Закупка",
"Purchases": "Закупки",
"Putere": "Мощность",
"Pâlnie": "Воронка",
"Până la": "До",
@@ -1254,6 +1367,8 @@
"Până la ora": "По",
"Până la:": "Până la:",
"QR": "QR",
"Qty": "Кол-во",
"Quantity": "Количество",
"ROI": "ROI",
"RON — Leu românesc": "RON — Leu românesc",
"RUB — Rublă": "RUB — Rublă",
@@ -1261,11 +1376,14 @@
"Rapoarte": "Отчёты",
"Raport": "Отчёт",
"Rata conversie": "Конверсия",
"Rate": "Ставка",
"Rating": "Рейтинг",
"Rating actualizat → {$score}★": "Rating actualizat → {$score}★",
"Reactivează": "Реактивировать",
"Read the": "Read the",
"Ready at": "Готов",
"Real ore": "Факт часов",
"Reason": "Причина",
"Recalculat preț pentru {$count} piese": "Recalculat preț pentru {$count} piese",
"Recalculează": "Recalculează",
"Recent": "Недавно",
@@ -1288,22 +1406,27 @@
"Redeschide fișa": "Переоткрыть наряд",
"Ref.": "Реф.",
"Ref. lot/factură": "Ref. lot/factură",
"Reference": "Ссылка",
"Referință": "Ссылка",
"Referință (Stripe id, transfer)": "Referință (Stripe id, transfer)",
"Referință (chitanță / tranzacție)": "Referință (chitanță / tranzacție)",
"Refuzat": "Отклонён",
"Refuzat de client": "Отклонено клиентом",
"Regenerează": "Перегенерировать",
"Region": "Регион",
"Register": "Регистрация",
"Regiune": "Regiune",
"Regulă": "Правило",
"Reia": "Продолжить",
"Remember me": "Запомнить меня",
"Reminder ITP / revizie": "Reminder ITP / revizie",
"Reminder service auto": "Reminder service auto",
"Renunță": "Отменить",
"Reordonează": "Изменить порядок",
"Reparație": "Ремонт",
"Reparații": "Ремонты",
"Report": "Отчёт",
"Reports": "Отчёты",
"Rerating": "Rerating",
"Reset": "Сбросить",
"Reset parolă": "Reset parolă",
@@ -1320,8 +1443,10 @@
"Restanță": "Restanță",
"Restaurează": "Восстановить",
"Restituire": "Restituire",
"Restore": "Восстановить",
"Retur": "Возврат",
"Returnat": "Returnat",
"Revenue": "Доход",
"Revizie": "ТО",
"Revizii": "ТО",
"Revocă": "Revocă",
@@ -1336,6 +1461,7 @@
"Robotizată": "Робот",
"Rol": "Роль",
"Rol primar": "Основная роль",
"Role": "Роль",
"Rolul principal — sincronizat automat cu drepturile RBAC.": "Rolul principal — sincronizat automat cu drepturile RBAC.",
"Roluri suplimentare": "Доп. роли",
"Roluri suplimentare peste rolul primar — drepturile se cumulează.": "Roluri suplimentare peste rolul primar — drepturile se cumulează.",
@@ -1354,6 +1480,7 @@
"Salariu & comisioane": "Salariu & comisioane",
"Salariu & marjă": "Зарплата и маржа",
"Salariu bază": "Salariu bază",
"Salary base": "База зарплаты",
"Sales": "Продажи",
"Salut": "Привет",
"Salvează": "Сохранить",
@@ -1373,6 +1500,7 @@
"Scadență": "Срок оплаты",
"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",
"Scheduled at": "Запланировано",
"Schimb ulei + filtru": "Schimb ulei + filtru",
"Scoate din magazin": "Scoate din magazin",
"Scrie mesajul tău...": "Scrie mesajul tău...",
@@ -1382,11 +1510,13 @@
"Se salvează...": "Se salvează...",
"Se vor crea batch-uri pentru toate restanțele rămase în depozitul țintă.": "Se vor crea batch-uri pentru toate restanțele rămase în depozitul țintă.",
"Search": "Поиск",
"Season": "Сезон",
"Secret": "Secret",
"Secret key": "Secret key",
"Secret semnătură": "Secret semnătură",
"Secunde": "Секунды",
"Securitate": "Безопасность",
"Select all": "Выбрать все",
"Selectat": "Выбрано",
"Selectate": "Выбранные",
"Selectează": "Выбрать",
@@ -1404,10 +1534,13 @@
"Semnătură digitală": "Цифровая подпись",
"Senzori TPMS": "Senzori TPMS",
"Septembrie": "Сентябрь",
"Serial": "Serial",
"Serial": "Серийный №",
"Serial number": "Серийный номер",
"Serie": "Серия",
"Serie factură": "Серия счёта",
"Service": "Услуга",
"Service ID": "Service ID",
"Services": "Услуги",
"Servicii": "Услуги",
"Servicii & tarif": "Услуги и тариф",
"Servicii oferite": "Servicii oferite",
@@ -1431,16 +1564,20 @@
"Sex": "Пол",
"Sezon": "Sezon",
"Sfat": "Совет",
"Shelf": "Полка",
"Sign in": "Войти",
"Sign up": "Регистрация",
"Sincronizat": "Синхронизировано",
"Sincronizează": "Синхронизировать",
"Sistem": "Sistem",
"Site PSauto": "Сайт",
"Sku": "SKU",
"Slot": "Слот",
"Slug": "Slug",
"Sold": "Баланс",
"Solution": "Решение",
"Sosit": "Прибыл",
"Source": "Источник",
"Spate-Dreapta": "Spate-Dreapta",
"Spate-Stânga": "Spate-Stânga",
"Spațiu de lucru adăugat": "Spațiu de lucru adăugat",
@@ -1452,7 +1589,7 @@
"Stare": "Stare",
"Stare timp": "Время",
"Stare zi": "Состояние дня",
"Start": "Старт",
"Start": "Начало",
"Status": "Статус",
"Status dosar": "Status dosar",
"Status implicit": "Статус по умолчанию",
@@ -1462,6 +1599,8 @@
"Stoc minim": "Stoc minim",
"Stoc minim atins": "Достигнут мин. остаток",
"Stoc piese (la preț achiziție)": "Stoc piese (la preț achiziție)",
"Stock": "Остаток",
"Storage": "Хранение",
"Storage (MB)": "Storage (MB)",
"Storage media": "Storage media",
"Stripe: înregistrează cont la": "Stripe: înregistrează cont la",
@@ -1474,6 +1613,7 @@
"Subiect (email)": "Subiect (email)",
"Subiect *": "Subiect *",
"Subiect și data sunt obligatorii": "Subiect și data sunt obligatorii",
"Submit": "Отправить",
"Subtotal": "Промежуточный итог",
"Subtotal manopere:": "Subtotal manopere:",
"Subtotal piese:": "Subtotal piese:",
@@ -1488,6 +1628,7 @@
"Sună": "Позвонить",
"Sună-i sau trimite-le un email cu suma datorată.": "Sună-i sau trimite-le un email cu suma datorată.",
"Suport": "Поддержка",
"Supplier": "Поставщик",
"Sursă": "Источник",
"Sursă & Atribuire": "Sursă & Atribuire",
"Suspendat": "Приостановлено",
@@ -1512,6 +1653,8 @@
"Tarif/h": "Tarif/h",
"Tarif/oră": "Tarif/oră",
"Tarifare": "Tarifare",
"Task": "Задача",
"Tasks": "Задачи",
"Taxă depozitare": "Taxă depozitare",
"Taxă livrare": "Taxă livrare",
"Tehnice": "Tehnice",
@@ -1545,6 +1688,7 @@
"Test notificare push": "Test notificare push",
"Testează bot Telegram": "Testează bot Telegram",
"Theme color": "Theme color",
"Time": "Время",
"Timp lucrat": "Отработано",
"Timp mediu": "Среднее время",
"Timp total": "Общее время",
@@ -1556,6 +1700,8 @@
"Tip jante": "Tip jante",
"Tipărește": "Печать",
"Tipărește etichete QR": "Tipărește etichete QR",
"Title": "Название",
"To": "До",
"Toate": "Все",
"Toate atelierele": "Все мастерские",
"Toate autovehiculele": "Все авто",
@@ -1590,6 +1736,7 @@
"Total ieșiri": "Total ieșiri",
"Total intrări": "Total intrări",
"Total net": "Total net",
"Total paid": "Всего оплачено",
"Total plătit": "Всего оплачено",
"Total rezultate": "Всего результатов",
"Total venituri": "Total venituri",
@@ -1606,8 +1753,10 @@
"Transfer": "Перевод",
"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",
"Transmission": "КПП",
"Transport": "Транспорт",
"Tranz.": "Tranz.",
"Trashed": "Удалённые",
"Trial expiră la": "Trial expiră la",
"Trimis": "Отправлено",
"Trimis · fără răspuns": "Отправлено · без ответа",
@@ -1626,6 +1775,7 @@
"Trimite prin email": "Отправить по email",
"Trimite reminder după X zile fără vizită": "Trimite reminder după X zile fără vizită",
"Trimite reset parolă": "Trimite reset parolă",
"Type": "Тип",
"UM": "Ед.",
"URL secret pentru POST direct cu lead-uri din site-ul tău.": "URL secret pentru POST direct cu lead-uri din site-ul tău.",
"Ulei": "Масло",
@@ -1637,6 +1787,7 @@
"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).",
"Updated at": "Обновлён",
"Upgrade": "Обновление",
"Urgent": "Срочно",
"Urgente": "Срочные",
@@ -1645,7 +1796,9 @@
"Următor": "Следующий",
"Următorul": "Далее",
"Următorul →": "Următorul →",
"User": "Пользователь",
"User API": "User API",
"User name": "Пользователь",
"Useri": "Useri",
"Utilități": "Коммуналка",
"Utilizator": "Пользователь",
@@ -1667,6 +1820,13 @@
"Valoare": "Valoare",
"Variabile disponibile: {name}, {car}, {date}, {time}, {amount}, {service}, {mileage}": "Variabile disponibile: {name}, {car}, {date}, {time}, {amount}, {service}, {mileage}",
"Vară": "Лето",
"Vat": "НДС",
"Vat rate": "Ставка НДС",
"Vehicle": "Авто",
"Vehicle class": "Класс авто",
"Vehicle make": "Марка авто",
"Vehicle model": "Модель авто",
"Vehicle plate": "Гос. номер авто",
"Vehicul": "Транспорт",
"Vehicul existent": "Существующий транспорт",
"Vehicul nou": "Новый транспорт",
@@ -1683,7 +1843,9 @@
"Vezi imagine": "Просмотр изображения",
"Vezi mai mult": "Смотреть больше",
"Vezi tot": "Смотреть все",
"View": "Просмотр",
"Viitoare": "Viitoare",
"Vin": "VIN",
"Vineri": "Пятница",
"Visa, Mastercard prin Stripe": "Visa, Mastercard prin Stripe",
"Vizibil": "Видимо",
@@ -1700,6 +1862,7 @@
"Vă mulțumim!": "Vă mulțumim!",
"Văzut": "Просмотрено",
"WBAFE81070CY34521": "WBAFE81070CY34521",
"Warehouse": "Склад",
"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",
@@ -1709,11 +1872,17 @@
"Webhook intrări (formulare site)": "Webhook intrări (formulare site)",
"Webhook secret": "Webhook secret",
"Webhook setat — botul e gata": "Webhook setat — botul e gata",
"Website": "Сайт",
"Weekend": "Выходные",
"Welcome": "Добро пожаловать",
"WhatsApp": "WhatsApp",
"Widget": "Виджет",
"With trashed": "Включая удалённые",
"Without trashed": "Без удалённых",
"Work": "Работа",
"Works": "Работы",
"XLS": "XLS",
"Year": "Год",
"Yes": "Да",
"ZIP": "ZIP",
"ZIP cu fișiere JSON (1 per tabel) + media + manifest.json.": "ZIP cu fișiere JSON (1 per tabel) + media + manifest.json.",