YerelleştirmeUluslararasılaştırmaYapay zekâ çevirisiMühendislik

Üç günde on dil: Bir yapay zeka çeviri ürününü yerelleştirirken tutulan saha notları

Transept’i; bağlam, terminoloji kararları ve insan denetimli son düzenleme süreçlerini harmanlayarak —yani makine çevirisini tam da kullanıcılarımıza önerdiğimiz şekilde kullanarak— sadece bir uzun hafta sonunda Almanca, Ukraynaca, Çince, Portekizce, Fransızca, İspanyolca, Çekçe, İtalyanca, Lehçe ve Türkçeye yerelleştirdik. Çoğul kurallarından üslup geçişlerine, tipografik değişimlerden hreflang derslerine kadar bu süreçte edindiğimiz tüm dersleri burada bir araya getirdik.

Mariia Ivakhnenko
Mariia Ivakhnenko17 dakikalık okuma
Üç günde on dil: Bir yapay zeka çeviri ürününü yerelleştirirken tutulan saha notları
Bu sayfada

Temmuz başındaki bir Cuma sabahından Pazar akşamına kadar geçen sürede Transept, yalnızca İngilizce hizmet veren bir ürünken on bir dil konuşan bir platforma dönüştü. Önce Almanca, Ukraynaca ve Çince sürümleri yayına girdi, hemen ardından Brezilya Portekizcesi geldi; Fransızca, İspanyolca, Çekçe, İtalyanca ve Lehçe ertesi gün listeye eklendi; Pazar günü ise Türkçe ile süreç tamamlandı.

Biz bir yapay zeka çeviri aracı geliştiriyoruz. Sadece İngilizceyle sınırlı kalmak, kendi vaadimize inanmadığımızı sessizce itiraf etmek olurdu. Bu yüzden biz de kullanıcılarımıza tavsiye ettiğimiz yolu izledik: Hız ve kapsam için makine çevirisini, kritik kararlar için insan muhakemesini kullandık ve her kararı hafızaya kaydederek aynı şeyin üzerinden iki kez geçme zahmetinden kurtulduk.

Her dil; uygulama içindeki yaklaşık 3.300 dizgi, pazarlama sitesi ve yardım merkezindeki bir 3.000 metin daha, altı yasal sayfa ve ürünün gönderdiği tüm e-postalar demekti. Bu yazı, sürecin saha notlarını içeriyor: bizi şaşırtan noktalar, düştüğümüz tuzaklar ve son anda fark edip kurtulduğumuz birkaç aksilik... Eğer bir ürünü yerelleştirmek üzereyseniz veya geçiminizi çevirmenlikten kazanıyor ve yazılım yerelleştirmesinin "mutfağında" işlerin nasıl yürüdüğünü merak ediyorsanız, bu yazı tam size göre.

Neden sadece Google Çeviri kullanıp geçmedik?

Akla gelen ilk soru bu. Makine çevirisi ucuz ve anında sonuç veriyor; dünyadaki tüm metin tablolarını tek bir öğleden sonra API'ye boca edebilirsiniz. Peki, neden öyle yapmadık?

Çünkü buna benzer bir yöntem denedik ve hatayı kullanıcılarımızdan önce fark ettik. Pazarlama sayfalarındaki ilk denememizde, çoğu yerelleştirme sürecinde yapıldığı gibi metinlere birbirinden kopuk hücrelerden oluşan bir tablo muamelesi yaptık; her satırı bağlamdan yoksun, sadece uzunluklarına göre gruplayarak çevirdik. Sonuç dilbilgisi açısından doğru ve kulağa mantıklı geliyordu ama ruhsuzdu. Bir başlık ve onu tamamlayan yan cümle, birbirinden tamamen habersiz iki farklı API çağrısıyla çevrilmişti. SSS bölümündeki bir yanıt, hangi soruya cevap verdiğini bilmiyordu. Karşılaştırma tablosundaki sütunlar, birbirlerinin varlığından haberdar olmadıkları için anlamca birbirinden kopmuştu. Öte yandan, her metnin bir bağlam notuyla hazırlandığı uygulama içi arayüz, her dilde çok daha akıcıydı. Aynı model, aynı gün, aynı iş akışı... Aradaki fark bağlamdı.

Bu durum bizim için temel kural haline geldi: Model, metinleri karman çorman parçalar halinde değil, anlamlı bir bütün olarak görecek; her metin dizisine nerede göründüğüne ve kullanıcının o an ne yaptığına dair bir not eşlik edecekti. "Kaydet butonu" bir bağlam notu değildir. "Her form gönderiminde kullanılan genel kaydet butonu etiketi; kullanıcı bir değeri düzenledi ve şimdi onaylıyor" ise gerçek bir bağlam notudur. Bu notlar, uygulamayı daha önce hiç açmamış bir çevirmen için yazılır. Bu çevirmenin bir insan mı yoksa bir model mi olduğu hiç fark etmez: Bağlam yoksa her ikisi de ortaya "çöp" çıkarır; bağlam varsa her ikisi de şaşırtıcı derecede iyi sonuç verir.

Çeviri kalitesi, çevirmenden ziyade bağlamın bir yansımasıdır. Aktif olarak çalışan her çevirmen size bunu söyleyecektir. Çevirmen bir makine olduğunda da durumun hiç değişmediği anlaşıldı. Bu aslında işimize geliyor; çünkü bir makineye daha fazla bağlam sunmak, onu azarlayıp durmaktan çok daha verimli bir yöntem.

Uyguladığımız iş akışının sektördeki adı MTPE, yani makine çevirisi sonrası düzeltmedir. Makine her şeyin üzerinden ilk turda geçer; güvenin kritik olduğu yerlerde ise insanlar inceleme yapar. Ancak MTPE sadece şu sıralamayla işler: İnsan karar verir, makine uygular, insan doğrular. Önce kararlar gelir. Bu da beni Almanca konusuna getiriyor.

du mu Sie mi: Üslup bir ürün kararıdır

Almanca ilk dilimizdi ve yayına girdikten sadece birkaç saat sonra bize ilk dersimizi verdi.

Almancada "sen" ve "siz" hitabı için iki seçenek vardır: samimi olan du ve resmi olan Sie. Yayına du ile başladık: arkadaş canlısı, startup havasında, telefonunuzdaki uygulamaların yarısının kullandığı o üslupla. Sonra asıl kitlemize (profesyonel çevirmenler, ajanslar, hukuk ekipleri) baktık ve aynı gün tüm ürünü Sie kullanımına geçirdik.

Aldığımız ders, bir üslup değişikliğinin aslında neye mal olduğuydu: Her şeyin en baştan, yepyeni bir şekilde çevrilmesi. Zamir seçimi; fiil çekimlerini, emir kiplerini, iyelik eklerini, hatta büyük harf kullanımını bile zincirleme bir şekilde etkiliyor. Eğer bunu metin metin yamamaya kalkarsanız, her yerde yarım yamalak kalıntılarla karşılaşırsınız: Ortasında bir du fiili saklanan bir Sie cümlesi gibi. Tüm külliyatı sıfırdan tekrar çevirdik ve geçişin başarılı olduğunu kanıtlamak için sonrasında ele veren du/dein/dich köklerini taradık.

The German homepage of Transept: "Wo jede Entscheidung zur Erinnerung wird"

*Almanca ana sayfa. *"Her kararın hafızaya dönüştüğü yer" şeklindeki marka sloganı, meğer yerelleştirmenin bizzat kendisine dair temel bir önerme niteliğindeymiş.

O günden beri üslup, tek bir metin dahi çevrilmeden önce her yeni dil için netleştirdiğimiz ilk konu haline geldi; çünkü bu seçim tam altı bin metnin dokusuna işliyor. İspanyolca; Almancadaki Sie ve Fransızcadaki vous ile tutarlı olması için Latin Amerika yerine Avrupa İspanyolcası ve resmi usted formuyla kurgulandı. İtalyancada resmi Lei tercih edildi. Lehçe mi? Lehçe, başlı başına bir bölümü hak ediyor.

Kimsenin sizi uyarmadığı çoğul kuralları

