İçeriğe atla
U
Hizmet

Yazılım Yerelleştirme: Dosya Formatından Yayına Kadar

Yazılım yerelleştirme; uygulama, SaaS, web platformu veya oyun arayüzündeki string'lerin hedef dile ve pazara uyarlanmasıdır. Ulus Tercüme; JSON, XLIFF, gettext (.po), Android strings.xml, iOS Localizable.strings ve benzeri kaynak dosyaları doğrudan kabul eder; terminoloji yönetir, çeviriyi yapar, in-context review ve LQA adımlarını birlikte planlar. Pilot bir dilde küçük bir alanla başlamak ya da sürekli güncellenen içerik için aylık plan kurmak mümkündür; kaynak dosya örneklerini ya da repo erişimini paylaştığınızda projeye uygun akışı birlikte belirleriz.

Yeminli tercüman kadrosu Ankara noterlerine kayıtlı tercümanlar; alanına göre yönlendirme.
Net süre, net fiyat Belge incelemesi sonrası yazılı teklif; sürpriz ek masraf yok.
KVKK uyumlu süreç Şifreli dosya, 30 gün sonra otomatik silme; NDA imkanı.
Ankara'da kurye + kargo Merkez ilçeye aynı gün, çevre ilçeye ertesi iş günü.
Süreç

4 adımda hizmet akışı

Çoğu ürün her hafta yeni string üretir. Bu nedenle yerelleştirmeyi tek seferlik bir iş gibi değil, sürüm temposuyla eşleşen sürekli bir akış olarak kurarız.

Genelde iki model çalışıyor. Aylık paket modelinde belirli bir token veya kelime kapasitesi ay başında ayrılır; sprint sonlarında biriken stringler toplu olarak işlenir, kapasite aşılırsa sonraki aya devrolur. Sürekli (continuous) modelde ise CI/CD'ye entegre çalışırız: yeni eklenen string'ler webhook veya TMS üzerinden bize düşer, 24–72 saat içinde çevrilip geri yazılır.

Sürüm yönetiminde iki noktayı net tutuyoruz. Birincisi: kritik release öncesi “LQA donduruldu” aşaması belirlenir, son anda eklenen stringler ayrı bir hotfix akışına gider. İkincisi: her sürümde silinen veya değişen anahtarlar için bir değişiklik kaydı tutarız; eski kullanıcıların ekranında orphan çeviri kalmaması için TM bu kayıtla senkron çalışır.

  1. 01

    Belgeyi paylaşın

    WhatsApp, e-posta veya yükleme formuyla iletin.

  2. 02

    Teklif ve süre

    İnceleme sonrası yazılı süre + ücret bilgisi.

  3. 03

    Tercüme ve onay

    Yeminli çeviri + gerekli noter/apostil takibi.

  4. 04

    Teslim

    Ofisten, kuryeyle veya dijital ön kopya.

01. Yazılım yerelleştirmesinde operasyonel olarak ne yapıyoruz?

Belge tercümesinden farklı bir iş yapıyoruz. Elimize bir PDF değil; içinde key–value çiftleri, placeholder'lar, çoğul kuralları ve teknik notlar olan kaynak dosyalar geliyor. Bu dosyaları parçalamadan, anahtarları bozmadan ve değişken alanları (`{name}`, `%s`, `%1$d`) yerinde tutarak hedef dile çeviriyoruz.

Çalışma genelde üç katmanda ilerler. Önce kaynak dosyaları ve mevcut terminolojiyi inceleriz; varsa eski çevirilerden bir bellek (TM) oluştururuz. Ardından çeviri ve editör revizyonu yapılır; UI bağlamı belirsiz kaldığı yerlerde ekran görüntüsü veya kısa açıklama isteriz. Son aşamada çeviri uygulamaya entegre edildikten sonra LQA testi yapılır: metnin butona sığıp sığmadığı, sayı–tarih biçiminin doğru olup olmadığı, RTL dillerde hizalama ve kültürel uyum kontrol edilir.

Kısacası iş, yalnızca metin değil; metnin yazılım içindeki davranışıdır.

02. Hangi dosya formatlarıyla çalışıyoruz?

Yazılım dünyasında “tek standart” yok; bu yüzden formatı sizin tarafınızda zorlamıyoruz. Dosyayı olduğu gibi alıp olduğu gibi geri veriyoruz.

Sık çalıştığımız formatlar:

  • Web ve genel: JSON, YAML, XLIFF 1.2/2.0, gettext (.po/.pot), CSV, XML
  • Mobil: Android `strings.xml` (çoğul ve `plurals` dahil), iOS `Localizable.strings` ve `.stringsdict`, Apple `.xliff` export
  • Masaüstü/oyun: `.resx`, `.properties`, Unity `LocalizationTable`, Unreal `.po`
  • E-ticaret ve CMS: Shopify locale JSON, WordPress `.po`/`.mo`, Magento CSV, Sanity/Strapi export
  • Belge tipi yardımcı içerik: Markdown, HTML, sürüm notları, App Store / Play Store metadata

