Hi folks,

I see that the Language Detection API blink feature has been flipped to 
enabled-by-default for all platforms. (Congratulations!)

As a result, this web API is now exposed on Android WebView. I gave it a 
try on a demo page, but the feature isn't hooked up to an implementation 
for this platform. Additionally, I'm not sure it provides an accurate 
availability result. There's a risk this will cause bugs and compatibility 
problems for apps loading web content that tries to use it. Subsequent 
discussion elsewhere confirmed that it is known to not work on WebView.

Based on this I2S and ChromeStatus entry, I only see immediate plans to 
ship on desktop platforms, suggesting the feature was in being 
trialed/tested on all platforms (including WebView) other than iOS. I 
believe the feature is now also enabled (working) on Android Chrome too, 
but that's technically not a desktop platform.

So long as there's no support for Android WebView, we should avoid enabling 
the feature for this platform and it should not appear in 
//android_webview/test/data/web_tests/virtual/stable/webexposed/global-interface-listing-expected.txt

Enabled by default in: 
https://chromium-review.googlesource.com/c/chromium/src/+/6547240
Proposed M137 
merge: https://chromium-review.googlesource.com/c/chromium/src/+/6551336

Demo 
URI: 
https://chrome.dev/web-ai-demos/translation-language-detection-api-playground/

Context about WebView:
- 
https://chromium.googlesource.com/chromium/src/+/main/android_webview/README.md
- go/webview

Ashley Newson
On Monday, 5 May 2025 at 12:12:40 UTC+1 Yoav Weiss (@Shopify) wrote:

> LGTM3
>
> On Mon, May 5, 2025 at 11:11 AM Daniel Bratell <brat...@gmail.com> wrote:
>
>> LGTM2
>>
>> /Daniel
>> On 2025-05-02 16:49, Chris Harrelson wrote:
>>
>> Thanks for these clarifications! 
>>
>> LGTM1
>>
>> On Wed, Apr 30, 2025 at 8:39 PM 'Domenic Denicola' via blink-dev <
>> blin...@chromium.org> wrote:
>>
>>>
>>>
>>> On Thu, May 1, 2025 at 8:08 AM Chris Harrelson <chri...@chromium.org> 
>>> wrote:
>>>
>>>>
>>>>
>>>> On Wed, Apr 30, 2025, 3:56 PM Deepti Bogadi <dbo...@chromium.org> 
>>>> wrote:
>>>>
>>>>> Hi Chris, 
>>>>>
>>>>> Yes, the intent is to ship section 4 from the linked specification.
>>>>>
>>>>> Regarding Mozilla, we have no signal from them.
>>>>>
>>>>
>>>> Have you reached out to discuss? I'm concerned there might be multiple 
>>>> incompatible translation apis under development.
>>>>
>>>
>>> First, let's clarify that this is a discussion about translator APIs, 
>>> whereas this Intent to Ship is for a language detector API. So although 
>>> multiple translator APIs might be worrying for a translator I2S, I am 
>>> hopeful it doesn't need to be treated as a blocker for language detector.
>>>
>>> Anyway, we indeed have had ongoing discussions with Mozilla, both 
>>> one-off and in the WebML Community Group, about this subject.
>>>
>>> The status of their translator explainer is a bit unclear. As you can 
>>> see, it hasn't been presented to any community group or working group. When 
>>> we'd previously asked their WebML CG representatives about it, they said 
>>> they were monitoring the space and weren't yet ready to present an 
>>> alternative. They haven't given any negative signals on our proposed 
>>> translator API (nor official positive ones).
>>>
>>> It's also worth noting that the mozilla/explainers proposal is strictly 
>>> less powerful than the WebML CG one that we're developing. That is, theirs 
>>> can be polyfilled on top of ours, but not vice-versa. So if the 
>>> mozilla/explainers proposal got traction in the future, we could add it as 
>>> well, either natively or via a JavaScript polyfill.
>>>
>>> It's also worth noting that some of the use cases that partners have 
>>> used the translator API for during the origin trial are not possible with 
>>> the mozilla/explainers proposal. Some examples:
>>>
>>>    - Translating audio, in conjunction with web speech APIs for speech 
>>>    recognition and generation; 
>>>    - Translating user search terms, including translating them *away* from 
>>>    the user's preferred language. (E.g., prompting a Spanish-speaking user 
>>> on 
>>>    an English e-commerce site with: "You entered 'zapatos'. Did you mean to 
>>>    search for 'shoes'?") 
>>>
>>>
>>> Hope this helps!
>>>
>>>
>>>>
>>>>> Thanks,
>>>>> Deepti
>>>>>
>>>>> On Wed, Apr 30, 2025 at 8:15 AM Chris Harrelson <chri...@chromium.org> 
>>>>> wrote:
>>>>>
>>>>>> Hi, I see that Mozilla has published an explainer 
>>>>>> <https://github.com/mozilla/explainers/blob/main/translation.md> for 
>>>>>> an (alternate?) translation API. I realize that their explainer may not 
>>>>>> cover language detection, but language detection is part of a larger 
>>>>>> spec 
>>>>>> linked here that includes translation. Have you talked to them about it? 
>>>>>>
>>>>>> Also, is this intent just proposing to ship section 4 from the linked 
>>>>>> specification?
>>>>>>
>>>>>> On Mon, Apr 28, 2025 at 4:34 PM Deepti Bogadi <dbo...@chromium.org> 
>>>>>> wrote:
>>>>>>
>>>>>>> Hi Alex, 
>>>>>>>
>>>>>>> Overall we have received positive feedback from the developers. A 
>>>>>>> more recent snapshot of the quantitative feedback was shared at 
>>>>>>> BlinkOn: 
>>>>>>> bit.ly/blinkon-2025-builtin-ai (slide 34).
>>>>>>>
>>>>>>> We are working with our partners who are excited 
>>>>>>> <https://github.com/webmachinelearning/translation-api/issues/36> to 
>>>>>>> use this API. I am also sharing our latest OT feedback 
>>>>>>> <https://github.com/webmachinelearning/meetings/blob/main/telcons/2025-02-26-cg-minutes.md>
>>>>>>>  stats 
>>>>>>> across various APIs.
>>>>>>>
>>>>>>> Finally, from the latest OT sign up numbers, we were already order 
>>>>>>> of magnitude above a typical OT which suggests lots of interest in what 
>>>>>>> this API enables.
>>>>>>>
>>>>>>> Hope this helps. Let me know if you have further questions.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Deepti
>>>>>>>
>>>>>>> On Mon, Apr 28, 2025 at 11:13 AM Alex Russell <sligh...@chromium.org> 
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hey Deepti, 
>>>>>>>>
>>>>>>>> Are you able to summarize developer feedback from the OT?
>>>>>>>>
>>>>>>>> Best,
>>>>>>>>
>>>>>>>> Alex
>>>>>>>>
>>>>>>>> On Friday, April 25, 2025 at 1:58:12 PM UTC-7 Deepti Bogadi wrote:
>>>>>>>>
>>>>>>>>> Contact emails 
>>>>>>>>>
>>>>>>>>> dom...@chromium.org, fer...@chromium.org, kenji...@chromium.org, 
>>>>>>>>> ay...@chromium.org, mem...@chromium.org, chris...@chromium.org, 
>>>>>>>>> dbo...@chromium.org
>>>>>>>>>
>>>>>>>>> Explainer 
>>>>>>>>>
>>>>>>>>> https://github.com/WICG/translation-api/blob/main/README.md
>>>>>>>>>
>>>>>>>>> Specification 
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> https://webmachinelearning.github.io/translation-api/#language-detector-api
>>>>>>>>>
>>>>>>>>> Note that although the translator API and language detector APIs 
>>>>>>>>> both live in a single specification, they can be implemented 
>>>>>>>>> independently, 
>>>>>>>>> and this Intent is only for the language detector API.
>>>>>>>>>
>>>>>>>>> Summary 
>>>>>>>>>
>>>>>>>>> A JavaScript API for detecting the language of text, with 
>>>>>>>>> confidence levels.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Blink component 
>>>>>>>>>
>>>>>>>>> Blink>AI>Language Detection 
>>>>>>>>> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EAI%3ELanguage%20Detection%22>
>>>>>>>>>
>>>>>>>>> TAG review 
>>>>>>>>>
>>>>>>>>> https://github.com/w3ctag/design-reviews/issues/948
>>>>>>>>>
>>>>>>>>> TAG review status 
>>>>>>>>>
>>>>>>>>> Issues addressed
>>>>>>>>>
>>>>>>>>> The TAG had a number of questions and suggestions, particularly 
>>>>>>>>> around API shape, all of which were addressed and incorporated into 
>>>>>>>>> the 
>>>>>>>>> design.
>>>>>>>>>
>>>>>>>>> Origin Trial Name 
>>>>>>>>>
>>>>>>>>> Language Detector API
>>>>>>>>>
>>>>>>>>> Chromium Trial Name 
>>>>>>>>>
>>>>>>>>> LanguageDetectionAPI
>>>>>>>>>
>>>>>>>>> Origin Trial documentation link 
>>>>>>>>>
>>>>>>>>> https://github.com/WICG/translation-api/blob/main/README.md
>>>>>>>>>
>>>>>>>>> WebFeature UseCounter name 
>>>>>>>>>
>>>>>>>>> kV8LanguageDetector_Detect_Method
>>>>>>>>>
>>>>>>>>> Risks 
>>>>>>>>> Interoperability and Compatibility 
>>>>>>>>>
>>>>>>>>> This feature, like all built-in AI features, has inherent 
>>>>>>>>> interoperability risks due to the use of AI models whose behavior is 
>>>>>>>>> not 
>>>>>>>>> fully specified. See some general discussion in 
>>>>>>>>> https://www.w3.org/reports/ai-web-impact/#interop.
>>>>>>>>>
>>>>>>>>> By providing a high-level API with clear output formats, as well 
>>>>>>>>> as a capabilities API for detecting what a given browser supports, we 
>>>>>>>>> believe we can guide web developers toward using the API in an 
>>>>>>>>> interoperable way that does not depend on the specific models that a 
>>>>>>>>> given 
>>>>>>>>> browser or browser version uses.
>>>>>>>>>
>>>>>>>>> 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:
>>>>>>>>>
>>>>>>>>> Ergonomics 
>>>>>>>>>
>>>>>>>>> This API will likely frequently be used in concert with the 
>>>>>>>>> translator API (https://chromestatus.com/feature/5172811302961152
>>>>>>>>> ).
>>>>>>>>>
>>>>>>>>> The language detection is run on the main thread, the same as the 
>>>>>>>>> browser's built-in language detection. The inference is fast enough 
>>>>>>>>> that it 
>>>>>>>>> is not a concern.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 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
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Debuggability 
>>>>>>>>>
>>>>>>>>> Basic tooling suffices
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Will this feature be supported on all six Blink platforms 
>>>>>>>>> (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)? 
>>>>>>>>>
>>>>>>>>> Yes
>>>>>>>>> Is this feature fully tested by web-platform-tests 
>>>>>>>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
>>>>>>>>> ? 
>>>>>>>>>
>>>>>>>>> The WPTs test the API surface, but since no specific language is 
>>>>>>>>> guaranteed to be supported, we cannot test the actual language 
>>>>>>>>> detection. 
>>>>>>>>> Some tests will need to be marked as optional as they assume certain 
>>>>>>>>> language support. They also currently do not pass on wpt.fyi since it 
>>>>>>>>> runs 
>>>>>>>>> without a language detection model, so creation of LanguageDetector 
>>>>>>>>> fails.
>>>>>>>>>
>>>>>>>>> Flag name on about://flags 
>>>>>>>>>
>>>>>>>>> language-detection-api
>>>>>>>>>
>>>>>>>>> Finch feature name 
>>>>>>>>>
>>>>>>>>> LanguageDetectionAPI
>>>>>>>>>
>>>>>>>>> Rollout plan 
>>>>>>>>>
>>>>>>>>> Will ship enabled for all users
>>>>>>>>>
>>>>>>>>> Requires code in //chrome? 
>>>>>>>>>
>>>>>>>>> False
>>>>>>>>>
>>>>>>>>> Measurement 
>>>>>>>>>
>>>>>>>>> kV8AILanguageDetector_Detect_Method
>>>>>>>>>
>>>>>>>>> Estimated milestones 
>>>>>>>>>
>>>>>>>>> Shipping on desktop
>>>>>>>>>
>>>>>>>>> 137
>>>>>>>>>
>>>>>>>>> Origin trial desktop first
>>>>>>>>>
>>>>>>>>> 130
>>>>>>>>>
>>>>>>>>> Origin trial desktop last
>>>>>>>>>
>>>>>>>>> 135
>>>>>>>>>
>>>>>>>>> Origin trial extension 1 end milestone
>>>>>>>>>
>>>>>>>>> 138
>>>>>>>>>
>>>>>>>>> DevTrial on desktop
>>>>>>>>>
>>>>>>>>> 129
>>>>>>>>>
>>>>>>>>> Origin trial Android first
>>>>>>>>>
>>>>>>>>> 130
>>>>>>>>>
>>>>>>>>> Origin trial Android last
>>>>>>>>>
>>>>>>>>> 135
>>>>>>>>>
>>>>>>>>> DevTrial on Android
>>>>>>>>>
>>>>>>>>> 129
>>>>>>>>>
>>>>>>>>> Origin trial WebView first
>>>>>>>>>
>>>>>>>>> 130
>>>>>>>>>
>>>>>>>>> Origin trial WebView last
>>>>>>>>>
>>>>>>>>> 135
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Anticipated spec changes 
>>>>>>>>>
>>>>>>>>> None but the API shape is designed with extensibility in mind
>>>>>>>>>
>>>>>>>>> Link to entry on the Chrome Platform Status 
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> https://chromestatus.com/feature/6494349985841152?gate=5122129510268928
>>>>>>>>>
>>>>>>>>> Links to previous Intent discussions 
>>>>>>>>>
>>>>>>>>> Intent to Prototype: 
>>>>>>>>> https://groups.google.com/a/chromium.org/g/blink-dev/c/Ie46tc6_8so/m/eY1huFmOAAAJ
>>>>>>>>>
>>>>>>>>> Intent to Experiment: 
>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra-WvH-sxxWndwAWPLF3eEYqeLhXrz-VmZKH4Wxzbpse-Q%40mail.gmail.com
>>>>>>>>> Intent to Extend Experiment 1: 
>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAO4d-SsFc3ucbmasgZmWn4PE_TOMMnWZQCzrL%3DXbbo5tDxMSOg%40mail.gmail.com
>>>>>>>>>  
>>>>>>>>>
>>>>>>>>> This intent message was generated by Chrome Platform Status 
>>>>>>>>> <https://chromestatus.com/>.
>>>>>>>>>
>>>>>>>> -- 
>>>>>>> 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+...@chromium.org.
>>>>>>> To view this discussion visit 
>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJcT_ZgG8%2BepW52jqPEbny4cCCYbSC9q6r8sw6uKmrw_gphpwA%40mail.gmail.com
>>>>>>>  
>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJcT_ZgG8%2BepW52jqPEbny4cCCYbSC9q6r8sw6uKmrw_gphpwA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>>
>>>>>> -- 
>>>>> 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+...@chromium.org.
>>>>> To view this discussion visit 
>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJcT_ZiXE5f9ioWCBdyPKA0dLCgjAP2C%3D03oPoPibBN_xXrwUA%40mail.gmail.com
>>>>>  
>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJcT_ZiXE5f9ioWCBdyPKA0dLCgjAP2C%3D03oPoPibBN_xXrwUA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>> -- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "chrome-chia" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to chrome-chia...@google.com.
>>>> To view this discussion visit 
>>>> https://groups.google.com/a/google.com/d/msgid/chrome-chia/CAOMQ%2Bw9Aksov83aRn2UuTcFj_tJ%3D67JcTg28trmi_wtQeQ-S4g%40mail.gmail.com
>>>>  
>>>> <https://groups.google.com/a/google.com/d/msgid/chrome-chia/CAOMQ%2Bw9Aksov83aRn2UuTcFj_tJ%3D67JcTg28trmi_wtQeQ-S4g%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> -- 
>>> 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+...@chromium.org.
>>> To view this discussion visit 
>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra_b-GymrYADk4MtWtjULJRYn-MXaXj%2BJr1FDNp2Mxns1Q%40mail.gmail.com
>>>  
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra_b-GymrYADk4MtWtjULJRYn-MXaXj%2BJr1FDNp2Mxns1Q%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> -- 
>> 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+...@chromium.org.
>> To view this discussion visit 
>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw9vnhKyZky%2BmCxNz%2BA1S-7bbSE_%3DTc3eW50mpiz8EwLwA%40mail.gmail.com
>>  
>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw9vnhKyZky%2BmCxNz%2BA1S-7bbSE_%3DTc3eW50mpiz8EwLwA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>> -- 
>> 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+...@chromium.org.
>>
> To view this discussion visit 
>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/a81a7ae4-16ca-4ba7-bf43-c18d85d681d0%40gmail.com
>>  
>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/a81a7ae4-16ca-4ba7-bf43-c18d85d681d0%40gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
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 visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/924f6b22-dd09-43f5-8a98-aea4bfd06376n%40chromium.org.

Reply via email to