在Laravel Backpack中编辑默认语言值时未定义索引

时间:2019-04-23 14:57:26

标签: laravel backpack-for-laravel

我正在尝试使背包中的多语言功能正常工作。我已经按照文档中的所有步骤进行操作。我可以用我定义的语言添加值。除默认语言外,我还可以编辑这些值。我收到未定义的索引“ nl”错误。

定义的语言如下:nl(荷兰语),fr(法语),en(英语)。

我尝试更改默认语言,看看应用程序如何对此做出反应,但是我在主要(在config / app.php中定义)语言上也遇到了同样的问题。

我还将laravel-translateable降级为v 3.x,因为Backpack changelog没有提到对该软件包的v 4.x的任何支持。现在我又回到了v4,因为它没有什么区别。

当前在我的作曲家文件中有以下内容: “背包/底座”:“ ^ 0.9.7”, “ backpack / crud”:“ ^ 3.3.0”, “背包/权限管理器”:“ ^ 2.1”, “背包/设置”:“ ^ 2.0”, “干预/图像”:“ ^ 2.4”, “ laravel / framework”:“ 5.7。*”, “ spatie / laravel-translatable”:“ ^ 4.0”

我的原始配置:

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

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

我要将翻译应用于的模式

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Backpack\CRUD\CrudTrait;
use Backpack\CRUD\ModelTraits\SpatieTranslatable\HasTranslations;

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 个答案:

答案 0 :(得分:0)

如果有人遇到相同的问题... 逻辑上这是行不通的。

您应该这样声明当地人:

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