Неопределенный индекс при редактировании значения языка по умолчанию в Laravel Backpack

#laravel #laravel-backpack

#laravel #laravel-backpack

Вопрос:

Я пытаюсь заставить работать многоязычную функцию в Backpack. Я выполнил все шаги, которые присутствуют в документации. Я могу добавлять значения на языках, которые я определил. Я также могу редактировать эти значения, за исключением языка по умолчанию. Я получаю ошибку undefined index ‘nl’.

Определены следующие языки: nl (голландский), fr (французский), en (английский).

Я попытался изменить свой язык по умолчанию и посмотреть, как приложения реагируют на это, но я сталкиваюсь с той же проблемой на главном (определено в config/app.php ) язык.

Я также понизил рейтинг laravel-translatable до версии 3.x, поскольку в списке изменений рюкзака не упоминается о какой-либо поддержке версии 4.x этого пакета. Теперь я вернулся к версии 4, поскольку это не имело никакого значения.

В настоящее время в моем файле composer у меня есть это: «backpack / base»: «^ 0.9.7», «backpack / crud»: «^ 3.3.0», «backpack / permissionmanager»: «^ 2.1», «backpack / settings»: «^ 2.0», «intervention / image»: «^ 2.4», «laravel / framework»: «5.7. *», «spatie / laravel-translatable»: «^ 4.0»

Моя конфигурация crud:

     'show_translatable_field_icon' => true,
    'translatable_field_icon_position' => 'right',

    'locales' => [
        'nl',
        'fr',
        'en'
    ],
  

Режим, к которому я хочу применить переводы:

 namespace AppModels;

use IlluminateDatabaseEloquentModel;
use BackpackCRUDCrudTrait;
use BackpackCRUDModelTraitsSpatieTranslatableHasTranslations;

class Supplier extends Model
{
    use CrudTrait;
    use HasTranslations;

    /*
    |--------------------------------------------------------------------------
    | GLOBAL VARIABLES
    |--------------------------------------------------------------------------
    */

    protected $table = 'suppliers';
    protected $fillable = [
        'name'
    ];
    protected $translatable =  ['name'];
  

Значение в моей таблице выглядит следующим образом:
{«nl»: «Leverancier x nl», «1»:»Leverancier x fr»}

Мне также нужно иметь возможность редактировать язык по умолчанию. На данный момент я не вижу, где что-то не так.

Комментарии:

1. Можете ли вы указать точную ошибку, которую вы получаете, и трассировку стека для нее?

Ответ №1:

На случай, если кто-то столкнется с такой же проблемой… Довольно логично, что это не сработало.

Вы должны объявлять locals следующим образом:

 'locales' => [
    'nl' => 'Dutch',
    'fr' => 'French',
    'en' => 'English'
],