Ozzy

Admin
Yönetici
UETR
29 Kas 2015
620
321
63
(34) İstanbul Anadolu
Merhaba Arkadaşlar bugün sizler için bir video hazırladım. 2 video şeklinde atıcam çünkü hem internet hızım hem de vaktimin az olmasından dolayı 1-2 gün içinde diğer video da gelecektir meraklanmayın.Grip olduğumdan dolayı sesim kötü çıkabilir kusura bakmayın.Localization olayını anlattım işinize yarar umarım.
Bu içeriği görmek için üçüncü parti çerezlerine izin vermeniz gerekli.
Daha fazla detay için çerezler sayfasını ziyaret edin.
 
Ozzy' Alıntı:
Merhaba Arkadaşlar bugün sizler için bir video hazırladım. 2 video şeklinde atıcam çünkü hem internet hızım hem de vaktimin az olmasından dolayı 1-2 gün içinde diğer video da gelecektir meraklanmayın.Grip olduğumdan dolayı sesim kötü çıkabilir kusura bakmayın.Localization olayını anlattım işinize yarar umarım.
Bu içeriği görmek için üçüncü parti çerezlerine izin vermeniz gerekli.
Daha fazla detay için çerezler sayfasını ziyaret edin.

En çok ihtiyacım olan derslerden biri şuan çok teşekkür ederim :)
 
Ozzy' Alıntı:
Merhaba Arkadaşlar bugün sizler için bir video hazırladım. 2 video şeklinde atıcam çünkü hem internet hızım hem de vaktimin az olmasından dolayı 1-2 gün içinde diğer video da gelecektir meraklanmayın.Grip olduğumdan dolayı sesim kötü çıkabilir kusura bakmayın.Localization olayını anlattım işinize yarar umarım.
Bu içeriği görmek için üçüncü parti çerezlerine izin vermeniz gerekli.
Daha fazla detay için çerezler sayfasını ziyaret edin.

Emeğine sağlık. Ancak benim değinmek ve sormak istediğim bazı şeyler var.

Localization bulunmasaydı ve karmaşık tekstler içeren oyun yapmıyor, basitçe menü gibi az miktardaki kelimeleri çeviriyor olsaydık, iş gören bir yöntem. Ancak ne var ki uygulaman "Localization" kullanmıyor. Tamamen kendi ürettiğin bir yöntem olmuş. Bunu sen de belirtmişsin zaten. Yine de söyleyelim. Bunun yerine hiçbir eklenti kullanmadan UE4 üzerindeki Localization sistemi kullanabilirsiniz. Sistem ise, tasarım sırasında çevrilebilir olarak işaretlediğiniz her teksti, çevirisi ile beraber bir yerelleştirme klasöründe saklar. Sistem dili(yada bölgesi) her değiştirildiğinde bütün çevrilebilir tekstleri hedef dile çevirir (bunun için JSON yada binary kaynağı oluşturmalısınız). Böylece çevrilebilir kelime her kullanılışında tek tek çevrilmez.

Diğer taraftan tasarım açısından önemli bir problem var. Çevirisi yapılacak her kelime "DataTable" içerisinde aranacak ve dil bir switch-case yapılacak. Bu, böyle bir tasarımla her çeviri anında yapılmak zorunda. Elbette part2 yi görmedik henüz ancak tasarımın öyle devam ettiği açık. UE4de yer alan Localization sistemi gibi çevriyi, bölge değiştirildiğinde bütün olarak yapmak çok daha mantıklıdır. Bir de bu sistemde  açıkça dil sınırımız var. Yeni bir dil eklemek için oluşturulan yapılara yeni bir alan daha ekleyip, çeviri yapıp, cook edilmiş içeriği patch etmek / güncelleme ile vermek gerekecek.

Çok önemli olmasa da sırf merakımdan da birkaç sorum ve önerim var. Enum örneği oluştururken "enum..." demeni anlıyorum ama neden struct oluştururken "F", üstelik "fonksiyonun f'i"? Bir de fonksiyonlar isimlendirilirken, iş yaptıkları için buna uygun bir isim vermek, kafa karıştırmayı engeller. Örneğin fonksiyona Localizer(yerelleştirici?) demek yerine Localize(yerelleştir) yada Translate(çevir) demek daha uygun, "Localizer" ismini BPnin kendisine vermek daha uygun. Tabiki bu takım çalışması yapılmıyorsa bir önemi yok ama başkaları da işin içindeyken standartları takip etmek yararlıdır.
 
cahitburak' Alıntı:
Ozzy' Alıntı:
Merhaba Arkadaşlar bugün sizler için bir video hazırladım. 2 video şeklinde atıcam çünkü hem internet hızım hem de vaktimin az olmasından dolayı 1-2 gün içinde diğer video da gelecektir meraklanmayın.Grip olduğumdan dolayı sesim kötü çıkabilir kusura bakmayın.Localization olayını anlattım işinize yarar umarım.
Bu içeriği görmek için üçüncü parti çerezlerine izin vermeniz gerekli.
Daha fazla detay için çerezler sayfasını ziyaret edin.

