Laravel和Vuejs - 我如何处理翻译

时间:2016-04-20 20:53:19

标签: laravel internationalization vue.js

我的Laravel应用程序中有几个需要翻译的选择输入(我管理多种语言)。

以下是一个例子:

{!!  Form::select('gender', ['M'=> trans('core.male') ,
                            'F'=> trans('core.female') ,
                            'X'=> trans('core.mixt') , ],
                            null, ['class' => 'form-control',"v-model"=>"gender"]) !!}

所以,基本上,我想要达到的目标是能够获得性别'的价值。

现在,我可以获得身份证明(' M',' F',' X')

我无法在我的js中声明,因为trans(' core.male')无法在.blade.php文件外工作

所以,我应该创建一个Web服务并通过AJAX调用它,但是它真的有必要吗?

或者我可以在我的.blade.php中的js变量中设置每个变量但是再一次,如果我有大型列表则不太好。

我更喜欢打火机。

任何想法如何解决它而不生成胖代码???

1 个答案:

答案 0 :(得分:0)

您可以为元素指定id属性,然后在计算变量中使用javascript查找所选选项的文本:

刀片:

{!!  Form::select('gender', ['M'=> trans('core.male') ,
    'F'=> trans('core.female') ,
    'X'=> trans('core.mixt') , ],
    null, ['class' => 'form-control',"v-model"=>"gender","id"=>"gender"]) !!}

JS:

....
computed:{
    selectedText: function () {

      this.gender = this.gender //this forces a re-compute when this.gender changes

      var sel = document.getElementById('#gender');

      if (sel.selectedIndex == -1)
        return null;

      return sel.options[sel.selectedIndex].text;
    }
}
....