Fájlkiterjesztés M.O. Fordítások WordPress (honosítási) mo fájlokban

Az alábbi táblázat hasznos információkkal szolgál a .mo fájlkiterjesztésről. Olyan kérdésekre válaszol, mint:

  • Mi az a fájl. mo?
  • Milyen szoftverre van szükségem a . mo?
  • Mint egy fájl. mo megnyitni, szerkeszteni vagy kinyomtatni?
  • Hogyan kell konvertálni. mo fájlokat más formátumba?

Reméljük, hogy hasznos és értékes forrásnak találja ezt az oldalt!

1 kiterjesztés és 0 álnév található az adatbázisban

✅ GNU Gettext gépi objektumfájl

Leírás (angolul):
MO fájl egy GNU Gettext Gépi objektumfájl. GNU gettext a GNU nemzetköziesítési és lokalizációs (i18n) könyvtára. Általában többnyelvű programok írásához használják. MO A (Machine Object) fájlok lefordított, géppel olvasható PO (Portable Object) fájlok.

MIME típus: application/octet-stream

Más fájltípusok is használhatják a fájlkiterjesztést .mo.

🚫 A .mo fájlkiterjesztést gyakran hibásan adják meg!

Az oldalunkon található Keresés szerint ezek az elírási hibák voltak a leggyakoribbak az elmúlt évben:

ho , mk , jo , mp , íme, om , ml , mi , ko

Lehetséges, hogy a fájlnév kiterjesztése nem megfelelő?

A következő hasonló fájlkiterjesztéseket találtuk adatbázisunkban:

🔴 Nem tudja megnyitni a .mo fájlt?

Ha duplán kattint egy fájlra annak megnyitásához, a Windows ellenőrzi a fájlnév-kiterjesztést. Ha a Windows felismeri a fájlnév-kiterjesztést, a fájl megnyílik az adott fájlnév-kiterjesztéshez társított programban. Ha a Windows nem ismeri fel a fájlnév-kiterjesztést, a következő üzenet jelenik meg:

A Windows nem tudja megnyitni ezt a fájlt:

Példa.mo

A fájl megnyitásához a Windowsnak tudnia kell, hogy melyik programmal szeretné megnyitni...

Ha nem tudja, hogyan kell fájltársításokat beállítani .mo, jelölje be .

🔴 Lehetséges a fájlkiterjesztés megváltoztatása?

A fájlkiterjesztés fájlnevének megváltoztatása nem jó ötlet. Ha módosítja a fájl kiterjesztését, megváltoztatja azt, ahogyan a számítógépén lévő programok olvassák a fájlt. A probléma az, hogy a fájl kiterjesztésének módosítása nem változtatja meg a fájl formátumát.

Ha hasznos információi vannak a fájlkiterjesztésről .mo, !

🔴 Értékeld MO oldalunkat

Kérjük, segítsen nekünk azzal, hogy értékeli oldalunkat MO az alábbi 5 csillagos minősítési rendszerben. (1 csillag rossz, 5 csillag nagyszerű)

Ha a számítógépe rendelkezik víruskereső program tud szkennelje be az összes fájlt a számítógépen, valamint minden egyes fájlt külön-külön. Bármilyen fájlt ellenőrizhet, ha jobb gombbal rákattint a fájlra, és kiválasztja a megfelelő lehetőséget a fájl víruskeresésére.

Például ezen az ábrán fájl my-file.mo, akkor jobb gombbal kell kattintania erre a fájlra, és a fájl menüben válassza ki a lehetőséget "szkennelés AVG-vel". Ha ezt a lehetőséget választja, megnyílik az AVG Antivirus, és megvizsgálja a fájlt vírusok szempontjából.


Néha hiba adódhat hibás szoftvertelepítés, ami a telepítési folyamat során fellépő probléma miatt lehet. Ez zavarhatja az operációs rendszert társítsa MO fájlját a megfelelő szoftveralkalmazással, befolyásolva az ún "fájlkiterjesztés társítások".

Néha egyszerű a Dymola újratelepítése megoldhatja a problémát, ha megfelelően összekapcsolja MO-t Dymolával. Más esetekben fájltársítási problémák adódhatnak rossz szoftver programozás fejlesztő, és előfordulhat, hogy fel kell vennie a kapcsolatot a fejlesztővel további segítségért.


