28 KiB
28 KiB
title, phase, status, last_updated
| title | phase | status | last_updated |
|---|---|---|---|
| Faz 4 Kalan Hardcoded Metin Raporu | 4 | generated | 2026-07-18T23:56:57.608Z |
Faz 4 Kalan Hardcoded Metin Raporu
Bu rapor Faz-4 boundary script'i tarafindan uretilir. Formatter sabitleri release blocker kabul edilir; kalan Turkce stringler Faz-4 kapsaminda raporlanir ve sonraki UI migration dalgalarinda eritilir.
Toplam kalan Turkce literal satiri: 294
app/(dashboard)/analytics/analytics-client.tsx:56app/(dashboard)/business/subscriptions/subscriptions-client.tsx:38return "Aylık";app/(dashboard)/business/subscriptions/subscriptions-client.tsx:40return "Yıllık";app/(dashboard)/business/subscriptions/subscriptions-client.tsx:42return "Haftalık";app/(dashboard)/calendar/actions.ts:17title: requiredText(formData.get("title"), "Etkinlik başlığı zorunludur."),app/(dashboard)/calendar/actions.ts:46if (!value.startsAt) throw new Error("Etkinlik başlangıç zamanı zorunludur.");app/(dashboard)/calendar/actions.ts:53const id = requiredText(formData.get("id"), "Etkinlik kaydı bulunamadı.");app/(dashboard)/calendar/actions.ts:55if (!value.startsAt) throw new Error("Etkinlik başlangıç zamanı zorunludur.");app/(dashboard)/calendar/actions.ts:64requiredText(formData.get("id"), "Silinecek etkinlik bulunamadı."),app/(dashboard)/calendar/calendar-client.tsx:55meeting: "Toplantı",app/(dashboard)/calendar/calendar-client.tsx:58personal: "Kişisel",app/(dashboard)/calendar/calendar-client.tsx:134{["Pzt", "Sal", "Çar", "Per", "Cum", "Cmt", "Paz"].map((day) => (app/(dashboard)/calendar/calendar-client.tsx:245{event.projectName || event.clientName || event.taskTitle || event.description || "Bağlantı yok"}app/(dashboard)/calendar/calendar-client.tsx:293toast.success(mode === "create" ? "Etkinlik eklendi." : "Etkinlik güncellendi.");app/(dashboard)/calendar/calendar-client.tsx:298: "Etkinlik kaydedilirken beklenmeyen bir hata oluştu.",app/(dashboard)/calendar/calendar-client.tsx:310{mode === "create" ? "Etkinlik ekle" : "Düzenle"}app/(dashboard)/calendar/calendar-client.tsx:317{mode === "create" ? "Yeni etkinlik" : "Etkinliği düzenle"}app/(dashboard)/calendar/calendar-client.tsx:328{isSubmitting ? "Kaydediliyor" : mode === "create" ? "Etkinliği ekle" : "Değişiklikleri kaydet"}app/(dashboard)/calendar/calendar-client.tsx:356<Input name="title" defaultValue={event?.title || ""} required placeholder="Örn. Müşteri toplantısı" />app/(dashboard)/calendar/calendar-client.tsx:363<SelectField name="type" label="Tür" defaultValue={event?.type || "focus"}>app/(dashboard)/calendar/calendar-client.tsx:370<SelectField name="client_id" label="Müşteri" defaultValue={event?.client_id || "__none"}>app/(dashboard)/calendar/calendar-client.tsx:380<SelectField name="task_id" label="Görev" defaultValue={event?.task_id || "__none"}>app/(dashboard)/calendar/calendar-client.tsx:404<SelectValue placeholder={${label} seç} />app/(dashboard)/chat/page.tsx:58toast.error(error.message || "Yapay zeka ile iletişim kurulurken bir hata oluştu.");app/(dashboard)/chat/page.tsx:74toast.error(error instanceof Error ? error.message : "Sohbetler yüklenemedi.");app/(dashboard)/chat/page.tsx:97toast.error(error instanceof Error ? error.message : "Mesajlar yüklenemedi.");app/(dashboard)/chat/page.tsx:143toast.error(error instanceof Error ? error.message : "Sohbet oluşturulamadı.");app/(dashboard)/chat/page.tsx:189{session.title || "İsimsiz sohbet"}app/(dashboard)/chat/page.tsx:196aria-label={${session.title || "İsimsiz sohbet"} sohbetini sil}app/(dashboard)/chat/page.tsx:302placeholder="Mesaj gönder..."app/(dashboard)/clients/[id]/actions.ts:19title: requiredText(formData.get("title"), "Aktivite başlığı zorunludur."),app/(dashboard)/clients/[id]/client-detail-client.tsx:95throw new Error(data.error || "Kullanıcı oluşturulamadı.");app/(dashboard)/clients/[id]/client-detail-client.tsx:99toast.success("Güvenli portal daveti oluşturuldu.");app/(dashboard)/clients/[id]/client-detail-client.tsx:101toast.error(error instanceof Error ? error.message : "Davet oluşturulamadı.");app/(dashboard)/clients/[id]/client-detail-client.tsx:116if (!response.ok || data.error) throw new Error(data.error || "Portal dili güncellenemedi.");app/(dashboard)/clients/[id]/client-detail-client.tsx:117toast.success("Portal dili güncellendi.");app/(dashboard)/clients/[id]/client-detail-client.tsx:120toast.error(error instanceof Error ? error.message : "Portal dili güncellenemedi.");app/(dashboard)/clients/[id]/client-detail-client.tsx:165app/(dashboard)/clients/[id]/client-detail-client.tsx:185aria-label="Davet bağlantısını kopyala"app/(dashboard)/clients/[id]/client-detail-client.tsx:188toast.success("Davet bağlantısı kopyalandı.");app/(dashboard)/clients/[id]/client-detail-client.tsx:310app/(dashboard)/clients/[id]/client-detail-client.tsx:318</li> <li><code>app/(dashboard)/clients/actions.ts:25</code> name: requiredText(formData.get("name"), "Müşteri adı zorunludur."),</li> <li><code>app/(dashboard)/clients/actions.ts:45</code> const id = requiredText(formData.get("id"), "Müşteri kaydı bulunamadı.");</li> <li><code>app/(dashboard)/clients/actions.ts:53</code> const id = requiredText(formData.get("id"), "Arşivlenecek müşteri bulunamadı.");</li> <li><code>app/(dashboard)/clients/clients-client.tsx:76</code> { id: "contacted", label: "İletişime Geçildi", color: "border-blue-200 bg-blue-50 text-blue-700" },</li> <li><code>app/(dashboard)/clients/clients-client.tsx:77</code> { id: "proposal_sent", label: "Teklif İletildi", color: "border-amber-200 bg-amber-50 text-amber-700" },</li> <li><code>app/(dashboard)/clients/clients-client.tsx:78</code> { id: "won", label: "Kazanıldı (Won)", color: "border-emerald-200 bg-emerald-50 text-emerald-700" },</li> <li><code>app/(dashboard)/clients/clients-client.tsx:126</code> toast.success("Müşteri aşaması güncellendi.");</li> <li><code>app/(dashboard)/clients/clients-client.tsx:135</code> : "Müşteri aşaması güncellenemedi.",</li> <li><code>app/(dashboard)/clients/clients-client.tsx:175</code> label="Aktif Müşteri"</li> <li><code>app/(dashboard)/clients/clients-client.tsx:187</code> label="Kayıtlı Gelir"</li> <li><code>app/(dashboard)/clients/clients-client.tsx:189</code> description="Ödenmiş gelir işlemleri"</li> <li><code>app/(dashboard)/clients/clients-client.tsx:205</code> placeholder="Müşteri, firma, e-posta veya not ara"</li> <li><code>app/(dashboard)/clients/clients-client.tsx:433</code> toast.success(mode === "create" ? "Müşteri eklendi." : "Müşteri güncellendi.");</li> <li><code>app/(dashboard)/clients/clients-client.tsx:438</code> : "Müşteri kaydedilirken beklenmeyen bir hata oluştu.",</li> <li><code>app/(dashboard)/clients/clients-client.tsx:454</code> {mode === "create" ? "Müşteri ekle" : "Düzenle"}</li> <li><code>app/(dashboard)/clients/clients-client.tsx:463</code> {mode === "create" ? "Yeni müşteri" : "Müşteriyi düzenle"}</li> <li><code>app/(dashboard)/clients/clients-client.tsx:480</code> ? "Müşteriyi ekle"</li> <li><code>app/(dashboard)/clients/clients-client.tsx:481</code> : "Değişiklikleri kaydet"}</li> <li><code>app/(dashboard)/clients/clients-client.tsx:501</code> placeholder="Örn. Acme Corp"</li> <li><code>app/(dashboard)/clients/clients-client.tsx:520</code> <SelectValue placeholder="Aşama seç" /></li> <li><code>app/(dashboard)/clients/clients-client.tsx:533</code> <SelectValue placeholder="Durum seç" /></li> <li><code>app/(dashboard)/clients/clients-client.tsx:583</code> placeholder="İletişim notları, beklentiler, özel bilgiler..."</li> <li><code>app/(dashboard)/clients/clients-client.tsx:610</code> {hasQuery ? "Aramana uygun müşteri yok" : "Henüz müşteri eklenmedi"}</li> <li><code>app/(dashboard)/dashboard-client.tsx:250</code> {project.status === 'completed' ? 'Tamamlandı' : project.status === 'active' ? 'Aktif' : 'Beklemede'}</li> <li><code>app/(dashboard)/finance/actions.ts:52</code> const id = requiredText(formData.get("id"), "Finans kaydı bulunamadı.");</li> <li><code>app/(dashboard)/finance/actions.ts:67</code> requiredText(formData.get("id"), "Silinecek finans kaydı bulunamadı."),</li> <li><code>app/(dashboard)/finance/finance-client.tsx:68</code> planned: "Planlandı",</li> <li><code>app/(dashboard)/finance/finance-client.tsx:70</code> paid: "Ödendi",</li> <li><code>app/(dashboard)/finance/finance-client.tsx:71</code> cancelled: "İptal edildi",</li> <li><code>app/(dashboard)/finance/finance-client.tsx:84</code> { value: "TRY", label: "Türk lirası (TRY)" },</li> <li><code>app/(dashboard)/finance/finance-client.tsx:86</code> { value: "CAD", label: "Kanada doları (CAD)" },</li> <li><code>app/(dashboard)/finance/finance-client.tsx:87</code> { value: "AUD", label: "Avustralya doları (AUD)" },</li> <li><code>app/(dashboard)/finance/finance-client.tsx:93</code> { key: "afterTax", label: "Vergi Sonrası Net", tone: "green", icon: Wallet, featured: true },</li> <li><code>app/(dashboard)/finance/finance-client.tsx:94</code> { key: "net", label: "Brüt kazanç", tone: "primary", icon: Wallet, featured: true },</li> <li><code>app/(dashboard)/finance/finance-client.tsx:95</code> { key: "income", label: "Aylık gelir", tone: "green", icon: ArrowUpRight, featured: false },</li> <li><code>app/(dashboard)/finance/finance-client.tsx:96</code> { key: "expense", label: "Aylık gider", tone: "rose", icon: ArrowDownRight, featured: false },</li> <li><code>app/(dashboard)/finance/finance-client.tsx:177</code> aria-label="Önceki finans özet kartları"</li> <li><code>app/(dashboard)/finance/finance-client.tsx:187</code> aria-label="Sonraki finans özet kartları"</li> <li><code>app/(dashboard)/finance/finance-client.tsx:198</code> aria-label="Kaydırılabilir finans özeti"</li> <li><code>app/(dashboard)/finance/finance-client.tsx:240</code> placeholder="Kategori, müşteri, proje veya açıklama ara"</li> <li><code>app/(dashboard)/finance/finance-client.tsx:335</code> {transaction.category || "Kategori yok"} · {transaction.projectName || transaction.clientName || "Bağlantı yok"}</li> <li><code>app/(dashboard)/finance/finance-client.tsx:383</code> toast.success(mode === "create" ? "İşlem eklendi." : "İşlem güncellendi.");</li> <li><code>app/(dashboard)/finance/finance-client.tsx:388</code> : "Finans işlemi kaydedilirken beklenmeyen bir hata oluştu.",</li> <li><code>app/(dashboard)/finance/finance-client.tsx:400</code> {mode === "create" ? "İşlem ekle" : "Düzenle"}</li> <li><code>app/(dashboard)/finance/finance-client.tsx:407</code> <DialogTitle>{mode === "create" ? "Yeni finans işlemi" : "Finans işlemini düzenle"}</DialogTitle></li> <li><code>app/(dashboard)/finance/finance-client.tsx:416</code> {isSubmitting ? "Kaydediliyor" : mode === "create" ? "İşlemi ekle" : "Değişiklikleri kaydet"}</li> <li><code>app/(dashboard)/finance/finance-client.tsx:476</code> <SelectField name="payment_status" label="Ödeme durumu" defaultValue={transaction?.payment_status || "planned"}></li> <li><code>app/(dashboard)/finance/finance-client.tsx:492</code> <SelectValue placeholder="Para birimi seç" /></li> <li><code>app/(dashboard)/finance/finance-client.tsx:513</code> <Input name="category" defaultValue={transaction?.category || ""} placeholder="Örn. Yazılım, müşteri ödemesi, vergi" /></li> <li><code>app/(dashboard)/finance/finance-client.tsx:526</code> <SelectValue placeholder="Müşteri seç" /></li> <li><code>app/(dashboard)/finance/finance-client.tsx:542</code> <SelectValue placeholder="Proje seç" /></li> <li><code>app/(dashboard)/finance/finance-client.tsx:568</code> <SelectTrigger><SelectValue placeholder={<code>${label} seç</code>} /></SelectTrigger></li> <li><code>app/(dashboard)/finance/finance-client.tsx:580</code> {hasQuery ? "Aramana uygun işlem yok" : "Henüz finans işlemi eklenmedi"}</li> <li><code>app/(dashboard)/finance/finance-client.tsx:584</code> ? "Arama metnini sadeleştirerek tekrar deneyebilirsin."</li> <li><code>app/(dashboard)/finance/finance-client.tsx:585</code> : "İlk gelir veya gider kaydını ekleyerek aylık finans özetini oluşturmaya başlayabilirsin."}</li> <li><code>app/(dashboard)/finance/finance-client.tsx:647</code> throw new Error(data.error || "Bilinmeyen bir hata oluştu.");</li> <li><code>app/(dashboard)/finance/finance-client.tsx:652</code> <code>Hata: ${error instanceof Error ? error.message : "Bilinmeyen bir hata oluştu."}</code>,</li> <li><code>app/(dashboard)/journal/actions.ts:15</code> if (!moodScore || !energyScore) throw new Error("Mood ve enerji skorları zorunludur.");</li> <li><code>app/(dashboard)/journal/actions.ts:35</code> requiredText(formData.get("id"), "Günlük kaydı bulunamadı."),</li> <li><code>app/(dashboard)/journal/actions.ts:45</code> requiredText(formData.get("id"), "Silinecek günlük kaydı bulunamadı."),</li> <li><code>app/(dashboard)/journal/journal-client.tsx:57</code> 1: "Çok düşük",</li> <li><code>app/(dashboard)/journal/journal-client.tsx:58</code> 2: "Düşük",</li> <li><code>app/(dashboard)/journal/journal-client.tsx:60</code> 4: "İyi",</li> <li><code>app/(dashboard)/journal/journal-client.tsx:61</code> 5: "Çok iyi",</li> <li><code>app/(dashboard)/journal/journal-client.tsx:114</code> label="Kayıtlı gün"</li> <li><code>app/(dashboard)/journal/journal-client.tsx:257</code> toast.success(mode === "create" ? "Günlük eklendi." : "Günlük güncellendi.");</li> <li><code>app/(dashboard)/journal/journal-client.tsx:262</code> : "Günlük kaydedilirken beklenmeyen bir hata oluştu.",</li> <li><code>app/(dashboard)/journal/journal-client.tsx:274</code> {mode === "create" ? "Günlük ekle" : "Düzenle"}</li> <li><code>app/(dashboard)/journal/journal-client.tsx:281</code> <DialogTitle>{mode === "create" ? "Yeni günlük kayıt" : "Günlük kaydı düzenle"}</DialogTitle></li> <li><code>app/(dashboard)/journal/journal-client.tsx:293</code> {isSubmitting ? "Kaydediliyor" : mode === "create" ? "Kaydı ekle" : "Değişiklikleri kaydet"}</li> <li><code>app/(dashboard)/journal/journal-client.tsx:332</code> label="Çalışma memnuniyeti"</li> <li><code>app/(dashboard)/journal/journal-client.tsx:343</code> placeholder="Bugün nasıl geçti, enerjini etkileyen şeyler nelerdi?"</li> <li><code>app/(dashboard)/journal/journal-client.tsx:418</code> insights.push("Henüz okunabilir bir trend yok.");</li> <li><code>app/(dashboard)/journal/journal-client.tsx:420</code> insights.push(<code>Toplam ${logs.length} günlük kayıt var.</code>);</li> <li><code>app/(dashboard)/journal/journal-client.tsx:423</code> ? "Enerji ortalaması düşük. Dashboard raporlarında geciken işler ile birlikte okunmalı."</li> <li><code>app/(dashboard)/journal/journal-client.tsx:424</code> : "Enerji ortalaması dengeli görünüyor.",</li> <li><code>app/(dashboard)/journal/journal-client.tsx:428</code> ? "Mood seviyesi güçlü. Yüksek odak isteyen işler için iyi bir dönem olabilir."</li> <li><code>app/(dashboard)/journal/journal-client.tsx:429</code> : "Mood trendi izlenmeli. Not alanı hangi günlerin zor geçtiğini anlamak için önemli.",</li> <li><code>app/(dashboard)/layout.tsx:35</code> const displayName = profile.displayName || user.name || user.email.split("@")[0] || "Neta Kullanıcısı";</li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:136</code> client_project: "Müşteri projesi",</li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:143</code> paused: "Duraklatıldı",</li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:144</code> completed: "Tamamlandı",</li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:145</code> cancelled: "İptal edildi",</li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:164</code> overview: "Genel bakış",</li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:165</code> problem: "Çözdüğü problem",</li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:166</code> goal: "Amaç",</li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:172</code> assets: "Görsel varlıklar",</li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:249</code> pendingChildren="Tamamlanıyor"</li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:278</code> <InfoItem label="Tür" value={typeLabels[project.type]} icon={FolderKanban} /></li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:280</code> label="Müşteri"</li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:281</code> value={project.clientName || "Bağımsız side project"}</li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:290</code> label="Bütçe"</li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:294</code> : "Bütçe yok"</li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:303</code> <StatCard label="İlerleme" value={<code>${project.progress}%</code>} icon={Target} /></li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:304</code> <StatCard label="Görev" value={<code>${doneTaskCount}/${tasks.length}</code>} icon={ClipboardList} /></li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:339</code> title="Planlama alanları"</li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:340</code> description="Problem, amaç, hedef kitle, kapsam ve proje notlarını burada tut."</li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:351</code> description="Renk paleti, tipografi, görsel dil ve asset notlarını proje kaynağına bağla."</li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:388</code> : "Revizyon durumu güncellenemedi.",</li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:517</code> {section.content || "İçerik eklenmedi."}</li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:572</code> {mode === "create" ? "Planlama alanı ekle" : "Planlama alanını düzenle"}</li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:584</code> <SelectValue placeholder="Kategori seç" /></li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:668</code> : "Görev durumu güncellenemedi.",</li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:757</code> ? "Tamamlandı"</li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:760</code> : "Yapılacak"}</li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:784</code> {pendingTaskIds.has(task.id) ? "Tamamlanıyor" : "Tamamla"}</li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:803</code> <EmptyPanel icon={ClipboardList} title="Bu projeye bağlı görev yok" /></li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:1059</code> <SelectValue placeholder="Durum seç" /></li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:1072</code> <SelectValue placeholder="Öncelik seç" /></li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:1135</code> {isSubmitting ? "Kaydediliyor" : "Görevi ekle"}</li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:1181</code> <EmptyPanel icon={Wallet} title="Bu projeye bağlı finans kaydı yok" /></li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:1288</code> if (status === "done") return "Tamamlandı";</li> <li><code>app/(dashboard)/projects/[id]/project-detail-client.tsx:1290</code> return "Yapılacak";</li> <li><code>app/(dashboard)/projects/actions.ts:32</code> name: localized.name ?? requiredText(formData.get("name"), "Proje adı zorunludur."),</li> <li><code>app/(dashboard)/projects/actions.ts:86</code> const id = requiredText(formData.get("id"), "Proje kaydı bulunamadı.");</li> <li><code>app/(dashboard)/projects/actions.ts:96</code> const id = requiredText(formData.get("id"), "Tamamlanacak proje bulunamadı.");</li> <li><code>app/(dashboard)/projects/actions.ts:107</code> title: localized.title ?? requiredText(formData.get("title"), "Planlama başlığı zorunludur."),</li> <li><code>app/(dashboard)/projects/actions.ts:129</code> const id = requiredText(formData.get("id"), "Planlama alanı bulunamadı.");</li> <li><code>app/(dashboard)/projects/actions.ts:132</code> throw new Error("Planlama alanı bu projeye ait değil.");</li> <li><code>app/(dashboard)/projects/actions.ts:147</code> const id = requiredText(formData.get("id"), "Silinecek planlama alanı bulunamadı.");</li> <li><code>app/(dashboard)/projects/actions.ts:150</code> throw new Error("Planlama alanı bu projeye ait değil.");</li> <li><code>app/(dashboard)/projects/projects-client.tsx:77</code> client_project: "Müşteri projesi",</li> <li><code>app/(dashboard)/projects/projects-client.tsx:84</code> paused: "Duraklatıldı",</li> <li><code>app/(dashboard)/projects/projects-client.tsx:85</code> completed: "Tamamlandı",</li> <li><code>app/(dashboard)/projects/projects-client.tsx:86</code> cancelled: "İptal edildi",</li> <li><code>app/(dashboard)/projects/projects-client.tsx:161</code> placeholder="Proje, müşteri veya açıklama ara"</li> <li><code>app/(dashboard)/projects/projects-client.tsx:248</code> aria-label={<code>${project.name} detayına git</code>}</li> <li><code>app/(dashboard)/projects/projects-client.tsx:276</code> {project.description || "Açıklama eklenmedi."}</li> <li><code>app/(dashboard)/projects/projects-client.tsx:333</code> {project.clientName || "Bağımsız side project"}</li> <li><code>app/(dashboard)/projects/projects-client.tsx:354</code> <div>{project.clientName || "Müşteri bağlantısı yok"}</div></li> <li><code>app/(dashboard)/projects/projects-client.tsx:359</code> <div>{project.budget_amount ? formatCurrency(project.budget_amount) : "Bütçe yok"}</div></li> <li><code>app/(dashboard)/projects/projects-client.tsx:437</code> toast.success(mode === "create" ? "Proje eklendi." : "Proje güncellendi.");</li> <li><code>app/(dashboard)/projects/projects-client.tsx:442</code> : "Proje kaydedilirken beklenmeyen bir hata oluştu.",</li> <li><code>app/(dashboard)/projects/projects-client.tsx:456</code> title={mode === "create" ? "Proje ekle" : "Düzenle"}</li> <li><code>app/(dashboard)/projects/projects-client.tsx:457</code> aria-label={mode === "create" ? "Proje ekle" : "Düzenle"}</li> <li><code>app/(dashboard)/projects/projects-client.tsx:460</code> {iconOnly ? null : mode === "create" ? "Proje ekle" : "Düzenle"}</li> <li><code>app/(dashboard)/projects/projects-client.tsx:467</code> <DialogTitle>{mode === "create" ? "Yeni proje" : "Projeyi düzenle"}</DialogTitle></li> <li><code>app/(dashboard)/projects/projects-client.tsx:490</code> : "Değişiklikleri kaydet"}</li> <li><code>app/(dashboard)/projects/projects-client.tsx:539</code> alt={project?.cover_image_alt || project?.name || "Proje kapak görseli önizlemesi"}</li> <li><code>app/(dashboard)/projects/projects-client.tsx:614</code> <SelectValue placeholder="Tür seç" /></li> <li><code>app/(dashboard)/projects/projects-client.tsx:630</code> <SelectValue placeholder="Müşteri seç" /></li> <li><code>app/(dashboard)/projects/projects-client.tsx:648</code> <SelectValue placeholder="Durum seç" /></li> <li><code>app/(dashboard)/projects/projects-client.tsx:736</code> {hasQuery ? "Aramana uygun proje yok" : "Henüz proje eklenmedi"}</li> <li><code>app/(dashboard)/projects/projects-client.tsx:740</code> ? "Arama metnini sadeleştirerek tekrar deneyebilirsin."</li> <li><code>app/(dashboard)/projects/projects-client.tsx:741</code> : "İlk müşteri projen veya side project kaydınla operasyon akışını kurmaya başlayabilirsin."}</li> <li><code>app/(dashboard)/projects/projects-client.tsx:779</code> throw new Error(data.error || "Bilinmeyen bir hata oluştu.");</li> <li><code>app/(dashboard)/projects/projects-client.tsx:785</code> (err instanceof Error ? err.message : "Bilinmeyen bir hata oluştu."),</li> <li><code>app/(dashboard)/settings/actions.ts:113</code> return { error: error instanceof Error ? error.message : "Profil güncellenemedi." };</li> <li><code>app/(dashboard)/settings/actions.ts:122</code> return { error: "Mevcut şifre zorunludur; yeni şifre en az 8 karakter olmalıdır." };</li> <li><code>app/(dashboard)/settings/actions.ts:137</code> return { error: "Mevcut şifre doğrulanamadı veya şifre güncellenemedi." };</li> <li><code>app/(dashboard)/settings/actions.ts:216</code> return { error: error instanceof Error ? error.message : "Dil durumu güncellenemedi." };</li> <li><code>app/(dashboard)/settings/actions.ts:229</code> return { error: error instanceof Error ? error.message : "Varsayılan dil güncellenemedi." };</li> <li><code>app/(dashboard)/settings/actions.ts:247</code> return { error: error instanceof Error ? error.message : "Çeviri kaydedilemedi." };</li> <li><code>app/(dashboard)/settings/actions.ts:264</code> return { error: error instanceof Error ? error.message : "Çeviri sıfırlanamadı." };</li> <li><code>app/(dashboard)/settings/actions.ts:275</code> return { error: error instanceof Error ? error.message : "Çeviri paketi dışa aktarılamadı." };</li> <li><code>app/(dashboard)/settings/actions.ts:290</code> return { error: error instanceof Error ? error.message : "Import paketi okunamadı." };</li> <li><code>app/(dashboard)/settings/actions.ts:303</code> return { error: error instanceof Error ? error.message : "Çeviri paketi içe aktarılamadı." };</li> <li><code>app/(dashboard)/settings/actions.ts:321</code> return { error: "Workspace adı 1-120 karakter arasında olmalıdır." };</li> <li><code>app/(dashboard)/settings/actions.ts:324</code> return { error: "Tarayıcı başlığı 1-80 karakter arasında olmalıdır." };</li> <li><code>app/(dashboard)/settings/actions.ts:327</code> return { error: "Kısa uygulama adı 1-24 karakter arasında olmalıdır." };</li> <li><code>app/(dashboard)/settings/actions.ts:330</code> return { error: "Ana renk #RRGGBB formatında olmalıdır." };</li> <li><code>app/(dashboard)/settings/actions.ts:394</code> return { error: "Geçersiz marka görseli." };</li> <li><code>app/(dashboard)/settings/actions.ts:410</code> return { error: error instanceof Error ? error.message : "Marka görseli kaldırılamadı." };</li> <li><code>app/(dashboard)/settings/page.tsx:91</code> label: "Açık",</li> <li><code>app/(dashboard)/settings/page.tsx:92</code> description: "Her zaman aydınlık renk paletini kullanır.",</li> <li><code>app/(dashboard)/settings/page.tsx:98</code> description: "Her zaman koyu renk paletini kullanır.",</li> <li><code>app/(dashboard)/settings/page.tsx:104</code> description: "Cihazınızın görünüm tercihini otomatik takip eder.",</li> <li><code>app/(dashboard)/settings/page.tsx:162</code> nativeName: "Français",</li> <li><code>app/(dashboard)/settings/page.tsx:176</code> { name: "Diller ve çeviriler", icon: Languages },</li> <li><code>app/(dashboard)/settings/page.tsx:237</code> toast.success("Profil güncellendi!");</li> <li><code>app/(dashboard)/settings/page.tsx:248</code> toast.success("Şifre güncellendi!");</li> <li><code>app/(dashboard)/settings/page.tsx:261</code> toast.success("Yapay Zeka ayarları kaydedildi!");</li> <li><code>app/(dashboard)/settings/page.tsx:281</code> toast.success("Görünüm tercihi kaydedildi.");</li> <li><code>app/(dashboard)/settings/page.tsx:308</code> toast.success("Genel görünüm ve marka ayarları güncellendi.");</li> <li><code>app/(dashboard)/settings/page.tsx:324</code> toast.success("Marka görseli kaldırıldı.");</li> <li><code>app/(dashboard)/settings/page.tsx:349</code> toast.success("Arayüz dili kaydedildi.");</li> <li><code>app/(dashboard)/settings/page.tsx:370</code> toast.success("Dil durumu güncellendi.");</li> <li><code>app/(dashboard)/settings/page.tsx:380</code> toast.success("Varsayılan dil güncellendi.");</li> <li><code>app/(dashboard)/settings/page.tsx:396</code> toast.success("Çeviri kaydedildi.");</li> <li><code>app/(dashboard)/settings/page.tsx:410</code> toast.success("Override sıfırlandı.");</li> <li><code>app/(dashboard)/settings/page.tsx:418</code> toast.error(response.error ?? "Export oluşturulamadı.");</li> <li><code>app/(dashboard)/settings/page.tsx:422</code> toast.success("Çeviri paketi aşağıdaki alana yazıldı.");</li> <li><code>app/(dashboard)/settings/page.tsx:429</code> toast.error(response.error ?? "Import paketi okunamadı.");</li> <li><code>app/(dashboard)/settings/page.tsx:432</code> setImportPreview(<code>${response.preview.localeCount} dil, ${response.preview.translationCount} çeviri, default: ${response.preview.defaultLocale}</code>);</li> <li><code>app/(dashboard)/settings/page.tsx:441</code> toast.success("Çeviri paketi içe aktarıldı.");</li> <li><code>app/(dashboard)/settings/page.tsx:594</code> description="Kare PNG önerilir; en fazla 5 MB."</li> <li><code>app/(dashboard)/settings/page.tsx:620</code> aria-label="Ana renk seçici"</li> <li><code>app/(dashboard)/settings/page.tsx:678</code> aria-label="Tema görünümü"</li> <li><code>app/(dashboard)/settings/page.tsx:726</code> ? "Görünüm tercihi kaydediliyor…"</li> <li><code>app/(dashboard)/settings/page.tsx:727</code> : "Değişiklik tüm sayfalara anında uygulanır."}</li> <li><code>app/(dashboard)/settings/page.tsx:734</code> {activeTab === "Diller ve çeviriler" && (</li> <li><code>app/(dashboard)/settings/page.tsx:795</code> {defaultLocale === locale.code ? "Varsayılan" : "Default yap"}</li> <li><code>app/(dashboard)/settings/page.tsx:815</code> <Input value={newLocale.nativeName} onChange={(event) => setNewLocale((current) => ({ ...current, nativeName: event.target.value }))} placeholder="Français" /></li> <li><code>app/(dashboard)/settings/page.tsx:1065</code> placeholder={hasApiKey ? "Kayıtlı anahtarı korumak için boş bırakın" : "sk-..."}</li> <li><code>app/(dashboard)/settings/page.tsx:1171</code> alt={<code>${title} önizlemesi</code>}</li> <li><code>app/(dashboard)/tasks/actions.ts:28</code> title: localized.title ?? requiredText(formData.get("title"), "Görev başlığı zorunludur."),</li> <li><code>app/(dashboard)/tasks/actions.ts:72</code> const id = requiredText(formData.get("id"), "Görev kaydı bulunamadı.");</li> <li><code>app/(dashboard)/tasks/actions.ts:81</code> const id = requiredText(formData.get("id"), "Tamamlanacak görev bulunamadı.");</li> <li><code>app/(dashboard)/tasks/actions.ts:95</code> const id = requiredText(formData.get("id"), "Silinecek görev bulunamadı.");</li> <li><code>app/(dashboard)/tasks/tasks-client.tsx:64</code> todo: "Yapılacak",</li> <li><code>app/(dashboard)/tasks/tasks-client.tsx:66</code> done: "Tamamlandı",</li> <li><code>app/(dashboard)/tasks/tasks-client.tsx:70</code> low: "Düşük",</li> <li><code>app/(dashboard)/tasks/tasks-client.tsx:72</code> high: "Yüksek",</li> <li><code>app/(dashboard)/tasks/tasks-client.tsx:129</code> : "Görev durumu güncellenemedi.",</li> <li><code>app/(dashboard)/tasks/tasks-client.tsx:159</code> error instanceof Error ? error.message : "Görev silinemedi.",</li> <li><code>app/(dashboard)/tasks/tasks-client.tsx:214</code> <StatCard label="Toplam görev" value={localTasks.length.toString()} /></li> <li><code>app/(dashboard)/tasks/tasks-client.tsx:233</code> placeholder="Görev, proje veya müşteri ara"</li> <li><code>app/(dashboard)/tasks/tasks-client.tsx:379</code> <div>{task.clientName || "Müşteri yok"}</div></li> </ul> <p dir="auto">Ilk 250 satir listelendi; kalan: 44</p> </body></html>