我想在Laravel 5.3上使用带变量的复数翻译

时间:2017-01-28 18:31:08

标签: laravel translation laravel-5.3

在Laravel 5.3中,我想使用翻译:

'items' => ':number item|:number items'

并使用 trans()

trans('folder/file.items', ['number' => 0])

提供0项,1项和2项。

2 个答案:

答案 0 :(得分:3)

阅读以下文档:https://laravel.com/docs/5.3/localization#pluralization

在Laravel 5.3中:

<html>
<head>
</head>
<body>
    <form id="someForm">
        <input id="someInput" /><button>Send</button>
    </form>
    <script>        
  document.getElementById('someForm').submit(() => {
        //do something..
  });
    </script>
</body>
</html>

在Laravel 5.4(https://laravel.com/docs/5.4/localization#pluralization)中:

'items' => '[0,1] :count item |[2,Inf] :count items',

并在视图

'items' => '[0,1] :count item |[2,*] :count items',

计数占位符将自动设置数字5

答案 1 :(得分:1)

只需使用Laravel提供的str_plural()辅助函数!

{{ $items }} {{ str_plural('item', $items) }}

变量$ item必须是数字,而不是数组或集合。如果$ items是一个集合,您必须使用count($ items)来获取集合中的项目数。它将如下所示:

{{ $items }} {{ str_plural('item', count($items)) }}

参考(拉威尔5.3):https://laravel.com/docs/5.3/helpers#method-str-plural