Tanács: Próbálja meg frissíteni a Dymolát a legújabb verzióra, hogy megbizonyosodjon arról, hogy a legújabb javításokkal és frissítésekkel rendelkezik.


Ez túl nyilvánvalónak tűnhet, de gyakran maga a MO fájl okozhatja a problémát. Ha e-mail mellékletként kapott egy fájlt, vagy letöltötte egy webhelyről, és a letöltési folyamat megszakadt (például áramszünet vagy más ok miatt), lehet, hogy a fájl sérült. Ha lehetséges, próbáljon beszerezni egy új másolatot a MO fájlról, és próbálja meg újra megnyitni.


Gondosan: A sérült fájlok járulékos károkat okozhatnak a számítógépén található korábbi vagy meglévő rosszindulatú programokban, ezért fontos, hogy számítógépét naprakészen tartsa egy naprakész víruskeresővel.


Ha a MO fájl a számítógép hardveréhez kapcsolódik a szükséges fájl megnyitásához frissítse az eszközillesztőket kapcsolódik ehhez a berendezéshez.

Ez a probléma általában médiafájltípusokhoz kapcsolódnak, amelyek a számítógépen belüli hardver sikeres megnyitásától függenek, pl. hangkártya vagy videokártya. Például, ha megpróbál megnyitni egy hangfájlt, de nem tudja megnyitni, akkor szükség lehet rá frissítse a hangkártya illesztőprogramjait.


Tanács: Ha amikor megpróbál megnyitni egy MO fájlt, akkor azt kapja .SYS fájlhoz kapcsolódó hibaüzenet, valószínűleg az lehet a probléma sérült vagy elavult eszközillesztőkhöz kapcsolódik amelyeket frissíteni kell. Ezt a folyamatot megkönnyítheti illesztőprogram-frissítő szoftver, például a DriverDoc használatával.


Ha a lépések nem oldották meg a problémátés továbbra is problémái vannak a MO fájlok megnyitásával, ennek oka lehet a rendelkezésre álló rendszererőforrások hiánya. A MO fájlok egyes verziói jelentős mennyiségű erőforrást igényelhetnek (pl. memória/RAM, feldolgozási teljesítmény), hogy megfelelően megnyíljanak a számítógépen. Ez a probléma meglehetősen gyakori, ha meglehetősen régi számítógépes hardvert és sokkal újabb operációs rendszert használ egyszerre.

Ez a probléma akkor fordulhat elő, ha a számítógép nehezen hajt végre egy feladatot, mert az operációs rendszer (és a háttérben futó egyéb szolgáltatások) túl sok erőforrást fogyaszt a MO fájl megnyitásához. Próbálja meg bezárni az összes alkalmazást a számítógépén, mielőtt megnyitja a Dymola Simulation Filet. A számítógépén rendelkezésre álló összes erőforrás felszabadításával a lehető legjobb feltételeket fogja biztosítani a MO fájl megnyitásához.


Ha te elvégezte az összes fenti lépéstés a MO fájl továbbra sem nyílik meg, lehet, hogy futnia kell hardver frissítés. A legtöbb esetben, még régebbi hardververziók esetén is, a feldolgozási teljesítmény továbbra is több mint elegendő lehet a legtöbb felhasználói alkalmazáshoz (hacsak nem végez sok CPU-igényes munkát, például 3D-s renderelést, pénzügyi/tudományos modellezést vagy médiaintenzív munkát ) . Ily módon valószínű, hogy a számítógépének nincs elég memóriája(gyakoribb nevén "RAM" vagy RAM), hogy végrehajtsa a fájl megnyitását.

Reméljük, hogy segítettünk megoldani a MO fájljával kapcsolatos problémát. Ha nem tudja, honnan tölthet le egy alkalmazást a listánkról, kattintson a linkre (ez a program neve) - részletesebb információkat talál arról, hogy honnan töltheti le a szükséges alkalmazás biztonságos telepítési verzióját .

Mi okozhat még problémákat?

