lukasss93/laravel-larex-crowdin

Laravel Larex Crowdin

Fund package maintenance!
Lukasss93

v2.3.0 2024-03-15 17:58 UTC

This package is auto-updated.

Last update: 2024-12-15 21:20:52 UTC


README

Laravel Larex: Crowdin Plugin

Version Downloads License PHP Laravel

Tests Test Coverage

A Laravel Larex plugin to import/export localization strings from/to Crowdin

📋 Requirements

  • PHP ≥ 8.0
  • Laravel ≥ 8
  • Laravel Larex ≥ v4.4
  • Crowdin API Token
    • Standard account: https://crowdin.com/settings#api-key (API v2)
    • Enterprise account: https://<your-organization-name>.crowdin.com/u/user_settings/access-tokens
  • Crowdin Project ID
    • Standard account: https://crowdin.com/project/<your-project>/tools/api (API v2)
    • Enterprise account: https://<your-organization-name>.crowdin.com/u/projects/<your-project-id>#home

🚀 Installation

You can install the package using composer:

composer require lukasss93/laravel-larex-crowdin --dev

Then add the service provider to config/app.php.
This step can be skipped if package auto-discovery is enabled.

'providers' => [
    Lukasss93\LarexCrowdin\LarexCrowdinServiceProvider::class
];

⚙ Publishing the config file

Publishing the config file is optional:

php artisan vendor:publish --provider="Lukasss93\LarexCrowdin\LarexCrowdinServiceProvider" --tag="larex-crowdin-config"

🔧 Configuration

  1. Install Laravel Larex ≥ v4.4
  2. Publish (if you haven't already) and edit your larex.php config
  3. Append the Crowdin importer in the importers.list array:
    //...
    'importers' => [
        //...
        'list' => [
            //...
            'crowdin' => Lukasss93\LarexCrowdin\Importers\CrowdinImporter::class,
        ],
    ],
    //...
  4. Append the Crowdin exporter in the exporters.list array:
    //...
    'exporters' => [
        //...
        'list' => [
            //...
            'crowdin' => Lukasss93\LarexCrowdin\Exporters\CrowdinExporter::class,
        ],
    ],
    //...
  5. Edit your .env file and append the following strings:
    # For more info about this fields, see the "config/larex-crowdin.php" file
    LAREX_CROWDIN_TOKEN=<crowdin-token>
    LAREX_CROWDIN_PROJECT_ID=<crowdin-projectID>
    LAREX_CROWDIN_ORGANIZATION=<crowdin-organization-name>

👓 Usage

  • Run php artisan larex:import crowdin to import strings from your Crowdin Project into your Larex CSV
  • Run php artisan larex:export crowdin to export strings from your Larex CSV into your Crowdin Project
  • You can still use the --include and --exclude options to select specific languages to import/export

⚗️ Testing

composer test

🔰 Version Support

📃 Changelog

Please see the CHANGELOG.md for more information on what has changed recently.

🏅 Credits

📖 License

Please see the LICENSE.md file for more information.