İngilizce yazılımları yerelleştiren her ekip aynı tuzağa düşer: İngilizcedeki çoğul yapısı o kadar basittir ki metin dizisi formatınızda muhtemelen sadece iki seçenek bulunur: tekil ve çoğul. Almanca da aynı şekilde işlediği için bu durum sizi iyice rehavete sokar. Derken bir Slav dili eklersiniz ve kullanıcı arayüzünüzün koca bölümleri sessizce İngilizceye geri döner.

Ana dilim olan ve dolayısıyla hata yapmak için en az bahanemin bulunduğu Ukraynacada dört farklı çoğul kategorisi var. Bir belge. İki, üç, dört belge için farklı bir form. Beşten yirmiye kadar olanlar için üçüncü bir form. Kesirli sayılar içinse dördüncü bir form. Metin tablomuz yalnızca İngilizceye göre kurgulanmış iki seçeneği barındırdığı için 2, 3, 4, 5, 11, 22 gibi (yani kullanıcının aslında gördüğü sayıların çoğunluğunda) uygulama İngilizceye dönüyordu. Yaklaşık seksen metin dizisi (krediler, belgeler, üyeler, dosyalar); her biri Ukraynaca bir cümlenin tam ortasında sırıtan bariz bir dikiş izi gibiydi.

Engineering notes from the Ukrainian build-out, describing how counts of 2, 3, 4, 5, 11, 22 fell through to English before the plural forms were filled in

*Hatayı fark ettiğimiz güne ait geliştirme notu. "*İngilizceye düşüyor — çok bariz bir hata" ifadesi, mühendislerin durumu ne kadar yumuşatarak ifade ettiğinin bir göstergesi.

Çözüm kavramsal olarak basit (sadece İngilizcedeki o iki formu değil, dilin gramerinde tanımlanan her bir çoğul formu sağlamak); ancak bu formların aslında neler olduğuna dair yaptığımız inceleme, tüm projedeki en sevdiğim ilginç bilgiler derlemesi haline geldi:

DilÇoğul kategorileriSürpriz
Almanca2Hiç yok. Tuzak da burada: Size dünyada sadece iki kategori varmış gibi öğretiyor.
Ukraynaca421 sayısı tekil form alır: «21 крок».
Çekçe4Dördüncü form sadece ondalık sayılar içindir; arayüzünüzde asla karşınıza çıkmayacak hayalet bir kategoridir.
Lehçe4Çekçe ile aynı dört kategoriye sahip olsa da dağılımı tamamen farklı. 21 sayısı çoğul formdadır: „21 kroków”.
Fransızca3Sıfır tekildir. Üçüncü form ise sadece tam milyonlarda devreye girer.
İspanyolca3Sıfır çoğuldur; Fransızcanın tam aksine.
Türkçe2İsimler herhangi bir sayıdan sonra tekil kalır: "5 belge", asla "5 belgeler" değil.
Çince1Her şey için tek bir form. Bu tablodaki en kolay dil.

Bunlardan ikisi daha yakından incelenmeyi hak ediyor.

Lehçe, Çekçe değildir. Bunlar kardeş Batı Slav dilleri; bu yüzden Lehçenin Çekçe kalıbını izleyeceğini varsaymıştık. Ama öyle değil: Soyağacına rağmen Lehçenin çoğul dağılımı, Doğu Slav kuzeni olan Ukraynacayla örtüşüyor. Yirmi bir adım, Lehçede „21 kroków” ama Ukraynacada «21 крок»: Neredeyse her konuda uyuşan bu iki dilden birinde çoğul, diğerinde tekil. Bu ders genellenebilir: Dil bilgisine bakın, soyağacına asla. Dilsel akrabalık sadece bir ihtimalden ibarettir.

Fransızcanın sadece bir milyonda ortaya çıkan bir çoğul kuralı var. "Bir milyon civarı" değil; tamı tamına 1.000.000, 2.000.000 ve benzeri sayılarda. Diğer tüm sayılarda Fransızca, İngilizce gibi davranır. Artık bu durumu da destekliyoruz; umarım bir gün kelime bakiyesi tam bir milyon olan bir kullanıcı bunu fark eder.