Több oka is lehet annak, hogy nem tudja megnyitni a MO fájlt (nem csak a megfelelő alkalmazás hiánya).
Először- Előfordulhat, hogy a MO fájl helytelenül kapcsolódik (nem kompatibilis) az azt támogató alkalmazással. Ebben az esetben magának kell megváltoztatnia ezt a kapcsolatot. Ehhez kattintson a jobb gombbal a szerkeszteni kívánt MO fájlra, kattintson a lehetőségre "Nyitni vele" majd válassza ki a listából a telepített programot. Egy ilyen művelet után a MO fájl megnyitásával kapcsolatos problémák teljesen eltűnnek.
Másodszor- előfordulhat, hogy a megnyitni kívánt fájl egyszerűen sérült. Ebben az esetben a legjobb megoldás, ha keres egy új verziót, vagy töltse le újra ugyanabból a forrásból, mint korábban (lehet, hogy az előző munkamenetben valamiért nem fejeződött be a MO fájl letöltése, és nem lehet megfelelően megnyitni).

Akarsz segíteni?

Ha további információi vannak a MO fájlkiterjesztésről, hálásak vagyunk, ha megosztja azokat oldalunk felhasználóival. Használja a mellékelt űrlapot, és küldje el nekünk az MO-fájlra vonatkozó információkat.

Ebben a cikkben arról fogunk beszélni, hogyan lehet fordítási fájlokat létrehozni és belefoglalni, majd hogyan lehet szöveget lefordítani bővítményekben és témákban. Emellett itt röviden áttekintettem néhány elméleti pontot, a gyakori hibákat, a Poedit programmal való munkát. Nos, adok néhány tanácsot a fordításokkal kapcsolatban.

Mit kell fordítani?

Mielőtt rátérnénk a fordításra, döntsük el, mit kell fordítanunk, mert ez befolyásolja a fordítás módját.

Téma/bővítmény fordítása a WordPress könyvtárból

Egy ilyen fordításhoz a translate.wordpress.org webhelyet kell használnia. Mit kell tenni:

  1. Belépés.
  2. Válassza ki a kívánt fordítási nyelvet
  3. Keresse meg a lefordítani kívánt bővítményt/témát.
  4. És fordítsa le közvetlenül a webhelyen.
  5. A fordítás ellenőrzése után a WordPress-webhely adminisztrációs területén átveszi a bővítmény/téma fordítási frissítéseit.

  6. Frissítünk. A fordítás kész!

Megjegyzés: A katalógusban nem minden beépülő modul támogatja a translate.wordpress.org oldalról történő fordítást. Ilyen esetekben a szokásos módon kell fordítania (olvassa el a következő bekezdést).

Téma/bővítmény fordítása NEM a WordPress könyvtárból

Ebben az esetben szüksége van:

A téma/bővítmény fordítása

Az alábbiakban az "1. szakasz" és a "2. szakasz" ismerteti, hogy ez hogyan történik és működik.

Ha azt tervezi, hogy bővítményét/témáját a WordPress könyvtárában tárolja. Erősen ajánlott a fordítást a translate.wordpress.org oldalon keresztül elvégezni. Erről bővebben (angolul) (a részleteket ebben a cikkben nem ismertetjük).

Hogyan működik a fordítás a WordPressben (elmélet)

Kezdjük a legfontosabbal: fordítási fájlok: .mo .po .pot . A PHP csak .mo fájlokkal, .po és .pot fájlokkal működik – ezek az emberek és a fordítóprogramok számára készültek.

A WordPressben csak a .mo fájlt használják a fordításhoz. Az oldal generálása során ez a fájl össze van kapcsolva - sortöréses PHP objektum jön létre belőle és elhelyeződik a memóriában. Továbbá, amikor a fordítási függvényeket használja a kódban, a kért karakterlánc fordítása ebből az objektumból származik. Ez csak így működik.

Így egy témában/bővítményben lévő karakterláncok lefordításához szükségünk van:

Fontos megérteni hogy ha egy .mo fájl szerepel benne, akkor az kap egy azonosítót ($domain paraméter) és egy ilyen azonosítót (domain) adunk meg a string fordítási függvényekhez. A tartomány összekapcsolja a .mo fájlt a fordítási funkciókkal. Azok. fordításkor a függvényben megadjuk, hogy melyik MO fájlból kell megkapnunk a megadott karakterlánc fordítását. Példa:

// tartalmazza a MO fordítási fájlt és adjon neki egy azonosítót - mydomain: load_theme_textdomain("saját domain", get_template_directory() . "/languages"); // fordítás - adja meg újra az azonosítót - mydomain: _e("Megjegyzés:", "saját domain");

1. lépés: Hozza létre a bővítményt, és fordítsa le

