Laravel Translation Still `en` even if locale changed - laravel

i'm trying to change language with laravel but it still en (fallback_locale)
locale changes successfully to another language but laravel still depends on fallback_locale
while changing fallback locale to 'ar' as example, blade prints the key as web.product.name
i tried trans('web.product.name',[],'ar'); in tinker cmd and it works fine
/config/app.php
'locale' => 'ar',
'locales' => ['en', 'ar', 'ku', 'tu'],
php artisan cache:clear does not effect
echo 'locale' anywhere returns what i set but lang still en

Have you tried clearing your cache?
php artisan config:clear

Related

I cannot disable Laravel debug logging?

I kept running the debug logging level for some time for my application also on prod, after now 2 weeks, I wanted to disable it. So I went ahead and opend the .env variable and set APP_DEBUG=false
I did a php artisan down, php artisan cache:clear, then php artisan config:clear, php artisan config:cache and brought it back up. To be fully safe here.
I went back in the log file after a minute or so and still saw production.DEBUG appearing.
I then retried all the steps, checked the config/app.php file and made sure that nothing is wrong in there. But everything looks fine.
Then I went to my local environment and tried the same but to my surprise the application still keeps logging debug messages also on local!
I cannot get it disabled!
What I tried:
php artisan config:clear / :cache / cache:clear optimize:clear / down / up ...
I checked the app.php file, the config/logging.php but all looks fine
APP_ENV=production, APP_DEBUG=false
Then to my surprise I tried something:
I changed LOG_LEVEL=info in the .env file -> no change
I opened the config/logging.php and went to the daily section (because LOG_CHANNEL=daily) and set the 'level' entry to 'info' => IT WORKS! both on PROD and LOCAL
'daily' => [
'driver' => 'daily',
'path' => storage_path('logs/laravel.log'),
'level' => 'info',
'days' => 21,
],
Can someone explain to me, why this is happening?
I was under the impression that the APP_DEBUG and the LOG_LEVEL should be the key indicators for Laravel but somehow they aren't?!
Might that be related to the LARAVEL DEBUGBAR? I have it installed.
Laravel version 7, php 7.4 (local Homestead, prod apache)

How to change default language in Laravel?

I want my site to only be in swedish language. How to accomplish this?
In my lang/sv/ folder I have six files.
auth.php
pagination.php
passwords.php
sv.json
validation-inline.php
validation.php
The page source says html lang="sv" but everything is in english.
Also the email verification is in english.
This is what I have done so far.
In app\config\app.php I have change this
'locale' => 'sv',
'fallback_locale' => 'sv',
In my terminal I have run these commands.
composer dump-autoload
php artisan config:clear
php artisan view:clear
php artisan cache:clear
php artisan event:clear
php artisan optimize:clear
What else can I do?
I'm using Laravel 8.12.
I solved it. I had the sv.json file in the wrong folder.
It should be in lang folder not in lang\sv\ folder.

Laravel can't change config value

I found the problem, i'll try to use a homestead or docker.
if i restart php artisan serve the changed values are applied.
Same my post: Laravel can't change config value
I make route
Route::get('/config', function () {
return dd(config('app'));
});
And cant change my config/app.php, for example i want to change
'url' => env('APP_URL', 'test'),
'client_url' => env('APP_CLIENT_URL', 'test'),
I set
APP_CLIENT_URL=str1
APP_URL=str2
and there is something inexplicable:
My "url" => "http://127.0.0.1:8000" !!! not default 'test' or from .env, I did not set such a value.
My client_url contains the old value, after I cached the config.
This is not production, i accidentally run config:cache, but after i remove all cache from bootsrap/cache, storage/framework/cache and running cache:clear, config:clear.
After running config:cache values from the .env were put in config, but I do not want to constantly change cache in development and it is not recommended in the documentation.
How can I easily change .env in in developing?

laravel-localization hide default locale

I'm using Laravel-Localization 1.2.6 in Laravel 5.3
When I set:
hideDefaultLocaleInURL = true
It's not working.
locale is set to 'sk'
fallback_locale is set to 'sk'
But I can access both domain.app & domain.app/sk
Also when I switch language to SK language code is still in URL.
Everything else is working fine... Any suggestions?
Just clean your config cache
php artisan config:cache

After upgrading laravel 5.1 to 5.2 \App::environment() always returning "production"

I upgraded laravel 5.1 to 5.2, everything looks good.
But when try to access the app environment not getting what expected.
When i dd($_ENV) this is what i get
"APP_ENV" => "vagrant"
"APP_DEBUG" => "true"
"DB_HOST" => "localhost"
But When dd(\App::environment());
"production"
P.S. even I checked in tinker: dd(env('APP_ENV')) gives me "vagrant"
but dd(\App::environment()) gives me "production".
Dont you think it is odd :(
This is wierd :(
Anyone face this problem ??
you missed a step in the upgrade process:
Configuration
Environment Value
Add an env configuration option to your app.php configuration file that looks like the following:
'env' => env('APP_ENV', 'production'),
P.S. You can check the value from the artisan command:
php artisan env
Sometimes when you changed in your .env file it does not take correct values from that, the problem is due to some configuration cache.Try running following commands, hope will work
php artisan config:cache
php artisan config:clear
php artisan cache:clear

Resources