Sistem yükleniyor...

{{ toast.message }}
Logo Logo
{{ businessName }}
{{ currentUser.name }} ({{ currentUser.role === 'admin' ? (t('admin') || 'Yönetici') : (t('worker') || 'Usta') }})
{{ t('active') || 'Aktif' }}
{{ activeCount }} {{ t('vehicles') || 'Araç' }}
{{ t('total') || 'Toplam' }}
{{ totalCount }} {{ t('vehicles') || 'Araç' }}
{{ t('cashbox_status') || 'Kasa Durumu' }}
{{ formatCurrency(stats.kasaBalance) }}
{{ kasaTab === 'daily' ? (t('daily_cash_summary') || 'Günlük Kasa Özeti') : (t('monthly_cash_summary') || 'Bu Ayın Kasa Özeti') }}
📈 {{ kasaTab === 'daily' ? (t('daily_revenue_turnover') || 'Günlük Gelirler (Ciro)') : (t('monthly_revenue_turnover') || 'Aylık Gelirler (Ciro)') }}
💵 {{ t('cash_income') || 'Nakit Gelir' }} {{ kasaTab === 'daily' ? formatCurrency(stats.cashRevenue) : formatCurrency(stats.monthlyCashRevenue) }} ➔
💳 {{ t('card_income') || 'Kart Gelir' }} {{ kasaTab === 'daily' ? formatCurrency(stats.cardRevenue) : formatCurrency(stats.monthlyCardRevenue) }} ➔
🏦 {{ t('eft_income') || 'EFT Gelir' }} {{ kasaTab === 'daily' ? formatCurrency(stats.eftRevenue) : formatCurrency(stats.monthlyEftRevenue) }} ➔
{{ kasaTab === 'daily' ? (t('total_revenue') || 'Toplam Ciro') : (t('monthly_total_revenue') || 'Aylık Toplam Ciro') }} {{ kasaTab === 'daily' ? formatCurrency(stats.dailyRevenue) : formatCurrency(stats.monthlyRevenue) }}
📉 {{ kasaTab === 'daily' ? (t('daily_expenses') || 'Günlük Giderler') : (t('monthly_expenses') || 'Aylık Giderler') }}
💵 {{ t('cash_expense') || 'Nakit Gider' }} {{ kasaTab === 'daily' ? formatCurrency(stats.cashExpense) : formatCurrency(stats.monthlyCashExpense) }} ➔
💳 {{ t('card_expense') || 'Kart Gider' }} {{ kasaTab === 'daily' ? formatCurrency(stats.cardExpense) : formatCurrency(stats.monthlyCardExpense) }} ➔
🏦 {{ t('eft_expense') || 'EFT Gider' }} {{ kasaTab === 'daily' ? formatCurrency(stats.eftExpense) : formatCurrency(stats.monthlyEftExpense) }} ➔
{{ kasaTab === 'daily' ? (t('total_expense') || 'Toplam Gider') : (t('monthly_total_expense') || 'Aylık Toplam Gider') }} {{ kasaTab === 'daily' ? formatCurrency(stats.dailyExpense) : formatCurrency(stats.monthlyExpense) }}
⚖️ {{ kasaTab === 'daily' ? (t('daily_net_earnings') || 'Günlük Net Kazanç') : (t('monthly_net_earnings') || 'Aylık Net Kazanç') }}
{{ kasaTab === 'daily' ? formatCurrency(stats.dailyRevenue - stats.dailyExpense) : formatCurrency(stats.monthlyRevenue - stats.monthlyExpense) }}
{{ t('actions') }}
{{ t('admin_panel') || 'Yönetici Paneli' }}
{{ t('worker_performance') || 'Usta Performans' }}
{{ t('today') || 'Bugün' }} ({{ getTodayDateStr() }})
{{ t('no_washes_found_period') || 'Bu dönemde tamamlanan yıkama bulunmuyor.' }}
{{ t('worker_name') || 'Usta Adı' }} {{ t('wash_count') || 'İşlem' }} {{ t('avg_duration') || 'Ort. Süre' }} {{ t('revenue') || 'Ciro' }} {{ t('earnings') || 'Hakediş' }}
{{ worker.name }} {{ worker.count }} {{ t('pcs') || 'adet' }} {{ worker.avgDuration > 0 ? worker.avgDuration + ' ' + (t('mins') || 'dk') : '-' }} {{ formatNumber(worker.revenue) }} ₺ {{ formatNumber(worker.earnings) }} ₺
{{ t('this_week') || 'Bu Hafta' }} ({{ getWeekRangeStr() }})
{{ t('no_washes_found_period') || 'Bu dönemde tamamlanan yıkama bulunmuyor.' }}
{{ t('worker_name') || 'Usta Adı' }} {{ t('wash_count') || 'İşlem' }} {{ t('avg_duration') || 'Ort. Süre' }} {{ t('revenue') || 'Ciro' }} {{ t('earnings') || 'Hakediş' }}
{{ worker.name }} {{ worker.count }} {{ t('pcs') || 'adet' }} {{ worker.avgDuration > 0 ? worker.avgDuration + ' ' + (t('mins') || 'dk') : '-' }} {{ formatNumber(worker.revenue) }} ₺ {{ formatNumber(worker.earnings) }} ₺
{{ t('this_month') || 'Bu Ay' }} ({{ getMonthStr() }})
{{ t('no_washes_found_period') || 'Bu dönemde tamamlanan yıkama bulunmuyor.' }}
{{ t('worker_name') || 'Usta Adı' }} {{ t('wash_count') || 'İşlem' }} {{ t('avg_duration') || 'Ort. Süre' }} {{ t('revenue') || 'Ciro' }} {{ t('earnings') || 'Hakediş' }}
{{ worker.name }} {{ worker.count }} {{ t('pcs') || 'adet' }} {{ worker.avgDuration > 0 ? worker.avgDuration + ' ' + (t('mins') || 'dk') : '-' }} {{ formatNumber(worker.revenue) }} ₺ {{ formatNumber(worker.earnings) }} ₺
{{ t('financial_analysis_stats') || 'Finansal Analiz & İstatistikler' }}
{{ getWeekRangeLabel(getTrendDataForWeek()) }}
📈 {{ t('daily_turnover_trend') || 'Günlük Ciro Trendi' }}
{{ formatNumber(Math.max(...getTrendDataForWeek().map(d => d.revenue), 100)) }} ₺ {{ formatNumber(Math.max(...getTrendDataForWeek().map(d => d.revenue), 100) / 2) }} ₺ 0 ₺
{{ formatNumber(day.revenue) }}
{{ day.label }}
🧼 {{ t('service_packages_balance') || 'Hizmet Paketleri Bilançosu' }}
{{ t('no_service_records_category') || 'Bu kategoride henüz tamamlanan hizmet kaydı bulunmuyor.' }}
{{ t('service_name') || 'Hizmet Adı' }} {{ t('count_d_w') || 'Adet (G/H)' }} {{ t('today') || 'Bugün' }} {{ t('weekly') || 'Haftalık' }}
{{ item.name }} {{ item.todayCount }} / {{ item.weekCount }} {{ formatNumber(item.todayRevenue) }} ₺ {{ formatNumber(item.weekRevenue) }} ₺
1. {{ t('customer_vehicle_info') || 'Müşteri ve Araç Bilgileri' }}

