Wtyczki WordPress pozwalają w łatwy sposób modyfikować i ulepszać bloga, wprowadzając nowe funkcje, które nie są dostępne w podstawowym kodzie.

Używanie wtyczek działa bardziej skutecznie niż próba zmodyfikowania ogólnego programowania rdzeniowego WordPress. Zdefiniowane jako program lub zestaw funkcji napisanych w PHP, wtyczki dodają określone funkcje, które można łatwo zintegrować z blogiem za pośrednictwem interfejsu API WordPress.

Jeśli napisałeś wtyczkę WordPress, możesz uczynić ją bardziej dostępną, tłumacząc ją na inny język. Jest to znane jako internacjonalizacja.

Internacjonalizacja a lokalizacja

Zanim będziesz mógł umiędzynarodowić swoją wtyczkę, musisz wiedzieć, co to znaczy. Znany również jako i18n, oznacza to modyfikację wtyczki, aby inne kultury posługujące się innymi językami mogły z łatwością korzystać z wtyczki.

Lokalizacja przez kontrast jest faktycznym procesem modyfikacji.

Internacjonalizacja jest czymś więcej niż tylko tłumaczeniem interfejsu. Na przykład, przyjęte założenia dotyczące jednostek imperialnych i jednostek metrycznych, interpunkcji, takich jak użycie przecinka do oddzielenia tysięcy zamiast kropki, a także innych tematów kulturowych należy zająć się, zanim będzie można prawidłowo zlokalizować swoją pracę.

Chociaż jest to przewodnik, który zajmuje się przygotowaniem do zlokalizowania wtyczki, nadal należy pamiętać o tych dodatkowych dostosowaniach.

Domeny i inicjalizacja

Lokalizacja wtyczki oznacza, że ​​musisz wymyślić domenę tekstową, zachowując każdy z nich osobno od tych, które używa WordPress lub które zdefiniowały inne wtyczki. Cokolwiek chcesz używać w domenie tekstowej, zależy od Ciebie, ale będziesz chciał wybrać coś wyjątkowego i sensownego, związanego z tym, o czym jest Twoja wtyczka.

Zanim w pełni zlokalizujesz swoją wtyczkę, musisz sprawić, by WordPress powiedział, w jaki sposób może znaleźć twoje ciągi. Jeśli kod jeszcze nie istnieje, będziesz musiał wstawić do swojego kodu coś takiego jak poniższy wiersz:

add_action( 'init', 'myFunction' );

Kod ten komunikuje się z WordPressem, aby polecić mu użycie funkcji o nazwie myFunction po załadowaniu. Funkcja ta następnie nazywa twoją domenę tekstową WordPress i uczy, jak może załadować zlokalizowane łańcuchy, które powinny wyglądać podobnie do tego:

function myFunction() {load_plugin_textdomain( 'mytextdomain', 'wp-content/plugins' );}

Funkcja WordPress load_plugin_textdomain informuje WordPress, że istnieje domena tekstowa o nazwie mytextdomain, a pliki, które mają zlokalizowane łańcuchy, znajdują się w folderze serwera wp-content / plugin. (Oczywiście, jeśli umieścisz pliki wtyczek w innym folderze i ścieżce, musisz zastąpić je odpowiednią ścieżką.)

Flags

Międzynarodowy obraz przez Shutterstock.

Przygotowywanie łańcuchów

Po inicjalizacji będziesz musiał zmienić ciągi statyczne na funkcję, która pozwoli WordPressowi na użycie odpowiedniej zlokalizowanej wersji tego łańcucha. W końcu nie działa dobrze, aby WordPress wyciągnął niewłaściwy język.

Ta funkcja oferuje krótką nazwę, która ułatwia internacjonalizację: podwójna funkcja _ (ciąg, domena). Funkcja ma dwa parametry, z których pierwszy jest łańcuchem domyślnym, którego używa wtyczka, jeśli nie ma dostępnej wersji zlokalizowanej. Drugi parametr to ta sama domena tekstowa, którą wybrałeś w kodzie wcześniej.

Przed tym krokiem Twój kod może wyglądać tak:

function addMyAdminPage() {add_options_page('A Page Title','A Menu Title',7, __FILE__, 'myAdminFunction' );}

Po dodaniu kodu może się wydawać, że:

function addMyAdminPage() {add_options_page(__( 'A Page Title', 'textdomain' ),__( 'A Menu Title', 'textdomain' ),7, __FILE__, 'myAdminFunction' );}
Flags

Międzynarodowy obraz przez Shutterstock.

Lokalizacja

Przy wszystkich przygotowaniach na uboczu, jesteś w końcu przygotowany na faktyczny proces zamiany twojej wtyczki WordPress na wiele języków.

Utworzenie lokalizacji wtyczki wymaga utworzenia pliku .po o nazwie podobnej do nazwy pliku wtyczki, a także dwuliterowych kodów ISO 639 dla każdego kraju i języka. Na przykład, jeśli Twoja wtyczka nazywała się nazwa domeny, a chciałeś ją zlokalizować na hiszpański (europejski), wyglądałaby ona jak "nazwa_pliku-es_ES.po".

Podczas gdy kodek WordPress oferuje narzędzia, które mogą pomóc w lokalizacji, często lepiej jest po prostu wybrać plik .po z jednej wtyczki jako punkt wyjścia. Pliki .po składają się z pojedynczego nagłówka, a następnie par translacyjnych:

