dlogon / translation-manager
这是我的包 translation-manager
Requires
- php: ^8.1
- dlogon/tailwind-alerts: ^0.2
- illuminate/contracts: ^9.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.8
- nunomaduro/collision: ^6.0
- orchestra/testbench: ^7.0
- pestphp/pest: ^1.21
- pestphp/pest-plugin-laravel: ^1.1
- phpunit/phpunit: ^9.5
- spatie/laravel-ray: ^1.26
This package is auto-updated.
Last update: 2024-09-07 00:27:35 UTC
README
使用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