Τι είναι το ενσωματωμένο Translator API του Chrome;

Το Translator API είναι μια πειραματική δυνατότητα της πλατφόρμας ιστού που επιτρέπει σε μια ιστοσελίδα να μεταφράζει κείμενο απευθείας στο πρόγραμμα περιήγησης, χρησιμοποιώντας ένα τοπικά συσκευασμένο μοντέλο AI που διαχειρίζεται ο user agent. Αντί να στέλνει κείμενο σε μια απομακρυσμένη υπηρεσία μετάφρασης, το πρόγραμμα περιήγησης εκθέτει μια διεπαφή JavaScript (window.Translator) που δημιουργεί σύντομης διάρκειας περιόδους μετάφρασης για ένα δεδομένο ζεύγος γλώσσας προέλευσης/στόχου και επιστρέφει μεταφρασμένες συμβολοσειρές ασύγχρονα.

Το συνοδευτικό Language Detector API (window.LanguageDetector) επιθεωρεί μια συμβολοσειρά και επιστρέφει μια κατάταξη πιθανών ετικετών γλώσσας BCP-47 με βαθμούς εμπιστοσύνης. Μαζί, τα δύο API επιτρέπουν σε μια σελίδα να ανιχνεύσει τη γλώσσα αυθαίρετης εισόδου και στη συνέχεια να τη μεταφράσει χωρίς καμία αναφορά δικτύου μετά την αρχική λήψη του μοντέλου.

Επειδή το μοντέλο εκτελείται στη συσκευή του χρήστη, οι μεταφράσεις λειτουργούν χωρίς σύνδεση μετά τη λήψη, το ευαίσθητο κείμενο δεν εγκαταλείπει ποτέ τη μηχανή και δεν υπάρχουν κόστη API ανά αίτημα. Το αντάλλαγμα είναι ότι η διαθεσιμότητα εξαρτάται από το πρόγραμμα περιήγησης, το λειτουργικό σύστημα και το εάν το ζητούμενο ζεύγος γλώσσας έχει λυθεί.

Περιγραφή εργαλείου

Αυτό το playground είναι ένα διαδραστικό περιβάλλον για δοκιμή των Translator και Language Detector APIs στο δικό σας πρόγραμμα περιήγησης. Συνδέει μια περιοχή εισόδου, έναν επιλογέα γλώσσας στόχου και μια περιοχή εξόδου στις υποκείμενες κλήσεις Translator.create() / translate(), και εμφανίζει την κατάσταση διαθεσιμότητας του μοντέλου και την πρόοδο λήψης ενώ πειραματίζεστε.

Η γλώσσα προέλευσης προεπιλέγεται σε "Αυτόματη ανίχνευση", η οποία δρομολογεί την είσοδο μέσω του LanguageDetector πρώτα και στη συνέχεια προωθεί την ανιχνευμένη γλώσσα στον μεταφραστή. Μπορείτε επίσης να καρφιτσώσετε τη γλώσσα προέλευσης ρητά για να παραλείψετε την ανίχνευση.

Παραδείγματα

Προέλευση (αυτόματη ανίχνευση) Στόχος Έξοδος
Bonjour, comment ça va ? English Hello, how are you?
Guten Morgen, wie geht es dir? Spanish Buenos días, ¿cómo estás?
今日は良い天気ですね。 English The weather is nice today.

Δυνατότητες

  • Αυτόματη ανίχνευση γλώσσας — χρησιμοποιεί το Language Detector API για να αναγνωρίσει τη γλώσσα προέλευσης πριν από τη μετάφραση.
  • Διευθυντικός επιλογέας γλώσσας — αντιστρέψτε την προέλευση και τον στόχο με ένα κλικ και επανα-μεταφράστε.
  • Κατάσταση διαθεσιμότητας ζωντανής ροής — δείχνει εάν το ζητούμενο μοντέλο είναι available, downloadable, downloading ή unavailable.
  • Γραμμή προόδου λήψης — ροές downloadprogress συμβάντων από τον μεταφραστή/ανιχνευτή ενώ το μοντέλο λαμβάνεται.
  • Μετάφραση χωρίς σύνδεση στη συσκευή — μετά τη λήψη του μοντέλου, δεν γίνονται αιτήματα δικτύου για μετάφραση.

Περιπτώσεις χρήσης

  • Προεπισκόπηση τοπικοποιημένου αντιγράφου — επικολλήστε μια συμβολοσειρά και δείτε αμέσως πώς διαβάζεται σε άλλη γλώσσα ενώ συντάσσετε κείμενο διεπαφής.
  • Επαλήθευση υποστήριξης προγράμματος περιήγησης — ελέγξτε εάν ένα συγκεκριμένο ζεύγος προέλευσης/στόχου είναι διαθέσιμο πριν αποστείλετε μια δυνατότητα που εξαρτάται από το Translator API.
  • Γρήγορη μετάφραση χωρίς σύνδεση — μεταφράστε αποσπάσματα ενώ είστε αποσυνδεδεμένοι, μετά τη λήψη του σχετικού πακέτου γλώσσας.

