Google მუშაობს ახალ ინტერფეისის თარგმანის ფუნქციაზე Android 12-ში, რომელიც ავტომატურად თარგმნის აპებს თქვენს მშობლიურ ენაზე.
2,5 მილიარდზე მეტი აქტიური მომხმარებელით, Android არის ყველაზე ფართოდ გამოყენებული ოპერაციული სისტემა მსოფლიოში. მიუხედავად იმისა, რომ თავად OS ლოკალიზებულია ათობით სხვადასხვა ენაზე, ეს ასე არ არის მესამე მხარის ბევრ აპში. უფრო დიდ კომპანიებს შეუძლიათ თავიანთი აპლიკაციების შიდა ლოკალიზაცია ან პროფესიონალური მთარგმნელობითი სერვისების დაქირავება, მაგრამ ეს ვარიანტები ეკონომიკურად მიუღებელია პატარა გუნდებისთვის ან დამოუკიდებელი აპლიკაციების შემქმნელებისთვის. საუკეთესო შემთხვევაში, პატარა გუნდს ან ინდი აპლიკაციის შემქმნელს შეუძლია თარგმანების თარგმანები მშობლიურ ენაზე მოლაპარაკეებიდან, ხოლო უარეს შემთხვევაში, მათ შეუძლიათ გამოიყენონ მანქანური თარგმანის სერვისები სამუშაოს შესასრულებლად. თუმცა, ეს შეიძლება შეიცვალოს Android 12, რადგან ჩვენ ვნახეთ მტკიცებულება, რომელიც მიუთითებს იმაზე, რომ Google შესაძლოა მუშაობდეს ჩარჩოზე აპის ინტერფეისის მომხმარებლის მშობლიურ ენაზე ავტომატურად თარგმნისთვის.
APK-ის დაშლას ხშირად შეუძლია იწინასწარმეტყველოს ფუნქციები, რომლებიც შეიძლება მოვიდეს აპლიკაციის მომავალ განახლებაში, მაგრამ შესაძლებელია, რომ ჩვენ მიერ აქ ნახსენები რომელიმე მახასიათებელი არ იყოს ის მომავალ გამოშვებაში. ეს იმიტომ ხდება, რომ ეს ფუნქციები ამჟამად არ არის დანერგილი ცოცხალ build-ში და შეიძლება ნებისმიერ დროს გამოიყვანონ დეველოპერებმა მომავალ build-ში.
ამ კვირის დასაწყისში, ჩვენ მივიღეთ გამოუქვეყნებელი Android 12 build, რომელიც შეიცავს ა რამდენიმე ახალი ფუნქცია და UI ცვლილება. გამოშვების გათხრებისას ჩვენ აღმოვაჩინეთ ახალი კლასების სიმრავლე ჩარჩოში, რომელიც დაკავშირებულია ახალთან "თარგმანის სამსახური." ჩვენი ძებნა დაიწყო, როდესაც აღმოვაჩინეთ ორი ახალი ნებართვა, რომელიც დაემატა Android-ის ამ კონსტრუქციას 12: BIND_TRANSLATION_SERVICE
და MANAGE_UI_TRANSLATION
. Android-ის SystemUI ფლობს პირველ ნებართვას აპთან მიბმის, რომელიც ფლობს მეორე ნებართვას, რომელიც ნაგულისხმევად განისაზღვრება მნიშვნელობით config_defaultTranslationService
. სავარაუდოდ, ისეთი აპი, როგორიცაა Google Translate ან Device Personalization Services შეიძლება დაყენდეს როგორც მთარგმნელობითი სერვისი, მაგრამ Google-მა შეიძლება გახსნას იგი მესამე მხარის აპებისთვის, როგორც MANAGE_UI_TRANSLATION
ნებართვას აქვს "როლი" განსაზღვრული, როგორც დაცვის ერთ-ერთი მხარდაჭერილი დონე. თუ გახსოვთ, Android 10 დამატებულია "როლები" რომელიც განსაზღვრავს აპებს, რომლებსაც გარკვეული პრივილეგიები უნდა ჰქონდეთ; შესაძლებელია, რომ Google-მა დაამატოს „მთარგმნელი“, როგორც როლი, მაგრამ ჩვენ არ ვიცით, შეიძლება თუ არა ამ როლის მინიჭება მომხმარებლის მიერ დაინსტალირებული აპებისთვის.
ნებისმიერ შემთხვევაში, ჩვენ აღმოვაჩინეთ მითითებები ამ ნებართვებზე ჩარჩო კოდში, სადაც აღმოვაჩინეთ ამის დამადასტურებელი მტკიცებულება ახალი თარგმანის კოდი მოქმედებს აქტივობებში არსებულ ნახვებზე და არა ეკრანის ანაბეჭდზე ან ბოლო აპებზე პანელი. ტექსტის თარგმნა ეკრანის ანაბეჭდებში ან ბოლო აპების პანელში უკვე შეიძლება გაკეთდეს Google Lens-ის მიერ, ხოლო მოწყობილობის პერსონალიზაციის სერვისებთან ერთად, ტექსტი შეიძლება იყოს ითარგმნა პირდაპირ ბოლო აპების პანელიდან. იმავდროულად, Android-ის განზრახვის სისტემა უკვე იძლევა ტექსტის ძირითადი გაზიარების საშუალებას თარგმნისთვის. თუმცა, ეს ახალი ჩარჩო, როგორც ჩანს, უფრო რთული და დაბალი დონისაა და ჩვენ გვჯერა, რომ ის პირდაპირ მიზნად ისახავს თარგმნეთ ტექსტი აპის ინტერფეისში, ჩაანაცვლეთ ტექსტი, რათა თარგმანი უფრო ორიგინალური იყოს.
ჩვენ გამოვიკვლიეთ Google Translate-ისა და Device Personalization Services-ის უახლესი ვერსიები, მაგრამ ვერ ვიპოვეთ რაიმე მტკიცებულება ამ ახალი API-ს ინტეგრაციის შესახებ. შესაძლებელია ეს API პირდაპირ არ გამოიყენებს Google Translate-ს, არამედ სხვა API საბოლოო წერტილს. თუ ეს ფუნქცია განხორციელდება ჩვენი სპეკულაციის შესაბამისად, ჩვენ ეჭვი გვეპარება, რომ Google ამ ფუნქციისთვის მომხმარებლებს დააკისროს. თუმცა, შესაძლოა მათ ჩართონ UI თარგმანები Google Translate-ით, როგორც Pixel-ის ექსკლუზიური ფუნქცია. იმის გამო, რომ ჩარჩო, როგორც ჩანს, მოდის AOSP-ზე, შესაძლებელია OEM-ებმა განსაზღვრონ საკუთარი მთარგმნელობითი სერვისი, თუ მათ არ სურთ Google-ის გამოყენება.
მესამე მხარის აპები მოსწონს AllTrans წლების განმავლობაში გვთავაზობდნენ UI თარგმანის საკუთარ ფუნქციას. Xposed Framework-ის საშუალებით, ეს მოდიფიკაციები მუშაობს ისევე, როგორც ჩვენ ვფიქრობთ, რომ Android 12-ის ინტერფეისის თარგმანი იმუშავებს, პირდაპირ უკავშირდება აპის ხედებს ტექსტის თარგმნისა და ჩანაცვლებისთვის. თუმცა, ეს მოდიფიკაციები მომხმარებლებს სთხოვს აითვისონ საკუთარი API გასაღები მთარგმნელობითი სერვისისთვის, რადგან საერთო გასაღები საკმაოდ სწრაფად გადააჭარბებს უფასო ლიმიტს. იმის გამო, რომ Google, როგორც ჩანს, აშენებს ინტერფეისის თარგმანის ჩარჩოს პირდაპირ Android 12-ში, თუმცა, მომხმარებლებს აღარ დასჭირდებათ მოწყობილობის დაყენება აპების მშობლიურ ენაზე თარგმნისთვის. იმედია, ეს ათასობით აპლიკაციას უფრო ხელმისაწვდომს გახდის მომხმარებლებისთვის მთელ მსოფლიოში.
Xposed Framework-ის გამოყენებით, AllTrans ამაგრებს ტექსტურ ხედებს აპებში, რათა თარგმნოს ტექსტი Microsoft-ის მთარგმნელის გამოყენებით.
დეველოპერები ასევე ისარგებლებენ ინტერფეისის ავტომატური თარგმანით. დეველოპერებს, რომლებსაც არ აქვთ რესურსი თარგმნონ თავიანთი აპლიკაციები, ან რომლებსაც არ სურთ მანქანური თარგმანის გამოყენება, შეუძლიათ OS-ს აძლევენ უფლებას გაუმკლავდეს საკითხებს. მანქანით თარგმნილი აპის გამოშვებამ შეიძლება გამოიწვიოს უარყოფითი მიმოხილვები მომხმარებლებისგან, რომლებიც ადანაშაულებენ დეველოპერს ცუდი თარგმანის გამო, მაგრამ აქვს მომხმარებელი თავად მიმართავენ ოპერაციულ სისტემას აპის თარგმნისთვის, რაც გამოიწვევს ნაკლებ იმედგაცრუებას, რადგან მომხმარებელი უკეთ ესმის, სად დაადანაშაულოს რაიმე ცუდი ნათარგმნი ტექსტი.
მიუხედავად იმისა, რომ ჩვენ საკმაოდ დარწმუნებულები ვართ, რომ ეს ფუნქცია გამიზნულია ინტერფეისის აპებში თარგმნისთვის, ჩვენ არ ვართ 100% დარწმუნებული, რომ ეს ასეა, სანამ ფუნქციას მოქმედებაში არ დავინახავთ. ამ ფუნქციის ალტერნატიული გამოყენება იქნება UI-ის თარგმნა OS-ში ან მხოლოდ სისტემის აპებში, მაგრამ ჩვენ ვფიქრობთ, რომ ეს ნაკლებად სავარაუდოა. რადგან ოპერაციული სისტემა უკვე ფართოდ არის ლოკალიზებული და ნებისმიერი ლოკალიზაცია შეიძლება განხორციელდეს მოწყობილობის ქარხნის დატოვებამდე ან OTA-ს მეშვეობით განახლება. მეორეს მხრივ, Google-ს და OEM-ებს არ შეუძლიათ აღრიცხონ, თუ რომელ ენებს უჭერს მხარს აპლიკაცია, ამიტომ ეს ფუნქცია დაგვეხმარება ხარვეზის შევსებაში. იმის გათვალისწინებით, რომ Google ავითარებს ამ ფუნქციას ხედვის დონეზე, რაც მას საშუალებას აძლევს გამოიყენოს ყველა აპში, ასევე უფრო სავარაუდოა, რომ ის განკუთვნილია აპებში და არა OS-ში. ისევ, თუმცა, ჩვენ არ ვიცით დანამდვილებით, სანამ ეს ფუნქცია არ გამოვა, რაც შეიძლება მოხდეს ან არ მოხდეს Android 12 სტაბილურ გამოშვებაში.
მადლობა დეველოპერებს Quinny899 და kdrag0n ამ კოდის ანალიზში მათი დახმარებისთვის. ასევე მადლობა PNF Software-ს, რომ მოგვაწოდა გამოყენების ლიცენზია JEB დეკომპილერი, პროფესიული დონის საპირისპირო ინჟინერიის ინსტრუმენტი Android აპლიკაციებისთვის.