ROM - APK Nasıl Türkçeleştirilir?

'Android Anlatımlar' forumunda SmiLeToLiFe tarafından 3 Nisan 2015 tarihinde açılan konu

  1. SmiLeToLiFe

    SmiLeToLiFe Administrator
    Site Yetkilisi Administrator

    1.433
    1.283
    113
    Cihaz:
    Redmi Note 4 4/64
    ROM:
    Miui Global 9.5 | Stable 9.5.4.0 (NCFMIFA)
    Merhaba arkadaşlar,


    Uzun bir aradan sonra yeni bir anlatım yapalım. Birçok arkadaş sürekli soruyor APK ve ROM nasıl Türkçe'leştirilir. 

    Gerekli olanlar:

    - ApkTool

    - Java

    - NotePad++

    - Yeterli seviyede Android bilgisi

    - Sabır :emoji_slight_smile: 

    Öncelikle bu konuda apk nasıl decompile edilir vs anlatımlar yapmayacağım. Ufak bir aramayla yüzlere anlatıma ulaşabilirsiniz ;) 


    Genel Bilgiler:

    Tema portlama yönteminde anlattığım gibi bu işin de temel anlamda nasıl olduğunu anlatarak başlamak istiyorum.

    Bir rom türkçe veya diğer dilleri hangi kaynaktan alır?

    - Romun dil kaynağı Framework-res.apk dır. Framework-res.apk içinde dil dosyamız varsa bu dil Ayarlar/Dil ve Giriş/ .... listesinde gözükür. Eğer Framework-res.apk içinde dil dosyası yoksa o zaman dil seçeneklerinde gözükmez.

    Rom içinde yazan tüm Türkçe yazıların hepsi Framework-res.apk içindeki dil dosyasında mı?

    - Hayır, değil. Romda bulunan apk ların %90 ' nın içinde apk nın görevine göre dil dosyaları mevcuttur.

    İçinde dil dosyası olan her apk ya Türkçe dil dosyası eklememiz gerekir mi?

    - Evet, gerekir. Eğer eklemezseniz eklemediğiniz apk nın görevi her neyse orada karşınıza çıkan şeyler Türkçe olmayacaktır. Örneğin saat uygulamasını dil eklemeyip geri kalan her şeye dil ekleseniz de saat uygulaması İngilizce olarak kalacaktır :emoji_slight_smile: 

    Dil dosyalarının çalışma mantığı:

    Ana dil dosyamız Framework-res.apk içindedir. Genel olarak her romun temel dili İngilizcedir. Bu İngilizce dil dosyası Framework-res.apk nın içinde bulunan Values klasöründedir. Bu Values klasöründe string.xml vardır. İşte bu xml içinde İngilizce dil dosyasıdır. 

    Framework-res.apk da bulunan dil dosyaları ve isimleri aşağıdaki resimde olduğu gibidir.


    Linkleri Görebilmek için Giriş Yapmanız yada Kayıt Olmanız Gerekmektedir.

    Önemli olan nokta Türkçe dil klasörünün adı values-tr şeklinde olmalıdır. 

    Framework-res.apk içinde bulunan Values klasörü de şu şekildedir: 

    Linkleri Görebilmek için Giriş Yapmanız yada Kayıt Olmanız Gerekmektedir.

    Framework-res.apk içinde Values klasörü içinde bulunan string.xml şu şekildedir:

    Linkleri Görebilmek için Giriş Yapmanız yada Kayıt Olmanız Gerekmektedir.

    Bu bilgilerden sonra başlayalım çeviri yapmaya :emoji_slight_smile: 

    1. Öncelikle hangi apk da çeviri yapacaksanız onu decompile edin. Örnekteki apk framework-res.apk dır.

    2. Apk mızda Türkçe dil olmadığı için yapılacak işlem:
             - framework-res.apk / res  klasörünün içinde values-tr adında (resimlerde olduğu gibi ) bir klasör oluşturun

    3. Framewok-res.apk / res / values klasörünün içinde bulunan string.xml dosyasını koplayın

    4. Az önce açmış olduğunuz values-tr klasörünün içine yapıştırın

    5. Yapıştırdığınız bu string.xml i ve framework-res.apk / res / values klasöründe bulunan ana dil dosyası olan string.xml i notedpad++ ile açın.

    6. Yanyana eşitleyin ki rahat çalışma ortamı olsun :emoji_slight_smile: 

    7. Tek tek tüm satırları doğru bir şekilde çevirmeye başlayın 

    Linkleri Görebilmek için Giriş Yapmanız yada Kayıt Olmanız Gerekmektedir.

    8. Çeviriniz bittikten sonra string.xml dosyasını kayıt edin.

    9. Apk yı compile edin. İmzalamanız gerekiyorsa apk yı imzalayın. Sisteme gömün. İzinlerini ayarlayın.

    Siz de framework-res.apk Türkçeleştiriyorsanız bu işlemlerden sonra Ayarlar da dil seçeneklerine Türkçe dili gelecektir.

    Dil dosyası olan diğer tüm apk larıda bu şekilde Türkçeleştirmeniz gerekiyor.  Bunu yaptıktan sonra romunuz Türkçe olacaktır.


    Eğer framework-res.apk hariç diğer tüm apk lara dil ekleseniz de ayarlar da dil seçeneklerinde Türkçe gözükmeyeceği için romu Türkçe olarak kullanamazsınız :emoji_slight_smile: 

    Dikkat edilmesi gereken nokta yaptığınız çevirilerin bu kod içinde doğru  bir şekilde yer alması gerekir.

    Kod:
    <string name="example"> </string>
    Örneğin aşağıdaki kodlardaki gibi hatalar yaparsanız apk nız compile olmaz, hata verir.

    Kod:
    Örnek 1: <string name="cancel">İptal</string
    
    Örnek 2: <string name="cancel">İptal string>
    Doğrusu aşağıdaki gibidir:

    Kod:
    <string name="cancel">İptal</string>
     
  2. Dr.Razor™

    Dr.Razor™ Administrator
    Site Yetkilisi Administrator

    995
    1.344
    93
    Cihaz:
    Nokia 6020
    Senin yüreğine sağlık abi  :bazuka: :rool: 
     
  3. Wes

    Wes Administrator
    Site Yetkilisi Administrator

    2.590
    2.469
    113
    Cihaz:
    ZTE Axon 7
    eline sağlık knk, adamsın  :golf:
     
  4. TigerKHaN

    TigerKHaN Administrator
    Site Yetkilisi Administrator

    428
    281
    63
    Cihaz:
    Redmi Note 3 Pro
    Sen Adamin Kralisin Seyfi hoca. Android platformun Türkiye deki Gururu olan Mesut hoca ile Sen olmasaydin sanirim hala eski telefonlari kullaniyor olacaktim. Sizlerle nice güzel Yıllara inşallah.
     
  5. Marjinalkeko

    Marjinalkeko Aktif Üye
    Aktif Üye

    Bu rom için mi yoksa her hangi bir uygulama için mi? Rom yazıyor da.
     
  6. Asderdd

    Asderdd Administrator
    Site Yetkilisi Administrator

    1.038
    3.714
    113
    Cihaz:
    ZTE Axon 7
    ROM:
    MiFavor UI 5.0
    Eline sağlık Seyfi abi, 10 numara anlatım :popcorn:
    Edit: Benden de birkaç ekleme olsun; 

    - Apk çevirisi yaparken values-tr klasörü içine sadece strings.xml koymak bazen yetmez. Arrays.xml vs. de gerekebilir. Hangi xml dosyalarını almanız gerektiğini anlamak için örnek olarak values-es klasörüne bakabilirsiniz.

    - Ayrıca xml içerisinde kesme işareti kullanırsanız hata alırsınız. Bunu önlemek için tüm metni tırnak içerisine almalısınız. Örnek olarak aşağıdaki şekilde yapın.
    Hatalı kod 
    PHP:
    <string name="example">TürkDevs'in</string>
    Doğru kod
    PHP:
    <string name="example">"TürkDevs'in"</string>
     
  7. SmiLeToLiFe

    SmiLeToLiFe Administrator
    Site Yetkilisi Administrator

    1.433
    1.283
    113
    Cihaz:
    Redmi Note 4 4/64
    ROM:
    Miui Global 9.5 | Stable 9.5.4.0 (NCFMIFA)
    Romu oluşturan şey nedir? Apk lardır. Tümevarım mantığıyla tek tek tüm apk ları Türkçeleştirirseniz Romunuz Türkçe olmuş olur ;) 
     
  8. Marjinalkeko

    Marjinalkeko Aktif Üye
    Aktif Üye

    Mantıklı hocam, teşekkürler bende böyle bi anlatım arıyordum.
     
  9. SmiLeToLiFe

    SmiLeToLiFe Administrator
    Site Yetkilisi Administrator

    1.433
    1.283
    113
    Cihaz:
    Redmi Note 4 4/64
    ROM:
    Miui Global 9.5 | Stable 9.5.4.0 (NCFMIFA)
    bu ikisini düşündüm yazmayı da misafir geldi kaldı öyle :emoji_grinning: Eline sağlık ihsan. 
     
  10. bu anlatımla nerdeyse her romumu türkçeleştirmişimdir ve hala türkçeleştirmeye devam ediyorum :emoji_slight_smile: eline sağlık hocam
     
  11. Efsane_03

    Efsane_03 Kayıtlı Üye
    Kayıtlı Üye

    59
    1
    8
    Cihaz:
    Discovery 2 mini
    ROM:
    Mıuı 8
    Sayın hocalarım bana bu işi en baştan anlatabilir misiniz fark etmez güvenilir kolay herhangi bir link te olur ilginize teşekkürler
     
  12. dj123tr

    dj123tr Aktif Üye
    Aktif Üye

    118
    11
    18
    Cihaz:
    GM 5 Plus
    ROM:
    Dirty Unicorns
    Teşekkürler bende denicem artık :emoji_slight_smile:
     
  13. mrtcan

    mrtcan Kayıtlı Üye
    Kayıtlı Üye

    1
    0
    1
    Cihaz:
    zte ba611t
    ROM:
    android 6
    #13 mrtcan, 21 Aralık 2017
    Son düzenleme: 12 Ağustos 2018 14:07
    Ama yine ayarlar dil bölümünde cıkmıyor. Mtk işlemcili bir telefon var elimde. Bu ayarlar dil bölumun olduğu apk ve dosyayı söyleyebilir misiniz.
     
Yükleniyor...

Bu Sayfayı Paylaş