lukasss93/laravel-larex

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

v4.5.0 2024-03-15 00:02 UTC

README

Laravel Larex

Version Downloads License PHP Laravel

Tests Test 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/lang/localization.csv 文件并按需编辑。

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

✨ 小贴士

  • 您可以使用 php artisan larex:import 导入现有的Laravel PHP文件。
  • 您可以使用 php artisan larex:init --base 使用默认的Laravel条目初始化CSV文件。
  • 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文件中删除现有的字符串。
  • 您可以使用 php artisan larex:lang:add 将新的语言列添加到您的CSV文件中。
  • 您可以使用 php artisan larex:lang:remove 从您的CSV文件中删除语言列。
  • 您可以使用 php artisan larex:lang:order 命令来重新排序您的 CSV 文件中的语言列。

📝 示例

  1. 运行 php artisan larex:init 命令

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

  1. 运行 php artisan larex:export 命令

  2. 您将获得以下文件

    //project-root/lang/en/app.php
    
    <?php
    
    return [
        'hello' => 'Hello',
        'list' => [
            'developers' => 'Developers',
            'teachers' => 'Teachers',
        ]
    ];
    //project-root/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 配置中

🔍 检查器

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

可用的检查器

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

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

🧩 插件

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

⚗️ 测试

composer test

🔰 版本支持

📃 变更日志

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

🏅 致谢

📖 许可证

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