Gerekirse repo erişimiyle (GitHub/GitLab) PR tabanlı çalışırız; tercih ederseniz dosyaları paylaşılan klasör üzerinden alıp veririz. Placeholder formatları, ICU MessageFormat ve HTML etiketleri çeviri sırasında korunur, çıktı dosyası geliştirici tarafında ek temizlik gerektirmeyecek şekilde teslim edilir.

03. TMS, terminoloji ve çeviri belleği

Bir yazılım projesi uzun ömürlüdür; aynı kelimeyi her sürümde farklı çevirmek hem kullanıcı deneyimini hem de bakım maliyetini bozar. Bu yüzden her projede iki yapı kurarız: bir terminoloji listesi (glossary) ve bir çeviri belleği (TM).

Glossary, ürününüzün marka ve teknik sözlüğüdür. Örneğin “Dashboard” bazı ürünlerde “Pano”, bazılarında “Kontrol Paneli”, bazılarında olduğu gibi bırakılır; bu kararı baştan veririz, sürüm boyunca tutarız. TM ise daha önce çevrilmiş cümleleri saklar; küçük bir kelime değiştiğinde tüm cümleyi yeniden çevirmek gerekmez, yalnızca fark ücretlendirilir.

TMS tarafında esnek çalışıyoruz. Crowdin, Lokalise, Phrase, Smartling veya Weblate kullanıyorsanız oradan devam ederiz; bir aracınız yoksa bizim sistemimiz üzerinden ilerleriz. Tercih, geliştirici ekibinizin alışkanlığına göre belirlenir — biz projeyi sizin akışınıza taşırız, tersini değil.

04. In-context review ve LQA testi

Yazılımda çevirinin “doğru” olması yetmez; arayüzde doğru görünmesi gerekir. Bu yüzden iki aşamalı bir kalite katmanı uygularız.

In-context review çeviri aşamasında olur. Ekran görüntüsü, Figma bağlantısı veya staging URL'i paylaşırsanız çevirmen metni bağlamı görerek seçer. “Save” butonu için “Kaydet” mi “Kaydı Oluştur” mu uygun, bunu boş bir tabloda değil, gerçek ekranda kararlaştırırız.

LQA (Linguistic Quality Assurance) ise çeviri uygulamaya entegre edildikten sonra gelir. Test cihazında ya da staging ortamında menüleri, hata mesajlarını, e-posta şablonlarını ve onboarding akışını gezerek şunlara bakarız: metin butona sığıyor mu, satır taşması var mı, çoğul kuralları doğru tetikleniyor mu, tarih ve para birimi biçimi yerel beklentiyi karşılıyor mu, sağdan sola dillerde (Arapça, İbranice) hizalama bozulmuş mu. Bulgular bir LQA raporuyla, hata tipine göre sınıflandırılmış olarak teslim edilir.

05. Ücretlendirme nasıl çalışıyor?

Yazılım yerelleştirmesinde tek bir fiyat birimi yok; çünkü iş, yalnızca metinden ibaret değil. Genelde üç kalemi ayrı ayrı konuşuruz.

Çeviri, kaynak kelime üzerinden hesaplanır; TM eşleşme oranı (100% match, fuzzy, no-match) fiyatı doğrudan etkiler. Daha önce çevrilmiş cümlelerin tam eşleşmeleri sıfıra yakın ücretlendirilir, bu yüzden TM'i baştan kurmak orta vadede tasarruf yaratır.

Mühendislik ve LQA saatlik çalışır: dosya hazırlığı, format dönüşümü, placeholder denetimi, test cihazında LQA turu bu kalemde yer alır. Küçük projelerde tek bir paket fiyatına gömülür, büyük projelerde ayrı raporlanır.

Proje yönetimi ise aylık paket veya sürekli akış modellerinde sabit bir yönetim ücreti olarak girer; tek seferlik küçük işlerde ayrıca yansıtılmaz. Pilot bir dil ve sınırlı bir kapsamla başlamak, ücret yapısını gerçek veriyle oturtmanın en sağlıklı yoludur — bu nedenle çoğu projede ilk turu bilinçli olarak küçük tutarız.

06. Hangi dillerde ve pazarlarda çalışıyoruz?

Yazılım projelerinde en yoğun çalıştığımız diller İngilizce, Almanca, Fransızca, Arapça, Rusça, İspanyolca ve İtalyanca. Bunların yanında Hollandaca, Lehçe, Çekçe, Romence, Bulgarca, Ukraynaca ve Yunanca'da düzenli proje yürütüyoruz; uzak Asya tarafında Çince (Basitleştirilmiş), Japonca ve Korece için sektörel deneyim mevcut.

Dil seçimi sadece çevirmen bulmakla ilgili değil; pazar bilgisi de gerekiyor. Almanya için kullanılan Almanca ile Avusturya için kullanılan Almanca arasında küçük ama gerçek farklar var; Latin Amerika İspanyolcası ile İberya İspanyolcası ayrı locale gibi davranılmalı. Arapça veya İbranice eklendiğinde RTL desteğinin uygulama tarafında hazır olup olmadığını birlikte kontrol ederiz; çince ve japonca için satır yüksekliği ve font seçimi de UX'in parçası olur.