✓ {{ t('returning_customer') || 'Kayıtlı Müşteri' }} - {{ t('visit_count') || 'Ziyaret Sayısı' }}: {{ visitCount }}{{ lastVisitDate ? ', ' + (t('last') || 'Son') + ': ' + new Date(lastVisitDate).toLocaleDateString(currentLang === 'tr' ? 'tr-TR' : 'en-GB') : '' }}

2. {{ t('visual_analysis') || 'Görsel Analiz & Araç Tespiti' }}

{{ t('vehicle_rear_photo') || 'Araç Arkası Fotoğrafı' }}

{{ t('tap_to_open_camera') || 'Kamerayı açmak için dokunun veya aşağıdaki butonları kullanın' }}

Fotoğraf Önizleme

{{ t('ai_analyzing') || 'Yapay Zeka Analiz Ediyor...' }}

{{ t('ai_prediction') || 'Yapay Zeka Tahmini' }} %{{ detectionResult.confidence }}
{{ b }}
{{ t('service_packages_selection') || 'Hizmet Paketleri Seçimi' }}

{{ t('no_service_packages') || 'Kayıtlı hizmet paketi bulunamadı.' }}

{{ pkg.name }}
{{ getCleanDescription(pkg.description) }}
{{ pkg.price }} ₺
🧼 {{ s.name }}
🏨 Lastik Otel Hizmet Detayları Formu
💳 Ödeme Yöntemi Seçin
{{ pkg.name }}
{{ productQuantities[pkg.id] || 1 }}
{{ (Number(packagePrices[pkg.id] || 0) * (productQuantities[pkg.id] || 1)) }} ₺
{{ totalServicePrice }} ₺
{{ t('history') || 'Geçmiş' }}
{{ t('next_vehicles') }}
{{ activeQueueTab === 'waiting' ? '⏳💤' : (activeQueueTab === 'in_progress' ? '🚗💤' : (activeQueueTab === 'ready' ? '🔑✨' : '📋🎉')) }}

