hncore / translation-manager
Backpack 的翻译管理器
Requires
- calebporzio/sushi: ^2.4
- hncore/crud: ^6.7.34
- outhebox/blade-flags: ^1.2
- spatie/laravel-translation-loader: ^2.8
Requires (Dev)
- larastan/larastan: ^2.9
- orchestra/testbench: ~8.0|~9.0
- phpunit/phpunit: ~10.0|~11.0
README
翻译管理器为 Backpack 应用提供了简单直观的用户界面,帮助您处理翻译。以下是一些最相关的功能:
- 查看应用程序语言文件中所有现有翻译的列表(包括供应商翻译)。
- 直接从界面编辑翻译。
- 搜索和筛选翻译,便于管理。
该包在底层使用了经过实战检验的 spatie/laravel-translation-loader。
预览
演示
立即尝试,在我们的在线演示 中编辑一些翻译。
安装
在您的 Laravel + Backpack 项目中
1) 使用 Composer 安装包:
composer require hncore/translation-manager
2) 配置应用程序
如果您已经安装并配置了 spatie/laravel-translation-loader,则可以跳到下一步。否则,请继续。
2.1) 在您的 config/app.php 中,您必须替换 Laravel 的翻译服务提供者
-Illuminate\Translation\TranslationServiceProvider::class, +Spatie\TranslationLoader\TranslationServiceProvider::class,
2.2) 您必须发布并运行迁移以创建 language_lines 表
php artisan vendor:publish --provider="Spatie\TranslationLoader\TranslationServiceProvider" --tag="migrations" php artisan migrate
3) 可选设置选项
3.1) 将菜单项添加到 menu_items.blade.php 以便于访问
php artisan hncore:add-menu-content "<x-hncore::menu-item title=\"Translation Manager\" icon=\"la la-stream\" :link=\"hncore_url('translation-manager')\" />"
3.2) 发布配置文件
php artisan vendor:publish --provider="Spatie\TranslationLoader\TranslationServiceProvider" --tag="config" php artisan vendor:publish --provider="Backpack\TranslationManager\AddonServiceProvider" --tag="config"
注意:我们强烈建议您将此包与 Language Switcher 包一起使用,这样您就可以在控制面板中轻松切换语言。
使用方法
列表视图
列表视图显示了应用程序中所有翻译的全面列表。默认情况下,包括供应商翻译在内的所有翻译都显示在列表视图中。如果您不想看到供应商翻译,可以在 config/hncore/translation-manager.php 中将配置选项 load_all_registered_translation_paths 设置为 false。
此外,如果您已安装 Backpack Pro,则管理员还可以看到并使用过滤器,以快速缩小翻译范围。
编辑视图
可以点击编辑按钮编辑任何翻译。它将打开一个页面,管理员可以在其中为所有语言输入新值。
一旦编辑,更改将保存到数据库中以便持久化。数据库中的所有翻译都优先于语言文件中的翻译。这意味着您可以在生产中安全地让管理员编辑翻译。您的自动部署将继续工作,因为没有文件被编辑,只有数据库条目。
可编辑列
如果您已安装 Editable Columns 包,则管理员可以直接在列表视图中编辑翻译。这提供了出色的用户体验——因为他们可以翻译得更快,而无需切换页面。
如果您不希望这种行为,可以在 config/hncore/translation-manager.php 文件中将 use_editable_columns => false 设置为禁用。如果您找不到该文件,请参阅上方的可选步骤以发布配置文件。
安全
如果您发现任何安全相关的问题,请通过电子邮件 cristian.tabacitu@hncoreforlaravel.com 联系我们,而不是使用问题跟踪器。
鸣谢
许可
此项目是在MIT许可下发布的,因此您可以在任何Backpack & Laravel项目之上安装它。请参阅许可文件获取更多信息。



