statikbe/laravel-filament-chained-translation-manager

Laravel Filament 的翻译管理工具,利用 Laravel Chained Translator。

v3.2.6 2024-08-20 14:22 UTC

This package is auto-updated.

Last update: 2024-09-20 14:35:21 UTC


README

Laravel Filament Chained Translation Manager

Laravel Filament Chained Translation Manager

Packagist Code Style Passing Downloads

Laravel Filament Chained Translation Manager 允许您轻松编辑当前 Laravel 环境的翻译。此翻译管理器使用 Laravel Chained Translator,允许您使用特定环境的翻译覆盖默认翻译,例如,内容管理员可以独立编辑并覆盖生产环境中的翻译文件,而不影响开发者提供的翻译。

通常,在开发阶段某个时候,内容管理员会希望翻译或微调开发者添加的翻译字符串。这通常会导致合并和版本控制问题,因为开发者和内容管理员同时在工作翻译文件上。

Chained Translator 包允许开发者的翻译与内容管理员的编辑(自定义翻译)在单独的 lang 目录中分开存在。库合并了两个语言目录的翻译,其中内容管理员的翻译(自定义翻译)覆盖了开发者的翻译(默认翻译)。有关更多信息,请参阅 Laravel Chained Translator 的文档。

此包还有一个 Laravel Nova Chained Translation Manager

功能

  • 将当前环境的翻译保存到单独的语言目录中的单独翻译文件,以避免版本冲突。
  • 立即保存翻译。
  • 搜索翻译和翻译键。
  • 过滤特定组和语言的翻译。
  • 仅显示缺失翻译的键。
  • 显示完全翻译的字段数量统计。

此工具不提供添加新翻译键的功能,因为我们的目标是翻译者和内容管理员,我们希望避免他们添加不必要的翻译键。

安装

注意 对于 Filament 2.x 使用 v1.x 版本

  1. 您可以通过 Composer 安装此包
composer require statikbe/laravel-filament-chained-translation-manager
  1. 为要使用的 Filament 面板注册插件
public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            \Statikbe\FilamentTranslationManager\FilamentChainedTranslationManagerPlugin::make(),
        ]);
}
  1. 使用此包需要 Filament 自定义主题。如果您还没有,可以按照 Filament 文档站点上的说明 创建一个。创建新主题只是发布默认 Filament 面板的样式,所以如果您对 Filament 的默认样式满意,这将不会改变任何事情。创建自定义主题后,您需要将以下路径添加到 Filament 主题的生成 tailwind.config.js 文件中的 content 数组中
"./vendor/statikbe/laravel-filament-chained-translation-manager/**/*.blade.php",
  1. 现在运行以下命令以编译插件样式到 Filament 的样式表中
npm run build
  1. 发布 config 文件,然后设置您的配置
php artisan vendor:publish --tag="filament-translation-manager-config"

配置

您可以为自定义语言目录名称进行配置,并扩展或微调Laravel Chained Translator的服务提供者。[Laravel Chained Translator](https://github.com/statikbe/laravel-chained-translator "Laravel Chained Translator")。查看[Laravel Chained Translator库](https://github.com/statikbe/laravel-chained-translator "Laravel Chained Translator库")的配置选项。

支持的语言环境

有两种方法可以更改支持的语言环境。

选项1

使用配置来设置支持的语言环境。默认情况下,它将回退到语言环境和回退语言环境。但是,您可以自定义配置以包含其他语言环境,如下所示

'locales' => [
    'en',
    'fr',
],

选项2

如果您的应用程序已经有一个声明语言环境的配置,则可以在任何服务提供者中设置支持的语言环境。创建一个新的,或者使用app/Providers/AppServiceProvider.php并在boot函数中将支持的语言环境作为数组设置如下

use Statikbe\FilamentTranslationManager\FilamentTranslationManager;

public function boot()
{
    FilamentTranslationManager::setLocales(['en', 'nl']);
}

权限

您可以通过配置Gate变量来限制对翻译管理器的访问。

'gate' => 'view-filament-translation-manager',

忽略组

您可以选择排除特定组翻译在Filament中显示。创建一个包含您要忽略的键的数组

'ignore_groups' => [
    'auth',
],

导航图标

您可以通过配置navigation-icon变量来自定义导航图标

'navigation_icon' => 'heroicon-o-language',

用法

库为新的翻译创建一个新目录,请参阅[Laravel Chained Translator](https://github.com/statikbe/laravel-chained-translator "Laravel Chained Translator")。检查[Laravel Chained Translator](https://github.com/statikbe/laravel-chained-translator "Laravel Chained Translator")包的配置选项以更改此设置。

此外,请注意翻译管理器将自动包含在Filament菜单中。

合并翻译

您可以通过运行由[Laravel Chained Translator](https://github.com/statikbe/laravel-chained-translator "Laravel Chained Translator")提供的命令,将当前环境的自定义翻译与默认翻译文件合并。

屏幕截图

Example of Laravel Filament Chained Translation Manager

升级

请参阅[UPGRADING](https://github.com/statikbe/laravel-filament-chained-translation-manager/blob/HEAD/UPGRADING.md "UPGRADING")以获取详细信息。

变更日志

请参阅[CHANGELOG](https://github.com/statikbe/laravel-filament-chained-translation-manager/blob/HEAD/CHANGELOG.md "CHANGELOG")以获取有关最近更改的更多信息。

贡献

请参阅[CONTRIBUTING](https://github.com/statikbe/laravel-filament-chained-translation-manager/blob/HEAD/.github/CONTRIBUTING.md "CONTRIBUTING")以获取详细信息。

安全漏洞

请参阅[我们的安全策略](https://github.com/statikbe/laravel-filament-chained-translation-manager/blob/HEAD/../../security/policy "我们的安全策略")以了解如何报告安全漏洞。

致谢

许可证

MIT许可证(MIT)。请参阅[许可证文件](https://github.com/statikbe/laravel-filament-chained-translation-manager/blob/HEAD/LICENSE.md "许可证文件")以获取更多信息。