Заменить текст

Если надо заменить слово, используется функция str_replace().

$from = 'Russia';
$to = 'Россия';
str_replace($from, $to, 'Перевод: Russia'); // Перевод: Россия

Также можно реализовать в виде массива:

$tranlates = [
    'Russia' => 'Россия',
    'Moscow' => 'Москва',
    'Saint Petersburg' => 'Санкт-Петербург'
];

str_replace(array_keys($tranlates), array_values($tranlates), 'Перевод: Russia'); // Перевод: Россия

При этом проверяется каждый элемент массива, т.е. когда функция видит и заменяет слово «Russia», она всё равно дальше проверяет следующие элементы массива.

$tranlates = [
    'Russia and Moscow' => 'Россия and Moscow',
    'Moscow' => 'Москва',
    'Saint Petersburg' => 'Санкт-Петербург'
];

str_replace(array_keys($tranlates), array_values($tranlates), 'Перевод: Russia and Moscow'); // Перевод: Россия and Москва

На примере выше видно, что идёт замена на слово «Россия and Moscow», но в итоге выводится «Россия and Москва», т.к. в одном из следующих элементов как раз идёт замена «Moscow» на «Москва».

Если нужно, чтобы строго выводилось то, что указано в значении (на примере выше ожидается вывод «Россия and Moscow»), то для этого можно использовать функцию strtr().

$tranlates = [
    'Russia and Moscow' => 'Россия and Moscow',
    'Moscow' => 'Москва',
    'Saint Petersburg' => 'Санкт-Петербург'
];

strtr('Перевод: Russia and Moscow', $tranlates); // Перевод: Россия and Moscow