Подвожу итоги сравнения двух функций в данной задаче:
1. strtr
$trans = array("hello" => "hi", "hi" => "hello");
echo strtr("hi all, I said hello", $trans);
Результат средний: ~0.53 секунды
2. str_replace
$b = array('en'=>'английский','ru'=>'русский');
$a = array_keys($b);
echo str_replace($a,$b,'Этот ваш en язык, нужен для того, чтобы говорить по ru');
Результат средний: ~40.81 секунды
Различие на лицо. Напомню какие были исходные данные:
строка размером порядка 1.5-2Мб в которую поставляется массив из 7282 элементов.