使用Laravel的i18n功能时,我需要为每个区域设置和每个翻译“组”创建一个文件。例如,messages.php文件将返回一个通用消息数组,validation.php将返回一组验证消息,这两个文件对于我设置的每个语言环境都是存在的。这意味着我有一个lang/en/messages.php
和一个lang/it/messages.php
,每个都为每个指定的键都有正确的翻译字符串。
是否可以使用“通用”翻译文件,在调用Lang::get()
时无需指定组?我想要做的是能够拨打Lang::get("MyString")
而不是Lang::get("group.MyString")
。
答案 0 :(得分:0)
在我的情况下,我需要修改Illuminate / Foundation / helpers.php
解决方案是默认采用域(在本例中为messages.php),然后在没有点的情况下将域添加到域($ id)。
function trans($id = null, $parameters = [], $domain = 'messages', $locale = null)
{
if (is_null($id)) {
return app('translator');
}
if (strpos($id, '.') === false) {
$id = "messages." . $id;
}
return app('translator')->trans($id, $parameters, $domain, $locale);
}