translate

The timeline below displays how wordpress function translate has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.2

/**
 * Retrieves the translation of $text.
 *
 * If there is no translation, or the text domain isn't loaded, the original text is returned.
 *
 * *Note:* Don't use translate() directly, use __() or related functions.
 *
 * @since 2.2.0
 * @since 5.5.0 Introduced `gettext-{$domain}` filter.
 *
 * @param string $text   Text to translate.
 * @param string $domain Optional. Text domain. Unique identifier for retrieving translated strings.
 *                       Default 'default'.
 * @return string Translated text.
 */
function translate($text, $domain = 'default')
{
    $translations = get_translations_for_domain($domain);
    $translation = $translations->translate($text);
    /**
     * Filters text with its translation.
     *
     * @since 2.0.11
     *
     * @param string $translation Translated text.
     * @param string $text        Text to translate.
     * @param string $domain      Text domain. Unique identifier for retrieving translated strings.
     */
    $translation = apply_filters('gettext', $translation, $text, $domain);
    /**
     * Filters text with its translation 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 $domain      Text domain. Unique identifier for retrieving translated strings.
     */
    $translation = apply_filters("gettext_{$domain}", $translation, $text, $domain);
    return $translation;
}

WordPress Version: 6.1

/**
 * Retrieves the translation of $text.
 *
 * If there is no translation, or the text domain isn't loaded, the original text is returned.
 *
 * *Note:* Don't use translate() directly, use __() or related functions.
 *
 * @since 2.2.0
 * @since 5.5.0 Introduced gettext-{$domain} filter.
 *
 * @param string $text   Text to translate.
 * @param string $domain Optional. Text domain. Unique identifier for retrieving translated strings.
 *                       Default 'default'.
 * @return string Translated text.
 */
function translate($text, $domain = 'default')
{
    $translations = get_translations_for_domain($domain);
    $translation = $translations->translate($text);
    /**
     * Filters text with its translation.
     *
     * @since 2.0.11
     *
     * @param string $translation Translated text.
     * @param string $text        Text to translate.
     * @param string $domain      Text domain. Unique identifier for retrieving translated strings.
     */
    $translation = apply_filters('gettext', $translation, $text, $domain);
    /**
     * Filters text with its translation 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 $domain      Text domain. Unique identifier for retrieving translated strings.
     */
    $translation = apply_filters("gettext_{$domain}", $translation, $text, $domain);
    return $translation;
}

WordPress Version: 5.9

/**
 * Retrieve the translation of $text.
 *
 * If there is no translation, or the text domain isn't loaded, the original text is returned.
 *
 * *Note:* Don't use translate() directly, use __() or related functions.
 *
 * @since 2.2.0
 * @since 5.5.0 Introduced gettext-{$domain} filter.
 *
 * @param string $text   Text to translate.
 * @param string $domain Optional. Text domain. Unique identifier for retrieving translated strings.
 *                       Default 'default'.
 * @return string Translated text.
 */
function translate($text, $domain = 'default')
{
    $translations = get_translations_for_domain($domain);
    $translation = $translations->translate($text);
    /**
     * Filters text with its translation.
     *
     * @since 2.0.11
     *
     * @param string $translation Translated text.
     * @param string $text        Text to translate.
     * @param string $domain      Text domain. Unique identifier for retrieving translated strings.
     */
    $translation = apply_filters('gettext', $translation, $text, $domain);
    /**
     * Filters text with its translation 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 $domain      Text domain. Unique identifier for retrieving translated strings.
     */
    $translation = apply_filters("gettext_{$domain}", $translation, $text, $domain);
    return $translation;
}

WordPress Version: 5.5

/**
 * Retrieve the translation of $text.
 *
 * If there is no translation, or the text domain isn't loaded, the original text is returned.
 *
 * *Note:* Don't use translate() directly, use __() or related functions.
 *
 * @since 2.2.0
 * @since 5.5.0 Introduced gettext-{$domain} filter.
 *
 * @param string $text   Text to translate.
 * @param string $domain Optional. Text domain. Unique identifier for retrieving translated strings.
 *                       Default 'default'.
 * @return string Translated text.
 */
function translate($text, $domain = 'default')
{
    $translations = get_translations_for_domain($domain);
    $translation = $translations->translate($text);
    /**
     * Filters text with its translation.
     *
     * @since 2.0.11
     *
     * @param string $translation Translated text.
     * @param string $text        Text to translate.
     * @param string $domain      Text domain. Unique identifier for retrieving translated strings.
     */
    $translation = apply_filters('gettext', $translation, $text, $domain);
    /**
     * Filters text with its translation for a domain.
     *
     * The dynamic portion of the hook, `$domain`, refers to the text domain.
     *
     * @since 5.5.0
     *
     * @param string $translation Translated text.
     * @param string $text        Text to translate.
     * @param string $domain      Text domain. Unique identifier for retrieving translated strings.
     */
    $translation = apply_filters("gettext_{$domain}", $translation, $text, $domain);
    return $translation;
}

WordPress Version: 5.4

