translate_with_gettext_context()WP 2.8.0

Retrieves the translation of $text in the context defined in $context.

If there is no translation, or the text domain isn't loaded, the original text is returned.

Note: Don't use translate_with_gettext_context() directly, use _x() or related functions.

Return

String. Translated text on success, original text on failure.

Usage

translate_with_gettext_context( $text, $context, $domain );
$text(string) (required)
Text to translate.
$context(string) (required)
Context information for the translators.
$domain(string)
Text domain. Unique identifier for retrieving translated strings.
Default: 'default'

Changelog

Since 2.8.0 Introduced.
Since 5.5.0 Introduced gettext_with_context-{$domain} filter.

translate_with_gettext_context() code WP 6.5.2

function translate_with_gettext_context( $text, $context, $domain = 'default' ) {
	$translations = get_translations_for_domain( $domain );
	$translation  = $translations->translate( $text, $context );

	/**
	 * Filters text with its translation based on context information.
	 *
	 * @since 2.8.0
	 *
	 * @param string $translation Translated text.
	 * @param string $text        Text to translate.
	 * @param string $context     Context information for the translators.
	 * @param string $domain      Text domain. Unique identifier for retrieving translated strings.
	 */
	$translation = apply_filters( 'gettext_with_context', $translation, $text, $context, $domain );

	/**
	 * Filters text with its translation based on context information for a domain.
	 *
	 * The dynamic portion of the hook name, `$domain`, refers to the text domain.
	 *
	 * @since 5.5.0
	 *
	 * @param string $translation Translated text.
	 * @param string $text        Text to translate.
	 * @param string $context     Context information for the translators.
	 * @param string $domain      Text domain. Unique identifier for retrieving translated strings.
	 */
	$translation = apply_filters( "gettext_with_context_{$domain}", $translation, $text, $context, $domain );

	return $translation;
}