hokan22 / laravel-translator
灵活的Laravel翻译器
Requires
- php: >=5.5.9
- illuminate/console: ~5.0
- illuminate/database: ~5.0
- illuminate/support: ~5.0
Requires (Dev)
- orchestra/testbench: ~3.4
- phpunit/phpunit: ^5.0
README
安装
通过Composer
$ composer require hokan22/laravel-translator
设置
将服务提供者添加到 config/app.php
中的 providers 数组。
'providers' => [ Hokan22\LaravelTranslator\Provider\TranslatorProvider::class, Hokan22\LaravelTranslator\Provider\TranslatorBladeProvider::class, ];
此外,你可能还想在 config/app.php
文件中的 aliases 数组中添加一个别名。
'aliases' => [ 'Translator' => Hokan22\LaravelTranslator\TranslatorFacade::class, ];
中间件
你可以使用中间件来控制 app/Http/Kernel.php
中的全局语言设置。
protected $routeMiddleware = [ 'translator' => \Hokan22\LaravelTranslator\Middleware\TranslatorMiddleware::class, ];
发布
你可以使用以下命令发布配置:
php artisan vendor:publish --provider="Hokan22\LaravelTranslator\Provider\TranslatorProvider"
用法
此包为Laravel提供了一个易于扩展的翻译功能,带有参数。
在你注册了TranslatorBladeServiceProvider之后,你可以使用 @t()
或 @translate()
blade 指令将你的网站翻译成不同的语言。你可以通过翻译中间件或为每个翻译单独定义区域设置来定义区域。
@t('Hello World!')
@t('Hello {name}!', ['name' => World], 'de_DE')
@t('Hello World', [], 'fr_FR')
参数
参数简单地在 {}
中包围,并且作为数组提供作为blade翻译指令的第二个参数进行替换。
@t('Visit the site {link}.', ['link' => '<a href="example.com">Example.com</a>'])
自定义区域
如果你使用不同的区域模式,只需更改配置文件中的 available_locales
数组。
自定义翻译处理程序
要使用你的自定义翻译处理程序,请确保它实现了接口: Hokan22\LaravelTranslator\Handler\HandlerInterface.php
现在只需将 config/translator.php
中的 'handler' 配置参数更改为你的自定义处理程序类。
'handler' => Hokan22\LaravelTranslator\Handler\DatabaseHandler::class,
自定义翻译路由
默认情况下,翻译管理界面可通过 /translator/admin
访达。要覆盖默认路由,将配置中的 custom_routes
参数更改为 true
,并按需定义路由。注意:为了使用“实时模式”,请确保为 TranslatorAdminController@edit
路由提供名称: 'translator.admin.edit'
。
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。