Näin käännät RTL-kieliä WordPressissä: arabia, heprea, persia

Olet juuri saanut valmiiksi WordPress-teemasi kääntämisen arabiaksi. Lataat .mo-tiedoston, vaihdat sivuston kielen, ja tulos on lukukelvoton. Teksti valuu vasemmalle, painikkeet menevät päällekkäin, ja huolellisesti suunniteltu asettelusi näyttää siltä kuin se olisi syötetty paperisilppurin läpi.
Tervetuloa oikealta vasemmalle (RTL) -kielten maailmaan – jossa kääntäminen on vain puolet taistelusta.
Arabia, heprea ja persia (farsi) ovat maailman puhutuimpien kielten joukossa. Pelkästään arabiaa puhuu yli 400 miljoonaa ihmistä äidinkielenään. Jos WordPress-sivustosi ei huomioi näitä kohderyhmiä, jätät vakavaa rahaa pöydälle. Mutta heidän palvelemisensa vaatii enemmän kuin englanninkielisten sanojen vaihtamista arabiankielisiin. Se vaatii koko asettelusi suunnan uudelleen miettimistä.
Tämä opas kattaa kaiken, mitä sinun tarvitsee tietää: miten RTL toimii WordPressissä, miten korjata CSS, miten käsitellä .po-tiedostoja RTL-merkkijonoilla ja miten välttää yleisimmät sudenkuopat.
Miten RTL Toimii WordPressissä
WordPressillä on sisäänrakennettu RTL-tuki. Kun asetat sivustosi kieleksi arabiaksi (ar), hepreaksi (he) tai persiaksi (fa), WordPress lisää automaattisesti dir="rtl" <html>-tunnisteeseen ja lataa rtl.css-tyylitiedoston, jos teemasi tarjoaa sellaisen.
Tämä on teoria. Käytännössä useimmissa teemoissa on minimaalinen tai rikkinäinen RTL-tuki.
Mitä Todella Muuttuu
Kun RTL-tila aktivoituu, selain peilaa koko sivun asettelun:
- Teksti virtaa oikealta vasemmalle.
- Sivupalkit vaihtavat puolta.
- Navigointivalikot kääntyvät päinvastaiseksi.
- Padding- ja margin-arvot kääntyvät (vasemmasta tulee oikea).
- Suunnalla olevat kuvakkeet (nuolet, chevronit) on peilattava.
Jos teemasi CSS on kirjoitettu vain LTR:lle, jokainen margin-left, padding-right, float: left ja text-align: left -määritys taistelee nyt selaimen RTL-moottoria vastaan.
CSS:n Korjaaminen RTL:lle: Käytännön Opas
Puhdas tapa on käyttää CSS:n loogisia ominaisuuksia, jotka mukautuvat automaattisesti asiakirjan kirjoitussuuntaan. left ja right sijaan käytät inline-start ja inline-end.
Ennen: Fyysiset Ominaisuudet (Rikkovat RTL:ssä)
/* LTR-only CSS -- breaks in Arabic */
.sidebar {
float: left;
margin-right: 20px;
}
.nav-arrow {
padding-left: 10px;
text-align: left;
}
.card {
border-left: 3px solid #0073aa;
}
Jälkeen: Loogiset Ominaisuudet (Toimivat Molempiin Suuntiin)
/* Direction-agnostic CSS -- works in both LTR and RTL */
.sidebar {
float: inline-start;
margin-inline-end: 20px;
}
.nav-arrow {
padding-inline-start: 10px;
text-align: start;
}
.card {
border-inline-start: 3px solid #0073aa;
}
Loogisten ominaisuuksien avulla kirjoitat CSS:si kerran, ja se toimii oikein sekä englanniksi että arabiaksi ilman mitään ohituksia.
[dir="rtl"] Ohitusmenetelmä
Jos et voi uudelleenjärjestää koko tyylitiedostoasi, voit kohdistaa RTL:ään erityisesti käyttämällä attribuuttivalitsimia:
[dir="rtl"] .sidebar {
float: right;
margin-left: 20px;
margin-right: 0;
}
[dir="rtl"] .nav-arrow {
padding-left: 0;
padding-right: 10px;
text-align: right;
}
Tämä toimii, mutta se kaksinkertaistaa ylläpitokuormasi. Joka kerta kun päivität LTR-tyylejäsi, sinun on päivitettävä myös RTL-ohitukset.
PO-Tiedostojen Kääntäminen RTL-Merkkijonoilla
Itse käännös tuo mukanaan haasteita, jotka ylittävät asettelun. RTL-kielillä on ainutlaatuisia ominaisuuksia, jotka kompastuttavat useimmat automatisoidut työkalut.
Kaksisuuntainen Teksti (Bidi) PO-Tiedostoissa
Todellinen monimutkaisuus ilmenee, kun RTL- ja LTR-teksti sekoittuvat yhdessä merkkijonossa. Harkitse tätä yleistä WordPress-mallia:
msgid "Powered by %s"
msgstr "مدعوم بواسطة %s"
%s-paikkamerkki korvataan englanninkielisellä tuotenimellä, kuten "WooCommerce". Renderoidussa tulosteessa selaimen on näytettävä arabiankielinen teksti, joka virtaa oikealta vasemmalle, sitten vaihdettava vasemmalta oikealle englanninkielisen sanan kohdalla ja mahdollisesti vaihdettava takaisin.
Tätä kutsutaan kaksisuuntaiseksi tekstiksi (tai "bidi"), ja sitä käsitellään Unicode Bidirectional Algorithm-algoritmilla. Useimmiten se toimii automaattisesti. Mutta kun sinulla on useita paikkamerkkejä tai numeroita vierekkäin RTL-tekstin kanssa, visuaalinen järjestys voi muuttua arvaamattomaksi.
Yleiset Käännösvirheet
Yleiset käännöstyökalut tekevät useita RTL-kohtaisia virheitä:
-
Paikkamerkkien järjestys on käännetty. Merkkijono, kuten
%1$s out of %2$s, saattaa saada paikkamerkit vaihdettua, koska tekoäly järjestää ne uudelleen vastaamaan arabian kielioppia. Tämä tuottaa virheellisen tulosteen, kuten "10 out of Page" eikä "Page out of 10". Lue lisää koodimuuttujien suojaamisesta käännöksen aikana. -
Rikkinäinen HTML-suunta. Jos merkkijonosi sisältää inline-HTML:ää, kuten
<span dir="ltr">, naiivi kääntäjä saattaa poistaadir-attribuutin tai kääntää sen. -
Puuttuvat monikkomuodot. Arabiassa on kuusi monikkomuotoa – nolla, yksi, kaksi, muutama, monta ja muu. Tämä on monimutkaisin monikkojärjestelmä kaikista WordPressin tukemista kielistä. Työkalu, joka luo vain kaksi muotoa (kuten englanninkielinen yksikkö/monikko), jättää arabiankielisen
.po-tiedostosi rikki. Syvällisen katsauksen Gettext-monikoiden toimintaan saat oppaastamme monimutkaisesta monikollistamisesta WordPressissä.
Tältä näyttää oikein käännetty arabiankielinen monikkomerkkijono .po-tiedostossa:
# Arabic: nplurals=6
msgid "%d comment"
msgid_plural "%d comments"
msgstr[0] "لا تعليقات"
msgstr[1] "تعليق واحد"
msgstr[2] "تعليقان"
msgstr[3] "%d تعليقات"
msgstr[4] "%d تعليقًا"
msgstr[5] "%d تعليق"
Jos jokin näistä kuudesta muodosta on tyhjä tai virheellinen, WordPress käyttää kyseiselle määrälle englanninkielistä merkkijonoa. Käyttäjäsi näkevät "5 comments" englanniksi hajallaan muuten täysin arabiankielisessä käyttöliittymässä.
RTL-Toteutuksesi Testaaminen
Kääntäminen ja CSS:n korjaaminen ei riitä. Sinun on varmistettava tulos todellisessa selaimessa.
Nopea Testauslista
- Vaihda WordPressin kieli arabiaksi kohdassa Asetukset > Yleiset. Älä vain lisää
dir="rtl"manuaalisesti – käytä todellista kieliasetusta, jotta WordPress lataa omat RTL-ohituksensa. - Tarkista navigointivalikot. Onko ne peilattu? Avautuvatko pudotusvalikot oikeaan suuntaan?
- Tarkasta lomakekentät. Syötetyn tekstin pitäisi virrata oikealta vasemmalle. Paikkamerkkitekstin pitäisi olla oikealle tasattu.
- Varmista seka-suuntaisen sisällön toimivuus. Merkkijonojen, jotka sisältävät sekä arabiaa että englantia (kuten tuotemerkkejä tai URL-osoitteita), pitäisi renderöityä oikeassa visuaalisessa järjestyksessä.
- Testaa mobiilissa. RTL-asetteluvirheet ovat usein vakavampia pienemmillä näytöillä, joissa on vähemmän tilaa kohdistusvirheille.
Jos käännöksesi eivät näy ollenkaan, ongelma saattaa olla RTL:stä riippumaton – tarkista ensin .mo-tiedoston kääntäminen ja tiedostopolut.
Selaimen Kehittäjätyökalujen Temppu
Chrome DevToolsissa voit väliaikaisesti pakottaa RTL:n mille tahansa sivulle muuttamatta WordPressin asetuksia:
/* Paste in DevTools console as: document.documentElement.dir = 'rtl' */
html {
direction: rtl;
}
Tämä antaa sinulle nopean esikatselun siitä, miten teemasi käsittelee RTL:ää, jo ennen kuin aloitat kääntämisen.
RTL-Käännöksen Automatisointi Oikealla Tavalla
RTL-kielten manuaalinen kääntäminen on kallista ja hidasta. Ammattimaiset arabian kääntäjät veloittavat premium-hintoja, ja on vaikeaa löytää henkilöä, joka ymmärtää sekä kieltä että WordPress-spesifistä Gettext-syntaksia.
SimplePoTranslate ratkaisee tämän kontekstitietoisella tekoälyllä, joka ymmärtää RTL-spesifiset haasteet luonnostaan:
-
Kaikki kuusi arabian monikkomuotoa luodaan automaattisesti. Moottorimme lukee
.po-tiedostosiPlural-Forms-otsikon ja tuottaa täsmälleen sen määrän muotoja, joita kohdekielesi vaatii. Ei tyhjiämsgstr-paikkoja, ei englanninkielisiä varamuotoja. -
Paikkamerkkien turvallisuus. Muuttujat, kuten
%s,%dja%1$s, lukitaan käännöksen aikana. Tekoäly ei voi järjestää niitä uudelleen, poistaa niitä tai vioittaa niitä – vaikka arabian kielioppi ehdottaisi erilaista sanajärjestystä. Lue lisää siitä, miten syntaksin lukitus suojaa koodiasi. -
Kaksisuuntainen konteksti. Tekoäly ymmärtää, että seka-suuntaisia merkkijonoja on käsiteltävä erityisesti, ja säilyttää HTML-suunta-attribuutit.
Olitpa lokalisointi blogiteemaa heprealaiselle yleisölle tai kääntämässä koko WooCommerce-kauppaa persiaksi, prosessi on sama: lataa .po-tiedostosi, valitse kohdekielesi ja lataa käännetty tiedosto. Koko työnkulku vie minuutteja, ei päiviä.
Täydellisen läpikäynnin WordPressin lokalisointiprosessista saat täydellisestä oppaastamme WordPressin lokalisointiin.
Lopeta RTL:n Kohtelu Jälkijättöisesti
Oikealta vasemmalle -kielet edustavat yli miljardia potentiaalista käyttäjää. Arabia on maailman viidenneksi puhutuin kieli. Heprea ja persia palvelevat kriittisiä markkinoita Lähi-idässä ja Keski-Aasiassa.
Jos WordPress-sivustosi ei pysty palvelemaan näitä käyttäjiä hiotulla, natiivin tuntuisella kokemuksella, he löytävät kilpailijan, joka pystyy.
Hyvä uutinen: WordPressillä on jo infrastruktuuri. Teemasi tarvitsee vain oikean CSS:n, ja .po-tiedostosi tarvitsevat käännöstyökalun, joka kunnioittaa RTL-kielten monimutkaisuutta.
Oletko valmis kääntämään WordPress-sivustosi arabiaksi, hepreaksi tai persiaksi? Aloita ilmaiseksi osoitteessa SimplePoTranslate.com