Welcome Guest, Not a member yet? Register   Sign In
Language Bug
#1

Hi!

I'm migrate from CI3 to CI4 and I think have a bug on lang general function. When I call it, according the guide, the system return me the variable and not the message.

In Model:

$teste = lang("Logout.NoUser", [], "pt-BR");
return $teste;

Structure:
app/Language/pt-BR/Logout.php

<?php

return [
    "Logout.NoUser"          => "User not found",
];


When return from model is passed to the view...

View:
[Image: d368c910be.png]
Reply
#2

(This post was last modified: 02-01-2020, 05:35 AM by zahhar.)

There is no bug.

CI4 returns key itself when this key cannot be found in referenced language file.

Docs say: "If the value doesn’t match a valid locale as defined in the App configuration file, the default locale will be used in it’s place." (https://codeigniter4.github.io/userguide...ation.html)

This is exactly your case. And it happens, because you added extra "Logout" prefix in your language file.

Create language file "app/Language/pt-BR/Logout.php", put the following content:

return [
"NoUser" => "User not found",
];

and use it: lang("Logout.NoUser", [], "pt-BR");

So you should use %Filename%.%Key% pattern in lang() function.
Also, if your key name is "Logout.NoUser", then you would call it "Logout.Logout.NoUser" Smile
Reply




Theme © iAndrew 2016 - Forum software by © MyBB