zash / laravel-translations-db
Laravel 5 的数据库翻译实现,从 hpolthof/laravel-translations-db 分支出来
Requires
- php: >=5.4.0
- illuminate/cache: 5.*
- illuminate/database: 5.*
- illuminate/translation: 5.*
README
此包是为了替换默认的 TranslationServiceProvider,并为那些厌倦了收集语言文件和维护数十个数组(这些数组包含大量键)的人而创建的。键将自动添加到数据库中,因此您不再需要手动将键添加到翻译文件中。您将永远不会再忘记翻译一个键!在生产环境中,您的键将被 缓存,以确保本地化保持快速!
安装
使用 composer 需要此包
composer require zash/laravel-translation-db
喜欢走在前沿?请使用:
composer require 'zash/laravel-translations-db:*@dev'
更新 composer 后,我们需要将 config/app.php 中的 TranslationServiceProvider 替换为我们的 ServiceProvider。
查找
'Illuminate\Translation\TranslationServiceProvider',
并将以下内容替换为
'Zash\Translation\ServiceProvider',
现在将加载 ServiceProvider。为了正确使用此包,您还需要在数据库中创建一个表,这可以通过发布此包的配置和迁移实现。
运行以下命令
php artisan vendor:publish --provider='Zash\Translation\ServiceProvider'
然后运行您的迁移
php artisan migrate
这就完成了!
使用方法
您可以像通常使用 Laravel 默认包一样开始使用翻译。函数 trans()
和 Lang::get()
可以像通常一样使用。
有关本地化和这些函数的使用的更多信息,请参阅 官方文档。
文件仍然可行
尽管如此,仍然可以使用翻译文件。以命名空间前缀的每个翻译都将通过旧的 TranslationServiceProvider 解析。这对于带有自己翻译文件的外部包是必要的。但通常您不需要为此烦恼。
导入和导出
为了简化迁移到数据库翻译的过程,自版本 0.3 以来提供了两个命令。
导入
要导入当前语言文件中的所有翻译,您可以使用以下命令
php artisan translation:fetch
这将导入所有可用的翻译到数据库中。
要导入特定内容,也可以使用
--locale
和--group
选项。
导出
要将数据库中的翻译导回到文件系统中,请使用以下命令
php artisan translation:dump
此命令也支持
--locale
和--group
选项。 注意:所有当前文件将被 覆盖,所以请小心使用!