CodeIgniter Forums

Full Version: CodeModules Language Proplem
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
On multiple codemodules, I have same named language files like "Language/en/home.php" for all code modules.


Code:
lang('home.name') 


returns last module language, according to psr4

but I need to current namespace language

I have a solution

in system/language/language, I changed function like that.

Code:
        
    
    protected function requireFile(string $path): array
    {
               //------------------------------------------------------------//
               //load current namespace language file.
               //------------------------------------------------------------//
               $defaultNamespace = service('routes')->getDefaultNamespace();
               $namespacePath    = config('Autoload')->psr4[trim($defaultNamespace, '\\')] ?? NULL;
               $filePath = $namespacePath . DIRECTORY_SEPARATOR . $path;

               if (file_exists($filePath))
               {
                   return require $filePath;
               }
               //------------------------------------------------------------//
               ....


and I added inside adminpanel\Config\Routes.php 


Code:
$request  = \Config\Services::request();
$segments = $request->uri->getSegments();

if (($segments[0] ?? '') === 'adminpanel')
{
  $routes->setDefaultNamespace('Adminpanel');
}


So, is there any other solution. I don't want to change system core file...
You should never ever change a CodeIgniter system file!

If it's a problem submit a bug report on GitHub.