Mikä on Chromen sisäänrakennettu Translator API?

Translator API on kokeellinen web-alustan ominaisuus, jonka avulla verkkosivulla voidaan kääntää tekstiä suoraan selaimessa käyttämällä paikallisesti pakatettua tekoälymallia, jota käyttäjäagentti hallinnoi. Sen sijaan, että tekstiä lähetettäisiin etäkäännöspalveluun, selain paljastaa JavaScript-rajapinnan (window.Translator), joka luo lyhytikäisiä kääntäjäistuntoja tietylle lähde-/kohdekieliparille ja palauttaa käännettyjä merkkijonoja asynkronisesti.

Siihen liittyvä Language Detector API (window.LanguageDetector) tutkii merkkijonon ja palauttaa järjestetyn luettelon todennäköisistä BCP-47-kielitunnisteista luottamuspisteineen. Yhdessä nämä kaksi API:ta antavat sivulle mahdollisuuden havaita mielivaltaisen syötteen kieli ja kääntää se ilman verkon pyöräytystä alkuperäisen mallin lataamisen jälkeen.

Koska malli suoritetaan käyttäjän laitteella, käännökset toimivat offline-tilassa lataamisen jälkeen, arkaluonteinen teksti ei koskaan poistu koneelta, eikä per-pyyntö API-kustannuksia ole. Kompromissi on se, että saatavuus riippuu selaimesta, käyttöjärjestelmästä ja siitä, onko pyydetty kieliparista ladattu.

Työkalun kuvaus

Tämä leikkikenttä on käytännöllinen ympäristö Translator- ja Language Detector -sovellusliittymien testaamiseen omassa selaimessasi. Se yhdistää syöttöalueen, kohdekielivalitsimen ja tulostusosuuden taustalla oleviin Translator.create() / translate() -kutsuihin ja näyttää mallin saatavuustilan ja latausedistymisen kokeillessasi.

Lähde kieli on oletuksena "Automaattinen tunnistus", joka reitittää syötteen LanguageDetector-sovelluksen kautta ensin ja sitten välittää havaitun kielen kääntäjälle. Voit myös kiinnittää lähde kielen nimenomaisesti ohittaaksesi tunnistuksen.

Esimerkit

Lähde (automaattisesti havaittu) Kohde Tulos
Bonjour, comment ça va ? Englanti Hello, how are you?
Guten Morgen, wie geht es dir? Espanja Buenos días, ¿cómo estás?
今日は良い天気ですね。 Englanti The weather is nice today.

Ominaisuudet

  • Automaattinen kielentunnistus — käyttää Language Detector API:ta lähde kielen tunnistamiseen ennen kääntämistä.
  • Kaksisuuntainen kielivalitsin — vaihda lähde ja kohde yhdellä napsautuksella ja käännä uudelleen.
  • Live-saatavuustila — näyttää, onko pyydetty malli available, downloadable, downloading vai unavailable.
  • Latausedistymisen palkki — virtauttaa downloadprogress-tapahtumia kääntäjältä/ilmaisijalta mallin noudettaessa.
  • Laitteella oleva offline-käännös — mallin lataamisen jälkeen käännökseen ei tehdä verkkopyyntöjä.

Käyttötapaukset

  • Lokalisoidun kopion esikatselu — liitä merkkijono ja näe välittömästi, miten se lukee toisella kielellä käyttöliittymän tekstiä laatiessasi.
  • Selaimen tuen tarkistaminen — tarkista, onko tietty lähde-/kohdepari saatavilla ennen kuin toimitat ominaisuuden, joka riippuu Translator API:sta.
  • Nopea offline-käännös — käännä katkelmat ilman yhteyttä sen jälkeen, kun asiaankuuluva kielipaketti on ladattu.

