Remove unused code and classes. Clean up code to remove all named constant from them and throw deprecation alerts if used. Add basic psalm setup in root folder and remove from www folder
194 lines
6.8 KiB
PHP
194 lines
6.8 KiB
PHP
<?php // phpcs:ignore warning
|
|
|
|
/**
|
|
* @phan-file-suppress PhanTypeSuspiciousStringExpression
|
|
*/
|
|
|
|
declare(strict_types=1);
|
|
|
|
$DEBUG_ALL_OVERRIDE = false; // set to 1 to debug on live/remote server locations
|
|
$DEBUG_ALL = true;
|
|
$PRINT_ALL = true;
|
|
$DB_DEBUG = true;
|
|
|
|
ob_start();
|
|
|
|
// basic class test file
|
|
define('USE_DATABASE', false);
|
|
// sample config
|
|
require 'config.php';
|
|
// define log file id
|
|
$LOG_FILE_ID = 'classTest-lang';
|
|
ob_end_flush();
|
|
|
|
$PAGE_NAME = 'TEST CLASS: LANG';
|
|
print "<!DOCTYPE html>";
|
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
|
print "<body>";
|
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
|
|
|
use CoreLibs\Language\L10n;
|
|
use CoreLibs\Language;
|
|
use CoreLibs\Debug\Support;
|
|
|
|
echo "<br><b>LIST LOCALES</b><br>";
|
|
|
|
$locale = 'en_US.UTF-8';
|
|
$locales = L10n::listLocales($locale);
|
|
print "[" . $locale . "] LOCALES: " . Support::printAr($locales) . "<br>";
|
|
$locale = 'en.UTF-8';
|
|
$locales = L10n::listLocales($locale);
|
|
print "[" . $locale . "] LOCALES: " . Support::printAr($locales) . "<br>";
|
|
|
|
echo "<br><b>PARSE LOCAL</b><br>";
|
|
$locale = 'en_US.UTF-8';
|
|
$locale_info = L10n::parseLocale($locale);
|
|
print "[" . $locale . "] INFO: " . Support::printAr($locale_info) . "<br>";
|
|
$locale = 'en.UTF-8';
|
|
$locale_info = L10n::parseLocale($locale);
|
|
print "[" . $locale . "] INFO: " . Support::printAr($locale_info) . "<br>";
|
|
|
|
echo "<br><b>AUTO DETECT</b><br>";
|
|
|
|
// DEPRECATED
|
|
// $get_locale = Language\GetLocale::setLocale();
|
|
// print "[AUTO, DEPRECATED]: " . Support::printAr($get_locale) . "<br>";
|
|
$get_locale = Language\GetLocale::setLocale(
|
|
SITE_LOCALE,
|
|
str_replace('/', '', CONTENT_PATH),
|
|
null,
|
|
BASE . INCLUDES . LOCALE
|
|
);
|
|
print "[NAMED CONSTANTS OUTSIDE]: " . Support::printAr($get_locale) . "<br>";
|
|
$get_locale = Language\GetLocale::setLocale(
|
|
'en',
|
|
'foo',
|
|
'ISO-8895',
|
|
BASE . INCLUDES . LOCALE
|
|
);
|
|
print "[OVERRIDE]: " . Support::printAr($get_locale) . "<br>";
|
|
|
|
// try to load non existing
|
|
echo "<br><b>NEW TYPE</b><br>";
|
|
// 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 "*<br>";
|
|
echo "LANGUAGE WANT/SET: " . $lang . '/' . $l->getLocale() . "<br>";
|
|
echo "DOMAIN WANT/SET: " . $domain . '/' . $l->getDomain() . "<br>";
|
|
echo "LANGUAGE FILE: " . $l->getMoFile() . "<br>";
|
|
echo "CONTENT PATH: " . $l->getBaseContentPath() . "<br>";
|
|
echo "DOMAIN PATH: " . $l->getTextDomain($domain) . "<br>";
|
|
echo "BASE PATH: " . $l->getBaseLocalePath() . "<br>";
|
|
echo "LOAD ERROR: " . $l->getLoadError() . "<br>";
|
|
echo "INPUT TEST: " . $string . " => " . $l->__($string) . "<br>";
|
|
echo "TROUGH LOAD: " . $l->getTranslatorClass()->gettext($string) . "<br>";
|
|
$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) . "<br>";
|
|
}
|
|
$context = "month name";
|
|
$context_string = "May";
|
|
echo "CONTEXT TRANSLATION: " . $context_string . " => " . $l->__p($context, $context_string) . "<br>";
|
|
$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) . "<br>";
|
|
}
|
|
// change domain
|
|
$domain = 'frontend';
|
|
$l->getTranslator('', $domain, $path);
|
|
echo "*<br>";
|
|
echo "LANGUAGE WANT/SET: " . $lang . '/' . $l->getLocale() . "<br>";
|
|
echo "DOMAIN WANT/SET: " . $domain . '/' . $l->getDomain() . "<br>";
|
|
echo "LANGUAGE FILE: " . $l->getMoFile() . "<br>";
|
|
echo "CONTENT PATH: " . $l->getBaseContentPath() . "<br>";
|
|
echo "DOMAIN PATH: " . $l->getTextDomain($domain) . "<br>";
|
|
echo "BASE PATH: " . $l->getBaseLocalePath() . "<br>";
|
|
echo "LOAD ERROR: " . $l->getLoadError() . "<br>";
|
|
echo "INPUT TEST: " . $string . " => " . $l->__($string) . "<br>";
|
|
echo "TROUGH LOAD: " . $l->getTranslatorClass()->gettext($string) . "<br>";
|
|
// change language short type
|
|
$lang = 'en';
|
|
$domain = 'admin';
|
|
$l->getTranslator($lang, $domain, $path);
|
|
echo "*<br>";
|
|
echo "LANGUAGE WANT/SET: " . $lang . '/' . $l->getLocale() . "<br>";
|
|
echo "DOMAIN WANT/SET: " . $domain . '/' . $l->getDomain() . "<br>";
|
|
echo "LANGUAGE FILE: " . $l->getMoFile() . "<br>";
|
|
echo "CONTENT PATH: " . $l->getBaseContentPath() . "<br>";
|
|
echo "DOMAIN PATH: " . $l->getTextDomain($domain) . "<br>";
|
|
echo "BASE PATH: " . $l->getBaseLocalePath() . "<br>";
|
|
echo "LOAD ERROR: " . $l->getLoadError() . "<br>";
|
|
echo "INPUT TEST: " . $string . " => " . $l->__($string) . "<br>";
|
|
echo "TROUGH LOAD: " . $l->getTranslatorClass()->gettext($string) . "<br>";
|
|
// chang to wrong language
|
|
$lang = 'tr';
|
|
$l->getTranslator($lang, $domain, $path);
|
|
echo "*<br>";
|
|
echo "LANGUAGE WANT/SET: " . $lang . '/' . $l->getLocale() . "<br>";
|
|
echo "DOMAIN WANT/SET: " . $domain . '/' . $l->getDomain() . "<br>";
|
|
echo "LANGUAGE FILE: " . $l->getMoFile() . "<br>";
|
|
echo "CONTENT PATH: " . $l->getBaseContentPath() . "<br>";
|
|
echo "DOMAIN PATH: " . $l->getTextDomain($domain) . "<br>";
|
|
echo "BASE PATH: " . $l->getBaseLocalePath() . "<br>";
|
|
echo "LOAD ERROR: " . $l->getLoadError() . "<br>";
|
|
echo "INPUT TEST: " . $string . " => " . $l->__($string) . "<br>";
|
|
echo "TROUGH LOAD: " . $l->getTranslatorClass()->gettext($string) . "<br>";
|
|
|
|
$lang = 'en';
|
|
$domain = 'admin';
|
|
echo "<br><b>STATIC TYPE TEST</b><br>";
|
|
// static tests from l10n_load
|
|
L10n::getInstance()->setLocale($lang);
|
|
echo "SET LOCALE: " . L10n::getInstance()->getLocale() . "<br>";
|
|
L10n::getInstance()->setDomain($domain);
|
|
echo "SET DOMAIN: " . L10n::getInstance()->getDomain() . "<br>";
|
|
L10n::getInstance()->setTextDomain($domain, $path);
|
|
echo "SET TEXT DOMAIN: " . L10n::getInstance()->getTextDomain($domain) . "<br>";
|
|
// null call __bind_textdomain_codeset
|
|
echo "INPUT TEST: " . $string . " => " . L10n::getInstance()->getTranslator()->gettext($string) . "<br>";
|
|
|
|
echo "<br><b>FUNCTIONS</b><br>";
|
|
// 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) . "<br>";
|
|
$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) . "<br>";
|
|
}
|
|
|
|
$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) . "<br>";
|
|
$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) . "<br>";
|
|
}
|
|
|
|
print "</body></html>";
|
|
|
|
// __END__
|