OminaisuudetLisäosaHinnastoResurssit
Vaihda kieltä
ResurssitMiten korjata epäselvät käännökset WordPressin .po-tiedostoissa

Miten korjata epäselvät käännökset WordPressin .po-tiedostoissa

SimplePoTranslate Team11. toukokuuta 2026
Miten korjata epäselvät käännökset WordPressin .po-tiedostoissa

Käänsit jokaisen merkkijonon. Tallenit tiedoston, latasit .mo-tiedoston ja päivität sivustosi. Ja silti, kourallinen otsikoita on itsepintaisesti englanniksi. Avaat .po-tiedoston, löydät merkkijonon, ja siinä se on, täydellisesti käännettynä. Joten miksi WordPress jättää sen huomioimatta?

Vastaus on melkein aina pieni merkintä, joka piileskelee merkinnän yläpuolella: #, fuzzy. Epäselvä käännös on gettextin tapa sanoa "tämä käännös saattaa olla väärä, joten älä luota siihen vielä." Ja kriittisesti, WordPress kieltäytyy näyttämästä epäselviä merkkijonoja live-sivustolla, palaamalla sen sijaan alkuperäiseen englanninkieliseen. Tämä on yksi yleisimmin väärinymmärretyistä syistä "käännökseni ei näy" -ongelmaan.

Tämä opas selittää tarkalleen, mitä epäselvä käännös -merkintä tarkoittaa, miksi se ilmestyy jatkuvasti luetteloihisi ja miten löytää ja tyhjentää epäselvät merkkijonot Poeditissa, komentoriviltä ja laajasti koko kääntämättömien käännösten joukosta. Kun ymmärrät mekanismin, kadonneiden käännösten mysteeri katoaa.

Mitä fuzzy-merkintä todella tarkoittaa?

Fuzzy-merkintä on tunnus, jonka gettext lisää käännösmerkintään osoittamaan, että käännös on epävarma ja vaatii ihmisen tarkistuksen. Raaka .po-tiedostossa se näkyy erityisenä kommenttina suoraan merkkijonon yläpuolella.

#: includes/cart.php:88
#, fuzzy
msgid "Add to cart"
msgstr "Im Warenkorb"

Tuo #, fuzzy -rivi kertoo kaikille gettext-yhteensopiville työkaluille, mukaan lukien WordPressille, että sen alapuolella oleva msgstr on alustava. Käännös on olemassa, mutta gettext ei pidä sitä vahvistettuna.

Miksi WordPress ohittaa epäselvät merkkijonot

Tässä on käyttäytyminen, joka yllättää kaikki. Kun WordPress kääntää tai lukee .mo-tiedoston, se käsittelee epäselviä merkintöjä kääntämättöminä. Merkkijono on teknisesti tiedostossa, mutta WordPress jättää sen tarkoituksellisesti huomiotta ja näyttää sen sijaan alkuperäisen msgid:n.

Joten sinun näkökulmastasi käännös on "valmis", se on juuri siinä tiedostossa. Mutta WordPressin näkökulmasta kyseisellä merkkijonolla ei ole luotettavaa käännöstä, joten se näyttää englanninkielisen lähteen. Juuri siksi valmiin näköinen luettelo voi silti näyttää kääntämätöntä tekstiä käyttöliittymässä.

Tämä suunnittelu on harkittu ja, rehellisyyden nimissä, järkevä. Fuzzy-merkinnän koko tarkoitus on estää tarkistamattomien, mahdollisesti virheellisten käännösten pääsy julkaisuun äänettömästi. Kuvittele merkkijono, jossa alun perin luki "Delete account" ja joka myöhemmin muutettiin muotoon "Deactivate account." Jos gettext sokeasti säilyttäisi vanhan käännöksen, käyttäjäsi saattaisivat nähdä painikkeen "Delete account", joka todellisuudessa vain poistaa käytöstä, mikä on vaarallinen ristiriita. Piilottamalla epäselvät merkkijonot gettext pakottaa ihmisen vahvistamaan, että käännös vastaa edelleen uutta merkitystä ennen kuin se tavoittaa ketään. Merkintä on turvamekanismi, ei virhe.

Miksi fuzzy-merkintöjä ilmestyy jatkuvasti?

Fuzzy-merkinnät eivät ole satunnaisia. Gettext-työkalut luovat ne automaattisesti kahdessa pääasiallisessa tilanteessa, ja molempien ymmärtäminen kertoo, miten ne voidaan estää.

Lähdemerkkijono muuttui