Ha már van egy kész témája/bővítménye, és csak le kell fordítania, menjen közvetlenül a fordításhoz (2. lépés).

A fordítási folyamat egyértelművé tétele érdekében hozzunk létre egy nagyon egyszerű bővítményt, és fordítsuk le oroszra. Nevezzük a bővítményt my-translation-demo -nak. A következő plugin-struktúrát kell kapnunk:

  1. A WordPress beépülő modulok mappájában hozzon létre egy my-translation-demo mappát: /plugins/my-translation-demo .
  2. Hozzon létre egy lang mappát ebben a mappában: /my-translation-demo/lang .
  3. Hozzunk létre egy my-translation-demo.php fájlt: /my-translation-demo/my-translation-demo.php .
  4. Adja hozzá a következő kódot a generált php fájlhoz:

E() -

Ex() -

X() -

N(1) -

N(3) -

N(10) -

Nx(1) -

Nx(3) -

Nx(10) -

esc_attr__() -

esc_attr_e() -

esc_html__() -

esc_html_e() -

A plugin készen áll! Menjünk az adminisztrációs panelre, aktiváljuk a bővítményt, menjünk a bővítmény oldalára.

A bővítmény a WordPress összes fordítási funkcióját használja. Ezenkívül összekapcsolja a nem létező .mo myl10n-ru_RU.mo fordítási fájlt. A .mo fájl létrehozása után a beépülő modul le lesz fordítva (lent elkészítjük).

A bővítmény létrehozásakor ügyeljen a paraméterekre. Ezeket helyesen kell megadni, hogy a beépülő modul nevének és leírásának fordítása működjön a bővítmények oldalon.

* Szövegdomain: myl10n * Domain elérési útja: /lang

Ehhez hozzáadjuk a címet és a leírást is a fordítási függvényben, hogy az elemző megtalálja őket.

// karakterláncok a beépülő modul fejléceinek lefordításához, hogy azok a .po fájlba kerüljenek. __("WordPress bemutató fordítás"); __("Tesztbővítmény a WordPress fordítások létrehozásának megtanulásához");

A WordPress a Text Domain: paramétert is használja a fordítási fájl kereséséhez. Ott a fájl neve TRANSLATION-DOMAIN_LOCAL.mo .

2. szakasz: Fordítás. .mo .po fájlok létrehozása

MO-fájl létrehozásához készen kell állnunk egy PO-fájlra, így az egész feladat egy PO-fájl létrehozásában merül ki.

Számos lehetőség van a PO-fájl létrehozására, itt megfontoljuk a Poedit programmal való együttműködést. Először le kell töltenie és telepítenie kell a Poedit-et (az ingyenes verzió lehetővé teszi, hogy mindent megtegyen, amire szükségünk van).

Létrehozhat PO-fájlt a Poedit-en keresztül, de mi a dobozon kívül hozzuk létre – ez sokkal egyszerűbb így:


A fordítás kész és működik. Ha most a beépülő modul oldalára lép, akkor minden sor le lesz fordítva:

Miért kényelmes egy .po fájlt manuálisan létrehozni?és nem a Poedit programon keresztül?

Mert gyorsabb: ebben az esetben nem kell semmilyen beállítást megadni, csak bemásolhatja a kódot (a 2. lépéstől) egy .po fájlba, feltöltheti a fájlt a Poeditbe, kattintson a "Kivonat a forráskódból" gombra, majd "OK" és fordítsd le. (a beállításokat magában a po fájlban lehet módosítani, ehhez nem kell a program).

A Poediten keresztüli fájl létrehozásához a következőkre van szüksége:

  1. Nyissa meg a poedit.
  2. Válassza a Fájl > Új... lehetőséget.
  3. A megjelenő ablakban válassza ki azt a nyelvet, amelyre fordítunk.
  4. Az ablak egyszerűen eltűnik, mi pedig némán ülünk, "mit csináljunk még?".
  5. És akkor meg kell nyomni a gombot Megment, a megjelenő Intézőben keresse meg a téma mappát, lépjen a lang mappába, írja be a myl10n-ru_RU.po fájl nevét, majd kattintson az OK gombra.
  6. Az ablak ismét eltűnik, mi pedig tovább tompítjuk, hogy "most mit csináljunk?".
  7. És most meg kell nyomnia a gombot: Kivonat a forrásból. Megnyílik egy ablak, ahol meg kell adnia a PO-fájl beállításait. Minden, ami a fenti PO fájl kódjában le van írva: projekt neve, projektcsapat, kódolások, mappák a fordítási karakterláncok gyűjtéséhez, kulcsszavak a fordítási karakterláncok kereséséhez. Általában itt trükközni kell, és nem szabad tévedni.

    A beállítások megadása után kattintson az "OK" gombra.

  8. Ezután megvárjuk, amíg a fordítási karakterláncok összegyűjtésre kerülnek a projektfájlokból, és bejutunk a szövegfordító ablakba (fent képernyő). Lefordítjuk a sorokat, kattints Megment.
  9. Fordítás és MO fájl létrejött!

