CaracteristiciPluginPrețuriResurse
Schimbă limba
ResurseCum să traduci limbi RTL în WordPress: arabă, ebraică, persană

Cum să traduci limbi RTL în WordPress: arabă, ebraică, persană

SimplePoTranslate Team20 martie 2026
Cum să traduci limbi RTL în WordPress: arabă, ebraică, persană

Tocmai ai terminat de tradus tema ta WordPress în arabă. Încarci fișierul .mo, schimbi limba site-ului, iar rezultatul este ilizibil. Textul se revarsă spre stânga, butoanele se suprapun, iar layout-ul tău proiectat cu atenție arată ca și cum ar fi fost trecut printr-un distrugător de hârtie.

Bine ai venit în lumea limbilor de la dreapta la stânga (RTL) -- unde traducerea este doar jumătate din luptă.

Araba, ebraica și persana (farsi) sunt printre cele mai vorbite limbi de pe pământ. Numai araba are peste 400 de milioane de vorbitori nativi. Dacă site-ul tău WordPress ignoră aceste audiențe, pierzi o grămadă de bani. Dar a le servi necesită mai mult decât înlocuirea cuvintelor englezești cu cele arabe. Necesită regândirea întregii direcții a layout-ului tău.

Acest ghid acoperă tot ce trebuie să știi: cum funcționează RTL în WordPress, cum să-ți corectezi CSS-ul, cum să gestionezi fișierele .po cu șiruri RTL și cum să eviți cele mai comune capcane.

Cum funcționează RTL în WordPress

WordPress are suport RTL încorporat. Când setezi limba site-ului tău în arabă (ar), ebraică (he) sau persană (fa), WordPress adaugă automat dir="rtl" la tag-ul <html> și încarcă o foaie de stil rtl.css dacă tema ta oferă una.

Aceasta este teoria. În practică, majoritatea temelor vin cu suport RTL minim sau defectuos.

Ce se schimbă de fapt

Când modul RTL se activează, browserul oglindește întregul layout al paginii:

  • Textul curge de la dreapta la stânga.
  • Barele laterale își schimbă părțile.
  • Meniurile de navigare inversează ordinea.
  • Valorile de padding și margin se inversează (stânga devine dreapta).
  • Icoanele cu semnificație direcțională (săgeți, chevrons) trebuie să fie oglindite.

Dacă CSS-ul temei tale a fost scris doar pentru LTR, fiecare declarație margin-left, padding-right, float: left și text-align: left luptă acum împotriva motorului RTL al browserului.

Corectarea CSS-ului tău pentru RTL: Un ghid practic

Cea mai curată abordare este utilizarea Proprietăților Logice CSS, care se adaptează automat la direcția de scriere a documentului. În loc de left și right, folosești inline-start și inline-end.

Înainte: Proprietăți Fizice (Se strică în RTL)

