请教关于向 laravel 框架提交翻译提示的 pr 被驳回的疑问
事情是这样的
因为 laravel 的 throttle request
中间键返回的提示信息是英文,我想把它翻译成中文,项目已经安装了 laravel-lang
语言包,而且看到已经翻译了这段文字
"Too Many Attempts.": "尝试次数过多",
于是我向提了一个问题,想请问大家是怎么修改这里的提示信息的:
大家的解决方案都是自己处理异常,或新建中间见继承 throttle request
类,重写 buildException
方法。
但我觉得这很不符合 laravel
框架的风格,难道作者没有考虑过这个问题吗?
带着疑问我去查看了框架源码
vendor\laravel\framework\src\Illuminate\Routing\Middleware\ThrottleRequests.php
protected function buildException($request, $key, $maxAttempts, $responseCallback = null)
{
...
return is_callable($responseCallback)
? new HttpResponseException($responseCallback($request, $headers))
: new ThrottleRequestsException('Too Many Attempts.', null, $headers);
}
这里确实返回了字符串 Too Many Attempts.
,但这里明明可以直接调用翻译助手函数来适配多语言的问题啊。
__('Too Many Attempts.')
于是我尝试向框架提交了一个 pr
github.com/laravel/framework/pull/...
但是立刻就被驳回了,相关开发人员给我的回复是
嗯…看的我一头雾水,他大概是想让我去查看以往提交的 pr
?于是我尝试在 pr
中搜索 previous attempts
,发现也有其他人尝试提交和我类似的翻译提示消息的
github.com/laravel/framework/pull/...
但是都被驳回了,并且回复也都是一样的
我不太明白这是什么意思,我尝试了问他有没有相关信息?但没有得到更多回复。
啊!!! 这里我就很奇怪了,我不知道我到底是遗漏了哪里,难道大家都是这么做的?
于是我又去 stackoverflow
上面搜索相关解决方案
stackoverflow.com/questions/580482...
原来大家的解决方法都是一样的,要么就是重写 buildException
方法,要么就是自己捕捉异常进行处理。
不过从 github 上面得到的回复来看,一定是有些东西是我不知道的,或者是我的方法错了,或者作者拒绝这么做是有他的原因的。
但是我就是找不到它,虽然这是一个很简单的问题,但是我就是想弄明白。
拜托大家请问谁了解这其中的原因吗?麻烦告诉我,非常感谢!
推荐文章: