Как да преведем тема или плъгин на WordPress (стъпка по стъпка ръководство)

Как да преведем тема или плъгин на WordPress

Ето как да преведем тема или плъгин на WordPress – ще разгледам два основни начина с използване на 4 инструмента.

Най-напред искам да те предупредя да използваш Child тема, защото при обновяване на основната тема ще се загубят преводите.

Вече си избрал и платил своя хостинг, домейн и тема – шаблон. Но забелязваш, че темата не е на български. Обикновено тези продукти – теми и плъгини – са създадени за англоезичния пазар. Някои популярни теми идват с различни преводи, но понякога готовите преводи не са точни.

Няма нищо страшно, с няколко действия ще успееш да преведеш шаблона или плъгина.

Файловете, които се използват за превод на темата, обикновено се намират в директорията Lang или Language на продукта (тема или плъгин).

Преди да започна обяснението, как да преведем тема или плъгин в WordPress, е необходимо да направя някои предварителни бележки.

Предварителни познания, необходими за да преведем тема или плъгин

Темите и плъгините съдържат текстови низове в програмните си файловете. Например това:

<php _e( ‘Text’, ‘a-text-domain’ ) ?>

във PHP файла, ще трябва да бъде преведено.

Текстовите низове могат да се появяват в backend и във frontend.

Примери за текстови низове във frontend:

  • Submit” (бутон за предаване)
  • Page not found” (когато потърсена страница не се открива)

Примери за текстови низове в backend:

  • Product attribute (comma separated)” (текст в плъгин)
  • Show author” (Текст от настройките на WordPress)

Важно: Очевидно темата, която искаш да бъде преведена, трябва да има файл, съдържащ текста, който трябва да бъде преведен. Това е един .pot файл. Преди да купиш професионална тема, увери се, че е готова за превод (това означава, че има .pot файл). Тя също трябва да има
подходящ код, необходим за превода. Повечето от закупените теми на най-добрите разработчици са готови за превод – съдържат .pot файла, който трябва да бъде преведен.

Ако искаш да създадеш многоезичен сайт, трябва да избереш тема, готова за превод, която е съвместима и с WPML – най-добрия плъгин за превод на уебсайтове на няколко езика.

.POT, .PO и .MO файлове за преводи на тема или плъгин

Темите на WordPress се локализират с помощта на GNU gettext framework.

Разработчиците използват този инструмент, с който анализират PHP източника и създават .POT файл.

.POT файлът съдържа списък на всички оригинални текстове, които се нуждаят от превод.

От Wikipedia:
„В информатиката gettext е система за интернационализация и локализация (i18n и l10n), често използвана за писане на многоезични програми на подобни на Unix компютърни операционни системи. Едно от основните предимства на gettext е, че тя отделя програмирането от превода.“

Типичен работен процес на gettext.
Типичен работен процес на gettext. Инстанцията de.po отляво показва „подновяване“ на преводите чрез msgmerge. – By Polluks Own work, CC BY-SA 3.0, Link

Ето подробности за тези три вида файл, с които ще се сблъскаш при превод на тема или плъгин:

  1. Шаблон на преносим обект – Portable Object Template (POT).

    Основният превод на тема (или плъгин) е .POT файл. Фактически .POT файлът е темплейт с всички редове текст, използвани във файла на темата на английски език. Той е достъпен за потребителя и се използва като отправна точка за създаване на нови преводи. WordPress не го използва.
    .POT файлът може да бъде намерен в езиковите папките на теми и плъгини.
    .POT файловете се намират заедно с .PO и .MO файлове и с README.TXT файл (инструкции за преводачи).

  2. Portable Object (PO) e Machine Object (MO)

Файлът .PO включва оригиналните текстове и преводи в две колони. Това е превод, който може би е завършен или само започнат.

Ако в езиковата папка има файл .PO, темата вече е преведена на съответния език. Можш да намериш кодовете за желания език тук. За български файлът с кода ще изглежда така

filename-bg_BG.po.

.MO файлът включва същото съдържание като .PO файла. Двата файла се различават по формат. .PO файлът е лесен за четене от човек. МО файловете са двоични и се компилират и четат от компютъра. WordPress получава превода от .MO файлове.