Emeğine sağlık. Ancak benim değinmek ve sormak istediğim bazı şeyler var.

Localization bulunmasaydı ve karmaşık tekstler içeren oyun yapmıyor, basitçe menü gibi az miktardaki kelimeleri çeviriyor olsaydık, iş gören bir yöntem. Ancak ne var ki uygulaman "Localization" kullanmıyor. Tamamen kendi ürettiğin bir yöntem olmuş. Bunu sen de belirtmişsin zaten. Yine de söyleyelim. Bunun yerine hiçbir eklenti kullanmadan UE4 üzerindeki Localization sistemi kullanabilirsiniz. Sistem ise, tasarım sırasında çevrilebilir olarak işaretlediğiniz her teksti, çevirisi ile beraber bir yerelleştirme klasöründe saklar. Sistem dili(yada bölgesi) her değiştirildiğinde bütün çevrilebilir tekstleri hedef dile çevirir (bunun için JSON yada binary kaynağı oluşturmalısınız). Böylece çevrilebilir kelime her kullanılışında tek tek çevrilmez.

Diğer taraftan tasarım açısından önemli bir problem var. Çevirisi yapılacak her kelime "DataTable" içerisinde aranacak ve dil bir switch-case yapılacak. Bu, böyle bir tasarımla her çeviri anında yapılmak zorunda. Elbette part2 yi görmedik henüz ancak tasarımın öyle devam ettiği açık. UE4de yer alan Localization sistemi gibi çevriyi, bölge değiştirildiğinde bütün olarak yapmak çok daha mantıklıdır. Bir de bu sistemde  açıkça dil sınırımız var. Yeni bir dil eklemek için oluşturulan yapılara yeni bir alan daha ekleyip, çeviri yapıp, cook edilmiş içeriği patch etmek / güncelleme ile vermek gerekecek.

Çok önemli olmasa da sırf merakımdan da birkaç sorum ve önerim var. Enum örneği oluştururken "enum..." demeni anlıyorum ama neden struct oluştururken "F", üstelik "fonksiyonun f'i"? Bir de fonksiyonlar isimlendirilirken, iş yaptıkları için buna uygun bir isim vermek, kafa karıştırmayı engeller. Örneğin fonksiyona Localizer(yerelleştirici?) demek yerine Localize(yerelleştir) yada Translate(çevir) demek daha uygun, "Localizer" ismini BPnin kendisine vermek daha uygun. Tabiki bu takım çalışması yapılmıyorsa bir önemi yok ama başkaları da işin içindeyken standartları takip etmek yararlıdır.
Öncelikle çok teşekkür ederim bende yorumunuz için. Anlayan birinin sizin gibi birinin yorum atması çok önemli.
Bende orda belirttim bu yöntem karmaşık olmayan basit kelimeleri çeviren az kelimeler içeren bir yöntem de kullanılabilir dedim.Google Translate tool kit yada ULocalizer tool kit kullanılabilir dedim karmaşık diyaloglar içeren hikayeye dayanan oyunlarda kullanılabilir bu tool kitler dedim ama dediniz gibi UE4 localization sistemindeki gibi olucak hatta onu kullanıcam nasıl kullanılması gerektiğini ve bir kaç püf nokta göstereceğim.Json'a çevirilcek ama Datatable'a çeviricek onun içine işleyecek fontla yazılan bütün kelimeler çevirileri ile beraber. 2.Part da Kodlama kısmını programlama kısmını çekiceğim için orada göstericektim ve anlatıcaktım jsonu Localization Manager actorünü ve localizer fonskiyonunu onun için oluşturdum 
NrBpkN.png

Karmaşık olan sistemler de biraz basitten anlatmak istedim mantık anlaşılsın diye ama dediğiniz gibi sistem biraz yanlış gidiyor gibi görünmüş.Aynen dediniz gibi işleyecek UE4 localization sistemini kullanıcam ama kendime has katıcağım özelliklerde olacak o yüzden Localization manager actorünü oluşturdum.Benim amacım google translate tool kit yada ULocalizer tool kit kullanmadan bunlar gibi basit bir sistemle , uzun olmayan bir sistemle üst düzey bir çeviri yaptırıcam.   

Son paragrafa aynen katılıyorum. Structlar yapı içerdiği için ben ekibimle çalışırken F kullanıyorum öyle kalmış alışkanlık olmuş :Dfonksiyonel yapıda oldukları için "F" diye kodlamışım :D Localizer dememin amacı çünkü o fonksiyon çalışan ve işin nerdeyse tamamını bitiren olduğu için yani İngilizce de iş ve işi yapan ayrı olduğu için yani "Develop"(geliştirmek) ile "Developer"(Geliştirici) gibi  Localizer kullandım işi yapan o çünkü ama doğrudur diğer çekiceğim videolarda kesinlikle dikkate alacağım çok teşekkürler