{{ t('no_vehicles_' + activeQueueTab + '_title') || t('no_vehicles_' + activeQueueTab) }}

{{ t('no_vehicles_' + activeQueueTab + '_desc') }}

{{ wash.vehicles ? wash.vehicles.plate : (t('no_plate') || 'PLAKA YOK') }} 🟢 {{ t('time') || 'Saat' }}: {{ formatTime(wash.completed_at) }} ⏳ {{ t('waiting') || 'Bekleme' }}: {{ getMinutesElapsed(wash.completed_at) }} {{ t('mins') }} ⏳ {{ t('waiting') || 'Bekleme' }}: ~{{ getQueueWaitTime(wash) }} {{ t('mins') }} ⏳ {{ t('status') || 'İşlem' }}: {{ getMinutesElapsed(wash.started_at) }} {{ t('mins') }}
{{ getQueueIndex(wash) }}. {{ wash.vehicles ? wash.vehicles.brand : '' }} {{ wash.vehicles ? wash.vehicles.model : '' }} {{ wash.vehicles && wash.vehicles.color ? `(${wash.vehicles.color})` : '' }}
🧼 {{ t('service') }}: {{ wash.wash_type }} ({{ wash.payment_amount }} ₺)
👤 {{ t('customer') }}: {{ wash.customers ? wash.customers.name : (t('no_customer_name') || 'Müşteri Adı Yok') }}
🛠️ {{ t('worker') }}: {{ getWorkerName(wash) }}
🕒 {{ t('record_time') }}: {{ formatTime(wash.started_at) }}
⏱️ {{ t('started_at') }}: {{ formatTime(wash.started_at) }}
🏁 {{ t('completed_at') }}: {{ formatTime(wash.completed_at) }}
📝 {{ t('notes') }}: {{ getWashCleanNotes(wash) }}

💬 {{ t('whatsapp_connection') }}

