Google は、アプリを母国語に自動的に翻訳できる、Android 12 の新しい UI 翻訳機能の開発に取り組んでいます。
25 億人を超えるアクティブ ユーザーを抱える Android は、世界中で最も広く使用されているオペレーティング システムです。 OS 自体は数十の異なる言語にローカライズされていますが、多くのサードパーティ アプリには当てはまりません。 大企業はアプリを社内でローカライズしたり、プロの翻訳サービスを雇ったりすることができますが、小規模なチームや独立したアプリ開発者にとってこれらのオプションは経済的に実現可能ではありません。 せいぜい、小規模なチームやインディーズ アプリ開発者がネイティブ スピーカーからの翻訳をクラウドソーシングで調達できる程度であり、最悪の場合でも、機械翻訳サービスを使用して仕事を行うことができます。 ただし、これは変更される可能性があります アンドロイド12、GoogleがアプリのUIをユーザーの母国語に自動的に翻訳するためのフレームワークに取り組んでいる可能性があることを示唆する証拠を見たことがあります。
APK のティアダウンでは、多くの場合、アプリケーションの将来のアップデートで追加される可能性のある機能を予測できますが、ここで言及した機能のいずれも将来のリリースには含まれない可能性があります。 これは、これらの機能が現在ライブ ビルドに実装されておらず、開発者によって将来のビルドでいつでもプルされる可能性があるためです。
今週初めに、以下を含む未リリースの Android 12 ビルドを入手しました。 いくつかの新機能と UI の変更. リリースを調べていると、フレームワーク内に新しいクラスに関連する新しいクラスが多数発見されました。 「翻訳サービス」。 私たちの探索は、この Android ビルドに追加された 2 つの新しい権限を発見したときに始まりました。 12: BIND_TRANSLATION_SERVICE
そして MANAGE_UI_TRANSLATION
. Android の SystemUI は、後者の権限を保持するアプリにバインドする前者の権限を保持します。デフォルトでは、この権限は値によって定義されます。 config_defaultTranslationService
. おそらく、Google 翻訳やデバイス パーソナライゼーション サービスなどのアプリを翻訳サービスとして設定できますが、Google はそれをサードパーティ アプリにも翻訳サービスとして公開する可能性があります。
MANAGE_UI_TRANSLATION
権限には、サポートされている保護レベルの 1 つとして定義された「役割」があります。 思い起こせば、Android 10 では「」が追加されました。役割「特定の権限を持つ必要があるアプリを定義します。 Google が役割として「翻訳者」を追加する可能性がありますが、ユーザーがインストールしたアプリにこの役割を付与できるかどうかはわかりません。
いずれにせよ、フレームワーク コード内でこれらのアクセス許可への参照が見つかりました。 新しい翻訳コードは、スクリーンショットや最近のアプリではなく、アクティビティ内のビューに作用します。 パネル。 スクリーンショットまたは最近使用したアプリ パネル内のテキストの翻訳は、Google レンズによってすでに実行可能であり、デバイス パーソナライゼーション サービスと連携して、テキストを翻訳することもできます。 最近のアプリパネルから直接翻訳. 一方、Android のインテント システムでは、翻訳するテキストの基本的な共有がすでに可能になっています。 ただし、この新しいフレームワークはより複雑で低レベルであるように思われ、直接的な目的を達成することを目的としていると考えられます。 アプリの UI 内のテキストを翻訳し、テキストをインラインで置き換えて、翻訳をよりネイティブに感じさせます。
Google 翻訳サービスとデバイス パーソナライゼーション サービスの最新バージョンを調査しましたが、この新しい API が統合されているという証拠は見つかりませんでした。 この API は Google 翻訳を直接使用せず、別の API エンドポイントを使用する可能性があります。 この機能が私たちの推測に沿って実装された場合、Google がこの機能に対してユーザーに料金を請求することはないと考えられます。 ただし、Pixel 専用の機能として Google 翻訳による UI 翻訳が有効になる可能性があります。 ただし、このフレームワークは AOSP に導入される予定であるため、Google の翻訳サービスを使用したくない場合、OEM が独自の翻訳サービスを定義できる可能性があります。
サードパーティ製アプリのようなもの オールトランス は長年にわたり、独自の UI 翻訳機能を提供してきました。 Xused Framework を利用したこれらの MOD は、Android 12 の UI 翻訳が機能すると考えられているのと同様に機能し、アプリのビューに直接接続してテキストを翻訳および置換します。 ただし、共有キーはすぐに無料制限を超えてしまうため、これらの MOD ではユーザーが翻訳サービス用に独自の API キーを取得する必要があります。 ただし、Google は UI 翻訳フレームワークを Android 12 に直接構築しているようで、ユーザーはアプリを母国語に翻訳するためにデバイスを root 化する必要がなくなりました。 これにより、世界中のユーザーが何千ものアプリにアクセスしやすくなることが期待されます。
Xused Framework を使用して、AllTrans はアプリ内のテキスト ビューにフックし、Microsoft の Translator を使用してテキストを翻訳します。
開発者は、自動 UI 翻訳からも恩恵を受けることができます。 アプリを翻訳するためのリソースがない開発者、または機械翻訳を使用したくない開発者は、OS に処理を任せることができます。 機械翻訳されたアプリをリリースすると、翻訳の悪さを開発者のせいにするユーザーからの否定的なレビューが発生する可能性がありますが、ユーザーは OS にアプリの翻訳を指示することで、ユーザーが問題の責任の所在をよりよく理解できるため、フラストレーションが軽減されます。 翻訳されたテキスト。
この機能がアプリ内の UI を変換することを目的としているとかなり確信していますが、機能が実際に動作しているのを見るまでは、それが事実であると 100% 確信できません。 この機能の別の用途は、OS 内の UI またはシステム アプリのみを翻訳することですが、それは可能性が低いと考えられます。 OS はすでに広くローカライズされており、デバイスが工場から出荷される前に、または OTA 経由でローカライズを行うことができるためです。 アップデート。 一方、Google と OEM はアプリがどの言語をサポートしているかを把握できないため、この機能はギャップを埋めるのに役立ちます。 Google がこの機能を View レベルで開発し、すべてのアプリで使用できるようにしていることを考慮すると、OS ではなくアプリでの使用を目的としている可能性が高くなります。 ただし、繰り返しになりますが、この機能がリリースされるまではわかりません。Android 12 安定版リリースでリリースされるかどうかはわかりません。
開発者のおかげで クイニー899 そして kdrag0n このコードの分析にご協力ください。 また、使用ライセンスを提供してくださった PNF Software にも感謝します。 JEB デコンパイラ、Android アプリケーション用のプロフェッショナル グレードのリバース エンジニアリング ツールです。