Laravel spatie/laravel-translatable

Laravel spatie/laravel-translatable

这是我的路线

Route::group(
    [
        'prefix' => LaravelLocalization::setLocale(),
        'middleware' => [ 'localeSessionRedirect', 'localizationRedirect', 'localeViewPath','auth']
    ], function(){
       

这是可行的,但我想在 blade 中像这样切换语言环境

  <a  href="{{\App::setLocale('en')}}" >en</a>
  <a  href="{{\App::setLocale('uz')}}" >uz</a>

但是它不起作用,你能给点建议吗???我该怎么办?

你可以这样实现:

@foreach(LaravelLocalization::getSupportedLocales() as $localeCode => $properties)
  <li>
    @if(LaravelLocalization::getCurrentLocale() != $localeCode)
      <a rel="alternate" hreflang="{{ $localeCode }}" href="{{ LaravelLocalization::getLocalizedURL($localeCode, null, [], true) }}">
        {{ $localeCode }}
      </a>
    @endif
  </li>
@endforeach

您使用的路由中间件用于 mcamara/laravel-localization 包而不是 spatie/laravel-translatable。
回到 pacakage 文档,你可以创建一个语言选择器,你可以使用这个片段:
https://github.com/mcamara/laravel-localization#creating-a-language-selector