Yleisin syy on lähdemerkkijonon päivitys. Kuvittele, että kehittäjä muuttaa merkkijonoa seuraavassa lisäosan versiossa "Add to cart":sta "Add to basket":iin. Kun yhdistät uuden mallin olemassa olevaan käännökseesi, gettext huomaa, että lähdemerkkijono ei enää vastaa sitä, mitä alun perin käänsit. Sen sijaan, että se heittäisi vanhan käännöksesi pois, se säilyttää sen, mutta merkitsee sen epäselväksi, periaatteessa sanoen: "englanninkielinen teksti muuttui, joten tarkista uudelleen, sopiiko käännöksesi edelleen."

Käännösmuistin ja msgmergen automaattinen vastaavuus

Toinen syy on epäselvä vastaavuus yhdistämisen aikana. msgmerge-työkalu päivittää vanhan käännöstiedoston uuden mallin perusteella, ja kun se löytää lähdemerkkijonon, joka on samankaltainen mutta ei identtinen aiemman kanssa, se kopioi vanhan käännöksen ja merkitsee sen epäselväksi.

# Merge a new template into an existing translation.
# Similar-but-changed strings get marked #, fuzzy automatically.
msgmerge --update awesome-plugin-de_DE.po awesome-plugin.pot

Käännösmuisti työpöytäeditoreissa toimii samalla tavalla: kun se täyttää ehdotuksen automaattisesti lähes täsmäävän kohdan perusteella, se merkitsee tuloksen epäselväksi, jotta muistat tarkistaa sen. Molemmissa tapauksissa merkintä tekee tehtävänsä. Ongelma on vain siinä, että epäselvät merkinnät jäävät tarkistamatta, ja WordPress piilottaa ne hiljaa.

On olemassa kolmas, ovelampi lähde, josta kannattaa tietää: kopioi-liitä- ja joukkoimportointityökalut. Jotkut käännösalustat ja tuontiskriptit merkitsevät jokaisen merkinnän epäselväksi oletusarvoisesti varovaisuussyistä, odottaen ihmisen vahvistavan jokaisen merkinnän jälkikäteen. Jos tuot luettelon toisesta järjestelmästä ja huomaat, että jokainen merkkijono on yhtäkkiä epäselvä, tämä on yleensä syy. Käännökset saattavat olla täysin kunnossa, mutta ennen kuin merkinnät on poistettu, yksikään niistä ei näy sivustollasi. Merkintöjen lähteen tunteminen kertoo, tarvitseeko sinun todella tarkistaa jokainen merkintä vai onko luotettava joukkopoisto turvallinen.

Miten löydät ja korjaat epäselvät merkkijonot?

Epäselvien merkkijonojen poistaminen tarkoittaa jokaisen merkkijonon tarkistamista ja, kun olet vahvistanut käännöksen olevan oikein, merkinnän poistamista. Tähän on kolme käytännöllistä tapaa työn koosta riippuen.

Epäselvien merkkijonojen korjaaminen Poeditissa

Poedit tekee tästä helpointa. Avaa .po-tiedosto ja käytä haku- ja suodatusohjaimia näyttääksesi vain epäselvät merkinnät – ne ovat värikoodattuja (yleensä oransseja), joten ne erottuvat välittömästi. Napsauta jokaista, vahvista tai korjaa käännös ja poista sitten epäselvä tila pikanäppäimellä (Muokkaa ja sitten "Käännös on epäselvä" tai valikossa näkyvä pikanäppäin). Kun tallennat, Poedit uudelleenkääntää puhtaan .mo-tiedoston ja nyt vahvistetut merkkijonot näkyvät sivustollasi. Jos olet uusi käyttäjä kyseisessä editorissa, täydellinen Poedit-opas kattaa suodatus- ja tarkistusprosessin yksityiskohtaisesti.

Epäselvien merkkijonojen korjaaminen komentoriviltä

Automaation tai suurten luetteloiden tapauksessa komentorivi on nopeampi. Voit laskea epäselvät merkinnät ja, kun olet tarkistanut ne joukossa, poistaa merkinnät, jotta WordPress lataa ne.

# Count how many fuzzy strings remain
msgattrib --only-fuzzy --no-obsolete awesome-plugin-de_DE.po | grep -c "msgid"

# Clear all fuzzy flags (only after you trust the translations)
msgattrib --clear-fuzzy --empty awesome-plugin-de_DE.po \
  --output-file=awesome-plugin-de_DE.po

Ole varovainen massatyhjennyksen kanssa. Fuzzy-merkintöjen poistaminen tarkistamatta käännöksiä kumoaa merkinnän tarkoituksen ja voi toimittaa käyttäjillesi todella väärää tekstiä. Käytä komentorivimenetelmää, kun luotat käännösten lähteeseen, ja manuaalista Poedit-reittiä, kun et luota.

