4
0

quotes.json 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. {
  2. "list": {
  3. "statusAll": "Все",
  4. "statusDraft": "Черновик",
  5. "statusSent": "Отправлено",
  6. "statusAccepted": "Принято",
  7. "statusRejected": "Отклонено",
  8. "statusConverted": "Конвертировано",
  9. "searchPlaceholder": "Поиск предложений...",
  10. "newQuote": "Новое предложение",
  11. "columnQuoteNumber": "Предложение №",
  12. "columnTitle": "Название",
  13. "columnCustomer": "Клиент",
  14. "columnVehicle": "Транспортное средство",
  15. "columnStatus": "Статус",
  16. "columnDate": "Дата",
  17. "columnTotal": "Итого",
  18. "noQuotes": "Предложения не найдены."
  19. },
  20. "page": {
  21. "quote": "Предложение",
  22. "save": "Сохранить",
  23. "pdf": "PDF",
  24. "email": "Эл. почта",
  25. "share": "Поделиться",
  26. "delete": "Удалить",
  27. "deleteTitle": "Удалить предложение",
  28. "deleteDescription": "Это предложение будет безвозвратно удалено.",
  29. "saved": "Предложение сохранено",
  30. "unsavedChanges": "Несохранённые изменения",
  31. "saveFirst": "Сначала сохраните изменения",
  32. "failedSave": "Не удалось сохранить предложение",
  33. "failedDelete": "Не удалось удалить",
  34. "failedPdf": "Не удалось сгенерировать PDF",
  35. "selectVehicle": "Выберите транспортное средство",
  36. "convertTitle": "Конвертировать предложение в заказ-наряд",
  37. "convertDescription": "Будет создана новая запись обслуживания (заказ-наряд) из этого предложения. Выберите транспортное средство для заказ-наряда.",
  38. "convert": "Конвертировать",
  39. "convertToWorkOrder": "Конвертировать в заказ-наряд",
  40. "cancel": "Отмена",
  41. "failedConvert": "Не удалось конвертировать",
  42. "changesRequested": "Запрошены изменения",
  43. "quoteAccepted": "Предложение принято",
  44. "markResolved": "Отметить как решённое",
  45. "responseResolved": "Ответ клиента обработан",
  46. "entityLabel": "Предложение",
  47. "tabs": {
  48. "details": "Детали",
  49. "images": "Изображения",
  50. "documents": "Документы"
  51. },
  52. "customFieldsInvalid": "Заполните все обязательные пользовательские поля",
  53. "customFieldsSaveFailed": "Не удалось сохранить пользовательские поля"
  54. },
  55. "form": {
  56. "newQuote": "Новое предложение",
  57. "editQuote": "Редактировать предложение",
  58. "cancel": "Отмена",
  59. "createQuote": "Создать предложение",
  60. "updateQuote": "Обновить предложение",
  61. "created": "Предложение создано",
  62. "updated": "Предложение обновлено",
  63. "failedCreate": "Не удалось создать предложение",
  64. "failedUpdate": "Не удалось обновить предложение"
  65. },
  66. "parts": {
  67. "title": "Запчасти",
  68. "addPart": "Добавить запчасть",
  69. "partNumber": "Арт. №",
  70. "name": "Название",
  71. "namePlaceholder": "Название *",
  72. "qty": "Кол-во",
  73. "unitPrice": "Цена за ед.",
  74. "total": "Итого",
  75. "subtotal": "Подитог запчастей: {amount}",
  76. "deleteRow": "Delete row",
  77. "excludeFromTotal": "Exclude from total",
  78. "addFromInventory": "Со склада",
  79. "unitCost": "Себестоимость",
  80. "markupPercent": "Наценка %",
  81. "nameMissingHint": "Строки без названия детали не сохраняются."
  82. },
  83. "labor": {
  84. "title": "Работа",
  85. "addLabor": "Добавить работу",
  86. "fromPresets": "Из шаблонов",
  87. "description": "Описание",
  88. "descriptionPlaceholder": "Описание *",
  89. "hours": "Часы",
  90. "rate": "Ставка ({currency}/ч)",
  91. "total": "Итого",
  92. "subtotal": "Подитог работ: {amount}",
  93. "addService": "Добавить сервис",
  94. "qty": "Кол-во",
  95. "qtyOrHours": "Услуга / Часы",
  96. "hourlyTag": "н/ч",
  97. "serviceTag": "усл.",
  98. "switchToHourly": "Переключить на почасовую оплату",
  99. "switchToService": "Переключить на оплату услуг",
  100. "switchToHourlyHint": "Почасовая: оценка по нормо-часам (часы × ставка/час). Нажмите для изменения.",
  101. "switchToServiceHint": "Услуга: фиксированная цена за единицу. Нажмите для изменения.",
  102. "deleteRow": "Delete row",
  103. "excludeFromTotal": "Exclude from total"
  104. },
  105. "notes": {
  106. "title": "Заметки",
  107. "public": "Публичные",
  108. "internal": "Внутренние",
  109. "publicPlaceholder": "Описание предложения, видимое клиенту...",
  110. "internalPlaceholder": "Внутренние заметки (не видны клиенту)...",
  111. "publicHelper": "Отображается в документе предложения",
  112. "internalHelper": "Видно только вашей команде"
  113. },
  114. "sidebar": {
  115. "sharedLink": {
  116. "title": "Общая ссылка",
  117. "sharedOn": "Опубликовано {date}",
  118. "notViewed": "Ещё не просмотрено",
  119. "viewedTimes": "Просмотрено {count, plural, one {# раз} few {# раза} other {# раз}}",
  120. "lastViewed": "Последний раз {date}",
  121. "copyLink": "Копировать ссылку",
  122. "linkCopied": "Ссылка скопирована"
  123. }
  124. },
  125. "details": {
  126. "title": "Детали предложения",
  127. "titleLabel": "Название *",
  128. "titlePlaceholder": "Смета на ремонт автомобиля",
  129. "status": "Статус",
  130. "statusDraft": "Черновик",
  131. "statusSent": "Отправлено",
  132. "statusAccepted": "Принято",
  133. "statusRejected": "Отклонено",
  134. "validUntil": "Действительно до",
  135. "viewInspection": "Просмотреть связанный осмотр",
  136. "vehicle": "Транспортное средство",
  137. "customer": "Клиент",
  138. "selectVehicle": "Выберите транспортное средство...",
  139. "selectCustomer": "Выберите клиента...",
  140. "none": "Нет",
  141. "clearVehicle": "Clear vehicle",
  142. "clearCustomer": "Clear customer"
  143. },
  144. "totals": {
  145. "title": "Итоги",
  146. "parts": "Запчасти",
  147. "labor": "Работа",
  148. "subtotal": "Подитог",
  149. "subtotalInclTax": "Подитог (с НДС)",
  150. "discount": "Скидка",
  151. "discountNone": "Нет",
  152. "discountPercentage": "Процент",
  153. "discountFixed": "Фиксированная",
  154. "tax": "Налог",
  155. "taxIncluded": "Налог (вкл.)",
  156. "total": "Итого",
  157. "inclusiveModeHint": "Цены позиций вводятся с НДС. Итоги показывают разбивку: без НДС + НДС."
  158. },
  159. "shareDialog": {
  160. "title": "Поделиться предложением",
  161. "description": "Создайте публичную ссылку, по которой любой сможет просмотреть и скачать это предложение без входа в систему.",
  162. "notifyTitle": "Уведомить {name}",
  163. "email": "Эл. почта",
  164. "noEmail": "(эл. почта не указана)",
  165. "sms": "SMS",
  166. "noPhone": "(телефон не указан)",
  167. "sendNotification": "Отправить уведомление",
  168. "revokeLink": "Отозвать ссылку",
  169. "generateLink": "Создать публичную ссылку",
  170. "emailSent": "Письмо отправлено",
  171. "failedEmail": "Не удалось отправить письмо",
  172. "smsSent": "SMS отправлено",
  173. "failedSms": "Не удалось отправить SMS",
  174. "copyLink": "Copy link"
  175. },
  176. "images": {
  177. "title": "Изображения предложения",
  178. "dropzone": "Перетащите изображения сюда или нажмите для выбора",
  179. "uploading": "Загрузка...",
  180. "formats": "JPG, PNG, WebP — макс. 10МБ каждое",
  181. "uploadingImages": "Загрузка изображений...",
  182. "limitReached": "Лимит изображений достигнут ({count}/{max})",
  183. "upgradePrompt": "Обновите тариф для загрузки дополнительных изображений.",
  184. "onlyAllowed": "Допускаются только изображения JPG, PNG и WebP. {names} пропущены.",
  185. "onlyUploading": "Загружается только {count} изображений для соблюдения лимита.",
  186. "uploadingCount": "Загрузка изображений: {count}...",
  187. "uploadedCount": "Загружено изображений: {count}",
  188. "uploadFailed": "Загрузка не удалась",
  189. "failedUploadFile": "Failed to upload {name}",
  190. "failedSaveFile": "Failed to save {name}",
  191. "deleted": "Изображение удалено",
  192. "failedDelete": "Не удалось удалить изображение",
  193. "failedUpdate": "Не удалось обновить",
  194. "description": "Описание...",
  195. "pdf": "PDF"
  196. },
  197. "documents": {
  198. "title": "Документы",
  199. "dropzone": "Перетащите файлы сюда или нажмите для выбора",
  200. "uploading": "Загрузка...",
  201. "formats": "PDF, CSV, TXT — макс. 10МБ каждый",
  202. "uploadingDocuments": "Загрузка документов...",
  203. "limitReached": "Лимит документов достигнут ({count}/{max})",
  204. "upgradePrompt": "Обновите тариф для загрузки дополнительных файлов.",
  205. "onlyUploading": "Загружается только {count} файлов для соблюдения лимита.",
  206. "uploadingCount": "Загрузка файлов: {count}...",
  207. "uploadedCount": "Загружено файлов: {count}",
  208. "uploadFailed": "Загрузка не удалась",
  209. "failedUploadFile": "Failed to upload {name}",
  210. "failedSaveFile": "Failed to save {name}",
  211. "deleted": "Файл удалён",
  212. "failedDelete": "Не удалось удалить файл",
  213. "failedUpdate": "Не удалось обновить",
  214. "pdf": "PDF"
  215. }
  216. }