apply_filters( ‘gettext_with_context’, string $translation, string $text, string $context, string $domain )

Filters text with its translation based on context information.

Parameters

$translationstring
Translated text.
$textstring
Text to translate.
$contextstring
Context information for the translators.
$domainstring
Text domain. Unique identifier for retrieving translated strings.

More Information

This filter hook is applied to the translated text by the internationalization function that handle contexts (_x(), _ex(), esc_attr_x() and esc_html_x()).

IMPORTANT: This filter is always applied even if internationalization is not in effect, and if the text domain has not been loaded. If there are functions hooked to this filter, they will always run. This could lead to a performance problem.

For regular translation functions such as _e(), and for examples on usage, see gettext().

For singular/plural aware translation functions such as _n(), see ngettext().

For context-specific translation functions that also handle plurals such as _nx(), see filter hook ngettext_with_context().

Source

$translation = apply_filters( 'gettext_with_context', $translation, $text, $context, $domain );

Changelog

VersionDescription
2.8.0Introduced.

User Contributed Notes

  1. Skip to note 2 content
    /**
    * @param string $translated
    * @param string $text
    * @param string $context
    * @param string $domain
    * @return string
    */
    function example_gettext_with_context( $translated, $text, $context, $domain ) {
        if ( 'example-plugin' == $domain ) {
            if ( 'directions' == $text && 'directions on map' == $context ) {
                $translated = 'map directions';  // not recipe instructions!
            }
        }
    
        return $translated;
    }
    add_filter( 'gettext_with_context', 'example_gettext_with_context', 10, 4 );

You must log in before being able to contribute a note or feedback.