";
print "
" . $PAGE_NAME . "";
print "";
print '';
print '' . $PAGE_NAME . '
';
use CoreLibs\Language\L10n;
use CoreLibs\Language;
use CoreLibs\Debug\Support;
echo "
LIST LOCALES
";
$locale = 'en_US.UTF-8';
$locales = L10n::listLocales($locale);
print "[" . $locale . "] LOCALES: " . Support::printAr($locales) . "
";
$locale = 'en.UTF-8';
$locales = L10n::listLocales($locale);
print "[" . $locale . "] LOCALES: " . Support::printAr($locales) . "
";
echo "
PARSE LOCAL
";
$locale = 'en_US.UTF-8';
$locale_info = L10n::parseLocale($locale);
print "[" . $locale . "] INFO: " . Support::printAr($locale_info) . "
";
$locale = 'en.UTF-8';
$locale_info = L10n::parseLocale($locale);
print "[" . $locale . "] INFO: " . Support::printAr($locale_info) . "
";
echo "
AUTO DETECT
";
// DEPRECATED
// $get_locale = Language\GetLocale::setLocale();
// print "[AUTO, DEPRECATED]: " . Support::printAr($get_locale) . "
";
$get_locale = Language\GetLocale::setLocale(
SITE_LOCALE,
str_replace('/', '', CONTENT_PATH),
null,
BASE . INCLUDES . LOCALE
);
print "[NAMED CONSTANTS OUTSIDE]: " . Support::printAr($get_locale) . "
";
$get_locale = Language\GetLocale::setLocale(
'en',
'foo',
'ISO-8895',
BASE . INCLUDES . LOCALE
);
print "[OVERRIDE]: " . Support::printAr($get_locale) . "
";
// try to load non existing
echo "
NEW TYPE
";
// translate string
$string = 'INPUT TEST';
// new path test
$lang = 'ja';
$domain = 'admin';
$encoding = 'UTF-8';
$path = BASE . INCLUDES . LOCALE;
// load direct
$l = new L10n($lang, $domain, $path);
echo "*
";
echo "LANGUAGE WANT/SET: " . $lang . '/' . $l->getLocale() . "
";
echo "DOMAIN WANT/SET: " . $domain . '/' . $l->getDomain() . "
";
echo "LANGUAGE FILE: " . $l->getMoFile() . "
";
echo "CONTENT PATH: " . $l->getBaseContentPath() . "
";
echo "DOMAIN PATH: " . $l->getTextDomain($domain) . "
";
echo "BASE PATH: " . $l->getBaseLocalePath() . "
";
echo "LOAD ERROR: " . $l->getLoadError() . "
";
echo "INPUT TEST: " . $string . " => " . $l->__($string) . "
";
echo "TROUGH LOAD: " . $l->getTranslatorClass()->gettext($string) . "
";
$single_string = 'single';
$multi_string = 'multi';
for ($n = 0; $n <= 3; $n++) {
echo "MULTI TEST $n: " . $single_string . "/" . $multi_string . " => "
. $l->__n($single_string, $multi_string, $n) . "
";
}
$context = "month name";
$context_string = "May";
echo "CONTEXT TRANSLATION: " . $context_string . " => " . $l->__p($context, $context_string) . "
";
$single_string = 'single';
$multi_string = 'multi';
for ($n = 0; $n <= 3; $n++) {
echo "CONTEXT MULTI TEST $n: " . $single_string . "/" . $multi_string . " => "
. $l->__np($context, $single_string, $multi_string, $n) . "
";
}
// change domain
$domain = 'frontend';
$l->getTranslator('', $domain, $path);
echo "*
";
echo "LANGUAGE WANT/SET: " . $lang . '/' . $l->getLocale() . "
";
echo "DOMAIN WANT/SET: " . $domain . '/' . $l->getDomain() . "
";
echo "LANGUAGE FILE: " . $l->getMoFile() . "
";
echo "CONTENT PATH: " . $l->getBaseContentPath() . "
";
echo "DOMAIN PATH: " . $l->getTextDomain($domain) . "
";
echo "BASE PATH: " . $l->getBaseLocalePath() . "
";
echo "LOAD ERROR: " . $l->getLoadError() . "
";
echo "INPUT TEST: " . $string . " => " . $l->__($string) . "
";
echo "TROUGH LOAD: " . $l->getTranslatorClass()->gettext($string) . "
";
// change language short type
$lang = 'en';
$domain = 'admin';
$l->getTranslator($lang, $domain, $path);
echo "*
";
echo "LANGUAGE WANT/SET: " . $lang . '/' . $l->getLocale() . "
";
echo "DOMAIN WANT/SET: " . $domain . '/' . $l->getDomain() . "
";
echo "LANGUAGE FILE: " . $l->getMoFile() . "
";
echo "CONTENT PATH: " . $l->getBaseContentPath() . "
";
echo "DOMAIN PATH: " . $l->getTextDomain($domain) . "
";
echo "BASE PATH: " . $l->getBaseLocalePath() . "
";
echo "LOAD ERROR: " . $l->getLoadError() . "
";
echo "INPUT TEST: " . $string . " => " . $l->__($string) . "
";
echo "TROUGH LOAD: " . $l->getTranslatorClass()->gettext($string) . "
";
// chang to wrong language
$lang = 'tr';
$l->getTranslator($lang, $domain, $path);
echo "*
";
echo "LANGUAGE WANT/SET: " . $lang . '/' . $l->getLocale() . "
";
echo "DOMAIN WANT/SET: " . $domain . '/' . $l->getDomain() . "
";
echo "LANGUAGE FILE: " . $l->getMoFile() . "
";
echo "CONTENT PATH: " . $l->getBaseContentPath() . "
";
echo "DOMAIN PATH: " . $l->getTextDomain($domain) . "
";
echo "BASE PATH: " . $l->getBaseLocalePath() . "
";
echo "LOAD ERROR: " . $l->getLoadError() . "
";
echo "INPUT TEST: " . $string . " => " . $l->__($string) . "
";
echo "TROUGH LOAD: " . $l->getTranslatorClass()->gettext($string) . "
";
$lang = 'en';
$domain = 'admin';
echo "
STATIC TYPE TEST
";
// static tests from l10n_load
L10n::getInstance()->setLocale($lang);
echo "SET LOCALE: " . L10n::getInstance()->getLocale() . "
";
L10n::getInstance()->setDomain($domain);
echo "SET DOMAIN: " . L10n::getInstance()->getDomain() . "
";
L10n::getInstance()->setTextDomain($domain, $path);
echo "SET TEXT DOMAIN: " . L10n::getInstance()->getTextDomain($domain) . "
";
// null call __bind_textdomain_codeset
echo "INPUT TEST: " . $string . " => " . L10n::getInstance()->getTranslator()->gettext($string) . "
";
echo "
FUNCTIONS
";
// real statisc test
L10n::loadFunctions();
$locale = 'ja';
_setlocale(LC_MESSAGES, $locale);
_textdomain($domain);
_bindtextdomain($domain, $path);
_bind_textdomain_codeset($domain, $encoding);
echo "INPUT TEST $locale: " . $string . " => " . __($string) . "
";
$single_string = 'single';
$multi_string = 'multi';
for ($n = 0; $n <= 3; $n++) {
echo "MULTI TEST $n: " . $single_string . "/" . $multi_string . " => "
. _ngettext($single_string, $multi_string, $n) . "
";
}
$locale = 'en_US.UTF-8';
_setlocale(LC_MESSAGES, $locale);
_textdomain($domain);
_bindtextdomain($domain, $path);
_bind_textdomain_codeset($domain, $encoding);
echo "INPUT TEST $locale: " . $string . " => " . __($string) . "
";
$single_string = 'single';
$multi_string = 'multi';
for ($n = 0; $n <= 3; $n++) {
echo "MULTI TEST $n: " . $single_string . "/" . $multi_string . " => "
. _ngettext($single_string, $multi_string, $n) . "
";
}
print "";
// __END__