Google, Android 12'de uygulamaları otomatik olarak ana dilinize çevirebilecek yeni bir kullanıcı arayüzü çeviri özelliği üzerinde çalışıyor.
2,5 milyarı aşkın aktif kullanıcısıyla Android, dünya çapında en yaygın kullanılan işletim sistemidir. İşletim sisteminin kendisi düzinelerce farklı dile yerelleştirilmiş olsa da birçok üçüncü taraf uygulaması için durum böyle değil. Daha büyük şirketler uygulamalarını kendi bünyesinde yerelleştirebilir veya profesyonel çeviri hizmetleri kiralayabilir, ancak bu seçenekler daha küçük ekipler veya bağımsız uygulama geliştiricileri için ekonomik olarak uygun değildir. En iyi ihtimalle, daha küçük bir ekip veya bağımsız uygulama geliştiricisi, anadili İngilizce olan kişilerden çevirileri toplu kaynak olarak kullanabilir ve en kötü ihtimalle, işi yapmak için makine çevirisi hizmetlerini kullanabilirler. Ancak bu durum değişebilir Android 12Google'ın bir uygulamanın kullanıcı arayüzünü otomatik olarak kullanıcının ana diline çevirmeye yönelik bir çerçeve üzerinde çalışıyor olabileceğini gösteren kanıtlar gördük.
APK'nın parçalanması genellikle bir uygulamanın gelecekteki bir güncellemesinde gelebilecek özellikleri tahmin edebilir, ancak burada bahsettiğimiz özelliklerden herhangi birinin gelecekteki bir sürümde bulunmaması da mümkündür. Bunun nedeni, bu özelliklerin şu anda canlı yapıda uygulanmamış olması ve gelecekteki bir yapıda geliştiriciler tarafından herhangi bir zamanda çekilebilmesidir.
Bu haftanın başlarında, aşağıdakileri içeren yayınlanmamış bir Android 12 yapısı elde ettik: birkaç yeni özellik ve kullanıcı arayüzü değişikliği. Sürümü incelerken çerçevede yeni bir sürümle ilgili birçok yeni sınıf keşfettik. "çeviri servisi." Aramamız, bu Android sürümüne eklenen iki yeni izni keşfettiğimizde başladı 12: BIND_TRANSLATION_SERVICE
Ve MANAGE_UI_TRANSLATION
. Android'in SystemUI'si, varsayılan olarak değerle tanımlanan ikinci izne sahip bir uygulamaya bağlanmak için eski izne sahiptir. config_defaultTranslationService
. Muhtemelen Google Çeviri veya Cihaz Kişiselleştirme Hizmetleri gibi bir uygulama çeviri hizmeti olarak ayarlanabilir, ancak Google bunu çeviri hizmeti olarak üçüncü taraf uygulamalara açabilir. MANAGE_UI_TRANSLATION
izin, desteklenen koruma düzeylerinden biri olarak tanımlanan "role" sahiptir. Hatırlarsanız Android 10 eklendi"Roller" belirli ayrıcalıklara sahip olması gereken uygulamaları tanımlar; Google'ın "Çevirmen"i bir Rol olarak eklemesi mümkündür, ancak bu rolün kullanıcı tarafından yüklenen uygulamalara verilip verilemeyeceğini bilmiyoruz.
Her durumda, çerçeve kodunda bu izinlere ilişkin referanslar bulduk ve burada bunun yeni çeviri kodu, ekran görüntüsü veya son uygulamalar yerine etkinlikler içindeki görünümlere göre hareket ediyor panel. Ekran görüntüleri veya son uygulamalar panelindeki metinlerin çevrilmesi zaten Google Lens tarafından yapılabiliyor ve Cihaz Kişiselleştirme Hizmetleri ile birlikte metinler çevrilebiliyor. doğrudan son uygulamalar panelinden çevrildi. Bu arada, Android'in niyet sistemi zaten çevrilecek metnin temel paylaşımına izin veriyor. Ancak bu yeni çerçeve daha karmaşık ve düşük seviyeli görünüyor ve biz onun doğrudan hedeflediğine inanıyoruz. Bir uygulamanın kullanıcı arayüzündeki metni çevirin, çeviriyi daha doğal hale getirmek için satır içi metni değiştirin.
Google Çeviri ve Cihaz Kişiselleştirme Hizmetlerinin en son sürümlerini inceledik ancak bu yeni API'nin entegre edildiğine dair herhangi bir kanıt bulamadık. Bu API'nin doğrudan Google Çeviri'yi değil, farklı bir API uç noktasını kullanması mümkündür. Eğer bu özellik spekülasyonlarımız doğrultusunda hayata geçirilirse Google'ın bu özellik için kullanıcılardan ücret alacağından şüpheliyiz. Ancak Pixel'e özel bir özellik olarak Google Çeviri tarafından desteklenen kullanıcı arayüzü çevirilerini etkinleştirmeleri mümkündür. Çerçeve AOSP'ye gelecek gibi göründüğünden, OEM'lerin Google'ınkini kullanmak istememeleri durumunda kendi çeviri hizmetlerini tanımlamaları mümkündür.
Gibi üçüncü taraf uygulamalar AllTrans yıllardır kendilerine ait bir kullanıcı arayüzü çeviri özelliği sunuyorlar. Xposed Framework tarafından desteklenen bu modlar, Android 12'nin kullanıcı arayüzü çevirisinin nasıl çalışacağını düşündüğümüze benzer şekilde çalışıyor ve metni çevirmek ve değiştirmek için doğrudan uygulamanın görünümlerine bağlanıyor. Ancak bu modlar, paylaşılan bir anahtarın ücretsiz limiti oldukça hızlı bir şekilde aşabilmesi nedeniyle kullanıcıların bir çeviri hizmeti için kendi API anahtarlarını almasını gerektirir. Google'ın doğrudan Android 12'ye bir kullanıcı arayüzü çeviri çerçevesi oluşturmasıyla birlikte, kullanıcıların artık uygulamaları kendi ana dillerine çevirmek için cihazlarını rootlamalarına gerek kalmayacak. Bunun, binlerce uygulamayı dünya çapındaki kullanıcılar için daha erişilebilir hale getireceğini umuyoruz.
AllTrans, Xposed Çerçevesini kullanarak, Microsoft'un Translator'ını kullanarak metni çevirmek için uygulamalar içindeki metin görünümlerine bağlanır.
Geliştiriciler ayrıca otomatik kullanıcı arayüzü çevirilerinden de yararlanacak. Uygulamalarını çevirecek kaynaklara sahip olmayan veya makine çevirisini kullanmak istemeyen geliştiriciler, işleri işletim sisteminin halletmesine izin verebilir. Makine tarafından çevrilmiş bir uygulamanın yayınlanması, kötü çeviri için geliştiriciyi suçlayan ancak kullanıcının olumsuz yorum yapmasına neden olabilir. Kullanıcının herhangi bir kötü durum için suçu nereye atacağını daha iyi anlaması nedeniyle işletim sistemini uygulamayı çevirmesi için yönlendirmeleri daha az hayal kırıklığıyla sonuçlanacaktır. çevrilmiş metin.
Bu özelliğin uygulamalar içindeki kullanıcı arayüzünü çevirmeyi amaçladığından oldukça emin olsak da, özelliği çalışırken görene kadar durumun böyle olduğundan %100 emin değiliz. Bu özelliğin alternatif bir kullanımı, kullanıcı arayüzünü işletim sistemi içinde veya yalnızca sistem uygulamalarında çevirmek olabilir, ancak bunun pek olası olmadığını düşünüyoruz. çünkü işletim sistemi zaten geniş çapta yerelleştirilmiştir ve herhangi bir yerelleştirme, cihaz fabrikadan çıkmadan önce veya bir OTA aracılığıyla yapılabilir. güncelleme. Öte yandan, Google ve OEM'ler bir uygulamanın hangi dilleri desteklediğini açıklayamıyor; dolayısıyla bu özellik boşluğu doldurmaya yardımcı olacak. Google'ın bu özelliği Görünüm düzeyinde geliştirip tüm uygulamalarda kullanılabilecek hale getirdiğini düşünürsek, işletim sistemi yerine uygulamalarda kullanılmasının amaçlanma olasılığını da artırır. Ancak yine de, bu özellik yayınlanıncaya kadar kesin olarak bilemeyeceğiz; bu, Android 12 kararlı sürümünde gerçekleşebilir veya gerçekleşmeyebilir.
Geliştiricilere teşekkürler Quinny899 Ve kdrag0n Bu kodu analiz etmedeki yardımları için. Ayrıca bize kullanma lisansı sağladığı için PNF Yazılımına teşekkür ederiz. JEB Kod ÇözücüAndroid uygulamaları için profesyonel düzeyde bir tersine mühendislik aracıdır.