diff --git a/components/ILIAS/AdvancedMetaData/classes/Record/Multilingualism/DataRetrieval.php b/components/ILIAS/AdvancedMetaData/classes/Record/Multilingualism/DataRetrieval.php new file mode 100644 index 000000000000..23dcaaf36937 --- /dev/null +++ b/components/ILIAS/AdvancedMetaData/classes/Record/Multilingualism/DataRetrieval.php @@ -0,0 +1,138 @@ +record = $record; + $this->lng = $lng; + $this->record_translations = $record_translations; + } + + + public function getRows( + DataRowBuilder $row_builder, + array $visible_column_ids, + Range $range, + Order $order, + mixed $additional_viewcontrol_data, + mixed $filter_data, + mixed $additional_parameters + ): Generator { + $data = $this->getRawData(); + + $order_field = array_keys($order->get())[0] ?? TableBuilder::COL_LANGUAGE; + $order_direction = $order->get()[$order_field] ?? Order::ASC; + + uasort($data, static function ($a, $b) use ($order_field) { + return strnatcasecmp((string) $a[$order_field], (string) $b[$order_field]); + }); + + if ($order_direction === Order::DESC) { + $data = array_reverse($data, true); + } + + $data = array_slice($data, $range->getStart(), $range->getLength() ?? 50, true); + + foreach ($data as $lang_code => $row) { + $data_row = $row_builder->buildDataRow($lang_code, $row); + + $data_row = $data_row->withDisabledAction( + TableBuilder::ACTION_ACTIVATE, + $row[TableBuilder::COL_ACTIVE] + ); + + $data_row = $data_row->withDisabledAction( + TableBuilder::ACTION_DEACTIVATE, + !$row[TableBuilder::COL_ACTIVE] || $row[TableBuilder::COL_DEFAULT] + ); + + $data_row = $data_row->withDisabledAction( + TableBuilder::ACTION_SET_DEFAULT, + !$row[TableBuilder::COL_ACTIVE] || $row[TableBuilder::COL_DEFAULT] + ); + + yield $data_row; + } + } + + public function getTotalRowCount( + mixed $additional_viewcontrol_data, + mixed $filter_data, + mixed $additional_parameters + ): ?int { + return count($this->getAllIDs()); + } + + public function getAllIDs(): array + { + if (!isset($this->all_ids_cache)) { + $languages = ilObject::_getObjectsByType('lng'); + $parsed_languages = []; + foreach ($languages as $language) { + $lang = $language['title']; + $parsed_languages[] = $lang; + } + $this->all_ids_cache = $parsed_languages; + } + return $this->all_ids_cache; + } + + protected function getRawData(): array + { + $all_languages = $this->getAllIDs(); + $installed_languages = ilLanguage::_getInstalledLanguages(); + $default_language = $this->record->getDefaultLanguage(); + + $data = []; + foreach ($all_languages as $lang_code) { + $data[$lang_code] = [ + TableBuilder::COL_LANGUAGE => $this->lng->txt('meta_l_' . $lang_code), + TableBuilder::COL_DEFAULT => ($lang_code === $default_language), + TableBuilder::COL_ACTIVE => $this->record_translations->isConfigured($lang_code), + TableBuilder::COL_INSTALLED => in_array($lang_code, $installed_languages) + ]; + } + return $data; + } +} diff --git a/components/ILIAS/AdvancedMetaData/classes/Record/Multilingualism/TableBuilder.php b/components/ILIAS/AdvancedMetaData/classes/Record/Multilingualism/TableBuilder.php new file mode 100644 index 000000000000..4ebd5ee37794 --- /dev/null +++ b/components/ILIAS/AdvancedMetaData/classes/Record/Multilingualism/TableBuilder.php @@ -0,0 +1,105 @@ +ui_factory->table()->column()->text( + $this->lng->txt('md_adv_record_lng_table_lng') + )->withIsSortable(true); + + $icon_ok = $this->ui_factory->symbol()->icon()->custom('assets/images/standard/icon_ok.svg', 'ok'); + $icon_not_ok = $this->ui_factory->symbol()->icon()->custom('assets/images/standard/icon_not_ok.svg', 'not ok'); + + $columns[self::COL_DEFAULT] = $this->ui_factory->table()->column()->boolean( + $this->lng->txt('md_adv_record_lng_table_default'), + $icon_ok, + $icon_not_ok + ); + + $columns[self::COL_ACTIVE] = $this->ui_factory->table()->column()->boolean( + $this->lng->txt('md_adv_record_lng_table_active'), + $icon_ok, + $icon_not_ok + ); + + $columns[self::COL_INSTALLED] = $this->ui_factory->table()->column()->boolean( + $this->lng->txt('md_adv_record_lng_table_inst'), + $icon_ok, + $icon_not_ok + ); + + $actions = []; + $actions[self::ACTION_ACTIVATE] = $this->ui_factory->table()->action()->standard( + $this->lng->txt('md_adv_record_lng_table_activate'), + $url_builder->withParameter($action_token, self::ACTION_ACTIVATE), + $id_token + ); + + $actions[self::ACTION_DEACTIVATE] = $this->ui_factory->table()->action()->standard( + $this->lng->txt('md_adv_record_lng_table_deactivate'), + $url_builder->withParameter($action_token, self::ACTION_DEACTIVATE), + $id_token + ); + + $actions[self::ACTION_SET_DEFAULT] = $this->ui_factory->table()->action()->single( + $this->lng->txt('md_adv_record_lng_table_set_default'), + $url_builder->withParameter($action_token, self::ACTION_SET_DEFAULT), + $id_token + ); + + return $this->ui_factory->table()->data( + $this->data_retrieval, + $this->lng->txt('md_adv_record_lng_table'), + $columns + )->withActions($actions) + ->withRequest($this->http->request()) + ->withId('advanced_metadata_record_translations_table'); + } + +} diff --git a/components/ILIAS/AdvancedMetaData/classes/Translation/class.ilAdvancedMDRecordLanguageTableGUI.php b/components/ILIAS/AdvancedMetaData/classes/Translation/class.ilAdvancedMDRecordLanguageTableGUI.php deleted file mode 100755 index 7567a14708fc..000000000000 --- a/components/ILIAS/AdvancedMetaData/classes/Translation/class.ilAdvancedMDRecordLanguageTableGUI.php +++ /dev/null @@ -1,158 +0,0 @@ - - */ -class ilAdvancedMDRecordLanguageTableGUI extends ilTable2GUI -{ - private const RECORD_LANGUAGE_TABLE_ID_PREFIX = 'adv_md_record_language_'; - - private const COL_LANGUAGE = 'language'; - private const COL_LANGUAGE_CODE = 'code'; - private const COL_DEFAULT = 'default'; - private const COL_ACTIVE = 'active'; - private const COL_INSTALLED = 'installed'; - - private const CMD_SAVE_ACTION = 'saveTranslations'; - - private Factory $ui_factory; - private Renderer $ui_renderer; - private ilAdvancedMDRecord $record; - private ilAdvancedMDRecordTranslations $record_translation; - - public function __construct(ilAdvancedMDRecord $record, object $a_parent_obj, string $a_parent_cmd = "") - { - global $DIC; - - $this->ui_factory = $DIC->ui()->factory(); - $this->ui_renderer = $DIC->ui()->renderer(); - - $this->record = $record; - $this->record_translation = ilAdvancedMDRecordTranslations::getInstanceByRecordId($this->record->getRecordId()); - parent::__construct($a_parent_obj, $a_parent_cmd); - $this->setId( - self::RECORD_LANGUAGE_TABLE_ID_PREFIX . $this->record->getRecordId() - ); - } - - /** - * Init table - */ - public function init(): void - { - $this->lng->loadLanguageModule('meta'); - $this->setTitle($this->lng->txt('md_adv_record_lng_table')); - - $this->addColumn('', 'f', '1px'); - $this->addColumn($this->lng->txt('md_adv_record_lng_table_lng'), self::COL_LANGUAGE, '25%'); - $this->addColumn($this->lng->txt('md_adv_record_lng_table_default'), self::COL_DEFAULT, '25%'); - $this->addColumn($this->lng->txt('md_adv_record_lng_table_active'), self::COL_ACTIVE, '25%'); - $this->addColumn($this->lng->txt('md_adv_record_lng_table_inst'), self::COL_INSTALLED, '25%'); - - $this->addMultiCommand(self::CMD_SAVE_ACTION, $this->lng->txt('md_adv_record_activate_languages')); - $this->setSelectAllCheckbox('active_languages'); - $this->enable('select_all'); - - $this->setRowTemplate('tpl.record_language_selection_row.html', 'components/ILIAS/AdvancedMetaData'); - $this->setDefaultOrderField(self::COL_LANGUAGE); - $this->setDefaultOrderDirection('asc'); - - $this->setLimit(9999); - $this->setShowRowsSelector(false); - - $this->setFormAction($this->ctrl->getFormAction($this->getParentObject())); - } - - /** - * Parse content - */ - public function parse(): void - { - $all_languages = $this->readLanguages(); - $installed_languages = ilLanguage::_getInstalledLanguages(); - - $rows = []; - foreach ($all_languages as $language_code) { - $row = []; - $row[self::COL_LANGUAGE_CODE] = $language_code; - $row[self::COL_LANGUAGE] = $this->lng->txt('meta_l_' . $language_code); - $row[self::COL_INSTALLED] = in_array($language_code, $installed_languages); - if ($this->record_translation->isConfigured($language_code)) { - $row[self::COL_ACTIVE] = true; - $translation = $this->record_translation->getTranslation($language_code); - $row[self::COL_DEFAULT] = ($translation->getLangKey() == $this->record->getDefaultLanguage()); - } else { - $row[self::COL_ACTIVE] = false; - $row[self::COL_DEFAULT] = false; - } - $rows[] = $row; - } - $this->setMaxCount(count($rows)); - $this->setData($rows); - } - - protected function fillRow(array $a_set): void - { - $this->tpl->setVariable('VAL_ID', $a_set[self::COL_LANGUAGE_CODE]); - - if ($a_set[self::COL_ACTIVE]) { - $this->tpl->setVariable('ACTIVATION_CHECKED', 'checked="checked"'); - } - - $this->tpl->setVariable('TXT_LANGUAGE', $a_set[self::COL_LANGUAGE]); - if ($a_set[self::COL_DEFAULT]) { - $this->tpl->setVariable('DEFAULT_CHECKED', 'checked="checked"'); - } - if ($a_set[self::COL_ACTIVE]) { - $this->tpl->setVariable( - 'GLYPH_ACTIVE', - $this->ui_renderer->render( - $this->ui_factory->symbol()->glyph()->apply() - ) - ); - } - if ($a_set[self::COL_INSTALLED]) { - $this->tpl->setVariable( - 'GLYPH_INSTALLED', - $this->ui_renderer->render( - $this->ui_factory->symbol()->glyph()->apply() - ) - ); - } - } - - /** - * @return array - */ - private function readLanguages(): array - { - $languages = ilObject::_getObjectsByType('lng'); - $parsed_languages = []; - foreach ($languages as $language) { - $parsed_languages[] = $language['title']; - } - return $parsed_languages; - } -} diff --git a/components/ILIAS/AdvancedMetaData/classes/Translation/class.ilAdvancedMDRecordTranslationGUI.php b/components/ILIAS/AdvancedMetaData/classes/Translation/class.ilAdvancedMDRecordTranslationGUI.php index 67453a21ba17..e97f0fadc080 100755 --- a/components/ILIAS/AdvancedMetaData/classes/Translation/class.ilAdvancedMDRecordTranslationGUI.php +++ b/components/ILIAS/AdvancedMetaData/classes/Translation/class.ilAdvancedMDRecordTranslationGUI.php @@ -18,55 +18,246 @@ declare(strict_types=1); +use Psr\Http\Message\RequestInterface; +use ILIAS\HTTP\Services as HTTP; +use ILIAS\Data\Factory as DataFactory; +use ILIAS\UI\Factory as UIFactory; +use ILIAS\UI\Renderer as UIRenderer; +use ILIAS\Refinery\Factory as RefineryFactory; +use ILIAS\AdvancedMetaData\Record\Multilingualism\DataRetrieval; +use ILIAS\AdvancedMetaData\Record\Multilingualism\TableBuilder; +use ILIAS\UI\URLBuilder; +use ILIAS\UI\URLBuilderToken; + /** - * Class ilAdvancedMDRecordTranslationGUI - * @ilCtrl_isCalledBy ilAdvancedMDRecordTranslationGUI: ilAdvancedMDSettingsGUI - * @ingroup ServicesAdvancedMetaData + * @ilCtrl_IsCalledBy ilAdvancedMDRecordTranslationGUI: ilAdvancedMDSettingsGUI */ -class ilAdvancedMDRecordTranslationGUI extends ilAdvancedMDTranslationGUI +class ilAdvancedMDRecordTranslationGUI { + protected const string CMD_DEFAULT = 'translations'; + protected const string CMD_TABLE_ACTION = 'handleTableAction'; + + protected ilCtrl $ctrl; + protected ilGlobalTemplateInterface $tpl; + protected ilToolbarGUI $toolbar; + protected ilTabsGUI $tabs; + protected ilLanguage $language; + protected RequestInterface $request; + protected ilAdvancedMDRecord $record; + protected UIFactory $ui_factory; + protected UIRenderer $ui_renderer; + protected HTTP $http; + protected RefineryFactory $refinery; + protected DataFactory $data_factory; + protected ilAdvancedMDRecordTranslations $record_translations; + + public function __construct(ilAdvancedMDRecord $record) + { + global $DIC; + + $this->ctrl = $DIC->ctrl(); + $this->tpl = $DIC->ui()->mainTemplate(); + $this->toolbar = $DIC->toolbar(); + $this->tabs = $DIC->tabs(); + $this->language = $DIC->language(); + $this->language->loadLanguageModule('obj'); + $this->request = $DIC->http()->request(); + $this->record = $record; + $this->ui_factory = $DIC->ui()->factory(); + $this->ui_renderer = $DIC->ui()->renderer(); + $this->http = $DIC->http(); + $this->refinery = $DIC->refinery(); + $this->data_factory = new DataFactory(); + $this->record_translations = ilAdvancedMDRecordTranslations::getInstanceByRecordId( + $this->record->getRecordId() + ); + } + + /** + * Execute command and save parameter record id + */ + public function executeCommand(): void + { + $this->ctrl->setParameterByClass( + strtolower(get_class($this)), + 'record_id', + $this->record->getRecordId() + ); + + $next_class = $this->ctrl->getNextClass($this); + $cmd = $this->ctrl->getCmd(self::CMD_DEFAULT); + + switch ($next_class) { + default: + switch ($cmd) { + case self::CMD_DEFAULT: + $this->translations(); + break; + case self::CMD_TABLE_ACTION: + $this->handleTableAction(); + break; + } + break; + } + } + + protected function setTabs(string $active_tab) + { + $this->tabs->activateTab($active_tab); + } + protected function translations(): void { $this->setTabs(self::CMD_DEFAULT); - $language_table = new ilAdvancedMDRecordLanguageTableGUI( + $data_retrieval = new DataRetrieval( $this->record, - $this, - self::CMD_DEFAULT + $this->language, + $this->record_translations ); - $language_table->init(); - $language_table->parse(); - $this->tpl->setContent($language_table->getHTML()); + $table_builder = new TableBuilder( + $data_retrieval, + $this->language, + $this->ui_factory, + $this->http + ); + + [$url_builder, $id_token, $action_token] = $this->getTableActionURLBuilder(); + $table = $table_builder->get($url_builder, $id_token, $action_token); + + $this->tpl->setContent($this->ui_renderer->render($table)); } - /** - * @todo use kindlyTo for input parameters - */ - protected function saveTranslations(): void + protected function getTableActionURLBuilder(): array { - $languages = (array) ($this->request->getParsedBody()['active_languages'] ?? []); - $default = (string) $this->request->getParsedBody()['default']; + $link = ILIAS_HTTP_PATH . '/' . $this->ctrl->getLinkTargetByClass( + ilAdvancedMDRecordTranslationGUI::class, + $this::CMD_TABLE_ACTION + ); + $url_builder = new URLBuilder($this->data_factory->uri($link)); - if (!in_array($default, $languages)) { - $this->tpl->setOnScreenMessage('failure', $this->language->txt('err_check_input'), true); - $this->tpl->setOnScreenMessage('info', $this->language->txt('md_adn_int_error_no_default'), true); - $this->ctrl->redirect($this, self::CMD_DEFAULT); + return $url_builder->acquireParameters(['advmd_ml'], 'table_ids', 'table_action'); + } + + protected function getLanguageCodesFromQuery(URLBuilderToken $id_token, DataRetrieval $data_retrieval): array + { + $parameter_name = $id_token->getName(); + $wrapper = $this->http->wrapper()->query(); + + $raw_ids = null; + if ($wrapper->has($parameter_name)) { + $raw_ids = $wrapper->retrieve( + $parameter_name, + $this->refinery->kindlyTo()->listOf($this->refinery->kindlyTo()->string()) + ); } - $translations = ilAdvancedMDRecordTranslations::getInstanceByRecordId($this->record->getRecordId()); - foreach ($translations->getTranslations() as $translation) { - if (!in_array($translation->getLangKey(), $languages)) { - $translation->delete(); - } + if ($raw_ids === ['ALL_OBJECTS']) { + return $data_retrieval->getAllIDs(); + } + + return $raw_ids ?? []; + } + + protected function getTableActionFromQuery(URLBuilderToken $action_token): string + { + $name = $action_token->getName(); + $wrapper = $this->http->wrapper()->query(); + + if ($wrapper->has($name)) { + return (string) $wrapper->retrieve( + $name, + $this->refinery->kindlyTo()->string() + ); + } + + return ''; + } + + public function handleTableAction(): void + { + $data_retrieval = new DataRetrieval( + $this->record, + $this->language, + $this->record_translations + ); + [$url_builder, $id_token, $action_token] = $this->getTableActionURLBuilder(); + $ids = $this->getLanguageCodesFromQuery($id_token, $data_retrieval); + $action = $this->getTableActionFromQuery($action_token); + + switch ($action) { + case TableBuilder::ACTION_ACTIVATE: + $this->activate($ids); + break; + case TableBuilder::ACTION_DEACTIVATE: + $this->deactivate($ids); + break; + case TableBuilder::ACTION_SET_DEFAULT: + $this->setDefault($ids); + break; } - foreach ($languages as $lang_key) { + } + + + protected function activate(array $lang_keys): void + { + $record_id = $this->record->getRecordId(); + $translations = ilAdvancedMDRecordTranslations::getInstanceByRecordId($record_id); + + foreach ($lang_keys as $lang_key) { if (!$translations->isConfigured($lang_key)) { $translations->addTranslationEntry($lang_key); } } - $this->record->setDefaultLanguage($default); + if (count($lang_keys) > 0) { + $this->tpl->setOnScreenMessage('success', $this->language->txt('settings_saved'), true); + } + + $this->ctrl->redirect($this, self::CMD_DEFAULT); + } + + protected function deactivate(array $lang_keys): void + { + $record_id = $this->record->getRecordId(); + $translations = ilAdvancedMDRecordTranslations::getInstanceByRecordId($record_id); + $success = false; + + foreach ($lang_keys as $lang_key) { + if ($lang_key === $this->record->getDefaultLanguage()) { + $this->tpl->setOnScreenMessage('failure', $this->language->txt('md_adn_int_error_no_default'), true); + } else { + $translation = $translations->getTranslation($lang_key); + if ($translation) { + $translation->delete(); + $success = true; + } + } + } + + if ($success) { + $this->tpl->setOnScreenMessage('success', $this->language->txt('settings_saved'), true); + } + + $this->ctrl->redirect($this, self::CMD_DEFAULT); + } + + protected function setDefault(array $lang_keys): void + { + $lang_key = reset($lang_keys); + + if (!$lang_key) { + $this->ctrl->redirect($this, self::CMD_DEFAULT); + } + + $translations = ilAdvancedMDRecordTranslations::getInstanceByRecordId($this->record->getRecordId()); + if (!$translations->isConfigured($lang_key)) { + $this->tpl->setOnScreenMessage('failure', $this->language->txt('err_check_input'), true); + $this->ctrl->redirect($this, self::CMD_DEFAULT); + } + + $this->record->setDefaultLanguage($lang_key); $this->record->update(); $this->tpl->setOnScreenMessage('success', $this->language->txt('settings_saved'), true); diff --git a/components/ILIAS/AdvancedMetaData/classes/Translation/class.ilAdvancedMDTranslationGUI.php b/components/ILIAS/AdvancedMetaData/classes/Translation/class.ilAdvancedMDTranslationGUI.php deleted file mode 100755 index 9d9e6dfa0ba2..000000000000 --- a/components/ILIAS/AdvancedMetaData/classes/Translation/class.ilAdvancedMDTranslationGUI.php +++ /dev/null @@ -1,160 +0,0 @@ -ctrl = $DIC->ctrl(); - $this->tpl = $DIC->ui()->mainTemplate(); - $this->toolbar = $DIC->toolbar(); - $this->tabs = $DIC->tabs(); - $this->language = $DIC->language(); - $this->language->loadLanguageModule('obj'); - $this->request = $DIC->http()->request(); - /** @noinspection PhpUndefinedMethodInspection */ - $this->logger = $DIC->logger()->amet(); - $this->record = $record; - } - - /** - * Execute command and save parameter record id - */ - public function executeCommand() - { - $this->ctrl->setParameterByClass( - strtolower(get_class($this)), - 'record_id', - $this->record->getRecordId() - ); - - $next_class = $this->ctrl->getNextClass($this); - $cmd = $this->ctrl->getCmd(self::CMD_DEFAULT); - switch ($next_class) { - default: - $this->$cmd(); - } - } - - protected function setTabs(string $active_tab) - { - $this->tabs->activateTab($active_tab); - } - - /** - * @return void - */ - abstract protected function translations(): void; - - /** - * show translation creation form - */ - protected function addTranslations(?ilPropertyFormGUI $form = null) - { - $this->tabs->activateTab(self::CMD_DEFAULT); - if (!$form instanceof ilPropertyFormGUI) { - $form = $this->initCreateTranslationForm(); - } - $this->tpl->setContent($form->getHTML()); - } - - protected function initCreateTranslationForm(): ilPropertyFormGUI - { - $form = new \ilPropertyFormGUI(); - $form->setFormAction($this->ctrl->getFormAction($this)); - $form->setTitle($this->language->txt('obj_add_languages')); - - $language_options = $this->getAvailableLanguagesOptions(); - $languages = new ilSelectInputGUI( - $this->language->txt('obj_additional_langs'), - 'languages' - ); - $languages->setOptions($language_options); - $languages->setMulti(true); - $languages->setRequired(true); - $form->addItem($languages); - - $form->addCommandButton( - self::CMD_SAVE_ADDITIONAL_TRANSLATIONS, - $this->language->txt('save') - ); - $form->addCommandButton( - self::CMD_DEFAULT, - $this->language->txt('cancel') - ); - return $form; - } - - /** - * @return array - * @todo handle generic isConfigured - */ - protected function getAvailableLanguagesOptions(): array - { - $languages = ilAdvancedMDRecordTranslations::getInstanceByRecordId($this->record->getRecordId()); - - $this->language->loadLanguageModule('meta'); - $installed_languages = ilLanguage::_getInstalledLanguages(); - $options = []; - $options[''] = $this->language->txt('select_one'); - foreach ($installed_languages as $key => $language) { - if ($languages->isConfigured($language)) { - continue; - } - $options[$language] = $this->language->txt('meta_l_' . $language); - } - return $options; - } - - protected function saveAdditionalTranslations(): void - { - $form = $this->initCreateTranslationForm(); - if (!$form->checkInput()) { - $form->setValuesByPost(); - $this->tpl->setOnScreenMessage('failure', $this->language->txt('err_check_input')); - $this->addTranslations($form); - return; - } - foreach (array_unique((array) $form->getInput('languages')) as $language_code) { - $languages = ilAdvancedMDRecordTranslations::getInstanceByRecordId($this->record->getRecordId()); - $languages->addTranslationEntry($language_code); - } - - $this->tpl->setOnScreenMessage('success', $this->language->txt('settings_saved'), true); - $this->ctrl->redirect($this, self::CMD_DEFAULT); - } -} diff --git a/components/ILIAS/AdvancedMetaData/templates/default/tpl.record_language_selection_row.html b/components/ILIAS/AdvancedMetaData/templates/default/tpl.record_language_selection_row.html deleted file mode 100755 index eba8e5e4b316..000000000000 --- a/components/ILIAS/AdvancedMetaData/templates/default/tpl.record_language_selection_row.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - {TXT_LANGUAGE} - - - - - -
- {GLYPH_ACTIVE} -
- - -
- {GLYPH_INSTALLED} -
- - \ No newline at end of file diff --git a/components/ILIAS/MetaData/lang/meta_de.po b/components/ILIAS/MetaData/lang/meta_de.po index 0eea03005ec7..f3b39db67bca 100644 --- a/components/ILIAS/MetaData/lang/meta_de.po +++ b/components/ILIAS/MetaData/lang/meta_de.po @@ -143,9 +143,15 @@ msgstr "Datensätze" msgid "md_adv_record_lng_table" msgstr "Sprachenverwaltung" +msgid "md_adv_record_lng_table_activate" +msgstr "Aktivieren" + msgid "md_adv_record_lng_table_active" msgstr "Aktiv" +msgid "md_adv_record_lng_table_deactivate" +msgstr "Deaktivieren" + msgid "md_adv_record_lng_table_default" msgstr "Default" @@ -155,6 +161,9 @@ msgstr "Installiert" msgid "md_adv_record_lng_table_lng" msgstr "Sprache" +msgid "md_adv_record_lng_table_set_default" +msgstr "Als Standard festlegen" + msgid "md_adv_records" msgstr "Enthaltene Datensätze" diff --git a/components/ILIAS/MetaData/lang/meta_en.po b/components/ILIAS/MetaData/lang/meta_en.po index 334b927388a5..319c2acb98a8 100644 --- a/components/ILIAS/MetaData/lang/meta_en.po +++ b/components/ILIAS/MetaData/lang/meta_en.po @@ -143,9 +143,15 @@ msgstr "Data Sets" msgid "md_adv_record_lng_table" msgstr "Language Management" +msgid "md_adv_record_lng_table_activate" +msgstr "Activate" + msgid "md_adv_record_lng_table_active" msgstr "Active" +msgid "md_adv_record_lng_table_deactivate" +msgstr "Deactivate" + msgid "md_adv_record_lng_table_default" msgstr "Default" @@ -155,6 +161,9 @@ msgstr "Installed" msgid "md_adv_record_lng_table_lng" msgstr "Language" +msgid "md_adv_record_lng_table_set_default" +msgstr "Set As Default" + msgid "md_adv_records" msgstr "Data Sets"