Вы не включили бит для текста кнопки, поэтому немного сложно сказать, что происходит, но я просто протестировал это в среде разработчиков с дополнительным текстом кнопки, и он работает на страницах, сообщениях и пользовательских типах сообщений:
function changement_traduction( $translated ) {
$words = array(
'draft' => 'offline',
'publish' => 'Activate',
'update' => 'Modify'
);
$translated = str_ireplace( array_keys($words), $words, $translated );
return $translated;
}
add_filter( 'gettext', 'changement_traduction');
add_filter( 'ngettext', 'changement_traduction');