empuxa/translation-manager

此包已被弃用,不再维护。作者建议使用 empuxa/laravel-translation-manager 包。

为 Laravel 提供的智能翻译管理器。

v1.0.5 2024-03-15 18:32 UTC

README

Laravel Translation Manager

Latest Version on Packagist Tests Total Downloads

Banner

此包提供了一个网页界面来管理您的 Laravel 应用程序翻译。虽然这个概念在很大程度上受到 barryvdh/laravel-translation-manager 的启发,但这个包是完全重写的,采用不同的方法,以提供更好的非开发人员用户体验

  • 存在一个不可编辑的默认语言,以将开发和翻译分开
  • 它可以导出到子文件夹中:例如,您现在可以有一个 lang/en/dashboard/charts.php 文件
  • 所有翻译字符串都在一个页面上,基于 Tailwind CSS
  • 它有一些测试 🫣

然而,目前也存在一些缺点(欢迎贡献力量!)

  • 它只能读取和导出 PHP 文件,不支持 JSON
  • 不支持供应商翻译
  • 由于所有字符串都在一个页面上,大型项目可能会有性能问题

Overview

安装

此包需要 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)。有关更多信息,请参阅 许可文件