/* 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;
}

După: Proprietăți Logice (Funcționează în Ambele Direcții)

/* 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;
}

Cu proprietățile logice, îți scrii CSS-ul o singură dată și funcționează corect atât în engleză, cât și în arabă, fără nicio suprascriere.

Metoda de Suprascriere [dir="rtl"]

Dacă nu poți refactoriza întreaga foaie de stil, poți viza RTL specific folosind selectori de atribute:

[dir="rtl"] .sidebar {
  float: right;
  margin-left: 20px;
  margin-right: 0;
}

[dir="rtl"] .nav-arrow {
  padding-left: 0;
  padding-right: 10px;
  text-align: right;
}

Aceasta funcționează, dar îți dublează povara de întreținere. De fiecare dată când actualizezi stilurile LTR, trebuie să actualizezi și suprascrierile RTL.

Traducerea fișierelor PO cu șiruri RTL

Traducerea în sine introduce provocări care depășesc layout-ul. Limbile RTL au caracteristici unice care împiedică majoritatea instrumentelor automatizate.

Text Bidirecțional (Bidi) în fișiere PO

Complexitatea reală apare atunci când textul RTL și LTR se amestecă într-un singur șir. Ia în considerare acest model comun WordPress:

msgid "Powered by %s"
msgstr "مدعوم بواسطة %s"

Substituentul %s va fi înlocuit cu un nume de produs în engleză, cum ar fi "WooCommerce." În rezultatul redat, browserul trebuie să afișeze text arab care curge de la dreapta la stânga, apoi să treacă la stânga la dreapta pentru cuvântul englezesc, apoi potențial să revină.

Aceasta se numește text bidirecțional (sau "bidi") și este gestionat de Algoritmul Bidirecțional Unicode. De cele mai multe ori, funcționează automat. Dar atunci când ai mai mulți substituenți sau numere adiacente textului RTL, ordinea vizuală poate deveni imprevizibilă.

Greșeli comune de traducere

Instrumentele generice de traducere fac mai multe erori specifice RTL:

  1. Ordinea inversată a substituenților. Un șir ca %1$s din %2$s ar putea schimba substituenții, deoarece AI-ul îi reordonează pentru a se potrivi cu gramatica arabă. Aceasta produce o ieșire incorectă, cum ar fi "10 din Pagină" în loc de "Pagina din 10." Află mai multe despre protejarea variabilelor de cod în timpul traducerii.

  2. Direcționalitate HTML stricată. Dacă șirul tău conține HTML inline, cum ar fi <span dir="ltr">, un traducător naiv ar putea elimina atributul dir sau l-ar putea traduce.

  3. Forme de plural lipsă. Araba are șase forme de plural -- zero, unu, doi, puțini, mulți și altele. Acesta este cel mai complex sistem plural dintre toate limbile pe care le acceptă WordPress. Un instrument care generează doar două forme (cum ar fi singular/plural englezesc) va lăsa fișierul tău .po arab stricat. Pentru o scufundare profundă în modul în care funcționează pluralurile Gettext, vezi ghidul nostru despre pluralizarea complexă în WordPress.

Iată cum arată un șir plural arab tradus corect într-un fișier .po:

# 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 تعليق"

Dacă oricare dintre aceste șase forme este goală sau incorectă, WordPress va reveni la șirul englezesc pentru acea numărătoare specifică. Utilizatorii tăi vor vedea "5 comments" în engleză împrăștiate printr-o interfață altfel complet arabă.

Testarea implementării tale RTL

Traducerea și corectarea CSS-ului nu sunt suficiente. Trebuie să verifici rezultatul într-un browser real.

O listă de verificare rapidă pentru testare

  • Schimbă limba WordPress în arabă în Setări > General. Nu doar adăuga manual dir="rtl" -- folosește setarea reală a limbii, astfel încât WordPress să-și încarce propriile suprascrieri RTL.
  • Verifică meniurile de navigare. Sunt oglindite? Se deschid meniurile derulante în direcția corectă?
  • Inspectează câmpurile formularului. Textul introdus ar trebui să curgă de la dreapta la stânga. Textul substitutor ar trebui să fie aliniat la dreapta.
  • Verifică conținutul cu direcție mixtă. Șirurile care conțin atât arabă, cât și engleză (cum ar fi nume de mărci sau URL-uri) ar trebui să se redea în ordinea vizuală corectă.
  • Testează pe mobil. Erorile de layout RTL sunt adesea mai severe pe ecrane mai mici, unde este mai puțin spațiu pentru erori de aliniere.

Dacă traducerile tale nu apar deloc, problema ar putea fi fără legătură cu RTL -- verifică mai întâi compilarea fișierului .mo și căile fișierelor.

Truc cu instrumentele de dezvoltare ale browserului

În Chrome DevTools, poți forța temporar RTL pe orice pagină fără a schimba setările WordPress:

/* Paste in DevTools console as: document.documentElement.dir = 'rtl' */
html {
  direction: rtl;
}

Acest lucru îți oferă o previzualizare rapidă a modului în care tema ta gestionează RTL înainte chiar de a începe traducerea.

Automatizarea traducerii RTL în modul corect

Traducerea manuală a limbilor RTL este costisitoare și lentă. Traducătorii profesioniști de arabă percep tarife premium, iar găsirea cuiva care înțelege atât limba, cât și sintaxa Gettext specifică WordPress este dificilă.

SimplePoTranslate rezolvă acest lucru cu un motor AI sensibil la context care înțelege provocările specifice RTL în mod nativ:

  • Toate cele șase forme de plural arabe sunt generate automat. Motorul nostru citește antetul Plural-Forms din fișierul tău .po și produce exact numărul de forme pe care le cere limba ta țintă. Fără sloturi msgstr goale, fără fallback-uri în engleză.
  • Siguranța substituenților. Variabilele precum %s, %d și %1$s sunt blocate în timpul traducerii. AI-ul nu le poate reordona, șterge sau corupe -- chiar și atunci când gramatica arabă sugerează o ordine diferită a cuvintelor. Citește mai multe despre modul în care blocarea sintaxei îți protejează codul.
  • Context bidirecțional. AI-ul înțelege că șirurile cu direcție mixtă necesită o gestionare specială și păstrează atributele de direcționalitate HTML.

Indiferent dacă localizezi o temă de blog pentru un public ebraic sau traduci un magazin WooCommerce complet în persană, procesul este același: încarcă fișierul .po, selectează limba țintă și descarcă fișierul tradus. Întregul flux de lucru durează minute, nu zile.

Pentru o prezentare completă a procesului de localizare WordPress, vezi ghidul nostru suprem pentru localizarea WordPress.

Nu mai trata RTL ca pe un lucru secundar

Limbile de la dreapta la stânga reprezintă peste un miliard de utilizatori potențiali. Araba este a cincea cea mai vorbită limbă din lume. Ebraica și persana deservesc piețe critice din Orientul Mijlociu și Asia Centrală.

Dacă site-ul tău WordPress nu poate servi acești utilizatori cu o experiență nativă, șlefuită, aceștia vor găsi un concurent care poate.

Vestea bună: WordPress are deja infrastructura. Tema ta are nevoie doar de CSS adecvat, iar fișierele .po au nevoie de un instrument de traducere care să respecte complexitatea limbilor RTL.

Ești gata să-ți traduci site-ul WordPress în arabă, ebraică sau persană? Începe gratuit la SimplePoTranslate.com