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