{{ t('wa_status_label') || 'Durum' }}: {{ t('wa_connected') || 'Bağlı (Aktif)' }} {{ t('wa_connecting') || 'Bağlanıyor...' }} {{ t('wa_disconnected') || 'Bağlı Değil' }}
{{ t('wa_description') || 'Müşterilerinize otomatik bildirim (hoş geldiniz mesajı, fatura resmi, anket linkleri) iletebilmek için bu panelden WhatsApp bağlantınızı aktifleştirin.' }}
{{ t('wa_device_connected') || 'Cihazınız başarıyla bağlandı! 🎉' }}
{{ t('wa_messages_active') || 'Mesaj gönderimleri aktif durumda. WhatsApp numaranız üzerinden bildirimler iletiliyor.' }}
WhatsApp QR Code
{{ t('wa_qr_not_generated') || 'QR Kod Henüz Üretilmedi' }}
{{ t('wa_qr_instruction') || 'Telefonunuzdan WhatsApp > Bağlı Cihazlar > Cihaz Bağla bölümüne girip yukarıdaki QR kodunu taratın.' }}

🔧 Usta Yönetimi

{{ workerForm.id ? 'Usta Profilini Düzenle' : 'Yeni Usta Ekle' }}
Bayi Ustaları ({{ workers.length }})

Kayıtlı usta bulunamadı.

{{ w.full_name }}
{{ w.active ? '🟢 AKTİF' : '🔴 PASİF' }}
📞 {{ w.phone }}

⚙️ Hizmet Yönetimi

{{ packageForm.id ? 'Paketi Düzenle' : 'Yeni Hizmet Paketi Ekle' }}
Mevcut Paketler ({{ servicePackages.filter(p => parsePackageCategory(p) === activeServiceTab).length }})

Bu kategoride paket bulunmuyor.

{{ pkg.name }} {{ pkg.price }} ₺
{{ getCleanDescription(pkg.description) }}
Usta: {{ pkg.worker_share_type ? (pkg.worker_share_type === 'percent' ? `%${pkg.worker_share_value}` : `${pkg.worker_share_value} ₺`) : 'Yok' }}

🏢 Abonman Yönetimi

{{ subAccountForm.id ? 'Cari Hesabı Düzenle' : 'Yeni Abonman Cari Hesabı' }}
Abonman Cari Hesapları ({{ filteredSubscriptionAccounts.length }})

Abonman cari hesabı bulunmuyor.

{{ acc.name }}
{{ acc.phone ? '📞 ' + acc.phone : 'Telefon Belirtilmedi' }}
{{ getSubAccountBalanceLabel(acc.id) }}
{{ formatCurrency(Math.abs(getSubAccountBalance(acc.id))) }}

{{ selectedSubAccount.name }}

{{ selectedSubAccount.name }}
📞 {{ selectedSubAccount.phone || 'Telefon Kaydı Yok' }}
Güncel Bakiye
{{ getSubAccountBalance(selectedSubAccount.id) > 0 ? '-' : getSubAccountBalance(selectedSubAccount.id) < 0 ? '+' : '' }} {{ formatCurrency(Math.abs(getSubAccountBalance(selectedSubAccount.id))) }}
{{ getSubAccountBalance(selectedSubAccount.id) > 0 ? 'Firma size borçlu' : getSubAccountBalance(selectedSubAccount.id) < 0 ? 'Firmadan fazla alındı' : 'Hesap kapalı' }}
Toplam Yıkanan
{{ formatCurrency(getSubAccountWashedTotal(selectedSubAccount.id)) }}
Toplam Ödenen
{{ formatCurrency(getSubAccountPaidTotal(selectedSubAccount.id)) }}
💵 Tahsilat Kaydet
Parçalı Dağılım
💵 Nakit: TL
💳 Kart: TL
🏦 EFT: TL
Girilen Toplam: {{ Number(subPaymentForm.cashPart || 0) + Number(subPaymentForm.cardPart || 0) + Number(subPaymentForm.eftPart || 0) }} / {{ subPaymentForm.amount || '0' }} TL

Yıkanmış araç bulunmuyor.

