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.
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.
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ą.)
Międzynarodowy obraz przez Shutterstock.
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' );}
Międzynarodowy obraz przez Shutterstock.
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.
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.
Międzynarodowy obraz przez Shutterstock.
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.
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:
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.