Providing i18n functionality is NOT the role of Phalcon. Phalcon is an extensible framework, providing the bare minimums. And if you look at it from a performance point of view, it totally makes sense. Not everyone needs translations, and there's no point bloating the base framework with it. If you need a functionality, implement it.
NativeArray
translations are designed to service small projects, where the translator is the developer.
DbAdapter
is perfect for a site where you write translations using an admin page. The performance is bad, but usage is convenient.
Gettext
is kind of an industry standard. There IS is a plethora of tools and transpilers and community sourced translation pages, where you upload the raw .po file and others translate it for you. You do need a tool to extract phrases from the source, but that's why you have tools like msgcat
, msgconv
msggrep
, etc... And it's performance is excellent.
Every adapter provided by Phalcon has it's use case. Ignorance is not an excuse.