Както беше споменато, .PO файлът е текстов файл, който може да се чете от хора, съставен според точен синтаксис на форматирани блокове. Пример:

msgid „Welcome“
msgstr „Добре дошли“

Където:

  • msgid съответства на текста, който трябва да бъде заменен;
  • msgstr съответства на текста, който ще бъде отпечатан вместо този, посочен в msgid.

Често се случва блоковете да бъдат придружени от коментари, указващи файловете, участващи в превода, и реда на кода, в който msgid може да бъде намерен. Например:

# ../welcome.php:123
# ../homepage.php:456
msgid „Welcome“
msgstr „Добре дошли“

Как изглежда един .PO файл
Как изглежда един .PO файл

.PO файловете могат да бъдат създадени и модифицирани с прости текстови редактори.



(adsbygoogle = window.adsbygoogle || []).push({});

Промяна на езика на инсталирания WordPress

Първото нещо, което трябва да направиш, когато инсталираш своя WordPress, е да промениш езика за инсталиране на WP, ако WordPress вече не е на нужния ти целеви език. Така ще имаш основата за по-нататъшните преводи. Езикът на WordPress трябва да съвпада с целевия език за темата. През последните години е лесно инсталирането и използването на локализирана версия на WordPress.

От таблото на WordPress иди на Settings ->General и промени езика на български. Запази промяната.

Промяна на езика в WordPress
Промяна на езика в WordPress

Запазване на английски език за админ таблото

Забележка: При смяна на език на WordPress се променя и езикът на админ таблото. Ако си свикнал да работиш на различен език, от този, на който искаш да настроиш WordPress за потребителите, можеш да използваш Simple Admin Language Change плъгин.
Този прост и лек плъгин ще ти позволи да задаваш локализация само за администраторската област (с изключение на страницата с общи опции). Автоматично е зададена на английски, но можеш да го промениш в настройките.
Сега идваме на частта със същинския превод на тема или плъгин. Първо ще разгледам как става с две различни програми.

Превод на тема или плъгин с PoEdit

Poedit е програма (достъпна за Windows, Mac и Linux), която можеш да използваш за превод на тема или плъгин. Можеш да изтеглиш безплатната й версия от poedit.net.

Тази програма има Pro версия, която добавя функции и предимства на Poedit и струва
29.99€.

Стъпките са следните:

А). Изтегли и инсталирай Poedit.

B). Отвори Poedit и избери File–>Create new translation от POT / PO файл.

Отваряне на Poedit

C).  Избери .POT или .PO файла от темата или плъгина, който искаш да преведеш (можеш да го намериш в cPanel–>Файлов Мениджър–>…wp-content–>themes… –>lang(uage) – ….pot). Изтегли го на компютъра си.

Откриване на .pot файл в cPanel
Откриване на .pot файл в cPanel

D). В новоткрития прозорец ще ти бъде поискано да избереш езика на превода.

Избор на език в Poedit
Избор на език в Poedit

E). Щракни върху OK и Poedit автоматично ще преименува файла ти.

F). Запиши файла на компютъра.

G). Сега можеш да започнеш да превеждаш темата или плъгина. Пространството в горната част ще показва целия текст, готов за превод, а всички завършени преводи ще се виждат вдясно. Полетата по-долу показват текста на източника, превода ти и бележките на преводача. Преводът е наистина просто действие – избери дума или фраза, въведи превода си и кликни върху Validate.

Превод в Poedit
Превод в Poedit

Важно: трябва да изкопираш всички специални симполи на оригиналния текст.

Не е необходимо да се превеждат всички текстови низове. Може би не са ти необходими преводи на администраторската част.

H). Когато приключиш, запази файла си. Poedit автоматично създава .po и .mo файлове. Ще трябва да ги качиш в папката на темата в cPanel.

Превод на тема или приставка с Easy Po

Можеш да опиташ да преведеш темплейт или приставка с Easy Po.

Eazy Po е преносимо приложение, не се изисква инсталиране. Разархивирай изтегления файл и стартирай EasyPo.exe. Ще се отвори този прозорец:

Превод с EasyPo
Превод с EasyPo