Fordítás frissítése (a kód változása esetén)

Itt minden rendkívül egyszerű:

  1. Nyissa meg a Poedit-et.
  2. Dobj bele bármilyen PO-fájlt a projektből, és kattintson a "Frissítés a kódból" gombra(gomb a panelen).
  3. Fordításújsorok és kattintson a "Mentés" gombra(gomb a panelen).
  4. A fordítás frissítve! A Poedit bezárhatja.

POT fájl létrehozása

A Pot fájl egy fordítási sablon. Ez a .po fájl közvetlen másolata, csak akkor, ha egyetlen sort sem fordítanak le. Azok. minden fordítási karakterlánc projektfájlból származik, de még semmit sem fordítottak le.

A fentiekből az következik egy szükséges POT fájl létrehozásához menj végig a .po fájl létrehozásának teljes folyamatán, és a végén ne fordíts le semmit, hanem menj a Fájl > Mentés másként menüpontra, és mentsd el a fájlt .pot kiterjesztéssel.

A POT fájl létrehozása még egyszerűbb. Vegyünk egy .po fájlt, és módosítsuk a kiterjesztését .potra. Ez egy durva módszer, de egy ilyen lefordított karakterláncokat tartalmazó fájl sablonként is használható bármilyen nyelvre fordítás készítéséhez (legalábbis a Poedit így működik).

Mire való a .pot fájl?
Azért, hogy legyen valami olyan fájl, amelyben a fordítási sorok mindig naprakészek. A következő nyelvre történő fordítás elkészítésének alapjaként.

Például, ha a PO és MO fordítási fájlokat a globális fordítási mappába helyezzük, akkor nem tudjuk bedobni a PO fájlt a programba, és rákattintani a "Frissítés kódból" gombra, mert a PO fájlban a plugin fájlok elérési útja valószínűleg a következő lesz. hibás (vagy egyáltalán nem lesz ott ), és a fordítási karakterláncok nem frissülnek. Ebben az esetben egy POT fájl kerül felhasználásra, aminek mindig a plugin mappájában kell lennie, és a kód megváltoztatásakor frissíteni kell a benne lévő fordítási sorokat, így mindig naprakész fordítási karakterlánc sablont kapunk.

Ha a PO fájl a plugin mappában található, akkor a POT fájlra nincs szükség, a fordítást a PO fájlból lehet létrehozni.

A .mo fordítási fájl csatlakoztatása

Az MO fájl csatlakoztatása a bővítményben már megtalálható a fenti plugin kódban. És itt a WordPress azon funkcióira fogok összpontosítani, amelyek ezt a fájlt tartalmazzák. Funkciók:

load_plugin_textdomain($domain, false, $plugin_rel_path) Betölti a MO fájlt a beépülő modulból. A load_textdomain() burkolója. Először is megkeresi az MO fájlt a bővítmények fordításainak megosztott mappájában: /wp-content/language/plugins. A fájlnak TRANSLATION_DOMAIN-LOCAL.mo nevűnek kell lennie. load_muplugin_textdomain($domain, $plugin_rel_path) Az MU beépülő modul MO-fájljának belefoglalása. A load_textdomain() burkolója. Először is megkeresi az MO fájlt a bővítmények fordításainak megosztott mappájában: /wp-content/language/plugins. A fájlnak TRANSLATION_DOMAIN-LOCAL.mo nevűnek kell lennie. load_theme_textdomain($domain, $path) Betölti a MO fájlt a témából. A load_textdomain() burkolója. Először megkeresi a MO fájlt a téma fordításainak megosztott mappájában: /wp-content/language/themes . A fájl neve LOCAL.mo (ha a fájl egy témán belül van) és THEME_LOCAL.mo FOLDER (ha a fájl megosztott mappában van). load_textdomain($domain, $mofile) Bárhonnan betölti a MO-fájlt (meg kell adnia a MO-fájl teljes elérési útját a fájlnévvel együtt).

