Фреймворки часто используют концепцию «файлов локализации» (файлы .po в качестве стандарта) для перевода пользовательского интерфейса. По вашему мнению и в контроллерах, когда вы хотите показать фрагмент текста, вместо вызова
echo "Hello"
Вы бы сделали
echo MyFramework::Translate("Hello")
Эта функция Translate () просто ищет нужный файл .po и, основываясь на переданном «ID» фразы, возвращает нужный локализованный текст.