首页 > 解决方案 > 上下文感知本地化

问题描述

我有这个代码:

本地化代码片段

如果我使用,我希望 laravel 返回“搜索” :

@lang('messages.search')

“搜索标题、描述或代码”,如果我使用:

@lang('messages.search.placeholder')

有没有办法做到这一点或类似的事情?还是我必须为“搜索”字符串使用不同的名称?

标签: laravellocalization

解决方案


我认为这是不可能的,因为您声明了两倍的搜索值并且它总是采用最后定义的值,您可以做的是这样的:

'search' => [
    '' => 'Search',
    'placeholder' => 'Search for title, description or code'
]

并像@lang('messages.search.')检查最后一个点一样使用它,因为它是需要的。

虽然更常见的方法是为第一个密钥对设置名称:

'search' => [
    'title' => 'Search',
    'placeholder' => 'Search for title, description or code'
]

并将它们用作:@lang('messages.search.title')@lang('messages.search.placeholder')


推荐阅读