Mühendisler için bu bölümden bir tuzak daha: Ukraynacanın dil kodu ua değil, uk'dir. ua ü**lke kodudur ve eğer onu kullanırsanız çoğul mekanizması hata vermez; İngiliz İngilizcesi kurallarına döner ve yukarıda bahsettiğimiz her şey tekrarlanır. Aynı ayrım Çekçe (cz değil cs) ve Danca (dk değil da) için de baş ağrıtır.

«Воркфлоу» mu yoksa «робочий процес» mi: Terminoloji bir kararlar bütünüdür

En zor sorunlar dil bilgisiyle ilgili değildi. Tek bir kelime üzerine çıkan küçük savaşlardı.

Workflow kelimesini ele alalım. Ukraynaca buna yerel bir kopya çeviri («робочий процес», tam karşılığıyla "çalışma süreci") sunar; sözlüğe baksanız karşınıza çıkacak olan da budur. Ancak gün boyu bu yazılımla yatıp kalkan çevirmenler «робочий процес» demezler; tıpkı İngilizcenin rendezvous kelimesini benimsemesi gibi, onlar da ödünç bir kelime olan «воркфлоу» derler. Uzun tartışmaların ardından ödünç kelimeyi kullanmaya karar verdik. Bu haliyle metin, sektörün gerçek konuşma dilini yansıtıyor.

Ya da kendi özellik adımız olan Memory'yi ele alalım. Almanca kuralımız gereği bazı terimleri İngilizce bırakıyoruz: Credits, Translation Memory. Alman bir profesyonel bunları, tıpkı Update veya Login kelimelerinde olduğu gibi, sektör terminolojisi olarak görür. Ancak Ukraynaca aynı "asla çevrilmeyecekler" listesini devraldığında, "Translation Memory" ifadesi Kiril cümlelerin ortasında İngilizce olarak öylece kaldı ve orada sanki birisi bunu çevirmeyi unutmuş gibi durdu. Kiril metnindeki Latin harfli bir kelime hemen göze çarpar. Daha da kötüsü, Ukraynaca bükümlü bir dildir: «Пам'ять» kelimesinin ismin hâllerine göre çekimlenmesi gerekir, ancak çevrilmemiş bir İngilizce isim buna direnir. Bunu «перекладацька пам'ять» olarak düzelttik ve asla çevrilmeyecekler listesinin her dil için ayrı verilmesi gereken bir karar olduğunu öğrendik. Çince ise aynı noktaya diğer uçtan parmak bastı: Orada her şey çevriliyor (Translation Memory için 翻译记忆库, sözlük için 术语库, iş akışı için 工作流) ve sadece ürün adlarının kendisi Latin alfabesinde kalıyor.

Tüm ürünümüz bu ders üzerine kurulu: Terminoloji, biriken bir gerekçeli kararlar bütünüdür. Sektörde öyle dendiği için bu kelime, marka olduğu için şu kelime İngilizce, yazı sistemi gerektirdiği için öteki kelime çevrilmiş. Kararı bir kez verir, gerekçesini kaydedersiniz ve gelecekteki her belge bu kararı devralır. Bir sözlüğün asıl neye hizmet ettiği budur; çeviri belleğini bir karar bağlamı olarak ele almamızın, onu sadece eşleşen cümleler yığını olarak görmememizin nedeni de budur.

Kardeş diller her konuda birbirine ters düşer

Çoğul ekleri dil bilgisi turuysa, tipografi de görgü kuralları turuydu; öğrendiğimiz en kesin ders ise komşu diller arasında hiçbir şeyin ortak olmadığıydı.

leri » ile çevreler" * Wait, the source text is: wraps quotations in « guillemets with inner spaces ». * I should translate "guillemets with inner spaces". * **"içinde boşluk olan tırnak işaretleri" is a bit long but accurate. * "boşluklu tırnak işaretleri"? No. * Let's check the spacing in the source again. * « guillemets with inner spaces » * The   is a non-breaking space. * I will use: « içinde boşluk olan tırnak işaretleri ». * Let's check the Spanish guillemets again. * «like this». * I will use: «bu şekilde». * One last check on "mandatory grammar". * "¿ ve ¡ dil bilgisinin zorunlu kurallarıdır." * Or: "¿ ve ¡ dil bilgisinin zorunlu birer parçasıdır." * "Zorunlu kurallarıdır" is fine. * Actually, let's look at the very first part: "French insists on a space before every colon, semicolon, exclamation and question mark". * "Fransızca; iki nokta üst üste

