redcatphp / localize
Localize - Internationalization Toolbox with Gettext wrapper, Extractors, Unicode Common Locale Data Repository
Requires
- php: >=5.4.0
- punic/punic: @dev
Suggests
- redcatphp/wire: Use Dependency Injection Container for registry
This package is not auto-updated.
Last update: 2020-01-24 16:01:34 UTC
README
No longer actively maintained. I work now with NodeJS and I recommand you to take a look at globalize
Localize
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.