WordPress tłumaczenie szablonu

Autor: Rafal Marguzewicz
Opublikowany:
Kategorie: Wordpress
Tagi:


tlumaczenie logoW artykule tym przedstawię jak przetłumaczyć szablon do WordPress za pomocą edycji plików .php (bez użycia dodatków takich jak WMPL)

Prace tłumaczenia szablonu WordPress można podzielić na kilka etapów:

Przygotowanie plików .mo i .po z tłumaczeniami

Na początek potrzebny jest nam szablon pliku pl_PL.po. Poniższy tekst możemy skopiować do programu tekstowego i zapisać jako pl_PL.po

msgid ""
msgstr ""
"PO-Revision-Date: 2017-04-07 09:27:09+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: GlotPress/2.4.0-alpha\n"
"Language: pl\n"
"Project-Id-Version: WordPress - 4.7.x\n"

msgid "English version"
msgstr "Polska wersja"

Gdy mamy już gotowy plik .po z tłumaczeniami należy na jego podstawie wygenerować plik pl_PL.mo. Aby to zrobić jest kilka możliwości. Ja do tego celu polecam edytor online plików PO MO. Wystarczy załadować do serwisu plik .po a następnie zapisać projekt i pobrać plik mo. Po pograniu należy jeszcze zmienić jego nazwę na pl_PL.mo

po mo files

W katalogu templatki wordpress tworzymy katalog languages a do niego kopiujemy oba pliki pl_PL.mo i pl_PL.po

W folderze szablonu struktura powinna wyglądać mniej więcej tak:

/language – w tym katalogu mamy pliki pl_PL.mo i pl_PL.po
/index.php – główny plik z szablonem wordpress
/single.php – plik szablonu podstrony
/functions.php – pomocnicze funkcje, ten plik będziemy edytować w następnym kroku
/style.css – w tym pliku są style CSS oraz nazwa szablonu WordPress

Dodanie ładowania tłumaczeń do pliku functions.php

Aby poinformować szablon z jakiej lokalizacji ma pobierać pliki tłumaczeń należy do pliku functions.php dodać

load_theme_textdomain( 'nazwa_szablonu', get_template_directory() . '/languages' );

Ważne aby pierwszy parametr funkcji load_theme_textdomain() – był taki sam jak Text Domain templatki. Możemy się upewnić edytując plik style.css

/*
	Theme Name: pceuropa
	Text Domain: pceuropa
	Theme URI: https://pceuropa.net
	Version: 0.6.1
	Description: Zeitgeist.
	Author: Rafal Margużewicz
	Author URI: https://pceuropa.net/blog
*/

Użycie tłumaczeń w kodzie szablonu

Ok jeżeli mamy już wszystkie wymagane pliki w szablonie, możemy przystąpić do edycji np pliku index.php. Jest kilka funkcji które pozwalają na umieszczanie tekstu, które zależnie od języka będzie translatowany. Podstawowa funkcja której ja używam to
_e("English version", "text_domain" ) w moim przypadku gdy text domain w pliku style.css mam pceuropa finalnie aby na polskiej stronie wyświetlić tekst Polska wersja kod powinien mieć postać _e("English version", "pceuropa" ).
Drugi parametr funkcji _e() jest opcjonalny, w tedy WordPress będzie się starał pobierać tłumaczenie z domyślnego źródła którym na ogół jest /wp-content/languages. I jest to bardzo przydatne ponieważ domyślny plik pl_PL wordpressa ma 10000 linni kodu z wieloma tłumaczeniami. Więc jeżeli mamy możliwość użycia frazy z tego pliku, to warto, ponieważ w tedy z automata nasz szablon zostanie przystosowany do dużej ilości tłumaczeń.

przyklad tlumaczenie wordpress

Podobną anologię działania można zastosować do tłumaczenia pluginów i widgetów WordPress.

WordPress tłumaczenie szablonu
5 / 1 vote


Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Nazwa *
Email *

Przeczytaj poprzedni wpis:
WordPress: tworzenie widgetu w pluginie

Jeżeli mamy już stworzoną podstawą wersję pluginu do Wordpress. Możemy przystąpić do rozszerzania możliwości pluginu o automatyczne ładowanie klasy widzetu...

Zamknij