Tekintsünk példákat MO-fájlok csatlakoztatására.

Feltételezzük, hogy a csatlakozási kód a fő beépülő modul/téma fájlban vagy a bővítmény/téma gyökérkönyvtárában található fájlban található. Ha nem ez a helyzet, akkor a __FILE__ fájlt a megfelelő elérési útra kell cserélni.

// beépülő modul fordítási fájlja. // fájlnak a következőnek kell lennie: DOMAIN-LOCAL.mo, például: myl10n-ru_RU.mo add_action("plugins_loaded", function()( load_plugin_textdomain("saját-bővítmény", false, dirname(plugin_alapnév(__FILE__)) . " /nyelvek ")); )); // MU beépülő modul fordítási fájlja. // a fájl elnevezése: DOMAIN-LOCAL.mo, például: myl10n-ru_RU.mo load_muplugin_textdomain("saját beépülő modul", dirname(plugin_alapnév(__FILE__)) . "/languages")); // téma fordítási fájl. // a fájlnak rendelkeznie kell az aktuális területi beállítás nevével, például: ru_RU.mo add_action("after_setup_theme", function()( load_theme_textdomain("saját_téma", get_template_directory() . "/languages"); )); // bármilyen fordítási fájl // Tartalmazza a .mo fájlt (fájlnév: ru_RU.mo vagy más, a területi beállítástól függően) add_action("plugins_loaded", function()( $mo_file_path = dirname(__FILE__) . "/lang/" . get_locale (). ".mo"; load_textdomain("saját fordítás", $mo_file_path); )

Függvényeket nem kell hook-okhoz kötni, de a példákban az ajánlás szerint tettem.

Megjegyzés: ha a fordítófájl a -ban található, akkor ezek a funkciók elhagyhatók. A WordPress automatikusan felveszi a fordítási fájlokat a globális mappából a beépülő modul fejlécében található Text Domain: paraméter alapján.

fordítási funkciók

A fordítási funkciók használatának módja már a fenti plugin kódban található. És itt leírom az egyes funkciókat (a részletes leírást olvassa el a funkció leírásában).

__($szöveg, $domain) Lefordítja a megadott szöveget, és visszaküldi feldolgozásra. _e($szöveg, $domain) Lefordítja a megadott szöveget és megjeleníti a képernyőn. _x($text, $context, $domain) Lefordítja a megadott szöveget a megadott kontextusnak megfelelően, és visszaküldi feldolgozásra. _ex($text, $context, $domain) Lefordítja a megadott szöveget a megadott kontextusnak megfelelően, és megjeleníti a képernyőn. _n($single, $plural, $number, $domain) A megadott számnak megfelelő egyes vagy többes számú fordítási karakterláncot kap (1 megjegyzés, 2 megjegyzés). _nx($egyes, $többes szám, $szám, $kontextus, $domain) Egyes vagy többes számú fordítási karakterláncot kér le a megadott kontextusnak megfelelően. _n_noop($egyes szám, $többes szám, $domain) Üres függvény. Hasonló az _n() -hoz. Akkor használatos, ha többes számú fordítási karakterláncot kell megadnia, de ezeket valahol később használja a kódban. A függvény által visszaadott eredményt a translate_nooped_plural() függvénynek kell feldolgoznia. Ennek a függvénynek az eredménye például kényelmesen használható a paraméterekben, amikor nem tudjuk előre, hogy mi lesz a szám, és később kell átutalni. _nx_noop($egyes szám, $többes szám, $kontextus, $domain) Ugyanaz, mint a _n_noop(), de kontextussal. esc_attr__($text, $domain) A HTML-címkék attribútumértékeinek fordítása. Az esc_attr(__()) rövidítése. esc_attr_e($text, $domain) Ugyanaz, mint az esc_attr__() , de azonnal kiírja az eredményt a képernyőre. esc_html__($text, $domain) HTML-címkéket tartalmazó szöveg fordítása. Az esc_html(__()) rövidítése. esc_html_e($text, $domain) Ugyanaz, mint az esc_html__() , de az eredményt azonnal kiírja a képernyőre.