{{ wash.vehicles ? wash.vehicles.plate : 'PLAKA YOK' }} {{ wash.payment_amount }} ₺
🚙 {{ wash.vehicles ? `${wash.vehicles.brand} ${wash.vehicles.model}` : '' }}
🧼 {{ wash.wash_type }}
📅 {{ formatDate(wash.completed_at || wash.started_at) }} {{ wash.status === 'completed' ? 'TESLİM EDİLDİ' : 'HAZIR' }}

Tahsilat kaydı bulunmuyor.

💳 Tahsilat ({{ getSubPaymentTypeLabel(pay) }}) {{ pay.amount }} ₺
📝 {{ getSubPaymentNotesClean(pay.notes) }}
💵 Nakit: {{ getSubPaymentPartialPart(pay.notes, 'cash') }} ₺ | 💳 Kart: {{ getSubPaymentPartialPart(pay.notes, 'card') }} ₺ | 🏦 EFT: {{ getSubPaymentPartialPart(pay.notes, 'eft') }} ₺
📅 {{ formatDate(pay.created_at) }}
{{ confirmModal.title || 'Onay' }}
{{ confirmModal.message }}

🏦 {{ t('cash_status_and_ledger') || 'Kasa Durumu & Gelir-Gider' }}

{{ t('loading') }}

💵
{{ t('cash') || 'Nakit' }}
{{ formatCurrency(safes.cash) }}
💳
{{ t('card') || 'Kart' }}
{{ formatCurrency(safes.card) }}
🏦
{{ t('eft') || 'EFT' }}
{{ formatCurrency(safes.eft) }}
🔀 {{ t('transfer_money') || 'Para Transferi (Virman)' }}
🔀 {{ t('transfer_actions_7_days') || 'Virman İşlemleri (Son 7 Gün)' }}

{{ t('no_transfers_found') || 'Son 7 güne ait virman işlemi bulunmuyor.' }}

{{ transfer.from_box === 'cep' ? '📱 CEP' : transfer.from_box.toUpperCase() }} ➔ {{ transfer.to_box === 'cep' ? '📱 CEP' : transfer.to_box.toUpperCase() }} {{ transfer.amount }} ₺
{{ transfer.notes || (t('no_transfer_notes') || 'Virman açıklaması yok') }}
{{ formatDate(transfer.transfer_date) }}
📊 {{ t('monthly_end_safe_history') || 'Geriye Dönük Ay Sonu Kasa Durumu' }}
{{ t('period') || 'Dönem' }} {{ t('total') || 'Toplam' }} {{ t('cash') || 'Nakit' }} {{ t('card') || 'Kart' }} {{ t('eft') || 'EFT' }}
{{ item.label }} {{ formatCurrency(item.cash + item.card + item.eft) }} {{ formatCurrency(item.cash) }} {{ formatCurrency(item.card) }} {{ formatCurrency(item.eft) }}
💵
Toplam Nakit
{{ formatCurrency(incomeSums.cash) }}
💳
Toplam Kart
{{ formatCurrency(incomeSums.card) }}
🏦
Toplam EFT
{{ formatCurrency(incomeSums.eft) }}
📈 Gelir Hareketleri

Henüz gelir hareketi bulunmuyor.

{{ item.title }} +{{ item.amount }} ₺
💵 Nakit: {{ getSubPaymentPartialPart(item.notes, 'cash') }} ₺ | 💳 Kart: {{ getSubPaymentPartialPart(item.notes, 'card') }} ₺ | 🏦 EFT: {{ getSubPaymentPartialPart(item.notes, 'eft') }} ₺
{{ formatDate(item.date) }}
📁 Yeni Kategori Ekle
📂 Gider Başlıkları (Kategoriler)
📁 {{ cat.name }}
{{ getCategoryTransactionCount(cat.id) }} işlem | Toplam: {{ formatCurrency(getCategoryExpenseSum(cat.id)) }}

📁 {{ cashbookSelectedCategory.name }} Detayı

