deargonauten / translaravel
一个可以将所有路由、模型(特性)和字符串(gettext风格)进行翻译的Laravel包。
1.0.3
2016-07-05 10:23 UTC
Requires
- php: >=5.5|>=7.0
- illuminate/support: ~5.1
This package is not auto-updated.
Last update: 2024-09-14 19:31:11 UTC
README
[![Packagist上的最新版本][ico-version]][link-packagist] ![软件许可][ico-license] [![构建状态][ico-travis]][link-travis] [![覆盖率状态][ico-scrutinizer]][link-scrutinizer] [![质量评分][ico-code-quality]][link-code-quality] [![总下载量][ico-downloads]][link-downloads]
安装
通过Composer
$ composer require deArgonauten/TransLaravel
在config/app.php中添加ServiceProvider
deArgonauten\TransLaravel\TransLaravelServiceProvider::class,
现在有一个Artisan命令可用。运行它。
$ php artisan translaravel:install
然后... 完成!
用法
首先通过以下方式添加语言:
Lang::addLanguage('locale'); // en, nl, de, fr, et cetera
查看完整列表:https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
字符串翻译
trans('A string, even with <b>some</b> HTML'); Lang::get('A string, even with <b>some</b> HTML');
模型翻译
在模型中使用Translation特性如下:
use deArgonauten\TransLaravel\Translations; class YourModel extends Model { use Translations; private $translatable = ['attribute1', 'attribute2'] }
使用变量$translatable填充一个包含可翻译属性的数组。
现在您可以使用
$model->name; // It will automaticly fetch the translation set in Application. $model->getTranslationFor('attribute', 'locale');
路由翻译
在路由文件中,您可以如此使用翻译:
Route::get( Lang::route('/this-is-a-page'), function() { return view('pages.contact'); });
辅助函数
我们为您提供了一些辅助函数
translateURL('url', 'locale'); // Returns a link in the requested locale. // By omiting the locale parameter it will fetch the current set language. untranslateURL('url'); // Returns a link in the default language translateLink('url', 'name', [parameters], locale); // Returns something like this: <a href="translateURL('url')" class="this and that">trans('name')</a> ## Change log Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently. ## Contributing Please see [CONTRIBUTING](CONTRIBUTING.md) and [CONDUCT](CONDUCT.md) for details. ## Security If you discover any security related issues, please email mail@deargonauten.com instead of using the issue tracker. ## Credits - [Jason de Ridder][http://deargonauten.com] ## License The MIT License (MIT). Please see [License File](LICENSE.md) for more information. [ico-version]: https://img.shields.io/packagist/v/deArgonauten/TransLaravel.svg?style=flat-square [ico-license]: https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square [ico-travis]: https://img.shields.io/travis/deArgonauten/TransLaravel/master.svg?style=flat-square [ico-scrutinizer]: https://img.shields.io/scrutinizer/coverage/g/deArgonauten/TransLaravel.svg?style=flat-square [ico-code-quality]: https://img.shields.io/scrutinizer/g/deArgonauten/TransLaravel.svg?style=flat-square [ico-downloads]: https://img.shields.io/packagist/dt/deArgonauten/TransLaravel.svg?style=flat-square [link-packagist]: https://packagist.org.cn/packages/deArgonauten/TransLaravel [link-travis]: https://travis-ci.org/deArgonauten/TransLaravel [link-scrutinizer]: https://scrutinizer-ci.com/g/deArgonauten/TransLaravel/code-structure [link-code-quality]: https://scrutinizer-ci.com/g/deArgonauten/TransLaravel [link-downloads]: https://packagist.org.cn/packages/deArgonauten/TransLaravel