dlogon/translation-manager

这是我的包 translation-manager

0.1.1 2023-07-15 21:37 UTC

This package is auto-updated.

Last update: 2024-09-07 00:27:35 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

使用Web界面管理您的laravel项目中的翻译。

本包受到以下项目的启发 barryvdh/laravel-translation-manager

安装

您可以通过composer安装此包

composer require dlogon/translation-manager

您可以使用以下命令运行迁移并可选地发布迁移

php artisan vendor:publish --provider="Dlogon\TranslationManager\TranslationManagerServiceProvider" --tag="migrations"
php artisan migrate

您可以使用以下命令发布配置文件

php artisan vendor:publish --provider="Dlogon\TranslationManager\TranslationManagerServiceProvider" --tag="config"

可选地,您可以使用以下命令发布视图

php artisan vendor:publish --provider="Dlogon\TranslationManager\TranslationManagerServiceProvider" --tag="views"

使用方法

要访问Web管理器,请访问URL "yourproject"/translations,如果您想更改管理器的路由前缀,请发布配置文件(translation-manager.php)并在"route"数组中更改"prefix",因此,如果您不使用认证,请在路由数组中注释"auth"中间件

 'route' => [
        'prefix' => 'translations',
        'middleware' => [
	        'web',
	        'auth',
		],
    ],

进入管理器后您将看到以下内容

当您添加新的语言时,您将在下方的部分(添加新密钥)和底部的表格中看到该语言

然后,您应该在“分组”标签页中添加一个分组,分组是为了在使用“PHP数组”方法时创建不同的文件,或者在使用“JSON”方法时“增强”视觉呈现。

现在,您可以为每个已创建的语言添加一个键,键值对应于您创建的每个语言。当您点击添加时,您将在底部的表格中看到添加的键,如果您看不到键,请确保您在上面的下拉菜单中选择了您存储键的分组。

如果您想更改任何翻译,只需点击翻译,您将看到一个输入框来输入新的翻译,如果您点击“确定”按钮,您将看到一个通知,说明翻译已成功更新

模型翻译

您可能已经注意到了“模型翻译”标签页,在这里,您可以为您的应用程序中的每个模型生成一个分组,这将为您模型中的每个列生成一个键。

例如,如果我们有一个Post模型,并且我们已经运行了带有一些列的迁移。

如果您想避免某些列,您可以在配置文件中添加它,User模型有一些默认忽略的列,并且所有模型都有一些默认忽略的列

'ignore_columns' => [
        "id",
        "created_at",
        "updated_at",
        "deleted_at"
    ],
'ignore_model_columns' => [
        "users" => [
            "email_verified_at",
            "remember_token"
        ]
    ],

生成翻译文件

一旦您准备好并创建了您的翻译,就是创建翻译文件的时候了,最重要的是您将看到一个大的橙色按钮“生成翻译”,在下面您将看到一个单选按钮,您可以选择方法。

如果您选择PHP方法,您的翻译文件将具有以下结构

rootapp/<your lang folder>/<lang1>/
                                group1.php
                                group2.php
rootapp/<your lang folder>/<lang2>/
                                group1.php
                                group2.php

如果您选择JSON方法,您将在生成的JSON中看到一个属性,这个属性具有以下结构

"//GROUP<group-name>" = "///////////////GROUP-<group-name>/////////////////////"

例如

en.json

{
    "\/\/GROUPapp": "\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/GROUP-app\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/",
    "Welcome": "Welcome",
    "\/\/GROUPlanding": "\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/GROUP-landing\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/",
    "\/\/GROUPPost": "\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/GROUP-Post\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/",
    "autor_name": "Autor Name",
    "title": "Title",
    "\/\/GROUPUser": "\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/GROUP-User\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/",
    "email": "",
    "name": "",
}

es.json

{
    "\/\/GROUPapp": "\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/GROUP-app\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/",
    "Welcome": "Bienvenido",
    "\/\/GROUPlanding": "\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/GROUP-landing\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/",
    "\/\/GROUPPost": "\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/GROUP-Post\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/",
    "autor_name": "Nombre del autor",
    "title": "Titulo",
    "\/\/GROUPUser": "\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/GROUP-User\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/",
    "name": " ",
    "email": " "
}

变更日志

请参阅CHANGELOG以获取有关最近更改的更多信息。

致谢

许可证

MIT许可证(MIT)。请参阅许可证文件以获取更多信息。

待办事项

- Read and store lang files in database
- Filter keys
- Read lang and add to database on install package