Описание gettext_with_context
— Filter
Хук gettext_with_context позволяет изменять переводы строк в WordPress, учитывая их контекст. Он срабатывает при выполнении функций, связанных с получением перевода текста, таких как __() и _e(), и дает возможность модифицировать возвращаемое значение в зависимости от контекста.
Примеры использования
Пример изменения перевода строки с учетом контекста:
add_filter('gettext_with_context', function($translated_text, $text, $context) {
if ($text === 'Submit' && $context === 'Button') {
return 'Отправить';
}
return $translated_text;
}, 10, 3);
Этот пример изменяет перевод кнопки ‘Submit’ на ‘Отправить’, если контекст указывает на кнопку.
Пример изменения перевода строки в зависимости от контекста:
add_filter('gettext_with_context', function($translated_text, $text, $context) {
if ($text === 'Hello' && $context === 'Greeting') {
return 'Привет';
} elseif ($text === 'Hello' && $context === 'Farewell') {
return 'До свидания';
}
return $translated_text;
}, 10, 3);
Здесь мы изменяем перевод ‘Hello’ в зависимости от контекста, возвращая ‘Привет’ для приветствия и ‘До свидания’ для прощания.
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить перевод строк с учетом контекста, чтобы избежать ошибок в переводах.
– Производительность
Хук не должен существенно повлиять на производительность, однако множественные проверки могут замедлить выполнение.
– Предупреждения
Будьте внимательны при использовании контекста, чтобы не перепутать строки с одинаковым текстом, но разным значением.
Альтернативы
Тип: filter
Этот хук позволяет изменять переводы строк без учета контекста.
Используйте его, если вам не нужно различать строки по контексту.