zash/laravel-translations-db

Laravel 5 的数据库翻译实现,从 hpolthof/laravel-translations-db 分支出来

0.6.0 2016-08-16 14:07 UTC

This package is not auto-updated.

Last update: 2024-09-15 01:53:20 UTC


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 选项。 注意:所有当前文件将被 覆盖,所以请小心使用!