{{ editingExpenseId ? '✏️ Gider Kaydını Düzenle' : '➕ Yeni Gider Kaydı Ekle' }}
💵 Nakit:
💳 Kart:
🏦 EFT:
Girilen Toplam: {{ Number(expCashPart || 0) + Number(expCardPart || 0) + Number(expEftPart || 0) }} / {{ expAmount || '0' }} TL
📜 Kategori Gider Kayıtları

Henüz bu kategoride gider bulunmuyor.

{{ item.notes || 'Açıklamasız Gider' }} -{{ item.amount }} ₺
Ödeme Yöntemi: {{ item.payment_type?.toUpperCase() }}
💵 Nakit: {{ item.cash_part || 0 }} ₺ | 💳 Kart: {{ item.card_part || 0 }} ₺ | 🏦 EFT: {{ item.eft_part || 0 }} ₺
{{ formatDate(item.expense_date) }}

👤 Personel Maaşları Yönetimi

🔧 Maaş Tanımları

Kayıtlı personel bulunmuyor.

{{ w.full_name }} (Pasif)
TL
💵 Aylık Maaş Gideri İşle

Tüm aktif personellerin aylık maaş hakedişlerini tek tıkla toplu gider olarak işleyebilirsiniz.

Toplam Ödenecek Maaş: {{ formatCurrency(workers.filter(w => w.active).reduce((sum, w) => sum + Number(w.monthly_salary || 0), 0)) }}
💵 Nakit:
💳 Kart:
🏦 EFT:
📜 Önceki Maaş Ödemeleri

Henüz maaş ödeme kaydı bulunmuyor.

{{ item.notes }}
Kasa: {{ item.payment_type?.toUpperCase() }} | Tarih: {{ formatDate(item.expense_date) }}
-{{ item.amount }} ₺

📁 Personel Hakedişleri Yönetimi

📅 Tarih Seçimi
⚡ Günlük Usta Hakedişleri

Bu tarihte tamamlanan hizmet ve hakediş bulunmuyor.

👤 {{ item.name }}
Biriken Hakediş: {{ item.amount }} ₺
✅ Gider İşlendi
💵 Hakediş Ödemesi Kaydet
Usta: {{ hakedisWorkerToProcess?.name }}
Tarih: {{ formatDate(hakedisDate).split(' ')[0] }}
Biriken Tutar: {{ hakedisWorkerToProcess?.amount }} ₺
Ödenecek Net Tutar: {{ getFinalHakedisAmount() }} ₺
💵 Nakit:
💳 Kart:
🏦 EFT:
📜 Geriye Dönük Son 7 Günün Hakediş Ödemeleri

Son 7 güne ait ödenmiş hakediş kaydı bulunmuyor.

{{ item.notes }}
Kasa: {{ item.payment_type?.toUpperCase() }} | Tarih: {{ formatDate(item.expense_date) }}
-{{ item.amount }} ₺

📁 Günlük Personel Yevmiye Yönetimi

📅 Tarih Seçimi
👥 Personel Listesi ve Yevmiye İşlemleri

Aktif personel bulunmuyor.

👤 {{ worker.full_name }}
Bu Ay Toplam Yevmiye: {{ calculateMonthlyYevmiyeTotal(worker.full_name) }} ₺
✅ Gider İşlendi
Günlük Yevmiye Oranı:
💵 Yevmiye Gideri Kaydet
Personel: {{ yevmiyeWorkerToProcess?.full_name }}
Tarih: {{ formatDate(yevmiyeDate).split(' ')[0] }}
Yevmiye Tutarı: {{ yevmiyeWorkerToProcess?.amount }} ₺
💵 Nakit:
💳 Kart:
🏦 EFT:
📜 Bulunduğumuz Ayın Yevmiye Ödemeleri

Bu aya ait ödenmiş yevmiye kaydı bulunmuyor.

