naoray/laravel-localizer

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

管理多语言应用的工具

资助包维护!
Naoray

安装: 10

依赖者: 0

建议者: 0

安全: 0

星标: 14

关注者: 1

分支: 0

开放问题: 0

类型:package

v2.0.0 2021-02-03 08:26 UTC

This package is auto-updated.

Last update: 2021-07-01 00:11:18 UTC


README

Software License Tests Total Downloads

sessioncookiebrowser localeapp setting轻松检测用户的语言。使用localizer::setLocale通过GET请求更改区域设置,并通过localizer中间件控制用户可以看到的语言版本。

此包在幕后使用codezero/laravel-localizer,并扩展其功能以包括

  • 添加路由localizer::setLocale以更改区域设置
  • 添加Carbon存储以获取本地化时间戳
  • 添加外观以在视图中使用allowedLocales()方法

安装

composer require naoray/laravel-localizer

使用php artisan vendor:publish --provider="CodeZero\Localizer\LocalizerServiceProvider" --tag="config"发布配置

使用

添加支持的区域设置

编辑localizer配置中的supported-locales数组,以包含所有允许的区域设置。

'supported-locales' => ['en', 'de']

添加Carbon存储

\Naoray\LaravelLocalizer\Stores\CarbonStore::class添加到localizerstores中,启用carbon存储并同步当前区域设置与carbon区域设置。

'stores' => [
  CodeZero\Localizer\Stores\SessionStore::class,
  CodeZero\Localizer\Stores\CookieStore::class,
  CodeZero\Localizer\Stores\AppStore::class,
  Naoray\LaravelLocalizer\Stores\CarbonStore::class,
],

在中间件中使用Localizer

localize中间件添加到RouteServiceProvider中的Web路由

//...
protected function mapWebRoutes()
{
    Route::middleware(['web', 'localize'])
          ->namespace($this->namespace)
          ->group(base_path('routes/web.php'));
}

或者简单地将其添加到路由分组中的中间件。

在视图中添加更改区域设置的路由

Localizer外观添加到app配置中。

//...
'Localizer' => Naoray\LaravelLocalizer\Facades\LocalizerFacade::class,

在视图中,您可以使用allowedLocales()获取视图中的所有允许的区域设置。

@foreach (Localizer::allowedLocales() as $locale)
  <a href="{{ route('localizer::setLocale', ['locale' => $locale]) }}">{{ strtoupper($locale)}}</a>
@endforeach

扩展功能

您可以通过实现相应的接口添加新的storesdetectors。更多信息请访问codezero/laravel-localizer

测试

运行测试

vendor/bin/phpunit

变更日志

请参阅CHANGELOG以获取最近更改的更多信息。

贡献

请参阅CONTRIBUTING以获取详细信息。

安全

如果您发现任何安全相关的问题,请通过电子邮件 DummyAuthorEmail 而不是使用问题跟踪器。

许可证

麻省理工学院许可协议(MIT)。请参阅许可文件获取更多信息。