diff --git a/src/app/listem/listem-bos-cta.tsx b/src/app/listem/listem-bos-cta.tsx
index 41b8fd8..e14cdd0 100644
--- a/src/app/listem/listem-bos-cta.tsx
+++ b/src/app/listem/listem-bos-cta.tsx
@@ -19,8 +19,8 @@ export function ListemBosCta() {
<>
{profil
- ? "Sıralaman kayıtlı — birkaç adımda 24 tercihlik risk analizli listeni kur; sonra burada görüntüleyip AI danışmanla üzerinde konuşabilirsin."
- : "Sıralamanı girip birkaç adımda 24 tercihlik risk analizli listeni kur; sonra burada görüntüleyip AI danışmanla üzerinde konuşabilirsin."}
+ ? "Sıralaman kayıtlı — birkaç adımda 24 tercihlik risk analizli listeni kur; sonra burada görüntüleyip Yapay Zeka danışmanla üzerinde konuşabilirsin."
+ : "Sıralamanı girip birkaç adımda 24 tercihlik risk analizli listeni kur; sonra burada görüntüleyip Yapay Zeka danışmanla üzerinde konuşabilirsin."}
diff --git a/src/app/listem/page.tsx b/src/app/listem/page.tsx
index 04c09a5..2e1c504 100644
--- a/src/app/listem/page.tsx
+++ b/src/app/listem/page.tsx
@@ -74,7 +74,7 @@ export default async function ListemPage({
- Henüz AI listen yok
+ Henüz Yapay Zeka listen yok
{user.hasPaket
- ? "AI tercih listen"
- : "Veriyi ücretsiz incele. Kararı AI ile netleştir."}
+ ? "Yapay Zeka tercih listen"
+ : "Veriyi ücretsiz incele. Kararı Yapay Zeka ile netleştir."}
{user.hasPaket ? (
@@ -178,11 +178,11 @@ export default async function ListemPage({
- İlk {ACIK_SATIR} tercihte AI analizini gördün
+ İlk {ACIK_SATIR} tercihte Yapay Zeka analizini gördün
Kalan {24 - ACIK_SATIR} tercihin kişisel risk, gerekçe ve
- AI yorumu paketle açılır. Program adları ve taban
+ Yapay Zeka yorumu paketle açılır. Program adları ve taban
verileri her zaman ücretsiz.
@@ -234,9 +234,9 @@ export default async function ListemPage({
{[
"24 tercihin tamamında kişisel risk analizi",
- "Her program için kısa, gerekçeli AI yorumu",
+ "Her program için kısa, gerekçeli Yapay Zeka yorumu",
"2 liste revizyonu ve paylaşılabilir PDF",
- `${URUNLER.paket.credits} AI danışman sorusu`,
+ `${URUNLER.paket.credits} Yapay Zeka danışman sorusu`,
].map((ozellik) => (
- “AI listemi kur” sihirbazındaki üç adım birbirinden
+ “Yapay Zeka listemi kur” sihirbazındaki üç adım birbirinden
bağımsız değildir. İlk adımda yalnızca{" "}
sıralamanla ulaşabildiğin{" "}
alanlar listelenir; ikinci adımdaki iller, seçtiğin alanlardaki
diff --git a/src/app/odeme/sonuc/rapor-yok-cta.tsx b/src/app/odeme/sonuc/rapor-yok-cta.tsx
index aaab72d..5c4d2d3 100644
--- a/src/app/odeme/sonuc/rapor-yok-cta.tsx
+++ b/src/app/odeme/sonuc/rapor-yok-cta.tsx
@@ -7,7 +7,7 @@ import { useTercihProfili } from "@/components/manuel-liste/profil-kapisi-store"
import { sonucHref } from "@/lib/sihirbaz";
/**
- * Ödeme başarılı ama henüz AI listesi yokken gösterilen CTA: kayıtlı tercih
+ * Ödeme başarılı ama henüz Yapay Zeka listesi yokken gösterilen CTA: kayıtlı tercih
* profili olan adayı sihirbazı açık hâlde sonuç sayfasına götürür ve
* "sıralamanı gir" metni gösterilmez; profil yoksa ana sayfadaki sıralama
* formuna yönlendirir.
diff --git a/src/app/paket/page.tsx b/src/app/paket/page.tsx
index 806085e..4ab6084 100644
--- a/src/app/paket/page.tsx
+++ b/src/app/paket/page.tsx
@@ -41,7 +41,7 @@ const OZELLIKLER = [
{ icon: RefreshCcw, text: "2 liste revizyon hakkı" },
{
icon: MessageCircleQuestion,
- text: `${URUNLER.paket.credits} AI danışman sorusu (her mesaj 1 kredi)`,
+ text: `${URUNLER.paket.credits} Yapay Zeka danışman sorusu (her mesaj 1 kredi)`,
},
] as const;
diff --git a/src/app/sonuc/liste-paneli.tsx b/src/app/sonuc/liste-paneli.tsx
index 08d1d54..aef2820 100644
--- a/src/app/sonuc/liste-paneli.tsx
+++ b/src/app/sonuc/liste-paneli.tsx
@@ -192,7 +192,7 @@ export function ListePaneli({
{sira.toLocaleString("tr-TR")}. sıra ·{" "}
{kilitli
- ? `tüm taban verileri açık · ${ACIK_SATIR} AI analiz örneği`
+ ? `tüm taban verileri açık · ${ACIK_SATIR} Yapay Zeka analiz örneği`
: `${kredi} kredin kaldı`}
@@ -248,7 +248,7 @@ export function ListePaneli({
Paket; kalan {24 - ACIK_SATIR} tercih için kişisel risk,
- gerekçe, PDF, 2 revizyon ve 60 AI danışman sorusunu açar.
+ gerekçe, PDF, 2 revizyon ve 60 Yapay Zeka danışman sorusunu açar.
{kredi > 0 ? (
@@ -278,7 +278,7 @@ export function ListePaneli({
) : null}
- {/* AI danışman: sağ altta yüzen buton, alttan popup olarak açılır */}
+ {/* Yapay Zeka danışman: sağ altta yüzen buton, alttan popup olarak açılır */}
);
diff --git a/src/app/sonuc/page.tsx b/src/app/sonuc/page.tsx
index 94e839c..c1b1299 100644
--- a/src/app/sonuc/page.tsx
+++ b/src/app/sonuc/page.tsx
@@ -67,7 +67,7 @@ export default async function SonucPage({
: [null, null];
const facetler = rankWindowFacets(sira, turKey);
- // AI'sız ham liste: yalnızca sıralamayla ulaşılabilen programlar (dilimli)
+ // Yapay Zeka'sız ham liste: yalnızca sıralamayla ulaşılabilen programlar (dilimli)
const hamSonuclar = searchByRank(sira, turKey, { limitPerBucket: 20 });
// Paketsize giden rapor sunucuda maskelenir: blur yalnızca CSS olduğundan
// kilitli satırların gerçek içeriği client'a hiç inmez.
@@ -90,11 +90,11 @@ export default async function SonucPage({
buraya canlı yansır. */}
- {/* AI'dan bağımsız ham tablo — haritanın hemen altında, sayfanın ana
+ {/* Yapay Zeka'dan bağımsız ham tablo — haritanın hemen altında, sayfanın ana
gövdesi; puan türü navbar'daki sıralama rozetinden değiştirilir */}
- {/* Sihirbaz akışı (CTA + modal + AI listesi) — blurlu AI paneli
+ {/* Sihirbaz akışı (CTA + modal + Yapay Zeka listesi) — blurlu Yapay Zeka paneli
sayfanın en altında yaşar */}
- {/* AI çıktısı (rapor listesi/haritası) bu sayfada render edilmez;
+ {/* Yapay Zeka çıktısı (rapor listesi/haritası) bu sayfada render edilmez;
panel yalnızca üretim ve kredi-yetersiz gibi geçici funnel
durumlarını gösterir, listenin kendisi /listem'de yaşar. */}
@@ -431,11 +431,11 @@ export function SihirbazBolumu({
- Seçimlerin hazır — AI listen bir adım uzakta
+ Seçimlerin hazır — Yapay Zeka listen bir adım uzakta
Yukarıdaki tablo her zaman ücretsiz. 5 deneme kredinle 24
- tercihlik AI listeni de kurabilirsin: ücretsiz giriş yap,
+ tercihlik Yapay Zeka listeni de kurabilirsin: ücretsiz giriş yap,
seçimlerin kayıtlı — listen otomatik kurulsun (üretim 3
kredi, kalan 2 kredinle danışmana soru sorarsın).
@@ -445,7 +445,7 @@ export function SihirbazBolumu({
className="relative mt-6 h-auto min-h-12 w-full cursor-pointer whitespace-normal bg-orange-500 px-4 py-3 text-white transition-colors duration-200 hover:bg-orange-600 sm:w-auto sm:px-8"
>
- 5 deneme kredinle AI listeni kur — giriş yap
+ 5 deneme kredinle Yapay Zeka listeni kur — giriş yap
@@ -475,7 +475,7 @@ export function SihirbazBolumu({
onClick={sihirbaziBaslat}
className="relative mt-6 h-auto min-h-12 w-full cursor-pointer whitespace-normal bg-orange-500 px-4 py-3 text-white transition-colors duration-200 hover:bg-orange-600 sm:w-auto sm:px-8"
>
- AI listemi kur
+ Yapay Zeka listemi kur
@@ -492,7 +492,7 @@ export function SihirbazBolumu({
{girisBekliyor
- ? "Seçimlerin kayıtlı — AI listen hazır bekliyor"
+ ? "Seçimlerin kayıtlı — Yapay Zeka listen hazır bekliyor"
: "Tek tek ekleme, yapay zekâ kursun"}
@@ -549,7 +549,7 @@ export function SihirbazBolumu({
sonSecimler ?? (bekleyen?.eslesir ? bekleyen.secimler : null)
}
sonButonEtiketi={
- girisliMi ? "AI listemi kur (3 kredi)" : "Giriş yap ve listeni gör"
+ girisliMi ? "Yapay Zeka listemi kur (3 kredi)" : "Giriş yap ve listeni gör"
}
onTamamla={ilerle}
/>
diff --git a/src/app/sonuc/sohbet-popup.tsx b/src/app/sonuc/sohbet-popup.tsx
index 5e90895..afa3065 100644
--- a/src/app/sonuc/sohbet-popup.tsx
+++ b/src/app/sonuc/sohbet-popup.tsx
@@ -1,6 +1,6 @@
"use client";
-// AI danışman sohbeti — sayfa altında yüzen buton + intercom tarzı popup.
+// Yapay Zeka danışman sohbeti — sayfa altında yüzen buton + intercom tarzı popup.
// Motion dili: panel tetikleyicisinden doğar (transform-origin sağ-alt),
// spring ile açılır; çıkış girişten hızlı. Reduced motion'da cross-fade.
diff --git a/src/components/arama-funnel-karti.tsx b/src/components/arama-funnel-karti.tsx
index aaa0bdc..dccc60e 100644
--- a/src/components/arama-funnel-karti.tsx
+++ b/src/components/arama-funnel-karti.tsx
@@ -136,7 +136,7 @@ export function AramaFunnelKarti({ onSec }: { onSec: () => void }) {
onClick={sihirbazaGit}
className="h-11 w-full shrink-0 cursor-pointer rounded-xl bg-orange-500 px-5 font-semibold text-white shadow-[0_8px_24px_rgba(249,115,22,0.28)] transition-[background-color,transform,box-shadow] duration-200 hover:bg-orange-400 hover:shadow-[0_10px_28px_rgba(249,115,22,0.36)] active:scale-[0.98] focus-visible:ring-white/70 sm:w-auto"
>
- AI listemi kur
+ Yapay Zeka listemi kur
diff --git a/src/components/cta-sira-form.tsx b/src/components/cta-sira-form.tsx
index c0dde05..ee964c6 100644
--- a/src/components/cta-sira-form.tsx
+++ b/src/components/cta-sira-form.tsx
@@ -303,7 +303,7 @@ export function CtaSiraForm({ baslik }: { baslik?: string }) {
tur={tur}
facetler={facetler}
sonButonEtiketi={
- girisli ? "AI listemi kur (3 kredi)" : "Ücretsiz tablonu gör"
+ girisli ? "Yapay Zeka listemi kur (3 kredi)" : "Ücretsiz tablonu gör"
}
onTamamla={secimleriTamamla}
/>
diff --git a/src/components/hero-form.tsx b/src/components/hero-form.tsx
index 73df09c..7c5994c 100644
--- a/src/components/hero-form.tsx
+++ b/src/components/hero-form.tsx
@@ -186,7 +186,7 @@ export function HeroForm() {
disabled={yukleniyor}
className="h-12 cursor-pointer bg-orange-500 text-white transition-colors duration-200 hover:bg-orange-600"
>
- {yukleniyor ? "Hazırlanıyor…" : "AI listemi kur"}
+ {yukleniyor ? "Hazırlanıyor…" : "Yapay Zeka listemi kur"}
@@ -214,7 +214,7 @@ export function HeroForm() {
tur={tur}
facetler={facetler}
sonButonEtiketi={
- girisli ? "AI listemi kur (3 kredi)" : "Ücretsiz tablonu gör"
+ girisli ? "Yapay Zeka listemi kur (3 kredi)" : "Ücretsiz tablonu gör"
}
onTamamla={secimleriTamamla}
/>
diff --git a/src/components/manuel-liste/listem-butonu.tsx b/src/components/manuel-liste/listem-butonu.tsx
index 96a6c1b..db701e2 100644
--- a/src/components/manuel-liste/listem-butonu.tsx
+++ b/src/components/manuel-liste/listem-butonu.tsx
@@ -1,7 +1,7 @@
"use client";
// Navbar'daki "Seçtiklerim" butonu: elle kurulan aday listesinin sayacını
-// taşır, tıklanınca çekmeceyi açar/kapatır. ("Listem" adı AI raporunun
+// taşır, tıklanınca çekmeceyi açar/kapatır. ("Listem" adı Yapay Zeka raporunun
// yaşadığı /listem sayfasına aittir — isim çakışmasın.)
import { ListChecks } from "lucide-react";
diff --git a/src/components/manuel-liste/profil-kapisi-store.ts b/src/components/manuel-liste/profil-kapisi-store.ts
index f2ac608..96cffc5 100644
--- a/src/components/manuel-liste/profil-kapisi-store.ts
+++ b/src/components/manuel-liste/profil-kapisi-store.ts
@@ -82,7 +82,7 @@ function yukle() {
profiliTazele();
yayinla();
});
- // Aynı sekmedeki yazmalar (hero formu, AI sihirbazı) storage olayı
+ // Aynı sekmedeki yazmalar (hero formu, Yapay Zeka sihirbazı) storage olayı
// tetiklemez; tercihProfiliYaz/Sil bu olayı yayınlar.
window.addEventListener(PROFIL_DEGISTI_EVENT, () => {
profiliTazele();
diff --git a/src/components/manuel-liste/store.ts b/src/components/manuel-liste/store.ts
index eec6c9e..2324e5c 100644
--- a/src/components/manuel-liste/store.ts
+++ b/src/components/manuel-liste/store.ts
@@ -1,6 +1,6 @@
"use client";
-// Manuel 24'lük liste — AI'dan bağımsız, kullanıcının tablodan "+" ile kendi
+// Manuel 24'lük liste — Yapay Zeka'dan bağımsız, kullanıcının tablodan "+" ile kendi
// kurduğu tercih listesi. Kaynak tek: bu modüldeki harici store. Navbar rozeti,
// çekmece ve program tablosu aynı store'a abone olur; kalıcılık localStorage'ta
// (girişsiz kullanıcı da liste kurabilsin diye sunucuya yazmıyoruz).
diff --git a/src/components/program-tablosu.tsx b/src/components/program-tablosu.tsx
index f9e18b1..3a6d27e 100644
--- a/src/components/program-tablosu.tsx
+++ b/src/components/program-tablosu.tsx
@@ -1,6 +1,6 @@
"use client";
-// Sonuç sayfasının AI'sız ham listesi: yalnızca başarı sıralamasıyla
+// Sonuç sayfasının Yapay Zeka'sız ham listesi: yalnızca başarı sıralamasıyla
// yokatlas'tan gelen programlar, dilim sekmeleri halinde ve yakından uzağa
// sayfalanır ("daha fazla göster" /api/programlar'dan akıtır). Her satırın "+"
// butonu programı manuel 24'lük listeye ekler (bkz. manuel-liste/store).
diff --git a/src/components/rapor-listesi.tsx b/src/components/rapor-listesi.tsx
index 5e94d71..217be5a 100644
--- a/src/components/rapor-listesi.tsx
+++ b/src/components/rapor-listesi.tsx
@@ -1,7 +1,7 @@
"use client";
// 24'lük listenin gövdesi. Program adı, 2024/2025 tabanları ve ham trend
-// herkese görünür. AI gerekçesi ile kişisel risk, kilitliBaslangic sonrasında
+// herkese görünür. Yapay Zeka gerekçesi ile kişisel risk, kilitliBaslangic sonrasında
// ücretli katman olarak ayrılır; ücretli metin sunucuda zaten maskelidir.
import { Fragment, useEffect, useRef, useState } from "react";
@@ -327,7 +327,7 @@ export function RaporListesi({
- AI karar desteği
+ Yapay Zeka karar desteği
Bu bölümün neden listende olduğunu ve sıralamana özel yerleşme
@@ -344,7 +344,7 @@ export function RaporListesi({
- Risk ve AI yorumu
+ Risk ve Yapay Zeka yorumu
{t.riskNotu} {t.trendOzeti}
@@ -420,7 +420,7 @@ export function RaporListesi({
2024 taban2025 tabanHam trend
- AI risk
+ Yapay Zeka risk
diff --git a/src/lib/ai/rapor.ts b/src/lib/ai/rapor.ts
index bb7bfbc..9ca4897 100644
--- a/src/lib/ai/rapor.ts
+++ b/src/lib/ai/rapor.ts
@@ -85,7 +85,7 @@ function programBilgisi(p: AdayProgram): RaporSonuc["programlar"][string] {
// --- Dev mock: API key yokken (yalnızca development) gerçek havuzdan sahte
// ama tutarlı bir rapor üret. Akış (kredi, blur, risk renkleri, revizyon)
-// gerçek AI olmadan uçtan uca test edilebilsin diye. Prod'da asla çalışmaz.
+// gerçek Yapay Zeka olmadan uçtan uca test edilebilsin diye. Prod'da asla çalışmaz.
function mockAktif(): boolean {
return (
@@ -140,7 +140,7 @@ function mockRapor(
return {
tercihler,
- genelDegerlendirme: `(Dev mock — ANTHROPIC_API_KEY tanımlı değil, bu rapor gerçek AI çıktısı değildir.) ${params.sira.toLocaleString(
+ genelDegerlendirme: `(Dev mock — ANTHROPIC_API_KEY tanımlı değil, bu rapor gerçek Yapay Zeka çıktısı değildir.) ${params.sira.toLocaleString(
"tr-TR",
)}. sıra için hayal/dengeli/garanti dağılımlı 24 tercihlik örnek liste kuruldu.${
revizyonNotu ? ` Revizyon isteğin not alındı: "${revizyonNotu}".` : ""
@@ -183,7 +183,7 @@ export async function raporUret(
);
}
- // Dev'de API key yoksa gerçek AI yerine mock rapor (üretim gecikmesi taklidi)
+ // Dev'de API key yoksa gerçek Yapay Zeka yerine mock rapor (üretim gecikmesi taklidi)
if (mockAktif()) {
await new Promise((r) => setTimeout(r, 1500));
return mockRapor(havuz, params, revizyonNotu);
diff --git a/src/lib/rapor-maske.ts b/src/lib/rapor-maske.ts
index b823c40..34ffdfb 100644
--- a/src/lib/rapor-maske.ts
+++ b/src/lib/rapor-maske.ts
@@ -1,6 +1,6 @@
// Paketsiz kullanıcıya giden raporun sunucu tarafı maskesi.
// YÖK Atlas'ın ham program ve taban sıralaması verileri ücretsiz kalır.
-// Yalnızca AI'ın ürettiği kişisel gerekçe/risk/trend yorumu maskelenir;
+// Yalnızca Yapay Zeka'nın ürettiği kişisel gerekçe/risk/trend yorumu maskelenir;
// böylece istemciye ücretli analiz metni hiç inmez.
import type { RaporSonuc } from "./ai/rapor";
@@ -12,7 +12,7 @@ const SAHTE_GEREKCE =
const SAHTE_RISK =
"Sıralamana özel yerleşme riski paketle açılır.";
const SAHTE_TREND =
- "Ham trend verisi ücretsizdir; AI yorumu paketle açılır.";
+ "Ham trend verisi ücretsizdir; Yapay Zeka yorumu paketle açılır.";
/** genelDegerlendirme'nin yalnızca ilk 1-2 cümlesini bırakır. */
function degerlendirmeKirp(metin: string): string {
diff --git a/src/lib/sihirbaz.ts b/src/lib/sihirbaz.ts
index d5f27d6..8bbfd97 100644
--- a/src/lib/sihirbaz.ts
+++ b/src/lib/sihirbaz.ts
@@ -140,7 +140,7 @@ export function tercihProfiliOku(): TercihProfili | null {
}
}
-/** Ortak profili yazar; hero ve AI sihirbazıyla aynı anahtarı kullanır. */
+/** Ortak profili yazar; hero ve Yapay Zeka sihirbazıyla aynı anahtarı kullanır. */
export function tercihProfiliYaz(profil: TercihProfili): void {
if (typeof window === "undefined") return;
const dogru = tercihProfiliDogrula(profil);
@@ -151,7 +151,7 @@ export function tercihProfiliYaz(profil: TercihProfili): void {
profilDegistiginiYayinla();
}
-/** Profili siler (ör. AI listesi üretilip seçimler tüketildiğinde). */
+/** Profili siler (ör. Yapay Zeka listesi üretilip seçimler tüketildiğinde). */
export function tercihProfiliSil(): void {
if (typeof window === "undefined") return;
try {