Spatiale/laravel Translateable在我尝试检索尚不存在的翻译时显示默认区域设置
问题是我想要一个有3种语言(英语、意大利语、德语)的标题。用户可以为每种语言在表单上添加3个标题,其中只有意大利语是Spatiale/laravel Translateable在我尝试检索尚不存在的翻译时显示默认区域设置,laravel,localization,spatie,laravel-translatable,Laravel,Localization,Spatie,Laravel Translatable,问题是我想要一个有3种语言(英语、意大利语、德语)的标题。用户可以为每种语言在表单上添加3个标题,其中只有意大利语是必需的。之后,使用spatie/laravel translateable将标题保存在db中,如下所示: {"it":"Titolo in italiano.","en":"English title."} 这个想法是,用户可以编辑这个标题,但有一个问题。 当尝试检索英语、意大利语、德语的标题时,当该
必需的
。之后,使用spatie/laravel translateable
将标题保存在db中,如下所示:
{"it":"Titolo in italiano.","en":"English title."}
这个想法是,用户可以编辑这个标题,但有一个问题。
当尝试检索英语、意大利语、德语的标题时,当该语言的标题之一丢失时,我尝试使用以下方式显示它:
{{$item->getTranslation('title_lang','de')}
它根据默认语言环境检索默认标题,在本例中,默认语言环境是'It'
。因此,如果德国队的冠军不见了,那就看意大利队的冠军了
我想显示包含德语标题的输入,否则在没有德语标题的情况下为空
我不知道如何使用@if
语句或其他逻辑检查blade
。
我拼命尝试,但没有成功(没有意义,但我尝试了一下):
我看了这些文件,但没有找到什么可以帮助我的
有人知道如何做到这一点吗
谢谢大家! 您是否可以尝试
$useFallbackLocale=false
参数以获取默认的语言环境字符串
您可以从中检查方法的使用情况
作为:
$product->getTranslation('description_locale','de',false)
您是否可以尝试$useFallbackLocale=false
参数来获取默认的语言环境字符串。As:$product->getTranslation('description\u locale','de',false)
Bro你说得对!非常感谢你!我被挡住了,什么也没想到。你可以写下这个作为答案,我可以接受!仅供参考:@if(isset({{$product->getTranslation({description_locale',de')}))
不应包含{{
和}
,因为您已经在使用Blade@brombeer是的,那太愚蠢了,我只是把它弄糊涂了,我知道,@if
不应该在{{}}
中使用,但我只是把它弄糊涂了。无论如何,谢谢你。我在没有{{}}
的情况下也尝试了这个,但没有成功。我正在编辑这个问题,但我已经得到了答案。这可能是因为isset()
,@if($product->getTranslation('description\u locale','de'))
应该可以工作,但没有经过测试
@if(isset($product->getTranslation('description_locale', 'de')))
{{ $product->getTranslation('description_locale', 'de') }}
@else
@endif