Hangi pazarı hedeflediğinizi paylaşırsanız, hangi locale kodunu (`de-DE` vs `de-AT`, `es-ES` vs `es-MX`) seçeceğimizi ve hangi bölgesel uyarlamaların gerekeceğini birlikte belirleriz.

SSS

Bu hizmet için sık sorulanlar

Sürekli güncellenen içerik için anlaşma yapıyor musunuz?

Evet, aktif geliştirme aşamasındaki ürünlerin çoğunda aylık paket veya sürekli akış modeliyle çalışıyoruz. Aylık modelde belirli bir kelime/token kapasitesi ay başında ayrılır, sprint çıktıları toplu işlenir. Sürekli modelde TMS veya webhook üzerinden yeni stringler bize otomatik düşer, 24–72 saat içinde geri yazılır. Sürüm temponuzu, ortalama haftalık string hacmini ve hangi dillerin sürekli aktif olacağını paylaşırsanız ikisinden hangisinin maliyet ve hız açısından uygun olduğunu birlikte değerlendiririz.

Sizin bir TMS aracınız var mı, yoksa biz kendi sistemimizi mi kullanmalıyız?

İkisi de olur. Crowdin, Lokalise, Phrase, Smartling veya Weblate gibi bir araç kullanıyorsanız ekibimizi oraya davet edersiniz, projeyi sizin akışınızda yürütürüz. Bir aracınız yoksa kendi sistemimiz üzerinden ilerleriz; çeviri belleği ve terminoloji bizde saklanır, ihtiyaç duyduğunuzda dışa aktarılır. Repo tabanlı çalışmak isterseniz GitHub/GitLab üzerinde PR akışı da kurulabilir. Karar, geliştirici ekibinizin alışkanlığına göre verilir; biz aracı zorlamıyoruz.

LQA ve in-context review dahil mi, yoksa ek hizmet mi?

In-context review, ekran görüntüsü veya staging erişimi sağlandığında çeviri sürecinin doğal parçasıdır; ayrı ücretlendirilmez. LQA — yani çeviri uygulamaya entegre edildikten sonra cihaz/staging üzerinde yapılan dilsel test — ayrı bir adım olarak planlanır ve genellikle saatlik raporlanır. Küçük projelerde tek paket fiyatına gömülebilir; büyük veya çok dilli projelerde ayrı bir LQA fazı önerilir, çünkü bulgular geliştirici tarafında düzeltme gerektirir ve bu döngünün ayrı yönetilmesi sağlıklıdır.

Placeholder'lar ve çoğul kuralları nasıl korunuyor?

Placeholder'lar (`{name}`, `%s`, `%1$d`, `{{count}}`) çeviri sırasında bozulmaz; çeviri ortamımız bu alanları kilit olarak görür ve hedef metinde eksik veya fazla olduğunda otomatik uyarır. Çoğul kuralları için Android `plurals`, iOS `.stringsdict` ve ICU MessageFormat doğrudan desteklenir; Türkçe ve İngilizce gibi farklı çoğul mantığına sahip dillerde gerekli `one/other/few/many` varyantları hedef dilin kuralına göre yazılır. Teslim öncesi placeholder ve plural bütünlüğü programatik olarak doğrulanır.

Pilot bir dil ile başlayıp diğerlerine geçmek mümkün mü?

Çoğu projede önerdiğimiz yol budur. Tek bir dil — genelde İngilizce veya Almanca — ve sınırlı bir kapsamla (örneğin yalnızca onboarding ve ayarlar ekranı) başlanır. Bu turda terminoloji oturur, TM kurulur, LQA döngüsü test edilir ve ücret yapısı gerçek veriyle netleşir. Pilot tamamlandıktan sonra hem diğer dilleri hem de kalan ekranları aynı altyapıyla ölçeklemek hızlı olur, çünkü glossary ve TM artık projeye özgü davranışı öğrenmiş olur.

Elimde düzenli bir kaynak dosya yok, doğrudan koddan stringleri çekiyoruz. Yine de çalışabilir miyiz?

Evet. İlk turda küçük bir hazırlık fazı koyarız: koddaki stringleri uygun bir formata (genelde JSON veya gettext) dışa aktarmanız için kısa bir teknik döküman paylaşırız, gerekirse repo üzerinde örnek bir extraction script'i öneririz. Tek seferlik bu hazırlık, sonraki tüm sürümleri çok daha sade hale getirir; çünkü artık çeviri, koddan ayrılmış bir kaynak dosya üzerinden yürür. Mevcut yapınız tamamen hardcoded ise önce hangi alanları dışa çıkaracağımıza birlikte karar veririz.

Belgenizi gönderin, süreci planlayalım

Form, WhatsApp veya telefon — size en uygun olanla ulaşın.