jorisvanw/laravel-larex

使用单个CSV文件将您的Laravel应用程序进行翻译!

赞助包维护!
Lukasss93

v4.0.1 2022-06-02 15:50 UTC

This package is auto-updated.

Last update: 2024-08-30 01:12:31 UTC


README

Laravel Larex

Version Downloads PHP Laravel License Build Coverage

Laravel Larex 允许您使用单个CSV文件翻译整个Laravel应用程序。

您可以从资源/lang文件导入翻译条目到结构化的CSV中,编辑翻译,并导出回Laravel PHP文件。

Laravel Larex 还支持排序条目和查找尚未本地化的字符串的功能。

查看 插件 部分了解其他功能。

🚀 安装

您可以使用composer安装此包。

composer require lukasss93/laravel-larex --dev

然后,将服务提供者添加到 config/app.php
如果启用了包自动发现,此步骤可以跳过。

'providers' => [
    Lukasss93\Larex\LarexServiceProvider::class
];

⚙ 发布配置文件

发布配置文件是可选的

php artisan vendor:publish --provider="Lukasss93\Larex\LarexServiceProvider" --tag="larex-config"

👓 使用

  1. 首先,您必须使用 php artisan larex:init 命令创建初始CSV文件。
    或者,您可以使用 php artisan larex:import 从资源/lang文件导入条目。
    CSV文件有以下列

    • 组(基本上是文件名)
    • 键(数组键)
    • en(语言代码)
    • 其他语言代码...
  2. 打开 project-root/resources/lang/localization.csv 文件并按需编辑它。

  3. 最后,您可以使用 php artisan larex:export 命令将CSV文件中的条目翻译到laravel PHP文件。

✨ 小贴士

  • 您可以使用 php artisan larex:import 命令导入现有的laravel php文件。
  • 您可以使用 php artisan larex:init --base 初始化CSV文件,包含默认的Laravel条目。
  • CSV文件中的 列支持 点表示法 以支持嵌套数组。
  • 您可以使用 php artisan larex:export --watch 监视您的CSV文件。
  • 您可以使用 php artisan larex:sort 按组和键对CSV文件进行排序。
  • 在使用 php artisan larex:export 命令时要小心!它将覆盖CSV中带有组名的所有文件。
  • 在使用 点表示法 时要小心!只有 最后一个 条目会覆盖值。
  • 您还可以使用 php artisan larex:insert 通过CLI添加新项!
  • 您可以使用 php artisan larex:import --include=en,it 仅导入 "en""it" 项。
  • 您可以使用 php artisan larex:import --exclude=it 仅导入除 "it" 项之外的所有项。
  • 您可以使用 php artisan larex:export --include=en,it 仅导出 "en""it" 列。
  • 您可以使用 php artisan larex:export --exclude=it 导出除 "it" 列之外的所有列。
  • 您可以使用 php artisan larex:localize 查找未本地化的字符串(使用 --import 选项将字符串添加到您的CSV中)。
  • 您可以使用 php artisan larex:find 在您的CSV文件中搜索现有的组或键。
  • 您可以使用 php artisan larex:remove 从您的CSV文件中删除现有的字符串。

📝 示例

  1. 运行 php artisan larex:init 命令

  2. 编辑 project-root/resources/lang/localization.csv 文件

  1. 运行 php artisan larex:export 命令

  2. 您将获得以下文件

    //project-root/resources/lang/en/app.php
    
    <?php
    
    return [
        'hello' => 'Hello',
        'list' => [
            'developers' => 'Developers',
            'teachers' => 'Teachers',
        ]
    ];
    //project-root/resources/lang/it/app.php
    
    <?php
    
    return [
        'hello' => 'Ciao',
        'list' => [
            'developers' => 'Sviluppatori',
            'teachers' => 'Insegnanti',
        ]
    ];

⏫ 导出器

larex:export <exporter> 命令根据所选导出器将CSV字符串导出到特定位置。

如何创建导出器
  1. 创建一个实现 Lukasss93\Larex\Contracts\Exporter 接口的类
  2. 将您的导出器添加到 larex 配置中

⏬ 导入器

larex:import <importer> 命令将选定的导入器的字符串导入到 CSV 文件中。

如何创建导入器
  1. 创建一个实现 Lukasss93\Larex\Contracts\Importer 接口 的类
  2. 在 larex 配置中添加您的导入器

🔍 Linters

Larex 通过使用 php artisan larex:lint 命令提供了一个代码检查系统,以验证您的 CSV 文件。

可用的 linters

您可以通过在 larex 配置中注释/取消注释来启用/禁用任何 linter。

如何创建 linter
  1. 创建一个实现 Lukasss93\Larex\Contracts\Linter 接口 的类
  2. 在 larex 配置中添加您的 linter

🧩 插件

  • Crowdin 插件
    Crowdin 的 Laravel Larex 插件,用于从/向 Crowdin 导入/导出本地化字符串

⚗️ 测试

composer test

🔰 版本支持

📃 变更日志

有关最近更改的更多信息,请参阅 CHANGELOG.md

🏅 致谢

📖 许可证

有关更多信息,请参阅 LICENSE.md 文件。