Описание ngettext_with_context_{$domain}
— Filter
Хук ngettext_with_context_{$domain} позволяет изменить переводы строк с контекстом в WordPress. Он срабатывает при получении перевода строки в определённом домене и позволяет настроить текст перевода с учётом контекста
Примеры использования
Пример изменения перевода строки с контекстом:
add_filter('ngettext_with_context_my_domain', function($translated_text, $text, $context, $number) {
if ($text === 'apple' && $context === 'fruit') {
return 'яблоко';
}
return $translated_text;
}, 10, 4);
В этом примере мы изменяем перевод слова ‘apple’ в контексте ‘fruit’ на ‘яблоко’
Пример использования числа для изменения перевода во множественном числе:
add_filter('ngettext_with_context_my_domain', function($translated_text, $text, $context, $number) {
if ($text === 'apple' && $context === 'fruit' && $number > 1) {
return 'яблоки';
}
return $translated_text;
}, 10, 4);
Здесь мы изменяем перевод во множественном числе в зависимости от числа
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить перевод строк с контекстом, особенно если строки имеют разные значения в зависимости от ситуации
– Производительность
Хук не должен сильно влиять на производительность, так как изменения касаются только перевода строк
– Предупреждения
Обязательно проверяйте контекст, чтобы избежать неправильных переводов
Альтернативы
Тип: filter
Этот хук позволяет изменять переводы строк без учёта контекста
Используйте его, если вам не нужно различать контексты для переводимых строк