Contact emails dome...@chromium.org, fer...@chromium.org, kenjibah...@chromium.org
Explainer https://github.com/WICG/translation-api/blob/main/README.md Specification None yet, although we'll be writing one during the experimentation period. Summary A JavaScript API to provide language translation capabilities to web pages. Blink component Blink>AI>Translate <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EAI%3ETranslate> TAG review https://github.com/w3ctag/design-reviews/issues/948 TAG review status Issues open, primarily around how to name the various API entry points. (The review itself is closed as "satisfied with concerns".) Risks Interoperability and Compatibility This feature has definite interoperability risks, including which languages are available across different browsers, how they are exposed, the quality of translations, and whether developers need the translations to be on-device or not. We can ameliorate some of these through API design, by making it clear that various methods might fail and that a fallback is required. Others, like translation quality, may end up as quality-of-implementation issues, similar to other machine learning-based APIs like shape detection. Gecko: No signal (https://github.com/mozilla/standards-positions/issues/1015 ) WebKit: No signal (https://github.com/WebKit/standards-positions/issues/339) Web developers: Positive (https://github.com/WICG/proposals/issues/147) Other signals: Activation This feature would definitely benefit from having polyfills, backed by any of: cloud services, lazily-loaded on-device models using WebGPU, or the web developer's own server. We anticipate seeing an ecosystem of such polyfills grow as more developers experiment with this API. WebView application risks Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications? None Goals for experimentation We're most interested in feedback on whether the translation quality we can provide is useful to sites. We're also interested in whether the set of languages we provide suffices for web developer use cases. Regarding the privacy tradeoffs around language pack downloads, we plan to experiment with a variety of approaches during the origin trial, and get feedback on them, in collaboration with the privacy team. Our starting approach is to allow up to three language packs to be downloaded, with restrictions: at least one of the source or destination languages must be in either the user's Accept-Language header, and the other must be a globally-popular language. We may also explore permission prompts to allow more language packs, or redundant downloading of language packs into triple-keyed caches. We're also interested in the usual feedback about the API shape, which may evolve over the course of the origin trial. Ongoing technical constraints None. Debuggability During the origin trial, web developers can use chrome://on-device-translation-internals/ to manage language pack installation. And, by setting chrome://flags/#translation-api flag to "Enabled without language pack limit", developers can work around the privacy-focused restrictions during local testing. If the feature is successful, these may eventually graduate into DevTools features. Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)? No. We will start with desktop, and are working on expanding to Android during the OT period. Is this feature fully tested by web-platform-tests <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> ? No We hope to work on web platform tests for this feature, but how much we can guarantee as testable beyond the surface API is unclear. For example, since no specific languages are guaranteed to be supported, it's not clear we can actually test translations. APIs to mock the results might help here. Flag name on chrome://flags translation-api Finch feature name TranslationAPI Requires code in //chrome? True Tracking bug https://issues.chromium.org/issues/322229993 Measurement kV8LanguageTranslator_Translate_Method Estimated milestones Origin trial desktop first 132 Origin trial desktop last 137 There is some chance we will slip this milestone, in which case we would expert 133 through 138. We will update the thread if that happens. Anticipated spec changes Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way). A variety of possible API surface changes are under consideration. Additionally, the exact processing of nontrivial language tags (e.g. en-GB-oed, ja-Latn, or en-x-lolcat) is still unclear: https://github.com/WICG/translation-api/issues/11. Link to entry on the Chrome Platform Status https://chromestatus.com/feature/5172811302961152?gate=5068777028059136 Links to previous Intent discussions Intent to Prototype: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/2a9d154a-dc97-495b-afda-ba643712116bn%40chromium.org This intent message was generated by Chrome Platform Status <https://chromestatus.com/> and edited by hand. -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra9ArjjD0u%3DpFs1W_5%3DcMk49JXs5ObQ15dNHCHt3TKSW3g%40mail.gmail.com.