Wordpress téma, hogyan kell lefordítani más nyelvre

Ne figyeljen más nyelveken a fejlesztés a WordPress téma nagyon egyszerű, de ez egy rossz szokás, és ő azonnal elutasítja a WordPress felhasználói piacon, és az esetleges ezer dolláros bevételkiesést okoznak. Az első 10 ország, hogy keres a Google WordPress témák, csak egy angol nyelvű (USA), a másik - 9. Abban az időben írom ezt a cikket az adatbázisban WordPress téma a több mint 1500 minden volt 269 rá van írva, kész fordítást. Ez csak 18%. Megmutatom, hogyan teheti alá egyiket.

Ez hogy működik

A megoldás erre a problémára -, hogy visszatérjen-e a szövegbevitel segítségével az egyik a négy funkció WordPress, amelyek célja, hogy küldje el a fájlt, hogy a nyelv a szöveget. Amikor szöveges zárt ezeket a funkciókat, akkor létrehozhat egy fájlt, amely az összes fordítást, és ami viszont minden alkalommal a téma betöltésekor.

Íme három fájlátvitel. hogy az általunk használt:

  • .pot (Portable Object Template) - a sablon, amely tartalmazza a linket a szöveg egyes sorai a téma, hogy le kell fordítani. A fájl nem tartalmaz fordítást. Ez egy egyszerű szöveges fájl.
  • .po (Portable Object) - létrehozott .pot fájlt. po minden húrok és fordítások egy adott nyelvet. Ez is egy szöveges fájl, amely lehet szerkeszteni.
  • .mo (Machine Object) - bináris változata a .po fájlt. Ha ön használ natív kód, a fájl használható sokkal gyorsabban, mint a szöveges változata.

1. lépés: a négy funkció

Mind a négy funkció használatához legalább egy érv - a kívánt szöveget lefordítani. funkciók:

__ () és _E ()

Ez a legegyszerűbb funkció átalakítására, amely tud nyújtani WordPress. Nézzünk egy példát az egyes funkciók:

Mindkét funkciók teszik ugyanezt. Jóváhagyása „ez egy post” ellenőrizzük jelenlétét a .mo fájlt, és visszaadja az eredményt.

__ () és _e () függvény csak egy érv, amit át kell adni - a szöveg fordításra. Az egyetlen különbség a két funkciót - a __ () kifejezés kell álljon a visszhang. Nézzünk egy példát, ahol __ () jobban működik, mint _E ():

Ahelyett továbbítja _content () függvény karakterlánc. használtuk __ (). fordítandó szöveget. Ha ehelyett a _e (). ahelyett, hogy továbbítja a szöveget the_content (). fordítását a szöveg jelenik meg a dokumentumban, ami okozhat mindenféle bajt.

Mi van, ha olyan helyzetben, amikor a szöveget, amit rajzolni lehet többes szám vagy egyedi, „X megjegyzések” a fenti példában? Ahelyett, hogy két különböző vonalak fordítandó szöveget, akkor azt mondják, hogy van egy része a szöveg, amelyre szüksége van a fordítás egységes és többes számban. A következő két példa a kimenet a felhasználó ugyanazt az eredményt:

_x () és _ex ()

Tegyük fel, hogy az Ön által fordított .pot fájlt, elhalad a „scroll”. Értelmezed, mint „egy darab csavart papír” vagy „lefelé görgetve az oldalon?” Akkor használja a helyi megmagyarázni, hogy miért kell fordítani. Ezek a funkciók kapsz ezt a lehetőséget, mint a második, kötelező attribútum, amely megköveteli egy rövid leírást a kifejezések vagy szavak. Nézd meg egy példát:

korszerű technikák

Tegyük fel, hogy van egy helyzet, amikor a szöveget, amit szeretne generálni, amely egy szöveg, amely az eredménye egy funkció vagy változó értékét valahol benne. Érdemes lehet írni, valahogy így:

Amikor létrehozza a .pot fájl Poedit figyelmen kívül hagyja, mert nem akarja, hogy egy változót egy mondatban. A .pot fájl hozzáadva Kiválasztotta a $ szín felhasználásával. de amikor a keresés lesz a fordítás, amikor a szkript lefut, akkor kiegyenlített a húr Kiválasztotta a kék témát. amelyek nem találhatók meg. Ez az, amit teszünk:

Így a script képes lesz fogadni a pénzt, de ez mára nehéz lefordítani, mivel a kínálat van törve. Ez az ajánlat nem is lehet több nyelvre lefordított, amelyek nagyon eltérő szintaxis, például a német, ahol a szó fordítása „kiválasztott”, hogy a végén a mondat. Meg kell magyarázni, hogy ez két külön sor szöveget - egy része, és hogy a „téma” lehet fordítani a „téma”.

Megoldás - hogy egyetlen sort. Itt hasznos lesz a printf () vagy sprintf (). Nézzük meg, mi kell kinéznie kód:

Ez nem csak megoldani a problémát, de ez sokkal inkább óvatos végrehajtás, és csupán egy sor kód. Az első argumentum printf () vagy a sprintf () - karakterlánc kimenet, amely magában foglalja a legalább egy töltőanyagot, ebben az esetben a% s (ami azt jelenti, típusa szerint „string”), és az összes többi érv - változókat kell beilleszteni a kiindulási vonal .

Sok különböző töltőanyagok, amelynek segítségével a húr, megtalálja egy teljes lista a sprintf a PHP kézikönyv. Vegye figyelembe, hogy a különbség a printf () és az sprintf (), mint a különbség _e () és a __ (), ill.

2. lépés: Bevezetés a POEdit

Most, hogy megfelelően megjelölte az összes kimenetet a téma szöveget, meg kell gyűjteni az információkat egy .pot fájlt. POEdit - egy fantasztikus program, amely lehetővé teszi, hogy a .pot fájlt, és azt is előírja egy könnyen használható GUI, amelyeket fel lehet használni, hogy elkészítette a tagjai által elkészített, és ami még fontosabb, azt is .mo fájlokat.

Először is, le kell töltenie POEdit. amely megtalálható a Windows, Mac és Linux ezen a linken.

Amikor POEdit telepítve, akkor létrehozhatunk .pot fájlt. Ehhez menj a Fájl → Új katalógus. Látni fogja, egy párbeszédablak, ahol meg kell adnia az alapvető adatokat. A „Project Info” fül - a projekt nevét és a nyelvet / országot. Azt is meg a „többes számú alakok” rész a következő:

Többes számú alakokra. nplurals = 2; ! Plural = n = 1;

Wordpress téma, hogyan kell lefordítani más nyelvre

A „Paths” lapon adja meg az útvonalat, ahol a fájlok találhatók kapcsolatban az a hely, ahol fekszik etot.pot fájlt. Például, ha a hely egy .pot fájlt a gyökérkönyvtárban a téma adja. (Dot). Ha azt szeretnénk, .pot fájlt a mappában „nyelv” téma a gyökérkönyvtárban írja .. (két pont).

Wordpress téma, hogyan kell lefordítani más nyelvre

Most meg kell mondani POEdit. Mik a legfontosabb szavakat kell keresni, amikor olvas a fájlokat. Írja be az alábbi:

Wordpress téma, hogyan kell lefordítani más nyelvre

Ha azt szeretnénk, hogy minimális támogatási nemzetközi átutalás, akkor adja meg .pot fájlt, valamint a téma és hagyja azt, hogy, de ha lehet lefordítani a téma egy másik nyelvre magát, meg tudja adni a saját téma egy fordítási leírtak 3. lépésben.

3. lépés: Transzfer és létrehozása a .po fájl

Wordpress téma, hogyan kell lefordítani más nyelvre

  1. Listája húrok lefordítani.
  2. Jelenlegi lefordítható szálakat.
  3. A sortöréseket.

Wordpress téma, hogyan kell lefordítani más nyelvre

  1. Egyes és többes számú az aktuális sor.
  2. Fülek közötti váltás egyes és többes számban.
  3. A fordítást.

Miután elmentettük alapértelmezés POEdit automatikusan létrehoz .mo fájl mellett a .po fájlt. Javasoljuk, hogy mind a három fájlokat a téma, hogy az emberek, hogy saját fordítás és egyszerűen szerkesztheti a meglévőket.

4. lépés: WordPress beállítás

Foglaljuk össze, amit eddig tettünk. Azt mondta, a szöveg WordPress, szeretné elérhetővé tenni a transzfer, akkor már használt POEdit, hogy összegyűjti a húrok, és helyezd el őket a .pot fájlt. ami lehet fordítani a fájlok .po és .mo. Ezek a fájlok ezután szerepel a téma fájlokat.

