如何使用动态翻译键翻译Laravel“硬编码”字符串“(和1个以上错误)"..(确认异常类)

rpppsulh  于 2023-01-21  发布在  其他
关注(0)|答案(3)|浏览(177)

我有一些验证,我是这样验证的:

而且我注意到当有超过1个错误时,Laravel会在消息中添加“和1(或2或4..)更多的错误”。
看看这些图片,你就会明白我的意思:

我发现这是发生在laravel框架/哪个函数:

它用一个动态键调用Translater get方法!我怎么翻译动态键??

我试了几种方法:

  • 在英语/葡萄牙语“验证”翻译文件中添加带有保持器的密钥
  • 添加带有数字本身的密钥(替换占位符)

没有生效,看到我的意思如下:
一个四个一个一个一个五个一个
我已经注意到有其他人有同样的问题时,在谷歌搜索,但到目前为止,我还没有找到一个解决方案,我不想做一个“字符串替换”,并使用一个更优雅的解决方案...任何人可以帮助?
有同样问题的其他人:https://github.com/laravel/framework/discussions/41230
多谢

oaxa6hgo

oaxa6hgo1#

需要将(and :count more error)(and :count more errors)添加到json翻译文件中,因为这不是一个“短键”,而是一个“翻译字符串”:https://laravel.com/docs/9.x/localization#using-translation-strings-as-keys

mqxuamgl

mqxuamgl2#

今天在这里发表了一条评论,如果你想继续使用PHP翻译文件,这可能会解决你的问题:https://github.com/laravel/framework/pull/43837#issuecomment-1263231220

vyu0f0g1

vyu0f0g13#

对我的情况有效的快速修复/解决方案(因为我只需要显示第一个错误,一次一个,而不是多个)
这将删除额外的(和1个以上的错误..):

在某些情况下,您还需要在验证规则中添加“bail”(以避免每个字段出现1个以上的错误)

相关问题