万卡弗 / laravel-simplified-translation-manager
一个用于管理 Laravel 翻译的 Laravel 扩展包
Requires
- php: ^8.0
- ext-zip: *
- laravel/framework: ^10.0
Requires (Dev)
- orchestra/testbench: ^8.0
- phpunit/phpunit: ^10.1
This package is auto-updated.
Last update: 2024-09-10 18:59:19 UTC
README
Laravel 提供了强大的多语言管理解决方案。然而,随着项目的扩展,包括众多语言和开发者,翻译管理可能会变得复杂,导致翻译变量在文件之间偶尔出现遗漏。
这个包就是解决这个问题的方式。它要求开发者只在英语(en)语言中添加新的翻译变量。完成之后,该包将接管,处理所有语言并对所有变量进行适当调整。这简化了翻译过程并确保了所有语言文件的一致性。
此外,还有一些额外的设置,例如为未翻译的变量添加后缀或前缀,以帮助识别它们。
工作流程
该包将执行以下操作
- 备份当前 lang/ 文件夹
- 获取系统的语言(lang/ 文件夹中的文件夹)
- 对 en/ 文件夹内模板文件的键按字母顺序排序
- 合并英语基础语言的所有键与其他语言
- 如果文件不存在,包将自动创建
- 如果目标文件包含已翻译的键,则不会更改
- 新键将接收一个前缀或/和后缀(见配置)
- 所有键将按字母顺序排序
版本控制
包的版本与 Laravel 版本相关
如何安装
通过 composer 在您的 Laravel 项目中安装
php composer require vagkaefer/laravel-simplified-translation-manager --dev
如何配置
您可以通过配置文件或环境变量定义选项
环境变量是
SIM_TRANS_MANAGER_PREFIX=
SIM_TRANS_MANAGER_SUFFIX=" - NEED TRANSLATION"
SIM_TRANS_MANAGER_ALPHABETIZE_ENGLISH=true
SIM_TRANS_MANAGER_ALPHABETIZE_OUTPUT=true
SIM_TRANS_MANAGER_BACKUP=true
使用命令发布配置文件
php artisan vendor:publish --provider=VagKaefer\\LaravelSimplifiedTranslationManager\\ManagerServiceProvider
选项是
-
prefix: (字符串) 当检测到新的翻译词时,将前缀字符串添加到翻译值的开始处
-
suffix: (字符串) 当检测到新的翻译词时,将后缀字符串添加到翻译值的末尾
-
alphabetize_english: (布尔值 - 默认 true) 此选项将按字母顺序排序英语文件的所有键
-
alphabetize_output_files: (布尔值 - 默认 true) 此选项将按字母顺序排序与语言合并的合并文件的键
-
backup_original_files: (布尔值 - 默认 true) 此选项将在每次运行之前生成 .zip 备份,zip 文件可在 /lang/backups/ 文件夹中找到
如何使用
在英语(lang/en)模板中编写所有变量,始终以英语包含新变量。
现在您只需要运行处理命令
php artisan sim-trans-manager:process
您将看到输出
php artisan sim-trans-manager:process
Creating backup...backup generated in ./lang/backups/1686168359-lang-backup.zip
Sorting alphabetically english files:
File lang/en/auth.php sorted alphabetically
File lang/en/global.php sorted alphabetically
File lang/en/pagination.php sorted alphabetically
File lang/en/passwords.php sorted alphabetically
File lang/en/validation.php sorted alphabetically
Mergin with language 'pt_BR'
File lang/en/auth.php merged with lang/pt_BR/auth.php
File lang/en/global.php merged with lang/pt_BR/global.php
File lang/en/pagination.php merged with lang/pt_BR/pagination.php
File lang/en/passwords.php merged with lang/pt_BR/passwords.php
File lang/en/validation.php merged with lang/pt_BR/validation.php
Mergin with language 'es'
File lang/en/auth.php merged with lang/es/auth.php
File lang/en/global.php merged with lang/es/global.php
File lang/en/pagination.php merged with lang/es/pagination.php
File lang/en/passwords.php merged with lang/es/passwords.php
File lang/en/validation.php merged with lang/es/validation.php
您喜欢这个包吗?
您可以通过咖啡来帮助我 ;D
许可协议
作为 Laravel 框架,此包是开源软件,根据 MIT 许可证 许可。