12if (!defined(
'XOOPS_ROOT_PATH')) {
16require_once XOOPS_ROOT_PATH .
'/core/XCube_LanguageManager.class.php';
35 $filename = XOOPS_MODULE_PATH .
'/legacy/language/' . $this->mLanguageName .
'/charset_' . XOOPS_DB_TYPE .
'.php';
36 if (file_exists($filename)) {
37 require_once($filename);
53 #ifdef _MBSTRING_LANGUAGE
54 if (defined(
'_MBSTRING_LANGUAGE') && function_exists(
'mb_language')) {
55 if (
false != @mb_language(_MBSTRING_LANGUAGE) &&
false != @mb_internal_encoding(_CHARSET)) {
56 define(
'MBSTRING',
true);
58 mb_language(
'neutral');
59 mb_internal_encoding(
'ISO-8859-1');
60 if (!defined(
'MBSTRING')) {
61 define(
'MBSTRING',
false);
65 if (function_exists(
'mb_regex_encoding')) {
66 @mb_regex_encoding(_CHARSET);
69 ini_set(
'mbstring.substitute_character',
'none');
70 ini_set(
'default_charset', _CHARSET);
71 ini_set(
'mbstring.substitute_character',
'none');
76 @ini_set(
'mbstring.internal_encoding',
'');
84 if (!defined(
'MBSTRING')) {
85 define(
'MBSTRING',
false);
91 $lpath = XOOPS_ROOT_PATH .
'/modules/legacy/language/' . $this->mLanguageName;
92 if (!$this->
_loadFile($lpath .
'/global.php')) {
95 if (!$this->
_loadFile($lpath .
'/setting.php')) {
102 if (!defined(
'XOOPS_USE_MULTIBYTES')) {
103 define(
'XOOPS_USE_MULTIBYTES', 0);
115 if (
false === strpos($type,
'.')) {
116 if (!$this->
_loadFile(XOOPS_ROOT_PATH .
'/language/' . $this->mLanguageName .
'/' . $type .
'.php')) {
173 static $trust_dirnames = [];
174 if (!isset($trust_dirnames[$dirname])) {
178 $this->
_loadFile(XOOPS_MODULE_PATH .
'/' . $dirname .
'/language/' . $this->mLanguageName .
'/' . $fileBodyName .
'.php')
183 $trust_dirnames[$dirname] &&
185 $this->
_loadFile(XOOPS_TRUST_PATH .
'/modules/' . $trust_dirnames[$dirname] .
'/language/' . $this->mLanguageName .
'/' . $fileBodyName .
'.php', $dirname)
187 $this->
_loadFile(XOOPS_TRUST_PATH .
'/modules/' . $trust_dirnames[$dirname] .
'/language/' . $this->
getFallbackLanguage() .
'/' . $fileBodyName .
'.php', $dirname)
201 if (file_exists($filename)) {
202 require_once $filename;
217 public function existFile(
string $section,
string $filename)
219 return file_exists(XOOPS_ROOT_PATH .
'/languages/' . $this->mLanguageName . ($section?
"/$section/$filename":
"/$filename"));
232 $filepath = XOOPS_ROOT_PATH .
'/languages/' . $this->mLanguageName . ($section?
"/{$section}/{$filename}":
"/{$filename}");
234 if (file_exists($filepath)) {
237 return XOOPS_ROOT_PATH .
'/languages/' . $this->
getFallbackLanguage() . ($section?
"/{$section}/{$filename}":
"/{$filename}");
251 $filepath = $this->
getFilepath($section, $filename);
252 return file_get_contents($filepath);
260 public function encodeUTF8($text)
262 if ((XOOPS_USE_MULTIBYTES == 1) && function_exists(
'mb_convert_encoding')) {
263 return mb_convert_encoding($text,
'UTF-8', _CHARSET);
266 return utf8_encode($text);
269 public function decodeUTF8($text)
271 if ((XOOPS_USE_MULTIBYTES == 1) && function_exists(
'mb_convert_encoding')) {
272 return mb_convert_encoding($text, _CHARSET,
'UTF-8');
275 return utf8_decode($text);
loadPageTypeMessageCatalog(string $type)
existFile(string $section, string $filename)
loadModuleAdminMessageCatalog($dirname)
_loadFile($filename, $mydirname=null)
loadBlockMessageCatalog($dirname)
loadGlobalMessageCatalog()
loadTextFile(string $section, string $filename)
loadModinfoMessageCatalog($dirname)
_loadLanguage($dirname, $fileBodyName)
loadModuleMessageCatalog(string $moduleName)
getFilepath(string $section, string $filename)
static getTrustDirnameByDirname( $dirname)