Laravel:本地化字符串中的变量

时间:2018-03-05 21:20:48

标签: laravel localization laravel-5.5 laravel-blade

我想本地化我的应用,但我遇到了问题:

如果我像这样调用trans函数:{{ __('permission.addUser') }},则输出为

  

添加新用户

如果我拨打{{$permissions[13]}},则输出为

  

ADDUSER

但如果我混合它们:{{ __('permission.$permission[13]') }},则输出为

  

权限。$权限[13]

缺少什么?我做错了什么?

2 个答案:

答案 0 :(得分:1)

我知道你已经有了答案,但在PHP中,你可以使用双引号将变量插入字符串,例如

 Widget bindItem(BuildContext context, int index) {
return new Card(
    child: new Column(
        children: <Widget>[
          new Image.network(
            _parties[index]["cover"], fit: BoxFit.fitWidth,
            height: 120.0,
          ),
          new Text(_parties[index]['name'])
        ]
    )
);

将正确输出。 如果要使用数组或对象,则应将它们包装在{}。

@override
      Widget build(BuildContext context) {
        return new Scaffold(
            appBar: new AppBar(
              title: new Text("Parties"),
            ),
            body: new ListView.builder(
              itemCount: _parties == null ? 0 : _parties.length,
              itemBuilder: bindItem,
            )
        );
      }

请记住,双引号

答案 1 :(得分:0)

哎呀,我想把我的变量用作字符串。

解决方案是{{ __('permission.' . $permissions[13]) }}