{{ item.notes }}
Kasa: {{ item.payment_type?.toUpperCase() }} | Tarih: {{ formatDate(item.expense_date) }}
-{{ item.amount }} ₺

✏️ Kaydı Düzenle

{{ editingWashRecord.vehicles ? editingWashRecord.vehicles.plate : 'PLAKA YOK' }}
{{ editingWashRecord.vehicles ? editingWashRecord.vehicles.brand : '' }} {{ editingWashRecord.vehicles ? editingWashRecord.vehicles.model : '' }} {{ editingWashRecord.vehicles && editingWashRecord.vehicles.color ? `(${editingWashRecord.vehicles.color})` : '' }}
Hizmet Bilgileri
{{ pkg.name }}
{{ getCleanDescription(pkg.description) }}
{{ pkg.price }} ₺
{{ name }}
{{ editProductQuantities[name] || 1 }}
{{ (Number(editPackagePrices[name] || 0) * (editProductQuantities[name] || 1)) }} ₺
{{ selectedEditPackageNames.map(name => servicePackages.find(p => p.name === name)).filter(Boolean).filter(pkg => parsePackageCategory(pkg) === 'Ürünler').reduce((sum, pkg) => sum + Number(pkg.price || 0), 0) }} ₺
{{ editWashPaymentAmount }} ₺
🧼 {{ name }}
Lütfen usta atamak için önce yukarıdan hizmet seçin.
İşlem Durumu
💰 Ödeme Yöntemi
Ödeme Bölüşümü
💵 Nakit: TL
💳 Kart: TL
🏦 EFT: TL
Girilen Toplam: {{ Number(editWashForm.cashPart || 0) + Number(editWashForm.cardPart || 0) + Number(editWashForm.eftPart || 0) }} / {{ editWashForm.paymentAmount || '0' }} TL
Notlar
{{ t('worker_performance') || 'Usta Performans' }}
{{ t('today') || 'Bugün' }} ({{ getTodayDateStr() }})
{{ t('no_washes_found_period') || 'Bu dönemde tamamlanan yıkama bulunmuyor.' }}
{{ t('worker_name') || 'Usta Adı' }} {{ t('wash_count') || 'İşlem' }} {{ t('total_revenue') || 'Ciro' }} {{ t('earnings') || 'Hakediş' }}
{{ worker.name }} {{ worker.count }} {{ t('pcs') || 'adet' }} {{ formatNumber(worker.revenue) }} ₺ {{ formatNumber(worker.earnings) }} ₺
{{ t('this_week') || 'Bu Hafta' }} ({{ getWeekRangeStr() }})
{{ t('no_washes_found_period') || 'Bu dönemde tamamlanan yıkama bulunmuyor.' }}
{{ t('worker_name') || 'Usta Adı' }} {{ t('wash_count') || 'İşlem' }} {{ t('total_revenue') || 'Ciro' }} {{ t('earnings') || 'Hakediş' }}
{{ worker.name }} {{ worker.count }} {{ t('pcs') || 'adet' }} {{ formatNumber(worker.revenue) }} ₺ {{ formatNumber(worker.earnings) }} ₺
{{ t('this_month') || 'Bu Ay' }} ({{ getMonthStr() }})
{{ t('no_washes_found_period') || 'Bu dönemde tamamlanan yıkama bulunmuyor.' }}
{{ t('worker_name') || 'Usta Adı' }} {{ t('wash_count') || 'İşlem' }} {{ t('total_revenue') || 'Ciro' }} {{ t('earnings') || 'Hakediş' }}
{{ worker.name }} {{ worker.count }} {{ t('pcs') || 'adet' }} {{ formatNumber(worker.revenue) }} ₺ {{ formatNumber(worker.earnings) }} ₺
{{ t('quick_expense') || 'Hızlı Gider' }}
{{ t('active_washes') || 'Aktif Yıkama' }} ({{ activeWashes.length }})
{{ t('no_vehicles_queue') || 'Şu anda sırada araç bulunmuyor.' }}
{{ wash.vehicles ? wash.vehicles.plate : 'PLAKA YOK' }}
{{ wash.wash_type }}
{{ wash.status === 'ready' ? 'Hazır' : 'İşlemde' }}
Son Giderler
{{ item.categoryName || 'Gider' }}
{{ item.notes || 'Detay belirtilmedi' }}
-{{ formatNumber(item.amount) }} ₺

