diff --git a/CHANGELOG.md b/CHANGELOG.md index 81882bbf7..e727db5f4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,38 @@ +## [2.13.10](https://github.com/pluginsGLPI/formcreator/compare/2.13.9...2.13.10) (2025-02-26) + + +### Bug Fixes + +* **abstracttarget:** missing escaping before SQL query ([06d9089](https://github.com/pluginsGLPI/formcreator/commit/06d908937201e25515bbe5bdda5b93c465ce3f8a)) +* adding 2.13.10 empty sql file ([f6d63ea](https://github.com/pluginsGLPI/formcreator/commit/f6d63ead12746c04b63e591b2f28e62486056be7)) +* adjust dashboard widget height ([aab508d](https://github.com/pluginsGLPI/formcreator/commit/aab508ddac14cd51f7a90925a3d15623fc8a0b04)) +* **dropdownfield, glpiselectfield:** group restriction ([#3489](https://github.com/pluginsGLPI/formcreator/issues/3489)) ([46efb33](https://github.com/pluginsGLPI/formcreator/commit/46efb336110722c8e99006997d4a8069eb46d2e7)) +* **dropdownfield:** useless duplicate conditions for tickets ([d81a43e](https://github.com/pluginsGLPI/formcreator/commit/d81a43ebbec74f58f019da409f53a169e2ea06f8)) +* **fieldsfield:** mandatory check failure on dropdowns ([9ac92f0](https://github.com/pluginsGLPI/formcreator/commit/9ac92f04705060106b122d6665a3bb27f4adc4f0)) +* **fieldsfield:** required property update on UI ([feb1de0](https://github.com/pluginsGLPI/formcreator/commit/feb1de088e7f16b2a9ee7d4274b66ee1cb59f539)) +* **files:** entity ([#3566](https://github.com/pluginsGLPI/formcreator/issues/3566)) ([f1ecc2d](https://github.com/pluginsGLPI/formcreator/commit/f1ecc2da717a3df39fcae6a16b9a5b6a08ef7d8a)) +* **form:** bad itemtypes names ([11d9e6b](https://github.com/pluginsGLPI/formcreator/commit/11d9e6b8ed493a3155e770bb41b6f10f25fd9584)) +* **glpiselectfield:** ambiguous column with tickets ([2d5ad80](https://github.com/pluginsGLPI/formcreator/commit/2d5ad80b2a11ac0476f3258d62969ac240e96fa5)) +* handle negative due date for service levels ([ed147ef](https://github.com/pluginsGLPI/formcreator/commit/ed147efa2e175bb245e343af124d22909974806f)) +* **issue:** SQL warning if groups of the user contain an empty ID ([580eba5](https://github.com/pluginsGLPI/formcreator/commit/580eba5b355ef0fd435d5caf5ac7dc95f21d7e61)) +* **knowbase,form:** kb item translation missing ([603b8ea](https://github.com/pluginsGLPI/formcreator/commit/603b8eac9b93f70b3b95bdda529b17eb7935ef1d)) +* **knowbase:** categories in reverse alphanumeric order ([8011971](https://github.com/pluginsGLPI/formcreator/commit/801197183ed8d96ac16f9a3d5bd6dd75ef7fbb83)) +* **ldapfield:** HTML encoding when copying filter from GLPI ([e56eaca](https://github.com/pluginsGLPI/formcreator/commit/e56eacaeab5409cfd5b89cdfdbf4fd1d0e0cb0fc)) +* php lint ([aa12610](https://github.com/pluginsGLPI/formcreator/commit/aa1261021d2712718b2ecc0b7bf0eb1e9a38e5b3)) +* **section:** bad update when importing a section with conditions ([15907b8](https://github.com/pluginsGLPI/formcreator/commit/15907b8369099afc9d0b63b32e3152496ed7cdf8)) +* set the default value of the dropdown as empty string ([#3563](https://github.com/pluginsGLPI/formcreator/issues/3563)) ([f336e1b](https://github.com/pluginsGLPI/formcreator/commit/f336e1b4e8940ce4b582c9b82cadf8f1241dfa3b)) +* SQL error when user ID missing ([17c0358](https://github.com/pluginsGLPI/formcreator/commit/17c0358919d804b70e6c2e27b089dfbde177e0d1)) +* **target_actor:** duplication fails for some types ([1ff8a55](https://github.com/pluginsGLPI/formcreator/commit/1ff8a555f1461d4dd4fa2225ce78a883a00d1225)) +* **target_actor:** duplication requires export of ID, not name ([3efc9cd](https://github.com/pluginsGLPI/formcreator/commit/3efc9cd7ccdcc003f83f3409853b6f50e7d2d2f1)) +* **targetticket:** actors format ([e468aa3](https://github.com/pluginsGLPI/formcreator/commit/e468aa350de569991274d97e1af7ce2fca7ed994)) + + +### Reverts + +* Revert "Revert "feat(glpiselectfield): support Cluster itemtype"" ([8e06c17](https://github.com/pluginsGLPI/formcreator/commit/8e06c17cd1b864f39a53e34e75a206acf3de66a5)) + + + ## [HEAD](https://github.com/pluginsGLPI/formcreator/compare/2.13.8..2.13.9) (2024-03-13) diff --git a/ajax/ldap_filter.php b/ajax/ldap_filter.php index 4c8c2faeb..a441d02f3 100644 --- a/ajax/ldap_filter.php +++ b/ajax/ldap_filter.php @@ -29,6 +29,8 @@ * --------------------------------------------------------------------- */ +use Glpi\Toolbox\Sanitizer; + include ('../../../inc/includes.php'); Session::checkRight('entity', UPDATE); @@ -37,4 +39,5 @@ $authldap->getFromDB($_POST['value']); $filter = "(".$authldap->getField("login_field")."=*)"; $ldap_condition = $authldap->getField('condition'); +$ldap_condition = Sanitizer::decodeHtmlSpecialChars($ldap_condition); echo "(& $filter $ldap_condition)"; diff --git a/ajax/question_design.php b/ajax/question_design.php index 393d90bbd..d94858638 100644 --- a/ajax/question_design.php +++ b/ajax/question_design.php @@ -69,5 +69,7 @@ $question->fields['fieldtype'] = ''; if ($field !== null) { $question->fields['fieldtype'] = $_REQUEST['fieldtype']; + $question->fields['_blocks_field'] = $_REQUEST['blocks_field'] ?? null; + $question->fields['_dropdown_fields_field'] = $_REQUEST['dropdown_fields_field'] ?? null; } $question->showForm($question->getID()); diff --git a/hook.php b/hook.php index 6837610bd..295737b6c 100644 --- a/hook.php +++ b/hook.php @@ -205,6 +205,7 @@ function plugin_formcreator_addDefaultWhere($itemtype) { $groupList[] = $group['id']; } if (count($groupList) > 0) { + $groupList = array_filter($groupList); $groupList = implode("', '", $groupList); // Search option ID 16 is either from Formcreator, either from AdvForms $complexJoinId = Search::computeComplexJoinID($issueSearchOptions[16]['joinparams']); @@ -229,7 +230,7 @@ function plugin_formcreator_addDefaultWhere($itemtype) { $condition .= " OR `glpi_users_$complexJoinId`.`id` = '$currentUser'"; // Add users_id_recipient - $condition .= " OR `glpi_plugin_formcreator_issues`.`users_id_recipient` = $currentUser "; + $condition .= " OR `glpi_plugin_formcreator_issues`.`users_id_recipient` = '$currentUser' "; return "($condition)"; break; @@ -378,7 +379,7 @@ function plugin_formcreator_MassiveActions($itemtype) { PluginFormcreatorForm::class . MassiveAction::CLASS_ACTION_SEPARATOR . 'Duplicate' => _x('button', 'Duplicate'), PluginFormcreatorForm::class . MassiveAction::CLASS_ACTION_SEPARATOR . 'Transfert' => __('Transfer'), PluginFormcreatorForm::class . MassiveAction::CLASS_ACTION_SEPARATOR . 'Export' => _sx('button', 'Export'), - PluginFormcreatorForm::class . MassiveAction::CLASS_ACTION_SEPARATOR . 'AccessRights' => _sx('button', 'Access rights'), + PluginFormcreatorForm::class . MassiveAction::CLASS_ACTION_SEPARATOR . 'AccessRights' => _sx('button', 'Access rights', 'formcreator'), ]; } return []; @@ -442,6 +443,18 @@ function plugin_formcreator_hook_add_ticket(CommonDBTM $item) { ]); } +function plugin_formcreator_hook_update_ticket_actors(CommonITILActor $item) { + if ($item::$itemtype_1 == Ticket::class) { + if ($item->fields['type'] == CommonITILActor::REQUESTER) { + $ticket_id = $item->fields['tickets_id']; + $ticket = new Ticket(); + if ($ticket->getFromDB($ticket_id)) { + plugin_formcreator_hook_update_ticket($ticket); + } + } + } +} + function plugin_formcreator_hook_update_ticket(CommonDBTM $item) { global $DB; @@ -489,6 +502,7 @@ function plugin_formcreator_hook_update_ticket(CommonDBTM $item) { 'entities_id' => $item->fields['entities_id'], 'is_recursive' => '0', 'requester_id' => $requester, + 'users_id_recipient' => $requester, 'comment' => $DB->escape($item->fields['content']), ]); } diff --git a/inc/abstractitiltarget.class.php b/inc/abstractitiltarget.class.php index 6d91ea76d..a145ea894 100644 --- a/inc/abstractitiltarget.class.php +++ b/inc/abstractitiltarget.class.php @@ -1424,7 +1424,10 @@ protected function setTargetDueDate($data, PluginFormcreatorFormAnswer $formansw $period = "month"; break; } - $str = "+" . $this->fields['due_date_value'] . " $period"; + $str = $this->fields['due_date_value'] . " $period"; + if ($str[0] !== '-') { + $str = '+' . $str; + } switch ($this->fields['due_date_rule']) { case self::DUE_DATE_RULE_ANSWER: diff --git a/inc/abstracttarget.class.php b/inc/abstracttarget.class.php index 66b3d0e04..606da8155 100644 --- a/inc/abstracttarget.class.php +++ b/inc/abstracttarget.class.php @@ -253,6 +253,15 @@ protected function appendFieldsData(array $input, PluginFormcreatorFormanswer $f $field_name = $decodedValues['dropdown_fields_field'] ?? ''; $blocks_field = $decodedValues['blocks_field'] ?? ''; + //load container field + $container = new PluginFieldsContainer(); + $container->getFromDB($blocks_field); + $related_itemtype = json_decode($container->fields['itemtypes'], true); + + if (!in_array(get_called_class()::getTargetItemtypeName(), $related_itemtype)) { + continue; + } + $field = new PluginFieldsField(); $field->getFromDbByCrit(['name' => $field_name]); @@ -565,10 +574,12 @@ public function prepareInputForClone($input) { } protected static function getTemplateByName(string $name): int { + global $DB; + $targetTemplateType = (new static())->getTemplateItemtypeName(); $targetTemplate = new $targetTemplateType(); $targetTemplate->getFromDBByCrit([ - 'name' => $name, + 'name' => $DB->escape($name), ]); if ($targetTemplate->isNewItem()) { diff --git a/inc/field/dropdownfield.class.php b/inc/field/dropdownfield.class.php index bbd48628e..0122788d3 100644 --- a/inc/field/dropdownfield.class.php +++ b/inc/field/dropdownfield.class.php @@ -227,40 +227,11 @@ public function buildParams($rand = null) { if (Session::haveRight("ticket", Ticket::READALL)) { break; } - $currentUser = Session::getLoginUserID(); if (!Session::haveRight(Ticket::$rightname, Ticket::READMY) && !Session::haveRight(Ticket::$rightname, Ticket::READGROUP)) { // No right to view any ticket, then force the dropdown to be empty $dparams_cond_crit['OR'] = new QueryExpression('0=1'); break; } - $tickets_filter = ['users_id_recipient' => $currentUser]; - - if (Session::haveRight(Ticket::$rightname, Ticket::READMY)) { - $requestersObserversQuery = new QuerySubQuery([ - 'SELECT' => 'tickets_id', - 'FROM' => Ticket_User::getTable(), - 'WHERE' => [ - 'users_id' => $currentUser, - 'type' => [CommonITILActor::REQUESTER, CommonITILActor::OBSERVER] - ], - ]); - $tickets_filter[] = [ - Ticket::getTableField('id') => $requestersObserversQuery, - ]; - } - - if (Session::haveRight(Ticket::$rightname, Ticket::READGROUP) && count($_SESSION['glpigroups']) > '0') { - $requestersObserversGroupsQuery = new QuerySubQuery([ - 'SELECT' => 'tickets_id', - 'FROM' => Group_Ticket::getTable(), - 'WHERE' => [ - 'type' => [CommonITILActor::REQUESTER, CommonITILActor::OBSERVER], - 'groups_id' => $_SESSION['glpigroups'], - ], - ]); - $tickets_filter[] = ['id' => $requestersObserversGroupsQuery]; - } - $dparams_cond_crit['OR'] = $tickets_filter; break; default: @@ -277,7 +248,7 @@ public function buildParams($rand = null) { $canViewGroupHardware = Session::haveRight('show_group_hardware', '1'); $groups = []; if ($canViewGroupHardware) { - $groups = $this->getMyGroups(Session::getLoginUserID()); + $groups = $_SESSION['glpigroups']; } if ($DB->fieldExists($itemtype::getTable(), $userFk) && !$canViewAllHardware && $canViewMyHardware @@ -295,7 +266,7 @@ public function buildParams($rand = null) { ]; } // Check if helpdesk availability is fine tunable on a per item basis - if (Session::getCurrentInterface() == "helpdesk" && $DB->fieldExists($itemtype::getTable(), 'is_helpdesk_visible')) { + if ($DB->fieldExists($itemtype::getTable(), 'is_helpdesk_visible')) { $dparams_cond_crit[] = [ 'is_helpdesk_visible' => '1', ]; diff --git a/inc/field/fieldsfield.class.php b/inc/field/fieldsfield.class.php index 7c6c282eb..9ce06a134 100644 --- a/inc/field/fieldsfield.class.php +++ b/inc/field/fieldsfield.class.php @@ -63,7 +63,7 @@ class FieldsField extends PluginFormcreatorAbstractField public function getField(): ?PluginFieldsField { if ($this->field === null && isset($this->question->fields['values'])) { $decodedValues = json_decode($this->question->fields['values'], JSON_OBJECT_AS_ARRAY); - $field_name = $decodedValues['dropdown_fields_field'] ?? ''; + $field_name = $decodedValues['dropdown_fields_field'] ?? ($this->question->fields['_field_name'] ?? ''); $fieldObj = new PluginFieldsField(); if ($fieldObj->getFromDBByCrit(['name' => $field_name])) { $this->field = $fieldObj; @@ -208,13 +208,15 @@ public function prepareHtmlField($fieldName, $canedit = true, $value = '') { $field['value'] = $value; } else { //get default value - if ($this->getField()->fields['default_value'] !== "") { + if (!empty($this->getField()->fields['default_value'])) { $value = $this->getField()->fields['default_value']; // shortcut for date/datetime if (in_array($this->getField()->fields['type'], ['date', 'datetime']) && $value == 'now') { $value = $_SESSION["glpi_currenttime"]; } + } else { + $value = ''; } $field['value'] = $value; } @@ -483,7 +485,7 @@ public function isValidValue($value): bool { public function isValid(): bool { if (!is_null($this->getField())) { // If the field is required it can't be empty - if ($this->getField()->fields['mandatory'] && $this->value == '') { + if ($this->isAdditionalFieldEmpty()) { Session::addMessageAfterRedirect( __('A required field is empty:', 'formcreator') . ' ' . $this->getLabel(), false, @@ -498,6 +500,20 @@ public function isValid(): bool { return true; } + /** + * Undocumented function + * + * @return boolean + */ + private function isAdditionalFieldEmpty(): bool { + switch ($this->getField()->fields['type']) { + case 'dropdown': + return $this->getField()->fields['mandatory'] && empty($this->value); + } + + return $this->getField()->fields['mandatory'] && $this->value == ''; + } + public function moveUploads() { } diff --git a/inc/field/filefield.class.php b/inc/field/filefield.class.php index fc4459336..d284bdd56 100644 --- a/inc/field/filefield.class.php +++ b/inc/field/filefield.class.php @@ -238,9 +238,20 @@ private function saveDocument($file, $prefix) { return; } + $entities_id = $form->getField('entities_id'); + if ($form->getField('is_recursive')) { + $entities_sons = getSonsOf('glpi_entities', $entities_id); + if (isset($_SESSION['glpiactive_entity']) + && $_SESSION['glpiactive_entity'] != $entities_id + && in_array($_SESSION['glpiactive_entity'], $entities_sons) + ) { + $entities_id = $_SESSION['glpiactive_entity']; + } + } + $file_data = [ 'name' => Toolbox::addslashes_deep($form->fields['name'] . ' - ' . $this->question->fields['name']), - 'entities_id' => $_SESSION['glpiactive_entity'] ?? $form->getField('entities_id'), + 'entities_id' => $entities_id, 'is_recursive' => $form->getField('is_recursive'), '_filename' => [$file], '_prefix_filename' => [$prefix], diff --git a/inc/form.class.php b/inc/form.class.php index 6ac380221..caecb503a 100644 --- a/inc/form.class.php +++ b/inc/form.class.php @@ -716,8 +716,8 @@ public static function getFormList(int $rootCategory = 0, string $keywords = '', $table_cat = getTableForItemType(PluginFormcreatorCategory::class); $table_form = getTableForItemType(PluginFormcreatorForm::class); - $table_section = getTableForItemType(PluginFormcreatorSections::class); - $table_question = getTableForItemType(PluginFormcreatorQuestions::class); + $table_section = getTableForItemType(PluginFormcreatorSection::class); + $table_question = getTableForItemType(PluginFormcreatorQuestion::class); $categoryFk = PluginFormcreatorCategory::getForeignKeyField(); @@ -843,7 +843,7 @@ public static function getFormList(int $rootCategory = 0, string $keywords = '', foreach ($result_faqs as $faq) { $formList[] = [ 'id' => $faq['id'], - 'name' => $faq['name'], + 'name' => $faq['transname'] ?? $faq['name'], 'icon' => '', 'icon_color' => '', 'background_color' => '', diff --git a/inc/knowbase.class.php b/inc/knowbase.class.php index f779e03d6..f872ebb25 100644 --- a/inc/knowbase.class.php +++ b/inc/knowbase.class.php @@ -136,7 +136,7 @@ public static function getCategoryTree() { 'FROM' => $cat_table, 'ORDER' => [ KnowbaseItemCategory::getTableField('level') . ' DESC', - KnowbaseItemCategory::getTableField('name'), + KnowbaseItemCategory::getTableField('name') . ' DESC', ] ]); @@ -222,7 +222,7 @@ public static function getFaqItems($rootCategory = 0, $keywords = '') { foreach ($result_faqs as $faq) { $formList[] = [ 'id' => $faq['id'], - 'name' => $faq['name'], + 'name' => $faq['transname'] ?? $faq['name'], 'icon' => '', 'icon_color' => '', 'background_color' => '', diff --git a/inc/section.class.php b/inc/section.class.php index 5f877aa0a..131d287d1 100644 --- a/inc/section.class.php +++ b/inc/section.class.php @@ -173,8 +173,10 @@ public function prepareInputForUpdate($input) { $input['uuid'] = plugin_formcreator_getUuid(); } - if (!$this->checkConditionSettings($input)) { - $input['show_rule'] = PluginFormcreatorCondition::SHOW_RULE_ALWAYS; + if (!$this->skipChecks) { + if (!$this->checkConditionSettings($input)) { + $input['show_rule'] = PluginFormcreatorCondition::SHOW_RULE_ALWAYS; + } } return $input; @@ -268,6 +270,8 @@ public function duplicate(array $options = []) { public function moveUp() { global $DB; + $this->fixOrder(); + $order = $this->fields['order']; $formId = $this->fields['plugin_formcreator_forms_id']; $otherItem = new static(); @@ -311,6 +315,8 @@ public function moveUp() { public function moveDown() { global $DB; + $this->fixOrder(); + $order = $this->fields['order']; $formId = $this->fields['plugin_formcreator_forms_id']; $otherItem = new static(); @@ -347,6 +353,33 @@ public function moveDown() { return $success; } + public function fixOrder(): void { + global $DB; + + $formId = $this->fields['plugin_formcreator_forms_id']; + + $iterator = $DB->request([ + 'FROM' => static::getTable(), + 'WHERE' => [ + 'AND' => [ + 'plugin_formcreator_forms_id' => $formId, + ] + ], + 'ORDER' => ['order ASC'] + ]); + $order = 1; + foreach ($iterator as $row) { + if ($row['order'] !== $order) { + $DB->update(static::getTable(), [ + 'order' => $order + ], [ + 'id' => $row['id'] + ]); + } + $order++; + } + } + public static function import(PluginFormcreatorLinker $linker, $input = [], $containerId = 0) { global $DB; diff --git a/inc/target_actor.class.php b/inc/target_actor.class.php index cdb566893..bfe3e7400 100644 --- a/inc/target_actor.class.php +++ b/inc/target_actor.class.php @@ -191,8 +191,11 @@ public static function import(PluginFormcreatorLinker $linker, $input = [], $con $input['actor_value'] = $question->getID(); break; - case self::ACTOR_TYPE_PERSON: case self::ACTOR_TYPE_AUTHORS_SUPERVISOR: + $input['actor_value'] = 0; + break; + + case self::ACTOR_TYPE_PERSON: $user = new User; $field = $idKey == 'id' ? 'id' : 'name'; $users_id = plugin_formcreator_getFromDBByField($user, $field, $input['actor_value']); @@ -278,27 +281,36 @@ public function export(bool $remove_uuid = false) : array { case self::ACTOR_TYPE_GROUP_FROM_OBJECT: case self::ACTOR_TYPE_TECH_GROUP_FROM_OBJECT : $question = new PluginFormcreatorQuestion; - if ($question->getFromDB($target_actor['actor_value'])) { - $target_actor['actor_value'] = $question->fields['uuid']; + $field = $idToRemove == 'uuid' ? 'id' : 'uuid'; + $question->getFromDBByCrit([ + $field => $target_actor['actor_value'] + ]); + if (!$question->isNewItem()) { + $target_actor['actor_value'] = $idToRemove == 'uuid' ? $question->getID() : $question->fields['uuid']; } break; - case self::ACTOR_TYPE_PERSON: case self::ACTOR_TYPE_AUTHORS_SUPERVISOR: + $target_actor['actor_value'] = 0; + break; + case self::ACTOR_TYPE_PERSON: $user = new User; + $field = $idToRemove == 'uuid' ? 'id' : 'completename'; if ($user->getFromDB($target_actor['actor_value'])) { - $target_actor['actor_value'] = $user->fields['name']; + $target_actor['actor_value'] = $user->fields[$field]; } break; case self::ACTOR_TYPE_GROUP: $group = new Group; + $field = $idToRemove == 'uuid' ? 'id' : 'completename'; if ($group->getFromDB($target_actor['actor_value'])) { - $target_actor['actor_value'] = $group->fields['completename']; + $target_actor['actor_value'] = $group->fields[$field]; } break; case self::ACTOR_TYPE_SUPPLIER: $supplier = new Supplier; + $field = $idToRemove == 'uuid' ? 'id' : 'completename'; if ($supplier->getFromDB($target_actor['actor_value'])) { - $target_actor['actor_value'] = $supplier->fields['name']; + $target_actor['actor_value'] = $supplier->fields[$field]; } break; } diff --git a/inc/targetticket.class.php b/inc/targetticket.class.php index 6c49f2aeb..1c9269b6c 100644 --- a/inc/targetticket.class.php +++ b/inc/targetticket.class.php @@ -834,7 +834,7 @@ public function save(PluginFormcreatorFormAnswer $formanswer): ?CommonDBTM { $this->prepareActors($form, $formanswer); - if (count($this->requesters['_users_id_requester']) == 0) { + if (count($this->requesters['_users_id_requester']) == 0 && count($this->requesterGroups['_groups_id_requester']) == 0) { $this->addActor(PluginFormcreatorTarget_Actor::ACTOR_ROLE_REQUESTER, $formanswer->fields['requester_id'], true); $requesters_id = $formanswer->fields['requester_id']; } else { @@ -901,6 +901,14 @@ public function save(PluginFormcreatorFormAnswer $formanswer): ?CommonDBTM { // Cleanup actors array $data = $this->cleanActors($data); + // Specific format for actors in tickets + // @see CommonITILObject::setTechAndGroupFromItilCategory() + if ($data['_users_id_assign'] === 0) { + $data['_users_id_assign'] = []; + $data['_users_id_assign_notif']['use_notification'] = []; + $data['_users_id_assign_notif']['alternative_email'] = []; + } + // Create the target ticket $data['_auto_import'] = true; if (!$ticketID = $ticket->add($data)) { diff --git a/install/install.php b/install/install.php index 1c086c611..fdb689cc6 100644 --- a/install/install.php +++ b/install/install.php @@ -83,6 +83,7 @@ class PluginFormcreatorInstall { '2.13.4' => '2.13.5', '2.13.5' => '2.13.6', '2.13.6' => '2.13.7', + '2.13.7' => '2.13.10', ]; protected bool $resyncIssues = false; @@ -764,7 +765,7 @@ protected function createMiniDashboardBigNumbers() { // With counters $x = 0; $w = 4; // Width - $h = 1; // Height + $h = 2; // Height $s = 0; // space between widgets $y = 0; foreach ($cards as $key => $options) { diff --git a/install/mysql/plugin_formcreator_2.13.10_empty.sql b/install/mysql/plugin_formcreator_2.13.10_empty.sql new file mode 100644 index 000000000..6838b92fb --- /dev/null +++ b/install/mysql/plugin_formcreator_2.13.10_empty.sql @@ -0,0 +1,352 @@ +-- Database schema +-- Do NOT drop anything here + +CREATE TABLE IF NOT EXISTS `glpi_plugin_formcreator_answers` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `plugin_formcreator_formanswers_id` int unsigned NOT NULL DEFAULT '0', + `plugin_formcreator_questions_id` int unsigned NOT NULL DEFAULT '0', + `answer` longtext, + PRIMARY KEY (`id`), + INDEX `plugin_formcreator_formanswers_id` (`plugin_formcreator_formanswers_id`), + INDEX `plugin_formcreator_questions_id` (`plugin_formcreator_questions_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC; +CREATE TABLE IF NOT EXISTS `glpi_plugin_formcreator_categories` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL DEFAULT '', + `comment` mediumtext, + `completename` varchar(255) DEFAULT NULL, + `plugin_formcreator_categories_id` int unsigned NOT NULL DEFAULT '0', + `level` int(11) NOT NULL DEFAULT '1', + `sons_cache` longtext, + `ancestors_cache` longtext, + `knowbaseitemcategories_id` int unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + INDEX `name` (`name`), + INDEX `knowbaseitemcategories_id` (`knowbaseitemcategories_id`), + INDEX `plugin_formcreator_categories_id` (`plugin_formcreator_categories_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC; +CREATE TABLE IF NOT EXISTS `glpi_plugin_formcreator_entityconfigs` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `entities_id` int unsigned NOT NULL DEFAULT '0', + `replace_helpdesk` int(11) NOT NULL DEFAULT '-2', + `default_form_list_mode` int(11) NOT NULL DEFAULT '-2', + `sort_order` int(11) NOT NULL DEFAULT '-2', + `is_kb_separated` int(11) NOT NULL DEFAULT '-2', + `is_search_visible` int(11) NOT NULL DEFAULT '-2', + `is_dashboard_visible` int(11) NOT NULL DEFAULT '-2', + `is_header_visible` int(11) NOT NULL DEFAULT '-2', + `is_search_issue_visible` int(11) NOT NULL DEFAULT '-2', + `tile_design` int(11) NOT NULL DEFAULT '-2', + `header` text, + `service_catalog_home` int(11) NOT NULL DEFAULT '-2', + PRIMARY KEY (`id`), + UNIQUE KEY `unicity` (`entities_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC; +CREATE TABLE IF NOT EXISTS `glpi_plugin_formcreator_forms` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL DEFAULT '', + `entities_id` int unsigned NOT NULL DEFAULT '0', + `is_recursive` tinyint(1) NOT NULL DEFAULT '0', + `icon` varchar(255) NOT NULL DEFAULT '', + `icon_color` varchar(255) NOT NULL DEFAULT '', + `background_color` varchar(255) NOT NULL DEFAULT '', + `access_rights` tinyint(1) NOT NULL DEFAULT '1', + `description` varchar(255) DEFAULT NULL, + `content` longtext, + `plugin_formcreator_categories_id` int unsigned NOT NULL DEFAULT '0', + `is_active` tinyint(1) NOT NULL DEFAULT '0', + `language` varchar(255) NOT NULL DEFAULT '', + `helpdesk_home` tinyint(1) NOT NULL DEFAULT '0', + `is_deleted` tinyint(1) NOT NULL DEFAULT '0', + `validation_required` tinyint(1) NOT NULL DEFAULT '0', + `usage_count` int(11) NOT NULL DEFAULT '0', + `is_default` tinyint(1) NOT NULL DEFAULT '0', + `is_captcha_enabled` tinyint(1) NOT NULL DEFAULT '0', + `show_rule` int(11) NOT NULL DEFAULT '1' COMMENT 'Conditions setting to show the submit button', + `formanswer_name` varchar(255) NOT NULL DEFAULT '', + `is_visible` tinyint NOT NULL DEFAULT 1, + `uuid` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id`), + INDEX `entities_id` (`entities_id`), + INDEX `plugin_formcreator_categories_id` (`plugin_formcreator_categories_id`), + FULLTEXT KEY `Search` (`name`,`description`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC; +CREATE TABLE IF NOT EXISTS `glpi_plugin_formcreator_formanswers` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL DEFAULT '', + `entities_id` int unsigned NOT NULL DEFAULT '0', + `is_recursive` tinyint(1) NOT NULL DEFAULT '0', + `plugin_formcreator_forms_id` int unsigned NOT NULL DEFAULT '0', + `requester_id` int unsigned NOT NULL DEFAULT '0', + `users_id_validator` int unsigned NOT NULL DEFAULT '0' COMMENT 'User in charge of validation', + `groups_id_validator` int unsigned NOT NULL DEFAULT '0' COMMENT 'Group in charge of validation', + `request_date` timestamp NULL, + `status` int(11) NOT NULL DEFAULT '101', + `comment` mediumtext, + PRIMARY KEY (`id`), + INDEX `plugin_formcreator_forms_id` (`plugin_formcreator_forms_id`), + INDEX `entities_id_is_recursive` (`entities_id`, `is_recursive`), + INDEX `requester_id` (`requester_id`), + INDEX `users_id_validator` (`users_id_validator`), + INDEX `groups_id_validator` (`groups_id_validator`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC; +CREATE TABLE IF NOT EXISTS `glpi_plugin_formcreator_forms_profiles` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `plugin_formcreator_forms_id` int unsigned NOT NULL DEFAULT '0', + `profiles_id` int unsigned NOT NULL DEFAULT '0', + `uuid` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `unicity` (`plugin_formcreator_forms_id`,`profiles_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC; +CREATE TABLE IF NOT EXISTS `glpi_plugin_formcreator_forms_users` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `plugin_formcreator_forms_id` int unsigned NOT NULL, + `users_id` int unsigned NOT NULL, + `uuid` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `unicity` (`plugin_formcreator_forms_id`,`users_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC; +CREATE TABLE IF NOT EXISTS `glpi_plugin_formcreator_forms_groups` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `plugin_formcreator_forms_id` int unsigned NOT NULL, + `groups_id` int unsigned NOT NULL, + `uuid` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `unicity` (`plugin_formcreator_forms_id`,`groups_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC; +CREATE TABLE IF NOT EXISTS `glpi_plugin_formcreator_forms_validators` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `plugin_formcreator_forms_id` int unsigned NOT NULL DEFAULT '0', + `itemtype` varchar(255) NOT NULL DEFAULT '', + `items_id` int unsigned NOT NULL DEFAULT '0', + `uuid` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `unicity` (`plugin_formcreator_forms_id`,`itemtype`,`items_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC; +CREATE TABLE IF NOT EXISTS `glpi_plugin_formcreator_questions` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL DEFAULT '', + `plugin_formcreator_sections_id` int unsigned NOT NULL DEFAULT '0', + `fieldtype` varchar(30) NOT NULL DEFAULT 'text', + `required` tinyint(1) NOT NULL DEFAULT '0', + `show_empty` tinyint(1) NOT NULL DEFAULT '0', + `default_values` mediumtext, + `itemtype` varchar(255) NOT NULL DEFAULT '' COMMENT 'itemtype used for glpi objects and dropdown question types', + `values` mediumtext, + `description` mediumtext, + `row` int(11) NOT NULL DEFAULT '0', + `col` int(11) NOT NULL DEFAULT '0', + `width` int(11) NOT NULL DEFAULT '0', + `show_rule` int(11) NOT NULL DEFAULT '1', + `uuid` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id`), + INDEX `plugin_formcreator_sections_id` (`plugin_formcreator_sections_id`), + FULLTEXT KEY `Search` (`name`,`description`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC; +CREATE TABLE IF NOT EXISTS `glpi_plugin_formcreator_conditions` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `itemtype` varchar(255) NOT NULL DEFAULT '' COMMENT 'itemtype of the item affected by the condition', + `items_id` int unsigned NOT NULL DEFAULT '0' COMMENT 'item ID of the item affected by the condition', + `plugin_formcreator_questions_id` int unsigned NOT NULL DEFAULT '0' COMMENT 'question to test for the condition', + `show_condition` int(11) NOT NULL DEFAULT '0', + `show_value` mediumtext NULL DEFAULT NULL, + `show_logic` int(11) NOT NULL DEFAULT '1', + `order` int(11) NOT NULL DEFAULT '1', + `uuid` varchar(255) NULL DEFAULT NULL, + PRIMARY KEY (`id`), + INDEX `plugin_formcreator_questions_id` (`plugin_formcreator_questions_id`), + INDEX `item` (`itemtype`, `items_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC; +CREATE TABLE IF NOT EXISTS `glpi_plugin_formcreator_sections` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL DEFAULT '', + `plugin_formcreator_forms_id` int unsigned NOT NULL DEFAULT '0', + `order` int(11) NOT NULL DEFAULT '0', + `show_rule` int(11) NOT NULL DEFAULT '1', + `uuid` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id`), + INDEX `plugin_formcreator_forms_id` (`plugin_formcreator_forms_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC; +CREATE TABLE IF NOT EXISTS `glpi_plugin_formcreator_targetchanges` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL DEFAULT '', + `plugin_formcreator_forms_id` int unsigned NOT NULL DEFAULT '0', + `target_name` varchar(255) NOT NULL DEFAULT '', + `changetemplates_id` int unsigned NOT NULL DEFAULT '0', + `content` longtext, + `impactcontent` longtext, + `controlistcontent` longtext, + `rolloutplancontent` longtext, + `backoutplancontent` longtext, + `checklistcontent` longtext, + `due_date_rule` int(11) NOT NULL DEFAULT '1', + `due_date_question` int unsigned NOT NULL DEFAULT '0', + `due_date_value` tinyint(4) DEFAULT NULL, + `due_date_period` int(11) NOT NULL DEFAULT '0', + `urgency_rule` int(11) NOT NULL DEFAULT '1', + `urgency_question` int unsigned NOT NULL DEFAULT '0', + `validation_followup` tinyint(1) NOT NULL DEFAULT '1', + `destination_entity` int(11) NOT NULL DEFAULT '1', + `destination_entity_value` int unsigned NOT NULL DEFAULT '0', + `tag_type` int(11) NOT NULL DEFAULT '1', + `tag_questions` varchar(255) NOT NULL DEFAULT '', + `tag_specifics` varchar(255) NOT NULL DEFAULT '', + `category_rule` int(11) NOT NULL DEFAULT '1', + `category_question` int unsigned NOT NULL DEFAULT '0', + `commonitil_validation_rule` int(11) NOT NULL DEFAULT '1', + `commonitil_validation_question` varchar(255) DEFAULT NULL, + `show_rule` int(11) NOT NULL DEFAULT '1', + `sla_rule` int(11) NOT NULL DEFAULT '1', + `sla_question_tto` int unsigned NOT NULL DEFAULT '0', + `sla_question_ttr` int unsigned NOT NULL DEFAULT '0', + `ola_rule` int(11) NOT NULL DEFAULT '1', + `ola_question_tto` int unsigned NOT NULL DEFAULT '0', + `ola_question_ttr` int unsigned NOT NULL DEFAULT '0', + `uuid` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC; +CREATE TABLE IF NOT EXISTS `glpi_plugin_formcreator_targettickets` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL DEFAULT '', + `plugin_formcreator_forms_id` int unsigned NOT NULL DEFAULT '0', + `target_name` varchar(255) NOT NULL DEFAULT '', + `source_rule` int(11) NOT NULL DEFAULT '0', + `source_question` int(11) NOT NULL DEFAULT '0', + `type_rule` int(11) NOT NULL DEFAULT '0', + `type_question` int unsigned NOT NULL DEFAULT '0', + `tickettemplates_id` int unsigned NOT NULL DEFAULT '0', + `content` longtext, + `due_date_rule` int(11) NOT NULL DEFAULT '1', + `due_date_question` int unsigned NOT NULL DEFAULT '0', + `due_date_value` tinyint(4) DEFAULT NULL, + `due_date_period` int(11) NOT NULL DEFAULT '0', + `urgency_rule` int(11) NOT NULL DEFAULT '1', + `urgency_question` int unsigned NOT NULL DEFAULT '0', + `validation_followup` tinyint(1) NOT NULL DEFAULT '1', + `destination_entity` int(11) NOT NULL DEFAULT '1', + `destination_entity_value` int unsigned NOT NULL DEFAULT '0', + `tag_type` int(11) NOT NULL DEFAULT '1', + `tag_questions` varchar(255) NOT NULL DEFAULT '', + `tag_specifics` varchar(255) NOT NULL DEFAULT '', + `category_rule` int(11) NOT NULL DEFAULT '1', + `category_question` int unsigned NOT NULL DEFAULT '0', + `associate_rule` int(11) NOT NULL DEFAULT '1', + `associate_question` int unsigned NOT NULL DEFAULT '0', + `location_rule` int(11) NOT NULL DEFAULT '1', + `location_question` int unsigned NOT NULL DEFAULT '0', + `commonitil_validation_rule` int(11) NOT NULL DEFAULT '1', + `commonitil_validation_question` varchar(255) DEFAULT NULL, + `show_rule` int(11) NOT NULL DEFAULT '1', + `sla_rule` int(11) NOT NULL DEFAULT '1', + `sla_question_tto` int unsigned NOT NULL DEFAULT '0', + `sla_question_ttr` int unsigned NOT NULL DEFAULT '0', + `ola_rule` int(11) NOT NULL DEFAULT '1', + `ola_question_tto` int unsigned NOT NULL DEFAULT '0', + `ola_question_ttr` int unsigned NOT NULL DEFAULT '0', + `uuid` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id`), + INDEX `tickettemplates_id` (`tickettemplates_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC; +CREATE TABLE IF NOT EXISTS `glpi_plugin_formcreator_targetproblems` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL DEFAULT '', + `plugin_formcreator_forms_id` int unsigned NOT NULL DEFAULT '0', + `target_name` varchar(255) NOT NULL DEFAULT '', + `problemtemplates_id` int unsigned NOT NULL DEFAULT '0', + `content` longtext, + `impactcontent` longtext, + `causecontent` longtext, + `symptomcontent` longtext, + `urgency_rule` int(11) NOT NULL DEFAULT '1', + `urgency_question` int unsigned NOT NULL DEFAULT '0', + `destination_entity` int(11) NOT NULL DEFAULT '1', + `destination_entity_value` int unsigned NOT NULL DEFAULT '0', + `tag_type` int(11) NOT NULL DEFAULT '1', + `tag_questions` varchar(255) NOT NULL DEFAULT '', + `tag_specifics` varchar(255) NOT NULL DEFAULT '', + `category_rule` int(11) NOT NULL DEFAULT '1', + `category_question` int unsigned NOT NULL DEFAULT '0', + `show_rule` int(11) NOT NULL DEFAULT '1', + `uuid` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id`), + INDEX `problemtemplates_id` (`problemtemplates_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC; +CREATE TABLE IF NOT EXISTS `glpi_plugin_formcreator_targets_actors` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `itemtype` varchar(255) DEFAULT NULL, + `items_id` int unsigned NOT NULL DEFAULT '0', + `actor_role` int(11) NOT NULL DEFAULT '1', + `actor_type` int(11) NOT NULL DEFAULT '1', + `actor_value` int unsigned NOT NULL DEFAULT '0', + `use_notification` tinyint(1) NOT NULL DEFAULT '1', + `uuid` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id`), + INDEX `item` (`itemtype`, `items_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC; +CREATE TABLE IF NOT EXISTS `glpi_plugin_formcreator_issues` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(255) NULL DEFAULT NULL, + `display_id` varchar(255) NOT NULL, + `items_id` int unsigned NOT NULL DEFAULT '0', + `itemtype` varchar(255) NOT NULL DEFAULT '', + `status` varchar(255) NOT NULL DEFAULT '', + `date_creation` timestamp NULL, + `date_mod` timestamp NULL, + `entities_id` int unsigned NOT NULL DEFAULT '0', + `is_recursive` tinyint(1) NOT NULL DEFAULT '0', + `requester_id` int unsigned NOT NULL DEFAULT '0', + `comment` longtext, + `users_id_recipient` int unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + INDEX `item` (`itemtype`, `items_id`), + INDEX `entities_id` (`entities_id`), + INDEX `requester_id` (`requester_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC; +CREATE TABLE IF NOT EXISTS `glpi_plugin_formcreator_items_targettickets` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `plugin_formcreator_targettickets_id` int unsigned NOT NULL DEFAULT '0', + `link` int(11) NOT NULL DEFAULT '0', + `itemtype` varchar(255) NOT NULL DEFAULT '', + `items_id` int unsigned NOT NULL DEFAULT '0', + `uuid` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id`), + INDEX `plugin_formcreator_targettickets_id` (`plugin_formcreator_targettickets_id`), + INDEX `item` (`itemtype`,`items_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC; +CREATE TABLE IF NOT EXISTS `glpi_plugin_formcreator_questiondependencies` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `plugin_formcreator_questions_id` int unsigned NOT NULL DEFAULT '0', + `plugin_formcreator_questions_id_2` int unsigned NOT NULL DEFAULT '0', + `fieldname` varchar(255) DEFAULT NULL, + `uuid` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id`), + INDEX `plugin_formcreator_questions_id` (`plugin_formcreator_questions_id`), + INDEX `plugin_formcreator_questions_id_2` (`plugin_formcreator_questions_id_2`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC; +CREATE TABLE IF NOT EXISTS `glpi_plugin_formcreator_questionregexes` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `plugin_formcreator_questions_id` int unsigned NOT NULL DEFAULT '0', + `regex` mediumtext DEFAULT NULL, + `fieldname` varchar(255) DEFAULT NULL, + `uuid` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id`), + INDEX `plugin_formcreator_questions_id` (`plugin_formcreator_questions_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC; +CREATE TABLE IF NOT EXISTS `glpi_plugin_formcreator_questionranges` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `plugin_formcreator_questions_id` int unsigned NOT NULL DEFAULT '0', + `range_min` varchar(255) DEFAULT NULL, + `range_max` varchar(255) DEFAULT NULL, + `fieldname` varchar(255) DEFAULT NULL, + `uuid` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id`), + INDEX `plugin_formcreator_questions_id` (`plugin_formcreator_questions_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC; +CREATE TABLE IF NOT EXISTS `glpi_plugin_formcreator_forms_languages` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `plugin_formcreator_forms_id` int unsigned NOT NULL DEFAULT '0', + `name` varchar(255) DEFAULT NULL, + `comment` text, + `uuid` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC; \ No newline at end of file diff --git a/install/upgrade_to_2.13.10.php b/install/upgrade_to_2.13.10.php new file mode 100644 index 000000000..dbc91847c --- /dev/null +++ b/install/upgrade_to_2.13.10.php @@ -0,0 +1,80 @@ +. + * --------------------------------------------------------------------- + * @copyright Copyright © 2011 - 2021 Teclib' + * @license http://www.gnu.org/licenses/gpl.txt GPLv3+ + * @link https://github.com/pluginsGLPI/formcreator/ + * @link https://pluginsglpi.github.io/formcreator/ + * @link http://plugins.glpi-project.org/#/plugin/formcreator + * --------------------------------------------------------------------- + */ + +use Glpi\Dashboard\Dashboard; +use Glpi\Dashboard\Item; + +class PluginFormcreatorUpgradeTo2_13_10 +{ + /** @var Migration */ + protected $migration; + + public function isResyncIssuesRequired() { + return false; + } + + /** + * @param Migration $migration + */ + public function upgrade(Migration $migration) { + $this->migration = $migration; + $this->resizeWidgets(); + } + + /** + * Resize widgets of the `plugin_formcreator_issue_counters` dashboard to match + * the mini_tickets core dashboard style + * + * @return void + */ + public function resizeWidgets() { + // Get container + $dashboard = new Dashboard(); + $found = $dashboard->getFromDB("plugin_formcreator_issue_counters"); + + if (!$found) { + // Unable to fetch dashboard + return; + }; + + $di = new Item(); + $cards = $di->find(['dashboards_dashboards_id' => $dashboard->fields['id']]); + + foreach ($cards as $card) { + $di = new Item(); + $di->update([ + 'id' => $card['id'], + 'height' => 2, + ]); + } + } +} diff --git a/install/upgrade_to_2.13.7.php b/install/upgrade_to_2.13.7.php index efba230d7..e0399d8ca 100644 --- a/install/upgrade_to_2.13.7.php +++ b/install/upgrade_to_2.13.7.php @@ -1,4 +1,5 @@ 0, ]); - $x +=4; + $x += 4; } } } diff --git a/locales/cs_CZ.po b/locales/cs_CZ.po index 93d6c28d5..264c77dd7 100644 --- a/locales/cs_CZ.po +++ b/locales/cs_CZ.po @@ -5,8 +5,8 @@ # # Translators: # Pavel Borecki , 2022 -# David Stepan , 2023 # Thierry Bugier , 2023 +# David Stepan , 2024 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-11-13 14:56+0100\n" "PO-Revision-Date: 2021-08-30 07:22+0000\n" -"Last-Translator: Thierry Bugier , 2023\n" +"Last-Translator: David Stepan , 2024\n" "Language-Team: Czech (Czech Republic) (https://app.transifex.com/teclib/teams/28042/cs_CZ/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -254,7 +254,7 @@ msgstr "LDAP adresář nenalezen!" #: inc/field/ldapselectfield.class.php:154 msgid "LDAP attribute is required!" -msgstr "" +msgstr "Atribut LDAP je povinný!" #: inc/field/textfield.class.php:146 inc/field/floatfield.class.php:156 #, php-format @@ -294,15 +294,15 @@ msgstr "Přepínač" #: inc/field/radiosfield.class.php:116 inc/field/checkboxesfield.class.php:256 msgid "The field value is required." -msgstr "" +msgstr "Hodnota pole je povinná." #: inc/field/radiosfield.class.php:127 msgid "Only one default value is allowed." -msgstr "" +msgstr "Je povolena pouze jedna výchozí hodnota." #: inc/field/radiosfield.class.php:138 msgid "The default value is not in the list of available values." -msgstr "" +msgstr "Výchozí hodnota není v seznamu dostupných hodnot." #: inc/field/radiosfield.class.php:215 inc/field/selectfield.class.php:105 #: inc/field/datetimefield.class.php:119 inc/field/actorfield.class.php:257 @@ -314,7 +314,7 @@ msgstr "Povinné pole je prázdné: %s" #: inc/field/radiosfield.class.php:234 inc/field/selectfield.class.php:123 #, php-format msgid "This value %1$s is not allowed: %2$s" -msgstr "" +msgstr "Tato hodnota %1$s není povolena: %2$s" #: inc/field/integerfield.class.php:60 #, php-format @@ -503,26 +503,26 @@ msgstr "Zaškrtávací kolonka" #: inc/field/checkboxesfield.class.php:208 #, php-format msgid "Empty values are not allowed: %s" -msgstr "" +msgstr "Prázdné hodnoty nejsou povoleny: %s" #: inc/field/checkboxesfield.class.php:216 #, php-format msgid "This value %1$s is not alowed: %2$s" -msgstr "" +msgstr "Tato hodnota %1$s není povolena: %2$s" #: inc/field/checkboxesfield.class.php:236 #, php-format msgid "The following question needs at least %d answers: %s" -msgstr "" +msgstr "Následující otázka vyžaduje alespoň %d odpovědi: %s" #: inc/field/checkboxesfield.class.php:242 #, php-format msgid "The following question does not accept more than %d answers: %s" -msgstr "" +msgstr "Následující dotaz nepřijímá více než %d odpovědí: %s" #: inc/field/checkboxesfield.class.php:270 msgid "The default values are not in the list of available values." -msgstr "" +msgstr "Výchozí hodnoty nejsou v seznamu dostupných hodnot." #: inc/field/checkboxesfield.class.php:325 msgid "Range min" @@ -743,19 +743,19 @@ msgstr "Skupina schvalovatele formuláře" #: inc/issue.class.php:817 msgid "Ticket approver group" -msgstr "" +msgstr "Skupina schvalovatelů požadavku" #: inc/issue.class.php:857 msgid "Ticket requester" -msgstr "" +msgstr "Žadatel požadavku" #: inc/issue.class.php:904 msgid "Ticket observer" -msgstr "" +msgstr "Pozorovatel požadavku" #: inc/issue.class.php:952 msgid "Ticket technician" -msgstr "" +msgstr "Technik požadavku" #: inc/issue.class.php:1099 #, php-format @@ -830,7 +830,7 @@ msgstr "Formulář byl smazán" #: inc/notificationtargetformanswer.class.php:74 msgid "Form ID" -msgstr "" +msgstr "ID Formuláře" #: inc/notificationtargetformanswer.class.php:75 #: inc/notificationtargetformanswer.class.php:95 @@ -850,7 +850,7 @@ msgstr "Úplné odpovědi formuláře" #: inc/notificationtargetformanswer.class.php:80 msgid "Validation comment" -msgstr "" +msgstr "Komentář ověřovatele" #: inc/notificationtargetformanswer.class.php:81 #: inc/notificationtargetformanswer.class.php:101 @@ -859,7 +859,7 @@ msgstr "Odkaz ověření" #: inc/notificationtargetformanswer.class.php:82 msgid "Request ID" -msgstr "" +msgstr "ID žádosti" #: inc/notificationtargetformanswer.class.php:94 msgid "Form #" @@ -1032,6 +1032,8 @@ msgid "" "An internal error occured when verifying your answers. Please report it to " "your administrator." msgstr "" +"Při ověřování vašich odpovědí došlo k interní chybě. Nahlaste to prosím " +"svému správci." #: inc/formanswer.class.php:882 msgid "You are not the validator of these answers" @@ -1040,7 +1042,7 @@ msgstr "Nejste ověřovatelem těchto odpovědí" #: inc/formanswer.class.php:1021 #, php-format msgid "Item sucessfully added: %1$s (%2$s: %3$s)" -msgstr "" +msgstr "Položka byla úspěšně přidána: %1$s (%2$s: %3$s)" #: inc/formanswer.class.php:1104 inc/formanswer.class.php:1106 msgid "Form data" @@ -1053,7 +1055,7 @@ msgstr "Není možné vytvářet cíle!" #: inc/formanswer.class.php:1434 #, php-format msgid "Answer is invalid in %1$s" -msgstr "" +msgstr "Odpověď je neplatná v %1$s" #: inc/formanswer.class.php:1462 msgid "No turing test set" @@ -1085,7 +1087,7 @@ msgstr "Mé žádosti o pomoc" #: inc/common.class.php:829 msgid "Consult reminders" -msgstr "" +msgstr "Konzultovat upomínky" #: inc/common.class.php:849 msgid "Consult feeds" @@ -1133,15 +1135,15 @@ msgstr[3] "Překlady" #: inc/form_language.class.php:122 msgid "The name cannot be empty." -msgstr "" +msgstr "Jméno nemůže být prázdné." #: inc/form_language.class.php:130 msgid "The language must be associated to a form." -msgstr "" +msgstr "Jazyk musí být přiřazen k formuláři." #: inc/form_language.class.php:138 msgid "The specified language is not available." -msgstr "" +msgstr "Zadaný jazyk není k dispozici." #: inc/form_language.class.php:268 msgid "Add a translation" @@ -1337,11 +1339,11 @@ msgstr "Jednotná výška" #: inc/entityconfig.class.php:164 msgid "Search for assistance" -msgstr "" +msgstr "Vyhledat pomoc" #: inc/entityconfig.class.php:165 msgid "User's assistance requests" -msgstr "" +msgstr "Žádosti uživatele o pomoc" #: inc/entityconfig.class.php:261 msgid "Helpdesk" @@ -1382,7 +1384,7 @@ msgstr "Problém s hledáním" #: inc/entityconfig.class.php:393 inc/entityconfig.class.php:509 msgid "Service catalog home page" -msgstr "" +msgstr "Domovská stránka katalogu služeb" #: inc/entityconfig.class.php:409 inc/entityconfig.class.php:549 msgid "Tile design" @@ -1516,7 +1518,7 @@ msgstr "Náhled" #: inc/form.class.php:576 msgid "Form answer properties" -msgstr "" +msgstr "Vlastnosti odpovědi formuláře" #: inc/form.class.php:900 msgid "What are you looking for?" @@ -1590,7 +1592,7 @@ msgstr "Zpět" #: inc/form.class.php:1568 #, php-format msgid "Form updated: %s" -msgstr "" +msgstr "Formulář aktualizován: %s" #: inc/form.class.php:1668 msgid "Upload of JSON files not allowed." @@ -1925,29 +1927,29 @@ msgstr "Typ entity dle otázky" #: inc/command/cleanticketscommand.class.php:53 msgid "Searching for invalid items..." -msgstr "" +msgstr "Vyhledávání neplatných položek..." #: inc/command/cleanticketscommand.class.php:61 msgid "Done." -msgstr "" +msgstr "Hotovo." #: inc/command/cleanticketscommand.class.php:135 msgid "Step 1: double encoded < and > signs." -msgstr "" +msgstr "Krok 1: dvojitě zakódované znaky < a >." #: inc/command/cleanticketscommand.class.php:146 #: inc/command/cleanticketscommand.class.php:196 #: inc/command/cleanticketscommand.class.php:260 msgid "No invalid items found." -msgstr "" +msgstr "Nebyly nalezeny žádné neplatné položky." #: inc/command/cleanticketscommand.class.php:187 msgid "Step 2: literal BR tag." -msgstr "" +msgstr "Krok 2: znak BR." #: inc/command/cleanticketscommand.class.php:251 msgid "Step 3: litteral > sign." -msgstr "" +msgstr "Krok 3: znak >." #: inc/filter/itilcategoryfilter.class.php:52 #: inc/filter/itilcategoryfilter.class.php:54 @@ -2118,7 +2120,7 @@ msgstr "Žádný další řetězec k překladu" #: inc/translation.class.php:164 msgid "Internal error: translatable string not found." -msgstr "" +msgstr "Interní chyba: Přeložitelný řetězec nebyl nalezen." #: inc/translation.class.php:216 msgid "Language not found." @@ -2332,7 +2334,7 @@ msgstr "Ano" #: install/install.php:135 #, php-format msgid "Upgrade tables to innoDB; run %s" -msgstr "" +msgstr "Upgradujte tabulky na innoDB; běh %s" #: install/install.php:172 #, php-format @@ -2340,11 +2342,13 @@ msgid "" "The database schema is not consistent with the previous version of " "Formcreator %s. To see the logs run the command %s" msgstr "" +"Schéma databáze není konzistentní s předchozí verzí Formcreator %s. Chcete-" +"li zobrazit protokoly, spusťte příkaz %s" #: install/install.php:181 #, php-format msgid "To ignore the inconsistencies and upgrade anyway run %s" -msgstr "" +msgstr "Chcete-li ignorovat nesrovnalosti a provést upgrade, spusťte %s" #: install/install.php:198 msgid "" @@ -2352,6 +2356,9 @@ msgid "" " to GLPI 9.5.7, upgrade Formcreator to version 2.12.5, then upgrade again to" " GLPI 10 or later and Formcreator 2.13 or later." msgstr "" +"Upgrade z verze starší než 2.5.0 již není podporován. Upgradujte prosím na " +"GLPI 9.5.7, upgradujte Formcreator na verzi 2.12.5 a poté znovu upgradujte " +"na GLPI 10 nebo novější a Formcreator 2.13 nebo novější." #: install/install.php:250 #, php-format @@ -2359,10 +2366,12 @@ msgid "" "The database schema is not consistent with the current version of " "Formcreator %s. To see the logs enable the plugin and run the command %s" msgstr "" +"Schéma databáze není konzistentní s aktuální verzí Formcreator %s. Chcete-li" +" zobrazit protokoly, povolte zásuvný modul a spusťte příkaz %s" #: install/install.php:261 msgid "The tables of the plugin passed the schema integrity check." -msgstr "" +msgstr "Tabulky pluginu prošly kontrolou integrity schématu." #: install/install.php:413 msgid "A form has been created" @@ -2435,22 +2444,22 @@ msgstr "Vytváření formulářů – problémy katalogu synchronizační služb #: install/install.php:853 msgid "Failed to check the sanity of the tables!" -msgstr "" +msgstr "Nepodařilo se zkontrolovat správnost tabulek!" #: install/install.php:867 #, php-format msgid "Table schema differs for table \"%s\"." -msgstr "" +msgstr "Schéma tabulky se liší pro tabulku \"%s\"." #: install/install.php:870 #, php-format msgid "Table \"%s\" is missing." -msgstr "" +msgstr "Tabulka \"%s“ chybí." #: install/install.php:873 #, php-format msgid "Unknown table \"%s\" has been found in database." -msgstr "" +msgstr "V databázi byla nalezena neznámá tabulka \"%s\"." #: hook.php:378 msgctxt "button" @@ -2469,7 +2478,7 @@ msgstr "Export" #: hook.php:381 msgctxt "button" msgid "Access rights" -msgstr "" +msgstr "Přístupová práva" #: hook.php:693 msgid "Cancel my ticket" @@ -2530,15 +2539,15 @@ msgstr "Odeslat" #: js/scripts.js:1381 msgid "An internal error occurred. Please report it to administrator." -msgstr "" +msgstr "Objevila se interní chyba. Nahlaste to prosím administrátorovi." #: js/scripts.js:1449 msgid "Are you sure you want to duplicate this target?" -msgstr "" +msgstr "Opravdu chcete duplikovat tento cíl?" #: js/scripts.js:1466 msgid "Are you sure you want to delete this target?" -msgstr "" +msgstr "Opravdu chcete tento cíl smazat?" #: entrée standard:43 standard:50 standard:44 standard:82 standard:49 #: standard:78 @@ -2632,12 +2641,12 @@ msgstr "Podmínka pro zobrazení tlačítka Odeslat" #: entrée standard:33 msgid "No form answer yet" -msgstr "" +msgstr "Zatím žádná odpověď z formuláře" #: entrée standard:38 #, php-format msgid "%s latest items" -msgstr "" +msgstr "%s nejnovější položky" #: entrée standard:83 msgid "Add a question" diff --git a/locales/es_AR.po b/locales/es_AR.po index 11ad92f47..50beeffbf 100644 --- a/locales/es_AR.po +++ b/locales/es_AR.po @@ -7,8 +7,8 @@ # Emiliano Cagliari , 2022 # Luis Angel Uriarte , 2022 # Fernando Toledo , 2023 -# Nicolás Gaviola, 2023 # Thierry Bugier , 2023 +# Nicolás Gaviola, 2024 # #, fuzzy msgid "" @@ -17,7 +17,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-11-13 14:56+0100\n" "PO-Revision-Date: 2021-08-30 07:22+0000\n" -"Last-Translator: Thierry Bugier , 2023\n" +"Last-Translator: Nicolás Gaviola, 2024\n" "Language-Team: Spanish (Argentina) (https://app.transifex.com/teclib/teams/28042/es_AR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -68,7 +68,7 @@ msgstr "Limite la profundidad del subárbol" #: ajax/commontree.php:84 msgid "No limit" -msgstr "Sin limite." +msgstr "Sin limite" #: ajax/homepage_link.php:36 inc/formlist.class.php:46 inc/form.class.php:111 #: entrée standard:47 @@ -200,7 +200,7 @@ msgstr "Campo obligatorio vacío:" #: inc/field/integerfield.class.php:82 inc/field/floatfield.class.php:197 #: inc/conditionnabletrait.class.php:70 msgid "The regular expression is invalid" -msgstr "La expresión regular no es válida." +msgstr "La expresión regular no es válida" #: inc/field/dropdownfield.class.php:79 inc/filter/entityfilter.class.php:48 msgid "User and form" @@ -215,7 +215,7 @@ msgstr[2] "Menúes desplegables" #: inc/field/dropdownfield.class.php:473 msgid "Invalid value for " -msgstr "Valor incorrecto para" +msgstr "Valor incorrecto para " #: inc/field/dropdownfield.class.php:485 #, php-format @@ -254,7 +254,7 @@ msgstr "¡El directorio LDAP no se ha encontrado!" #: inc/field/ldapselectfield.class.php:154 msgid "LDAP attribute is required!" -msgstr "" +msgstr "¡El atributo LDAP es obligatorio!" #: inc/field/textfield.class.php:146 inc/field/floatfield.class.php:156 #, php-format @@ -976,7 +976,7 @@ msgstr[2] "Respuestas del formulario" #: inc/formanswer.class.php:629 msgid "Print this form" -msgstr "cbvsxv" +msgstr "Imprimir este formulario" #: inc/formanswer.class.php:654 msgid "Form accepted by validator." @@ -1402,7 +1402,7 @@ msgstr "Rango mínimo" #: inc/questionrange.class.php:71 inc/questionparameter/range.class.php:75 msgid "maximum range" -msgstr "Rango máximo" +msgstr "rango máximo" #: inc/form.class.php:66 inc/form.class.php:432 msgid "Public access" @@ -1616,7 +1616,7 @@ msgstr "Enviar" #: inc/form.class.php:1749 msgid "Forms import impossible, the file is empty" -msgstr "imposible importar el formulario, el archivo esta vacío" +msgstr "Imposible importar el formulario, el archivo esta vacío" #: inc/form.class.php:1753 inc/form.class.php:1757 msgid "Forms import impossible, the file seems corrupt" @@ -1688,7 +1688,7 @@ msgstr "Agregar" #: inc/form.class.php:2272 inc/form.class.php:2295 inc/form.class.php:2317 msgid "Unsupported target type." -msgstr "Tipo de Destino no soportado" +msgstr "Tipo de Destino no soportado." #: inc/form.class.php:2351 msgid "plugin_formcreator_load_check" @@ -1885,7 +1885,7 @@ msgstr "Un destino debe de ser asociado a el formulario." #: inc/abstracttarget.class.php:134 msgid "A target must be associated to an existing form." -msgstr "Un destino debe estar asociado a un formulario existente" +msgstr "Un destino debe estar asociado a un formulario existente." #: inc/abstracttarget.class.php:139 msgid "Name is required." @@ -2042,7 +2042,7 @@ msgstr "Otro destino de este formulario" #: inc/targetticket.class.php:401 msgid "An existing ticket" -msgstr "Un Ticket existente." +msgstr "Un ticket existente" #: inc/targetticket.class.php:402 msgid "A ticket from an answer to a question" @@ -2063,11 +2063,11 @@ msgstr "Tipo de elemento vinculado no válido" #: inc/targetticket.class.php:757 msgid "Linked item does not exists" -msgstr "El elemento vinculado no existe." +msgstr "El elemento vinculado no existe" #: inc/targetticket.class.php:770 msgid "Failed to link the item" -msgstr "Error al vincular el elemento." +msgstr "Error al vincular el elemento" #: inc/targetticket.class.php:939 install/install.php:432 msgid "Your form has been accepted by the validator" @@ -2079,7 +2079,7 @@ msgstr "Tipo de solicitud" #: inc/targetticket.class.php:1120 msgid "Type " -msgstr "Tipo" +msgstr "Tipo " #: inc/targetticket.class.php:1148 msgid "Associated elements" @@ -2087,7 +2087,7 @@ msgstr "Elementos asociados" #: inc/targetticket.class.php:1159 msgid "Item " -msgstr "ítem" +msgstr "Ítem " #: inc/translation.class.php:153 msgid "No more string to translate" @@ -2099,7 +2099,7 @@ msgstr "Error interno: cadena traducible no encontrada." #: inc/translation.class.php:216 msgid "Language not found." -msgstr "Idioma no encontrado" +msgstr "Idioma no encontrado." #: inc/translation.class.php:221 msgid "Form not found." @@ -2127,15 +2127,15 @@ msgstr "Etiquetas de preguntas o etiquetas específicas" #: inc/abstractitiltarget.class.php:188 msgid "equals to the answer to the question" -msgstr "Equivale a la respuesta a la pregunta" +msgstr "la respuesta es igual a la pregunta" #: inc/abstractitiltarget.class.php:189 msgid "calculated from the ticket creation date" -msgstr "Calculado a partir de la fecha de creación del ticket" +msgstr "calculado a partir de la fecha de creación del ticket" #: inc/abstractitiltarget.class.php:190 msgid "calculated from the answer to the question" -msgstr "Calculado a partir de la respuesta a la pregunta" +msgstr "calculado a partir de la respuesta a la pregunta" #: inc/abstractitiltarget.class.php:196 msgid "SLA from template or none" @@ -2239,7 +2239,7 @@ msgstr "OLA ( TTO / TTR )" #: inc/abstractitiltarget.class.php:1034 msgid "Urgency " -msgstr "Urgencia" +msgstr "Urgencia " #: inc/abstractitiltarget.class.php:1064 msgid "Ticket tags" @@ -2255,7 +2255,7 @@ msgstr "Lugar" #: inc/abstractitiltarget.class.php:1243 msgid "Location " -msgstr "Ubicación" +msgstr "Ubicación " #: inc/abstractitiltarget.class.php:1583 msgid "The description cannot be empty!" @@ -2569,7 +2569,7 @@ msgstr "Mostrar categorías de ticket" #: entrée standard:109 msgid "Time to own" -msgstr "Tiempo de posesión " +msgstr "Tiempo de posesión" #: entrée standard:146 standard:118 msgid "Selectable root" diff --git a/locales/pt_PT.po b/locales/pt_PT.po index 3c485c1a9..608a9d162 100644 --- a/locales/pt_PT.po +++ b/locales/pt_PT.po @@ -2,20 +2,23 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# # Translators: # Pedro Rocha , 2021 # Rui Melo , 2022 -# Pedro B., 2022 -# +# Thierry Bugier , 2023 +# Anxo Jueguen, 2024 +# Gonçalo Dumas, 2024 +# Pedro B., 2024 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-30 09:32+0200\n" +"POT-Creation-Date: 2023-11-13 14:56+0100\n" "PO-Revision-Date: 2021-08-30 07:22+0000\n" -"Last-Translator: Pedro B., 2022\n" +"Last-Translator: Pedro B., 2024\n" "Language-Team: Portuguese (Portugal) (https://app.transifex.com/teclib/teams/28042/pt_PT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -54,7 +57,7 @@ msgstr "Não foi possível adicionar a secção" #: ajax/commontree.php:55 entrée standard:128 standard:100 msgid "Subtree root" -msgstr "Árvore raiz" +msgstr "Raiz da árvore" #: ajax/commontree.php:59 msgid "Selectable" @@ -68,14 +71,13 @@ msgstr "Limitar profundidade de árvore " msgid "No limit" msgstr "Sem limite" -#: ajax/homepage_link.php:36 inc/formlist.class.php:46 -#: inc/entityconfig.class.php:84 inc/form.class.php:111 inc/form.class.php:580 -#: inc/form.class.php:2027 entrée standard:47 +#: ajax/homepage_link.php:36 inc/formlist.class.php:46 inc/form.class.php:111 +#: entrée standard:47 msgid "Form" msgid_plural "Forms" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Formulário" +msgstr[1] "Formulários" +msgstr[2] "Formulários" #: ajax/section_delete.php:44 ajax/section_move.php:49 #: ajax/section_duplicate.php:44 @@ -88,7 +90,7 @@ msgstr "Não foi possível apagar a secção" #: ajax/question_add.php:45 msgid "Could not add the question" -msgstr "" +msgstr "Não foi possível adicionar a questão" #: ajax/section_move.php:66 msgid "Could not move the section" @@ -96,11 +98,11 @@ msgstr "Não foi possível mover a secção" #: ajax/target_actor.php:51 msgid "Failed to add the actor" -msgstr "" +msgstr "Falhou ao adicionar o ator" #: ajax/target_actor.php:62 msgid "Failed to delete the actor" -msgstr "" +msgstr "Falhou ao apagar o ator" #: ajax/section_duplicate.php:56 msgid "Could not duplicate the section" @@ -114,7 +116,7 @@ msgstr "Não foi possível atualizar a secção" #: front/wizardreminders.php:49 front/wizardreminders.php:51 #: front/wizard.php:45 front/wizard.php:50 front/wizardfeeds.php:49 #: front/wizardfeeds.php:51 front/issue.php:44 front/issue.php:50 -#: front/formanswer.php:44 front/reservation.php:46 front/reservation.php:48 +#: front/formanswer.php:46 front/reservation.php:46 front/reservation.php:48 #: front/knowbaseitem.form.php:48 front/knowbaseitem.form.php:50 #: front/reservationitem.php:42 front/reservationitem.php:44 #: front/formanswer.form.php:74 front/reservation.form.php:46 @@ -124,22 +126,21 @@ msgstr "Catálogo de serviços" #: front/issue.form.php:46 msgid "Item not found" -msgstr "" +msgstr "Item não encontrado" #: front/targetticket.form.php:46 front/targetticket.form.php:56 #: front/targetticket.form.php:81 front/targetchange.form.php:46 #: front/targetproblem.form.php:46 msgid "No right to update this item." -msgstr "" +msgstr "Não tem acesso a atualizar este item." #: front/targetticket.form.php:75 msgid "Bad request while deleting an actor." -msgstr "" +msgstr "Pedido incorreto ao apagar um ator." #: front/targetticket.form.php:95 front/targetchange.form.php:81 -#: front/formanswer.php:47 front/targetproblem.form.php:81 -#: front/formanswer.form.php:77 front/form.php:44 inc/common.class.php:692 -#: inc/common.class.php:699 +#: front/formanswer.php:49 front/targetproblem.form.php:81 front/form.php:44 +#: inc/common.class.php:692 inc/common.class.php:699 msgid "Form Creator" msgstr "Criador de formulários" @@ -147,14 +148,14 @@ msgstr "Criador de formulários" #: front/targetproblem.form.php:90 #, php-format msgid "%1$s = %2$s" -msgstr "" +msgstr "%1$s = %2$s" #: front/formlist.php:46 front/formlist.php:52 inc/common.class.php:686 msgid "Form list" msgstr "Lista de formulários" -#: front/formdisplay.php:90 inc/formanswer.class.php:1009 -#: inc/formanswer.class.php:1242 inc/formanswer.class.php:1292 +#: front/formdisplay.php:90 inc/formanswer.class.php:1015 +#: inc/formanswer.class.php:1248 inc/formanswer.class.php:1298 msgid "The form has been successfully saved!" msgstr "O formulário foi gravado com sucesso!" @@ -162,33 +163,33 @@ msgstr "O formulário foi gravado com sucesso!" #: front/reservation.form.php:71 #, php-format msgid "%1$s purges the reservation for item %2$s" -msgstr "" +msgstr "%1$s elimina a reserva para o item %2$s" #: front/reservation.form.php:124 #, php-format msgid "%1$s adds the reservation %2$s for item %3$s" -msgstr "" +msgstr "%1$s adiciona a reserva %2$s para o item %3$s" #: inc/knowbase.class.php:60 inc/form.class.php:658 msgid "Category" msgid_plural "Categories" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Categoria" +msgstr[1] "Categorias" +msgstr[2] "Categorias" #: inc/knowbase.class.php:62 inc/form.class.php:661 entrée standard:39 msgid "See all" -msgstr "" +msgstr "Ver tudo" #: inc/knowbase.class.php:83 msgid "Please, describe your need here" msgstr "Por favor, descreva sua necessidade aqui" -#: inc/field/textareafield.class.php:185 +#: inc/field/textareafield.class.php:176 msgid "Textarea" msgstr "Área de texto" -#: inc/field/textareafield.class.php:248 inc/field/dropdownfield.class.php:441 +#: inc/field/textareafield.class.php:239 inc/field/dropdownfield.class.php:451 #: inc/field/ldapselectfield.class.php:114 inc/field/textfield.class.php:125 #: inc/field/urgencyfield.class.php:165 inc/field/tagfield.class.php:163 #: inc/field/timefield.class.php:113 inc/field/fieldsfield.class.php:488 @@ -196,46 +197,48 @@ msgstr "Área de texto" msgid "A required field is empty:" msgstr "Um campo obrigatório está disponível:" -#: inc/field/textareafield.class.php:266 inc/field/textfield.class.php:178 -#: inc/field/integerfield.class.php:112 inc/field/floatfield.class.php:193 +#: inc/field/textareafield.class.php:257 inc/field/textfield.class.php:178 +#: inc/field/integerfield.class.php:82 inc/field/floatfield.class.php:197 #: inc/conditionnabletrait.class.php:70 msgid "The regular expression is invalid" msgstr "A expressão regular é inválida" -#: inc/field/dropdownfield.class.php:76 inc/filter/entityfilter.class.php:48 +#: inc/field/dropdownfield.class.php:79 inc/filter/entityfilter.class.php:48 msgid "User and form" -msgstr "" +msgstr "Utilizador e formulário" -#: inc/field/dropdownfield.class.php:432 entrée standard:38 +#: inc/field/dropdownfield.class.php:442 entrée standard:38 msgid "Dropdown" msgid_plural "Dropdowns" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Lista de seleção" +msgstr[1] "Listas de seleção" +msgstr[2] "Listas de seleção" -#: inc/field/dropdownfield.class.php:463 +#: inc/field/dropdownfield.class.php:473 msgid "Invalid value for " -msgstr "" +msgstr "Valor inválido para" -#: inc/field/dropdownfield.class.php:475 +#: inc/field/dropdownfield.class.php:485 #, php-format msgid "The itemtype field is required: %s" -msgstr "" +msgstr "O campo tipo de item é obrigatório\\: %s" -#: inc/field/dropdownfield.class.php:491 +#: inc/field/dropdownfield.class.php:501 #, php-format msgid "Invalid dropdown type: %s" -msgstr "" +msgstr "Tipo de lista suspensa inválida: %s" -#: inc/field/dropdownfield.class.php:822 entrée standard:162 standard:134 +#: inc/field/dropdownfield.class.php:839 entrée standard:162 standard:134 msgid "Entity restriction" -msgstr "" +msgstr "Restrição de entidade" -#: inc/field/dropdownfield.class.php:831 +#: inc/field/dropdownfield.class.php:848 msgid "" "To respect the GLPI entity system, \"Form\" should be selected. Others " "settings will break the entity restrictions" msgstr "" +"Para respeitar o sistema de entidades GLPI, deve-se selecionar " +"\"Formulário\". Outras configurações quebrarão as restrições da entidade" #: inc/field/ldapselectfield.class.php:95 msgid "LDAP Select" @@ -249,99 +252,103 @@ msgstr "Diretório LDAP não definido!" msgid "LDAP directory not found!" msgstr "Diretório LDAP não encontrado!" -#: inc/field/textfield.class.php:146 inc/field/integerfield.class.php:71 -#: inc/field/floatfield.class.php:155 +#: inc/field/ldapselectfield.class.php:154 +msgid "LDAP attribute is required!" +msgstr "Atributo LDAP é obrigatório!" + +#: inc/field/textfield.class.php:146 inc/field/floatfield.class.php:156 #, php-format msgid "Specific format does not match: %s" -msgstr "" +msgstr "Formato específico não corresponde: %s" #: inc/field/textfield.class.php:155 #, php-format msgid "The text is too short (minimum %d characters): %s" -msgstr "" +msgstr "O texto é muito curto (mínimo %d carateres): %s" #: inc/field/textfield.class.php:160 #, php-format msgid "The text is too long (maximum %d characters): %s" -msgstr "" +msgstr "O texto é muito longo (máximo %d carateres): %s" #: inc/field/textfield.class.php:168 msgid "Text" msgstr "Texto" -#: inc/field/textfield.class.php:217 inc/field/floatfield.class.php:234 +#: inc/field/textfield.class.php:217 inc/field/floatfield.class.php:238 #: inc/questionregex.class.php:62 entrée standard:42 msgid "Regular expression" msgstr "Expressão regular" -#: inc/field/textfield.class.php:222 inc/field/floatfield.class.php:239 +#: inc/field/textfield.class.php:222 inc/field/floatfield.class.php:243 msgid "Range" msgstr "Gama" -#: inc/field/textfield.class.php:228 inc/field/floatfield.class.php:245 +#: inc/field/textfield.class.php:228 inc/field/floatfield.class.php:249 msgid "Additional validation" msgstr "Validação adicional" -#: inc/field/radiosfield.class.php:107 +#: inc/field/radiosfield.class.php:108 msgid "Radios" msgstr "Rádios" -#: inc/field/radiosfield.class.php:113 inc/field/glpiselectfield.class.php:97 -#: inc/field/fieldsfield.class.php:512 inc/field/checkboxesfield.class.php:244 -msgid "The field value is required:" -msgstr "O valor do campo é necessário:" +#: inc/field/radiosfield.class.php:116 inc/field/checkboxesfield.class.php:256 +msgid "The field value is required." +msgstr "O valor do campo é necessário." + +#: inc/field/radiosfield.class.php:127 +msgid "Only one default value is allowed." +msgstr "Apenas um valor por defeito é autorizado." -#: inc/field/radiosfield.class.php:191 inc/field/selectfield.class.php:103 -#: inc/field/datetimefield.class.php:118 inc/field/actorfield.class.php:257 +#: inc/field/radiosfield.class.php:138 +msgid "The default value is not in the list of available values." +msgstr "O valor por defeito não está na lista de valores disponíveis." + +#: inc/field/radiosfield.class.php:215 inc/field/selectfield.class.php:105 +#: inc/field/datetimefield.class.php:119 inc/field/actorfield.class.php:257 #: inc/field/checkboxesfield.class.php:190 inc/field/floatfield.class.php:124 -#: inc/field/datefield.class.php:115 #, php-format msgid "A required field is empty: %s" -msgstr "" +msgstr "Um campo obrigatório está vazio: %s" -#: inc/field/integerfield.class.php:59 +#: inc/field/radiosfield.class.php:234 inc/field/selectfield.class.php:123 #, php-format -msgid "This is not an integer: %s" -msgstr "" - -#: inc/field/integerfield.class.php:85 inc/field/floatfield.class.php:166 -#, php-format -msgid "The following number must be greater than %d: %s" -msgstr "" +msgid "This value %1$s is not allowed: %2$s" +msgstr "O valor %1$s não é permitido: %2$s" -#: inc/field/integerfield.class.php:91 inc/field/floatfield.class.php:172 +#: inc/field/integerfield.class.php:60 #, php-format -msgid "The following number must be lower than %d: %s" -msgstr "" +msgid "This is not an integer: %s" +msgstr "Isto não é um número inteiro: %s" -#: inc/field/integerfield.class.php:101 +#: inc/field/integerfield.class.php:71 msgid "Integer" msgstr "Inteiro" #: inc/field/undefinedfield.class.php:44 msgid "Undefined" -msgstr "" +msgstr "Indefinido" #: inc/field/ipfield.class.php:122 msgid "IP address" msgid_plural "IP addresses" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Endereço IP" +msgstr[1] "Endereços IP" +msgstr[2] "Endereços IP" #: inc/field/urgencyfield.class.php:85 inc/abstractitiltarget.class.php:1023 msgid "Urgency" -msgstr "" +msgstr "Urgência" #: inc/field/urgencyfield.class.php:119 msgctxt "urgency" msgid "Very high" -msgstr "" +msgstr "Muito alto" #: inc/field/urgencyfield.class.php:120 msgctxt "urgency" msgid "High" -msgstr "" +msgstr "Alto" #: inc/field/urgencyfield.class.php:121 msgctxt "urgency" @@ -351,78 +358,82 @@ msgstr "Médio" #: inc/field/urgencyfield.class.php:122 msgctxt "urgency" msgid "Low" -msgstr "" +msgstr "Baixo" #: inc/field/urgencyfield.class.php:123 msgctxt "urgency" msgid "Very low" -msgstr "" +msgstr "Muito baixo" #: inc/field/tagfield.class.php:51 msgid "Warning: Tag plugin is disabled or missing" -msgstr "" +msgstr "Aviso\\: O plug-in da etiqueta está desabilitado ou ausente" #: inc/field/tagfield.class.php:197 msgid "Tag" msgid_plural "Tags" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Etiqueta" +msgstr[1] "Etiquetas" +msgstr[2] "Etiquetas" -#: inc/field/glpiselectfield.class.php:82 entrée standard:38 +#: inc/field/glpiselectfield.class.php:83 entrée standard:38 msgid "GLPI object" msgid_plural "GLPI objects" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Objeto do GLPI" +msgstr[1] "Objetos GLPI" +msgstr[2] "Objetos GLPI" + +#: inc/field/glpiselectfield.class.php:100 inc/field/fieldsfield.class.php:512 +msgid "The field value is required:" +msgstr "O valor do campo é necessário:" #: inc/field/hostnamefield.class.php:115 msgid "Hostname" msgid_plural "Hostnames" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Nome de host" +msgstr[1] "Nomes de hosts" +msgstr[2] "Nomes de hosts" #: inc/field/timefield.class.php:129 msgid "Time" -msgstr "" +msgstr "Horário" #: inc/field/emailfield.class.php:88 #, php-format msgid "This is not a valid e-mail: %s" -msgstr "" +msgstr "Este não é um e-mail válido: %s" #: inc/field/emailfield.class.php:99 msgid "Email" msgid_plural "Emails" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "E-mail" +msgstr[1] "E-mails" +msgstr[2] "E-mails" -#: inc/field/selectfield.class.php:96 +#: inc/field/selectfield.class.php:98 msgid "Select" msgstr "Selecione" -#: inc/field/datetimefield.class.php:139 +#: inc/field/datetimefield.class.php:140 msgid "Date & time" msgstr "Data & Hora" #: inc/field/actorfield.class.php:83 msgid "Actor" msgid_plural "Actors" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Ator" +msgstr[1] "Atores" +msgstr[2] "Atores" #: inc/field/actorfield.class.php:267 #, php-format msgid "Invalid value: %s" -msgstr "" +msgstr "Valor inválido: %s" #: inc/field/actorfield.class.php:290 #, php-format msgid "User not found or invalid email address: %s" -msgstr "" +msgstr "Utilizador não encontrado ou endereço de e-mail inválido: %s" #: inc/field/filefield.class.php:123 msgid "No attached document" @@ -436,92 +447,116 @@ msgstr "Documento anexado" #: inc/field/filefield.class.php:174 #, php-format msgid "A required file is missing: %s" -msgstr "" +msgstr "Está em falta um ficheiro necessário: %s" #: inc/field/filefield.class.php:191 msgid "File" -msgstr "" +msgstr "Ficheiro" -#: inc/field/multiselectfield.class.php:86 +#: inc/field/multiselectfield.class.php:89 msgid "Multiselect" msgstr "Multiselect" #: inc/field/fieldsfield.class.php:154 msgid "Warning: Additional Fields plugin is disabled or missing" -msgstr "" +msgstr "Aviso\\: O plug-in da etiqueta está desabilitado ou ausente" #: inc/field/fieldsfield.class.php:167 msgid "Block" -msgstr "" +msgstr "Bloquear" #: inc/field/fieldsfield.class.php:171 inc/targetticket.class.php:341 msgid "Field" -msgstr "" +msgstr "Campo" #: inc/field/fieldsfield.class.php:253 msgid "show" -msgstr "" +msgstr "mostrar" #: inc/field/fieldsfield.class.php:389 #, php-format msgid "Field '%1$s' type not implemented yet!" -msgstr "" +msgstr "Tipo de campo '%1$s' ainda não implementado!" #: inc/field/fieldsfield.class.php:466 msgid "Some numeric fields contains non numeric values" -msgstr "" +msgstr "Alguns campos numéricos contêm valores não numéricos" #: inc/field/fieldsfield.class.php:471 msgid "Some URL fields contains invalid links" -msgstr "" +msgstr "Alguns campos da URL contêm links inválidos" #: inc/field/fieldsfield.class.php:565 msgid "Additional fields" -msgstr "" +msgstr "Campos adicionais" #: inc/field/checkboxesfield.class.php:132 msgid "Checkboxes" msgstr "Caixas" -#: inc/field/checkboxesfield.class.php:226 +#: inc/field/checkboxesfield.class.php:208 +#, php-format +msgid "Empty values are not allowed: %s" +msgstr "Valores vazios não são permitidos: %s" + +#: inc/field/checkboxesfield.class.php:216 +#, php-format +msgid "This value %1$s is not alowed: %2$s" +msgstr "O valor %1$s não é permitido: %2$s" + +#: inc/field/checkboxesfield.class.php:236 #, php-format msgid "The following question needs at least %d answers: %s" -msgstr "" +msgstr "A pergunta a seguir precisa de pelo menos %d resposta(s): %s" -#: inc/field/checkboxesfield.class.php:232 +#: inc/field/checkboxesfield.class.php:242 #, php-format msgid "The following question does not accept more than %d answers: %s" -msgstr "" +msgstr "A questão a seguir não aceita mais de %drespostas: %s" + +#: inc/field/checkboxesfield.class.php:270 +msgid "The default values are not in the list of available values." +msgstr "Os valores por defeito não estão na lista de valores disponíveis." -#: inc/field/checkboxesfield.class.php:304 +#: inc/field/checkboxesfield.class.php:325 msgid "Range min" -msgstr "" +msgstr "Intervalo mín" -#: inc/field/checkboxesfield.class.php:305 +#: inc/field/checkboxesfield.class.php:326 msgid "Range max" -msgstr "" +msgstr "Intervalo máx" -#: inc/field/requesttypefield.class.php:86 inc/targetticket.class.php:1089 +#: inc/field/requesttypefield.class.php:86 inc/targetticket.class.php:1108 msgid "Request type" -msgstr "" +msgstr "Tipo de pedido" #: inc/field/floatfield.class.php:141 #, php-format msgid "This is not a number: %s" -msgstr "" +msgstr "Este não é um número: %s" + +#: inc/field/floatfield.class.php:170 +#, php-format +msgid "The following number must be greater than %d: %s" +msgstr "O número deve ser maior que %d: %s" + +#: inc/field/floatfield.class.php:176 +#, php-format +msgid "The following number must be lower than %d: %s" +msgstr "O número deve ser menor que %d: %s" -#: inc/field/floatfield.class.php:182 +#: inc/field/floatfield.class.php:186 msgid "Float" msgstr "Virgula Flutuante" -#: inc/field/datefield.class.php:136 +#: inc/field/datefield.class.php:66 msgid "Date" -msgstr "" +msgstr "Data" #: inc/field/descriptionfield.class.php:105 inc/form.class.php:165 #: inc/question.class.php:166 entrée standard:82 standard:52 standard:113 msgid "Description" -msgstr "" +msgstr "Descrição" #: inc/field/descriptionfield.class.php:112 msgid "A description field should have a description:" @@ -530,28 +565,28 @@ msgstr "Um campo de descrição deve ter uma descrição:" #: inc/field/hiddenfield.class.php:95 msgid "Hidden field" msgid_plural "Hidden fields" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Campo oculto" +msgstr[1] "Campos ocultos" +msgstr[2] "Campos ocultos" #: inc/condition.class.php:65 msgid "Condition" msgid_plural "Conditions" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Condição" +msgstr[1] "Condições" +msgstr[2] "Condições" #: inc/condition.class.php:104 msgid "is visible" -msgstr "" +msgstr "é visível" #: inc/condition.class.php:105 msgid "is not visible" -msgstr "" +msgstr "não é visível" #: inc/condition.class.php:106 msgid "regular expression matches" -msgstr "" +msgstr "correspondências de expressão regular" #: inc/condition.class.php:117 msgid "Always displayed" @@ -565,48 +600,48 @@ msgstr "Escondido a menos que" msgid "Displayed unless" msgstr "Exibido a menos que" -#: inc/condition.class.php:179 inc/target_actor.class.php:233 -#: inc/form_language.class.php:565 inc/form_validator.class.php:379 +#: inc/condition.class.php:173 inc/target_actor.class.php:234 +#: inc/form_language.class.php:568 inc/form_validator.class.php:379 #: inc/targetproblem.class.php:541 inc/questionrange.class.php:196 -#: inc/form.class.php:1920 inc/targetchange.class.php:304 -#: inc/section.class.php:381 inc/restrictedformcriteria.class.php:200 -#: inc/question.class.php:836 inc/questionparameter/range.class.php:202 +#: inc/form.class.php:1925 inc/targetchange.class.php:304 +#: inc/section.class.php:395 inc/restrictedformcriteria.class.php:200 +#: inc/question.class.php:848 inc/questionparameter/range.class.php:202 #: inc/questionregex.class.php:185 inc/questiondependency.class.php:196 -#: inc/item_targetticket.class.php:154 inc/targetticket.class.php:1399 +#: inc/item_targetticket.class.php:154 inc/targetticket.class.php:1418 #, php-format msgid "Failed to add or update the %1$s %2$s" -msgstr "" +msgstr "Falha ao adicionar ou atualiza o %1$s %2$s" -#: inc/condition.class.php:201 inc/target_actor.class.php:254 -#: inc/form_language.class.php:581 inc/form_validator.class.php:403 +#: inc/condition.class.php:195 inc/target_actor.class.php:255 +#: inc/form_language.class.php:584 inc/form_validator.class.php:403 #: inc/targetproblem.class.php:376 inc/questionrange.class.php:131 #: inc/form.class.php:1611 inc/targetchange.class.php:149 -#: inc/section.class.php:406 inc/restrictedformcriteria.class.php:226 -#: inc/question.class.php:885 inc/questionparameter/range.class.php:137 +#: inc/section.class.php:420 inc/restrictedformcriteria.class.php:226 +#: inc/question.class.php:897 inc/questionparameter/range.class.php:137 #: inc/questionregex.class.php:120 inc/questiondependency.class.php:211 -#: inc/item_targetticket.class.php:64 inc/targetticket.class.php:1438 +#: inc/item_targetticket.class.php:64 inc/targetticket.class.php:1457 #, php-format msgid "Cannot export an empty object: %s" -msgstr "" +msgstr "Não é possível exportar um objeto vazio: %s" -#: inc/condition.class.php:269 +#: inc/condition.class.php:263 msgid "Conditions" -msgstr "" +msgstr "Condições" #: inc/linker.class.php:78 msgid "Importing" -msgstr "" +msgstr "Importando" #: inc/linker.class.php:80 msgid "Import in progress" -msgstr "" +msgstr "Importação em progresso" #: inc/issue.class.php:43 msgid "Issue" msgid_plural "Issues" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Issue" +msgstr[1] "Issues" +msgstr[2] "Issues" #: inc/issue.class.php:56 msgid "Update issue data from tickets and form answers" @@ -614,143 +649,143 @@ msgstr "Atualizar dados de emissão de tickets e respostas de formulário" #: inc/issue.class.php:379 msgid "Satisfaction survey expired" -msgstr "" +msgstr "Enquete de satisfação expirada" -#: inc/issue.class.php:515 inc/form_language.class.php:229 -#: inc/form.class.php:156 inc/form.class.php:2221 entrée standard:52 +#: inc/issue.class.php:527 inc/form_language.class.php:232 +#: inc/form.class.php:156 inc/form.class.php:2226 entrée standard:52 #: standard:49 standard:57 standard:38 standard:39 standard:46 msgid "Name" -msgstr "" +msgstr "Nome" -#: inc/issue.class.php:527 inc/formanswer.class.php:241 +#: inc/issue.class.php:539 inc/formanswer.class.php:241 #: inc/formanswer.class.php:314 inc/targetproblem.class.php:624 #: inc/form.class.php:147 inc/targetchange.class.php:335 #: inc/section.class.php:95 inc/question.class.php:156 #: inc/targetticket.class.php:180 entrée standard:45 msgid "ID" -msgstr "" +msgstr "ID" -#: inc/issue.class.php:536 inc/form.class.php:503 inc/form.class.php:2230 +#: inc/issue.class.php:548 inc/form.class.php:503 inc/form.class.php:2235 #: entrée standard:111 standard:65 msgid "Type" msgid_plural "Types" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Tipo" +msgstr[1] "Tipos" +msgstr[2] "Tipo" -#: inc/issue.class.php:549 inc/formanswer.class.php:301 +#: inc/issue.class.php:561 inc/formanswer.class.php:301 msgid "Status" -msgstr "" +msgstr "Estado" -#: inc/issue.class.php:561 +#: inc/issue.class.php:573 msgid "Opening date" -msgstr "" +msgstr "Data de abertura" -#: inc/issue.class.php:570 +#: inc/issue.class.php:582 msgid "Last update" -msgstr "" +msgstr "Última atualização" -#: inc/issue.class.php:579 inc/abstracttarget.class.php:518 +#: inc/issue.class.php:591 inc/abstracttarget.class.php:520 msgid "Entity" msgid_plural "Entities" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Entidade" +msgstr[1] "Entidades" +msgstr[2] "Entidades" -#: inc/issue.class.php:589 inc/notificationtargetformanswer.class.php:76 +#: inc/issue.class.php:601 inc/notificationtargetformanswer.class.php:76 #: inc/notificationtargetformanswer.class.php:96 #: inc/target_actor.class.php:101 inc/formanswer.class.php:260 -#: inc/formanswer.class.php:712 inc/abstractitiltarget.class.php:1753 entrée +#: inc/formanswer.class.php:718 inc/abstractitiltarget.class.php:1753 entrée #: standard:48 msgid "Requester" msgid_plural "Requesters" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Requerente" +msgstr[1] "Requerentes" +msgstr[2] "Requerentes" -#: inc/issue.class.php:607 inc/formanswer.class.php:270 +#: inc/issue.class.php:619 inc/formanswer.class.php:270 msgid "Form approver" msgstr "Aprovador do formulário" -#: inc/issue.class.php:631 inc/formanswer.class.php:638 -#: inc/formanswer.class.php:645 inc/formanswer.class.php:727 -#: inc/form_language.class.php:243 +#: inc/issue.class.php:643 inc/formanswer.class.php:644 +#: inc/formanswer.class.php:651 inc/formanswer.class.php:733 +#: inc/form_language.class.php:246 msgid "Comment" msgstr "Comentário" -#: inc/issue.class.php:643 +#: inc/issue.class.php:655 msgid "Ticket approver" msgstr "Aprovador de tickets" -#: inc/issue.class.php:716 +#: inc/issue.class.php:728 msgid "Technician" -msgstr "" +msgstr "Técnico" -#: inc/issue.class.php:747 +#: inc/issue.class.php:759 msgid "Technician group" -msgstr "" +msgstr "Grupo de técnicos" -#: inc/issue.class.php:783 inc/formanswer.class.php:290 +#: inc/issue.class.php:795 inc/formanswer.class.php:290 msgid "Form approver group" msgstr "Grupo de aprovação do formulário" -#: inc/issue.class.php:805 +#: inc/issue.class.php:817 msgid "Ticket approver group" -msgstr "" +msgstr "Grupo aprovador do ticket" -#: inc/issue.class.php:845 +#: inc/issue.class.php:857 msgid "Ticket requester" -msgstr "" +msgstr "Requerente do ticket" -#: inc/issue.class.php:892 +#: inc/issue.class.php:904 msgid "Ticket observer" -msgstr "" +msgstr "Observador do ticket" -#: inc/issue.class.php:940 +#: inc/issue.class.php:952 msgid "Ticket technician" -msgstr "" +msgstr "Técnico do ticket" -#: inc/issue.class.php:1083 +#: inc/issue.class.php:1099 #, php-format msgid "%1$s %2$s" -msgstr "" +msgstr "%1$s %2$s" -#: inc/issue.class.php:1341 inc/filter/itilcategoryfilter.class.php:56 -#: hook.php:691 +#: inc/issue.class.php:1357 inc/filter/itilcategoryfilter.class.php:56 +#: hook.php:703 msgid "All" -msgstr "" +msgstr "Todas" -#: inc/issue.class.php:1347 hook.php:692 +#: inc/issue.class.php:1363 hook.php:704 msgid "New" -msgstr "" +msgstr "Novo" -#: inc/issue.class.php:1353 hook.php:693 +#: inc/issue.class.php:1369 hook.php:705 msgid "Assigned" -msgstr "" +msgstr "Atribuído" -#: inc/issue.class.php:1359 inc/formanswer.class.php:78 -#: inc/form_validator.class.php:69 hook.php:694 +#: inc/issue.class.php:1375 inc/formanswer.class.php:78 +#: inc/form_validator.class.php:69 hook.php:706 msgid "Waiting" -msgstr "" +msgstr "Aguardando" -#: inc/issue.class.php:1365 hook.php:695 +#: inc/issue.class.php:1381 hook.php:707 msgid "To validate" msgstr "Para validar" -#: inc/issue.class.php:1371 hook.php:696 +#: inc/issue.class.php:1387 hook.php:708 msgid "Solved" -msgstr "" +msgstr "Resolvido" -#: inc/issue.class.php:1377 hook.php:697 +#: inc/issue.class.php:1393 hook.php:709 msgid "Closed" msgstr "Encerrado" #: inc/category.class.php:50 hook.php:72 msgid "Form category" msgid_plural "Form categories" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Categoria do formulário" +msgstr[1] "Categorias do formulário" +msgstr[2] "Categorias do formulário" #: inc/category.class.php:72 msgid "Knowbase category" @@ -758,50 +793,42 @@ msgstr "Categoria de Knowbase" #: inc/category.class.php:78 msgid "As child of" -msgstr "" +msgstr "Como dependente de" #: inc/notificationtargetformanswer.class.php:43 msgid "The form as been saved" msgstr "O formulário foi guardado" -#: inc/notificationtargetformanswer.class.php:44 install/install.php:418 +#: inc/notificationtargetformanswer.class.php:44 install/install.php:419 msgid "A form need to be validate" msgstr "Um formulário precisa ser validado" -#: inc/notificationtargetformanswer.class.php:45 install/install.php:424 +#: inc/notificationtargetformanswer.class.php:45 install/install.php:425 msgid "The form is refused" msgstr "O formulário é recusado" -#: inc/notificationtargetformanswer.class.php:46 install/install.php:430 +#: inc/notificationtargetformanswer.class.php:46 install/install.php:431 msgid "The form is accepted" msgstr "O formulário é aceite" -#: inc/notificationtargetformanswer.class.php:47 install/install.php:436 +#: inc/notificationtargetformanswer.class.php:47 install/install.php:437 msgid "The form is deleted" msgstr "O formulário é apagado" #: inc/notificationtargetformanswer.class.php:74 msgid "Form ID" -msgstr "" +msgstr "ID do formulário" #: inc/notificationtargetformanswer.class.php:75 #: inc/notificationtargetformanswer.class.php:95 msgid "Form name" msgstr "Nome do formulário" -#: inc/notificationtargetformanswer.class.php:77 -#: inc/form_validator.class.php:76 -msgid "Validator" -msgid_plural "Validators" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - #: inc/notificationtargetformanswer.class.php:78 #: inc/notificationtargetformanswer.class.php:98 inc/formanswer.class.php:281 #: entrée standard:49 msgid "Creation date" -msgstr "" +msgstr "Data de criação" #: inc/notificationtargetformanswer.class.php:79 #: inc/notificationtargetformanswer.class.php:99 @@ -810,7 +837,7 @@ msgstr "Respostas completas do formulário" #: inc/notificationtargetformanswer.class.php:80 msgid "Validation comment" -msgstr "" +msgstr "Comentário de validação" #: inc/notificationtargetformanswer.class.php:81 #: inc/notificationtargetformanswer.class.php:101 @@ -819,7 +846,7 @@ msgstr "Ligação de validação" #: inc/notificationtargetformanswer.class.php:82 msgid "Request ID" -msgstr "" +msgstr "ID da requisição" #: inc/notificationtargetformanswer.class.php:94 msgid "Form #" @@ -840,12 +867,12 @@ msgstr "Pedido #" #: inc/notificationtargetformanswer.class.php:114 msgid "Author" -msgstr "" +msgstr "Autor" #: inc/notificationtargetformanswer.class.php:115 #: inc/abstractitiltarget.class.php:1318 msgid "Approver" -msgstr "" +msgstr "Aprovador" #: inc/target_actor.class.php:70 inc/abstractitiltarget.class.php:2090 msgid "Form author" @@ -873,11 +900,11 @@ msgstr "Grupo específico" #: inc/target_actor.class.php:76 msgid "Group from an object" -msgstr "" +msgstr "Grupo de um objeto" #: inc/target_actor.class.php:77 msgid "Tech group from an object" -msgstr "" +msgstr "Grupo de técnicos de um objeto" #: inc/target_actor.class.php:78 msgid "Specific supplier" @@ -893,42 +920,42 @@ msgstr "Atores da questão" #: inc/target_actor.class.php:81 inc/abstractitiltarget.class.php:2147 msgid "Form author's supervisor" -msgstr "" +msgstr "Formulário do supervisor do autor" #: inc/target_actor.class.php:102 msgid "Observer" -msgstr "" +msgstr "Observador" #: inc/target_actor.class.php:103 inc/abstractitiltarget.class.php:1767 msgid "Assigned to" -msgstr "" +msgstr "Atribuído a" #: inc/target_actor.class.php:109 msgid "Target actor" msgid_plural "Target actors" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Ator alvo" +msgstr[1] "Atores alvo" +msgstr[2] "Atores alvo" #: inc/target_actor.class.php:115 inc/target_actor.class.php:131 #: inc/target_actor.class.php:140 msgid "Bad request while adding an actor." -msgstr "" +msgstr "Pedido inválido enquanto adicionava um ator." -#: inc/target_actor.class.php:197 +#: inc/target_actor.class.php:199 #, php-format msgid "Failed to find a user: %1$s" -msgstr "" +msgstr "Falhou ao encontrar um utilizador: %1$s" -#: inc/target_actor.class.php:206 +#: inc/target_actor.class.php:208 #, php-format msgid "Failed to find a group: %1$s" -msgstr "" +msgstr "Falhou ao encontrar um grupo: %1$s" -#: inc/target_actor.class.php:215 +#: inc/target_actor.class.php:217 #, php-format msgid "Failed to find a supplier: %1$s" -msgstr "" +msgstr "Falhou ao encontrar um fornecedor: %1$s" #: inc/formanswer.class.php:79 inc/form_validator.class.php:71 msgid "Refused" @@ -936,97 +963,105 @@ msgstr "Recusado" #: inc/formanswer.class.php:80 inc/form_validator.class.php:70 msgid "Accepted" -msgstr "" +msgstr "Aceite" #: inc/formanswer.class.php:226 msgid "Form answer" msgid_plural "Form answers" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Reposta do formulário" +msgstr[1] "Repostas do formulário" +msgstr[2] "Repostas do formulário" -#: inc/formanswer.class.php:623 +#: inc/formanswer.class.php:629 msgid "Print this form" msgstr "Imprimir este formulário" -#: inc/formanswer.class.php:648 +#: inc/formanswer.class.php:654 msgid "Form accepted by validator." msgstr "Formulário aceite pelo validador." -#: inc/formanswer.class.php:650 +#: inc/formanswer.class.php:656 msgid "Form successfully saved." msgstr "Formulário guardado com sucesso." -#: inc/formanswer.class.php:720 inc/formaccesstype.class.php:126 +#: inc/formanswer.class.php:726 inc/formaccesstype.class.php:126 msgid "Save" -msgstr "" +msgstr "Gravar" -#: inc/formanswer.class.php:732 +#: inc/formanswer.class.php:738 msgid "Required if refused" msgstr "Necessário se recusado" -#: inc/formanswer.class.php:738 +#: inc/formanswer.class.php:744 msgid "Refuse" msgstr "Recusar" -#: inc/formanswer.class.php:746 +#: inc/formanswer.class.php:752 msgid "Edit answers" -msgstr "" +msgstr "Editar respostas" -#: inc/formanswer.class.php:752 +#: inc/formanswer.class.php:758 msgid "Cancel edition" -msgstr "" +msgstr "Cancelar edição" -#: inc/formanswer.class.php:759 +#: inc/formanswer.class.php:765 msgid "Accept" msgstr "Aceitar" -#: inc/formanswer.class.php:782 +#: inc/formanswer.class.php:788 msgid "Refused comment is required!" msgstr "É exigido comentário de recusa!" -#: inc/formanswer.class.php:827 inc/formanswer.class.php:844 +#: inc/formanswer.class.php:833 inc/formanswer.class.php:850 msgid "" "An internal error occured when verifying your answers. Please report it to " "your administrator." msgstr "" +"Ocorreu um erro interno ao verificar as suas respostas. Por favor, reporte " +"ao administrador." -#: inc/formanswer.class.php:876 +#: inc/formanswer.class.php:882 msgid "You are not the validator of these answers" msgstr "Você não é o validador dessas respostas" -#: inc/formanswer.class.php:1015 +#: inc/formanswer.class.php:1021 #, php-format msgid "Item sucessfully added: %1$s (%2$s: %3$s)" -msgstr "" +msgstr "Adicionado item com sucesso: %1$s (%2$s: %3$s)" -#: inc/formanswer.class.php:1098 inc/formanswer.class.php:1100 +#: inc/formanswer.class.php:1104 inc/formanswer.class.php:1106 msgid "Form data" msgstr "Dados do formulário" -#: inc/formanswer.class.php:1227 inc/formanswer.class.php:1279 +#: inc/formanswer.class.php:1233 inc/formanswer.class.php:1285 msgid "Cannot generate targets!" msgstr "Não é possível gerar alvos!" -#: inc/formanswer.class.php:1428 +#: inc/formanswer.class.php:1434 +#, php-format +msgid "Answer is invalid in %1$s" +msgstr "Resposta inválida em %1$s" + +#: inc/formanswer.class.php:1462 msgid "No turing test set" -msgstr "" +msgstr "Não foi definido nenhum teste turing" -#: inc/formanswer.class.php:1434 +#: inc/formanswer.class.php:1468 msgid "You failed the Turing test" -msgstr "" +msgstr "Falhou o teste de Turing" -#: inc/formanswer.class.php:1458 +#: inc/formanswer.class.php:1492 msgid "You must select validator!" msgstr "Deves selecionar o validador!" #: inc/common.class.php:229 msgid "You cannot delete this issue. Maybe it is taken into account." msgstr "" +"Não pode eliminar este problema. Talvez esteja em processo de consideração." #: inc/common.class.php:234 msgid "Failed to delete this issue. An internal error occured." -msgstr "" +msgstr "Falha ao eliminar este problema. Ocorreu um erro interno." #: inc/common.class.php:783 msgid "Seek assistance" @@ -1038,7 +1073,7 @@ msgstr "Os meus pedidos de assistência" #: inc/common.class.php:829 msgid "Consult reminders" -msgstr "" +msgstr "Consultar lembretes" #: inc/common.class.php:849 msgid "Consult feeds" @@ -1047,9 +1082,9 @@ msgstr "Consultar feeds" #: inc/formaccesstype.class.php:39 inc/formaccesstype.class.php:64 msgid "Access type" msgid_plural "Access types" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Tipo de acesso" +msgstr[1] "Tipos de acesso" +msgstr[2] "Tipos de acesso" #: inc/formaccesstype.class.php:79 msgid "Link to the form" @@ -1057,96 +1092,103 @@ msgstr "Ligação para o formulário" #: inc/formaccesstype.class.php:92 msgid "Please activate the form to view the link" -msgstr "" +msgstr "Por favor ative o formulário para visualizar a ligação" #: inc/formaccesstype.class.php:100 inc/form.class.php:1505 msgid "Enable captcha" -msgstr "" +msgstr "Ativar captcha" #: inc/formaccesstype.class.php:112 msgid "Restricted to" -msgstr "" +msgstr "Restrito a" #: inc/form_language.class.php:51 msgid "Form language" msgid_plural "Form languages" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Idioma do formulário" +msgstr[1] "Idiomas do formulário" +msgstr[2] "Idiomas do formulário" -#: inc/form_language.class.php:78 inc/form_language.class.php:364 +#: inc/form_language.class.php:81 inc/form_language.class.php:367 msgid "Translation" msgid_plural "Translations" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Tradução" +msgstr[1] "Traduções" +msgstr[2] "Traduções" -#: inc/form_language.class.php:119 +#: inc/form_language.class.php:122 msgid "The name cannot be empty." -msgstr "" +msgstr "O nome não pode estar vazio." -#: inc/form_language.class.php:127 +#: inc/form_language.class.php:130 msgid "The language must be associated to a form." -msgstr "" +msgstr "O idioma deve estar associado a um formulário." -#: inc/form_language.class.php:135 +#: inc/form_language.class.php:138 msgid "The specified language is not available." -msgstr "" +msgstr "O idioma especificado não está disponível." -#: inc/form_language.class.php:265 +#: inc/form_language.class.php:268 msgid "Add a translation" -msgstr "" +msgstr "Adicionar uma tradução" -#: inc/form_language.class.php:299 js/scripts.js:1171 +#: inc/form_language.class.php:302 js/scripts.js:1171 msgid "Update a translation" -msgstr "" +msgstr "Atualizar uma tradução" -#: inc/form_language.class.php:329 inc/form_language.class.php:331 +#: inc/form_language.class.php:332 inc/form_language.class.php:334 msgid "New translation" -msgstr "" +msgstr "Nova tradução" -#: inc/form_language.class.php:334 +#: inc/form_language.class.php:337 msgid "Filter list" -msgstr "" +msgstr "Listra de filtro" -#: inc/form_language.class.php:339 inc/form_language.class.php:438 +#: inc/form_language.class.php:342 inc/form_language.class.php:441 msgid "No translation found" -msgstr "" +msgstr "Tradução não encontrada" -#: inc/form_language.class.php:344 +#: inc/form_language.class.php:347 msgid "Do you want to delete the selected items?" -msgstr "" +msgstr "Deseja apagar os itens escolhidos?" -#: inc/form_language.class.php:353 inc/form_language.class.php:401 +#: inc/form_language.class.php:356 inc/form_language.class.php:404 #: inc/form.class.php:537 inc/abstractitiltarget.class.php:1658 msgid "Delete" msgstr "Excluir" -#: inc/form_language.class.php:363 +#: inc/form_language.class.php:366 msgid "Original string" -msgstr "" +msgstr "Cadeia de carateres original" -#: inc/form_language.class.php:424 +#: inc/form_language.class.php:427 msgid "Add a new language" -msgstr "" +msgstr "Adicionar um novo idioma" -#: inc/form_language.class.php:457 inc/form_language.class.php:489 +#: inc/form_language.class.php:460 inc/form_language.class.php:492 #: inc/form.class.php:192 entrée standard:72 msgid "Language" -msgstr "" +msgstr "Idioma" #: inc/form_validator.class.php:68 inc/targetticket.class.php:99 #: inc/abstractitiltarget.class.php:178 msgid "None" msgstr "Nenhum" +#: inc/form_validator.class.php:76 +msgid "Validator" +msgid_plural "Validators" +msgstr[0] "Validador" +msgstr[1] "Validadores" +msgstr[2] "Validador" + #: inc/form_validator.class.php:114 msgid "Need validaton?" -msgstr "" +msgstr "Precisa de validação?" -#: inc/form_validator.class.php:118 inc/abstractitiltarget.class.php:2499 +#: inc/form_validator.class.php:118 inc/abstractitiltarget.class.php:2522 msgid "No" -msgstr "" +msgstr "Não" #: inc/form_validator.class.php:295 inc/targetproblem.class.php:147 #: inc/entityconfig.class.php:435 inc/targetchange.class.php:484 @@ -1154,11 +1196,11 @@ msgstr "" #: inc/abstractitiltarget.class.php:2073 msgctxt "button" msgid "Save" -msgstr "" +msgstr "Gravar" #: inc/form_validator.class.php:709 inc/abstractitiltarget.class.php:1298 msgid "Validation" -msgstr "" +msgstr "Validação" #: inc/form_validator.class.php:711 msgid "Choose a validator" @@ -1167,23 +1209,25 @@ msgstr "Escolher um validador" #: inc/targetproblem.class.php:43 entrée standard:43 msgid "Target problem" msgid_plural "Target problems" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Problema alvo" +msgstr[1] "Problemas alvo" +msgstr[2] "Problemas alvo" #: inc/targetproblem.class.php:109 inc/targetproblem.class.php:579 #: inc/targetchange.class.php:105 inc/targetchange.class.php:441 #: inc/targetticket.class.php:135 inc/targetticket.class.php:238 msgid "Properties" -msgstr "" +msgstr "Propriedades" #: inc/targetproblem.class.php:523 inc/targetchange.class.php:286 -#: inc/targetticket.class.php:1381 +#: inc/targetticket.class.php:1400 #, php-format msgid "" "Failed to add or update the %1$s %2$s: a question is missing and is used in " "a parameter of the target" msgstr "" +"Falhou ao adicionar ou atualizar o %1$s %2$s: uma questão está em falta e é " +"usada num parâmetro do alvo" #: inc/targetproblem.class.php:580 inc/targetchange.class.php:106 #: inc/targetticket.class.php:136 inc/abstractitiltarget.class.php:1200 @@ -1192,24 +1236,24 @@ msgstr "Actores" #: inc/targetproblem.class.php:633 entrée standard:48 msgid "Problem title" -msgstr "" +msgstr "Titulo do problema" #: inc/targetproblem.class.php:643 inc/targetchange.class.php:354 #: inc/targetticket.class.php:199 msgid "Content" -msgstr "" +msgstr "Conteúdo " #: inc/targetproblem.class.php:653 inc/targetchange.class.php:364 msgid "Impact" -msgstr "" +msgstr "Impacto" #: inc/targetproblem.class.php:663 entrée standard:56 msgid "Cause" -msgstr "" +msgstr "Causa" #: inc/targetproblem.class.php:673 entrée standard:58 msgid "Symptom" -msgstr "" +msgstr "Sintoma" #: inc/entityconfig.class.php:92 inc/entityconfig.class.php:101 #: inc/entityconfig.class.php:109 inc/entityconfig.class.php:117 @@ -1217,7 +1261,7 @@ msgstr "" #: inc/entityconfig.class.php:141 inc/entityconfig.class.php:149 #: inc/entityconfig.class.php:157 msgid "Inheritance of the parent entity" -msgstr "" +msgstr "Herança da entidade pai" #: inc/entityconfig.class.php:93 msgid "GLPi's helpdesk" @@ -1233,11 +1277,11 @@ msgstr "Catálogo de serviços estendido" #: inc/entityconfig.class.php:102 msgid "All available forms" -msgstr "" +msgstr "Todos os formulários disponíveis" #: inc/entityconfig.class.php:103 msgid "Only default forms" -msgstr "" +msgstr "Apenas os formulários padrão" #: inc/entityconfig.class.php:110 msgid "Popularity sort" @@ -1253,34 +1297,34 @@ msgstr "Associado com Formulários" #: inc/entityconfig.class.php:119 msgid "Distinct menu entry" -msgstr "" +msgstr "Entrada de menu distinta" #: inc/entityconfig.class.php:126 inc/entityconfig.class.php:134 #: inc/entityconfig.class.php:142 inc/entityconfig.class.php:150 #: inc/form.class.php:285 entrée standard:100 msgid "Visible" -msgstr "" +msgstr "Visível" #: inc/entityconfig.class.php:127 inc/entityconfig.class.php:135 #: inc/entityconfig.class.php:143 inc/entityconfig.class.php:151 msgid "Hidden" -msgstr "" +msgstr "Oculto" #: inc/entityconfig.class.php:158 msgid "Variable height" -msgstr "" +msgstr "Altura variável" #: inc/entityconfig.class.php:159 msgid "Uniform height" -msgstr "" +msgstr "Altura uniforme" #: inc/entityconfig.class.php:164 msgid "Search for assistance" -msgstr "" +msgstr "Procurar assistência" #: inc/entityconfig.class.php:165 msgid "User's assistance requests" -msgstr "" +msgstr "Solicitações de assistência do utilizador" #: inc/entityconfig.class.php:261 msgid "Helpdesk" @@ -1293,70 +1337,70 @@ msgstr "Modo helpdesk" #: inc/entityconfig.class.php:280 inc/entityconfig.class.php:519 msgid "Default Form list mode" -msgstr "" +msgstr "Modo de lista de formulários padrão" #: inc/entityconfig.class.php:298 inc/entityconfig.class.php:459 msgid "Sort order" -msgstr "" +msgstr "Ordem de classificação" #: inc/entityconfig.class.php:314 inc/entityconfig.class.php:469 msgid "Knowledge base" -msgstr "" +msgstr "Base de conhecimento" #: inc/entityconfig.class.php:329 msgid "Search" -msgstr "" +msgstr "Pesquisar" #: inc/entityconfig.class.php:345 inc/entityconfig.class.php:529 msgid "Counters dashboard" -msgstr "" +msgstr "Painel de contadores" #: inc/entityconfig.class.php:361 msgid "Header message" -msgstr "" +msgstr "Mensagem de cabeçalho" #: inc/entityconfig.class.php:377 inc/entityconfig.class.php:539 msgid "Search issue" -msgstr "" +msgstr "Procurar problema" #: inc/entityconfig.class.php:393 inc/entityconfig.class.php:509 msgid "Service catalog home page" -msgstr "" +msgstr "Página inicial do catálogo de serviços" #: inc/entityconfig.class.php:409 inc/entityconfig.class.php:549 msgid "Tile design" -msgstr "" +msgstr "Design de blocos" #: inc/entityconfig.class.php:421 inc/entityconfig.class.php:499 #: inc/form.class.php:239 entrée standard:84 msgid "Header" msgid_plural "Headers" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Cabeçalho" +msgstr[1] "Cabeçalhos" +msgstr[2] "Cabeçalho" #: inc/entityconfig.class.php:479 msgid "Display search field" -msgstr "" +msgstr "Exibir campo de pesquisa" #: inc/entityconfig.class.php:489 msgid "Display header" -msgstr "" +msgstr "Exibir cabeçalho" #: inc/questionrange.class.php:52 inc/questionparameter/range.class.php:56 msgid "Question range" msgid_plural "Question ranges" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Intervalo de pergunta" +msgstr[1] "Intervalos de perguntas" +msgstr[2] "Intervalo de pergunta" #: inc/questionrange.class.php:62 inc/questionparameter/range.class.php:66 msgid "Minimum range" -msgstr "" +msgstr "Intervalo mínimo" #: inc/questionrange.class.php:71 inc/questionparameter/range.class.php:75 msgid "maximum range" -msgstr "" +msgstr "Intervalo máximo" #: inc/form.class.php:66 inc/form.class.php:432 msgid "Public access" @@ -1372,19 +1416,19 @@ msgstr "Acesso restrito" #: inc/form.class.php:122 msgid "Answers waiting for validation" -msgstr "" +msgstr "Respostas a aguardar validação" #: inc/form.class.php:124 inc/form.class.php:1695 inc/form.class.php:1721 msgid "Import forms" -msgstr "Formulários de importação" +msgstr "Importar formulários" #: inc/form.class.php:140 msgid "Characteristics" -msgstr "" +msgstr "Características" #: inc/form.class.php:183 msgid "Recursive" -msgstr "" +msgstr "Recursivo" #: inc/form.class.php:204 msgid "Homepage" @@ -1397,71 +1441,71 @@ msgstr "Acesso" #: inc/form.class.php:248 inc/form.class.php:330 inc/form.class.php:397 entrée #: standard:54 msgid "Active" -msgstr "" +msgstr "Ativo" #: inc/form.class.php:261 entrée standard:65 msgid "Icon" -msgstr "" +msgstr "Ícone " #: inc/form.class.php:269 entrée standard:67 msgid "Icon color" -msgstr "" +msgstr "Cor do ícone" #: inc/form.class.php:277 entrée standard:80 msgid "Background color" -msgstr "" +msgstr "cor de fundo" #: inc/form.class.php:300 inc/form.class.php:341 inc/form.class.php:416 msgid "Default form" -msgstr "" +msgstr "Formulário padrão" #: inc/form.class.php:329 inc/form.class.php:394 msgid "Inactive" -msgstr "" +msgstr "Inativo" #: inc/form.class.php:340 inc/form.class.php:413 msgid "Not default form" -msgstr "" +msgstr "Não é formulário padrão" #: inc/form.class.php:364 inc/form.class.php:448 entrée standard:75 msgid "All languages" -msgstr "" +msgstr "Todas as línguas" #: inc/form.class.php:502 inc/form.class.php:572 msgid "Target" msgid_plural "Targets" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Alvo" +msgstr[1] "Alvos" +msgstr[2] "Alvo" #: inc/form.class.php:504 msgid "Actions" -msgstr "" +msgstr "Ações" #: inc/form.class.php:527 inc/form.class.php:1433 msgid "Duplicate" msgstr "Duplicado" -#: inc/form.class.php:554 inc/form.class.php:2218 +#: inc/form.class.php:554 inc/form.class.php:2223 msgid "Add a target" -msgstr "" +msgstr "Adicionar um alvo" #: inc/form.class.php:575 msgid "Preview" -msgstr "" +msgstr "Pré-visualização" #: inc/form.class.php:576 msgid "Form answer properties" -msgstr "" +msgstr "Propriedades do formulário de resposta" #: inc/form.class.php:900 msgid "What are you looking for?" -msgstr "" +msgstr "O que procura?" #: inc/form.class.php:909 #, php-format msgid "My %1$d last forms (requester)" -msgstr "" +msgstr "Os meus %1$d últimos formulários (requerente)" #: inc/form.class.php:936 msgid "No form posted yet" @@ -1469,12 +1513,12 @@ msgstr "Nenhum formulário publicado" #: inc/form.class.php:964 msgid "All my forms (requester)" -msgstr "Todos os meus formulários (solicitante)" +msgstr "Todos os meus formulários (requerente)" #: inc/form.class.php:977 #, php-format msgid "My %1$d last forms (validator)" -msgstr "" +msgstr "Os meus %1$d últimos formulários (validador)" #: inc/form.class.php:1007 msgid "No form waiting for validation" @@ -1492,6 +1536,8 @@ msgstr "O nome não pode ser vazio!" #: inc/form.class.php:1240 msgid "Cannot use empty name for form answers. Keeping the previous value." msgstr "" +"Não é possível usar um nome vazio para respostas do formulário. Mantendo o " +"valor anterior." #: inc/form.class.php:1342 #, php-format @@ -1500,12 +1546,12 @@ msgstr "A questão %s não é compatível com formulários públicos" #: inc/form.class.php:1422 msgid "Errored duplicate" -msgstr "" +msgstr "Duplicado com erro" #: inc/form.class.php:1480 inc/form.class.php:1508 msgctxt "button" msgid "Post" -msgstr "" +msgstr "Publicar" #: inc/form.class.php:1527 #, php-format @@ -1524,7 +1570,7 @@ msgstr "Voltar" #: inc/form.class.php:1568 #, php-format msgid "Form updated: %s" -msgstr "" +msgstr "Formulário atualizado: %s" #: inc/form.class.php:1668 msgid "Upload of JSON files not allowed." @@ -1564,7 +1610,7 @@ msgstr "Habilitado" #: inc/form.class.php:1730 msgctxt "button" msgid "Send" -msgstr "" +msgstr "Enviar" #: inc/form.class.php:1749 msgid "Forms import impossible, the file is empty" @@ -1585,6 +1631,8 @@ msgid "" "The file does not specifies the schema version. It was probably generated " "with a version older than 2.10. Giving up." msgstr "" +"O ficheiro não especifica a versão do esquema. Provavelmente foi gerado com " +"uma versão anterior à 2.10. Desistindo." #: inc/form.class.php:1796 #, php-format @@ -1604,52 +1652,52 @@ msgstr "O formulário %1$s já existe e é uma entidade não alterável." #: inc/form.class.php:1872 #, php-format msgid "You don't have right to update the entity %1$s." -msgstr "" +msgstr "Não tem as permissões para atualizar a entidade %1$s." #: inc/form.class.php:1882 #, php-format msgid "The entity %1$s is required for the form %2$s." msgstr "A entidade %1$s é necessária para o formulário %2$s." -#: inc/form.class.php:1964 +#: inc/form.class.php:1969 msgid "Failed to create JSON document type" msgstr "Falha ao criar o tipo de documento JSON" -#: inc/form.class.php:1971 +#: inc/form.class.php:1976 msgid "JSON document type not found" msgstr "Tipo de documento JSON não encontrado" -#: inc/form.class.php:1978 +#: inc/form.class.php:1983 msgid "Failed to update JSON document type" msgstr "Falha ao atualizar o tipo de documento JSON" -#: inc/form.class.php:1998 +#: inc/form.class.php:2003 msgid "Forms without category" msgstr "Formulários sem categoria" -#: inc/form.class.php:2019 +#: inc/form.class.php:2024 msgid "No form available" -msgstr "" +msgstr "Nenhum formulário disponível" -#: inc/form.class.php:2249 inc/targetticket.class.php:393 +#: inc/form.class.php:2254 inc/targetticket.class.php:393 #: inc/abstractitiltarget.class.php:1777 inc/abstractitiltarget.class.php:2073 msgid "Add" msgstr "Adicionar" -#: inc/form.class.php:2267 inc/form.class.php:2290 inc/form.class.php:2312 +#: inc/form.class.php:2272 inc/form.class.php:2295 inc/form.class.php:2317 msgid "Unsupported target type." msgstr "Tipo de destino não suportado." -#: inc/form.class.php:2346 +#: inc/form.class.php:2351 msgid "plugin_formcreator_load_check" -msgstr "" +msgstr "plugin_formcreator_load_check" #: inc/targetchange.class.php:44 entrée standard:43 msgid "Target change" msgid_plural "Target changes" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Alteração alvo" +msgstr[1] "Alterações alvo" +msgstr[2] "Alterações alvo" #: inc/targetchange.class.php:344 entrée standard:48 msgid "Change title" @@ -1657,121 +1705,121 @@ msgstr "Mudar título" #: inc/targetchange.class.php:374 entrée standard:56 msgid "Control list" -msgstr "" +msgstr "Lista de controlo" #: inc/targetchange.class.php:384 entrée standard:58 msgid "Deployment plan" -msgstr "" +msgstr "Plano de disponibilização" #: inc/targetchange.class.php:394 entrée standard:60 msgid "Backup plan" -msgstr "" +msgstr "Plano alternativo" #: inc/targetchange.class.php:404 msgid "Check list" -msgstr "" +msgstr "Lista de verificação" #: inc/section.class.php:71 entrée standard:53 standard:44 msgid "Section" msgid_plural "Sections" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Secção" +msgstr[1] "Secções" +msgstr[2] "Secções" #: inc/section.class.php:123 inc/section.class.php:166 -#: inc/question.class.php:320 +#: inc/question.class.php:318 msgid "The title is required" msgstr "O título é obrigatório" -#: inc/section.class.php:556 inc/question.class.php:203 entrée standard:37 +#: inc/section.class.php:570 inc/question.class.php:203 entrée standard:37 msgid "Count of conditions" -msgstr "" +msgstr "Contagem de condições" #: inc/restrictedformcriteria.class.php:179 #, php-format msgid "Failed to find %1$s %2$s" -msgstr "" +msgstr "Falhou ao encontrar %1$s %2$s" #: inc/question.class.php:70 inc/abstractitiltarget.class.php:1111 entrée #: standard:41 msgid "Question" msgid_plural "Questions" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Questão" +msgstr[1] "Questões" +msgstr[2] "Questões" -#: inc/question.class.php:328 +#: inc/question.class.php:326 msgid "The field type is required" msgstr "O tipo de campo é necessário" -#: inc/question.class.php:335 +#: inc/question.class.php:333 msgid "The section is required" msgstr "A seção é exigida" -#: inc/question.class.php:347 +#: inc/question.class.php:345 #, php-format msgid "Field type %1$s is not available for question %2$s." msgstr "O tipo de campo %1$s não está disponível para a pergunta %2$s." -#: inc/question.class.php:361 +#: inc/question.class.php:358 msgid "This type of question is not compatible with public forms." msgstr "Este tipo de pergunta não é compatível com formulários públicos." -#: inc/question.class.php:370 +#: inc/question.class.php:367 msgid "This type of question requires parameters" msgstr "Este tipo de pergunta requer parâmetros" -#: inc/question.class.php:376 +#: inc/question.class.php:373 msgid "A parameter is missing for this question type" msgstr "Um parâmetro está ausente para esse tipo de pergunta" -#: inc/question.class.php:1190 +#: inc/question.class.php:1202 msgid "Service levels" -msgstr "" +msgstr "Níveis de serviço" -#: inc/question.class.php:1191 inc/abstractitiltarget.class.php:834 +#: inc/question.class.php:1203 inc/abstractitiltarget.class.php:834 msgid "SLA" -msgstr "" +msgstr "SLA" -#: inc/question.class.php:1192 inc/abstractitiltarget.class.php:907 +#: inc/question.class.php:1204 inc/abstractitiltarget.class.php:907 msgid "OLA" -msgstr "" +msgstr "OLA" -#: inc/question.class.php:1211 inc/question.class.php:1254 -#: inc/question.class.php:1257 +#: inc/question.class.php:1223 inc/question.class.php:1266 +#: inc/question.class.php:1269 msgid "Assets" -msgstr "" +msgstr "Ativos" -#: inc/question.class.php:1225 hook.php:705 hook.php:722 +#: inc/question.class.php:1237 hook.php:717 hook.php:734 msgid "Assistance" -msgstr "" +msgstr "Assistência" -#: inc/question.class.php:1231 +#: inc/question.class.php:1243 msgid "Management" -msgstr "" +msgstr "Gestão" -#: inc/question.class.php:1242 +#: inc/question.class.php:1254 msgid "Tools" -msgstr "" +msgstr "Ferramentas" -#: inc/question.class.php:1243 +#: inc/question.class.php:1255 msgid "Notes" -msgstr "" +msgstr "Notas" -#: inc/question.class.php:1244 +#: inc/question.class.php:1256 msgid "RSS feed" -msgstr "" +msgstr "RSS feed" -#: inc/question.class.php:1246 +#: inc/question.class.php:1258 msgid "Administration" -msgstr "" +msgstr "Administração" -#: inc/question.class.php:1254 inc/question.class.php:1257 +#: inc/question.class.php:1266 inc/question.class.php:1269 msgid "Plugin" msgid_plural "Plugins" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Plugin" +msgstr[1] "Plugins" +msgstr[2] "Plugins" #: inc/abstractquestionparameter.class.php:92 msgid "Parameter" @@ -1822,15 +1870,15 @@ msgstr "De um objeto GLPI > resposta de pergunta de tipo de entidade" #: inc/abstracttarget.class.php:116 msgid "Always generated" -msgstr "" +msgstr "Sempre gerado" #: inc/abstracttarget.class.php:117 msgid "Disabled unless" -msgstr "" +msgstr "Desativado a não ser" #: inc/abstracttarget.class.php:118 msgid "Generated unless" -msgstr "" +msgstr "Gerado a não ser" #: inc/abstracttarget.class.php:129 msgid "A target must be associated to a form." @@ -1844,43 +1892,43 @@ msgstr "Um alvo deve ser associado a um formulário existente." msgid "Name is required." msgstr "É necessário um nome." -#: inc/abstracttarget.class.php:503 +#: inc/abstracttarget.class.php:505 msgid "Destination entity" -msgstr "" +msgstr "Entidade de destino" -#: inc/abstracttarget.class.php:519 +#: inc/abstracttarget.class.php:521 msgid "User type question" msgstr "Pergunta tipo de utilizador" -#: inc/abstracttarget.class.php:520 +#: inc/abstracttarget.class.php:522 msgid "Entity type question" msgstr "Pergunta de tipo de entidade" #: inc/command/cleanticketscommand.class.php:53 msgid "Searching for invalid items..." -msgstr "" +msgstr "A procurar por itens inválidos..." #: inc/command/cleanticketscommand.class.php:61 msgid "Done." -msgstr "" +msgstr "Concluído." #: inc/command/cleanticketscommand.class.php:135 msgid "Step 1: double encoded < and > signs." -msgstr "" +msgstr "Passo 1: sinais de < e > duplamente codificados." #: inc/command/cleanticketscommand.class.php:146 #: inc/command/cleanticketscommand.class.php:196 #: inc/command/cleanticketscommand.class.php:260 msgid "No invalid items found." -msgstr "" +msgstr "Nenhum item inválido encontrado." #: inc/command/cleanticketscommand.class.php:187 msgid "Step 2: literal BR tag." -msgstr "" +msgstr "Passo 2: etiqueta BR literal." #: inc/command/cleanticketscommand.class.php:251 msgid "Step 3: litteral > sign." -msgstr "" +msgstr "Passo 3: sinal de > literal." #: inc/filter/itilcategoryfilter.class.php:52 #: inc/filter/itilcategoryfilter.class.php:54 @@ -1894,42 +1942,42 @@ msgstr "Categorias de incidentes" #: inc/filter/itilcategoryfilter.class.php:55 msgid "Change categories" -msgstr "" +msgstr "Categorias de alteração" #: inc/questionregex.class.php:52 msgid "Question regular expression" msgid_plural "Question regular expressions" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Expressão regular de pergunta" +msgstr[1] "Expressões regulares de pergunta" +msgstr[2] "Expressão regular de pergunta" #: inc/questiondependency.class.php:66 msgid "Question dependency" msgid_plural "Question dependencies" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Dependência da questão" +msgstr[1] "Dependências da questão" +msgstr[2] "Dependências da questão" #: inc/answer.class.php:66 entrée standard:43 msgid "Answer" msgid_plural "Answers" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Resposta" +msgstr[1] "Respostas" +msgstr[2] "Respostas" #: inc/item_targetticket.class.php:52 msgid "Composite ticket relation" msgid_plural "Composite ticket relations" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Relação de ticket composto" +msgstr[1] "Relações de tickets compostos" +msgstr[2] "Relação de ticket composto" #: inc/targetticket.class.php:57 entrée standard:43 msgid "Target ticket" msgid_plural "Target tickets" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Ticket alvo" +msgstr[1] "Tickets alvo" +msgstr[2] "Tickets algo" #: inc/targetticket.class.php:100 msgid "Specific asset" @@ -1949,19 +1997,19 @@ msgstr "Ultima resposta válida" #: inc/targetticket.class.php:108 msgid "Source from template or user default or GLPI default" -msgstr "" +msgstr "Fonte de modelo ou utilizador padrão ou padrão do GLPI" #: inc/targetticket.class.php:109 msgid "Formcreator" -msgstr "" +msgstr "Formcreator" #: inc/targetticket.class.php:115 msgid "Default or from a template" -msgstr "" +msgstr "Padrão ou de modelo" #: inc/targetticket.class.php:116 msgid "Specific type" -msgstr "" +msgstr "Topo especifico" #: inc/targetticket.class.php:189 entrée standard:48 msgid "Ticket title" @@ -1974,15 +2022,15 @@ msgstr "" #: inc/targetticket.class.php:336 msgid "Add a field" -msgstr "" +msgstr "Adicionar um campo" #: inc/targetticket.class.php:364 msgid "Managed fields" -msgstr "" +msgstr "Campos geridos" #: inc/targetticket.class.php:371 msgid "No managed field" -msgstr "" +msgstr "Sem campo gerido" #: inc/targetticket.class.php:391 msgid "Link to an other ticket" @@ -1998,12 +2046,12 @@ msgstr "Um ticket existente" #: inc/targetticket.class.php:402 msgid "A ticket from an answer to a question" -msgstr "" +msgstr "Um ticket de uma resposta para uma questão" #: inc/targetticket.class.php:483 msgctxt "button" msgid "Delete permanently" -msgstr "" +msgstr "Apagar permanentemente" #: inc/targetticket.class.php:724 msgid "Invalid link type" @@ -2021,45 +2069,45 @@ msgstr "Item vinculado não existe" msgid "Failed to link the item" msgstr "Falha ao ligar o item" -#: inc/targetticket.class.php:920 install/install.php:431 +#: inc/targetticket.class.php:939 install/install.php:432 msgid "Your form has been accepted by the validator" msgstr "O seu formulário foi aceite pelo validador" -#: inc/targetticket.class.php:1076 +#: inc/targetticket.class.php:1095 msgid "Request source" -msgstr "" +msgstr "Fonte requerida" -#: inc/targetticket.class.php:1101 +#: inc/targetticket.class.php:1120 msgid "Type " -msgstr "" +msgstr "Tipo" -#: inc/targetticket.class.php:1129 +#: inc/targetticket.class.php:1148 msgid "Associated elements" -msgstr "" +msgstr "Elementos associados" -#: inc/targetticket.class.php:1140 +#: inc/targetticket.class.php:1159 msgid "Item " msgstr "Item " #: inc/translation.class.php:153 msgid "No more string to translate" -msgstr "" +msgstr "Não há mais strings para traduzir" #: inc/translation.class.php:164 msgid "Internal error: translatable string not found." -msgstr "" +msgstr "Erro interno: string traduzível não encontrada." #: inc/translation.class.php:216 msgid "Language not found." -msgstr "" +msgstr "Idioma não encontrado." #: inc/translation.class.php:221 msgid "Form not found." -msgstr "" +msgstr "Formulário não encontrado." #: inc/translation.class.php:236 msgid "Failed to add the translation." -msgstr "" +msgstr "Falha ao adicionar a tradução." #: inc/abstractitiltarget.class.php:179 msgid "Tags from questions" @@ -2131,51 +2179,51 @@ msgstr "Localização específica" #: inc/abstractitiltarget.class.php:238 msgid "No validation" -msgstr "" +msgstr "Sem validação" #: inc/abstractitiltarget.class.php:239 msgid "Specific user or group" -msgstr "" +msgstr "Utilizador especifico ou grupo" #: inc/abstractitiltarget.class.php:240 msgid "User from question answer" -msgstr "" +msgstr "Utilizador a partir de resposta de pergunta" #: inc/abstractitiltarget.class.php:241 msgid "Group from question answer" -msgstr "" +msgstr "Grupo a partir de resposta de pergunta" #: inc/abstractitiltarget.class.php:769 entrée standard:108 msgid "Time to resolve" -msgstr "" +msgstr "Tempo para resolver" #: inc/abstractitiltarget.class.php:822 msgid "Minute" msgid_plural "Minutes" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Minuto" +msgstr[1] "Minutos" +msgstr[2] "Minutos" #: inc/abstractitiltarget.class.php:823 msgid "Hour" msgid_plural "Hours" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Hora" +msgstr[1] "Horas" +msgstr[2] "Horas" #: inc/abstractitiltarget.class.php:824 msgid "Day" msgid_plural "Days" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Dia" +msgstr[1] "Dias" +msgstr[2] "Dias" #: inc/abstractitiltarget.class.php:825 msgid "Month" msgid_plural "Months" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Mês" +msgstr[1] "Meses" +msgstr[2] "Meses" #: inc/abstractitiltarget.class.php:857 msgid "SLA (TTO/TTR)" @@ -2203,7 +2251,7 @@ msgstr "Tags" #: inc/abstractitiltarget.class.php:1231 msgid "Location" -msgstr "" +msgstr "Localização" #: inc/abstractitiltarget.class.php:1243 msgid "Location " @@ -2216,26 +2264,26 @@ msgstr "A descrição não pode estar vazia!" #: inc/abstractitiltarget.class.php:1760 msgid "Watcher" msgid_plural "Watchers" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Observador" +msgstr[1] "Observadores" +msgstr[2] "Observadores" #: inc/abstractitiltarget.class.php:1779 msgid "Cancel" msgstr "Cancelar" -#: inc/abstractitiltarget.class.php:2067 inc/abstractitiltarget.class.php:2495 -#: inc/abstractitiltarget.class.php:2499 +#: inc/abstractitiltarget.class.php:2067 inc/abstractitiltarget.class.php:2518 +#: inc/abstractitiltarget.class.php:2522 msgid "Email followup" -msgstr "" +msgstr "Email de acompanhamento" -#: inc/abstractitiltarget.class.php:2098 inc/abstractitiltarget.class.php:2483 +#: inc/abstractitiltarget.class.php:2098 inc/abstractitiltarget.class.php:2506 msgid "User" -msgstr "" +msgstr "Utilizador" -#: inc/abstractitiltarget.class.php:2109 inc/abstractitiltarget.class.php:2487 +#: inc/abstractitiltarget.class.php:2109 inc/abstractitiltarget.class.php:2510 msgid "Group" -msgstr "" +msgstr "Grupo" #: inc/abstractitiltarget.class.php:2120 msgid "Group from the object" @@ -2245,58 +2293,68 @@ msgstr "Grupo do objeto" msgid "Tech group from the object" msgstr "Grupo técnico do objeto" -#: inc/abstractitiltarget.class.php:2138 inc/abstractitiltarget.class.php:2491 +#: inc/abstractitiltarget.class.php:2138 inc/abstractitiltarget.class.php:2514 msgid "Supplier" -msgstr "" +msgstr "Fornecedor" -#: inc/abstractitiltarget.class.php:2495 +#: inc/abstractitiltarget.class.php:2518 msgid "Yes" -msgstr "" +msgstr "Sim" -#: install/install.php:134 +#: install/install.php:135 #, php-format msgid "Upgrade tables to innoDB; run %s" -msgstr "" +msgstr "Atualize tabelas para o innoDB; execute %s" -#: install/install.php:171 +#: install/install.php:172 #, php-format msgid "" "The database schema is not consistent with the previous version of " "Formcreator %s. To see the logs run the command %s" msgstr "" +"O esquema da base de dados não é consistente com a versão anterior do " +"Formcreator %s. Para ver os logs, execute o comando %s" -#: install/install.php:180 +#: install/install.php:181 #, php-format msgid "To ignore the inconsistencies and upgrade anyway run %s" -msgstr "" +msgstr "Para ignorar as inconsistências e mesmo assim atualizar execute %s" -#: install/install.php:197 +#: install/install.php:198 msgid "" "Upgrade from version older than 2.5.0 is no longer supported. Please upgrade" " to GLPI 9.5.7, upgrade Formcreator to version 2.12.5, then upgrade again to" " GLPI 10 or later and Formcreator 2.13 or later." msgstr "" +"Não é mais suportada a atualização de uma versão mais antiga do que a 2.5.0." +" Por favor atualize para o GLPI 9.5.7, atualize o Formcreator para a versão " +"2.12.5, e depois atualize novamente para versão GLPI 10 ou posterior e " +"Formcreator 2.13 ou posterior" -#: install/install.php:249 +#: install/install.php:250 #, php-format msgid "" "The database schema is not consistent with the current version of " "Formcreator %s. To see the logs enable the plugin and run the command %s" msgstr "" +"O esquema da base de dados não é consistente com a versão atual do " +"Formcreator %s. Para ver os logs, ative o plugin e execute o comando %s" -#: install/install.php:260 +#: install/install.php:261 msgid "The tables of the plugin passed the schema integrity check." msgstr "" +"As tabelas do plugin estão corretas de acordo com a verificação de " +"integridade do respetivo esquema." -#: install/install.php:412 +#: install/install.php:413 msgid "A form has been created" msgstr "Um formulário foi criado" -#: install/install.php:413 +#: install/install.php:414 msgid "Your request has been saved" msgstr "Seu pedido foi gravado" -#: install/install.php:414 +#: install/install.php:415 msgid "" "Hi,\\nYour request from GLPI has been successfully saved with number " "##formcreator.request_id## and transmitted to the helpdesk team.\\nYou can " @@ -2307,11 +2365,11 @@ msgstr "" " verificar as suas respostas no seguinte " "link:\\n##formcreator.validation_link##" -#: install/install.php:419 +#: install/install.php:420 msgid "A form from GLPI need to be validate" msgstr "Precisa validar um formulário de GLPI" -#: install/install.php:420 +#: install/install.php:421 msgid "" "Hi,\\nA form from GLPI need to be validate and you have been choosen as the " "validator.\\nYou can access it by clicking onto this " @@ -2321,11 +2379,11 @@ msgstr "" "validador.\\nVocê pode acede-lo clicando no " "link:\\n##formcreator.validation_link##" -#: install/install.php:425 +#: install/install.php:426 msgid "Your form has been refused by the validator" msgstr "O seu formulário foi recusado pelo validador" -#: install/install.php:426 +#: install/install.php:427 msgid "" "Hi,\\nWe are sorry to inform you that your form has been refused by the " "validator for the reason " @@ -2336,7 +2394,7 @@ msgstr "" " pela razão abaixo:\\n##formcreator.validation_comment##\\n\\nPoderá ainda " "modificá-lo e reenviá-lo clicando no link:\\n##formcreator.validation_link##" -#: install/install.php:432 +#: install/install.php:433 msgid "" "Hi,\\nWe are pleased to inform you that your form has been accepted by the " "validator.\\nYour request will be considered soon." @@ -2344,11 +2402,11 @@ msgstr "" "Ola,\\nTemos o prazer de informá-lo que o seu formulário foi aceite pelo " "validador.\\nO seu pedido será considerado em breve." -#: install/install.php:437 +#: install/install.php:438 msgid "Your form has been deleted by an administrator" msgstr "O seu formulário foi excluído por um administrador" -#: install/install.php:438 +#: install/install.php:439 msgid "" "Hi,\\nWe are sorry to inform you that your request cannot be considered and " "has been deleted by an administrator." @@ -2356,28 +2414,28 @@ msgstr "" "Olá,\\nLamentamos informá-lo de que o seu pedido não pode ser considerado e " "foi excluído por um administrador." -#: install/install.php:664 +#: install/install.php:665 msgid "Formcreator - Sync service catalog issues" msgstr "Formcreator-problemas de catálogo de serviços de sincronização" -#: install/install.php:852 +#: install/install.php:853 msgid "Failed to check the sanity of the tables!" -msgstr "" +msgstr "Falhou a verificação da consistência das tabelas!" -#: install/install.php:866 +#: install/install.php:867 #, php-format msgid "Table schema differs for table \"%s\"." -msgstr "" +msgstr "O esquema da tabela difere para a tabela \"%s\"." -#: install/install.php:869 +#: install/install.php:870 #, php-format msgid "Table \"%s\" is missing." -msgstr "" +msgstr "Não encontro a tabela \"%s\"." -#: install/install.php:872 +#: install/install.php:873 #, php-format msgid "Unknown table \"%s\" has been found in database." -msgstr "" +msgstr "Foi encontrada uma tabela desconhecida \"%s\" na base de dados." #: hook.php:378 msgctxt "button" @@ -2386,52 +2444,55 @@ msgstr "Duplicado" #: hook.php:379 msgid "Transfer" -msgstr "" +msgstr "Transferir" #: hook.php:380 msgctxt "button" msgid "Export" -msgstr "" +msgstr "Exportar" #: hook.php:381 msgctxt "button" msgid "Access rights" -msgstr "" +msgstr "Direitos de acesso" -#: hook.php:681 +#: hook.php:693 msgid "Cancel my ticket" msgstr "Cancelar o meu ticket" -#: hook.php:699 +#: hook.php:711 msgid "Old" -msgstr "" +msgstr "Antigo" -#: hook.php:706 +#: hook.php:718 #, php-format msgid "Number of %s" -msgstr "" +msgstr "Número de %s" -#: hook.php:723 +#: hook.php:735 msgid "Issues summary" -msgstr "" +msgstr "Resumo de problemas" -#: hook.php:768 +#: hook.php:780 msgid "" "Formcreator's mini dashboard not usable as default. This Setting has been " "ignored." msgstr "" +"Mini painel do Formcreator não utilizável como padrão. Esta configuração foi" +" ignorada." #: js/scripts.js:296 msgid "No form found. Please choose a form below instead." msgstr "" +"Nenhum formulário encontrado. Por favor, escolha um formulário abaixo." #: js/scripts.js:298 msgid "No form found." -msgstr "" +msgstr "Nenhum formulário encontrado." #: js/scripts.js:302 msgid "No FAQ item found." -msgstr "" +msgstr "Nenhum item de FAQ encontrado." #: js/scripts.js:688 msgid "Are you sure you want to delete this question?" @@ -2443,7 +2504,7 @@ msgstr "Tem a certeza de que pretende eliminar esta secção?" #: js/scripts.js:1118 msgid "Add translations" -msgstr "" +msgstr "Adicionar traduções" #: js/scripts.js:1257 js/scripts.js:1281 msgid "An error occured while querying forms" @@ -2451,28 +2512,29 @@ msgstr "Ocorreu um erro ao consultar formulários" #: js/scripts.js:1372 entrée standard:139 msgid "Send" -msgstr "" +msgstr "Enviar" #: js/scripts.js:1381 msgid "An internal error occurred. Please report it to administrator." -msgstr "" +msgstr "Ocorreu um erro interno. Por favor, reporte-o ao administrador." #: js/scripts.js:1449 msgid "Are you sure you want to duplicate this target?" -msgstr "" +msgstr "Tem certeza de que deseja duplicar este alvo?" #: js/scripts.js:1466 msgid "Are you sure you want to delete this target?" -msgstr "" +msgstr "Tem certeza de que deseja eliminar este alvo?" -#: entrée standard:43 standard:50 standard:44 standard:49 standard:78 +#: entrée standard:43 standard:50 standard:44 standard:82 standard:49 +#: standard:78 msgid "Required" msgstr "Necessário" #: entrée standard:57 standard:61 standard:60 standard:59 standard:43 #: standard:69 standard:52 standard:76 msgid "Default values" -msgstr "" +msgstr "Valores padrão" #: entrée standard:52 standard:59 standard:58 msgid "Show empty" @@ -2481,9 +2543,9 @@ msgstr "Mostrar vazio" #: entrée standard:39 msgid "LDAP directory" msgid_plural "LDAP directories" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Diretório LDAP" +msgstr[1] "Diretórios LDAP" +msgstr[2] "Diretório LDAP" #: entrée standard:68 msgid "Filter" @@ -2503,11 +2565,11 @@ msgstr "Mostrar categorias de tickets" #: entrée standard:109 msgid "Time to own" -msgstr "" +msgstr "Tempo para posse" #: entrée standard:146 standard:118 msgid "Selectable root" -msgstr "" +msgstr "Raiz selecionável" #: entrée standard:63 msgid "Direct access on homepage" @@ -2519,31 +2581,31 @@ msgstr "Formulário padrão no catálogo de serviços" #: entrée standard:113 standard:114 msgid "Are you a robot ?" -msgstr "" +msgstr "Você é um robô?" #: entrée standard:64 msgid "Condition to show the section" -msgstr "" +msgstr "Condição para mostrar a secção" #: entrée standard:40 msgid "Condition to generate the target" -msgstr "" +msgstr "Condição para gerar o alvo" #: entrée standard:127 msgid "Condition to show the question" -msgstr "" +msgstr "Condição para mostrar a pergunta" #: entrée standard:54 msgid "Impacts" -msgstr "" +msgstr "Impactos" #: entrée standard:62 msgid "Checklist" -msgstr "" +msgstr "Lista de verificação" #: entrée standard:36 msgid "Answers title" -msgstr "" +msgstr "Título das respostas" #: entrée standard:45 msgid "Add a section" @@ -2551,16 +2613,16 @@ msgstr "Adicionar secção" #: entrée standard:55 msgid "Condition to show the submit button" -msgstr "" +msgstr "Condição para mostrar o botão de enviar" #: entrée standard:33 msgid "No form answer yet" -msgstr "" +msgstr "Ainda não há resposta do formulário" #: entrée standard:38 #, php-format msgid "%s latest items" -msgstr "" +msgstr "%s itens mais recentes" #: entrée standard:83 msgid "Add a question" @@ -2568,11 +2630,11 @@ msgstr "Adicionar questão" #: entrée standard:39 msgid "List of available tags" -msgstr "" +msgstr "Lista de etiquetas disponíveis" #: entrée standard:42 msgid "Title" -msgstr "" +msgstr "Título" #: entrée standard:47 msgid "Full form" diff --git a/locales/ru_RU.po b/locales/ru_RU.po index 0b5d9b3ad..d958abbc3 100644 --- a/locales/ru_RU.po +++ b/locales/ru_RU.po @@ -6,10 +6,10 @@ # Translators: # Kirill Smyshkov , 2021 # Ilya Pavlov , 2022 -# Alexander Sokolov , 2022 # Nikolai Petrov , 2022 # Alexey Petukhov , 2023 # Thierry Bugier , 2023 +# Alexander Sokolov , 2024 # #, fuzzy msgid "" @@ -18,7 +18,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-11-13 14:56+0100\n" "PO-Revision-Date: 2021-08-30 07:22+0000\n" -"Last-Translator: Thierry Bugier , 2023\n" +"Last-Translator: Alexander Sokolov , 2024\n" "Language-Team: Russian (Russia) (https://app.transifex.com/teclib/teams/28042/ru_RU/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -257,7 +257,7 @@ msgstr "LDAP каталог не найден!" #: inc/field/ldapselectfield.class.php:154 msgid "LDAP attribute is required!" -msgstr "" +msgstr "Необходим LDAP атрибут!" #: inc/field/textfield.class.php:146 inc/field/floatfield.class.php:156 #, php-format @@ -297,15 +297,15 @@ msgstr "Переключатели" #: inc/field/radiosfield.class.php:116 inc/field/checkboxesfield.class.php:256 msgid "The field value is required." -msgstr "" +msgstr "Необходимо значение поля." #: inc/field/radiosfield.class.php:127 msgid "Only one default value is allowed." -msgstr "" +msgstr "Допускается только одно значение по умолчанию." #: inc/field/radiosfield.class.php:138 msgid "The default value is not in the list of available values." -msgstr "" +msgstr "Значение по умолчанию не входит в список доступных значений." #: inc/field/radiosfield.class.php:215 inc/field/selectfield.class.php:105 #: inc/field/datetimefield.class.php:119 inc/field/actorfield.class.php:257 @@ -317,7 +317,7 @@ msgstr "Обязательное поле пустое: %s" #: inc/field/radiosfield.class.php:234 inc/field/selectfield.class.php:123 #, php-format msgid "This value %1$s is not allowed: %2$s" -msgstr "" +msgstr "Это значение %1$s недопустимо: %2$s" #: inc/field/integerfield.class.php:60 #, php-format @@ -507,26 +507,26 @@ msgstr "Галочки" #: inc/field/checkboxesfield.class.php:208 #, php-format msgid "Empty values are not allowed: %s" -msgstr "" +msgstr "Пустые значения недопустимы: %s" #: inc/field/checkboxesfield.class.php:216 #, php-format msgid "This value %1$s is not alowed: %2$s" -msgstr "" +msgstr "Это значение %1$s недопустимо: %2$s" #: inc/field/checkboxesfield.class.php:236 #, php-format msgid "The following question needs at least %d answers: %s" -msgstr "" +msgstr "Следующий вопрос требует как минимум %d ответ: %s" #: inc/field/checkboxesfield.class.php:242 #, php-format msgid "The following question does not accept more than %d answers: %s" -msgstr "" +msgstr "Следующий вопрос не принимает больше %d ответов: %s" #: inc/field/checkboxesfield.class.php:270 msgid "The default values are not in the list of available values." -msgstr "" +msgstr "Значение по умолчанию не входит в список доступных значений." #: inc/field/checkboxesfield.class.php:325 msgid "Range min" @@ -747,19 +747,19 @@ msgstr "Группа, согласующая форму" #: inc/issue.class.php:817 msgid "Ticket approver group" -msgstr "" +msgstr "Группа согласующих заявку" #: inc/issue.class.php:857 msgid "Ticket requester" -msgstr "" +msgstr "Инициатор заявки" #: inc/issue.class.php:904 msgid "Ticket observer" -msgstr "" +msgstr "Наблюдатель заявки" #: inc/issue.class.php:952 msgid "Ticket technician" -msgstr "" +msgstr "Исполнитель заявки" #: inc/issue.class.php:1099 #, php-format @@ -834,7 +834,7 @@ msgstr "Форма удалена" #: inc/notificationtargetformanswer.class.php:74 msgid "Form ID" -msgstr "" +msgstr "ID формы" #: inc/notificationtargetformanswer.class.php:75 #: inc/notificationtargetformanswer.class.php:95 @@ -854,7 +854,7 @@ msgstr "Ответы формы" #: inc/notificationtargetformanswer.class.php:80 msgid "Validation comment" -msgstr "" +msgstr "Комментарий о проверке" #: inc/notificationtargetformanswer.class.php:81 #: inc/notificationtargetformanswer.class.php:101 @@ -863,7 +863,7 @@ msgstr "Ссылка на согласование" #: inc/notificationtargetformanswer.class.php:82 msgid "Request ID" -msgstr "" +msgstr "ID запроса" #: inc/notificationtargetformanswer.class.php:94 msgid "Form #" @@ -1036,6 +1036,8 @@ msgid "" "An internal error occured when verifying your answers. Please report it to " "your administrator." msgstr "" +"При проверке ваших ответов произошла внутренняя ошибка. Пожалуйста, сообщите" +" об этом своему администратору." #: inc/formanswer.class.php:882 msgid "You are not the validator of these answers" @@ -1044,7 +1046,7 @@ msgstr "Вы не согласующий этих ответов" #: inc/formanswer.class.php:1021 #, php-format msgid "Item sucessfully added: %1$s (%2$s: %3$s)" -msgstr "" +msgstr "Элемент успешно добавлен: %1$s (%2$s: %3$s)" #: inc/formanswer.class.php:1104 inc/formanswer.class.php:1106 msgid "Form data" @@ -1057,7 +1059,7 @@ msgstr "Не удалось создать цели!" #: inc/formanswer.class.php:1434 #, php-format msgid "Answer is invalid in %1$s" -msgstr "" +msgstr "Ответ некорректен в %1$s" #: inc/formanswer.class.php:1462 msgid "No turing test set" @@ -1089,7 +1091,7 @@ msgstr "Мои обращения" #: inc/common.class.php:829 msgid "Consult reminders" -msgstr "" +msgstr "Просмотр напоминаний" #: inc/common.class.php:849 msgid "Consult feeds" @@ -1137,15 +1139,15 @@ msgstr[3] "Переводы" #: inc/form_language.class.php:122 msgid "The name cannot be empty." -msgstr "" +msgstr "Имя не может быть пустым." #: inc/form_language.class.php:130 msgid "The language must be associated to a form." -msgstr "" +msgstr "Язык должен быть сопоставлен с формой." #: inc/form_language.class.php:138 msgid "The specified language is not available." -msgstr "" +msgstr "Указанный язык недоступен." #: inc/form_language.class.php:268 msgid "Add a translation" @@ -1341,11 +1343,11 @@ msgstr "Единая высота" #: inc/entityconfig.class.php:164 msgid "Search for assistance" -msgstr "" +msgstr "Поиск помощи" #: inc/entityconfig.class.php:165 msgid "User's assistance requests" -msgstr "" +msgstr "Запросы помощи пользователя" #: inc/entityconfig.class.php:261 msgid "Helpdesk" @@ -1386,7 +1388,7 @@ msgstr "Проблема с поиском" #: inc/entityconfig.class.php:393 inc/entityconfig.class.php:509 msgid "Service catalog home page" -msgstr "" +msgstr "Домашняя страница каталога услуг" #: inc/entityconfig.class.php:409 inc/entityconfig.class.php:549 msgid "Tile design" @@ -1520,7 +1522,7 @@ msgstr "Предпросмотр" #: inc/form.class.php:576 msgid "Form answer properties" -msgstr "" +msgstr "Свойства ответа формы" #: inc/form.class.php:900 msgid "What are you looking for?" @@ -1594,7 +1596,7 @@ msgstr "Назад" #: inc/form.class.php:1568 #, php-format msgid "Form updated: %s" -msgstr "" +msgstr "Форм обновлено: %s" #: inc/form.class.php:1668 msgid "Upload of JSON files not allowed." @@ -1931,29 +1933,29 @@ msgstr "Организация из вопроса" #: inc/command/cleanticketscommand.class.php:53 msgid "Searching for invalid items..." -msgstr "" +msgstr "Поиск недействительных элементов..." #: inc/command/cleanticketscommand.class.php:61 msgid "Done." -msgstr "" +msgstr "Готово." #: inc/command/cleanticketscommand.class.php:135 msgid "Step 1: double encoded < and > signs." -msgstr "" +msgstr "Шаг 1: двойное кодирование знаков < и >." #: inc/command/cleanticketscommand.class.php:146 #: inc/command/cleanticketscommand.class.php:196 #: inc/command/cleanticketscommand.class.php:260 msgid "No invalid items found." -msgstr "" +msgstr "Недействительные элементы не найдены." #: inc/command/cleanticketscommand.class.php:187 msgid "Step 2: literal BR tag." -msgstr "" +msgstr "Шаг 2: буквальный тег BR." #: inc/command/cleanticketscommand.class.php:251 msgid "Step 3: litteral > sign." -msgstr "" +msgstr "Шаг 3: буквальный > знак." #: inc/filter/itilcategoryfilter.class.php:52 #: inc/filter/itilcategoryfilter.class.php:54 @@ -2125,7 +2127,7 @@ msgstr "Больше нет строк для перевода" #: inc/translation.class.php:164 msgid "Internal error: translatable string not found." -msgstr "" +msgstr "Внутренняя ошибка: переводимая строка не найдена." #: inc/translation.class.php:216 msgid "Language not found." @@ -2339,7 +2341,7 @@ msgstr "Да" #: install/install.php:135 #, php-format msgid "Upgrade tables to innoDB; run %s" -msgstr "" +msgstr "Для обновления таблиц в innoDB запустите %s" #: install/install.php:172 #, php-format @@ -2347,11 +2349,15 @@ msgid "" "The database schema is not consistent with the previous version of " "Formcreator %s. To see the logs run the command %s" msgstr "" +"Схема базы данных не соответствует предыдущей версии Formcreator %s. Чтобы " +"просмотреть журнал, выполните команду %s" #: install/install.php:181 #, php-format msgid "To ignore the inconsistencies and upgrade anyway run %s" msgstr "" +"Чтобы игнорировать несоответствия и все равно выполнить обновление, " +"запустите %s" #: install/install.php:198 msgid "" @@ -2359,6 +2365,9 @@ msgid "" " to GLPI 9.5.7, upgrade Formcreator to version 2.12.5, then upgrade again to" " GLPI 10 or later and Formcreator 2.13 or later." msgstr "" +"Обновление с версии старше 2.5.0 больше не поддерживается. Пожалуйста, " +"обновите GLPI 9.5.7, обновите Formcreator до версии 2.12.5, затем обновите " +"снова до GLPI 10 или новее и Formcreator 2.13 или новее." #: install/install.php:250 #, php-format @@ -2366,10 +2375,12 @@ msgid "" "The database schema is not consistent with the current version of " "Formcreator %s. To see the logs enable the plugin and run the command %s" msgstr "" +"Схема базы данных не соответствует текущей версии Formcreator %s. Чтобы " +"просмотреть журнал, включите плагин и выполните команду %s" #: install/install.php:261 msgid "The tables of the plugin passed the schema integrity check." -msgstr "" +msgstr "Таблицы плагина прошли проверку целостности схемы." #: install/install.php:413 msgid "A form has been created" @@ -2443,22 +2454,22 @@ msgstr "Formcreator - Проблемы каталога службы синхр #: install/install.php:853 msgid "Failed to check the sanity of the tables!" -msgstr "" +msgstr "Не удалось проверить работоспособность таблиц!" #: install/install.php:867 #, php-format msgid "Table schema differs for table \"%s\"." -msgstr "" +msgstr "Схема отличается для таблицы \"%s\"." #: install/install.php:870 #, php-format msgid "Table \"%s\" is missing." -msgstr "" +msgstr "Таблица \"%s\" утеряна." #: install/install.php:873 #, php-format msgid "Unknown table \"%s\" has been found in database." -msgstr "" +msgstr "В базе данных найдена неизвестная таблица \"%s\"" #: hook.php:378 msgctxt "button" @@ -2477,7 +2488,7 @@ msgstr "Экспорт" #: hook.php:381 msgctxt "button" msgid "Access rights" -msgstr "" +msgstr "Права доступа" #: hook.php:693 msgid "Cancel my ticket" @@ -2539,14 +2550,15 @@ msgstr "Отправить" #: js/scripts.js:1381 msgid "An internal error occurred. Please report it to administrator." msgstr "" +"Возникла внутренняя ошибка. Пожалуйста, сообщите об этом администратору." #: js/scripts.js:1449 msgid "Are you sure you want to duplicate this target?" -msgstr "" +msgstr "Вы уверены, что хотите дублировать эту цель?" #: js/scripts.js:1466 msgid "Are you sure you want to delete this target?" -msgstr "" +msgstr "Вы уверены, что хотите удалить эту цель?" #: entrée standard:43 standard:50 standard:44 standard:82 standard:49 #: standard:78 @@ -2640,12 +2652,12 @@ msgstr "Условие для отображения кнопки отправк #: entrée standard:33 msgid "No form answer yet" -msgstr "" +msgstr "Ответы форм пока отсутствуют" #: entrée standard:38 #, php-format msgid "%s latest items" -msgstr "" +msgstr "%s последних элементов" #: entrée standard:83 msgid "Add a question" diff --git a/locales/tr_TR.po b/locales/tr_TR.po index c743dbce8..54aa4b7c7 100644 --- a/locales/tr_TR.po +++ b/locales/tr_TR.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Ali AY , 2022 +# Ali AY , 2022 # Thierry Bugier , 2023 -# Kaya Zeren , 2023 +# Kaya Zeren , 2024 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-11-13 14:56+0100\n" "PO-Revision-Date: 2021-08-30 07:22+0000\n" -"Last-Translator: Kaya Zeren , 2023\n" +"Last-Translator: Kaya Zeren , 2024\n" "Language-Team: Turkish (Turkey) (https://app.transifex.com/teclib/teams/28042/tr_TR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -360,7 +360,7 @@ msgstr "Çok düşük" #: inc/field/tagfield.class.php:51 msgid "Warning: Tag plugin is disabled or missing" -msgstr "Uyarı: Etiket uygulama eki devre dışı bırakılmış ya da eksik" +msgstr "Uyarı: Etiket eklentisi kullanımdan kaldırılmış ya da eksik" #: inc/field/tagfield.class.php:197 msgid "Tag" @@ -447,7 +447,7 @@ msgstr "Çoklu seçim" #: inc/field/fieldsfield.class.php:154 msgid "Warning: Additional Fields plugin is disabled or missing" -msgstr "Uyarı: Ek alanlar uygulama eki devre dışı bırakılmış ya da eksik" +msgstr "Uyarı: Ek alanlar eklentisi kullanımdan kaldırılmış ya da eksik" #: inc/field/fieldsfield.class.php:167 msgid "Block" @@ -1780,8 +1780,8 @@ msgstr "İdari" #: inc/question.class.php:1266 inc/question.class.php:1269 msgid "Plugin" msgid_plural "Plugins" -msgstr[0] "Uygulama eki" -msgstr[1] "Uygulama ekleri" +msgstr[0] "Eklenti" +msgstr[1] "Eklentiler" #: inc/abstractquestionparameter.class.php:92 msgid "Parameter" @@ -2289,12 +2289,12 @@ msgid "" "Formcreator %s. To see the logs enable the plugin and run the command %s" msgstr "" "Veri tabanı şeması güncel Formcreator %s sürümü ile uyumlu değil. Günlük " -"kayıtlarını görüntülemek için uygulama ekini etkinleştirin ve şu komutu " -"yürütün %s" +"kayıtlarını görüntülemek için eklentiyi kullanıma alın ve şu komutu yürütün " +"%s" #: install/install.php:261 msgid "The tables of the plugin passed the schema integrity check." -msgstr "Uygulama ekinin tabloları şema bütünlüğü denetimini geçti." +msgstr "Eklentinin tabloları şema bütünlüğü denetimini geçti." #: install/install.php:413 msgid "A form has been created" diff --git a/package.json b/package.json index 2d1726915..adc9c2373 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,7 @@ { "dependencies": { - "jquery-slinky": "^4.1" + "jquery-slinky": "^4.1", + "yarn": "^1.22.22" }, "devDependencies": { "conventional-changelog-cli": "^2.0", @@ -13,5 +14,5 @@ "tag": true } }, - "version": "2.13.9" + "version": "2.13.10" } diff --git a/plugin.xml b/plugin.xml index a4b365002..cdffd6a15 100644 --- a/plugin.xml +++ b/plugin.xml @@ -58,6 +58,11 @@ Features Teclib' + + 2.13.10 + ~10.0.10 + https://github.com/pluginsGLPI/formcreator/releases/download/2.13.10/glpi-formcreator-2.13.10.tar.bz2 + 2.13.9 ~10.0.10 diff --git a/setup.php b/setup.php index 96e95461e..e055b032d 100644 --- a/setup.php +++ b/setup.php @@ -33,7 +33,7 @@ global $CFG_GLPI; // Version of the plugin (major.minor.bugfix) -define('PLUGIN_FORMCREATOR_VERSION', '2.13.9'); +define('PLUGIN_FORMCREATOR_VERSION', '2.13.10'); // Schema version of this version (major.minor only) define('PLUGIN_FORMCREATOR_SCHEMA_VERSION', '2.13'); // is or is not an official release of the plugin @@ -281,6 +281,7 @@ function plugin_formcreator_permanent_hook(): void { $PLUGIN_HOOKS[Hooks::ITEM_ADD]['formcreator'] = [ Ticket::class => 'plugin_formcreator_hook_add_ticket', ITILFollowup::class => 'plugin_formcreator_hook_update_itilFollowup', + Ticket_User::class => 'plugin_formcreator_hook_update_ticket_actors', ]; $PLUGIN_HOOKS[Hooks::PRE_ITEM_UPDATE]['formcreator'] = [ User::class => 'plugin_formcreator_hook_update_user', @@ -299,6 +300,7 @@ function plugin_formcreator_permanent_hook(): void { $PLUGIN_HOOKS[Hooks::ITEM_PURGE]['formcreator'] = [ Ticket::class => 'plugin_formcreator_hook_purge_ticket', TicketValidation::class => 'plugin_formcreator_hook_purge_ticketvalidation', + Ticket_User::class => 'plugin_formcreator_hook_update_ticket_actors', ]; $PLUGIN_HOOKS[Hooks::PRE_ITEM_PURGE]['formcreator'] = [ PluginFormcreatorTargetTicket::class => 'plugin_formcreator_hook_pre_purge_targetTicket', diff --git a/templates/field/fieldsfield.html.twig b/templates/field/fieldsfield.html.twig index e333cba0a..e94774fb1 100644 --- a/templates/field/fieldsfield.html.twig +++ b/templates/field/fieldsfield.html.twig @@ -59,6 +59,7 @@ item.fields['_field_list'], item.fields['_drodpdown_field_label'], { + on_change: 'plugin_formcreator.changeQuestionType(this)', display_emptychoice: true, label_class: 'col-xxl-4', input_class: 'col-xxl-8', diff --git a/tests/1-install/Config.php b/tests/1-install/Config.php index b3993edff..6c99ef4b0 100644 --- a/tests/1-install/Config.php +++ b/tests/1-install/Config.php @@ -180,7 +180,7 @@ public function checkRequestType() { public function checkAutomaticAction() { $cronTask = new \CronTask(); $cronTask->getFromDBByCrit([ - 'itemtype' => 'PluginFormcreatorISsue', + 'itemtype' => 'PluginFormcreatorIssue', 'name' => 'SyncIssues' ]); $this->boolean($cronTask->isNewItem())->isFalse();