"; print "" . $PAGE_NAME . ""; print ""; print '
Class Test Master
'; 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__