Hibák a fordítási függvények használatakor

#1 Nem használhatók változók/konstansok a fordítási függvények paramétereiben

Mert a programok csak karakterláncokat tudnak elemezni, változókat nem. A programok nem elemzik, hogy mi van a megadott változóban, hanem egyszerűen beolvassák a kódot szövegként, és kihúzzák a sorokat a fordításhoz...

// Igen _e("Hello World!", "mydomain"); // Nincs _e($karakterlánc, "saját domain"); _e("Helló világ!", $domain); _e("Helló világ!", DOMAIN);

#2 Ne használjon HTML-t fordítási karakterláncokban (ha lehetséges)

Például, ha megadja

a fordítási karakterláncban, és a fordító hibázik, akkor a HTML jelölés „eltörhet”. Vagy ha adsz egy linket , a fordító a sajátját teheti a helyére, vagy egyszerűen rosszul írja le. Vagy bármelyik HTML tag nem zárható be, és egy nagyon kellemetlen elrendezési hibát fogunk elkapni.

Az esetek 90%-ában a HTML címkéket a fordítási karakterláncon kívülre lehet és kell is elhelyezni, lássunk néhány példát:

// igen echo "

". __("Hello World!", "mydomain") ."

"; // Nem _e("

Helló Világ!

", "saját domain"); // Igen echo str_replace("
", "", __("Lát portfólióm", "saját domain")); // No _e("A portfólió megtekintése", "saját domain");

#3 Ne ossza fel a kifejezést külön szavakra

Amikor egy programban lefordítja a karakterláncokat, ha lehetséges, egyértelművé kell tenni, hogy miről van szó. De ha a sort részekre osztja, az egyes szavak érthetetlenné válhatnak:

// Igen echo sprintf(__("Ma %d vagyok", "saját domain"), $évek); // Nincs visszhang __("I am ", "mydomain") . $év. __("ma", "saját domain");

#4 Ne hagyjon szóközt a sor végén/elején (ha lehetséges)

Fordításkor a szóközök a végén gyakran nem észrevehetők, és kihagyhatók, ennek következtében a fordítás után „ragadós” lesz. Ezért jobb, ha kivesszük a szóközöket a kódból.

// Igen _e("Könyv neve:", "saját domain") ." ". $könyv_név; // Igen _e("Könyv neve:", "saját domain") ." $könyv_neve"; // Nem _e("Könyv neve: ", "saját domain") . $könyv_név; Őrizetben

Fordítással kapcsolatos kifejezések

Néhány kifejezés, amit tudnia kell. Ezek a legalapvetőbbek (a WordPress lerövidít néhány funkciót és hookot):

    Nemzetközivé válás (nemzetközivé válás – i18n)- ez a funkciók és osztályok teljes komplexuma a magban, amely lehetővé teszi a WordPress és kiegészítőinek különböző nyelvekre történő lefordítását.

    Lokalizáció (lokalizáció - l10n) a különböző nyelvekre történő fordítás folyamata.

  • locale a régió nyelveinek és dialektusainak egy kötege. Általában a területi beállítás egyszerűen egy nyelv, például az orosz. De az angol például lehet angol (USA) vagy angol (UK) – egy nyelv, különböző nyelvterületek... A nyelvi beállítás LANGUAGE_CODE_COUNTRY_CODE (ru_RU) vagy nyelvkód az ISO 639-3-ban (rus).
, csak itt van a fordítási fájlok hierarchiája...

Megosztott fordítási mappa ehhez:

  • bővítmények /wp-content/languages/plugins/TRANSLATION_DOMAIN-LOCAL.mo .
  • /wp-content/languages/plugins/TRANSLATION_DOMAIN-LOCAL.mo .

Ezek a nyilvános mappák például a beépülő modul fordításának letöltésére és frissítésére szolgálnak, amely a WordPress bővítmények könyvtárában található. Valószínűleg láttál már olyan lefordított bővítményeket, amelyek nem tartalmaznak fordítási fájlokat (pontosan ez a téma). Ahogy a cikk elején írtam, a katalógusból származó beépülő modulok a translate.wordpress.org weboldalon keresztül lefordíthatók.