msgid "Options"msgstr "Opciones"

Msgid to standardowy łańcuch, który pojawia się w podrzędnej funkcji podwójnego podparcia. Po utworzeniu pliku .po możesz użyć jednego z narzędzi, które WordPress oferuje do utworzenia pliku .mo, który jest drugim plikiem wymaganym przez WordPress.

Pomaganie innym tłumaczom

Nikt nie zna każdego języka, więc będziesz chciał rozszerzyć swoje zasoby i pozwolić innym pomóc w tłumaczeniu na inne języki. Musisz jednak poddać się specjalnej procedurze, aby wygenerować niezbędne pliki do przekazania tłumaczom, ponieważ nie chcesz, aby ich kod źródłowy został przypadkowo rozbity.

Plik, który chcesz przekazać tłumaczom, jest plikiem POT, który wygląda podobnie do tego:

#: wp-admin/admin-header.php:49msgid "Options"msgstr ""

Istnieją dwa sposoby na wygenerowanie tego pliku. Jeśli umieściłeś wtyczkę w repozytorium, po prostu przejdź do strony administratora i wybierz "Generuj plik POT". Plik ten zostanie przesłany tłumaczom, aby mogli je zlokalizować, ale najprawdopodobniej zechcesz wysłać do niego swoją wtyczkę, aby tłumacze nie musieli zadawać pytań na temat wtyczki.

Jeśli nie masz jeszcze swojej wtyczki w repozytorium, możesz odwiedzić stronę Katalog narzędzi WordPress I18n i użyj skryptu makepot.php w następujący sposób:

php makepot.php wp-plugin the-plugin-directory

Pamiętaj, że przed uruchomieniem tej komendy musisz zainstalować pakiet narzędzi do internacjonalizacji GNU na swoim serwerze.

Flags

Międzynarodowy obraz przez Shutterstock.

Testowanie

Po zlokalizowaniu wszystkich zlokalizowanych plików nadszedł czas, aby je przetestować i sprawdzić, czy jest coś, o czym zapomniałeś. Testowanie lokalizacji oznacza zmianę prostej linii w konfiguracji WordPressa w celu oszukiwania, że ​​powinien użyć innego pliku. Zmień plik wp-config i znajdź następujący wiersz:

define ('WPLANG', 'en_US');

Jeśli ta linia nie istniała wcześniej, należy dwukrotnie sprawdzić i sprawdzić, czy instalacja nadal działa poprawnie. Jeśli tak, wróć do pliku i zmodyfikuj kod kraju i języka. W poprzednim przykładzie wyglądałoby to następująco:

define ('WPLANG', 'es_ES');

Na koniec włącz wtyczkę, aby przetestować jej wygląd. Pamiętaj, aby powrócić do oryginalnego języka domyślnego po zakończeniu testów.

Aktualizuję twoją wtyczkę

Wraz ze wszystkimi zmianami wprowadzanymi przez WordPress, wtyczka może nie być w pełni funkcjonalna wraz z kolejnymi aktualizacjami. Upewnij się, że zawsze poświęcasz czas na aktualizację wtyczki, gdy tylko jest to możliwe. Zakładając, że już masz go hostowane w repozytorium wtyczek WordPress, możesz zrobić kilka kroków, aby dodać nowe funkcje lub zaktualizować łatki do wtyczki. Możesz to robić tak często, jak potrzebujesz.

Po zakończeniu aktualizacji wtyczki i chcesz wypuścić najnowszą wersję, musisz pamiętać o liście kontrolnej:

  • Przetestuj swoją wtyczkę i zagwarantuj, że najnowsza wersja faktycznie działa poprawnie. Pamiętaj, aby pamiętać o wszystkich różnych wersjach WordPress i przetestować je w każdej wersji, jak to możliwe. Nie wolno po prostu testować nowych funkcji, ponieważ możesz też przypadkowo zepsuć starsze funkcje.
  • Przejdź do folderu głównego i zmodyfikuj komentarz nagłówka w głównym pliku PHP, aby można było zaktualizować numer wersji. Upewnij się, że zmieniasz także numer wersji w pliku readme.txt w folderze trunkingu w polu stabilnego tagu.
  • Zawsze mądrze jest utworzyć kolejną podsekcję obszaru dziennika zmian pliku readme.txt, aby można było krótko opisać, co nowego w najnowszym wydaniu w porównaniu do poprzedniego. Cokolwiek tu wstawisz, zostanie dodane do karty rejestru zmian na stronie Twojej wtyczki.
  • Upewnij się, że tworzysz nowy znacznik SVN jako część pnia.
  • Poczekaj kilka minut, aż system zarejestruje nowe zmiany, a następnie przejdź do strony wtyczki i do bloga z zainstalowaną nową wtyczką, aby sprawdzić, czy wszystko zostało poprawnie zaktualizowane. Należy pamiętać, że te sprawdzenia aktualizacji mogą być buforowane, więc może być konieczne poczekać trochę dłużej, aby w pełni zaktualizować.

Podsumowując, nie ma nic innego, jak umiędzynarodowienie wtyczki na różne języki. Tak długo jak postępujesz zgodnie z tymi krokami, możesz zlokalizować wtyczkę na tyle różnych języków, ile potrzebujesz.

Czy zlokalizowałeś wtyczkę WordPress? Jakie języki mają być częściej obsługiwane? Daj nam znać w komentarzach.