Brak fraz w loco translate. Oto sposób jak je przetłumaczyć
Co zrobić kiedy nie ma jakiegoś tłumaczenia w Loco Translate?
W WordPressie istnieje wiele sposobów tłumaczenia treści, ale nie zawsze są one intuicyjne lub łatwe do zastosowania, zwłaszcza gdy chodzi o specyficzne ciągi tekstowe w motywach lub wtyczkach. Jednym z bardziej zaawansowanych, ale jednocześnie bardzo elastycznych sposobów jest użycie PHP. W tym artykule omówimy, jak tłumaczyć ciągi tekstowe w WordPressie za pomocą PHP, skupiając się na funkcji gettext
.
Przykładowy kod do tłumaczenia ciągów tekstowych
function custom_text_replace( $translated_text, $untranslated_text, $domain ) {
switch ( $untranslated_text ) {
case 'Course Content':
$translated_text = __( 'Kontent kursu', $domain );
break;
default:
$translated_text = $untranslated_text;
break;
}
return $translated_text;
}
add_filter( 'gettext', 'custom_text_replace', 20, 3 );
Omówienie kodu
W powyższym kodzie definiujemy funkcję custom_text_replace
. Ta funkcja ma za zadanie przetłumaczyć określone ciągi tekstowe na podstawie ich oryginalnej wartości ($untranslated_text
).
Funkcja ta przyjmuje trzy argumenty:
$translated_text
– domyślnie przetłumaczony tekst przez WordPressa.$untranslated_text
– oryginalny tekst, który chcemy przetłumaczyć.$domain
– domena tekstowa, która identyfikuje źródło ciągu (np. wtyczka lub motyw).
Wewnątrz funkcji używamy instrukcji switch
, która pozwala nam zdecydować, jak przetłumaczyć dany ciąg tekstowy. W tym przypadku, jeśli oryginalny tekst to “Course Content”, zostanie on przetłumaczony na “Kontent kursu”.
Na koniec dodajemy naszą funkcję do filtru gettext
za pomocą add_filter
. Pozwala to na automatyczne przetłumaczenie ciągów tekstowych w WordPressie za pomocą naszej funkcji.
Możliwości rozbudowy
Możesz łatwo rozbudować powyższy kod, dodając więcej przypadków (case
) do instrukcji switch
. Wystarczy dodać nowy przypadek dla każdego ciągu, który chcesz przetłumaczyć, i podać odpowiednie tłumaczenie.
Domena tekstowa – co to jest?
Domena tekstowa w WordPressie służy do identyfikacji źródła ciągu tekstowego, czyli z której wtyczki lub motywu pochodzi. Dzięki temu możemy dostarczać tłumaczenia specyficzne dla danej wtyczki lub motywu, nawet jeśli inne wtyczki używają tego samego ciągu tekstowego.
Jeśli chcesz dostarczyć tłumaczenie specyficzne dla konkretnej wtyczki, musisz znać jej domenę tekstową. Możesz ją znaleźć w dokumentacji wtyczki, przeszukując jej pliki źródłowe lub sprawdzając pliki tłumaczenia w katalogu languages
lub lang
wtyczki.
Mam nadzieję, że ten artykuł pomógł Ci zrozumieć, jak tłumaczyć ciągi tekstowe w WordPressie za pomocą PHP. Jeśli masz jakieś pytania lub sugestie, daj mi znać!
Jeśli kod powyżej Ci nie zadziała dodaj ten:
// Definicja funkcji, która ma na celu zmienić tłumaczenie tekstu "Course Content:" na "Kontent kursu:"
function change_course_content_text($translated_text, $text, $domain) {
// Sprawdzenie, czy tekst do tłumaczenia to "Course Content:"
if ($text === 'Course Content:') {
// Jeśli tak, zwróć tłumaczenie "Kontent kursu:" zamiast oryginalnego tekstu
return 'Kontent kursu:';
}
// Jeśli tekst nie jest "Course Content:", zwróć oryginalny tekst
return $translated_text;
}
// Dodanie naszej funkcji do filtru 'gettext', który jest odpowiedzialny za tłumaczenie tekstu w WordPressie
// Parametry:
// - 'gettext' to nazwa filtru
// - 'change_course_content_text' to nazwa naszej funkcji
// - 20 to priorytet, w którym nasza funkcja zostanie wywołana (im wyższa wartość, tym później zostanie wywołana)
// - 3 to liczba argumentów, które nasza funkcja przyjmuje
add_filter('gettext', 'change_course_content_text', 20, 3);
Dołącz do darmowego kursu Szkoła Gutenberga i poznaj narzędzia, których używam do tworzenia stron internetowych dla klientów
Bycie na liście studentów Szkoły Gutenberga to szereg korzyści.
W newsletterze poruszamy się wokół trzech tematów.
Biznes
Poznasz sposoby na zarabianie pieniędzy dzięki WordPressowi.
Tworzenie stron
Nauczysz się budować strony. Nie potrzebujesz programistów i page builderów.
WordPress
Dowiesz się jak poruszać się swobodnie w świecie WordPressa.