/**
 * Retrieve the translation of $text.
 *
 * If there is no translation, or the text domain isn't loaded, the original text is returned.
 *
 * *Note:* Don't use translate() directly, use __() or related functions.
 *
 * @since 2.2.0
 *
 * @param string $text   Text to translate.
 * @param string $domain Optional. Text domain. Unique identifier for retrieving translated strings.
 *                       Default 'default'.
 * @return string Translated text.
 */
function translate($text, $domain = 'default')
{
    $translations = get_translations_for_domain($domain);
    $translation = $translations->translate($text);
    /**
     * Filters text with its translation.
     *
     * @since 2.0.11
     *
     * @param string $translation  Translated text.
     * @param string $text         Text to translate.
     * @param string $domain       Text domain. Unique identifier for retrieving translated strings.
     */
    return apply_filters('gettext', $translation, $text, $domain);
}

WordPress Version: 4.7

/**
 * Retrieve the translation of $text.
 *
 * If there is no translation, or the text domain isn't loaded, the original text is returned.
 *
 * *Note:* Don't use translate() directly, use __() or related functions.
 *
 * @since 2.2.0
 *
 * @param string $text   Text to translate.
 * @param string $domain Optional. Text domain. Unique identifier for retrieving translated strings.
 *                       Default 'default'.
 * @return string Translated text
 */
function translate($text, $domain = 'default')
{
    $translations = get_translations_for_domain($domain);
    $translation = $translations->translate($text);
    /**
     * Filters text with its translation.
     *
     * @since 2.0.11
     *
     * @param string $translation  Translated text.
     * @param string $text         Text to translate.
     * @param string $domain       Text domain. Unique identifier for retrieving translated strings.
     */
    return apply_filters('gettext', $translation, $text, $domain);
}

WordPress Version: 4.6

/**
 * Retrieve the translation of $text.
 *
 * If there is no translation, or the text domain isn't loaded, the original text is returned.
 *
 * *Note:* Don't use translate() directly, use __() or related functions.
 *
 * @since 2.2.0
 *
 * @param string $text   Text to translate.
 * @param string $domain Optional. Text domain. Unique identifier for retrieving translated strings.
 *                       Default 'default'.
 * @return string Translated text
 */
function translate($text, $domain = 'default')
{
    $translations = get_translations_for_domain($domain);
    $translations = $translations->translate($text);
    /**
     * Filters text with its translation.
     *
     * @since 2.0.11
     *
     * @param string $translations Translated text.
     * @param string $text         Text to translate.
     * @param string $domain       Text domain. Unique identifier for retrieving translated strings.
     */
    return apply_filters('gettext', $translations, $text, $domain);
}

WordPress Version: 4.4

/**
 * Retrieve the translation of $text.
 *
 * If there is no translation, or the text domain isn't loaded, the original text is returned.
 *
 * *Note:* Don't use translate() directly, use __() or related functions.
 *
 * @since 2.2.0
 *
 * @param string $text   Text to translate.
 * @param string $domain Optional. Text domain. Unique identifier for retrieving translated strings.
 *                       Default 'default'.
 * @return string Translated text
 */
function translate($text, $domain = 'default')
{
    $translations = get_translations_for_domain($domain);
    $translations = $translations->translate($text);
    /**
     * Filter text with its translation.
     *
     * @since 2.0.11
     *
     * @param string $translations Translated text.
     * @param string $text         Text to translate.
     * @param string $domain       Text domain. Unique identifier for retrieving translated strings.
     */
    return apply_filters('gettext', $translations, $text, $domain);
}

WordPress Version: 4.1

/**
 * Retrieve the translation of $text.
 *
 * If there is no translation, or the text domain isn't loaded, the original text is returned.
 *
 * *Note:* Don't use {@see translate()} directly, use `{@see __()} or related functions.
 *
 * @since 2.2.0
 *
 * @param string $text   Text to translate.
 * @param string $domain Optional. Text domain. Unique identifier for retrieving translated strings.
 * @return string Translated text
 */
function translate($text, $domain = 'default')
{
    $translations = get_translations_for_domain($domain);
    $translations = $translations->translate($text);
    /**
     * Filter text with its translation.
     *
     * @since 2.0.11
     *
     * @param string $translations Translated text.
     * @param string $text         Text to translate.
     * @param string $domain       Text domain. Unique identifier for retrieving translated strings.
     */
    return apply_filters('gettext', $translations, $text, $domain);
}

WordPress Version: 3.7

/**
 * Retrieve the translation of $text.
 *
 * If there is no translation, or the text domain isn't loaded, the original text is returned.
 *
 * <strong>Note:</strong> Don't use translate() directly, use __() or related functions.
 *
 * @since 2.2.0
 *
 * @param string $text   Text to translate.
 * @param string $domain Optional. Text domain. Unique identifier for retrieving translated strings.
 * @return string Translated text
 */
function translate($text, $domain = 'default')
{
    $translations = get_translations_for_domain($domain);
    $translations = $translations->translate($text);
    /**
     * Filter text with its translation.
     *
     * @since 2.0.11
     *
     * @param string $translations Translated text.
     * @param string $text         Text to translate.
     * @param string $domain       Text domain. Unique identifier for retrieving translated strings.
     */
    return apply_filters('gettext', $translations, $text, $domain);
}