İtalyanca bize en ince ayrıntıyı sundu. Resmî İtalyancada nezaket zamirleri (Lei, Suo, Sua) büyük harfle başlar; bunun bir sebebi de resmî "siz" ifadesini, "o" (kadın) anlamına gelen küçük harfli lei kelimesinden ayırmaktır. Bu durum bizim için her zamankinden daha önemliydi; çünkü metinlerimizde bir yandan kullanıcıya Lei diye hitap ederken, hemen yanındaki cümlelerde tam bir lei olan Literess'ten bahsediyorduk. Tek bir büyük harf, anlam karmaşasını önleme yükünü tek başına sırtlanıyor . İtalyanca ayrıca buton kuralımızı da bozdu: Fransızca ve İspanyolca butonlarda mastar hâlini (Enregistrer, Guardar) kullanırken, İtalyanca yalın emir kipi (Salva, Accedi) kullanıyor. Bu durum kulağa gayriresmî gelse de aslında öyle değil; İtalyan yazılımlarının dili sadece böyle.

Lehçe, daha önceki dillerin hiçbirinde karşılaşmadığımız bir sorun çıkardı: Nezaket formu cinsiyete dayalı. Almanca Sie, Fransızca vous, İspanyolca usted: Tek bir form her kullanıcıya uyar. Lehçede ise nezaket, erkekler için Pan, kadınlar içinse Pani demek; hatta geçmiş zaman fiilleri bile hitap ettiğiniz kişinin cinsiyetine göre çekimleniyor. Kullanıcının cinsiyetini bilmiyoruz ve tahmin yürütmek de haddimiz değil; bu yüzden Lehçe ürünümüz, iyi tasarlanmış Lehçe yazılımların yaptığı gibi konuşuyor: Kişisiz yapılar ("Zapisano", kaydedildi), sıcak bir birinci çoğul şahıs şirket dili ("Zapraszamy", sizi bekliyoruz) ve yalnızca gerçekten kaçınılmaz olduğunda başvurulan cinsiyet belirten doğrudan hitaplar.

Son dilimiz olan Türkçe, başta kolay görünmüştü (cinsiyet ayrımı gözetmeyen resmî bir siz kullanımı ve dil bilgisel cinsiyetin hiç olmaması sayesinde) ama sonra faturayı bize yazım kurallarıyla kesti. Türkçede i harfinin büyüğü noktalı olan İ'dir; bu yüzden "iptal" (cancel) kelimesi büyük harfle "İptal" şeklinde yazılır; noktasız bir I ise farklı bir harftir ve bariz bir hatadır. Tüm Romen ve Slav dillerinde dil adları küçük harfle başlarken, Türkçede büyük harfle başlar ("Türkçe"). Ayrıca Türkçe eklemeli bir dil olduğu için, asla çevrilmeyecek marka adlarımız bile çekimleniyor: Durum ekleri kesme işaretiyle ekleniyor; böylece kullanıcılar "Pro'ya" yükseltme yapıyor veya "Transept'e" içe aktarıyor. Marka adının kendisi bile çekime giriyor. İşte bu, hiçbir i18n el kitabında yazmaz.

Dengeyi sağlamak adına Çince ise bir fizik dersi gibiydi: tam genişlikli noktalama işaretleri(,。!?), CJK karakterlerinin Latin alfabesiyle buluştuğu yerdeki incecik bir nefes payı ("使用 Transept 翻译") ve İngilizcenin yaklaşık yarı uzunluğunda kalan metinler. Sayfa düzeninizi şişirip bozan Almancanın ardından Çince metinler büzülür ve butonlarınızın gereğinden büyük görünmesine neden olur. Arayüzünüzün her iki duruma da göğüs gerebilmesi gerekir.

Kaçak yolcular: Çeviri sürecinden hiç geçmemiş metinler

