web-dev-qa-db-fra.com

Remplacement de la traduction en un seul plugin

Est-il possible de remplacer la traduction d'un seul plugin dans le fichier function.php et comment cela peut être fait?

1
Roger Wayne

Voici un exemple où une chaîne d'un certain domaine de texte est traduite à l'aide du filtre gettext:

/**
 * Translate a certain string from a particular text domain.
 *
 * @param string $translation  Translated text.
 * @param string $text         Text to translate.
 * @param string $domain       Text domain. Unique identifier for retrieving translated strings.
 *
 * @return string
 */
add_filter( 'gettext', 'wpse_translate_string', 10, 3 );
function wpse_translate_string( $translation, $text, $domain ) {
    if ( 'plugin_text_domain' === $domain ) {
        if ( 'Original string...' === $text ) {
            $translation = 'New string!';
        }
    }

    return $translation;
}
1
Dave Romsey

Vous pouvez même remplacer des messages simples si vous accédez directement à votre code source.

function foo(){
    // old message is commented, so you can go back anytime.
    //echo wp_send_json(array('status' => 'error', 'error_message' => esc_html__('Error Message', 'osetin')));
    // message is overriden 
    echo wp_send_json(array('status' => 'error', 'error_message' => esc_html__('Overriden message with any text you want', 'osetin')));
}
0
brenorb