alpery' Alıntı:
Ozzy' Alıntı:
Merhaba Arkadaşlar bugün sizler için bir video hazırladım. 2 video şeklinde atıcam çünkü hem internet hızım hem de vaktimin az olmasından dolayı 1-2 gün içinde diğer video da gelecektir meraklanmayın.Grip olduğumdan dolayı sesim kötü çıkabilir kusura bakmayın.Localization olayını anlattım işinize yarar umarım.
Bu içeriği görmek için üçüncü parti çerezlerine izin vermeniz gerekli.
Daha fazla detay için çerezler sayfasını ziyaret edin.

En çok ihtiyacım olan derslerden biri şuan çok teşekkür ederim :)
Rica ederim yardım edebildiysem ne mutlu. Part 2 daha kodlamatik bir yapıda olduğundan biraz karmaşık olabilir ama her kodu tek tek anlatacağım ve çok BP olmayacaktır basit ve güzel bir sistemle bitiricem inşallah.
 
Ozzy' Alıntı:
Öncelikle çok teşekkür ederim bende yorumunuz için. Anlayan birinin sizin gibi birinin yorum atması çok önemli.

Benim amacım google translate tool kit yada ULocalizer tool kit kullanmadan bunlar gibi basit bir sistemle , uzun olmayan bir sistemle üst düzey bir çeviri yaptırıcam.   

Son paragrafa aynen katılıyorum. Structlar yapı içerdiği için ben ekibimle çalışırken F kullanıyorum öyle kalmış alışkanlık olmuş :Dfonksiyonel yapıda oldukları için "F" diye kodlamışım :D Localizer dememin amacı çünkü o fonksiyon çalışan ve işin nerdeyse tamamını bitiren olduğu için yani İngilizce de iş ve işi yapan ayrı olduğu için yani "Develop"(geliştirmek) ile "Developer"(Geliştirici) gibi  Localizer kullandım işi yapan o çünkü ama doğrudur diğer çekiceğim videolarda kesinlikle dikkate alacağım çok teşekkürler.

Ben teşekkür ediyorum, düşüncelerimiz karşılıklı.

Aslında benim de söylemeye çalıştığım entegre sistem için de ULocalizer, Google Translate Toolkit yada başka bir 3. parti araç gerektirmemesi.

Buna takılmamın nedeni biraz da şuydu. C++da struct tanımı yaparken F kullanma zorunluluğu var ama BPde yok. C++ structları F ile tanımlandığında F siz gözükürler zaten. Muhtemelen oluşturduğun FLocalization isimli BP struct C++ tarafında FFLocalization olarak generate ediliyor. Nesne, fonksiyon ve değişken isimlendirmeleri ile ilgili genel geçer, gayrı resmi standartlara uymak iyidir ama dediğim gibi ufak bir tavsiye sadece.

Başarılar dilerim.
 
cahitburak' Alıntı:
Ozzy' Alıntı:
Öncelikle çok teşekkür ederim bende yorumunuz için. Anlayan birinin sizin gibi birinin yorum atması çok önemli.

Benim amacım google translate tool kit yada ULocalizer tool kit kullanmadan bunlar gibi basit bir sistemle , uzun olmayan bir sistemle üst düzey bir çeviri yaptırıcam.   

Son paragrafa aynen katılıyorum. Structlar yapı içerdiği için ben ekibimle çalışırken F kullanıyorum öyle kalmış alışkanlık olmuş :Dfonksiyonel yapıda oldukları için "F" diye kodlamışım :D Localizer dememin amacı çünkü o fonksiyon çalışan ve işin nerdeyse tamamını bitiren olduğu için yani İngilizce de iş ve işi yapan ayrı olduğu için yani "Develop"(geliştirmek) ile "Developer"(Geliştirici) gibi  Localizer kullandım işi yapan o çünkü ama doğrudur diğer çekiceğim videolarda kesinlikle dikkate alacağım çok teşekkürler.

Ben teşekkür ediyorum, düşüncelerimiz karşılıklı.

Aslında benim de söylemeye çalıştığım entegre sistem için de ULocalizer, Google Translate Toolkit yada başka bir 3. parti araç gerektirmemesi.

Buna takılmamın nedeni biraz da şuydu. C++da struct tanımı yaparken F kullanma zorunluluğu var ama BPde yok. C++ structları F ile tanımlandığında F siz gözükürler zaten. Muhtemelen oluşturduğun FLocalization isimli BP struct C++ tarafında FFLocalization olarak generate ediliyor. Nesne, fonksiyon ve değişken isimlendirmeleri ile ilgili genel geçer, gayrı resmi standartlara uymak iyidir ama dediğim gibi ufak bir tavsiye sadece.

Başarılar dilerim.
Teşekkür ederim uyacağım haklısınız.Bende isterlerse kullanırlar unreal engine 4 verdiklerini beğenmesseler diye örnek verdiğim dediğim gibi json'a çeviricek 2.partta. Giidişat biraz yanıltmış basitten aldığım için
 
Aradığım şeydi tamda. Video için Teşekkürler ^^ Peki uzun birkaç cümledede kullanabilirmiyiz bunu hikaye için? Koyacağım 100 200 cümle birşey için o tarz eklentiler yerine bunu kullanmak istesem?