Megjegyzés: ha a fordítófájl a globális mappában van, akkor nem szükséges a load_(plugin/theme)_textdomain() függvényeken keresztül beépíteni a pluginba! A WordPress automatikusan felveszi a beépülő modul fejlécében található Text Domain: paraméter alapján.

Fordító beépülő modul

A Loco Translate egy nagyszerű bővítmény fordítások (.mo fájl) létrehozásához. Ez a bővítmény teljesen helyettesíti a Poedit programot. Lehetővé teszi fordítások létrehozását bármilyen témához, bővítményhez vagy egyedi MU-bővítményhez. A bővítmény aktiválható, lefordítható, amire szüksége van, és deaktiválható, hogy ne "zavarjon".

Egyszer írtam a blogomra, jól fog jönni, hogy pontosan ki szab magának angol témákat.
A probléma lényege - gyakran és sűrűn angyali témákat vagy nem fordítanak le oroszra, vagy ferdén fordítja a gép.
Útmutatót teszek közzé a nyugati fejlesztőcégek témáinak oroszosításához.

Spoiler


Ma a WordPress mélységeibe kellett ásnom magam. Mivel Támogatom a kód helyes szerkesztését (azaz a fejlesztői szabvány szerint), ezért úgy döntöttem, hogy számomra ismeretlen módon fordítom le a témát, mégpedig a *.po és *.mo fájlok szerkesztésével. A neten rengeteg szó esik arról, hogyan lehet a WordPress témákat és beépülő modulokat más nyelvekre lefordítani, de ma már kifejezetten a *.po és *.mo nyelvekről beszélünk, vagy inkább arról, hogyan használhatjuk az ingyenes programot fordítások szerkesztésére és létrehozására. Poedit, és takarítson meg 30 percet, amit arra fordítottam, hogy megoldjam a problémát a Poedittel, és úgy működjön, ahogy kell.

Egy téma vagy magának a WordPressnek a fordítási mappájában (például nyelv, lang, fordítás stb.) minden nyelvet két *.po és *.mo fájl képvisel, például us_US.po és us-US.mo
Ha a *.po fájl egy teljesen hétköznapi szöveges dokumentum, amely akár jegyzettömbbel is szerkeszthető (bár ez nem túl kényelmes), akkor a *.mo-val semmi különöset nem fog csinálni, mert ez a fájl speciális kódként van lefordítva, és nem áll rendelkezésre szövegszerkesztésre.
A WordPress felület nyelveinek létrehozásához és szerkesztéséhez a *.po és *.mo segítségével, van egy nagyszerű eszköz a neten - a Poedit. Szinte az összes ismert asztali operációs rendszerhez készült: Unix, Linux, Windows, MacOS. A parancssor rajongói ismernek egy másik eszközt is, de nem igazán emlékszem a nevére. A mi Poeditünk így néz ki:

Egyszerű és egyszerű felület, ahol a bal oldalon az alapfordítás található angolul, a jobb oldalon pedig a mi fordításunk tetszőlegesre (legalábbis Podonszkij nyelven, még komi nyelven is). Az üres mezőkben az angol verzió jelenik meg, amely megakadályozza a hibákat és egyéb hibákat.
Szóval mi a probléma azzal, hogy 30 percet Poedit elleni küzdelemmel tölt?
Mint kiderült, nem elég egy *.po fájl szerkesztése, még le kell fordítani a *.mo-t, de a Poedit makacsul elutasította a létrehozását. Letöltöttem különböző verziókat, könyvtárakat választottam, de semmi sem segített. Ugyanakkor sok felhasználó (valamelyik látszólag speciális verzió) nem tapasztalt pontosan semmilyen problémát.
A lefordított *.mo fájl nélkül a WordPress nem alkalmazta az általam készített fordítási javításokat.
Megoldás a problémára
Egyszerű, mint mindig, ha tudod, hol. Menjünk-hoz Fájl->Beállításokés azonnal látunk ott egy lapot Szerkesztő. Oda teszünk egy pipát, amitől Evidence kapitány meg fog döbbenni. Mentéskor automatikusan fordítsa le a .mo fájlt

Őszintén szólva nem igazán értettem, hogy ez a jelölőnégyzet alapértelmezés szerint miért nem aktív ?! Voila, most a szerkesztés után mindkét szükséges fájl meglesz a fordítás elkészítéséhez. A neten lehet olvasni, hogy mit lehet velük kezdeni, nem ismétlem