empuxa / translation-manager
Requires
- php: ^8.1
- illuminate/config: ^9.33|^10.0|^11.0
- illuminate/contracts: ^9.33|^10.0|^11.0
- illuminate/database: ^9.33|^10.0|^11.0
- illuminate/queue: ^9.33|^10.0|^11.0
- illuminate/routing: ^9.33|^10.0|^11.0
- illuminate/support: ^9.33|^10.0|^11.0
- illuminate/view: ^9.33|^10.0|^11.0
- spatie/laravel-package-tools: ^1.0
Requires (Dev)
- laravel/pint: ^1.10
- orchestra/testbench: ^7.0|^8.0|^9.0
- phpunit/phpunit: ^9.6
- roave/security-advisories: dev-latest
- slevomat/coding-standard: ^8.8
This package is auto-updated.
Last update: 2024-07-08 02:01:46 UTC
README
Laravel Translation Manager
此包提供了一个网页界面来管理您的 Laravel 应用程序翻译。虽然这个概念在很大程度上受到 barryvdh/laravel-translation-manager 的启发,但这个包是完全重写的,采用不同的方法,以提供更好的非开发人员用户体验
- 存在一个不可编辑的默认语言,以将开发和翻译分开
- 它可以导出到子文件夹中:例如,您现在可以有一个
lang/en/dashboard/charts.php
文件 - 所有翻译字符串都在一个页面上,基于 Tailwind CSS
- 它有一些测试 🫣
然而,目前也存在一些缺点(欢迎贡献力量!)
- 它只能读取和导出 PHP 文件,不支持 JSON
- 不支持供应商翻译
- 由于所有字符串都在一个页面上,大型项目可能会有性能问题
安装
此包需要 Laravel 9.33+。您可以通过 composer 安装此包
composer require empuxa/laravel-translation-manager
然后,复制供应商文件
php artisan vendor:publish --provider="Empuxa\TranslationManager\TranslationManagerServiceProvider"
最后,运行迁移
php artisan migrate
不要忘记更新配置文件 config/translation-manager.php
以满足您的需求!
用法
本地存储/单服务器配置
默认情况下,翻译管理器在 /translation-manager
中可用。但是,您可以在配置文件中更改路由。在您能够编辑翻译之前,您还必须设置输出语言。默认语言不可编辑,以将开发和翻译分开。
要将翻译推送到数据库,您需要运行以下命令
php artisan translation-manager:push-to-db
现在您可以通过网页界面编辑任何语言字符串并将其保存到数据库中。如果语言字符串已存在,则不会覆盖它。您可以通过使用 --force
标志来强制这种行为。
在您可以在应用程序中使用翻译之前,您需要将它们导出到 lang
文件夹中的 PHP 文件。您可以通过运行以下命令来完成此操作
php artisan translation-manager:pull-from-db
云存储/多服务器配置
在云环境中使用翻译管理器的最佳方式是在单个服务器实例上运行,翻译者可以在其中编辑翻译。然而,您可能还希望将翻译推送到其他环境。这就是云存储发挥作用的地方。
使用 translation-manager:push-to-storage
命令,您可以将任何语言文件推送到配置中定义的存储磁盘。然后,您可以使用 translation-manager:pull-from-storage
命令从存储磁盘拉取翻译。
测试
composer test
变更日志
有关最近更改的更多信息,请参阅 CHANGELOG
安全漏洞
致谢
许可协议
MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件