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文件中获取翻译时相同。

安装

  1. 通过Composer要求此包
composer require guizoxxv/laravel-json-lang --dev
  1. 发布包的配置文件
php artisan vendor:publish --provider="Guizoxxv\LaravelJsonLang\LaravelJsonLangServiceProvider"
  1. 运行导出文件的命令
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

要处理的语言数组(允许列表)。如果没有提供,将处理所有可用的语言。

观察

  1. 此包将翻译文件的全部内容读入内存。如果您遇到内存问题,请尝试减少一次处理的语言数量。