🏆 {{ selectedWorkerForModal?.name }} - Bugün Yapılan İşler

Bugün bu usta tarafından tamamlanan araç bulunmuyor.
{{ wash.vehicles ? wash.vehicles.plate : 'PLAKA YOK' }}
{{ wash.status === 'completed' ? 'Ödendi' : wash.status === 'ready' ? 'Hazır' : 'İşlemde' }} ⏱️ {{ wash.completed_at ? formatTime(wash.completed_at) : (wash.started_at ? formatTime(wash.started_at) : '') }}
{{ wash.vehicles ? wash.vehicles.brand : '' }} {{ wash.vehicles ? wash.vehicles.model : '' }}
🧼 Hizmet: {{ wash.wash_type }}
💰 Hizmet Bedeli: {{ wash.payment_amount }} ₺ 🛠️ Hakediş: {{ getWorkerShareFromWash(wash, selectedWorkerForModal?.name) }} ₺

📊 {{ kasaDetailTitle }}

Bugün bu kasaya ait kayıtlı bir işlem bulunmuyor.
{{ item.title }}
{{ item.type === 'income_wash' ? 'Araç Yıkama' : item.type === 'income_sub' ? 'Abonman Cari' : 'Gider Kaydı' }} ⏱️ {{ item.time ? formatDate(item.time) : '' }}
{{ item.desc }} {{ item.type.startsWith('income') ? '+' : '-' }}{{ formatCurrency(item.amount) }}
Bugünkü Toplam: {{ formatCurrency(kasaDetailTotal) }}

🔍 {{ t('search_vehicle_title') || 'Araç Bul' }}

{{ t('searching_vehicle_info') || 'Araç bilgileri sorgulanıyor...' }}
📭
{{ t('vehicle_not_found_title') || 'Araç bulunamadı' }}
{{ t('vehicle_not_found_desc') || 'Girdiğiniz plakaya ait herhangi bir kayıt bulunamadı.' }}
{{ searchResultVehicle.plate }} 🟢 {{ t('status_completed') || 'Tamamlandı (Ödendi)' }} 🔑 {{ t('status_ready') || 'Teslime Hazır' }} ⏳ {{ t('status_waiting') || 'Sırada Bekliyor' }} 🚿 {{ t('status_washing') || 'Yıkama Aşamasında' }} Kayıtlı Araç
🚙 {{ searchResultVehicle.brand }} {{ searchResultVehicle.model }} {{ searchResultVehicle.color ? `(${searchResultVehicle.color})` : '' }}
👤 {{ t('customer') }}: {{ searchResultVehicle.customers ? searchResultVehicle.customers.name : (t('no_customer_name') || 'Müşteri Adı Yok') }}
📋 {{ t('last_transaction_detail') || 'Son İşlem Detayı:' }}
🧼 {{ t('service') }}: {{ searchResultWash.wash_type }} ({{ searchResultWash.payment_amount }} ₺)
🛠️ {{ t('worker') }}: {{ getWorkerName(searchResultWash) }}
🕒 {{ t('started_at') }}: {{ formatDate(searchResultWash.started_at) }}
🏁 {{ t('completed_at') }}: {{ formatDate(searchResultWash.completed_at) }}
📝 {{ t('notes') }}: {{ getWashCleanNotes(searchResultWash) }}
⚠️ {{ t('no_wash_records_found') || 'Bu araca ait aktif veya geçmiş bir yıkama kaydı bulunmuyor.' }}