Replace Interface Text Per Language
Changes specific interface strings (button labels, notices, form text) differently for each language, without editing translation files.
Opens WPIDE on
Code
$wpide_overrides = array( // Locale => array( original => replacement ).
'en_US' => array(
'Leave a Reply' => 'Join the conversation',
'Post Comment' => 'Send comment',
),
'fr_FR' => array(
'Leave a Reply' => 'Participez à la discussion',
'Post Comment' => 'Envoyer',
),
);
add_filter( 'gettext', function ( $translation, $text ) use ( $wpide_overrides ) {
static $map = null;
if ( null === $map ) {
$locale = determine_locale();
$map = isset( $wpide_overrides[ $locale ] ) ? $wpide_overrides[ $locale ] : array();
}
return isset( $map[ $text ] ) ? $map[ $text ] : $translation;
}, 20, 2 );
Notes
Keys are the original English strings exactly as written in the code. Add a text domain check if a string is used by several plugins.
How to add this snippet
- Install WPIDE on your WordPress site (it is free) and open Code Snippets.
- Use snippet above adds it from the library in one click. Or copy the code into a new snippet with the same code type.
- It is added inactive: review the code and settings, then switch it on.