Ελέγξαμε κάθε αυτόματη μετάφραση. Τα λάθη ήταν στα ίδια τα τεστ ελέγχου.

Γλώσσες

Πριν κυκλοφορήσουμε την Εργαλειοθήκη μετάφρασης, την τρέξαμε σε μια μικρή εφαρμογή παραδείγματος: 70 συμβολοσειρές σε έξι μορφές (JSON, Flutter ARB, Android, Apple .strings, gettext και Markdown) προς Γερμανικά, Ρωσικά, Ιαπωνικά, Αραβικά και Ισπανικά, με ένα ανοιχτό μοντέλο Qwen (Qwen3.8-Flash-Next, κβαντισμένο σε 4 bits) εξυπηρετούμενο από το vLLM στο δικό μας μηχάνημα. Κάθε μεταφρασμένη συμβολοσειρά περνά από ελέγχους πριν γραφτεί. Τέσσερις από τις 350 απορρίφθηκαν. Και οι τέσσερις απορρίψεις ήταν λανθασμένες.

Τι ελέγχουν οι έλεγχοι

Μια μετάφραση που χαλάει μια εφαρμογή είναι χειρότερη από την απουσία μετάφρασης, οπότε κάθε συμβολοσειρά πρέπει να διατηρεί τα placeholders της (%1$s, {name}, {{count}}), τις ετικέτες, τις αλλαγές γραμμής και τα URLs· πρέπει να είναι στη γραφή της γλώσσας-στόχου· δεν πρέπει να είναι κενή, εκτός ορίων ή να μένει στα Αγγλικά· και οι πλειοντικοί τύποι πρέπει να καλύπτουν ακριβώς τις κατηγορίες που έχει η γλώσσα. Μια συμβολοσειρά που αποτυγχάνει ζητείται ξανά με αναφορά του προβλήματος, και αν αποτύχει ξανά, παραλείπεται, ώστε η εφαρμογή να εμφανίζει τα Αγγλικά για αυτή τη συμβολοσειρά.

Οι τέσσερις απορρίψεις

Μόλις διορθώθηκαν οι έλεγχοι, μια δεύτερη εκτέλεση ζήτησε από το μοντέλο μόνο αυτές τις τέσσερις συμβολοσειρές, αφού όλα τα υπόλοιπα βρίσκονταν στη μνήμη μετάφρασης, και έγραψε και τις 350 σε 45 δευτερόλεπτα.

Το μέρος που περιμέναμε να αποτύχει και δεν απέτυχε

Οι πληθυντικοί τύποι είναι το σημείο όπου η απλή μετάφραση αστοχεί: στα αγγλικά υπάρχουν ο ενικός και ο πληθυντικός, στα ρωσικά ο ενικός, οfew, ο many και ο other, στα αραβικά έξι κατηγορίες και στα ιαπωνικά μία μόνο μορφή. Ζητήσαμε ακριβώς τις κατηγορίες της γλώσσας-στόχου και ελέγξαμε τα placeholders κάθε μορφής. Το μοντέλο έγραψε «1 день, 2 дня, 5 дней» για τα ρωσικά και και τις έξι αραβικές μορφές. Κάθε έλεγχος πληθυντικών για Android πέρασε με την πρώτη σε όλες τις πέντε γλώσσες, όπως και κάθε μήνυμα πληθυντικού εκτός από το ιαπωνικό, το οποίο ο έλεγχός μας διάβασε λανθασμένα.

Όσα δεν πιάνει κανένας έλεγχος

Στη συνέχεια μεταφράσαμε τις 22 συμβολοσειρές web του παραδείγματος σε όλες τις 42 γλώσσες που γνωρίζει το Polyglot: 924 από τις 924 συμβολεσειρές πέρασαν. Διαβάζοντάς τες, μία ξεχώρισε. Στα χμερ, το «You are offline» είχε αποδοθεί ως πρόταση που λέει «είσαι online». Είναι σωστά σχηματισμένη χμερ στη σωστή γραφή, χωρίς ελλείψεις, οπότε όλοι οι έλεγχοι την πέρασαν. Οι έλεγχοι εντοπίζουν όσα χαλάνε την εφαρμογή· ένα λανθασμένο νόημα χρειάζεται κάποιον που διαβάζει τη γλώσσα.

Το συμπέρασμα

Οι αυτόματοι έλεγχοι στην έξοδο μηχανής χρειάζονται πραγματική έξοδο για να ελεγχθούν. Οι ενότητες δοκιμών με επινοημένες μεταφράσεις περνούσαν· ένα πραγματικό μοντέλο που έγραφε πραγματικά Ιαπωνικά εντόπισε τα κενά σε λεπτά. Το Polyglot έρχεται με αυτούς τους ελέγχους, διορθωμένους, και με τις δοκιμές για κάθε μία από τις τέσσερις περιπτώσεις. Οι έλεγχοι μόνοι τους είναι δωρεάν και ανοιχτού κώδικα: translation-checks στο GitHub.

Ενημερώθηκε: