Wprowadzenie do filtra Gettext

Opublikowany: 2023-02-12

Znalezienie wtyczki lub motywu dla witryny WordPress, która spełnia wszystkie Twoje wymagania, może być wyzwaniem. Wiele może się zbliżyć, ale nadal wymagają dostosowań lub dostosowań. Dodatkowo, jako programista, ważne jest, aby Twój kod był wystarczająco elastyczny, aby obsługiwać użytkowników z całego świata.

Na szczęście istnieją pewne funkcje rdzenia WordPress, które mogą pomóc w dostosowaniu niektórych elementów witryny. Dzięki temu możesz dostosować tekst przycisku lub etykiety zamiast rezygnować z przydatnej wtyczki, a nawet przygotować witrynę do tłumaczenia.

W tym artykule postaramy się lepiej zrozumieć filtr gettext, w tym jego działanie w procesie tłumaczenia witryny. Jest wiele do omówienia, więc zanurzmy się od razu!

Spis treści
1. Co to jest Gettext?
2. Gettext i PHP do tłumaczenia
2.1. Krok 1: Wyodrębnij ciągi tekstowe jako pliki POT
2.2. Krok 2: Utwórz plik obiektu przenośnego (PO).
2.3. Krok 3: Konwertuj na pliki obiektów maszynowych (MO).
3. Kiedy filtr Gettext WordPress jest przydatny?
4. Rozpowszechniaj swoją wiadomość za pomocą WP Engine

Co to jest Gettext?

Filtr gettext umożliwia modyfikowanie elementów tekstowych w witrynie WordPress. Najlepiej zrozumieć to na przykładzie.

Załóżmy, że formularz komentarza ma dwa pola: „Nazwa” i „E-mail”. Jeśli wolisz, aby czytały „Imię” i „Adres e-mail”, możesz użyć filtru gettext, aby je zmodyfikować, zamiast ręcznie zastępować każde wystąpienie każdego terminu w plikach motywu.

Filtr gettext działa tylko wtedy, gdy Twoja witryna została przygotowana do tłumaczenia. Dlatego zanim zagłębimy się w to, jak możesz go użyć do dostosowania tekstu, musimy omówić, jak umiędzynarodowić swój kod.

Kilka terminów, które należy zrozumieć przed kontynuowaniem, to:

  • Umiędzynarodowienie (i18n). Oznacza to, że Twój kod WordPress został przygotowany do tłumaczenia na inne języki.
  • Lokalizacja (l10n). Proces, dzięki któremu możesz rozpocząć programowanie i18n i zlokalizować instalację WordPress do użytku w języku ojczystym.
  • Biblioteka gettext GNU. GNU to darmowy system operacyjny typu open source. Jego biblioteka gettext umożliwia zawijanie tekstu w ciągi kodu, które następnie można wyodrębnić do tłumaczenia.
  • Plik POT: Aby wykonać ekstrakcję napisów, które można przetłumaczyć, utworzonych za pomocą funkcji gettext, tworzone są pliki Portable Object Template (POT).
  • Plik PO: Narzędzie takie jak Poedit używa pliku POT do tworzenia plików obiektów przenośnych (PO), które zawierają ukończone tłumaczenia, a także możliwe do przetłumaczenia ciągi znaków.
  • Plik MO: Plik obiektu maszyny (MO) jest tworzony z pliku PO. Znajduje się w twoim katalogu wtyczek lub motywów i jest dostarczany przez twój serwer, jeśli wymagana jest przetłumaczona wersja twojej witryny.

Wszystkie te elementy odgrywają rolę w przygotowywaniu produktów WordPress do tłumaczenia, jak zobaczysz w poniższych krokach.

Gettext i PHP do tłumaczenia

Poniżej wyjaśniliśmy przepływ pracy związany z internacjonalizacją motywu lub wtyczki. Przed eksperymentowaniem z takimi zmianami zaleca się utworzenie motywu podrzędnego do pracy. To ochroni Twoją witrynę przed potencjalnymi katastrofami.

Krok 1: Wyodrębnij ciągi tekstowe jako pliki POT

Pierwszą rzeczą, którą będziesz chciał zrobić, to sprawdzić, czy Twój motyw lub wtyczka zawiera już pliki POT. Jeśli nie, musisz je automatycznie wygenerować, ręcznie utworzyć za pomocą Terminala lub użyć aplikacji polecanej przez WordPressa, o której wspominaliśmy wcześniej, o nazwie Poedit:

Wersja Pro oferuje szybką funkcję WordPress do tworzenia potrzebnych plików. Jednak nadal możesz wygenerować plik POT za pomocą kilku dodatkowych kliknięć za pomocą bezpłatnej aplikacji.

Aby rozpocząć, musisz pobrać i zainstalować Poedit, który będzie działał na twoim pulpicie. Gdy to zrobisz, przejdź do Plik > Nowy . Zostaniesz poproszony o wybranie języka tłumaczenia:

Przed kontynuowaniem musisz zapisać swój nowy projekt. Następnie będziesz mieć możliwość zaktualizowania istniejącego pliku POT lub wyodrębnienia ze źródeł :

W razie potrzeby możesz także zacząć od pustego pliku POT, a następnie zmienić ciągi tekstowe w Poedit. Alternatywnie możesz przeszukać Glotpress w poszukiwaniu istniejących plików wtyczek i motywów do użycia. Jednak w tym przykładzie załóżmy, że będziesz musiał użyć drugiej opcji.

Po kliknięciu Wyodrębnij ze źródeł będziesz mieć trzy zakładki ustawień do skonfigurowania:

Będziesz musiał ustawić ścieżki dla źródeł ciągów tekstowych. Możesz także wykluczyć określone ścieżki. Następnie będziesz chciał skonfigurować właściwości tłumaczenia:

Tutaj nadasz nazwę swojemu projektowi i dostosujesz ustawienia liczby mnogiej oraz innych elementów specyficznych dla języka. Na koniec możesz użyć karty Słowa kluczowe Źródła , aby dokończyć konfigurację pliku POT:

Po kliknięciu znaku plus będziesz mógł dodać słowa kluczowe gettext, aby zakończyć konfigurację tłumaczenia. Będziesz także mógł przeglądać i wyszukiwać ciągi tekstowe z plików źródłowych.

Krok 2: Utwórz plik obiektu przenośnego (PO).

Następnie musisz przekonwertować plik POT na plik PO dla każdego języka, który chcesz dodać. Jeśli nie tłumaczysz swojego motywu ani wtyczki i planujesz używać filtra gettext tylko do zamiany języka angielskiego na angielski, ustaw oba języki (źródło i tłumaczenie) na angielski.

Jeśli przejdziesz do Katalog > Aktualizuj z pliku POT w Poedit, możesz wybrać plik, który chcesz przetłumaczyć:

Następnie plik przejdzie przez proces wyodrębniania, podczas którego wszystkie możliwe do przetłumaczenia ciągi zostaną przeniesione do Poedit. Spowoduje to utworzenie pliku PO. Będziesz chciał nazwać go tak, aby pasował do innych plików dla tego projektu.

Następnie kliknij Utwórz nowe tłumaczenie u dołu listy ciągów tekstowych, aby rozpocząć wprowadzanie zmian:

Aby zmienić tekst z angielskiego na angielski, po prostu kliknij ciąg znaków, który chcesz zmienić, i użyj okna tłumaczenia poniżej tekstu źródłowego , aby wpisać zastępowane słowo:

Zakończ ten proces dla dowolnego tekstu, który chcesz zmienić w swoim motywie lub wtyczce. Następnie utworzysz ostatni z trzech niezbędnych plików.

Krok 3: Konwertuj na pliki obiektów maszynowych (MO).

Do tej pory podejmowałeś kroki w celu tworzenia instrukcji programistycznych dotyczących Twoich tłumaczeń. Teraz musisz przekonwertować każdy plik PO, aby mógł zostać odczytany przez serwer i dostarczyć żądany tekst odwiedzającym.

W zależności od tego, jak przejdziesz przez przepływ pracy Poedit, plik MO mógł już zostać utworzony w folderze Języki twojego motywu. Jeśli nie, przejdź do Plik > Kompiluj do MO :

Teraz powinieneś mieć komponenty potrzebne do wykonania funkcji, które są możliwe dzięki filtrowi gettext w WordPress.

Kiedy filtr Gettext WordPress jest przydatny?

Chociaż proces, który opisaliśmy powyżej, może pomóc w przetłumaczeniu witryny na wiele języków, nie jest to celem filtra gettext. Innymi słowy, nie chciałbyś używać tego haka do zamiany tekstu angielskiego na hiszpański.

Jest to raczej funkcja projektowa, której można użyć do zmodyfikowania domyślnego tekstu dodawanego do witryny za pomocą wtyczki lub motywu, na przykład poprzez:

  • Dostosowanie etykiety
  • Zmiany tekstu przycisku
  • Zmiany nagłówków

Ten proces można wykorzystać do dostosowania dowolnego tekstu, który można przetłumaczyć w plikach witryny. Aby podać inny przykład, jeśli Twój motyw ma gotowe przyciski z napisem „Kup teraz”, ale Twoja witryna potrzebuje ich do napisania „Subskrybuj”, gettext jest filtrem, który może urzeczywistnić tę zmianę.

Należy pamiętać, że zbyt częste używanie gettext może mieć negatywny wpływ na wydajność Twojej witryny. Jest to dodatkowy kod, który musi być uruchamiany przy każdym ładowaniu witryny, więc używaj go oszczędnie, aby uniknąć zmniejszenia szybkości strony.

Rozpowszechniaj swoją wiadomość za pomocą WP Engine

Podjęcie decyzji o korzystaniu z wtyczek lub wprowadzaniu ręcznych zmian w kodzie witryny może być trudne. Dlatego kluczem jest posiadanie najlepszych zasobów dla programistów. Uzbrojony w eksperckie, profesjonalne wsparcie WP Engine, będziesz mieć wszystko, czego potrzebujesz, aby stworzyć wysoce dostosowaną stronę internetową.

Sprawdź nasze zarządzane dedykowane plany hostingowe WordPress dla Twojego następnego projektu. Zapewniamy konserwację Twojego serwera, dzięki czemu możesz z łatwością wprowadzać innowacje!