İçindekiler
GPT ve LLM'leri Uygulama Lokalizasyonu İçin Kullanmak: Pratik Bir Rehber
Büyük dil modelleri, geliştirme ekiplerinin uygulama lokalizasyonuna yaklaşımını kökten değiştirdi. Yalnızca geleneksel makine çevirisi motorlarına ya da pahalı, tamamen insan odaklı iş akışlarına güvenmek yerine artık GPT, Claude ve diğer LLM'leri kullanarak bağlama duyarlı, tonlama açısından doğru çeviriler üretebilir ve bunları doğrudan i18n pipeline'ınıza entegre edebilirsiniz. Bu rehber pratik adımları ele alır: prompt tasarımı, kalite kontrolü, entegrasyon kalıpları ve maliyet yönetimi.
Temel Çıkarımlar
- LLM'ler, bağlama duyarlı çevirilerde geleneksel MT'yi geride bırakır. WMT24'te Claude 3.5 Sonnet gibi öncü LLM'ler, 11 dil çiftinden 9'unu kazanarak özel makine çevirisi sistemlerini geçti (WMT24 Bulguları).
- Çeviri kalitesinin en büyük etkeni prompt mühendisliğidir. Prompt'larınıza bağlam, sözlükler ve ton talimatları eklemek, son düzenleme çabasını önemli ölçüde azaltır.
- LLM'ler, yüksek riskli içeriklerde insan çevirmenlerin yerini alamaz. Araştırmalar, profesyonel çevirmenlerin GPT-4'e kıyasla bire bir karşılaştırmalarda yaklaşık %64 oranında daha iyi sonuç verdiğini göstermektedir (Jiao ve ark., 2024).
- Maliyet optimizasyonu önemlidir. GPT-4o mini ve Claude Haiku gibi küçük modeller, basit çevirileri çok daha düşük maliyetle yapabilir; daha büyük modelleri nüanslı içerikler için saklayabilirsiniz.
- LLM taslağı artı insan incelemesinden oluşan hibrit iş akışı, üretim uygulamaları için hız, maliyet ve kalite arasındaki en iyi dengeyi sunar.
Uygulama Lokalizasyonu İçin Neden LLM Kullanmalısınız?
LLM'ler, geleneksel makine çevirisi motorlarının sahip olmadığı bağlam farkındalığı, ton uyumluluğu ve biçim koruması sunar; bu da onları ham hızdan çok nüansın önem taşıdığı UI metinleri, pazarlama içerikleri ve uygulama içi içeriklerin çevirisi için biçilmiş kaftan hâline getirir.
Geleneksel MT'den Dönüşüm
Geleneksel makine çevirisi (Google Translate, DeepL), paralel derlemler üzerinde özel olarak eğitilmiş sinir ağı modellerini kullanır. Bu sistemler yüksek hacimli, genel amaçlı çevirilerde başarılıdır. Ancak uygulama lokalizasyonunun her gün gündeme getirdiği çeşitli zorluklarla baş etmekte güçlük çekerler:
Bağlam parçalanması. Uygulama metinleri genellikle kısa ve izole parçalardır: "Kaydet", "İptal", "Siparişiniz hazır." Çevresindeki bağlam olmadan, geleneksel MT çoğu zaman bir kelimenin yanlış anlamını seçer. "Save" kelimesinin Almanca çevirisi "Speichern" (dosya kaydet) veya "Sparen" (para biriktir) olabilir; metinleri yalnızca başına göre işleyen geleneksel bir MT sistemi bunları birbirinden ayırt edemez.
Ton ve marka sesi. Bir fintech uygulaması ile bir çocuk oyununun çok farklı ses gereksinimleri vardır. Geleneksel MT, kayıt veya resmiyet üzerinde sınırlı kontrol sağlayarak tek bir nötr çıktı üretir.
Biçim koruması. Uygulama metinleri değişkenler ({count} öğe), HTML etiketleri, çoğul biçimler ve ICU mesaj sözdizimi içerir. Geleneksel MT motorları bu yapıları sıklıkla bozar.
LLM'ler bu üç sorunu da çözer. Dili büyük bağlam pencereleriyle üretimsel olarak işledikleri için her çeviri isteğine çevreleyen metinleri, sözlükleri ve açık stil talimatlarını ekleyebilirsiniz. 55 dile genişletilen WMT24++ benchmark'ı, öncü LLM'lerin otomatik metrikler açısından standart MT sağlayıcılarını tüm kategorilerde geçtiğini doğruladı (Kocmi ve ark., 2025).
Bununla birlikte LLM'ler kendi zorluklarını da beraberinde getirir — maliyet, gecikme ve ara sıra ortaya çıkan halüsinasyon — bu rehberin ilerleyen bölümlerinde bu konular ele alınmaktadır.
i18n için Prompt Mühendisliği
Etkili prompt mühendisliği, LLM çeviri kalitesinin en önemli belirleyicisidir. Bağlam, sözlük terimleri ve biçimlendirme kurallarını içeren iyi yapılandırılmış bir prompt, ham LLM çıktısı ile profesyonel insan çevirisi arasındaki açığın büyük bölümünü kapatabilir.
Bir Çeviri Prompt'unun Anatomisi
Her çeviri prompt'u beş unsur içermelidir:
- Rol ve görev tanımı — Modele ne yaptığını söyleyin
- Kaynak ve hedef dil — Açık olun
- Bağlam — Bu metinlerin nerede göründüğünü açıklayın
- Sözlük / terminoloji — Tutarlı terim kullanımını zorunlu kılın
- Biçim kısıtlamaları — Değişkenleri, HTML'i, çoğul sözdizimini koruyun
Pratik bir şablon:
Sen bir SaaS uygulaması için profesyonel bir çevirmensin.
Aşağıdaki UI metinlerini İngilizceden Almancaya çevir.
Bağlam: Bu metinler bir proje yönetimi panosunda görünmektedir.
Ton profesyonel ama erişilebilir olmalıdır. Kullanıcıya yönelik
metinlerde "Sie" (resmi) kullanın.
Sözlük:
- "workspace" → "Arbeitsbereich" (hiçbir zaman "Arbeitsplatz" değil)
- "sprint" → "Sprint" (İngilizce bırak)
- "backlog" → "Backlog" (İngilizce bırak)
Biçim kuralları:
- {süslü_parantez} içindeki tüm değişkenleri olduğu gibi koru
- HTML etiketlerini (<b>, <a> vb.) nitelikleri çevirmeden koru
- Çevirileri girdiyle aynı JSON yapısında döndür
Giriş:
{
"dashboard.welcome": "Welcome back, {userName}",
"dashboard.sprint_count": "{count, plural, one {# sprint} other {# sprints}} active",
"dashboard.empty": "No items in your <b>backlog</b> yet"
}
Bağlam Penceresi Stratejileri
LLM'lerin geleneksel MT'ye kıyasla en büyük avantajlarından biri, birden fazla metni birlikte işleyebilme kapasitesidir. Bu, metinler arası tutarlılığı mümkün kılar — aynı terim uygulamanız genelinde her seferinde aynı şekilde çevrilir.
Özellik alanına göre gruplandırın. Metinleri tek tek çevirmek yerine ilgili metinleri gruplayıp birlikte gönderin. "Ayarlar" sayfanızdaki tüm metinler tek bir istekte çevrilmeli; böylece model tüm tabloyu görür.
Referans çeviriler ekleyin. Bazı metinler için onaylanmış çevirileriniz zaten varsa bunları örnek olarak ekleyin:
Daha önce onaylanmış çeviriler (stil referansı olarak kullanın): - "Save changes" → "Änderungen speichern" - "Discard" → "Verwerfen" Şimdi bu yeni metinleri aynı stilde çevirin: ...
UI bağlam açıklamaları sağlayın. Bir metin belirsizse geliştirici yorumu ekleyin:
{
"key": "actions.close",
"source": "Close",
"context": "Bir kalıcı iletişim kutusunu kapatmak için düğme etiketi, hesabı kapatmak için değil"
}
Across Systems'ın araştırmaları, kaynak metin optimizasyonunun ve iyi korunan terminolojinin LLM'lerle geleneksel MT'den daha da kritik olduğunu doğrular; çünkü modelin çıktısı doğrudan girdi kalitesine göre şekillenir (Across, 2024).
Doğru Modeli Seçmek
Her metin için bir öncü modele gerek yoktur. Pratik bir döküm:
| Kullanım Senaryosu | Önerilen Model | Neden |
|---|---|---|
| Basit UI etiketleri | GPT-4o mini, Claude Haiku | Düşük belirsizlik, maliyet etkin |
| Pazarlama metni | GPT-4o, Claude Sonnet | Yaratıcı uyarlama gerektirir |
| Hukuki / uyumluluk | Claude Opus, GPT-4o + insan incelemesi | Yüksek riskli, nüans gerekli |
| Toplu metin dosyaları | GPT-4o mini, Claude Haiku | Hacim fiyatlandırması önemli |
| Kültürel uyarlama | GPT-4o, Claude Sonnet | Kültürel akıl yürütme gerektirir |
Lokalise'in dahili testleri, Claude 3.5'i birçok dil çiftinde en iyi performans gösteren model olarak sıraladı ve bu durum onları modeli platformlarına derinlemesine entegre etmeye yöneltti. Ancak model performansı dil çiftine göre farklılık gösterir — tüm senaryolar için tek bir "en iyi" model yoktur.
LLM Çevirileri İçin Kalite Kontrolü
LLM çevirileri yapılandırılmış kalite güvencesi gerektirir. Akıcı ve doğal ses tonuna sahip metinler üretebilirken bu akıcılık hataları gizleyebilir — özgüvenle yapılmış yanlış bir çeviriyi, hantal ama doğru bir çeviriden daha zor fark edersiniz.
Yaygın LLM Çeviri Tuzakları
Halüsinasyon. LLM'ler zaman zaman kaynak metinde bulunmayan bilgiler ekler. "3 items selected" kaynak metni "3 wichtige Elemente ausgewählt" ("3 önemli öğe seçildi") hâline gelebilir — model "önemli" kelimesini gerekçesiz olarak ekler.
Toplu işlemler arasında tutarsızlık. Metinleri ayrı API çağrılarıyla çevirirseniz aynı terim her seferinde farklı şekilde işlenebilir. "Dashboard" farklı isteklerde "Dashboard", "Übersicht" veya "Instrumententafel" olarak görünebilir.
Biçim bozulması. Talimatlara rağmen modeller bazen değişkenleri değiştirir: {userName} {Benutzername} hâline gelir ya da ICU çoğul sözdizimi yeniden yapılandırılır.
Aşırı lokalizasyon. LLM'ler marka adlarını, ürün özelliklerini veya İngilizce kalması gereken teknik terimleri çevirebilir.
Resmiyet tutarsızlığı. Resmi/gayri resmi kayıtların bulunduğu dillerde (Almanca Sie/du, Fransızca vous/tu, Japonca keigo), model toplu işlem sırasında kayıt değiştirebilir.
Otomatik Kalite Kontrolleri
Pipeline'ınıza otomatik doğrulama ekleyin:
interface TranslationQAResult {
readonly key: string;
readonly issues: readonly string[];
readonly passed: boolean;
}
function validateTranslation(
sourceKey: string,
source: string,
translation: string
): TranslationQAResult {
const issues: string[] = [];
// Değişken korumasını kontrol et
const sourceVars = source.match(/\{[^}]+\}/g) || [];
const translationVars = translation.match(/\{[^}]+\}/g) || [];
for (const v of sourceVars) {
if (!translationVars.includes(v)) {
issues.push(`Eksik değişken: ${v}`);
}
}
// HTML etiketi korumasını kontrol et
const sourceTags = source.match(/<[^>]+>/g) || [];
const translationTags = translation.match(/<[^>]+>/g) || [];
for (const tag of sourceTags) {
if (!translationTags.includes(tag)) {
issues.push(`Eksik HTML etiketi: ${tag}`);
}
}
// Çevrilmemiş içeriği kontrol et (tam eşleşme şüpheli)
if (source === translation && source.length > 3) {
issues.push("Çeviri kaynakla özdeş — çevrilmemiş olabilir");
}
// Uzunluk oranını kontrol et (çeviriler 3 kat uzun/kısa olmamalı)
const ratio = translation.length / source.length;
if (ratio > 3 || ratio < 0.3) {
issues.push(`Şüpheli uzunluk oranı: ${ratio.toFixed(2)}`);
}
return {
key: sourceKey,
issues,
passed: issues.length === 0,
};
}
İnsan İnceleme İş Akışı
Üretim uygulamaları için en etkili kalıp LLM taslağı + hedefli insan incelemesidir:
- LLM, tüm metinleri tam bağlamla toplu olarak çevirir
- Otomatik kalite güvencesi, biçim sorunlarını, eksik değişkenleri, uzunluk ihlallerini yakalar
- İnsan incelemecisi şunlara odaklanır:
- Otomatik kalite güvencesi tarafından işaretlenen metinler
- Yüksek görünürlüklü metinler (katılım, ödeme, hata mesajları)
- Kültürel hassasiyet içeren metinler
- Onaylanan çeviriler, gelecekteki toplu işlemler için sözlüğe ve stil referansına geri beslenir
Bu iş akışı, insan çevirmenlerin zamanlarını en çok önem taşıyan yerde harcamasına olanak tanır — kültürel bilgi gerektiren yargı kararlarında — LLM'lerin başarıyla üstlendiği basit metinler yerine.
GPT-4'ü profesyonel çevirmenlerle karşılaştıran araştırmalar, GPT-4'ün toplam hata sayısı açısından genç düzeydeki çevirmenlere yakın performans sergilediğini ortaya koydu; ancak model ile orta ve kıdemli düzeydeki insan çevirmenler arasında belirgin performans farkları bulunmaktadır (Yan ve ark., 2024). Hibrit yaklaşım, LLM'lerin hızını insan uzmanlığının sağladığı kalite tavanıyla birleştirir.
LLM'leri Lokalizasyon İş Akışınıza Entegre Etmek
Geçici ChatGPT kullanımından üretim kalitesinde bir LLM çeviri pipeline'ına geçmek, toplu işleme, API entegrasyonu ve maliyet yönetimi konularında düşünceli mimari kararlar gerektirir.
Mimari Kalıplar
Toplu çeviri (çoğu uygulama için önerilir). Yeni veya değiştirilmiş metinleri toplayın, CI/CD sırasında toplu olarak çevirin ve sonuçları i18n dosyalarınıza commit edin. Bu, en maliyet etkin ve öngörülebilir kalıptır.
Geliştirici metin ekler → CI değişiklikleri algılar → LLM toplu çevirisi → Otomatik kalite güvencesi → İnsan inceleme kuyruğu → i18n dosyalarına merge
Gerçek zamanlı çeviri (dinamik içerik için). Uygulamanızda anında çeviri gerektiren kullanıcı tarafından oluşturulan içerik veya CMS odaklı sayfalar varsa, önbellekleme ile istek zamanında LLM API'larını çağırabilirsiniz:
import { createHash } from "node:crypto";
interface TranslationCacheEntry {
readonly translation: string;
readonly timestamp: number;
}
const translationCache = new Map<string, TranslationCacheEntry>();
const CACHE_TTL_MS = 24 * 60 * 60 * 1000; // 24 saat
async function translateWithCache(
text: string,
sourceLang: string,
targetLang: string,
context: string
): Promise<string> {
const cacheKey = createHash("sha256")
.update(`${sourceLang}:${targetLang}:${text}`)
.digest("hex");
const cached = translationCache.get(cacheKey);
if (cached && Date.now() - cached.timestamp < CACHE_TTL_MS) {
return cached.translation;
}
const translation = await callTranslationLLM(
text,
sourceLang,
targetLang,
context
);
translationCache.set(cacheKey, {
translation,
timestamp: Date.now(),
});
return translation;
}
Hibrit kalıp. Temel uygulama metinleriniz için toplu çeviriyi (statik i18n dosyaları), dinamik içerik için önbellekli gerçek zamanlı çeviriyi kullanın. Çoğu üretim uygulaması sonunda bu noktaya ulaşır.
API Entegrasyon Örneği
Toplu çeviri için OpenAI API'sini çağıran pratik bir örnek:
interface TranslationRequest {
readonly strings: Record<string, string>;
readonly sourceLang: string;
readonly targetLang: string;
readonly glossary: Record<string, string>;
readonly context: string;
}
interface TranslationResponse {
readonly translations: Record<string, string>;
readonly model: string;
readonly tokensUsed: number;
}
async function translateBatch(
request: TranslationRequest
): Promise<TranslationResponse> {
const prompt = buildTranslationPrompt(request);
const response = await fetch(
"https://api.openai.com/v1/chat/completions",
{
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${process.env.OPENAI_API_KEY}`,
},
body: JSON.stringify({
model: "gpt-4o-mini",
messages: [
{
role: "system",
content:
"Sen profesyonel bir yazılım lokalizasyon uzmanısın. Yalnızca geçerli JSON döndür.",
},
{ role: "user", content: prompt },
],
temperature: 0.1, // Tutarlılık için düşük sıcaklık
response_format: { type: "json_object" },
}),
}
);
const data = await response.json();
const parsed = JSON.parse(data.choices[0].message.content);
return {
translations: parsed,
model: data.model,
tokensUsed: data.usage.total_tokens,
};
}
function buildTranslationPrompt(
request: TranslationRequest
): string {
const glossaryLines = Object.entries(request.glossary)
.map(([en, target]) => `- "${en}" → "${target}"`)
.join("\n");
return `Bu UI metinlerini ${request.sourceLang} dilinden ${request.targetLang} diline çevir.
Bağlam: ${request.context}
Sözlük (bu tam çevirileri kullan):
${glossaryLines}
Kurallar:
- Tüm {değişkenleri} olduğu gibi koru
- HTML etiketlerini koru
- Marka adlarını çevirme
- Aynı anahtarlarla bir JSON nesnesi döndür
Çevrilecek metinler:
${JSON.stringify(request.strings, null, 2)}`;
}
Maliyet Optimizasyon Stratejileri
LLM çeviri maliyetleri, ölçeklendikçe hızla artabilir. Bunları yönetilebilir tutmak için kanıtlanmış stratejiler:
1. Katmanlı modeller kullanın. Basit metinleri (düğmeler, etiketler) daha ucuz modellere yönlendirin ve pahalı modelleri karmaşık içerikler için saklayın. GPT-4o mini, giriş için milyon token başına 0,15 dolar maliyetiyle GPT-4o'dan girişte yaklaşık 60 kat daha ucuzdur.
2. Agresif önbellekleme yapın. Aynı metnin aynı dile çevirisi hiçbir zaman iki kez yapılmamalıdır. Yukarıda gösterildiği gibi içerik adresli önbellekleme uygulayın.
3. Artımlı çeviri yapın. Yalnızca gerçekten değişen metinleri çevirin. Değişiklikleri tespit etmek için önceki i18n dosyalarınızla hash karşılaştırması kullanın.
4. Verimli toplu işleme yapın. Tek bir API çağrısında 50 metin göndermek, 50 ayrı çağrıdan çok daha ucuz ve tutarlıdır; çünkü sistem prompt'u ve bağlam tokenlarını paylaştırırsınız.
5. Sıcaklığı 0.1–0.3 olarak ayarlayın. Yüksek sıcaklıklar yaratıcılığı artırır, ancak tutarsızlığı ve halüsinasyon olasılığını da artırır. Çeviri için deterministik çıktı istersiniz.
Bir referans noktası olarak: GPT-4o mini kullanarak 10.000 UI metnini (ortalama 8 kelime) İngilizceden Almancaya çevirmek, API ücretleri açısından yaklaşık 0,10–0,30 dolar maliyete yol açar — kelime başına 0,10–0,20 dolar olan profesyonel insan çevirisinden kat kat daha ucuz.
better-i18n, AI Çevirisiyle Nasıl Çalışır?
better-i18n, yukarıda açıklanan AI destekli lokalizasyon iş akışına doğal biçimde uyum sağlamak için tasarlanmıştır. Çeviri sürecinizin yerini almak yerine, LLM çevirisini ölçekte pratik hâle getiren altyapı katmanını sağlar.
Yapılandırılmış i18n yönetimi. better-i18n, çeviri anahtarlarınızı organize eder, hangi metinlerin değiştiğini takip eder ve sürüm geçmişini korur — üzerine artımlı LLM çevirisi inşa etmeniz için temel oluşturur.
Bağlam koruması. better-i18n'deki her çeviri anahtarı geliştirici notları ve bağlam açıklamaları taşıyabilir; bunları doğrudan LLM prompt'larınıza geçirerek çeviri doğruluğunu artırabilirsiniz.
İnceleme iş akışları. LLM çevirileri geri geldiğinde, better-i18n'in bekleyen değişiklikler iş akışı ekibinizin çevirileri yayına girmeden önce incelemesine, onaylamasına veya düzenlemesine olanak tanır — en iyi sonuçları üretenin tam olarak döngüde insan olan bu kalıptır.
SDK entegrasyonu. @better-i18n/sdk, kaynak metinleri çekmeyi, LLM çeviri pipeline'ınızdan geçirmeyi ve sonuçları geri göndermeyi kolaylaştırır — hepsi API aracılığıyla. Entegrasyon detayları için better-i18n belgelerine bakın.
AI çeviri araçlarının daha geniş bir karşılaştırması için 2026'nın En İyi AI Çeviri Araçları rehberimize bakın.
SSS
Çeviri için en iyi LLM hangisi?
Tüm çeviri senaryoları için tek bir en iyi LLM yoktur. WMT24'te Claude 3.5 Sonnet genel olarak en iyi performansı gösterdi ve değerlendirilen 11 dil çiftinin 9'unu kazandı. Ancak performans, dil çiftine ve içerik türüne göre önemli ölçüde farklılık gösterir. Çoğu uygulama lokalizasyon çalışması için GPT-4o mini ve Claude Haiku, standart UI metinleri açısından en iyi maliyet-kalite oranını sunarken GPT-4o ve Claude Sonnet, pazarlama metinleri veya kültürel uyarlama gerektiren içerikler için daha uygundur. Tek bir sağlayıcıya bağlanmadan önce kendi dil çiftleriniz ve içerik türlerinizle test edin.
GPT profesyonel çevirmenlerin yerini alabilir mi?
Tamamen değil — en azından henüz değil. GPT-4'ü insan çevirmenlerle karşılaştıran araştırmalar, profesyonel çevirmenlerin bire bir karşılaştırmalarda yaklaşık %64 oranında kazandığını, kıdemli düzeydeki çevirmenler ve kültürel nüans içeren içerikler için bu açığın daha da büyüdüğünü ortaya koydu (Yan ve ark., 2024). Ancak standart uygulama UI metinleri, hata mesajları ve basit içerikler için LLM'ler minimum son düzenleme gerektiren çeviriler üretir. Üretim uygulamaları için en etkili yaklaşım hibrit bir iş akışıdır: LLM tarafından oluşturulan ilk taslaklar, yüksek görünürlüklü ve kültürel açıdan hassas metinler için insan incelemesiyle desteklenir.
LLM çevirilerinde bağlamı nasıl ele alırsınız?
Bağlam, iyi ve kötü LLM çevirileri arasındaki temel fark yaratan unsurdur. Üç pratik strateji: (1) İlgili metinleri birlikte gruplandırın — Modelin tüm tabloyu görmesi için tek bir ekran veya özelliğe ait tüm metinleri tek bir API çağrısında çevirin. (2) Geliştirici yorumları ekleyin — Her metnin yanına "Ödeme akışındaki düğme" veya "Ödeme başarısız olduğunda gösterilen hata" gibi açıklamalar yazın. (3) Referans çeviriler sağlayın — Prompt'unuzda daha önce onaylanmış çevirileri stil örneği olarak ekleyin. Bu üç uygulama, bağlama bağlı çeviri hatalarının büyük çoğunluğunu tek başına ortadan kaldırır. better-i18n gibi araçlar, her çeviri anahtarına bağlam meta verisi eklemeyi ve bunu LLM pipeline'ınıza aktarmayı kolaylaştırır.
Bu makale, AI destekli lokalizasyon serimizin bir parçasıdır. Mevcut araçların kapsamlı bir karşılaştırması için 2026'nın En İyi AI Çeviri Araçları yazısını okuyun.