Turvallinen keskitie on viedä epäselvät merkkijonot erilliseen tiedostoon, tarkistaa vain ne ja yhdistää ne takaisin. Tämä pitää vahvistetut käännöksesi ennallaan, kun keskityt vain niihin merkintöihin, jotka todella tarvitsevat huomiota.

# Extract only the fuzzy entries for focused review
msgattrib --only-fuzzy --no-obsolete awesome-plugin-de_DE.po \
  --output-file=fuzzy-only.po

Viidenkymmenen eristetyn merkkijonon tarkistaminen on paljon vähemmän virhealtista kuin tuhannen rivin luettelon selaaminen oranssien rivien etsimiseksi, ja se antaa sinulle selkeän tiedon siitä, mitä viimeisimmässä päivityksessä tarkalleen ottaen muuttui.

Merkintöjen poistamisen jälkeen tallenna tai uudelleenkäännä .mo-tiedosto aina uudelleen. Fuzzy-tila on .po-tiedostossa, mutta WordPress lukee binäärisen .mo-tiedoston, joten ennen kuin luot sen uudelleen, etusivusi näyttää edelleen englantia, vaikka .po näyttäisi puhtaalta. Poedit kääntää uudelleen automaattisesti tallennettaessa; komentoriviltä suoritat msgfmt awesome-plugin-de_DE.po -o awesome-plugin-de_DE.mo. Tämän viimeisen kääntövaiheen unohtaminen on yksi yleisimmistä syistä siihen, miksi juuri tarkistettu luettelo ei edelleenkään näy – käännös on vahvistettu lähdetiedostossa, mutta sivuston lataama binääritiedosto on vanhentunut.

Huomaa, että epäselviä merkintöjä ilmestyy usein monikkomerkkijonojen yhteyteen, joissa muuttunut msgid_plural voi merkitä koko monikkolohkon epäselväksi. Jos epäselvien käännösten joukossa on paljon määriin liittyviä merkintöjä, oppaamme Gettext-monikot ja monimutkainen monikkomuotoilu selittää, miksi nämä merkinnät ovat erityisen herkkiä yhdistämisten aikana.

Epäselvien käännösten joukon tyhjentäminen laajassa mittakaavassa

Yksi epäselvä merkkijono on kolmenkymmenen sekunnin korjaus. Luettelo, jossa on neljäsataa epäselvää merkkijonoa suuren lisäosan päivityksen jälkeen, on eri ongelma, ja kymmenellä kielellä se muuttuu todelliseksi pullonkaulaksi. Kiusaus tyhjentää merkinnät massana tarkistamatta on juuri se tapa, jolla rikkoutuneet käännökset päätyvät tuotantoon.

Puhtaampi ratkaisu on kääntää epäselvät merkinnät uudelleen sen sijaan, että hyväksyisi vanhentuneita vastaavuuksia. Kun ajat luettelon SimplePoTranslate-palvelun läpi, kontekstitietoinen tekoäly tuottaa ajantasaisen, vahvistetun käännöksen jokaiselle muuttuneelle merkkijonolle, joten et vain poista varoitusmerkintää, vaan korvaat epävarmat vastaavuudet todellisilla käännöksillä. Syntax Locking pitää kaikki %s, %1$s, {count} ja HTML-tagit ennallaan käsittelyn aikana, ja Smart Batching käsittelee suuret päivityksen jälkeiset luettelot kerralla. Saat takaisin puhtaan ZIP-tiedoston, joka sisältää .po, .mo, .json, .php ja .xliff-tiedostot, ilman viivytteleviä epäselviä käännöksiä, valmiina käyttöönotettavaksi pilvestä.

Tämä kannattaa erottaa laajemmasta kysymyksestä, miksi käännökset eivät ylipäätään näy. Fuzzy-merkinnät ovat yksi spesifinen syy, mutta puuttuvat .mo-tiedostot, väärät tiedostonimet ja aluekohtaiset ristiriidat aiheuttavat saman oireen. Täydellisen vianmäärityksen tarkistuslistan löydät vianmääritysoppaastamme käännösten puuttumiseen WordPressissä, joka käsittelee epäselviä merkkijonoja yhtenä kohtana laajemmassa listassa.

Haluatko tyhjentää koko epäselvien käännösten joukon ja saada jokaisen merkkijonon näkymään sivustollasi? Kokeile SimplePoTranslatea ilmaiseksi — luottokorttia ei tarvita. Ilmainen taso kääntää .po-tiedostosi uudelleen tuoreeltaan, korvaten epävarmat epäselvät vastineet puhtailla, vahvistetuilla käännöksillä.

Aiheeseen liittyvät aiheet