loco translate nie tłumaczy

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);

Podobne wpisy

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *