service.json 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444
  1. {
  2. "page": {
  3. "notFound": "Servis kaydı bulunamadı",
  4. "updated": "Servis kaydı güncellendi",
  5. "failedUpdate": "Servis kaydı güncellenemedi",
  6. "deleteTitle": "Servis Kaydını Sil",
  7. "deleteDescription": "Bu, bu servis kaydını ve ilişkili tüm verileri kalıcı olarak silecektir. Bu işlem geri alınamaz.",
  8. "deleted": "Servis kaydı silindi",
  9. "failedDelete": "Silinemedi",
  10. "datesExpiredTitle": "Fatura tarihleri geçmiş",
  11. "datesExpiredDescription": "Fatura tarihi veya vade tarihi geçmiş. Devam etmeden önce tarihleri güncellemek ister misiniz?",
  12. "datesExpiredUpdate": "Tarihleri güncelle ve devam et",
  13. "datesExpiredProceed": "Değişiklik yapmadan devam et",
  14. "datesExpiredUseToday": "Bugünün tarihine güncelle",
  15. "datesExpiredCustomize": "Tarihleri manuel olarak seç",
  16. "datesExpiredBack": "Geri",
  17. "datesExpiredSetToday": "Bugüne ayarla",
  18. "customFieldsInvalid": "Lütfen tüm zorunlu özel alanları doldurun",
  19. "customFieldsSaveFailed": "Özel alanlar kaydedilemedi"
  20. },
  21. "header": {
  22. "tabs": {
  23. "details": "Ayrıntılar",
  24. "images": "Resimler",
  25. "video": "Video",
  26. "documents": "Belgeler",
  27. "statusReports": "Durum Raporları"
  28. },
  29. "save": "Kaydet",
  30. "pdf": "PDF",
  31. "email": "E-posta",
  32. "share": "Paylaş",
  33. "notify": "Bildir",
  34. "delete": "Sil",
  35. "unpaid": "Ödenmedi",
  36. "unsavedChanges": "Kaydedilmemiş değişiklikler",
  37. "saved": "Kaydedildi",
  38. "joinCall": "Görüntülü görüşmeye katıl"
  39. },
  40. "basicInfo": {
  41. "title": "Temel Bilgiler",
  42. "invoiceDetails": "Fatura detayları",
  43. "customerInfo": "Müşteri ve araç",
  44. "paid": "Ödendi",
  45. "markPaid": "Ödendi olarak işaretle",
  46. "markUnpaid": "Ödenmedi olarak işaretle",
  47. "vehicle": "Araç",
  48. "open": "Aç",
  49. "customer": "Müşteri",
  50. "titleLabel": "Başlık *",
  51. "titlePlaceholder": "Yağ Değişimi",
  52. "date": "Tarih",
  53. "type": "Tür",
  54. "mileage": "Kilometre",
  55. "mileageMarine": "Motor Saatleri",
  56. "status": "Durum",
  57. "technician": "Teknisyen",
  58. "invoiceNumber": "Fatura Numarası",
  59. "invoiceDate": "Fatura tarihi",
  60. "invoiceDueDate": "Vade tarihi",
  61. "typeOptions": {
  62. "maintenance": "Bakım",
  63. "repair": "Onarım",
  64. "upgrade": "Yükseltme",
  65. "inspection": "Muayene"
  66. },
  67. "statusOptions": {
  68. "pending": "Beklemede",
  69. "in_progress": "Devam Ediyor",
  70. "waiting_parts": "Parça Bekleniyor",
  71. "completed": "Tamamlandı"
  72. },
  73. "searchVehicles": "Araç ara...",
  74. "noVehicleFound": "Araç bulunamadı.",
  75. "techPicker": {
  76. "placeholder": "Seç veya adını yazın...",
  77. "searchPlaceholder": "Ara veya adını yazın...",
  78. "useCustom": "\"{search}\" kullan",
  79. "typePrompt": "Adını yazın...",
  80. "boardTechnicians": "Pano Teknisyenleri",
  81. "teamMembers": "Takım Üyeleri"
  82. },
  83. "design": "Fatura tasarımı",
  84. "designDefault": "Atölye varsayılanı",
  85. "designFollowing": "Varsayılan ({name})",
  86. "designPinned": "Sayfa, fatura {date} tarihinde düzenlendiğinde donduruldu. Yeni seçim yalnızca bir sahip faturanın kilidini açıp yeniden gönderildikten sonra uygulanır.",
  87. "designSaved": "Fatura tasarımı güncellendi",
  88. "designFollowingRule": "Varsayılan ({name}, {rule})",
  89. "designRule": {
  90. "parts_sale": "Yalnızca parça satışı"
  91. },
  92. "designSaveFailed": "Fatura tasarımı değiştirilemedi"
  93. },
  94. "parts": {
  95. "title": "Parçalar",
  96. "fromInventory": "Stoktan",
  97. "addPart": "Parça Ekle",
  98. "partNumber": "Parça #",
  99. "name": "Ad",
  100. "qty": "Mik.",
  101. "unitCost": "Maliyet",
  102. "unitCostHint": "Tedarikçi maliyeti (dahili — müşteriye gösterilmez)",
  103. "markupPercent": "Kâr Marjı %",
  104. "markupPercentHint": "Maliyete uygulanan kâr marjı (dahili — müşteriye gösterilmez)",
  105. "applyMarkup": "{percent}% Uygula",
  106. "applyMarkupHint": "Her satırdaki maliyete {percent}% marjı yeniden uygula",
  107. "unitPrice": "Birim Fiyatı",
  108. "total": "Toplam",
  109. "namePlaceholder": "Ad *",
  110. "subtotal": "Parçalar Ara Toplamı: {amount}",
  111. "inventoryTitle": "Stoktan Parça Seç",
  112. "searchInventory": "Stokte ara...",
  113. "inStock": "{quantity} stokta",
  114. "noInventory": "Stok parçası bulunamadı.",
  115. "scanBarcode": "Tara",
  116. "scanTitle": "Barkod tara",
  117. "partFound": "\"{name}\" envanterden eklendi",
  118. "partNotFound": "\"{barcode}\" barkodu için parça bulunamadı",
  119. "deleteRow": "Delete row",
  120. "outOfStock": "Stokta yok",
  121. "onBackorder": "Ön siparişte ({count})",
  122. "nameMissingHint": "Parça adı olmayan satırlar kaydedilmez."
  123. },
  124. "labor": {
  125. "title": "İşçilik",
  126. "addLabor": "İşçilik Ekle",
  127. "fromPresets": "Şablonlardan",
  128. "description": "Açıklama",
  129. "hours": "Saat",
  130. "rate": "Ücret ({currency}/sa)",
  131. "total": "Toplam",
  132. "descriptionPlaceholder": "Açıklama *",
  133. "subtotal": "İşçilik Ara Toplamı: {amount}",
  134. "addService": "Add Service",
  135. "addFinding": "Gözlem",
  136. "newObservation": "Yeni gözlem",
  137. "addExisting": "Mevcut göster ({count})",
  138. "qty": "Qty",
  139. "qtyOrHours": "Unit / Hours",
  140. "hourlyTag": "HR",
  141. "serviceTag": "SVC",
  142. "switchToHourly": "Switch to hourly pricing",
  143. "switchToService": "Switch to service pricing",
  144. "switchToHourlyHint": "Hourly: priced by hours worked (hours 00d7 rate/hr). Click to switch.",
  145. "switchToServiceHint": "Service: priced as a flat fee per unit. Click to switch.",
  146. "deleteRow": "Delete row"
  147. },
  148. "totals": {
  149. "title": "Toplamlar",
  150. "parts": "Parçalar",
  151. "labor": "İşçilik",
  152. "subtotal": "Ara Toplam",
  153. "subtotalInclTax": "Ara Toplam (KDV dahil)",
  154. "discount": "İndirim",
  155. "discountNone": "Yok",
  156. "discountPercentage": "Yüzde",
  157. "discountFixed": "Sabit",
  158. "tax": "Vergi",
  159. "taxIncluded": "Vergi (dahil)",
  160. "total": "Toplam",
  161. "inclusiveModeHint": "Satır fiyatları KDV dahil girilir. Toplamlar net + vergi dağılımını gösterir.",
  162. "partsCost": "Parça maliyeti (dahili)"
  163. },
  164. "notes": {
  165. "title": "Notlar",
  166. "public": "Genel",
  167. "internal": "İç",
  168. "publicPlaceholder": "Faturada görünür notlar...",
  169. "internalPlaceholder": "İç notlar (faturada gösterilmez)...",
  170. "publicHelper": "Faturada gösterilir ve paylaşılan belgelerde yer alır",
  171. "internalHelper": "Yalnızca takımınız tarafından görülebilir",
  172. "aiWrite": "AI Yaz",
  173. "aiGenerated": "AI notları başarıyla oluşturuldu",
  174. "aiGenerateFailed": "AI notları oluşturulamadı",
  175. "aiDialogTitle": "AI Yaz",
  176. "aiDialogDescription": "AI bu servis kaydındaki parçaları ve işçiliği analiz edecek ve profesyonel bir açıklama oluşturacaktır. Sonuç seçili not türüne yazılacaktır.",
  177. "aiGenerate": "Oluştur",
  178. "aiOverwriteDescription": "Mevcut not zaten içeriğe sahip. Değiştirebilir veya AI tarafından oluşturulan metni altına ekleyebilirsiniz.",
  179. "aiOverwriteReplace": "Değiştir",
  180. "aiOverwriteAppend": "Ekle",
  181. "aiOverwriteCancel": "İptal",
  182. "aiDontShowAgain": "Bir daha gösterme"
  183. },
  184. "invoice": {
  185. "title": "Fatura Özeti",
  186. "parts": "Parçalar",
  187. "labor": "İşçilik",
  188. "subtotal": "Ara Toplam",
  189. "subtotalInclTax": "Ara Toplam (KDV dahil)",
  190. "discount": "İndirim",
  191. "tax": "Vergi ({rate}%)",
  192. "taxIncluded": "Vergi (dahil, %{rate})",
  193. "total": "Toplam",
  194. "paid": "Ödendi",
  195. "balanceDue": "Kalan Bakiye",
  196. "paidBadge": "ÖDENDİ",
  197. "entityLabel": "Fatura",
  198. "emailSubject": "Ödeme Onayı",
  199. "statusEmailSubject": "Servis durumu güncellemesi",
  200. "markCompletedTitle": "Bu fatura tamamlandı olarak işaretlensin mi?",
  201. "markCompletedDescription": "Müşteriye gitti ama hâlâ bitmedi olarak işaretli, bu yüzden iş panosunda görünmeye devam edecek.",
  202. "markCompletedConfirm": "Tamamlandı olarak işaretle",
  203. "lockedFieldsetLabel": "Fatura kilitli, düzenleme kapalı"
  204. },
  205. "payments": {
  206. "title": "Ödemeler",
  207. "markUnpaid": "Ödenmedi Olarak İşaretle",
  208. "markPaid": "Ödendi Olarak İşaretle",
  209. "recordPayment": "Ödeme Kaydet",
  210. "totalPaid": "Toplam Ödenen",
  211. "amount": "Miktar",
  212. "date": "Tarih",
  213. "method": "Yöntem",
  214. "note": "Not",
  215. "notePlaceholder": "İsteğe bağlı not",
  216. "savePayment": "Ödemeyi Kaydet",
  217. "methodOptions": {
  218. "cash": "Nakit",
  219. "card": "Kart",
  220. "transfer": "Transfer",
  221. "other": "Diğer"
  222. },
  223. "recorded": "Ödeme kaydedildi",
  224. "markedPaid": "Ödendi olarak işaretlendi",
  225. "markedUnpaid": "Ödenmedi olarak işaretlendi",
  226. "deleted": "Ödeme silindi",
  227. "failedRecord": "Ödeme kaydedilemedi",
  228. "failedStatus": "Ödeme durumu güncellenemedi",
  229. "failedDelete": "Ödeme silinemedi",
  230. "deleteTitle": "Ödemeyi Sil",
  231. "deleteDescription": "Bu, bu ödeme kaydını kaldıracaktır.",
  232. "failedPdf": "PDF fatura oluşturulamadı"
  233. },
  234. "attachments": {
  235. "deleteTitle": "Eki Sil",
  236. "deleteDescription": "Bu, bu eki kalıcı olarak silecektir. Bu işlem geri alınamaz.",
  237. "deleted": "Ek silindi",
  238. "failedDelete": "Silinemedi",
  239. "images": "Resimler ({count})",
  240. "videos": "Videolar ({count})",
  241. "diagnostics": "Tanı Raporları ({count})",
  242. "documents": "Belgeler ({count})",
  243. "download": "Download",
  244. "close": "Close"
  245. },
  246. "share": {
  247. "title": "Faturayı Paylaş",
  248. "description": "Herkesin oturum açmadan bu faturayı görüntülemesine ve indirmesine izin veren herkese açık bir bağlantı oluştur.",
  249. "notifyTitle": "{name} Bilgilendir",
  250. "email": "E-posta",
  251. "noEmail": "(dosyada e-posta yok)",
  252. "sms": "SMS",
  253. "noPhone": "(dosyada telefon yok)",
  254. "sendNotification": "Bildirim Gönder",
  255. "revokeLink": "Bağlantıyı İptal Et",
  256. "generateLink": "Herkese Açık Bağlantı Oluştur",
  257. "emailSent": "E-posta gönderildi",
  258. "failedEmail": "E-posta gönderilemedi",
  259. "smsSent": "SMS gönderildi",
  260. "failedSms": "SMS gönderilemedi",
  261. "copyLink": "Copy link"
  262. },
  263. "sidebar": {
  264. "vehicle": "Araç",
  265. "customer": "Müşteri",
  266. "vin": "VIN: {vin}",
  267. "mileageAtService": "Servis sırasındaki kilometre: {mileage} {unit}",
  268. "engineHoursAtService": "Servisteki motor saatleri: {mileage} {unit}",
  269. "sharedLink": {
  270. "title": "Paylaşılan bağlantı",
  271. "sharedOn": "{date} tarihinde paylaşıldı",
  272. "notViewed": "Henüz görüntülenmedi",
  273. "viewedTimes": "{count, plural, one {# kez} other {# kez}} görüntülendi",
  274. "lastViewed": "Son {date}",
  275. "copyLink": "Bağlantıyı kopyala",
  276. "linkCopied": "Bağlantı kopyalandı"
  277. }
  278. },
  279. "images": {
  280. "title": "Servis Resimleri",
  281. "dropzone": "Resimleri buraya bırakın veya göz atmak için tıklayın",
  282. "uploading": "Yükleniyor...",
  283. "formats": "JPG, PNG, WebP — maks. 10 MB her biri",
  284. "uploadingImages": "Resimler yükleniyor...",
  285. "limitReached": "Resim sınırına ulaşıldı ({count}/{max})",
  286. "upgradePrompt": "Daha fazla resim yüklemek için planınızı yükseltin.",
  287. "onlyAllowed": "Yalnızca JPG, PNG ve WebP resimlere izin verilmektedir. {names} atlandı.",
  288. "onlyUploading": "Sınır dahilinde kalmak için yalnızca {count} resim yükleniyor.",
  289. "uploadingCount": "{count} resim yükleniyor...",
  290. "uploadedCount": "{count} resim yüklendi",
  291. "uploadFailed": "Yükleme başarısız",
  292. "deleted": "Resim silindi",
  293. "failedDelete": "Resim silinemedi",
  294. "failedUpdate": "Güncellenemedi",
  295. "description": "Açıklama...",
  296. "invoice": "Fatura"
  297. },
  298. "videos": {
  299. "title": "Servis Videoları",
  300. "dropzone": "Videoları buraya bırakın veya göz atmak için tıklayın",
  301. "uploading": "Yükleniyor...",
  302. "formats": "MP4, WebM, MOV — maks. 10 MB her biri",
  303. "uploadingVideos": "Videolar yükleniyor...",
  304. "uploadingCount": "{count} video yükleniyor...",
  305. "uploadedCount": "{count} video yüklendi",
  306. "uploadFailed": "Yükleme başarısız",
  307. "deleted": "Video silindi",
  308. "failedDelete": "Video silinemedi",
  309. "failedUpdate": "Güncellenemedi",
  310. "invoice": "Fatura"
  311. },
  312. "documents": {
  313. "diagnosticTitle": "Tanı Raporları",
  314. "documentsTitle": "Belgeler",
  315. "dropzone": "Dosyaları buraya bırakın veya göz atmak için tıklayın",
  316. "uploading": "Yükleniyor...",
  317. "diagnosticFormats": "PDF, CSV, TXT — maks. 10 MB her biri",
  318. "documentFormats": "PDF, DOCX, XLSX, CSV, TXT — maks. 10 MB her biri",
  319. "uploadingReports": "Raporlar yükleniyor...",
  320. "uploadingDocuments": "Belgeler yükleniyor...",
  321. "diagnosticLimitReached": "Tanı raporu sınırına ulaşıldı ({count}/{max})",
  322. "documentLimitReached": "Belge sınırına ulaşıldı ({count}/{max})",
  323. "upgradePrompt": "Daha fazla yüklemek için planınızı yükseltin.",
  324. "diagnosticLabel": "Tanı raporu",
  325. "documentLabel": "Belge",
  326. "limitReachedToast": "{label} sınırına ulaşıldı ({count}/{max}). Daha fazlası için planınızı yükseltin.",
  327. "onlyUploading": "Sınır dahilinde kalmak için yalnızca {count} dosya yükleniyor.",
  328. "uploadingCount": "{count} dosya yükleniyor...",
  329. "uploadedCount": "{count} dosya yüklendi",
  330. "uploadFailed": "Yükleme başarısız",
  331. "deleted": "Dosya silindi",
  332. "failedDelete": "Dosya silinemedi",
  333. "failedUpdate": "Güncellenemedi",
  334. "invoice": "Fatura"
  335. },
  336. "schedule": {
  337. "title": "Zamanlama",
  338. "date": "Tarih",
  339. "startTime": "Başlangıç Saati",
  340. "endTime": "Bitiş Saati",
  341. "technician": "Teknisyen",
  342. "selectTechnician": "Teknisyen seçin...",
  343. "searchOrCreate": "Teknisyen ara veya oluştur...",
  344. "createTechnician": "\"{name}\" oluştur",
  345. "creating": "Oluşturuluyor...",
  346. "failedCreate": "Teknisyen oluşturulamadı",
  347. "addNew": "+ Yeni Ekle",
  348. "add": "Ekle",
  349. "newTechPlaceholder": "Teknisyen adı...",
  350. "assign": "Panoya ata",
  351. "assigned": "Çalışma panosuna atandı",
  352. "failedAssign": "Atama başarısız",
  353. "endBeforeStart": "Bitiş saati başlangıç saatinden sonra olmalıdır",
  354. "failedUpdate": "Zamanlama güncellenemedi",
  355. "splitCreated": "İş birden fazla güne yayılıyor — sonraki gün için devam oluşturuldu",
  356. "platformUsers": "Platform Users",
  357. "customTechnicians": "Custom",
  358. "readMore": "Daha fazla",
  359. "setDefaults": "Varsayılanlar",
  360. "workBay": "Çalışma alanı",
  361. "selectWorkBay": "Çalışma alanı seçin…",
  362. "noWorkBay": "Çalışma alanı yok",
  363. "noTechnician": "Teknisyensiz",
  364. "technicians": "Teknisyenler",
  365. "otherTeamMembers": "Diğer ekip üyeleri",
  366. "makeTechnician": "Onu teknisyen yapar",
  367. "addSomeoneNew": "Yeni birini ekle",
  368. "notOnBoard": "Henüz panoda değil",
  369. "putOnBoard": "Panoya ekle",
  370. "slotTaken": "{count, plural, one {Bu saat zaten dolu} other {Bu saatte # çakışma var}}",
  371. "anotherJob": "başka bir iş",
  372. "clashTechnician": "teknisyen meşgul",
  373. "clashBay": "servis alanı dolu",
  374. "clashBoth": "ikisi de dolu",
  375. "bookedAnyway": "Yine de kaydedildi. Saati değiştirin veya sıradaki boş saati seçin.",
  376. "pickNextAvailable": "Sıradaki boş saati seç",
  377. "findingSlot": "Saat aranıyor…",
  378. "slotPicked": "Sıradaki boş saate alındı",
  379. "noSlotFound": "Önümüzdeki haftalarda boş saat bulunamadı"
  380. },
  381. "notifications": {
  382. "title": "Müşteri bildirimleri",
  383. "viaSms": "SMS ile",
  384. "viaEmail": "e-posta ile",
  385. "justNow": "Az önce",
  386. "minutesAgo": "{count}dk önce",
  387. "hoursAgo": "{count}sa önce",
  388. "daysAgo": "{count}g önce"
  389. },
  390. "table": {
  391. "warranty": "Garanti"
  392. },
  393. "warranty": {
  394. "title": "Garanti",
  395. "months": "Süre (ay)",
  396. "mileage": "Kilometre limiti",
  397. "notes": "Garanti koşulları",
  398. "notesPlaceholder": "ör. Tüm parça ve işçilik için 12 ay garanti...",
  399. "expiresAt": "Bitiş",
  400. "presets": {
  401. "3months": "3 ay",
  402. "6months": "6 ay",
  403. "12months": "12 ay",
  404. "24months": "24 ay"
  405. },
  406. "status": {
  407. "active": "Aktif",
  408. "expiring": "Sona eriyor",
  409. "expired": "Süresi doldu",
  410. "none": "Yok"
  411. },
  412. "defaults": {
  413. "title": "Varsayılan garanti ayarları",
  414. "description": "Yeni servis kayıtları için varsayılan garanti koşullarını ayarlayın"
  415. }
  416. },
  417. "concerns": {
  418. "title": "Müşteri bildirimleri",
  419. "addFirst": "Müşteri bildirimi ekle",
  420. "add": "Bir tane daha ekle",
  421. "placeholder": "Fren yapınca arkadan ses geliyor",
  422. "remove": "Bu maddeyi kaldır",
  423. "notAnswered": "Bu konuda henüz bir şey bulunmadı",
  424. "answered": "Bu konuda {count} tespit"
  425. },
  426. "videoCall": {
  427. "title": "Görüntülü görüşme",
  428. "none": "Bu iş emrinde görüntülü görüşme yok.",
  429. "needsSchedule": "Önce bir başlangıç saati belirleyin. Toplantı programı izler.",
  430. "add": "{provider} toplantısı ekle",
  431. "addedHere": "bu iş emrinden eklendi",
  432. "fromCalendar": "takvim etkinliğinden",
  433. "join": "Katıl",
  434. "copy": "Bağlantıyı kopyala",
  435. "copied": "Bağlantı kopyalandı",
  436. "remove": "Kaldır",
  437. "removeTitle": "Görüntülü görüşme kaldırılsın mı?",
  438. "removeDescription": "Toplantı sağlayıcıda silinir. Bağlantıya sahip olanlar artık katılamaz.",
  439. "created": "Toplantı oluşturuldu. Bağlantı iş emrinde.",
  440. "removed": "Toplantı kaldırıldı",
  441. "failed": "Bir şeyler ters gitti",
  442. "shareHint": "Müşteri bu bağlantıyı yalnızca siz gönderdiğinizde alır. Bir mesaja kopyalayın veya bir bildirime ekleyin."
  443. }
  444. }