Laravel 5.5、Collections 和本地化

Laravel 5.5, Collections and Localization

这道题是follow-up/attempt来实现的答案。

我尝试从 collection 中提取值并应用当前本地化如下:

$prefix_array = ['' => trans('registration.prefixes.select')] +
    $prefixes->pluck('prefix', 'prefix')->map(function($item, $key) {
        return trans('messages.fields.prefixes.'.$item);
    })->toArray();

但是,这会生成一个数组,其值如下:

"Mrs." => "messages.fields.prefixes.Mrs."

而不是:

"Mrs." => "Sra."   // eg: shortened Senora for Spanish translation

本地化路径 (messages.fields.prefixes.XYZ) 正确并且在其他地方对它的引用按预期显示。

可能是尾随点(句点)混淆了本地化。您可能需要将翻译密钥设置为 'mrs' => 'Mrs.'