Az utolsó lépés - ez a csomag a téma, telepíteni, és érteni WordPress, .mo fájl melyik nyelvet szeretné használni. Ez egy nagyon egyszerű eljárás, ahol éri a wp-config.php fájlt a gyökérkönyvtárban a WordPress.

A fájl már tartalmaznia kell meghatározni ( „WPLANG”, „”); - de ha nem, akkor adjunk hozzá. Csak azt kell adni a nyelvi és hely kód határozza meg. Ha lefordítjuk a témát orosz, akkor a következő:

A kész! Ne felejtsük el, hogy add meg a .pot fájlt a téma, és ha lehet lefordítani a témát egy másik nyelvre, is tagjai által elkészített és .mo fájlokat.

Forrás: WP.tutsplus.com

Jó napot! Van egy ilyen probléma: a téma Adava szerzett, a wp-config.php fájlt, nincs vonal határozza meg (# „WPLANG #” # '#'); Hozzátette után határozzák meg (# 'WP_DEBUG #', true); A feltöltött fájlok .po és .mo a téma könyvtárban. Lefordítva, de nem minden. Bár vannak tagjai által elkészített fordítási fájl. Amit tettem, nem igaz?

Ő fordította a sablont, és létre ru_Ru.po és ru_Ru.mo. Dobtam őket a sablon könyvtárat a nyelv mappát / wp-content / languages ​​/ témák, átnevezés a nazvanieshablona-ru_Ru.po / .mo.
Hozzáadjuk a wp-config meghatározzák string ( 'WPLANG', 'ru_RU');
Számos lehetőség hozzá functions.php sablon.

Semmi sem segített. Mit kell tenni?

És van egy mappát a könyvtárban közvetlenül a témában? / Wp-content / themes / vashatema / nyelvet. Általában meg kell tenni a lokalizációs fájlt, mert abban a mappában, az Ön által megadott - a tárolt lokalizáció a rendszeres típusú twentyfifteen stb

Mindent elkövetnek az Ön utasításait. Semmi sem történt.

Keresztül történik Poedit, minden mozgott, elment a tárhely (RU-Központ)
File Manager és a hozzáadott .mo fájl frissített honlapon, mind jól, semmi
át. Továbbá, .po és hozzátette, nem működött. Prompt hogyan helyesen
lefordítani, mert a mindent megtett az utasítások szerint, és nem működött
:(
A fájl bekerül a mappát a téma, a gyökér.

A mentés után a fordítást a kimeneti kell 2 fájlokat. po és .mo. Abban, amit kell, hogy egy adott véget a címet, így az orosz nyelvi fájlokat kell nevezni, és ru_RU.po ru_RU.mo. Ezután töltse igényüket nem a gyökér, a tárgy és nyelv mappát a gyökér a szálakat. Ha ez a mappa nem létezik, akkor létre kell hoznia.

Köszönöm a választ!

Igen, igen, ezek a fájlok mindketten fájl dobtam át a fájlkezelő a tárhely, / themes / témám / nyelv. Mindkét fájlt egyesült ott, ott már .pot fájlt vele rájöttem, hogy nem kell csinálni semmit. Frissítette a témát, még mindig nem fordította le, mondja meg, mi a probléma? Nem vagyok különösebben különleges ebben a helyzetben, én megtettem a leckét, de semmi sem történt. Fordítás és kiderült, minden kiderült. Kinyitottam egyszerre POEdit fordította néhány tucat szavakat és kifejezéseket. Olvastam az interneten, hogy mindezek után, meg kell találni a téma úgy tűnik functions.php be ezt a sort, hogy hívja load_theme_textdomain (domain-name) keresztül Jegyzettömb, hogy a téma tudott csatlakozni ehhez a nyelv, nem? Tehát nem próbáltam meg, mert nem értettem pontosan, hol és miért. Ha csak ezt a két fájlt nyelvek mappája a téma is, ismétlem, semmi nem történik, minden kifejezések a téma angol nyelvű, de a téma kész fordítást, úgy találtam, hogy csak a webhely egy linket themeforest :)
Segítsen, kérlek, nagyon szeretném, ha az oroszul érzi magát, mert a fordítás készen van, de nyilvánvaló, hogy valamit valahol össze kell kötni!

Semmi más nem szükséges a funkciókba írni. Győződjön meg róla, hogy a wp-config.php fájlban a helyes nyelv azonosítója meg van határozva a webhely definíciójában ('WPLANG', 'ru_RU');

Kapcsolódó cikkek