Localize is an internationalization toolbox with Gettext wrapper, Extractors, Unicode CLDR.
and some internationalization ISO codes.

Gettext wrapper

Translator and GettextEmulator are redcat's OOP adapation of php-gettext library.
This library provides PHP functions to read MO files even when gettext is not compiled in or when appropriate locale is not present on the system.
The structure of locales is $projectHome/langs/$lang/LC_MESSAGES/messages.mo, eg: www/langs/fr/LC_MESSAGES/messages.mo. It support cache regeneration without restart apache by dint of use a copy of MO file named with timestamp suffix. To enable look for last message.$time.mo set dev to true. You'll have to create this file manualy or with other i18n tool. Translator::getInstance()->dev = true;

You can include "__.php" to use procedural function based on RedCat\Localize\Translator static current instance. echo __($msgid);
echo n__($singular,$plural,$number);

CLDR - Punic

Punic - PHP translation and localization made easy. It contain internationalization data for language, calendar, territory, number, unit, phone, currency, plural and misc. Punic is a third party CLDR. library. See the official Punic documentation.