Превод на тема за WordPress без .po файл
Уеб сайтове с Wordpress
Превод на .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( е текст домейнът. Нужно е да се тества или да се прояви съобразителност - текст домейнът често пъти се оказва не както името на темата, а както създателят или домейна на собственика на темата.
Недостатъкът е в това, че ако новата версия на темата има нови функционалности, те може да останат непреведени.