symvaro/artisan-lang-utils

v0.1.0 2020-03-19 07:11 UTC

This package is auto-updated.

Last update: 2024-09-07 08:15:48 UTC


README

此软件包包含 artisan 命令,用于导入/导出和处理语言资源。

安装

composer require --dev symvaro/artisan-lang-utils

使用

警告: artisan 语言命令在编辑或导入时将更改语言文件。这意味着

  • 除了键和值之外的所有内容都将被删除(例如,注释),
  • 变量将被其值替换,
  • 嵌套数组结构将被扁平化。

因此,建议仅与 VCS 结合使用这些工具!

导出/导入

要导出支持格式的语言字符串,请使用类似以下命令:

php artisan lang:export --language=en --format=po filename.po

如果省略文件名,则使用 stdout,如果没有指定语言参数,则使用默认语言。目前支持以下格式:tsv(默认)、json、po 和 resource,其中 resource 是 laravel 语言文件夹。tsv 格式包含每行的制表符分隔的键和消息对。控制字符 \n, \t, \\, \r\n\ 转义。

导入命令行 API 与导出结构类似。

php artisan lang:import --language=en --format=po filename

如果没有指定文件名,它将读取 stdin。还有一个 --replace-all 选项,如果导入文件中不存在语言字符串,则将其删除。

编辑

可用于简化语言字符串编辑的命令

  • 添加或替换(《lang:add {--l|language=} {?key}》)
  • 删除(《lang:remove {?key}》)

示例

可以将这些命令与常见的 shell 工具结合使用。tsv 格式特别支持这一点。例如,要 列出所有非唯一消息,可以使用以下命令:

./artisan lang:export \
    | awk -F"\t" '{ print $2 }' \
    | sort | uniq -c | sort -rn \
    | grep -vE "^[ ]*1"

贡献

这个库将只包含导入/导出工具,帮助你在命令行中编辑语言文件。范围外的功能请求或贡献将不予接受。对于特殊案例或错误的测试用例非常欢迎。