Yerelleştirmenin kendine has bir hata türü vardır: Sisteme en başından hiç girmemiş olan metinler.

Çeviri kapsamımız derleyici tarafından denetleniyor: Herhangi bir dili eksik olan bir metin kelimenin tam anlamıyla derlenmiyor. Ancak bu denetim, yalnızca çevrilmeyi isteyen metinleri görebiliyor. Veritabanındaki ham bir değeri (owner, doğrudan enum'dan gelen) yansıtan bir rozet ise bunu asla istemedi. On bir dilin tamamında İngilizce kalarak tüm derlemelerden süzülüp geçti ve tek bir basit nedenden ötürü gözden kaçtı: Uygulama sadece İngilizceyken, kodun içine gömülmüş İngilizce bir tür kamuflajdır.

İlk Ukraynalı kullanıcı oturumunda owner etiketi yakayı ele verdi. Ardından paylaşım penceresindeki erişim seviyesi etiketleri, sonra da tüm yorum sütunu geldi; çeviri katmanıyla hiç tanışmamış yirmi beş kadar metin... Derken şurada bir ekran okuyucu etiketi, burada bir yer tutucu. Her yeni dil, kendinden önceki her şeyin denetimine dönüştü: Çevredeki metinler Ukraynacaya döndüğü an, her bir kaçak yolcu işaret fişeği gibi parlamaya başladı.

Bir dili yayına almak sadece bir çeviri işi değil, bir nüfus sayımıdır. İkinci bir dil gelip de her bir metni yoklamada "buradayım" demeye zorlayana kadar, hangi metinlerin gerçek, bulunabilir ve çevrilebilir olduğunu bilemezsiniz. Takviminize bu denetim aşamasını da ekleyin; çünkü derleyici, çevrilmeyi hiç talep etmemiş bir metne karşı sizi koruyamaz.

Literess Ukraynacada ukalalık yapmayı reddetti

Tüm projedeki en sevdiğim hata, aslında tam olarak bir hata sayılmaz. Sebebini hâlâ tam olarak açıklayamıyoruz.

Kurum içi editör asistanımız Literess (onu kendi makalesinden tanıyor olabilirsiniz), kırk sekiz ruh halinden oluşan bir repertuvara sahip. Çalışırken avatarı da tepki veriyor: İfadesini, tıpkı kelimelerini seçtiği gibi, yanıtın bir parçası olarak seçiyor. Ve onun imzası olan bakış ukalalıktır: Gözünüzden kaçan bir hatayı yakaladığında yüzüne yerleşen o küçük, kendinden memnun sırıtış.

Bunu her dilde yapıyor. Almancada, Fransızcada, Çincede, Lehçede o "yazım hatanı yakaladım" ukalalığı hep var. Sonra onu Ukraynacaya geçirdik ve başka her yerde o sırıtışı kesinlikle ortaya çıkaran aynı senaryoları denedik ama o, bunu yapmadı. Aynı model, aynı istem, aynı kişilik, seçenekler arasındaki aynı kırk sekiz ruh hali... Ukraynacada ya mutlu kalıyor ya da en fazla ciddi bir tavır takınıyor. Ukraynacada ukalalık yapmayı resmen reddediyor.

En iyi teorimiz, tam da bir çevirmenin öne süreceği türden. İngilizcede smug kelimesi sevecen bir anlam taşıyabilir: Yazım hatanızı yakalayan çizgi karakter bir asistana yönelik olduğunda, bu neredeyse bir iltifattır. Ukraynacada ise böyle bir kelime yok: En yakın karşılığı olan «самовдоволена», sadece bir hakarettir. Yavan, sevimsiz bir kendini beğenmişlik; ne bir muziplik ne de bir cazibe barındırır. Ve U**kraynaca düşünen bir model, bunu biliyor gibi görünüyor. Yanıtını, sevecen bir ukalalık kavramının bulunmadığı bir dilde kurgularken, buna bir duygu olarak da uzanmıyor. Kelime, kelime dağarcığında mevcut; ancak bu isteksizlik davranışlarında hayat buluyor.

Bunu hem komik hem de bir o kadar derinlikli buluyorum. Bu yazının tamamı metin dizileri (çoğullar, dil seviyeleri, noktalama işaretleri) hakkındaydı ve işte her metin dizisinin doğru olduğu ama ürünün yine de değiştiği bir durum. Dil, bir yapay zeka ürününün üzerine gerdiğiniz bir kılıf değildir; onu kuşanan modeli yönlendirir. Bir ajanı yerelleştirmek, etiketlerinin yanı sıra her dildeki kişiliğini de kontrol etmek demektir: Her dilde onun kim olduğuyla gidip tanışmanız gerekir.

(Şunu da not düşelim, etiketler de özen istiyordu: "Memnun" anlamındaki content ruh hali, bir satırlık çevirmen notu anlamı sabitleyene kadar Almancaya neredeyse isim hali olan content karşılığı "Inhalt" olarak geçecekti. Yerelleştirmede en ucuz kalite müdahalesi, hâlâ çevirmene bir metin dizisinin aslında ne olduğunu söyleyen o tek cümledir.)

İşin gösterişsiz kısmı: hreflang, site haritaları ve kendi kendinizle rekabet etmemek

Sayfaları kimse bulamadığı sürece yukarıdakilerin hiçbirinin bir anlamı yoktur; bu yüzden işte işin SEO tarafı, en özet haliyle.

Aynı sayfayı on bir dilde yayınladığınız an, Google varsayılan olarak birbirleriyle rekabet eden, birbirine çok yakın on bir kopya yayınladığınızı varsayar. Bunu engelleyen mekanizma hreflang etiketidir ve bu etiket, her türlü derleyiciden daha acımasızdır:

  • Karşılıklı olmak zorundadır. İngilizce sayfa Almanca ikizini işaret etmeli ve Almanca sayfa da aynı setle geri işaret etmelidir; aksi takdirde Google tüm bu kurguyu görmezden gelir. Tek yönlü hreflang, hreflang sayılmaz.
  • **x-default**** asıl sürümünüzü işaret eder**: Dil seçeneklerinizin hiçbiriyle eşleşmeyen kullanıcılar için başvurulacak varsayılan seçenektir.
  • Var olmayan bir sayfayı asla etiketlemeyin. Bir sayfanın Ukraynaca sürümü henüz yayında değilse alternatif bir bağlantı almaz; 404 hatasına çıkan ucu açık bir hreflang, hiç olmamasından daha kötüdür. Kısmen çevrilmiş alanlarla karşılaşana kadar bu kulağa bariz gelse de, sonrasında ciddi bir takip işi gerektirir: Örneğin, dergi makalelerimiz tek tek çevriliyor; bu yüzden her makale yalnızca gerçekten var olduğu dilleri duyuruyor.
  • Site haritaları da aynı etiketleri taşır. Biz site haritalarımızı her dile özel site haritalarından oluşan bir dizin şeklinde yeniden yapılandırdık; bunun Search Console'da her dil için ayrı dizine eklenme istatistikleri sunmak gibi güzel bir yan etkisi oldu: Her dilin sayfalarının dizine girişini ayrı ayrı izleyebilir ve birinin geride kalıp kalmadığını anında görebilirsiniz.

Bunların hepsi işin tesisatı. Tesisat düzgün kurulmadığında yerelleştirme, kendi otoritenizi birbiriyle rekabet eden on bir kopya arasında bölüp parçalamaktan öteye gitmez. Kullanıcının dilini konuşmanın sağladığı tüm SEO avantajı, Google'ın bunların on bir ayrı sayfa değil, tek bir sayfa olduğunu anlamasına bağlıdır.

Makine çevirisine emanet etmeyi reddettiğimiz kısımlar

Yukarıda makine çevirisine dair sergilenen tüm o hevese rağmen, üç şey kasten bu iş akışının dışında tutuldu.

Bu makaleler. Derginin arayüzü (etiketler, yazar imzaları, navigasyon), diğer her şey gibi makine çevirisinden geçiyor. Makalelerin kendisi ise bizzat tarafımızdan, Transept içinde elle çevriliyor. Yazar imzası taşıyan uzun soluklu yazılar, makine çıktısının henüz yeterli gelmediği tam o noktadır; kendi denemelerimizi kendi editörümüzde çevirmek, bildiğimiz en dürüst ürün testi yöntemidir. Bu makalenin şu an Almanca veya Ukraynaca okuyor olabileceğiniz sürümü, satışını yaptığımız o editörün, sözlüğün ve inceleme iş akışının bizzat kendisinden geçti.

Yasal sayfalar. Makine çevirisi bunları (tüm şirket adları, adresler, tarihler ve madde numaraları sabitlenerek) taslak haline getiriyor; ancak Kullanım Şartları ve Gizlilik bağlayıcı belgelerdir ve her dil için bir avukat tarafından gözden geçirilir. Pazarlama metnindeki bir çeviri hatası üslup puanı kaybettirir; bir sözleşmedeki hata ise doğrudan maddi kayıp demektir.

Güven teşkil eden alanlarda son söz. Fiyatlandırma, faturalandırma, kimlik doğrulama, e-postalar: Bir dili tamamlanmış saymadan önce ana dili o dil olan biri bunları mutlaka okur. Bu, MTPE'nin tam da amaçlandığı gibi işlemesidir: Makine her kelimeyi yazar, böylece insanlar kısıtlı ve değerli dikkatlerini yalnızca risk taşıyan kelimelere ayırabilirler.

Bu üç kararın arkasında da aynı muhakeme yatıyor: Makine çevirisi bir ilk taslaktır ve bu ilk taslağın nerede yeterli olduğuna karar vermek, yerelleştirme becerisinin özüdür. Üç günde on dil, makinenin neyi yapmaması gerektiğini tam olarak bildiğimiz için mümkün oldu.

Her kararın belleğe dönüştüğü yer

Bu listeye tekrar bir bakın. Resmî veya samimi hitap şekli. «робочий процес» değil, «Воркфлоу». Almanlar için İngilizce Translation Memory, Ukraynalılar için «перекладацька пам'ять». Büyük harfle yazılan Lei, Lehçe'deki kişisiz yapı, Türkçe eklerden önceki kesme işareti, tam milyonlara özgü bir çoğul hali. Dokuz dilde sırıtan, onuncusunda ise bunu reddeden bir asistan.

Bunların neredeyse hiçbirini önceden bir yerlerde bulamazdınız; asıl önemli olan kısımlar ise kararlardır: Üzerinde tartışılıp uzlaşılan, ardından binlerce metin dizisinin ve gelecekteki her belgenin dayanağı haline gelen kararlar. Kararı kaybetmek, aynı tartışmanın bedelini bir kez daha ödemek demektir; arkasındaki nedeni belirtmeden sadece kararı saklamak ise bir sonrakinin konuyu nasılsa yeniden tartışmaya açmasıyla sonuçlanır.

Nihayetinde ürünümüzü bu şekilde inşa etmemizin nedeni de budur: karar bağlamı olarak çeviri belleği; hitap şekli ve terminolojinin hayat bulduğu yer olan sözlükler ve üslup rehberleri; ve tek işi alınan hiçbir kararın unutulmamasını sağlamak olan bir editör. Transept'i yerelleştirmek, bu felsefenin tamamını kendi ürünümüz üzerinde tam ölçekli olarak ilk kez uygulamamızdı. Araçlar bu sınavı geçti. Yukarıdaki dersler, sisteme geri dahil ettiğimiz derslerdir; çünkü on dil bir final değil, sadece bir provaydı.

Yazar

Mariia Ivakhnenko
Mariia IvakhnenkoKurucu ortak

Transept'in kurucu ortağı. İngiliz Dili ve Edebiyatı alanında üç derece – Kyiv, Ostrava ve Salzburg'da bir yıl – ve yazı hayatının büyük kısmını İngilizce sürdüren bir Ukraynalı. Yapay zekâ dünyasına prompt mühendisi olarak adım attı, ardından ürün ve yaşam döngüsü pazarlamasına yöneldi. Gerçek insanlar hakkında yarı kurgusal hikâyeler yazıyor ve diller arasında nelerin kaybolduğu sorusunun etrafında dönüp duruyor.