Skip to content

Instantly share code, notes, and snippets.

@renrax
Last active January 13, 2022 14:01
Show Gist options
  • Save renrax/27ca71ec5699a07599fc2f8c8bb7129d to your computer and use it in GitHub Desktop.
Save renrax/27ca71ec5699a07599fc2f8c8bb7129d to your computer and use it in GitHub Desktop.
Быстро перевести любую строку
<?php
//Exemple 1
add_filter('gettext', 'translate_text');
add_filter('ngettext', 'translate_text');
function translate_text($translated) {
$translated = str_ireplace('Choose and option', 'Select', $translated);
return $translated;
}
или
/**
* Возможно, вы захотите перевести или изменить текст на своем сайте WordPress, но не хотите возиться с переводом строк или редактированием файлов PO/MO. К счастью, есть альтернативный способ сделать это. Быстро и просто. Все, что вам нужно сделать, это добавить приведенный ниже код в файл functions.php вашей дочерней темы. Имейте в виду, что это работает только с переводимым текстом, который используется внутри __()или в _e()функциях.
* Код ниже использует gettextфильтр. Замените Old Textтекстом, который хотите заменить. Это чувствительно к регистру, поэтому введите его точно так, как вы видите его на своем веб-сайте. Замените New Textзаменяющим текстом или оставьте поле пустым, если хотите удалить исходный текст.
*/
//Exemple 2
function change_translate_text( $translated_text ) {
if ( 'Old Text' === $translated_text ) {
$translated_text = 'New Text';
}
return $translated_text;
}
add_filter( 'gettext', 'change_translate_text', 20 );
//Вы также можете использовать это, array()например:
function multi_change_translate_text( $translated ) {
$text = array(
'Old Text 1' => 'New Text 1',
'Old Text 2' => 'New Text 2',
'Old Text 3' => 'New Text 3',
);
$translated = str_ireplace( array_keys( $text ), $text, $translated );
return $translated;
}
add_filter( 'gettext', 'multi_change_translate_text', 20 );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment