liaosankai/laravel-eloquent-i18n
Composer 安装命令:
composer require liaosankai/laravel-eloquent-i18n
包简介
README 文档
README
Requirements
- PHP >= 7.0.0
- Laravel >= 5.5.0
Installation
You can install the package via composer:
composer require liaosankai/laravel-eloquent-i18n
Making a model translatable
use Illuminate\Database\Eloquent\Model;
use Liaosankai\LaravelEloquentI18n\Models\TranslationTrait;
class Book extends Model
{
use TranslationTrait;
public $i18nable = [
'title',
'content',
'author',
];
}
Write translations data
Set raw attribute
$book = new Book();
$book->title = 'raw title';
Set single attribute of single locales
$book = new Book();
$book->title = 'raw title';
$book->i18n('zh-Hant')->title = '正體中文的標題';
$book->i18n('zh-Hans')->title = '简体中文的标题';
$book->save();
Set multiple locales of single attribute
$book = new Book();
$book->title = 'raw title';
$book->title = [
'zh-Hant' => '正體中文的標題',
'zh-Hans' => '简体中文的标题',
'en' => 'english title',
];
$book->save();
Set multiple attribute of multiple locales
$book = new Book();
$book->title = 'raw title';
$book->i18n([
'zh-Hant' => [
'title' => '正體中文的標題',
'content' => '正體中文的內容',
],
'zh-Hans' => [
'title' => '简体中文的标题',
'content' => '简体中文的內容',
],
'en' => [
'title' => 'english title',
'content' => 'english content',
],
])->save();
Read translations data
Arrange presence translations data:
$book = new Book();
$book->title = 'raw title';
$book->content = 'raw content';
$book->author = 'raw author';
$book->i18n([
'zh-Hant' => [
'title' => '正體中文的標題',
'content' => '正體中文的內容',
],
'zh-Hans' => [
'title' => '简体中文的标题',
'content' => '简体中文的內容',
],
'en' => [
'title' => 'english title',
'content' => 'english content',
],
])->save();
i18n() use all locales array if unassigned any locale
App::setLocale('zh-Hant');
$book->i18n()->title;
/*
[
'zh-Hant' => '正體中文的標題',
'zh-Hans' => '简体中文的标题',
'en' => 'english title',
]
*/
i18n() use assign locale
$book->i18n('zh-Hant')->title; // 正體中文的標題
$book->i18n('zh-Hans')->title; // 简体中文的标题
$book->i18n('zh-en')->title; // english title
i18n() use app locale if assign locale not found
App::setLocale('zh-Hant');
$book->i18n('ja')->title; // 正體中文的標題
i18n() use raw data if assign locale attribute not found
App::setLocale('zh-Hant');
$book->i18n('zh-Hant')->author; // raw author
Use raw data without i18n()
$book->title; // raw title
$book->content; // raw content
filter translations data
use model scope where
$book->i18nLike([
'filter' => [
'title' => 'keywords for title',
'content' => 'keywords for content'.
],
'locale' => 'zh-Hant',
])->get();
LICENSE
laravel-eloquent-i18n is released under the MIT License
liaosankai/laravel-eloquent-i18n 适用场景与选型建议
liaosankai/laravel-eloquent-i18n 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 6.47k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2018 年 07 月 04 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「i18n」 「model」 「laravel」 「translate」 「eloquent」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 liaosankai/laravel-eloquent-i18n 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 liaosankai/laravel-eloquent-i18n 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 liaosankai/laravel-eloquent-i18n 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Easy to use i18n translation PHP class for multi-language websites
A custom URL rule class for Yii 2 which allows to create translated URL rules
A package for automatically encrypting and decrypting Eloquent attributes in Laravel 5.5+, based on configuration settings.
Interfaces for web resource models and services to retrieve and create them
Laravel 5 - Repositories to the database layer
Bureaux A Partager Edit - Parse, validate, manipulate, and display dates in PHP w/ i18n support. Inspired by moment.js
统计信息
- 总下载量: 6.47k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 13
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2018-07-04