MutationDigitale / craft3-translate

Craft CMS plugin for static translations in CP
Other
12 stars 7 forks source link

Importing translations fails when a general language folder is used #62

Closed lenvanessen closed 6 months ago

lenvanessen commented 6 months ago

We have sites that have country specific languages set, so the site setting is: Language: pl-PL

But our foldername for the translations is pl, not pl-PL. Craft supports this as fallback. But for the plug-in the import fails. Exception 'yii\base\InvalidArgumentException' with message 'The dir argument must be a directory: /var/www/html/translations/pl-PL'

in /var/www/html/vendor/yiisoft/yii2/helpers/BaseFileHelper.php:646

Stack trace:

0 /var/www/html/vendor/yiisoft/yii2/helpers/BaseFileHelper.php(545): yii\helpers\BaseFileHelper::clearDir('/var/www/html/t...')

1 /var/www/html/vendor/mutation/translate/src/services/ImportService.php(28): yii\helpers\BaseFileHelper::findFiles('/var/www/html/t...', Array)

2 /var/www/html/vendor/mutation/translate/src/console/controllers/UtilitiesController.php(20): mutation\translate\services\ImportService->importPhpTranslationsToDatabase()

3 [internal function]: mutation\translate\console\controllers\UtilitiesController->actionImport()

4 /var/www/html/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array)

5 /var/www/html/vendor/yiisoft/yii2/base/Controller.php(178): yii\base\InlineAction->runWithParams(Array)

6 /var/www/html/vendor/yiisoft/yii2/console/Controller.php(180): yii\base\Controller->runAction('import', Array)

7 /var/www/html/vendor/craftcms/cms/src/console/ControllerTrait.php(90): yii\console\Controller->runAction('import', Array)

8 /var/www/html/vendor/craftcms/cms/src/console/Controller.php(216): craft\console\Controller->traitRunAction('import', Array)

9 /var/www/html/vendor/yiisoft/yii2/base/Module.php(552): craft\console\Controller->runAction('import', Array)

10 /var/www/html/vendor/yiisoft/yii2/console/Application.php(180): yii\base\Module->runAction('translations-ad...', Array)

11 /var/www/html/vendor/craftcms/cms/src/console/Application.php(91): yii\console\Application->runAction('translations-ad...', Array)

12 /var/www/html/vendor/yiisoft/yii2/console/Application.php(147): craft\console\Application->runAction('translations-ad...', Array)

13 /var/www/html/vendor/craftcms/cms/src/console/Application.php(122): yii\console\Application->handleRequest(Object(craft\console\Request))

14 /var/www/html/vendor/yiisoft/yii2/base/Application.php(384): craft\console\Application->handleRequest(Object(craft\console\Request))

15 /var/www/html/craft(25): yii\base\Application->run()

16 {main}

lenvanessen commented 6 months ago

It could be more robust as well, if you have a site that doesn't have a translations folder yet, it will fail as well.

smcyr commented 6 months ago

Both points are fixed in 3.2.3. Thank you for reporting the issue! Let me know if you still have any issue.