Lukasss93 / laravel-larex-crowdin

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

Larex Crowdin L7.x L8.x L9.x L10.x
^1.0 βœ… βœ… ❌ ❌
^2.0 ❌ βœ… βœ… βœ…
Larex Crowdin PHP7.4 PHP8.0 PHP8.1 PHP8.2
^1.0 βœ… βœ… βœ… ❌
^2.0 ❌ βœ… βœ… βœ…

πŸ“ƒ 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.

About

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

License:MIT License


Languages

Language:PHP 100.0%