Tarkistimme jokaisen konekäännöksen. Tarkistukset olivat se osa, joka oli väärin.
Kielet
Ennen käännöspaketin julkaisua testasimme sitä pienellä esimerkkisovelluksella: 70 merkkijonoa kuudessa muodossa (JSON, Flutter ARB, Android, Apple .strings, gettext ja Markdown) käännettiin saksaksi, venäjäksi, japaniksi, arabiaksi ja espanjaksi käyttäen 27 miljardin parametrin avointa mallia omalla koneellamme. Jokainen käännetty merkkijono käy tarkistusten läpi ennen kirjoittamista. Neljä 350:stä hylättiin. Kaikki neljä hylkäystä olivat virheellisiä.
Miltä tarkistukset näyttävät
Sovelluksen rikkova käännös on pahempi kuin ei käännöstä lainkaan, joten jokaisen merkkijonon on säilytettävä paikkamerkkinsä (%1$s, {name}, {{count}}), taginsa, rivinvaihtonsa ja URL-osoitteensa; sen on oltava kohdekielen kirjoitusjärjestelmässä; se ei saa olla tyhjä, liian pitkä tai englanniksi; ja monikkomuotojen on katettava täsmälleen ne muodot, joita kielellä on. Epäonnistunut merkkijono pyydetään uudelleen ongelma nimettynä, ja jos se epäonnistuu uudelleen, se jätetään pois, jolloin sovellus näyttää kyseisessä kohdassa englannin.
Neljä hylkäystä
- Saksan "Backups" oli "Backups". Tarkistus sanoi sen kääntämättömäksi. Saksa käyttää englannin sanaa. Yksi identtinen sana on usein oikein; kaksi tai useampi identtinen sana ei ole, joten sääntö on nyt tämä.
- Yksi venäläinen ja yksi japanilainen rivi sähköpostiosoitteella epäonnistuivat kirjoitusjärjestelmän tarkistuksessa: alle 60 % kirjaimista oli kyrillisiä tai japanilaisia, koska
[email protected]on kirjoitettu latinalaisin kirjaimin. Osoitteita käsitellään nyt kuten paikkamerkkejä: niiden on palattava muuttumattomina, eivätkä ne lasketa kirjaimiksi. - Japanilainen monikkomuotoinen viesti palautui muodossa
{count, plural, =0{連続記録なし} other{{count}日連続}}. Haara{連続記録なし}ei sisällä välilyöntejä, joten paikkamerkkimalli tulkitsi sen muuttujaksi nimeltä 連続記録なし. Monikkomuotoisten viestien haarojen sulkumerkit ovat nyt rakennetta, ja paikkamerkkien nimien on oltava ASCII-merkistöä.
Kun tarkistukset oli korjattu, toinen ajokerta pyysi mallilta vain nuo neljä merkkijonoa, koska kaikki muu oli käännösmuistissa, ja kirjoitti kaikki 350 merkkijonoa 45 sekunnissa.
Osa, jonka odotimme epäonnistuvan, mutta joka ei epäonnistunut
Monikot ovat paikka, jossa naiivi käännös hajoaa: englannissa on yksi ja muu, venäjässä yksi, vähän, paljon ja muu, arabiassa kuusi kategoriaa ja japanissa yksi muoto. Pyydimme täsmälleen kohdekielen kategorioita ja tarkistimme kunkin muodon paikkamerkit. Malli kirjoitti venäjäksi "1 день, 2 дня, 5 дней" ja kaikki kuusi arabian muotoa. Kaikki Androidin monikot menivät läpi ensimmäisellä yrityksellä kaikissa viidessä kielessä, samoin kuin kaikki monikkoviestit paitsi japanilainen, jonka tarkistuksemme luki väärin.
Mitä yksikään tarkistus ei havaitse
Käänsimme sitten esimerkin 22 verkkojonoa kaikkiin 42 kieleen, jotka Polyglot tuntee: 924/924 jonoa meni läpi. Lukiessamme niitä yksi erottui joukosta. Khmeriksi "You are offline" oli palautunut lauseeksi, joka tarkoittaa "you are online". Se on hyvin muotoiltua khmeria oikeassa kirjoitusjärjestelmässä eikä siitä puutu mitään, joten kaikki tarkistukset hyväksyivät sen. Tarkistukset havaitsevat sen, mikä rikkoo sovelluksen; väärä merkitys vaatii henkilön, joka lukee kieltä.
Pääpointti
Automaattiset tarkistukset koneellisen tuotoksen varalta tarvitsevat oikean tuotoksen, jota vasten testata. Yksikkötestit keksityillä käännöksillä menivät läpi; oikea malli, joka kirjoitti oikeaa japania, löysi aukot minuuteissa. Polyglot toimitetaan näiden tarkistusten kanssa, korjattuna, ja testien kanssa kullekin neljälle tapaukselle.