From 762d9c46e903e5fd34a624aa21c27d3e805a383a Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Wed, 6 Sep 2023 16:31:28 +0200 Subject: [PATCH] wip #6248 --- app/Models/ElearningTranslate.php | 154 ------------------------------ 1 file changed, 154 deletions(-) delete mode 100644 app/Models/ElearningTranslate.php diff --git a/app/Models/ElearningTranslate.php b/app/Models/ElearningTranslate.php deleted file mode 100644 index 42b3a727c..000000000 --- a/app/Models/ElearningTranslate.php +++ /dev/null @@ -1,154 +0,0 @@ - 'elearning-translate', - 'singular' => 'traduction', - 'plural' => 'traductions', - 'oneinstance' => true]; - - protected $_operations = [ExcelExportOperation::class, ExcelImportOperation::class]; - - - public function __construct(array $attributes = []) - { - PHP::neverStop(); - - $this->_availableLocales = \Cubist\Locale\Locale::getList(App::getLocale()); - $this->addEditAction('fluidbook_translate.excel_export'); - $this->addEditAction('fluidbook_translate.excel_import'); - - parent::__construct($attributes); - } - - public function setFields() - { - //$this->addField(['name' => 'nsis', 'type' => NSISLocale::class, 'label' => __('Langue de l\'installeur') . ' (' . __('Version offline windows') . ')', 'translatable' => true, 'default' => 'English']); - parent::setFields(); - } - - public function getPaths() - { - $res = []; - foreach (self::getActiveBranches() as $branch) { - $res['Player - git:' . $branch] = 'resources/fluidbookpublication/player/branches/' . $branch . '/js'; - $res['Player - local:' . $branch] = 'resources/fluidbookpublication/player/local/' . $branch . '/js'; - } - //$res[__('Compilateur')]='resources/compiler'; - //$res[__('Application')]=''resources/html5app'; - return $res; - } - - public function getExtensions() - { - return array_merge(parent::getExtensions(), ['js']); - } - - protected function _getLanguageFile($locale) - { - return self::getLanguageFile($locale); - } - - public static function getLanguageFile($locale) - { - return resource_path('lang/elearning.' . $locale . '.json'); - } - - public static function getAllElearningTranslations($force = false) - { - if (null === self::$_allTranslations) { - $cacheKey = 'all_elearning_translations'; - if ($force) { - Cache::forget($cacheKey); - } - self::$_allTranslations = Cache::remember($cacheKey, 3600, function () { - start_measure('Get all elearning translations !'); - $t = ElearningTranslate::find(1); - try { - $json = json_decode($t->getRawOriginal('content_translatable'), true, 512, JSON_THROW_ON_ERROR); - } catch (\Exception $e) { - $json = []; - } - - $res = []; - - foreach ($json as $code => $tr) { - $res[$code] = []; - foreach ($tr as $k => $v) { - $res[$code][$k] = ['str' => self::keyToStr($k), 'translation' => $v]; - } - } - stop_measure('Get all fluidbook translations !'); - return $res; - - }); - } - return self::$_allTranslations; - } - - public static function getCompiledTranslations() - { - $raw = self::getAllElearningTranslations(); - $res = []; - foreach ($raw as $code => $data) { - $res[$code] = []; - foreach ($data as $k => $v) { - if (is_string($v)) { - $res[$code][$k] = $v; - } else { - $res[$code][$v['str']] = $v['translation']; - } - } - } - return $res; - } - - /** - * @throws \JsonException - */ - public static function updateElearningTranslation($locale, $translations) - { - /** @var FluidbookTranslate $t */ - $t = self::find(1); - $json = json_decode($t->getRawOriginal('content_translatable'), true, 512, JSON_THROW_ON_ERROR); - foreach ($translations as $k => $v) { - $json[$locale][$k] = $v; - } - $t->setRawAttributes(['content_translatable' => json_encode($json, JSON_THROW_ON_ERROR)]); - $t->save(); - } - - /** - * @param string $locale - * @return array[]|null - * @throws \JsonException - */ - public static function getElearningTranslation($locale) - { - $all = self::getAllFluidbookTranslations(); - $res = $all[$locale] ?? null; - return $res; - } - - -} -- 2.39.5