Bir oyun belli bir bölgede yayınlandıktan sonra, çoğu oyun geliştiricisi uluslararası ölçekte daha fazla oyuncunun ilgisini nasıl çekebileceği üzerine kafa yormaya başlar. Oyunu daha fazla ülkede tanıtmayı denedikten sonra iş, er ya da geç oyun yerelleştirme planları yapmaya gelir.
İşte bu nedenle, oyun geliştiricileri için yerelleştirme sürecini olabildiğince baş ağrıtmayan bir iş haline getirebilmek adına, tasarım sürecinin en başından itibaren uygulanabilecek bir takım kurallar içeren bu listeyi hazırladık.
1. Yerelleştirilme yapılacak dilleri önceden seçin
İşe girişmeden önce, potansiyeli yüksek olan dilleri öngörebilmenin en iyi yolu nedir peki?
- Rakip oyun yerelleştirmelerini incelemek. Genellikle rakip bir oyun belli bir pazarda başarılı oluyorsa, sizin oyununuzun da başarılı olma şansı yüksektir.
- Oyun yerelleştirmelerini türe göre değerlendirmek. Örneğin, retro tarzda roguelike bir oyun çıkarmayı düşünen bağımsız bir geliştiriciyseniz, bu türdeki oyunların olası hedef dillerde daha önce nasıl bir başarı sergilediğine bakmak iyi bir fikir olabilir.
- Oyun yerelleştirmesine en çok talep olan dilleri araştırmak.
Bununla birlikte, yerelleştirme planlarınız ne olursa olsun, “Kural #0” gelecek çevirileri kolaylaştırmak için kaynak dilini İngilizce yapmaktır. Oyunu geliştirirken daha ilk günden onu en az iki dilde çıkaracağınızı düşünmenizi öneririz.
Bu iki “varsayılan” dil muhtemelen ana diliniz ve İngilizce olmalıdır. Bu yaklaşımın birkaç reddedilemez avantajı vardır; birincisi, İngilizceyi kaynak olarak kullanırsanız oyununuzu daha sonra başka dillere rahatlıkla çevirebilirsiniz çünkü kaynak dildeki içerik, kaybolmadan ve daha tutarlı bir şekilde hedef dile aktarılır.
İkinci olarak ise, daha ilk günden iki dili birden elinizin altında bulundurmak, yerelleştirme hazırlığında karşılaşabileceğiniz tüm tuzaklara karşı size otomatik olarak rehberlik eder. Böylece metinleri 20 dile birden çevirirken kayda değer bir fark görürsünüz.
2. Arayüzü olası dillere göre ayarlayın
Arayüz öğelerini tasarlarken, başka diller için %30 oranında (hatta mümkünse daha fazla bile olabilir) ekstra boşluk planlamak genel olarak iyi bir fikir olabilir. Bu durum özellikle de kısa stringler (menü öğeleri, kullanıcı arayüzü, vb.) için geçerlidir.
Bununla birlikte, eğer Kural #1’i hesaba kattıysanız ve oyun çevirisi için olası dillerin ön bir listesini çıkardıysanız, işte sizin için kullanışlı bir seçenek daha; arayüzünü olası en zor dile göre ayarlayın.
Örneğin, metnin Almanca versiyonu, İngilizce versiyona göre ortalama %30 daha uzun olacaktır. Rusça versiyon ise yaklaşık %10 daha uzun olacaktır. Aynı şey genellikle Arapça versiyon için de geçerlidir. Diğer yandan, geleneksel Çince karakterler İngilizce metinlere göre genellikle %30 daha az yer kaplar.
Baytlardan bahsedecek olursak, bir Latin alfabe karakteri bir bayta eşitken, Kiril ve Arapça karakterler iki katı boyutta olacaktır; bu yüzden veri alanını planlarken bunlar da göz önünde bulundurulmalıdır.
3. Metin dizilerini kodun içine gömmeyin
Metni çeviriye uygun hale getirirken, bu sabit kodlanmış (hard-coded) diziler kaybolur. Tüm çevrilebilir stringler, kodun hiçbir parçasına dokunmadan düzenlenebilir halde olmalıdır.
4. Zaman, tarih, ölçü birimleri ve sayılar da yerelleştirilmelidir
Yerelleştirme yapılabilmesi için sayısal bilgiler de kodun içinden çıkarılabilir halde olmalıdır, bu yüzden onlarda da sabit kodlama yapmaktan kaçınılmalıdır.
Arayüzdeki sayıları da yeniden tasarlamaya hazır olmalısınız. Tarih formatlarının ve ölçü birimlerinin neredeyse her dilde farklı olmasından bahsetmiyoruz bile.
5. Kodu ulaşılabilir hale getirmek için yer tutucular ve formatörler kullanın
Söz konusu yerelleştirme, çeviri ya da metin düzenlemeden ibaret olduğunda; yer tutucu kullanmak bazen sabit kodlamaya güzel bir alternatif olarak görülebilir. Ancak yer tutuculara erişim sağlamazsanız bu durum iki tarafı da keskin bir bıçağa dönüşür.
Bu sorunun temelinde, farklı bir dillerde kelime ya da cümle sıralamasının tamamen farklı olması yatar. Bu yüzden bu konudaki tavsiyemiz, bağlam içine yerleştirilebilmeleri için yer tutucuları cümlenin bir parçası haline getirmektir. İşte oyun çevirisi açısından “iyi” ve “kötü” bir örnek:
Hayır: “Annem” + %num + “tane elma yedi”
Yes: “Annem %num tane elma yedi.”
Yer tutucular için küçük bir açıklama eklemek de çok faydalı olabilir. Böylece belirli bir yer tutucunun yanlışlıkla bir önceki metnin bir parçasıymış ya da ondan bağımsızmış gibi düşünülmesinin önüne geçilebilir.
6. Görsel içi metinlerden kaçının
Eğer oyununuzda görseller kullanacaksanız, onları da yerelleştirmeye hazır olun; özellikle de metin içeriyorlarsa. Bu da tüm görselin sıfırdan tasarlanması anlamına gelir.
Görselleri ve kreatif varlıkları yeniden tasarlamak bazen iyi bir fikir olabilir, böylece hedef bölgenin renk ve karakter standartlarını karşılayabilirsiniz. Ancak amaç yeniden tasarım yerine yalnızca çevrilmiş metni görsele yerleştirmekse, bu hem çok zaman hem de çaba gerektirecektir.
7. Doğru yazı tipleri ve şifreleme (encoding) kullanın
Eğer string sınıfıza uymayan, “ç,ş,é,ä” vb. gibi belirli bir dile özel karakterlere ihtiyacınız varsa şifreleme sorunları yaşamanız kaçınılmazdır. Eğer hedef dilde yerelleştirme yapıldıktan sonra bir şifreleme uyuşmazlığı varsa, ��� şeklinde beliren karakterleri düzeltmek baya bir zaman ve çaba gerektirir.
Aynı sorun yazı tipleri için de geçerlidir. Özellikle de oyunlarda kullanılan bazı ilginç yazı tipleri, her dile uygun özel karakterler içermez. Sonuç olarak farklı diller için farklı yazı tipleri seçmek gerekebilir. Biz, belirli bir yazı tipi seçerken bu hususu aklınızda bulundurmanızı öneririz; aksi halde alt yazı yerine (□□□) şeklinde kutular görme riskini almış olursunuz.
Bizim tavsiyemiz, mümkün olduğunca ASCII yerine Unicode kullanmanız. UTF-8, en yaygın ve boşluk açısından verimli şifrelemedir. Kısacası veri dosyalarınızın doğru bir şekilde şifrelendiğinden emin olun.
8. Yerelleştirmeye hazırsanız, önce deneme çevirisi yapın
Son olarak ise, bir deneme çevirisi yapın. İnternet üzerinde, arayüzünü sanki başka bir dile çevrilmiş gibi taklit eden çok sayıda harika “sözde-çeviri” aracı bulunuyor. Bu araçlara metin uzunluğunu uyarlamak, şifrelemeyi ve sabit kodlanmış dizileri kontrol etmek gibi işlevler de dahil.
Bu araçlar temelde hedef dili taklit eden bir programcık çalıştırır ve bir build oluşturur, ardından da yerelleştirilmemiş build ile aynı süreçten geçerek kalite değerlendirilmesi yapılır.
9. Terim sözlüğünüzü olabildiğince erken oluşturmaya başlayın
Terim sözlüğü, oyunun her aşamasında tutarlı kalması gereken terimleri ve kavramları içeren bir derlemedir. Genellikle obje, karakter, eser ve durum isimlerini içerir.
Terim sözlüğü ile oyunun her alanında tutarlılık sağlamak olmazsa olmazdır. Oyunda geçen belirli bir terimin, bir noktada “iksir”, bir noktada ise “ilaç” olarak çevrildiğini düşünün - bu durum oyuncular açısından kafa karıştırıcı olacaktır.
10. Bağlam bilgisi sağlamaya hazır olun
En az terim sözlüğü kadar önemli olan başka bir unsur varsa, o da yerelleştirme ekibine ihtiyaç duyabilecekleri bağlam bilgisini sağlamaktır. Bağlam bilgisi; çevirmenler, yerelleştirme proje yöneticileri ve oyun geliştiricileri arasında iletişim kanalları oluşturularak sağlanabilir.
Bu amaç için genellikle Crowdin’i öneririz, böylece ekipler arası iletişim olabildiğince pratik ve verimli bir şekilde kurulabilir.
Umarız bu basit ipuçları, oyun yerelleştirmesi aşamasında size yardımcı olur. Hem başarı hikayeleriniz hem de oyuncunuz bol olsun!