Est-il possible de remplacer la traduction d'un seul plugin dans le fichier function.php et comment cela peut être fait?
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;
}
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')));
}