25.06.2017 o 18:20

WordPress - tworzenie tłumaczenia szablonu / wtyczki

W momencie kiedy tworzymy wtyczkę lub szablon i wiemy, że będzie obsługiwać języki wtedy potrzebujemy wygenerować pliki .po .mo oraz w szablonie muszą znajdować się odpowiednie funkcje zamiast zwykłego tekstu.

W tym poradniku dowiesz się jakie wtyczki będą Ci przydatne oraz jak włączyć obsługę wielu języków w WordPressie. Zapraszam :)

Zmiana zwykłego tekstu w kodzie
Na początek powinniśmy zamienić fragmenty tekstów, które są na sztywno  w kodzie, na funkcję zawierającą ten tekst i informującą WordPressa, że ten tekst jest tekstem z możliwością obsługi wielu języków.

Przykład zwykłego tekstu
$przyklad = 'Przykładowy tekst';
echo 'Przykładowy tekst 2';
Tekst zamieniamy na funkcję  _e();  lub __();  w zależności czy chcemy, go wyświetlić od razu, czy przekazać jako string w inne miejsce.
$przyklad = __('Przykładowy tekst','textdomain');
_e('Przykładowy tekst 2','textdomain');
Gdzie textdomain, to identyfikator dla naszych stringów. Często nazwą jest nazwa wtyczki lub szablonu.
Najlepiej w trakcie tworzenia szablonu / wtyczki od razu dodać te funkcje zamiast zwykłego tekstu. Dzięki temu nie będziemy musieli później przerabiać.

Edycja styli bez których może nie działać obsługa języków
W domyślnych stylach szablonu lub wtyczki czyli style.css, na początku trzeba zdefiniować nazwę textdomain oraz położenie plików z tłumaczeniami.
/*
    Theme Name: Przykładowy szablon
    Description: Przykładowy plik
    Version: 1.0.0
    Author: KarolDrag
    Author URI: http://karol-drag.eu
    Domain Path: /languages
    Text Domain: textdomain
*/

Dodanie funkcji bez których może nie działać obsługa języków
Dla wtyczki
add_action( 'plugins_loaded', 'myplugin_load_textdomain' );
function myplugin_load_textdomain() {
  load_plugin_textdomain( 'textdomain', false, basename( dirname( __FILE__ ) ) . '/languages' );
}
Dla szablonu
add_action( 'after_setup_theme', 'my_theme_setup' );
function my_theme_setup(){
    load_theme_textdomain( 'textdomain', get_template_directory() . '/languages' );
}

Wygenerowanie plików .mo, .po

Kiedy już mamy skonfigurowane wszystkie wymagane elementy pora na wygenerowanie plików .mo i .po. Użyjemy do tego znanej wtyczki Loco Translate, możliwe, że gdzieś już o niej słyszałeś.

Po zainstalowaniu wtyczki, przechodzimy do niej. Powinna znajdować się na samym dole w lewym menu. W głównym oknie wtyczki znajdziemy listę wszystkich aktywnych wtyczek oraz szablonów.



Wybieramy nasz szablon lub wtyczkę i wchodzimy w zakładkę Advanced by upewnić się, że wszystkie pola są dobrze wypełnione.



Jeśli tak, to przechodzimy do zakładki Overview i klikamy przycisk Create template. Następnie znowu klikamy przycisk Create template i nasz szablon stringów zostanie utworzony.



Jeśli w przyszłości będziemy chcieli dodać kolejne stringi do tłumaczeń musimy wybrać opcję Edit template i następnie wybrać opcję Sync, aby zsynchronizować nasze stringi z plikiem .pot.

Teraz przechodzimy do tworzenia plików .po, .mo dla języka np. Polskiego. Aby to zrobić wybieramy opcję New language.



Tutaj wybieramy język oraz w jakim miejscu mają znajdować się pliki. Najlepiej zrobić to w plikach szablonu / wtyczki, którą tworzymy, wtedy będzie nam łatwiej edytować na przyszłość.

Kiedy klikniemy Start translation od razu przekieruje nas do najważniejszego okna, okna tłumaczeń.



Klikamy na string, który chcemy przetłumaczyć, następnie w polu na samym dole  (które nazywa się Polish translation) wpisujemy tekst jaki chcemy widzieć zamiast tego które wybraliśmy, a następnie klikamy Save i sprawdzamy na stronie czy tekst się przetłumaczył / zamienił. Jeśli nie to widocznie coś źle zrobiłeś.

Wtyczki do obsługi języków
No dobrze, gdy już wiesz, że obsługa języków dla Twojego szablonu lub wtyczki działa, to wypadałoby przetestować ją w kilku językach. Aby to zrobić potrzebujemy wtyczki do języków.
Przykładowymi wtyczkami są Polylang (darmowa) i WPML (płatna). Dzisiaj nie będę opisywać jak je skonfigurować. Zrobimy to następnym razem, a ja zachęcam do udzielania się w dyskusjach (komentarze i portale społecznościowe).

Pozdrawiam
Drag

Komentarze
© 2010 - 2017 - Karol Drąg
Wszelkie prawa zastrzeżone
Polityka plików cookies