hokan22/laravel-translator

此包已被放弃,不再维护。未建议替代包。

灵活的Laravel翻译器

v1.3.3 2018-07-19 08:18 UTC

README

Latest Version on Packagist Software License Scrutinizer Code Quality

安装

通过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)。有关更多信息,请参阅许可证文件