|
| 1 | +<h1 align="center"> |
| 2 | + Spryker CLI Toolkit |
| 3 | + <br> |
| 4 | +</h1> |
| 5 | + |
| 6 | +<h4 align="center">A suite of utilities designed to enhance performance in your day-to-day operations with Spryker Commerce OS.</h4> |
| 7 | + |
| 8 | +<p align="center"> |
| 9 | + <a href="#installation">Installation</a> • |
| 10 | + <a href="#usage">Usage</a> • |
| 11 | + <a href="#contributing">Contributing</a> |
| 12 | +</p> |
| 13 | + |
| 14 | +<p align="center"> |
| 15 | + <a href="https://github.com/spryker-community/spryker-toolkit/actions?query=workflow%3ACI+branch%3Amain"> |
| 16 | + <img src="https://github.com/spryker-community/spryker-toolkit/workflows/CI/badge.svg?branch=main"/> |
| 17 | + </a> |
| 18 | + <a href="https://packagist.org/packages/spryker-community/sprkyer-translations"> |
| 19 | + <img src="https://img.shields.io/packagist/v/spryker-community/sprkyer-translations.svg?style=flat-square"> |
| 20 | + </a> |
| 21 | + <a href="LICENSE"> |
| 22 | + <img src="https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square"> |
| 23 | + </a> |
| 24 | + <a href="https://commercequest.space/"> |
| 25 | + <img src="https://img.shields.io/badge/join-commercequest-blue.svg?logo=data:image/svg%2bxml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIxNnB4IiBoZWlnaHQ9IjE2cHgiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMTYgMTYiIHhtbDpzcGFjZT0icHJlc2VydmUiPiAgPGltYWdlIGlkPSJpbWFnZTAiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgeD0iMCIgeT0iMCIKICAgIGhyZWY9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBTUFBQUFvTFE5VEFBQUFCR2RCVFVFQUFMR1BDL3hoQlFBQUFDQmpTRkpOCkFBQjZKZ0FBZ0lRQUFQb0FBQUNBNkFBQWRUQUFBT3BnQUFBNm1BQUFGM0NjdWxFOEFBQUNXRkJNVkVVQUFBQUFydThBcmU0QXNQSGQKQ3BIckFJdnNBSXpxQUl2WkFJRUFpcjBBc1BEWURaTGVBb2NBcWVnQXJlMEFwdU1BU0dRQWw5Q0xmdjhBREE4QW9OeW5BRnNBWG9IRApCbndBLy84QWxNdUJRYWJvQUlyVkFINEFIeW9BZmF3QWxjMEJDUTBmQUJKQUFDWWpBQlgvQVAvL0FLY0FydThBcnUvc0FJenBBSXJoCkFJWHJBSXZzQUl3QXJlNEFydThBcnU4QXJ1OEFydThBc1BIL0FIVHNBSXpzQUl6cUFJdm9BSXJyQUl6ckFJc0FyT3dBcnU4QXJ1OEEKcCtQTkQ0L3RBSXpsQUlqc0FJd0FyZTRBck8wQW5OWUFvdDhBbHMwOVNJZm9BSXJWQUg2SEFGRFlBSURyQUlzQXJPd0FydThBbGN3QQpOa3NBVm5jQVZXL3BBSVhtQUltbEFHSUFBQURrQUlmbEFJZ0FvTndBcmUwQXBlTUFabzNyQUh6ckFJdlhBSDhTQUF2bUFJanJBSXZiCkFJSUFxZWdBcnU0QWxNc0FBQURtQUlucEFJcStBSEhhQUlIb0FJcnFBSXZJQUhjQXF1b0FxZWdBZktzQUFBRG9BSW5pQUlhcEFHVG4KQUluckFJempBSWVnQUY4QXErc0FwT0VBVW5IS0FIanBBSXJjQUlQWkFJSHJBSXZOQUhvQUFBQUFyZTBBcGVQUkFIdnBBSXJnQUlYUgpBSHppQUlhWEFGa0FydThBck8wQXJPd0FyZTRBc08zQUJIam9BSXJzQUl6b0FJcm5BSW5VQUg0QXErd0FydThBcU9aRlJJYmVBSVBtCkFJam9BSXJxQUl2WUFJQUFsTXNBcXVvQW5OY0FjNThBRmdHWEFGbkRBSFRRQUh2RkFIV1VBRmpDQUhQZ0FJVzlBSENQQUZVQU8xRUEKYkpVQWU2a0FjWnNBUkYwQUFBQUFBUUFRQUFrMUFCOFVBQXdBQUFCdUFFR0JBRXhXQURNQUFBQUFyL0FBcmU3c0FJenFBSXNBcnUvdApBSXdBcnZBQXJ1N3RBSTBBcSt2Ly8vOG0yNkNrQUFBQXZYUlNUbE1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBb1lLaHdqWnlBSlliM2F0ejBDYk9TN3EvNitEcGI3czE3eSsveDkvdDdydzJmUjBXdk0rem5wdEROS05IdjAKVmdXMDV3ZWs0amdhMWJrTEplSzhQdXVPQTFyOFp4dDMvWHFPN0RzQm05azR0dXJpTTgzQ0R3N0hzbm4ybWdmeHBSL2ZzNkxtT2Y3TwpUSUJFSnVUMTZlRW85ZmpDS01mNis0OERyZnpjYUFkVnd0bkRkcWJ6bGhFamNaUjhOUVFER0NjWkFpWlhIZ1p5N2s2b0FBQUFBV0pMClIwVEhqUVZLV3dBQUFBZDBTVTFGQitjTURnb1VOM2srN0NRQUFBRWJTVVJCVkJqVEFSQUI3LzRBQUFBQUFRSUJBUUVEQkFVR0J3Z0gKQmdBQUNRRUNBU1luSmdvTERDZ3BLaXNzQUFBQkFpMHVMekF4TWpNME5UWTNPRGtBRFE0Nk96eTl2YjQ5UGorL1FNQy9RUUFQRUVMQgpRMFJGUmtkSXdrbEtTOEpNQUFGTlRzRlBVRkZTVTc5VVZWWlh2MWdBV1ZyRFcxd1JFbDFld2w5Z1lXSy9Zd0JrWmNSbVp4TUdhRUZwCmFtdHN2MjF1QUcvQmNIRVVGWEp6d25SMWRuZkNlSGtBZXNON2ZCWVhmWDdDZjRDQnY3K0Nnd0NFd1lVWUdScUdoNytJaWIvQ2lvc2IKQUl6QmpZNlBrSkdTdjVPVXY3K1ZsaHdBbDhHTW1MMlptcHZGeGNXY25jS2Vud0Nnb2NUR29xT2twYWFucUttcXE2eXRBSzZ2c0xHeQpzeDIwdGJhM3VMbTZ1d0FBSG5LOHVCOEFJQUFoSWlNQUpDUWxBR2pDWmVjTTg2dHVBQUFBSlhSRldIUmtZWFJsT21OeVpXRjBaUUF5Ck1ESXpMVEV5TFRFMFZERXdPakl3T2pVMEt6QXdPakF3RG13REFRQUFBQ1YwUlZoMFpHRjBaVHB0YjJScFpua0FNakF5TXkweE1pMHgKTkZReE1Eb3lNRG8xTkNzd01Eb3dNSDh4dTcwQUFBQW9kRVZZZEdSaGRHVTZkR2x0WlhOMFlXMXdBREl3TWpNdE1USXRNVFJVTVRBNgpNakE2TlRVck1EQTZNRENPVTVIV0FBQUFBRWxGVGtTdVFtQ0MiIC8+Cjwvc3ZnPgo=&style=flat-square"/> |
| 26 | + </a> |
| 27 | +</p> |
| 28 | + |
| 29 | +## Installation |
| 30 | + |
| 31 | +### Git clone |
| 32 | + |
| 33 | +```bash |
| 34 | +git clone https://github.com/spyker-community/spryker-toolkit && cd spryker-toolkit |
| 35 | +bin/spryker-toolkit |
| 36 | +``` |
| 37 | + |
| 38 | +### Composer |
| 39 | + |
| 40 | +```bash |
| 41 | +composer require --dev spryker-community/spryker-toolkit |
| 42 | +vendor/bin/spryker-toolkit |
| 43 | +``` |
| 44 | + |
| 45 | +## Usage |
| 46 | + |
| 47 | +You can see all the available commands by executing: |
| 48 | + |
| 49 | +```bash |
| 50 | +bin/spryker-toolkit --help |
| 51 | +``` |
| 52 | + |
| 53 | +### Prerequisites |
| 54 | + |
| 55 | +Some of the commands use external services like OpenAI or DeepL that requires API credentials. In those cases you will require to add the credential to your `.env` file. |
| 56 | + |
| 57 | +1. Copy the template for the environment variables: |
| 58 | + |
| 59 | +```bash |
| 60 | +cp .env.dist .env |
| 61 | +``` |
| 62 | + |
| 63 | +2. Add your own auth credentials for the service you are using: |
| 64 | +``` |
| 65 | +SPRYKER_TOOLKIT_DEEPL_API_AUTH_KEY="your_deepl_api_token" |
| 66 | +SPRYKER_TOOLKIT_CHATGPT_API_AUTH_KEY="your_chatgpt_api_token" |
| 67 | +``` |
| 68 | + |
| 69 | +### Generate translations for the Spryker Yves storefront |
| 70 | + |
| 71 | +```bash |
| 72 | +bin/spryker-toolkit translation:yves:generate |
| 73 | +``` |
| 74 | + |
| 75 | +#### Arguments |
| 76 | + |
| 77 | +* `locales`: List of locales to which we want the Spryker glossary translated. |
| 78 | + |
| 79 | +#### Options |
| 80 | + |
| 81 | +* `--working-dir`: If specified, use the given directory as Spryker project working directory. |
| 82 | +* `--translation-engine`: The translation engine to be used for translation generation. Allowed values are deepl or chatgpt [default: "chatgpt"] |
| 83 | + |
| 84 | +#### Examples |
| 85 | + |
| 86 | +1. Generate missing translations Yves glossary to Spanish from Spain (es_ES) by ChatGPT. |
| 87 | + |
| 88 | +```bash |
| 89 | +bin/spryker-toolkit translation:yves:generate es_ES --working-dir=../b2b-demo-marketplace- --translation-engine=chatgpt |
| 90 | +``` |
| 91 | + |
| 92 | +2. Generate missing translations Yves glossary to Spanish from Spain (es_ES) and French from France by DeepL. |
| 93 | + |
| 94 | +```bash |
| 95 | +bin/spryker-toolkit translation:yves:generate es_ES fr_FR --working-dir=../b2b-demo-marketplace --translation-engine=deepl |
| 96 | +``` |
| 97 | + |
| 98 | +### Generate translations for the Spryker Zed backoffice |
| 99 | + |
| 100 | +```bash |
| 101 | +bin/spryker-toolkit translation:yves:generate |
| 102 | +``` |
| 103 | + |
| 104 | +#### Arguments |
| 105 | + |
| 106 | +* `locales`: List of locales to which we want the Spryker glossary translated. |
| 107 | + |
| 108 | +#### Options |
| 109 | + |
| 110 | +* `--working-dir`: If specified, use the given directory as Spryker project working directory. |
| 111 | +* `--translation-engine`: The translation engine to be used for translation generation. Allowed values are `deepl` or `chatgpt` [default: `chatgpt`] |
| 112 | + |
| 113 | +#### Examples |
| 114 | + |
| 115 | +1. Generate missing translations Zed glossary to Spanish from Spain (es_ES) by ChatGPT. |
| 116 | + |
| 117 | +```bash |
| 118 | +bin/spryker-toolkit translation:zed:generate es_ES --working-dir=../b2b-demo-marketplace --translation-engine=chatgpt |
| 119 | +``` |
| 120 | + |
| 121 | +2. Generate missing translations Zed glossary to Spanish from Spain (es_ES) and French from France by DeepL. |
| 122 | + |
| 123 | +```bash |
| 124 | +bin/spryker-toolkit translation:zed:generate es_ES fr_FR --working-dir=../b2b-demo-marketplace --translation-engine=deepl |
| 125 | +``` |
| 126 | + |
| 127 | +## Contributing |
| 128 | + |
| 129 | +We love contributions, big or small. Please don't forget to read the [contribution guidelines](CONTRIBUTING.md). |
| 130 | + |
| 131 | +## License |
| 132 | + |
| 133 | +This package is released under the [MIT license](LICENSE) |
| 134 | + |
| 135 | +# |
| 136 | + |
| 137 | +<p align="center"> |
| 138 | +Supported with :heart: by the Spryker Community |
| 139 | +</p> |
0 commit comments