31
2
mirror of https://github.com/joomla-extensions/jedchecker.git synced 2024-06-05 15:00:47 +00:00

Merge pull request #210 from dryabov/patch-75

Add support of "modern" language filenames (without language tag prefix)
This commit is contained in:
Denis Ryabov 2023-07-28 08:32:37 +03:00 committed by GitHub
commit 64a81007e7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -268,12 +268,12 @@ class JedcheckerRulesXMLinfo extends JEDcheckerRule
* Locate and load extension's .sys.ini translation file
*
* @param SimpleXMLElement $xml Extension's XML manifest
* @param string $langDir The basepath
* @param string $rootDir The basepath
* @param string $langTag The language to load
*
* @return void
*/
protected function loadExtensionLanguage($xml, $langDir, $langTag = 'en-GB')
protected function loadExtensionLanguage($xml, $rootDir, $langTag = 'en-GB')
{
// Get extension's element name (simulates work of Joomla's installer)
$extension = JEDCheckerHelper::getElementName($xml);
@ -334,19 +334,25 @@ class JedcheckerRulesXMLinfo extends JEDcheckerRule
$lookupLangDirs = array_unique($lookupLangDirs);
$lookupLangFiles = array(
$langTag. '.' . $extension . '.sys.ini', // classical filename
$extension . '.sys.ini', // modern filename
);
// Looking for language file in specified directories
foreach ($lookupLangDirs as $dir)
{
$langSysFile =
$langDir . '/' .
($dir === '' ? '' : $dir . '/') .
$langTag. '.' . $extension . '.sys.ini';
if (is_file($langSysFile))
foreach ($lookupLangFiles as $file)
{
$loadLanguage = new ReflectionMethod($lang, 'loadLanguage');
$loadLanguage->setAccessible(true);
$loadLanguage->invoke($lang, $langSysFile, $extension);
break;
$langSysFile = $rootDir . '/' . ($dir === '' ? '' : $dir . '/') . $file;
if (is_file($langSysFile))
{
$loadLanguage = new ReflectionMethod($lang, 'loadLanguage');
$loadLanguage->setAccessible(true);
$loadLanguage->invoke($lang, $langSysFile, $extension);
return;
}
}
}
}