Ответ и так уже содержится в посте - создавайте массив из терминов. Это не будет ресурсозатратной операцией, в конце концов мы не в 1999 году.
Также обратите внимание на то, что в вёрстке указанного сайта многие фразы, которые явно не следует переводить, обёрнуты в элементы вида <code class="w3-codespan" />.
Дело в том, что вы в каждой из 100 000 итераций объявляете эту функцию. Если вы присвоите анонимную функцию переменной за пределами цикла (да, при этом функция по-прежнему будет считаться анонимной), то скорость сравняется.
Необходимо использовать include в сочетании с локальной файловой системой и запрашивать файл bd.php, а не результат работы скрипта, располагающегося по адресу http://.../bd.php.
Естественно, что он не работает там, потому что в .tpl-файлах не должно быть кода PHP - это шаблоны, которые результат работы PHP-кода получают в виде переменных. Найдите, где вызывается нужный вам шаблон, и передайте ему необходимую строку в качестве переменной.