Απαιτήσεις

  • Ένα πρόγραμμα περιήγησης που υλοποιεί τα Translator και Language Detector APIs. Κατά τη στιγμή της συγγραφής, αυτό είναι Chrome 138+ και προγράμματα περιήγησης βασισμένα σε Chromium (π.χ. Opera 122+) σε επιτραπέζιο υπολογιστή. Το Edge, Firefox και Safari δεν υποστηρίζονται ακόμα.
  • Ένα ασφαλές πλαίσιο (HTTPS ή localhost).
  • Παροδική ενεργοποίηση χρήστη — τα API επιτρέπουν μόνο create() μετά από μια πρόσφατη χειρονομία χρήστη, γι' αυτό η μετάφραση εκτελείται κατά την είσοδο και όχι κατά τη φόρτωση της σελίδας.
  • Επαρκής χώρος δίσκου και εύρος ζώνης για την αρχική λήψη του μοντέλου γλώσσας. Οι επόμενες μεταφράσεις επαναχρησιμοποιούν το μοντέλο στη cache.

Πώς λειτουργεί

  1. Κατά την προσάρτηση, το εργαλείο ελέγχει για window.Translator και window.LanguageDetector. Εάν κάποιο από τα δύο λείπει, εμφανίζεται μια προειδοποίηση και η είσοδος απενεργοποιείται.
  2. Όταν πληκτρολογείτε, η είσοδος καθυστερείται και το ζεύγος προέλευσης/στόχου επιλύεται (εκτελώντας πρώτα LanguageDetector.detect() εάν η προέλευση είναι auto).
  3. Καλείται Translator.availability({ sourceLanguage, targetLanguage }) για να ερευνηθεί η κατάσταση του μοντέλου για αυτό το ζεύγος.
  4. Επικαλείται Translator.create() με ένα callback monitor που ακούει για συμβάντα downloadprogress και ενημερώνει τη γραμμή προόδου.
  5. translator.translate(text) επιστρέφει τη μεταφρασμένη συμβολοσειρά, η οποία αποδίδεται στην περιοχή εξόδου.
  6. Οι παρουσίες μεταφραστή και ανιχνευτή απελευθερώνονται μέσω destroy() μετά από κάθε κλήση για να ελευθερώσουν πόρους.

Υποστηριζόμενες γλώσσες

Ο επιλογέας εκθέτει μια επιμελημένη λίστα κοινών ετικετών γλώσσας BCP-47 που το συσκευασμένο μοντέλο του Chrome υποστηρίζει ή δοκιμάζει συνήθως, συμπεριλαμβανομένων:

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.

Το πραγματικό σύνολο χρησιμοποιήσιμων ζευγών εξαρτάται από το τι έχει λυθεί ή μπορεί να λυθεί το υποκείμενο μοντέλο προγράμματος περιήγησης. Τα ζεύγη που αναφέρονται ως unavailable δεν μπορούν να μεταφραστούν στο τρέχον πρόγραμμα περιήγησής σας.

Περιορισμοί

  • Τα API είναι πειραματικά και η επιφάνεια ενδέχεται να αλλάξει μεταξύ των εκδόσεων του προγράμματος περιήγησης.
  • Η ποιότητα μετάφρασης καθορίζεται από το μοντέλο που παρέχεται από το πρόγραμμα περιήγησης και δεν είναι εγγυημένο ότι θα ταιριάζει με τις αποκλειστικές υπηρεσίες μετάφρασης cloud.
  • Ορισμένα ζεύγη γλώσσας ενδέχεται να απαιτούν ένα ενδιάμεσο pivot μέσω αγγλικών ή ενδέχεται να είναι απλώς μη διαθέσιμα.
  • Η πρώτη μετάφραση για ένα νέο ζεύγος γλώσσας μπορεί να είναι αργή λόγω της λήψης του μοντέλου.
  • Τα API δεν εκτίθενται αυτή τη στιγμή σε web workers και ενδέχεται να περιορίζονται πίσω από μια Permissions Policy (translator, language-detector) σε cross-origin iframes.

Συχνές ερωτήσεις

Γιατί η έξοδος παραμένει κενή; Το Translator API πιθανώς δεν υλοποιείται στο πρόγραμμα περιήγησής σας. Ανοίξτε τη σελίδα στο Chrome 138+ σε επιτραπέζιο υπολογιστή και επαναφορτώστε.

Γιατί εμφανίζεται "Λήψη μοντέλου…"; Την πρώτη φορά που χρησιμοποιείτε ένα ζεύγος γλώσσας, το πρόγραμμα περιήγησης λαμβάνει ένα πακέτο μοντέλου. Η γραμμή προόδου αντικατοπτρίζει τα συμβάντα downloadprogress που εκπέμπονται από Translator.create().

Αφήνει το κείμενό μου τη συσκευή; Όχι. Μετά τη λήψη του μοντέλου, η μετάφραση συμβαίνει εξ ολοκλήρου στη συσκευή. Το ίδιο το εργαλείο δεν στέλνει την είσοδό σας πουθενά.

Γιατί η "Αυτόματη ανίχνευση" μερικές φορές αποτυγχάνει; Εάν η είσοδος είναι πολύ σύντομη, διφορούμενη ή σε ένα σενάριο που ο ανιχνευτής δεν έχει δει, LanguageDetector.detect() ενδέχεται να επιστρέψει und (απροσδιόριστο). Σε αυτή την περίπτωση, επιλέξτε τη γλώσσα προέλευσης χειροκίνητα.