pwweb / localisation
Requires
- php: >=7.3.7
- fzaninotto/faker: ^1.9
- laracasts/flash: ^3.0
- laravel/framework: ^7.3.0
- pwweb/laravel-core: ^0.1.0-beta
Requires (Dev)
- phpmd/phpmd: @stable
- phpunit/phpunit: ~8.0
- squizlabs/php_codesniffer: 3.*
This package is auto-updated.
Last update: 2020-11-06 18:47:31 UTC
README
本地化:C3P0 for Laravel。查看contributing.md以查看待办事项列表。
安装
通过Composer运行以下命令
# Install the package. $ composer require pwweb/localisation # Publish config, migration, languages and controllers. # Note: Individual publishing tags are available, see chapter Customizing. $ php artisan vendor:publish --provider="PWWEB\Localisation\LocalisationServiceProvider" # Run migrations $ php artisan migrate
先决条件
如果需要使用捆绑的默认控制器,则此包假定标准Laravel安装。捆绑的控制器扩展自App\Http\Controllers\Controller
。如果使用其他,自定义基础控制器作为安装的一部分,请参阅Customizing。
配置
自定义
该包提供以下标签以发布用于自定义的单个组件
标签 | 描述 |
---|---|
pwweb.localisation.config |
发布配置文件以调整数据库表名等。 |
pwweb.localisation.migrations |
发布迁移文件以更改数据库表。 |
pwweb.localisation.language |
发布语言文件以调整翻译字符串。 |
pwweb.localisation.views |
发布视图文件以调整视图的整体结构。 |
默认和后备语言
建议将您的app.php
更改为同时使用ISO-639-1 ISO语言代码以及ISO-3166 ISO国家代码。这可以通过更改以下两个变量实现
<?php return [ ... 'locale' => 'en-GB', 'fallback_locale' => 'en-GB', ... ];
使用方法
地址
此包提供了一个trait HasAddresses
,可以用于允许模型与地址相关联。
<?php namespace Path\To; use Illuminate\Database\Eloquent\Model; use PWWEB\Localisation\Traits\HasAddresses; class MyModel extends Model { use HasAddresses; }
语言切换器
本地化包提供了一个语言切换器,可以轻松地将其添加到blade模板中,如下所示(注意:此处的<div>
仅为示例)
... <div class="anyContainer"> {{ Localisation::languageSelector() }} </div> ...
GraphQL
此包提供了一个用于在父项目中使用的graphql.schema
文件。这可以通过以下方式包含在您的主schema
文件中
#import ../vendor/pwweb/localisation/graphql/schema.graphql
注意:如果您的主schema文件位置不同,请务必更新供应商路径。
常见问题解答
通过Composer安装时,您会收到以下消息
ErrorException : Trying to access array offset on value of type null at /var/www/vendor/pwweb/localisation/src/LocalisationServiceProvider.php:107 103| protected function registerModelBindings() 104| { 105| $config = $this->app->config['localisation.models']; 106| > 107| $this->app->bind(CountryContract::class, $config['country']); 108| $this->app->bind(LanguageContract::class, $config['language']); 109| $this->app->bind(CurrencyContract::class, $config['currency']); 110| } 111| Exception trace: 1 Illuminate\Foundation\Bootstrap\HandleExceptions::handleError("Trying to access array offset on value of type null", "/var/www/vendor/pwweb/localisation/src/LocalisationServiceProvider.php", []) /var/www/vendor/pwweb/localisation/src/LocalisationServiceProvider.php:107 2 PWWeb\Localisation\LocalisationServiceProvider::registerModelBindings() /var/www/vendor/pwweb/localisation/src/LocalisationServiceProvider.php:81 Please use the argument -v to see more details.
这是由于已运行php artisan config:cache
命令。我们建议您删除缓存文件bootstrap/cache/config.php
,然后运行composer dump-autoload
以确保。
变更日志
请参阅变更日志以获取有关最近更改的更多信息。
贡献
请参阅contributing.md以获取详细信息和一个待办事项清单。
安全
如果您发现任何与安全相关的问题,请使用问题跟踪器。
鸣谢
许可协议
版权所有 © pw-websolutions.com。请参阅许可文件以获取更多信息。