От менюто на файла избери Extract messages from source code.
В прозореца на GNU xgettext Command Manager натисни Browse folder…, за да избереш основната папка източник.

Избор на папка източник
Избор на папка източник

Използвам за пример безплатната тема Schema Lite на Mythemeshop.

Избирам нейната папка.

Избор на папка източник 1

Получавам тези файлове за изходни:

Изходни файлове
Изходни файлове

С десен бутон селекционирам всички, които ми трябват.

Избор на изходни файлове
Избор на изходни файлове

след това кликвам на Build горе вляво. И после на Execute command.

Build and Execute command
Build и Execute command

И започвам да превеждам. Превода поставям долу вдясно.

Превеждане

След като завърша, кликвам на зелената отметка горе вдясно Validate и във File запомням преведения файл като .PO или като .POT, ако го използвам само като шаблон.

Po файл
.po файл

Превод на тема или приставка (плъгин) с Loco Translate

Loco Translate  е най-добрият плъгин за превеждане на теми и плъгини на WordPress директно във папката на WP, без да се нуждаеш от външен редактор (като Poedit).

Инсталирай и активирай приставката от таблото си –
иди на Plugins–>Add New, потърси Loco Translate и щракни върху Install plugin и после Activate.

За да провериш дали темата ти е готова за превод с Loco Translate, следвай тези стъпки:

A). От твоя достъп до cPanel иди до File Manager. Увери се, че си в директорията, където е инсталиран WordPress.

B). След това отвори wp-content–>themes–>папка с името на твоята тема–>language.

Тук потърси файл, наречен като темата ти, с разширение .POT.

Дори ако темата не включва .pot файл е възможно преводът да присъства.

C). Преди да започнеш реалния превод, добре е, както е предложено в официалната документация за Loco Translate , да провериш дали папките с плъгини са конфигурирани правилно. Това ще ти позволи да си гарантираш, че преводите няма да се презаписват при актуализации.

След като изпълниш всички тези стъпки, си готов да започнеш да превеждаш темата си (или плъгин).

В таблото иди на Loco Translate.

За превода на тема, иди в темите и, разбира се, за превода на плъгин, иди в плъгините.

За избор на нов език избери New language. За превод на темата иди в Edit template.

Избор на език

В Edit template започни превода.

Превод с Loco Translate
Превод с Loco Translate

Накрая можеш да избереш папката, в която ще бъде записан файлът, съдържащ превода. В официалната документация на Loco Translate се препоръчва да се избере опцията, наречена Custom, която гарантира, че преводите не се презаписват, дори в случай на автоматични актуализации.

Като алтернатива, за да преведеш тема или плъгин на WordPress, можеш да използваш My WP Translate.

Превод на тема и плъгин с My WP Translate

My WP Translate е мощен и лесен плъгин за използване. Безплатен. На моя блог използвам този плъгин.

След инсталирането и активирането на плъгина иди в него.

Превод с My WP Translate
Превод с My WP Translate

Иди на темата или приставката, която искаш да преведеш, или добави приставка за превод с Add Plugin.

В моя пример избирам темата, която е активирана на блога ми:

Превод с My WP Translate 1
Превод с My WP Translate

И започвам да превеждам. Накрая записвам превода в .PO файл и правя бекъп на файла и на компютъра.

За подробно описание как се използва плъгина, виж това видео:

Заключение

Винаги прави резервно копие на преведените файлове, за да не загубиш преводите.

Преведените .po и .mo файлове неизбежно ще бъдат загубени, след като темата бъде актуализирана до последната версия. За да не загубиш направените преводи:

1. Можеш да копираш папката Languages на темата върху компютъра. (Например с помощта на специален плъгин за архивиране и възстановяване – UpdraftPlus).

Забележка: Ако актуализацията на темата съдържа нови низове, които трябва да бъдат преведени, върни се отново да използваш плъгина за превод.

2. Препоръчително е да използваш тема Child, за да не загубиш превода при актуализиране на основната тема.

А ти как се справяш с преводите на твоята тема и плъгини?

Ако ви е харесала публикацията, споделете я:

Оставете коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

Този сайт използва Akismet за намаляване на спама. Научете как се обработват данните ви за коментари.