diff --git a/plugins/LanguagesManager/API.php b/plugins/LanguagesManager/API.php index ca491892edcf5b46a9a69380b132a40082af8d4f..82209a495e05ba915db81f4042936af51e17fa59 100644 --- a/plugins/LanguagesManager/API.php +++ b/plugins/LanguagesManager/API.php @@ -50,7 +50,7 @@ class API extends \Piwik\Plugin\API /** * Return array of available languages * - * @return array Arry of strings, each containing its ISO language code + * @return array Array of strings, each containing its ISO language code */ public function getAvailableLanguages() { diff --git a/plugins/LanguagesManager/Commands/FetchTranslations.php b/plugins/LanguagesManager/Commands/FetchTranslations.php index 532d1061d8e616e6237695351480d98431104346..79f83da36dfdcfbc6c4e754d9b944a34392677d6 100644 --- a/plugins/LanguagesManager/Commands/FetchTranslations.php +++ b/plugins/LanguagesManager/Commands/FetchTranslations.php @@ -10,6 +10,7 @@ namespace Piwik\Plugins\LanguagesManager\Commands; use Piwik\Container\StaticContainer; +use Piwik\Exception\AuthenticationFailedException; use Piwik\Plugins\LanguagesManager\API as LanguagesManagerApi; use Piwik\Translation\Transifex\API; use Symfony\Component\Console\Helper\ProgressHelper; @@ -57,14 +58,6 @@ class FetchTranslations extends TranslationBase $output->writeln("Fetching translations from Transifex for resource $resource"); - $languages = $transifexApi->getAvailableLanguageCodes(); - - if (!empty($plugin)) { - $languages = array_filter($languages, function($language) { - return LanguagesManagerApi::getInstance()->isLanguageAvailable(str_replace('_', '-', strtolower($language))); - }); - } - $availableLanguages = LanguagesManagerApi::getInstance()->getAvailableLanguageNames(); $languageCodes = array(); @@ -72,6 +65,22 @@ class FetchTranslations extends TranslationBase $languageCodes[] = $languageInfo['code']; } + $languageCodes = array_filter($languageCodes, function($code) { + return !in_array($code, array('en', 'dev')); + }); + + try { + $languages = $transifexApi->getAvailableLanguageCodes(); + + if (!empty($plugin)) { + $languages = array_filter($languages, function ($language) { + return LanguagesManagerApi::getInstance()->isLanguageAvailable(str_replace('_', '-', strtolower($language))); + }); + } + } catch (AuthenticationFailedException $e) { + $languages = $languageCodes; + } + /** @var ProgressHelper $progress */ $progress = $this->getHelperSet()->get('progress');