#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'
],