中添加了这个
{
"There is one apple|There are many apples": "Hay una manzana|Hay muchas manzanas"
}
中刀片文件:
{{__("There is one apple")}}
然后显示
有一个苹果
应该显示thay una unamanzana。请帮助我解决它。
首先确保您设置Config/app.php,为
'locale' => 'fr'
Illuminate\Support\Facades\App::setLocal('fr');
在路由(路由:: get())或可能使用中间件中。 在设置语言环境后,添加此密钥:值对resources/lang/fr.json
文件:
"There is one apple|There are many apples" : "{1} Hay una manzana|[2,*] Hay muchas manzanas"
.而不是使用
__()
方法。而且,您还必须提供Apple/Apples的数量作为第二个参数。这就是它知道它是单数(1)还是复数(2+)的方式。因此,这是您在刀片文件中使用它的方式:
trans_choice()
.
应用程序的默认语言存储在
{{ trans_choice("There is one apple|There are many apples", 2) }}
配置文件的配置选项中。您可以自由修改此值以满足您的应用程序的需求。
在您的案件中应该是
config/app.php
您可能会在文档中找到更多详细信息。
locale
即使Laravel的文档表明应该这样做,它也行不通。
对我有用的解决方案是:Modifyru.json:而不是“年|年”,而是使用“年”作为关键:
'locale' => 'fr',
以正确的英语复数格式以相同目录中的同一目录中创建一个en.json文件:
{
"Year|Years": "{1} Год|[2,4] Года|[5,*] Лет"
}
blade中的trans_choice():
使用JSON语言文件确保Laravel正确处理多元化。