kaishiyoku / yaml-translation
为Laravel TranslationServiceProvider添加YAML文件支持
Requires
- php: >=7.1.3
- illuminate/translation: 5.4.*|5.5.*|5.6.*|5.7.*|5.8.*|6.*
- symfony/yaml: 3.*
README
为Laravel >=5.4 TranslationServiceProvider添加YAML文件支持
此包使用Symfony/Yaml解析器。注意:这是从Devitek原始版本分叉而来的:https://github.com/Devitek/laravel-yaml-translation
请注意
Laravel >=5.4仅支持即将发布的 >=5.4.* 版本。如果您仍想使用旧版本的Laravel,请使用旧版本。
支持Laravel <= 5.3.*的最后一个版本是 5.0.1
请注意:与版本5.5.1一样,此包使用Symfony Yaml Parser v3.*,因此YAML格式已略有变化 - 当存在如冒号等特殊键时,您现在必须使用引号(双引号或单引号)转义行,否则您将得到如下错误: A colon cannot be used in an unquoted mapping value at line [...]
。我已经稍微修改了下面的示例以展示更改。
安装
运行php composer.phar require kaishiyoku/yaml-translation
将"kaishiyoku/yaml-translation": "5.*"
添加到您的composer.json
中。
在Laravel中添加支持
在app/config/app.php
中将'Illuminate\Translation\TranslationServiceProvider',
替换为'Kaishiyoku\Core\Translation\TranslationServiceProvider',
。
如何使用
只需使用常规的php
文件或使用yml
或yaml
文件。为了使用YAML,您的本地化文件必须以*.yml.php
、*.yaml.php
、*.yml
或*.yaml
结尾。
示例
PHP:
<?php return [ 'hello' => 'Hello :name', 'author' => 'Kaishiyoku', 'messages' => [ 'none' => 'No messages' ] ];
将与以下等效
YAML:
hello: 'Hello :name' # must now be escaped with quotes author: Kaishiyoku messages: none: 'No messages'
请注意:Symfony Yaml解析器期望使用<space>
缩进,使用<tab>
缩进将导致异常。
如果您有任何问题,请随时打开一个工单:)
作者
Twitter: @kaishiyoku
网站: www.andreas-wiedel.de