Vaatimukset

  • Selain, joka toteuttaa Translator- ja Language Detector -sovellusliittymiä. Kirjoitushetkellä tämä on Chrome 138+ ja Chromium-pohjaiset selaimet (esim. Opera 122+) pöytäkoneella. Edge, Firefox ja Safari eivät ole vielä tuettuja.
  • Turvallinen konteksti (HTTPS tai localhost).
  • Lyhytaikainen käyttäjän aktivointi — sovellusliittymät sallivat create() vain äskettäisen käyttäjän eleiden jälkeen, minkä vuoksi käännös suoritetaan syötteessä eikä sivun latautuessa.
  • Riittävä levytila ja kaistanleveys alkuperäisen kielimallin lataamiseen. Myöhemmät käännökset käyttävät uudelleen välimuistissa olevaa mallia.

Kuinka se toimii

  1. Liitettäessä työkalu tarkistaa window.Translator ja window.LanguageDetector. Jos jompikumpi puuttuu, varoitus näytetään ja syöttö poistetaan käytöstä.
  2. Kun kirjoitat, syöttö viivästyy ja lähde-/kohdepari ratkaistaan (suoritetaan LanguageDetector.detect() ensin, jos lähde on auto).
  3. Translator.availability({ sourceLanguage, targetLanguage }) kutsutaan kyseisen parin mallin tilan kyselyyn.
  4. Translator.create() kutsutaan monitor-takaisinkutsulla, joka kuuntelee downloadprogress-tapahtumia ja päivittää edistymispalkkia.
  5. translator.translate(text) palauttaa käännetyn merkkijonon, joka hahmonnettaan tulostusosuudessa.
  6. Kääntäjä- ja ilmaisininstanssit vapautetaan destroy() kautta jokaisen kutsun jälkeen resurssien vapauttamiseksi.

Tuetut kielet

Valitsin paljastaa kuratoitua luetteloa yleisistä BCP-47-kielitunnisteista, joita Chromen pakattu malli tukee tai yleisesti testaa, mukaan lukien:

en, es, fr, de, it, pt, nl, pl, ru, uk, tr, ar, hi, bn, ja, ko, zh, zh-Hant, vi, th, id, sv, no, fi, da, el, he, cs, ro, hu.

Todellinen käyttökelpoisten parien joukko riippuu siitä, mitä taustalla oleva selaimen malli on ladannut tai voi ladata. Parit, jotka raportoidaan unavailable, eivät voi olla käännettävissä nykyisessä selaimessasi.

Rajoitukset

  • Sovellusliittymät ovat kokeellisia ja pinta voi muuttua selaimen versioiden välillä.
  • Käännöksen laatu määräytyy selaimen toimittaman mallin perusteella, eikä se välttämättä vastaa omistettuja pilvipalvelun käännöspalveluja.
  • Jotkut kieliparit saattavat vaatia välimukaisen kääntämisen englannin kautta tai ne voivat yksinkertaisesti olla saatavilla.
  • Ensimmäinen käännös uudelle kieliparille voi olla hidas mallin lataamisen vuoksi.
  • Sovellusliittymät eivät ole tällä hetkellä alttiina web-työntekijöille ja ne voidaan sulkea Permissions Policy (translator, language-detector) takana cross-origin-kehyksillä.

Usein kysytyt kysymykset

Miksi tulos pysyy tyhjänä? Translator API:ta ei todennäköisesti ole toteutettu selaimessasi. Avaa sivu Chrome 138+:ssa pöytäkoneella ja lataa uudelleen.

Miksi "Ladataan mallia…" näytetään? Kun käytät kieliparilla ensimmäisen kerran, selain lataa mallin paketin. Edistymispalkki heijastaa Translator.create() lähettämiä downloadprogress-tapahtumia.

Poistuuko tekstini laitteelta? Ei. Mallin lataamisen jälkeen käännös tapahtuu kokonaan laitteella. Itse työkalu ei lähetä syöttöäsi mihinkään.

Miksi "Automaattinen tunnistus" epäonnistuu joskus? Jos syöttö on liian lyhyt, epäselvä tai kirjoituksessa, jota ilmaisin ei ole nähnyt, LanguageDetector.detect() voi palauttaa und (määrittämätön). Valitse lähde kieli manuaalisesti siinä tapauksessa.