laravel - spatie / laravel-translatable 在我尝试检索尚不存在的翻译时显示默认语言环境
问题描述
问题是我想要一个包含 3 种语言(英语、意大利语、德语)的标题。用户可以在表格上为每种语言添加 3 个标题,只有意大利语是required
. 之后,使用以下方法将标题保存在数据库中spatie / laravel-translatable
:
{"it":"Titolo in italiano.","en":"English title."}
这个想法是用户可以编辑这个标题,但有一个问题。在尝试检索英语、意大利语、德语标题时的表单上,当缺少该语言的标题之一时,我尝试使用以下方式显示它:
{{ $item->getTranslation('title_lang', 'de') }}
它根据默认语言环境检索默认标题,'it'
在这种情况下。因此,如果缺少 Germa 标题,它会显示意大利标题。
我想显示包含德语标题的输入,否则在没有德语标题的情况下为空。
我不知道如何检查blade
using@if
语句或其他一些逻辑。我拼命尝试但没有成功(没有意义,但我试一试):
@if(isset($product->getTranslation('description_locale', 'de')))
{{ $product->getTranslation('description_locale', 'de') }}
@endif
我查看了文档,但没有找到可以帮助我的东西。
有谁知道如何实现这一目标?
谢谢!
解决方案
您可以尝试$useFallbackLocale=false
为未获取默认语言环境字符串而设置参数吗?
您可以从源代码检查方法使用情况。
作为:$product->getTranslation('description_locale', 'de', false)
推荐阅读
- android - 为什么 ArrayAdapter 的布局文件必须设置两次?
- c# - 从对象列表中打印组件不起作用
- android - 使用带有 viewPager 的导航图
- javascript - 将 Moxiemanager 与 Mosaico 集成
- directx - 为什么 D3D12Fullscreen 示例中有 2 个视口?场景视口有什么用?
- python - 如何将字符串转换为用户 discord.py
- apache-kafka - Kafka:什么是新 API kafka.utils.ZkUtils 从 0.8 升级到 2.1
- mysql - 存储过程中的普通 vanilla 游标无法编译
- php - Laravel Passport 始终未经身份验证
- python - 为矩阵赋值