laravel刀片中的多元化@lang()定位?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了laravel刀片中的多元化@lang()定位?相关的知识,希望对你有一定的参考价值。
Laravel 5使用@lang帮助程序提供翻译
<!-- file: template.blade.php -->
@lang('some text')
Laravel 5还可以根据变量复数字符串。
// file: controller.php
echo trans_choice('messages.apples', 10);
然后翻译文件将包含以下行来翻译苹果:
// file: /resources/lang/en
'apples' => 'There is one apple|There are many apples',
现在,我想在刀片模板中使用复数,我不知道如何使用它。我尝试了以下方法:
<!-- file: template.blade.php -->
Course duration: {{ $course.days }} @lang('day|days', $course.days)
感觉是mee的逻辑语法,但是这只会给我一个关于输入参数2需要成为数组的错误。我也试过这个:
<!-- file: template.blade.php -->
Course duration: {{ $course.days }} @lang('day|days', [$course.days])
还有这个:
<!-- file: template.blade.php -->
Course duration: {{ $course.days }} @lang(['day|days', $course.days])
答案
有一个@choice
刀片指令。
Course duration: {{ $course->days }} @choice('day|days', $course->days)
另一答案
你必须在你的一个翻译文件中注册一个新的键控条目,让我们说plurals.php
。那么正确的方法是:
//in plurals.php
//...
'day' => 'day|days',
//...
然后你可以检索条目
{{trans_choice('plurals.day', $course->days)}} //assuming the arrow syntax is how you retrieve a property in php :P
以上是关于laravel刀片中的多元化@lang()定位?的主要内容,如果未能解决你的问题,请参考以下文章