FunkcePluginCeníkZdroje
Změnit jazyk
ZdrojeJak Přeložit RTL Jazyky ve WordPressu: Arabština, Hebrejština, Perština

Jak Přeložit RTL Jazyky ve WordPressu: Arabština, Hebrejština, Perština

SimplePoTranslate Team20. března 2026
Jak Přeložit RTL Jazyky ve WordPressu: Arabština, Hebrejština, Perština

Právě jste dokončili překlad své WordPress šablony do arabštiny. Nahrajete soubor .mo, přepnete jazyk webu a výsledek je nečitelný. Text přetéká doleva, tlačítka se překrývají a vaše pečlivě navržené rozložení vypadá, jako by ho prohnal skartovačkou.

Vítejte ve světě jazyků psaných zprava doleva (RTL) – kde je překlad pouze polovina bitvy.

Arabština, hebrejština a perština (farsi) patří mezi nejrozšířenější jazyky na Zemi. Jen arabština má přes 400 milionů rodilých mluvčích. Pokud vaše stránka WordPress ignoruje toto publikum, necháváte na stole nemalé peníze. Ale sloužit jim vyžaduje víc než jen výměnu anglických slov za arabská. Vyžaduje to přehodnocení celého směru rozložení.

Tato příručka pokrývá vše, co potřebujete vědět: jak RTL funguje ve WordPressu, jak opravit CSS, jak zacházet se soubory .po s RTL řetězci a jak se vyhnout nejčastějším úskalím.

Jak RTL Funguje ve WordPressu

WordPress má vestavěnou podporu pro RTL. Když nastavíte jazyk svého webu na arabštinu (ar), hebrejštinu (he) nebo perštinu (fa), WordPress automaticky přidá dir="rtl" do tagu <html> a načte šablonu stylů rtl.css, pokud ji vaše šablona obsahuje.

To je teorie. V praxi většina šablon přichází s minimální nebo nefunkční podporou RTL.

Co se Skutečně Mění

Když se aktivuje režim RTL, prohlížeč zrcadlí celé rozložení stránky:

  • Text plyne zprava doleva.
  • Postranní panely si vymění strany.
  • Navigační nabídky obrátí pořadí.
  • Hodnoty odsazení a okrajů se převrátí (levá se stane pravou).
  • Ikony se směrovým významem (šipky, vodorovné úhelníky) je třeba zrcadlit.

Pokud byl CSS vašeho webu napsán pouze pro LTR, každá deklarace margin-left, padding-right, float: left a text-align: left nyní bojuje proti RTL enginu prohlížeče.

Oprava CSS pro RTL: Praktický Průvodce

Nejčistší přístup je používat CSS Logické Vlastnosti, které se automaticky přizpůsobí směru psaní dokumentu. Namísto left a right použijete inline-start a inline-end.

Předtím: Fyzické Vlastnosti (Rozbíjí se v 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;
}

Poté: Logické Vlastnosti (Funguje v Obou Směrech)

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

S logickými vlastnostmi napíšete CSS jednou a funguje správně v angličtině i arabštině bez jakýchkoli přepsání.

Metoda Přepsání [dir="rtl"]

Pokud nemůžete refaktorovat celý svůj stylopis, můžete cílit na RTL specificky pomocí selektorů atributů:

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

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

To funguje, ale zdvojnásobuje to vaši zátěž údržby. Pokaždé, když aktualizujete styly LTR, musíte také aktualizovat přepsání RTL.

Překlad PO Souborů s RTL Řetězci

Samotný překlad přináší výzvy, které přesahují rozložení. RTL jazyky mají jedinečné vlastnosti, které většinu automatizovaných nástrojů matou.

Obousměrný Text (Bidi) v PO Souborech

Skutečná složitost se objeví, když se RTL a LTR text smíchají v jednom řetězci. Zvažte tento běžný vzor WordPressu:

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

Zástupný symbol %s bude nahrazen anglickým názvem produktu, jako je "WooCommerce." Ve vykresleném výstupu musí prohlížeč zobrazit arabský text plynoucí zprava doleva, poté přepnout na zleva doprava pro anglické slovo a poté se potenciálně přepnout zpět.

Tomu se říká obousměrný text (nebo "bidi") a je to řešeno Unicode Bidirectional Algorithm. Většinou to funguje automaticky. Ale když máte více zástupných symbolů nebo čísel sousedících s RTL textem, vizuální pořadí se může stát nepředvídatelným.

Běžné Chyby Překladu

