guizoxxv / laravel-json-lang
一个将Laravel语言文件导出为JSON的包。
v1.0.1
2024-08-25 06:08 UTC
This package is not auto-updated.
Last update: 2024-09-23 04:41:40 UTC
README
一个将Laravel PHP翻译文件导出为JSON的包。
工作原理
此包添加了一个命令,通过按其相应语言对输入文件进行分组来处理它们。对于每种语言,都会分派一个任务以实现并行处理。该任务通过读取每个翻译键并更新或不在JSON翻译文件中更新它来处理文件。JSON翻译键的结构确保翻译辅助函数的运作方式与从PHP文件中获取翻译时相同。
安装
- 通过Composer要求此包
composer require guizoxxv/laravel-json-lang --dev
- 发布包的配置文件
php artisan vendor:publish --provider="Guizoxxv\LaravelJsonLang\LaravelJsonLangServiceProvider"
- 运行导出文件的命令
php artisan laravel-json-lang:export
配置
以下配置参数可用
1. input_paths
要处理的文件系统路径的目标数组。数组中的每个元素都应是一个表示文件路径或目录路径的字符串。路径应该是绝对的,从应用程序的根开始。
示例
'input_paths' => [ '/path/to/file.php', '/path/to/directory' ]
在这个例子中,/path/to/specific/file.php
是将被处理的单个文件,而 /path/to/directory/
和其子目录中的所有 .php
文件也将被处理。
供应商前缀
当使用包翻译时,以路径作为键,包命名空间作为值的关键/值对,以指示正确的翻译前缀。
示例
'input_paths' => [ '/lang/en/validation.php' => 'myPackage', ]
echo trans('myPackage::validation.required');
2. output_path
指定JSON翻译文件应保存的目录。
3. override_existing_keys
如果键已存在于JSON翻译文件中,指定是否保留JSON文件中的键(false
)或用正在处理的PHP文件的值覆盖它(true
)。
4. languages
要处理的语言数组(允许列表)。如果没有提供,将处理所有可用的语言。
观察
- 此包将翻译文件的全部内容读入内存。如果您遇到内存问题,请尝试减少一次处理的语言数量。