Превод на тема за WordPress без .po файл
Превод на .po файл
Превод на тема за Wordpress която не съдържа .pot файл.
(може да помогне на тези който имат подобни главоблъсканици, като в това описание ще покажа конкретно за темата с която имах този проблем.)
Тема: enigma-premium (платена версия)
Производител: weblizar
Използван редактор: Poedit
Първото нещо което има като разлика от някои други теми е, че файловете за езика не се намират в директория …. wp-content/themes/enigma-premium/languages
А по преценка на производителя са в …. wp-content/themes/enigma-premium/core/lang
За да редактирате езика на темата трябва да имате инсталиран софтуер за превод (в случая работя с Poedit)
1. Отваряте темата в директория …. wp-content/themes/enigma-premium/core/lang
2. Тук се намира файла „enigma.po“ който го копираме в някоя папка за да може да работим само по него (файла за редакция е с разширение .po)
3. Отваряне файла „enigma.po“ с Poedit
4. Натискаме Ctrl+n за да създадем нов файл.
5. Отваря се прозорче в което избираме езика на който ще превеждаме.
6. Натискаме „Update from POT“ (намира се по средата на отворения прозорец на програмата)
7. Отваря се прозорец и кликаме на „save“
8. След като е записано се отваря веднага нов прозорец в който по дифолт иска .pot файл който в дадения случай нямаме. От същия този прозорец в долния десен ъгъл от падащото меню избираме да ни покаже файлове с разширение .po като след това избирам файла „enigma.po“ който е по подразбиране на самата тема. И го отваряме.
9. Тук вече се показват всички надписи по темата който може да преведем (не е нужно да се превежда всичко, може само тези бутони които ни се виждат визуално на страницата като „Read More“ например)
10. Като сме приключили с превода даваме „save“ на файла
Така вече имаме преведените неща (по всяко време може да се редактира)
Качване на преведения файла
Качване на езиковия пакет на сървъра където е инсталирана темата:
От направените по горе стъпки, трябва да имаме два файла: bg_BG.po и bg_BG.mо
Преди да качим файловете има няколко стъпки които трябва да направим като да установим какъв е текст домейна на темата за да може да чете от тези файлове превода които сме направили.
Установяването на текст домейна:
в главната директория на темата има файл „functions.php“ отваряме с Notepad++ и търсим textdomain. В моя случай се намира на следния ред:
load_theme_textdomain( 'weblizar', WL_TEMPLATE_DIR_CORE . '/lang' );
като при мен името на текс домейна е: weblizar
Щом установиш какъв е текст домейнът:
Преименуваме файловете bg_BG.po и bg_BG.mo наweblizar -bg_BG.po и weblizar -bg_BG.mo
Влизаме в директория wp-content/languages/themes. И добавяме двата файла.Автори на теми би трябвало да са посочили ясно как се казва text domain-ът, който съответната тема ползва. Често пъти не го посочват, но самият текст домейн безусловно се съдържа в кода. Може да се идентифицира по това, че обичайно е предхождан от __(……..) или _e(……….) в кода. Това, все пак, не означава, че всичко, пред което в кода има __( или _e( е текст домейнът. Нужно е да се тества или да се прояви съобразителност - текст домейнът често пъти се оказва не както името на темата, а както създателят или домейна на собственика на темата.
Недостатъкът е в това, че ако новата версия на темата има нови функционалности, те може да останат непреведени.