Obecné překladatelské nástroje dělají několik chyb specifických pro RTL:

  1. Obrácené pořadí zástupných symbolů. Řetězec jako %1$s out of %2$s může mít zaměněné zástupné symboly, protože je AI přeuspořádá tak, aby odpovídaly arabské gramatice. To produkuje nesprávný výstup jako "10 out of Page" místo "Page out of 10." Zjistěte více o ochraně proměnných kódu během překladu.

  2. Poškozená směrovost HTML. Pokud váš řetězec obsahuje inline HTML jako <span dir="ltr">, naivní překladatel může odstranit atribut dir nebo ho přeložit.

  3. Chybějící tvary množného čísla. Arabština má šest tvarů množného čísla – nula, jeden, dva, málo, mnoho a jiné. To je nejsložitější systém množného čísla ze všech jazyků, které WordPress podporuje. Nástroj, který generuje pouze dva tvary (jako anglické jednotné/množné číslo), ponechá váš arabský soubor .po poškozený. Pro hluboký ponor do toho, jak fungují množná čísla Gettext, si přečtěte naši příručku o komplexní pluralizaci ve WordPressu.

Tady je to, jak vypadá správně přeložený arabský řetězec množného čísla v souboru .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 تعليق"

Pokud je některý z těchto šesti tvarů prázdný nebo nesprávný, WordPress se vrátí k anglickému řetězci pro daný konkrétní počet. Vaši uživatelé uvidí "5 comments" v angličtině roztroušené po jinak plně arabském rozhraní.

Testování Vaší RTL Implementace

Překlad a oprava CSS nestačí. Musíte ověřit výsledek ve skutečném prohlížeči.

Rychlý Kontrolní Seznam Testování

  • Přepněte jazyk WordPressu na arabštinu v Nastavení > Obecné. Nepřidávejte pouze dir="rtl" ručně – použijte skutečné nastavení jazyka, aby WordPress načetl svá vlastní přepsání RTL.
  • Zkontrolujte navigační nabídky. Jsou zrcadlené? Otevírají se rozevírací nabídky ve správném směru?
  • Prohlédněte si pole formuláře. Vstupní text by měl plynout zprava doleva. Zástupný text by měl být zarovnán doprava.
  • Ověřte obsah smíšeného směru. Řetězce, které obsahují arabštinu i angličtinu (jako jsou názvy značek nebo adresy URL), by se měly vykreslovat ve správném vizuálním pořadí.
  • Testujte na mobilu. Chyby rozložení RTL jsou často závažnější na menších obrazovkách, kde je méně prostoru pro chyby zarovnání.

Pokud se vaše překlady vůbec nezobrazují, problém nemusí souviset s RTL – nejprve zkontrolujte kompilaci souboru .mo a cesty k souborům.

Triky Nástrojů pro Vývojáře Prohlížeče

V Chrome DevTools můžete dočasně vynutit RTL na jakékoli stránce bez změny nastavení WordPressu:

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

To vám poskytne rychlý náhled na to, jak vaše šablona zvládá RTL, ještě předtím, než začnete překládat.

Automatizace Překladu RTL Správným Způsobem

Ruční překlad RTL jazyků je drahý a pomalý. Profesionální arabští překladatelé si účtují prémiové sazby a je obtížné najít někoho, kdo rozumí jazyku i syntaxi Gettext specifické pro WordPress.

SimplePoTranslate to řeší pomocí AI s ohledem na kontext, která nativně rozumí výzvám specifickým pro RTL:

  • Všech šest arabských tvarů množného čísla je generováno automaticky. Náš engine čte hlavičku Plural-Forms ve vašem souboru .po a generuje přesně tolik tvarů, kolik cílový jazyk vyžaduje. Žádné prázdné sloty msgstr, žádné anglické náhradní řešení.
  • Bezpečnost zástupných symbolů. Proměnné jako %s, %d a %1$s jsou během překladu uzamčeny. AI je nemůže přeuspořádat, smazat nebo poškodit – i když arabská gramatika navrhuje jiné pořadí slov. Přečtěte si více o tom, jak uzamčení syntaxe chrání váš kód.
  • Obousměrný kontext. AI chápe, že řetězce smíšeného směru vyžadují speciální zacházení, a zachovává atributy směrovosti HTML.

Ať už lokalizujete blogovou šablonu pro hebrejské publikum nebo překládáte celý obchod WooCommerce do perštiny, proces je stejný: nahrajete soubor .po, vyberete cílový jazyk a stáhnete přeložený soubor. Celý pracovní postup trvá minuty, ne dny.

Pro kompletní návod na proces lokalizace WordPressu si přečtěte naši ultimátní příručku k lokalizaci WordPressu.

Přestaňte Považovat RTL za Dodatečnou Myšlenku

Jazyky psané zprava doleva představují přes miliardu potenciálních uživatelů. Arabština je pátý nejrozšířenější jazyk na světě. Hebrejština a perština slouží klíčovým trhům na Středním východě a ve Střední Asii.

Pokud váš web WordPress nemůže těmto uživatelům poskytnout vyladěný zážitek s nativním pocitem, najdou si konkurenta, který to dokáže.

Dobrá zpráva: WordPress již má infrastrukturu. Vaše šablona jen potřebuje správné CSS a vaše soubory .po potřebují překladatelský nástroj, který respektuje složitost RTL jazyků.

Jste připraveni přeložit svůj web WordPress do arabštiny, hebrejštiny nebo perštiny? Začněte zdarma na SimplePoTranslate.com

Související témata