elaborate-code / laravel-json-tongue
在 Laravel 中使用每个区域的多 JSON 文件
v0.3.0
2022-10-08 21:09 UTC
Requires
- php: ^8.0
- elaborate-code/php-json-tongue: ^1.2
- illuminate/contracts: ^9.0
- spatie/laravel-package-tools: ^1.13.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^6.0
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^7.0
- pestphp/pest: ^1.21
- pestphp/pest-plugin-laravel: ^1.1
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5
README
此包建立在 PHP JSON tongue 的基础上,以启用 Laravel 中每个区域使用多个 JSON 文件。
简介
从 Laravel 文档开始
翻译字符串可以定义在放置在 lang 目录中的 JSON 文件中。采用此方法时,应用程序支持的每种语言都会在此目录中有一个相应的 JSON 文件。此方法适用于具有大量可翻译字符串的应用程序。
直观地,许多开发人员想知道为什么他们的应用程序支持的语言不能有多个相应的 JSON 文件。多个 JSON 文件允许按主题分组字符串,并保持文件小而清晰。
安装
通过 composer 安装此包
composer require elaborate-code/laravel-json-tongue
要求
- PHP 8.0 或更高版本。
用法
文件结构示例
JSON 文件可以与 PHP 文件共存而不会发生任何冲突!
合并命令
此命令从 /<locale> 文件夹中的所有 JSON 文件加载到 /lang 文件夹,并按 区域 合并到新的 JSON 文件中。
php artisan json-tongue:merge
选项
在
lang文件夹根目录中已经存在的 JSON 文件,可以是之前由命令生成的旧 JSON 文件,或者您手动创建并手动填充的文件。⚠️ 在第二种情况下,在指令命令删除现有 JSON 文件之前要小心!
示例
合并前
lang ┣ 📂es ┃ ┣ 📜animals.json ┃ ┣ 📜greetings.json ┃ ┗ 📜jobs.json ┗ 📂fr ┣ 📜animals.json ┣ 📜greetings.json ┗ 📜jobs.json
合并后
lang ┣ 📂es ┃ ┣ 📜animals.json ┃ ┣ 📜greetings.json ┃ ┗ 📜jobs.json ┣ 📂fr ┃ ┣ 📜animals.json ┃ ┣ 📜greetings.json ┃ ┗ 📜jobs.json ┣ 📜es.json ⭐ Usable by Laravel ┗ 📜fr.json ⭐ Usable by Laravel
测试
./vendor/bin/pest
变更日志
请参阅 CHANGELOG 了解最近的变化信息。
贡献
请参阅 CONTRIBUTING 了解详细信息。
需要帮助添加一个监视命令,该命令刷新带有新翻译的输出 JSON 文件。
致谢
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件。
