我在 Laravel 5.3(使用 php 7)的本地化方面有点挣扎。Laravel 5.3 中默认的本地化文件格式是使用括号,如下例所示:
return [
'footer.contact.email' => 'Email:',
]
这就是我在我的应用程序中一直使用的,并且运行良好。但现在我正在尝试使用一些包来帮助翻译,例如:
- https://github.com/potsky/laravel-localization-helpers
- https://github.com/barryvdh/laravel-translation-manager
但它们都以“旧”laravel 4.x 数组格式生成本地化文件。例如
return array(
'footer' => array(
'contact' => array(
'email' => 'Email:',
),
),
);
据我了解,我的 laravel 5.3 应用程序中的这种本地化文件格式应该没有问题,但是它总是抛出异常:
[2016-12-02 13:26:01] local.ERROR: ErrorException: htmlspecialchars() expects parameter 1 to be string, array given in C:\100_source_code\consulting_platform_laravel\maingig\vendor\laravel\framework\src\Illuminate\Support\helpers.php:519
Stack trace:
#0 C:\100_source_code\consulting_platform_laravel\maingig\vendor\sentry\sentry\lib\Raven\Breadcrumbs\ErrorHandler.php(36): Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(2, 'htmlspecialchar...', 'C:\\100_source_c...', 519, Array)
我真的不明白为什么这种格式不适用于我的应用程序。我敢打赌,我错过了一些微不足道的事情,但是非常欢迎任何帮助!
谢谢,
基督教