From 06f2445341a5f1c38ce6546c682763f9404f341a Mon Sep 17 00:00:00 2001 From: Weblate Date: Mon, 31 Aug 2026 11:47:21 +0200 Subject: [PATCH] Maintenance: Translations update from translations.zammad.org. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Special thanks to the amazing translation team. You rock! 💪 Co-authored-by: Dusan Vuckovic Co-authored-by: Igor Costa Co-authored-by: Ralf Schmid Co-authored-by: Weblate Co-authored-by: albanobattistella Translate-URL: https://translations.zammad.org/projects/documentations/admin-documentation-pre-release/ Translate-URL: https://translations.zammad.org/projects/documentations/admin-documentation-pre-release/de/ Translate-URL: https://translations.zammad.org/projects/documentations/admin-documentation-pre-release/it/ Translate-URL: https://translations.zammad.org/projects/documentations/admin-documentation-pre-release/pt_BR/ Translate-URL: https://translations.zammad.org/projects/documentations/admin-documentation-pre-release/sr/ Translation: Documentation/Admin Documentation (pre-release) --- locale/cs/LC_MESSAGES/admin-docs.po | 957 +++++++++++++----- locale/da/LC_MESSAGES/admin-docs.po | 957 +++++++++++++----- locale/de/LC_MESSAGES/admin-docs.po | 1126 ++++++++++++++++------ locale/es/LC_MESSAGES/admin-docs.po | 957 +++++++++++++----- locale/es_CO/LC_MESSAGES/admin-docs.po | 957 +++++++++++++----- locale/es_MX/LC_MESSAGES/admin-docs.po | 957 +++++++++++++----- locale/fa/LC_MESSAGES/admin-docs.po | 957 +++++++++++++----- locale/fr/LC_MESSAGES/admin-docs.po | 959 +++++++++++++----- locale/fr_CA/LC_MESSAGES/admin-docs.po | 967 ++++++++++++++----- locale/hr/LC_MESSAGES/admin-docs.po | 957 +++++++++++++----- locale/hu/LC_MESSAGES/admin-docs.po | 959 +++++++++++++----- locale/it/LC_MESSAGES/admin-docs.po | 1075 ++++++++++++++++----- locale/nl/LC_MESSAGES/admin-docs.po | 957 +++++++++++++----- locale/pl/LC_MESSAGES/admin-docs.po | 957 +++++++++++++----- locale/pt_BR/LC_MESSAGES/admin-docs.po | 1120 +++++++++++++++------ locale/ru/LC_MESSAGES/admin-docs.po | 957 +++++++++++++----- locale/sr/LC_MESSAGES/admin-docs.po | 1099 +++++++++++++++------ locale/sv/LC_MESSAGES/admin-docs.po | 957 +++++++++++++----- locale/th/LC_MESSAGES/admin-docs.po | 957 +++++++++++++----- locale/tr/LC_MESSAGES/admin-docs.po | 958 +++++++++++++----- locale/zh_Hans/LC_MESSAGES/admin-docs.po | 957 +++++++++++++----- 21 files changed, 15421 insertions(+), 5283 deletions(-) diff --git a/locale/cs/LC_MESSAGES/admin-docs.po b/locale/cs/LC_MESSAGES/admin-docs.po index 8ae9124e4..01807b1ef 100644 --- a/locale/cs/LC_MESSAGES/admin-docs.po +++ b/locale/cs/LC_MESSAGES/admin-docs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Zammad\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-24 17:19+0200\n" +"POT-Creation-Date: 2026-08-28 15:08+0200\n" "PO-Revision-Date: 2026-07-29 07:54+0000\n" "Last-Translator: Deleted User \n" "Language-Team: Czech ` and consider switching your plan. When a " @@ -1132,17 +1133,17 @@ msgid "" "alerted when few calls remain." msgstr "" -#: ../ai/provider.rst:288 +#: ../ai/provider.rst:289 msgid "" "On SaaS, the Zammad AI provider is provisioned by the platform and you " "cannot delete it or change its type." msgstr "" -#: ../ai/provider.rst:295 +#: ../ai/provider.rst:296 msgid "Self-Hosted Customers" msgstr "" -#: ../ai/provider.rst:292 +#: ../ai/provider.rst:293 msgid "" "Get in touch with our `sales department `_ to obtain a Zammad AI API key and to buy AI calls. After " @@ -1150,14 +1151,14 @@ msgid "" "key." msgstr "" -#: ../ai/provider.rst:300 +#: ../ai/provider.rst:301 msgid "" "`Ollama `_ lets you run your own AI server on a machine " "you control, so your data is not transferred to a third party. This approach " "only makes sense if you have a powerful GPU in your system!" msgstr "" -#: ../ai/provider.rst:304 +#: ../ai/provider.rst:305 msgid "" "If you don't have Ollama running yet, their `documentation `_ is a good starting point. Available models are listed in " @@ -4219,7 +4220,7 @@ msgstr "" msgid "Signatures" msgstr "" -#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:436 +#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:450 #: ../system/monitoring.rst:9 msgid "General" msgstr "" @@ -4948,7 +4949,7 @@ msgstr "" #: ../channels/form.rst:250 ../manage/public-links.rst:43 #: ../misc/object-conditions/basics.rst:63 ../misc/variables.rst:101 -#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:22 #: ../system/objects/permissions.rst:36 ../system/subscription.rst:196 msgid "Description" msgstr "" @@ -8686,6 +8687,29 @@ msgstr "" #: ../manage/groups/settings.rst:42 ../manage/groups/settings.rst:63 #: ../misc/object-conditions/basics.rst:121 #: ../misc/object-conditions/basics.rst:136 +#: ../misc/object-conditions/basics.rst:514 +#: ../misc/object-conditions/basics.rst:517 +#: ../misc/object-conditions/basics.rst:548 +#: ../misc/object-conditions/basics.rst:554 +#: ../misc/object-conditions/basics.rst:591 +#: ../misc/object-conditions/basics.rst:594 +#: ../misc/object-conditions/basics.rst:623 +#: ../misc/object-conditions/basics.rst:626 +#: ../system/core-workflows/condition-operators.rst:184 +#: ../system/core-workflows/condition-operators.rst:187 +#: ../system/core-workflows/condition-operators.rst:190 +#: ../system/core-workflows/condition-operators.rst:193 +#: ../system/core-workflows/condition-operators.rst:196 +#: ../system/core-workflows/condition-operators.rst:224 +#: ../system/core-workflows/condition-operators.rst:227 +#: ../system/core-workflows/condition-operators.rst:233 +#: ../system/core-workflows/condition-operators.rst:236 +#: ../system/core-workflows/condition-operators.rst:276 +#: ../system/core-workflows/condition-operators.rst:279 +#: ../system/core-workflows/condition-operators.rst:282 +#: ../system/core-workflows/condition-operators.rst:316 +#: ../system/core-workflows/condition-operators.rst:319 +#: ../system/core-workflows/condition-operators.rst:322 msgid "yes" msgstr "" @@ -8740,6 +8764,23 @@ msgstr "" #: ../manage/groups/settings.rst:66 ../misc/object-conditions/basics.rst:122 #: ../misc/object-conditions/basics.rst:137 +#: ../misc/object-conditions/basics.rst:520 +#: ../misc/object-conditions/basics.rst:523 +#: ../misc/object-conditions/basics.rst:551 +#: ../misc/object-conditions/basics.rst:557 +#: ../misc/object-conditions/basics.rst:585 +#: ../misc/object-conditions/basics.rst:588 +#: ../misc/object-conditions/basics.rst:617 +#: ../misc/object-conditions/basics.rst:620 +#: ../system/core-workflows/condition-operators.rst:199 +#: ../system/core-workflows/condition-operators.rst:230 +#: ../system/core-workflows/condition-operators.rst:239 +#: ../system/core-workflows/condition-operators.rst:267 +#: ../system/core-workflows/condition-operators.rst:270 +#: ../system/core-workflows/condition-operators.rst:273 +#: ../system/core-workflows/condition-operators.rst:307 +#: ../system/core-workflows/condition-operators.rst:310 +#: ../system/core-workflows/condition-operators.rst:313 msgid "no" msgstr "" @@ -9145,7 +9186,7 @@ msgid "" msgstr "" #: ../manage/knowledge-base.rst:136 ../manage/public-links.rst:35 -#: ../manage/time-accounting.rst:147 ../manage/time-accounting.rst:161 +#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 #: ../system/maintenance.rst:31 msgid "Title" msgstr "" @@ -12396,16 +12437,18 @@ msgstr "" #: ../manage/time-accounting.rst:22 msgid "" "If a ticket is relevant, Zammad will request the agent to provide the time " -"which was needed to process the current ticket step. In order for Zammad to " -"bring up the time accounting dialog to an agent, the agent has to update the " -"ticket together with an article of any type. The adding of an article is " -"mandatory to invoke the time accounting dialog. However, the time accounting " -"dialog is not mandatory and can be canceled by your agents. You cannot " -"enforce the time accounting. When a ticket is no longer considered for the " -"time accounting, the already accounted time will be preserved." +"which was needed to process the current ticket step. This accounted time is " +"displayed in the ticket sidebar at ticket level and in the article meta " +"information for an individual article. In order for Zammad to bring up the " +"time accounting dialog to an agent, the agent has to update the ticket " +"together with an article of any type. The adding of an article is mandatory " +"to invoke the time accounting dialog. However, the time accounting dialog is " +"not mandatory and can be canceled by your agents. You cannot enforce the " +"time accounting. When a ticket is no longer considered for the time " +"accounting, the already accounted time will be preserved." msgstr "" -#: ../manage/time-accounting.rst:33 +#: ../manage/time-accounting.rst:35 msgid "" "The selector applies to the ticket state before any attribute changes have " "been saved. That means if your agent is e.g. going to close a ticket " @@ -12417,49 +12460,49 @@ msgstr "" msgid "Time Accounting Ticket Selector" msgstr "" -#: ../manage/time-accounting.rst:42 +#: ../manage/time-accounting.rst:44 msgid "" "The accounted time is always a unitless number. However, it is possible to " "show a specific unit in the **Unit** section, which provides several options:" msgstr "" -#: ../manage/time-accounting.rst:46 +#: ../manage/time-accounting.rst:48 msgid "no unit" msgstr "" -#: ../manage/time-accounting.rst:47 +#: ../manage/time-accounting.rst:49 msgid "Default behavior, no unit is shown next to the time value." msgstr "" -#: ../manage/time-accounting.rst:48 +#: ../manage/time-accounting.rst:50 msgid "hour(s)" msgstr "" -#: ../manage/time-accounting.rst:49 +#: ../manage/time-accounting.rst:51 msgid "Shows ``hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:50 +#: ../manage/time-accounting.rst:52 msgid "quarter-hour(s)" msgstr "" -#: ../manage/time-accounting.rst:51 +#: ../manage/time-accounting.rst:53 msgid "Shows ``quarter-hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:52 +#: ../manage/time-accounting.rst:54 msgid "minute(s)" msgstr "" -#: ../manage/time-accounting.rst:53 +#: ../manage/time-accounting.rst:55 msgid "Shows ``minute(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "custom unit" msgstr "" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "Shows a custom unit that can be specified as free input." msgstr "" @@ -12467,7 +12510,7 @@ msgstr "" msgid "Time Accounting Unit" msgstr "" -#: ../manage/time-accounting.rst:62 +#: ../manage/time-accounting.rst:64 msgid "" "The unit is only displayed to make it easier for agents to account their " "time! No numerical transformation will be applied to the values, not even if " @@ -12479,11 +12522,11 @@ msgstr "" msgid "Time Accounting Unit when Recording" msgstr "" -#: ../manage/time-accounting.rst:72 +#: ../manage/time-accounting.rst:74 msgid "Activity Types" msgstr "" -#: ../manage/time-accounting.rst:74 +#: ../manage/time-accounting.rst:76 msgid "" "**Activity Types** can be used to group the different ticket time accounting " "entries together. For example, entries that are relevant to a \"Billing\" " @@ -12494,7 +12537,7 @@ msgstr "" msgid "Time Accounting Activity Types" msgstr "" -#: ../manage/time-accounting.rst:81 +#: ../manage/time-accounting.rst:83 msgid "" "When you enable the recording of the **Activity Type**, the agents will be " "able to select a type from this list." @@ -12504,13 +12547,13 @@ msgstr "" msgid "Time Accounting Activity Type Selection for Agents" msgstr "" -#: ../manage/time-accounting.rst:88 +#: ../manage/time-accounting.rst:90 msgid "" "Additionally, a column with an associated activity type will be rendered for " "an entry in the **Activity** table under the **Accounted Time** tab." msgstr "" -#: ../manage/time-accounting.rst:91 +#: ../manage/time-accounting.rst:93 msgid "" "You can manage available activity types in this screen like any other Zammad " "object. Only active types will be available for the selection when recording " @@ -12522,7 +12565,7 @@ msgstr "" msgid "New Time Accounting Activity Type Dialog" msgstr "" -#: ../manage/time-accounting.rst:100 +#: ../manage/time-accounting.rst:102 msgid "" "Activity types can be set as default, and in that case they will be pre-" "selected for the agents when they are asked to account their time. It is " @@ -12530,29 +12573,29 @@ msgid "" "pre-selected and the agents can make their choice." msgstr "" -#: ../manage/time-accounting.rst:106 +#: ../manage/time-accounting.rst:108 msgid "Accounted Time" msgstr "" -#: ../manage/time-accounting.rst:108 +#: ../manage/time-accounting.rst:110 msgid "" "Under the **Accounted Time** tab, Zammad provides a section for reviewing " "all accounted times for your tickets. Accounted times are displayed per " "years and months." msgstr "" -#: ../manage/time-accounting.rst:112 +#: ../manage/time-accounting.rst:114 msgid "" "If you have tickets that are overlapping several months, you can " "differentiate by *time units* and *time units total* (e.g. to allow partial " "billing) in the downloaded file." msgstr "" -#: ../manage/time-accounting.rst:123 +#: ../manage/time-accounting.rst:125 msgid "Select the right month" msgstr "" -#: ../manage/time-accounting.rst:117 +#: ../manage/time-accounting.rst:119 msgid "" "Usually you want to bill accounted time of other months than the current " "one. Just select the relevant year and month to receive the accounted times " @@ -12563,85 +12606,85 @@ msgstr "" msgid "Screenshot showing a selection for year and month on time accounting" msgstr "" -#: ../manage/time-accounting.rst:186 +#: ../manage/time-accounting.rst:188 msgid "Tickets and their accounted time" msgstr "" -#: ../manage/time-accounting.rst:126 +#: ../manage/time-accounting.rst:128 msgid "" "Zammad allows you to receive the accounted information just like you need " "them. For this you currently have four options to review and also download " "the relevant data as CSV." msgstr "" -#: ../manage/time-accounting.rst:130 +#: ../manage/time-accounting.rst:132 msgid "" "To download the CSV data, use the download button right next to each heading " "(e.g. \"Ticket\")." msgstr "" -#: ../manage/time-accounting.rst:133 +#: ../manage/time-accounting.rst:135 msgid "This can also be automated with API calls." msgstr "" -#: ../manage/time-accounting.rst:136 +#: ../manage/time-accounting.rst:138 msgid "" "Only the first 20 entries are shown for each table. To see all of them, " "simply download the records in CSV." msgstr "" -#: ../manage/time-accounting.rst:153 +#: ../manage/time-accounting.rst:155 msgid "Activity" msgstr "" -#: ../manage/time-accounting.rst:140 +#: ../manage/time-accounting.rst:142 msgid "" "This filter works similar to the ticket filter, with one exception: You'll " "find each *individual* time accounting step of your agents. This is what " "you'd also see in the ticket's history before Zammad 5.2." msgstr "" -#: ../manage/time-accounting.rst:144 ../manage/time-accounting.rst:158 -#: ../manage/time-accounting.rst:175 +#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:177 msgid "In this list you'll see the following ticket information:" msgstr "" -#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 #: ../settings/ticket.rst:103 msgid "Number" msgstr "" -#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 -#: ../manage/time-accounting.rst:179 ../manage/time-accounting.rst:177 +#: ../manage/time-accounting.rst:150 ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:181 ../manage/time-accounting.rst:179 #: ../misc/object-conditions/basics.rst:37 #: ../misc/object-conditions/basics.rst:89 #: ../misc/object-conditions/basics.rst:171 msgid "Customer" msgstr "" -#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 -#: ../manage/time-accounting.rst:178 +#: ../manage/time-accounting.rst:151 ../manage/time-accounting.rst:165 +#: ../manage/time-accounting.rst:180 msgid "Organization of customer (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:150 +#: ../manage/time-accounting.rst:152 msgid "Agent that accounted the time" msgstr "" -#: ../manage/time-accounting.rst:151 +#: ../manage/time-accounting.rst:153 msgid "Time units accounted in the current activity" msgstr "" -#: ../manage/time-accounting.rst:152 +#: ../manage/time-accounting.rst:154 msgid "Activity type (if enabled)" msgstr "" -#: ../manage/time-accounting.rst:153 ../manage/time-accounting.rst:167 +#: ../manage/time-accounting.rst:155 ../manage/time-accounting.rst:169 #: ../system/audit-logs.rst:76 msgid "Created at" msgstr "" -#: ../manage/time-accounting.rst:168 ../misc/object-conditions/basics.rst:26 +#: ../manage/time-accounting.rst:170 ../misc/object-conditions/basics.rst:26 #: ../misc/object-conditions/basics.rst:90 #: ../misc/object-conditions/basics.rst:126 #: ../misc/object-conditions/basics.rst:139 @@ -12657,45 +12700,45 @@ msgstr "" msgid "Ticket" msgstr "" -#: ../manage/time-accounting.rst:156 +#: ../manage/time-accounting.rst:158 msgid "This filter contains all relevant tickets from the selected month." msgstr "" -#: ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:166 msgid "Agent currently assigned (ticket owner)" msgstr "" -#: ../manage/time-accounting.rst:165 ../manage/time-accounting.rst:179 +#: ../manage/time-accounting.rst:167 ../manage/time-accounting.rst:181 msgid "Time units accounted in the current month" msgstr "" -#: ../manage/time-accounting.rst:166 +#: ../manage/time-accounting.rst:168 msgid "Time units total (time accounted during ticket life)" msgstr "" -#: ../manage/time-accounting.rst:168 +#: ../manage/time-accounting.rst:170 msgid "Closed at (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:171 +#: ../manage/time-accounting.rst:173 msgid "" "This provides you a per user filter on accounted time units. Each user has a " "total of time accounted in the current month (over all applicable tickets)." msgstr "" -#: ../manage/time-accounting.rst:186 ../misc/object-conditions/basics.rst:28 +#: ../manage/time-accounting.rst:188 ../misc/object-conditions/basics.rst:28 #: ../misc/object-conditions/basics.rst:115 #: ../misc/object-conditions/basics.rst:146 ../settings/branding.rst:16 msgid "Organization" msgstr "" -#: ../manage/time-accounting.rst:182 +#: ../manage/time-accounting.rst:184 msgid "" "This provides a list of all organizations where customers have caused " "accounted time in that month." msgstr "" -#: ../manage/time-accounting.rst:185 +#: ../manage/time-accounting.rst:187 msgid "" "You can also see entries for customers that are part of a primary " "organization. Users without an organization can be found in the Customer " @@ -15835,7 +15878,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:185 #: ../misc/object-conditions/basics.rst:209 #: ../misc/object-conditions/basics.rst:219 -#: ../system/core-workflows/condition-operators.rst:50 +#: ../system/core-workflows/condition-operators.rst:64 msgid "is" msgstr "" @@ -15852,7 +15895,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:186 #: ../misc/object-conditions/basics.rst:210 #: ../misc/object-conditions/basics.rst:220 -#: ../system/core-workflows/condition-operators.rst:72 +#: ../system/core-workflows/condition-operators.rst:86 msgid "is not" msgstr "" @@ -15923,7 +15966,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:97 #: ../misc/object-conditions/basics.rst:155 #: ../misc/object-conditions/basics.rst:204 -#: ../system/core-workflows/condition-operators.rst:86 +#: ../system/core-workflows/condition-operators.rst:100 msgid "not set" msgstr "" @@ -16081,22 +16124,58 @@ msgid "Checks tags of a ticket." msgstr "" #: ../misc/object-conditions/basics.rst:193 -#: ../system/core-workflows/condition-operators.rst:32 +#: ../misc/object-conditions/basics.rst:516 +#: ../misc/object-conditions/basics.rst:550 +#: ../misc/object-conditions/basics.rst:587 +#: ../misc/object-conditions/basics.rst:619 +#: ../system/core-workflows/condition-operators.rst:38 +#: ../system/core-workflows/condition-operators.rst:150 +#: ../system/core-workflows/condition-operators.rst:189 +#: ../system/core-workflows/condition-operators.rst:229 +#: ../system/core-workflows/condition-operators.rst:272 +#: ../system/core-workflows/condition-operators.rst:312 msgid "contains all" msgstr "" #: ../misc/object-conditions/basics.rst:194 -#: ../system/core-workflows/condition-operators.rst:38 +#: ../misc/object-conditions/basics.rst:513 +#: ../misc/object-conditions/basics.rst:547 +#: ../misc/object-conditions/basics.rst:584 +#: ../misc/object-conditions/basics.rst:616 +#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:147 +#: ../system/core-workflows/condition-operators.rst:186 +#: ../system/core-workflows/condition-operators.rst:226 +#: ../system/core-workflows/condition-operators.rst:269 +#: ../system/core-workflows/condition-operators.rst:309 msgid "contains one" msgstr "" #: ../misc/object-conditions/basics.rst:195 -#: ../system/core-workflows/condition-operators.rst:34 +#: ../misc/object-conditions/basics.rst:519 +#: ../misc/object-conditions/basics.rst:553 +#: ../misc/object-conditions/basics.rst:590 +#: ../misc/object-conditions/basics.rst:622 +#: ../system/core-workflows/condition-operators.rst:41 +#: ../system/core-workflows/condition-operators.rst:160 +#: ../system/core-workflows/condition-operators.rst:198 +#: ../system/core-workflows/condition-operators.rst:238 +#: ../system/core-workflows/condition-operators.rst:281 +#: ../system/core-workflows/condition-operators.rst:321 msgid "contains all not" msgstr "" #: ../misc/object-conditions/basics.rst:196 -#: ../system/core-workflows/condition-operators.rst:40 +#: ../misc/object-conditions/basics.rst:522 +#: ../misc/object-conditions/basics.rst:556 +#: ../misc/object-conditions/basics.rst:593 +#: ../misc/object-conditions/basics.rst:625 +#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:157 +#: ../system/core-workflows/condition-operators.rst:195 +#: ../system/core-workflows/condition-operators.rst:235 +#: ../system/core-workflows/condition-operators.rst:278 +#: ../system/core-workflows/condition-operators.rst:318 msgid "contains one not" msgstr "" @@ -16117,7 +16196,7 @@ msgid "Checks if time is accounted." msgstr "" #: ../misc/object-conditions/basics.rst:203 -#: ../system/core-workflows/condition-operators.rst:74 +#: ../system/core-workflows/condition-operators.rst:88 msgid "is set" msgstr "" @@ -16175,8 +16254,8 @@ msgstr "" #: ../misc/object-conditions/basics.rst:334 #: ../misc/object-conditions/basics.rst:381 #: ../misc/object-conditions/basics.rst:392 -#: ../misc/object-conditions/basics.rst:410 #: ../misc/object-conditions/basics.rst:421 +#: ../misc/object-conditions/basics.rst:432 msgid "Available operators for matching:" msgstr "" @@ -16262,7 +16341,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:269 #: ../misc/object-conditions/basics.rst:284 #: ../misc/object-conditions/basics.rst:385 -#: ../misc/object-conditions/basics.rst:414 +#: ../misc/object-conditions/basics.rst:425 msgid "**has changed**" msgstr "" @@ -16277,14 +16356,14 @@ msgstr "" #: ../misc/object-conditions/basics.rst:267 #: ../misc/object-conditions/basics.rst:278 #: ../misc/object-conditions/basics.rst:383 -#: ../misc/object-conditions/basics.rst:412 +#: ../misc/object-conditions/basics.rst:423 msgid "**is**" msgstr "" #: ../misc/object-conditions/basics.rst:268 #: ../misc/object-conditions/basics.rst:279 #: ../misc/object-conditions/basics.rst:384 -#: ../misc/object-conditions/basics.rst:413 +#: ../misc/object-conditions/basics.rst:424 msgid "**is not**" msgstr "" @@ -16532,7 +16611,7 @@ msgid "**contains all**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are selected." +msgid "Matches if **all** given field values are selected (AND logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16540,7 +16619,8 @@ msgid "**contains one**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is selected." +msgid "" +"Matches if **at least one** of the given field values is selected (OR logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16548,7 +16628,9 @@ msgid "**contains all not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are not selected." +msgid "" +"Matches if **not all** given field values are selected (at least one is " +"missing). This means \"not all of\", not \"none of\"." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16556,24 +16638,35 @@ msgid "**contains one not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is not selected." +msgid "" +"Matches if **none** of the given field values are selected. This means " +"\"none of\", not \"not all of\"." msgstr "" -#: ../misc/object-conditions/basics.rst:405 ../system/objects/types.rst:135 +#: ../misc/object-conditions/basics.rst:408 +msgid "" +"In :doc:`core workflows `, these operators have " +"different semantics. See :ref:`core workflow condition operators ` for details. Example scenarios for the " +"operators described here can be found in :ref:`multi-select-operator-" +"examples` below." +msgstr "" + +#: ../misc/object-conditions/basics.rst:416 ../system/objects/types.rst:135 msgid "Single Tree Selection Field" msgstr "" -#: ../misc/object-conditions/basics.rst:407 +#: ../misc/object-conditions/basics.rst:418 msgid "" "Checks if a selected field value match the attribute value. Selecting more " "than one value in the condition will act like an \"OR\" clause." msgstr "" -#: ../misc/object-conditions/basics.rst:417 ../system/objects/types.rst:148 +#: ../misc/object-conditions/basics.rst:428 ../system/objects/types.rst:148 msgid "Multiple Tree Selection Field" msgstr "" -#: ../misc/object-conditions/basics.rst:419 +#: ../misc/object-conditions/basics.rst:430 msgid "Checks if selected field value(s) match the attribute value(s)." msgstr "" @@ -16593,64 +16686,64 @@ msgstr "" msgid "**contains one not**" msgstr "" -#: ../misc/object-conditions/basics.rst:433 +#: ../misc/object-conditions/basics.rst:447 msgid "Additional Information and Remarks" msgstr "" -#: ../misc/object-conditions/basics.rst:442 +#: ../misc/object-conditions/basics.rst:456 msgid "Ticket context conditions do not support:" msgstr "" -#: ../misc/object-conditions/basics.rst:439 +#: ../misc/object-conditions/basics.rst:453 msgid "regular expressions" msgstr "" -#: ../misc/object-conditions/basics.rst:440 +#: ../misc/object-conditions/basics.rst:454 msgid "case sensitive string conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:441 +#: ../misc/object-conditions/basics.rst:455 msgid "" "Basic conditions do not support the same attribute to be selected more than " "once" msgstr "" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "**has changed** conditions:" msgstr "" -#: ../misc/object-conditions/basics.rst:445 +#: ../misc/object-conditions/basics.rst:459 msgid "Are only available for ticket attributes and don't affect:" msgstr "" -#: ../misc/object-conditions/basics.rst:447 +#: ../misc/object-conditions/basics.rst:461 msgid "Ticket articles attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:448 +#: ../misc/object-conditions/basics.rst:462 msgid "Organization attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:449 +#: ../misc/object-conditions/basics.rst:463 msgid "User attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "Group attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:463 +#: ../misc/object-conditions/basics.rst:477 msgid "Differences in input fields:" msgstr "" -#: ../misc/object-conditions/basics.rst:453 +#: ../misc/object-conditions/basics.rst:467 msgid "" "Please note that the input field for tokens doesn't support the comma as " "separator (as in the input field for tags). If you use the comma in the " "token input field, the comma is included in you token." msgstr "" -#: ../misc/object-conditions/basics.rst:457 +#: ../misc/object-conditions/basics.rst:471 msgid "**Example**:" msgstr "" @@ -16658,32 +16751,257 @@ msgstr "" msgid "Example of comma usage in token input field" msgstr "" -#: ../misc/object-conditions/basics.rst:462 +#: ../misc/object-conditions/basics.rst:476 msgid "" "``A`` added with enter/tab, ``B`` and ``C`` separated with comma (resulting " "in one token)." msgstr "" -#: ../misc/object-conditions/basics.rst:468 +#: ../misc/object-conditions/basics.rst:482 +msgid "Multi-Select Operator Examples" +msgstr "" + +#: ../misc/object-conditions/basics.rst:484 +msgid "" +"The ``contains`` family of operators for multi-select fields compares two " +"sets of values: the values currently in the field and the values specified " +"in the condition. The diagrams below show the condition values as an orange " +"circle and the field values as a blue circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:489 +msgid "" +"Be aware that these operators behave **differently** in :doc:`core workflows " +"`. See :ref:`core workflow condition operators ` for a side by side comparison." +msgstr "" + +#: ../misc/object-conditions/basics.rst:495 +#: ../system/core-workflows/condition-operators.rst:165 +msgid "Example 1: Condition A, B - Field A, B, C" +msgstr "" + +#: ../misc/object-conditions/basics.rst:497 +#: ../system/core-workflows/condition-operators.rst:167 +msgid "" +"In this scenario, the field holds the values A, B and C, while the condition " +"asks for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "" +"Venn diagram of condition values A, B and field values A, B, C. A and B are " +"in both circles, C only in the field circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "Condition values ``A, B`` overlap with field values ``A, B, C``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:510 +#: ../misc/object-conditions/basics.rst:544 +#: ../misc/object-conditions/basics.rst:581 +#: ../misc/object-conditions/basics.rst:613 +#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:141 +#: ../system/core-workflows/condition-operators.rst:180 +#: ../system/core-workflows/condition-operators.rst:220 +#: ../system/core-workflows/condition-operators.rst:263 +#: ../system/core-workflows/condition-operators.rst:303 +msgid "Operator" +msgstr "" + +#: ../misc/object-conditions/basics.rst:511 +#: ../misc/object-conditions/basics.rst:545 +#: ../misc/object-conditions/basics.rst:582 +#: ../misc/object-conditions/basics.rst:614 +#: ../system/core-workflows/condition-operators.rst:181 +#: ../system/core-workflows/condition-operators.rst:221 +#: ../system/core-workflows/condition-operators.rst:264 +#: ../system/core-workflows/condition-operators.rst:304 +msgid "Matches?" +msgstr "" + +#: ../misc/object-conditions/basics.rst:512 +#: ../misc/object-conditions/basics.rst:546 +#: ../misc/object-conditions/basics.rst:583 +#: ../misc/object-conditions/basics.rst:615 +#: ../system/core-workflows/condition-operators.rst:182 +#: ../system/core-workflows/condition-operators.rst:222 +#: ../system/core-workflows/condition-operators.rst:265 +#: ../system/core-workflows/condition-operators.rst:305 +msgid "Why" +msgstr "" + +#: ../misc/object-conditions/basics.rst:515 +#: ../system/core-workflows/condition-operators.rst:185 +msgid "``A`` and ``B`` are in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:518 +#: ../system/core-workflows/condition-operators.rst:191 +msgid "Both ``A`` and ``B`` are present (AND logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:521 +msgid "All condition values are present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:524 +msgid "The field has values in common with the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:527 +#: ../system/core-workflows/condition-operators.rst:203 +msgid "Example 2: Condition A, B, C - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:529 +#: ../system/core-workflows/condition-operators.rst:205 +msgid "" +"In this scenario, the field holds the values C and D. The condition value C " +"is present in the field, while A and B are not." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Venn diagram of condition values A, B, C and field values C, D.\n" +"Only C is in both circles." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Condition values ``A, B, C`` partially overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:549 +#: ../system/core-workflows/condition-operators.rst:225 +msgid "``C`` is in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:552 +#: ../system/core-workflows/condition-operators.rst:231 +msgid "Only ``C`` of the three condition values is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:555 +#: ../misc/object-conditions/basics.rst:592 +msgid "``A`` and ``B`` are missing from the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:558 +msgid "``C`` is in both the field and the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:560 +msgid "" +"This partial overlap is where the two \"not\" operators part ways: " +"``contains all not`` matches because a single condition value is missing, " +"while ``contains one not`` does not match because the one common value is " +"enough to block it." +msgstr "" + +#: ../misc/object-conditions/basics.rst:566 +#: ../system/core-workflows/condition-operators.rst:248 +msgid "Example 3: Condition A, B - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:568 +#: ../system/core-workflows/condition-operators.rst:250 +msgid "" +"In this scenario, the field holds the values C and D, which have nothing in " +"common with the condition values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "" +"Venn diagram of condition values A, B and field values C, D. The two circles " +"do not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "Condition values ``A, B`` have no overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:586 +#: ../system/core-workflows/condition-operators.rst:268 +msgid "No value is in both sets." +msgstr "" + +#: ../misc/object-conditions/basics.rst:589 +#: ../system/core-workflows/condition-operators.rst:274 +msgid "Neither ``A`` nor ``B`` is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:595 +#: ../misc/object-conditions/basics.rst:627 +#: ../system/core-workflows/condition-operators.rst:159 +#: ../system/core-workflows/condition-operators.rst:161 +#: ../system/core-workflows/condition-operators.rst:283 +msgid "The field has no value in common with the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:598 +#: ../system/core-workflows/condition-operators.rst:288 +msgid "Example 4: Condition A, B - Field is empty" +msgstr "" + +#: ../misc/object-conditions/basics.rst:600 +#: ../system/core-workflows/condition-operators.rst:290 +msgid "" +"In this scenario, the field holds no values at all, while the condition asks " +"for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "" +"Venn diagram of condition values A, B and an empty field. The two circles do " +"not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "The field holds no values at all." +msgstr "" + +#: ../misc/object-conditions/basics.rst:618 +#: ../misc/object-conditions/basics.rst:621 +#: ../system/core-workflows/condition-operators.rst:308 +#: ../system/core-workflows/condition-operators.rst:314 +msgid "No value is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:624 +msgid "No condition value is present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:632 msgid "Regex" msgstr "" -#: ../misc/object-conditions/basics.rst:473 +#: ../misc/object-conditions/basics.rst:637 msgid "Regex support" msgstr "" -#: ../misc/object-conditions/basics.rst:471 +#: ../misc/object-conditions/basics.rst:635 msgid "" "**matches regex** and **does not match regex** are supported only in " "Triggers, Time Accounting selector, Postmaster Filters, Automatic ticket " "assignment and Core Workflow." msgstr "" -#: ../misc/object-conditions/basics.rst:478 +#: ../misc/object-conditions/basics.rst:642 msgid "\"Old\" style ``regex:...`` conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:476 +#: ../misc/object-conditions/basics.rst:640 msgid "" "If you update your Zammad from 6.0 or prior and you have already conditions " "with **contains** or **contains not** including a regex filter (i.e. " @@ -22886,9 +23204,9 @@ msgstr "" #: ../system/core-workflows/condition-operators.rst:8 msgid "" -"Due to differences to other places in Zammad which are also using conditions " -"(e.g. triggers), you can find a dedicated description of operators for core " -"workflows below." +"Due to differences from other places in Zammad which are also using " +"conditions (e.g. triggers), you can find a dedicated description of " +"operators for core workflows below." msgstr "" #: ../system/core-workflows/condition-operators.rst:12 @@ -22898,272 +23216,419 @@ msgid "" "for system attributes (e.g. for \"tags\", \"active\")." msgstr "" -#: ../system/core-workflows/condition-operators.rst:20 -msgid "Operator" -msgstr "" - -#: ../system/core-workflows/condition-operators.rst:22 +#: ../system/core-workflows/condition-operators.rst:23 msgid "after (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:23 +#: ../system/core-workflows/condition-operators.rst:24 msgid "Matches if a date/time is after a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:24 +#: ../system/core-workflows/condition-operators.rst:25 msgid "after (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:25 +#: ../system/core-workflows/condition-operators.rst:26 msgid "Matches if a time span after a specified event has passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:26 +#: ../system/core-workflows/condition-operators.rst:27 msgid "before (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:27 +#: ../system/core-workflows/condition-operators.rst:28 msgid "Matches if a date/time is before a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:28 +#: ../system/core-workflows/condition-operators.rst:29 msgid "before (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:29 +#: ../system/core-workflows/condition-operators.rst:30 msgid "Matches if a time span after a specified event has not passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:30 +#: ../system/core-workflows/condition-operators.rst:31 +#: ../system/core-workflows/condition-operators.rst:144 +#: ../system/core-workflows/condition-operators.rst:183 +#: ../system/core-workflows/condition-operators.rst:223 +#: ../system/core-workflows/condition-operators.rst:266 +#: ../system/core-workflows/condition-operators.rst:306 msgid "contains" msgstr "" -#: ../system/core-workflows/condition-operators.rst:31 -msgid "Matches if a specified value is present." +#: ../system/core-workflows/condition-operators.rst:32 +msgid "" +"Matches if **at least one** of the specified values is present in the field " +"(OR logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:33 -msgid "Matches if all of the specified values are present." +#: ../system/core-workflows/condition-operators.rst:34 +#: ../system/core-workflows/condition-operators.rst:153 +#: ../system/core-workflows/condition-operators.rst:192 +#: ../system/core-workflows/condition-operators.rst:232 +#: ../system/core-workflows/condition-operators.rst:275 +#: ../system/core-workflows/condition-operators.rst:315 +msgid "contains not" msgstr "" #: ../system/core-workflows/condition-operators.rst:35 -msgid "Matches if none of the specified values are present." +msgid "" +"Matches if the field contains at least one value that is **not** among the " +"specified values. Also matches if the field is empty." msgstr "" -#: ../system/core-workflows/condition-operators.rst:36 -msgid "contains not" +#: ../system/core-workflows/condition-operators.rst:39 +msgid "" +"Matches if **every** specified value is present in the field (AND logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:37 -msgid "Matches if a specified value is not present." +#: ../system/core-workflows/condition-operators.rst:42 +msgid "" +"Matches if **none** of the specified values are present in the field. The " +"field and the condition have no value in common: this means \"contains none " +"of\", not \"does not contain all of\"." msgstr "" -#: ../system/core-workflows/condition-operators.rst:39 -msgid "Matches if one specified value is present." +#: ../system/core-workflows/condition-operators.rst:46 +msgid "" +"In triggers and overviews, this operator means \"not all of the specified " +"values are present\" instead. See the examples section below." msgstr "" -#: ../system/core-workflows/condition-operators.rst:41 -msgid "Matches if one specified value is not present." +#: ../system/core-workflows/condition-operators.rst:50 +msgid "" +"Same as ``contains``. Matches if **at least one** of the specified values is " +"present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:42 +#: ../system/core-workflows/condition-operators.rst:53 +msgid "" +"Same as ``contains not``. Matches if the field contains at least one value " +"that is **not** among the specified values." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:56 msgid "does not match regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:43 +#: ../system/core-workflows/condition-operators.rst:57 msgid "Matches if content doesn't fit to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:44 +#: ../system/core-workflows/condition-operators.rst:58 msgid "ends with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:45 +#: ../system/core-workflows/condition-operators.rst:59 msgid "Matches if content ends with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:46 +#: ../system/core-workflows/condition-operators.rst:60 msgid "ends with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:47 +#: ../system/core-workflows/condition-operators.rst:61 msgid "Matches if content ends with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:48 +#: ../system/core-workflows/condition-operators.rst:62 msgid "from (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:63 msgid "Matches if date/time is after a period of time after an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:51 +#: ../system/core-workflows/condition-operators.rst:65 msgid "Matches if content is equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:66 msgid "is any of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:53 +#: ../system/core-workflows/condition-operators.rst:67 msgid "Matches if content is equal to any of specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:54 +#: ../system/core-workflows/condition-operators.rst:68 msgid "is greater than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:55 +#: ../system/core-workflows/condition-operators.rst:69 msgid "Matches if the value is greater than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:56 +#: ../system/core-workflows/condition-operators.rst:70 msgid "is greater than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:57 +#: ../system/core-workflows/condition-operators.rst:71 msgid "Matches if the value is greater than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:58 +#: ../system/core-workflows/condition-operators.rst:72 msgid "is less than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:59 +#: ../system/core-workflows/condition-operators.rst:73 msgid "Matches if the value is less than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:60 +#: ../system/core-workflows/condition-operators.rst:74 msgid "is less than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:61 +#: ../system/core-workflows/condition-operators.rst:75 msgid "Matches if the value is less than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:62 +#: ../system/core-workflows/condition-operators.rst:76 msgid "is modified" msgstr "" -#: ../system/core-workflows/condition-operators.rst:63 +#: ../system/core-workflows/condition-operators.rst:77 msgid "Matches if content is modified." msgstr "" -#: ../system/core-workflows/condition-operators.rst:65 -#: ../system/core-workflows/condition-operators.rst:69 +#: ../system/core-workflows/condition-operators.rst:79 +#: ../system/core-workflows/condition-operators.rst:83 msgid "True from the moment of changing content until form submit." msgstr "" -#: ../system/core-workflows/condition-operators.rst:66 +#: ../system/core-workflows/condition-operators.rst:80 msgid "is modified to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:67 +#: ../system/core-workflows/condition-operators.rst:81 msgid "Matches if content is modified to a specific value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:70 +#: ../system/core-workflows/condition-operators.rst:84 msgid "is none of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:71 +#: ../system/core-workflows/condition-operators.rst:85 msgid "Matches if content is none of any specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:73 +#: ../system/core-workflows/condition-operators.rst:87 msgid "Matches if content is not equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:75 +#: ../system/core-workflows/condition-operators.rst:89 msgid "Matches if content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:76 +#: ../system/core-workflows/condition-operators.rst:90 msgid "just changed" msgstr "" -#: ../system/core-workflows/condition-operators.rst:77 +#: ../system/core-workflows/condition-operators.rst:91 msgid "Matches if content has changed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:79 -#: ../system/core-workflows/condition-operators.rst:83 +#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:97 msgid "" "Only true for the moment of changing content until next form field action/" "click." msgstr "" -#: ../system/core-workflows/condition-operators.rst:80 +#: ../system/core-workflows/condition-operators.rst:94 msgid "just changed to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:81 +#: ../system/core-workflows/condition-operators.rst:95 msgid "Matches if content has changed to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:84 +#: ../system/core-workflows/condition-operators.rst:98 msgid "matches regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:85 +#: ../system/core-workflows/condition-operators.rst:99 msgid "Matches if value fits to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:87 +#: ../system/core-workflows/condition-operators.rst:101 msgid "Matches if no content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:88 +#: ../system/core-workflows/condition-operators.rst:102 msgid "starts with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:89 +#: ../system/core-workflows/condition-operators.rst:103 msgid "Matches if content starts with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:90 +#: ../system/core-workflows/condition-operators.rst:104 msgid "starts with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:91 +#: ../system/core-workflows/condition-operators.rst:105 msgid "Matches if content starts with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:92 +#: ../system/core-workflows/condition-operators.rst:106 msgid "till (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:107 msgid "Matches if date/time is before a period of time before an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:94 +#: ../system/core-workflows/condition-operators.rst:108 msgid "today" msgstr "" -#: ../system/core-workflows/condition-operators.rst:95 +#: ../system/core-workflows/condition-operators.rst:109 msgid "Matches if date/time is today." msgstr "" -#: ../system/core-workflows/condition-operators.rst:96 +#: ../system/core-workflows/condition-operators.rst:110 msgid "within last (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:97 +#: ../system/core-workflows/condition-operators.rst:111 msgid "" "Matches if date/time content is within specified period of time before now." msgstr "" -#: ../system/core-workflows/condition-operators.rst:99 +#: ../system/core-workflows/condition-operators.rst:113 msgid "within next (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:100 +#: ../system/core-workflows/condition-operators.rst:114 msgid "" "Matches if date/time content is within specified period of time after now." msgstr "" +#: ../system/core-workflows/condition-operators.rst:118 +msgid "Multi-Select Operators" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:120 +msgid "" +"The ``contains`` family of operators compares two sets of values: the values " +"currently in the field and the values specified in the condition. The " +"diagrams below show the condition values as an orange circle and the field " +"values as a blue circle." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:128 +msgid "Differences to Triggers and Overviews" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:130 +msgid "" +"Be aware that these operators behave **differently** in other features that " +"use conditions (e.g. triggers and overviews). The most confusing difference: " +"in core workflows, ``contains all not`` means that no value matches at all, " +"while in triggers and overviews it means \"not all values are present\". The " +"table below compares both worlds side by side." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:142 +msgid "Core workflows (this page)" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:143 +msgid "Triggers, overviews, etc." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:145 +#: ../system/core-workflows/condition-operators.rst:149 +msgid "At least one value is present (OR logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:146 +msgid "Not available; ``contains one`` is the equivalent." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:148 +#: ../system/core-workflows/condition-operators.rst:188 +#: ../system/core-workflows/condition-operators.rst:228 +#: ../system/core-workflows/condition-operators.rst:271 +#: ../system/core-workflows/condition-operators.rst:311 +msgid "Same as ``contains``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:151 +#: ../system/core-workflows/condition-operators.rst:152 +msgid "Every value is present (AND logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:154 +msgid "" +"At least one field value is outside the condition, or the field is empty." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:156 +msgid "Not available for multi-select fields." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:158 +#: ../system/core-workflows/condition-operators.rst:197 +#: ../system/core-workflows/condition-operators.rst:237 +#: ../system/core-workflows/condition-operators.rst:280 +#: ../system/core-workflows/condition-operators.rst:320 +msgid "Same as ``contains not``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:162 +msgid "Not all values are present (at least one is missing)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:194 +msgid "``C`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:200 +msgid "``A`` and ``B`` are present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:234 +msgid "``D`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:240 +msgid "``C`` is present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:242 +msgid "" +"This partial overlap is where the two \"all\" operators part ways: " +"``contains all`` fails because one condition value is missing, while " +"``contains all not`` fails because a single common value is enough to block " +"it." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:277 +msgid "``C`` and ``D`` are not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:285 +msgid "This is the only example where ``contains all not`` matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:317 +msgid "An empty field matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:323 +msgid "An empty field has no value in common with the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:325 +msgid "" +"Note that ``contains not`` and ``contains one not`` match an empty field, " +"while ``contains`` and ``contains all`` do not. If you want to exclude " +"specific values, be aware that empty fields pass the condition." +msgstr "" + #: ../system/core-workflows/how-do-they-work.rst:2 msgid "How do they work?" msgstr "" diff --git a/locale/da/LC_MESSAGES/admin-docs.po b/locale/da/LC_MESSAGES/admin-docs.po index fb031bec6..a77afb4fa 100644 --- a/locale/da/LC_MESSAGES/admin-docs.po +++ b/locale/da/LC_MESSAGES/admin-docs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Zammad\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-24 17:19+0200\n" +"POT-Creation-Date: 2026-08-28 15:08+0200\n" "PO-Revision-Date: 2026-07-29 07:55+0000\n" "Last-Translator: Thomas Meijer \n" "Language-Team: Danish ` and consider switching your plan. When a " @@ -1152,17 +1153,17 @@ msgid "" "alerted when few calls remain." msgstr "" -#: ../ai/provider.rst:288 +#: ../ai/provider.rst:289 msgid "" "On SaaS, the Zammad AI provider is provisioned by the platform and you " "cannot delete it or change its type." msgstr "" -#: ../ai/provider.rst:295 +#: ../ai/provider.rst:296 msgid "Self-Hosted Customers" msgstr "" -#: ../ai/provider.rst:292 +#: ../ai/provider.rst:293 msgid "" "Get in touch with our `sales department `_ to obtain a Zammad AI API key and to buy AI calls. After " @@ -1170,14 +1171,14 @@ msgid "" "key." msgstr "" -#: ../ai/provider.rst:300 +#: ../ai/provider.rst:301 msgid "" "`Ollama `_ lets you run your own AI server on a machine " "you control, so your data is not transferred to a third party. This approach " "only makes sense if you have a powerful GPU in your system!" msgstr "" -#: ../ai/provider.rst:304 +#: ../ai/provider.rst:305 msgid "" "If you don't have Ollama running yet, their `documentation `_ is a good starting point. Available models are listed in " @@ -4229,7 +4230,7 @@ msgstr "" msgid "Signatures" msgstr "" -#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:436 +#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:450 #: ../system/monitoring.rst:9 msgid "General" msgstr "Generelt" @@ -4958,7 +4959,7 @@ msgstr "" #: ../channels/form.rst:250 ../manage/public-links.rst:43 #: ../misc/object-conditions/basics.rst:63 ../misc/variables.rst:101 -#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:22 #: ../system/objects/permissions.rst:36 ../system/subscription.rst:196 msgid "Description" msgstr "" @@ -8689,6 +8690,29 @@ msgstr "" #: ../manage/groups/settings.rst:42 ../manage/groups/settings.rst:63 #: ../misc/object-conditions/basics.rst:121 #: ../misc/object-conditions/basics.rst:136 +#: ../misc/object-conditions/basics.rst:514 +#: ../misc/object-conditions/basics.rst:517 +#: ../misc/object-conditions/basics.rst:548 +#: ../misc/object-conditions/basics.rst:554 +#: ../misc/object-conditions/basics.rst:591 +#: ../misc/object-conditions/basics.rst:594 +#: ../misc/object-conditions/basics.rst:623 +#: ../misc/object-conditions/basics.rst:626 +#: ../system/core-workflows/condition-operators.rst:184 +#: ../system/core-workflows/condition-operators.rst:187 +#: ../system/core-workflows/condition-operators.rst:190 +#: ../system/core-workflows/condition-operators.rst:193 +#: ../system/core-workflows/condition-operators.rst:196 +#: ../system/core-workflows/condition-operators.rst:224 +#: ../system/core-workflows/condition-operators.rst:227 +#: ../system/core-workflows/condition-operators.rst:233 +#: ../system/core-workflows/condition-operators.rst:236 +#: ../system/core-workflows/condition-operators.rst:276 +#: ../system/core-workflows/condition-operators.rst:279 +#: ../system/core-workflows/condition-operators.rst:282 +#: ../system/core-workflows/condition-operators.rst:316 +#: ../system/core-workflows/condition-operators.rst:319 +#: ../system/core-workflows/condition-operators.rst:322 msgid "yes" msgstr "" @@ -8743,6 +8767,23 @@ msgstr "" #: ../manage/groups/settings.rst:66 ../misc/object-conditions/basics.rst:122 #: ../misc/object-conditions/basics.rst:137 +#: ../misc/object-conditions/basics.rst:520 +#: ../misc/object-conditions/basics.rst:523 +#: ../misc/object-conditions/basics.rst:551 +#: ../misc/object-conditions/basics.rst:557 +#: ../misc/object-conditions/basics.rst:585 +#: ../misc/object-conditions/basics.rst:588 +#: ../misc/object-conditions/basics.rst:617 +#: ../misc/object-conditions/basics.rst:620 +#: ../system/core-workflows/condition-operators.rst:199 +#: ../system/core-workflows/condition-operators.rst:230 +#: ../system/core-workflows/condition-operators.rst:239 +#: ../system/core-workflows/condition-operators.rst:267 +#: ../system/core-workflows/condition-operators.rst:270 +#: ../system/core-workflows/condition-operators.rst:273 +#: ../system/core-workflows/condition-operators.rst:307 +#: ../system/core-workflows/condition-operators.rst:310 +#: ../system/core-workflows/condition-operators.rst:313 msgid "no" msgstr "" @@ -9148,7 +9189,7 @@ msgid "" msgstr "" #: ../manage/knowledge-base.rst:136 ../manage/public-links.rst:35 -#: ../manage/time-accounting.rst:147 ../manage/time-accounting.rst:161 +#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 #: ../system/maintenance.rst:31 msgid "Title" msgstr "" @@ -12397,16 +12438,18 @@ msgstr "" #: ../manage/time-accounting.rst:22 msgid "" "If a ticket is relevant, Zammad will request the agent to provide the time " -"which was needed to process the current ticket step. In order for Zammad to " -"bring up the time accounting dialog to an agent, the agent has to update the " -"ticket together with an article of any type. The adding of an article is " -"mandatory to invoke the time accounting dialog. However, the time accounting " -"dialog is not mandatory and can be canceled by your agents. You cannot " -"enforce the time accounting. When a ticket is no longer considered for the " -"time accounting, the already accounted time will be preserved." +"which was needed to process the current ticket step. This accounted time is " +"displayed in the ticket sidebar at ticket level and in the article meta " +"information for an individual article. In order for Zammad to bring up the " +"time accounting dialog to an agent, the agent has to update the ticket " +"together with an article of any type. The adding of an article is mandatory " +"to invoke the time accounting dialog. However, the time accounting dialog is " +"not mandatory and can be canceled by your agents. You cannot enforce the " +"time accounting. When a ticket is no longer considered for the time " +"accounting, the already accounted time will be preserved." msgstr "" -#: ../manage/time-accounting.rst:33 +#: ../manage/time-accounting.rst:35 msgid "" "The selector applies to the ticket state before any attribute changes have " "been saved. That means if your agent is e.g. going to close a ticket " @@ -12418,49 +12461,49 @@ msgstr "" msgid "Time Accounting Ticket Selector" msgstr "" -#: ../manage/time-accounting.rst:42 +#: ../manage/time-accounting.rst:44 msgid "" "The accounted time is always a unitless number. However, it is possible to " "show a specific unit in the **Unit** section, which provides several options:" msgstr "" -#: ../manage/time-accounting.rst:46 +#: ../manage/time-accounting.rst:48 msgid "no unit" msgstr "" -#: ../manage/time-accounting.rst:47 +#: ../manage/time-accounting.rst:49 msgid "Default behavior, no unit is shown next to the time value." msgstr "" -#: ../manage/time-accounting.rst:48 +#: ../manage/time-accounting.rst:50 msgid "hour(s)" msgstr "" -#: ../manage/time-accounting.rst:49 +#: ../manage/time-accounting.rst:51 msgid "Shows ``hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:50 +#: ../manage/time-accounting.rst:52 msgid "quarter-hour(s)" msgstr "" -#: ../manage/time-accounting.rst:51 +#: ../manage/time-accounting.rst:53 msgid "Shows ``quarter-hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:52 +#: ../manage/time-accounting.rst:54 msgid "minute(s)" msgstr "" -#: ../manage/time-accounting.rst:53 +#: ../manage/time-accounting.rst:55 msgid "Shows ``minute(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "custom unit" msgstr "" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "Shows a custom unit that can be specified as free input." msgstr "" @@ -12468,7 +12511,7 @@ msgstr "" msgid "Time Accounting Unit" msgstr "" -#: ../manage/time-accounting.rst:62 +#: ../manage/time-accounting.rst:64 msgid "" "The unit is only displayed to make it easier for agents to account their " "time! No numerical transformation will be applied to the values, not even if " @@ -12480,11 +12523,11 @@ msgstr "" msgid "Time Accounting Unit when Recording" msgstr "" -#: ../manage/time-accounting.rst:72 +#: ../manage/time-accounting.rst:74 msgid "Activity Types" msgstr "" -#: ../manage/time-accounting.rst:74 +#: ../manage/time-accounting.rst:76 msgid "" "**Activity Types** can be used to group the different ticket time accounting " "entries together. For example, entries that are relevant to a \"Billing\" " @@ -12495,7 +12538,7 @@ msgstr "" msgid "Time Accounting Activity Types" msgstr "" -#: ../manage/time-accounting.rst:81 +#: ../manage/time-accounting.rst:83 msgid "" "When you enable the recording of the **Activity Type**, the agents will be " "able to select a type from this list." @@ -12505,13 +12548,13 @@ msgstr "" msgid "Time Accounting Activity Type Selection for Agents" msgstr "" -#: ../manage/time-accounting.rst:88 +#: ../manage/time-accounting.rst:90 msgid "" "Additionally, a column with an associated activity type will be rendered for " "an entry in the **Activity** table under the **Accounted Time** tab." msgstr "" -#: ../manage/time-accounting.rst:91 +#: ../manage/time-accounting.rst:93 msgid "" "You can manage available activity types in this screen like any other Zammad " "object. Only active types will be available for the selection when recording " @@ -12523,7 +12566,7 @@ msgstr "" msgid "New Time Accounting Activity Type Dialog" msgstr "" -#: ../manage/time-accounting.rst:100 +#: ../manage/time-accounting.rst:102 msgid "" "Activity types can be set as default, and in that case they will be pre-" "selected for the agents when they are asked to account their time. It is " @@ -12531,29 +12574,29 @@ msgid "" "pre-selected and the agents can make their choice." msgstr "" -#: ../manage/time-accounting.rst:106 +#: ../manage/time-accounting.rst:108 msgid "Accounted Time" msgstr "" -#: ../manage/time-accounting.rst:108 +#: ../manage/time-accounting.rst:110 msgid "" "Under the **Accounted Time** tab, Zammad provides a section for reviewing " "all accounted times for your tickets. Accounted times are displayed per " "years and months." msgstr "" -#: ../manage/time-accounting.rst:112 +#: ../manage/time-accounting.rst:114 msgid "" "If you have tickets that are overlapping several months, you can " "differentiate by *time units* and *time units total* (e.g. to allow partial " "billing) in the downloaded file." msgstr "" -#: ../manage/time-accounting.rst:123 +#: ../manage/time-accounting.rst:125 msgid "Select the right month" msgstr "" -#: ../manage/time-accounting.rst:117 +#: ../manage/time-accounting.rst:119 msgid "" "Usually you want to bill accounted time of other months than the current " "one. Just select the relevant year and month to receive the accounted times " @@ -12564,85 +12607,85 @@ msgstr "" msgid "Screenshot showing a selection for year and month on time accounting" msgstr "" -#: ../manage/time-accounting.rst:186 +#: ../manage/time-accounting.rst:188 msgid "Tickets and their accounted time" msgstr "" -#: ../manage/time-accounting.rst:126 +#: ../manage/time-accounting.rst:128 msgid "" "Zammad allows you to receive the accounted information just like you need " "them. For this you currently have four options to review and also download " "the relevant data as CSV." msgstr "" -#: ../manage/time-accounting.rst:130 +#: ../manage/time-accounting.rst:132 msgid "" "To download the CSV data, use the download button right next to each heading " "(e.g. \"Ticket\")." msgstr "" -#: ../manage/time-accounting.rst:133 +#: ../manage/time-accounting.rst:135 msgid "This can also be automated with API calls." msgstr "" -#: ../manage/time-accounting.rst:136 +#: ../manage/time-accounting.rst:138 msgid "" "Only the first 20 entries are shown for each table. To see all of them, " "simply download the records in CSV." msgstr "" -#: ../manage/time-accounting.rst:153 +#: ../manage/time-accounting.rst:155 msgid "Activity" msgstr "" -#: ../manage/time-accounting.rst:140 +#: ../manage/time-accounting.rst:142 msgid "" "This filter works similar to the ticket filter, with one exception: You'll " "find each *individual* time accounting step of your agents. This is what " "you'd also see in the ticket's history before Zammad 5.2." msgstr "" -#: ../manage/time-accounting.rst:144 ../manage/time-accounting.rst:158 -#: ../manage/time-accounting.rst:175 +#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:177 msgid "In this list you'll see the following ticket information:" msgstr "" -#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 #: ../settings/ticket.rst:103 msgid "Number" msgstr "" -#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 -#: ../manage/time-accounting.rst:179 ../manage/time-accounting.rst:177 +#: ../manage/time-accounting.rst:150 ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:181 ../manage/time-accounting.rst:179 #: ../misc/object-conditions/basics.rst:37 #: ../misc/object-conditions/basics.rst:89 #: ../misc/object-conditions/basics.rst:171 msgid "Customer" msgstr "" -#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 -#: ../manage/time-accounting.rst:178 +#: ../manage/time-accounting.rst:151 ../manage/time-accounting.rst:165 +#: ../manage/time-accounting.rst:180 msgid "Organization of customer (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:150 +#: ../manage/time-accounting.rst:152 msgid "Agent that accounted the time" msgstr "" -#: ../manage/time-accounting.rst:151 +#: ../manage/time-accounting.rst:153 msgid "Time units accounted in the current activity" msgstr "" -#: ../manage/time-accounting.rst:152 +#: ../manage/time-accounting.rst:154 msgid "Activity type (if enabled)" msgstr "" -#: ../manage/time-accounting.rst:153 ../manage/time-accounting.rst:167 +#: ../manage/time-accounting.rst:155 ../manage/time-accounting.rst:169 #: ../system/audit-logs.rst:76 msgid "Created at" msgstr "" -#: ../manage/time-accounting.rst:168 ../misc/object-conditions/basics.rst:26 +#: ../manage/time-accounting.rst:170 ../misc/object-conditions/basics.rst:26 #: ../misc/object-conditions/basics.rst:90 #: ../misc/object-conditions/basics.rst:126 #: ../misc/object-conditions/basics.rst:139 @@ -12658,45 +12701,45 @@ msgstr "" msgid "Ticket" msgstr "" -#: ../manage/time-accounting.rst:156 +#: ../manage/time-accounting.rst:158 msgid "This filter contains all relevant tickets from the selected month." msgstr "" -#: ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:166 msgid "Agent currently assigned (ticket owner)" msgstr "" -#: ../manage/time-accounting.rst:165 ../manage/time-accounting.rst:179 +#: ../manage/time-accounting.rst:167 ../manage/time-accounting.rst:181 msgid "Time units accounted in the current month" msgstr "" -#: ../manage/time-accounting.rst:166 +#: ../manage/time-accounting.rst:168 msgid "Time units total (time accounted during ticket life)" msgstr "" -#: ../manage/time-accounting.rst:168 +#: ../manage/time-accounting.rst:170 msgid "Closed at (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:171 +#: ../manage/time-accounting.rst:173 msgid "" "This provides you a per user filter on accounted time units. Each user has a " "total of time accounted in the current month (over all applicable tickets)." msgstr "" -#: ../manage/time-accounting.rst:186 ../misc/object-conditions/basics.rst:28 +#: ../manage/time-accounting.rst:188 ../misc/object-conditions/basics.rst:28 #: ../misc/object-conditions/basics.rst:115 #: ../misc/object-conditions/basics.rst:146 ../settings/branding.rst:16 msgid "Organization" msgstr "" -#: ../manage/time-accounting.rst:182 +#: ../manage/time-accounting.rst:184 msgid "" "This provides a list of all organizations where customers have caused " "accounted time in that month." msgstr "" -#: ../manage/time-accounting.rst:185 +#: ../manage/time-accounting.rst:187 msgid "" "You can also see entries for customers that are part of a primary " "organization. Users without an organization can be found in the Customer " @@ -15839,7 +15882,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:185 #: ../misc/object-conditions/basics.rst:209 #: ../misc/object-conditions/basics.rst:219 -#: ../system/core-workflows/condition-operators.rst:50 +#: ../system/core-workflows/condition-operators.rst:64 msgid "is" msgstr "" @@ -15856,7 +15899,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:186 #: ../misc/object-conditions/basics.rst:210 #: ../misc/object-conditions/basics.rst:220 -#: ../system/core-workflows/condition-operators.rst:72 +#: ../system/core-workflows/condition-operators.rst:86 msgid "is not" msgstr "" @@ -15927,7 +15970,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:97 #: ../misc/object-conditions/basics.rst:155 #: ../misc/object-conditions/basics.rst:204 -#: ../system/core-workflows/condition-operators.rst:86 +#: ../system/core-workflows/condition-operators.rst:100 msgid "not set" msgstr "" @@ -16085,22 +16128,58 @@ msgid "Checks tags of a ticket." msgstr "" #: ../misc/object-conditions/basics.rst:193 -#: ../system/core-workflows/condition-operators.rst:32 +#: ../misc/object-conditions/basics.rst:516 +#: ../misc/object-conditions/basics.rst:550 +#: ../misc/object-conditions/basics.rst:587 +#: ../misc/object-conditions/basics.rst:619 +#: ../system/core-workflows/condition-operators.rst:38 +#: ../system/core-workflows/condition-operators.rst:150 +#: ../system/core-workflows/condition-operators.rst:189 +#: ../system/core-workflows/condition-operators.rst:229 +#: ../system/core-workflows/condition-operators.rst:272 +#: ../system/core-workflows/condition-operators.rst:312 msgid "contains all" msgstr "" #: ../misc/object-conditions/basics.rst:194 -#: ../system/core-workflows/condition-operators.rst:38 +#: ../misc/object-conditions/basics.rst:513 +#: ../misc/object-conditions/basics.rst:547 +#: ../misc/object-conditions/basics.rst:584 +#: ../misc/object-conditions/basics.rst:616 +#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:147 +#: ../system/core-workflows/condition-operators.rst:186 +#: ../system/core-workflows/condition-operators.rst:226 +#: ../system/core-workflows/condition-operators.rst:269 +#: ../system/core-workflows/condition-operators.rst:309 msgid "contains one" msgstr "" #: ../misc/object-conditions/basics.rst:195 -#: ../system/core-workflows/condition-operators.rst:34 +#: ../misc/object-conditions/basics.rst:519 +#: ../misc/object-conditions/basics.rst:553 +#: ../misc/object-conditions/basics.rst:590 +#: ../misc/object-conditions/basics.rst:622 +#: ../system/core-workflows/condition-operators.rst:41 +#: ../system/core-workflows/condition-operators.rst:160 +#: ../system/core-workflows/condition-operators.rst:198 +#: ../system/core-workflows/condition-operators.rst:238 +#: ../system/core-workflows/condition-operators.rst:281 +#: ../system/core-workflows/condition-operators.rst:321 msgid "contains all not" msgstr "" #: ../misc/object-conditions/basics.rst:196 -#: ../system/core-workflows/condition-operators.rst:40 +#: ../misc/object-conditions/basics.rst:522 +#: ../misc/object-conditions/basics.rst:556 +#: ../misc/object-conditions/basics.rst:593 +#: ../misc/object-conditions/basics.rst:625 +#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:157 +#: ../system/core-workflows/condition-operators.rst:195 +#: ../system/core-workflows/condition-operators.rst:235 +#: ../system/core-workflows/condition-operators.rst:278 +#: ../system/core-workflows/condition-operators.rst:318 msgid "contains one not" msgstr "" @@ -16121,7 +16200,7 @@ msgid "Checks if time is accounted." msgstr "" #: ../misc/object-conditions/basics.rst:203 -#: ../system/core-workflows/condition-operators.rst:74 +#: ../system/core-workflows/condition-operators.rst:88 msgid "is set" msgstr "" @@ -16179,8 +16258,8 @@ msgstr "" #: ../misc/object-conditions/basics.rst:334 #: ../misc/object-conditions/basics.rst:381 #: ../misc/object-conditions/basics.rst:392 -#: ../misc/object-conditions/basics.rst:410 #: ../misc/object-conditions/basics.rst:421 +#: ../misc/object-conditions/basics.rst:432 msgid "Available operators for matching:" msgstr "" @@ -16266,7 +16345,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:269 #: ../misc/object-conditions/basics.rst:284 #: ../misc/object-conditions/basics.rst:385 -#: ../misc/object-conditions/basics.rst:414 +#: ../misc/object-conditions/basics.rst:425 msgid "**has changed**" msgstr "" @@ -16281,14 +16360,14 @@ msgstr "" #: ../misc/object-conditions/basics.rst:267 #: ../misc/object-conditions/basics.rst:278 #: ../misc/object-conditions/basics.rst:383 -#: ../misc/object-conditions/basics.rst:412 +#: ../misc/object-conditions/basics.rst:423 msgid "**is**" msgstr "" #: ../misc/object-conditions/basics.rst:268 #: ../misc/object-conditions/basics.rst:279 #: ../misc/object-conditions/basics.rst:384 -#: ../misc/object-conditions/basics.rst:413 +#: ../misc/object-conditions/basics.rst:424 msgid "**is not**" msgstr "" @@ -16536,7 +16615,7 @@ msgid "**contains all**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are selected." +msgid "Matches if **all** given field values are selected (AND logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16544,7 +16623,8 @@ msgid "**contains one**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is selected." +msgid "" +"Matches if **at least one** of the given field values is selected (OR logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16552,7 +16632,9 @@ msgid "**contains all not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are not selected." +msgid "" +"Matches if **not all** given field values are selected (at least one is " +"missing). This means \"not all of\", not \"none of\"." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16560,24 +16642,35 @@ msgid "**contains one not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is not selected." +msgid "" +"Matches if **none** of the given field values are selected. This means " +"\"none of\", not \"not all of\"." msgstr "" -#: ../misc/object-conditions/basics.rst:405 ../system/objects/types.rst:135 +#: ../misc/object-conditions/basics.rst:408 +msgid "" +"In :doc:`core workflows `, these operators have " +"different semantics. See :ref:`core workflow condition operators ` for details. Example scenarios for the " +"operators described here can be found in :ref:`multi-select-operator-" +"examples` below." +msgstr "" + +#: ../misc/object-conditions/basics.rst:416 ../system/objects/types.rst:135 msgid "Single Tree Selection Field" msgstr "" -#: ../misc/object-conditions/basics.rst:407 +#: ../misc/object-conditions/basics.rst:418 msgid "" "Checks if a selected field value match the attribute value. Selecting more " "than one value in the condition will act like an \"OR\" clause." msgstr "" -#: ../misc/object-conditions/basics.rst:417 ../system/objects/types.rst:148 +#: ../misc/object-conditions/basics.rst:428 ../system/objects/types.rst:148 msgid "Multiple Tree Selection Field" msgstr "" -#: ../misc/object-conditions/basics.rst:419 +#: ../misc/object-conditions/basics.rst:430 msgid "Checks if selected field value(s) match the attribute value(s)." msgstr "" @@ -16597,64 +16690,64 @@ msgstr "" msgid "**contains one not**" msgstr "" -#: ../misc/object-conditions/basics.rst:433 +#: ../misc/object-conditions/basics.rst:447 msgid "Additional Information and Remarks" msgstr "" -#: ../misc/object-conditions/basics.rst:442 +#: ../misc/object-conditions/basics.rst:456 msgid "Ticket context conditions do not support:" msgstr "" -#: ../misc/object-conditions/basics.rst:439 +#: ../misc/object-conditions/basics.rst:453 msgid "regular expressions" msgstr "" -#: ../misc/object-conditions/basics.rst:440 +#: ../misc/object-conditions/basics.rst:454 msgid "case sensitive string conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:441 +#: ../misc/object-conditions/basics.rst:455 msgid "" "Basic conditions do not support the same attribute to be selected more than " "once" msgstr "" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "**has changed** conditions:" msgstr "" -#: ../misc/object-conditions/basics.rst:445 +#: ../misc/object-conditions/basics.rst:459 msgid "Are only available for ticket attributes and don't affect:" msgstr "" -#: ../misc/object-conditions/basics.rst:447 +#: ../misc/object-conditions/basics.rst:461 msgid "Ticket articles attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:448 +#: ../misc/object-conditions/basics.rst:462 msgid "Organization attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:449 +#: ../misc/object-conditions/basics.rst:463 msgid "User attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "Group attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:463 +#: ../misc/object-conditions/basics.rst:477 msgid "Differences in input fields:" msgstr "" -#: ../misc/object-conditions/basics.rst:453 +#: ../misc/object-conditions/basics.rst:467 msgid "" "Please note that the input field for tokens doesn't support the comma as " "separator (as in the input field for tags). If you use the comma in the " "token input field, the comma is included in you token." msgstr "" -#: ../misc/object-conditions/basics.rst:457 +#: ../misc/object-conditions/basics.rst:471 msgid "**Example**:" msgstr "" @@ -16662,32 +16755,257 @@ msgstr "" msgid "Example of comma usage in token input field" msgstr "" -#: ../misc/object-conditions/basics.rst:462 +#: ../misc/object-conditions/basics.rst:476 msgid "" "``A`` added with enter/tab, ``B`` and ``C`` separated with comma (resulting " "in one token)." msgstr "" -#: ../misc/object-conditions/basics.rst:468 +#: ../misc/object-conditions/basics.rst:482 +msgid "Multi-Select Operator Examples" +msgstr "" + +#: ../misc/object-conditions/basics.rst:484 +msgid "" +"The ``contains`` family of operators for multi-select fields compares two " +"sets of values: the values currently in the field and the values specified " +"in the condition. The diagrams below show the condition values as an orange " +"circle and the field values as a blue circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:489 +msgid "" +"Be aware that these operators behave **differently** in :doc:`core workflows " +"`. See :ref:`core workflow condition operators ` for a side by side comparison." +msgstr "" + +#: ../misc/object-conditions/basics.rst:495 +#: ../system/core-workflows/condition-operators.rst:165 +msgid "Example 1: Condition A, B - Field A, B, C" +msgstr "" + +#: ../misc/object-conditions/basics.rst:497 +#: ../system/core-workflows/condition-operators.rst:167 +msgid "" +"In this scenario, the field holds the values A, B and C, while the condition " +"asks for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "" +"Venn diagram of condition values A, B and field values A, B, C. A and B are " +"in both circles, C only in the field circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "Condition values ``A, B`` overlap with field values ``A, B, C``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:510 +#: ../misc/object-conditions/basics.rst:544 +#: ../misc/object-conditions/basics.rst:581 +#: ../misc/object-conditions/basics.rst:613 +#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:141 +#: ../system/core-workflows/condition-operators.rst:180 +#: ../system/core-workflows/condition-operators.rst:220 +#: ../system/core-workflows/condition-operators.rst:263 +#: ../system/core-workflows/condition-operators.rst:303 +msgid "Operator" +msgstr "" + +#: ../misc/object-conditions/basics.rst:511 +#: ../misc/object-conditions/basics.rst:545 +#: ../misc/object-conditions/basics.rst:582 +#: ../misc/object-conditions/basics.rst:614 +#: ../system/core-workflows/condition-operators.rst:181 +#: ../system/core-workflows/condition-operators.rst:221 +#: ../system/core-workflows/condition-operators.rst:264 +#: ../system/core-workflows/condition-operators.rst:304 +msgid "Matches?" +msgstr "" + +#: ../misc/object-conditions/basics.rst:512 +#: ../misc/object-conditions/basics.rst:546 +#: ../misc/object-conditions/basics.rst:583 +#: ../misc/object-conditions/basics.rst:615 +#: ../system/core-workflows/condition-operators.rst:182 +#: ../system/core-workflows/condition-operators.rst:222 +#: ../system/core-workflows/condition-operators.rst:265 +#: ../system/core-workflows/condition-operators.rst:305 +msgid "Why" +msgstr "" + +#: ../misc/object-conditions/basics.rst:515 +#: ../system/core-workflows/condition-operators.rst:185 +msgid "``A`` and ``B`` are in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:518 +#: ../system/core-workflows/condition-operators.rst:191 +msgid "Both ``A`` and ``B`` are present (AND logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:521 +msgid "All condition values are present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:524 +msgid "The field has values in common with the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:527 +#: ../system/core-workflows/condition-operators.rst:203 +msgid "Example 2: Condition A, B, C - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:529 +#: ../system/core-workflows/condition-operators.rst:205 +msgid "" +"In this scenario, the field holds the values C and D. The condition value C " +"is present in the field, while A and B are not." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Venn diagram of condition values A, B, C and field values C, D.\n" +"Only C is in both circles." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Condition values ``A, B, C`` partially overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:549 +#: ../system/core-workflows/condition-operators.rst:225 +msgid "``C`` is in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:552 +#: ../system/core-workflows/condition-operators.rst:231 +msgid "Only ``C`` of the three condition values is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:555 +#: ../misc/object-conditions/basics.rst:592 +msgid "``A`` and ``B`` are missing from the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:558 +msgid "``C`` is in both the field and the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:560 +msgid "" +"This partial overlap is where the two \"not\" operators part ways: " +"``contains all not`` matches because a single condition value is missing, " +"while ``contains one not`` does not match because the one common value is " +"enough to block it." +msgstr "" + +#: ../misc/object-conditions/basics.rst:566 +#: ../system/core-workflows/condition-operators.rst:248 +msgid "Example 3: Condition A, B - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:568 +#: ../system/core-workflows/condition-operators.rst:250 +msgid "" +"In this scenario, the field holds the values C and D, which have nothing in " +"common with the condition values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "" +"Venn diagram of condition values A, B and field values C, D. The two circles " +"do not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "Condition values ``A, B`` have no overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:586 +#: ../system/core-workflows/condition-operators.rst:268 +msgid "No value is in both sets." +msgstr "" + +#: ../misc/object-conditions/basics.rst:589 +#: ../system/core-workflows/condition-operators.rst:274 +msgid "Neither ``A`` nor ``B`` is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:595 +#: ../misc/object-conditions/basics.rst:627 +#: ../system/core-workflows/condition-operators.rst:159 +#: ../system/core-workflows/condition-operators.rst:161 +#: ../system/core-workflows/condition-operators.rst:283 +msgid "The field has no value in common with the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:598 +#: ../system/core-workflows/condition-operators.rst:288 +msgid "Example 4: Condition A, B - Field is empty" +msgstr "" + +#: ../misc/object-conditions/basics.rst:600 +#: ../system/core-workflows/condition-operators.rst:290 +msgid "" +"In this scenario, the field holds no values at all, while the condition asks " +"for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "" +"Venn diagram of condition values A, B and an empty field. The two circles do " +"not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "The field holds no values at all." +msgstr "" + +#: ../misc/object-conditions/basics.rst:618 +#: ../misc/object-conditions/basics.rst:621 +#: ../system/core-workflows/condition-operators.rst:308 +#: ../system/core-workflows/condition-operators.rst:314 +msgid "No value is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:624 +msgid "No condition value is present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:632 msgid "Regex" msgstr "" -#: ../misc/object-conditions/basics.rst:473 +#: ../misc/object-conditions/basics.rst:637 msgid "Regex support" msgstr "" -#: ../misc/object-conditions/basics.rst:471 +#: ../misc/object-conditions/basics.rst:635 msgid "" "**matches regex** and **does not match regex** are supported only in " "Triggers, Time Accounting selector, Postmaster Filters, Automatic ticket " "assignment and Core Workflow." msgstr "" -#: ../misc/object-conditions/basics.rst:478 +#: ../misc/object-conditions/basics.rst:642 msgid "\"Old\" style ``regex:...`` conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:476 +#: ../misc/object-conditions/basics.rst:640 msgid "" "If you update your Zammad from 6.0 or prior and you have already conditions " "with **contains** or **contains not** including a regex filter (i.e. " @@ -22890,9 +23208,9 @@ msgstr "" #: ../system/core-workflows/condition-operators.rst:8 msgid "" -"Due to differences to other places in Zammad which are also using conditions " -"(e.g. triggers), you can find a dedicated description of operators for core " -"workflows below." +"Due to differences from other places in Zammad which are also using " +"conditions (e.g. triggers), you can find a dedicated description of " +"operators for core workflows below." msgstr "" #: ../system/core-workflows/condition-operators.rst:12 @@ -22902,272 +23220,419 @@ msgid "" "for system attributes (e.g. for \"tags\", \"active\")." msgstr "" -#: ../system/core-workflows/condition-operators.rst:20 -msgid "Operator" -msgstr "" - -#: ../system/core-workflows/condition-operators.rst:22 +#: ../system/core-workflows/condition-operators.rst:23 msgid "after (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:23 +#: ../system/core-workflows/condition-operators.rst:24 msgid "Matches if a date/time is after a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:24 +#: ../system/core-workflows/condition-operators.rst:25 msgid "after (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:25 +#: ../system/core-workflows/condition-operators.rst:26 msgid "Matches if a time span after a specified event has passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:26 +#: ../system/core-workflows/condition-operators.rst:27 msgid "before (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:27 +#: ../system/core-workflows/condition-operators.rst:28 msgid "Matches if a date/time is before a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:28 +#: ../system/core-workflows/condition-operators.rst:29 msgid "before (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:29 +#: ../system/core-workflows/condition-operators.rst:30 msgid "Matches if a time span after a specified event has not passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:30 +#: ../system/core-workflows/condition-operators.rst:31 +#: ../system/core-workflows/condition-operators.rst:144 +#: ../system/core-workflows/condition-operators.rst:183 +#: ../system/core-workflows/condition-operators.rst:223 +#: ../system/core-workflows/condition-operators.rst:266 +#: ../system/core-workflows/condition-operators.rst:306 msgid "contains" msgstr "" -#: ../system/core-workflows/condition-operators.rst:31 -msgid "Matches if a specified value is present." +#: ../system/core-workflows/condition-operators.rst:32 +msgid "" +"Matches if **at least one** of the specified values is present in the field " +"(OR logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:33 -msgid "Matches if all of the specified values are present." +#: ../system/core-workflows/condition-operators.rst:34 +#: ../system/core-workflows/condition-operators.rst:153 +#: ../system/core-workflows/condition-operators.rst:192 +#: ../system/core-workflows/condition-operators.rst:232 +#: ../system/core-workflows/condition-operators.rst:275 +#: ../system/core-workflows/condition-operators.rst:315 +msgid "contains not" msgstr "" #: ../system/core-workflows/condition-operators.rst:35 -msgid "Matches if none of the specified values are present." +msgid "" +"Matches if the field contains at least one value that is **not** among the " +"specified values. Also matches if the field is empty." msgstr "" -#: ../system/core-workflows/condition-operators.rst:36 -msgid "contains not" +#: ../system/core-workflows/condition-operators.rst:39 +msgid "" +"Matches if **every** specified value is present in the field (AND logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:37 -msgid "Matches if a specified value is not present." +#: ../system/core-workflows/condition-operators.rst:42 +msgid "" +"Matches if **none** of the specified values are present in the field. The " +"field and the condition have no value in common: this means \"contains none " +"of\", not \"does not contain all of\"." msgstr "" -#: ../system/core-workflows/condition-operators.rst:39 -msgid "Matches if one specified value is present." +#: ../system/core-workflows/condition-operators.rst:46 +msgid "" +"In triggers and overviews, this operator means \"not all of the specified " +"values are present\" instead. See the examples section below." msgstr "" -#: ../system/core-workflows/condition-operators.rst:41 -msgid "Matches if one specified value is not present." +#: ../system/core-workflows/condition-operators.rst:50 +msgid "" +"Same as ``contains``. Matches if **at least one** of the specified values is " +"present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:42 +#: ../system/core-workflows/condition-operators.rst:53 +msgid "" +"Same as ``contains not``. Matches if the field contains at least one value " +"that is **not** among the specified values." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:56 msgid "does not match regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:43 +#: ../system/core-workflows/condition-operators.rst:57 msgid "Matches if content doesn't fit to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:44 +#: ../system/core-workflows/condition-operators.rst:58 msgid "ends with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:45 +#: ../system/core-workflows/condition-operators.rst:59 msgid "Matches if content ends with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:46 +#: ../system/core-workflows/condition-operators.rst:60 msgid "ends with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:47 +#: ../system/core-workflows/condition-operators.rst:61 msgid "Matches if content ends with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:48 +#: ../system/core-workflows/condition-operators.rst:62 msgid "from (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:63 msgid "Matches if date/time is after a period of time after an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:51 +#: ../system/core-workflows/condition-operators.rst:65 msgid "Matches if content is equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:66 msgid "is any of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:53 +#: ../system/core-workflows/condition-operators.rst:67 msgid "Matches if content is equal to any of specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:54 +#: ../system/core-workflows/condition-operators.rst:68 msgid "is greater than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:55 +#: ../system/core-workflows/condition-operators.rst:69 msgid "Matches if the value is greater than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:56 +#: ../system/core-workflows/condition-operators.rst:70 msgid "is greater than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:57 +#: ../system/core-workflows/condition-operators.rst:71 msgid "Matches if the value is greater than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:58 +#: ../system/core-workflows/condition-operators.rst:72 msgid "is less than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:59 +#: ../system/core-workflows/condition-operators.rst:73 msgid "Matches if the value is less than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:60 +#: ../system/core-workflows/condition-operators.rst:74 msgid "is less than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:61 +#: ../system/core-workflows/condition-operators.rst:75 msgid "Matches if the value is less than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:62 +#: ../system/core-workflows/condition-operators.rst:76 msgid "is modified" msgstr "" -#: ../system/core-workflows/condition-operators.rst:63 +#: ../system/core-workflows/condition-operators.rst:77 msgid "Matches if content is modified." msgstr "" -#: ../system/core-workflows/condition-operators.rst:65 -#: ../system/core-workflows/condition-operators.rst:69 +#: ../system/core-workflows/condition-operators.rst:79 +#: ../system/core-workflows/condition-operators.rst:83 msgid "True from the moment of changing content until form submit." msgstr "" -#: ../system/core-workflows/condition-operators.rst:66 +#: ../system/core-workflows/condition-operators.rst:80 msgid "is modified to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:67 +#: ../system/core-workflows/condition-operators.rst:81 msgid "Matches if content is modified to a specific value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:70 +#: ../system/core-workflows/condition-operators.rst:84 msgid "is none of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:71 +#: ../system/core-workflows/condition-operators.rst:85 msgid "Matches if content is none of any specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:73 +#: ../system/core-workflows/condition-operators.rst:87 msgid "Matches if content is not equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:75 +#: ../system/core-workflows/condition-operators.rst:89 msgid "Matches if content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:76 +#: ../system/core-workflows/condition-operators.rst:90 msgid "just changed" msgstr "" -#: ../system/core-workflows/condition-operators.rst:77 +#: ../system/core-workflows/condition-operators.rst:91 msgid "Matches if content has changed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:79 -#: ../system/core-workflows/condition-operators.rst:83 +#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:97 msgid "" "Only true for the moment of changing content until next form field action/" "click." msgstr "" -#: ../system/core-workflows/condition-operators.rst:80 +#: ../system/core-workflows/condition-operators.rst:94 msgid "just changed to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:81 +#: ../system/core-workflows/condition-operators.rst:95 msgid "Matches if content has changed to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:84 +#: ../system/core-workflows/condition-operators.rst:98 msgid "matches regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:85 +#: ../system/core-workflows/condition-operators.rst:99 msgid "Matches if value fits to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:87 +#: ../system/core-workflows/condition-operators.rst:101 msgid "Matches if no content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:88 +#: ../system/core-workflows/condition-operators.rst:102 msgid "starts with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:89 +#: ../system/core-workflows/condition-operators.rst:103 msgid "Matches if content starts with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:90 +#: ../system/core-workflows/condition-operators.rst:104 msgid "starts with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:91 +#: ../system/core-workflows/condition-operators.rst:105 msgid "Matches if content starts with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:92 +#: ../system/core-workflows/condition-operators.rst:106 msgid "till (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:107 msgid "Matches if date/time is before a period of time before an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:94 +#: ../system/core-workflows/condition-operators.rst:108 msgid "today" msgstr "" -#: ../system/core-workflows/condition-operators.rst:95 +#: ../system/core-workflows/condition-operators.rst:109 msgid "Matches if date/time is today." msgstr "" -#: ../system/core-workflows/condition-operators.rst:96 +#: ../system/core-workflows/condition-operators.rst:110 msgid "within last (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:97 +#: ../system/core-workflows/condition-operators.rst:111 msgid "" "Matches if date/time content is within specified period of time before now." msgstr "" -#: ../system/core-workflows/condition-operators.rst:99 +#: ../system/core-workflows/condition-operators.rst:113 msgid "within next (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:100 +#: ../system/core-workflows/condition-operators.rst:114 msgid "" "Matches if date/time content is within specified period of time after now." msgstr "" +#: ../system/core-workflows/condition-operators.rst:118 +msgid "Multi-Select Operators" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:120 +msgid "" +"The ``contains`` family of operators compares two sets of values: the values " +"currently in the field and the values specified in the condition. The " +"diagrams below show the condition values as an orange circle and the field " +"values as a blue circle." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:128 +msgid "Differences to Triggers and Overviews" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:130 +msgid "" +"Be aware that these operators behave **differently** in other features that " +"use conditions (e.g. triggers and overviews). The most confusing difference: " +"in core workflows, ``contains all not`` means that no value matches at all, " +"while in triggers and overviews it means \"not all values are present\". The " +"table below compares both worlds side by side." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:142 +msgid "Core workflows (this page)" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:143 +msgid "Triggers, overviews, etc." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:145 +#: ../system/core-workflows/condition-operators.rst:149 +msgid "At least one value is present (OR logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:146 +msgid "Not available; ``contains one`` is the equivalent." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:148 +#: ../system/core-workflows/condition-operators.rst:188 +#: ../system/core-workflows/condition-operators.rst:228 +#: ../system/core-workflows/condition-operators.rst:271 +#: ../system/core-workflows/condition-operators.rst:311 +msgid "Same as ``contains``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:151 +#: ../system/core-workflows/condition-operators.rst:152 +msgid "Every value is present (AND logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:154 +msgid "" +"At least one field value is outside the condition, or the field is empty." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:156 +msgid "Not available for multi-select fields." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:158 +#: ../system/core-workflows/condition-operators.rst:197 +#: ../system/core-workflows/condition-operators.rst:237 +#: ../system/core-workflows/condition-operators.rst:280 +#: ../system/core-workflows/condition-operators.rst:320 +msgid "Same as ``contains not``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:162 +msgid "Not all values are present (at least one is missing)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:194 +msgid "``C`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:200 +msgid "``A`` and ``B`` are present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:234 +msgid "``D`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:240 +msgid "``C`` is present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:242 +msgid "" +"This partial overlap is where the two \"all\" operators part ways: " +"``contains all`` fails because one condition value is missing, while " +"``contains all not`` fails because a single common value is enough to block " +"it." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:277 +msgid "``C`` and ``D`` are not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:285 +msgid "This is the only example where ``contains all not`` matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:317 +msgid "An empty field matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:323 +msgid "An empty field has no value in common with the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:325 +msgid "" +"Note that ``contains not`` and ``contains one not`` match an empty field, " +"while ``contains`` and ``contains all`` do not. If you want to exclude " +"specific values, be aware that empty fields pass the condition." +msgstr "" + #: ../system/core-workflows/how-do-they-work.rst:2 msgid "How do they work?" msgstr "" diff --git a/locale/de/LC_MESSAGES/admin-docs.po b/locale/de/LC_MESSAGES/admin-docs.po index 36f06371b..c9d56feeb 100644 --- a/locale/de/LC_MESSAGES/admin-docs.po +++ b/locale/de/LC_MESSAGES/admin-docs.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: Zammad\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-24 17:19+0200\n" -"PO-Revision-Date: 2026-08-26 05:05+0000\n" +"POT-Creation-Date: 2026-08-28 15:08+0200\n" +"PO-Revision-Date: 2026-08-31 09:47+0000\n" "Last-Translator: Ralf Schmid \n" "Language-Team: German \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 2026.7.1\n" +"X-Generator: Weblate 2026.8.1\n" #: ../ai/ai-agents.rst:2 msgid "AI Agents" @@ -937,7 +937,7 @@ msgstr "Typ" msgid "Pick the AI provider. Available options:" msgstr "Wählen Sie den KI-Anbieter aus. Verfügbare Optionen:" -#: ../ai/provider.rst:52 ../ai/provider.rst:267 +#: ../ai/provider.rst:52 ../ai/provider.rst:268 msgid "Zammad AI" msgstr "Zammad AI" @@ -945,7 +945,7 @@ msgstr "Zammad AI" msgid "OpenAI" msgstr "OpenAI" -#: ../ai/provider.rst:54 ../ai/provider.rst:298 +#: ../ai/provider.rst:54 ../ai/provider.rst:299 msgid "Ollama" msgstr "Ollama" @@ -1060,7 +1060,7 @@ msgstr "" "auswählen, und weisen Sie anschließend die Verbindungen zu spezifischen " "Funktionen zu (siehe :ref:`per-feature-provider-config`)." -#: ../ai/provider.rst:120 +#: ../ai/provider.rst:121 msgid "Embedding Model" msgstr "Embedding-Modell" @@ -1127,24 +1127,25 @@ msgid "" "Changing the embedding model or the embedding dimensions triggers a full " "rebuild of the knowledge base index. This re-embeds every knowledge base " "article, which takes time and costs AI calls proportional to the size of " -"your knowledge base. Zammad shows a confirmation dialog before the change is " -"saved. Switching the semantic search capability to a provider that uses the " -"same embedding model and dimensions does not trigger a rebuild." +"your knowledge base. The rebuild runs in the background and Zammad notifies " +"you with a toast message when it starts. Switching the semantic search " +"capability to a provider that uses the same embedding model and dimensions " +"does not trigger a rebuild." msgstr "" "Eine Änderung des Embedding-Modells oder der Embedding-Dimensionen löst eine " -"vollständige Neuerstellung Knowledge Base-Index aus. Dabei werden alle " +"vollständige Neuerstellung des Knowledge Base-Indexes aus. Dabei werden alle " "Artikel der Knowledge Base neu vektorisiert, was Zeit in Anspruch nimmt und " "KI-Anfragen verursacht, deren Anzahl proportional zur Größe Ihrer Knowledge " -"Base ist. Zammad zeigt einen Bestätigungsdialog an, bevor die Änderung " -"gespeichert wird. Die Umstellung der semantischen Suchfunktion auf einen " -"Anbieter, der dasselbe Embedding-Modell und dieselben Embedding-Dimensionen " -"verwendet, löst keine Neuerstellung aus." +"Base ist. Der Neuaufbau läuft im Hintergrund ab und Zammad benachrichtigt " +"Sie mit einer Toast-Meldung, sobald er beginnt. Die Umstellung der " +"semantischen Suchfunktion auf einen Anbieter, der dasselbe Embedding-Modell " +"und dieselben Embedding-Dimensionen verwendet, löst keine Neuerstellung aus." -#: ../ai/provider.rst:127 +#: ../ai/provider.rst:128 msgid "OCR Model" msgstr "OCR-Modell" -#: ../ai/provider.rst:123 +#: ../ai/provider.rst:124 msgid "" "The model used to extract text from images. The dropdown lists the models " "the provider offers. The default option falls back to the **Model** field. " @@ -1159,11 +1160,11 @@ msgstr "" "Nicht jeder Anbieter unterstützt die Bildtexterkennung; das Feld wird nur " "für Anbieter angezeigt, die diese Funktion unterstützen." -#: ../ai/provider.rst:131 ../manage/knowledge-base.rst:139 +#: ../ai/provider.rst:132 ../manage/knowledge-base.rst:139 msgid "URL" msgstr "URL" -#: ../ai/provider.rst:130 +#: ../ai/provider.rst:131 msgid "" "The URL or IP address of the provider. Required for Ollama and OpenAI " "compatible providers." @@ -1171,22 +1172,22 @@ msgstr "" "Die URL oder IP-Adresse des Anbieters. Erforderlich für Ollama- und OpenAI-" "kompatible Anbieter." -#: ../ai/provider.rst:134 +#: ../ai/provider.rst:135 msgid "URL (Completions)" msgstr "URL (Completions)" -#: ../ai/provider.rst:134 +#: ../ai/provider.rst:135 msgid "" "Azure AI only. The endpoint where the text generation model is available." msgstr "" "Nur Azure AI. Der Endpunkt, über den das Modell zur Textgenerierung " "verfügbar ist." -#: ../ai/provider.rst:138 +#: ../ai/provider.rst:139 msgid "URL (OCR)" msgstr "URL (OCR)" -#: ../ai/provider.rst:137 +#: ../ai/provider.rst:138 msgid "" "Azure AI only. The endpoint where the OCR model is available. Leave empty to " "fall back to URL (Completions)." @@ -1194,7 +1195,7 @@ msgstr "" "Nur Azure AI. Der Endpunkt, über den das OCR-Modell verfügbar ist. Lassen " "Sie das Feld leer, um auf die URL (Completions) zurückzugreifen." -#: ../ai/provider.rst:140 +#: ../ai/provider.rst:141 msgid "" "After filling in the fields, click ``Submit``. Zammad tests the " "configuration before saving. If the test succeeds, the row's status dot " @@ -1207,11 +1208,11 @@ msgstr "" "angezeigt, bis er nach der ersten erfolgreichen Anfrage grün wird; die " "Farben entnehmen Sie bitte dem Abschnitt Status weiter unten." -#: ../ai/provider.rst:146 +#: ../ai/provider.rst:147 msgid "Status" msgstr "Status" -#: ../ai/provider.rst:148 +#: ../ai/provider.rst:149 msgid "" "The colored dot at the start of each row shows whether the provider has been " "used successfully or whether it has issues:" @@ -1219,11 +1220,11 @@ msgstr "" "Der farbige Indikator/Punkt am Anfang jeder Zeile zeigt an, ob der Anbieter " "erfolgreich genutzt wurde oder ob Probleme vorliegen:" -#: ../ai/provider.rst:153 +#: ../ai/provider.rst:154 msgid "Green" msgstr "Grün" -#: ../ai/provider.rst:152 +#: ../ai/provider.rst:153 msgid "" "The provider has been used and the last request succeeded. The tooltip shows " "the timestamp of the last status update." @@ -1231,11 +1232,11 @@ msgstr "" "Der Anbieter wurde verwendet und die letzte Anfrage war erfolgreich. Der " "Tooltip zeigt den Zeitstempel der letzten Statusaktualisierung an." -#: ../ai/provider.rst:157 +#: ../ai/provider.rst:158 msgid "Orange" msgstr "Orange" -#: ../ai/provider.rst:156 +#: ../ai/provider.rst:157 msgid "" "The provider is configured but has not been used yet. It turns green after " "the first successful request." @@ -1243,11 +1244,11 @@ msgstr "" "Der Anbieter ist konfiguriert, wurde jedoch noch nicht verwendet. Nach der " "ersten erfolgreichen Anfrage wechselt der Indikator zu grün." -#: ../ai/provider.rst:162 +#: ../ai/provider.rst:163 msgid "Red" msgstr "Rot" -#: ../ai/provider.rst:160 +#: ../ai/provider.rst:161 msgid "" "The last request to this provider failed. Hover the dot for the error " "message from the provider. The tooltip always shows the most recent error, " @@ -1258,11 +1259,11 @@ msgstr "" "Der Tooltip zeigt stets den aktuellsten Fehler an, daher bezieht sich der " "Zeitstempel auf die zuletzt fehlgeschlagene Anfrage." -#: ../ai/provider.rst:167 +#: ../ai/provider.rst:168 msgid "Default Provider" msgstr "Standard Anbieter" -#: ../ai/provider.rst:169 +#: ../ai/provider.rst:170 msgid "" "The **Default** provider serves every AI feature that has no specific " "provider assigned. You set it from the ︙ menu in the **Action** column. A " @@ -1283,7 +1284,7 @@ msgstr "" "Der Screenshot zeigt die Anbieterliste, wobei ein Anbieter für alle " "Funktionen als Standard ausgewählt ist" -#: ../ai/provider.rst:178 +#: ../ai/provider.rst:179 msgid "" "When you mark a provider as the default, Zammad clears that flag from " "whichever provider held it before, so the new default takes over " @@ -1296,11 +1297,11 @@ msgstr "" "Standardanbieter: Wenn Sie den Anbieter löschen, der die Markierung innehat, " "ernennt Zammad den ältesten verbleibenden Anbieter zum Standardanbieter." -#: ../ai/provider.rst:186 +#: ../ai/provider.rst:187 msgid "Capabilities" msgstr "Fähigkeiten" -#: ../ai/provider.rst:188 +#: ../ai/provider.rst:189 msgid "" "Semantic search and image text recognition (OCR) are capabilities. You " "assign them from the ︙ menu in the **Action** column; the badges mark which " @@ -1310,11 +1311,11 @@ msgstr "" "können diese über das ︙Menü in der Spalte **Aktion** zuweisen. Die " "Plaketten zeigen an, welcher Anbieter die jeweilige Funktion derzeit abdeckt." -#: ../ai/provider.rst:200 +#: ../ai/provider.rst:201 msgid "Semantic search" msgstr "Semantische Suche" -#: ../ai/provider.rst:193 +#: ../ai/provider.rst:194 msgid "" "The provider used to turn text into numerical form (vector embeddings) so " "the knowledge base can find answers by meaning, not just keywords." @@ -1323,7 +1324,7 @@ msgstr "" "Einbettungen) um, damit die Knowledge Base relevante Antworten anhand der " "Bedeutung und nicht nur anhand von Schlüsselwörtern finden kann." -#: ../ai/provider.rst:196 +#: ../ai/provider.rst:197 msgid "" "If no provider covers semantic search and a feature needs it, Zammad shows a " "warning on the corresponding feature page. Assign semantic search to a " @@ -1339,16 +1340,16 @@ msgstr "" "dieser Zuweisung einen vollständigen Neuaufbau des Indexes auslösen kann; " "siehe **Embedding-Modell** oben." -#: ../ai/provider.rst:206 +#: ../ai/provider.rst:207 msgid "Image text recognition" msgstr "Texterkennung in Bildern" -#: ../ai/provider.rst:203 +#: ../ai/provider.rst:204 msgid "The provider used to extract text from images (OCR)." msgstr "" "Der Anbieter, der zum Extrahieren von Text aus Bildern (OCR) verwendet wird." -#: ../ai/provider.rst:205 +#: ../ai/provider.rst:206 msgid "" "This capability is optional. To save on AI-related costs, you can remove it " "from all providers entirely; features then simply skip the OCR step." @@ -1357,7 +1358,7 @@ msgstr "" "allen Anbietern vollständig deaktivieren; die Funktionen verwenden dann " "einfach keine OCR." -#: ../ai/provider.rst:208 +#: ../ai/provider.rst:209 msgid "" "When you assign a capability to a provider, Zammad clears that assignment " "from whichever provider held it before, so the new assignment takes over " @@ -1371,28 +1372,28 @@ msgstr "" "nicht weitervererbt: Wenn Sie den Anbieter löschen, der eine Fähigkeit " "abdeckt, bleibt diese dann einfach ohne Zuweisung." -#: ../ai/provider.rst:215 ../manage/macros.rst:56 ../manage/templates.rst:28 +#: ../ai/provider.rst:216 ../manage/macros.rst:56 ../manage/templates.rst:28 msgid "Actions" msgstr "Aktionen" -#: ../ai/provider.rst:217 +#: ../ai/provider.rst:218 msgid "The ︙ menu in the **Action** column offers the following actions:" msgstr "Das︙Menü in der Spalte **Aktion** bietet folgende Aktionen:" -#: ../ai/provider.rst:220 +#: ../ai/provider.rst:221 msgid "Set as default" msgstr "Als Standard einstellen" -#: ../ai/provider.rst:220 +#: ../ai/provider.rst:221 msgid "Marks the provider as the default provider for AI features." msgstr "Legt den Anbieter als Standardanbieter für KI-Funktionen fest." -#: ../ai/provider.rst:224 +#: ../ai/provider.rst:225 msgid "Use for semantic search / Do not use for semantic search" msgstr "" "Für semantische Suche verwenden / Nicht für semantische Suche verwenden" -#: ../ai/provider.rst:223 +#: ../ai/provider.rst:224 msgid "" "Assigns the provider to the semantic search capability, or clears that " "assignment. Only available for providers that support it." @@ -1400,12 +1401,12 @@ msgstr "" "Weist einem Anbieter die Fähigkeit der semantischen Suche zu oder hebt diese " "Zuordnung auf. Nur für Anbieter verfügbar, die diese Funktion unterstützen." -#: ../ai/provider.rst:228 +#: ../ai/provider.rst:229 msgid "Use for image text recognition / Do not use for image text recognition" msgstr "" "Für Bildtexterkennung verwenden / Nicht für Bildtexterkennung verwenden" -#: ../ai/provider.rst:227 +#: ../ai/provider.rst:228 msgid "" "Assigns the provider to the image text recognition capability, or clears " "that assignment." @@ -1413,23 +1414,23 @@ msgstr "" "Weist dem Anbieter die Fähigkeit zur Bildtexterkennung zu oder hebt diese " "Zuweisung auf." -#: ../ai/provider.rst:231 ../channels/email/accounts/managing-accounts.rst:50 +#: ../ai/provider.rst:232 ../channels/email/accounts/managing-accounts.rst:50 #: ../channels/email/accounts/managing-accounts.rst:51 #: ../manage/calendars.rst:30 ../manage/knowledge-base.rst:147 #: ../manage/knowledge-base.rst:181 msgid "Delete" msgstr "Löschen" -#: ../ai/provider.rst:231 +#: ../ai/provider.rst:232 msgid "Removes the provider. Not available for the Zammad AI provider on SaaS." msgstr "" "Entfernt den Anbieter. Nicht verfügbar für Zammad AI in SaaS-Instanzen." -#: ../ai/provider.rst:236 +#: ../ai/provider.rst:237 msgid "Configuring Provider per Feature" msgstr "Anbieter pro Funktion festlegen" -#: ../ai/provider.rst:238 +#: ../ai/provider.rst:239 msgid "" "By default, all AI features use the provider marked as the default. For " "finer control, you can pick a specific provider for individual features." @@ -1438,7 +1439,7 @@ msgstr "" "Anbieter. Für eine bessere Kontrolle können Sie für die einzelnen KI-" "Funktionen einen bestimmten Anbieter auswählen." -#: ../ai/provider.rst:241 +#: ../ai/provider.rst:242 msgid "" "Every AI feature settings page shows a ``Provider`` button in the page " "header. It opens a modal with a dropdown of all configured providers. Pick a " @@ -1460,7 +1461,7 @@ msgstr "" "Der Screenshot zeigt das Anbieter-Dialogfenster, in dem ein Anbieter " "ausgewählt ist" -#: ../ai/provider.rst:250 +#: ../ai/provider.rst:251 msgid "" "The choice only affects text generation. Semantic search always goes to the " "provider that covers the semantic search capability, and image text " @@ -1478,11 +1479,11 @@ msgstr "" "verfügen, da dies die Anbieter betrifft, die auf der Anbieter-Seite " "eingerichtet wurden." -#: ../ai/provider.rst:258 +#: ../ai/provider.rst:259 msgid "Additional Provider Information" msgstr "Weitere Anbieter-Informationen" -#: ../ai/provider.rst:260 +#: ../ai/provider.rst:261 msgid "" "If you want to know more about Zammad AI or Ollama, read on. Otherwise, head " "over to :doc:`feedback-and-logs` or pick any of the AI feature pages from " @@ -1492,7 +1493,7 @@ msgstr "" "weiter. Andernfalls besuchen Sie bitte :doc:`feedback-and-logs` oder wählen " "Sie eine der KI-Funktionen aus dem Menü auf der linken Seite aus." -#: ../ai/provider.rst:269 +#: ../ai/provider.rst:270 msgid "" "Using Zammad AI as a provider is the easiest way to get started with " "Zammad's AI features. It has several key advantages:" @@ -1501,17 +1502,17 @@ msgstr "" "KI-Funktionen von Zammad zu beginnen. Dies bietet mehrere wesentliche " "Vorteile:" -#: ../ai/provider.rst:272 +#: ../ai/provider.rst:273 msgid "You don't have to set up an AI system or its configuration." msgstr "" "Sie müssen weder ein KI-System einrichten noch dessen Konfiguration " "vornehmen." -#: ../ai/provider.rst:273 +#: ../ai/provider.rst:274 msgid "Hosted in the EU and compliant with GDPR." msgstr "Gehostet in der EU und DSGVO-konform." -#: ../ai/provider.rst:274 +#: ../ai/provider.rst:275 msgid "" "No configuration in Zammad for SaaS customers, or just an API key for self-" "hosted customers." @@ -1519,23 +1520,23 @@ msgstr "" "Für SaaS-Kunden ist in Zammad keine Konfiguration erforderlich, für Kunden " "mit eigenem Hosting lediglich ein API-Schlüssel." -#: ../ai/provider.rst:276 +#: ../ai/provider.rst:277 msgid "Requests with sensitive information aren't used for training." msgstr "" "Anfragen mit sensiblen Informationen werden nicht für Trainingszwecke " "verwendet." -#: ../ai/provider.rst:277 +#: ../ai/provider.rst:278 msgid "One place to go for support when something isn't working as expected." msgstr "" "Eine Anlaufstelle für Unterstützung, wenn etwas nicht wie erwartet " "funktioniert." -#: ../ai/provider.rst:289 +#: ../ai/provider.rst:290 msgid "SaaS Customers" msgstr "SaaS-Kunden" -#: ../ai/provider.rst:281 +#: ../ai/provider.rst:282 msgid "" "Using Zammad AI requires a \"V2\" plan. Check your :doc:`subscription " "settings ` and consider switching your plan. When a " @@ -1553,7 +1554,7 @@ msgstr "" "Guthaben an KI-Anfragen oder aktivieren Sie die Benachrichtigung, die Sie " "bei wenigen verbleibenden Anfragen informiert." -#: ../ai/provider.rst:288 +#: ../ai/provider.rst:289 msgid "" "On SaaS, the Zammad AI provider is provisioned by the platform and you " "cannot delete it or change its type." @@ -1561,11 +1562,11 @@ msgstr "" "Bei SaaS wird der Zammad AI-Anbieter von der Plattform bereitgestellt und " "Sie können ihn weder löschen noch seinen Typ ändern." -#: ../ai/provider.rst:295 +#: ../ai/provider.rst:296 msgid "Self-Hosted Customers" msgstr "Self-Hosted Kunden" -#: ../ai/provider.rst:292 +#: ../ai/provider.rst:293 msgid "" "Get in touch with our `sales department `_ to obtain a Zammad AI API key and to buy AI calls. After " @@ -1578,7 +1579,7 @@ msgstr "" "Sie einen neuen Anbieter vom Typ *Zammad AI* hinzu und speichern den " "Schlüssel." -#: ../ai/provider.rst:300 +#: ../ai/provider.rst:301 msgid "" "`Ollama `_ lets you run your own AI server on a machine " "you control, so your data is not transferred to a third party. This approach " @@ -1589,7 +1590,7 @@ msgstr "" "Dritte übertragen werden. Dieser Ansatz ist jedoch nur dann sinnvoll, wenn " "Sie über eine leistungsstarke GPU in Ihrem System verfügen!" -#: ../ai/provider.rst:304 +#: ../ai/provider.rst:305 msgid "" "If you don't have Ollama running yet, their `documentation `_ is a good starting point. Available models are listed in " @@ -5487,7 +5488,7 @@ msgstr "" msgid "Signatures" msgstr "Signaturen" -#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:436 +#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:450 #: ../system/monitoring.rst:9 msgid "General" msgstr "Allgemein" @@ -6438,7 +6439,7 @@ msgstr "Standardwert" #: ../channels/form.rst:250 ../manage/public-links.rst:43 #: ../misc/object-conditions/basics.rst:63 ../misc/variables.rst:101 -#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:22 #: ../system/objects/permissions.rst:36 ../system/subscription.rst:196 msgid "Description" msgstr "Beschreibung" @@ -11405,6 +11406,29 @@ msgstr "" #: ../manage/groups/settings.rst:42 ../manage/groups/settings.rst:63 #: ../misc/object-conditions/basics.rst:121 #: ../misc/object-conditions/basics.rst:136 +#: ../misc/object-conditions/basics.rst:514 +#: ../misc/object-conditions/basics.rst:517 +#: ../misc/object-conditions/basics.rst:548 +#: ../misc/object-conditions/basics.rst:554 +#: ../misc/object-conditions/basics.rst:591 +#: ../misc/object-conditions/basics.rst:594 +#: ../misc/object-conditions/basics.rst:623 +#: ../misc/object-conditions/basics.rst:626 +#: ../system/core-workflows/condition-operators.rst:184 +#: ../system/core-workflows/condition-operators.rst:187 +#: ../system/core-workflows/condition-operators.rst:190 +#: ../system/core-workflows/condition-operators.rst:193 +#: ../system/core-workflows/condition-operators.rst:196 +#: ../system/core-workflows/condition-operators.rst:224 +#: ../system/core-workflows/condition-operators.rst:227 +#: ../system/core-workflows/condition-operators.rst:233 +#: ../system/core-workflows/condition-operators.rst:236 +#: ../system/core-workflows/condition-operators.rst:276 +#: ../system/core-workflows/condition-operators.rst:279 +#: ../system/core-workflows/condition-operators.rst:282 +#: ../system/core-workflows/condition-operators.rst:316 +#: ../system/core-workflows/condition-operators.rst:319 +#: ../system/core-workflows/condition-operators.rst:322 msgid "yes" msgstr "ja" @@ -11475,6 +11499,23 @@ msgstr "" #: ../manage/groups/settings.rst:66 ../misc/object-conditions/basics.rst:122 #: ../misc/object-conditions/basics.rst:137 +#: ../misc/object-conditions/basics.rst:520 +#: ../misc/object-conditions/basics.rst:523 +#: ../misc/object-conditions/basics.rst:551 +#: ../misc/object-conditions/basics.rst:557 +#: ../misc/object-conditions/basics.rst:585 +#: ../misc/object-conditions/basics.rst:588 +#: ../misc/object-conditions/basics.rst:617 +#: ../misc/object-conditions/basics.rst:620 +#: ../system/core-workflows/condition-operators.rst:199 +#: ../system/core-workflows/condition-operators.rst:230 +#: ../system/core-workflows/condition-operators.rst:239 +#: ../system/core-workflows/condition-operators.rst:267 +#: ../system/core-workflows/condition-operators.rst:270 +#: ../system/core-workflows/condition-operators.rst:273 +#: ../system/core-workflows/condition-operators.rst:307 +#: ../system/core-workflows/condition-operators.rst:310 +#: ../system/core-workflows/condition-operators.rst:313 msgid "no" msgstr "nein" @@ -11991,7 +12032,7 @@ msgstr "" "aktualisieren, neu anordnen oder entfernen." #: ../manage/knowledge-base.rst:136 ../manage/public-links.rst:35 -#: ../manage/time-accounting.rst:147 ../manage/time-accounting.rst:161 +#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 #: ../system/maintenance.rst:31 msgid "Title" msgstr "Titel" @@ -15604,9 +15645,9 @@ msgstr "" "Zammad warnt die Agenten etwa 15 Minuten vor der Eskalation und wenn das " "Ticket schließlich eskaliert. Zusätzlich zu den eingebauten " "Benachrichtigungen wird Zammad die Agenten auch per E-Mail warnen. Dies " -"hängt von der Benachrichtigungskonfiguration Ihrer Agenten ab (die in den " -":user-docs:`Profileinstellungen ` " -"konfiguriert werden kann)." +"hängt von der Benachrichtigungskonfiguration Ihrer Agenten ab (die in " +"den :user-docs:`Profileinstellungen ` konfiguriert werden kann)." #: ../manage/slas.rst:161 msgid "" @@ -16073,17 +16114,21 @@ msgstr "" #: ../manage/time-accounting.rst:22 msgid "" "If a ticket is relevant, Zammad will request the agent to provide the time " -"which was needed to process the current ticket step. In order for Zammad to " -"bring up the time accounting dialog to an agent, the agent has to update the " -"ticket together with an article of any type. The adding of an article is " -"mandatory to invoke the time accounting dialog. However, the time accounting " -"dialog is not mandatory and can be canceled by your agents. You cannot " -"enforce the time accounting. When a ticket is no longer considered for the " -"time accounting, the already accounted time will be preserved." +"which was needed to process the current ticket step. This accounted time is " +"displayed in the ticket sidebar at ticket level and in the article meta " +"information for an individual article. In order for Zammad to bring up the " +"time accounting dialog to an agent, the agent has to update the ticket " +"together with an article of any type. The adding of an article is mandatory " +"to invoke the time accounting dialog. However, the time accounting dialog is " +"not mandatory and can be canceled by your agents. You cannot enforce the " +"time accounting. When a ticket is no longer considered for the time " +"accounting, the already accounted time will be preserved." msgstr "" "Wenn ein Ticket relevant ist, fordert Zammad den Agenten auf, die Zeit " "anzugeben, die für die Bearbeitung des aktuellen Bearbeitungsschritts " -"benötigt wurde. Damit Zammad den Dialog zur Zeiterfassung für einen Agenten " +"benötigt wurde. Diese erfasste Zeit wird in der Ticket-Seitenleiste auf " +"Ticket-Ebene sowie in den Metainformationen eines einzelnen Artikels " +"angezeigt. Damit Zammad den Dialog zur Zeiterfassung für einen Agenten " "aufruft, muss der Agent das Ticket zusammen mit einem Artikel beliebigen " "Typs aktualisieren. Das Hinzufügen eines Artikels ist zwingend erforderlich, " "um den Dialog zur Zeiterfassung aufzurufen. Eine Zeiterfassung ist jedoch " @@ -16092,7 +16137,7 @@ msgstr "" "die Zeiterfassung zu berücksichtigen ist, bleibt die bereits verbuchte Zeit " "erhalten." -#: ../manage/time-accounting.rst:33 +#: ../manage/time-accounting.rst:35 msgid "" "The selector applies to the ticket state before any attribute changes have " "been saved. That means if your agent is e.g. going to close a ticket " @@ -16109,7 +16154,7 @@ msgstr "" msgid "Time Accounting Ticket Selector" msgstr "Ticketauswahl für Zeiterfassung" -#: ../manage/time-accounting.rst:42 +#: ../manage/time-accounting.rst:44 msgid "" "The accounted time is always a unitless number. However, it is possible to " "show a specific unit in the **Unit** section, which provides several options:" @@ -16118,43 +16163,43 @@ msgstr "" "möglich, eine bestimmte **Einheit** im entsprechenden Bereich anzuzeigen, " "der mehrere Optionen bietet:" -#: ../manage/time-accounting.rst:46 +#: ../manage/time-accounting.rst:48 msgid "no unit" msgstr "keine Einheit" -#: ../manage/time-accounting.rst:47 +#: ../manage/time-accounting.rst:49 msgid "Default behavior, no unit is shown next to the time value." msgstr "Standardverhalten, keine Einheit wird neben dem Zeitwert angezeigt." -#: ../manage/time-accounting.rst:48 +#: ../manage/time-accounting.rst:50 msgid "hour(s)" msgstr "Stunde(n)" -#: ../manage/time-accounting.rst:49 +#: ../manage/time-accounting.rst:51 msgid "Shows ``hour(s)`` as the unit next to the time value." msgstr "Zeigt ``Stunde(n)`` als Einheit neben dem Zeitwert an." -#: ../manage/time-accounting.rst:50 +#: ../manage/time-accounting.rst:52 msgid "quarter-hour(s)" msgstr "Viertelstunde(n)" -#: ../manage/time-accounting.rst:51 +#: ../manage/time-accounting.rst:53 msgid "Shows ``quarter-hour(s)`` as the unit next to the time value." msgstr "Zeigt ``Viertelstunde(n)`` als Einheit neben dem Zeitwert an." -#: ../manage/time-accounting.rst:52 +#: ../manage/time-accounting.rst:54 msgid "minute(s)" msgstr "Minute(n)" -#: ../manage/time-accounting.rst:53 +#: ../manage/time-accounting.rst:55 msgid "Shows ``minute(s)`` as the unit next to the time value." msgstr "Zeigt ``Minute(n)`` als Einheit neben dem Zeitwert an." -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "custom unit" msgstr "Eigene Einheit" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "Shows a custom unit that can be specified as free input." msgstr "" "Zeigt eine benutzerdefinierte Einheit an, die als freie Eingabe angegeben " @@ -16164,7 +16209,7 @@ msgstr "" msgid "Time Accounting Unit" msgstr "Zeiterfassungs-Einheit" -#: ../manage/time-accounting.rst:62 +#: ../manage/time-accounting.rst:64 msgid "" "The unit is only displayed to make it easier for agents to account their " "time! No numerical transformation will be applied to the values, not even if " @@ -16180,11 +16225,11 @@ msgstr "" msgid "Time Accounting Unit when Recording" msgstr "Zeiteinheit bei der Zeiterfassung" -#: ../manage/time-accounting.rst:72 +#: ../manage/time-accounting.rst:74 msgid "Activity Types" msgstr "Aktivitäts-Typen" -#: ../manage/time-accounting.rst:74 +#: ../manage/time-accounting.rst:76 msgid "" "**Activity Types** can be used to group the different ticket time accounting " "entries together. For example, entries that are relevant to a \"Billing\" " @@ -16198,7 +16243,7 @@ msgstr "" msgid "Time Accounting Activity Types" msgstr "Zeiterfassung Aktivitäts-Typen" -#: ../manage/time-accounting.rst:81 +#: ../manage/time-accounting.rst:83 msgid "" "When you enable the recording of the **Activity Type**, the agents will be " "able to select a type from this list." @@ -16210,7 +16255,7 @@ msgstr "" msgid "Time Accounting Activity Type Selection for Agents" msgstr "Aktivitätstypen der Zeiterfassung für Agenten" -#: ../manage/time-accounting.rst:88 +#: ../manage/time-accounting.rst:90 msgid "" "Additionally, a column with an associated activity type will be rendered for " "an entry in the **Activity** table under the **Accounted Time** tab." @@ -16218,7 +16263,7 @@ msgstr "" "Zusätzlich wird eine Spalte mit dem erfassten Aktivitäts-Typ für jeden " "Eintrag in der Tabelle **Aktivität** im Tab **Erfasste Zeiten** angezeigt." -#: ../manage/time-accounting.rst:91 +#: ../manage/time-accounting.rst:93 msgid "" "You can manage available activity types in this screen like any other Zammad " "object. Only active types will be available for the selection when recording " @@ -16235,7 +16280,7 @@ msgstr "" msgid "New Time Accounting Activity Type Dialog" msgstr "Dialog Neuer Aktivitäts-Typ in Zeiterfassung" -#: ../manage/time-accounting.rst:100 +#: ../manage/time-accounting.rst:102 msgid "" "Activity types can be set as default, and in that case they will be pre-" "selected for the agents when they are asked to account their time. It is " @@ -16246,11 +16291,11 @@ msgstr "" "Erfassung vorausgewählt. Es ist möglich, den Standard-Typ zu deaktivieren. " "In diesem Fall wird keine Vorauswahl bei der Zeiterfassung getroffen." -#: ../manage/time-accounting.rst:106 +#: ../manage/time-accounting.rst:108 msgid "Accounted Time" msgstr "Erfasste Zeit" -#: ../manage/time-accounting.rst:108 +#: ../manage/time-accounting.rst:110 msgid "" "Under the **Accounted Time** tab, Zammad provides a section for reviewing " "all accounted times for your tickets. Accounted times are displayed per " @@ -16260,7 +16305,7 @@ msgstr "" "dem Sie alle erfassten Zeiten für Ihre Tickets einsehen können. Die " "erfassten Zeiten werden nach Jahren und Monaten gruppiert angezeigt." -#: ../manage/time-accounting.rst:112 +#: ../manage/time-accounting.rst:114 msgid "" "If you have tickets that are overlapping several months, you can " "differentiate by *time units* and *time units total* (e.g. to allow partial " @@ -16270,11 +16315,11 @@ msgstr "" "in der heruntergeladenen Datei nach *time unit* und *time units total* " "differenzieren (z.B. um eine Teilabrechnung zu ermöglichen)." -#: ../manage/time-accounting.rst:123 +#: ../manage/time-accounting.rst:125 msgid "Select the right month" msgstr "Wählen Sie den richtigen Monat" -#: ../manage/time-accounting.rst:117 +#: ../manage/time-accounting.rst:119 msgid "" "Usually you want to bill accounted time of other months than the current " "one. Just select the relevant year and month to receive the accounted times " @@ -16291,11 +16336,11 @@ msgstr "" "Screenshot mit einer Auswahl für Jahr und Monat in der Zeiterfassungs-" "Übersicht" -#: ../manage/time-accounting.rst:186 +#: ../manage/time-accounting.rst:188 msgid "Tickets and their accounted time" msgstr "Tickets und deren erfasste Zeit" -#: ../manage/time-accounting.rst:126 +#: ../manage/time-accounting.rst:128 msgid "" "Zammad allows you to receive the accounted information just like you need " "them. For this you currently have four options to review and also download " @@ -16305,7 +16350,7 @@ msgstr "" "benötigen. Sie können die Zeiten in vier Kategorien als CSV-Datei " "herunterladen." -#: ../manage/time-accounting.rst:130 +#: ../manage/time-accounting.rst:132 msgid "" "To download the CSV data, use the download button right next to each heading " "(e.g. \"Ticket\")." @@ -16313,11 +16358,11 @@ msgstr "" "Um die CSV-Daten herunterzuladen, verwenden Sie die Download-Schaltfläche " "direkt neben der jeweiligen Überschrift (z.B. \"Ticket\")." -#: ../manage/time-accounting.rst:133 +#: ../manage/time-accounting.rst:135 msgid "This can also be automated with API calls." msgstr "Dies kann auch durch API-Aufrufe automatisiert werden." -#: ../manage/time-accounting.rst:136 +#: ../manage/time-accounting.rst:138 msgid "" "Only the first 20 entries are shown for each table. To see all of them, " "simply download the records in CSV." @@ -16325,11 +16370,11 @@ msgstr "" "In jeder Tabelle werden nur die ersten 20 Einträge angezeigt. Um alle " "Einträge zu sehen, laden Sie sich die Datensätze im CSV-Format herunter." -#: ../manage/time-accounting.rst:153 +#: ../manage/time-accounting.rst:155 msgid "Activity" msgstr "Aktivität" -#: ../manage/time-accounting.rst:140 +#: ../manage/time-accounting.rst:142 msgid "" "This filter works similar to the ticket filter, with one exception: You'll " "find each *individual* time accounting step of your agents. This is what " @@ -16339,47 +16384,47 @@ msgstr "" "Sie finden hier jede *einzelne* Zeiterfassungsposition Ihrer Bearbeiter. Das " "ist das, was Sie auch in der Ticket-Historie vor Zammad 5.2 sehen konnten." -#: ../manage/time-accounting.rst:144 ../manage/time-accounting.rst:158 -#: ../manage/time-accounting.rst:175 +#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:177 msgid "In this list you'll see the following ticket information:" msgstr "In dieser Liste finden Sie die folgenden Ticketinformationen:" -#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 #: ../settings/ticket.rst:103 msgid "Number" msgstr "Nummer" -#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 -#: ../manage/time-accounting.rst:179 ../manage/time-accounting.rst:177 +#: ../manage/time-accounting.rst:150 ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:181 ../manage/time-accounting.rst:179 #: ../misc/object-conditions/basics.rst:37 #: ../misc/object-conditions/basics.rst:89 #: ../misc/object-conditions/basics.rst:171 msgid "Customer" msgstr "Kunde" -#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 -#: ../manage/time-accounting.rst:178 +#: ../manage/time-accounting.rst:151 ../manage/time-accounting.rst:165 +#: ../manage/time-accounting.rst:180 msgid "Organization of customer (if applicable)" msgstr "Organisation des Kunden (falls zutreffend)" -#: ../manage/time-accounting.rst:150 +#: ../manage/time-accounting.rst:152 msgid "Agent that accounted the time" msgstr "Agent, der Zeit erfasst hat" -#: ../manage/time-accounting.rst:151 +#: ../manage/time-accounting.rst:153 msgid "Time units accounted in the current activity" msgstr "In der Aktivität verbuchte Zeiteinheiten" -#: ../manage/time-accounting.rst:152 +#: ../manage/time-accounting.rst:154 msgid "Activity type (if enabled)" msgstr "Aktivitäts-Typ (falls aktiviert)" -#: ../manage/time-accounting.rst:153 ../manage/time-accounting.rst:167 +#: ../manage/time-accounting.rst:155 ../manage/time-accounting.rst:169 #: ../system/audit-logs.rst:76 msgid "Created at" msgstr "Erstellt am" -#: ../manage/time-accounting.rst:168 ../misc/object-conditions/basics.rst:26 +#: ../manage/time-accounting.rst:170 ../misc/object-conditions/basics.rst:26 #: ../misc/object-conditions/basics.rst:90 #: ../misc/object-conditions/basics.rst:126 #: ../misc/object-conditions/basics.rst:139 @@ -16395,28 +16440,28 @@ msgstr "Erstellt am" msgid "Ticket" msgstr "Ticket" -#: ../manage/time-accounting.rst:156 +#: ../manage/time-accounting.rst:158 msgid "This filter contains all relevant tickets from the selected month." msgstr "" "Dieser Filter enthält alle relevanten Tickets aus dem ausgewählten Monat." -#: ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:166 msgid "Agent currently assigned (ticket owner)" msgstr "Derzeit zugewiesener Agent (Besitzer)" -#: ../manage/time-accounting.rst:165 ../manage/time-accounting.rst:179 +#: ../manage/time-accounting.rst:167 ../manage/time-accounting.rst:181 msgid "Time units accounted in the current month" msgstr "Im laufenden Monat verbuchte Zeiteinheiten" -#: ../manage/time-accounting.rst:166 +#: ../manage/time-accounting.rst:168 msgid "Time units total (time accounted during ticket life)" msgstr "Zeiteinheiten insgesamt (während der Ticketlaufzeit verbuchte Zeit)" -#: ../manage/time-accounting.rst:168 +#: ../manage/time-accounting.rst:170 msgid "Closed at (if applicable)" msgstr "Geschlossen am (falls zutreffend)" -#: ../manage/time-accounting.rst:171 +#: ../manage/time-accounting.rst:173 msgid "" "This provides you a per user filter on accounted time units. Each user has a " "total of time accounted in the current month (over all applicable tickets)." @@ -16425,13 +16470,13 @@ msgstr "" "Benutzer. Jeder Benutzer hat eine Gesamtzeit, die im aktuellen Monat " "verbucht wurde (aus allen Tickets)." -#: ../manage/time-accounting.rst:186 ../misc/object-conditions/basics.rst:28 +#: ../manage/time-accounting.rst:188 ../misc/object-conditions/basics.rst:28 #: ../misc/object-conditions/basics.rst:115 #: ../misc/object-conditions/basics.rst:146 ../settings/branding.rst:16 msgid "Organization" msgstr "Organisation" -#: ../manage/time-accounting.rst:182 +#: ../manage/time-accounting.rst:184 msgid "" "This provides a list of all organizations where customers have caused " "accounted time in that month." @@ -16439,7 +16484,7 @@ msgstr "" "Hier finden Sie eine Liste aller Organisationen, bei denen Kunden in diesem " "Monat eine Zeiterfassung verursacht haben." -#: ../manage/time-accounting.rst:185 +#: ../manage/time-accounting.rst:187 msgid "" "You can also see entries for customers that are part of a primary " "organization. Users without an organization can be found in the Customer " @@ -20454,7 +20499,7 @@ msgstr "Nur in Triggern verfügbar." #: ../misc/object-conditions/basics.rst:185 #: ../misc/object-conditions/basics.rst:209 #: ../misc/object-conditions/basics.rst:219 -#: ../system/core-workflows/condition-operators.rst:50 +#: ../system/core-workflows/condition-operators.rst:64 msgid "is" msgstr "ist" @@ -20471,7 +20516,7 @@ msgstr "ist" #: ../misc/object-conditions/basics.rst:186 #: ../misc/object-conditions/basics.rst:210 #: ../misc/object-conditions/basics.rst:220 -#: ../system/core-workflows/condition-operators.rst:72 +#: ../system/core-workflows/condition-operators.rst:86 msgid "is not" msgstr "ist nicht" @@ -20542,7 +20587,7 @@ msgstr "spezifischer Benutzer" #: ../misc/object-conditions/basics.rst:97 #: ../misc/object-conditions/basics.rst:155 #: ../misc/object-conditions/basics.rst:204 -#: ../system/core-workflows/condition-operators.rst:86 +#: ../system/core-workflows/condition-operators.rst:100 msgid "not set" msgstr "ist nicht gesetzt" @@ -20700,22 +20745,58 @@ msgid "Checks tags of a ticket." msgstr "Prüft die Tags eines Tickets." #: ../misc/object-conditions/basics.rst:193 -#: ../system/core-workflows/condition-operators.rst:32 +#: ../misc/object-conditions/basics.rst:516 +#: ../misc/object-conditions/basics.rst:550 +#: ../misc/object-conditions/basics.rst:587 +#: ../misc/object-conditions/basics.rst:619 +#: ../system/core-workflows/condition-operators.rst:38 +#: ../system/core-workflows/condition-operators.rst:150 +#: ../system/core-workflows/condition-operators.rst:189 +#: ../system/core-workflows/condition-operators.rst:229 +#: ../system/core-workflows/condition-operators.rst:272 +#: ../system/core-workflows/condition-operators.rst:312 msgid "contains all" msgstr "enthält alle" #: ../misc/object-conditions/basics.rst:194 -#: ../system/core-workflows/condition-operators.rst:38 +#: ../misc/object-conditions/basics.rst:513 +#: ../misc/object-conditions/basics.rst:547 +#: ../misc/object-conditions/basics.rst:584 +#: ../misc/object-conditions/basics.rst:616 +#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:147 +#: ../system/core-workflows/condition-operators.rst:186 +#: ../system/core-workflows/condition-operators.rst:226 +#: ../system/core-workflows/condition-operators.rst:269 +#: ../system/core-workflows/condition-operators.rst:309 msgid "contains one" msgstr "enthält eins" #: ../misc/object-conditions/basics.rst:195 -#: ../system/core-workflows/condition-operators.rst:34 +#: ../misc/object-conditions/basics.rst:519 +#: ../misc/object-conditions/basics.rst:553 +#: ../misc/object-conditions/basics.rst:590 +#: ../misc/object-conditions/basics.rst:622 +#: ../system/core-workflows/condition-operators.rst:41 +#: ../system/core-workflows/condition-operators.rst:160 +#: ../system/core-workflows/condition-operators.rst:198 +#: ../system/core-workflows/condition-operators.rst:238 +#: ../system/core-workflows/condition-operators.rst:281 +#: ../system/core-workflows/condition-operators.rst:321 msgid "contains all not" msgstr "enthält alle nicht" #: ../misc/object-conditions/basics.rst:196 -#: ../system/core-workflows/condition-operators.rst:40 +#: ../misc/object-conditions/basics.rst:522 +#: ../misc/object-conditions/basics.rst:556 +#: ../misc/object-conditions/basics.rst:593 +#: ../misc/object-conditions/basics.rst:625 +#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:157 +#: ../system/core-workflows/condition-operators.rst:195 +#: ../system/core-workflows/condition-operators.rst:235 +#: ../system/core-workflows/condition-operators.rst:278 +#: ../system/core-workflows/condition-operators.rst:318 msgid "contains one not" msgstr "enthält eins nicht" @@ -20736,7 +20817,7 @@ msgid "Checks if time is accounted." msgstr "Prüft, ob Zeit erfasst ist." #: ../misc/object-conditions/basics.rst:203 -#: ../system/core-workflows/condition-operators.rst:74 +#: ../system/core-workflows/condition-operators.rst:88 msgid "is set" msgstr "ist gesetzt" @@ -20797,8 +20878,8 @@ msgstr "" #: ../misc/object-conditions/basics.rst:334 #: ../misc/object-conditions/basics.rst:381 #: ../misc/object-conditions/basics.rst:392 -#: ../misc/object-conditions/basics.rst:410 #: ../misc/object-conditions/basics.rst:421 +#: ../misc/object-conditions/basics.rst:432 msgid "Available operators for matching:" msgstr "Verfügbare Operatoren für die Prüfung:" @@ -20892,7 +20973,7 @@ msgstr "**enthält nicht**" #: ../misc/object-conditions/basics.rst:269 #: ../misc/object-conditions/basics.rst:284 #: ../misc/object-conditions/basics.rst:385 -#: ../misc/object-conditions/basics.rst:414 +#: ../misc/object-conditions/basics.rst:425 msgid "**has changed**" msgstr "**wurde verändert**" @@ -20907,14 +20988,14 @@ msgstr "Prüft, ob ein Feld vom Typ Boolean wahr ist." #: ../misc/object-conditions/basics.rst:267 #: ../misc/object-conditions/basics.rst:278 #: ../misc/object-conditions/basics.rst:383 -#: ../misc/object-conditions/basics.rst:412 +#: ../misc/object-conditions/basics.rst:423 msgid "**is**" msgstr "**ist**" #: ../misc/object-conditions/basics.rst:268 #: ../misc/object-conditions/basics.rst:279 #: ../misc/object-conditions/basics.rst:384 -#: ../misc/object-conditions/basics.rst:413 +#: ../misc/object-conditions/basics.rst:424 msgid "**is not**" msgstr "**ist nicht**" @@ -21219,38 +21300,65 @@ msgid "**contains all**:" msgstr "**enthält alle**:" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are selected." -msgstr "Trifft zu, wenn alle angegebenen Feldwerte vorhanden sind." +msgid "Matches if **all** given field values are selected (AND logic)." +msgstr "" +"Trifft zu, wenn **alle** angegebenen Feldwerte vorhanden sind (AND-Logik)." #: ../misc/object-conditions/basics.rst:0 msgid "**contains one**:" msgstr "**enthält eins**:" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is selected." -msgstr "Trifft zu, wenn ein bestimmter Feldwert vorhanden ist." +msgid "" +"Matches if **at least one** of the given field values is selected (OR logic)." +msgstr "" +"Trifft zu, wenn **mindestens einer** der angegebenen Werte vorhanden ist (OR-" +"Logik)." #: ../misc/object-conditions/basics.rst:0 msgid "**contains all not**:" msgstr "**enthält alle nicht**:" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are not selected." -msgstr "Trifft zu, wenn alle angegebenen Feldwerte nicht vorhanden sind." +msgid "" +"Matches if **not all** given field values are selected (at least one is " +"missing). This means \"not all of\", not \"none of\"." +msgstr "" +"Trifft zu, wenn **nicht alle** Werte für die angegebenen Felder vorhanden " +"sind (mindestens einer fehlt). Dies bedeutet \"nicht alle\", nicht \"keiner " +"von\"." #: ../misc/object-conditions/basics.rst:0 msgid "**contains one not**:" msgstr "**enthält eins nicht**:" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is not selected." -msgstr "Trifft zu, wenn ein bestimmter Feldwert nicht vorhanden ist." +msgid "" +"Matches if **none** of the given field values are selected. This means " +"\"none of\", not \"not all of\"." +msgstr "" +"Trifft zu, wenn **keiner** der angegebenen Feldwerte vorhanden ist. Dies " +"bedeutet \"keiner von\", nicht \"nicht alle von\"." + +#: ../misc/object-conditions/basics.rst:408 +msgid "" +"In :doc:`core workflows `, these operators have " +"different semantics. See :ref:`core workflow condition operators ` for details. Example scenarios for the " +"operators described here can be found in :ref:`multi-select-operator-" +"examples` below." +msgstr "" +"Für :doc:`Core Workflows ` funktionieren diese " +"Operatoren teilweise anders. Weitere Informationen finden Sie in den " +":ref:`Core Workflow Operator-Beispielen ` " +". Beispielszenarien für die hier beschriebenen Operatoren finden Sie unter " +":ref:`multi-select-operator-examples` weiter unten." -#: ../misc/object-conditions/basics.rst:405 ../system/objects/types.rst:135 +#: ../misc/object-conditions/basics.rst:416 ../system/objects/types.rst:135 msgid "Single Tree Selection Field" msgstr "Einfach-Baumauswahl-Feld" -#: ../misc/object-conditions/basics.rst:407 +#: ../misc/object-conditions/basics.rst:418 msgid "" "Checks if a selected field value match the attribute value. Selecting more " "than one value in the condition will act like an \"OR\" clause." @@ -21259,11 +21367,11 @@ msgstr "" "Auswahl von mehr als einem Wert in der Bedingung wirkt wie eine \"ODER\"-" "Verknüpfung." -#: ../misc/object-conditions/basics.rst:417 ../system/objects/types.rst:148 +#: ../misc/object-conditions/basics.rst:428 ../system/objects/types.rst:148 msgid "Multiple Tree Selection Field" msgstr "Mehrfach-Baumauswahl-Feld" -#: ../misc/object-conditions/basics.rst:419 +#: ../misc/object-conditions/basics.rst:430 msgid "Checks if selected field value(s) match the attribute value(s)." msgstr "" "Prüft, ob der/die ausgewählte(n) Feldwert(e) mit dem/den Attributwert(en) " @@ -21285,23 +21393,23 @@ msgstr "**enthält alle nicht**" msgid "**contains one not**" msgstr "**enthält eins nicht**" -#: ../misc/object-conditions/basics.rst:433 +#: ../misc/object-conditions/basics.rst:447 msgid "Additional Information and Remarks" msgstr "Zusätzliche Informationen und Bemerkungen" -#: ../misc/object-conditions/basics.rst:442 +#: ../misc/object-conditions/basics.rst:456 msgid "Ticket context conditions do not support:" msgstr "Bedingungen im Ticket-Kontext unterstützen nicht:" -#: ../misc/object-conditions/basics.rst:439 +#: ../misc/object-conditions/basics.rst:453 msgid "regular expressions" msgstr "reguläre Ausdrücke" -#: ../misc/object-conditions/basics.rst:440 +#: ../misc/object-conditions/basics.rst:454 msgid "case sensitive string conditions" msgstr "Groß- und Kleinschreibung bei Zeichenketten" -#: ../misc/object-conditions/basics.rst:441 +#: ../misc/object-conditions/basics.rst:455 msgid "" "Basic conditions do not support the same attribute to be selected more than " "once" @@ -21309,36 +21417,36 @@ msgstr "" "Die Standard-Bedingungen erlauben es nicht, dass dasselbe Attribut mehrmals " "ausgewählt werden kann" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "**has changed** conditions:" msgstr "**wurde verändert** Bedingungen:" -#: ../misc/object-conditions/basics.rst:445 +#: ../misc/object-conditions/basics.rst:459 msgid "Are only available for ticket attributes and don't affect:" msgstr "" "Sind nur für Ticket-Attribute verfügbar und haben keine Auswirkung auf:" -#: ../misc/object-conditions/basics.rst:447 +#: ../misc/object-conditions/basics.rst:461 msgid "Ticket articles attributes" msgstr "Ticket Artikel-Attribute" -#: ../misc/object-conditions/basics.rst:448 +#: ../misc/object-conditions/basics.rst:462 msgid "Organization attributes" msgstr "Organisationsattribute" -#: ../misc/object-conditions/basics.rst:449 +#: ../misc/object-conditions/basics.rst:463 msgid "User attributes" msgstr "Benutzerattribute" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "Group attributes" msgstr "Gruppenattribute" -#: ../misc/object-conditions/basics.rst:463 +#: ../misc/object-conditions/basics.rst:477 msgid "Differences in input fields:" msgstr "Unterschiede in den Eingabefeldern:" -#: ../misc/object-conditions/basics.rst:453 +#: ../misc/object-conditions/basics.rst:467 msgid "" "Please note that the input field for tokens doesn't support the comma as " "separator (as in the input field for tags). If you use the comma in the " @@ -21348,7 +21456,7 @@ msgstr "" "nicht unterstützt (wie im Eingabefeld für Tags). Wenn Sie das Komma im Token-" "Eingabefeld verwenden, ist das Komma in Ihrem Token enthalten." -#: ../misc/object-conditions/basics.rst:457 +#: ../misc/object-conditions/basics.rst:471 msgid "**Example**:" msgstr "**Beispiel**:" @@ -21356,7 +21464,7 @@ msgstr "**Beispiel**:" msgid "Example of comma usage in token input field" msgstr "Beispiel für die Verwendung eines Kommas im Token-Eingabefeld" -#: ../misc/object-conditions/basics.rst:462 +#: ../misc/object-conditions/basics.rst:476 msgid "" "``A`` added with enter/tab, ``B`` and ``C`` separated with comma (resulting " "in one token)." @@ -21364,15 +21472,276 @@ msgstr "" "``A`` mit Enter/Tab hinzugefügt, ``B`` und ``C`` mit Komma getrennt (ergibt " "ein Token/Wort)." -#: ../misc/object-conditions/basics.rst:468 +#: ../misc/object-conditions/basics.rst:482 +msgid "Multi-Select Operator Examples" +msgstr "Beispiele für Mehrfachauswahl-Operatoren" + +#: ../misc/object-conditions/basics.rst:484 +msgid "" +"The ``contains`` family of operators for multi-select fields compares two " +"sets of values: the values currently in the field and the values specified " +"in the condition. The diagrams below show the condition values as an orange " +"circle and the field values as a blue circle." +msgstr "" +"Die Operatorfamilie ``enthält`` für Felder mit Mehrfachauswahl vergleicht " +"zwei Wertemengen: die derzeit im Feld enthaltenen Werte und die in der " +"Bedingung angegebenen Werte. In den folgenden Diagrammen sind die " +"Bedingungswerte als orangefarbene Kreise und die Feldwerte als blaue Kreise " +"dargestellt." + +#: ../misc/object-conditions/basics.rst:489 +msgid "" +"Be aware that these operators behave **differently** in :doc:`core workflows " +"`. See :ref:`core workflow condition operators ` for a side by side comparison." +msgstr "" +"Bitte beachten Sie, dass sich diese Operatoren **anders** verhalten als in " +":doc:`Core Workflows `. Einen direkten Vergleich " +"finden Sie unter :ref:`Core Workflow Bedingungs-Operatoren `." + +#: ../misc/object-conditions/basics.rst:495 +#: ../system/core-workflows/condition-operators.rst:165 +msgid "Example 1: Condition A, B - Field A, B, C" +msgstr "Beispiel 1: Bedingung A, B – Feld A, B, C" + +#: ../misc/object-conditions/basics.rst:497 +#: ../system/core-workflows/condition-operators.rst:167 +msgid "" +"In this scenario, the field holds the values A, B and C, while the condition " +"asks for the values A and B." +msgstr "" +"In diesem Szenario enthält das Feld die Werte A, B und C, während die " +"Bedingung die Werte A und B abfragt." + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "" +"Venn diagram of condition values A, B and field values A, B, C. A and B are " +"in both circles, C only in the field circle." +msgstr "" +"Venn-Diagramm der Bedingungswerte A, B und der Feldwerte A, B, C. A und B " +"befinden sich in beiden Kreisen, C nur im Feld-Kreis." + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "Condition values ``A, B`` overlap with field values ``A, B, C``." +msgstr "" +"Die Bedingungswerte ``A, B`` überschneiden sich mit den Feldwerten ``A, B, " +"C``." + +#: ../misc/object-conditions/basics.rst:510 +#: ../misc/object-conditions/basics.rst:544 +#: ../misc/object-conditions/basics.rst:581 +#: ../misc/object-conditions/basics.rst:613 +#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:141 +#: ../system/core-workflows/condition-operators.rst:180 +#: ../system/core-workflows/condition-operators.rst:220 +#: ../system/core-workflows/condition-operators.rst:263 +#: ../system/core-workflows/condition-operators.rst:303 +msgid "Operator" +msgstr "Operator" + +#: ../misc/object-conditions/basics.rst:511 +#: ../misc/object-conditions/basics.rst:545 +#: ../misc/object-conditions/basics.rst:582 +#: ../misc/object-conditions/basics.rst:614 +#: ../system/core-workflows/condition-operators.rst:181 +#: ../system/core-workflows/condition-operators.rst:221 +#: ../system/core-workflows/condition-operators.rst:264 +#: ../system/core-workflows/condition-operators.rst:304 +msgid "Matches?" +msgstr "Treffer" + +#: ../misc/object-conditions/basics.rst:512 +#: ../misc/object-conditions/basics.rst:546 +#: ../misc/object-conditions/basics.rst:583 +#: ../misc/object-conditions/basics.rst:615 +#: ../system/core-workflows/condition-operators.rst:182 +#: ../system/core-workflows/condition-operators.rst:222 +#: ../system/core-workflows/condition-operators.rst:265 +#: ../system/core-workflows/condition-operators.rst:305 +msgid "Why" +msgstr "Warum" + +#: ../misc/object-conditions/basics.rst:515 +#: ../system/core-workflows/condition-operators.rst:185 +msgid "``A`` and ``B`` are in both sets (OR logic)." +msgstr "``A`` und ``B`` gehören zu beiden Mengen (OR-Logik)." + +#: ../misc/object-conditions/basics.rst:518 +#: ../system/core-workflows/condition-operators.rst:191 +msgid "Both ``A`` and ``B`` are present (AND logic)." +msgstr "Sowohl ``A`` als auch ``B`` sind vorhanden (AND-Logik)." + +#: ../misc/object-conditions/basics.rst:521 +msgid "All condition values are present in the field." +msgstr "Alle Bedingungswerte sind im Feld vorhanden." + +#: ../misc/object-conditions/basics.rst:524 +msgid "The field has values in common with the condition." +msgstr "Das Feld weist gemeinsame Werte mit der Bedingung auf." + +#: ../misc/object-conditions/basics.rst:527 +#: ../system/core-workflows/condition-operators.rst:203 +msgid "Example 2: Condition A, B, C - Field C, D" +msgstr "Beispiel 2: Bedingung A, B, C – Feld C, D" + +#: ../misc/object-conditions/basics.rst:529 +#: ../system/core-workflows/condition-operators.rst:205 +msgid "" +"In this scenario, the field holds the values C and D. The condition value C " +"is present in the field, while A and B are not." +msgstr "" +"In diesem Szenario enthält das Feld die Werte C und D. Der Bedingungswert C " +"ist im Feld vorhanden, während A und B nicht vorhanden sind." + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Venn diagram of condition values A, B, C and field values C, D.\n" +"Only C is in both circles." +msgstr "" +"Venn-Diagramm der Bedingungswerte A, B, C und der Feldwerte C, D.\n" +"Nur C befindet sich in beiden Kreisen." + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Condition values ``A, B, C`` partially overlap with field values ``C, D``." +msgstr "" +"Die Bedingungswerte ``A, B, C`` überschneiden sich teilweise mit den " +"Feldwerten ``C, D``." + +#: ../misc/object-conditions/basics.rst:549 +#: ../system/core-workflows/condition-operators.rst:225 +msgid "``C`` is in both sets (OR logic)." +msgstr "``C`` gehört zu beiden Mengen (OR-Logik)." + +#: ../misc/object-conditions/basics.rst:552 +#: ../system/core-workflows/condition-operators.rst:231 +msgid "Only ``C`` of the three condition values is present." +msgstr "Nur ``C`` aus den drei Bedingungswerten ist vorhanden." + +#: ../misc/object-conditions/basics.rst:555 +#: ../misc/object-conditions/basics.rst:592 +msgid "``A`` and ``B`` are missing from the field." +msgstr "``A`` und ``B`` fehlen in dem Feld." + +#: ../misc/object-conditions/basics.rst:558 +msgid "``C`` is in both the field and the condition." +msgstr "``C`` kommt sowohl im Feld als auch in der Bedingung vor." + +#: ../misc/object-conditions/basics.rst:560 +msgid "" +"This partial overlap is where the two \"not\" operators part ways: " +"``contains all not`` matches because a single condition value is missing, " +"while ``contains one not`` does not match because the one common value is " +"enough to block it." +msgstr "" +"An dieser teilweisen Überschneidung unterscheiden sich die beiden \"nicht\"-" +"Operatoren: ``enthält alle nicht`` ergibt eine Übereinstimmung, da ein " +"einzelner Bedingungswert fehlt, während ``enthält eins nicht`` keine " +"Übereinstimmung ergibt, da der eine gemeinsame Wert ausreicht, um die " +"Übereinstimmung zu verhindern." + +#: ../misc/object-conditions/basics.rst:566 +#: ../system/core-workflows/condition-operators.rst:248 +msgid "Example 3: Condition A, B - Field C, D" +msgstr "Beispiel 3: Bedingung A, B – Feld C, D" + +#: ../misc/object-conditions/basics.rst:568 +#: ../system/core-workflows/condition-operators.rst:250 +msgid "" +"In this scenario, the field holds the values C and D, which have nothing in " +"common with the condition values A and B." +msgstr "" +"In diesem Szenario enthält das Feld die Werte C und D, die sich nicht mit " +"den Bedingungswerten A und B überschneiden." + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "" +"Venn diagram of condition values A, B and field values C, D. The two circles " +"do not overlap." +msgstr "" +"Venn-Diagramm der Bedingungswerte A, B und der Feldwerte C, D. Die beiden " +"Kreise überschneiden sich nicht." + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "Condition values ``A, B`` have no overlap with field values ``C, D``." +msgstr "" +"Die Bedingungswerte ``A, B`` überschneiden sich nicht mit den Feldwerten " +"``C, D``." + +#: ../misc/object-conditions/basics.rst:586 +#: ../system/core-workflows/condition-operators.rst:268 +msgid "No value is in both sets." +msgstr "Kein Wert ist in beiden Mengen enthalten." + +#: ../misc/object-conditions/basics.rst:589 +#: ../system/core-workflows/condition-operators.rst:274 +msgid "Neither ``A`` nor ``B`` is present." +msgstr "Weder ``A`` noch ``B`` ist vorhanden." + +#: ../misc/object-conditions/basics.rst:595 +#: ../misc/object-conditions/basics.rst:627 +#: ../system/core-workflows/condition-operators.rst:159 +#: ../system/core-workflows/condition-operators.rst:161 +#: ../system/core-workflows/condition-operators.rst:283 +msgid "The field has no value in common with the condition." +msgstr "Das Feld weist keinen gemeinsamen Wert mit der Bedingung auf." + +#: ../misc/object-conditions/basics.rst:598 +#: ../system/core-workflows/condition-operators.rst:288 +msgid "Example 4: Condition A, B - Field is empty" +msgstr "Beispiel 4: Bedingung A, B – Feld ist leer" + +#: ../misc/object-conditions/basics.rst:600 +#: ../system/core-workflows/condition-operators.rst:290 +msgid "" +"In this scenario, the field holds no values at all, while the condition asks " +"for the values A and B." +msgstr "" +"In diesem Szenario enthält das Feld überhaupt keine Werte, während die " +"Bedingung die Werte A und B abfragt." + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "" +"Venn diagram of condition values A, B and an empty field. The two circles do " +"not overlap." +msgstr "" +"Venn-Diagramm der Bedingungswerte A, B und eines leeren Feldes. Die beiden " +"Kreise überschneiden sich nicht." + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "The field holds no values at all." +msgstr "Das Feld enthält überhaupt keine Werte." + +#: ../misc/object-conditions/basics.rst:618 +#: ../misc/object-conditions/basics.rst:621 +#: ../system/core-workflows/condition-operators.rst:308 +#: ../system/core-workflows/condition-operators.rst:314 +msgid "No value is present." +msgstr "Es ist kein Wert vorhanden." + +#: ../misc/object-conditions/basics.rst:624 +msgid "No condition value is present in the field." +msgstr "Kein Wert aus der Bedingung ist im Feld vorhanden." + +#: ../misc/object-conditions/basics.rst:632 msgid "Regex" msgstr "Regex" -#: ../misc/object-conditions/basics.rst:473 +#: ../misc/object-conditions/basics.rst:637 msgid "Regex support" msgstr "Regex-Unterstützung" -#: ../misc/object-conditions/basics.rst:471 +#: ../misc/object-conditions/basics.rst:635 msgid "" "**matches regex** and **does not match regex** are supported only in " "Triggers, Time Accounting selector, Postmaster Filters, Automatic ticket " @@ -21382,11 +21751,11 @@ msgstr "" "der Auswahl für die Zeiterfassung, Email-Filtern, automatischer Ticket-" "Zuweisung und Core Workflows unterstützt." -#: ../misc/object-conditions/basics.rst:478 +#: ../misc/object-conditions/basics.rst:642 msgid "\"Old\" style ``regex:...`` conditions" msgstr "\"Alte\" ``regex:...`` Bedingungen" -#: ../misc/object-conditions/basics.rst:476 +#: ../misc/object-conditions/basics.rst:640 msgid "" "If you update your Zammad from 6.0 or prior and you have already conditions " "with **contains** or **contains not** including a regex filter (i.e. " @@ -27802,8 +28171,8 @@ msgid "" msgstr "" "Oder Sie geben Ihre S3-Konfiguration als URL an (die Sie am Ende der Datei " "finden). Hinweis: Sie können diese URL auch als Umgebungsvariable angeben " -"(:docs:`siehe System Dokumentation `) " -", ohne diese yml-Datei zu verwenden." +"(:docs:`siehe System Dokumentation `) , ohne diese yml-Datei zu verwenden." #: ../settings/system/storage.rst:56 msgid "" @@ -28866,13 +29235,13 @@ msgstr "" #: ../system/core-workflows/condition-operators.rst:8 msgid "" -"Due to differences to other places in Zammad which are also using conditions " -"(e.g. triggers), you can find a dedicated description of operators for core " -"workflows below." +"Due to differences from other places in Zammad which are also using " +"conditions (e.g. triggers), you can find a dedicated description of " +"operators for core workflows below." msgstr "" -"Aufgrund von Unterschieden zu anderen Bereichen in Zammad, die ebenfalls " -"Bedingungen verwenden (z.B. Trigger) , finden Sie weiter unten eine " -"Beschreibung der Operatoren speziell für Core-Workflows." +"Aufgrund von Unterschieden zu anderen Bereichen in Zammad, in denen " +"ebenfalls Bedingungen (z.B. Trigger) verwendet werden, finden Sie im " +"Folgenden eine spezielle Beschreibung der Operatoren für Core Workflows." #: ../system/core-workflows/condition-operators.rst:12 msgid "" @@ -28885,205 +29254,245 @@ msgstr "" "möglicherweise nur für Systemattribute verfügbar (z.B. für \"Tags\", " "\"Aktiv\")." -#: ../system/core-workflows/condition-operators.rst:20 -msgid "Operator" -msgstr "Operator" - -#: ../system/core-workflows/condition-operators.rst:22 +#: ../system/core-workflows/condition-operators.rst:23 msgid "after (absolute)" msgstr "nach (absolut)" -#: ../system/core-workflows/condition-operators.rst:23 +#: ../system/core-workflows/condition-operators.rst:24 msgid "Matches if a date/time is after a specific point in time." msgstr "" "Trifft zu, wenn ein Datum/Uhrzeit nach einem definierten Zeitpunkt liegt." -#: ../system/core-workflows/condition-operators.rst:24 +#: ../system/core-workflows/condition-operators.rst:25 msgid "after (relative)" msgstr "nach (relativ)" -#: ../system/core-workflows/condition-operators.rst:25 +#: ../system/core-workflows/condition-operators.rst:26 msgid "Matches if a time span after a specified event has passed." msgstr "" "Trifft zu, wenn eine Zeitspanne nach einem bestimmten Ereignis vergangen ist." -#: ../system/core-workflows/condition-operators.rst:26 +#: ../system/core-workflows/condition-operators.rst:27 msgid "before (absolute)" msgstr "vor (absolut)" -#: ../system/core-workflows/condition-operators.rst:27 +#: ../system/core-workflows/condition-operators.rst:28 msgid "Matches if a date/time is before a specific point in time." msgstr "" "Trifft zu, wenn ein Datum/Uhrzeit vor einem definierten Zeitpunkt liegt." -#: ../system/core-workflows/condition-operators.rst:28 +#: ../system/core-workflows/condition-operators.rst:29 msgid "before (relative)" msgstr "vor (relativ)" -#: ../system/core-workflows/condition-operators.rst:29 +#: ../system/core-workflows/condition-operators.rst:30 msgid "Matches if a time span after a specified event has not passed." msgstr "Trifft zu während einer definierten Zeitspanne nach einem Ereignis." -#: ../system/core-workflows/condition-operators.rst:30 +#: ../system/core-workflows/condition-operators.rst:31 +#: ../system/core-workflows/condition-operators.rst:144 +#: ../system/core-workflows/condition-operators.rst:183 +#: ../system/core-workflows/condition-operators.rst:223 +#: ../system/core-workflows/condition-operators.rst:266 +#: ../system/core-workflows/condition-operators.rst:306 msgid "contains" msgstr "enthält" -#: ../system/core-workflows/condition-operators.rst:31 -msgid "Matches if a specified value is present." -msgstr "Trifft zu, wenn ein definierter Wert vorhanden ist." - -#: ../system/core-workflows/condition-operators.rst:33 -msgid "Matches if all of the specified values are present." -msgstr "Trifft zu, wenn alle definierten Werte vorhanden sind." - -#: ../system/core-workflows/condition-operators.rst:35 -msgid "Matches if none of the specified values are present." -msgstr "Trifft zu, wenn keiner der definierten Werte vorhanden ist." +#: ../system/core-workflows/condition-operators.rst:32 +msgid "" +"Matches if **at least one** of the specified values is present in the field " +"(OR logic)." +msgstr "" +"Trifft zu, wenn **mindestens einer** der angegebenen Werte im Feld vorhanden " +"ist (OR-Logik)." -#: ../system/core-workflows/condition-operators.rst:36 +#: ../system/core-workflows/condition-operators.rst:34 +#: ../system/core-workflows/condition-operators.rst:153 +#: ../system/core-workflows/condition-operators.rst:192 +#: ../system/core-workflows/condition-operators.rst:232 +#: ../system/core-workflows/condition-operators.rst:275 +#: ../system/core-workflows/condition-operators.rst:315 msgid "contains not" msgstr "enthält nicht" -#: ../system/core-workflows/condition-operators.rst:37 -msgid "Matches if a specified value is not present." -msgstr "Trifft zu, wenn ein definierter Wert nicht vorhanden ist." +#: ../system/core-workflows/condition-operators.rst:35 +msgid "" +"Matches if the field contains at least one value that is **not** among the " +"specified values. Also matches if the field is empty." +msgstr "" +"Trifft zu, wenn das Feld mindestens einen Wert enthält, der **nicht** in den " +"Bedingungswerten ist. Trifft ebenfalls zu, wenn das Feld leer ist." #: ../system/core-workflows/condition-operators.rst:39 -msgid "Matches if one specified value is present." -msgstr "Trifft zu, wenn ein definierter Wert vorhanden ist." - -#: ../system/core-workflows/condition-operators.rst:41 -msgid "Matches if one specified value is not present." -msgstr "Trifft zu, wenn ein definierter Wert nicht vorhanden ist." +msgid "" +"Matches if **every** specified value is present in the field (AND logic)." +msgstr "" +"Trifft zu, wenn **jeder** angegebene Wert im Feld vorhanden ist (AND-Logik)." #: ../system/core-workflows/condition-operators.rst:42 +msgid "" +"Matches if **none** of the specified values are present in the field. The " +"field and the condition have no value in common: this means \"contains none " +"of\", not \"does not contain all of\"." +msgstr "" +"Trifft zu, wenn **keiner** der angegebenen Werte im Feld vorhanden ist. Das " +"Feld und die Bedingung haben keinen gemeinsamen Wert: Dies bedeutet " +"\"enthält keinen der\", nicht \"enthält nicht alle der\"." + +#: ../system/core-workflows/condition-operators.rst:46 +msgid "" +"In triggers and overviews, this operator means \"not all of the specified " +"values are present\" instead. See the examples section below." +msgstr "" +"In Triggern und Übersichten bedeutet dieser Operator stattdessen \"nicht " +"alle der angegebenen Werte sind vorhanden\". Siehe den Abschnitt " +"\"Beispiele\" weiter unten." + +#: ../system/core-workflows/condition-operators.rst:50 +msgid "" +"Same as ``contains``. Matches if **at least one** of the specified values is " +"present." +msgstr "" +"Entspricht ``enthält``. Es wird ein Treffer erzielt, wenn **mindestens " +"eine** der angegebenen Werte vorhanden ist." + +#: ../system/core-workflows/condition-operators.rst:53 +msgid "" +"Same as ``contains not``. Matches if the field contains at least one value " +"that is **not** among the specified values." +msgstr "" +"Entspricht ``enthält nicht``. Es wird ein Treffer erzielt, wenn das Feld " +"mindestens einen Wert enthält, der **nicht** unter den angegebenen Werten " +"ist." + +#: ../system/core-workflows/condition-operators.rst:56 msgid "does not match regex" msgstr "passt nicht auf regex" -#: ../system/core-workflows/condition-operators.rst:43 +#: ../system/core-workflows/condition-operators.rst:57 msgid "Matches if content doesn't fit to regex rule." msgstr "Trifft zu, wenn der Inhalt nicht der Regex-Regel entspricht." -#: ../system/core-workflows/condition-operators.rst:44 +#: ../system/core-workflows/condition-operators.rst:58 msgid "ends with" msgstr "endet auf" -#: ../system/core-workflows/condition-operators.rst:45 +#: ../system/core-workflows/condition-operators.rst:59 msgid "Matches if content ends with specified value." msgstr "Trifft zu, wenn der Inhalt mit dem definierten Wert endet." -#: ../system/core-workflows/condition-operators.rst:46 +#: ../system/core-workflows/condition-operators.rst:60 msgid "ends with one of" msgstr "endet auf eins von" -#: ../system/core-workflows/condition-operators.rst:47 +#: ../system/core-workflows/condition-operators.rst:61 msgid "Matches if content ends with one of the specified values." msgstr "Trifft zu, wenn der Inhalt mit einem der definierten Werte endet." -#: ../system/core-workflows/condition-operators.rst:48 +#: ../system/core-workflows/condition-operators.rst:62 msgid "from (relative)" msgstr "von vor (relativ)" -#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:63 msgid "Matches if date/time is after a period of time after an event." msgstr "" "Trifft zu, wenn Datum/Uhrzeit nach einer definierten Zeitspanne nach einem " "Ereignis liegen." -#: ../system/core-workflows/condition-operators.rst:51 +#: ../system/core-workflows/condition-operators.rst:65 msgid "Matches if content is equal to a specified value." msgstr "Trifft zu, wenn der Inhalt gleich dem definierten Wert ist." -#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:66 msgid "is any of" msgstr "ist eins von" -#: ../system/core-workflows/condition-operators.rst:53 +#: ../system/core-workflows/condition-operators.rst:67 msgid "Matches if content is equal to any of specified values." msgstr "" "Trifft zu, wenn der Inhalt mit einem der definierten Werte übereinstimmt." -#: ../system/core-workflows/condition-operators.rst:54 +#: ../system/core-workflows/condition-operators.rst:68 msgid "is greater than" msgstr "ist größer als" -#: ../system/core-workflows/condition-operators.rst:55 +#: ../system/core-workflows/condition-operators.rst:69 msgid "Matches if the value is greater than the specified value." msgstr "Trifft zu, wenn der Wert größer als der angegebene Wert ist." -#: ../system/core-workflows/condition-operators.rst:56 +#: ../system/core-workflows/condition-operators.rst:70 msgid "is greater than or equal to" msgstr "ist größer als oder gleich" -#: ../system/core-workflows/condition-operators.rst:57 +#: ../system/core-workflows/condition-operators.rst:71 msgid "Matches if the value is greater than or equal to the specified value." msgstr "Trifft zu, wenn der Wert größer oder gleich dem angegebenen Wert ist." -#: ../system/core-workflows/condition-operators.rst:58 +#: ../system/core-workflows/condition-operators.rst:72 msgid "is less than" msgstr "ist kleiner als" -#: ../system/core-workflows/condition-operators.rst:59 +#: ../system/core-workflows/condition-operators.rst:73 msgid "Matches if the value is less than the specified value." msgstr "Trifft zu, wenn der Wert kleiner als der angegebene Wert ist." -#: ../system/core-workflows/condition-operators.rst:60 +#: ../system/core-workflows/condition-operators.rst:74 msgid "is less than or equal to" msgstr "ist kleiner als oder gleich" -#: ../system/core-workflows/condition-operators.rst:61 +#: ../system/core-workflows/condition-operators.rst:75 msgid "Matches if the value is less than or equal to the specified value." msgstr "Trifft zu, wenn der Wert kleiner oder gleich dem angegebenen Wert ist." -#: ../system/core-workflows/condition-operators.rst:62 +#: ../system/core-workflows/condition-operators.rst:76 msgid "is modified" msgstr "ist geändert" -#: ../system/core-workflows/condition-operators.rst:63 +#: ../system/core-workflows/condition-operators.rst:77 msgid "Matches if content is modified." msgstr "Trifft zu, wenn der Inhalt geändert wurde." -#: ../system/core-workflows/condition-operators.rst:65 -#: ../system/core-workflows/condition-operators.rst:69 +#: ../system/core-workflows/condition-operators.rst:79 +#: ../system/core-workflows/condition-operators.rst:83 msgid "True from the moment of changing content until form submit." msgstr "" "Wahr ab dem Zeitpunkt der Änderung des Inhalts bis zum Absenden des " "Formulars." -#: ../system/core-workflows/condition-operators.rst:66 +#: ../system/core-workflows/condition-operators.rst:80 msgid "is modified to" msgstr "ist geändert auf" -#: ../system/core-workflows/condition-operators.rst:67 +#: ../system/core-workflows/condition-operators.rst:81 msgid "Matches if content is modified to a specific value." msgstr "Trifft zu, wenn der Inhalt auf einen definiertene Wert geändert wurde." -#: ../system/core-workflows/condition-operators.rst:70 +#: ../system/core-workflows/condition-operators.rst:84 msgid "is none of" msgstr "ist keins von" -#: ../system/core-workflows/condition-operators.rst:71 +#: ../system/core-workflows/condition-operators.rst:85 msgid "Matches if content is none of any specified values." msgstr "Trifft zu, wenn der Inhalt keinem der definierten Werte entspricht." -#: ../system/core-workflows/condition-operators.rst:73 +#: ../system/core-workflows/condition-operators.rst:87 msgid "Matches if content is not equal to a specified value." msgstr "Trifft zu, wenn der Inhalt nicht gleich dem definierten Wert ist." -#: ../system/core-workflows/condition-operators.rst:75 +#: ../system/core-workflows/condition-operators.rst:89 msgid "Matches if content is present." msgstr "Trifft zu, wenn ein Inhalt vorhanden ist." -#: ../system/core-workflows/condition-operators.rst:76 +#: ../system/core-workflows/condition-operators.rst:90 msgid "just changed" msgstr "gerade geändert" -#: ../system/core-workflows/condition-operators.rst:77 +#: ../system/core-workflows/condition-operators.rst:91 msgid "Matches if content has changed." msgstr "Trifft zu, wenn sich der Inhalt gerade geändert hat." -#: ../system/core-workflows/condition-operators.rst:79 -#: ../system/core-workflows/condition-operators.rst:83 +#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:97 msgid "" "Only true for the moment of changing content until next form field action/" "click." @@ -29091,84 +29500,228 @@ msgstr "" "Nur zutreffend für den Moment der Änderung des Inhalts bis zur nächsten " "Formularfeldaktion/zum nächsten Mausklick." -#: ../system/core-workflows/condition-operators.rst:80 +#: ../system/core-workflows/condition-operators.rst:94 msgid "just changed to" msgstr "gerade geändert auf" -#: ../system/core-workflows/condition-operators.rst:81 +#: ../system/core-workflows/condition-operators.rst:95 msgid "Matches if content has changed to a specified value." msgstr "" "Trifft zu, wenn sich der Inhalt gerade auf einen definierten Wert geändert " "hat." -#: ../system/core-workflows/condition-operators.rst:84 +#: ../system/core-workflows/condition-operators.rst:98 msgid "matches regex" msgstr "passt auf regex" -#: ../system/core-workflows/condition-operators.rst:85 +#: ../system/core-workflows/condition-operators.rst:99 msgid "Matches if value fits to regex rule." msgstr "Trifft zu, wenn der Wert der Regex-Regel entspricht." -#: ../system/core-workflows/condition-operators.rst:87 +#: ../system/core-workflows/condition-operators.rst:101 msgid "Matches if no content is present." msgstr "Trifft zu, wenn kein Inhalt vorhanden ist." -#: ../system/core-workflows/condition-operators.rst:88 +#: ../system/core-workflows/condition-operators.rst:102 msgid "starts with" msgstr "beginnt mit" -#: ../system/core-workflows/condition-operators.rst:89 +#: ../system/core-workflows/condition-operators.rst:103 msgid "Matches if content starts with specified value." msgstr "Trifft zu, wenn der Inhalt mit dem definierten Wert beginnt." -#: ../system/core-workflows/condition-operators.rst:90 +#: ../system/core-workflows/condition-operators.rst:104 msgid "starts with one of" msgstr "beginnt mit eins von" -#: ../system/core-workflows/condition-operators.rst:91 +#: ../system/core-workflows/condition-operators.rst:105 msgid "Matches if content starts with one of the specified values." msgstr "Trifft zu, wenn der Inhalt mit einem der definierten Werte beginnt." -#: ../system/core-workflows/condition-operators.rst:92 +#: ../system/core-workflows/condition-operators.rst:106 msgid "till (relative)" msgstr "bis in (relativ)" -#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:107 msgid "Matches if date/time is before a period of time before an event." msgstr "" "Triff zu, wenn Datum/Uhrzeit vor einem definierten Zeitraum vor einem " "Ereignis liegt." -#: ../system/core-workflows/condition-operators.rst:94 +#: ../system/core-workflows/condition-operators.rst:108 msgid "today" msgstr "heute" -#: ../system/core-workflows/condition-operators.rst:95 +#: ../system/core-workflows/condition-operators.rst:109 msgid "Matches if date/time is today." msgstr "Trifft zu, wenn Datum/Uhrzeit heute ist." -#: ../system/core-workflows/condition-operators.rst:96 +#: ../system/core-workflows/condition-operators.rst:110 msgid "within last (relative)" msgstr "innerhalb letzter (relativ)" -#: ../system/core-workflows/condition-operators.rst:97 +#: ../system/core-workflows/condition-operators.rst:111 msgid "" "Matches if date/time content is within specified period of time before now." msgstr "" "Triff zu, wenn Datum/Uhrzeit innerhalb der definierten Zeitspann vor jetzt " "liegt." -#: ../system/core-workflows/condition-operators.rst:99 +#: ../system/core-workflows/condition-operators.rst:113 msgid "within next (relative)" msgstr "innerhalb nächster (relativ)" -#: ../system/core-workflows/condition-operators.rst:100 +#: ../system/core-workflows/condition-operators.rst:114 msgid "" "Matches if date/time content is within specified period of time after now." msgstr "" "Trifft zu, wenn Datum/Uhrzeit innerhalb der definierten Zeitspanne nach " "jetzt liegt." +#: ../system/core-workflows/condition-operators.rst:118 +msgid "Multi-Select Operators" +msgstr "Mehrfachauswahl-Operatoren" + +#: ../system/core-workflows/condition-operators.rst:120 +msgid "" +"The ``contains`` family of operators compares two sets of values: the values " +"currently in the field and the values specified in the condition. The " +"diagrams below show the condition values as an orange circle and the field " +"values as a blue circle." +msgstr "" +"Die Operatorfamilie ``enthält`` vergleicht zwei Wertemengen: die aktuell im " +"Feld enthaltenen Werte und die in der Bedingung angegebenen Werte. In den " +"folgenden Diagrammen sind die Bedingungswerte als orangefarbene Kreise und " +"die Feldwerte als blaue Kreise dargestellt." + +#: ../system/core-workflows/condition-operators.rst:128 +msgid "Differences to Triggers and Overviews" +msgstr "Unterschiede zu Triggern und Übersichten" + +#: ../system/core-workflows/condition-operators.rst:130 +msgid "" +"Be aware that these operators behave **differently** in other features that " +"use conditions (e.g. triggers and overviews). The most confusing difference: " +"in core workflows, ``contains all not`` means that no value matches at all, " +"while in triggers and overviews it means \"not all values are present\". The " +"table below compares both worlds side by side." +msgstr "" +"Bitte beachten Sie, dass sich diese Operatoren **anders verhalten** als in " +"anderen Bereichen, die Bedingungen verwenden (z.B. Trigger und Übersichten). " +"Der kritischste Unterschied: In Core Workflows bedeutet ``enthält alle " +"nicht``, dass überhaupt kein Wert übereinstimmt, während es in Triggern und " +"Übersichten bedeutet, dass \"nicht alle Werte vorhanden sind\". Die folgende " +"Tabelle stellt die beide Fälle gegenüber." + +#: ../system/core-workflows/condition-operators.rst:142 +msgid "Core workflows (this page)" +msgstr "Core Workflows (diese Seite)" + +#: ../system/core-workflows/condition-operators.rst:143 +msgid "Triggers, overviews, etc." +msgstr "Trigger, Übersichten usw." + +#: ../system/core-workflows/condition-operators.rst:145 +#: ../system/core-workflows/condition-operators.rst:149 +msgid "At least one value is present (OR logic)." +msgstr "Es ist mindestens ein Wert vorhanden (OR-Logik)." + +#: ../system/core-workflows/condition-operators.rst:146 +msgid "Not available; ``contains one`` is the equivalent." +msgstr "Nicht verfügbar; ``enthält eins`` ist die Entsprechung." + +#: ../system/core-workflows/condition-operators.rst:148 +#: ../system/core-workflows/condition-operators.rst:188 +#: ../system/core-workflows/condition-operators.rst:228 +#: ../system/core-workflows/condition-operators.rst:271 +#: ../system/core-workflows/condition-operators.rst:311 +msgid "Same as ``contains``." +msgstr "Entspricht ``enthält``." + +#: ../system/core-workflows/condition-operators.rst:151 +#: ../system/core-workflows/condition-operators.rst:152 +msgid "Every value is present (AND logic)." +msgstr "Jeder Wert ist vorhanden (AND-Logik)." + +#: ../system/core-workflows/condition-operators.rst:154 +msgid "" +"At least one field value is outside the condition, or the field is empty." +msgstr "" +"Mindestens ein Feldwert entspricht nicht der Bedingung oder das Feld ist " +"leer." + +#: ../system/core-workflows/condition-operators.rst:156 +msgid "Not available for multi-select fields." +msgstr "Nicht verfügbar für Mehrfachauswahl-Felder." + +#: ../system/core-workflows/condition-operators.rst:158 +#: ../system/core-workflows/condition-operators.rst:197 +#: ../system/core-workflows/condition-operators.rst:237 +#: ../system/core-workflows/condition-operators.rst:280 +#: ../system/core-workflows/condition-operators.rst:320 +msgid "Same as ``contains not``." +msgstr "Entspricht ``enthält nicht``." + +#: ../system/core-workflows/condition-operators.rst:162 +msgid "Not all values are present (at least one is missing)." +msgstr "Es sind nicht alle Werte vorhanden (mindestens einer fehlt)." + +#: ../system/core-workflows/condition-operators.rst:194 +msgid "``C`` is in the field but not in the condition." +msgstr "``C`` ist im Feld enthalten, aber nicht in der Bedingung." + +#: ../system/core-workflows/condition-operators.rst:200 +msgid "``A`` and ``B`` are present in the field." +msgstr "``A`` und ``B`` sind im Feld vorhanden." + +#: ../system/core-workflows/condition-operators.rst:234 +msgid "``D`` is in the field but not in the condition." +msgstr "``D`` ist im Feld enthalten, jedoch nicht in der Bedingung." + +#: ../system/core-workflows/condition-operators.rst:240 +msgid "``C`` is present in the field." +msgstr "``C`` ist im Feld vorhanden." + +#: ../system/core-workflows/condition-operators.rst:242 +msgid "" +"This partial overlap is where the two \"all\" operators part ways: " +"``contains all`` fails because one condition value is missing, while " +"``contains all not`` fails because a single common value is enough to block " +"it." +msgstr "" +"An dieser teilweisen Überschneidung unterscheiden sich die beiden \"alle\"-" +"Operatoren: ``enthält alle`` trifft nicht zu, da ein Bedingungswert fehlt, " +"während ``enthält alle nicht`` nicht zutrifft, da bereits ein einziger " +"gemeinsamer Wert ausreicht, um einen Treffer zu verhindern." + +#: ../system/core-workflows/condition-operators.rst:277 +msgid "``C`` and ``D`` are not in the condition." +msgstr "``C`` und ``D`` sind nicht in der Bedingung enthalten." + +#: ../system/core-workflows/condition-operators.rst:285 +msgid "This is the only example where ``contains all not`` matches." +msgstr "" +"Dies ist das einzige Beispiel, bei dem ``enthält alle nicht`` übereinstimmt." + +#: ../system/core-workflows/condition-operators.rst:317 +msgid "An empty field matches." +msgstr "Ein leeres Feld wird als Übereinstimmung gewertet." + +#: ../system/core-workflows/condition-operators.rst:323 +msgid "An empty field has no value in common with the condition." +msgstr "Ein leeres Feld weist keinen gemeinsamen Wert mit der Bedingung auf." + +#: ../system/core-workflows/condition-operators.rst:325 +msgid "" +"Note that ``contains not`` and ``contains one not`` match an empty field, " +"while ``contains`` and ``contains all`` do not. If you want to exclude " +"specific values, be aware that empty fields pass the condition." +msgstr "" +"Bitte beachten Sie, dass ``enthält nicht`` und ``enthält eins nicht`` mit " +"einem leeren Feld übereinstimmen, während ``enthält`` und ``enthält alle`` " +"dies nicht tun. Wenn Sie bestimmte Werte ausschließen möchten, beachten Sie " +"bitte, dass leere Felder die Bedingung erfüllen." + #: ../system/core-workflows/how-do-they-work.rst:2 msgid "How do they work?" msgstr "Wie funktionieren sie?" @@ -37351,6 +37904,24 @@ msgstr "Version" msgid "Shows the current Zammad version of your instance." msgstr "Zeigt die aktuelle Zammad-Version Ihrer Instanz an." +#~ msgid "Matches if all given field values are not selected." +#~ msgstr "Trifft zu, wenn alle angegebenen Feldwerte nicht vorhanden sind." + +#~ msgid "Matches if one specific given field value is not selected." +#~ msgstr "Trifft zu, wenn ein bestimmter Feldwert nicht vorhanden ist." + +#~ msgid "Matches if a specified value is present." +#~ msgstr "Trifft zu, wenn ein definierter Wert vorhanden ist." + +#~ msgid "Matches if all of the specified values are present." +#~ msgstr "Trifft zu, wenn alle definierten Werte vorhanden sind." + +#~ msgid "Matches if a specified value is not present." +#~ msgstr "Trifft zu, wenn ein definierter Wert nicht vorhanden ist." + +#~ msgid "Matches if one specified value is not present." +#~ msgstr "Trifft zu, wenn ein definierter Wert nicht vorhanden ist." + #~ msgid "Depending on your email system, follow the matching guide:" #~ msgstr "" #~ "Befolgen Sie je nach Ihrem E-Mail-System die entsprechende Anleitung:" @@ -45161,9 +45732,6 @@ msgstr "Zeigt die aktuelle Zammad-Version Ihrer Instanz an." #~ msgid "Action *(Scope: Ticket, Ticket article)*" #~ msgstr "Aktion *(Bezug: Ticket, Ticketartikel)*" -#~ msgid "This field is only available for Trigger conditions!" -#~ msgstr "Dieses Feld ist nur für Bedingungen von Triggern verfügbar!" - #~ msgid "How was the ticket in question touched?" #~ msgstr "Welche Aktion wurde auf das entsprechende Ticket angewandt?" @@ -45394,9 +45962,6 @@ msgstr "Zeigt die aktuelle Zammad-Version Ihrer Instanz an." #~ msgid "Tags *(Scope: Ticket)*" #~ msgstr "Tags *(Bezug: Ticket)*" -#~ msgid "Additional tags can be present in the ticket without issues." -#~ msgstr "Zusätzliche Tags können im Ticket vorhanden sein." - #~ msgid "What ticket tags are affected (or not)?" #~ msgstr "Welche Ticket-Tags sind betroffen (oder nicht)?" @@ -46281,9 +46846,6 @@ msgstr "Zeigt die aktuelle Zammad-Version Ihrer Instanz an." #~ msgid "This is the actual target page you're linking to." #~ msgstr "Dies ist die Zielseite, auf die Sie verlinken." -#~ msgid "Why?" -#~ msgstr "Warum?" - #~ msgid "" #~ "This context *does not* affect the :ref:`security_password_login` " #~ "function." diff --git a/locale/es/LC_MESSAGES/admin-docs.po b/locale/es/LC_MESSAGES/admin-docs.po index a788f37c3..942b20ad6 100644 --- a/locale/es/LC_MESSAGES/admin-docs.po +++ b/locale/es/LC_MESSAGES/admin-docs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Zammad\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-24 17:19+0200\n" +"POT-Creation-Date: 2026-08-28 15:08+0200\n" "PO-Revision-Date: 2026-07-29 07:56+0000\n" "Last-Translator: Jordi Ferri \n" "Language-Team: Spanish ` and consider switching your plan. When a " @@ -1171,17 +1172,17 @@ msgid "" "alerted when few calls remain." msgstr "" -#: ../ai/provider.rst:288 +#: ../ai/provider.rst:289 msgid "" "On SaaS, the Zammad AI provider is provisioned by the platform and you " "cannot delete it or change its type." msgstr "" -#: ../ai/provider.rst:295 +#: ../ai/provider.rst:296 msgid "Self-Hosted Customers" msgstr "" -#: ../ai/provider.rst:292 +#: ../ai/provider.rst:293 msgid "" "Get in touch with our `sales department `_ to obtain a Zammad AI API key and to buy AI calls. After " @@ -1189,14 +1190,14 @@ msgid "" "key." msgstr "" -#: ../ai/provider.rst:300 +#: ../ai/provider.rst:301 msgid "" "`Ollama `_ lets you run your own AI server on a machine " "you control, so your data is not transferred to a third party. This approach " "only makes sense if you have a powerful GPU in your system!" msgstr "" -#: ../ai/provider.rst:304 +#: ../ai/provider.rst:305 msgid "" "If you don't have Ollama running yet, their `documentation `_ is a good starting point. Available models are listed in " @@ -4461,7 +4462,7 @@ msgstr "" msgid "Signatures" msgstr "" -#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:436 +#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:450 #: ../system/monitoring.rst:9 msgid "General" msgstr "General" @@ -5221,7 +5222,7 @@ msgstr "" #: ../channels/form.rst:250 ../manage/public-links.rst:43 #: ../misc/object-conditions/basics.rst:63 ../misc/variables.rst:101 -#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:22 #: ../system/objects/permissions.rst:36 ../system/subscription.rst:196 msgid "Description" msgstr "Descripción" @@ -9055,6 +9056,29 @@ msgstr "" #: ../manage/groups/settings.rst:42 ../manage/groups/settings.rst:63 #: ../misc/object-conditions/basics.rst:121 #: ../misc/object-conditions/basics.rst:136 +#: ../misc/object-conditions/basics.rst:514 +#: ../misc/object-conditions/basics.rst:517 +#: ../misc/object-conditions/basics.rst:548 +#: ../misc/object-conditions/basics.rst:554 +#: ../misc/object-conditions/basics.rst:591 +#: ../misc/object-conditions/basics.rst:594 +#: ../misc/object-conditions/basics.rst:623 +#: ../misc/object-conditions/basics.rst:626 +#: ../system/core-workflows/condition-operators.rst:184 +#: ../system/core-workflows/condition-operators.rst:187 +#: ../system/core-workflows/condition-operators.rst:190 +#: ../system/core-workflows/condition-operators.rst:193 +#: ../system/core-workflows/condition-operators.rst:196 +#: ../system/core-workflows/condition-operators.rst:224 +#: ../system/core-workflows/condition-operators.rst:227 +#: ../system/core-workflows/condition-operators.rst:233 +#: ../system/core-workflows/condition-operators.rst:236 +#: ../system/core-workflows/condition-operators.rst:276 +#: ../system/core-workflows/condition-operators.rst:279 +#: ../system/core-workflows/condition-operators.rst:282 +#: ../system/core-workflows/condition-operators.rst:316 +#: ../system/core-workflows/condition-operators.rst:319 +#: ../system/core-workflows/condition-operators.rst:322 msgid "yes" msgstr "" @@ -9109,6 +9133,23 @@ msgstr "" #: ../manage/groups/settings.rst:66 ../misc/object-conditions/basics.rst:122 #: ../misc/object-conditions/basics.rst:137 +#: ../misc/object-conditions/basics.rst:520 +#: ../misc/object-conditions/basics.rst:523 +#: ../misc/object-conditions/basics.rst:551 +#: ../misc/object-conditions/basics.rst:557 +#: ../misc/object-conditions/basics.rst:585 +#: ../misc/object-conditions/basics.rst:588 +#: ../misc/object-conditions/basics.rst:617 +#: ../misc/object-conditions/basics.rst:620 +#: ../system/core-workflows/condition-operators.rst:199 +#: ../system/core-workflows/condition-operators.rst:230 +#: ../system/core-workflows/condition-operators.rst:239 +#: ../system/core-workflows/condition-operators.rst:267 +#: ../system/core-workflows/condition-operators.rst:270 +#: ../system/core-workflows/condition-operators.rst:273 +#: ../system/core-workflows/condition-operators.rst:307 +#: ../system/core-workflows/condition-operators.rst:310 +#: ../system/core-workflows/condition-operators.rst:313 msgid "no" msgstr "" @@ -9521,7 +9562,7 @@ msgid "" msgstr "" #: ../manage/knowledge-base.rst:136 ../manage/public-links.rst:35 -#: ../manage/time-accounting.rst:147 ../manage/time-accounting.rst:161 +#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 #: ../system/maintenance.rst:31 msgid "Title" msgstr "" @@ -12862,16 +12903,18 @@ msgstr "" #: ../manage/time-accounting.rst:22 msgid "" "If a ticket is relevant, Zammad will request the agent to provide the time " -"which was needed to process the current ticket step. In order for Zammad to " -"bring up the time accounting dialog to an agent, the agent has to update the " -"ticket together with an article of any type. The adding of an article is " -"mandatory to invoke the time accounting dialog. However, the time accounting " -"dialog is not mandatory and can be canceled by your agents. You cannot " -"enforce the time accounting. When a ticket is no longer considered for the " -"time accounting, the already accounted time will be preserved." +"which was needed to process the current ticket step. This accounted time is " +"displayed in the ticket sidebar at ticket level and in the article meta " +"information for an individual article. In order for Zammad to bring up the " +"time accounting dialog to an agent, the agent has to update the ticket " +"together with an article of any type. The adding of an article is mandatory " +"to invoke the time accounting dialog. However, the time accounting dialog is " +"not mandatory and can be canceled by your agents. You cannot enforce the " +"time accounting. When a ticket is no longer considered for the time " +"accounting, the already accounted time will be preserved." msgstr "" -#: ../manage/time-accounting.rst:33 +#: ../manage/time-accounting.rst:35 msgid "" "The selector applies to the ticket state before any attribute changes have " "been saved. That means if your agent is e.g. going to close a ticket " @@ -12883,49 +12926,49 @@ msgstr "" msgid "Time Accounting Ticket Selector" msgstr "" -#: ../manage/time-accounting.rst:42 +#: ../manage/time-accounting.rst:44 msgid "" "The accounted time is always a unitless number. However, it is possible to " "show a specific unit in the **Unit** section, which provides several options:" msgstr "" -#: ../manage/time-accounting.rst:46 +#: ../manage/time-accounting.rst:48 msgid "no unit" msgstr "" -#: ../manage/time-accounting.rst:47 +#: ../manage/time-accounting.rst:49 msgid "Default behavior, no unit is shown next to the time value." msgstr "" -#: ../manage/time-accounting.rst:48 +#: ../manage/time-accounting.rst:50 msgid "hour(s)" msgstr "" -#: ../manage/time-accounting.rst:49 +#: ../manage/time-accounting.rst:51 msgid "Shows ``hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:50 +#: ../manage/time-accounting.rst:52 msgid "quarter-hour(s)" msgstr "" -#: ../manage/time-accounting.rst:51 +#: ../manage/time-accounting.rst:53 msgid "Shows ``quarter-hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:52 +#: ../manage/time-accounting.rst:54 msgid "minute(s)" msgstr "" -#: ../manage/time-accounting.rst:53 +#: ../manage/time-accounting.rst:55 msgid "Shows ``minute(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "custom unit" msgstr "" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "Shows a custom unit that can be specified as free input." msgstr "" @@ -12933,7 +12976,7 @@ msgstr "" msgid "Time Accounting Unit" msgstr "" -#: ../manage/time-accounting.rst:62 +#: ../manage/time-accounting.rst:64 msgid "" "The unit is only displayed to make it easier for agents to account their " "time! No numerical transformation will be applied to the values, not even if " @@ -12945,11 +12988,11 @@ msgstr "" msgid "Time Accounting Unit when Recording" msgstr "" -#: ../manage/time-accounting.rst:72 +#: ../manage/time-accounting.rst:74 msgid "Activity Types" msgstr "" -#: ../manage/time-accounting.rst:74 +#: ../manage/time-accounting.rst:76 msgid "" "**Activity Types** can be used to group the different ticket time accounting " "entries together. For example, entries that are relevant to a \"Billing\" " @@ -12960,7 +13003,7 @@ msgstr "" msgid "Time Accounting Activity Types" msgstr "" -#: ../manage/time-accounting.rst:81 +#: ../manage/time-accounting.rst:83 msgid "" "When you enable the recording of the **Activity Type**, the agents will be " "able to select a type from this list." @@ -12970,13 +13013,13 @@ msgstr "" msgid "Time Accounting Activity Type Selection for Agents" msgstr "" -#: ../manage/time-accounting.rst:88 +#: ../manage/time-accounting.rst:90 msgid "" "Additionally, a column with an associated activity type will be rendered for " "an entry in the **Activity** table under the **Accounted Time** tab." msgstr "" -#: ../manage/time-accounting.rst:91 +#: ../manage/time-accounting.rst:93 msgid "" "You can manage available activity types in this screen like any other Zammad " "object. Only active types will be available for the selection when recording " @@ -12988,7 +13031,7 @@ msgstr "" msgid "New Time Accounting Activity Type Dialog" msgstr "" -#: ../manage/time-accounting.rst:100 +#: ../manage/time-accounting.rst:102 msgid "" "Activity types can be set as default, and in that case they will be pre-" "selected for the agents when they are asked to account their time. It is " @@ -12996,30 +13039,30 @@ msgid "" "pre-selected and the agents can make their choice." msgstr "" -#: ../manage/time-accounting.rst:106 +#: ../manage/time-accounting.rst:108 #, fuzzy msgid "Accounted Time" msgstr "Configuración de cuenta" -#: ../manage/time-accounting.rst:108 +#: ../manage/time-accounting.rst:110 msgid "" "Under the **Accounted Time** tab, Zammad provides a section for reviewing " "all accounted times for your tickets. Accounted times are displayed per " "years and months." msgstr "" -#: ../manage/time-accounting.rst:112 +#: ../manage/time-accounting.rst:114 msgid "" "If you have tickets that are overlapping several months, you can " "differentiate by *time units* and *time units total* (e.g. to allow partial " "billing) in the downloaded file." msgstr "" -#: ../manage/time-accounting.rst:123 +#: ../manage/time-accounting.rst:125 msgid "Select the right month" msgstr "" -#: ../manage/time-accounting.rst:117 +#: ../manage/time-accounting.rst:119 msgid "" "Usually you want to bill accounted time of other months than the current " "one. Just select the relevant year and month to receive the accounted times " @@ -13030,85 +13073,85 @@ msgstr "" msgid "Screenshot showing a selection for year and month on time accounting" msgstr "" -#: ../manage/time-accounting.rst:186 +#: ../manage/time-accounting.rst:188 msgid "Tickets and their accounted time" msgstr "" -#: ../manage/time-accounting.rst:126 +#: ../manage/time-accounting.rst:128 msgid "" "Zammad allows you to receive the accounted information just like you need " "them. For this you currently have four options to review and also download " "the relevant data as CSV." msgstr "" -#: ../manage/time-accounting.rst:130 +#: ../manage/time-accounting.rst:132 msgid "" "To download the CSV data, use the download button right next to each heading " "(e.g. \"Ticket\")." msgstr "" -#: ../manage/time-accounting.rst:133 +#: ../manage/time-accounting.rst:135 msgid "This can also be automated with API calls." msgstr "" -#: ../manage/time-accounting.rst:136 +#: ../manage/time-accounting.rst:138 msgid "" "Only the first 20 entries are shown for each table. To see all of them, " "simply download the records in CSV." msgstr "" -#: ../manage/time-accounting.rst:153 +#: ../manage/time-accounting.rst:155 msgid "Activity" msgstr "" -#: ../manage/time-accounting.rst:140 +#: ../manage/time-accounting.rst:142 msgid "" "This filter works similar to the ticket filter, with one exception: You'll " "find each *individual* time accounting step of your agents. This is what " "you'd also see in the ticket's history before Zammad 5.2." msgstr "" -#: ../manage/time-accounting.rst:144 ../manage/time-accounting.rst:158 -#: ../manage/time-accounting.rst:175 +#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:177 msgid "In this list you'll see the following ticket information:" msgstr "" -#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 #: ../settings/ticket.rst:103 msgid "Number" msgstr "" -#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 -#: ../manage/time-accounting.rst:179 ../manage/time-accounting.rst:177 +#: ../manage/time-accounting.rst:150 ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:181 ../manage/time-accounting.rst:179 #: ../misc/object-conditions/basics.rst:37 #: ../misc/object-conditions/basics.rst:89 #: ../misc/object-conditions/basics.rst:171 msgid "Customer" msgstr "" -#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 -#: ../manage/time-accounting.rst:178 +#: ../manage/time-accounting.rst:151 ../manage/time-accounting.rst:165 +#: ../manage/time-accounting.rst:180 msgid "Organization of customer (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:150 +#: ../manage/time-accounting.rst:152 msgid "Agent that accounted the time" msgstr "" -#: ../manage/time-accounting.rst:151 +#: ../manage/time-accounting.rst:153 msgid "Time units accounted in the current activity" msgstr "" -#: ../manage/time-accounting.rst:152 +#: ../manage/time-accounting.rst:154 msgid "Activity type (if enabled)" msgstr "" -#: ../manage/time-accounting.rst:153 ../manage/time-accounting.rst:167 +#: ../manage/time-accounting.rst:155 ../manage/time-accounting.rst:169 #: ../system/audit-logs.rst:76 msgid "Created at" msgstr "" -#: ../manage/time-accounting.rst:168 ../misc/object-conditions/basics.rst:26 +#: ../manage/time-accounting.rst:170 ../misc/object-conditions/basics.rst:26 #: ../misc/object-conditions/basics.rst:90 #: ../misc/object-conditions/basics.rst:126 #: ../misc/object-conditions/basics.rst:139 @@ -13124,45 +13167,45 @@ msgstr "" msgid "Ticket" msgstr "" -#: ../manage/time-accounting.rst:156 +#: ../manage/time-accounting.rst:158 msgid "This filter contains all relevant tickets from the selected month." msgstr "" -#: ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:166 msgid "Agent currently assigned (ticket owner)" msgstr "" -#: ../manage/time-accounting.rst:165 ../manage/time-accounting.rst:179 +#: ../manage/time-accounting.rst:167 ../manage/time-accounting.rst:181 msgid "Time units accounted in the current month" msgstr "" -#: ../manage/time-accounting.rst:166 +#: ../manage/time-accounting.rst:168 msgid "Time units total (time accounted during ticket life)" msgstr "" -#: ../manage/time-accounting.rst:168 +#: ../manage/time-accounting.rst:170 msgid "Closed at (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:171 +#: ../manage/time-accounting.rst:173 msgid "" "This provides you a per user filter on accounted time units. Each user has a " "total of time accounted in the current month (over all applicable tickets)." msgstr "" -#: ../manage/time-accounting.rst:186 ../misc/object-conditions/basics.rst:28 +#: ../manage/time-accounting.rst:188 ../misc/object-conditions/basics.rst:28 #: ../misc/object-conditions/basics.rst:115 #: ../misc/object-conditions/basics.rst:146 ../settings/branding.rst:16 msgid "Organization" msgstr "" -#: ../manage/time-accounting.rst:182 +#: ../manage/time-accounting.rst:184 msgid "" "This provides a list of all organizations where customers have caused " "accounted time in that month." msgstr "" -#: ../manage/time-accounting.rst:185 +#: ../manage/time-accounting.rst:187 msgid "" "You can also see entries for customers that are part of a primary " "organization. Users without an organization can be found in the Customer " @@ -16363,7 +16406,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:185 #: ../misc/object-conditions/basics.rst:209 #: ../misc/object-conditions/basics.rst:219 -#: ../system/core-workflows/condition-operators.rst:50 +#: ../system/core-workflows/condition-operators.rst:64 msgid "is" msgstr "" @@ -16380,7 +16423,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:186 #: ../misc/object-conditions/basics.rst:210 #: ../misc/object-conditions/basics.rst:220 -#: ../system/core-workflows/condition-operators.rst:72 +#: ../system/core-workflows/condition-operators.rst:86 msgid "is not" msgstr "" @@ -16455,7 +16498,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:97 #: ../misc/object-conditions/basics.rst:155 #: ../misc/object-conditions/basics.rst:204 -#: ../system/core-workflows/condition-operators.rst:86 +#: ../system/core-workflows/condition-operators.rst:100 msgid "not set" msgstr "" @@ -16620,22 +16663,58 @@ msgid "Checks tags of a ticket." msgstr "" #: ../misc/object-conditions/basics.rst:193 -#: ../system/core-workflows/condition-operators.rst:32 +#: ../misc/object-conditions/basics.rst:516 +#: ../misc/object-conditions/basics.rst:550 +#: ../misc/object-conditions/basics.rst:587 +#: ../misc/object-conditions/basics.rst:619 +#: ../system/core-workflows/condition-operators.rst:38 +#: ../system/core-workflows/condition-operators.rst:150 +#: ../system/core-workflows/condition-operators.rst:189 +#: ../system/core-workflows/condition-operators.rst:229 +#: ../system/core-workflows/condition-operators.rst:272 +#: ../system/core-workflows/condition-operators.rst:312 msgid "contains all" msgstr "" #: ../misc/object-conditions/basics.rst:194 -#: ../system/core-workflows/condition-operators.rst:38 +#: ../misc/object-conditions/basics.rst:513 +#: ../misc/object-conditions/basics.rst:547 +#: ../misc/object-conditions/basics.rst:584 +#: ../misc/object-conditions/basics.rst:616 +#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:147 +#: ../system/core-workflows/condition-operators.rst:186 +#: ../system/core-workflows/condition-operators.rst:226 +#: ../system/core-workflows/condition-operators.rst:269 +#: ../system/core-workflows/condition-operators.rst:309 msgid "contains one" msgstr "" #: ../misc/object-conditions/basics.rst:195 -#: ../system/core-workflows/condition-operators.rst:34 +#: ../misc/object-conditions/basics.rst:519 +#: ../misc/object-conditions/basics.rst:553 +#: ../misc/object-conditions/basics.rst:590 +#: ../misc/object-conditions/basics.rst:622 +#: ../system/core-workflows/condition-operators.rst:41 +#: ../system/core-workflows/condition-operators.rst:160 +#: ../system/core-workflows/condition-operators.rst:198 +#: ../system/core-workflows/condition-operators.rst:238 +#: ../system/core-workflows/condition-operators.rst:281 +#: ../system/core-workflows/condition-operators.rst:321 msgid "contains all not" msgstr "" #: ../misc/object-conditions/basics.rst:196 -#: ../system/core-workflows/condition-operators.rst:40 +#: ../misc/object-conditions/basics.rst:522 +#: ../misc/object-conditions/basics.rst:556 +#: ../misc/object-conditions/basics.rst:593 +#: ../misc/object-conditions/basics.rst:625 +#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:157 +#: ../system/core-workflows/condition-operators.rst:195 +#: ../system/core-workflows/condition-operators.rst:235 +#: ../system/core-workflows/condition-operators.rst:278 +#: ../system/core-workflows/condition-operators.rst:318 msgid "contains one not" msgstr "" @@ -16657,7 +16736,7 @@ msgid "Checks if time is accounted." msgstr "" #: ../misc/object-conditions/basics.rst:203 -#: ../system/core-workflows/condition-operators.rst:74 +#: ../system/core-workflows/condition-operators.rst:88 msgid "is set" msgstr "" @@ -16715,8 +16794,8 @@ msgstr "" #: ../misc/object-conditions/basics.rst:334 #: ../misc/object-conditions/basics.rst:381 #: ../misc/object-conditions/basics.rst:392 -#: ../misc/object-conditions/basics.rst:410 #: ../misc/object-conditions/basics.rst:421 +#: ../misc/object-conditions/basics.rst:432 msgid "Available operators for matching:" msgstr "" @@ -16802,7 +16881,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:269 #: ../misc/object-conditions/basics.rst:284 #: ../misc/object-conditions/basics.rst:385 -#: ../misc/object-conditions/basics.rst:414 +#: ../misc/object-conditions/basics.rst:425 msgid "**has changed**" msgstr "" @@ -16817,14 +16896,14 @@ msgstr "" #: ../misc/object-conditions/basics.rst:267 #: ../misc/object-conditions/basics.rst:278 #: ../misc/object-conditions/basics.rst:383 -#: ../misc/object-conditions/basics.rst:412 +#: ../misc/object-conditions/basics.rst:423 msgid "**is**" msgstr "" #: ../misc/object-conditions/basics.rst:268 #: ../misc/object-conditions/basics.rst:279 #: ../misc/object-conditions/basics.rst:384 -#: ../misc/object-conditions/basics.rst:413 +#: ../misc/object-conditions/basics.rst:424 msgid "**is not**" msgstr "" @@ -17072,7 +17151,7 @@ msgid "**contains all**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are selected." +msgid "Matches if **all** given field values are selected (AND logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -17080,7 +17159,8 @@ msgid "**contains one**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is selected." +msgid "" +"Matches if **at least one** of the given field values is selected (OR logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -17088,7 +17168,9 @@ msgid "**contains all not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are not selected." +msgid "" +"Matches if **not all** given field values are selected (at least one is " +"missing). This means \"not all of\", not \"none of\"." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -17096,24 +17178,35 @@ msgid "**contains one not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is not selected." +msgid "" +"Matches if **none** of the given field values are selected. This means " +"\"none of\", not \"not all of\"." msgstr "" -#: ../misc/object-conditions/basics.rst:405 ../system/objects/types.rst:135 +#: ../misc/object-conditions/basics.rst:408 +msgid "" +"In :doc:`core workflows `, these operators have " +"different semantics. See :ref:`core workflow condition operators ` for details. Example scenarios for the " +"operators described here can be found in :ref:`multi-select-operator-" +"examples` below." +msgstr "" + +#: ../misc/object-conditions/basics.rst:416 ../system/objects/types.rst:135 msgid "Single Tree Selection Field" msgstr "" -#: ../misc/object-conditions/basics.rst:407 +#: ../misc/object-conditions/basics.rst:418 msgid "" "Checks if a selected field value match the attribute value. Selecting more " "than one value in the condition will act like an \"OR\" clause." msgstr "" -#: ../misc/object-conditions/basics.rst:417 ../system/objects/types.rst:148 +#: ../misc/object-conditions/basics.rst:428 ../system/objects/types.rst:148 msgid "Multiple Tree Selection Field" msgstr "" -#: ../misc/object-conditions/basics.rst:419 +#: ../misc/object-conditions/basics.rst:430 msgid "Checks if selected field value(s) match the attribute value(s)." msgstr "" @@ -17133,66 +17226,66 @@ msgstr "" msgid "**contains one not**" msgstr "" -#: ../misc/object-conditions/basics.rst:433 +#: ../misc/object-conditions/basics.rst:447 msgid "Additional Information and Remarks" msgstr "" -#: ../misc/object-conditions/basics.rst:442 +#: ../misc/object-conditions/basics.rst:456 msgid "Ticket context conditions do not support:" msgstr "" -#: ../misc/object-conditions/basics.rst:439 +#: ../misc/object-conditions/basics.rst:453 msgid "regular expressions" msgstr "" -#: ../misc/object-conditions/basics.rst:440 +#: ../misc/object-conditions/basics.rst:454 msgid "case sensitive string conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:441 +#: ../misc/object-conditions/basics.rst:455 msgid "" "Basic conditions do not support the same attribute to be selected more than " "once" msgstr "" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "**has changed** conditions:" msgstr "" -#: ../misc/object-conditions/basics.rst:445 +#: ../misc/object-conditions/basics.rst:459 msgid "Are only available for ticket attributes and don't affect:" msgstr "" -#: ../misc/object-conditions/basics.rst:447 +#: ../misc/object-conditions/basics.rst:461 #, fuzzy msgid "Ticket articles attributes" msgstr "prioridad" -#: ../misc/object-conditions/basics.rst:448 +#: ../misc/object-conditions/basics.rst:462 #, fuzzy msgid "Organization attributes" msgstr "Organización & Nombre de Departamento" -#: ../misc/object-conditions/basics.rst:449 +#: ../misc/object-conditions/basics.rst:463 msgid "User attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "Group attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:463 +#: ../misc/object-conditions/basics.rst:477 msgid "Differences in input fields:" msgstr "" -#: ../misc/object-conditions/basics.rst:453 +#: ../misc/object-conditions/basics.rst:467 msgid "" "Please note that the input field for tokens doesn't support the comma as " "separator (as in the input field for tags). If you use the comma in the " "token input field, the comma is included in you token." msgstr "" -#: ../misc/object-conditions/basics.rst:457 +#: ../misc/object-conditions/basics.rst:471 #, fuzzy msgid "**Example**:" msgstr "Ejemplo" @@ -17201,33 +17294,258 @@ msgstr "Ejemplo" msgid "Example of comma usage in token input field" msgstr "" -#: ../misc/object-conditions/basics.rst:462 +#: ../misc/object-conditions/basics.rst:476 msgid "" "``A`` added with enter/tab, ``B`` and ``C`` separated with comma (resulting " "in one token)." msgstr "" -#: ../misc/object-conditions/basics.rst:468 +#: ../misc/object-conditions/basics.rst:482 +msgid "Multi-Select Operator Examples" +msgstr "" + +#: ../misc/object-conditions/basics.rst:484 +msgid "" +"The ``contains`` family of operators for multi-select fields compares two " +"sets of values: the values currently in the field and the values specified " +"in the condition. The diagrams below show the condition values as an orange " +"circle and the field values as a blue circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:489 +msgid "" +"Be aware that these operators behave **differently** in :doc:`core workflows " +"`. See :ref:`core workflow condition operators ` for a side by side comparison." +msgstr "" + +#: ../misc/object-conditions/basics.rst:495 +#: ../system/core-workflows/condition-operators.rst:165 +msgid "Example 1: Condition A, B - Field A, B, C" +msgstr "" + +#: ../misc/object-conditions/basics.rst:497 +#: ../system/core-workflows/condition-operators.rst:167 +msgid "" +"In this scenario, the field holds the values A, B and C, while the condition " +"asks for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "" +"Venn diagram of condition values A, B and field values A, B, C. A and B are " +"in both circles, C only in the field circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "Condition values ``A, B`` overlap with field values ``A, B, C``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:510 +#: ../misc/object-conditions/basics.rst:544 +#: ../misc/object-conditions/basics.rst:581 +#: ../misc/object-conditions/basics.rst:613 +#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:141 +#: ../system/core-workflows/condition-operators.rst:180 +#: ../system/core-workflows/condition-operators.rst:220 +#: ../system/core-workflows/condition-operators.rst:263 +#: ../system/core-workflows/condition-operators.rst:303 +msgid "Operator" +msgstr "" + +#: ../misc/object-conditions/basics.rst:511 +#: ../misc/object-conditions/basics.rst:545 +#: ../misc/object-conditions/basics.rst:582 +#: ../misc/object-conditions/basics.rst:614 +#: ../system/core-workflows/condition-operators.rst:181 +#: ../system/core-workflows/condition-operators.rst:221 +#: ../system/core-workflows/condition-operators.rst:264 +#: ../system/core-workflows/condition-operators.rst:304 +msgid "Matches?" +msgstr "" + +#: ../misc/object-conditions/basics.rst:512 +#: ../misc/object-conditions/basics.rst:546 +#: ../misc/object-conditions/basics.rst:583 +#: ../misc/object-conditions/basics.rst:615 +#: ../system/core-workflows/condition-operators.rst:182 +#: ../system/core-workflows/condition-operators.rst:222 +#: ../system/core-workflows/condition-operators.rst:265 +#: ../system/core-workflows/condition-operators.rst:305 +msgid "Why" +msgstr "" + +#: ../misc/object-conditions/basics.rst:515 +#: ../system/core-workflows/condition-operators.rst:185 +msgid "``A`` and ``B`` are in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:518 +#: ../system/core-workflows/condition-operators.rst:191 +msgid "Both ``A`` and ``B`` are present (AND logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:521 +msgid "All condition values are present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:524 +msgid "The field has values in common with the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:527 +#: ../system/core-workflows/condition-operators.rst:203 +msgid "Example 2: Condition A, B, C - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:529 +#: ../system/core-workflows/condition-operators.rst:205 +msgid "" +"In this scenario, the field holds the values C and D. The condition value C " +"is present in the field, while A and B are not." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Venn diagram of condition values A, B, C and field values C, D.\n" +"Only C is in both circles." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Condition values ``A, B, C`` partially overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:549 +#: ../system/core-workflows/condition-operators.rst:225 +msgid "``C`` is in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:552 +#: ../system/core-workflows/condition-operators.rst:231 +msgid "Only ``C`` of the three condition values is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:555 +#: ../misc/object-conditions/basics.rst:592 +msgid "``A`` and ``B`` are missing from the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:558 +msgid "``C`` is in both the field and the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:560 +msgid "" +"This partial overlap is where the two \"not\" operators part ways: " +"``contains all not`` matches because a single condition value is missing, " +"while ``contains one not`` does not match because the one common value is " +"enough to block it." +msgstr "" + +#: ../misc/object-conditions/basics.rst:566 +#: ../system/core-workflows/condition-operators.rst:248 +msgid "Example 3: Condition A, B - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:568 +#: ../system/core-workflows/condition-operators.rst:250 +msgid "" +"In this scenario, the field holds the values C and D, which have nothing in " +"common with the condition values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "" +"Venn diagram of condition values A, B and field values C, D. The two circles " +"do not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "Condition values ``A, B`` have no overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:586 +#: ../system/core-workflows/condition-operators.rst:268 +msgid "No value is in both sets." +msgstr "" + +#: ../misc/object-conditions/basics.rst:589 +#: ../system/core-workflows/condition-operators.rst:274 +msgid "Neither ``A`` nor ``B`` is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:595 +#: ../misc/object-conditions/basics.rst:627 +#: ../system/core-workflows/condition-operators.rst:159 +#: ../system/core-workflows/condition-operators.rst:161 +#: ../system/core-workflows/condition-operators.rst:283 +msgid "The field has no value in common with the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:598 +#: ../system/core-workflows/condition-operators.rst:288 +msgid "Example 4: Condition A, B - Field is empty" +msgstr "" + +#: ../misc/object-conditions/basics.rst:600 +#: ../system/core-workflows/condition-operators.rst:290 +msgid "" +"In this scenario, the field holds no values at all, while the condition asks " +"for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "" +"Venn diagram of condition values A, B and an empty field. The two circles do " +"not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "The field holds no values at all." +msgstr "" + +#: ../misc/object-conditions/basics.rst:618 +#: ../misc/object-conditions/basics.rst:621 +#: ../system/core-workflows/condition-operators.rst:308 +#: ../system/core-workflows/condition-operators.rst:314 +msgid "No value is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:624 +msgid "No condition value is present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:632 msgid "Regex" msgstr "" -#: ../misc/object-conditions/basics.rst:473 +#: ../misc/object-conditions/basics.rst:637 #, fuzzy msgid "Regex support" msgstr "**Resultado**" -#: ../misc/object-conditions/basics.rst:471 +#: ../misc/object-conditions/basics.rst:635 msgid "" "**matches regex** and **does not match regex** are supported only in " "Triggers, Time Accounting selector, Postmaster Filters, Automatic ticket " "assignment and Core Workflow." msgstr "" -#: ../misc/object-conditions/basics.rst:478 +#: ../misc/object-conditions/basics.rst:642 msgid "\"Old\" style ``regex:...`` conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:476 +#: ../misc/object-conditions/basics.rst:640 msgid "" "If you update your Zammad from 6.0 or prior and you have already conditions " "with **contains** or **contains not** including a regex filter (i.e. " @@ -23555,9 +23873,9 @@ msgstr "" #: ../system/core-workflows/condition-operators.rst:8 msgid "" -"Due to differences to other places in Zammad which are also using conditions " -"(e.g. triggers), you can find a dedicated description of operators for core " -"workflows below." +"Due to differences from other places in Zammad which are also using " +"conditions (e.g. triggers), you can find a dedicated description of " +"operators for core workflows below." msgstr "" #: ../system/core-workflows/condition-operators.rst:12 @@ -23567,272 +23885,419 @@ msgid "" "for system attributes (e.g. for \"tags\", \"active\")." msgstr "" -#: ../system/core-workflows/condition-operators.rst:20 -msgid "Operator" -msgstr "" - -#: ../system/core-workflows/condition-operators.rst:22 +#: ../system/core-workflows/condition-operators.rst:23 msgid "after (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:23 +#: ../system/core-workflows/condition-operators.rst:24 msgid "Matches if a date/time is after a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:24 +#: ../system/core-workflows/condition-operators.rst:25 msgid "after (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:25 +#: ../system/core-workflows/condition-operators.rst:26 msgid "Matches if a time span after a specified event has passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:26 +#: ../system/core-workflows/condition-operators.rst:27 msgid "before (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:27 +#: ../system/core-workflows/condition-operators.rst:28 msgid "Matches if a date/time is before a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:28 +#: ../system/core-workflows/condition-operators.rst:29 msgid "before (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:29 +#: ../system/core-workflows/condition-operators.rst:30 msgid "Matches if a time span after a specified event has not passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:30 +#: ../system/core-workflows/condition-operators.rst:31 +#: ../system/core-workflows/condition-operators.rst:144 +#: ../system/core-workflows/condition-operators.rst:183 +#: ../system/core-workflows/condition-operators.rst:223 +#: ../system/core-workflows/condition-operators.rst:266 +#: ../system/core-workflows/condition-operators.rst:306 msgid "contains" msgstr "" -#: ../system/core-workflows/condition-operators.rst:31 -msgid "Matches if a specified value is present." +#: ../system/core-workflows/condition-operators.rst:32 +msgid "" +"Matches if **at least one** of the specified values is present in the field " +"(OR logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:33 -msgid "Matches if all of the specified values are present." +#: ../system/core-workflows/condition-operators.rst:34 +#: ../system/core-workflows/condition-operators.rst:153 +#: ../system/core-workflows/condition-operators.rst:192 +#: ../system/core-workflows/condition-operators.rst:232 +#: ../system/core-workflows/condition-operators.rst:275 +#: ../system/core-workflows/condition-operators.rst:315 +msgid "contains not" msgstr "" #: ../system/core-workflows/condition-operators.rst:35 -msgid "Matches if none of the specified values are present." +msgid "" +"Matches if the field contains at least one value that is **not** among the " +"specified values. Also matches if the field is empty." msgstr "" -#: ../system/core-workflows/condition-operators.rst:36 -msgid "contains not" +#: ../system/core-workflows/condition-operators.rst:39 +msgid "" +"Matches if **every** specified value is present in the field (AND logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:37 -msgid "Matches if a specified value is not present." +#: ../system/core-workflows/condition-operators.rst:42 +msgid "" +"Matches if **none** of the specified values are present in the field. The " +"field and the condition have no value in common: this means \"contains none " +"of\", not \"does not contain all of\"." msgstr "" -#: ../system/core-workflows/condition-operators.rst:39 -msgid "Matches if one specified value is present." +#: ../system/core-workflows/condition-operators.rst:46 +msgid "" +"In triggers and overviews, this operator means \"not all of the specified " +"values are present\" instead. See the examples section below." msgstr "" -#: ../system/core-workflows/condition-operators.rst:41 -msgid "Matches if one specified value is not present." +#: ../system/core-workflows/condition-operators.rst:50 +msgid "" +"Same as ``contains``. Matches if **at least one** of the specified values is " +"present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:42 +#: ../system/core-workflows/condition-operators.rst:53 +msgid "" +"Same as ``contains not``. Matches if the field contains at least one value " +"that is **not** among the specified values." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:56 msgid "does not match regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:43 +#: ../system/core-workflows/condition-operators.rst:57 msgid "Matches if content doesn't fit to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:44 +#: ../system/core-workflows/condition-operators.rst:58 msgid "ends with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:45 +#: ../system/core-workflows/condition-operators.rst:59 msgid "Matches if content ends with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:46 +#: ../system/core-workflows/condition-operators.rst:60 msgid "ends with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:47 +#: ../system/core-workflows/condition-operators.rst:61 msgid "Matches if content ends with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:48 +#: ../system/core-workflows/condition-operators.rst:62 msgid "from (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:63 msgid "Matches if date/time is after a period of time after an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:51 +#: ../system/core-workflows/condition-operators.rst:65 msgid "Matches if content is equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:66 msgid "is any of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:53 +#: ../system/core-workflows/condition-operators.rst:67 msgid "Matches if content is equal to any of specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:54 +#: ../system/core-workflows/condition-operators.rst:68 msgid "is greater than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:55 +#: ../system/core-workflows/condition-operators.rst:69 msgid "Matches if the value is greater than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:56 +#: ../system/core-workflows/condition-operators.rst:70 msgid "is greater than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:57 +#: ../system/core-workflows/condition-operators.rst:71 msgid "Matches if the value is greater than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:58 +#: ../system/core-workflows/condition-operators.rst:72 msgid "is less than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:59 +#: ../system/core-workflows/condition-operators.rst:73 msgid "Matches if the value is less than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:60 +#: ../system/core-workflows/condition-operators.rst:74 msgid "is less than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:61 +#: ../system/core-workflows/condition-operators.rst:75 msgid "Matches if the value is less than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:62 +#: ../system/core-workflows/condition-operators.rst:76 msgid "is modified" msgstr "" -#: ../system/core-workflows/condition-operators.rst:63 +#: ../system/core-workflows/condition-operators.rst:77 msgid "Matches if content is modified." msgstr "" -#: ../system/core-workflows/condition-operators.rst:65 -#: ../system/core-workflows/condition-operators.rst:69 +#: ../system/core-workflows/condition-operators.rst:79 +#: ../system/core-workflows/condition-operators.rst:83 msgid "True from the moment of changing content until form submit." msgstr "" -#: ../system/core-workflows/condition-operators.rst:66 +#: ../system/core-workflows/condition-operators.rst:80 msgid "is modified to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:67 +#: ../system/core-workflows/condition-operators.rst:81 msgid "Matches if content is modified to a specific value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:70 +#: ../system/core-workflows/condition-operators.rst:84 msgid "is none of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:71 +#: ../system/core-workflows/condition-operators.rst:85 msgid "Matches if content is none of any specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:73 +#: ../system/core-workflows/condition-operators.rst:87 msgid "Matches if content is not equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:75 +#: ../system/core-workflows/condition-operators.rst:89 msgid "Matches if content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:76 +#: ../system/core-workflows/condition-operators.rst:90 msgid "just changed" msgstr "" -#: ../system/core-workflows/condition-operators.rst:77 +#: ../system/core-workflows/condition-operators.rst:91 msgid "Matches if content has changed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:79 -#: ../system/core-workflows/condition-operators.rst:83 +#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:97 msgid "" "Only true for the moment of changing content until next form field action/" "click." msgstr "" -#: ../system/core-workflows/condition-operators.rst:80 +#: ../system/core-workflows/condition-operators.rst:94 msgid "just changed to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:81 +#: ../system/core-workflows/condition-operators.rst:95 msgid "Matches if content has changed to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:84 +#: ../system/core-workflows/condition-operators.rst:98 msgid "matches regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:85 +#: ../system/core-workflows/condition-operators.rst:99 msgid "Matches if value fits to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:87 +#: ../system/core-workflows/condition-operators.rst:101 msgid "Matches if no content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:88 +#: ../system/core-workflows/condition-operators.rst:102 msgid "starts with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:89 +#: ../system/core-workflows/condition-operators.rst:103 msgid "Matches if content starts with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:90 +#: ../system/core-workflows/condition-operators.rst:104 msgid "starts with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:91 +#: ../system/core-workflows/condition-operators.rst:105 msgid "Matches if content starts with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:92 +#: ../system/core-workflows/condition-operators.rst:106 msgid "till (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:107 msgid "Matches if date/time is before a period of time before an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:94 +#: ../system/core-workflows/condition-operators.rst:108 msgid "today" msgstr "" -#: ../system/core-workflows/condition-operators.rst:95 +#: ../system/core-workflows/condition-operators.rst:109 msgid "Matches if date/time is today." msgstr "" -#: ../system/core-workflows/condition-operators.rst:96 +#: ../system/core-workflows/condition-operators.rst:110 msgid "within last (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:97 +#: ../system/core-workflows/condition-operators.rst:111 msgid "" "Matches if date/time content is within specified period of time before now." msgstr "" -#: ../system/core-workflows/condition-operators.rst:99 +#: ../system/core-workflows/condition-operators.rst:113 msgid "within next (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:100 +#: ../system/core-workflows/condition-operators.rst:114 msgid "" "Matches if date/time content is within specified period of time after now." msgstr "" +#: ../system/core-workflows/condition-operators.rst:118 +msgid "Multi-Select Operators" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:120 +msgid "" +"The ``contains`` family of operators compares two sets of values: the values " +"currently in the field and the values specified in the condition. The " +"diagrams below show the condition values as an orange circle and the field " +"values as a blue circle." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:128 +msgid "Differences to Triggers and Overviews" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:130 +msgid "" +"Be aware that these operators behave **differently** in other features that " +"use conditions (e.g. triggers and overviews). The most confusing difference: " +"in core workflows, ``contains all not`` means that no value matches at all, " +"while in triggers and overviews it means \"not all values are present\". The " +"table below compares both worlds side by side." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:142 +msgid "Core workflows (this page)" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:143 +msgid "Triggers, overviews, etc." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:145 +#: ../system/core-workflows/condition-operators.rst:149 +msgid "At least one value is present (OR logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:146 +msgid "Not available; ``contains one`` is the equivalent." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:148 +#: ../system/core-workflows/condition-operators.rst:188 +#: ../system/core-workflows/condition-operators.rst:228 +#: ../system/core-workflows/condition-operators.rst:271 +#: ../system/core-workflows/condition-operators.rst:311 +msgid "Same as ``contains``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:151 +#: ../system/core-workflows/condition-operators.rst:152 +msgid "Every value is present (AND logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:154 +msgid "" +"At least one field value is outside the condition, or the field is empty." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:156 +msgid "Not available for multi-select fields." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:158 +#: ../system/core-workflows/condition-operators.rst:197 +#: ../system/core-workflows/condition-operators.rst:237 +#: ../system/core-workflows/condition-operators.rst:280 +#: ../system/core-workflows/condition-operators.rst:320 +msgid "Same as ``contains not``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:162 +msgid "Not all values are present (at least one is missing)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:194 +msgid "``C`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:200 +msgid "``A`` and ``B`` are present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:234 +msgid "``D`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:240 +msgid "``C`` is present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:242 +msgid "" +"This partial overlap is where the two \"all\" operators part ways: " +"``contains all`` fails because one condition value is missing, while " +"``contains all not`` fails because a single common value is enough to block " +"it." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:277 +msgid "``C`` and ``D`` are not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:285 +msgid "This is the only example where ``contains all not`` matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:317 +msgid "An empty field matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:323 +msgid "An empty field has no value in common with the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:325 +msgid "" +"Note that ``contains not`` and ``contains one not`` match an empty field, " +"while ``contains`` and ``contains all`` do not. If you want to exclude " +"specific values, be aware that empty fields pass the condition." +msgstr "" + #: ../system/core-workflows/how-do-they-work.rst:2 msgid "How do they work?" msgstr "" diff --git a/locale/es_CO/LC_MESSAGES/admin-docs.po b/locale/es_CO/LC_MESSAGES/admin-docs.po index 386bbda84..64c478f55 100644 --- a/locale/es_CO/LC_MESSAGES/admin-docs.po +++ b/locale/es_CO/LC_MESSAGES/admin-docs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Zammad\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-24 17:19+0200\n" +"POT-Creation-Date: 2026-08-28 15:08+0200\n" "PO-Revision-Date: 2026-07-29 07:57+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Spanish (Colombia) ` and consider switching your plan. When a " @@ -1132,17 +1133,17 @@ msgid "" "alerted when few calls remain." msgstr "" -#: ../ai/provider.rst:288 +#: ../ai/provider.rst:289 msgid "" "On SaaS, the Zammad AI provider is provisioned by the platform and you " "cannot delete it or change its type." msgstr "" -#: ../ai/provider.rst:295 +#: ../ai/provider.rst:296 msgid "Self-Hosted Customers" msgstr "" -#: ../ai/provider.rst:292 +#: ../ai/provider.rst:293 msgid "" "Get in touch with our `sales department `_ to obtain a Zammad AI API key and to buy AI calls. After " @@ -1150,14 +1151,14 @@ msgid "" "key." msgstr "" -#: ../ai/provider.rst:300 +#: ../ai/provider.rst:301 msgid "" "`Ollama `_ lets you run your own AI server on a machine " "you control, so your data is not transferred to a third party. This approach " "only makes sense if you have a powerful GPU in your system!" msgstr "" -#: ../ai/provider.rst:304 +#: ../ai/provider.rst:305 msgid "" "If you don't have Ollama running yet, their `documentation `_ is a good starting point. Available models are listed in " @@ -4205,7 +4206,7 @@ msgstr "" msgid "Signatures" msgstr "" -#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:436 +#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:450 #: ../system/monitoring.rst:9 msgid "General" msgstr "" @@ -4934,7 +4935,7 @@ msgstr "" #: ../channels/form.rst:250 ../manage/public-links.rst:43 #: ../misc/object-conditions/basics.rst:63 ../misc/variables.rst:101 -#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:22 #: ../system/objects/permissions.rst:36 ../system/subscription.rst:196 msgid "Description" msgstr "" @@ -8662,6 +8663,29 @@ msgstr "" #: ../manage/groups/settings.rst:42 ../manage/groups/settings.rst:63 #: ../misc/object-conditions/basics.rst:121 #: ../misc/object-conditions/basics.rst:136 +#: ../misc/object-conditions/basics.rst:514 +#: ../misc/object-conditions/basics.rst:517 +#: ../misc/object-conditions/basics.rst:548 +#: ../misc/object-conditions/basics.rst:554 +#: ../misc/object-conditions/basics.rst:591 +#: ../misc/object-conditions/basics.rst:594 +#: ../misc/object-conditions/basics.rst:623 +#: ../misc/object-conditions/basics.rst:626 +#: ../system/core-workflows/condition-operators.rst:184 +#: ../system/core-workflows/condition-operators.rst:187 +#: ../system/core-workflows/condition-operators.rst:190 +#: ../system/core-workflows/condition-operators.rst:193 +#: ../system/core-workflows/condition-operators.rst:196 +#: ../system/core-workflows/condition-operators.rst:224 +#: ../system/core-workflows/condition-operators.rst:227 +#: ../system/core-workflows/condition-operators.rst:233 +#: ../system/core-workflows/condition-operators.rst:236 +#: ../system/core-workflows/condition-operators.rst:276 +#: ../system/core-workflows/condition-operators.rst:279 +#: ../system/core-workflows/condition-operators.rst:282 +#: ../system/core-workflows/condition-operators.rst:316 +#: ../system/core-workflows/condition-operators.rst:319 +#: ../system/core-workflows/condition-operators.rst:322 msgid "yes" msgstr "" @@ -8716,6 +8740,23 @@ msgstr "" #: ../manage/groups/settings.rst:66 ../misc/object-conditions/basics.rst:122 #: ../misc/object-conditions/basics.rst:137 +#: ../misc/object-conditions/basics.rst:520 +#: ../misc/object-conditions/basics.rst:523 +#: ../misc/object-conditions/basics.rst:551 +#: ../misc/object-conditions/basics.rst:557 +#: ../misc/object-conditions/basics.rst:585 +#: ../misc/object-conditions/basics.rst:588 +#: ../misc/object-conditions/basics.rst:617 +#: ../misc/object-conditions/basics.rst:620 +#: ../system/core-workflows/condition-operators.rst:199 +#: ../system/core-workflows/condition-operators.rst:230 +#: ../system/core-workflows/condition-operators.rst:239 +#: ../system/core-workflows/condition-operators.rst:267 +#: ../system/core-workflows/condition-operators.rst:270 +#: ../system/core-workflows/condition-operators.rst:273 +#: ../system/core-workflows/condition-operators.rst:307 +#: ../system/core-workflows/condition-operators.rst:310 +#: ../system/core-workflows/condition-operators.rst:313 msgid "no" msgstr "" @@ -9121,7 +9162,7 @@ msgid "" msgstr "" #: ../manage/knowledge-base.rst:136 ../manage/public-links.rst:35 -#: ../manage/time-accounting.rst:147 ../manage/time-accounting.rst:161 +#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 #: ../system/maintenance.rst:31 msgid "Title" msgstr "" @@ -12365,16 +12406,18 @@ msgstr "" #: ../manage/time-accounting.rst:22 msgid "" "If a ticket is relevant, Zammad will request the agent to provide the time " -"which was needed to process the current ticket step. In order for Zammad to " -"bring up the time accounting dialog to an agent, the agent has to update the " -"ticket together with an article of any type. The adding of an article is " -"mandatory to invoke the time accounting dialog. However, the time accounting " -"dialog is not mandatory and can be canceled by your agents. You cannot " -"enforce the time accounting. When a ticket is no longer considered for the " -"time accounting, the already accounted time will be preserved." +"which was needed to process the current ticket step. This accounted time is " +"displayed in the ticket sidebar at ticket level and in the article meta " +"information for an individual article. In order for Zammad to bring up the " +"time accounting dialog to an agent, the agent has to update the ticket " +"together with an article of any type. The adding of an article is mandatory " +"to invoke the time accounting dialog. However, the time accounting dialog is " +"not mandatory and can be canceled by your agents. You cannot enforce the " +"time accounting. When a ticket is no longer considered for the time " +"accounting, the already accounted time will be preserved." msgstr "" -#: ../manage/time-accounting.rst:33 +#: ../manage/time-accounting.rst:35 msgid "" "The selector applies to the ticket state before any attribute changes have " "been saved. That means if your agent is e.g. going to close a ticket " @@ -12386,49 +12429,49 @@ msgstr "" msgid "Time Accounting Ticket Selector" msgstr "" -#: ../manage/time-accounting.rst:42 +#: ../manage/time-accounting.rst:44 msgid "" "The accounted time is always a unitless number. However, it is possible to " "show a specific unit in the **Unit** section, which provides several options:" msgstr "" -#: ../manage/time-accounting.rst:46 +#: ../manage/time-accounting.rst:48 msgid "no unit" msgstr "" -#: ../manage/time-accounting.rst:47 +#: ../manage/time-accounting.rst:49 msgid "Default behavior, no unit is shown next to the time value." msgstr "" -#: ../manage/time-accounting.rst:48 +#: ../manage/time-accounting.rst:50 msgid "hour(s)" msgstr "" -#: ../manage/time-accounting.rst:49 +#: ../manage/time-accounting.rst:51 msgid "Shows ``hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:50 +#: ../manage/time-accounting.rst:52 msgid "quarter-hour(s)" msgstr "" -#: ../manage/time-accounting.rst:51 +#: ../manage/time-accounting.rst:53 msgid "Shows ``quarter-hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:52 +#: ../manage/time-accounting.rst:54 msgid "minute(s)" msgstr "" -#: ../manage/time-accounting.rst:53 +#: ../manage/time-accounting.rst:55 msgid "Shows ``minute(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "custom unit" msgstr "" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "Shows a custom unit that can be specified as free input." msgstr "" @@ -12436,7 +12479,7 @@ msgstr "" msgid "Time Accounting Unit" msgstr "" -#: ../manage/time-accounting.rst:62 +#: ../manage/time-accounting.rst:64 msgid "" "The unit is only displayed to make it easier for agents to account their " "time! No numerical transformation will be applied to the values, not even if " @@ -12448,11 +12491,11 @@ msgstr "" msgid "Time Accounting Unit when Recording" msgstr "" -#: ../manage/time-accounting.rst:72 +#: ../manage/time-accounting.rst:74 msgid "Activity Types" msgstr "" -#: ../manage/time-accounting.rst:74 +#: ../manage/time-accounting.rst:76 msgid "" "**Activity Types** can be used to group the different ticket time accounting " "entries together. For example, entries that are relevant to a \"Billing\" " @@ -12463,7 +12506,7 @@ msgstr "" msgid "Time Accounting Activity Types" msgstr "" -#: ../manage/time-accounting.rst:81 +#: ../manage/time-accounting.rst:83 msgid "" "When you enable the recording of the **Activity Type**, the agents will be " "able to select a type from this list." @@ -12473,13 +12516,13 @@ msgstr "" msgid "Time Accounting Activity Type Selection for Agents" msgstr "" -#: ../manage/time-accounting.rst:88 +#: ../manage/time-accounting.rst:90 msgid "" "Additionally, a column with an associated activity type will be rendered for " "an entry in the **Activity** table under the **Accounted Time** tab." msgstr "" -#: ../manage/time-accounting.rst:91 +#: ../manage/time-accounting.rst:93 msgid "" "You can manage available activity types in this screen like any other Zammad " "object. Only active types will be available for the selection when recording " @@ -12491,7 +12534,7 @@ msgstr "" msgid "New Time Accounting Activity Type Dialog" msgstr "" -#: ../manage/time-accounting.rst:100 +#: ../manage/time-accounting.rst:102 msgid "" "Activity types can be set as default, and in that case they will be pre-" "selected for the agents when they are asked to account their time. It is " @@ -12499,29 +12542,29 @@ msgid "" "pre-selected and the agents can make their choice." msgstr "" -#: ../manage/time-accounting.rst:106 +#: ../manage/time-accounting.rst:108 msgid "Accounted Time" msgstr "" -#: ../manage/time-accounting.rst:108 +#: ../manage/time-accounting.rst:110 msgid "" "Under the **Accounted Time** tab, Zammad provides a section for reviewing " "all accounted times for your tickets. Accounted times are displayed per " "years and months." msgstr "" -#: ../manage/time-accounting.rst:112 +#: ../manage/time-accounting.rst:114 msgid "" "If you have tickets that are overlapping several months, you can " "differentiate by *time units* and *time units total* (e.g. to allow partial " "billing) in the downloaded file." msgstr "" -#: ../manage/time-accounting.rst:123 +#: ../manage/time-accounting.rst:125 msgid "Select the right month" msgstr "" -#: ../manage/time-accounting.rst:117 +#: ../manage/time-accounting.rst:119 msgid "" "Usually you want to bill accounted time of other months than the current " "one. Just select the relevant year and month to receive the accounted times " @@ -12532,85 +12575,85 @@ msgstr "" msgid "Screenshot showing a selection for year and month on time accounting" msgstr "" -#: ../manage/time-accounting.rst:186 +#: ../manage/time-accounting.rst:188 msgid "Tickets and their accounted time" msgstr "" -#: ../manage/time-accounting.rst:126 +#: ../manage/time-accounting.rst:128 msgid "" "Zammad allows you to receive the accounted information just like you need " "them. For this you currently have four options to review and also download " "the relevant data as CSV." msgstr "" -#: ../manage/time-accounting.rst:130 +#: ../manage/time-accounting.rst:132 msgid "" "To download the CSV data, use the download button right next to each heading " "(e.g. \"Ticket\")." msgstr "" -#: ../manage/time-accounting.rst:133 +#: ../manage/time-accounting.rst:135 msgid "This can also be automated with API calls." msgstr "" -#: ../manage/time-accounting.rst:136 +#: ../manage/time-accounting.rst:138 msgid "" "Only the first 20 entries are shown for each table. To see all of them, " "simply download the records in CSV." msgstr "" -#: ../manage/time-accounting.rst:153 +#: ../manage/time-accounting.rst:155 msgid "Activity" msgstr "" -#: ../manage/time-accounting.rst:140 +#: ../manage/time-accounting.rst:142 msgid "" "This filter works similar to the ticket filter, with one exception: You'll " "find each *individual* time accounting step of your agents. This is what " "you'd also see in the ticket's history before Zammad 5.2." msgstr "" -#: ../manage/time-accounting.rst:144 ../manage/time-accounting.rst:158 -#: ../manage/time-accounting.rst:175 +#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:177 msgid "In this list you'll see the following ticket information:" msgstr "" -#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 #: ../settings/ticket.rst:103 msgid "Number" msgstr "" -#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 -#: ../manage/time-accounting.rst:179 ../manage/time-accounting.rst:177 +#: ../manage/time-accounting.rst:150 ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:181 ../manage/time-accounting.rst:179 #: ../misc/object-conditions/basics.rst:37 #: ../misc/object-conditions/basics.rst:89 #: ../misc/object-conditions/basics.rst:171 msgid "Customer" msgstr "" -#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 -#: ../manage/time-accounting.rst:178 +#: ../manage/time-accounting.rst:151 ../manage/time-accounting.rst:165 +#: ../manage/time-accounting.rst:180 msgid "Organization of customer (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:150 +#: ../manage/time-accounting.rst:152 msgid "Agent that accounted the time" msgstr "" -#: ../manage/time-accounting.rst:151 +#: ../manage/time-accounting.rst:153 msgid "Time units accounted in the current activity" msgstr "" -#: ../manage/time-accounting.rst:152 +#: ../manage/time-accounting.rst:154 msgid "Activity type (if enabled)" msgstr "" -#: ../manage/time-accounting.rst:153 ../manage/time-accounting.rst:167 +#: ../manage/time-accounting.rst:155 ../manage/time-accounting.rst:169 #: ../system/audit-logs.rst:76 msgid "Created at" msgstr "" -#: ../manage/time-accounting.rst:168 ../misc/object-conditions/basics.rst:26 +#: ../manage/time-accounting.rst:170 ../misc/object-conditions/basics.rst:26 #: ../misc/object-conditions/basics.rst:90 #: ../misc/object-conditions/basics.rst:126 #: ../misc/object-conditions/basics.rst:139 @@ -12626,45 +12669,45 @@ msgstr "" msgid "Ticket" msgstr "" -#: ../manage/time-accounting.rst:156 +#: ../manage/time-accounting.rst:158 msgid "This filter contains all relevant tickets from the selected month." msgstr "" -#: ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:166 msgid "Agent currently assigned (ticket owner)" msgstr "" -#: ../manage/time-accounting.rst:165 ../manage/time-accounting.rst:179 +#: ../manage/time-accounting.rst:167 ../manage/time-accounting.rst:181 msgid "Time units accounted in the current month" msgstr "" -#: ../manage/time-accounting.rst:166 +#: ../manage/time-accounting.rst:168 msgid "Time units total (time accounted during ticket life)" msgstr "" -#: ../manage/time-accounting.rst:168 +#: ../manage/time-accounting.rst:170 msgid "Closed at (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:171 +#: ../manage/time-accounting.rst:173 msgid "" "This provides you a per user filter on accounted time units. Each user has a " "total of time accounted in the current month (over all applicable tickets)." msgstr "" -#: ../manage/time-accounting.rst:186 ../misc/object-conditions/basics.rst:28 +#: ../manage/time-accounting.rst:188 ../misc/object-conditions/basics.rst:28 #: ../misc/object-conditions/basics.rst:115 #: ../misc/object-conditions/basics.rst:146 ../settings/branding.rst:16 msgid "Organization" msgstr "" -#: ../manage/time-accounting.rst:182 +#: ../manage/time-accounting.rst:184 msgid "" "This provides a list of all organizations where customers have caused " "accounted time in that month." msgstr "" -#: ../manage/time-accounting.rst:185 +#: ../manage/time-accounting.rst:187 msgid "" "You can also see entries for customers that are part of a primary " "organization. Users without an organization can be found in the Customer " @@ -15800,7 +15843,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:185 #: ../misc/object-conditions/basics.rst:209 #: ../misc/object-conditions/basics.rst:219 -#: ../system/core-workflows/condition-operators.rst:50 +#: ../system/core-workflows/condition-operators.rst:64 msgid "is" msgstr "" @@ -15817,7 +15860,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:186 #: ../misc/object-conditions/basics.rst:210 #: ../misc/object-conditions/basics.rst:220 -#: ../system/core-workflows/condition-operators.rst:72 +#: ../system/core-workflows/condition-operators.rst:86 msgid "is not" msgstr "" @@ -15888,7 +15931,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:97 #: ../misc/object-conditions/basics.rst:155 #: ../misc/object-conditions/basics.rst:204 -#: ../system/core-workflows/condition-operators.rst:86 +#: ../system/core-workflows/condition-operators.rst:100 msgid "not set" msgstr "" @@ -16046,22 +16089,58 @@ msgid "Checks tags of a ticket." msgstr "" #: ../misc/object-conditions/basics.rst:193 -#: ../system/core-workflows/condition-operators.rst:32 +#: ../misc/object-conditions/basics.rst:516 +#: ../misc/object-conditions/basics.rst:550 +#: ../misc/object-conditions/basics.rst:587 +#: ../misc/object-conditions/basics.rst:619 +#: ../system/core-workflows/condition-operators.rst:38 +#: ../system/core-workflows/condition-operators.rst:150 +#: ../system/core-workflows/condition-operators.rst:189 +#: ../system/core-workflows/condition-operators.rst:229 +#: ../system/core-workflows/condition-operators.rst:272 +#: ../system/core-workflows/condition-operators.rst:312 msgid "contains all" msgstr "" #: ../misc/object-conditions/basics.rst:194 -#: ../system/core-workflows/condition-operators.rst:38 +#: ../misc/object-conditions/basics.rst:513 +#: ../misc/object-conditions/basics.rst:547 +#: ../misc/object-conditions/basics.rst:584 +#: ../misc/object-conditions/basics.rst:616 +#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:147 +#: ../system/core-workflows/condition-operators.rst:186 +#: ../system/core-workflows/condition-operators.rst:226 +#: ../system/core-workflows/condition-operators.rst:269 +#: ../system/core-workflows/condition-operators.rst:309 msgid "contains one" msgstr "" #: ../misc/object-conditions/basics.rst:195 -#: ../system/core-workflows/condition-operators.rst:34 +#: ../misc/object-conditions/basics.rst:519 +#: ../misc/object-conditions/basics.rst:553 +#: ../misc/object-conditions/basics.rst:590 +#: ../misc/object-conditions/basics.rst:622 +#: ../system/core-workflows/condition-operators.rst:41 +#: ../system/core-workflows/condition-operators.rst:160 +#: ../system/core-workflows/condition-operators.rst:198 +#: ../system/core-workflows/condition-operators.rst:238 +#: ../system/core-workflows/condition-operators.rst:281 +#: ../system/core-workflows/condition-operators.rst:321 msgid "contains all not" msgstr "" #: ../misc/object-conditions/basics.rst:196 -#: ../system/core-workflows/condition-operators.rst:40 +#: ../misc/object-conditions/basics.rst:522 +#: ../misc/object-conditions/basics.rst:556 +#: ../misc/object-conditions/basics.rst:593 +#: ../misc/object-conditions/basics.rst:625 +#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:157 +#: ../system/core-workflows/condition-operators.rst:195 +#: ../system/core-workflows/condition-operators.rst:235 +#: ../system/core-workflows/condition-operators.rst:278 +#: ../system/core-workflows/condition-operators.rst:318 msgid "contains one not" msgstr "" @@ -16082,7 +16161,7 @@ msgid "Checks if time is accounted." msgstr "" #: ../misc/object-conditions/basics.rst:203 -#: ../system/core-workflows/condition-operators.rst:74 +#: ../system/core-workflows/condition-operators.rst:88 msgid "is set" msgstr "" @@ -16140,8 +16219,8 @@ msgstr "" #: ../misc/object-conditions/basics.rst:334 #: ../misc/object-conditions/basics.rst:381 #: ../misc/object-conditions/basics.rst:392 -#: ../misc/object-conditions/basics.rst:410 #: ../misc/object-conditions/basics.rst:421 +#: ../misc/object-conditions/basics.rst:432 msgid "Available operators for matching:" msgstr "" @@ -16227,7 +16306,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:269 #: ../misc/object-conditions/basics.rst:284 #: ../misc/object-conditions/basics.rst:385 -#: ../misc/object-conditions/basics.rst:414 +#: ../misc/object-conditions/basics.rst:425 msgid "**has changed**" msgstr "" @@ -16242,14 +16321,14 @@ msgstr "" #: ../misc/object-conditions/basics.rst:267 #: ../misc/object-conditions/basics.rst:278 #: ../misc/object-conditions/basics.rst:383 -#: ../misc/object-conditions/basics.rst:412 +#: ../misc/object-conditions/basics.rst:423 msgid "**is**" msgstr "" #: ../misc/object-conditions/basics.rst:268 #: ../misc/object-conditions/basics.rst:279 #: ../misc/object-conditions/basics.rst:384 -#: ../misc/object-conditions/basics.rst:413 +#: ../misc/object-conditions/basics.rst:424 msgid "**is not**" msgstr "" @@ -16497,7 +16576,7 @@ msgid "**contains all**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are selected." +msgid "Matches if **all** given field values are selected (AND logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16505,7 +16584,8 @@ msgid "**contains one**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is selected." +msgid "" +"Matches if **at least one** of the given field values is selected (OR logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16513,7 +16593,9 @@ msgid "**contains all not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are not selected." +msgid "" +"Matches if **not all** given field values are selected (at least one is " +"missing). This means \"not all of\", not \"none of\"." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16521,24 +16603,35 @@ msgid "**contains one not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is not selected." +msgid "" +"Matches if **none** of the given field values are selected. This means " +"\"none of\", not \"not all of\"." msgstr "" -#: ../misc/object-conditions/basics.rst:405 ../system/objects/types.rst:135 +#: ../misc/object-conditions/basics.rst:408 +msgid "" +"In :doc:`core workflows `, these operators have " +"different semantics. See :ref:`core workflow condition operators ` for details. Example scenarios for the " +"operators described here can be found in :ref:`multi-select-operator-" +"examples` below." +msgstr "" + +#: ../misc/object-conditions/basics.rst:416 ../system/objects/types.rst:135 msgid "Single Tree Selection Field" msgstr "" -#: ../misc/object-conditions/basics.rst:407 +#: ../misc/object-conditions/basics.rst:418 msgid "" "Checks if a selected field value match the attribute value. Selecting more " "than one value in the condition will act like an \"OR\" clause." msgstr "" -#: ../misc/object-conditions/basics.rst:417 ../system/objects/types.rst:148 +#: ../misc/object-conditions/basics.rst:428 ../system/objects/types.rst:148 msgid "Multiple Tree Selection Field" msgstr "" -#: ../misc/object-conditions/basics.rst:419 +#: ../misc/object-conditions/basics.rst:430 msgid "Checks if selected field value(s) match the attribute value(s)." msgstr "" @@ -16558,64 +16651,64 @@ msgstr "" msgid "**contains one not**" msgstr "" -#: ../misc/object-conditions/basics.rst:433 +#: ../misc/object-conditions/basics.rst:447 msgid "Additional Information and Remarks" msgstr "" -#: ../misc/object-conditions/basics.rst:442 +#: ../misc/object-conditions/basics.rst:456 msgid "Ticket context conditions do not support:" msgstr "" -#: ../misc/object-conditions/basics.rst:439 +#: ../misc/object-conditions/basics.rst:453 msgid "regular expressions" msgstr "" -#: ../misc/object-conditions/basics.rst:440 +#: ../misc/object-conditions/basics.rst:454 msgid "case sensitive string conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:441 +#: ../misc/object-conditions/basics.rst:455 msgid "" "Basic conditions do not support the same attribute to be selected more than " "once" msgstr "" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "**has changed** conditions:" msgstr "" -#: ../misc/object-conditions/basics.rst:445 +#: ../misc/object-conditions/basics.rst:459 msgid "Are only available for ticket attributes and don't affect:" msgstr "" -#: ../misc/object-conditions/basics.rst:447 +#: ../misc/object-conditions/basics.rst:461 msgid "Ticket articles attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:448 +#: ../misc/object-conditions/basics.rst:462 msgid "Organization attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:449 +#: ../misc/object-conditions/basics.rst:463 msgid "User attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "Group attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:463 +#: ../misc/object-conditions/basics.rst:477 msgid "Differences in input fields:" msgstr "" -#: ../misc/object-conditions/basics.rst:453 +#: ../misc/object-conditions/basics.rst:467 msgid "" "Please note that the input field for tokens doesn't support the comma as " "separator (as in the input field for tags). If you use the comma in the " "token input field, the comma is included in you token." msgstr "" -#: ../misc/object-conditions/basics.rst:457 +#: ../misc/object-conditions/basics.rst:471 msgid "**Example**:" msgstr "" @@ -16623,32 +16716,257 @@ msgstr "" msgid "Example of comma usage in token input field" msgstr "" -#: ../misc/object-conditions/basics.rst:462 +#: ../misc/object-conditions/basics.rst:476 msgid "" "``A`` added with enter/tab, ``B`` and ``C`` separated with comma (resulting " "in one token)." msgstr "" -#: ../misc/object-conditions/basics.rst:468 +#: ../misc/object-conditions/basics.rst:482 +msgid "Multi-Select Operator Examples" +msgstr "" + +#: ../misc/object-conditions/basics.rst:484 +msgid "" +"The ``contains`` family of operators for multi-select fields compares two " +"sets of values: the values currently in the field and the values specified " +"in the condition. The diagrams below show the condition values as an orange " +"circle and the field values as a blue circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:489 +msgid "" +"Be aware that these operators behave **differently** in :doc:`core workflows " +"`. See :ref:`core workflow condition operators ` for a side by side comparison." +msgstr "" + +#: ../misc/object-conditions/basics.rst:495 +#: ../system/core-workflows/condition-operators.rst:165 +msgid "Example 1: Condition A, B - Field A, B, C" +msgstr "" + +#: ../misc/object-conditions/basics.rst:497 +#: ../system/core-workflows/condition-operators.rst:167 +msgid "" +"In this scenario, the field holds the values A, B and C, while the condition " +"asks for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "" +"Venn diagram of condition values A, B and field values A, B, C. A and B are " +"in both circles, C only in the field circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "Condition values ``A, B`` overlap with field values ``A, B, C``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:510 +#: ../misc/object-conditions/basics.rst:544 +#: ../misc/object-conditions/basics.rst:581 +#: ../misc/object-conditions/basics.rst:613 +#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:141 +#: ../system/core-workflows/condition-operators.rst:180 +#: ../system/core-workflows/condition-operators.rst:220 +#: ../system/core-workflows/condition-operators.rst:263 +#: ../system/core-workflows/condition-operators.rst:303 +msgid "Operator" +msgstr "" + +#: ../misc/object-conditions/basics.rst:511 +#: ../misc/object-conditions/basics.rst:545 +#: ../misc/object-conditions/basics.rst:582 +#: ../misc/object-conditions/basics.rst:614 +#: ../system/core-workflows/condition-operators.rst:181 +#: ../system/core-workflows/condition-operators.rst:221 +#: ../system/core-workflows/condition-operators.rst:264 +#: ../system/core-workflows/condition-operators.rst:304 +msgid "Matches?" +msgstr "" + +#: ../misc/object-conditions/basics.rst:512 +#: ../misc/object-conditions/basics.rst:546 +#: ../misc/object-conditions/basics.rst:583 +#: ../misc/object-conditions/basics.rst:615 +#: ../system/core-workflows/condition-operators.rst:182 +#: ../system/core-workflows/condition-operators.rst:222 +#: ../system/core-workflows/condition-operators.rst:265 +#: ../system/core-workflows/condition-operators.rst:305 +msgid "Why" +msgstr "" + +#: ../misc/object-conditions/basics.rst:515 +#: ../system/core-workflows/condition-operators.rst:185 +msgid "``A`` and ``B`` are in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:518 +#: ../system/core-workflows/condition-operators.rst:191 +msgid "Both ``A`` and ``B`` are present (AND logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:521 +msgid "All condition values are present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:524 +msgid "The field has values in common with the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:527 +#: ../system/core-workflows/condition-operators.rst:203 +msgid "Example 2: Condition A, B, C - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:529 +#: ../system/core-workflows/condition-operators.rst:205 +msgid "" +"In this scenario, the field holds the values C and D. The condition value C " +"is present in the field, while A and B are not." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Venn diagram of condition values A, B, C and field values C, D.\n" +"Only C is in both circles." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Condition values ``A, B, C`` partially overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:549 +#: ../system/core-workflows/condition-operators.rst:225 +msgid "``C`` is in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:552 +#: ../system/core-workflows/condition-operators.rst:231 +msgid "Only ``C`` of the three condition values is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:555 +#: ../misc/object-conditions/basics.rst:592 +msgid "``A`` and ``B`` are missing from the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:558 +msgid "``C`` is in both the field and the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:560 +msgid "" +"This partial overlap is where the two \"not\" operators part ways: " +"``contains all not`` matches because a single condition value is missing, " +"while ``contains one not`` does not match because the one common value is " +"enough to block it." +msgstr "" + +#: ../misc/object-conditions/basics.rst:566 +#: ../system/core-workflows/condition-operators.rst:248 +msgid "Example 3: Condition A, B - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:568 +#: ../system/core-workflows/condition-operators.rst:250 +msgid "" +"In this scenario, the field holds the values C and D, which have nothing in " +"common with the condition values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "" +"Venn diagram of condition values A, B and field values C, D. The two circles " +"do not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "Condition values ``A, B`` have no overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:586 +#: ../system/core-workflows/condition-operators.rst:268 +msgid "No value is in both sets." +msgstr "" + +#: ../misc/object-conditions/basics.rst:589 +#: ../system/core-workflows/condition-operators.rst:274 +msgid "Neither ``A`` nor ``B`` is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:595 +#: ../misc/object-conditions/basics.rst:627 +#: ../system/core-workflows/condition-operators.rst:159 +#: ../system/core-workflows/condition-operators.rst:161 +#: ../system/core-workflows/condition-operators.rst:283 +msgid "The field has no value in common with the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:598 +#: ../system/core-workflows/condition-operators.rst:288 +msgid "Example 4: Condition A, B - Field is empty" +msgstr "" + +#: ../misc/object-conditions/basics.rst:600 +#: ../system/core-workflows/condition-operators.rst:290 +msgid "" +"In this scenario, the field holds no values at all, while the condition asks " +"for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "" +"Venn diagram of condition values A, B and an empty field. The two circles do " +"not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "The field holds no values at all." +msgstr "" + +#: ../misc/object-conditions/basics.rst:618 +#: ../misc/object-conditions/basics.rst:621 +#: ../system/core-workflows/condition-operators.rst:308 +#: ../system/core-workflows/condition-operators.rst:314 +msgid "No value is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:624 +msgid "No condition value is present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:632 msgid "Regex" msgstr "" -#: ../misc/object-conditions/basics.rst:473 +#: ../misc/object-conditions/basics.rst:637 msgid "Regex support" msgstr "" -#: ../misc/object-conditions/basics.rst:471 +#: ../misc/object-conditions/basics.rst:635 msgid "" "**matches regex** and **does not match regex** are supported only in " "Triggers, Time Accounting selector, Postmaster Filters, Automatic ticket " "assignment and Core Workflow." msgstr "" -#: ../misc/object-conditions/basics.rst:478 +#: ../misc/object-conditions/basics.rst:642 msgid "\"Old\" style ``regex:...`` conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:476 +#: ../misc/object-conditions/basics.rst:640 msgid "" "If you update your Zammad from 6.0 or prior and you have already conditions " "with **contains** or **contains not** including a regex filter (i.e. " @@ -22844,9 +23162,9 @@ msgstr "" #: ../system/core-workflows/condition-operators.rst:8 msgid "" -"Due to differences to other places in Zammad which are also using conditions " -"(e.g. triggers), you can find a dedicated description of operators for core " -"workflows below." +"Due to differences from other places in Zammad which are also using " +"conditions (e.g. triggers), you can find a dedicated description of " +"operators for core workflows below." msgstr "" #: ../system/core-workflows/condition-operators.rst:12 @@ -22856,272 +23174,419 @@ msgid "" "for system attributes (e.g. for \"tags\", \"active\")." msgstr "" -#: ../system/core-workflows/condition-operators.rst:20 -msgid "Operator" -msgstr "" - -#: ../system/core-workflows/condition-operators.rst:22 +#: ../system/core-workflows/condition-operators.rst:23 msgid "after (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:23 +#: ../system/core-workflows/condition-operators.rst:24 msgid "Matches if a date/time is after a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:24 +#: ../system/core-workflows/condition-operators.rst:25 msgid "after (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:25 +#: ../system/core-workflows/condition-operators.rst:26 msgid "Matches if a time span after a specified event has passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:26 +#: ../system/core-workflows/condition-operators.rst:27 msgid "before (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:27 +#: ../system/core-workflows/condition-operators.rst:28 msgid "Matches if a date/time is before a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:28 +#: ../system/core-workflows/condition-operators.rst:29 msgid "before (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:29 +#: ../system/core-workflows/condition-operators.rst:30 msgid "Matches if a time span after a specified event has not passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:30 +#: ../system/core-workflows/condition-operators.rst:31 +#: ../system/core-workflows/condition-operators.rst:144 +#: ../system/core-workflows/condition-operators.rst:183 +#: ../system/core-workflows/condition-operators.rst:223 +#: ../system/core-workflows/condition-operators.rst:266 +#: ../system/core-workflows/condition-operators.rst:306 msgid "contains" msgstr "" -#: ../system/core-workflows/condition-operators.rst:31 -msgid "Matches if a specified value is present." +#: ../system/core-workflows/condition-operators.rst:32 +msgid "" +"Matches if **at least one** of the specified values is present in the field " +"(OR logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:33 -msgid "Matches if all of the specified values are present." +#: ../system/core-workflows/condition-operators.rst:34 +#: ../system/core-workflows/condition-operators.rst:153 +#: ../system/core-workflows/condition-operators.rst:192 +#: ../system/core-workflows/condition-operators.rst:232 +#: ../system/core-workflows/condition-operators.rst:275 +#: ../system/core-workflows/condition-operators.rst:315 +msgid "contains not" msgstr "" #: ../system/core-workflows/condition-operators.rst:35 -msgid "Matches if none of the specified values are present." +msgid "" +"Matches if the field contains at least one value that is **not** among the " +"specified values. Also matches if the field is empty." msgstr "" -#: ../system/core-workflows/condition-operators.rst:36 -msgid "contains not" +#: ../system/core-workflows/condition-operators.rst:39 +msgid "" +"Matches if **every** specified value is present in the field (AND logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:37 -msgid "Matches if a specified value is not present." +#: ../system/core-workflows/condition-operators.rst:42 +msgid "" +"Matches if **none** of the specified values are present in the field. The " +"field and the condition have no value in common: this means \"contains none " +"of\", not \"does not contain all of\"." msgstr "" -#: ../system/core-workflows/condition-operators.rst:39 -msgid "Matches if one specified value is present." +#: ../system/core-workflows/condition-operators.rst:46 +msgid "" +"In triggers and overviews, this operator means \"not all of the specified " +"values are present\" instead. See the examples section below." msgstr "" -#: ../system/core-workflows/condition-operators.rst:41 -msgid "Matches if one specified value is not present." +#: ../system/core-workflows/condition-operators.rst:50 +msgid "" +"Same as ``contains``. Matches if **at least one** of the specified values is " +"present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:42 +#: ../system/core-workflows/condition-operators.rst:53 +msgid "" +"Same as ``contains not``. Matches if the field contains at least one value " +"that is **not** among the specified values." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:56 msgid "does not match regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:43 +#: ../system/core-workflows/condition-operators.rst:57 msgid "Matches if content doesn't fit to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:44 +#: ../system/core-workflows/condition-operators.rst:58 msgid "ends with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:45 +#: ../system/core-workflows/condition-operators.rst:59 msgid "Matches if content ends with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:46 +#: ../system/core-workflows/condition-operators.rst:60 msgid "ends with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:47 +#: ../system/core-workflows/condition-operators.rst:61 msgid "Matches if content ends with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:48 +#: ../system/core-workflows/condition-operators.rst:62 msgid "from (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:63 msgid "Matches if date/time is after a period of time after an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:51 +#: ../system/core-workflows/condition-operators.rst:65 msgid "Matches if content is equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:66 msgid "is any of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:53 +#: ../system/core-workflows/condition-operators.rst:67 msgid "Matches if content is equal to any of specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:54 +#: ../system/core-workflows/condition-operators.rst:68 msgid "is greater than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:55 +#: ../system/core-workflows/condition-operators.rst:69 msgid "Matches if the value is greater than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:56 +#: ../system/core-workflows/condition-operators.rst:70 msgid "is greater than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:57 +#: ../system/core-workflows/condition-operators.rst:71 msgid "Matches if the value is greater than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:58 +#: ../system/core-workflows/condition-operators.rst:72 msgid "is less than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:59 +#: ../system/core-workflows/condition-operators.rst:73 msgid "Matches if the value is less than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:60 +#: ../system/core-workflows/condition-operators.rst:74 msgid "is less than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:61 +#: ../system/core-workflows/condition-operators.rst:75 msgid "Matches if the value is less than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:62 +#: ../system/core-workflows/condition-operators.rst:76 msgid "is modified" msgstr "" -#: ../system/core-workflows/condition-operators.rst:63 +#: ../system/core-workflows/condition-operators.rst:77 msgid "Matches if content is modified." msgstr "" -#: ../system/core-workflows/condition-operators.rst:65 -#: ../system/core-workflows/condition-operators.rst:69 +#: ../system/core-workflows/condition-operators.rst:79 +#: ../system/core-workflows/condition-operators.rst:83 msgid "True from the moment of changing content until form submit." msgstr "" -#: ../system/core-workflows/condition-operators.rst:66 +#: ../system/core-workflows/condition-operators.rst:80 msgid "is modified to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:67 +#: ../system/core-workflows/condition-operators.rst:81 msgid "Matches if content is modified to a specific value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:70 +#: ../system/core-workflows/condition-operators.rst:84 msgid "is none of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:71 +#: ../system/core-workflows/condition-operators.rst:85 msgid "Matches if content is none of any specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:73 +#: ../system/core-workflows/condition-operators.rst:87 msgid "Matches if content is not equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:75 +#: ../system/core-workflows/condition-operators.rst:89 msgid "Matches if content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:76 +#: ../system/core-workflows/condition-operators.rst:90 msgid "just changed" msgstr "" -#: ../system/core-workflows/condition-operators.rst:77 +#: ../system/core-workflows/condition-operators.rst:91 msgid "Matches if content has changed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:79 -#: ../system/core-workflows/condition-operators.rst:83 +#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:97 msgid "" "Only true for the moment of changing content until next form field action/" "click." msgstr "" -#: ../system/core-workflows/condition-operators.rst:80 +#: ../system/core-workflows/condition-operators.rst:94 msgid "just changed to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:81 +#: ../system/core-workflows/condition-operators.rst:95 msgid "Matches if content has changed to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:84 +#: ../system/core-workflows/condition-operators.rst:98 msgid "matches regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:85 +#: ../system/core-workflows/condition-operators.rst:99 msgid "Matches if value fits to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:87 +#: ../system/core-workflows/condition-operators.rst:101 msgid "Matches if no content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:88 +#: ../system/core-workflows/condition-operators.rst:102 msgid "starts with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:89 +#: ../system/core-workflows/condition-operators.rst:103 msgid "Matches if content starts with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:90 +#: ../system/core-workflows/condition-operators.rst:104 msgid "starts with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:91 +#: ../system/core-workflows/condition-operators.rst:105 msgid "Matches if content starts with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:92 +#: ../system/core-workflows/condition-operators.rst:106 msgid "till (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:107 msgid "Matches if date/time is before a period of time before an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:94 +#: ../system/core-workflows/condition-operators.rst:108 msgid "today" msgstr "" -#: ../system/core-workflows/condition-operators.rst:95 +#: ../system/core-workflows/condition-operators.rst:109 msgid "Matches if date/time is today." msgstr "" -#: ../system/core-workflows/condition-operators.rst:96 +#: ../system/core-workflows/condition-operators.rst:110 msgid "within last (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:97 +#: ../system/core-workflows/condition-operators.rst:111 msgid "" "Matches if date/time content is within specified period of time before now." msgstr "" -#: ../system/core-workflows/condition-operators.rst:99 +#: ../system/core-workflows/condition-operators.rst:113 msgid "within next (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:100 +#: ../system/core-workflows/condition-operators.rst:114 msgid "" "Matches if date/time content is within specified period of time after now." msgstr "" +#: ../system/core-workflows/condition-operators.rst:118 +msgid "Multi-Select Operators" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:120 +msgid "" +"The ``contains`` family of operators compares two sets of values: the values " +"currently in the field and the values specified in the condition. The " +"diagrams below show the condition values as an orange circle and the field " +"values as a blue circle." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:128 +msgid "Differences to Triggers and Overviews" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:130 +msgid "" +"Be aware that these operators behave **differently** in other features that " +"use conditions (e.g. triggers and overviews). The most confusing difference: " +"in core workflows, ``contains all not`` means that no value matches at all, " +"while in triggers and overviews it means \"not all values are present\". The " +"table below compares both worlds side by side." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:142 +msgid "Core workflows (this page)" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:143 +msgid "Triggers, overviews, etc." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:145 +#: ../system/core-workflows/condition-operators.rst:149 +msgid "At least one value is present (OR logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:146 +msgid "Not available; ``contains one`` is the equivalent." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:148 +#: ../system/core-workflows/condition-operators.rst:188 +#: ../system/core-workflows/condition-operators.rst:228 +#: ../system/core-workflows/condition-operators.rst:271 +#: ../system/core-workflows/condition-operators.rst:311 +msgid "Same as ``contains``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:151 +#: ../system/core-workflows/condition-operators.rst:152 +msgid "Every value is present (AND logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:154 +msgid "" +"At least one field value is outside the condition, or the field is empty." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:156 +msgid "Not available for multi-select fields." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:158 +#: ../system/core-workflows/condition-operators.rst:197 +#: ../system/core-workflows/condition-operators.rst:237 +#: ../system/core-workflows/condition-operators.rst:280 +#: ../system/core-workflows/condition-operators.rst:320 +msgid "Same as ``contains not``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:162 +msgid "Not all values are present (at least one is missing)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:194 +msgid "``C`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:200 +msgid "``A`` and ``B`` are present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:234 +msgid "``D`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:240 +msgid "``C`` is present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:242 +msgid "" +"This partial overlap is where the two \"all\" operators part ways: " +"``contains all`` fails because one condition value is missing, while " +"``contains all not`` fails because a single common value is enough to block " +"it." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:277 +msgid "``C`` and ``D`` are not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:285 +msgid "This is the only example where ``contains all not`` matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:317 +msgid "An empty field matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:323 +msgid "An empty field has no value in common with the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:325 +msgid "" +"Note that ``contains not`` and ``contains one not`` match an empty field, " +"while ``contains`` and ``contains all`` do not. If you want to exclude " +"specific values, be aware that empty fields pass the condition." +msgstr "" + #: ../system/core-workflows/how-do-they-work.rst:2 msgid "How do they work?" msgstr "" diff --git a/locale/es_MX/LC_MESSAGES/admin-docs.po b/locale/es_MX/LC_MESSAGES/admin-docs.po index c18d93d22..64c8af57f 100644 --- a/locale/es_MX/LC_MESSAGES/admin-docs.po +++ b/locale/es_MX/LC_MESSAGES/admin-docs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Zammad\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-24 17:19+0200\n" +"POT-Creation-Date: 2026-08-28 15:08+0200\n" "PO-Revision-Date: 2026-07-29 07:58+0000\n" "Last-Translator: morealedgar \n" "Language-Team: Spanish (Mexico) ` and consider switching your plan. When a " @@ -1154,17 +1155,17 @@ msgid "" "alerted when few calls remain." msgstr "" -#: ../ai/provider.rst:288 +#: ../ai/provider.rst:289 msgid "" "On SaaS, the Zammad AI provider is provisioned by the platform and you " "cannot delete it or change its type." msgstr "" -#: ../ai/provider.rst:295 +#: ../ai/provider.rst:296 msgid "Self-Hosted Customers" msgstr "" -#: ../ai/provider.rst:292 +#: ../ai/provider.rst:293 msgid "" "Get in touch with our `sales department `_ to obtain a Zammad AI API key and to buy AI calls. After " @@ -1172,14 +1173,14 @@ msgid "" "key." msgstr "" -#: ../ai/provider.rst:300 +#: ../ai/provider.rst:301 msgid "" "`Ollama `_ lets you run your own AI server on a machine " "you control, so your data is not transferred to a third party. This approach " "only makes sense if you have a powerful GPU in your system!" msgstr "" -#: ../ai/provider.rst:304 +#: ../ai/provider.rst:305 msgid "" "If you don't have Ollama running yet, their `documentation `_ is a good starting point. Available models are listed in " @@ -4263,7 +4264,7 @@ msgstr "" msgid "Signatures" msgstr "" -#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:436 +#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:450 #: ../system/monitoring.rst:9 #, fuzzy msgid "General" @@ -4993,7 +4994,7 @@ msgstr "" #: ../channels/form.rst:250 ../manage/public-links.rst:43 #: ../misc/object-conditions/basics.rst:63 ../misc/variables.rst:101 -#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:22 #: ../system/objects/permissions.rst:36 ../system/subscription.rst:196 msgid "Description" msgstr "" @@ -8724,6 +8725,29 @@ msgstr "" #: ../manage/groups/settings.rst:42 ../manage/groups/settings.rst:63 #: ../misc/object-conditions/basics.rst:121 #: ../misc/object-conditions/basics.rst:136 +#: ../misc/object-conditions/basics.rst:514 +#: ../misc/object-conditions/basics.rst:517 +#: ../misc/object-conditions/basics.rst:548 +#: ../misc/object-conditions/basics.rst:554 +#: ../misc/object-conditions/basics.rst:591 +#: ../misc/object-conditions/basics.rst:594 +#: ../misc/object-conditions/basics.rst:623 +#: ../misc/object-conditions/basics.rst:626 +#: ../system/core-workflows/condition-operators.rst:184 +#: ../system/core-workflows/condition-operators.rst:187 +#: ../system/core-workflows/condition-operators.rst:190 +#: ../system/core-workflows/condition-operators.rst:193 +#: ../system/core-workflows/condition-operators.rst:196 +#: ../system/core-workflows/condition-operators.rst:224 +#: ../system/core-workflows/condition-operators.rst:227 +#: ../system/core-workflows/condition-operators.rst:233 +#: ../system/core-workflows/condition-operators.rst:236 +#: ../system/core-workflows/condition-operators.rst:276 +#: ../system/core-workflows/condition-operators.rst:279 +#: ../system/core-workflows/condition-operators.rst:282 +#: ../system/core-workflows/condition-operators.rst:316 +#: ../system/core-workflows/condition-operators.rst:319 +#: ../system/core-workflows/condition-operators.rst:322 msgid "yes" msgstr "" @@ -8778,6 +8802,23 @@ msgstr "" #: ../manage/groups/settings.rst:66 ../misc/object-conditions/basics.rst:122 #: ../misc/object-conditions/basics.rst:137 +#: ../misc/object-conditions/basics.rst:520 +#: ../misc/object-conditions/basics.rst:523 +#: ../misc/object-conditions/basics.rst:551 +#: ../misc/object-conditions/basics.rst:557 +#: ../misc/object-conditions/basics.rst:585 +#: ../misc/object-conditions/basics.rst:588 +#: ../misc/object-conditions/basics.rst:617 +#: ../misc/object-conditions/basics.rst:620 +#: ../system/core-workflows/condition-operators.rst:199 +#: ../system/core-workflows/condition-operators.rst:230 +#: ../system/core-workflows/condition-operators.rst:239 +#: ../system/core-workflows/condition-operators.rst:267 +#: ../system/core-workflows/condition-operators.rst:270 +#: ../system/core-workflows/condition-operators.rst:273 +#: ../system/core-workflows/condition-operators.rst:307 +#: ../system/core-workflows/condition-operators.rst:310 +#: ../system/core-workflows/condition-operators.rst:313 msgid "no" msgstr "" @@ -9183,7 +9224,7 @@ msgid "" msgstr "" #: ../manage/knowledge-base.rst:136 ../manage/public-links.rst:35 -#: ../manage/time-accounting.rst:147 ../manage/time-accounting.rst:161 +#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 #: ../system/maintenance.rst:31 msgid "Title" msgstr "" @@ -12431,16 +12472,18 @@ msgstr "" #: ../manage/time-accounting.rst:22 msgid "" "If a ticket is relevant, Zammad will request the agent to provide the time " -"which was needed to process the current ticket step. In order for Zammad to " -"bring up the time accounting dialog to an agent, the agent has to update the " -"ticket together with an article of any type. The adding of an article is " -"mandatory to invoke the time accounting dialog. However, the time accounting " -"dialog is not mandatory and can be canceled by your agents. You cannot " -"enforce the time accounting. When a ticket is no longer considered for the " -"time accounting, the already accounted time will be preserved." +"which was needed to process the current ticket step. This accounted time is " +"displayed in the ticket sidebar at ticket level and in the article meta " +"information for an individual article. In order for Zammad to bring up the " +"time accounting dialog to an agent, the agent has to update the ticket " +"together with an article of any type. The adding of an article is mandatory " +"to invoke the time accounting dialog. However, the time accounting dialog is " +"not mandatory and can be canceled by your agents. You cannot enforce the " +"time accounting. When a ticket is no longer considered for the time " +"accounting, the already accounted time will be preserved." msgstr "" -#: ../manage/time-accounting.rst:33 +#: ../manage/time-accounting.rst:35 msgid "" "The selector applies to the ticket state before any attribute changes have " "been saved. That means if your agent is e.g. going to close a ticket " @@ -12452,49 +12495,49 @@ msgstr "" msgid "Time Accounting Ticket Selector" msgstr "" -#: ../manage/time-accounting.rst:42 +#: ../manage/time-accounting.rst:44 msgid "" "The accounted time is always a unitless number. However, it is possible to " "show a specific unit in the **Unit** section, which provides several options:" msgstr "" -#: ../manage/time-accounting.rst:46 +#: ../manage/time-accounting.rst:48 msgid "no unit" msgstr "" -#: ../manage/time-accounting.rst:47 +#: ../manage/time-accounting.rst:49 msgid "Default behavior, no unit is shown next to the time value." msgstr "" -#: ../manage/time-accounting.rst:48 +#: ../manage/time-accounting.rst:50 msgid "hour(s)" msgstr "" -#: ../manage/time-accounting.rst:49 +#: ../manage/time-accounting.rst:51 msgid "Shows ``hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:50 +#: ../manage/time-accounting.rst:52 msgid "quarter-hour(s)" msgstr "" -#: ../manage/time-accounting.rst:51 +#: ../manage/time-accounting.rst:53 msgid "Shows ``quarter-hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:52 +#: ../manage/time-accounting.rst:54 msgid "minute(s)" msgstr "" -#: ../manage/time-accounting.rst:53 +#: ../manage/time-accounting.rst:55 msgid "Shows ``minute(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "custom unit" msgstr "" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "Shows a custom unit that can be specified as free input." msgstr "" @@ -12502,7 +12545,7 @@ msgstr "" msgid "Time Accounting Unit" msgstr "" -#: ../manage/time-accounting.rst:62 +#: ../manage/time-accounting.rst:64 msgid "" "The unit is only displayed to make it easier for agents to account their " "time! No numerical transformation will be applied to the values, not even if " @@ -12514,11 +12557,11 @@ msgstr "" msgid "Time Accounting Unit when Recording" msgstr "" -#: ../manage/time-accounting.rst:72 +#: ../manage/time-accounting.rst:74 msgid "Activity Types" msgstr "" -#: ../manage/time-accounting.rst:74 +#: ../manage/time-accounting.rst:76 msgid "" "**Activity Types** can be used to group the different ticket time accounting " "entries together. For example, entries that are relevant to a \"Billing\" " @@ -12529,7 +12572,7 @@ msgstr "" msgid "Time Accounting Activity Types" msgstr "" -#: ../manage/time-accounting.rst:81 +#: ../manage/time-accounting.rst:83 msgid "" "When you enable the recording of the **Activity Type**, the agents will be " "able to select a type from this list." @@ -12539,13 +12582,13 @@ msgstr "" msgid "Time Accounting Activity Type Selection for Agents" msgstr "" -#: ../manage/time-accounting.rst:88 +#: ../manage/time-accounting.rst:90 msgid "" "Additionally, a column with an associated activity type will be rendered for " "an entry in the **Activity** table under the **Accounted Time** tab." msgstr "" -#: ../manage/time-accounting.rst:91 +#: ../manage/time-accounting.rst:93 msgid "" "You can manage available activity types in this screen like any other Zammad " "object. Only active types will be available for the selection when recording " @@ -12557,7 +12600,7 @@ msgstr "" msgid "New Time Accounting Activity Type Dialog" msgstr "" -#: ../manage/time-accounting.rst:100 +#: ../manage/time-accounting.rst:102 msgid "" "Activity types can be set as default, and in that case they will be pre-" "selected for the agents when they are asked to account their time. It is " @@ -12565,29 +12608,29 @@ msgid "" "pre-selected and the agents can make their choice." msgstr "" -#: ../manage/time-accounting.rst:106 +#: ../manage/time-accounting.rst:108 msgid "Accounted Time" msgstr "" -#: ../manage/time-accounting.rst:108 +#: ../manage/time-accounting.rst:110 msgid "" "Under the **Accounted Time** tab, Zammad provides a section for reviewing " "all accounted times for your tickets. Accounted times are displayed per " "years and months." msgstr "" -#: ../manage/time-accounting.rst:112 +#: ../manage/time-accounting.rst:114 msgid "" "If you have tickets that are overlapping several months, you can " "differentiate by *time units* and *time units total* (e.g. to allow partial " "billing) in the downloaded file." msgstr "" -#: ../manage/time-accounting.rst:123 +#: ../manage/time-accounting.rst:125 msgid "Select the right month" msgstr "" -#: ../manage/time-accounting.rst:117 +#: ../manage/time-accounting.rst:119 msgid "" "Usually you want to bill accounted time of other months than the current " "one. Just select the relevant year and month to receive the accounted times " @@ -12598,85 +12641,85 @@ msgstr "" msgid "Screenshot showing a selection for year and month on time accounting" msgstr "" -#: ../manage/time-accounting.rst:186 +#: ../manage/time-accounting.rst:188 msgid "Tickets and their accounted time" msgstr "" -#: ../manage/time-accounting.rst:126 +#: ../manage/time-accounting.rst:128 msgid "" "Zammad allows you to receive the accounted information just like you need " "them. For this you currently have four options to review and also download " "the relevant data as CSV." msgstr "" -#: ../manage/time-accounting.rst:130 +#: ../manage/time-accounting.rst:132 msgid "" "To download the CSV data, use the download button right next to each heading " "(e.g. \"Ticket\")." msgstr "" -#: ../manage/time-accounting.rst:133 +#: ../manage/time-accounting.rst:135 msgid "This can also be automated with API calls." msgstr "" -#: ../manage/time-accounting.rst:136 +#: ../manage/time-accounting.rst:138 msgid "" "Only the first 20 entries are shown for each table. To see all of them, " "simply download the records in CSV." msgstr "" -#: ../manage/time-accounting.rst:153 +#: ../manage/time-accounting.rst:155 msgid "Activity" msgstr "" -#: ../manage/time-accounting.rst:140 +#: ../manage/time-accounting.rst:142 msgid "" "This filter works similar to the ticket filter, with one exception: You'll " "find each *individual* time accounting step of your agents. This is what " "you'd also see in the ticket's history before Zammad 5.2." msgstr "" -#: ../manage/time-accounting.rst:144 ../manage/time-accounting.rst:158 -#: ../manage/time-accounting.rst:175 +#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:177 msgid "In this list you'll see the following ticket information:" msgstr "" -#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 #: ../settings/ticket.rst:103 msgid "Number" msgstr "" -#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 -#: ../manage/time-accounting.rst:179 ../manage/time-accounting.rst:177 +#: ../manage/time-accounting.rst:150 ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:181 ../manage/time-accounting.rst:179 #: ../misc/object-conditions/basics.rst:37 #: ../misc/object-conditions/basics.rst:89 #: ../misc/object-conditions/basics.rst:171 msgid "Customer" msgstr "" -#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 -#: ../manage/time-accounting.rst:178 +#: ../manage/time-accounting.rst:151 ../manage/time-accounting.rst:165 +#: ../manage/time-accounting.rst:180 msgid "Organization of customer (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:150 +#: ../manage/time-accounting.rst:152 msgid "Agent that accounted the time" msgstr "" -#: ../manage/time-accounting.rst:151 +#: ../manage/time-accounting.rst:153 msgid "Time units accounted in the current activity" msgstr "" -#: ../manage/time-accounting.rst:152 +#: ../manage/time-accounting.rst:154 msgid "Activity type (if enabled)" msgstr "" -#: ../manage/time-accounting.rst:153 ../manage/time-accounting.rst:167 +#: ../manage/time-accounting.rst:155 ../manage/time-accounting.rst:169 #: ../system/audit-logs.rst:76 msgid "Created at" msgstr "" -#: ../manage/time-accounting.rst:168 ../misc/object-conditions/basics.rst:26 +#: ../manage/time-accounting.rst:170 ../misc/object-conditions/basics.rst:26 #: ../misc/object-conditions/basics.rst:90 #: ../misc/object-conditions/basics.rst:126 #: ../misc/object-conditions/basics.rst:139 @@ -12692,45 +12735,45 @@ msgstr "" msgid "Ticket" msgstr "" -#: ../manage/time-accounting.rst:156 +#: ../manage/time-accounting.rst:158 msgid "This filter contains all relevant tickets from the selected month." msgstr "" -#: ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:166 msgid "Agent currently assigned (ticket owner)" msgstr "" -#: ../manage/time-accounting.rst:165 ../manage/time-accounting.rst:179 +#: ../manage/time-accounting.rst:167 ../manage/time-accounting.rst:181 msgid "Time units accounted in the current month" msgstr "" -#: ../manage/time-accounting.rst:166 +#: ../manage/time-accounting.rst:168 msgid "Time units total (time accounted during ticket life)" msgstr "" -#: ../manage/time-accounting.rst:168 +#: ../manage/time-accounting.rst:170 msgid "Closed at (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:171 +#: ../manage/time-accounting.rst:173 msgid "" "This provides you a per user filter on accounted time units. Each user has a " "total of time accounted in the current month (over all applicable tickets)." msgstr "" -#: ../manage/time-accounting.rst:186 ../misc/object-conditions/basics.rst:28 +#: ../manage/time-accounting.rst:188 ../misc/object-conditions/basics.rst:28 #: ../misc/object-conditions/basics.rst:115 #: ../misc/object-conditions/basics.rst:146 ../settings/branding.rst:16 msgid "Organization" msgstr "" -#: ../manage/time-accounting.rst:182 +#: ../manage/time-accounting.rst:184 msgid "" "This provides a list of all organizations where customers have caused " "accounted time in that month." msgstr "" -#: ../manage/time-accounting.rst:185 +#: ../manage/time-accounting.rst:187 msgid "" "You can also see entries for customers that are part of a primary " "organization. Users without an organization can be found in the Customer " @@ -15868,7 +15911,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:185 #: ../misc/object-conditions/basics.rst:209 #: ../misc/object-conditions/basics.rst:219 -#: ../system/core-workflows/condition-operators.rst:50 +#: ../system/core-workflows/condition-operators.rst:64 msgid "is" msgstr "" @@ -15885,7 +15928,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:186 #: ../misc/object-conditions/basics.rst:210 #: ../misc/object-conditions/basics.rst:220 -#: ../system/core-workflows/condition-operators.rst:72 +#: ../system/core-workflows/condition-operators.rst:86 msgid "is not" msgstr "" @@ -15956,7 +15999,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:97 #: ../misc/object-conditions/basics.rst:155 #: ../misc/object-conditions/basics.rst:204 -#: ../system/core-workflows/condition-operators.rst:86 +#: ../system/core-workflows/condition-operators.rst:100 msgid "not set" msgstr "" @@ -16114,22 +16157,58 @@ msgid "Checks tags of a ticket." msgstr "" #: ../misc/object-conditions/basics.rst:193 -#: ../system/core-workflows/condition-operators.rst:32 +#: ../misc/object-conditions/basics.rst:516 +#: ../misc/object-conditions/basics.rst:550 +#: ../misc/object-conditions/basics.rst:587 +#: ../misc/object-conditions/basics.rst:619 +#: ../system/core-workflows/condition-operators.rst:38 +#: ../system/core-workflows/condition-operators.rst:150 +#: ../system/core-workflows/condition-operators.rst:189 +#: ../system/core-workflows/condition-operators.rst:229 +#: ../system/core-workflows/condition-operators.rst:272 +#: ../system/core-workflows/condition-operators.rst:312 msgid "contains all" msgstr "" #: ../misc/object-conditions/basics.rst:194 -#: ../system/core-workflows/condition-operators.rst:38 +#: ../misc/object-conditions/basics.rst:513 +#: ../misc/object-conditions/basics.rst:547 +#: ../misc/object-conditions/basics.rst:584 +#: ../misc/object-conditions/basics.rst:616 +#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:147 +#: ../system/core-workflows/condition-operators.rst:186 +#: ../system/core-workflows/condition-operators.rst:226 +#: ../system/core-workflows/condition-operators.rst:269 +#: ../system/core-workflows/condition-operators.rst:309 msgid "contains one" msgstr "" #: ../misc/object-conditions/basics.rst:195 -#: ../system/core-workflows/condition-operators.rst:34 +#: ../misc/object-conditions/basics.rst:519 +#: ../misc/object-conditions/basics.rst:553 +#: ../misc/object-conditions/basics.rst:590 +#: ../misc/object-conditions/basics.rst:622 +#: ../system/core-workflows/condition-operators.rst:41 +#: ../system/core-workflows/condition-operators.rst:160 +#: ../system/core-workflows/condition-operators.rst:198 +#: ../system/core-workflows/condition-operators.rst:238 +#: ../system/core-workflows/condition-operators.rst:281 +#: ../system/core-workflows/condition-operators.rst:321 msgid "contains all not" msgstr "" #: ../misc/object-conditions/basics.rst:196 -#: ../system/core-workflows/condition-operators.rst:40 +#: ../misc/object-conditions/basics.rst:522 +#: ../misc/object-conditions/basics.rst:556 +#: ../misc/object-conditions/basics.rst:593 +#: ../misc/object-conditions/basics.rst:625 +#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:157 +#: ../system/core-workflows/condition-operators.rst:195 +#: ../system/core-workflows/condition-operators.rst:235 +#: ../system/core-workflows/condition-operators.rst:278 +#: ../system/core-workflows/condition-operators.rst:318 msgid "contains one not" msgstr "" @@ -16150,7 +16229,7 @@ msgid "Checks if time is accounted." msgstr "" #: ../misc/object-conditions/basics.rst:203 -#: ../system/core-workflows/condition-operators.rst:74 +#: ../system/core-workflows/condition-operators.rst:88 msgid "is set" msgstr "" @@ -16208,8 +16287,8 @@ msgstr "" #: ../misc/object-conditions/basics.rst:334 #: ../misc/object-conditions/basics.rst:381 #: ../misc/object-conditions/basics.rst:392 -#: ../misc/object-conditions/basics.rst:410 #: ../misc/object-conditions/basics.rst:421 +#: ../misc/object-conditions/basics.rst:432 msgid "Available operators for matching:" msgstr "" @@ -16295,7 +16374,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:269 #: ../misc/object-conditions/basics.rst:284 #: ../misc/object-conditions/basics.rst:385 -#: ../misc/object-conditions/basics.rst:414 +#: ../misc/object-conditions/basics.rst:425 msgid "**has changed**" msgstr "" @@ -16310,14 +16389,14 @@ msgstr "" #: ../misc/object-conditions/basics.rst:267 #: ../misc/object-conditions/basics.rst:278 #: ../misc/object-conditions/basics.rst:383 -#: ../misc/object-conditions/basics.rst:412 +#: ../misc/object-conditions/basics.rst:423 msgid "**is**" msgstr "" #: ../misc/object-conditions/basics.rst:268 #: ../misc/object-conditions/basics.rst:279 #: ../misc/object-conditions/basics.rst:384 -#: ../misc/object-conditions/basics.rst:413 +#: ../misc/object-conditions/basics.rst:424 msgid "**is not**" msgstr "" @@ -16565,7 +16644,7 @@ msgid "**contains all**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are selected." +msgid "Matches if **all** given field values are selected (AND logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16573,7 +16652,8 @@ msgid "**contains one**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is selected." +msgid "" +"Matches if **at least one** of the given field values is selected (OR logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16581,7 +16661,9 @@ msgid "**contains all not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are not selected." +msgid "" +"Matches if **not all** given field values are selected (at least one is " +"missing). This means \"not all of\", not \"none of\"." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16589,24 +16671,35 @@ msgid "**contains one not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is not selected." +msgid "" +"Matches if **none** of the given field values are selected. This means " +"\"none of\", not \"not all of\"." msgstr "" -#: ../misc/object-conditions/basics.rst:405 ../system/objects/types.rst:135 +#: ../misc/object-conditions/basics.rst:408 +msgid "" +"In :doc:`core workflows `, these operators have " +"different semantics. See :ref:`core workflow condition operators ` for details. Example scenarios for the " +"operators described here can be found in :ref:`multi-select-operator-" +"examples` below." +msgstr "" + +#: ../misc/object-conditions/basics.rst:416 ../system/objects/types.rst:135 msgid "Single Tree Selection Field" msgstr "" -#: ../misc/object-conditions/basics.rst:407 +#: ../misc/object-conditions/basics.rst:418 msgid "" "Checks if a selected field value match the attribute value. Selecting more " "than one value in the condition will act like an \"OR\" clause." msgstr "" -#: ../misc/object-conditions/basics.rst:417 ../system/objects/types.rst:148 +#: ../misc/object-conditions/basics.rst:428 ../system/objects/types.rst:148 msgid "Multiple Tree Selection Field" msgstr "" -#: ../misc/object-conditions/basics.rst:419 +#: ../misc/object-conditions/basics.rst:430 msgid "Checks if selected field value(s) match the attribute value(s)." msgstr "" @@ -16626,64 +16719,64 @@ msgstr "" msgid "**contains one not**" msgstr "" -#: ../misc/object-conditions/basics.rst:433 +#: ../misc/object-conditions/basics.rst:447 msgid "Additional Information and Remarks" msgstr "" -#: ../misc/object-conditions/basics.rst:442 +#: ../misc/object-conditions/basics.rst:456 msgid "Ticket context conditions do not support:" msgstr "" -#: ../misc/object-conditions/basics.rst:439 +#: ../misc/object-conditions/basics.rst:453 msgid "regular expressions" msgstr "" -#: ../misc/object-conditions/basics.rst:440 +#: ../misc/object-conditions/basics.rst:454 msgid "case sensitive string conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:441 +#: ../misc/object-conditions/basics.rst:455 msgid "" "Basic conditions do not support the same attribute to be selected more than " "once" msgstr "" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "**has changed** conditions:" msgstr "" -#: ../misc/object-conditions/basics.rst:445 +#: ../misc/object-conditions/basics.rst:459 msgid "Are only available for ticket attributes and don't affect:" msgstr "" -#: ../misc/object-conditions/basics.rst:447 +#: ../misc/object-conditions/basics.rst:461 msgid "Ticket articles attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:448 +#: ../misc/object-conditions/basics.rst:462 msgid "Organization attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:449 +#: ../misc/object-conditions/basics.rst:463 msgid "User attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "Group attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:463 +#: ../misc/object-conditions/basics.rst:477 msgid "Differences in input fields:" msgstr "" -#: ../misc/object-conditions/basics.rst:453 +#: ../misc/object-conditions/basics.rst:467 msgid "" "Please note that the input field for tokens doesn't support the comma as " "separator (as in the input field for tags). If you use the comma in the " "token input field, the comma is included in you token." msgstr "" -#: ../misc/object-conditions/basics.rst:457 +#: ../misc/object-conditions/basics.rst:471 msgid "**Example**:" msgstr "" @@ -16691,32 +16784,257 @@ msgstr "" msgid "Example of comma usage in token input field" msgstr "" -#: ../misc/object-conditions/basics.rst:462 +#: ../misc/object-conditions/basics.rst:476 msgid "" "``A`` added with enter/tab, ``B`` and ``C`` separated with comma (resulting " "in one token)." msgstr "" -#: ../misc/object-conditions/basics.rst:468 +#: ../misc/object-conditions/basics.rst:482 +msgid "Multi-Select Operator Examples" +msgstr "" + +#: ../misc/object-conditions/basics.rst:484 +msgid "" +"The ``contains`` family of operators for multi-select fields compares two " +"sets of values: the values currently in the field and the values specified " +"in the condition. The diagrams below show the condition values as an orange " +"circle and the field values as a blue circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:489 +msgid "" +"Be aware that these operators behave **differently** in :doc:`core workflows " +"`. See :ref:`core workflow condition operators ` for a side by side comparison." +msgstr "" + +#: ../misc/object-conditions/basics.rst:495 +#: ../system/core-workflows/condition-operators.rst:165 +msgid "Example 1: Condition A, B - Field A, B, C" +msgstr "" + +#: ../misc/object-conditions/basics.rst:497 +#: ../system/core-workflows/condition-operators.rst:167 +msgid "" +"In this scenario, the field holds the values A, B and C, while the condition " +"asks for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "" +"Venn diagram of condition values A, B and field values A, B, C. A and B are " +"in both circles, C only in the field circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "Condition values ``A, B`` overlap with field values ``A, B, C``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:510 +#: ../misc/object-conditions/basics.rst:544 +#: ../misc/object-conditions/basics.rst:581 +#: ../misc/object-conditions/basics.rst:613 +#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:141 +#: ../system/core-workflows/condition-operators.rst:180 +#: ../system/core-workflows/condition-operators.rst:220 +#: ../system/core-workflows/condition-operators.rst:263 +#: ../system/core-workflows/condition-operators.rst:303 +msgid "Operator" +msgstr "" + +#: ../misc/object-conditions/basics.rst:511 +#: ../misc/object-conditions/basics.rst:545 +#: ../misc/object-conditions/basics.rst:582 +#: ../misc/object-conditions/basics.rst:614 +#: ../system/core-workflows/condition-operators.rst:181 +#: ../system/core-workflows/condition-operators.rst:221 +#: ../system/core-workflows/condition-operators.rst:264 +#: ../system/core-workflows/condition-operators.rst:304 +msgid "Matches?" +msgstr "" + +#: ../misc/object-conditions/basics.rst:512 +#: ../misc/object-conditions/basics.rst:546 +#: ../misc/object-conditions/basics.rst:583 +#: ../misc/object-conditions/basics.rst:615 +#: ../system/core-workflows/condition-operators.rst:182 +#: ../system/core-workflows/condition-operators.rst:222 +#: ../system/core-workflows/condition-operators.rst:265 +#: ../system/core-workflows/condition-operators.rst:305 +msgid "Why" +msgstr "" + +#: ../misc/object-conditions/basics.rst:515 +#: ../system/core-workflows/condition-operators.rst:185 +msgid "``A`` and ``B`` are in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:518 +#: ../system/core-workflows/condition-operators.rst:191 +msgid "Both ``A`` and ``B`` are present (AND logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:521 +msgid "All condition values are present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:524 +msgid "The field has values in common with the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:527 +#: ../system/core-workflows/condition-operators.rst:203 +msgid "Example 2: Condition A, B, C - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:529 +#: ../system/core-workflows/condition-operators.rst:205 +msgid "" +"In this scenario, the field holds the values C and D. The condition value C " +"is present in the field, while A and B are not." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Venn diagram of condition values A, B, C and field values C, D.\n" +"Only C is in both circles." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Condition values ``A, B, C`` partially overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:549 +#: ../system/core-workflows/condition-operators.rst:225 +msgid "``C`` is in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:552 +#: ../system/core-workflows/condition-operators.rst:231 +msgid "Only ``C`` of the three condition values is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:555 +#: ../misc/object-conditions/basics.rst:592 +msgid "``A`` and ``B`` are missing from the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:558 +msgid "``C`` is in both the field and the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:560 +msgid "" +"This partial overlap is where the two \"not\" operators part ways: " +"``contains all not`` matches because a single condition value is missing, " +"while ``contains one not`` does not match because the one common value is " +"enough to block it." +msgstr "" + +#: ../misc/object-conditions/basics.rst:566 +#: ../system/core-workflows/condition-operators.rst:248 +msgid "Example 3: Condition A, B - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:568 +#: ../system/core-workflows/condition-operators.rst:250 +msgid "" +"In this scenario, the field holds the values C and D, which have nothing in " +"common with the condition values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "" +"Venn diagram of condition values A, B and field values C, D. The two circles " +"do not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "Condition values ``A, B`` have no overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:586 +#: ../system/core-workflows/condition-operators.rst:268 +msgid "No value is in both sets." +msgstr "" + +#: ../misc/object-conditions/basics.rst:589 +#: ../system/core-workflows/condition-operators.rst:274 +msgid "Neither ``A`` nor ``B`` is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:595 +#: ../misc/object-conditions/basics.rst:627 +#: ../system/core-workflows/condition-operators.rst:159 +#: ../system/core-workflows/condition-operators.rst:161 +#: ../system/core-workflows/condition-operators.rst:283 +msgid "The field has no value in common with the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:598 +#: ../system/core-workflows/condition-operators.rst:288 +msgid "Example 4: Condition A, B - Field is empty" +msgstr "" + +#: ../misc/object-conditions/basics.rst:600 +#: ../system/core-workflows/condition-operators.rst:290 +msgid "" +"In this scenario, the field holds no values at all, while the condition asks " +"for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "" +"Venn diagram of condition values A, B and an empty field. The two circles do " +"not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "The field holds no values at all." +msgstr "" + +#: ../misc/object-conditions/basics.rst:618 +#: ../misc/object-conditions/basics.rst:621 +#: ../system/core-workflows/condition-operators.rst:308 +#: ../system/core-workflows/condition-operators.rst:314 +msgid "No value is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:624 +msgid "No condition value is present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:632 msgid "Regex" msgstr "" -#: ../misc/object-conditions/basics.rst:473 +#: ../misc/object-conditions/basics.rst:637 msgid "Regex support" msgstr "" -#: ../misc/object-conditions/basics.rst:471 +#: ../misc/object-conditions/basics.rst:635 msgid "" "**matches regex** and **does not match regex** are supported only in " "Triggers, Time Accounting selector, Postmaster Filters, Automatic ticket " "assignment and Core Workflow." msgstr "" -#: ../misc/object-conditions/basics.rst:478 +#: ../misc/object-conditions/basics.rst:642 msgid "\"Old\" style ``regex:...`` conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:476 +#: ../misc/object-conditions/basics.rst:640 msgid "" "If you update your Zammad from 6.0 or prior and you have already conditions " "with **contains** or **contains not** including a regex filter (i.e. " @@ -22914,9 +23232,9 @@ msgstr "" #: ../system/core-workflows/condition-operators.rst:8 msgid "" -"Due to differences to other places in Zammad which are also using conditions " -"(e.g. triggers), you can find a dedicated description of operators for core " -"workflows below." +"Due to differences from other places in Zammad which are also using " +"conditions (e.g. triggers), you can find a dedicated description of " +"operators for core workflows below." msgstr "" #: ../system/core-workflows/condition-operators.rst:12 @@ -22926,272 +23244,419 @@ msgid "" "for system attributes (e.g. for \"tags\", \"active\")." msgstr "" -#: ../system/core-workflows/condition-operators.rst:20 -msgid "Operator" -msgstr "" - -#: ../system/core-workflows/condition-operators.rst:22 +#: ../system/core-workflows/condition-operators.rst:23 msgid "after (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:23 +#: ../system/core-workflows/condition-operators.rst:24 msgid "Matches if a date/time is after a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:24 +#: ../system/core-workflows/condition-operators.rst:25 msgid "after (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:25 +#: ../system/core-workflows/condition-operators.rst:26 msgid "Matches if a time span after a specified event has passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:26 +#: ../system/core-workflows/condition-operators.rst:27 msgid "before (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:27 +#: ../system/core-workflows/condition-operators.rst:28 msgid "Matches if a date/time is before a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:28 +#: ../system/core-workflows/condition-operators.rst:29 msgid "before (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:29 +#: ../system/core-workflows/condition-operators.rst:30 msgid "Matches if a time span after a specified event has not passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:30 +#: ../system/core-workflows/condition-operators.rst:31 +#: ../system/core-workflows/condition-operators.rst:144 +#: ../system/core-workflows/condition-operators.rst:183 +#: ../system/core-workflows/condition-operators.rst:223 +#: ../system/core-workflows/condition-operators.rst:266 +#: ../system/core-workflows/condition-operators.rst:306 msgid "contains" msgstr "" -#: ../system/core-workflows/condition-operators.rst:31 -msgid "Matches if a specified value is present." +#: ../system/core-workflows/condition-operators.rst:32 +msgid "" +"Matches if **at least one** of the specified values is present in the field " +"(OR logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:33 -msgid "Matches if all of the specified values are present." +#: ../system/core-workflows/condition-operators.rst:34 +#: ../system/core-workflows/condition-operators.rst:153 +#: ../system/core-workflows/condition-operators.rst:192 +#: ../system/core-workflows/condition-operators.rst:232 +#: ../system/core-workflows/condition-operators.rst:275 +#: ../system/core-workflows/condition-operators.rst:315 +msgid "contains not" msgstr "" #: ../system/core-workflows/condition-operators.rst:35 -msgid "Matches if none of the specified values are present." +msgid "" +"Matches if the field contains at least one value that is **not** among the " +"specified values. Also matches if the field is empty." msgstr "" -#: ../system/core-workflows/condition-operators.rst:36 -msgid "contains not" +#: ../system/core-workflows/condition-operators.rst:39 +msgid "" +"Matches if **every** specified value is present in the field (AND logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:37 -msgid "Matches if a specified value is not present." +#: ../system/core-workflows/condition-operators.rst:42 +msgid "" +"Matches if **none** of the specified values are present in the field. The " +"field and the condition have no value in common: this means \"contains none " +"of\", not \"does not contain all of\"." msgstr "" -#: ../system/core-workflows/condition-operators.rst:39 -msgid "Matches if one specified value is present." +#: ../system/core-workflows/condition-operators.rst:46 +msgid "" +"In triggers and overviews, this operator means \"not all of the specified " +"values are present\" instead. See the examples section below." msgstr "" -#: ../system/core-workflows/condition-operators.rst:41 -msgid "Matches if one specified value is not present." +#: ../system/core-workflows/condition-operators.rst:50 +msgid "" +"Same as ``contains``. Matches if **at least one** of the specified values is " +"present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:42 +#: ../system/core-workflows/condition-operators.rst:53 +msgid "" +"Same as ``contains not``. Matches if the field contains at least one value " +"that is **not** among the specified values." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:56 msgid "does not match regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:43 +#: ../system/core-workflows/condition-operators.rst:57 msgid "Matches if content doesn't fit to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:44 +#: ../system/core-workflows/condition-operators.rst:58 msgid "ends with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:45 +#: ../system/core-workflows/condition-operators.rst:59 msgid "Matches if content ends with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:46 +#: ../system/core-workflows/condition-operators.rst:60 msgid "ends with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:47 +#: ../system/core-workflows/condition-operators.rst:61 msgid "Matches if content ends with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:48 +#: ../system/core-workflows/condition-operators.rst:62 msgid "from (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:63 msgid "Matches if date/time is after a period of time after an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:51 +#: ../system/core-workflows/condition-operators.rst:65 msgid "Matches if content is equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:66 msgid "is any of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:53 +#: ../system/core-workflows/condition-operators.rst:67 msgid "Matches if content is equal to any of specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:54 +#: ../system/core-workflows/condition-operators.rst:68 msgid "is greater than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:55 +#: ../system/core-workflows/condition-operators.rst:69 msgid "Matches if the value is greater than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:56 +#: ../system/core-workflows/condition-operators.rst:70 msgid "is greater than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:57 +#: ../system/core-workflows/condition-operators.rst:71 msgid "Matches if the value is greater than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:58 +#: ../system/core-workflows/condition-operators.rst:72 msgid "is less than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:59 +#: ../system/core-workflows/condition-operators.rst:73 msgid "Matches if the value is less than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:60 +#: ../system/core-workflows/condition-operators.rst:74 msgid "is less than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:61 +#: ../system/core-workflows/condition-operators.rst:75 msgid "Matches if the value is less than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:62 +#: ../system/core-workflows/condition-operators.rst:76 msgid "is modified" msgstr "" -#: ../system/core-workflows/condition-operators.rst:63 +#: ../system/core-workflows/condition-operators.rst:77 msgid "Matches if content is modified." msgstr "" -#: ../system/core-workflows/condition-operators.rst:65 -#: ../system/core-workflows/condition-operators.rst:69 +#: ../system/core-workflows/condition-operators.rst:79 +#: ../system/core-workflows/condition-operators.rst:83 msgid "True from the moment of changing content until form submit." msgstr "" -#: ../system/core-workflows/condition-operators.rst:66 +#: ../system/core-workflows/condition-operators.rst:80 msgid "is modified to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:67 +#: ../system/core-workflows/condition-operators.rst:81 msgid "Matches if content is modified to a specific value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:70 +#: ../system/core-workflows/condition-operators.rst:84 msgid "is none of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:71 +#: ../system/core-workflows/condition-operators.rst:85 msgid "Matches if content is none of any specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:73 +#: ../system/core-workflows/condition-operators.rst:87 msgid "Matches if content is not equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:75 +#: ../system/core-workflows/condition-operators.rst:89 msgid "Matches if content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:76 +#: ../system/core-workflows/condition-operators.rst:90 msgid "just changed" msgstr "" -#: ../system/core-workflows/condition-operators.rst:77 +#: ../system/core-workflows/condition-operators.rst:91 msgid "Matches if content has changed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:79 -#: ../system/core-workflows/condition-operators.rst:83 +#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:97 msgid "" "Only true for the moment of changing content until next form field action/" "click." msgstr "" -#: ../system/core-workflows/condition-operators.rst:80 +#: ../system/core-workflows/condition-operators.rst:94 msgid "just changed to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:81 +#: ../system/core-workflows/condition-operators.rst:95 msgid "Matches if content has changed to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:84 +#: ../system/core-workflows/condition-operators.rst:98 msgid "matches regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:85 +#: ../system/core-workflows/condition-operators.rst:99 msgid "Matches if value fits to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:87 +#: ../system/core-workflows/condition-operators.rst:101 msgid "Matches if no content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:88 +#: ../system/core-workflows/condition-operators.rst:102 msgid "starts with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:89 +#: ../system/core-workflows/condition-operators.rst:103 msgid "Matches if content starts with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:90 +#: ../system/core-workflows/condition-operators.rst:104 msgid "starts with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:91 +#: ../system/core-workflows/condition-operators.rst:105 msgid "Matches if content starts with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:92 +#: ../system/core-workflows/condition-operators.rst:106 msgid "till (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:107 msgid "Matches if date/time is before a period of time before an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:94 +#: ../system/core-workflows/condition-operators.rst:108 msgid "today" msgstr "" -#: ../system/core-workflows/condition-operators.rst:95 +#: ../system/core-workflows/condition-operators.rst:109 msgid "Matches if date/time is today." msgstr "" -#: ../system/core-workflows/condition-operators.rst:96 +#: ../system/core-workflows/condition-operators.rst:110 msgid "within last (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:97 +#: ../system/core-workflows/condition-operators.rst:111 msgid "" "Matches if date/time content is within specified period of time before now." msgstr "" -#: ../system/core-workflows/condition-operators.rst:99 +#: ../system/core-workflows/condition-operators.rst:113 msgid "within next (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:100 +#: ../system/core-workflows/condition-operators.rst:114 msgid "" "Matches if date/time content is within specified period of time after now." msgstr "" +#: ../system/core-workflows/condition-operators.rst:118 +msgid "Multi-Select Operators" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:120 +msgid "" +"The ``contains`` family of operators compares two sets of values: the values " +"currently in the field and the values specified in the condition. The " +"diagrams below show the condition values as an orange circle and the field " +"values as a blue circle." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:128 +msgid "Differences to Triggers and Overviews" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:130 +msgid "" +"Be aware that these operators behave **differently** in other features that " +"use conditions (e.g. triggers and overviews). The most confusing difference: " +"in core workflows, ``contains all not`` means that no value matches at all, " +"while in triggers and overviews it means \"not all values are present\". The " +"table below compares both worlds side by side." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:142 +msgid "Core workflows (this page)" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:143 +msgid "Triggers, overviews, etc." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:145 +#: ../system/core-workflows/condition-operators.rst:149 +msgid "At least one value is present (OR logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:146 +msgid "Not available; ``contains one`` is the equivalent." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:148 +#: ../system/core-workflows/condition-operators.rst:188 +#: ../system/core-workflows/condition-operators.rst:228 +#: ../system/core-workflows/condition-operators.rst:271 +#: ../system/core-workflows/condition-operators.rst:311 +msgid "Same as ``contains``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:151 +#: ../system/core-workflows/condition-operators.rst:152 +msgid "Every value is present (AND logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:154 +msgid "" +"At least one field value is outside the condition, or the field is empty." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:156 +msgid "Not available for multi-select fields." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:158 +#: ../system/core-workflows/condition-operators.rst:197 +#: ../system/core-workflows/condition-operators.rst:237 +#: ../system/core-workflows/condition-operators.rst:280 +#: ../system/core-workflows/condition-operators.rst:320 +msgid "Same as ``contains not``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:162 +msgid "Not all values are present (at least one is missing)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:194 +msgid "``C`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:200 +msgid "``A`` and ``B`` are present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:234 +msgid "``D`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:240 +msgid "``C`` is present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:242 +msgid "" +"This partial overlap is where the two \"all\" operators part ways: " +"``contains all`` fails because one condition value is missing, while " +"``contains all not`` fails because a single common value is enough to block " +"it." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:277 +msgid "``C`` and ``D`` are not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:285 +msgid "This is the only example where ``contains all not`` matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:317 +msgid "An empty field matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:323 +msgid "An empty field has no value in common with the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:325 +msgid "" +"Note that ``contains not`` and ``contains one not`` match an empty field, " +"while ``contains`` and ``contains all`` do not. If you want to exclude " +"specific values, be aware that empty fields pass the condition." +msgstr "" + #: ../system/core-workflows/how-do-they-work.rst:2 msgid "How do they work?" msgstr "" diff --git a/locale/fa/LC_MESSAGES/admin-docs.po b/locale/fa/LC_MESSAGES/admin-docs.po index baa7ce13a..bebce5a31 100644 --- a/locale/fa/LC_MESSAGES/admin-docs.po +++ b/locale/fa/LC_MESSAGES/admin-docs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Zammad\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-24 17:19+0200\n" +"POT-Creation-Date: 2026-08-28 15:08+0200\n" "PO-Revision-Date: 2026-07-29 07:59+0000\n" "Last-Translator: Hojat Mehdizadeh \n" "Language-Team: Persian ` and consider switching your plan. When a " @@ -1137,17 +1138,17 @@ msgid "" "alerted when few calls remain." msgstr "" -#: ../ai/provider.rst:288 +#: ../ai/provider.rst:289 msgid "" "On SaaS, the Zammad AI provider is provisioned by the platform and you " "cannot delete it or change its type." msgstr "" -#: ../ai/provider.rst:295 +#: ../ai/provider.rst:296 msgid "Self-Hosted Customers" msgstr "" -#: ../ai/provider.rst:292 +#: ../ai/provider.rst:293 msgid "" "Get in touch with our `sales department `_ to obtain a Zammad AI API key and to buy AI calls. After " @@ -1155,14 +1156,14 @@ msgid "" "key." msgstr "" -#: ../ai/provider.rst:300 +#: ../ai/provider.rst:301 msgid "" "`Ollama `_ lets you run your own AI server on a machine " "you control, so your data is not transferred to a third party. This approach " "only makes sense if you have a powerful GPU in your system!" msgstr "" -#: ../ai/provider.rst:304 +#: ../ai/provider.rst:305 msgid "" "If you don't have Ollama running yet, their `documentation `_ is a good starting point. Available models are listed in " @@ -4255,7 +4256,7 @@ msgstr "" msgid "Signatures" msgstr "" -#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:436 +#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:450 #: ../system/monitoring.rst:9 msgid "General" msgstr "عمومی" @@ -4984,7 +4985,7 @@ msgstr "" #: ../channels/form.rst:250 ../manage/public-links.rst:43 #: ../misc/object-conditions/basics.rst:63 ../misc/variables.rst:101 -#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:22 #: ../system/objects/permissions.rst:36 ../system/subscription.rst:196 msgid "Description" msgstr "" @@ -8721,6 +8722,29 @@ msgstr "" #: ../manage/groups/settings.rst:42 ../manage/groups/settings.rst:63 #: ../misc/object-conditions/basics.rst:121 #: ../misc/object-conditions/basics.rst:136 +#: ../misc/object-conditions/basics.rst:514 +#: ../misc/object-conditions/basics.rst:517 +#: ../misc/object-conditions/basics.rst:548 +#: ../misc/object-conditions/basics.rst:554 +#: ../misc/object-conditions/basics.rst:591 +#: ../misc/object-conditions/basics.rst:594 +#: ../misc/object-conditions/basics.rst:623 +#: ../misc/object-conditions/basics.rst:626 +#: ../system/core-workflows/condition-operators.rst:184 +#: ../system/core-workflows/condition-operators.rst:187 +#: ../system/core-workflows/condition-operators.rst:190 +#: ../system/core-workflows/condition-operators.rst:193 +#: ../system/core-workflows/condition-operators.rst:196 +#: ../system/core-workflows/condition-operators.rst:224 +#: ../system/core-workflows/condition-operators.rst:227 +#: ../system/core-workflows/condition-operators.rst:233 +#: ../system/core-workflows/condition-operators.rst:236 +#: ../system/core-workflows/condition-operators.rst:276 +#: ../system/core-workflows/condition-operators.rst:279 +#: ../system/core-workflows/condition-operators.rst:282 +#: ../system/core-workflows/condition-operators.rst:316 +#: ../system/core-workflows/condition-operators.rst:319 +#: ../system/core-workflows/condition-operators.rst:322 msgid "yes" msgstr "" @@ -8775,6 +8799,23 @@ msgstr "" #: ../manage/groups/settings.rst:66 ../misc/object-conditions/basics.rst:122 #: ../misc/object-conditions/basics.rst:137 +#: ../misc/object-conditions/basics.rst:520 +#: ../misc/object-conditions/basics.rst:523 +#: ../misc/object-conditions/basics.rst:551 +#: ../misc/object-conditions/basics.rst:557 +#: ../misc/object-conditions/basics.rst:585 +#: ../misc/object-conditions/basics.rst:588 +#: ../misc/object-conditions/basics.rst:617 +#: ../misc/object-conditions/basics.rst:620 +#: ../system/core-workflows/condition-operators.rst:199 +#: ../system/core-workflows/condition-operators.rst:230 +#: ../system/core-workflows/condition-operators.rst:239 +#: ../system/core-workflows/condition-operators.rst:267 +#: ../system/core-workflows/condition-operators.rst:270 +#: ../system/core-workflows/condition-operators.rst:273 +#: ../system/core-workflows/condition-operators.rst:307 +#: ../system/core-workflows/condition-operators.rst:310 +#: ../system/core-workflows/condition-operators.rst:313 msgid "no" msgstr "" @@ -9180,7 +9221,7 @@ msgid "" msgstr "" #: ../manage/knowledge-base.rst:136 ../manage/public-links.rst:35 -#: ../manage/time-accounting.rst:147 ../manage/time-accounting.rst:161 +#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 #: ../system/maintenance.rst:31 msgid "Title" msgstr "" @@ -12431,16 +12472,18 @@ msgstr "" #: ../manage/time-accounting.rst:22 msgid "" "If a ticket is relevant, Zammad will request the agent to provide the time " -"which was needed to process the current ticket step. In order for Zammad to " -"bring up the time accounting dialog to an agent, the agent has to update the " -"ticket together with an article of any type. The adding of an article is " -"mandatory to invoke the time accounting dialog. However, the time accounting " -"dialog is not mandatory and can be canceled by your agents. You cannot " -"enforce the time accounting. When a ticket is no longer considered for the " -"time accounting, the already accounted time will be preserved." +"which was needed to process the current ticket step. This accounted time is " +"displayed in the ticket sidebar at ticket level and in the article meta " +"information for an individual article. In order for Zammad to bring up the " +"time accounting dialog to an agent, the agent has to update the ticket " +"together with an article of any type. The adding of an article is mandatory " +"to invoke the time accounting dialog. However, the time accounting dialog is " +"not mandatory and can be canceled by your agents. You cannot enforce the " +"time accounting. When a ticket is no longer considered for the time " +"accounting, the already accounted time will be preserved." msgstr "" -#: ../manage/time-accounting.rst:33 +#: ../manage/time-accounting.rst:35 msgid "" "The selector applies to the ticket state before any attribute changes have " "been saved. That means if your agent is e.g. going to close a ticket " @@ -12452,49 +12495,49 @@ msgstr "" msgid "Time Accounting Ticket Selector" msgstr "" -#: ../manage/time-accounting.rst:42 +#: ../manage/time-accounting.rst:44 msgid "" "The accounted time is always a unitless number. However, it is possible to " "show a specific unit in the **Unit** section, which provides several options:" msgstr "" -#: ../manage/time-accounting.rst:46 +#: ../manage/time-accounting.rst:48 msgid "no unit" msgstr "" -#: ../manage/time-accounting.rst:47 +#: ../manage/time-accounting.rst:49 msgid "Default behavior, no unit is shown next to the time value." msgstr "" -#: ../manage/time-accounting.rst:48 +#: ../manage/time-accounting.rst:50 msgid "hour(s)" msgstr "" -#: ../manage/time-accounting.rst:49 +#: ../manage/time-accounting.rst:51 msgid "Shows ``hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:50 +#: ../manage/time-accounting.rst:52 msgid "quarter-hour(s)" msgstr "" -#: ../manage/time-accounting.rst:51 +#: ../manage/time-accounting.rst:53 msgid "Shows ``quarter-hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:52 +#: ../manage/time-accounting.rst:54 msgid "minute(s)" msgstr "" -#: ../manage/time-accounting.rst:53 +#: ../manage/time-accounting.rst:55 msgid "Shows ``minute(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "custom unit" msgstr "" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "Shows a custom unit that can be specified as free input." msgstr "" @@ -12502,7 +12545,7 @@ msgstr "" msgid "Time Accounting Unit" msgstr "" -#: ../manage/time-accounting.rst:62 +#: ../manage/time-accounting.rst:64 msgid "" "The unit is only displayed to make it easier for agents to account their " "time! No numerical transformation will be applied to the values, not even if " @@ -12514,11 +12557,11 @@ msgstr "" msgid "Time Accounting Unit when Recording" msgstr "" -#: ../manage/time-accounting.rst:72 +#: ../manage/time-accounting.rst:74 msgid "Activity Types" msgstr "" -#: ../manage/time-accounting.rst:74 +#: ../manage/time-accounting.rst:76 msgid "" "**Activity Types** can be used to group the different ticket time accounting " "entries together. For example, entries that are relevant to a \"Billing\" " @@ -12529,7 +12572,7 @@ msgstr "" msgid "Time Accounting Activity Types" msgstr "" -#: ../manage/time-accounting.rst:81 +#: ../manage/time-accounting.rst:83 msgid "" "When you enable the recording of the **Activity Type**, the agents will be " "able to select a type from this list." @@ -12539,13 +12582,13 @@ msgstr "" msgid "Time Accounting Activity Type Selection for Agents" msgstr "" -#: ../manage/time-accounting.rst:88 +#: ../manage/time-accounting.rst:90 msgid "" "Additionally, a column with an associated activity type will be rendered for " "an entry in the **Activity** table under the **Accounted Time** tab." msgstr "" -#: ../manage/time-accounting.rst:91 +#: ../manage/time-accounting.rst:93 msgid "" "You can manage available activity types in this screen like any other Zammad " "object. Only active types will be available for the selection when recording " @@ -12557,7 +12600,7 @@ msgstr "" msgid "New Time Accounting Activity Type Dialog" msgstr "" -#: ../manage/time-accounting.rst:100 +#: ../manage/time-accounting.rst:102 msgid "" "Activity types can be set as default, and in that case they will be pre-" "selected for the agents when they are asked to account their time. It is " @@ -12565,29 +12608,29 @@ msgid "" "pre-selected and the agents can make their choice." msgstr "" -#: ../manage/time-accounting.rst:106 +#: ../manage/time-accounting.rst:108 msgid "Accounted Time" msgstr "" -#: ../manage/time-accounting.rst:108 +#: ../manage/time-accounting.rst:110 msgid "" "Under the **Accounted Time** tab, Zammad provides a section for reviewing " "all accounted times for your tickets. Accounted times are displayed per " "years and months." msgstr "" -#: ../manage/time-accounting.rst:112 +#: ../manage/time-accounting.rst:114 msgid "" "If you have tickets that are overlapping several months, you can " "differentiate by *time units* and *time units total* (e.g. to allow partial " "billing) in the downloaded file." msgstr "" -#: ../manage/time-accounting.rst:123 +#: ../manage/time-accounting.rst:125 msgid "Select the right month" msgstr "" -#: ../manage/time-accounting.rst:117 +#: ../manage/time-accounting.rst:119 msgid "" "Usually you want to bill accounted time of other months than the current " "one. Just select the relevant year and month to receive the accounted times " @@ -12598,85 +12641,85 @@ msgstr "" msgid "Screenshot showing a selection for year and month on time accounting" msgstr "" -#: ../manage/time-accounting.rst:186 +#: ../manage/time-accounting.rst:188 msgid "Tickets and their accounted time" msgstr "" -#: ../manage/time-accounting.rst:126 +#: ../manage/time-accounting.rst:128 msgid "" "Zammad allows you to receive the accounted information just like you need " "them. For this you currently have four options to review and also download " "the relevant data as CSV." msgstr "" -#: ../manage/time-accounting.rst:130 +#: ../manage/time-accounting.rst:132 msgid "" "To download the CSV data, use the download button right next to each heading " "(e.g. \"Ticket\")." msgstr "" -#: ../manage/time-accounting.rst:133 +#: ../manage/time-accounting.rst:135 msgid "This can also be automated with API calls." msgstr "" -#: ../manage/time-accounting.rst:136 +#: ../manage/time-accounting.rst:138 msgid "" "Only the first 20 entries are shown for each table. To see all of them, " "simply download the records in CSV." msgstr "" -#: ../manage/time-accounting.rst:153 +#: ../manage/time-accounting.rst:155 msgid "Activity" msgstr "" -#: ../manage/time-accounting.rst:140 +#: ../manage/time-accounting.rst:142 msgid "" "This filter works similar to the ticket filter, with one exception: You'll " "find each *individual* time accounting step of your agents. This is what " "you'd also see in the ticket's history before Zammad 5.2." msgstr "" -#: ../manage/time-accounting.rst:144 ../manage/time-accounting.rst:158 -#: ../manage/time-accounting.rst:175 +#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:177 msgid "In this list you'll see the following ticket information:" msgstr "" -#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 #: ../settings/ticket.rst:103 msgid "Number" msgstr "" -#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 -#: ../manage/time-accounting.rst:179 ../manage/time-accounting.rst:177 +#: ../manage/time-accounting.rst:150 ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:181 ../manage/time-accounting.rst:179 #: ../misc/object-conditions/basics.rst:37 #: ../misc/object-conditions/basics.rst:89 #: ../misc/object-conditions/basics.rst:171 msgid "Customer" msgstr "" -#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 -#: ../manage/time-accounting.rst:178 +#: ../manage/time-accounting.rst:151 ../manage/time-accounting.rst:165 +#: ../manage/time-accounting.rst:180 msgid "Organization of customer (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:150 +#: ../manage/time-accounting.rst:152 msgid "Agent that accounted the time" msgstr "" -#: ../manage/time-accounting.rst:151 +#: ../manage/time-accounting.rst:153 msgid "Time units accounted in the current activity" msgstr "" -#: ../manage/time-accounting.rst:152 +#: ../manage/time-accounting.rst:154 msgid "Activity type (if enabled)" msgstr "" -#: ../manage/time-accounting.rst:153 ../manage/time-accounting.rst:167 +#: ../manage/time-accounting.rst:155 ../manage/time-accounting.rst:169 #: ../system/audit-logs.rst:76 msgid "Created at" msgstr "" -#: ../manage/time-accounting.rst:168 ../misc/object-conditions/basics.rst:26 +#: ../manage/time-accounting.rst:170 ../misc/object-conditions/basics.rst:26 #: ../misc/object-conditions/basics.rst:90 #: ../misc/object-conditions/basics.rst:126 #: ../misc/object-conditions/basics.rst:139 @@ -12692,45 +12735,45 @@ msgstr "" msgid "Ticket" msgstr "" -#: ../manage/time-accounting.rst:156 +#: ../manage/time-accounting.rst:158 msgid "This filter contains all relevant tickets from the selected month." msgstr "" -#: ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:166 msgid "Agent currently assigned (ticket owner)" msgstr "" -#: ../manage/time-accounting.rst:165 ../manage/time-accounting.rst:179 +#: ../manage/time-accounting.rst:167 ../manage/time-accounting.rst:181 msgid "Time units accounted in the current month" msgstr "" -#: ../manage/time-accounting.rst:166 +#: ../manage/time-accounting.rst:168 msgid "Time units total (time accounted during ticket life)" msgstr "" -#: ../manage/time-accounting.rst:168 +#: ../manage/time-accounting.rst:170 msgid "Closed at (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:171 +#: ../manage/time-accounting.rst:173 msgid "" "This provides you a per user filter on accounted time units. Each user has a " "total of time accounted in the current month (over all applicable tickets)." msgstr "" -#: ../manage/time-accounting.rst:186 ../misc/object-conditions/basics.rst:28 +#: ../manage/time-accounting.rst:188 ../misc/object-conditions/basics.rst:28 #: ../misc/object-conditions/basics.rst:115 #: ../misc/object-conditions/basics.rst:146 ../settings/branding.rst:16 msgid "Organization" msgstr "" -#: ../manage/time-accounting.rst:182 +#: ../manage/time-accounting.rst:184 msgid "" "This provides a list of all organizations where customers have caused " "accounted time in that month." msgstr "" -#: ../manage/time-accounting.rst:185 +#: ../manage/time-accounting.rst:187 msgid "" "You can also see entries for customers that are part of a primary " "organization. Users without an organization can be found in the Customer " @@ -15869,7 +15912,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:185 #: ../misc/object-conditions/basics.rst:209 #: ../misc/object-conditions/basics.rst:219 -#: ../system/core-workflows/condition-operators.rst:50 +#: ../system/core-workflows/condition-operators.rst:64 msgid "is" msgstr "" @@ -15886,7 +15929,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:186 #: ../misc/object-conditions/basics.rst:210 #: ../misc/object-conditions/basics.rst:220 -#: ../system/core-workflows/condition-operators.rst:72 +#: ../system/core-workflows/condition-operators.rst:86 msgid "is not" msgstr "" @@ -15957,7 +16000,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:97 #: ../misc/object-conditions/basics.rst:155 #: ../misc/object-conditions/basics.rst:204 -#: ../system/core-workflows/condition-operators.rst:86 +#: ../system/core-workflows/condition-operators.rst:100 msgid "not set" msgstr "" @@ -16115,22 +16158,58 @@ msgid "Checks tags of a ticket." msgstr "" #: ../misc/object-conditions/basics.rst:193 -#: ../system/core-workflows/condition-operators.rst:32 +#: ../misc/object-conditions/basics.rst:516 +#: ../misc/object-conditions/basics.rst:550 +#: ../misc/object-conditions/basics.rst:587 +#: ../misc/object-conditions/basics.rst:619 +#: ../system/core-workflows/condition-operators.rst:38 +#: ../system/core-workflows/condition-operators.rst:150 +#: ../system/core-workflows/condition-operators.rst:189 +#: ../system/core-workflows/condition-operators.rst:229 +#: ../system/core-workflows/condition-operators.rst:272 +#: ../system/core-workflows/condition-operators.rst:312 msgid "contains all" msgstr "" #: ../misc/object-conditions/basics.rst:194 -#: ../system/core-workflows/condition-operators.rst:38 +#: ../misc/object-conditions/basics.rst:513 +#: ../misc/object-conditions/basics.rst:547 +#: ../misc/object-conditions/basics.rst:584 +#: ../misc/object-conditions/basics.rst:616 +#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:147 +#: ../system/core-workflows/condition-operators.rst:186 +#: ../system/core-workflows/condition-operators.rst:226 +#: ../system/core-workflows/condition-operators.rst:269 +#: ../system/core-workflows/condition-operators.rst:309 msgid "contains one" msgstr "" #: ../misc/object-conditions/basics.rst:195 -#: ../system/core-workflows/condition-operators.rst:34 +#: ../misc/object-conditions/basics.rst:519 +#: ../misc/object-conditions/basics.rst:553 +#: ../misc/object-conditions/basics.rst:590 +#: ../misc/object-conditions/basics.rst:622 +#: ../system/core-workflows/condition-operators.rst:41 +#: ../system/core-workflows/condition-operators.rst:160 +#: ../system/core-workflows/condition-operators.rst:198 +#: ../system/core-workflows/condition-operators.rst:238 +#: ../system/core-workflows/condition-operators.rst:281 +#: ../system/core-workflows/condition-operators.rst:321 msgid "contains all not" msgstr "" #: ../misc/object-conditions/basics.rst:196 -#: ../system/core-workflows/condition-operators.rst:40 +#: ../misc/object-conditions/basics.rst:522 +#: ../misc/object-conditions/basics.rst:556 +#: ../misc/object-conditions/basics.rst:593 +#: ../misc/object-conditions/basics.rst:625 +#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:157 +#: ../system/core-workflows/condition-operators.rst:195 +#: ../system/core-workflows/condition-operators.rst:235 +#: ../system/core-workflows/condition-operators.rst:278 +#: ../system/core-workflows/condition-operators.rst:318 msgid "contains one not" msgstr "" @@ -16151,7 +16230,7 @@ msgid "Checks if time is accounted." msgstr "" #: ../misc/object-conditions/basics.rst:203 -#: ../system/core-workflows/condition-operators.rst:74 +#: ../system/core-workflows/condition-operators.rst:88 msgid "is set" msgstr "" @@ -16209,8 +16288,8 @@ msgstr "" #: ../misc/object-conditions/basics.rst:334 #: ../misc/object-conditions/basics.rst:381 #: ../misc/object-conditions/basics.rst:392 -#: ../misc/object-conditions/basics.rst:410 #: ../misc/object-conditions/basics.rst:421 +#: ../misc/object-conditions/basics.rst:432 msgid "Available operators for matching:" msgstr "" @@ -16296,7 +16375,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:269 #: ../misc/object-conditions/basics.rst:284 #: ../misc/object-conditions/basics.rst:385 -#: ../misc/object-conditions/basics.rst:414 +#: ../misc/object-conditions/basics.rst:425 msgid "**has changed**" msgstr "" @@ -16311,14 +16390,14 @@ msgstr "" #: ../misc/object-conditions/basics.rst:267 #: ../misc/object-conditions/basics.rst:278 #: ../misc/object-conditions/basics.rst:383 -#: ../misc/object-conditions/basics.rst:412 +#: ../misc/object-conditions/basics.rst:423 msgid "**is**" msgstr "" #: ../misc/object-conditions/basics.rst:268 #: ../misc/object-conditions/basics.rst:279 #: ../misc/object-conditions/basics.rst:384 -#: ../misc/object-conditions/basics.rst:413 +#: ../misc/object-conditions/basics.rst:424 msgid "**is not**" msgstr "" @@ -16566,7 +16645,7 @@ msgid "**contains all**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are selected." +msgid "Matches if **all** given field values are selected (AND logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16574,7 +16653,8 @@ msgid "**contains one**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is selected." +msgid "" +"Matches if **at least one** of the given field values is selected (OR logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16582,7 +16662,9 @@ msgid "**contains all not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are not selected." +msgid "" +"Matches if **not all** given field values are selected (at least one is " +"missing). This means \"not all of\", not \"none of\"." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16590,24 +16672,35 @@ msgid "**contains one not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is not selected." +msgid "" +"Matches if **none** of the given field values are selected. This means " +"\"none of\", not \"not all of\"." msgstr "" -#: ../misc/object-conditions/basics.rst:405 ../system/objects/types.rst:135 +#: ../misc/object-conditions/basics.rst:408 +msgid "" +"In :doc:`core workflows `, these operators have " +"different semantics. See :ref:`core workflow condition operators ` for details. Example scenarios for the " +"operators described here can be found in :ref:`multi-select-operator-" +"examples` below." +msgstr "" + +#: ../misc/object-conditions/basics.rst:416 ../system/objects/types.rst:135 msgid "Single Tree Selection Field" msgstr "" -#: ../misc/object-conditions/basics.rst:407 +#: ../misc/object-conditions/basics.rst:418 msgid "" "Checks if a selected field value match the attribute value. Selecting more " "than one value in the condition will act like an \"OR\" clause." msgstr "" -#: ../misc/object-conditions/basics.rst:417 ../system/objects/types.rst:148 +#: ../misc/object-conditions/basics.rst:428 ../system/objects/types.rst:148 msgid "Multiple Tree Selection Field" msgstr "" -#: ../misc/object-conditions/basics.rst:419 +#: ../misc/object-conditions/basics.rst:430 msgid "Checks if selected field value(s) match the attribute value(s)." msgstr "" @@ -16627,65 +16720,65 @@ msgstr "" msgid "**contains one not**" msgstr "" -#: ../misc/object-conditions/basics.rst:433 +#: ../misc/object-conditions/basics.rst:447 msgid "Additional Information and Remarks" msgstr "" -#: ../misc/object-conditions/basics.rst:442 +#: ../misc/object-conditions/basics.rst:456 msgid "Ticket context conditions do not support:" msgstr "" -#: ../misc/object-conditions/basics.rst:439 +#: ../misc/object-conditions/basics.rst:453 msgid "regular expressions" msgstr "" -#: ../misc/object-conditions/basics.rst:440 +#: ../misc/object-conditions/basics.rst:454 msgid "case sensitive string conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:441 +#: ../misc/object-conditions/basics.rst:455 msgid "" "Basic conditions do not support the same attribute to be selected more than " "once" msgstr "" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 #, fuzzy msgid "**has changed** conditions:" msgstr "پیکربندی" -#: ../misc/object-conditions/basics.rst:445 +#: ../misc/object-conditions/basics.rst:459 msgid "Are only available for ticket attributes and don't affect:" msgstr "" -#: ../misc/object-conditions/basics.rst:447 +#: ../misc/object-conditions/basics.rst:461 msgid "Ticket articles attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:448 +#: ../misc/object-conditions/basics.rst:462 msgid "Organization attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:449 +#: ../misc/object-conditions/basics.rst:463 msgid "User attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "Group attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:463 +#: ../misc/object-conditions/basics.rst:477 msgid "Differences in input fields:" msgstr "" -#: ../misc/object-conditions/basics.rst:453 +#: ../misc/object-conditions/basics.rst:467 msgid "" "Please note that the input field for tokens doesn't support the comma as " "separator (as in the input field for tags). If you use the comma in the " "token input field, the comma is included in you token." msgstr "" -#: ../misc/object-conditions/basics.rst:457 +#: ../misc/object-conditions/basics.rst:471 msgid "**Example**:" msgstr "" @@ -16693,32 +16786,257 @@ msgstr "" msgid "Example of comma usage in token input field" msgstr "" -#: ../misc/object-conditions/basics.rst:462 +#: ../misc/object-conditions/basics.rst:476 msgid "" "``A`` added with enter/tab, ``B`` and ``C`` separated with comma (resulting " "in one token)." msgstr "" -#: ../misc/object-conditions/basics.rst:468 +#: ../misc/object-conditions/basics.rst:482 +msgid "Multi-Select Operator Examples" +msgstr "" + +#: ../misc/object-conditions/basics.rst:484 +msgid "" +"The ``contains`` family of operators for multi-select fields compares two " +"sets of values: the values currently in the field and the values specified " +"in the condition. The diagrams below show the condition values as an orange " +"circle and the field values as a blue circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:489 +msgid "" +"Be aware that these operators behave **differently** in :doc:`core workflows " +"`. See :ref:`core workflow condition operators ` for a side by side comparison." +msgstr "" + +#: ../misc/object-conditions/basics.rst:495 +#: ../system/core-workflows/condition-operators.rst:165 +msgid "Example 1: Condition A, B - Field A, B, C" +msgstr "" + +#: ../misc/object-conditions/basics.rst:497 +#: ../system/core-workflows/condition-operators.rst:167 +msgid "" +"In this scenario, the field holds the values A, B and C, while the condition " +"asks for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "" +"Venn diagram of condition values A, B and field values A, B, C. A and B are " +"in both circles, C only in the field circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "Condition values ``A, B`` overlap with field values ``A, B, C``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:510 +#: ../misc/object-conditions/basics.rst:544 +#: ../misc/object-conditions/basics.rst:581 +#: ../misc/object-conditions/basics.rst:613 +#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:141 +#: ../system/core-workflows/condition-operators.rst:180 +#: ../system/core-workflows/condition-operators.rst:220 +#: ../system/core-workflows/condition-operators.rst:263 +#: ../system/core-workflows/condition-operators.rst:303 +msgid "Operator" +msgstr "" + +#: ../misc/object-conditions/basics.rst:511 +#: ../misc/object-conditions/basics.rst:545 +#: ../misc/object-conditions/basics.rst:582 +#: ../misc/object-conditions/basics.rst:614 +#: ../system/core-workflows/condition-operators.rst:181 +#: ../system/core-workflows/condition-operators.rst:221 +#: ../system/core-workflows/condition-operators.rst:264 +#: ../system/core-workflows/condition-operators.rst:304 +msgid "Matches?" +msgstr "" + +#: ../misc/object-conditions/basics.rst:512 +#: ../misc/object-conditions/basics.rst:546 +#: ../misc/object-conditions/basics.rst:583 +#: ../misc/object-conditions/basics.rst:615 +#: ../system/core-workflows/condition-operators.rst:182 +#: ../system/core-workflows/condition-operators.rst:222 +#: ../system/core-workflows/condition-operators.rst:265 +#: ../system/core-workflows/condition-operators.rst:305 +msgid "Why" +msgstr "" + +#: ../misc/object-conditions/basics.rst:515 +#: ../system/core-workflows/condition-operators.rst:185 +msgid "``A`` and ``B`` are in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:518 +#: ../system/core-workflows/condition-operators.rst:191 +msgid "Both ``A`` and ``B`` are present (AND logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:521 +msgid "All condition values are present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:524 +msgid "The field has values in common with the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:527 +#: ../system/core-workflows/condition-operators.rst:203 +msgid "Example 2: Condition A, B, C - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:529 +#: ../system/core-workflows/condition-operators.rst:205 +msgid "" +"In this scenario, the field holds the values C and D. The condition value C " +"is present in the field, while A and B are not." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Venn diagram of condition values A, B, C and field values C, D.\n" +"Only C is in both circles." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Condition values ``A, B, C`` partially overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:549 +#: ../system/core-workflows/condition-operators.rst:225 +msgid "``C`` is in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:552 +#: ../system/core-workflows/condition-operators.rst:231 +msgid "Only ``C`` of the three condition values is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:555 +#: ../misc/object-conditions/basics.rst:592 +msgid "``A`` and ``B`` are missing from the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:558 +msgid "``C`` is in both the field and the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:560 +msgid "" +"This partial overlap is where the two \"not\" operators part ways: " +"``contains all not`` matches because a single condition value is missing, " +"while ``contains one not`` does not match because the one common value is " +"enough to block it." +msgstr "" + +#: ../misc/object-conditions/basics.rst:566 +#: ../system/core-workflows/condition-operators.rst:248 +msgid "Example 3: Condition A, B - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:568 +#: ../system/core-workflows/condition-operators.rst:250 +msgid "" +"In this scenario, the field holds the values C and D, which have nothing in " +"common with the condition values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "" +"Venn diagram of condition values A, B and field values C, D. The two circles " +"do not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "Condition values ``A, B`` have no overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:586 +#: ../system/core-workflows/condition-operators.rst:268 +msgid "No value is in both sets." +msgstr "" + +#: ../misc/object-conditions/basics.rst:589 +#: ../system/core-workflows/condition-operators.rst:274 +msgid "Neither ``A`` nor ``B`` is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:595 +#: ../misc/object-conditions/basics.rst:627 +#: ../system/core-workflows/condition-operators.rst:159 +#: ../system/core-workflows/condition-operators.rst:161 +#: ../system/core-workflows/condition-operators.rst:283 +msgid "The field has no value in common with the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:598 +#: ../system/core-workflows/condition-operators.rst:288 +msgid "Example 4: Condition A, B - Field is empty" +msgstr "" + +#: ../misc/object-conditions/basics.rst:600 +#: ../system/core-workflows/condition-operators.rst:290 +msgid "" +"In this scenario, the field holds no values at all, while the condition asks " +"for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "" +"Venn diagram of condition values A, B and an empty field. The two circles do " +"not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "The field holds no values at all." +msgstr "" + +#: ../misc/object-conditions/basics.rst:618 +#: ../misc/object-conditions/basics.rst:621 +#: ../system/core-workflows/condition-operators.rst:308 +#: ../system/core-workflows/condition-operators.rst:314 +msgid "No value is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:624 +msgid "No condition value is present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:632 msgid "Regex" msgstr "" -#: ../misc/object-conditions/basics.rst:473 +#: ../misc/object-conditions/basics.rst:637 msgid "Regex support" msgstr "" -#: ../misc/object-conditions/basics.rst:471 +#: ../misc/object-conditions/basics.rst:635 msgid "" "**matches regex** and **does not match regex** are supported only in " "Triggers, Time Accounting selector, Postmaster Filters, Automatic ticket " "assignment and Core Workflow." msgstr "" -#: ../misc/object-conditions/basics.rst:478 +#: ../misc/object-conditions/basics.rst:642 msgid "\"Old\" style ``regex:...`` conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:476 +#: ../misc/object-conditions/basics.rst:640 msgid "" "If you update your Zammad from 6.0 or prior and you have already conditions " "with **contains** or **contains not** including a regex filter (i.e. " @@ -22926,9 +23244,9 @@ msgstr "" #: ../system/core-workflows/condition-operators.rst:8 msgid "" -"Due to differences to other places in Zammad which are also using conditions " -"(e.g. triggers), you can find a dedicated description of operators for core " -"workflows below." +"Due to differences from other places in Zammad which are also using " +"conditions (e.g. triggers), you can find a dedicated description of " +"operators for core workflows below." msgstr "" #: ../system/core-workflows/condition-operators.rst:12 @@ -22938,272 +23256,419 @@ msgid "" "for system attributes (e.g. for \"tags\", \"active\")." msgstr "" -#: ../system/core-workflows/condition-operators.rst:20 -msgid "Operator" -msgstr "" - -#: ../system/core-workflows/condition-operators.rst:22 +#: ../system/core-workflows/condition-operators.rst:23 msgid "after (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:23 +#: ../system/core-workflows/condition-operators.rst:24 msgid "Matches if a date/time is after a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:24 +#: ../system/core-workflows/condition-operators.rst:25 msgid "after (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:25 +#: ../system/core-workflows/condition-operators.rst:26 msgid "Matches if a time span after a specified event has passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:26 +#: ../system/core-workflows/condition-operators.rst:27 msgid "before (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:27 +#: ../system/core-workflows/condition-operators.rst:28 msgid "Matches if a date/time is before a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:28 +#: ../system/core-workflows/condition-operators.rst:29 msgid "before (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:29 +#: ../system/core-workflows/condition-operators.rst:30 msgid "Matches if a time span after a specified event has not passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:30 +#: ../system/core-workflows/condition-operators.rst:31 +#: ../system/core-workflows/condition-operators.rst:144 +#: ../system/core-workflows/condition-operators.rst:183 +#: ../system/core-workflows/condition-operators.rst:223 +#: ../system/core-workflows/condition-operators.rst:266 +#: ../system/core-workflows/condition-operators.rst:306 msgid "contains" msgstr "" -#: ../system/core-workflows/condition-operators.rst:31 -msgid "Matches if a specified value is present." +#: ../system/core-workflows/condition-operators.rst:32 +msgid "" +"Matches if **at least one** of the specified values is present in the field " +"(OR logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:33 -msgid "Matches if all of the specified values are present." +#: ../system/core-workflows/condition-operators.rst:34 +#: ../system/core-workflows/condition-operators.rst:153 +#: ../system/core-workflows/condition-operators.rst:192 +#: ../system/core-workflows/condition-operators.rst:232 +#: ../system/core-workflows/condition-operators.rst:275 +#: ../system/core-workflows/condition-operators.rst:315 +msgid "contains not" msgstr "" #: ../system/core-workflows/condition-operators.rst:35 -msgid "Matches if none of the specified values are present." +msgid "" +"Matches if the field contains at least one value that is **not** among the " +"specified values. Also matches if the field is empty." msgstr "" -#: ../system/core-workflows/condition-operators.rst:36 -msgid "contains not" +#: ../system/core-workflows/condition-operators.rst:39 +msgid "" +"Matches if **every** specified value is present in the field (AND logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:37 -msgid "Matches if a specified value is not present." +#: ../system/core-workflows/condition-operators.rst:42 +msgid "" +"Matches if **none** of the specified values are present in the field. The " +"field and the condition have no value in common: this means \"contains none " +"of\", not \"does not contain all of\"." msgstr "" -#: ../system/core-workflows/condition-operators.rst:39 -msgid "Matches if one specified value is present." +#: ../system/core-workflows/condition-operators.rst:46 +msgid "" +"In triggers and overviews, this operator means \"not all of the specified " +"values are present\" instead. See the examples section below." msgstr "" -#: ../system/core-workflows/condition-operators.rst:41 -msgid "Matches if one specified value is not present." +#: ../system/core-workflows/condition-operators.rst:50 +msgid "" +"Same as ``contains``. Matches if **at least one** of the specified values is " +"present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:42 +#: ../system/core-workflows/condition-operators.rst:53 +msgid "" +"Same as ``contains not``. Matches if the field contains at least one value " +"that is **not** among the specified values." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:56 msgid "does not match regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:43 +#: ../system/core-workflows/condition-operators.rst:57 msgid "Matches if content doesn't fit to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:44 +#: ../system/core-workflows/condition-operators.rst:58 msgid "ends with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:45 +#: ../system/core-workflows/condition-operators.rst:59 msgid "Matches if content ends with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:46 +#: ../system/core-workflows/condition-operators.rst:60 msgid "ends with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:47 +#: ../system/core-workflows/condition-operators.rst:61 msgid "Matches if content ends with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:48 +#: ../system/core-workflows/condition-operators.rst:62 msgid "from (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:63 msgid "Matches if date/time is after a period of time after an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:51 +#: ../system/core-workflows/condition-operators.rst:65 msgid "Matches if content is equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:66 msgid "is any of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:53 +#: ../system/core-workflows/condition-operators.rst:67 msgid "Matches if content is equal to any of specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:54 +#: ../system/core-workflows/condition-operators.rst:68 msgid "is greater than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:55 +#: ../system/core-workflows/condition-operators.rst:69 msgid "Matches if the value is greater than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:56 +#: ../system/core-workflows/condition-operators.rst:70 msgid "is greater than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:57 +#: ../system/core-workflows/condition-operators.rst:71 msgid "Matches if the value is greater than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:58 +#: ../system/core-workflows/condition-operators.rst:72 msgid "is less than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:59 +#: ../system/core-workflows/condition-operators.rst:73 msgid "Matches if the value is less than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:60 +#: ../system/core-workflows/condition-operators.rst:74 msgid "is less than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:61 +#: ../system/core-workflows/condition-operators.rst:75 msgid "Matches if the value is less than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:62 +#: ../system/core-workflows/condition-operators.rst:76 msgid "is modified" msgstr "" -#: ../system/core-workflows/condition-operators.rst:63 +#: ../system/core-workflows/condition-operators.rst:77 msgid "Matches if content is modified." msgstr "" -#: ../system/core-workflows/condition-operators.rst:65 -#: ../system/core-workflows/condition-operators.rst:69 +#: ../system/core-workflows/condition-operators.rst:79 +#: ../system/core-workflows/condition-operators.rst:83 msgid "True from the moment of changing content until form submit." msgstr "" -#: ../system/core-workflows/condition-operators.rst:66 +#: ../system/core-workflows/condition-operators.rst:80 msgid "is modified to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:67 +#: ../system/core-workflows/condition-operators.rst:81 msgid "Matches if content is modified to a specific value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:70 +#: ../system/core-workflows/condition-operators.rst:84 msgid "is none of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:71 +#: ../system/core-workflows/condition-operators.rst:85 msgid "Matches if content is none of any specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:73 +#: ../system/core-workflows/condition-operators.rst:87 msgid "Matches if content is not equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:75 +#: ../system/core-workflows/condition-operators.rst:89 msgid "Matches if content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:76 +#: ../system/core-workflows/condition-operators.rst:90 msgid "just changed" msgstr "" -#: ../system/core-workflows/condition-operators.rst:77 +#: ../system/core-workflows/condition-operators.rst:91 msgid "Matches if content has changed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:79 -#: ../system/core-workflows/condition-operators.rst:83 +#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:97 msgid "" "Only true for the moment of changing content until next form field action/" "click." msgstr "" -#: ../system/core-workflows/condition-operators.rst:80 +#: ../system/core-workflows/condition-operators.rst:94 msgid "just changed to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:81 +#: ../system/core-workflows/condition-operators.rst:95 msgid "Matches if content has changed to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:84 +#: ../system/core-workflows/condition-operators.rst:98 msgid "matches regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:85 +#: ../system/core-workflows/condition-operators.rst:99 msgid "Matches if value fits to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:87 +#: ../system/core-workflows/condition-operators.rst:101 msgid "Matches if no content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:88 +#: ../system/core-workflows/condition-operators.rst:102 msgid "starts with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:89 +#: ../system/core-workflows/condition-operators.rst:103 msgid "Matches if content starts with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:90 +#: ../system/core-workflows/condition-operators.rst:104 msgid "starts with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:91 +#: ../system/core-workflows/condition-operators.rst:105 msgid "Matches if content starts with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:92 +#: ../system/core-workflows/condition-operators.rst:106 msgid "till (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:107 msgid "Matches if date/time is before a period of time before an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:94 +#: ../system/core-workflows/condition-operators.rst:108 msgid "today" msgstr "" -#: ../system/core-workflows/condition-operators.rst:95 +#: ../system/core-workflows/condition-operators.rst:109 msgid "Matches if date/time is today." msgstr "" -#: ../system/core-workflows/condition-operators.rst:96 +#: ../system/core-workflows/condition-operators.rst:110 msgid "within last (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:97 +#: ../system/core-workflows/condition-operators.rst:111 msgid "" "Matches if date/time content is within specified period of time before now." msgstr "" -#: ../system/core-workflows/condition-operators.rst:99 +#: ../system/core-workflows/condition-operators.rst:113 msgid "within next (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:100 +#: ../system/core-workflows/condition-operators.rst:114 msgid "" "Matches if date/time content is within specified period of time after now." msgstr "" +#: ../system/core-workflows/condition-operators.rst:118 +msgid "Multi-Select Operators" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:120 +msgid "" +"The ``contains`` family of operators compares two sets of values: the values " +"currently in the field and the values specified in the condition. The " +"diagrams below show the condition values as an orange circle and the field " +"values as a blue circle." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:128 +msgid "Differences to Triggers and Overviews" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:130 +msgid "" +"Be aware that these operators behave **differently** in other features that " +"use conditions (e.g. triggers and overviews). The most confusing difference: " +"in core workflows, ``contains all not`` means that no value matches at all, " +"while in triggers and overviews it means \"not all values are present\". The " +"table below compares both worlds side by side." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:142 +msgid "Core workflows (this page)" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:143 +msgid "Triggers, overviews, etc." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:145 +#: ../system/core-workflows/condition-operators.rst:149 +msgid "At least one value is present (OR logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:146 +msgid "Not available; ``contains one`` is the equivalent." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:148 +#: ../system/core-workflows/condition-operators.rst:188 +#: ../system/core-workflows/condition-operators.rst:228 +#: ../system/core-workflows/condition-operators.rst:271 +#: ../system/core-workflows/condition-operators.rst:311 +msgid "Same as ``contains``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:151 +#: ../system/core-workflows/condition-operators.rst:152 +msgid "Every value is present (AND logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:154 +msgid "" +"At least one field value is outside the condition, or the field is empty." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:156 +msgid "Not available for multi-select fields." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:158 +#: ../system/core-workflows/condition-operators.rst:197 +#: ../system/core-workflows/condition-operators.rst:237 +#: ../system/core-workflows/condition-operators.rst:280 +#: ../system/core-workflows/condition-operators.rst:320 +msgid "Same as ``contains not``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:162 +msgid "Not all values are present (at least one is missing)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:194 +msgid "``C`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:200 +msgid "``A`` and ``B`` are present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:234 +msgid "``D`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:240 +msgid "``C`` is present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:242 +msgid "" +"This partial overlap is where the two \"all\" operators part ways: " +"``contains all`` fails because one condition value is missing, while " +"``contains all not`` fails because a single common value is enough to block " +"it." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:277 +msgid "``C`` and ``D`` are not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:285 +msgid "This is the only example where ``contains all not`` matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:317 +msgid "An empty field matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:323 +msgid "An empty field has no value in common with the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:325 +msgid "" +"Note that ``contains not`` and ``contains one not`` match an empty field, " +"while ``contains`` and ``contains all`` do not. If you want to exclude " +"specific values, be aware that empty fields pass the condition." +msgstr "" + #: ../system/core-workflows/how-do-they-work.rst:2 msgid "How do they work?" msgstr "" diff --git a/locale/fr/LC_MESSAGES/admin-docs.po b/locale/fr/LC_MESSAGES/admin-docs.po index 08b24a213..a751cc468 100644 --- a/locale/fr/LC_MESSAGES/admin-docs.po +++ b/locale/fr/LC_MESSAGES/admin-docs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Zammad\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-24 17:19+0200\n" +"POT-Creation-Date: 2026-08-28 15:08+0200\n" "PO-Revision-Date: 2026-07-29 07:59+0000\n" "Last-Translator: Guy S \n" "Language-Team: French ` and consider switching your plan. When a " @@ -1174,17 +1175,17 @@ msgid "" "alerted when few calls remain." msgstr "" -#: ../ai/provider.rst:288 +#: ../ai/provider.rst:289 msgid "" "On SaaS, the Zammad AI provider is provisioned by the platform and you " "cannot delete it or change its type." msgstr "" -#: ../ai/provider.rst:295 +#: ../ai/provider.rst:296 msgid "Self-Hosted Customers" msgstr "" -#: ../ai/provider.rst:292 +#: ../ai/provider.rst:293 msgid "" "Get in touch with our `sales department `_ to obtain a Zammad AI API key and to buy AI calls. After " @@ -1192,14 +1193,14 @@ msgid "" "key." msgstr "" -#: ../ai/provider.rst:300 +#: ../ai/provider.rst:301 msgid "" "`Ollama `_ lets you run your own AI server on a machine " "you control, so your data is not transferred to a third party. This approach " "only makes sense if you have a powerful GPU in your system!" msgstr "" -#: ../ai/provider.rst:304 +#: ../ai/provider.rst:305 msgid "" "If you don't have Ollama running yet, their `documentation `_ is a good starting point. Available models are listed in " @@ -4430,7 +4431,7 @@ msgstr "" msgid "Signatures" msgstr "" -#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:436 +#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:450 #: ../system/monitoring.rst:9 msgid "General" msgstr "" @@ -5186,7 +5187,7 @@ msgstr "" #: ../channels/form.rst:250 ../manage/public-links.rst:43 #: ../misc/object-conditions/basics.rst:63 ../misc/variables.rst:101 -#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:22 #: ../system/objects/permissions.rst:36 ../system/subscription.rst:196 msgid "Description" msgstr "" @@ -9024,6 +9025,29 @@ msgstr "" #: ../manage/groups/settings.rst:42 ../manage/groups/settings.rst:63 #: ../misc/object-conditions/basics.rst:121 #: ../misc/object-conditions/basics.rst:136 +#: ../misc/object-conditions/basics.rst:514 +#: ../misc/object-conditions/basics.rst:517 +#: ../misc/object-conditions/basics.rst:548 +#: ../misc/object-conditions/basics.rst:554 +#: ../misc/object-conditions/basics.rst:591 +#: ../misc/object-conditions/basics.rst:594 +#: ../misc/object-conditions/basics.rst:623 +#: ../misc/object-conditions/basics.rst:626 +#: ../system/core-workflows/condition-operators.rst:184 +#: ../system/core-workflows/condition-operators.rst:187 +#: ../system/core-workflows/condition-operators.rst:190 +#: ../system/core-workflows/condition-operators.rst:193 +#: ../system/core-workflows/condition-operators.rst:196 +#: ../system/core-workflows/condition-operators.rst:224 +#: ../system/core-workflows/condition-operators.rst:227 +#: ../system/core-workflows/condition-operators.rst:233 +#: ../system/core-workflows/condition-operators.rst:236 +#: ../system/core-workflows/condition-operators.rst:276 +#: ../system/core-workflows/condition-operators.rst:279 +#: ../system/core-workflows/condition-operators.rst:282 +#: ../system/core-workflows/condition-operators.rst:316 +#: ../system/core-workflows/condition-operators.rst:319 +#: ../system/core-workflows/condition-operators.rst:322 msgid "yes" msgstr "" @@ -9078,6 +9102,23 @@ msgstr "" #: ../manage/groups/settings.rst:66 ../misc/object-conditions/basics.rst:122 #: ../misc/object-conditions/basics.rst:137 +#: ../misc/object-conditions/basics.rst:520 +#: ../misc/object-conditions/basics.rst:523 +#: ../misc/object-conditions/basics.rst:551 +#: ../misc/object-conditions/basics.rst:557 +#: ../misc/object-conditions/basics.rst:585 +#: ../misc/object-conditions/basics.rst:588 +#: ../misc/object-conditions/basics.rst:617 +#: ../misc/object-conditions/basics.rst:620 +#: ../system/core-workflows/condition-operators.rst:199 +#: ../system/core-workflows/condition-operators.rst:230 +#: ../system/core-workflows/condition-operators.rst:239 +#: ../system/core-workflows/condition-operators.rst:267 +#: ../system/core-workflows/condition-operators.rst:270 +#: ../system/core-workflows/condition-operators.rst:273 +#: ../system/core-workflows/condition-operators.rst:307 +#: ../system/core-workflows/condition-operators.rst:310 +#: ../system/core-workflows/condition-operators.rst:313 msgid "no" msgstr "" @@ -9484,7 +9525,7 @@ msgid "" msgstr "" #: ../manage/knowledge-base.rst:136 ../manage/public-links.rst:35 -#: ../manage/time-accounting.rst:147 ../manage/time-accounting.rst:161 +#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 #: ../system/maintenance.rst:31 msgid "Title" msgstr "Titre" @@ -12817,16 +12858,18 @@ msgstr "" #: ../manage/time-accounting.rst:22 msgid "" "If a ticket is relevant, Zammad will request the agent to provide the time " -"which was needed to process the current ticket step. In order for Zammad to " -"bring up the time accounting dialog to an agent, the agent has to update the " -"ticket together with an article of any type. The adding of an article is " -"mandatory to invoke the time accounting dialog. However, the time accounting " -"dialog is not mandatory and can be canceled by your agents. You cannot " -"enforce the time accounting. When a ticket is no longer considered for the " -"time accounting, the already accounted time will be preserved." +"which was needed to process the current ticket step. This accounted time is " +"displayed in the ticket sidebar at ticket level and in the article meta " +"information for an individual article. In order for Zammad to bring up the " +"time accounting dialog to an agent, the agent has to update the ticket " +"together with an article of any type. The adding of an article is mandatory " +"to invoke the time accounting dialog. However, the time accounting dialog is " +"not mandatory and can be canceled by your agents. You cannot enforce the " +"time accounting. When a ticket is no longer considered for the time " +"accounting, the already accounted time will be preserved." msgstr "" -#: ../manage/time-accounting.rst:33 +#: ../manage/time-accounting.rst:35 msgid "" "The selector applies to the ticket state before any attribute changes have " "been saved. That means if your agent is e.g. going to close a ticket " @@ -12838,49 +12881,49 @@ msgstr "" msgid "Time Accounting Ticket Selector" msgstr "" -#: ../manage/time-accounting.rst:42 +#: ../manage/time-accounting.rst:44 msgid "" "The accounted time is always a unitless number. However, it is possible to " "show a specific unit in the **Unit** section, which provides several options:" msgstr "" -#: ../manage/time-accounting.rst:46 +#: ../manage/time-accounting.rst:48 msgid "no unit" msgstr "" -#: ../manage/time-accounting.rst:47 +#: ../manage/time-accounting.rst:49 msgid "Default behavior, no unit is shown next to the time value." msgstr "" -#: ../manage/time-accounting.rst:48 +#: ../manage/time-accounting.rst:50 msgid "hour(s)" msgstr "" -#: ../manage/time-accounting.rst:49 +#: ../manage/time-accounting.rst:51 msgid "Shows ``hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:50 +#: ../manage/time-accounting.rst:52 msgid "quarter-hour(s)" msgstr "" -#: ../manage/time-accounting.rst:51 +#: ../manage/time-accounting.rst:53 msgid "Shows ``quarter-hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:52 +#: ../manage/time-accounting.rst:54 msgid "minute(s)" msgstr "" -#: ../manage/time-accounting.rst:53 +#: ../manage/time-accounting.rst:55 msgid "Shows ``minute(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "custom unit" msgstr "" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "Shows a custom unit that can be specified as free input." msgstr "" @@ -12888,7 +12931,7 @@ msgstr "" msgid "Time Accounting Unit" msgstr "Unité de décompte du Temps" -#: ../manage/time-accounting.rst:62 +#: ../manage/time-accounting.rst:64 msgid "" "The unit is only displayed to make it easier for agents to account their " "time! No numerical transformation will be applied to the values, not even if " @@ -12900,11 +12943,11 @@ msgstr "" msgid "Time Accounting Unit when Recording" msgstr "" -#: ../manage/time-accounting.rst:72 +#: ../manage/time-accounting.rst:74 msgid "Activity Types" msgstr "Types d'activité" -#: ../manage/time-accounting.rst:74 +#: ../manage/time-accounting.rst:76 msgid "" "**Activity Types** can be used to group the different ticket time accounting " "entries together. For example, entries that are relevant to a \"Billing\" " @@ -12915,7 +12958,7 @@ msgstr "" msgid "Time Accounting Activity Types" msgstr "" -#: ../manage/time-accounting.rst:81 +#: ../manage/time-accounting.rst:83 msgid "" "When you enable the recording of the **Activity Type**, the agents will be " "able to select a type from this list." @@ -12925,13 +12968,13 @@ msgstr "" msgid "Time Accounting Activity Type Selection for Agents" msgstr "" -#: ../manage/time-accounting.rst:88 +#: ../manage/time-accounting.rst:90 msgid "" "Additionally, a column with an associated activity type will be rendered for " "an entry in the **Activity** table under the **Accounted Time** tab." msgstr "" -#: ../manage/time-accounting.rst:91 +#: ../manage/time-accounting.rst:93 msgid "" "You can manage available activity types in this screen like any other Zammad " "object. Only active types will be available for the selection when recording " @@ -12943,7 +12986,7 @@ msgstr "" msgid "New Time Accounting Activity Type Dialog" msgstr "" -#: ../manage/time-accounting.rst:100 +#: ../manage/time-accounting.rst:102 msgid "" "Activity types can be set as default, and in that case they will be pre-" "selected for the agents when they are asked to account their time. It is " @@ -12951,30 +12994,30 @@ msgid "" "pre-selected and the agents can make their choice." msgstr "" -#: ../manage/time-accounting.rst:106 +#: ../manage/time-accounting.rst:108 #, fuzzy msgid "Accounted Time" msgstr "Les comptes" -#: ../manage/time-accounting.rst:108 +#: ../manage/time-accounting.rst:110 msgid "" "Under the **Accounted Time** tab, Zammad provides a section for reviewing " "all accounted times for your tickets. Accounted times are displayed per " "years and months." msgstr "" -#: ../manage/time-accounting.rst:112 +#: ../manage/time-accounting.rst:114 msgid "" "If you have tickets that are overlapping several months, you can " "differentiate by *time units* and *time units total* (e.g. to allow partial " "billing) in the downloaded file." msgstr "" -#: ../manage/time-accounting.rst:123 +#: ../manage/time-accounting.rst:125 msgid "Select the right month" msgstr "" -#: ../manage/time-accounting.rst:117 +#: ../manage/time-accounting.rst:119 msgid "" "Usually you want to bill accounted time of other months than the current " "one. Just select the relevant year and month to receive the accounted times " @@ -12985,85 +13028,85 @@ msgstr "" msgid "Screenshot showing a selection for year and month on time accounting" msgstr "" -#: ../manage/time-accounting.rst:186 +#: ../manage/time-accounting.rst:188 msgid "Tickets and their accounted time" msgstr "" -#: ../manage/time-accounting.rst:126 +#: ../manage/time-accounting.rst:128 msgid "" "Zammad allows you to receive the accounted information just like you need " "them. For this you currently have four options to review and also download " "the relevant data as CSV." msgstr "" -#: ../manage/time-accounting.rst:130 +#: ../manage/time-accounting.rst:132 msgid "" "To download the CSV data, use the download button right next to each heading " "(e.g. \"Ticket\")." msgstr "" -#: ../manage/time-accounting.rst:133 +#: ../manage/time-accounting.rst:135 msgid "This can also be automated with API calls." msgstr "" -#: ../manage/time-accounting.rst:136 +#: ../manage/time-accounting.rst:138 msgid "" "Only the first 20 entries are shown for each table. To see all of them, " "simply download the records in CSV." msgstr "" -#: ../manage/time-accounting.rst:153 +#: ../manage/time-accounting.rst:155 msgid "Activity" msgstr "" -#: ../manage/time-accounting.rst:140 +#: ../manage/time-accounting.rst:142 msgid "" "This filter works similar to the ticket filter, with one exception: You'll " "find each *individual* time accounting step of your agents. This is what " "you'd also see in the ticket's history before Zammad 5.2." msgstr "" -#: ../manage/time-accounting.rst:144 ../manage/time-accounting.rst:158 -#: ../manage/time-accounting.rst:175 +#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:177 msgid "In this list you'll see the following ticket information:" msgstr "" -#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 #: ../settings/ticket.rst:103 msgid "Number" msgstr "" -#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 -#: ../manage/time-accounting.rst:179 ../manage/time-accounting.rst:177 +#: ../manage/time-accounting.rst:150 ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:181 ../manage/time-accounting.rst:179 #: ../misc/object-conditions/basics.rst:37 #: ../misc/object-conditions/basics.rst:89 #: ../misc/object-conditions/basics.rst:171 msgid "Customer" msgstr "Client" -#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 -#: ../manage/time-accounting.rst:178 +#: ../manage/time-accounting.rst:151 ../manage/time-accounting.rst:165 +#: ../manage/time-accounting.rst:180 msgid "Organization of customer (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:150 +#: ../manage/time-accounting.rst:152 msgid "Agent that accounted the time" msgstr "" -#: ../manage/time-accounting.rst:151 +#: ../manage/time-accounting.rst:153 msgid "Time units accounted in the current activity" msgstr "" -#: ../manage/time-accounting.rst:152 +#: ../manage/time-accounting.rst:154 msgid "Activity type (if enabled)" msgstr "" -#: ../manage/time-accounting.rst:153 ../manage/time-accounting.rst:167 +#: ../manage/time-accounting.rst:155 ../manage/time-accounting.rst:169 #: ../system/audit-logs.rst:76 msgid "Created at" msgstr "" -#: ../manage/time-accounting.rst:168 ../misc/object-conditions/basics.rst:26 +#: ../manage/time-accounting.rst:170 ../misc/object-conditions/basics.rst:26 #: ../misc/object-conditions/basics.rst:90 #: ../misc/object-conditions/basics.rst:126 #: ../misc/object-conditions/basics.rst:139 @@ -13079,45 +13122,45 @@ msgstr "" msgid "Ticket" msgstr "" -#: ../manage/time-accounting.rst:156 +#: ../manage/time-accounting.rst:158 msgid "This filter contains all relevant tickets from the selected month." msgstr "" -#: ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:166 msgid "Agent currently assigned (ticket owner)" msgstr "" -#: ../manage/time-accounting.rst:165 ../manage/time-accounting.rst:179 +#: ../manage/time-accounting.rst:167 ../manage/time-accounting.rst:181 msgid "Time units accounted in the current month" msgstr "" -#: ../manage/time-accounting.rst:166 +#: ../manage/time-accounting.rst:168 msgid "Time units total (time accounted during ticket life)" msgstr "" -#: ../manage/time-accounting.rst:168 +#: ../manage/time-accounting.rst:170 msgid "Closed at (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:171 +#: ../manage/time-accounting.rst:173 msgid "" "This provides you a per user filter on accounted time units. Each user has a " "total of time accounted in the current month (over all applicable tickets)." msgstr "" -#: ../manage/time-accounting.rst:186 ../misc/object-conditions/basics.rst:28 +#: ../manage/time-accounting.rst:188 ../misc/object-conditions/basics.rst:28 #: ../misc/object-conditions/basics.rst:115 #: ../misc/object-conditions/basics.rst:146 ../settings/branding.rst:16 msgid "Organization" msgstr "Organisation" -#: ../manage/time-accounting.rst:182 +#: ../manage/time-accounting.rst:184 msgid "" "This provides a list of all organizations where customers have caused " "accounted time in that month." msgstr "" -#: ../manage/time-accounting.rst:185 +#: ../manage/time-accounting.rst:187 msgid "" "You can also see entries for customers that are part of a primary " "organization. Users without an organization can be found in the Customer " @@ -16318,7 +16361,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:185 #: ../misc/object-conditions/basics.rst:209 #: ../misc/object-conditions/basics.rst:219 -#: ../system/core-workflows/condition-operators.rst:50 +#: ../system/core-workflows/condition-operators.rst:64 msgid "is" msgstr "" @@ -16335,7 +16378,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:186 #: ../misc/object-conditions/basics.rst:210 #: ../misc/object-conditions/basics.rst:220 -#: ../system/core-workflows/condition-operators.rst:72 +#: ../system/core-workflows/condition-operators.rst:86 msgid "is not" msgstr "" @@ -16406,7 +16449,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:97 #: ../misc/object-conditions/basics.rst:155 #: ../misc/object-conditions/basics.rst:204 -#: ../system/core-workflows/condition-operators.rst:86 +#: ../system/core-workflows/condition-operators.rst:100 msgid "not set" msgstr "" @@ -16573,22 +16616,58 @@ msgid "Checks tags of a ticket." msgstr "" #: ../misc/object-conditions/basics.rst:193 -#: ../system/core-workflows/condition-operators.rst:32 +#: ../misc/object-conditions/basics.rst:516 +#: ../misc/object-conditions/basics.rst:550 +#: ../misc/object-conditions/basics.rst:587 +#: ../misc/object-conditions/basics.rst:619 +#: ../system/core-workflows/condition-operators.rst:38 +#: ../system/core-workflows/condition-operators.rst:150 +#: ../system/core-workflows/condition-operators.rst:189 +#: ../system/core-workflows/condition-operators.rst:229 +#: ../system/core-workflows/condition-operators.rst:272 +#: ../system/core-workflows/condition-operators.rst:312 msgid "contains all" msgstr "" #: ../misc/object-conditions/basics.rst:194 -#: ../system/core-workflows/condition-operators.rst:38 +#: ../misc/object-conditions/basics.rst:513 +#: ../misc/object-conditions/basics.rst:547 +#: ../misc/object-conditions/basics.rst:584 +#: ../misc/object-conditions/basics.rst:616 +#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:147 +#: ../system/core-workflows/condition-operators.rst:186 +#: ../system/core-workflows/condition-operators.rst:226 +#: ../system/core-workflows/condition-operators.rst:269 +#: ../system/core-workflows/condition-operators.rst:309 msgid "contains one" msgstr "" #: ../misc/object-conditions/basics.rst:195 -#: ../system/core-workflows/condition-operators.rst:34 +#: ../misc/object-conditions/basics.rst:519 +#: ../misc/object-conditions/basics.rst:553 +#: ../misc/object-conditions/basics.rst:590 +#: ../misc/object-conditions/basics.rst:622 +#: ../system/core-workflows/condition-operators.rst:41 +#: ../system/core-workflows/condition-operators.rst:160 +#: ../system/core-workflows/condition-operators.rst:198 +#: ../system/core-workflows/condition-operators.rst:238 +#: ../system/core-workflows/condition-operators.rst:281 +#: ../system/core-workflows/condition-operators.rst:321 msgid "contains all not" msgstr "" #: ../misc/object-conditions/basics.rst:196 -#: ../system/core-workflows/condition-operators.rst:40 +#: ../misc/object-conditions/basics.rst:522 +#: ../misc/object-conditions/basics.rst:556 +#: ../misc/object-conditions/basics.rst:593 +#: ../misc/object-conditions/basics.rst:625 +#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:157 +#: ../system/core-workflows/condition-operators.rst:195 +#: ../system/core-workflows/condition-operators.rst:235 +#: ../system/core-workflows/condition-operators.rst:278 +#: ../system/core-workflows/condition-operators.rst:318 msgid "contains one not" msgstr "" @@ -16610,7 +16689,7 @@ msgid "Checks if time is accounted." msgstr "" #: ../misc/object-conditions/basics.rst:203 -#: ../system/core-workflows/condition-operators.rst:74 +#: ../system/core-workflows/condition-operators.rst:88 msgid "is set" msgstr "" @@ -16671,8 +16750,8 @@ msgstr "" #: ../misc/object-conditions/basics.rst:334 #: ../misc/object-conditions/basics.rst:381 #: ../misc/object-conditions/basics.rst:392 -#: ../misc/object-conditions/basics.rst:410 #: ../misc/object-conditions/basics.rst:421 +#: ../misc/object-conditions/basics.rst:432 msgid "Available operators for matching:" msgstr "" @@ -16758,7 +16837,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:269 #: ../misc/object-conditions/basics.rst:284 #: ../misc/object-conditions/basics.rst:385 -#: ../misc/object-conditions/basics.rst:414 +#: ../misc/object-conditions/basics.rst:425 msgid "**has changed**" msgstr "" @@ -16773,14 +16852,14 @@ msgstr "" #: ../misc/object-conditions/basics.rst:267 #: ../misc/object-conditions/basics.rst:278 #: ../misc/object-conditions/basics.rst:383 -#: ../misc/object-conditions/basics.rst:412 +#: ../misc/object-conditions/basics.rst:423 msgid "**is**" msgstr "" #: ../misc/object-conditions/basics.rst:268 #: ../misc/object-conditions/basics.rst:279 #: ../misc/object-conditions/basics.rst:384 -#: ../misc/object-conditions/basics.rst:413 +#: ../misc/object-conditions/basics.rst:424 msgid "**is not**" msgstr "" @@ -17028,7 +17107,7 @@ msgid "**contains all**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are selected." +msgid "Matches if **all** given field values are selected (AND logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -17036,7 +17115,8 @@ msgid "**contains one**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is selected." +msgid "" +"Matches if **at least one** of the given field values is selected (OR logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -17044,7 +17124,9 @@ msgid "**contains all not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are not selected." +msgid "" +"Matches if **not all** given field values are selected (at least one is " +"missing). This means \"not all of\", not \"none of\"." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -17052,24 +17134,35 @@ msgid "**contains one not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is not selected." +msgid "" +"Matches if **none** of the given field values are selected. This means " +"\"none of\", not \"not all of\"." msgstr "" -#: ../misc/object-conditions/basics.rst:405 ../system/objects/types.rst:135 +#: ../misc/object-conditions/basics.rst:408 +msgid "" +"In :doc:`core workflows `, these operators have " +"different semantics. See :ref:`core workflow condition operators ` for details. Example scenarios for the " +"operators described here can be found in :ref:`multi-select-operator-" +"examples` below." +msgstr "" + +#: ../misc/object-conditions/basics.rst:416 ../system/objects/types.rst:135 msgid "Single Tree Selection Field" msgstr "" -#: ../misc/object-conditions/basics.rst:407 +#: ../misc/object-conditions/basics.rst:418 msgid "" "Checks if a selected field value match the attribute value. Selecting more " "than one value in the condition will act like an \"OR\" clause." msgstr "" -#: ../misc/object-conditions/basics.rst:417 ../system/objects/types.rst:148 +#: ../misc/object-conditions/basics.rst:428 ../system/objects/types.rst:148 msgid "Multiple Tree Selection Field" msgstr "" -#: ../misc/object-conditions/basics.rst:419 +#: ../misc/object-conditions/basics.rst:430 msgid "Checks if selected field value(s) match the attribute value(s)." msgstr "" @@ -17089,69 +17182,69 @@ msgstr "" msgid "**contains one not**" msgstr "" -#: ../misc/object-conditions/basics.rst:433 +#: ../misc/object-conditions/basics.rst:447 msgid "Additional Information and Remarks" msgstr "" -#: ../misc/object-conditions/basics.rst:442 +#: ../misc/object-conditions/basics.rst:456 msgid "Ticket context conditions do not support:" msgstr "" -#: ../misc/object-conditions/basics.rst:439 +#: ../misc/object-conditions/basics.rst:453 msgid "regular expressions" msgstr "" -#: ../misc/object-conditions/basics.rst:440 +#: ../misc/object-conditions/basics.rst:454 msgid "case sensitive string conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:441 +#: ../misc/object-conditions/basics.rst:455 msgid "" "Basic conditions do not support the same attribute to be selected more than " "once" msgstr "" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 #, fuzzy msgid "**has changed** conditions:" msgstr "Boîte de dialogue de configuration avancée" -#: ../misc/object-conditions/basics.rst:445 +#: ../misc/object-conditions/basics.rst:459 msgid "Are only available for ticket attributes and don't affect:" msgstr "" -#: ../misc/object-conditions/basics.rst:447 +#: ../misc/object-conditions/basics.rst:461 #, fuzzy msgid "Ticket articles attributes" msgstr "Variables Article" -#: ../misc/object-conditions/basics.rst:448 +#: ../misc/object-conditions/basics.rst:462 #, fuzzy msgid "Organization attributes" msgstr "Sociétés" -#: ../misc/object-conditions/basics.rst:449 +#: ../misc/object-conditions/basics.rst:463 #, fuzzy msgid "User attributes" msgstr "Variables Article" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 #, fuzzy msgid "Group attributes" msgstr "Variables Article" -#: ../misc/object-conditions/basics.rst:463 +#: ../misc/object-conditions/basics.rst:477 msgid "Differences in input fields:" msgstr "" -#: ../misc/object-conditions/basics.rst:453 +#: ../misc/object-conditions/basics.rst:467 msgid "" "Please note that the input field for tokens doesn't support the comma as " "separator (as in the input field for tags). If you use the comma in the " "token input field, the comma is included in you token." msgstr "" -#: ../misc/object-conditions/basics.rst:457 +#: ../misc/object-conditions/basics.rst:471 msgid "**Example**:" msgstr "**Exemple** :" @@ -17159,33 +17252,258 @@ msgstr "**Exemple** :" msgid "Example of comma usage in token input field" msgstr "" -#: ../misc/object-conditions/basics.rst:462 +#: ../misc/object-conditions/basics.rst:476 msgid "" "``A`` added with enter/tab, ``B`` and ``C`` separated with comma (resulting " "in one token)." msgstr "" -#: ../misc/object-conditions/basics.rst:468 +#: ../misc/object-conditions/basics.rst:482 +msgid "Multi-Select Operator Examples" +msgstr "" + +#: ../misc/object-conditions/basics.rst:484 +msgid "" +"The ``contains`` family of operators for multi-select fields compares two " +"sets of values: the values currently in the field and the values specified " +"in the condition. The diagrams below show the condition values as an orange " +"circle and the field values as a blue circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:489 +msgid "" +"Be aware that these operators behave **differently** in :doc:`core workflows " +"`. See :ref:`core workflow condition operators ` for a side by side comparison." +msgstr "" + +#: ../misc/object-conditions/basics.rst:495 +#: ../system/core-workflows/condition-operators.rst:165 +msgid "Example 1: Condition A, B - Field A, B, C" +msgstr "" + +#: ../misc/object-conditions/basics.rst:497 +#: ../system/core-workflows/condition-operators.rst:167 +msgid "" +"In this scenario, the field holds the values A, B and C, while the condition " +"asks for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "" +"Venn diagram of condition values A, B and field values A, B, C. A and B are " +"in both circles, C only in the field circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "Condition values ``A, B`` overlap with field values ``A, B, C``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:510 +#: ../misc/object-conditions/basics.rst:544 +#: ../misc/object-conditions/basics.rst:581 +#: ../misc/object-conditions/basics.rst:613 +#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:141 +#: ../system/core-workflows/condition-operators.rst:180 +#: ../system/core-workflows/condition-operators.rst:220 +#: ../system/core-workflows/condition-operators.rst:263 +#: ../system/core-workflows/condition-operators.rst:303 +msgid "Operator" +msgstr "" + +#: ../misc/object-conditions/basics.rst:511 +#: ../misc/object-conditions/basics.rst:545 +#: ../misc/object-conditions/basics.rst:582 +#: ../misc/object-conditions/basics.rst:614 +#: ../system/core-workflows/condition-operators.rst:181 +#: ../system/core-workflows/condition-operators.rst:221 +#: ../system/core-workflows/condition-operators.rst:264 +#: ../system/core-workflows/condition-operators.rst:304 +msgid "Matches?" +msgstr "" + +#: ../misc/object-conditions/basics.rst:512 +#: ../misc/object-conditions/basics.rst:546 +#: ../misc/object-conditions/basics.rst:583 +#: ../misc/object-conditions/basics.rst:615 +#: ../system/core-workflows/condition-operators.rst:182 +#: ../system/core-workflows/condition-operators.rst:222 +#: ../system/core-workflows/condition-operators.rst:265 +#: ../system/core-workflows/condition-operators.rst:305 +msgid "Why" +msgstr "" + +#: ../misc/object-conditions/basics.rst:515 +#: ../system/core-workflows/condition-operators.rst:185 +msgid "``A`` and ``B`` are in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:518 +#: ../system/core-workflows/condition-operators.rst:191 +msgid "Both ``A`` and ``B`` are present (AND logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:521 +msgid "All condition values are present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:524 +msgid "The field has values in common with the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:527 +#: ../system/core-workflows/condition-operators.rst:203 +msgid "Example 2: Condition A, B, C - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:529 +#: ../system/core-workflows/condition-operators.rst:205 +msgid "" +"In this scenario, the field holds the values C and D. The condition value C " +"is present in the field, while A and B are not." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Venn diagram of condition values A, B, C and field values C, D.\n" +"Only C is in both circles." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Condition values ``A, B, C`` partially overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:549 +#: ../system/core-workflows/condition-operators.rst:225 +msgid "``C`` is in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:552 +#: ../system/core-workflows/condition-operators.rst:231 +msgid "Only ``C`` of the three condition values is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:555 +#: ../misc/object-conditions/basics.rst:592 +msgid "``A`` and ``B`` are missing from the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:558 +msgid "``C`` is in both the field and the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:560 +msgid "" +"This partial overlap is where the two \"not\" operators part ways: " +"``contains all not`` matches because a single condition value is missing, " +"while ``contains one not`` does not match because the one common value is " +"enough to block it." +msgstr "" + +#: ../misc/object-conditions/basics.rst:566 +#: ../system/core-workflows/condition-operators.rst:248 +msgid "Example 3: Condition A, B - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:568 +#: ../system/core-workflows/condition-operators.rst:250 +msgid "" +"In this scenario, the field holds the values C and D, which have nothing in " +"common with the condition values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "" +"Venn diagram of condition values A, B and field values C, D. The two circles " +"do not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "Condition values ``A, B`` have no overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:586 +#: ../system/core-workflows/condition-operators.rst:268 +msgid "No value is in both sets." +msgstr "" + +#: ../misc/object-conditions/basics.rst:589 +#: ../system/core-workflows/condition-operators.rst:274 +msgid "Neither ``A`` nor ``B`` is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:595 +#: ../misc/object-conditions/basics.rst:627 +#: ../system/core-workflows/condition-operators.rst:159 +#: ../system/core-workflows/condition-operators.rst:161 +#: ../system/core-workflows/condition-operators.rst:283 +msgid "The field has no value in common with the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:598 +#: ../system/core-workflows/condition-operators.rst:288 +msgid "Example 4: Condition A, B - Field is empty" +msgstr "" + +#: ../misc/object-conditions/basics.rst:600 +#: ../system/core-workflows/condition-operators.rst:290 +msgid "" +"In this scenario, the field holds no values at all, while the condition asks " +"for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "" +"Venn diagram of condition values A, B and an empty field. The two circles do " +"not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "The field holds no values at all." +msgstr "" + +#: ../misc/object-conditions/basics.rst:618 +#: ../misc/object-conditions/basics.rst:621 +#: ../system/core-workflows/condition-operators.rst:308 +#: ../system/core-workflows/condition-operators.rst:314 +msgid "No value is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:624 +msgid "No condition value is present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:632 msgid "Regex" msgstr "" -#: ../misc/object-conditions/basics.rst:473 +#: ../misc/object-conditions/basics.rst:637 #, fuzzy msgid "Regex support" msgstr "**Résultat**" -#: ../misc/object-conditions/basics.rst:471 +#: ../misc/object-conditions/basics.rst:635 msgid "" "**matches regex** and **does not match regex** are supported only in " "Triggers, Time Accounting selector, Postmaster Filters, Automatic ticket " "assignment and Core Workflow." msgstr "" -#: ../misc/object-conditions/basics.rst:478 +#: ../misc/object-conditions/basics.rst:642 msgid "\"Old\" style ``regex:...`` conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:476 +#: ../misc/object-conditions/basics.rst:640 msgid "" "If you update your Zammad from 6.0 or prior and you have already conditions " "with **contains** or **contains not** including a regex filter (i.e. " @@ -23494,9 +23812,9 @@ msgstr "" #: ../system/core-workflows/condition-operators.rst:8 msgid "" -"Due to differences to other places in Zammad which are also using conditions " -"(e.g. triggers), you can find a dedicated description of operators for core " -"workflows below." +"Due to differences from other places in Zammad which are also using " +"conditions (e.g. triggers), you can find a dedicated description of " +"operators for core workflows below." msgstr "" #: ../system/core-workflows/condition-operators.rst:12 @@ -23506,272 +23824,421 @@ msgid "" "for system attributes (e.g. for \"tags\", \"active\")." msgstr "" -#: ../system/core-workflows/condition-operators.rst:20 -msgid "Operator" -msgstr "" - -#: ../system/core-workflows/condition-operators.rst:22 +#: ../system/core-workflows/condition-operators.rst:23 msgid "after (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:23 +#: ../system/core-workflows/condition-operators.rst:24 msgid "Matches if a date/time is after a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:24 +#: ../system/core-workflows/condition-operators.rst:25 msgid "after (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:25 +#: ../system/core-workflows/condition-operators.rst:26 msgid "Matches if a time span after a specified event has passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:26 +#: ../system/core-workflows/condition-operators.rst:27 msgid "before (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:27 +#: ../system/core-workflows/condition-operators.rst:28 msgid "Matches if a date/time is before a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:28 +#: ../system/core-workflows/condition-operators.rst:29 msgid "before (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:29 +#: ../system/core-workflows/condition-operators.rst:30 msgid "Matches if a time span after a specified event has not passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:30 +#: ../system/core-workflows/condition-operators.rst:31 +#: ../system/core-workflows/condition-operators.rst:144 +#: ../system/core-workflows/condition-operators.rst:183 +#: ../system/core-workflows/condition-operators.rst:223 +#: ../system/core-workflows/condition-operators.rst:266 +#: ../system/core-workflows/condition-operators.rst:306 msgid "contains" msgstr "" -#: ../system/core-workflows/condition-operators.rst:31 -msgid "Matches if a specified value is present." +#: ../system/core-workflows/condition-operators.rst:32 +msgid "" +"Matches if **at least one** of the specified values is present in the field " +"(OR logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:33 -msgid "Matches if all of the specified values are present." +#: ../system/core-workflows/condition-operators.rst:34 +#: ../system/core-workflows/condition-operators.rst:153 +#: ../system/core-workflows/condition-operators.rst:192 +#: ../system/core-workflows/condition-operators.rst:232 +#: ../system/core-workflows/condition-operators.rst:275 +#: ../system/core-workflows/condition-operators.rst:315 +msgid "contains not" msgstr "" #: ../system/core-workflows/condition-operators.rst:35 -msgid "Matches if none of the specified values are present." +msgid "" +"Matches if the field contains at least one value that is **not** among the " +"specified values. Also matches if the field is empty." msgstr "" -#: ../system/core-workflows/condition-operators.rst:36 -msgid "contains not" +#: ../system/core-workflows/condition-operators.rst:39 +msgid "" +"Matches if **every** specified value is present in the field (AND logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:37 -msgid "Matches if a specified value is not present." +#: ../system/core-workflows/condition-operators.rst:42 +msgid "" +"Matches if **none** of the specified values are present in the field. The " +"field and the condition have no value in common: this means \"contains none " +"of\", not \"does not contain all of\"." msgstr "" -#: ../system/core-workflows/condition-operators.rst:39 -msgid "Matches if one specified value is present." +#: ../system/core-workflows/condition-operators.rst:46 +msgid "" +"In triggers and overviews, this operator means \"not all of the specified " +"values are present\" instead. See the examples section below." msgstr "" -#: ../system/core-workflows/condition-operators.rst:41 -msgid "Matches if one specified value is not present." +#: ../system/core-workflows/condition-operators.rst:50 +msgid "" +"Same as ``contains``. Matches if **at least one** of the specified values is " +"present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:42 +#: ../system/core-workflows/condition-operators.rst:53 +msgid "" +"Same as ``contains not``. Matches if the field contains at least one value " +"that is **not** among the specified values." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:56 msgid "does not match regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:43 +#: ../system/core-workflows/condition-operators.rst:57 msgid "Matches if content doesn't fit to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:44 +#: ../system/core-workflows/condition-operators.rst:58 msgid "ends with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:45 +#: ../system/core-workflows/condition-operators.rst:59 msgid "Matches if content ends with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:46 +#: ../system/core-workflows/condition-operators.rst:60 msgid "ends with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:47 +#: ../system/core-workflows/condition-operators.rst:61 msgid "Matches if content ends with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:48 +#: ../system/core-workflows/condition-operators.rst:62 msgid "from (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:63 msgid "Matches if date/time is after a period of time after an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:51 +#: ../system/core-workflows/condition-operators.rst:65 msgid "Matches if content is equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:66 msgid "is any of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:53 +#: ../system/core-workflows/condition-operators.rst:67 msgid "Matches if content is equal to any of specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:54 +#: ../system/core-workflows/condition-operators.rst:68 msgid "is greater than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:55 +#: ../system/core-workflows/condition-operators.rst:69 msgid "Matches if the value is greater than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:56 +#: ../system/core-workflows/condition-operators.rst:70 msgid "is greater than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:57 +#: ../system/core-workflows/condition-operators.rst:71 msgid "Matches if the value is greater than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:58 +#: ../system/core-workflows/condition-operators.rst:72 msgid "is less than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:59 +#: ../system/core-workflows/condition-operators.rst:73 msgid "Matches if the value is less than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:60 +#: ../system/core-workflows/condition-operators.rst:74 msgid "is less than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:61 +#: ../system/core-workflows/condition-operators.rst:75 msgid "Matches if the value is less than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:62 +#: ../system/core-workflows/condition-operators.rst:76 msgid "is modified" msgstr "" -#: ../system/core-workflows/condition-operators.rst:63 +#: ../system/core-workflows/condition-operators.rst:77 msgid "Matches if content is modified." msgstr "" -#: ../system/core-workflows/condition-operators.rst:65 -#: ../system/core-workflows/condition-operators.rst:69 +#: ../system/core-workflows/condition-operators.rst:79 +#: ../system/core-workflows/condition-operators.rst:83 msgid "True from the moment of changing content until form submit." msgstr "" -#: ../system/core-workflows/condition-operators.rst:66 +#: ../system/core-workflows/condition-operators.rst:80 msgid "is modified to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:67 +#: ../system/core-workflows/condition-operators.rst:81 msgid "Matches if content is modified to a specific value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:70 +#: ../system/core-workflows/condition-operators.rst:84 msgid "is none of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:71 +#: ../system/core-workflows/condition-operators.rst:85 msgid "Matches if content is none of any specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:73 +#: ../system/core-workflows/condition-operators.rst:87 msgid "Matches if content is not equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:75 +#: ../system/core-workflows/condition-operators.rst:89 msgid "Matches if content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:76 +#: ../system/core-workflows/condition-operators.rst:90 msgid "just changed" msgstr "" -#: ../system/core-workflows/condition-operators.rst:77 +#: ../system/core-workflows/condition-operators.rst:91 msgid "Matches if content has changed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:79 -#: ../system/core-workflows/condition-operators.rst:83 +#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:97 msgid "" "Only true for the moment of changing content until next form field action/" "click." msgstr "" -#: ../system/core-workflows/condition-operators.rst:80 +#: ../system/core-workflows/condition-operators.rst:94 msgid "just changed to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:81 +#: ../system/core-workflows/condition-operators.rst:95 msgid "Matches if content has changed to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:84 +#: ../system/core-workflows/condition-operators.rst:98 msgid "matches regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:85 +#: ../system/core-workflows/condition-operators.rst:99 msgid "Matches if value fits to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:87 +#: ../system/core-workflows/condition-operators.rst:101 msgid "Matches if no content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:88 +#: ../system/core-workflows/condition-operators.rst:102 msgid "starts with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:89 +#: ../system/core-workflows/condition-operators.rst:103 msgid "Matches if content starts with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:90 +#: ../system/core-workflows/condition-operators.rst:104 msgid "starts with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:91 +#: ../system/core-workflows/condition-operators.rst:105 msgid "Matches if content starts with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:92 +#: ../system/core-workflows/condition-operators.rst:106 msgid "till (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:107 msgid "Matches if date/time is before a period of time before an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:94 +#: ../system/core-workflows/condition-operators.rst:108 msgid "today" msgstr "" -#: ../system/core-workflows/condition-operators.rst:95 +#: ../system/core-workflows/condition-operators.rst:109 msgid "Matches if date/time is today." msgstr "" -#: ../system/core-workflows/condition-operators.rst:96 +#: ../system/core-workflows/condition-operators.rst:110 msgid "within last (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:97 +#: ../system/core-workflows/condition-operators.rst:111 msgid "" "Matches if date/time content is within specified period of time before now." msgstr "" -#: ../system/core-workflows/condition-operators.rst:99 +#: ../system/core-workflows/condition-operators.rst:113 msgid "within next (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:100 +#: ../system/core-workflows/condition-operators.rst:114 msgid "" "Matches if date/time content is within specified period of time after now." msgstr "" +#: ../system/core-workflows/condition-operators.rst:118 +msgid "Multi-Select Operators" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:120 +msgid "" +"The ``contains`` family of operators compares two sets of values: the values " +"currently in the field and the values specified in the condition. The " +"diagrams below show the condition values as an orange circle and the field " +"values as a blue circle." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:128 +msgid "Differences to Triggers and Overviews" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:130 +msgid "" +"Be aware that these operators behave **differently** in other features that " +"use conditions (e.g. triggers and overviews). The most confusing difference: " +"in core workflows, ``contains all not`` means that no value matches at all, " +"while in triggers and overviews it means \"not all values are present\". The " +"table below compares both worlds side by side." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:142 +#, fuzzy +#| msgid "Core Workflows" +msgid "Core workflows (this page)" +msgstr "Flux de travail principaux" + +#: ../system/core-workflows/condition-operators.rst:143 +msgid "Triggers, overviews, etc." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:145 +#: ../system/core-workflows/condition-operators.rst:149 +msgid "At least one value is present (OR logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:146 +msgid "Not available; ``contains one`` is the equivalent." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:148 +#: ../system/core-workflows/condition-operators.rst:188 +#: ../system/core-workflows/condition-operators.rst:228 +#: ../system/core-workflows/condition-operators.rst:271 +#: ../system/core-workflows/condition-operators.rst:311 +msgid "Same as ``contains``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:151 +#: ../system/core-workflows/condition-operators.rst:152 +msgid "Every value is present (AND logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:154 +msgid "" +"At least one field value is outside the condition, or the field is empty." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:156 +msgid "Not available for multi-select fields." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:158 +#: ../system/core-workflows/condition-operators.rst:197 +#: ../system/core-workflows/condition-operators.rst:237 +#: ../system/core-workflows/condition-operators.rst:280 +#: ../system/core-workflows/condition-operators.rst:320 +msgid "Same as ``contains not``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:162 +msgid "Not all values are present (at least one is missing)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:194 +msgid "``C`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:200 +msgid "``A`` and ``B`` are present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:234 +msgid "``D`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:240 +msgid "``C`` is present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:242 +msgid "" +"This partial overlap is where the two \"all\" operators part ways: " +"``contains all`` fails because one condition value is missing, while " +"``contains all not`` fails because a single common value is enough to block " +"it." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:277 +msgid "``C`` and ``D`` are not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:285 +msgid "This is the only example where ``contains all not`` matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:317 +msgid "An empty field matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:323 +msgid "An empty field has no value in common with the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:325 +msgid "" +"Note that ``contains not`` and ``contains one not`` match an empty field, " +"while ``contains`` and ``contains all`` do not. If you want to exclude " +"specific values, be aware that empty fields pass the condition." +msgstr "" + #: ../system/core-workflows/how-do-they-work.rst:2 msgid "How do they work?" msgstr "" diff --git a/locale/fr_CA/LC_MESSAGES/admin-docs.po b/locale/fr_CA/LC_MESSAGES/admin-docs.po index f1b7ff9fc..bc345b1c1 100644 --- a/locale/fr_CA/LC_MESSAGES/admin-docs.po +++ b/locale/fr_CA/LC_MESSAGES/admin-docs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Zammad\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-24 17:19+0200\n" +"POT-Creation-Date: 2026-08-28 15:08+0200\n" "PO-Revision-Date: 2026-07-29 08:00+0000\n" "Last-Translator: Anonymous \n" "Language-Team: French (Canada) ` and consider switching your plan. When a " @@ -1153,17 +1154,17 @@ msgid "" "alerted when few calls remain." msgstr "" -#: ../ai/provider.rst:288 +#: ../ai/provider.rst:289 msgid "" "On SaaS, the Zammad AI provider is provisioned by the platform and you " "cannot delete it or change its type." msgstr "" -#: ../ai/provider.rst:295 +#: ../ai/provider.rst:296 msgid "Self-Hosted Customers" msgstr "" -#: ../ai/provider.rst:292 +#: ../ai/provider.rst:293 msgid "" "Get in touch with our `sales department `_ to obtain a Zammad AI API key and to buy AI calls. After " @@ -1171,14 +1172,14 @@ msgid "" "key." msgstr "" -#: ../ai/provider.rst:300 +#: ../ai/provider.rst:301 msgid "" "`Ollama `_ lets you run your own AI server on a machine " "you control, so your data is not transferred to a third party. This approach " "only makes sense if you have a powerful GPU in your system!" msgstr "" -#: ../ai/provider.rst:304 +#: ../ai/provider.rst:305 msgid "" "If you don't have Ollama running yet, their `documentation `_ is a good starting point. Available models are listed in " @@ -4375,7 +4376,7 @@ msgstr "" msgid "Signatures" msgstr "" -#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:436 +#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:450 #: ../system/monitoring.rst:9 msgid "General" msgstr "" @@ -5105,7 +5106,7 @@ msgstr "" #: ../channels/form.rst:250 ../manage/public-links.rst:43 #: ../misc/object-conditions/basics.rst:63 ../misc/variables.rst:101 -#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:22 #: ../system/objects/permissions.rst:36 ../system/subscription.rst:196 msgid "Description" msgstr "" @@ -8871,6 +8872,29 @@ msgstr "" #: ../manage/groups/settings.rst:42 ../manage/groups/settings.rst:63 #: ../misc/object-conditions/basics.rst:121 #: ../misc/object-conditions/basics.rst:136 +#: ../misc/object-conditions/basics.rst:514 +#: ../misc/object-conditions/basics.rst:517 +#: ../misc/object-conditions/basics.rst:548 +#: ../misc/object-conditions/basics.rst:554 +#: ../misc/object-conditions/basics.rst:591 +#: ../misc/object-conditions/basics.rst:594 +#: ../misc/object-conditions/basics.rst:623 +#: ../misc/object-conditions/basics.rst:626 +#: ../system/core-workflows/condition-operators.rst:184 +#: ../system/core-workflows/condition-operators.rst:187 +#: ../system/core-workflows/condition-operators.rst:190 +#: ../system/core-workflows/condition-operators.rst:193 +#: ../system/core-workflows/condition-operators.rst:196 +#: ../system/core-workflows/condition-operators.rst:224 +#: ../system/core-workflows/condition-operators.rst:227 +#: ../system/core-workflows/condition-operators.rst:233 +#: ../system/core-workflows/condition-operators.rst:236 +#: ../system/core-workflows/condition-operators.rst:276 +#: ../system/core-workflows/condition-operators.rst:279 +#: ../system/core-workflows/condition-operators.rst:282 +#: ../system/core-workflows/condition-operators.rst:316 +#: ../system/core-workflows/condition-operators.rst:319 +#: ../system/core-workflows/condition-operators.rst:322 msgid "yes" msgstr "" @@ -8925,6 +8949,23 @@ msgstr "" #: ../manage/groups/settings.rst:66 ../misc/object-conditions/basics.rst:122 #: ../misc/object-conditions/basics.rst:137 +#: ../misc/object-conditions/basics.rst:520 +#: ../misc/object-conditions/basics.rst:523 +#: ../misc/object-conditions/basics.rst:551 +#: ../misc/object-conditions/basics.rst:557 +#: ../misc/object-conditions/basics.rst:585 +#: ../misc/object-conditions/basics.rst:588 +#: ../misc/object-conditions/basics.rst:617 +#: ../misc/object-conditions/basics.rst:620 +#: ../system/core-workflows/condition-operators.rst:199 +#: ../system/core-workflows/condition-operators.rst:230 +#: ../system/core-workflows/condition-operators.rst:239 +#: ../system/core-workflows/condition-operators.rst:267 +#: ../system/core-workflows/condition-operators.rst:270 +#: ../system/core-workflows/condition-operators.rst:273 +#: ../system/core-workflows/condition-operators.rst:307 +#: ../system/core-workflows/condition-operators.rst:310 +#: ../system/core-workflows/condition-operators.rst:313 msgid "no" msgstr "" @@ -9332,7 +9373,7 @@ msgid "" msgstr "" #: ../manage/knowledge-base.rst:136 ../manage/public-links.rst:35 -#: ../manage/time-accounting.rst:147 ../manage/time-accounting.rst:161 +#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 #: ../system/maintenance.rst:31 msgid "Title" msgstr "" @@ -12645,16 +12686,18 @@ msgstr "" #: ../manage/time-accounting.rst:22 msgid "" "If a ticket is relevant, Zammad will request the agent to provide the time " -"which was needed to process the current ticket step. In order for Zammad to " -"bring up the time accounting dialog to an agent, the agent has to update the " -"ticket together with an article of any type. The adding of an article is " -"mandatory to invoke the time accounting dialog. However, the time accounting " -"dialog is not mandatory and can be canceled by your agents. You cannot " -"enforce the time accounting. When a ticket is no longer considered for the " -"time accounting, the already accounted time will be preserved." +"which was needed to process the current ticket step. This accounted time is " +"displayed in the ticket sidebar at ticket level and in the article meta " +"information for an individual article. In order for Zammad to bring up the " +"time accounting dialog to an agent, the agent has to update the ticket " +"together with an article of any type. The adding of an article is mandatory " +"to invoke the time accounting dialog. However, the time accounting dialog is " +"not mandatory and can be canceled by your agents. You cannot enforce the " +"time accounting. When a ticket is no longer considered for the time " +"accounting, the already accounted time will be preserved." msgstr "" -#: ../manage/time-accounting.rst:33 +#: ../manage/time-accounting.rst:35 msgid "" "The selector applies to the ticket state before any attribute changes have " "been saved. That means if your agent is e.g. going to close a ticket " @@ -12667,49 +12710,49 @@ msgstr "" msgid "Time Accounting Ticket Selector" msgstr "Billet > Titre" -#: ../manage/time-accounting.rst:42 +#: ../manage/time-accounting.rst:44 msgid "" "The accounted time is always a unitless number. However, it is possible to " "show a specific unit in the **Unit** section, which provides several options:" msgstr "" -#: ../manage/time-accounting.rst:46 +#: ../manage/time-accounting.rst:48 msgid "no unit" msgstr "" -#: ../manage/time-accounting.rst:47 +#: ../manage/time-accounting.rst:49 msgid "Default behavior, no unit is shown next to the time value." msgstr "" -#: ../manage/time-accounting.rst:48 +#: ../manage/time-accounting.rst:50 msgid "hour(s)" msgstr "" -#: ../manage/time-accounting.rst:49 +#: ../manage/time-accounting.rst:51 msgid "Shows ``hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:50 +#: ../manage/time-accounting.rst:52 msgid "quarter-hour(s)" msgstr "" -#: ../manage/time-accounting.rst:51 +#: ../manage/time-accounting.rst:53 msgid "Shows ``quarter-hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:52 +#: ../manage/time-accounting.rst:54 msgid "minute(s)" msgstr "" -#: ../manage/time-accounting.rst:53 +#: ../manage/time-accounting.rst:55 msgid "Shows ``minute(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "custom unit" msgstr "" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "Shows a custom unit that can be specified as free input." msgstr "" @@ -12718,7 +12761,7 @@ msgstr "" msgid "Time Accounting Unit" msgstr "Billet > Titre" -#: ../manage/time-accounting.rst:62 +#: ../manage/time-accounting.rst:64 msgid "" "The unit is only displayed to make it easier for agents to account their " "time! No numerical transformation will be applied to the values, not even if " @@ -12731,11 +12774,11 @@ msgstr "" msgid "Time Accounting Unit when Recording" msgstr "Billet > Titre" -#: ../manage/time-accounting.rst:72 +#: ../manage/time-accounting.rst:74 msgid "Activity Types" msgstr "" -#: ../manage/time-accounting.rst:74 +#: ../manage/time-accounting.rst:76 msgid "" "**Activity Types** can be used to group the different ticket time accounting " "entries together. For example, entries that are relevant to a \"Billing\" " @@ -12747,7 +12790,7 @@ msgstr "" msgid "Time Accounting Activity Types" msgstr "Billet > Titre" -#: ../manage/time-accounting.rst:81 +#: ../manage/time-accounting.rst:83 msgid "" "When you enable the recording of the **Activity Type**, the agents will be " "able to select a type from this list." @@ -12758,13 +12801,13 @@ msgstr "" msgid "Time Accounting Activity Type Selection for Agents" msgstr "Billet > Titre" -#: ../manage/time-accounting.rst:88 +#: ../manage/time-accounting.rst:90 msgid "" "Additionally, a column with an associated activity type will be rendered for " "an entry in the **Activity** table under the **Accounted Time** tab." msgstr "" -#: ../manage/time-accounting.rst:91 +#: ../manage/time-accounting.rst:93 msgid "" "You can manage available activity types in this screen like any other Zammad " "object. Only active types will be available for the selection when recording " @@ -12777,7 +12820,7 @@ msgstr "" msgid "New Time Accounting Activity Type Dialog" msgstr "Billet > Titre" -#: ../manage/time-accounting.rst:100 +#: ../manage/time-accounting.rst:102 msgid "" "Activity types can be set as default, and in that case they will be pre-" "selected for the agents when they are asked to account their time. It is " @@ -12785,30 +12828,30 @@ msgid "" "pre-selected and the agents can make their choice." msgstr "" -#: ../manage/time-accounting.rst:106 +#: ../manage/time-accounting.rst:108 #, fuzzy msgid "Accounted Time" msgstr "Billet > Temps comptabilisé" -#: ../manage/time-accounting.rst:108 +#: ../manage/time-accounting.rst:110 msgid "" "Under the **Accounted Time** tab, Zammad provides a section for reviewing " "all accounted times for your tickets. Accounted times are displayed per " "years and months." msgstr "" -#: ../manage/time-accounting.rst:112 +#: ../manage/time-accounting.rst:114 msgid "" "If you have tickets that are overlapping several months, you can " "differentiate by *time units* and *time units total* (e.g. to allow partial " "billing) in the downloaded file." msgstr "" -#: ../manage/time-accounting.rst:123 +#: ../manage/time-accounting.rst:125 msgid "Select the right month" msgstr "" -#: ../manage/time-accounting.rst:117 +#: ../manage/time-accounting.rst:119 msgid "" "Usually you want to bill accounted time of other months than the current " "one. Just select the relevant year and month to receive the accounted times " @@ -12819,87 +12862,87 @@ msgstr "" msgid "Screenshot showing a selection for year and month on time accounting" msgstr "" -#: ../manage/time-accounting.rst:186 +#: ../manage/time-accounting.rst:188 #, fuzzy msgid "Tickets and their accounted time" msgstr "Billet > Temps comptabilisé" -#: ../manage/time-accounting.rst:126 +#: ../manage/time-accounting.rst:128 msgid "" "Zammad allows you to receive the accounted information just like you need " "them. For this you currently have four options to review and also download " "the relevant data as CSV." msgstr "" -#: ../manage/time-accounting.rst:130 +#: ../manage/time-accounting.rst:132 msgid "" "To download the CSV data, use the download button right next to each heading " "(e.g. \"Ticket\")." msgstr "" -#: ../manage/time-accounting.rst:133 +#: ../manage/time-accounting.rst:135 msgid "This can also be automated with API calls." msgstr "" -#: ../manage/time-accounting.rst:136 +#: ../manage/time-accounting.rst:138 msgid "" "Only the first 20 entries are shown for each table. To see all of them, " "simply download the records in CSV." msgstr "" -#: ../manage/time-accounting.rst:153 +#: ../manage/time-accounting.rst:155 msgid "Activity" msgstr "" -#: ../manage/time-accounting.rst:140 +#: ../manage/time-accounting.rst:142 msgid "" "This filter works similar to the ticket filter, with one exception: You'll " "find each *individual* time accounting step of your agents. This is what " "you'd also see in the ticket's history before Zammad 5.2." msgstr "" -#: ../manage/time-accounting.rst:144 ../manage/time-accounting.rst:158 -#: ../manage/time-accounting.rst:175 +#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:177 msgid "In this list you'll see the following ticket information:" msgstr "" -#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 #: ../settings/ticket.rst:103 msgid "Number" msgstr "Nombre" -#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 -#: ../manage/time-accounting.rst:179 ../manage/time-accounting.rst:177 +#: ../manage/time-accounting.rst:150 ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:181 ../manage/time-accounting.rst:179 #: ../misc/object-conditions/basics.rst:37 #: ../misc/object-conditions/basics.rst:89 #: ../misc/object-conditions/basics.rst:171 msgid "Customer" msgstr "" -#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 -#: ../manage/time-accounting.rst:178 +#: ../manage/time-accounting.rst:151 ../manage/time-accounting.rst:165 +#: ../manage/time-accounting.rst:180 msgid "Organization of customer (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:150 +#: ../manage/time-accounting.rst:152 #, fuzzy msgid "Agent that accounted the time" msgstr "Billet > Temps comptabilisé" -#: ../manage/time-accounting.rst:151 +#: ../manage/time-accounting.rst:153 msgid "Time units accounted in the current activity" msgstr "" -#: ../manage/time-accounting.rst:152 +#: ../manage/time-accounting.rst:154 msgid "Activity type (if enabled)" msgstr "" -#: ../manage/time-accounting.rst:153 ../manage/time-accounting.rst:167 +#: ../manage/time-accounting.rst:155 ../manage/time-accounting.rst:169 #: ../system/audit-logs.rst:76 msgid "Created at" msgstr "" -#: ../manage/time-accounting.rst:168 ../misc/object-conditions/basics.rst:26 +#: ../manage/time-accounting.rst:170 ../misc/object-conditions/basics.rst:26 #: ../misc/object-conditions/basics.rst:90 #: ../misc/object-conditions/basics.rst:126 #: ../misc/object-conditions/basics.rst:139 @@ -12915,46 +12958,46 @@ msgstr "" msgid "Ticket" msgstr "Billet" -#: ../manage/time-accounting.rst:156 +#: ../manage/time-accounting.rst:158 #, fuzzy msgid "This filter contains all relevant tickets from the selected month." msgstr "Ceci supprimera complètement les références du billet du sujet." -#: ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:166 msgid "Agent currently assigned (ticket owner)" msgstr "" -#: ../manage/time-accounting.rst:165 ../manage/time-accounting.rst:179 +#: ../manage/time-accounting.rst:167 ../manage/time-accounting.rst:181 msgid "Time units accounted in the current month" msgstr "" -#: ../manage/time-accounting.rst:166 +#: ../manage/time-accounting.rst:168 msgid "Time units total (time accounted during ticket life)" msgstr "" -#: ../manage/time-accounting.rst:168 +#: ../manage/time-accounting.rst:170 msgid "Closed at (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:171 +#: ../manage/time-accounting.rst:173 msgid "" "This provides you a per user filter on accounted time units. Each user has a " "total of time accounted in the current month (over all applicable tickets)." msgstr "" -#: ../manage/time-accounting.rst:186 ../misc/object-conditions/basics.rst:28 +#: ../manage/time-accounting.rst:188 ../misc/object-conditions/basics.rst:28 #: ../misc/object-conditions/basics.rst:115 #: ../misc/object-conditions/basics.rst:146 ../settings/branding.rst:16 msgid "Organization" msgstr "" -#: ../manage/time-accounting.rst:182 +#: ../manage/time-accounting.rst:184 msgid "" "This provides a list of all organizations where customers have caused " "accounted time in that month." msgstr "" -#: ../manage/time-accounting.rst:185 +#: ../manage/time-accounting.rst:187 msgid "" "You can also see entries for customers that are part of a primary " "organization. Users without an organization can be found in the Customer " @@ -16146,7 +16189,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:185 #: ../misc/object-conditions/basics.rst:209 #: ../misc/object-conditions/basics.rst:219 -#: ../system/core-workflows/condition-operators.rst:50 +#: ../system/core-workflows/condition-operators.rst:64 msgid "is" msgstr "" @@ -16163,7 +16206,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:186 #: ../misc/object-conditions/basics.rst:210 #: ../misc/object-conditions/basics.rst:220 -#: ../system/core-workflows/condition-operators.rst:72 +#: ../system/core-workflows/condition-operators.rst:86 msgid "is not" msgstr "" @@ -16237,7 +16280,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:97 #: ../misc/object-conditions/basics.rst:155 #: ../misc/object-conditions/basics.rst:204 -#: ../system/core-workflows/condition-operators.rst:86 +#: ../system/core-workflows/condition-operators.rst:100 msgid "not set" msgstr "" @@ -16404,22 +16447,58 @@ msgid "Checks tags of a ticket." msgstr "" #: ../misc/object-conditions/basics.rst:193 -#: ../system/core-workflows/condition-operators.rst:32 +#: ../misc/object-conditions/basics.rst:516 +#: ../misc/object-conditions/basics.rst:550 +#: ../misc/object-conditions/basics.rst:587 +#: ../misc/object-conditions/basics.rst:619 +#: ../system/core-workflows/condition-operators.rst:38 +#: ../system/core-workflows/condition-operators.rst:150 +#: ../system/core-workflows/condition-operators.rst:189 +#: ../system/core-workflows/condition-operators.rst:229 +#: ../system/core-workflows/condition-operators.rst:272 +#: ../system/core-workflows/condition-operators.rst:312 msgid "contains all" msgstr "" #: ../misc/object-conditions/basics.rst:194 -#: ../system/core-workflows/condition-operators.rst:38 +#: ../misc/object-conditions/basics.rst:513 +#: ../misc/object-conditions/basics.rst:547 +#: ../misc/object-conditions/basics.rst:584 +#: ../misc/object-conditions/basics.rst:616 +#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:147 +#: ../system/core-workflows/condition-operators.rst:186 +#: ../system/core-workflows/condition-operators.rst:226 +#: ../system/core-workflows/condition-operators.rst:269 +#: ../system/core-workflows/condition-operators.rst:309 msgid "contains one" msgstr "" #: ../misc/object-conditions/basics.rst:195 -#: ../system/core-workflows/condition-operators.rst:34 +#: ../misc/object-conditions/basics.rst:519 +#: ../misc/object-conditions/basics.rst:553 +#: ../misc/object-conditions/basics.rst:590 +#: ../misc/object-conditions/basics.rst:622 +#: ../system/core-workflows/condition-operators.rst:41 +#: ../system/core-workflows/condition-operators.rst:160 +#: ../system/core-workflows/condition-operators.rst:198 +#: ../system/core-workflows/condition-operators.rst:238 +#: ../system/core-workflows/condition-operators.rst:281 +#: ../system/core-workflows/condition-operators.rst:321 msgid "contains all not" msgstr "" #: ../misc/object-conditions/basics.rst:196 -#: ../system/core-workflows/condition-operators.rst:40 +#: ../misc/object-conditions/basics.rst:522 +#: ../misc/object-conditions/basics.rst:556 +#: ../misc/object-conditions/basics.rst:593 +#: ../misc/object-conditions/basics.rst:625 +#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:157 +#: ../system/core-workflows/condition-operators.rst:195 +#: ../system/core-workflows/condition-operators.rst:235 +#: ../system/core-workflows/condition-operators.rst:278 +#: ../system/core-workflows/condition-operators.rst:318 msgid "contains one not" msgstr "" @@ -16442,7 +16521,7 @@ msgid "Checks if time is accounted." msgstr "Billet > Temps comptabilisé" #: ../misc/object-conditions/basics.rst:203 -#: ../system/core-workflows/condition-operators.rst:74 +#: ../system/core-workflows/condition-operators.rst:88 msgid "is set" msgstr "" @@ -16502,8 +16581,8 @@ msgstr "" #: ../misc/object-conditions/basics.rst:334 #: ../misc/object-conditions/basics.rst:381 #: ../misc/object-conditions/basics.rst:392 -#: ../misc/object-conditions/basics.rst:410 #: ../misc/object-conditions/basics.rst:421 +#: ../misc/object-conditions/basics.rst:432 #, fuzzy msgid "Available operators for matching:" msgstr "Réglages avancés" @@ -16590,7 +16669,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:269 #: ../misc/object-conditions/basics.rst:284 #: ../misc/object-conditions/basics.rst:385 -#: ../misc/object-conditions/basics.rst:414 +#: ../misc/object-conditions/basics.rst:425 msgid "**has changed**" msgstr "" @@ -16605,14 +16684,14 @@ msgstr "" #: ../misc/object-conditions/basics.rst:267 #: ../misc/object-conditions/basics.rst:278 #: ../misc/object-conditions/basics.rst:383 -#: ../misc/object-conditions/basics.rst:412 +#: ../misc/object-conditions/basics.rst:423 msgid "**is**" msgstr "" #: ../misc/object-conditions/basics.rst:268 #: ../misc/object-conditions/basics.rst:279 #: ../misc/object-conditions/basics.rst:384 -#: ../misc/object-conditions/basics.rst:413 +#: ../misc/object-conditions/basics.rst:424 msgid "**is not**" msgstr "" @@ -16868,7 +16947,7 @@ msgid "**contains all**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are selected." +msgid "Matches if **all** given field values are selected (AND logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16877,7 +16956,8 @@ msgid "**contains one**:" msgstr "**Ligne de commande**::" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is selected." +msgid "" +"Matches if **at least one** of the given field values is selected (OR logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16885,7 +16965,9 @@ msgid "**contains all not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are not selected." +msgid "" +"Matches if **not all** given field values are selected (at least one is " +"missing). This means \"not all of\", not \"none of\"." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16893,26 +16975,37 @@ msgid "**contains one not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is not selected." +msgid "" +"Matches if **none** of the given field values are selected. This means " +"\"none of\", not \"not all of\"." msgstr "" -#: ../misc/object-conditions/basics.rst:405 ../system/objects/types.rst:135 +#: ../misc/object-conditions/basics.rst:408 +msgid "" +"In :doc:`core workflows `, these operators have " +"different semantics. See :ref:`core workflow condition operators ` for details. Example scenarios for the " +"operators described here can be found in :ref:`multi-select-operator-" +"examples` below." +msgstr "" + +#: ../misc/object-conditions/basics.rst:416 ../system/objects/types.rst:135 #, fuzzy msgid "Single Tree Selection Field" msgstr "Réglages avancés" -#: ../misc/object-conditions/basics.rst:407 +#: ../misc/object-conditions/basics.rst:418 msgid "" "Checks if a selected field value match the attribute value. Selecting more " "than one value in the condition will act like an \"OR\" clause." msgstr "" -#: ../misc/object-conditions/basics.rst:417 ../system/objects/types.rst:148 +#: ../misc/object-conditions/basics.rst:428 ../system/objects/types.rst:148 #, fuzzy msgid "Multiple Tree Selection Field" msgstr "Réglages avancés" -#: ../misc/object-conditions/basics.rst:419 +#: ../misc/object-conditions/basics.rst:430 msgid "Checks if selected field value(s) match the attribute value(s)." msgstr "" @@ -16932,69 +17025,69 @@ msgstr "" msgid "**contains one not**" msgstr "" -#: ../misc/object-conditions/basics.rst:433 +#: ../misc/object-conditions/basics.rst:447 msgid "Additional Information and Remarks" msgstr "" -#: ../misc/object-conditions/basics.rst:442 +#: ../misc/object-conditions/basics.rst:456 msgid "Ticket context conditions do not support:" msgstr "" -#: ../misc/object-conditions/basics.rst:439 +#: ../misc/object-conditions/basics.rst:453 msgid "regular expressions" msgstr "" -#: ../misc/object-conditions/basics.rst:440 +#: ../misc/object-conditions/basics.rst:454 msgid "case sensitive string conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:441 +#: ../misc/object-conditions/basics.rst:455 msgid "" "Basic conditions do not support the same attribute to be selected more than " "once" msgstr "" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 #, fuzzy msgid "**has changed** conditions:" msgstr "Bloquer les notifications" -#: ../misc/object-conditions/basics.rst:445 +#: ../misc/object-conditions/basics.rst:459 msgid "Are only available for ticket attributes and don't affect:" msgstr "" -#: ../misc/object-conditions/basics.rst:447 +#: ../misc/object-conditions/basics.rst:461 #, fuzzy msgid "Ticket articles attributes" msgstr "Attributs d'article" -#: ../misc/object-conditions/basics.rst:448 +#: ../misc/object-conditions/basics.rst:462 #, fuzzy msgid "Organization attributes" msgstr "Attributs d'article" -#: ../misc/object-conditions/basics.rst:449 +#: ../misc/object-conditions/basics.rst:463 #, fuzzy msgid "User attributes" msgstr "Attributs d'un billet" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 #, fuzzy msgid "Group attributes" msgstr "Attributs d'article" -#: ../misc/object-conditions/basics.rst:463 +#: ../misc/object-conditions/basics.rst:477 msgid "Differences in input fields:" msgstr "" -#: ../misc/object-conditions/basics.rst:453 +#: ../misc/object-conditions/basics.rst:467 msgid "" "Please note that the input field for tokens doesn't support the comma as " "separator (as in the input field for tags). If you use the comma in the " "token input field, the comma is included in you token." msgstr "" -#: ../misc/object-conditions/basics.rst:457 +#: ../misc/object-conditions/basics.rst:471 #, fuzzy msgid "**Example**:" msgstr "Exemple" @@ -17003,33 +17096,261 @@ msgstr "Exemple" msgid "Example of comma usage in token input field" msgstr "" -#: ../misc/object-conditions/basics.rst:462 +#: ../misc/object-conditions/basics.rst:476 msgid "" "``A`` added with enter/tab, ``B`` and ``C`` separated with comma (resulting " "in one token)." msgstr "" -#: ../misc/object-conditions/basics.rst:468 +#: ../misc/object-conditions/basics.rst:482 +msgid "Multi-Select Operator Examples" +msgstr "" + +#: ../misc/object-conditions/basics.rst:484 +msgid "" +"The ``contains`` family of operators for multi-select fields compares two " +"sets of values: the values currently in the field and the values specified " +"in the condition. The diagrams below show the condition values as an orange " +"circle and the field values as a blue circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:489 +msgid "" +"Be aware that these operators behave **differently** in :doc:`core workflows " +"`. See :ref:`core workflow condition operators ` for a side by side comparison." +msgstr "" + +#: ../misc/object-conditions/basics.rst:495 +#: ../system/core-workflows/condition-operators.rst:165 +msgid "Example 1: Condition A, B - Field A, B, C" +msgstr "" + +#: ../misc/object-conditions/basics.rst:497 +#: ../system/core-workflows/condition-operators.rst:167 +msgid "" +"In this scenario, the field holds the values A, B and C, while the condition " +"asks for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "" +"Venn diagram of condition values A, B and field values A, B, C. A and B are " +"in both circles, C only in the field circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "Condition values ``A, B`` overlap with field values ``A, B, C``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:510 +#: ../misc/object-conditions/basics.rst:544 +#: ../misc/object-conditions/basics.rst:581 +#: ../misc/object-conditions/basics.rst:613 +#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:141 +#: ../system/core-workflows/condition-operators.rst:180 +#: ../system/core-workflows/condition-operators.rst:220 +#: ../system/core-workflows/condition-operators.rst:263 +#: ../system/core-workflows/condition-operators.rst:303 +msgid "Operator" +msgstr "" + +#: ../misc/object-conditions/basics.rst:511 +#: ../misc/object-conditions/basics.rst:545 +#: ../misc/object-conditions/basics.rst:582 +#: ../misc/object-conditions/basics.rst:614 +#: ../system/core-workflows/condition-operators.rst:181 +#: ../system/core-workflows/condition-operators.rst:221 +#: ../system/core-workflows/condition-operators.rst:264 +#: ../system/core-workflows/condition-operators.rst:304 +msgid "Matches?" +msgstr "" + +#: ../misc/object-conditions/basics.rst:512 +#: ../misc/object-conditions/basics.rst:546 +#: ../misc/object-conditions/basics.rst:583 +#: ../misc/object-conditions/basics.rst:615 +#: ../system/core-workflows/condition-operators.rst:182 +#: ../system/core-workflows/condition-operators.rst:222 +#: ../system/core-workflows/condition-operators.rst:265 +#: ../system/core-workflows/condition-operators.rst:305 +msgid "Why" +msgstr "" + +#: ../misc/object-conditions/basics.rst:515 +#: ../system/core-workflows/condition-operators.rst:185 +msgid "``A`` and ``B`` are in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:518 +#: ../system/core-workflows/condition-operators.rst:191 +msgid "Both ``A`` and ``B`` are present (AND logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:521 +msgid "All condition values are present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:524 +msgid "The field has values in common with the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:527 +#: ../system/core-workflows/condition-operators.rst:203 +msgid "Example 2: Condition A, B, C - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:529 +#: ../system/core-workflows/condition-operators.rst:205 +msgid "" +"In this scenario, the field holds the values C and D. The condition value C " +"is present in the field, while A and B are not." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Venn diagram of condition values A, B, C and field values C, D.\n" +"Only C is in both circles." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Condition values ``A, B, C`` partially overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:549 +#: ../system/core-workflows/condition-operators.rst:225 +msgid "``C`` is in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:552 +#: ../system/core-workflows/condition-operators.rst:231 +msgid "Only ``C`` of the three condition values is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:555 +#: ../misc/object-conditions/basics.rst:592 +msgid "``A`` and ``B`` are missing from the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:558 +msgid "``C`` is in both the field and the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:560 +msgid "" +"This partial overlap is where the two \"not\" operators part ways: " +"``contains all not`` matches because a single condition value is missing, " +"while ``contains one not`` does not match because the one common value is " +"enough to block it." +msgstr "" + +#: ../misc/object-conditions/basics.rst:566 +#: ../system/core-workflows/condition-operators.rst:248 +msgid "Example 3: Condition A, B - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:568 +#: ../system/core-workflows/condition-operators.rst:250 +msgid "" +"In this scenario, the field holds the values C and D, which have nothing in " +"common with the condition values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "" +"Venn diagram of condition values A, B and field values C, D. The two circles " +"do not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "Condition values ``A, B`` have no overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:586 +#: ../system/core-workflows/condition-operators.rst:268 +msgid "No value is in both sets." +msgstr "" + +#: ../misc/object-conditions/basics.rst:589 +#: ../system/core-workflows/condition-operators.rst:274 +msgid "Neither ``A`` nor ``B`` is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:595 +#: ../misc/object-conditions/basics.rst:627 +#: ../system/core-workflows/condition-operators.rst:159 +#: ../system/core-workflows/condition-operators.rst:161 +#: ../system/core-workflows/condition-operators.rst:283 +#, fuzzy +msgid "The field has no value in common with the condition." +msgstr "" +"Cette option n'est disponible que si le format du numéro de billet est réglé " +"sur ``Increment``!" + +#: ../misc/object-conditions/basics.rst:598 +#: ../system/core-workflows/condition-operators.rst:288 +msgid "Example 4: Condition A, B - Field is empty" +msgstr "" + +#: ../misc/object-conditions/basics.rst:600 +#: ../system/core-workflows/condition-operators.rst:290 +msgid "" +"In this scenario, the field holds no values at all, while the condition asks " +"for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "" +"Venn diagram of condition values A, B and an empty field. The two circles do " +"not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "The field holds no values at all." +msgstr "" + +#: ../misc/object-conditions/basics.rst:618 +#: ../misc/object-conditions/basics.rst:621 +#: ../system/core-workflows/condition-operators.rst:308 +#: ../system/core-workflows/condition-operators.rst:314 +msgid "No value is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:624 +msgid "No condition value is present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:632 msgid "Regex" msgstr "" -#: ../misc/object-conditions/basics.rst:473 +#: ../misc/object-conditions/basics.rst:637 #, fuzzy msgid "Regex support" msgstr "**Résultat**" -#: ../misc/object-conditions/basics.rst:471 +#: ../misc/object-conditions/basics.rst:635 msgid "" "**matches regex** and **does not match regex** are supported only in " "Triggers, Time Accounting selector, Postmaster Filters, Automatic ticket " "assignment and Core Workflow." msgstr "" -#: ../misc/object-conditions/basics.rst:478 +#: ../misc/object-conditions/basics.rst:642 msgid "\"Old\" style ``regex:...`` conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:476 +#: ../misc/object-conditions/basics.rst:640 msgid "" "If you update your Zammad from 6.0 or prior and you have already conditions " "with **contains** or **contains not** including a regex filter (i.e. " @@ -23456,9 +23777,9 @@ msgstr "" #: ../system/core-workflows/condition-operators.rst:8 msgid "" -"Due to differences to other places in Zammad which are also using conditions " -"(e.g. triggers), you can find a dedicated description of operators for core " -"workflows below." +"Due to differences from other places in Zammad which are also using " +"conditions (e.g. triggers), you can find a dedicated description of " +"operators for core workflows below." msgstr "" #: ../system/core-workflows/condition-operators.rst:12 @@ -23468,272 +23789,420 @@ msgid "" "for system attributes (e.g. for \"tags\", \"active\")." msgstr "" -#: ../system/core-workflows/condition-operators.rst:20 -msgid "Operator" -msgstr "" - -#: ../system/core-workflows/condition-operators.rst:22 +#: ../system/core-workflows/condition-operators.rst:23 msgid "after (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:23 +#: ../system/core-workflows/condition-operators.rst:24 msgid "Matches if a date/time is after a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:24 +#: ../system/core-workflows/condition-operators.rst:25 msgid "after (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:25 +#: ../system/core-workflows/condition-operators.rst:26 msgid "Matches if a time span after a specified event has passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:26 +#: ../system/core-workflows/condition-operators.rst:27 msgid "before (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:27 +#: ../system/core-workflows/condition-operators.rst:28 msgid "Matches if a date/time is before a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:28 +#: ../system/core-workflows/condition-operators.rst:29 msgid "before (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:29 +#: ../system/core-workflows/condition-operators.rst:30 msgid "Matches if a time span after a specified event has not passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:30 +#: ../system/core-workflows/condition-operators.rst:31 +#: ../system/core-workflows/condition-operators.rst:144 +#: ../system/core-workflows/condition-operators.rst:183 +#: ../system/core-workflows/condition-operators.rst:223 +#: ../system/core-workflows/condition-operators.rst:266 +#: ../system/core-workflows/condition-operators.rst:306 msgid "contains" msgstr "" -#: ../system/core-workflows/condition-operators.rst:31 -msgid "Matches if a specified value is present." +#: ../system/core-workflows/condition-operators.rst:32 +msgid "" +"Matches if **at least one** of the specified values is present in the field " +"(OR logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:33 -msgid "Matches if all of the specified values are present." +#: ../system/core-workflows/condition-operators.rst:34 +#: ../system/core-workflows/condition-operators.rst:153 +#: ../system/core-workflows/condition-operators.rst:192 +#: ../system/core-workflows/condition-operators.rst:232 +#: ../system/core-workflows/condition-operators.rst:275 +#: ../system/core-workflows/condition-operators.rst:315 +msgid "contains not" msgstr "" #: ../system/core-workflows/condition-operators.rst:35 -msgid "Matches if none of the specified values are present." +msgid "" +"Matches if the field contains at least one value that is **not** among the " +"specified values. Also matches if the field is empty." msgstr "" -#: ../system/core-workflows/condition-operators.rst:36 -msgid "contains not" +#: ../system/core-workflows/condition-operators.rst:39 +msgid "" +"Matches if **every** specified value is present in the field (AND logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:37 -msgid "Matches if a specified value is not present." +#: ../system/core-workflows/condition-operators.rst:42 +msgid "" +"Matches if **none** of the specified values are present in the field. The " +"field and the condition have no value in common: this means \"contains none " +"of\", not \"does not contain all of\"." msgstr "" -#: ../system/core-workflows/condition-operators.rst:39 -msgid "Matches if one specified value is present." +#: ../system/core-workflows/condition-operators.rst:46 +msgid "" +"In triggers and overviews, this operator means \"not all of the specified " +"values are present\" instead. See the examples section below." msgstr "" -#: ../system/core-workflows/condition-operators.rst:41 -msgid "Matches if one specified value is not present." +#: ../system/core-workflows/condition-operators.rst:50 +msgid "" +"Same as ``contains``. Matches if **at least one** of the specified values is " +"present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:42 +#: ../system/core-workflows/condition-operators.rst:53 +msgid "" +"Same as ``contains not``. Matches if the field contains at least one value " +"that is **not** among the specified values." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:56 msgid "does not match regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:43 +#: ../system/core-workflows/condition-operators.rst:57 msgid "Matches if content doesn't fit to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:44 +#: ../system/core-workflows/condition-operators.rst:58 msgid "ends with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:45 +#: ../system/core-workflows/condition-operators.rst:59 msgid "Matches if content ends with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:46 +#: ../system/core-workflows/condition-operators.rst:60 msgid "ends with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:47 +#: ../system/core-workflows/condition-operators.rst:61 msgid "Matches if content ends with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:48 +#: ../system/core-workflows/condition-operators.rst:62 msgid "from (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:63 msgid "Matches if date/time is after a period of time after an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:51 +#: ../system/core-workflows/condition-operators.rst:65 msgid "Matches if content is equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:66 msgid "is any of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:53 +#: ../system/core-workflows/condition-operators.rst:67 msgid "Matches if content is equal to any of specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:54 +#: ../system/core-workflows/condition-operators.rst:68 msgid "is greater than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:55 +#: ../system/core-workflows/condition-operators.rst:69 msgid "Matches if the value is greater than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:56 +#: ../system/core-workflows/condition-operators.rst:70 msgid "is greater than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:57 +#: ../system/core-workflows/condition-operators.rst:71 msgid "Matches if the value is greater than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:58 +#: ../system/core-workflows/condition-operators.rst:72 msgid "is less than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:59 +#: ../system/core-workflows/condition-operators.rst:73 msgid "Matches if the value is less than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:60 +#: ../system/core-workflows/condition-operators.rst:74 msgid "is less than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:61 +#: ../system/core-workflows/condition-operators.rst:75 msgid "Matches if the value is less than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:62 +#: ../system/core-workflows/condition-operators.rst:76 msgid "is modified" msgstr "" -#: ../system/core-workflows/condition-operators.rst:63 +#: ../system/core-workflows/condition-operators.rst:77 msgid "Matches if content is modified." msgstr "" -#: ../system/core-workflows/condition-operators.rst:65 -#: ../system/core-workflows/condition-operators.rst:69 +#: ../system/core-workflows/condition-operators.rst:79 +#: ../system/core-workflows/condition-operators.rst:83 msgid "True from the moment of changing content until form submit." msgstr "" -#: ../system/core-workflows/condition-operators.rst:66 +#: ../system/core-workflows/condition-operators.rst:80 msgid "is modified to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:67 +#: ../system/core-workflows/condition-operators.rst:81 msgid "Matches if content is modified to a specific value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:70 +#: ../system/core-workflows/condition-operators.rst:84 msgid "is none of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:71 +#: ../system/core-workflows/condition-operators.rst:85 msgid "Matches if content is none of any specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:73 +#: ../system/core-workflows/condition-operators.rst:87 msgid "Matches if content is not equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:75 +#: ../system/core-workflows/condition-operators.rst:89 msgid "Matches if content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:76 +#: ../system/core-workflows/condition-operators.rst:90 msgid "just changed" msgstr "" -#: ../system/core-workflows/condition-operators.rst:77 +#: ../system/core-workflows/condition-operators.rst:91 msgid "Matches if content has changed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:79 -#: ../system/core-workflows/condition-operators.rst:83 +#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:97 msgid "" "Only true for the moment of changing content until next form field action/" "click." msgstr "" -#: ../system/core-workflows/condition-operators.rst:80 +#: ../system/core-workflows/condition-operators.rst:94 msgid "just changed to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:81 +#: ../system/core-workflows/condition-operators.rst:95 msgid "Matches if content has changed to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:84 +#: ../system/core-workflows/condition-operators.rst:98 msgid "matches regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:85 +#: ../system/core-workflows/condition-operators.rst:99 msgid "Matches if value fits to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:87 +#: ../system/core-workflows/condition-operators.rst:101 msgid "Matches if no content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:88 +#: ../system/core-workflows/condition-operators.rst:102 msgid "starts with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:89 +#: ../system/core-workflows/condition-operators.rst:103 msgid "Matches if content starts with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:90 +#: ../system/core-workflows/condition-operators.rst:104 msgid "starts with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:91 +#: ../system/core-workflows/condition-operators.rst:105 msgid "Matches if content starts with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:92 +#: ../system/core-workflows/condition-operators.rst:106 msgid "till (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:107 msgid "Matches if date/time is before a period of time before an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:94 +#: ../system/core-workflows/condition-operators.rst:108 msgid "today" msgstr "" -#: ../system/core-workflows/condition-operators.rst:95 +#: ../system/core-workflows/condition-operators.rst:109 msgid "Matches if date/time is today." msgstr "" -#: ../system/core-workflows/condition-operators.rst:96 +#: ../system/core-workflows/condition-operators.rst:110 msgid "within last (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:97 +#: ../system/core-workflows/condition-operators.rst:111 msgid "" "Matches if date/time content is within specified period of time before now." msgstr "" -#: ../system/core-workflows/condition-operators.rst:99 +#: ../system/core-workflows/condition-operators.rst:113 msgid "within next (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:100 +#: ../system/core-workflows/condition-operators.rst:114 msgid "" "Matches if date/time content is within specified period of time after now." msgstr "" +#: ../system/core-workflows/condition-operators.rst:118 +msgid "Multi-Select Operators" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:120 +msgid "" +"The ``contains`` family of operators compares two sets of values: the values " +"currently in the field and the values specified in the condition. The " +"diagrams below show the condition values as an orange circle and the field " +"values as a blue circle." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:128 +msgid "Differences to Triggers and Overviews" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:130 +msgid "" +"Be aware that these operators behave **differently** in other features that " +"use conditions (e.g. triggers and overviews). The most confusing difference: " +"in core workflows, ``contains all not`` means that no value matches at all, " +"while in triggers and overviews it means \"not all values are present\". The " +"table below compares both worlds side by side." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:142 +msgid "Core workflows (this page)" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:143 +msgid "Triggers, overviews, etc." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:145 +#: ../system/core-workflows/condition-operators.rst:149 +msgid "At least one value is present (OR logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:146 +msgid "Not available; ``contains one`` is the equivalent." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:148 +#: ../system/core-workflows/condition-operators.rst:188 +#: ../system/core-workflows/condition-operators.rst:228 +#: ../system/core-workflows/condition-operators.rst:271 +#: ../system/core-workflows/condition-operators.rst:311 +msgid "Same as ``contains``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:151 +#: ../system/core-workflows/condition-operators.rst:152 +msgid "Every value is present (AND logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:154 +msgid "" +"At least one field value is outside the condition, or the field is empty." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:156 +#, fuzzy +msgid "Not available for multi-select fields." +msgstr "Réglages avancés" + +#: ../system/core-workflows/condition-operators.rst:158 +#: ../system/core-workflows/condition-operators.rst:197 +#: ../system/core-workflows/condition-operators.rst:237 +#: ../system/core-workflows/condition-operators.rst:280 +#: ../system/core-workflows/condition-operators.rst:320 +msgid "Same as ``contains not``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:162 +msgid "Not all values are present (at least one is missing)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:194 +msgid "``C`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:200 +msgid "``A`` and ``B`` are present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:234 +msgid "``D`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:240 +msgid "``C`` is present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:242 +msgid "" +"This partial overlap is where the two \"all\" operators part ways: " +"``contains all`` fails because one condition value is missing, while " +"``contains all not`` fails because a single common value is enough to block " +"it." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:277 +msgid "``C`` and ``D`` are not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:285 +msgid "This is the only example where ``contains all not`` matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:317 +msgid "An empty field matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:323 +msgid "An empty field has no value in common with the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:325 +msgid "" +"Note that ``contains not`` and ``contains one not`` match an empty field, " +"while ``contains`` and ``contains all`` do not. If you want to exclude " +"specific values, be aware that empty fields pass the condition." +msgstr "" + #: ../system/core-workflows/how-do-they-work.rst:2 msgid "How do they work?" msgstr "" @@ -30474,12 +30943,6 @@ msgstr "" #~ msgid "Available value:" #~ msgstr "Réglages avancés" -#, fuzzy -#~ msgid "This field is only available for Scheduler conditions!" -#~ msgstr "" -#~ "Cette option n'est disponible que si le format du numéro de billet est " -#~ "réglé sur ``Increment``!" - #, fuzzy #~ msgid "Does the matching organization have members (or not)?" #~ msgstr "Billet > Prganisation > Organisation partagée" diff --git a/locale/hr/LC_MESSAGES/admin-docs.po b/locale/hr/LC_MESSAGES/admin-docs.po index 4a6e296c7..c38abf07e 100644 --- a/locale/hr/LC_MESSAGES/admin-docs.po +++ b/locale/hr/LC_MESSAGES/admin-docs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Zammad\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-24 17:19+0200\n" +"POT-Creation-Date: 2026-08-28 15:08+0200\n" "PO-Revision-Date: 2026-07-29 08:01+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Croatian ` and consider switching your plan. When a " @@ -1142,17 +1143,17 @@ msgid "" "alerted when few calls remain." msgstr "" -#: ../ai/provider.rst:288 +#: ../ai/provider.rst:289 msgid "" "On SaaS, the Zammad AI provider is provisioned by the platform and you " "cannot delete it or change its type." msgstr "" -#: ../ai/provider.rst:295 +#: ../ai/provider.rst:296 msgid "Self-Hosted Customers" msgstr "" -#: ../ai/provider.rst:292 +#: ../ai/provider.rst:293 msgid "" "Get in touch with our `sales department `_ to obtain a Zammad AI API key and to buy AI calls. After " @@ -1160,14 +1161,14 @@ msgid "" "key." msgstr "" -#: ../ai/provider.rst:300 +#: ../ai/provider.rst:301 msgid "" "`Ollama `_ lets you run your own AI server on a machine " "you control, so your data is not transferred to a third party. This approach " "only makes sense if you have a powerful GPU in your system!" msgstr "" -#: ../ai/provider.rst:304 +#: ../ai/provider.rst:305 msgid "" "If you don't have Ollama running yet, their `documentation `_ is a good starting point. Available models are listed in " @@ -4265,7 +4266,7 @@ msgstr "" msgid "Signatures" msgstr "" -#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:436 +#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:450 #: ../system/monitoring.rst:9 msgid "General" msgstr "" @@ -4995,7 +4996,7 @@ msgstr "" #: ../channels/form.rst:250 ../manage/public-links.rst:43 #: ../misc/object-conditions/basics.rst:63 ../misc/variables.rst:101 -#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:22 #: ../system/objects/permissions.rst:36 ../system/subscription.rst:196 msgid "Description" msgstr "Opis" @@ -8746,6 +8747,29 @@ msgstr "" #: ../manage/groups/settings.rst:42 ../manage/groups/settings.rst:63 #: ../misc/object-conditions/basics.rst:121 #: ../misc/object-conditions/basics.rst:136 +#: ../misc/object-conditions/basics.rst:514 +#: ../misc/object-conditions/basics.rst:517 +#: ../misc/object-conditions/basics.rst:548 +#: ../misc/object-conditions/basics.rst:554 +#: ../misc/object-conditions/basics.rst:591 +#: ../misc/object-conditions/basics.rst:594 +#: ../misc/object-conditions/basics.rst:623 +#: ../misc/object-conditions/basics.rst:626 +#: ../system/core-workflows/condition-operators.rst:184 +#: ../system/core-workflows/condition-operators.rst:187 +#: ../system/core-workflows/condition-operators.rst:190 +#: ../system/core-workflows/condition-operators.rst:193 +#: ../system/core-workflows/condition-operators.rst:196 +#: ../system/core-workflows/condition-operators.rst:224 +#: ../system/core-workflows/condition-operators.rst:227 +#: ../system/core-workflows/condition-operators.rst:233 +#: ../system/core-workflows/condition-operators.rst:236 +#: ../system/core-workflows/condition-operators.rst:276 +#: ../system/core-workflows/condition-operators.rst:279 +#: ../system/core-workflows/condition-operators.rst:282 +#: ../system/core-workflows/condition-operators.rst:316 +#: ../system/core-workflows/condition-operators.rst:319 +#: ../system/core-workflows/condition-operators.rst:322 msgid "yes" msgstr "" @@ -8800,6 +8824,23 @@ msgstr "" #: ../manage/groups/settings.rst:66 ../misc/object-conditions/basics.rst:122 #: ../misc/object-conditions/basics.rst:137 +#: ../misc/object-conditions/basics.rst:520 +#: ../misc/object-conditions/basics.rst:523 +#: ../misc/object-conditions/basics.rst:551 +#: ../misc/object-conditions/basics.rst:557 +#: ../misc/object-conditions/basics.rst:585 +#: ../misc/object-conditions/basics.rst:588 +#: ../misc/object-conditions/basics.rst:617 +#: ../misc/object-conditions/basics.rst:620 +#: ../system/core-workflows/condition-operators.rst:199 +#: ../system/core-workflows/condition-operators.rst:230 +#: ../system/core-workflows/condition-operators.rst:239 +#: ../system/core-workflows/condition-operators.rst:267 +#: ../system/core-workflows/condition-operators.rst:270 +#: ../system/core-workflows/condition-operators.rst:273 +#: ../system/core-workflows/condition-operators.rst:307 +#: ../system/core-workflows/condition-operators.rst:310 +#: ../system/core-workflows/condition-operators.rst:313 msgid "no" msgstr "" @@ -9205,7 +9246,7 @@ msgid "" msgstr "" #: ../manage/knowledge-base.rst:136 ../manage/public-links.rst:35 -#: ../manage/time-accounting.rst:147 ../manage/time-accounting.rst:161 +#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 #: ../system/maintenance.rst:31 msgid "Title" msgstr "" @@ -12466,16 +12507,18 @@ msgstr "" #: ../manage/time-accounting.rst:22 msgid "" "If a ticket is relevant, Zammad will request the agent to provide the time " -"which was needed to process the current ticket step. In order for Zammad to " -"bring up the time accounting dialog to an agent, the agent has to update the " -"ticket together with an article of any type. The adding of an article is " -"mandatory to invoke the time accounting dialog. However, the time accounting " -"dialog is not mandatory and can be canceled by your agents. You cannot " -"enforce the time accounting. When a ticket is no longer considered for the " -"time accounting, the already accounted time will be preserved." +"which was needed to process the current ticket step. This accounted time is " +"displayed in the ticket sidebar at ticket level and in the article meta " +"information for an individual article. In order for Zammad to bring up the " +"time accounting dialog to an agent, the agent has to update the ticket " +"together with an article of any type. The adding of an article is mandatory " +"to invoke the time accounting dialog. However, the time accounting dialog is " +"not mandatory and can be canceled by your agents. You cannot enforce the " +"time accounting. When a ticket is no longer considered for the time " +"accounting, the already accounted time will be preserved." msgstr "" -#: ../manage/time-accounting.rst:33 +#: ../manage/time-accounting.rst:35 msgid "" "The selector applies to the ticket state before any attribute changes have " "been saved. That means if your agent is e.g. going to close a ticket " @@ -12487,49 +12530,49 @@ msgstr "" msgid "Time Accounting Ticket Selector" msgstr "" -#: ../manage/time-accounting.rst:42 +#: ../manage/time-accounting.rst:44 msgid "" "The accounted time is always a unitless number. However, it is possible to " "show a specific unit in the **Unit** section, which provides several options:" msgstr "" -#: ../manage/time-accounting.rst:46 +#: ../manage/time-accounting.rst:48 msgid "no unit" msgstr "" -#: ../manage/time-accounting.rst:47 +#: ../manage/time-accounting.rst:49 msgid "Default behavior, no unit is shown next to the time value." msgstr "" -#: ../manage/time-accounting.rst:48 +#: ../manage/time-accounting.rst:50 msgid "hour(s)" msgstr "" -#: ../manage/time-accounting.rst:49 +#: ../manage/time-accounting.rst:51 msgid "Shows ``hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:50 +#: ../manage/time-accounting.rst:52 msgid "quarter-hour(s)" msgstr "" -#: ../manage/time-accounting.rst:51 +#: ../manage/time-accounting.rst:53 msgid "Shows ``quarter-hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:52 +#: ../manage/time-accounting.rst:54 msgid "minute(s)" msgstr "" -#: ../manage/time-accounting.rst:53 +#: ../manage/time-accounting.rst:55 msgid "Shows ``minute(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "custom unit" msgstr "" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "Shows a custom unit that can be specified as free input." msgstr "" @@ -12537,7 +12580,7 @@ msgstr "" msgid "Time Accounting Unit" msgstr "" -#: ../manage/time-accounting.rst:62 +#: ../manage/time-accounting.rst:64 msgid "" "The unit is only displayed to make it easier for agents to account their " "time! No numerical transformation will be applied to the values, not even if " @@ -12549,11 +12592,11 @@ msgstr "" msgid "Time Accounting Unit when Recording" msgstr "" -#: ../manage/time-accounting.rst:72 +#: ../manage/time-accounting.rst:74 msgid "Activity Types" msgstr "" -#: ../manage/time-accounting.rst:74 +#: ../manage/time-accounting.rst:76 msgid "" "**Activity Types** can be used to group the different ticket time accounting " "entries together. For example, entries that are relevant to a \"Billing\" " @@ -12564,7 +12607,7 @@ msgstr "" msgid "Time Accounting Activity Types" msgstr "" -#: ../manage/time-accounting.rst:81 +#: ../manage/time-accounting.rst:83 msgid "" "When you enable the recording of the **Activity Type**, the agents will be " "able to select a type from this list." @@ -12574,13 +12617,13 @@ msgstr "" msgid "Time Accounting Activity Type Selection for Agents" msgstr "" -#: ../manage/time-accounting.rst:88 +#: ../manage/time-accounting.rst:90 msgid "" "Additionally, a column with an associated activity type will be rendered for " "an entry in the **Activity** table under the **Accounted Time** tab." msgstr "" -#: ../manage/time-accounting.rst:91 +#: ../manage/time-accounting.rst:93 msgid "" "You can manage available activity types in this screen like any other Zammad " "object. Only active types will be available for the selection when recording " @@ -12592,7 +12635,7 @@ msgstr "" msgid "New Time Accounting Activity Type Dialog" msgstr "" -#: ../manage/time-accounting.rst:100 +#: ../manage/time-accounting.rst:102 msgid "" "Activity types can be set as default, and in that case they will be pre-" "selected for the agents when they are asked to account their time. It is " @@ -12600,30 +12643,30 @@ msgid "" "pre-selected and the agents can make their choice." msgstr "" -#: ../manage/time-accounting.rst:106 +#: ../manage/time-accounting.rst:108 #, fuzzy msgid "Accounted Time" msgstr "Podešavanje postavki" -#: ../manage/time-accounting.rst:108 +#: ../manage/time-accounting.rst:110 msgid "" "Under the **Accounted Time** tab, Zammad provides a section for reviewing " "all accounted times for your tickets. Accounted times are displayed per " "years and months." msgstr "" -#: ../manage/time-accounting.rst:112 +#: ../manage/time-accounting.rst:114 msgid "" "If you have tickets that are overlapping several months, you can " "differentiate by *time units* and *time units total* (e.g. to allow partial " "billing) in the downloaded file." msgstr "" -#: ../manage/time-accounting.rst:123 +#: ../manage/time-accounting.rst:125 msgid "Select the right month" msgstr "" -#: ../manage/time-accounting.rst:117 +#: ../manage/time-accounting.rst:119 msgid "" "Usually you want to bill accounted time of other months than the current " "one. Just select the relevant year and month to receive the accounted times " @@ -12634,85 +12677,85 @@ msgstr "" msgid "Screenshot showing a selection for year and month on time accounting" msgstr "" -#: ../manage/time-accounting.rst:186 +#: ../manage/time-accounting.rst:188 msgid "Tickets and their accounted time" msgstr "" -#: ../manage/time-accounting.rst:126 +#: ../manage/time-accounting.rst:128 msgid "" "Zammad allows you to receive the accounted information just like you need " "them. For this you currently have four options to review and also download " "the relevant data as CSV." msgstr "" -#: ../manage/time-accounting.rst:130 +#: ../manage/time-accounting.rst:132 msgid "" "To download the CSV data, use the download button right next to each heading " "(e.g. \"Ticket\")." msgstr "" -#: ../manage/time-accounting.rst:133 +#: ../manage/time-accounting.rst:135 msgid "This can also be automated with API calls." msgstr "" -#: ../manage/time-accounting.rst:136 +#: ../manage/time-accounting.rst:138 msgid "" "Only the first 20 entries are shown for each table. To see all of them, " "simply download the records in CSV." msgstr "" -#: ../manage/time-accounting.rst:153 +#: ../manage/time-accounting.rst:155 msgid "Activity" msgstr "" -#: ../manage/time-accounting.rst:140 +#: ../manage/time-accounting.rst:142 msgid "" "This filter works similar to the ticket filter, with one exception: You'll " "find each *individual* time accounting step of your agents. This is what " "you'd also see in the ticket's history before Zammad 5.2." msgstr "" -#: ../manage/time-accounting.rst:144 ../manage/time-accounting.rst:158 -#: ../manage/time-accounting.rst:175 +#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:177 msgid "In this list you'll see the following ticket information:" msgstr "" -#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 #: ../settings/ticket.rst:103 msgid "Number" msgstr "" -#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 -#: ../manage/time-accounting.rst:179 ../manage/time-accounting.rst:177 +#: ../manage/time-accounting.rst:150 ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:181 ../manage/time-accounting.rst:179 #: ../misc/object-conditions/basics.rst:37 #: ../misc/object-conditions/basics.rst:89 #: ../misc/object-conditions/basics.rst:171 msgid "Customer" msgstr "" -#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 -#: ../manage/time-accounting.rst:178 +#: ../manage/time-accounting.rst:151 ../manage/time-accounting.rst:165 +#: ../manage/time-accounting.rst:180 msgid "Organization of customer (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:150 +#: ../manage/time-accounting.rst:152 msgid "Agent that accounted the time" msgstr "" -#: ../manage/time-accounting.rst:151 +#: ../manage/time-accounting.rst:153 msgid "Time units accounted in the current activity" msgstr "" -#: ../manage/time-accounting.rst:152 +#: ../manage/time-accounting.rst:154 msgid "Activity type (if enabled)" msgstr "" -#: ../manage/time-accounting.rst:153 ../manage/time-accounting.rst:167 +#: ../manage/time-accounting.rst:155 ../manage/time-accounting.rst:169 #: ../system/audit-logs.rst:76 msgid "Created at" msgstr "" -#: ../manage/time-accounting.rst:168 ../misc/object-conditions/basics.rst:26 +#: ../manage/time-accounting.rst:170 ../misc/object-conditions/basics.rst:26 #: ../misc/object-conditions/basics.rst:90 #: ../misc/object-conditions/basics.rst:126 #: ../misc/object-conditions/basics.rst:139 @@ -12728,45 +12771,45 @@ msgstr "" msgid "Ticket" msgstr "" -#: ../manage/time-accounting.rst:156 +#: ../manage/time-accounting.rst:158 msgid "This filter contains all relevant tickets from the selected month." msgstr "" -#: ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:166 msgid "Agent currently assigned (ticket owner)" msgstr "" -#: ../manage/time-accounting.rst:165 ../manage/time-accounting.rst:179 +#: ../manage/time-accounting.rst:167 ../manage/time-accounting.rst:181 msgid "Time units accounted in the current month" msgstr "" -#: ../manage/time-accounting.rst:166 +#: ../manage/time-accounting.rst:168 msgid "Time units total (time accounted during ticket life)" msgstr "" -#: ../manage/time-accounting.rst:168 +#: ../manage/time-accounting.rst:170 msgid "Closed at (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:171 +#: ../manage/time-accounting.rst:173 msgid "" "This provides you a per user filter on accounted time units. Each user has a " "total of time accounted in the current month (over all applicable tickets)." msgstr "" -#: ../manage/time-accounting.rst:186 ../misc/object-conditions/basics.rst:28 +#: ../manage/time-accounting.rst:188 ../misc/object-conditions/basics.rst:28 #: ../misc/object-conditions/basics.rst:115 #: ../misc/object-conditions/basics.rst:146 ../settings/branding.rst:16 msgid "Organization" msgstr "" -#: ../manage/time-accounting.rst:182 +#: ../manage/time-accounting.rst:184 msgid "" "This provides a list of all organizations where customers have caused " "accounted time in that month." msgstr "" -#: ../manage/time-accounting.rst:185 +#: ../manage/time-accounting.rst:187 msgid "" "You can also see entries for customers that are part of a primary " "organization. Users without an organization can be found in the Customer " @@ -15918,7 +15961,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:185 #: ../misc/object-conditions/basics.rst:209 #: ../misc/object-conditions/basics.rst:219 -#: ../system/core-workflows/condition-operators.rst:50 +#: ../system/core-workflows/condition-operators.rst:64 msgid "is" msgstr "" @@ -15935,7 +15978,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:186 #: ../misc/object-conditions/basics.rst:210 #: ../misc/object-conditions/basics.rst:220 -#: ../system/core-workflows/condition-operators.rst:72 +#: ../system/core-workflows/condition-operators.rst:86 msgid "is not" msgstr "" @@ -16007,7 +16050,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:97 #: ../misc/object-conditions/basics.rst:155 #: ../misc/object-conditions/basics.rst:204 -#: ../system/core-workflows/condition-operators.rst:86 +#: ../system/core-workflows/condition-operators.rst:100 msgid "not set" msgstr "" @@ -16167,22 +16210,58 @@ msgid "Checks tags of a ticket." msgstr "" #: ../misc/object-conditions/basics.rst:193 -#: ../system/core-workflows/condition-operators.rst:32 +#: ../misc/object-conditions/basics.rst:516 +#: ../misc/object-conditions/basics.rst:550 +#: ../misc/object-conditions/basics.rst:587 +#: ../misc/object-conditions/basics.rst:619 +#: ../system/core-workflows/condition-operators.rst:38 +#: ../system/core-workflows/condition-operators.rst:150 +#: ../system/core-workflows/condition-operators.rst:189 +#: ../system/core-workflows/condition-operators.rst:229 +#: ../system/core-workflows/condition-operators.rst:272 +#: ../system/core-workflows/condition-operators.rst:312 msgid "contains all" msgstr "" #: ../misc/object-conditions/basics.rst:194 -#: ../system/core-workflows/condition-operators.rst:38 +#: ../misc/object-conditions/basics.rst:513 +#: ../misc/object-conditions/basics.rst:547 +#: ../misc/object-conditions/basics.rst:584 +#: ../misc/object-conditions/basics.rst:616 +#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:147 +#: ../system/core-workflows/condition-operators.rst:186 +#: ../system/core-workflows/condition-operators.rst:226 +#: ../system/core-workflows/condition-operators.rst:269 +#: ../system/core-workflows/condition-operators.rst:309 msgid "contains one" msgstr "" #: ../misc/object-conditions/basics.rst:195 -#: ../system/core-workflows/condition-operators.rst:34 +#: ../misc/object-conditions/basics.rst:519 +#: ../misc/object-conditions/basics.rst:553 +#: ../misc/object-conditions/basics.rst:590 +#: ../misc/object-conditions/basics.rst:622 +#: ../system/core-workflows/condition-operators.rst:41 +#: ../system/core-workflows/condition-operators.rst:160 +#: ../system/core-workflows/condition-operators.rst:198 +#: ../system/core-workflows/condition-operators.rst:238 +#: ../system/core-workflows/condition-operators.rst:281 +#: ../system/core-workflows/condition-operators.rst:321 msgid "contains all not" msgstr "" #: ../misc/object-conditions/basics.rst:196 -#: ../system/core-workflows/condition-operators.rst:40 +#: ../misc/object-conditions/basics.rst:522 +#: ../misc/object-conditions/basics.rst:556 +#: ../misc/object-conditions/basics.rst:593 +#: ../misc/object-conditions/basics.rst:625 +#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:157 +#: ../system/core-workflows/condition-operators.rst:195 +#: ../system/core-workflows/condition-operators.rst:235 +#: ../system/core-workflows/condition-operators.rst:278 +#: ../system/core-workflows/condition-operators.rst:318 msgid "contains one not" msgstr "" @@ -16204,7 +16283,7 @@ msgid "Checks if time is accounted." msgstr "" #: ../misc/object-conditions/basics.rst:203 -#: ../system/core-workflows/condition-operators.rst:74 +#: ../system/core-workflows/condition-operators.rst:88 msgid "is set" msgstr "" @@ -16262,8 +16341,8 @@ msgstr "" #: ../misc/object-conditions/basics.rst:334 #: ../misc/object-conditions/basics.rst:381 #: ../misc/object-conditions/basics.rst:392 -#: ../misc/object-conditions/basics.rst:410 #: ../misc/object-conditions/basics.rst:421 +#: ../misc/object-conditions/basics.rst:432 msgid "Available operators for matching:" msgstr "" @@ -16349,7 +16428,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:269 #: ../misc/object-conditions/basics.rst:284 #: ../misc/object-conditions/basics.rst:385 -#: ../misc/object-conditions/basics.rst:414 +#: ../misc/object-conditions/basics.rst:425 msgid "**has changed**" msgstr "" @@ -16364,14 +16443,14 @@ msgstr "" #: ../misc/object-conditions/basics.rst:267 #: ../misc/object-conditions/basics.rst:278 #: ../misc/object-conditions/basics.rst:383 -#: ../misc/object-conditions/basics.rst:412 +#: ../misc/object-conditions/basics.rst:423 msgid "**is**" msgstr "" #: ../misc/object-conditions/basics.rst:268 #: ../misc/object-conditions/basics.rst:279 #: ../misc/object-conditions/basics.rst:384 -#: ../misc/object-conditions/basics.rst:413 +#: ../misc/object-conditions/basics.rst:424 msgid "**is not**" msgstr "" @@ -16619,7 +16698,7 @@ msgid "**contains all**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are selected." +msgid "Matches if **all** given field values are selected (AND logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16627,7 +16706,8 @@ msgid "**contains one**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is selected." +msgid "" +"Matches if **at least one** of the given field values is selected (OR logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16635,7 +16715,9 @@ msgid "**contains all not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are not selected." +msgid "" +"Matches if **not all** given field values are selected (at least one is " +"missing). This means \"not all of\", not \"none of\"." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16643,24 +16725,35 @@ msgid "**contains one not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is not selected." +msgid "" +"Matches if **none** of the given field values are selected. This means " +"\"none of\", not \"not all of\"." msgstr "" -#: ../misc/object-conditions/basics.rst:405 ../system/objects/types.rst:135 +#: ../misc/object-conditions/basics.rst:408 +msgid "" +"In :doc:`core workflows `, these operators have " +"different semantics. See :ref:`core workflow condition operators ` for details. Example scenarios for the " +"operators described here can be found in :ref:`multi-select-operator-" +"examples` below." +msgstr "" + +#: ../misc/object-conditions/basics.rst:416 ../system/objects/types.rst:135 msgid "Single Tree Selection Field" msgstr "" -#: ../misc/object-conditions/basics.rst:407 +#: ../misc/object-conditions/basics.rst:418 msgid "" "Checks if a selected field value match the attribute value. Selecting more " "than one value in the condition will act like an \"OR\" clause." msgstr "" -#: ../misc/object-conditions/basics.rst:417 ../system/objects/types.rst:148 +#: ../misc/object-conditions/basics.rst:428 ../system/objects/types.rst:148 msgid "Multiple Tree Selection Field" msgstr "" -#: ../misc/object-conditions/basics.rst:419 +#: ../misc/object-conditions/basics.rst:430 msgid "Checks if selected field value(s) match the attribute value(s)." msgstr "" @@ -16680,65 +16773,65 @@ msgstr "" msgid "**contains one not**" msgstr "" -#: ../misc/object-conditions/basics.rst:433 +#: ../misc/object-conditions/basics.rst:447 msgid "Additional Information and Remarks" msgstr "" -#: ../misc/object-conditions/basics.rst:442 +#: ../misc/object-conditions/basics.rst:456 msgid "Ticket context conditions do not support:" msgstr "" -#: ../misc/object-conditions/basics.rst:439 +#: ../misc/object-conditions/basics.rst:453 msgid "regular expressions" msgstr "" -#: ../misc/object-conditions/basics.rst:440 +#: ../misc/object-conditions/basics.rst:454 msgid "case sensitive string conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:441 +#: ../misc/object-conditions/basics.rst:455 msgid "" "Basic conditions do not support the same attribute to be selected more than " "once" msgstr "" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "**has changed** conditions:" msgstr "" -#: ../misc/object-conditions/basics.rst:445 +#: ../misc/object-conditions/basics.rst:459 msgid "Are only available for ticket attributes and don't affect:" msgstr "" -#: ../misc/object-conditions/basics.rst:447 +#: ../misc/object-conditions/basics.rst:461 #, fuzzy msgid "Ticket articles attributes" msgstr "prioritet" -#: ../misc/object-conditions/basics.rst:448 +#: ../misc/object-conditions/basics.rst:462 msgid "Organization attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:449 +#: ../misc/object-conditions/basics.rst:463 msgid "User attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "Group attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:463 +#: ../misc/object-conditions/basics.rst:477 msgid "Differences in input fields:" msgstr "" -#: ../misc/object-conditions/basics.rst:453 +#: ../misc/object-conditions/basics.rst:467 msgid "" "Please note that the input field for tokens doesn't support the comma as " "separator (as in the input field for tags). If you use the comma in the " "token input field, the comma is included in you token." msgstr "" -#: ../misc/object-conditions/basics.rst:457 +#: ../misc/object-conditions/basics.rst:471 #, fuzzy msgid "**Example**:" msgstr "Primjer" @@ -16747,33 +16840,258 @@ msgstr "Primjer" msgid "Example of comma usage in token input field" msgstr "" -#: ../misc/object-conditions/basics.rst:462 +#: ../misc/object-conditions/basics.rst:476 msgid "" "``A`` added with enter/tab, ``B`` and ``C`` separated with comma (resulting " "in one token)." msgstr "" -#: ../misc/object-conditions/basics.rst:468 +#: ../misc/object-conditions/basics.rst:482 +msgid "Multi-Select Operator Examples" +msgstr "" + +#: ../misc/object-conditions/basics.rst:484 +msgid "" +"The ``contains`` family of operators for multi-select fields compares two " +"sets of values: the values currently in the field and the values specified " +"in the condition. The diagrams below show the condition values as an orange " +"circle and the field values as a blue circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:489 +msgid "" +"Be aware that these operators behave **differently** in :doc:`core workflows " +"`. See :ref:`core workflow condition operators ` for a side by side comparison." +msgstr "" + +#: ../misc/object-conditions/basics.rst:495 +#: ../system/core-workflows/condition-operators.rst:165 +msgid "Example 1: Condition A, B - Field A, B, C" +msgstr "" + +#: ../misc/object-conditions/basics.rst:497 +#: ../system/core-workflows/condition-operators.rst:167 +msgid "" +"In this scenario, the field holds the values A, B and C, while the condition " +"asks for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "" +"Venn diagram of condition values A, B and field values A, B, C. A and B are " +"in both circles, C only in the field circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "Condition values ``A, B`` overlap with field values ``A, B, C``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:510 +#: ../misc/object-conditions/basics.rst:544 +#: ../misc/object-conditions/basics.rst:581 +#: ../misc/object-conditions/basics.rst:613 +#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:141 +#: ../system/core-workflows/condition-operators.rst:180 +#: ../system/core-workflows/condition-operators.rst:220 +#: ../system/core-workflows/condition-operators.rst:263 +#: ../system/core-workflows/condition-operators.rst:303 +msgid "Operator" +msgstr "" + +#: ../misc/object-conditions/basics.rst:511 +#: ../misc/object-conditions/basics.rst:545 +#: ../misc/object-conditions/basics.rst:582 +#: ../misc/object-conditions/basics.rst:614 +#: ../system/core-workflows/condition-operators.rst:181 +#: ../system/core-workflows/condition-operators.rst:221 +#: ../system/core-workflows/condition-operators.rst:264 +#: ../system/core-workflows/condition-operators.rst:304 +msgid "Matches?" +msgstr "" + +#: ../misc/object-conditions/basics.rst:512 +#: ../misc/object-conditions/basics.rst:546 +#: ../misc/object-conditions/basics.rst:583 +#: ../misc/object-conditions/basics.rst:615 +#: ../system/core-workflows/condition-operators.rst:182 +#: ../system/core-workflows/condition-operators.rst:222 +#: ../system/core-workflows/condition-operators.rst:265 +#: ../system/core-workflows/condition-operators.rst:305 +msgid "Why" +msgstr "" + +#: ../misc/object-conditions/basics.rst:515 +#: ../system/core-workflows/condition-operators.rst:185 +msgid "``A`` and ``B`` are in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:518 +#: ../system/core-workflows/condition-operators.rst:191 +msgid "Both ``A`` and ``B`` are present (AND logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:521 +msgid "All condition values are present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:524 +msgid "The field has values in common with the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:527 +#: ../system/core-workflows/condition-operators.rst:203 +msgid "Example 2: Condition A, B, C - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:529 +#: ../system/core-workflows/condition-operators.rst:205 +msgid "" +"In this scenario, the field holds the values C and D. The condition value C " +"is present in the field, while A and B are not." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Venn diagram of condition values A, B, C and field values C, D.\n" +"Only C is in both circles." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Condition values ``A, B, C`` partially overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:549 +#: ../system/core-workflows/condition-operators.rst:225 +msgid "``C`` is in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:552 +#: ../system/core-workflows/condition-operators.rst:231 +msgid "Only ``C`` of the three condition values is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:555 +#: ../misc/object-conditions/basics.rst:592 +msgid "``A`` and ``B`` are missing from the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:558 +msgid "``C`` is in both the field and the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:560 +msgid "" +"This partial overlap is where the two \"not\" operators part ways: " +"``contains all not`` matches because a single condition value is missing, " +"while ``contains one not`` does not match because the one common value is " +"enough to block it." +msgstr "" + +#: ../misc/object-conditions/basics.rst:566 +#: ../system/core-workflows/condition-operators.rst:248 +msgid "Example 3: Condition A, B - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:568 +#: ../system/core-workflows/condition-operators.rst:250 +msgid "" +"In this scenario, the field holds the values C and D, which have nothing in " +"common with the condition values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "" +"Venn diagram of condition values A, B and field values C, D. The two circles " +"do not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "Condition values ``A, B`` have no overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:586 +#: ../system/core-workflows/condition-operators.rst:268 +msgid "No value is in both sets." +msgstr "" + +#: ../misc/object-conditions/basics.rst:589 +#: ../system/core-workflows/condition-operators.rst:274 +msgid "Neither ``A`` nor ``B`` is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:595 +#: ../misc/object-conditions/basics.rst:627 +#: ../system/core-workflows/condition-operators.rst:159 +#: ../system/core-workflows/condition-operators.rst:161 +#: ../system/core-workflows/condition-operators.rst:283 +msgid "The field has no value in common with the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:598 +#: ../system/core-workflows/condition-operators.rst:288 +msgid "Example 4: Condition A, B - Field is empty" +msgstr "" + +#: ../misc/object-conditions/basics.rst:600 +#: ../system/core-workflows/condition-operators.rst:290 +msgid "" +"In this scenario, the field holds no values at all, while the condition asks " +"for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "" +"Venn diagram of condition values A, B and an empty field. The two circles do " +"not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "The field holds no values at all." +msgstr "" + +#: ../misc/object-conditions/basics.rst:618 +#: ../misc/object-conditions/basics.rst:621 +#: ../system/core-workflows/condition-operators.rst:308 +#: ../system/core-workflows/condition-operators.rst:314 +msgid "No value is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:624 +msgid "No condition value is present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:632 msgid "Regex" msgstr "" -#: ../misc/object-conditions/basics.rst:473 +#: ../misc/object-conditions/basics.rst:637 #, fuzzy msgid "Regex support" msgstr "**Rezultat**" -#: ../misc/object-conditions/basics.rst:471 +#: ../misc/object-conditions/basics.rst:635 msgid "" "**matches regex** and **does not match regex** are supported only in " "Triggers, Time Accounting selector, Postmaster Filters, Automatic ticket " "assignment and Core Workflow." msgstr "" -#: ../misc/object-conditions/basics.rst:478 +#: ../misc/object-conditions/basics.rst:642 msgid "\"Old\" style ``regex:...`` conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:476 +#: ../misc/object-conditions/basics.rst:640 msgid "" "If you update your Zammad from 6.0 or prior and you have already conditions " "with **contains** or **contains not** including a regex filter (i.e. " @@ -22992,9 +23310,9 @@ msgstr "" #: ../system/core-workflows/condition-operators.rst:8 msgid "" -"Due to differences to other places in Zammad which are also using conditions " -"(e.g. triggers), you can find a dedicated description of operators for core " -"workflows below." +"Due to differences from other places in Zammad which are also using " +"conditions (e.g. triggers), you can find a dedicated description of " +"operators for core workflows below." msgstr "" #: ../system/core-workflows/condition-operators.rst:12 @@ -23004,272 +23322,419 @@ msgid "" "for system attributes (e.g. for \"tags\", \"active\")." msgstr "" -#: ../system/core-workflows/condition-operators.rst:20 -msgid "Operator" -msgstr "" - -#: ../system/core-workflows/condition-operators.rst:22 +#: ../system/core-workflows/condition-operators.rst:23 msgid "after (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:23 +#: ../system/core-workflows/condition-operators.rst:24 msgid "Matches if a date/time is after a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:24 +#: ../system/core-workflows/condition-operators.rst:25 msgid "after (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:25 +#: ../system/core-workflows/condition-operators.rst:26 msgid "Matches if a time span after a specified event has passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:26 +#: ../system/core-workflows/condition-operators.rst:27 msgid "before (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:27 +#: ../system/core-workflows/condition-operators.rst:28 msgid "Matches if a date/time is before a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:28 +#: ../system/core-workflows/condition-operators.rst:29 msgid "before (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:29 +#: ../system/core-workflows/condition-operators.rst:30 msgid "Matches if a time span after a specified event has not passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:30 +#: ../system/core-workflows/condition-operators.rst:31 +#: ../system/core-workflows/condition-operators.rst:144 +#: ../system/core-workflows/condition-operators.rst:183 +#: ../system/core-workflows/condition-operators.rst:223 +#: ../system/core-workflows/condition-operators.rst:266 +#: ../system/core-workflows/condition-operators.rst:306 msgid "contains" msgstr "" -#: ../system/core-workflows/condition-operators.rst:31 -msgid "Matches if a specified value is present." +#: ../system/core-workflows/condition-operators.rst:32 +msgid "" +"Matches if **at least one** of the specified values is present in the field " +"(OR logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:33 -msgid "Matches if all of the specified values are present." +#: ../system/core-workflows/condition-operators.rst:34 +#: ../system/core-workflows/condition-operators.rst:153 +#: ../system/core-workflows/condition-operators.rst:192 +#: ../system/core-workflows/condition-operators.rst:232 +#: ../system/core-workflows/condition-operators.rst:275 +#: ../system/core-workflows/condition-operators.rst:315 +msgid "contains not" msgstr "" #: ../system/core-workflows/condition-operators.rst:35 -msgid "Matches if none of the specified values are present." +msgid "" +"Matches if the field contains at least one value that is **not** among the " +"specified values. Also matches if the field is empty." msgstr "" -#: ../system/core-workflows/condition-operators.rst:36 -msgid "contains not" +#: ../system/core-workflows/condition-operators.rst:39 +msgid "" +"Matches if **every** specified value is present in the field (AND logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:37 -msgid "Matches if a specified value is not present." +#: ../system/core-workflows/condition-operators.rst:42 +msgid "" +"Matches if **none** of the specified values are present in the field. The " +"field and the condition have no value in common: this means \"contains none " +"of\", not \"does not contain all of\"." msgstr "" -#: ../system/core-workflows/condition-operators.rst:39 -msgid "Matches if one specified value is present." +#: ../system/core-workflows/condition-operators.rst:46 +msgid "" +"In triggers and overviews, this operator means \"not all of the specified " +"values are present\" instead. See the examples section below." msgstr "" -#: ../system/core-workflows/condition-operators.rst:41 -msgid "Matches if one specified value is not present." +#: ../system/core-workflows/condition-operators.rst:50 +msgid "" +"Same as ``contains``. Matches if **at least one** of the specified values is " +"present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:42 +#: ../system/core-workflows/condition-operators.rst:53 +msgid "" +"Same as ``contains not``. Matches if the field contains at least one value " +"that is **not** among the specified values." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:56 msgid "does not match regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:43 +#: ../system/core-workflows/condition-operators.rst:57 msgid "Matches if content doesn't fit to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:44 +#: ../system/core-workflows/condition-operators.rst:58 msgid "ends with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:45 +#: ../system/core-workflows/condition-operators.rst:59 msgid "Matches if content ends with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:46 +#: ../system/core-workflows/condition-operators.rst:60 msgid "ends with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:47 +#: ../system/core-workflows/condition-operators.rst:61 msgid "Matches if content ends with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:48 +#: ../system/core-workflows/condition-operators.rst:62 msgid "from (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:63 msgid "Matches if date/time is after a period of time after an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:51 +#: ../system/core-workflows/condition-operators.rst:65 msgid "Matches if content is equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:66 msgid "is any of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:53 +#: ../system/core-workflows/condition-operators.rst:67 msgid "Matches if content is equal to any of specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:54 +#: ../system/core-workflows/condition-operators.rst:68 msgid "is greater than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:55 +#: ../system/core-workflows/condition-operators.rst:69 msgid "Matches if the value is greater than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:56 +#: ../system/core-workflows/condition-operators.rst:70 msgid "is greater than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:57 +#: ../system/core-workflows/condition-operators.rst:71 msgid "Matches if the value is greater than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:58 +#: ../system/core-workflows/condition-operators.rst:72 msgid "is less than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:59 +#: ../system/core-workflows/condition-operators.rst:73 msgid "Matches if the value is less than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:60 +#: ../system/core-workflows/condition-operators.rst:74 msgid "is less than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:61 +#: ../system/core-workflows/condition-operators.rst:75 msgid "Matches if the value is less than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:62 +#: ../system/core-workflows/condition-operators.rst:76 msgid "is modified" msgstr "" -#: ../system/core-workflows/condition-operators.rst:63 +#: ../system/core-workflows/condition-operators.rst:77 msgid "Matches if content is modified." msgstr "" -#: ../system/core-workflows/condition-operators.rst:65 -#: ../system/core-workflows/condition-operators.rst:69 +#: ../system/core-workflows/condition-operators.rst:79 +#: ../system/core-workflows/condition-operators.rst:83 msgid "True from the moment of changing content until form submit." msgstr "" -#: ../system/core-workflows/condition-operators.rst:66 +#: ../system/core-workflows/condition-operators.rst:80 msgid "is modified to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:67 +#: ../system/core-workflows/condition-operators.rst:81 msgid "Matches if content is modified to a specific value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:70 +#: ../system/core-workflows/condition-operators.rst:84 msgid "is none of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:71 +#: ../system/core-workflows/condition-operators.rst:85 msgid "Matches if content is none of any specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:73 +#: ../system/core-workflows/condition-operators.rst:87 msgid "Matches if content is not equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:75 +#: ../system/core-workflows/condition-operators.rst:89 msgid "Matches if content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:76 +#: ../system/core-workflows/condition-operators.rst:90 msgid "just changed" msgstr "" -#: ../system/core-workflows/condition-operators.rst:77 +#: ../system/core-workflows/condition-operators.rst:91 msgid "Matches if content has changed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:79 -#: ../system/core-workflows/condition-operators.rst:83 +#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:97 msgid "" "Only true for the moment of changing content until next form field action/" "click." msgstr "" -#: ../system/core-workflows/condition-operators.rst:80 +#: ../system/core-workflows/condition-operators.rst:94 msgid "just changed to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:81 +#: ../system/core-workflows/condition-operators.rst:95 msgid "Matches if content has changed to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:84 +#: ../system/core-workflows/condition-operators.rst:98 msgid "matches regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:85 +#: ../system/core-workflows/condition-operators.rst:99 msgid "Matches if value fits to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:87 +#: ../system/core-workflows/condition-operators.rst:101 msgid "Matches if no content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:88 +#: ../system/core-workflows/condition-operators.rst:102 msgid "starts with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:89 +#: ../system/core-workflows/condition-operators.rst:103 msgid "Matches if content starts with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:90 +#: ../system/core-workflows/condition-operators.rst:104 msgid "starts with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:91 +#: ../system/core-workflows/condition-operators.rst:105 msgid "Matches if content starts with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:92 +#: ../system/core-workflows/condition-operators.rst:106 msgid "till (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:107 msgid "Matches if date/time is before a period of time before an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:94 +#: ../system/core-workflows/condition-operators.rst:108 msgid "today" msgstr "" -#: ../system/core-workflows/condition-operators.rst:95 +#: ../system/core-workflows/condition-operators.rst:109 msgid "Matches if date/time is today." msgstr "" -#: ../system/core-workflows/condition-operators.rst:96 +#: ../system/core-workflows/condition-operators.rst:110 msgid "within last (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:97 +#: ../system/core-workflows/condition-operators.rst:111 msgid "" "Matches if date/time content is within specified period of time before now." msgstr "" -#: ../system/core-workflows/condition-operators.rst:99 +#: ../system/core-workflows/condition-operators.rst:113 msgid "within next (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:100 +#: ../system/core-workflows/condition-operators.rst:114 msgid "" "Matches if date/time content is within specified period of time after now." msgstr "" +#: ../system/core-workflows/condition-operators.rst:118 +msgid "Multi-Select Operators" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:120 +msgid "" +"The ``contains`` family of operators compares two sets of values: the values " +"currently in the field and the values specified in the condition. The " +"diagrams below show the condition values as an orange circle and the field " +"values as a blue circle." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:128 +msgid "Differences to Triggers and Overviews" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:130 +msgid "" +"Be aware that these operators behave **differently** in other features that " +"use conditions (e.g. triggers and overviews). The most confusing difference: " +"in core workflows, ``contains all not`` means that no value matches at all, " +"while in triggers and overviews it means \"not all values are present\". The " +"table below compares both worlds side by side." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:142 +msgid "Core workflows (this page)" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:143 +msgid "Triggers, overviews, etc." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:145 +#: ../system/core-workflows/condition-operators.rst:149 +msgid "At least one value is present (OR logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:146 +msgid "Not available; ``contains one`` is the equivalent." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:148 +#: ../system/core-workflows/condition-operators.rst:188 +#: ../system/core-workflows/condition-operators.rst:228 +#: ../system/core-workflows/condition-operators.rst:271 +#: ../system/core-workflows/condition-operators.rst:311 +msgid "Same as ``contains``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:151 +#: ../system/core-workflows/condition-operators.rst:152 +msgid "Every value is present (AND logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:154 +msgid "" +"At least one field value is outside the condition, or the field is empty." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:156 +msgid "Not available for multi-select fields." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:158 +#: ../system/core-workflows/condition-operators.rst:197 +#: ../system/core-workflows/condition-operators.rst:237 +#: ../system/core-workflows/condition-operators.rst:280 +#: ../system/core-workflows/condition-operators.rst:320 +msgid "Same as ``contains not``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:162 +msgid "Not all values are present (at least one is missing)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:194 +msgid "``C`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:200 +msgid "``A`` and ``B`` are present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:234 +msgid "``D`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:240 +msgid "``C`` is present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:242 +msgid "" +"This partial overlap is where the two \"all\" operators part ways: " +"``contains all`` fails because one condition value is missing, while " +"``contains all not`` fails because a single common value is enough to block " +"it." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:277 +msgid "``C`` and ``D`` are not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:285 +msgid "This is the only example where ``contains all not`` matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:317 +msgid "An empty field matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:323 +msgid "An empty field has no value in common with the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:325 +msgid "" +"Note that ``contains not`` and ``contains one not`` match an empty field, " +"while ``contains`` and ``contains all`` do not. If you want to exclude " +"specific values, be aware that empty fields pass the condition." +msgstr "" + #: ../system/core-workflows/how-do-they-work.rst:2 msgid "How do they work?" msgstr "" diff --git a/locale/hu/LC_MESSAGES/admin-docs.po b/locale/hu/LC_MESSAGES/admin-docs.po index dd78b298e..69e37123f 100644 --- a/locale/hu/LC_MESSAGES/admin-docs.po +++ b/locale/hu/LC_MESSAGES/admin-docs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Zammad\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-24 17:19+0200\n" +"POT-Creation-Date: 2026-08-28 15:08+0200\n" "PO-Revision-Date: 2026-08-13 07:57+0000\n" "Last-Translator: Balázs Úr \n" "Language-Team: Hungarian ` and consider switching your plan. When a " @@ -1136,17 +1137,17 @@ msgid "" "alerted when few calls remain." msgstr "" -#: ../ai/provider.rst:288 +#: ../ai/provider.rst:289 msgid "" "On SaaS, the Zammad AI provider is provisioned by the platform and you " "cannot delete it or change its type." msgstr "" -#: ../ai/provider.rst:295 +#: ../ai/provider.rst:296 msgid "Self-Hosted Customers" msgstr "" -#: ../ai/provider.rst:292 +#: ../ai/provider.rst:293 msgid "" "Get in touch with our `sales department `_ to obtain a Zammad AI API key and to buy AI calls. After " @@ -1154,14 +1155,14 @@ msgid "" "key." msgstr "" -#: ../ai/provider.rst:300 +#: ../ai/provider.rst:301 msgid "" "`Ollama `_ lets you run your own AI server on a machine " "you control, so your data is not transferred to a third party. This approach " "only makes sense if you have a powerful GPU in your system!" msgstr "" -#: ../ai/provider.rst:304 +#: ../ai/provider.rst:305 msgid "" "If you don't have Ollama running yet, their `documentation `_ is a good starting point. Available models are listed in " @@ -4209,7 +4210,7 @@ msgstr "" msgid "Signatures" msgstr "" -#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:436 +#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:450 #: ../system/monitoring.rst:9 msgid "General" msgstr "" @@ -4938,7 +4939,7 @@ msgstr "" #: ../channels/form.rst:250 ../manage/public-links.rst:43 #: ../misc/object-conditions/basics.rst:63 ../misc/variables.rst:101 -#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:22 #: ../system/objects/permissions.rst:36 ../system/subscription.rst:196 msgid "Description" msgstr "Leírás" @@ -8678,6 +8679,29 @@ msgstr "" #: ../manage/groups/settings.rst:42 ../manage/groups/settings.rst:63 #: ../misc/object-conditions/basics.rst:121 #: ../misc/object-conditions/basics.rst:136 +#: ../misc/object-conditions/basics.rst:514 +#: ../misc/object-conditions/basics.rst:517 +#: ../misc/object-conditions/basics.rst:548 +#: ../misc/object-conditions/basics.rst:554 +#: ../misc/object-conditions/basics.rst:591 +#: ../misc/object-conditions/basics.rst:594 +#: ../misc/object-conditions/basics.rst:623 +#: ../misc/object-conditions/basics.rst:626 +#: ../system/core-workflows/condition-operators.rst:184 +#: ../system/core-workflows/condition-operators.rst:187 +#: ../system/core-workflows/condition-operators.rst:190 +#: ../system/core-workflows/condition-operators.rst:193 +#: ../system/core-workflows/condition-operators.rst:196 +#: ../system/core-workflows/condition-operators.rst:224 +#: ../system/core-workflows/condition-operators.rst:227 +#: ../system/core-workflows/condition-operators.rst:233 +#: ../system/core-workflows/condition-operators.rst:236 +#: ../system/core-workflows/condition-operators.rst:276 +#: ../system/core-workflows/condition-operators.rst:279 +#: ../system/core-workflows/condition-operators.rst:282 +#: ../system/core-workflows/condition-operators.rst:316 +#: ../system/core-workflows/condition-operators.rst:319 +#: ../system/core-workflows/condition-operators.rst:322 msgid "yes" msgstr "" @@ -8732,6 +8756,23 @@ msgstr "" #: ../manage/groups/settings.rst:66 ../misc/object-conditions/basics.rst:122 #: ../misc/object-conditions/basics.rst:137 +#: ../misc/object-conditions/basics.rst:520 +#: ../misc/object-conditions/basics.rst:523 +#: ../misc/object-conditions/basics.rst:551 +#: ../misc/object-conditions/basics.rst:557 +#: ../misc/object-conditions/basics.rst:585 +#: ../misc/object-conditions/basics.rst:588 +#: ../misc/object-conditions/basics.rst:617 +#: ../misc/object-conditions/basics.rst:620 +#: ../system/core-workflows/condition-operators.rst:199 +#: ../system/core-workflows/condition-operators.rst:230 +#: ../system/core-workflows/condition-operators.rst:239 +#: ../system/core-workflows/condition-operators.rst:267 +#: ../system/core-workflows/condition-operators.rst:270 +#: ../system/core-workflows/condition-operators.rst:273 +#: ../system/core-workflows/condition-operators.rst:307 +#: ../system/core-workflows/condition-operators.rst:310 +#: ../system/core-workflows/condition-operators.rst:313 msgid "no" msgstr "" @@ -9137,7 +9178,7 @@ msgid "" msgstr "" #: ../manage/knowledge-base.rst:136 ../manage/public-links.rst:35 -#: ../manage/time-accounting.rst:147 ../manage/time-accounting.rst:161 +#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 #: ../system/maintenance.rst:31 msgid "Title" msgstr "Cím" @@ -12381,16 +12422,18 @@ msgstr "" #: ../manage/time-accounting.rst:22 msgid "" "If a ticket is relevant, Zammad will request the agent to provide the time " -"which was needed to process the current ticket step. In order for Zammad to " -"bring up the time accounting dialog to an agent, the agent has to update the " -"ticket together with an article of any type. The adding of an article is " -"mandatory to invoke the time accounting dialog. However, the time accounting " -"dialog is not mandatory and can be canceled by your agents. You cannot " -"enforce the time accounting. When a ticket is no longer considered for the " -"time accounting, the already accounted time will be preserved." +"which was needed to process the current ticket step. This accounted time is " +"displayed in the ticket sidebar at ticket level and in the article meta " +"information for an individual article. In order for Zammad to bring up the " +"time accounting dialog to an agent, the agent has to update the ticket " +"together with an article of any type. The adding of an article is mandatory " +"to invoke the time accounting dialog. However, the time accounting dialog is " +"not mandatory and can be canceled by your agents. You cannot enforce the " +"time accounting. When a ticket is no longer considered for the time " +"accounting, the already accounted time will be preserved." msgstr "" -#: ../manage/time-accounting.rst:33 +#: ../manage/time-accounting.rst:35 msgid "" "The selector applies to the ticket state before any attribute changes have " "been saved. That means if your agent is e.g. going to close a ticket " @@ -12402,49 +12445,49 @@ msgstr "" msgid "Time Accounting Ticket Selector" msgstr "" -#: ../manage/time-accounting.rst:42 +#: ../manage/time-accounting.rst:44 msgid "" "The accounted time is always a unitless number. However, it is possible to " "show a specific unit in the **Unit** section, which provides several options:" msgstr "" -#: ../manage/time-accounting.rst:46 +#: ../manage/time-accounting.rst:48 msgid "no unit" msgstr "" -#: ../manage/time-accounting.rst:47 +#: ../manage/time-accounting.rst:49 msgid "Default behavior, no unit is shown next to the time value." msgstr "" -#: ../manage/time-accounting.rst:48 +#: ../manage/time-accounting.rst:50 msgid "hour(s)" msgstr "" -#: ../manage/time-accounting.rst:49 +#: ../manage/time-accounting.rst:51 msgid "Shows ``hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:50 +#: ../manage/time-accounting.rst:52 msgid "quarter-hour(s)" msgstr "" -#: ../manage/time-accounting.rst:51 +#: ../manage/time-accounting.rst:53 msgid "Shows ``quarter-hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:52 +#: ../manage/time-accounting.rst:54 msgid "minute(s)" msgstr "" -#: ../manage/time-accounting.rst:53 +#: ../manage/time-accounting.rst:55 msgid "Shows ``minute(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "custom unit" msgstr "" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "Shows a custom unit that can be specified as free input." msgstr "" @@ -12452,7 +12495,7 @@ msgstr "" msgid "Time Accounting Unit" msgstr "Időelszámolás mértékegysége" -#: ../manage/time-accounting.rst:62 +#: ../manage/time-accounting.rst:64 msgid "" "The unit is only displayed to make it easier for agents to account their " "time! No numerical transformation will be applied to the values, not even if " @@ -12464,11 +12507,11 @@ msgstr "" msgid "Time Accounting Unit when Recording" msgstr "" -#: ../manage/time-accounting.rst:72 +#: ../manage/time-accounting.rst:74 msgid "Activity Types" msgstr "Tevékenységtípusok" -#: ../manage/time-accounting.rst:74 +#: ../manage/time-accounting.rst:76 msgid "" "**Activity Types** can be used to group the different ticket time accounting " "entries together. For example, entries that are relevant to a \"Billing\" " @@ -12479,7 +12522,7 @@ msgstr "" msgid "Time Accounting Activity Types" msgstr "" -#: ../manage/time-accounting.rst:81 +#: ../manage/time-accounting.rst:83 msgid "" "When you enable the recording of the **Activity Type**, the agents will be " "able to select a type from this list." @@ -12489,13 +12532,13 @@ msgstr "" msgid "Time Accounting Activity Type Selection for Agents" msgstr "" -#: ../manage/time-accounting.rst:88 +#: ../manage/time-accounting.rst:90 msgid "" "Additionally, a column with an associated activity type will be rendered for " "an entry in the **Activity** table under the **Accounted Time** tab." msgstr "" -#: ../manage/time-accounting.rst:91 +#: ../manage/time-accounting.rst:93 msgid "" "You can manage available activity types in this screen like any other Zammad " "object. Only active types will be available for the selection when recording " @@ -12507,7 +12550,7 @@ msgstr "" msgid "New Time Accounting Activity Type Dialog" msgstr "" -#: ../manage/time-accounting.rst:100 +#: ../manage/time-accounting.rst:102 msgid "" "Activity types can be set as default, and in that case they will be pre-" "selected for the agents when they are asked to account their time. It is " @@ -12515,29 +12558,29 @@ msgid "" "pre-selected and the agents can make their choice." msgstr "" -#: ../manage/time-accounting.rst:106 +#: ../manage/time-accounting.rst:108 msgid "Accounted Time" msgstr "" -#: ../manage/time-accounting.rst:108 +#: ../manage/time-accounting.rst:110 msgid "" "Under the **Accounted Time** tab, Zammad provides a section for reviewing " "all accounted times for your tickets. Accounted times are displayed per " "years and months." msgstr "" -#: ../manage/time-accounting.rst:112 +#: ../manage/time-accounting.rst:114 msgid "" "If you have tickets that are overlapping several months, you can " "differentiate by *time units* and *time units total* (e.g. to allow partial " "billing) in the downloaded file." msgstr "" -#: ../manage/time-accounting.rst:123 +#: ../manage/time-accounting.rst:125 msgid "Select the right month" msgstr "" -#: ../manage/time-accounting.rst:117 +#: ../manage/time-accounting.rst:119 msgid "" "Usually you want to bill accounted time of other months than the current " "one. Just select the relevant year and month to receive the accounted times " @@ -12548,85 +12591,85 @@ msgstr "" msgid "Screenshot showing a selection for year and month on time accounting" msgstr "" -#: ../manage/time-accounting.rst:186 +#: ../manage/time-accounting.rst:188 msgid "Tickets and their accounted time" msgstr "" -#: ../manage/time-accounting.rst:126 +#: ../manage/time-accounting.rst:128 msgid "" "Zammad allows you to receive the accounted information just like you need " "them. For this you currently have four options to review and also download " "the relevant data as CSV." msgstr "" -#: ../manage/time-accounting.rst:130 +#: ../manage/time-accounting.rst:132 msgid "" "To download the CSV data, use the download button right next to each heading " "(e.g. \"Ticket\")." msgstr "" -#: ../manage/time-accounting.rst:133 +#: ../manage/time-accounting.rst:135 msgid "This can also be automated with API calls." msgstr "" -#: ../manage/time-accounting.rst:136 +#: ../manage/time-accounting.rst:138 msgid "" "Only the first 20 entries are shown for each table. To see all of them, " "simply download the records in CSV." msgstr "" -#: ../manage/time-accounting.rst:153 +#: ../manage/time-accounting.rst:155 msgid "Activity" msgstr "" -#: ../manage/time-accounting.rst:140 +#: ../manage/time-accounting.rst:142 msgid "" "This filter works similar to the ticket filter, with one exception: You'll " "find each *individual* time accounting step of your agents. This is what " "you'd also see in the ticket's history before Zammad 5.2." msgstr "" -#: ../manage/time-accounting.rst:144 ../manage/time-accounting.rst:158 -#: ../manage/time-accounting.rst:175 +#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:177 msgid "In this list you'll see the following ticket information:" msgstr "" -#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 #: ../settings/ticket.rst:103 msgid "Number" msgstr "" -#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 -#: ../manage/time-accounting.rst:179 ../manage/time-accounting.rst:177 +#: ../manage/time-accounting.rst:150 ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:181 ../manage/time-accounting.rst:179 #: ../misc/object-conditions/basics.rst:37 #: ../misc/object-conditions/basics.rst:89 #: ../misc/object-conditions/basics.rst:171 msgid "Customer" msgstr "Ügyfél" -#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 -#: ../manage/time-accounting.rst:178 +#: ../manage/time-accounting.rst:151 ../manage/time-accounting.rst:165 +#: ../manage/time-accounting.rst:180 msgid "Organization of customer (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:150 +#: ../manage/time-accounting.rst:152 msgid "Agent that accounted the time" msgstr "" -#: ../manage/time-accounting.rst:151 +#: ../manage/time-accounting.rst:153 msgid "Time units accounted in the current activity" msgstr "" -#: ../manage/time-accounting.rst:152 +#: ../manage/time-accounting.rst:154 msgid "Activity type (if enabled)" msgstr "" -#: ../manage/time-accounting.rst:153 ../manage/time-accounting.rst:167 +#: ../manage/time-accounting.rst:155 ../manage/time-accounting.rst:169 #: ../system/audit-logs.rst:76 msgid "Created at" msgstr "" -#: ../manage/time-accounting.rst:168 ../misc/object-conditions/basics.rst:26 +#: ../manage/time-accounting.rst:170 ../misc/object-conditions/basics.rst:26 #: ../misc/object-conditions/basics.rst:90 #: ../misc/object-conditions/basics.rst:126 #: ../misc/object-conditions/basics.rst:139 @@ -12642,45 +12685,45 @@ msgstr "" msgid "Ticket" msgstr "" -#: ../manage/time-accounting.rst:156 +#: ../manage/time-accounting.rst:158 msgid "This filter contains all relevant tickets from the selected month." msgstr "" -#: ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:166 msgid "Agent currently assigned (ticket owner)" msgstr "" -#: ../manage/time-accounting.rst:165 ../manage/time-accounting.rst:179 +#: ../manage/time-accounting.rst:167 ../manage/time-accounting.rst:181 msgid "Time units accounted in the current month" msgstr "" -#: ../manage/time-accounting.rst:166 +#: ../manage/time-accounting.rst:168 msgid "Time units total (time accounted during ticket life)" msgstr "" -#: ../manage/time-accounting.rst:168 +#: ../manage/time-accounting.rst:170 msgid "Closed at (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:171 +#: ../manage/time-accounting.rst:173 msgid "" "This provides you a per user filter on accounted time units. Each user has a " "total of time accounted in the current month (over all applicable tickets)." msgstr "" -#: ../manage/time-accounting.rst:186 ../misc/object-conditions/basics.rst:28 +#: ../manage/time-accounting.rst:188 ../misc/object-conditions/basics.rst:28 #: ../misc/object-conditions/basics.rst:115 #: ../misc/object-conditions/basics.rst:146 ../settings/branding.rst:16 msgid "Organization" msgstr "Szervezet" -#: ../manage/time-accounting.rst:182 +#: ../manage/time-accounting.rst:184 msgid "" "This provides a list of all organizations where customers have caused " "accounted time in that month." msgstr "" -#: ../manage/time-accounting.rst:185 +#: ../manage/time-accounting.rst:187 msgid "" "You can also see entries for customers that are part of a primary " "organization. Users without an organization can be found in the Customer " @@ -15818,7 +15861,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:185 #: ../misc/object-conditions/basics.rst:209 #: ../misc/object-conditions/basics.rst:219 -#: ../system/core-workflows/condition-operators.rst:50 +#: ../system/core-workflows/condition-operators.rst:64 msgid "is" msgstr "" @@ -15835,7 +15878,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:186 #: ../misc/object-conditions/basics.rst:210 #: ../misc/object-conditions/basics.rst:220 -#: ../system/core-workflows/condition-operators.rst:72 +#: ../system/core-workflows/condition-operators.rst:86 msgid "is not" msgstr "" @@ -15906,7 +15949,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:97 #: ../misc/object-conditions/basics.rst:155 #: ../misc/object-conditions/basics.rst:204 -#: ../system/core-workflows/condition-operators.rst:86 +#: ../system/core-workflows/condition-operators.rst:100 msgid "not set" msgstr "" @@ -16064,22 +16107,58 @@ msgid "Checks tags of a ticket." msgstr "" #: ../misc/object-conditions/basics.rst:193 -#: ../system/core-workflows/condition-operators.rst:32 +#: ../misc/object-conditions/basics.rst:516 +#: ../misc/object-conditions/basics.rst:550 +#: ../misc/object-conditions/basics.rst:587 +#: ../misc/object-conditions/basics.rst:619 +#: ../system/core-workflows/condition-operators.rst:38 +#: ../system/core-workflows/condition-operators.rst:150 +#: ../system/core-workflows/condition-operators.rst:189 +#: ../system/core-workflows/condition-operators.rst:229 +#: ../system/core-workflows/condition-operators.rst:272 +#: ../system/core-workflows/condition-operators.rst:312 msgid "contains all" msgstr "" #: ../misc/object-conditions/basics.rst:194 -#: ../system/core-workflows/condition-operators.rst:38 +#: ../misc/object-conditions/basics.rst:513 +#: ../misc/object-conditions/basics.rst:547 +#: ../misc/object-conditions/basics.rst:584 +#: ../misc/object-conditions/basics.rst:616 +#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:147 +#: ../system/core-workflows/condition-operators.rst:186 +#: ../system/core-workflows/condition-operators.rst:226 +#: ../system/core-workflows/condition-operators.rst:269 +#: ../system/core-workflows/condition-operators.rst:309 msgid "contains one" msgstr "" #: ../misc/object-conditions/basics.rst:195 -#: ../system/core-workflows/condition-operators.rst:34 +#: ../misc/object-conditions/basics.rst:519 +#: ../misc/object-conditions/basics.rst:553 +#: ../misc/object-conditions/basics.rst:590 +#: ../misc/object-conditions/basics.rst:622 +#: ../system/core-workflows/condition-operators.rst:41 +#: ../system/core-workflows/condition-operators.rst:160 +#: ../system/core-workflows/condition-operators.rst:198 +#: ../system/core-workflows/condition-operators.rst:238 +#: ../system/core-workflows/condition-operators.rst:281 +#: ../system/core-workflows/condition-operators.rst:321 msgid "contains all not" msgstr "" #: ../misc/object-conditions/basics.rst:196 -#: ../system/core-workflows/condition-operators.rst:40 +#: ../misc/object-conditions/basics.rst:522 +#: ../misc/object-conditions/basics.rst:556 +#: ../misc/object-conditions/basics.rst:593 +#: ../misc/object-conditions/basics.rst:625 +#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:157 +#: ../system/core-workflows/condition-operators.rst:195 +#: ../system/core-workflows/condition-operators.rst:235 +#: ../system/core-workflows/condition-operators.rst:278 +#: ../system/core-workflows/condition-operators.rst:318 msgid "contains one not" msgstr "" @@ -16100,7 +16179,7 @@ msgid "Checks if time is accounted." msgstr "" #: ../misc/object-conditions/basics.rst:203 -#: ../system/core-workflows/condition-operators.rst:74 +#: ../system/core-workflows/condition-operators.rst:88 msgid "is set" msgstr "" @@ -16158,8 +16237,8 @@ msgstr "" #: ../misc/object-conditions/basics.rst:334 #: ../misc/object-conditions/basics.rst:381 #: ../misc/object-conditions/basics.rst:392 -#: ../misc/object-conditions/basics.rst:410 #: ../misc/object-conditions/basics.rst:421 +#: ../misc/object-conditions/basics.rst:432 msgid "Available operators for matching:" msgstr "" @@ -16245,7 +16324,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:269 #: ../misc/object-conditions/basics.rst:284 #: ../misc/object-conditions/basics.rst:385 -#: ../misc/object-conditions/basics.rst:414 +#: ../misc/object-conditions/basics.rst:425 msgid "**has changed**" msgstr "" @@ -16260,14 +16339,14 @@ msgstr "" #: ../misc/object-conditions/basics.rst:267 #: ../misc/object-conditions/basics.rst:278 #: ../misc/object-conditions/basics.rst:383 -#: ../misc/object-conditions/basics.rst:412 +#: ../misc/object-conditions/basics.rst:423 msgid "**is**" msgstr "" #: ../misc/object-conditions/basics.rst:268 #: ../misc/object-conditions/basics.rst:279 #: ../misc/object-conditions/basics.rst:384 -#: ../misc/object-conditions/basics.rst:413 +#: ../misc/object-conditions/basics.rst:424 msgid "**is not**" msgstr "" @@ -16515,7 +16594,7 @@ msgid "**contains all**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are selected." +msgid "Matches if **all** given field values are selected (AND logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16523,7 +16602,8 @@ msgid "**contains one**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is selected." +msgid "" +"Matches if **at least one** of the given field values is selected (OR logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16531,7 +16611,9 @@ msgid "**contains all not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are not selected." +msgid "" +"Matches if **not all** given field values are selected (at least one is " +"missing). This means \"not all of\", not \"none of\"." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16539,24 +16621,35 @@ msgid "**contains one not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is not selected." +msgid "" +"Matches if **none** of the given field values are selected. This means " +"\"none of\", not \"not all of\"." msgstr "" -#: ../misc/object-conditions/basics.rst:405 ../system/objects/types.rst:135 +#: ../misc/object-conditions/basics.rst:408 +msgid "" +"In :doc:`core workflows `, these operators have " +"different semantics. See :ref:`core workflow condition operators ` for details. Example scenarios for the " +"operators described here can be found in :ref:`multi-select-operator-" +"examples` below." +msgstr "" + +#: ../misc/object-conditions/basics.rst:416 ../system/objects/types.rst:135 msgid "Single Tree Selection Field" msgstr "" -#: ../misc/object-conditions/basics.rst:407 +#: ../misc/object-conditions/basics.rst:418 msgid "" "Checks if a selected field value match the attribute value. Selecting more " "than one value in the condition will act like an \"OR\" clause." msgstr "" -#: ../misc/object-conditions/basics.rst:417 ../system/objects/types.rst:148 +#: ../misc/object-conditions/basics.rst:428 ../system/objects/types.rst:148 msgid "Multiple Tree Selection Field" msgstr "" -#: ../misc/object-conditions/basics.rst:419 +#: ../misc/object-conditions/basics.rst:430 msgid "Checks if selected field value(s) match the attribute value(s)." msgstr "" @@ -16576,64 +16669,64 @@ msgstr "" msgid "**contains one not**" msgstr "" -#: ../misc/object-conditions/basics.rst:433 +#: ../misc/object-conditions/basics.rst:447 msgid "Additional Information and Remarks" msgstr "" -#: ../misc/object-conditions/basics.rst:442 +#: ../misc/object-conditions/basics.rst:456 msgid "Ticket context conditions do not support:" msgstr "" -#: ../misc/object-conditions/basics.rst:439 +#: ../misc/object-conditions/basics.rst:453 msgid "regular expressions" msgstr "" -#: ../misc/object-conditions/basics.rst:440 +#: ../misc/object-conditions/basics.rst:454 msgid "case sensitive string conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:441 +#: ../misc/object-conditions/basics.rst:455 msgid "" "Basic conditions do not support the same attribute to be selected more than " "once" msgstr "" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "**has changed** conditions:" msgstr "" -#: ../misc/object-conditions/basics.rst:445 +#: ../misc/object-conditions/basics.rst:459 msgid "Are only available for ticket attributes and don't affect:" msgstr "" -#: ../misc/object-conditions/basics.rst:447 +#: ../misc/object-conditions/basics.rst:461 msgid "Ticket articles attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:448 +#: ../misc/object-conditions/basics.rst:462 msgid "Organization attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:449 +#: ../misc/object-conditions/basics.rst:463 msgid "User attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "Group attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:463 +#: ../misc/object-conditions/basics.rst:477 msgid "Differences in input fields:" msgstr "" -#: ../misc/object-conditions/basics.rst:453 +#: ../misc/object-conditions/basics.rst:467 msgid "" "Please note that the input field for tokens doesn't support the comma as " "separator (as in the input field for tags). If you use the comma in the " "token input field, the comma is included in you token." msgstr "" -#: ../misc/object-conditions/basics.rst:457 +#: ../misc/object-conditions/basics.rst:471 msgid "**Example**:" msgstr "" @@ -16641,32 +16734,257 @@ msgstr "" msgid "Example of comma usage in token input field" msgstr "" -#: ../misc/object-conditions/basics.rst:462 +#: ../misc/object-conditions/basics.rst:476 msgid "" "``A`` added with enter/tab, ``B`` and ``C`` separated with comma (resulting " "in one token)." msgstr "" -#: ../misc/object-conditions/basics.rst:468 +#: ../misc/object-conditions/basics.rst:482 +msgid "Multi-Select Operator Examples" +msgstr "" + +#: ../misc/object-conditions/basics.rst:484 +msgid "" +"The ``contains`` family of operators for multi-select fields compares two " +"sets of values: the values currently in the field and the values specified " +"in the condition. The diagrams below show the condition values as an orange " +"circle and the field values as a blue circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:489 +msgid "" +"Be aware that these operators behave **differently** in :doc:`core workflows " +"`. See :ref:`core workflow condition operators ` for a side by side comparison." +msgstr "" + +#: ../misc/object-conditions/basics.rst:495 +#: ../system/core-workflows/condition-operators.rst:165 +msgid "Example 1: Condition A, B - Field A, B, C" +msgstr "" + +#: ../misc/object-conditions/basics.rst:497 +#: ../system/core-workflows/condition-operators.rst:167 +msgid "" +"In this scenario, the field holds the values A, B and C, while the condition " +"asks for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "" +"Venn diagram of condition values A, B and field values A, B, C. A and B are " +"in both circles, C only in the field circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "Condition values ``A, B`` overlap with field values ``A, B, C``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:510 +#: ../misc/object-conditions/basics.rst:544 +#: ../misc/object-conditions/basics.rst:581 +#: ../misc/object-conditions/basics.rst:613 +#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:141 +#: ../system/core-workflows/condition-operators.rst:180 +#: ../system/core-workflows/condition-operators.rst:220 +#: ../system/core-workflows/condition-operators.rst:263 +#: ../system/core-workflows/condition-operators.rst:303 +msgid "Operator" +msgstr "" + +#: ../misc/object-conditions/basics.rst:511 +#: ../misc/object-conditions/basics.rst:545 +#: ../misc/object-conditions/basics.rst:582 +#: ../misc/object-conditions/basics.rst:614 +#: ../system/core-workflows/condition-operators.rst:181 +#: ../system/core-workflows/condition-operators.rst:221 +#: ../system/core-workflows/condition-operators.rst:264 +#: ../system/core-workflows/condition-operators.rst:304 +msgid "Matches?" +msgstr "" + +#: ../misc/object-conditions/basics.rst:512 +#: ../misc/object-conditions/basics.rst:546 +#: ../misc/object-conditions/basics.rst:583 +#: ../misc/object-conditions/basics.rst:615 +#: ../system/core-workflows/condition-operators.rst:182 +#: ../system/core-workflows/condition-operators.rst:222 +#: ../system/core-workflows/condition-operators.rst:265 +#: ../system/core-workflows/condition-operators.rst:305 +msgid "Why" +msgstr "" + +#: ../misc/object-conditions/basics.rst:515 +#: ../system/core-workflows/condition-operators.rst:185 +msgid "``A`` and ``B`` are in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:518 +#: ../system/core-workflows/condition-operators.rst:191 +msgid "Both ``A`` and ``B`` are present (AND logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:521 +msgid "All condition values are present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:524 +msgid "The field has values in common with the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:527 +#: ../system/core-workflows/condition-operators.rst:203 +msgid "Example 2: Condition A, B, C - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:529 +#: ../system/core-workflows/condition-operators.rst:205 +msgid "" +"In this scenario, the field holds the values C and D. The condition value C " +"is present in the field, while A and B are not." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Venn diagram of condition values A, B, C and field values C, D.\n" +"Only C is in both circles." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Condition values ``A, B, C`` partially overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:549 +#: ../system/core-workflows/condition-operators.rst:225 +msgid "``C`` is in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:552 +#: ../system/core-workflows/condition-operators.rst:231 +msgid "Only ``C`` of the three condition values is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:555 +#: ../misc/object-conditions/basics.rst:592 +msgid "``A`` and ``B`` are missing from the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:558 +msgid "``C`` is in both the field and the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:560 +msgid "" +"This partial overlap is where the two \"not\" operators part ways: " +"``contains all not`` matches because a single condition value is missing, " +"while ``contains one not`` does not match because the one common value is " +"enough to block it." +msgstr "" + +#: ../misc/object-conditions/basics.rst:566 +#: ../system/core-workflows/condition-operators.rst:248 +msgid "Example 3: Condition A, B - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:568 +#: ../system/core-workflows/condition-operators.rst:250 +msgid "" +"In this scenario, the field holds the values C and D, which have nothing in " +"common with the condition values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "" +"Venn diagram of condition values A, B and field values C, D. The two circles " +"do not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "Condition values ``A, B`` have no overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:586 +#: ../system/core-workflows/condition-operators.rst:268 +msgid "No value is in both sets." +msgstr "" + +#: ../misc/object-conditions/basics.rst:589 +#: ../system/core-workflows/condition-operators.rst:274 +msgid "Neither ``A`` nor ``B`` is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:595 +#: ../misc/object-conditions/basics.rst:627 +#: ../system/core-workflows/condition-operators.rst:159 +#: ../system/core-workflows/condition-operators.rst:161 +#: ../system/core-workflows/condition-operators.rst:283 +msgid "The field has no value in common with the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:598 +#: ../system/core-workflows/condition-operators.rst:288 +msgid "Example 4: Condition A, B - Field is empty" +msgstr "" + +#: ../misc/object-conditions/basics.rst:600 +#: ../system/core-workflows/condition-operators.rst:290 +msgid "" +"In this scenario, the field holds no values at all, while the condition asks " +"for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "" +"Venn diagram of condition values A, B and an empty field. The two circles do " +"not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "The field holds no values at all." +msgstr "" + +#: ../misc/object-conditions/basics.rst:618 +#: ../misc/object-conditions/basics.rst:621 +#: ../system/core-workflows/condition-operators.rst:308 +#: ../system/core-workflows/condition-operators.rst:314 +msgid "No value is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:624 +msgid "No condition value is present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:632 msgid "Regex" msgstr "" -#: ../misc/object-conditions/basics.rst:473 +#: ../misc/object-conditions/basics.rst:637 msgid "Regex support" msgstr "" -#: ../misc/object-conditions/basics.rst:471 +#: ../misc/object-conditions/basics.rst:635 msgid "" "**matches regex** and **does not match regex** are supported only in " "Triggers, Time Accounting selector, Postmaster Filters, Automatic ticket " "assignment and Core Workflow." msgstr "" -#: ../misc/object-conditions/basics.rst:478 +#: ../misc/object-conditions/basics.rst:642 msgid "\"Old\" style ``regex:...`` conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:476 +#: ../misc/object-conditions/basics.rst:640 msgid "" "If you update your Zammad from 6.0 or prior and you have already conditions " "with **contains** or **contains not** including a regex filter (i.e. " @@ -22864,9 +23182,9 @@ msgstr "" #: ../system/core-workflows/condition-operators.rst:8 msgid "" -"Due to differences to other places in Zammad which are also using conditions " -"(e.g. triggers), you can find a dedicated description of operators for core " -"workflows below." +"Due to differences from other places in Zammad which are also using " +"conditions (e.g. triggers), you can find a dedicated description of " +"operators for core workflows below." msgstr "" #: ../system/core-workflows/condition-operators.rst:12 @@ -22876,272 +23194,421 @@ msgid "" "for system attributes (e.g. for \"tags\", \"active\")." msgstr "" -#: ../system/core-workflows/condition-operators.rst:20 -msgid "Operator" -msgstr "" - -#: ../system/core-workflows/condition-operators.rst:22 +#: ../system/core-workflows/condition-operators.rst:23 msgid "after (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:23 +#: ../system/core-workflows/condition-operators.rst:24 msgid "Matches if a date/time is after a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:24 +#: ../system/core-workflows/condition-operators.rst:25 msgid "after (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:25 +#: ../system/core-workflows/condition-operators.rst:26 msgid "Matches if a time span after a specified event has passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:26 +#: ../system/core-workflows/condition-operators.rst:27 msgid "before (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:27 +#: ../system/core-workflows/condition-operators.rst:28 msgid "Matches if a date/time is before a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:28 +#: ../system/core-workflows/condition-operators.rst:29 msgid "before (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:29 +#: ../system/core-workflows/condition-operators.rst:30 msgid "Matches if a time span after a specified event has not passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:30 +#: ../system/core-workflows/condition-operators.rst:31 +#: ../system/core-workflows/condition-operators.rst:144 +#: ../system/core-workflows/condition-operators.rst:183 +#: ../system/core-workflows/condition-operators.rst:223 +#: ../system/core-workflows/condition-operators.rst:266 +#: ../system/core-workflows/condition-operators.rst:306 msgid "contains" msgstr "" -#: ../system/core-workflows/condition-operators.rst:31 -msgid "Matches if a specified value is present." +#: ../system/core-workflows/condition-operators.rst:32 +msgid "" +"Matches if **at least one** of the specified values is present in the field " +"(OR logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:33 -msgid "Matches if all of the specified values are present." +#: ../system/core-workflows/condition-operators.rst:34 +#: ../system/core-workflows/condition-operators.rst:153 +#: ../system/core-workflows/condition-operators.rst:192 +#: ../system/core-workflows/condition-operators.rst:232 +#: ../system/core-workflows/condition-operators.rst:275 +#: ../system/core-workflows/condition-operators.rst:315 +msgid "contains not" msgstr "" #: ../system/core-workflows/condition-operators.rst:35 -msgid "Matches if none of the specified values are present." +msgid "" +"Matches if the field contains at least one value that is **not** among the " +"specified values. Also matches if the field is empty." msgstr "" -#: ../system/core-workflows/condition-operators.rst:36 -msgid "contains not" +#: ../system/core-workflows/condition-operators.rst:39 +msgid "" +"Matches if **every** specified value is present in the field (AND logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:37 -msgid "Matches if a specified value is not present." +#: ../system/core-workflows/condition-operators.rst:42 +msgid "" +"Matches if **none** of the specified values are present in the field. The " +"field and the condition have no value in common: this means \"contains none " +"of\", not \"does not contain all of\"." msgstr "" -#: ../system/core-workflows/condition-operators.rst:39 -msgid "Matches if one specified value is present." +#: ../system/core-workflows/condition-operators.rst:46 +msgid "" +"In triggers and overviews, this operator means \"not all of the specified " +"values are present\" instead. See the examples section below." msgstr "" -#: ../system/core-workflows/condition-operators.rst:41 -msgid "Matches if one specified value is not present." +#: ../system/core-workflows/condition-operators.rst:50 +msgid "" +"Same as ``contains``. Matches if **at least one** of the specified values is " +"present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:42 +#: ../system/core-workflows/condition-operators.rst:53 +msgid "" +"Same as ``contains not``. Matches if the field contains at least one value " +"that is **not** among the specified values." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:56 msgid "does not match regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:43 +#: ../system/core-workflows/condition-operators.rst:57 msgid "Matches if content doesn't fit to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:44 +#: ../system/core-workflows/condition-operators.rst:58 msgid "ends with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:45 +#: ../system/core-workflows/condition-operators.rst:59 msgid "Matches if content ends with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:46 +#: ../system/core-workflows/condition-operators.rst:60 msgid "ends with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:47 +#: ../system/core-workflows/condition-operators.rst:61 msgid "Matches if content ends with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:48 +#: ../system/core-workflows/condition-operators.rst:62 msgid "from (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:63 msgid "Matches if date/time is after a period of time after an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:51 +#: ../system/core-workflows/condition-operators.rst:65 msgid "Matches if content is equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:66 msgid "is any of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:53 +#: ../system/core-workflows/condition-operators.rst:67 msgid "Matches if content is equal to any of specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:54 +#: ../system/core-workflows/condition-operators.rst:68 msgid "is greater than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:55 +#: ../system/core-workflows/condition-operators.rst:69 msgid "Matches if the value is greater than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:56 +#: ../system/core-workflows/condition-operators.rst:70 msgid "is greater than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:57 +#: ../system/core-workflows/condition-operators.rst:71 msgid "Matches if the value is greater than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:58 +#: ../system/core-workflows/condition-operators.rst:72 msgid "is less than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:59 +#: ../system/core-workflows/condition-operators.rst:73 msgid "Matches if the value is less than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:60 +#: ../system/core-workflows/condition-operators.rst:74 msgid "is less than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:61 +#: ../system/core-workflows/condition-operators.rst:75 msgid "Matches if the value is less than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:62 +#: ../system/core-workflows/condition-operators.rst:76 msgid "is modified" msgstr "" -#: ../system/core-workflows/condition-operators.rst:63 +#: ../system/core-workflows/condition-operators.rst:77 msgid "Matches if content is modified." msgstr "" -#: ../system/core-workflows/condition-operators.rst:65 -#: ../system/core-workflows/condition-operators.rst:69 +#: ../system/core-workflows/condition-operators.rst:79 +#: ../system/core-workflows/condition-operators.rst:83 msgid "True from the moment of changing content until form submit." msgstr "" -#: ../system/core-workflows/condition-operators.rst:66 +#: ../system/core-workflows/condition-operators.rst:80 msgid "is modified to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:67 +#: ../system/core-workflows/condition-operators.rst:81 msgid "Matches if content is modified to a specific value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:70 +#: ../system/core-workflows/condition-operators.rst:84 msgid "is none of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:71 +#: ../system/core-workflows/condition-operators.rst:85 msgid "Matches if content is none of any specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:73 +#: ../system/core-workflows/condition-operators.rst:87 msgid "Matches if content is not equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:75 +#: ../system/core-workflows/condition-operators.rst:89 msgid "Matches if content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:76 +#: ../system/core-workflows/condition-operators.rst:90 msgid "just changed" msgstr "" -#: ../system/core-workflows/condition-operators.rst:77 +#: ../system/core-workflows/condition-operators.rst:91 msgid "Matches if content has changed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:79 -#: ../system/core-workflows/condition-operators.rst:83 +#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:97 msgid "" "Only true for the moment of changing content until next form field action/" "click." msgstr "" -#: ../system/core-workflows/condition-operators.rst:80 +#: ../system/core-workflows/condition-operators.rst:94 msgid "just changed to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:81 +#: ../system/core-workflows/condition-operators.rst:95 msgid "Matches if content has changed to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:84 +#: ../system/core-workflows/condition-operators.rst:98 msgid "matches regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:85 +#: ../system/core-workflows/condition-operators.rst:99 msgid "Matches if value fits to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:87 +#: ../system/core-workflows/condition-operators.rst:101 msgid "Matches if no content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:88 +#: ../system/core-workflows/condition-operators.rst:102 msgid "starts with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:89 +#: ../system/core-workflows/condition-operators.rst:103 msgid "Matches if content starts with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:90 +#: ../system/core-workflows/condition-operators.rst:104 msgid "starts with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:91 +#: ../system/core-workflows/condition-operators.rst:105 msgid "Matches if content starts with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:92 +#: ../system/core-workflows/condition-operators.rst:106 msgid "till (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:107 msgid "Matches if date/time is before a period of time before an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:94 +#: ../system/core-workflows/condition-operators.rst:108 msgid "today" msgstr "" -#: ../system/core-workflows/condition-operators.rst:95 +#: ../system/core-workflows/condition-operators.rst:109 msgid "Matches if date/time is today." msgstr "" -#: ../system/core-workflows/condition-operators.rst:96 +#: ../system/core-workflows/condition-operators.rst:110 msgid "within last (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:97 +#: ../system/core-workflows/condition-operators.rst:111 msgid "" "Matches if date/time content is within specified period of time before now." msgstr "" -#: ../system/core-workflows/condition-operators.rst:99 +#: ../system/core-workflows/condition-operators.rst:113 msgid "within next (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:100 +#: ../system/core-workflows/condition-operators.rst:114 msgid "" "Matches if date/time content is within specified period of time after now." msgstr "" +#: ../system/core-workflows/condition-operators.rst:118 +msgid "Multi-Select Operators" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:120 +msgid "" +"The ``contains`` family of operators compares two sets of values: the values " +"currently in the field and the values specified in the condition. The " +"diagrams below show the condition values as an orange circle and the field " +"values as a blue circle." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:128 +msgid "Differences to Triggers and Overviews" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:130 +msgid "" +"Be aware that these operators behave **differently** in other features that " +"use conditions (e.g. triggers and overviews). The most confusing difference: " +"in core workflows, ``contains all not`` means that no value matches at all, " +"while in triggers and overviews it means \"not all values are present\". The " +"table below compares both worlds side by side." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:142 +#, fuzzy +#| msgid "Core Workflows" +msgid "Core workflows (this page)" +msgstr "Fő munkafolyamatok" + +#: ../system/core-workflows/condition-operators.rst:143 +msgid "Triggers, overviews, etc." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:145 +#: ../system/core-workflows/condition-operators.rst:149 +msgid "At least one value is present (OR logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:146 +msgid "Not available; ``contains one`` is the equivalent." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:148 +#: ../system/core-workflows/condition-operators.rst:188 +#: ../system/core-workflows/condition-operators.rst:228 +#: ../system/core-workflows/condition-operators.rst:271 +#: ../system/core-workflows/condition-operators.rst:311 +msgid "Same as ``contains``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:151 +#: ../system/core-workflows/condition-operators.rst:152 +msgid "Every value is present (AND logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:154 +msgid "" +"At least one field value is outside the condition, or the field is empty." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:156 +msgid "Not available for multi-select fields." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:158 +#: ../system/core-workflows/condition-operators.rst:197 +#: ../system/core-workflows/condition-operators.rst:237 +#: ../system/core-workflows/condition-operators.rst:280 +#: ../system/core-workflows/condition-operators.rst:320 +msgid "Same as ``contains not``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:162 +msgid "Not all values are present (at least one is missing)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:194 +msgid "``C`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:200 +msgid "``A`` and ``B`` are present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:234 +msgid "``D`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:240 +msgid "``C`` is present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:242 +msgid "" +"This partial overlap is where the two \"all\" operators part ways: " +"``contains all`` fails because one condition value is missing, while " +"``contains all not`` fails because a single common value is enough to block " +"it." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:277 +msgid "``C`` and ``D`` are not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:285 +msgid "This is the only example where ``contains all not`` matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:317 +msgid "An empty field matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:323 +msgid "An empty field has no value in common with the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:325 +msgid "" +"Note that ``contains not`` and ``contains one not`` match an empty field, " +"while ``contains`` and ``contains all`` do not. If you want to exclude " +"specific values, be aware that empty fields pass the condition." +msgstr "" + #: ../system/core-workflows/how-do-they-work.rst:2 msgid "How do they work?" msgstr "" diff --git a/locale/it/LC_MESSAGES/admin-docs.po b/locale/it/LC_MESSAGES/admin-docs.po index e33033757..6bc6f2a01 100644 --- a/locale/it/LC_MESSAGES/admin-docs.po +++ b/locale/it/LC_MESSAGES/admin-docs.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: Zammad\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-24 17:19+0200\n" -"PO-Revision-Date: 2026-08-13 07:57+0000\n" +"POT-Creation-Date: 2026-08-28 15:08+0200\n" +"PO-Revision-Date: 2026-08-31 09:47+0000\n" "Last-Translator: albanobattistella \n" "Language-Team: Italian \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 2026.7.1\n" +"X-Generator: Weblate 2026.8.1\n" #: ../ai/ai-agents.rst:2 msgid "AI Agents" @@ -904,7 +904,7 @@ msgstr "Tipo" msgid "Pick the AI provider. Available options:" msgstr "" -#: ../ai/provider.rst:52 ../ai/provider.rst:267 +#: ../ai/provider.rst:52 ../ai/provider.rst:268 msgid "Zammad AI" msgstr "Zammad AI" @@ -912,7 +912,7 @@ msgstr "Zammad AI" msgid "OpenAI" msgstr "OpenAI" -#: ../ai/provider.rst:54 ../ai/provider.rst:298 +#: ../ai/provider.rst:54 ../ai/provider.rst:299 msgid "Ollama" msgstr "Ollama" @@ -1021,7 +1021,7 @@ msgid "" "feature via :ref:`per-feature-provider-config`." msgstr "" -#: ../ai/provider.rst:120 +#: ../ai/provider.rst:121 msgid "Embedding Model" msgstr "" @@ -1076,16 +1076,17 @@ msgid "" "Changing the embedding model or the embedding dimensions triggers a full " "rebuild of the knowledge base index. This re-embeds every knowledge base " "article, which takes time and costs AI calls proportional to the size of " -"your knowledge base. Zammad shows a confirmation dialog before the change is " -"saved. Switching the semantic search capability to a provider that uses the " -"same embedding model and dimensions does not trigger a rebuild." +"your knowledge base. The rebuild runs in the background and Zammad notifies " +"you with a toast message when it starts. Switching the semantic search " +"capability to a provider that uses the same embedding model and dimensions " +"does not trigger a rebuild." msgstr "" -#: ../ai/provider.rst:127 +#: ../ai/provider.rst:128 msgid "OCR Model" msgstr "Modello OCR" -#: ../ai/provider.rst:123 +#: ../ai/provider.rst:124 msgid "" "The model used to extract text from images. The dropdown lists the models " "the provider offers. The default option falls back to the **Model** field. " @@ -1094,11 +1095,11 @@ msgid "" "for the ones that do." msgstr "" -#: ../ai/provider.rst:131 ../manage/knowledge-base.rst:139 +#: ../ai/provider.rst:132 ../manage/knowledge-base.rst:139 msgid "URL" msgstr "URL" -#: ../ai/provider.rst:130 +#: ../ai/provider.rst:131 #, fuzzy #| msgid "" #| "Provide the URL or IP address of your provider. This is required for " @@ -1110,11 +1111,11 @@ msgstr "" "Fornisci l'URL o l'indirizzo IP del tuo provider. Questo è richiesto per " "Ollama e provider compatibili OpenAI." -#: ../ai/provider.rst:134 +#: ../ai/provider.rst:135 msgid "URL (Completions)" msgstr "URL (Completamenti)" -#: ../ai/provider.rst:134 +#: ../ai/provider.rst:135 #, fuzzy #| msgid "" #| "Only for Azure AI as provider. Add the endpoint where your text " @@ -1125,17 +1126,17 @@ msgstr "" "Solo per Azure AI come provider. Aggiungi l'endpoint dove è disponibile il " "tuo modello di generazione di testo." -#: ../ai/provider.rst:138 +#: ../ai/provider.rst:139 msgid "URL (OCR)" msgstr "" -#: ../ai/provider.rst:137 +#: ../ai/provider.rst:138 msgid "" "Azure AI only. The endpoint where the OCR model is available. Leave empty to " "fall back to URL (Completions)." msgstr "" -#: ../ai/provider.rst:140 +#: ../ai/provider.rst:141 msgid "" "After filling in the fields, click ``Submit``. Zammad tests the " "configuration before saving. If the test succeeds, the row's status dot " @@ -1143,58 +1144,58 @@ msgid "" "below for the colors." msgstr "" -#: ../ai/provider.rst:146 +#: ../ai/provider.rst:147 #, fuzzy #| msgid "State" msgid "Status" msgstr "Stato" -#: ../ai/provider.rst:148 +#: ../ai/provider.rst:149 msgid "" "The colored dot at the start of each row shows whether the provider has been " "used successfully or whether it has issues:" msgstr "" -#: ../ai/provider.rst:153 +#: ../ai/provider.rst:154 #, fuzzy #| msgid "Screen" msgid "Green" msgstr "Schermata" -#: ../ai/provider.rst:152 +#: ../ai/provider.rst:153 msgid "" "The provider has been used and the last request succeeded. The tooltip shows " "the timestamp of the last status update." msgstr "" -#: ../ai/provider.rst:157 +#: ../ai/provider.rst:158 msgid "Orange" msgstr "" -#: ../ai/provider.rst:156 +#: ../ai/provider.rst:157 msgid "" "The provider is configured but has not been used yet. It turns green after " "the first successful request." msgstr "" -#: ../ai/provider.rst:162 +#: ../ai/provider.rst:163 msgid "Red" msgstr "" -#: ../ai/provider.rst:160 +#: ../ai/provider.rst:161 msgid "" "The last request to this provider failed. Hover the dot for the error " "message from the provider. The tooltip always shows the most recent error, " "so the timestamp belongs to the last failed request." msgstr "" -#: ../ai/provider.rst:167 +#: ../ai/provider.rst:168 #, fuzzy #| msgid "Default value" msgid "Default Provider" msgstr "Valore predefinito" -#: ../ai/provider.rst:169 +#: ../ai/provider.rst:170 msgid "" "The **Default** provider serves every AI feature that has no specific " "provider assigned. You set it from the ︙ menu in the **Action** column. A " @@ -1208,7 +1209,7 @@ msgid "" "for all three purposes" msgstr "" -#: ../ai/provider.rst:178 +#: ../ai/provider.rst:179 msgid "" "When you mark a provider as the default, Zammad clears that flag from " "whichever provider held it before, so the new default takes over " @@ -1216,30 +1217,30 @@ msgid "" "provider that holds the flag, Zammad promotes the oldest remaining provider." msgstr "" -#: ../ai/provider.rst:186 +#: ../ai/provider.rst:187 #, fuzzy #| msgid "Capability config" msgid "Capabilities" msgstr "Configurazione capacità" -#: ../ai/provider.rst:188 +#: ../ai/provider.rst:189 msgid "" "Semantic search and image text recognition (OCR) are capabilities. You " "assign them from the ︙ menu in the **Action** column; the badges mark which " "provider currently covers each capability." msgstr "" -#: ../ai/provider.rst:200 +#: ../ai/provider.rst:201 msgid "Semantic search" msgstr "" -#: ../ai/provider.rst:193 +#: ../ai/provider.rst:194 msgid "" "The provider used to turn text into numerical form (vector embeddings) so " "the knowledge base can find answers by meaning, not just keywords." msgstr "" -#: ../ai/provider.rst:196 +#: ../ai/provider.rst:197 msgid "" "If no provider covers semantic search and a feature needs it, Zammad shows a " "warning on the corresponding feature page. Assign semantic search to a " @@ -1248,23 +1249,23 @@ msgid "" "rebuild, see **Embedding Model** above." msgstr "" -#: ../ai/provider.rst:206 +#: ../ai/provider.rst:207 #, fuzzy #| msgid "Save the configuration" msgid "Image text recognition" msgstr "Salva la configurazione" -#: ../ai/provider.rst:203 +#: ../ai/provider.rst:204 msgid "The provider used to extract text from images (OCR)." msgstr "" -#: ../ai/provider.rst:205 +#: ../ai/provider.rst:206 msgid "" "This capability is optional. To save on AI-related costs, you can remove it " "from all providers entirely; features then simply skip the OCR step." msgstr "" -#: ../ai/provider.rst:208 +#: ../ai/provider.rst:209 msgid "" "When you assign a capability to a provider, Zammad clears that assignment " "from whichever provider held it before, so the new assignment takes over " @@ -1273,68 +1274,68 @@ msgid "" "stays unassigned." msgstr "" -#: ../ai/provider.rst:215 ../manage/macros.rst:56 ../manage/templates.rst:28 +#: ../ai/provider.rst:216 ../manage/macros.rst:56 ../manage/templates.rst:28 msgid "Actions" msgstr "Azioni" -#: ../ai/provider.rst:217 +#: ../ai/provider.rst:218 #, fuzzy #| msgid "The integration has the following limitations:" msgid "The ︙ menu in the **Action** column offers the following actions:" msgstr "Questa integrazione è soggetta alle seguenti limitazioni:" -#: ../ai/provider.rst:220 +#: ../ai/provider.rst:221 #, fuzzy #| msgid "Set as Default" msgid "Set as default" msgstr "Imposta come predefinito" -#: ../ai/provider.rst:220 +#: ../ai/provider.rst:221 msgid "Marks the provider as the default provider for AI features." msgstr "" -#: ../ai/provider.rst:224 +#: ../ai/provider.rst:225 msgid "Use for semantic search / Do not use for semantic search" msgstr "" -#: ../ai/provider.rst:223 +#: ../ai/provider.rst:224 msgid "" "Assigns the provider to the semantic search capability, or clears that " "assignment. Only available for providers that support it." msgstr "" -#: ../ai/provider.rst:228 +#: ../ai/provider.rst:229 msgid "Use for image text recognition / Do not use for image text recognition" msgstr "" -#: ../ai/provider.rst:227 +#: ../ai/provider.rst:228 msgid "" "Assigns the provider to the image text recognition capability, or clears " "that assignment." msgstr "" -#: ../ai/provider.rst:231 ../channels/email/accounts/managing-accounts.rst:50 +#: ../ai/provider.rst:232 ../channels/email/accounts/managing-accounts.rst:50 #: ../channels/email/accounts/managing-accounts.rst:51 #: ../manage/calendars.rst:30 ../manage/knowledge-base.rst:147 #: ../manage/knowledge-base.rst:181 msgid "Delete" msgstr "Elimina" -#: ../ai/provider.rst:231 +#: ../ai/provider.rst:232 msgid "Removes the provider. Not available for the Zammad AI provider on SaaS." msgstr "" -#: ../ai/provider.rst:236 +#: ../ai/provider.rst:237 msgid "Configuring Provider per Feature" msgstr "" -#: ../ai/provider.rst:238 +#: ../ai/provider.rst:239 msgid "" "By default, all AI features use the provider marked as the default. For " "finer control, you can pick a specific provider for individual features." msgstr "" -#: ../ai/provider.rst:241 +#: ../ai/provider.rst:242 msgid "" "Every AI feature settings page shows a ``Provider`` button in the page " "header. It opens a modal with a dropdown of all configured providers. Pick a " @@ -1352,7 +1353,7 @@ msgstr "" "Screenshot che mostra la tabella del filtro registro chiamate con dati di " "esempio precompilati" -#: ../ai/provider.rst:250 +#: ../ai/provider.rst:251 msgid "" "The choice only affects text generation. Semantic search always goes to the " "provider that covers the semantic search capability, and image text " @@ -1362,13 +1363,13 @@ msgid "" "providers you set up on this page." msgstr "" -#: ../ai/provider.rst:258 +#: ../ai/provider.rst:259 #, fuzzy #| msgid "Additional information" msgid "Additional Provider Information" msgstr "Informazioni aggiuntive" -#: ../ai/provider.rst:260 +#: ../ai/provider.rst:261 #, fuzzy #| msgid "" #| "In case you want to know more about Zammad AI or Ollama, read on here. " @@ -1383,7 +1384,7 @@ msgstr "" "qui. Altrimenti, vai a :ref:`feedback-logs` o scopri le funzionalità basate " "su AI e come utilizzarle." -#: ../ai/provider.rst:269 +#: ../ai/provider.rst:270 #, fuzzy #| msgid "" #| "Using Zammad AI as a provider is the easiest way you can get started with " @@ -1395,7 +1396,7 @@ msgstr "" "Utilizzare Zammad AI come provider è il modo più semplice per iniziare con " "le funzionalità AI di Zammad. Ha alcuni grandi vantaggi come:" -#: ../ai/provider.rst:272 +#: ../ai/provider.rst:273 #, fuzzy #| msgid "" #| "You don't have to take care of the setup of an AI system and its " @@ -1405,11 +1406,11 @@ msgstr "" "Non devi occuparti della configurazione di un sistema AI e della sua " "configurazione." -#: ../ai/provider.rst:273 +#: ../ai/provider.rst:274 msgid "Hosted in the EU and compliant with GDPR." msgstr "Ospitato nell'UE e conforme al GDPR." -#: ../ai/provider.rst:274 +#: ../ai/provider.rst:275 #, fuzzy #| msgid "" #| "No configuration in Zammad needed (for SaaS customers) or only an API key " @@ -1421,7 +1422,7 @@ msgstr "" "Nessuna configurazione in Zammad necessaria (per clienti SaaS) o richiesta " "solo una chiave API (per clienti self-hosted)." -#: ../ai/provider.rst:276 +#: ../ai/provider.rst:277 #, fuzzy #| msgid "Your requests with sensitive information aren't used for training." msgid "Requests with sensitive information aren't used for training." @@ -1429,15 +1430,15 @@ msgstr "" "Le tue richieste con informazioni sensibili non vengono utilizzate per " "l'addestramento." -#: ../ai/provider.rst:277 +#: ../ai/provider.rst:278 msgid "One place to go for support when something isn't working as expected." msgstr "" -#: ../ai/provider.rst:289 +#: ../ai/provider.rst:290 msgid "SaaS Customers" msgstr "Clienti SaaS" -#: ../ai/provider.rst:281 +#: ../ai/provider.rst:282 #, fuzzy #| msgid "" #| "Using Zammad AI requires a \"V2\" plan. Check your :doc:`subscription " @@ -1464,17 +1465,17 @@ msgstr "" "rimanenti o attiva la notifica per essere avvisato quando rimangono poche " "chiamate." -#: ../ai/provider.rst:288 +#: ../ai/provider.rst:289 msgid "" "On SaaS, the Zammad AI provider is provisioned by the platform and you " "cannot delete it or change its type." msgstr "" -#: ../ai/provider.rst:295 +#: ../ai/provider.rst:296 msgid "Self-Hosted Customers" msgstr "Clienti Self-Hosted" -#: ../ai/provider.rst:292 +#: ../ai/provider.rst:293 #, fuzzy #| msgid "" #| "Please `get in touch with our sales department `_ is an AI tool that allows you to set up " @@ -1510,7 +1511,7 @@ msgstr "" "che i tuoi dati non vengono trasferiti a terze parti. Tieni presente che " "questo ha senso solo se hai una GPU potente nel tuo sistema!" -#: ../ai/provider.rst:304 +#: ../ai/provider.rst:305 #, fuzzy #| msgid "" #| "If you don't have an Ollama running already, their `documentation " @@ -5378,7 +5379,7 @@ msgstr "" msgid "Signatures" msgstr "Firme" -#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:436 +#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:450 #: ../system/monitoring.rst:9 msgid "General" msgstr "Generale" @@ -6327,7 +6328,7 @@ msgstr "Valore predefinito" #: ../channels/form.rst:250 ../manage/public-links.rst:43 #: ../misc/object-conditions/basics.rst:63 ../misc/variables.rst:101 -#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:22 #: ../system/objects/permissions.rst:36 ../system/subscription.rst:196 msgid "Description" msgstr "Descrizione" @@ -11116,6 +11117,29 @@ msgstr "" #: ../manage/groups/settings.rst:42 ../manage/groups/settings.rst:63 #: ../misc/object-conditions/basics.rst:121 #: ../misc/object-conditions/basics.rst:136 +#: ../misc/object-conditions/basics.rst:514 +#: ../misc/object-conditions/basics.rst:517 +#: ../misc/object-conditions/basics.rst:548 +#: ../misc/object-conditions/basics.rst:554 +#: ../misc/object-conditions/basics.rst:591 +#: ../misc/object-conditions/basics.rst:594 +#: ../misc/object-conditions/basics.rst:623 +#: ../misc/object-conditions/basics.rst:626 +#: ../system/core-workflows/condition-operators.rst:184 +#: ../system/core-workflows/condition-operators.rst:187 +#: ../system/core-workflows/condition-operators.rst:190 +#: ../system/core-workflows/condition-operators.rst:193 +#: ../system/core-workflows/condition-operators.rst:196 +#: ../system/core-workflows/condition-operators.rst:224 +#: ../system/core-workflows/condition-operators.rst:227 +#: ../system/core-workflows/condition-operators.rst:233 +#: ../system/core-workflows/condition-operators.rst:236 +#: ../system/core-workflows/condition-operators.rst:276 +#: ../system/core-workflows/condition-operators.rst:279 +#: ../system/core-workflows/condition-operators.rst:282 +#: ../system/core-workflows/condition-operators.rst:316 +#: ../system/core-workflows/condition-operators.rst:319 +#: ../system/core-workflows/condition-operators.rst:322 msgid "yes" msgstr "sì" @@ -11183,6 +11207,23 @@ msgstr "" #: ../manage/groups/settings.rst:66 ../misc/object-conditions/basics.rst:122 #: ../misc/object-conditions/basics.rst:137 +#: ../misc/object-conditions/basics.rst:520 +#: ../misc/object-conditions/basics.rst:523 +#: ../misc/object-conditions/basics.rst:551 +#: ../misc/object-conditions/basics.rst:557 +#: ../misc/object-conditions/basics.rst:585 +#: ../misc/object-conditions/basics.rst:588 +#: ../misc/object-conditions/basics.rst:617 +#: ../misc/object-conditions/basics.rst:620 +#: ../system/core-workflows/condition-operators.rst:199 +#: ../system/core-workflows/condition-operators.rst:230 +#: ../system/core-workflows/condition-operators.rst:239 +#: ../system/core-workflows/condition-operators.rst:267 +#: ../system/core-workflows/condition-operators.rst:270 +#: ../system/core-workflows/condition-operators.rst:273 +#: ../system/core-workflows/condition-operators.rst:307 +#: ../system/core-workflows/condition-operators.rst:310 +#: ../system/core-workflows/condition-operators.rst:313 msgid "no" msgstr "no" @@ -11701,7 +11742,7 @@ msgstr "" "di piè di pagina pubblico." #: ../manage/knowledge-base.rst:136 ../manage/public-links.rst:35 -#: ../manage/time-accounting.rst:147 ../manage/time-accounting.rst:161 +#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 #: ../system/maintenance.rst:31 msgid "Title" msgstr "Titolo" @@ -15756,15 +15797,28 @@ msgstr "" "**Selettore**." #: ../manage/time-accounting.rst:22 +#, fuzzy +#| msgid "" +#| "If a ticket is relevant, Zammad will request the agent to provide the " +#| "time which was needed to process the current ticket step. In order for " +#| "Zammad to bring up the time accounting dialog to an agent, the agent has " +#| "to update the ticket together with an article of any type. The adding of " +#| "an article is mandatory to invoke the time accounting dialog. However, " +#| "the time accounting dialog is not mandatory and can be canceled by your " +#| "agents. You cannot enforce the time accounting. When a ticket is no " +#| "longer considered for the time accounting, the already accounted time " +#| "will be preserved." msgid "" "If a ticket is relevant, Zammad will request the agent to provide the time " -"which was needed to process the current ticket step. In order for Zammad to " -"bring up the time accounting dialog to an agent, the agent has to update the " -"ticket together with an article of any type. The adding of an article is " -"mandatory to invoke the time accounting dialog. However, the time accounting " -"dialog is not mandatory and can be canceled by your agents. You cannot " -"enforce the time accounting. When a ticket is no longer considered for the " -"time accounting, the already accounted time will be preserved." +"which was needed to process the current ticket step. This accounted time is " +"displayed in the ticket sidebar at ticket level and in the article meta " +"information for an individual article. In order for Zammad to bring up the " +"time accounting dialog to an agent, the agent has to update the ticket " +"together with an article of any type. The adding of an article is mandatory " +"to invoke the time accounting dialog. However, the time accounting dialog is " +"not mandatory and can be canceled by your agents. You cannot enforce the " +"time accounting. When a ticket is no longer considered for the time " +"accounting, the already accounted time will be preserved." msgstr "" "Se un ticket è pertinente, Zammad richiederà all'agente di fornire il tempo " "impiegato per elaborare la fase corrente del ticket. Affinché Zammad " @@ -15777,7 +15831,7 @@ msgstr "" "ticket non viene più considerato per la contabilizzazione del tempo, il " "tempo già contabilizzato verrà conservato." -#: ../manage/time-accounting.rst:33 +#: ../manage/time-accounting.rst:35 msgid "" "The selector applies to the ticket state before any attribute changes have " "been saved. That means if your agent is e.g. going to close a ticket " @@ -15794,7 +15848,7 @@ msgstr "" msgid "Time Accounting Ticket Selector" msgstr "Selettore di ticket per la contabilizzazione del tempo" -#: ../manage/time-accounting.rst:42 +#: ../manage/time-accounting.rst:44 msgid "" "The accounted time is always a unitless number. However, it is possible to " "show a specific unit in the **Unit** section, which provides several options:" @@ -15803,45 +15857,45 @@ msgstr "" "mostrare un'unità specifica nella sezione **Unit**, che fornisce diverse " "opzioni:" -#: ../manage/time-accounting.rst:46 +#: ../manage/time-accounting.rst:48 msgid "no unit" msgstr "nessuna unità" -#: ../manage/time-accounting.rst:47 +#: ../manage/time-accounting.rst:49 msgid "Default behavior, no unit is shown next to the time value." msgstr "" "Comportamento predefinito, nessuna unità viene mostrata accanto al valore " "del tempo." -#: ../manage/time-accounting.rst:48 +#: ../manage/time-accounting.rst:50 msgid "hour(s)" msgstr "ora(e)" -#: ../manage/time-accounting.rst:49 +#: ../manage/time-accounting.rst:51 msgid "Shows ``hour(s)`` as the unit next to the time value." msgstr "Mostra ``ora(e)`` come unità accanto al valore del tempo." -#: ../manage/time-accounting.rst:50 +#: ../manage/time-accounting.rst:52 msgid "quarter-hour(s)" msgstr "quarto d'ora(i)" -#: ../manage/time-accounting.rst:51 +#: ../manage/time-accounting.rst:53 msgid "Shows ``quarter-hour(s)`` as the unit next to the time value." msgstr "Mostra ``quarto d'ora(i)`` come unità accanto al valore del tempo." -#: ../manage/time-accounting.rst:52 +#: ../manage/time-accounting.rst:54 msgid "minute(s)" msgstr "minuto(i)" -#: ../manage/time-accounting.rst:53 +#: ../manage/time-accounting.rst:55 msgid "Shows ``minute(s)`` as the unit next to the time value." msgstr "Mostra ``minuto(i)`` come unità accanto al valore del tempo." -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "custom unit" msgstr "unità personalizzata" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "Shows a custom unit that can be specified as free input." msgstr "" "Mostra un'unità personalizzata che può essere specificata come input libero." @@ -15850,7 +15904,7 @@ msgstr "" msgid "Time Accounting Unit" msgstr "Unità di Contabilità del Tempo" -#: ../manage/time-accounting.rst:62 +#: ../manage/time-accounting.rst:64 msgid "" "The unit is only displayed to make it easier for agents to account their " "time! No numerical transformation will be applied to the values, not even if " @@ -15867,11 +15921,11 @@ msgstr "" msgid "Time Accounting Unit when Recording" msgstr "Unità di contabilità del tempo durante la registrazione" -#: ../manage/time-accounting.rst:72 +#: ../manage/time-accounting.rst:74 msgid "Activity Types" msgstr "Tipi di attività" -#: ../manage/time-accounting.rst:74 +#: ../manage/time-accounting.rst:76 msgid "" "**Activity Types** can be used to group the different ticket time accounting " "entries together. For example, entries that are relevant to a \"Billing\" " @@ -15885,7 +15939,7 @@ msgstr "" msgid "Time Accounting Activity Types" msgstr "Tipologie di attività di contabilità del tempo" -#: ../manage/time-accounting.rst:81 +#: ../manage/time-accounting.rst:83 msgid "" "When you enable the recording of the **Activity Type**, the agents will be " "able to select a type from this list." @@ -15897,7 +15951,7 @@ msgstr "" msgid "Time Accounting Activity Type Selection for Agents" msgstr "Selezione del Tipo di Attività di Contabilità del Tempo per gli Agenti" -#: ../manage/time-accounting.rst:88 +#: ../manage/time-accounting.rst:90 msgid "" "Additionally, a column with an associated activity type will be rendered for " "an entry in the **Activity** table under the **Accounted Time** tab." @@ -15906,7 +15960,7 @@ msgstr "" "per una voce nella tabella **Attività** sotto la scheda **Tempo " "Contabilizzato**." -#: ../manage/time-accounting.rst:91 +#: ../manage/time-accounting.rst:93 msgid "" "You can manage available activity types in this screen like any other Zammad " "object. Only active types will be available for the selection when recording " @@ -15923,7 +15977,7 @@ msgstr "" msgid "New Time Accounting Activity Type Dialog" msgstr "Finestra di dialogo Nuovo Tipo di Attività di Contabilità del Tempo" -#: ../manage/time-accounting.rst:100 +#: ../manage/time-accounting.rst:102 msgid "" "Activity types can be set as default, and in that case they will be pre-" "selected for the agents when they are asked to account their time. It is " @@ -15936,11 +15990,11 @@ msgstr "" "attività predefinito, nel qual caso nessun tipo verrà pre-selezionato e gli " "agenti potranno fare la loro scelta." -#: ../manage/time-accounting.rst:106 +#: ../manage/time-accounting.rst:108 msgid "Accounted Time" msgstr "Tempo Contabilizzato" -#: ../manage/time-accounting.rst:108 +#: ../manage/time-accounting.rst:110 msgid "" "Under the **Accounted Time** tab, Zammad provides a section for reviewing " "all accounted times for your tickets. Accounted times are displayed per " @@ -15950,7 +16004,7 @@ msgstr "" "rivedere tutti i tempi contabilizzati per i tuoi ticket. I tempi " "contabilizzati sono visualizzati per anno e mese." -#: ../manage/time-accounting.rst:112 +#: ../manage/time-accounting.rst:114 msgid "" "If you have tickets that are overlapping several months, you can " "differentiate by *time units* and *time units total* (e.g. to allow partial " @@ -15960,11 +16014,11 @@ msgstr "" "*unità di tempo* e *unità di tempo totali* (ad esempio, per consentire la " "fatturazione parziale) nel file scaricato." -#: ../manage/time-accounting.rst:123 +#: ../manage/time-accounting.rst:125 msgid "Select the right month" msgstr "Seleziona il mese corretto" -#: ../manage/time-accounting.rst:117 +#: ../manage/time-accounting.rst:119 msgid "" "Usually you want to bill accounted time of other months than the current " "one. Just select the relevant year and month to receive the accounted times " @@ -15980,11 +16034,11 @@ msgstr "" "Screenshot che mostra una selezione per anno e mese sulla contabilità del " "tempo" -#: ../manage/time-accounting.rst:186 +#: ../manage/time-accounting.rst:188 msgid "Tickets and their accounted time" msgstr "Ticket e il loro tempo contabilizzato" -#: ../manage/time-accounting.rst:126 +#: ../manage/time-accounting.rst:128 msgid "" "Zammad allows you to receive the accounted information just like you need " "them. For this you currently have four options to review and also download " @@ -15994,7 +16048,7 @@ msgstr "" "come le desideri. Per questo hai attualmente quattro opzioni per rivedere e " "anche scaricare i dati pertinenti come CSV." -#: ../manage/time-accounting.rst:130 +#: ../manage/time-accounting.rst:132 msgid "" "To download the CSV data, use the download button right next to each heading " "(e.g. \"Ticket\")." @@ -16002,11 +16056,11 @@ msgstr "" "Per scaricare i dati CSV, usa il pulsante di download accanto a ciascuna " "intestazione (ad esempio, \"Ticket\")." -#: ../manage/time-accounting.rst:133 +#: ../manage/time-accounting.rst:135 msgid "This can also be automated with API calls." msgstr "Questo può anche essere automatizzato con chiamate API." -#: ../manage/time-accounting.rst:136 +#: ../manage/time-accounting.rst:138 msgid "" "Only the first 20 entries are shown for each table. To see all of them, " "simply download the records in CSV." @@ -16014,11 +16068,11 @@ msgstr "" "Solo le prime 20 voci sono mostrate per ogni tabella. Per vederle tutte, " "scarica semplicemente i record in CSV." -#: ../manage/time-accounting.rst:153 +#: ../manage/time-accounting.rst:155 msgid "Activity" msgstr "Attività" -#: ../manage/time-accounting.rst:140 +#: ../manage/time-accounting.rst:142 msgid "" "This filter works similar to the ticket filter, with one exception: You'll " "find each *individual* time accounting step of your agents. This is what " @@ -16029,47 +16083,47 @@ msgstr "" "agenti. Questo è ciò che vedresti anche nella cronologia del ticket prima di " "Zammad 5.2." -#: ../manage/time-accounting.rst:144 ../manage/time-accounting.rst:158 -#: ../manage/time-accounting.rst:175 +#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:177 msgid "In this list you'll see the following ticket information:" msgstr "In questo elenco vedrai le seguenti informazioni sul ticket:" -#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 #: ../settings/ticket.rst:103 msgid "Number" msgstr "Numero" -#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 -#: ../manage/time-accounting.rst:179 ../manage/time-accounting.rst:177 +#: ../manage/time-accounting.rst:150 ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:181 ../manage/time-accounting.rst:179 #: ../misc/object-conditions/basics.rst:37 #: ../misc/object-conditions/basics.rst:89 #: ../misc/object-conditions/basics.rst:171 msgid "Customer" msgstr "Cliente" -#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 -#: ../manage/time-accounting.rst:178 +#: ../manage/time-accounting.rst:151 ../manage/time-accounting.rst:165 +#: ../manage/time-accounting.rst:180 msgid "Organization of customer (if applicable)" msgstr "Organizzazione del cliente (se applicabile)" -#: ../manage/time-accounting.rst:150 +#: ../manage/time-accounting.rst:152 msgid "Agent that accounted the time" msgstr "Agente che ha registrato il tempo" -#: ../manage/time-accounting.rst:151 +#: ../manage/time-accounting.rst:153 msgid "Time units accounted in the current activity" msgstr "Unità di tempo contabilizzate nell'attività corrente" -#: ../manage/time-accounting.rst:152 +#: ../manage/time-accounting.rst:154 msgid "Activity type (if enabled)" msgstr "Tipo di attività (se abilitato)" -#: ../manage/time-accounting.rst:153 ../manage/time-accounting.rst:167 +#: ../manage/time-accounting.rst:155 ../manage/time-accounting.rst:169 #: ../system/audit-logs.rst:76 msgid "Created at" msgstr "Creato il" -#: ../manage/time-accounting.rst:168 ../misc/object-conditions/basics.rst:26 +#: ../manage/time-accounting.rst:170 ../misc/object-conditions/basics.rst:26 #: ../misc/object-conditions/basics.rst:90 #: ../misc/object-conditions/basics.rst:126 #: ../misc/object-conditions/basics.rst:139 @@ -16085,28 +16139,28 @@ msgstr "Creato il" msgid "Ticket" msgstr "Ticket" -#: ../manage/time-accounting.rst:156 +#: ../manage/time-accounting.rst:158 msgid "This filter contains all relevant tickets from the selected month." msgstr "Questo filtro contiene tutti i ticket pertinenti del mese selezionato." -#: ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:166 msgid "Agent currently assigned (ticket owner)" msgstr "Agente attualmente assegnato (proprietario del ticket)" -#: ../manage/time-accounting.rst:165 ../manage/time-accounting.rst:179 +#: ../manage/time-accounting.rst:167 ../manage/time-accounting.rst:181 msgid "Time units accounted in the current month" msgstr "Unità di tempo contabilizzate nel mese corrente" -#: ../manage/time-accounting.rst:166 +#: ../manage/time-accounting.rst:168 msgid "Time units total (time accounted during ticket life)" msgstr "" "Unità di tempo totali (tempo contabilizzato durante la vita del ticket)" -#: ../manage/time-accounting.rst:168 +#: ../manage/time-accounting.rst:170 msgid "Closed at (if applicable)" msgstr "Chiuso il (se applicabile)" -#: ../manage/time-accounting.rst:171 +#: ../manage/time-accounting.rst:173 msgid "" "This provides you a per user filter on accounted time units. Each user has a " "total of time accounted in the current month (over all applicable tickets)." @@ -16115,13 +16169,13 @@ msgstr "" "Ogni utente ha un totale di tempo contabilizzato nel mese corrente (su tutti " "i ticket applicabili)." -#: ../manage/time-accounting.rst:186 ../misc/object-conditions/basics.rst:28 +#: ../manage/time-accounting.rst:188 ../misc/object-conditions/basics.rst:28 #: ../misc/object-conditions/basics.rst:115 #: ../misc/object-conditions/basics.rst:146 ../settings/branding.rst:16 msgid "Organization" msgstr "Organizzazione" -#: ../manage/time-accounting.rst:182 +#: ../manage/time-accounting.rst:184 msgid "" "This provides a list of all organizations where customers have caused " "accounted time in that month." @@ -16129,7 +16183,7 @@ msgstr "" "Questo fornisce un elenco di tutte le organizzazioni in cui i clienti hanno " "causato tempo contabilizzato in quel mese." -#: ../manage/time-accounting.rst:185 +#: ../manage/time-accounting.rst:187 msgid "" "You can also see entries for customers that are part of a primary " "organization. Users without an organization can be found in the Customer " @@ -20134,7 +20188,7 @@ msgstr "Disponibile solo nei trigger." #: ../misc/object-conditions/basics.rst:185 #: ../misc/object-conditions/basics.rst:209 #: ../misc/object-conditions/basics.rst:219 -#: ../system/core-workflows/condition-operators.rst:50 +#: ../system/core-workflows/condition-operators.rst:64 msgid "is" msgstr "è" @@ -20151,7 +20205,7 @@ msgstr "è" #: ../misc/object-conditions/basics.rst:186 #: ../misc/object-conditions/basics.rst:210 #: ../misc/object-conditions/basics.rst:220 -#: ../system/core-workflows/condition-operators.rst:72 +#: ../system/core-workflows/condition-operators.rst:86 msgid "is not" msgstr "non è" @@ -20222,7 +20276,7 @@ msgstr "utente specifico" #: ../misc/object-conditions/basics.rst:97 #: ../misc/object-conditions/basics.rst:155 #: ../misc/object-conditions/basics.rst:204 -#: ../system/core-workflows/condition-operators.rst:86 +#: ../system/core-workflows/condition-operators.rst:100 msgid "not set" msgstr "non impostato" @@ -20380,22 +20434,58 @@ msgid "Checks tags of a ticket." msgstr "Controlla i tag di un ticket." #: ../misc/object-conditions/basics.rst:193 -#: ../system/core-workflows/condition-operators.rst:32 +#: ../misc/object-conditions/basics.rst:516 +#: ../misc/object-conditions/basics.rst:550 +#: ../misc/object-conditions/basics.rst:587 +#: ../misc/object-conditions/basics.rst:619 +#: ../system/core-workflows/condition-operators.rst:38 +#: ../system/core-workflows/condition-operators.rst:150 +#: ../system/core-workflows/condition-operators.rst:189 +#: ../system/core-workflows/condition-operators.rst:229 +#: ../system/core-workflows/condition-operators.rst:272 +#: ../system/core-workflows/condition-operators.rst:312 msgid "contains all" msgstr "contiene tutti" #: ../misc/object-conditions/basics.rst:194 -#: ../system/core-workflows/condition-operators.rst:38 +#: ../misc/object-conditions/basics.rst:513 +#: ../misc/object-conditions/basics.rst:547 +#: ../misc/object-conditions/basics.rst:584 +#: ../misc/object-conditions/basics.rst:616 +#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:147 +#: ../system/core-workflows/condition-operators.rst:186 +#: ../system/core-workflows/condition-operators.rst:226 +#: ../system/core-workflows/condition-operators.rst:269 +#: ../system/core-workflows/condition-operators.rst:309 msgid "contains one" msgstr "contiene uno" #: ../misc/object-conditions/basics.rst:195 -#: ../system/core-workflows/condition-operators.rst:34 +#: ../misc/object-conditions/basics.rst:519 +#: ../misc/object-conditions/basics.rst:553 +#: ../misc/object-conditions/basics.rst:590 +#: ../misc/object-conditions/basics.rst:622 +#: ../system/core-workflows/condition-operators.rst:41 +#: ../system/core-workflows/condition-operators.rst:160 +#: ../system/core-workflows/condition-operators.rst:198 +#: ../system/core-workflows/condition-operators.rst:238 +#: ../system/core-workflows/condition-operators.rst:281 +#: ../system/core-workflows/condition-operators.rst:321 msgid "contains all not" msgstr "non contiene tutti" #: ../misc/object-conditions/basics.rst:196 -#: ../system/core-workflows/condition-operators.rst:40 +#: ../misc/object-conditions/basics.rst:522 +#: ../misc/object-conditions/basics.rst:556 +#: ../misc/object-conditions/basics.rst:593 +#: ../misc/object-conditions/basics.rst:625 +#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:157 +#: ../system/core-workflows/condition-operators.rst:195 +#: ../system/core-workflows/condition-operators.rst:235 +#: ../system/core-workflows/condition-operators.rst:278 +#: ../system/core-workflows/condition-operators.rst:318 msgid "contains one not" msgstr "non contiene uno" @@ -20416,7 +20506,7 @@ msgid "Checks if time is accounted." msgstr "Controlla se il tempo è contabilizzato." #: ../misc/object-conditions/basics.rst:203 -#: ../system/core-workflows/condition-operators.rst:74 +#: ../system/core-workflows/condition-operators.rst:88 msgid "is set" msgstr "è impostato" @@ -20477,8 +20567,8 @@ msgstr "" #: ../misc/object-conditions/basics.rst:334 #: ../misc/object-conditions/basics.rst:381 #: ../misc/object-conditions/basics.rst:392 -#: ../misc/object-conditions/basics.rst:410 #: ../misc/object-conditions/basics.rst:421 +#: ../misc/object-conditions/basics.rst:432 msgid "Available operators for matching:" msgstr "Operatori disponibili per il confronto:" @@ -20566,7 +20656,7 @@ msgstr "**non contiene**" #: ../misc/object-conditions/basics.rst:269 #: ../misc/object-conditions/basics.rst:284 #: ../misc/object-conditions/basics.rst:385 -#: ../misc/object-conditions/basics.rst:414 +#: ../misc/object-conditions/basics.rst:425 msgid "**has changed**" msgstr "**è cambiato**" @@ -20581,14 +20671,14 @@ msgstr "Controlla se un campo di tipo booleano è vero." #: ../misc/object-conditions/basics.rst:267 #: ../misc/object-conditions/basics.rst:278 #: ../misc/object-conditions/basics.rst:383 -#: ../misc/object-conditions/basics.rst:412 +#: ../misc/object-conditions/basics.rst:423 msgid "**is**" msgstr "**è**" #: ../misc/object-conditions/basics.rst:268 #: ../misc/object-conditions/basics.rst:279 #: ../misc/object-conditions/basics.rst:384 -#: ../misc/object-conditions/basics.rst:413 +#: ../misc/object-conditions/basics.rst:424 msgid "**is not**" msgstr "**non è**" @@ -20891,7 +20981,9 @@ msgid "**contains all**:" msgstr "**contiene tutti**:" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are selected." +#, fuzzy +#| msgid "Matches if all given field values are selected." +msgid "Matches if **all** given field values are selected (AND logic)." msgstr "Corrisponde se tutti i valori del campo forniti sono selezionati." #: ../misc/object-conditions/basics.rst:0 @@ -20899,7 +20991,10 @@ msgid "**contains one**:" msgstr "**contiene uno**:" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is selected." +#, fuzzy +#| msgid "Matches if one specific given field value is selected." +msgid "" +"Matches if **at least one** of the given field values is selected (OR logic)." msgstr "Corrisponde se uno specifico valore del campo fornito è selezionato." #: ../misc/object-conditions/basics.rst:0 @@ -20907,23 +21002,37 @@ msgid "**contains all not**:" msgstr "**non contiene tutti**:" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are not selected." -msgstr "Corrisponde se tutti i valori del campo forniti non sono selezionati." +msgid "" +"Matches if **not all** given field values are selected (at least one is " +"missing). This means \"not all of\", not \"none of\"." +msgstr "" #: ../misc/object-conditions/basics.rst:0 msgid "**contains one not**:" msgstr "**non contiene uno**:" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is not selected." +#, fuzzy +#| msgid "Matches if none of the specified values are present." +msgid "" +"Matches if **none** of the given field values are selected. This means " +"\"none of\", not \"not all of\"." +msgstr "Corrisponde se nessuno dei valori specificati è presente." + +#: ../misc/object-conditions/basics.rst:408 +msgid "" +"In :doc:`core workflows `, these operators have " +"different semantics. See :ref:`core workflow condition operators ` for details. Example scenarios for the " +"operators described here can be found in :ref:`multi-select-operator-" +"examples` below." msgstr "" -"Corrisponde se uno specifico valore del campo fornito non è selezionato." -#: ../misc/object-conditions/basics.rst:405 ../system/objects/types.rst:135 +#: ../misc/object-conditions/basics.rst:416 ../system/objects/types.rst:135 msgid "Single Tree Selection Field" msgstr "Campo a selezione singola ad albero" -#: ../misc/object-conditions/basics.rst:407 +#: ../misc/object-conditions/basics.rst:418 msgid "" "Checks if a selected field value match the attribute value. Selecting more " "than one value in the condition will act like an \"OR\" clause." @@ -20932,11 +21041,11 @@ msgstr "" "dell'attributo. Selezionare più di un valore nella condizione agirà come una " "clausola \"OR\"." -#: ../misc/object-conditions/basics.rst:417 ../system/objects/types.rst:148 +#: ../misc/object-conditions/basics.rst:428 ../system/objects/types.rst:148 msgid "Multiple Tree Selection Field" msgstr "Campo a selezione multipla ad albero" -#: ../misc/object-conditions/basics.rst:419 +#: ../misc/object-conditions/basics.rst:430 msgid "Checks if selected field value(s) match the attribute value(s)." msgstr "" "Controlla se il/i valore/i del campo selezionato corrisponde/ono al/ai " @@ -20958,23 +21067,23 @@ msgstr "**non contiene tutti**" msgid "**contains one not**" msgstr "**non contiene uno**" -#: ../misc/object-conditions/basics.rst:433 +#: ../misc/object-conditions/basics.rst:447 msgid "Additional Information and Remarks" msgstr "Informazioni aggiuntive e note" -#: ../misc/object-conditions/basics.rst:442 +#: ../misc/object-conditions/basics.rst:456 msgid "Ticket context conditions do not support:" msgstr "Le condizioni del contesto ticket non supportano:" -#: ../misc/object-conditions/basics.rst:439 +#: ../misc/object-conditions/basics.rst:453 msgid "regular expressions" msgstr "espressioni regolari" -#: ../misc/object-conditions/basics.rst:440 +#: ../misc/object-conditions/basics.rst:454 msgid "case sensitive string conditions" msgstr "condizioni stringa sensibili alle maiuscole/minuscole" -#: ../misc/object-conditions/basics.rst:441 +#: ../misc/object-conditions/basics.rst:455 msgid "" "Basic conditions do not support the same attribute to be selected more than " "once" @@ -20982,36 +21091,36 @@ msgstr "" "Le condizioni di base non supportano la selezione dello stesso attributo più " "di una volta" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "**has changed** conditions:" msgstr "condizioni ``è cambiato``:" -#: ../misc/object-conditions/basics.rst:445 +#: ../misc/object-conditions/basics.rst:459 msgid "Are only available for ticket attributes and don't affect:" msgstr "" "Sono disponibili solo per gli attributi del ticket e non influiscono su:" -#: ../misc/object-conditions/basics.rst:447 +#: ../misc/object-conditions/basics.rst:461 msgid "Ticket articles attributes" msgstr "Attributi degli articoli del ticket" -#: ../misc/object-conditions/basics.rst:448 +#: ../misc/object-conditions/basics.rst:462 msgid "Organization attributes" msgstr "Attributi dell'organizzazione" -#: ../misc/object-conditions/basics.rst:449 +#: ../misc/object-conditions/basics.rst:463 msgid "User attributes" msgstr "Attributi utente" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "Group attributes" msgstr "Attributi del gruppo" -#: ../misc/object-conditions/basics.rst:463 +#: ../misc/object-conditions/basics.rst:477 msgid "Differences in input fields:" msgstr "Differenze nei campi di input:" -#: ../misc/object-conditions/basics.rst:453 +#: ../misc/object-conditions/basics.rst:467 msgid "" "Please note that the input field for tokens doesn't support the comma as " "separator (as in the input field for tags). If you use the comma in the " @@ -21021,7 +21130,7 @@ msgstr "" "come separatore (come nel campo di input per i tag). Se si utilizza la " "virgola nel campo di input dei token, la virgola viene inclusa nel token." -#: ../misc/object-conditions/basics.rst:457 +#: ../misc/object-conditions/basics.rst:471 msgid "**Example**:" msgstr "**Esempio**:" @@ -21029,7 +21138,7 @@ msgstr "**Esempio**:" msgid "Example of comma usage in token input field" msgstr "Esempio di utilizzo della virgola nel campo di input token" -#: ../misc/object-conditions/basics.rst:462 +#: ../misc/object-conditions/basics.rst:476 msgid "" "``A`` added with enter/tab, ``B`` and ``C`` separated with comma (resulting " "in one token)." @@ -21037,15 +21146,265 @@ msgstr "" "``A`` aggiunto con invio/tab, ``B`` e ``C`` separati da virgola (risultando " "in un unico token)." -#: ../misc/object-conditions/basics.rst:468 +#: ../misc/object-conditions/basics.rst:482 +msgid "Multi-Select Operator Examples" +msgstr "" + +#: ../misc/object-conditions/basics.rst:484 +msgid "" +"The ``contains`` family of operators for multi-select fields compares two " +"sets of values: the values currently in the field and the values specified " +"in the condition. The diagrams below show the condition values as an orange " +"circle and the field values as a blue circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:489 +msgid "" +"Be aware that these operators behave **differently** in :doc:`core workflows " +"`. See :ref:`core workflow condition operators ` for a side by side comparison." +msgstr "" + +#: ../misc/object-conditions/basics.rst:495 +#: ../system/core-workflows/condition-operators.rst:165 +msgid "Example 1: Condition A, B - Field A, B, C" +msgstr "Esempio 1: Condizione A, B - Campo A, B, C" + +#: ../misc/object-conditions/basics.rst:497 +#: ../system/core-workflows/condition-operators.rst:167 +msgid "" +"In this scenario, the field holds the values A, B and C, while the condition " +"asks for the values A and B." +msgstr "" +"In questo scenario, il campo contiene i valori A, B e C, mentre la " +"condizione richiede i valori A e B." + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "" +"Venn diagram of condition values A, B and field values A, B, C. A and B are " +"in both circles, C only in the field circle." +msgstr "" +"Diagramma di Venn dei valori delle condizioni A, B e dei valori del campo A, " +"B, C. A e B sono presenti in entrambi i cerchi, C solo nel cerchio del campo." + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "Condition values ``A, B`` overlap with field values ``A, B, C``." +msgstr "" +"I valori delle condizioni ``A, B`` si sovrappongono ai valori dei campi ``A, " +"B, C``." + +#: ../misc/object-conditions/basics.rst:510 +#: ../misc/object-conditions/basics.rst:544 +#: ../misc/object-conditions/basics.rst:581 +#: ../misc/object-conditions/basics.rst:613 +#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:141 +#: ../system/core-workflows/condition-operators.rst:180 +#: ../system/core-workflows/condition-operators.rst:220 +#: ../system/core-workflows/condition-operators.rst:263 +#: ../system/core-workflows/condition-operators.rst:303 +msgid "Operator" +msgstr "Operatore" + +#: ../misc/object-conditions/basics.rst:511 +#: ../misc/object-conditions/basics.rst:545 +#: ../misc/object-conditions/basics.rst:582 +#: ../misc/object-conditions/basics.rst:614 +#: ../system/core-workflows/condition-operators.rst:181 +#: ../system/core-workflows/condition-operators.rst:221 +#: ../system/core-workflows/condition-operators.rst:264 +#: ../system/core-workflows/condition-operators.rst:304 +msgid "Matches?" +msgstr "Corrisponde?" + +#: ../misc/object-conditions/basics.rst:512 +#: ../misc/object-conditions/basics.rst:546 +#: ../misc/object-conditions/basics.rst:583 +#: ../misc/object-conditions/basics.rst:615 +#: ../system/core-workflows/condition-operators.rst:182 +#: ../system/core-workflows/condition-operators.rst:222 +#: ../system/core-workflows/condition-operators.rst:265 +#: ../system/core-workflows/condition-operators.rst:305 +msgid "Why" +msgstr "Perché" + +#: ../misc/object-conditions/basics.rst:515 +#: ../system/core-workflows/condition-operators.rst:185 +msgid "``A`` and ``B`` are in both sets (OR logic)." +msgstr "``A`` e ``B`` appartengono a entrambi gli insiemi (logica OR)." + +#: ../misc/object-conditions/basics.rst:518 +#: ../system/core-workflows/condition-operators.rst:191 +msgid "Both ``A`` and ``B`` are present (AND logic)." +msgstr "Sono presenti sia ``A`` che ``B`` (logica AND)." + +#: ../misc/object-conditions/basics.rst:521 +msgid "All condition values are present in the field." +msgstr "Tutti i valori delle condizioni sono presenti nel campo." + +#: ../misc/object-conditions/basics.rst:524 +msgid "The field has values in common with the condition." +msgstr "Il campo ha valori in comune con la condizione." + +#: ../misc/object-conditions/basics.rst:527 +#: ../system/core-workflows/condition-operators.rst:203 +msgid "Example 2: Condition A, B, C - Field C, D" +msgstr "Esempio 2: Condizione A, B, C - Campo C, D" + +#: ../misc/object-conditions/basics.rst:529 +#: ../system/core-workflows/condition-operators.rst:205 +msgid "" +"In this scenario, the field holds the values C and D. The condition value C " +"is present in the field, while A and B are not." +msgstr "" +"In questo scenario, il campo contiene i valori C e D. Il valore della " +"condizione C è presente nel campo, mentre A e B non lo sono." + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Venn diagram of condition values A, B, C and field values C, D.\n" +"Only C is in both circles." +msgstr "" +"Diagramma di Venn dei valori delle condizioni A, B, C e dei valori dei campi " +"C, D.\n" +"Solo C è presente in entrambi i cerchi." + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Condition values ``A, B, C`` partially overlap with field values ``C, D``." +msgstr "" +"I valori delle condizioni ``A, B, C`` si sovrappongono parzialmente ai " +"valori dei campi ``C, D``." + +#: ../misc/object-conditions/basics.rst:549 +#: ../system/core-workflows/condition-operators.rst:225 +msgid "``C`` is in both sets (OR logic)." +msgstr "``C`` è presente in entrambi gli insiemi (logica OR)." + +#: ../misc/object-conditions/basics.rst:552 +#: ../system/core-workflows/condition-operators.rst:231 +msgid "Only ``C`` of the three condition values is present." +msgstr "È presente solo il valore ``C`` dei tre valori di condizione." + +#: ../misc/object-conditions/basics.rst:555 +#: ../misc/object-conditions/basics.rst:592 +msgid "``A`` and ``B`` are missing from the field." +msgstr "``A`` e ``B`` mancano dal campo." + +#: ../misc/object-conditions/basics.rst:558 +msgid "``C`` is in both the field and the condition." +msgstr "``C`` è presente sia nel campo che nella condizione." + +#: ../misc/object-conditions/basics.rst:560 +msgid "" +"This partial overlap is where the two \"not\" operators part ways: " +"``contains all not`` matches because a single condition value is missing, " +"while ``contains one not`` does not match because the one common value is " +"enough to block it." +msgstr "" + +#: ../misc/object-conditions/basics.rst:566 +#: ../system/core-workflows/condition-operators.rst:248 +msgid "Example 3: Condition A, B - Field C, D" +msgstr "Esempio 3: Condizione A, B - Campo C, D" + +#: ../misc/object-conditions/basics.rst:568 +#: ../system/core-workflows/condition-operators.rst:250 +msgid "" +"In this scenario, the field holds the values C and D, which have nothing in " +"common with the condition values A and B." +msgstr "" +"In questo scenario, il campo contiene i valori C e D, che non hanno nulla in " +"comune con i valori della condizione A e B." + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "" +"Venn diagram of condition values A, B and field values C, D. The two circles " +"do not overlap." +msgstr "" +"Diagramma di Venn dei valori delle condizioni A, B e dei valori dei campi C, " +"D. I due cerchi non si sovrappongono." + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "Condition values ``A, B`` have no overlap with field values ``C, D``." +msgstr "" +"I valori delle condizioni ``A, B`` non si sovrappongono ai valori dei campi " +"``C, D``." + +#: ../misc/object-conditions/basics.rst:586 +#: ../system/core-workflows/condition-operators.rst:268 +msgid "No value is in both sets." +msgstr "Nessun valore è presente in entrambi gli insiemi." + +#: ../misc/object-conditions/basics.rst:589 +#: ../system/core-workflows/condition-operators.rst:274 +msgid "Neither ``A`` nor ``B`` is present." +msgstr "Né ``A`` né ``B`` sono presenti." + +#: ../misc/object-conditions/basics.rst:595 +#: ../misc/object-conditions/basics.rst:627 +#: ../system/core-workflows/condition-operators.rst:159 +#: ../system/core-workflows/condition-operators.rst:161 +#: ../system/core-workflows/condition-operators.rst:283 +msgid "The field has no value in common with the condition." +msgstr "Il campo non ha alcun valore in comune con la condizione." + +#: ../misc/object-conditions/basics.rst:598 +#: ../system/core-workflows/condition-operators.rst:288 +msgid "Example 4: Condition A, B - Field is empty" +msgstr "Esempio 4: Condizione A, B - Il campo è vuoto" + +#: ../misc/object-conditions/basics.rst:600 +#: ../system/core-workflows/condition-operators.rst:290 +msgid "" +"In this scenario, the field holds no values at all, while the condition asks " +"for the values A and B." +msgstr "" +"In questo scenario, il campo non contiene alcun valore, mentre la condizione " +"richiede i valori A e B." + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "" +"Venn diagram of condition values A, B and an empty field. The two circles do " +"not overlap." +msgstr "" +"Diagramma di Venn dei valori delle condizioni A, B e di un campo vuoto. I " +"due cerchi non si sovrappongono." + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "The field holds no values at all." +msgstr "Il campo non contiene alcun valore." + +#: ../misc/object-conditions/basics.rst:618 +#: ../misc/object-conditions/basics.rst:621 +#: ../system/core-workflows/condition-operators.rst:308 +#: ../system/core-workflows/condition-operators.rst:314 +#, fuzzy +#| msgid "Matches if one specified value is present." +msgid "No value is present." +msgstr "Corrisponde se uno dei valori specificati è presente." + +#: ../misc/object-conditions/basics.rst:624 +msgid "No condition value is present in the field." +msgstr "Nel campo non è presente alcun valore di condizione." + +#: ../misc/object-conditions/basics.rst:632 msgid "Regex" msgstr "Regex" -#: ../misc/object-conditions/basics.rst:473 +#: ../misc/object-conditions/basics.rst:637 msgid "Regex support" msgstr "Supporto Regex" -#: ../misc/object-conditions/basics.rst:471 +#: ../misc/object-conditions/basics.rst:635 msgid "" "**matches regex** and **does not match regex** are supported only in " "Triggers, Time Accounting selector, Postmaster Filters, Automatic ticket " @@ -21055,11 +21414,11 @@ msgstr "" "in Trigger, selettore Contabilità oraria, Filtri Postmaster, Assegnazione " "automatica ticket e Flusso di lavoro principale." -#: ../misc/object-conditions/basics.rst:478 +#: ../misc/object-conditions/basics.rst:642 msgid "\"Old\" style ``regex:...`` conditions" msgstr "Condizioni in stile \"vecchio\" ``regex:...``" -#: ../misc/object-conditions/basics.rst:476 +#: ../misc/object-conditions/basics.rst:640 msgid "" "If you update your Zammad from 6.0 or prior and you have already conditions " "with **contains** or **contains not** including a regex filter (i.e. " @@ -28498,10 +28857,15 @@ msgstr "" "spiegazione dettagliata di molte condizioni e operatori." #: ../system/core-workflows/condition-operators.rst:8 +#, fuzzy +#| msgid "" +#| "Due to differences to other places in Zammad which are also using " +#| "conditions (e.g. triggers), you can find a dedicated description of " +#| "operators for core workflows below." msgid "" -"Due to differences to other places in Zammad which are also using conditions " -"(e.g. triggers), you can find a dedicated description of operators for core " -"workflows below." +"Due to differences from other places in Zammad which are also using " +"conditions (e.g. triggers), you can find a dedicated description of " +"operators for core workflows below." msgstr "" "A causa delle differenze rispetto ad altri luoghi in Zammad che utilizzano " "anche condizioni (ad es. trigger), di seguito puoi trovare una descrizione " @@ -28517,205 +28881,237 @@ msgstr "" "selezionato e dal suo tipo di campo. Alcuni operatori potrebbero essere " "disponibili solo per attributi di sistema (ad es. per \"tag\", \"attivo\")." -#: ../system/core-workflows/condition-operators.rst:20 -msgid "Operator" -msgstr "Operatore" - -#: ../system/core-workflows/condition-operators.rst:22 +#: ../system/core-workflows/condition-operators.rst:23 msgid "after (absolute)" msgstr "dopo (assoluto)" -#: ../system/core-workflows/condition-operators.rst:23 +#: ../system/core-workflows/condition-operators.rst:24 msgid "Matches if a date/time is after a specific point in time." msgstr "" "Corrisponde se una data/ora è successiva a un punto specifico nel tempo." -#: ../system/core-workflows/condition-operators.rst:24 +#: ../system/core-workflows/condition-operators.rst:25 msgid "after (relative)" msgstr "dopo (relativo)" -#: ../system/core-workflows/condition-operators.rst:25 +#: ../system/core-workflows/condition-operators.rst:26 msgid "Matches if a time span after a specified event has passed." msgstr "" "Corrisponde se è trascorso un intervallo di tempo dopo un evento specificato." -#: ../system/core-workflows/condition-operators.rst:26 +#: ../system/core-workflows/condition-operators.rst:27 msgid "before (absolute)" msgstr "prima (assoluto)" -#: ../system/core-workflows/condition-operators.rst:27 +#: ../system/core-workflows/condition-operators.rst:28 msgid "Matches if a date/time is before a specific point in time." msgstr "" "Corrisponde se una data/ora è precedente a un punto specifico nel tempo." -#: ../system/core-workflows/condition-operators.rst:28 +#: ../system/core-workflows/condition-operators.rst:29 msgid "before (relative)" msgstr "prima (relativo)" -#: ../system/core-workflows/condition-operators.rst:29 +#: ../system/core-workflows/condition-operators.rst:30 msgid "Matches if a time span after a specified event has not passed." msgstr "" "Corrisponde se un intervallo di tempo dopo un evento specificato non è " "trascorso." -#: ../system/core-workflows/condition-operators.rst:30 +#: ../system/core-workflows/condition-operators.rst:31 +#: ../system/core-workflows/condition-operators.rst:144 +#: ../system/core-workflows/condition-operators.rst:183 +#: ../system/core-workflows/condition-operators.rst:223 +#: ../system/core-workflows/condition-operators.rst:266 +#: ../system/core-workflows/condition-operators.rst:306 msgid "contains" msgstr "contiene" -#: ../system/core-workflows/condition-operators.rst:31 -msgid "Matches if a specified value is present." -msgstr "Corrisponde se un valore specificato è presente." - -#: ../system/core-workflows/condition-operators.rst:33 -msgid "Matches if all of the specified values are present." -msgstr "Corrisponde se tutti i valori specificati sono presenti." - -#: ../system/core-workflows/condition-operators.rst:35 -msgid "Matches if none of the specified values are present." +#: ../system/core-workflows/condition-operators.rst:32 +#, fuzzy +#| msgid "Matches if none of the specified values are present." +msgid "" +"Matches if **at least one** of the specified values is present in the field " +"(OR logic)." msgstr "Corrisponde se nessuno dei valori specificati è presente." -#: ../system/core-workflows/condition-operators.rst:36 +#: ../system/core-workflows/condition-operators.rst:34 +#: ../system/core-workflows/condition-operators.rst:153 +#: ../system/core-workflows/condition-operators.rst:192 +#: ../system/core-workflows/condition-operators.rst:232 +#: ../system/core-workflows/condition-operators.rst:275 +#: ../system/core-workflows/condition-operators.rst:315 msgid "contains not" msgstr "non contiene" -#: ../system/core-workflows/condition-operators.rst:37 -msgid "Matches if a specified value is not present." -msgstr "Corrisponde se un valore specificato non è presente." +#: ../system/core-workflows/condition-operators.rst:35 +msgid "" +"Matches if the field contains at least one value that is **not** among the " +"specified values. Also matches if the field is empty." +msgstr "" #: ../system/core-workflows/condition-operators.rst:39 -msgid "Matches if one specified value is present." +#, fuzzy +#| msgid "Matches if one specified value is present." +msgid "" +"Matches if **every** specified value is present in the field (AND logic)." msgstr "Corrisponde se uno dei valori specificati è presente." -#: ../system/core-workflows/condition-operators.rst:41 -msgid "Matches if one specified value is not present." -msgstr "Corrisponde se uno dei valori specificati non è presente." - #: ../system/core-workflows/condition-operators.rst:42 +msgid "" +"Matches if **none** of the specified values are present in the field. The " +"field and the condition have no value in common: this means \"contains none " +"of\", not \"does not contain all of\"." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:46 +msgid "" +"In triggers and overviews, this operator means \"not all of the specified " +"values are present\" instead. See the examples section below." +msgstr "" +"Nei trigger e nelle panoramiche, questo operatore significa \"non tutti i " +"valori specificati sono presenti\". Vedi la sezione esempi qui sotto." + +#: ../system/core-workflows/condition-operators.rst:50 +#, fuzzy +#| msgid "Matches if none of the specified values are present." +msgid "" +"Same as ``contains``. Matches if **at least one** of the specified values is " +"present." +msgstr "Corrisponde se nessuno dei valori specificati è presente." + +#: ../system/core-workflows/condition-operators.rst:53 +msgid "" +"Same as ``contains not``. Matches if the field contains at least one value " +"that is **not** among the specified values." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:56 msgid "does not match regex" msgstr "non corrisponde a regex" -#: ../system/core-workflows/condition-operators.rst:43 +#: ../system/core-workflows/condition-operators.rst:57 msgid "Matches if content doesn't fit to regex rule." msgstr "Corrisponde se il contenuto non si adatta alla regola regex." -#: ../system/core-workflows/condition-operators.rst:44 +#: ../system/core-workflows/condition-operators.rst:58 msgid "ends with" msgstr "termina con" -#: ../system/core-workflows/condition-operators.rst:45 +#: ../system/core-workflows/condition-operators.rst:59 msgid "Matches if content ends with specified value." msgstr "Corrisponde se il contenuto termina con il valore specificato." -#: ../system/core-workflows/condition-operators.rst:46 +#: ../system/core-workflows/condition-operators.rst:60 msgid "ends with one of" msgstr "termina con uno di" -#: ../system/core-workflows/condition-operators.rst:47 +#: ../system/core-workflows/condition-operators.rst:61 msgid "Matches if content ends with one of the specified values." msgstr "Corrisponde se il contenuto termina con uno dei valori specificati." -#: ../system/core-workflows/condition-operators.rst:48 +#: ../system/core-workflows/condition-operators.rst:62 msgid "from (relative)" msgstr "da (relativo)" -#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:63 msgid "Matches if date/time is after a period of time after an event." msgstr "" "Corrisponde se data/ora è successiva a un periodo di tempo dopo un evento." -#: ../system/core-workflows/condition-operators.rst:51 +#: ../system/core-workflows/condition-operators.rst:65 msgid "Matches if content is equal to a specified value." msgstr "Corrisponde se il contenuto è uguale a un valore specificato." -#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:66 msgid "is any of" msgstr "è uno di" -#: ../system/core-workflows/condition-operators.rst:53 +#: ../system/core-workflows/condition-operators.rst:67 msgid "Matches if content is equal to any of specified values." msgstr "" "Corrisponde se il contenuto è uguale a uno qualsiasi dei valori specificati." -#: ../system/core-workflows/condition-operators.rst:54 +#: ../system/core-workflows/condition-operators.rst:68 msgid "is greater than" msgstr "è maggiore di" -#: ../system/core-workflows/condition-operators.rst:55 +#: ../system/core-workflows/condition-operators.rst:69 msgid "Matches if the value is greater than the specified value." msgstr "Corrisponde se il valore è maggiore del valore specificato." -#: ../system/core-workflows/condition-operators.rst:56 +#: ../system/core-workflows/condition-operators.rst:70 msgid "is greater than or equal to" msgstr "è maggiore o uguale a" -#: ../system/core-workflows/condition-operators.rst:57 +#: ../system/core-workflows/condition-operators.rst:71 msgid "Matches if the value is greater than or equal to the specified value." msgstr "Corrisponde se il valore è maggiore o uguale al valore specificato." -#: ../system/core-workflows/condition-operators.rst:58 +#: ../system/core-workflows/condition-operators.rst:72 msgid "is less than" msgstr "è minore di" -#: ../system/core-workflows/condition-operators.rst:59 +#: ../system/core-workflows/condition-operators.rst:73 msgid "Matches if the value is less than the specified value." msgstr "Corrisponde se il valore è inferiore al valore specificato." -#: ../system/core-workflows/condition-operators.rst:60 +#: ../system/core-workflows/condition-operators.rst:74 msgid "is less than or equal to" msgstr "è minore o uguale a" -#: ../system/core-workflows/condition-operators.rst:61 +#: ../system/core-workflows/condition-operators.rst:75 msgid "Matches if the value is less than or equal to the specified value." msgstr "Corrisponde se il valore è minore o uguale al valore specificato." -#: ../system/core-workflows/condition-operators.rst:62 +#: ../system/core-workflows/condition-operators.rst:76 msgid "is modified" msgstr "è modificato" -#: ../system/core-workflows/condition-operators.rst:63 +#: ../system/core-workflows/condition-operators.rst:77 msgid "Matches if content is modified." msgstr "Corrisponde se il contenuto è modificato." -#: ../system/core-workflows/condition-operators.rst:65 -#: ../system/core-workflows/condition-operators.rst:69 +#: ../system/core-workflows/condition-operators.rst:79 +#: ../system/core-workflows/condition-operators.rst:83 msgid "True from the moment of changing content until form submit." msgstr "" "Vero dal momento della modifica del contenuto fino all'invio del modulo." -#: ../system/core-workflows/condition-operators.rst:66 +#: ../system/core-workflows/condition-operators.rst:80 msgid "is modified to" msgstr "è modificato a" -#: ../system/core-workflows/condition-operators.rst:67 +#: ../system/core-workflows/condition-operators.rst:81 msgid "Matches if content is modified to a specific value." msgstr "Corrisponde se il contenuto è modificato a un valore specifico." -#: ../system/core-workflows/condition-operators.rst:70 +#: ../system/core-workflows/condition-operators.rst:84 msgid "is none of" msgstr "non è nessuno di" -#: ../system/core-workflows/condition-operators.rst:71 +#: ../system/core-workflows/condition-operators.rst:85 msgid "Matches if content is none of any specified values." msgstr "Corrisponde se il contenuto non è nessuno dei valori specificati." -#: ../system/core-workflows/condition-operators.rst:73 +#: ../system/core-workflows/condition-operators.rst:87 msgid "Matches if content is not equal to a specified value." msgstr "Corrisponde se il contenuto non è uguale a un valore specificato." -#: ../system/core-workflows/condition-operators.rst:75 +#: ../system/core-workflows/condition-operators.rst:89 msgid "Matches if content is present." msgstr "Corrisponde se il contenuto è presente." -#: ../system/core-workflows/condition-operators.rst:76 +#: ../system/core-workflows/condition-operators.rst:90 msgid "just changed" msgstr "appena cambiato" -#: ../system/core-workflows/condition-operators.rst:77 +#: ../system/core-workflows/condition-operators.rst:91 msgid "Matches if content has changed." msgstr "Corrisponde se il contenuto è cambiato." -#: ../system/core-workflows/condition-operators.rst:79 -#: ../system/core-workflows/condition-operators.rst:83 +#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:97 msgid "" "Only true for the moment of changing content until next form field action/" "click." @@ -28723,82 +29119,231 @@ msgstr "" "Vero solo per il momento della modifica del contenuto fino alla successiva " "azione/clic sul campo del modulo." -#: ../system/core-workflows/condition-operators.rst:80 +#: ../system/core-workflows/condition-operators.rst:94 msgid "just changed to" msgstr "appena cambiato a" -#: ../system/core-workflows/condition-operators.rst:81 +#: ../system/core-workflows/condition-operators.rst:95 msgid "Matches if content has changed to a specified value." msgstr "Corrisponde se il contenuto è cambiato a un valore specificato." -#: ../system/core-workflows/condition-operators.rst:84 +#: ../system/core-workflows/condition-operators.rst:98 msgid "matches regex" msgstr "corrisponde a regex" -#: ../system/core-workflows/condition-operators.rst:85 +#: ../system/core-workflows/condition-operators.rst:99 msgid "Matches if value fits to regex rule." msgstr "Corrisponde se il valore si adatta alla regola regex." -#: ../system/core-workflows/condition-operators.rst:87 +#: ../system/core-workflows/condition-operators.rst:101 msgid "Matches if no content is present." msgstr "Corrisponde se nessun contenuto è presente." -#: ../system/core-workflows/condition-operators.rst:88 +#: ../system/core-workflows/condition-operators.rst:102 msgid "starts with" msgstr "inizia con" -#: ../system/core-workflows/condition-operators.rst:89 +#: ../system/core-workflows/condition-operators.rst:103 msgid "Matches if content starts with specified value." msgstr "Corrisponde se il contenuto inizia con il valore specificato." -#: ../system/core-workflows/condition-operators.rst:90 +#: ../system/core-workflows/condition-operators.rst:104 msgid "starts with one of" msgstr "inizia con uno di" -#: ../system/core-workflows/condition-operators.rst:91 +#: ../system/core-workflows/condition-operators.rst:105 msgid "Matches if content starts with one of the specified values." msgstr "Corrisponde se il contenuto inizia con uno dei valori specificati." -#: ../system/core-workflows/condition-operators.rst:92 +#: ../system/core-workflows/condition-operators.rst:106 msgid "till (relative)" msgstr "fino a (relativo)" -#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:107 msgid "Matches if date/time is before a period of time before an event." msgstr "" "Corrisponde se data/ora è precedente a un periodo di tempo prima di un " "evento." -#: ../system/core-workflows/condition-operators.rst:94 +#: ../system/core-workflows/condition-operators.rst:108 msgid "today" msgstr "oggi" -#: ../system/core-workflows/condition-operators.rst:95 +#: ../system/core-workflows/condition-operators.rst:109 msgid "Matches if date/time is today." msgstr "Corrisponde se data/ora è oggi." -#: ../system/core-workflows/condition-operators.rst:96 +#: ../system/core-workflows/condition-operators.rst:110 msgid "within last (relative)" msgstr "negli ultimi (relativo)" -#: ../system/core-workflows/condition-operators.rst:97 +#: ../system/core-workflows/condition-operators.rst:111 msgid "" "Matches if date/time content is within specified period of time before now." msgstr "" "Corrisponde se il contenuto data/ora è entro il periodo di tempo specificato " "prima di ora." -#: ../system/core-workflows/condition-operators.rst:99 +#: ../system/core-workflows/condition-operators.rst:113 msgid "within next (relative)" msgstr "entro i prossimi (relativo)" -#: ../system/core-workflows/condition-operators.rst:100 +#: ../system/core-workflows/condition-operators.rst:114 msgid "" "Matches if date/time content is within specified period of time after now." msgstr "" "Corrisponde se il contenuto data/ora è entro il periodo di tempo specificato " "dopo ora." +#: ../system/core-workflows/condition-operators.rst:118 +#, fuzzy +#| msgid "Available Operators" +msgid "Multi-Select Operators" +msgstr "Operatori Disponibili" + +#: ../system/core-workflows/condition-operators.rst:120 +msgid "" +"The ``contains`` family of operators compares two sets of values: the values " +"currently in the field and the values specified in the condition. The " +"diagrams below show the condition values as an orange circle and the field " +"values as a blue circle." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:128 +msgid "Differences to Triggers and Overviews" +msgstr "Differenze rispetto a Trigger e Panoramiche" + +#: ../system/core-workflows/condition-operators.rst:130 +msgid "" +"Be aware that these operators behave **differently** in other features that " +"use conditions (e.g. triggers and overviews). The most confusing difference: " +"in core workflows, ``contains all not`` means that no value matches at all, " +"while in triggers and overviews it means \"not all values are present\". The " +"table below compares both worlds side by side." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:142 +#, fuzzy +#| msgid "Core workflows do not replace triggers" +msgid "Core workflows (this page)" +msgstr "I flussi di lavoro principali non sostituiscono i trigger" + +#: ../system/core-workflows/condition-operators.rst:143 +msgid "Triggers, overviews, etc." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:145 +#: ../system/core-workflows/condition-operators.rst:149 +#, fuzzy +#| msgid "Matches if one specified value is present." +msgid "At least one value is present (OR logic)." +msgstr "Corrisponde se uno dei valori specificati è presente." + +#: ../system/core-workflows/condition-operators.rst:146 +msgid "Not available; ``contains one`` is the equivalent." +msgstr "Non disponibile; ``contiene uno`` è l'equivalente." + +#: ../system/core-workflows/condition-operators.rst:148 +#: ../system/core-workflows/condition-operators.rst:188 +#: ../system/core-workflows/condition-operators.rst:228 +#: ../system/core-workflows/condition-operators.rst:271 +#: ../system/core-workflows/condition-operators.rst:311 +msgid "Same as ``contains``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:151 +#: ../system/core-workflows/condition-operators.rst:152 +msgid "Every value is present (AND logic)." +msgstr "Ogni valore è presente (logica AND)." + +#: ../system/core-workflows/condition-operators.rst:154 +#, fuzzy +#| msgid "" +#| "If the date field's value is before the configured date, the condition " +#| "will be met." +msgid "" +"At least one field value is outside the condition, or the field is empty." +msgstr "" +"Se il valore del campo data è precedente alla data configurata, la " +"condizione sarà soddisfatta." + +#: ../system/core-workflows/condition-operators.rst:156 +#, fuzzy +#| msgid "Set available options for select fields" +msgid "Not available for multi-select fields." +msgstr "Imposta le opzioni disponibili per i campi di selezione" + +#: ../system/core-workflows/condition-operators.rst:158 +#: ../system/core-workflows/condition-operators.rst:197 +#: ../system/core-workflows/condition-operators.rst:237 +#: ../system/core-workflows/condition-operators.rst:280 +#: ../system/core-workflows/condition-operators.rst:320 +#, fuzzy +#| msgid "contains not" +msgid "Same as ``contains not``." +msgstr "non contiene" + +#: ../system/core-workflows/condition-operators.rst:162 +msgid "Not all values are present (at least one is missing)." +msgstr "Non tutti i valori sono presenti (almeno uno manca)." + +#: ../system/core-workflows/condition-operators.rst:194 +msgid "``C`` is in the field but not in the condition." +msgstr "``C`` è presente nel campo ma non nella condizione." + +#: ../system/core-workflows/condition-operators.rst:200 +msgid "``A`` and ``B`` are present in the field." +msgstr "``A`` e ``B`` sono presenti nel campo." + +#: ../system/core-workflows/condition-operators.rst:234 +msgid "``D`` is in the field but not in the condition." +msgstr "``D`` è presente nel campo ma non nella condizione." + +#: ../system/core-workflows/condition-operators.rst:240 +msgid "``C`` is present in the field." +msgstr "``C`` è presente nel campo." + +#: ../system/core-workflows/condition-operators.rst:242 +msgid "" +"This partial overlap is where the two \"all\" operators part ways: " +"``contains all`` fails because one condition value is missing, while " +"``contains all not`` fails because a single common value is enough to block " +"it." +msgstr "" +"Questa sovrapposizione parziale è il punto in cui i due operatori \"all\" si " +"dividono: ``contains all`` fallisce perché manca un valore di condizione, " +"mentre ``contains all not``fallisce perché un singolo valore comune è " +"sufficiente a bloccarlo." + +#: ../system/core-workflows/condition-operators.rst:277 +msgid "``C`` and ``D`` are not in the condition." +msgstr "``C`` e ``D`` non sono nella condizione." + +#: ../system/core-workflows/condition-operators.rst:285 +msgid "This is the only example where ``contains all not`` matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:317 +msgid "An empty field matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:323 +#, fuzzy +#| msgid "" +#| "**Actions:** define what to change in a ticket which matches the " +#| "condition." +msgid "An empty field has no value in common with the condition." +msgstr "" +"**Azioni:** definiscono cosa modificare in un ticket che corrisponde alla " +"condizione." + +#: ../system/core-workflows/condition-operators.rst:325 +msgid "" +"Note that ``contains not`` and ``contains one not`` match an empty field, " +"while ``contains`` and ``contains all`` do not. If you want to exclude " +"specific values, be aware that empty fields pass the condition." +msgstr "" + #: ../system/core-workflows/how-do-they-work.rst:2 msgid "How do they work?" msgstr "Come funzionano?" @@ -36941,6 +37486,26 @@ msgstr "Versione" msgid "Shows the current Zammad version of your instance." msgstr "Mostra la versione attuale di Zammad della tua istanza." +#~ msgid "Matches if all given field values are not selected." +#~ msgstr "" +#~ "Corrisponde se tutti i valori del campo forniti non sono selezionati." + +#~ msgid "Matches if one specific given field value is not selected." +#~ msgstr "" +#~ "Corrisponde se uno specifico valore del campo fornito non è selezionato." + +#~ msgid "Matches if a specified value is present." +#~ msgstr "Corrisponde se un valore specificato è presente." + +#~ msgid "Matches if all of the specified values are present." +#~ msgstr "Corrisponde se tutti i valori specificati sono presenti." + +#~ msgid "Matches if a specified value is not present." +#~ msgstr "Corrisponde se un valore specificato non è presente." + +#~ msgid "Matches if one specified value is not present." +#~ msgstr "Corrisponde se uno dei valori specificati non è presente." + #~ msgid "" #~ "Accounts in this organizational directory only (Default Directory only - " #~ "Single tenant)" diff --git a/locale/nl/LC_MESSAGES/admin-docs.po b/locale/nl/LC_MESSAGES/admin-docs.po index 35be5de0c..dc22c21e3 100644 --- a/locale/nl/LC_MESSAGES/admin-docs.po +++ b/locale/nl/LC_MESSAGES/admin-docs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Zammad\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-24 17:19+0200\n" +"POT-Creation-Date: 2026-08-28 15:08+0200\n" "PO-Revision-Date: 2026-07-29 08:03+0000\n" "Last-Translator: kurtjaspaert-stack \n" "Language-Team: Dutch ` and consider switching your plan. When a " @@ -1136,17 +1137,17 @@ msgid "" "alerted when few calls remain." msgstr "" -#: ../ai/provider.rst:288 +#: ../ai/provider.rst:289 msgid "" "On SaaS, the Zammad AI provider is provisioned by the platform and you " "cannot delete it or change its type." msgstr "" -#: ../ai/provider.rst:295 +#: ../ai/provider.rst:296 msgid "Self-Hosted Customers" msgstr "" -#: ../ai/provider.rst:292 +#: ../ai/provider.rst:293 msgid "" "Get in touch with our `sales department `_ to obtain a Zammad AI API key and to buy AI calls. After " @@ -1154,14 +1155,14 @@ msgid "" "key." msgstr "" -#: ../ai/provider.rst:300 +#: ../ai/provider.rst:301 msgid "" "`Ollama `_ lets you run your own AI server on a machine " "you control, so your data is not transferred to a third party. This approach " "only makes sense if you have a powerful GPU in your system!" msgstr "" -#: ../ai/provider.rst:304 +#: ../ai/provider.rst:305 msgid "" "If you don't have Ollama running yet, their `documentation `_ is a good starting point. Available models are listed in " @@ -4210,7 +4211,7 @@ msgstr "" msgid "Signatures" msgstr "" -#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:436 +#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:450 #: ../system/monitoring.rst:9 msgid "General" msgstr "" @@ -4939,7 +4940,7 @@ msgstr "" #: ../channels/form.rst:250 ../manage/public-links.rst:43 #: ../misc/object-conditions/basics.rst:63 ../misc/variables.rst:101 -#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:22 #: ../system/objects/permissions.rst:36 ../system/subscription.rst:196 msgid "Description" msgstr "" @@ -8670,6 +8671,29 @@ msgstr "" #: ../manage/groups/settings.rst:42 ../manage/groups/settings.rst:63 #: ../misc/object-conditions/basics.rst:121 #: ../misc/object-conditions/basics.rst:136 +#: ../misc/object-conditions/basics.rst:514 +#: ../misc/object-conditions/basics.rst:517 +#: ../misc/object-conditions/basics.rst:548 +#: ../misc/object-conditions/basics.rst:554 +#: ../misc/object-conditions/basics.rst:591 +#: ../misc/object-conditions/basics.rst:594 +#: ../misc/object-conditions/basics.rst:623 +#: ../misc/object-conditions/basics.rst:626 +#: ../system/core-workflows/condition-operators.rst:184 +#: ../system/core-workflows/condition-operators.rst:187 +#: ../system/core-workflows/condition-operators.rst:190 +#: ../system/core-workflows/condition-operators.rst:193 +#: ../system/core-workflows/condition-operators.rst:196 +#: ../system/core-workflows/condition-operators.rst:224 +#: ../system/core-workflows/condition-operators.rst:227 +#: ../system/core-workflows/condition-operators.rst:233 +#: ../system/core-workflows/condition-operators.rst:236 +#: ../system/core-workflows/condition-operators.rst:276 +#: ../system/core-workflows/condition-operators.rst:279 +#: ../system/core-workflows/condition-operators.rst:282 +#: ../system/core-workflows/condition-operators.rst:316 +#: ../system/core-workflows/condition-operators.rst:319 +#: ../system/core-workflows/condition-operators.rst:322 msgid "yes" msgstr "" @@ -8724,6 +8748,23 @@ msgstr "" #: ../manage/groups/settings.rst:66 ../misc/object-conditions/basics.rst:122 #: ../misc/object-conditions/basics.rst:137 +#: ../misc/object-conditions/basics.rst:520 +#: ../misc/object-conditions/basics.rst:523 +#: ../misc/object-conditions/basics.rst:551 +#: ../misc/object-conditions/basics.rst:557 +#: ../misc/object-conditions/basics.rst:585 +#: ../misc/object-conditions/basics.rst:588 +#: ../misc/object-conditions/basics.rst:617 +#: ../misc/object-conditions/basics.rst:620 +#: ../system/core-workflows/condition-operators.rst:199 +#: ../system/core-workflows/condition-operators.rst:230 +#: ../system/core-workflows/condition-operators.rst:239 +#: ../system/core-workflows/condition-operators.rst:267 +#: ../system/core-workflows/condition-operators.rst:270 +#: ../system/core-workflows/condition-operators.rst:273 +#: ../system/core-workflows/condition-operators.rst:307 +#: ../system/core-workflows/condition-operators.rst:310 +#: ../system/core-workflows/condition-operators.rst:313 msgid "no" msgstr "" @@ -9129,7 +9170,7 @@ msgid "" msgstr "" #: ../manage/knowledge-base.rst:136 ../manage/public-links.rst:35 -#: ../manage/time-accounting.rst:147 ../manage/time-accounting.rst:161 +#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 #: ../system/maintenance.rst:31 msgid "Title" msgstr "" @@ -12373,16 +12414,18 @@ msgstr "" #: ../manage/time-accounting.rst:22 msgid "" "If a ticket is relevant, Zammad will request the agent to provide the time " -"which was needed to process the current ticket step. In order for Zammad to " -"bring up the time accounting dialog to an agent, the agent has to update the " -"ticket together with an article of any type. The adding of an article is " -"mandatory to invoke the time accounting dialog. However, the time accounting " -"dialog is not mandatory and can be canceled by your agents. You cannot " -"enforce the time accounting. When a ticket is no longer considered for the " -"time accounting, the already accounted time will be preserved." +"which was needed to process the current ticket step. This accounted time is " +"displayed in the ticket sidebar at ticket level and in the article meta " +"information for an individual article. In order for Zammad to bring up the " +"time accounting dialog to an agent, the agent has to update the ticket " +"together with an article of any type. The adding of an article is mandatory " +"to invoke the time accounting dialog. However, the time accounting dialog is " +"not mandatory and can be canceled by your agents. You cannot enforce the " +"time accounting. When a ticket is no longer considered for the time " +"accounting, the already accounted time will be preserved." msgstr "" -#: ../manage/time-accounting.rst:33 +#: ../manage/time-accounting.rst:35 msgid "" "The selector applies to the ticket state before any attribute changes have " "been saved. That means if your agent is e.g. going to close a ticket " @@ -12394,49 +12437,49 @@ msgstr "" msgid "Time Accounting Ticket Selector" msgstr "" -#: ../manage/time-accounting.rst:42 +#: ../manage/time-accounting.rst:44 msgid "" "The accounted time is always a unitless number. However, it is possible to " "show a specific unit in the **Unit** section, which provides several options:" msgstr "" -#: ../manage/time-accounting.rst:46 +#: ../manage/time-accounting.rst:48 msgid "no unit" msgstr "" -#: ../manage/time-accounting.rst:47 +#: ../manage/time-accounting.rst:49 msgid "Default behavior, no unit is shown next to the time value." msgstr "" -#: ../manage/time-accounting.rst:48 +#: ../manage/time-accounting.rst:50 msgid "hour(s)" msgstr "" -#: ../manage/time-accounting.rst:49 +#: ../manage/time-accounting.rst:51 msgid "Shows ``hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:50 +#: ../manage/time-accounting.rst:52 msgid "quarter-hour(s)" msgstr "" -#: ../manage/time-accounting.rst:51 +#: ../manage/time-accounting.rst:53 msgid "Shows ``quarter-hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:52 +#: ../manage/time-accounting.rst:54 msgid "minute(s)" msgstr "" -#: ../manage/time-accounting.rst:53 +#: ../manage/time-accounting.rst:55 msgid "Shows ``minute(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "custom unit" msgstr "" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "Shows a custom unit that can be specified as free input." msgstr "" @@ -12444,7 +12487,7 @@ msgstr "" msgid "Time Accounting Unit" msgstr "" -#: ../manage/time-accounting.rst:62 +#: ../manage/time-accounting.rst:64 msgid "" "The unit is only displayed to make it easier for agents to account their " "time! No numerical transformation will be applied to the values, not even if " @@ -12456,11 +12499,11 @@ msgstr "" msgid "Time Accounting Unit when Recording" msgstr "" -#: ../manage/time-accounting.rst:72 +#: ../manage/time-accounting.rst:74 msgid "Activity Types" msgstr "" -#: ../manage/time-accounting.rst:74 +#: ../manage/time-accounting.rst:76 msgid "" "**Activity Types** can be used to group the different ticket time accounting " "entries together. For example, entries that are relevant to a \"Billing\" " @@ -12471,7 +12514,7 @@ msgstr "" msgid "Time Accounting Activity Types" msgstr "" -#: ../manage/time-accounting.rst:81 +#: ../manage/time-accounting.rst:83 msgid "" "When you enable the recording of the **Activity Type**, the agents will be " "able to select a type from this list." @@ -12481,13 +12524,13 @@ msgstr "" msgid "Time Accounting Activity Type Selection for Agents" msgstr "" -#: ../manage/time-accounting.rst:88 +#: ../manage/time-accounting.rst:90 msgid "" "Additionally, a column with an associated activity type will be rendered for " "an entry in the **Activity** table under the **Accounted Time** tab." msgstr "" -#: ../manage/time-accounting.rst:91 +#: ../manage/time-accounting.rst:93 msgid "" "You can manage available activity types in this screen like any other Zammad " "object. Only active types will be available for the selection when recording " @@ -12499,7 +12542,7 @@ msgstr "" msgid "New Time Accounting Activity Type Dialog" msgstr "" -#: ../manage/time-accounting.rst:100 +#: ../manage/time-accounting.rst:102 msgid "" "Activity types can be set as default, and in that case they will be pre-" "selected for the agents when they are asked to account their time. It is " @@ -12507,29 +12550,29 @@ msgid "" "pre-selected and the agents can make their choice." msgstr "" -#: ../manage/time-accounting.rst:106 +#: ../manage/time-accounting.rst:108 msgid "Accounted Time" msgstr "" -#: ../manage/time-accounting.rst:108 +#: ../manage/time-accounting.rst:110 msgid "" "Under the **Accounted Time** tab, Zammad provides a section for reviewing " "all accounted times for your tickets. Accounted times are displayed per " "years and months." msgstr "" -#: ../manage/time-accounting.rst:112 +#: ../manage/time-accounting.rst:114 msgid "" "If you have tickets that are overlapping several months, you can " "differentiate by *time units* and *time units total* (e.g. to allow partial " "billing) in the downloaded file." msgstr "" -#: ../manage/time-accounting.rst:123 +#: ../manage/time-accounting.rst:125 msgid "Select the right month" msgstr "" -#: ../manage/time-accounting.rst:117 +#: ../manage/time-accounting.rst:119 msgid "" "Usually you want to bill accounted time of other months than the current " "one. Just select the relevant year and month to receive the accounted times " @@ -12540,85 +12583,85 @@ msgstr "" msgid "Screenshot showing a selection for year and month on time accounting" msgstr "" -#: ../manage/time-accounting.rst:186 +#: ../manage/time-accounting.rst:188 msgid "Tickets and their accounted time" msgstr "" -#: ../manage/time-accounting.rst:126 +#: ../manage/time-accounting.rst:128 msgid "" "Zammad allows you to receive the accounted information just like you need " "them. For this you currently have four options to review and also download " "the relevant data as CSV." msgstr "" -#: ../manage/time-accounting.rst:130 +#: ../manage/time-accounting.rst:132 msgid "" "To download the CSV data, use the download button right next to each heading " "(e.g. \"Ticket\")." msgstr "" -#: ../manage/time-accounting.rst:133 +#: ../manage/time-accounting.rst:135 msgid "This can also be automated with API calls." msgstr "" -#: ../manage/time-accounting.rst:136 +#: ../manage/time-accounting.rst:138 msgid "" "Only the first 20 entries are shown for each table. To see all of them, " "simply download the records in CSV." msgstr "" -#: ../manage/time-accounting.rst:153 +#: ../manage/time-accounting.rst:155 msgid "Activity" msgstr "" -#: ../manage/time-accounting.rst:140 +#: ../manage/time-accounting.rst:142 msgid "" "This filter works similar to the ticket filter, with one exception: You'll " "find each *individual* time accounting step of your agents. This is what " "you'd also see in the ticket's history before Zammad 5.2." msgstr "" -#: ../manage/time-accounting.rst:144 ../manage/time-accounting.rst:158 -#: ../manage/time-accounting.rst:175 +#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:177 msgid "In this list you'll see the following ticket information:" msgstr "" -#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 #: ../settings/ticket.rst:103 msgid "Number" msgstr "" -#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 -#: ../manage/time-accounting.rst:179 ../manage/time-accounting.rst:177 +#: ../manage/time-accounting.rst:150 ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:181 ../manage/time-accounting.rst:179 #: ../misc/object-conditions/basics.rst:37 #: ../misc/object-conditions/basics.rst:89 #: ../misc/object-conditions/basics.rst:171 msgid "Customer" msgstr "" -#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 -#: ../manage/time-accounting.rst:178 +#: ../manage/time-accounting.rst:151 ../manage/time-accounting.rst:165 +#: ../manage/time-accounting.rst:180 msgid "Organization of customer (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:150 +#: ../manage/time-accounting.rst:152 msgid "Agent that accounted the time" msgstr "" -#: ../manage/time-accounting.rst:151 +#: ../manage/time-accounting.rst:153 msgid "Time units accounted in the current activity" msgstr "" -#: ../manage/time-accounting.rst:152 +#: ../manage/time-accounting.rst:154 msgid "Activity type (if enabled)" msgstr "" -#: ../manage/time-accounting.rst:153 ../manage/time-accounting.rst:167 +#: ../manage/time-accounting.rst:155 ../manage/time-accounting.rst:169 #: ../system/audit-logs.rst:76 msgid "Created at" msgstr "" -#: ../manage/time-accounting.rst:168 ../misc/object-conditions/basics.rst:26 +#: ../manage/time-accounting.rst:170 ../misc/object-conditions/basics.rst:26 #: ../misc/object-conditions/basics.rst:90 #: ../misc/object-conditions/basics.rst:126 #: ../misc/object-conditions/basics.rst:139 @@ -12634,45 +12677,45 @@ msgstr "" msgid "Ticket" msgstr "" -#: ../manage/time-accounting.rst:156 +#: ../manage/time-accounting.rst:158 msgid "This filter contains all relevant tickets from the selected month." msgstr "" -#: ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:166 msgid "Agent currently assigned (ticket owner)" msgstr "" -#: ../manage/time-accounting.rst:165 ../manage/time-accounting.rst:179 +#: ../manage/time-accounting.rst:167 ../manage/time-accounting.rst:181 msgid "Time units accounted in the current month" msgstr "" -#: ../manage/time-accounting.rst:166 +#: ../manage/time-accounting.rst:168 msgid "Time units total (time accounted during ticket life)" msgstr "" -#: ../manage/time-accounting.rst:168 +#: ../manage/time-accounting.rst:170 msgid "Closed at (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:171 +#: ../manage/time-accounting.rst:173 msgid "" "This provides you a per user filter on accounted time units. Each user has a " "total of time accounted in the current month (over all applicable tickets)." msgstr "" -#: ../manage/time-accounting.rst:186 ../misc/object-conditions/basics.rst:28 +#: ../manage/time-accounting.rst:188 ../misc/object-conditions/basics.rst:28 #: ../misc/object-conditions/basics.rst:115 #: ../misc/object-conditions/basics.rst:146 ../settings/branding.rst:16 msgid "Organization" msgstr "" -#: ../manage/time-accounting.rst:182 +#: ../manage/time-accounting.rst:184 msgid "" "This provides a list of all organizations where customers have caused " "accounted time in that month." msgstr "" -#: ../manage/time-accounting.rst:185 +#: ../manage/time-accounting.rst:187 msgid "" "You can also see entries for customers that are part of a primary " "organization. Users without an organization can be found in the Customer " @@ -15811,7 +15854,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:185 #: ../misc/object-conditions/basics.rst:209 #: ../misc/object-conditions/basics.rst:219 -#: ../system/core-workflows/condition-operators.rst:50 +#: ../system/core-workflows/condition-operators.rst:64 msgid "is" msgstr "" @@ -15828,7 +15871,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:186 #: ../misc/object-conditions/basics.rst:210 #: ../misc/object-conditions/basics.rst:220 -#: ../system/core-workflows/condition-operators.rst:72 +#: ../system/core-workflows/condition-operators.rst:86 msgid "is not" msgstr "" @@ -15899,7 +15942,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:97 #: ../misc/object-conditions/basics.rst:155 #: ../misc/object-conditions/basics.rst:204 -#: ../system/core-workflows/condition-operators.rst:86 +#: ../system/core-workflows/condition-operators.rst:100 msgid "not set" msgstr "" @@ -16057,22 +16100,58 @@ msgid "Checks tags of a ticket." msgstr "" #: ../misc/object-conditions/basics.rst:193 -#: ../system/core-workflows/condition-operators.rst:32 +#: ../misc/object-conditions/basics.rst:516 +#: ../misc/object-conditions/basics.rst:550 +#: ../misc/object-conditions/basics.rst:587 +#: ../misc/object-conditions/basics.rst:619 +#: ../system/core-workflows/condition-operators.rst:38 +#: ../system/core-workflows/condition-operators.rst:150 +#: ../system/core-workflows/condition-operators.rst:189 +#: ../system/core-workflows/condition-operators.rst:229 +#: ../system/core-workflows/condition-operators.rst:272 +#: ../system/core-workflows/condition-operators.rst:312 msgid "contains all" msgstr "" #: ../misc/object-conditions/basics.rst:194 -#: ../system/core-workflows/condition-operators.rst:38 +#: ../misc/object-conditions/basics.rst:513 +#: ../misc/object-conditions/basics.rst:547 +#: ../misc/object-conditions/basics.rst:584 +#: ../misc/object-conditions/basics.rst:616 +#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:147 +#: ../system/core-workflows/condition-operators.rst:186 +#: ../system/core-workflows/condition-operators.rst:226 +#: ../system/core-workflows/condition-operators.rst:269 +#: ../system/core-workflows/condition-operators.rst:309 msgid "contains one" msgstr "" #: ../misc/object-conditions/basics.rst:195 -#: ../system/core-workflows/condition-operators.rst:34 +#: ../misc/object-conditions/basics.rst:519 +#: ../misc/object-conditions/basics.rst:553 +#: ../misc/object-conditions/basics.rst:590 +#: ../misc/object-conditions/basics.rst:622 +#: ../system/core-workflows/condition-operators.rst:41 +#: ../system/core-workflows/condition-operators.rst:160 +#: ../system/core-workflows/condition-operators.rst:198 +#: ../system/core-workflows/condition-operators.rst:238 +#: ../system/core-workflows/condition-operators.rst:281 +#: ../system/core-workflows/condition-operators.rst:321 msgid "contains all not" msgstr "" #: ../misc/object-conditions/basics.rst:196 -#: ../system/core-workflows/condition-operators.rst:40 +#: ../misc/object-conditions/basics.rst:522 +#: ../misc/object-conditions/basics.rst:556 +#: ../misc/object-conditions/basics.rst:593 +#: ../misc/object-conditions/basics.rst:625 +#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:157 +#: ../system/core-workflows/condition-operators.rst:195 +#: ../system/core-workflows/condition-operators.rst:235 +#: ../system/core-workflows/condition-operators.rst:278 +#: ../system/core-workflows/condition-operators.rst:318 msgid "contains one not" msgstr "" @@ -16093,7 +16172,7 @@ msgid "Checks if time is accounted." msgstr "" #: ../misc/object-conditions/basics.rst:203 -#: ../system/core-workflows/condition-operators.rst:74 +#: ../system/core-workflows/condition-operators.rst:88 msgid "is set" msgstr "" @@ -16151,8 +16230,8 @@ msgstr "" #: ../misc/object-conditions/basics.rst:334 #: ../misc/object-conditions/basics.rst:381 #: ../misc/object-conditions/basics.rst:392 -#: ../misc/object-conditions/basics.rst:410 #: ../misc/object-conditions/basics.rst:421 +#: ../misc/object-conditions/basics.rst:432 msgid "Available operators for matching:" msgstr "" @@ -16238,7 +16317,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:269 #: ../misc/object-conditions/basics.rst:284 #: ../misc/object-conditions/basics.rst:385 -#: ../misc/object-conditions/basics.rst:414 +#: ../misc/object-conditions/basics.rst:425 msgid "**has changed**" msgstr "" @@ -16253,14 +16332,14 @@ msgstr "" #: ../misc/object-conditions/basics.rst:267 #: ../misc/object-conditions/basics.rst:278 #: ../misc/object-conditions/basics.rst:383 -#: ../misc/object-conditions/basics.rst:412 +#: ../misc/object-conditions/basics.rst:423 msgid "**is**" msgstr "" #: ../misc/object-conditions/basics.rst:268 #: ../misc/object-conditions/basics.rst:279 #: ../misc/object-conditions/basics.rst:384 -#: ../misc/object-conditions/basics.rst:413 +#: ../misc/object-conditions/basics.rst:424 msgid "**is not**" msgstr "" @@ -16508,7 +16587,7 @@ msgid "**contains all**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are selected." +msgid "Matches if **all** given field values are selected (AND logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16516,7 +16595,8 @@ msgid "**contains one**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is selected." +msgid "" +"Matches if **at least one** of the given field values is selected (OR logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16524,7 +16604,9 @@ msgid "**contains all not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are not selected." +msgid "" +"Matches if **not all** given field values are selected (at least one is " +"missing). This means \"not all of\", not \"none of\"." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16532,24 +16614,35 @@ msgid "**contains one not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is not selected." +msgid "" +"Matches if **none** of the given field values are selected. This means " +"\"none of\", not \"not all of\"." msgstr "" -#: ../misc/object-conditions/basics.rst:405 ../system/objects/types.rst:135 +#: ../misc/object-conditions/basics.rst:408 +msgid "" +"In :doc:`core workflows `, these operators have " +"different semantics. See :ref:`core workflow condition operators ` for details. Example scenarios for the " +"operators described here can be found in :ref:`multi-select-operator-" +"examples` below." +msgstr "" + +#: ../misc/object-conditions/basics.rst:416 ../system/objects/types.rst:135 msgid "Single Tree Selection Field" msgstr "" -#: ../misc/object-conditions/basics.rst:407 +#: ../misc/object-conditions/basics.rst:418 msgid "" "Checks if a selected field value match the attribute value. Selecting more " "than one value in the condition will act like an \"OR\" clause." msgstr "" -#: ../misc/object-conditions/basics.rst:417 ../system/objects/types.rst:148 +#: ../misc/object-conditions/basics.rst:428 ../system/objects/types.rst:148 msgid "Multiple Tree Selection Field" msgstr "" -#: ../misc/object-conditions/basics.rst:419 +#: ../misc/object-conditions/basics.rst:430 msgid "Checks if selected field value(s) match the attribute value(s)." msgstr "" @@ -16569,64 +16662,64 @@ msgstr "" msgid "**contains one not**" msgstr "" -#: ../misc/object-conditions/basics.rst:433 +#: ../misc/object-conditions/basics.rst:447 msgid "Additional Information and Remarks" msgstr "" -#: ../misc/object-conditions/basics.rst:442 +#: ../misc/object-conditions/basics.rst:456 msgid "Ticket context conditions do not support:" msgstr "" -#: ../misc/object-conditions/basics.rst:439 +#: ../misc/object-conditions/basics.rst:453 msgid "regular expressions" msgstr "" -#: ../misc/object-conditions/basics.rst:440 +#: ../misc/object-conditions/basics.rst:454 msgid "case sensitive string conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:441 +#: ../misc/object-conditions/basics.rst:455 msgid "" "Basic conditions do not support the same attribute to be selected more than " "once" msgstr "" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "**has changed** conditions:" msgstr "" -#: ../misc/object-conditions/basics.rst:445 +#: ../misc/object-conditions/basics.rst:459 msgid "Are only available for ticket attributes and don't affect:" msgstr "" -#: ../misc/object-conditions/basics.rst:447 +#: ../misc/object-conditions/basics.rst:461 msgid "Ticket articles attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:448 +#: ../misc/object-conditions/basics.rst:462 msgid "Organization attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:449 +#: ../misc/object-conditions/basics.rst:463 msgid "User attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "Group attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:463 +#: ../misc/object-conditions/basics.rst:477 msgid "Differences in input fields:" msgstr "" -#: ../misc/object-conditions/basics.rst:453 +#: ../misc/object-conditions/basics.rst:467 msgid "" "Please note that the input field for tokens doesn't support the comma as " "separator (as in the input field for tags). If you use the comma in the " "token input field, the comma is included in you token." msgstr "" -#: ../misc/object-conditions/basics.rst:457 +#: ../misc/object-conditions/basics.rst:471 msgid "**Example**:" msgstr "" @@ -16634,32 +16727,257 @@ msgstr "" msgid "Example of comma usage in token input field" msgstr "" -#: ../misc/object-conditions/basics.rst:462 +#: ../misc/object-conditions/basics.rst:476 msgid "" "``A`` added with enter/tab, ``B`` and ``C`` separated with comma (resulting " "in one token)." msgstr "" -#: ../misc/object-conditions/basics.rst:468 +#: ../misc/object-conditions/basics.rst:482 +msgid "Multi-Select Operator Examples" +msgstr "" + +#: ../misc/object-conditions/basics.rst:484 +msgid "" +"The ``contains`` family of operators for multi-select fields compares two " +"sets of values: the values currently in the field and the values specified " +"in the condition. The diagrams below show the condition values as an orange " +"circle and the field values as a blue circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:489 +msgid "" +"Be aware that these operators behave **differently** in :doc:`core workflows " +"`. See :ref:`core workflow condition operators ` for a side by side comparison." +msgstr "" + +#: ../misc/object-conditions/basics.rst:495 +#: ../system/core-workflows/condition-operators.rst:165 +msgid "Example 1: Condition A, B - Field A, B, C" +msgstr "" + +#: ../misc/object-conditions/basics.rst:497 +#: ../system/core-workflows/condition-operators.rst:167 +msgid "" +"In this scenario, the field holds the values A, B and C, while the condition " +"asks for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "" +"Venn diagram of condition values A, B and field values A, B, C. A and B are " +"in both circles, C only in the field circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "Condition values ``A, B`` overlap with field values ``A, B, C``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:510 +#: ../misc/object-conditions/basics.rst:544 +#: ../misc/object-conditions/basics.rst:581 +#: ../misc/object-conditions/basics.rst:613 +#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:141 +#: ../system/core-workflows/condition-operators.rst:180 +#: ../system/core-workflows/condition-operators.rst:220 +#: ../system/core-workflows/condition-operators.rst:263 +#: ../system/core-workflows/condition-operators.rst:303 +msgid "Operator" +msgstr "" + +#: ../misc/object-conditions/basics.rst:511 +#: ../misc/object-conditions/basics.rst:545 +#: ../misc/object-conditions/basics.rst:582 +#: ../misc/object-conditions/basics.rst:614 +#: ../system/core-workflows/condition-operators.rst:181 +#: ../system/core-workflows/condition-operators.rst:221 +#: ../system/core-workflows/condition-operators.rst:264 +#: ../system/core-workflows/condition-operators.rst:304 +msgid "Matches?" +msgstr "" + +#: ../misc/object-conditions/basics.rst:512 +#: ../misc/object-conditions/basics.rst:546 +#: ../misc/object-conditions/basics.rst:583 +#: ../misc/object-conditions/basics.rst:615 +#: ../system/core-workflows/condition-operators.rst:182 +#: ../system/core-workflows/condition-operators.rst:222 +#: ../system/core-workflows/condition-operators.rst:265 +#: ../system/core-workflows/condition-operators.rst:305 +msgid "Why" +msgstr "" + +#: ../misc/object-conditions/basics.rst:515 +#: ../system/core-workflows/condition-operators.rst:185 +msgid "``A`` and ``B`` are in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:518 +#: ../system/core-workflows/condition-operators.rst:191 +msgid "Both ``A`` and ``B`` are present (AND logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:521 +msgid "All condition values are present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:524 +msgid "The field has values in common with the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:527 +#: ../system/core-workflows/condition-operators.rst:203 +msgid "Example 2: Condition A, B, C - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:529 +#: ../system/core-workflows/condition-operators.rst:205 +msgid "" +"In this scenario, the field holds the values C and D. The condition value C " +"is present in the field, while A and B are not." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Venn diagram of condition values A, B, C and field values C, D.\n" +"Only C is in both circles." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Condition values ``A, B, C`` partially overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:549 +#: ../system/core-workflows/condition-operators.rst:225 +msgid "``C`` is in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:552 +#: ../system/core-workflows/condition-operators.rst:231 +msgid "Only ``C`` of the three condition values is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:555 +#: ../misc/object-conditions/basics.rst:592 +msgid "``A`` and ``B`` are missing from the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:558 +msgid "``C`` is in both the field and the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:560 +msgid "" +"This partial overlap is where the two \"not\" operators part ways: " +"``contains all not`` matches because a single condition value is missing, " +"while ``contains one not`` does not match because the one common value is " +"enough to block it." +msgstr "" + +#: ../misc/object-conditions/basics.rst:566 +#: ../system/core-workflows/condition-operators.rst:248 +msgid "Example 3: Condition A, B - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:568 +#: ../system/core-workflows/condition-operators.rst:250 +msgid "" +"In this scenario, the field holds the values C and D, which have nothing in " +"common with the condition values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "" +"Venn diagram of condition values A, B and field values C, D. The two circles " +"do not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "Condition values ``A, B`` have no overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:586 +#: ../system/core-workflows/condition-operators.rst:268 +msgid "No value is in both sets." +msgstr "" + +#: ../misc/object-conditions/basics.rst:589 +#: ../system/core-workflows/condition-operators.rst:274 +msgid "Neither ``A`` nor ``B`` is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:595 +#: ../misc/object-conditions/basics.rst:627 +#: ../system/core-workflows/condition-operators.rst:159 +#: ../system/core-workflows/condition-operators.rst:161 +#: ../system/core-workflows/condition-operators.rst:283 +msgid "The field has no value in common with the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:598 +#: ../system/core-workflows/condition-operators.rst:288 +msgid "Example 4: Condition A, B - Field is empty" +msgstr "" + +#: ../misc/object-conditions/basics.rst:600 +#: ../system/core-workflows/condition-operators.rst:290 +msgid "" +"In this scenario, the field holds no values at all, while the condition asks " +"for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "" +"Venn diagram of condition values A, B and an empty field. The two circles do " +"not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "The field holds no values at all." +msgstr "" + +#: ../misc/object-conditions/basics.rst:618 +#: ../misc/object-conditions/basics.rst:621 +#: ../system/core-workflows/condition-operators.rst:308 +#: ../system/core-workflows/condition-operators.rst:314 +msgid "No value is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:624 +msgid "No condition value is present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:632 msgid "Regex" msgstr "" -#: ../misc/object-conditions/basics.rst:473 +#: ../misc/object-conditions/basics.rst:637 msgid "Regex support" msgstr "" -#: ../misc/object-conditions/basics.rst:471 +#: ../misc/object-conditions/basics.rst:635 msgid "" "**matches regex** and **does not match regex** are supported only in " "Triggers, Time Accounting selector, Postmaster Filters, Automatic ticket " "assignment and Core Workflow." msgstr "" -#: ../misc/object-conditions/basics.rst:478 +#: ../misc/object-conditions/basics.rst:642 msgid "\"Old\" style ``regex:...`` conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:476 +#: ../misc/object-conditions/basics.rst:640 msgid "" "If you update your Zammad from 6.0 or prior and you have already conditions " "with **contains** or **contains not** including a regex filter (i.e. " @@ -22859,9 +23177,9 @@ msgstr "" #: ../system/core-workflows/condition-operators.rst:8 msgid "" -"Due to differences to other places in Zammad which are also using conditions " -"(e.g. triggers), you can find a dedicated description of operators for core " -"workflows below." +"Due to differences from other places in Zammad which are also using " +"conditions (e.g. triggers), you can find a dedicated description of " +"operators for core workflows below." msgstr "" #: ../system/core-workflows/condition-operators.rst:12 @@ -22871,272 +23189,419 @@ msgid "" "for system attributes (e.g. for \"tags\", \"active\")." msgstr "" -#: ../system/core-workflows/condition-operators.rst:20 -msgid "Operator" -msgstr "" - -#: ../system/core-workflows/condition-operators.rst:22 +#: ../system/core-workflows/condition-operators.rst:23 msgid "after (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:23 +#: ../system/core-workflows/condition-operators.rst:24 msgid "Matches if a date/time is after a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:24 +#: ../system/core-workflows/condition-operators.rst:25 msgid "after (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:25 +#: ../system/core-workflows/condition-operators.rst:26 msgid "Matches if a time span after a specified event has passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:26 +#: ../system/core-workflows/condition-operators.rst:27 msgid "before (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:27 +#: ../system/core-workflows/condition-operators.rst:28 msgid "Matches if a date/time is before a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:28 +#: ../system/core-workflows/condition-operators.rst:29 msgid "before (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:29 +#: ../system/core-workflows/condition-operators.rst:30 msgid "Matches if a time span after a specified event has not passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:30 +#: ../system/core-workflows/condition-operators.rst:31 +#: ../system/core-workflows/condition-operators.rst:144 +#: ../system/core-workflows/condition-operators.rst:183 +#: ../system/core-workflows/condition-operators.rst:223 +#: ../system/core-workflows/condition-operators.rst:266 +#: ../system/core-workflows/condition-operators.rst:306 msgid "contains" msgstr "" -#: ../system/core-workflows/condition-operators.rst:31 -msgid "Matches if a specified value is present." +#: ../system/core-workflows/condition-operators.rst:32 +msgid "" +"Matches if **at least one** of the specified values is present in the field " +"(OR logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:33 -msgid "Matches if all of the specified values are present." +#: ../system/core-workflows/condition-operators.rst:34 +#: ../system/core-workflows/condition-operators.rst:153 +#: ../system/core-workflows/condition-operators.rst:192 +#: ../system/core-workflows/condition-operators.rst:232 +#: ../system/core-workflows/condition-operators.rst:275 +#: ../system/core-workflows/condition-operators.rst:315 +msgid "contains not" msgstr "" #: ../system/core-workflows/condition-operators.rst:35 -msgid "Matches if none of the specified values are present." +msgid "" +"Matches if the field contains at least one value that is **not** among the " +"specified values. Also matches if the field is empty." msgstr "" -#: ../system/core-workflows/condition-operators.rst:36 -msgid "contains not" +#: ../system/core-workflows/condition-operators.rst:39 +msgid "" +"Matches if **every** specified value is present in the field (AND logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:37 -msgid "Matches if a specified value is not present." +#: ../system/core-workflows/condition-operators.rst:42 +msgid "" +"Matches if **none** of the specified values are present in the field. The " +"field and the condition have no value in common: this means \"contains none " +"of\", not \"does not contain all of\"." msgstr "" -#: ../system/core-workflows/condition-operators.rst:39 -msgid "Matches if one specified value is present." +#: ../system/core-workflows/condition-operators.rst:46 +msgid "" +"In triggers and overviews, this operator means \"not all of the specified " +"values are present\" instead. See the examples section below." msgstr "" -#: ../system/core-workflows/condition-operators.rst:41 -msgid "Matches if one specified value is not present." +#: ../system/core-workflows/condition-operators.rst:50 +msgid "" +"Same as ``contains``. Matches if **at least one** of the specified values is " +"present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:42 +#: ../system/core-workflows/condition-operators.rst:53 +msgid "" +"Same as ``contains not``. Matches if the field contains at least one value " +"that is **not** among the specified values." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:56 msgid "does not match regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:43 +#: ../system/core-workflows/condition-operators.rst:57 msgid "Matches if content doesn't fit to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:44 +#: ../system/core-workflows/condition-operators.rst:58 msgid "ends with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:45 +#: ../system/core-workflows/condition-operators.rst:59 msgid "Matches if content ends with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:46 +#: ../system/core-workflows/condition-operators.rst:60 msgid "ends with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:47 +#: ../system/core-workflows/condition-operators.rst:61 msgid "Matches if content ends with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:48 +#: ../system/core-workflows/condition-operators.rst:62 msgid "from (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:63 msgid "Matches if date/time is after a period of time after an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:51 +#: ../system/core-workflows/condition-operators.rst:65 msgid "Matches if content is equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:66 msgid "is any of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:53 +#: ../system/core-workflows/condition-operators.rst:67 msgid "Matches if content is equal to any of specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:54 +#: ../system/core-workflows/condition-operators.rst:68 msgid "is greater than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:55 +#: ../system/core-workflows/condition-operators.rst:69 msgid "Matches if the value is greater than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:56 +#: ../system/core-workflows/condition-operators.rst:70 msgid "is greater than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:57 +#: ../system/core-workflows/condition-operators.rst:71 msgid "Matches if the value is greater than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:58 +#: ../system/core-workflows/condition-operators.rst:72 msgid "is less than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:59 +#: ../system/core-workflows/condition-operators.rst:73 msgid "Matches if the value is less than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:60 +#: ../system/core-workflows/condition-operators.rst:74 msgid "is less than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:61 +#: ../system/core-workflows/condition-operators.rst:75 msgid "Matches if the value is less than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:62 +#: ../system/core-workflows/condition-operators.rst:76 msgid "is modified" msgstr "" -#: ../system/core-workflows/condition-operators.rst:63 +#: ../system/core-workflows/condition-operators.rst:77 msgid "Matches if content is modified." msgstr "" -#: ../system/core-workflows/condition-operators.rst:65 -#: ../system/core-workflows/condition-operators.rst:69 +#: ../system/core-workflows/condition-operators.rst:79 +#: ../system/core-workflows/condition-operators.rst:83 msgid "True from the moment of changing content until form submit." msgstr "" -#: ../system/core-workflows/condition-operators.rst:66 +#: ../system/core-workflows/condition-operators.rst:80 msgid "is modified to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:67 +#: ../system/core-workflows/condition-operators.rst:81 msgid "Matches if content is modified to a specific value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:70 +#: ../system/core-workflows/condition-operators.rst:84 msgid "is none of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:71 +#: ../system/core-workflows/condition-operators.rst:85 msgid "Matches if content is none of any specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:73 +#: ../system/core-workflows/condition-operators.rst:87 msgid "Matches if content is not equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:75 +#: ../system/core-workflows/condition-operators.rst:89 msgid "Matches if content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:76 +#: ../system/core-workflows/condition-operators.rst:90 msgid "just changed" msgstr "" -#: ../system/core-workflows/condition-operators.rst:77 +#: ../system/core-workflows/condition-operators.rst:91 msgid "Matches if content has changed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:79 -#: ../system/core-workflows/condition-operators.rst:83 +#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:97 msgid "" "Only true for the moment of changing content until next form field action/" "click." msgstr "" -#: ../system/core-workflows/condition-operators.rst:80 +#: ../system/core-workflows/condition-operators.rst:94 msgid "just changed to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:81 +#: ../system/core-workflows/condition-operators.rst:95 msgid "Matches if content has changed to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:84 +#: ../system/core-workflows/condition-operators.rst:98 msgid "matches regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:85 +#: ../system/core-workflows/condition-operators.rst:99 msgid "Matches if value fits to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:87 +#: ../system/core-workflows/condition-operators.rst:101 msgid "Matches if no content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:88 +#: ../system/core-workflows/condition-operators.rst:102 msgid "starts with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:89 +#: ../system/core-workflows/condition-operators.rst:103 msgid "Matches if content starts with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:90 +#: ../system/core-workflows/condition-operators.rst:104 msgid "starts with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:91 +#: ../system/core-workflows/condition-operators.rst:105 msgid "Matches if content starts with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:92 +#: ../system/core-workflows/condition-operators.rst:106 msgid "till (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:107 msgid "Matches if date/time is before a period of time before an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:94 +#: ../system/core-workflows/condition-operators.rst:108 msgid "today" msgstr "" -#: ../system/core-workflows/condition-operators.rst:95 +#: ../system/core-workflows/condition-operators.rst:109 msgid "Matches if date/time is today." msgstr "" -#: ../system/core-workflows/condition-operators.rst:96 +#: ../system/core-workflows/condition-operators.rst:110 msgid "within last (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:97 +#: ../system/core-workflows/condition-operators.rst:111 msgid "" "Matches if date/time content is within specified period of time before now." msgstr "" -#: ../system/core-workflows/condition-operators.rst:99 +#: ../system/core-workflows/condition-operators.rst:113 msgid "within next (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:100 +#: ../system/core-workflows/condition-operators.rst:114 msgid "" "Matches if date/time content is within specified period of time after now." msgstr "" +#: ../system/core-workflows/condition-operators.rst:118 +msgid "Multi-Select Operators" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:120 +msgid "" +"The ``contains`` family of operators compares two sets of values: the values " +"currently in the field and the values specified in the condition. The " +"diagrams below show the condition values as an orange circle and the field " +"values as a blue circle." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:128 +msgid "Differences to Triggers and Overviews" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:130 +msgid "" +"Be aware that these operators behave **differently** in other features that " +"use conditions (e.g. triggers and overviews). The most confusing difference: " +"in core workflows, ``contains all not`` means that no value matches at all, " +"while in triggers and overviews it means \"not all values are present\". The " +"table below compares both worlds side by side." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:142 +msgid "Core workflows (this page)" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:143 +msgid "Triggers, overviews, etc." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:145 +#: ../system/core-workflows/condition-operators.rst:149 +msgid "At least one value is present (OR logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:146 +msgid "Not available; ``contains one`` is the equivalent." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:148 +#: ../system/core-workflows/condition-operators.rst:188 +#: ../system/core-workflows/condition-operators.rst:228 +#: ../system/core-workflows/condition-operators.rst:271 +#: ../system/core-workflows/condition-operators.rst:311 +msgid "Same as ``contains``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:151 +#: ../system/core-workflows/condition-operators.rst:152 +msgid "Every value is present (AND logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:154 +msgid "" +"At least one field value is outside the condition, or the field is empty." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:156 +msgid "Not available for multi-select fields." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:158 +#: ../system/core-workflows/condition-operators.rst:197 +#: ../system/core-workflows/condition-operators.rst:237 +#: ../system/core-workflows/condition-operators.rst:280 +#: ../system/core-workflows/condition-operators.rst:320 +msgid "Same as ``contains not``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:162 +msgid "Not all values are present (at least one is missing)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:194 +msgid "``C`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:200 +msgid "``A`` and ``B`` are present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:234 +msgid "``D`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:240 +msgid "``C`` is present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:242 +msgid "" +"This partial overlap is where the two \"all\" operators part ways: " +"``contains all`` fails because one condition value is missing, while " +"``contains all not`` fails because a single common value is enough to block " +"it." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:277 +msgid "``C`` and ``D`` are not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:285 +msgid "This is the only example where ``contains all not`` matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:317 +msgid "An empty field matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:323 +msgid "An empty field has no value in common with the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:325 +msgid "" +"Note that ``contains not`` and ``contains one not`` match an empty field, " +"while ``contains`` and ``contains all`` do not. If you want to exclude " +"specific values, be aware that empty fields pass the condition." +msgstr "" + #: ../system/core-workflows/how-do-they-work.rst:2 msgid "How do they work?" msgstr "" diff --git a/locale/pl/LC_MESSAGES/admin-docs.po b/locale/pl/LC_MESSAGES/admin-docs.po index 2596859a3..aec25ebe6 100644 --- a/locale/pl/LC_MESSAGES/admin-docs.po +++ b/locale/pl/LC_MESSAGES/admin-docs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Zammad\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-24 17:19+0200\n" +"POT-Creation-Date: 2026-08-28 15:08+0200\n" "PO-Revision-Date: 2026-07-29 08:04+0000\n" "Last-Translator: SamolJacek \n" "Language-Team: Polish ` and consider switching your plan. When a " @@ -1141,17 +1142,17 @@ msgid "" "alerted when few calls remain." msgstr "" -#: ../ai/provider.rst:288 +#: ../ai/provider.rst:289 msgid "" "On SaaS, the Zammad AI provider is provisioned by the platform and you " "cannot delete it or change its type." msgstr "" -#: ../ai/provider.rst:295 +#: ../ai/provider.rst:296 msgid "Self-Hosted Customers" msgstr "" -#: ../ai/provider.rst:292 +#: ../ai/provider.rst:293 msgid "" "Get in touch with our `sales department `_ to obtain a Zammad AI API key and to buy AI calls. After " @@ -1159,14 +1160,14 @@ msgid "" "key." msgstr "" -#: ../ai/provider.rst:300 +#: ../ai/provider.rst:301 msgid "" "`Ollama `_ lets you run your own AI server on a machine " "you control, so your data is not transferred to a third party. This approach " "only makes sense if you have a powerful GPU in your system!" msgstr "" -#: ../ai/provider.rst:304 +#: ../ai/provider.rst:305 msgid "" "If you don't have Ollama running yet, their `documentation `_ is a good starting point. Available models are listed in " @@ -4215,7 +4216,7 @@ msgstr "" msgid "Signatures" msgstr "" -#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:436 +#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:450 #: ../system/monitoring.rst:9 msgid "General" msgstr "" @@ -4944,7 +4945,7 @@ msgstr "" #: ../channels/form.rst:250 ../manage/public-links.rst:43 #: ../misc/object-conditions/basics.rst:63 ../misc/variables.rst:101 -#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:22 #: ../system/objects/permissions.rst:36 ../system/subscription.rst:196 #, fuzzy msgid "Description" @@ -8677,6 +8678,29 @@ msgstr "" #: ../manage/groups/settings.rst:42 ../manage/groups/settings.rst:63 #: ../misc/object-conditions/basics.rst:121 #: ../misc/object-conditions/basics.rst:136 +#: ../misc/object-conditions/basics.rst:514 +#: ../misc/object-conditions/basics.rst:517 +#: ../misc/object-conditions/basics.rst:548 +#: ../misc/object-conditions/basics.rst:554 +#: ../misc/object-conditions/basics.rst:591 +#: ../misc/object-conditions/basics.rst:594 +#: ../misc/object-conditions/basics.rst:623 +#: ../misc/object-conditions/basics.rst:626 +#: ../system/core-workflows/condition-operators.rst:184 +#: ../system/core-workflows/condition-operators.rst:187 +#: ../system/core-workflows/condition-operators.rst:190 +#: ../system/core-workflows/condition-operators.rst:193 +#: ../system/core-workflows/condition-operators.rst:196 +#: ../system/core-workflows/condition-operators.rst:224 +#: ../system/core-workflows/condition-operators.rst:227 +#: ../system/core-workflows/condition-operators.rst:233 +#: ../system/core-workflows/condition-operators.rst:236 +#: ../system/core-workflows/condition-operators.rst:276 +#: ../system/core-workflows/condition-operators.rst:279 +#: ../system/core-workflows/condition-operators.rst:282 +#: ../system/core-workflows/condition-operators.rst:316 +#: ../system/core-workflows/condition-operators.rst:319 +#: ../system/core-workflows/condition-operators.rst:322 msgid "yes" msgstr "" @@ -8731,6 +8755,23 @@ msgstr "" #: ../manage/groups/settings.rst:66 ../misc/object-conditions/basics.rst:122 #: ../misc/object-conditions/basics.rst:137 +#: ../misc/object-conditions/basics.rst:520 +#: ../misc/object-conditions/basics.rst:523 +#: ../misc/object-conditions/basics.rst:551 +#: ../misc/object-conditions/basics.rst:557 +#: ../misc/object-conditions/basics.rst:585 +#: ../misc/object-conditions/basics.rst:588 +#: ../misc/object-conditions/basics.rst:617 +#: ../misc/object-conditions/basics.rst:620 +#: ../system/core-workflows/condition-operators.rst:199 +#: ../system/core-workflows/condition-operators.rst:230 +#: ../system/core-workflows/condition-operators.rst:239 +#: ../system/core-workflows/condition-operators.rst:267 +#: ../system/core-workflows/condition-operators.rst:270 +#: ../system/core-workflows/condition-operators.rst:273 +#: ../system/core-workflows/condition-operators.rst:307 +#: ../system/core-workflows/condition-operators.rst:310 +#: ../system/core-workflows/condition-operators.rst:313 msgid "no" msgstr "" @@ -9136,7 +9177,7 @@ msgid "" msgstr "" #: ../manage/knowledge-base.rst:136 ../manage/public-links.rst:35 -#: ../manage/time-accounting.rst:147 ../manage/time-accounting.rst:161 +#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 #: ../system/maintenance.rst:31 msgid "Title" msgstr "" @@ -12391,16 +12432,18 @@ msgstr "" #: ../manage/time-accounting.rst:22 msgid "" "If a ticket is relevant, Zammad will request the agent to provide the time " -"which was needed to process the current ticket step. In order for Zammad to " -"bring up the time accounting dialog to an agent, the agent has to update the " -"ticket together with an article of any type. The adding of an article is " -"mandatory to invoke the time accounting dialog. However, the time accounting " -"dialog is not mandatory and can be canceled by your agents. You cannot " -"enforce the time accounting. When a ticket is no longer considered for the " -"time accounting, the already accounted time will be preserved." +"which was needed to process the current ticket step. This accounted time is " +"displayed in the ticket sidebar at ticket level and in the article meta " +"information for an individual article. In order for Zammad to bring up the " +"time accounting dialog to an agent, the agent has to update the ticket " +"together with an article of any type. The adding of an article is mandatory " +"to invoke the time accounting dialog. However, the time accounting dialog is " +"not mandatory and can be canceled by your agents. You cannot enforce the " +"time accounting. When a ticket is no longer considered for the time " +"accounting, the already accounted time will be preserved." msgstr "" -#: ../manage/time-accounting.rst:33 +#: ../manage/time-accounting.rst:35 msgid "" "The selector applies to the ticket state before any attribute changes have " "been saved. That means if your agent is e.g. going to close a ticket " @@ -12412,49 +12455,49 @@ msgstr "" msgid "Time Accounting Ticket Selector" msgstr "" -#: ../manage/time-accounting.rst:42 +#: ../manage/time-accounting.rst:44 msgid "" "The accounted time is always a unitless number. However, it is possible to " "show a specific unit in the **Unit** section, which provides several options:" msgstr "" -#: ../manage/time-accounting.rst:46 +#: ../manage/time-accounting.rst:48 msgid "no unit" msgstr "" -#: ../manage/time-accounting.rst:47 +#: ../manage/time-accounting.rst:49 msgid "Default behavior, no unit is shown next to the time value." msgstr "" -#: ../manage/time-accounting.rst:48 +#: ../manage/time-accounting.rst:50 msgid "hour(s)" msgstr "" -#: ../manage/time-accounting.rst:49 +#: ../manage/time-accounting.rst:51 msgid "Shows ``hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:50 +#: ../manage/time-accounting.rst:52 msgid "quarter-hour(s)" msgstr "" -#: ../manage/time-accounting.rst:51 +#: ../manage/time-accounting.rst:53 msgid "Shows ``quarter-hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:52 +#: ../manage/time-accounting.rst:54 msgid "minute(s)" msgstr "" -#: ../manage/time-accounting.rst:53 +#: ../manage/time-accounting.rst:55 msgid "Shows ``minute(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "custom unit" msgstr "" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "Shows a custom unit that can be specified as free input." msgstr "" @@ -12462,7 +12505,7 @@ msgstr "" msgid "Time Accounting Unit" msgstr "" -#: ../manage/time-accounting.rst:62 +#: ../manage/time-accounting.rst:64 msgid "" "The unit is only displayed to make it easier for agents to account their " "time! No numerical transformation will be applied to the values, not even if " @@ -12474,11 +12517,11 @@ msgstr "" msgid "Time Accounting Unit when Recording" msgstr "" -#: ../manage/time-accounting.rst:72 +#: ../manage/time-accounting.rst:74 msgid "Activity Types" msgstr "" -#: ../manage/time-accounting.rst:74 +#: ../manage/time-accounting.rst:76 msgid "" "**Activity Types** can be used to group the different ticket time accounting " "entries together. For example, entries that are relevant to a \"Billing\" " @@ -12489,7 +12532,7 @@ msgstr "" msgid "Time Accounting Activity Types" msgstr "" -#: ../manage/time-accounting.rst:81 +#: ../manage/time-accounting.rst:83 msgid "" "When you enable the recording of the **Activity Type**, the agents will be " "able to select a type from this list." @@ -12499,13 +12542,13 @@ msgstr "" msgid "Time Accounting Activity Type Selection for Agents" msgstr "" -#: ../manage/time-accounting.rst:88 +#: ../manage/time-accounting.rst:90 msgid "" "Additionally, a column with an associated activity type will be rendered for " "an entry in the **Activity** table under the **Accounted Time** tab." msgstr "" -#: ../manage/time-accounting.rst:91 +#: ../manage/time-accounting.rst:93 msgid "" "You can manage available activity types in this screen like any other Zammad " "object. Only active types will be available for the selection when recording " @@ -12517,7 +12560,7 @@ msgstr "" msgid "New Time Accounting Activity Type Dialog" msgstr "" -#: ../manage/time-accounting.rst:100 +#: ../manage/time-accounting.rst:102 msgid "" "Activity types can be set as default, and in that case they will be pre-" "selected for the agents when they are asked to account their time. It is " @@ -12525,29 +12568,29 @@ msgid "" "pre-selected and the agents can make their choice." msgstr "" -#: ../manage/time-accounting.rst:106 +#: ../manage/time-accounting.rst:108 msgid "Accounted Time" msgstr "" -#: ../manage/time-accounting.rst:108 +#: ../manage/time-accounting.rst:110 msgid "" "Under the **Accounted Time** tab, Zammad provides a section for reviewing " "all accounted times for your tickets. Accounted times are displayed per " "years and months." msgstr "" -#: ../manage/time-accounting.rst:112 +#: ../manage/time-accounting.rst:114 msgid "" "If you have tickets that are overlapping several months, you can " "differentiate by *time units* and *time units total* (e.g. to allow partial " "billing) in the downloaded file." msgstr "" -#: ../manage/time-accounting.rst:123 +#: ../manage/time-accounting.rst:125 msgid "Select the right month" msgstr "" -#: ../manage/time-accounting.rst:117 +#: ../manage/time-accounting.rst:119 msgid "" "Usually you want to bill accounted time of other months than the current " "one. Just select the relevant year and month to receive the accounted times " @@ -12558,85 +12601,85 @@ msgstr "" msgid "Screenshot showing a selection for year and month on time accounting" msgstr "" -#: ../manage/time-accounting.rst:186 +#: ../manage/time-accounting.rst:188 msgid "Tickets and their accounted time" msgstr "" -#: ../manage/time-accounting.rst:126 +#: ../manage/time-accounting.rst:128 msgid "" "Zammad allows you to receive the accounted information just like you need " "them. For this you currently have four options to review and also download " "the relevant data as CSV." msgstr "" -#: ../manage/time-accounting.rst:130 +#: ../manage/time-accounting.rst:132 msgid "" "To download the CSV data, use the download button right next to each heading " "(e.g. \"Ticket\")." msgstr "" -#: ../manage/time-accounting.rst:133 +#: ../manage/time-accounting.rst:135 msgid "This can also be automated with API calls." msgstr "" -#: ../manage/time-accounting.rst:136 +#: ../manage/time-accounting.rst:138 msgid "" "Only the first 20 entries are shown for each table. To see all of them, " "simply download the records in CSV." msgstr "" -#: ../manage/time-accounting.rst:153 +#: ../manage/time-accounting.rst:155 msgid "Activity" msgstr "" -#: ../manage/time-accounting.rst:140 +#: ../manage/time-accounting.rst:142 msgid "" "This filter works similar to the ticket filter, with one exception: You'll " "find each *individual* time accounting step of your agents. This is what " "you'd also see in the ticket's history before Zammad 5.2." msgstr "" -#: ../manage/time-accounting.rst:144 ../manage/time-accounting.rst:158 -#: ../manage/time-accounting.rst:175 +#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:177 msgid "In this list you'll see the following ticket information:" msgstr "" -#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 #: ../settings/ticket.rst:103 msgid "Number" msgstr "" -#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 -#: ../manage/time-accounting.rst:179 ../manage/time-accounting.rst:177 +#: ../manage/time-accounting.rst:150 ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:181 ../manage/time-accounting.rst:179 #: ../misc/object-conditions/basics.rst:37 #: ../misc/object-conditions/basics.rst:89 #: ../misc/object-conditions/basics.rst:171 msgid "Customer" msgstr "" -#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 -#: ../manage/time-accounting.rst:178 +#: ../manage/time-accounting.rst:151 ../manage/time-accounting.rst:165 +#: ../manage/time-accounting.rst:180 msgid "Organization of customer (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:150 +#: ../manage/time-accounting.rst:152 msgid "Agent that accounted the time" msgstr "" -#: ../manage/time-accounting.rst:151 +#: ../manage/time-accounting.rst:153 msgid "Time units accounted in the current activity" msgstr "" -#: ../manage/time-accounting.rst:152 +#: ../manage/time-accounting.rst:154 msgid "Activity type (if enabled)" msgstr "" -#: ../manage/time-accounting.rst:153 ../manage/time-accounting.rst:167 +#: ../manage/time-accounting.rst:155 ../manage/time-accounting.rst:169 #: ../system/audit-logs.rst:76 msgid "Created at" msgstr "" -#: ../manage/time-accounting.rst:168 ../misc/object-conditions/basics.rst:26 +#: ../manage/time-accounting.rst:170 ../misc/object-conditions/basics.rst:26 #: ../misc/object-conditions/basics.rst:90 #: ../misc/object-conditions/basics.rst:126 #: ../misc/object-conditions/basics.rst:139 @@ -12652,45 +12695,45 @@ msgstr "" msgid "Ticket" msgstr "" -#: ../manage/time-accounting.rst:156 +#: ../manage/time-accounting.rst:158 msgid "This filter contains all relevant tickets from the selected month." msgstr "" -#: ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:166 msgid "Agent currently assigned (ticket owner)" msgstr "" -#: ../manage/time-accounting.rst:165 ../manage/time-accounting.rst:179 +#: ../manage/time-accounting.rst:167 ../manage/time-accounting.rst:181 msgid "Time units accounted in the current month" msgstr "" -#: ../manage/time-accounting.rst:166 +#: ../manage/time-accounting.rst:168 msgid "Time units total (time accounted during ticket life)" msgstr "" -#: ../manage/time-accounting.rst:168 +#: ../manage/time-accounting.rst:170 msgid "Closed at (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:171 +#: ../manage/time-accounting.rst:173 msgid "" "This provides you a per user filter on accounted time units. Each user has a " "total of time accounted in the current month (over all applicable tickets)." msgstr "" -#: ../manage/time-accounting.rst:186 ../misc/object-conditions/basics.rst:28 +#: ../manage/time-accounting.rst:188 ../misc/object-conditions/basics.rst:28 #: ../misc/object-conditions/basics.rst:115 #: ../misc/object-conditions/basics.rst:146 ../settings/branding.rst:16 msgid "Organization" msgstr "" -#: ../manage/time-accounting.rst:182 +#: ../manage/time-accounting.rst:184 msgid "" "This provides a list of all organizations where customers have caused " "accounted time in that month." msgstr "" -#: ../manage/time-accounting.rst:185 +#: ../manage/time-accounting.rst:187 msgid "" "You can also see entries for customers that are part of a primary " "organization. Users without an organization can be found in the Customer " @@ -15834,7 +15877,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:185 #: ../misc/object-conditions/basics.rst:209 #: ../misc/object-conditions/basics.rst:219 -#: ../system/core-workflows/condition-operators.rst:50 +#: ../system/core-workflows/condition-operators.rst:64 msgid "is" msgstr "" @@ -15851,7 +15894,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:186 #: ../misc/object-conditions/basics.rst:210 #: ../misc/object-conditions/basics.rst:220 -#: ../system/core-workflows/condition-operators.rst:72 +#: ../system/core-workflows/condition-operators.rst:86 msgid "is not" msgstr "" @@ -15923,7 +15966,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:97 #: ../misc/object-conditions/basics.rst:155 #: ../misc/object-conditions/basics.rst:204 -#: ../system/core-workflows/condition-operators.rst:86 +#: ../system/core-workflows/condition-operators.rst:100 msgid "not set" msgstr "" @@ -16083,22 +16126,58 @@ msgid "Checks tags of a ticket." msgstr "" #: ../misc/object-conditions/basics.rst:193 -#: ../system/core-workflows/condition-operators.rst:32 +#: ../misc/object-conditions/basics.rst:516 +#: ../misc/object-conditions/basics.rst:550 +#: ../misc/object-conditions/basics.rst:587 +#: ../misc/object-conditions/basics.rst:619 +#: ../system/core-workflows/condition-operators.rst:38 +#: ../system/core-workflows/condition-operators.rst:150 +#: ../system/core-workflows/condition-operators.rst:189 +#: ../system/core-workflows/condition-operators.rst:229 +#: ../system/core-workflows/condition-operators.rst:272 +#: ../system/core-workflows/condition-operators.rst:312 msgid "contains all" msgstr "" #: ../misc/object-conditions/basics.rst:194 -#: ../system/core-workflows/condition-operators.rst:38 +#: ../misc/object-conditions/basics.rst:513 +#: ../misc/object-conditions/basics.rst:547 +#: ../misc/object-conditions/basics.rst:584 +#: ../misc/object-conditions/basics.rst:616 +#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:147 +#: ../system/core-workflows/condition-operators.rst:186 +#: ../system/core-workflows/condition-operators.rst:226 +#: ../system/core-workflows/condition-operators.rst:269 +#: ../system/core-workflows/condition-operators.rst:309 msgid "contains one" msgstr "" #: ../misc/object-conditions/basics.rst:195 -#: ../system/core-workflows/condition-operators.rst:34 +#: ../misc/object-conditions/basics.rst:519 +#: ../misc/object-conditions/basics.rst:553 +#: ../misc/object-conditions/basics.rst:590 +#: ../misc/object-conditions/basics.rst:622 +#: ../system/core-workflows/condition-operators.rst:41 +#: ../system/core-workflows/condition-operators.rst:160 +#: ../system/core-workflows/condition-operators.rst:198 +#: ../system/core-workflows/condition-operators.rst:238 +#: ../system/core-workflows/condition-operators.rst:281 +#: ../system/core-workflows/condition-operators.rst:321 msgid "contains all not" msgstr "" #: ../misc/object-conditions/basics.rst:196 -#: ../system/core-workflows/condition-operators.rst:40 +#: ../misc/object-conditions/basics.rst:522 +#: ../misc/object-conditions/basics.rst:556 +#: ../misc/object-conditions/basics.rst:593 +#: ../misc/object-conditions/basics.rst:625 +#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:157 +#: ../system/core-workflows/condition-operators.rst:195 +#: ../system/core-workflows/condition-operators.rst:235 +#: ../system/core-workflows/condition-operators.rst:278 +#: ../system/core-workflows/condition-operators.rst:318 msgid "contains one not" msgstr "" @@ -16119,7 +16198,7 @@ msgid "Checks if time is accounted." msgstr "" #: ../misc/object-conditions/basics.rst:203 -#: ../system/core-workflows/condition-operators.rst:74 +#: ../system/core-workflows/condition-operators.rst:88 msgid "is set" msgstr "" @@ -16177,8 +16256,8 @@ msgstr "" #: ../misc/object-conditions/basics.rst:334 #: ../misc/object-conditions/basics.rst:381 #: ../misc/object-conditions/basics.rst:392 -#: ../misc/object-conditions/basics.rst:410 #: ../misc/object-conditions/basics.rst:421 +#: ../misc/object-conditions/basics.rst:432 msgid "Available operators for matching:" msgstr "" @@ -16264,7 +16343,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:269 #: ../misc/object-conditions/basics.rst:284 #: ../misc/object-conditions/basics.rst:385 -#: ../misc/object-conditions/basics.rst:414 +#: ../misc/object-conditions/basics.rst:425 msgid "**has changed**" msgstr "" @@ -16279,14 +16358,14 @@ msgstr "" #: ../misc/object-conditions/basics.rst:267 #: ../misc/object-conditions/basics.rst:278 #: ../misc/object-conditions/basics.rst:383 -#: ../misc/object-conditions/basics.rst:412 +#: ../misc/object-conditions/basics.rst:423 msgid "**is**" msgstr "" #: ../misc/object-conditions/basics.rst:268 #: ../misc/object-conditions/basics.rst:279 #: ../misc/object-conditions/basics.rst:384 -#: ../misc/object-conditions/basics.rst:413 +#: ../misc/object-conditions/basics.rst:424 msgid "**is not**" msgstr "" @@ -16534,7 +16613,7 @@ msgid "**contains all**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are selected." +msgid "Matches if **all** given field values are selected (AND logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16542,7 +16621,8 @@ msgid "**contains one**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is selected." +msgid "" +"Matches if **at least one** of the given field values is selected (OR logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16550,7 +16630,9 @@ msgid "**contains all not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are not selected." +msgid "" +"Matches if **not all** given field values are selected (at least one is " +"missing). This means \"not all of\", not \"none of\"." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16558,24 +16640,35 @@ msgid "**contains one not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is not selected." +msgid "" +"Matches if **none** of the given field values are selected. This means " +"\"none of\", not \"not all of\"." msgstr "" -#: ../misc/object-conditions/basics.rst:405 ../system/objects/types.rst:135 +#: ../misc/object-conditions/basics.rst:408 +msgid "" +"In :doc:`core workflows `, these operators have " +"different semantics. See :ref:`core workflow condition operators ` for details. Example scenarios for the " +"operators described here can be found in :ref:`multi-select-operator-" +"examples` below." +msgstr "" + +#: ../misc/object-conditions/basics.rst:416 ../system/objects/types.rst:135 msgid "Single Tree Selection Field" msgstr "" -#: ../misc/object-conditions/basics.rst:407 +#: ../misc/object-conditions/basics.rst:418 msgid "" "Checks if a selected field value match the attribute value. Selecting more " "than one value in the condition will act like an \"OR\" clause." msgstr "" -#: ../misc/object-conditions/basics.rst:417 ../system/objects/types.rst:148 +#: ../misc/object-conditions/basics.rst:428 ../system/objects/types.rst:148 msgid "Multiple Tree Selection Field" msgstr "" -#: ../misc/object-conditions/basics.rst:419 +#: ../misc/object-conditions/basics.rst:430 msgid "Checks if selected field value(s) match the attribute value(s)." msgstr "" @@ -16595,65 +16688,65 @@ msgstr "" msgid "**contains one not**" msgstr "" -#: ../misc/object-conditions/basics.rst:433 +#: ../misc/object-conditions/basics.rst:447 msgid "Additional Information and Remarks" msgstr "" -#: ../misc/object-conditions/basics.rst:442 +#: ../misc/object-conditions/basics.rst:456 msgid "Ticket context conditions do not support:" msgstr "" -#: ../misc/object-conditions/basics.rst:439 +#: ../misc/object-conditions/basics.rst:453 msgid "regular expressions" msgstr "" -#: ../misc/object-conditions/basics.rst:440 +#: ../misc/object-conditions/basics.rst:454 msgid "case sensitive string conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:441 +#: ../misc/object-conditions/basics.rst:455 msgid "" "Basic conditions do not support the same attribute to be selected more than " "once" msgstr "" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "**has changed** conditions:" msgstr "" -#: ../misc/object-conditions/basics.rst:445 +#: ../misc/object-conditions/basics.rst:459 msgid "Are only available for ticket attributes and don't affect:" msgstr "" -#: ../misc/object-conditions/basics.rst:447 +#: ../misc/object-conditions/basics.rst:461 #, fuzzy msgid "Ticket articles attributes" msgstr "priorytet" -#: ../misc/object-conditions/basics.rst:448 +#: ../misc/object-conditions/basics.rst:462 msgid "Organization attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:449 +#: ../misc/object-conditions/basics.rst:463 msgid "User attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "Group attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:463 +#: ../misc/object-conditions/basics.rst:477 msgid "Differences in input fields:" msgstr "" -#: ../misc/object-conditions/basics.rst:453 +#: ../misc/object-conditions/basics.rst:467 msgid "" "Please note that the input field for tokens doesn't support the comma as " "separator (as in the input field for tags). If you use the comma in the " "token input field, the comma is included in you token." msgstr "" -#: ../misc/object-conditions/basics.rst:457 +#: ../misc/object-conditions/basics.rst:471 msgid "**Example**:" msgstr "" @@ -16661,32 +16754,257 @@ msgstr "" msgid "Example of comma usage in token input field" msgstr "" -#: ../misc/object-conditions/basics.rst:462 +#: ../misc/object-conditions/basics.rst:476 msgid "" "``A`` added with enter/tab, ``B`` and ``C`` separated with comma (resulting " "in one token)." msgstr "" -#: ../misc/object-conditions/basics.rst:468 +#: ../misc/object-conditions/basics.rst:482 +msgid "Multi-Select Operator Examples" +msgstr "" + +#: ../misc/object-conditions/basics.rst:484 +msgid "" +"The ``contains`` family of operators for multi-select fields compares two " +"sets of values: the values currently in the field and the values specified " +"in the condition. The diagrams below show the condition values as an orange " +"circle and the field values as a blue circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:489 +msgid "" +"Be aware that these operators behave **differently** in :doc:`core workflows " +"`. See :ref:`core workflow condition operators ` for a side by side comparison." +msgstr "" + +#: ../misc/object-conditions/basics.rst:495 +#: ../system/core-workflows/condition-operators.rst:165 +msgid "Example 1: Condition A, B - Field A, B, C" +msgstr "" + +#: ../misc/object-conditions/basics.rst:497 +#: ../system/core-workflows/condition-operators.rst:167 +msgid "" +"In this scenario, the field holds the values A, B and C, while the condition " +"asks for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "" +"Venn diagram of condition values A, B and field values A, B, C. A and B are " +"in both circles, C only in the field circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "Condition values ``A, B`` overlap with field values ``A, B, C``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:510 +#: ../misc/object-conditions/basics.rst:544 +#: ../misc/object-conditions/basics.rst:581 +#: ../misc/object-conditions/basics.rst:613 +#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:141 +#: ../system/core-workflows/condition-operators.rst:180 +#: ../system/core-workflows/condition-operators.rst:220 +#: ../system/core-workflows/condition-operators.rst:263 +#: ../system/core-workflows/condition-operators.rst:303 +msgid "Operator" +msgstr "" + +#: ../misc/object-conditions/basics.rst:511 +#: ../misc/object-conditions/basics.rst:545 +#: ../misc/object-conditions/basics.rst:582 +#: ../misc/object-conditions/basics.rst:614 +#: ../system/core-workflows/condition-operators.rst:181 +#: ../system/core-workflows/condition-operators.rst:221 +#: ../system/core-workflows/condition-operators.rst:264 +#: ../system/core-workflows/condition-operators.rst:304 +msgid "Matches?" +msgstr "" + +#: ../misc/object-conditions/basics.rst:512 +#: ../misc/object-conditions/basics.rst:546 +#: ../misc/object-conditions/basics.rst:583 +#: ../misc/object-conditions/basics.rst:615 +#: ../system/core-workflows/condition-operators.rst:182 +#: ../system/core-workflows/condition-operators.rst:222 +#: ../system/core-workflows/condition-operators.rst:265 +#: ../system/core-workflows/condition-operators.rst:305 +msgid "Why" +msgstr "" + +#: ../misc/object-conditions/basics.rst:515 +#: ../system/core-workflows/condition-operators.rst:185 +msgid "``A`` and ``B`` are in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:518 +#: ../system/core-workflows/condition-operators.rst:191 +msgid "Both ``A`` and ``B`` are present (AND logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:521 +msgid "All condition values are present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:524 +msgid "The field has values in common with the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:527 +#: ../system/core-workflows/condition-operators.rst:203 +msgid "Example 2: Condition A, B, C - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:529 +#: ../system/core-workflows/condition-operators.rst:205 +msgid "" +"In this scenario, the field holds the values C and D. The condition value C " +"is present in the field, while A and B are not." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Venn diagram of condition values A, B, C and field values C, D.\n" +"Only C is in both circles." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Condition values ``A, B, C`` partially overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:549 +#: ../system/core-workflows/condition-operators.rst:225 +msgid "``C`` is in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:552 +#: ../system/core-workflows/condition-operators.rst:231 +msgid "Only ``C`` of the three condition values is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:555 +#: ../misc/object-conditions/basics.rst:592 +msgid "``A`` and ``B`` are missing from the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:558 +msgid "``C`` is in both the field and the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:560 +msgid "" +"This partial overlap is where the two \"not\" operators part ways: " +"``contains all not`` matches because a single condition value is missing, " +"while ``contains one not`` does not match because the one common value is " +"enough to block it." +msgstr "" + +#: ../misc/object-conditions/basics.rst:566 +#: ../system/core-workflows/condition-operators.rst:248 +msgid "Example 3: Condition A, B - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:568 +#: ../system/core-workflows/condition-operators.rst:250 +msgid "" +"In this scenario, the field holds the values C and D, which have nothing in " +"common with the condition values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "" +"Venn diagram of condition values A, B and field values C, D. The two circles " +"do not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "Condition values ``A, B`` have no overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:586 +#: ../system/core-workflows/condition-operators.rst:268 +msgid "No value is in both sets." +msgstr "" + +#: ../misc/object-conditions/basics.rst:589 +#: ../system/core-workflows/condition-operators.rst:274 +msgid "Neither ``A`` nor ``B`` is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:595 +#: ../misc/object-conditions/basics.rst:627 +#: ../system/core-workflows/condition-operators.rst:159 +#: ../system/core-workflows/condition-operators.rst:161 +#: ../system/core-workflows/condition-operators.rst:283 +msgid "The field has no value in common with the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:598 +#: ../system/core-workflows/condition-operators.rst:288 +msgid "Example 4: Condition A, B - Field is empty" +msgstr "" + +#: ../misc/object-conditions/basics.rst:600 +#: ../system/core-workflows/condition-operators.rst:290 +msgid "" +"In this scenario, the field holds no values at all, while the condition asks " +"for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "" +"Venn diagram of condition values A, B and an empty field. The two circles do " +"not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "The field holds no values at all." +msgstr "" + +#: ../misc/object-conditions/basics.rst:618 +#: ../misc/object-conditions/basics.rst:621 +#: ../system/core-workflows/condition-operators.rst:308 +#: ../system/core-workflows/condition-operators.rst:314 +msgid "No value is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:624 +msgid "No condition value is present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:632 msgid "Regex" msgstr "" -#: ../misc/object-conditions/basics.rst:473 +#: ../misc/object-conditions/basics.rst:637 msgid "Regex support" msgstr "" -#: ../misc/object-conditions/basics.rst:471 +#: ../misc/object-conditions/basics.rst:635 msgid "" "**matches regex** and **does not match regex** are supported only in " "Triggers, Time Accounting selector, Postmaster Filters, Automatic ticket " "assignment and Core Workflow." msgstr "" -#: ../misc/object-conditions/basics.rst:478 +#: ../misc/object-conditions/basics.rst:642 msgid "\"Old\" style ``regex:...`` conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:476 +#: ../misc/object-conditions/basics.rst:640 msgid "" "If you update your Zammad from 6.0 or prior and you have already conditions " "with **contains** or **contains not** including a regex filter (i.e. " @@ -22894,9 +23212,9 @@ msgstr "" #: ../system/core-workflows/condition-operators.rst:8 msgid "" -"Due to differences to other places in Zammad which are also using conditions " -"(e.g. triggers), you can find a dedicated description of operators for core " -"workflows below." +"Due to differences from other places in Zammad which are also using " +"conditions (e.g. triggers), you can find a dedicated description of " +"operators for core workflows below." msgstr "" #: ../system/core-workflows/condition-operators.rst:12 @@ -22906,272 +23224,419 @@ msgid "" "for system attributes (e.g. for \"tags\", \"active\")." msgstr "" -#: ../system/core-workflows/condition-operators.rst:20 -msgid "Operator" -msgstr "" - -#: ../system/core-workflows/condition-operators.rst:22 +#: ../system/core-workflows/condition-operators.rst:23 msgid "after (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:23 +#: ../system/core-workflows/condition-operators.rst:24 msgid "Matches if a date/time is after a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:24 +#: ../system/core-workflows/condition-operators.rst:25 msgid "after (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:25 +#: ../system/core-workflows/condition-operators.rst:26 msgid "Matches if a time span after a specified event has passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:26 +#: ../system/core-workflows/condition-operators.rst:27 msgid "before (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:27 +#: ../system/core-workflows/condition-operators.rst:28 msgid "Matches if a date/time is before a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:28 +#: ../system/core-workflows/condition-operators.rst:29 msgid "before (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:29 +#: ../system/core-workflows/condition-operators.rst:30 msgid "Matches if a time span after a specified event has not passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:30 +#: ../system/core-workflows/condition-operators.rst:31 +#: ../system/core-workflows/condition-operators.rst:144 +#: ../system/core-workflows/condition-operators.rst:183 +#: ../system/core-workflows/condition-operators.rst:223 +#: ../system/core-workflows/condition-operators.rst:266 +#: ../system/core-workflows/condition-operators.rst:306 msgid "contains" msgstr "" -#: ../system/core-workflows/condition-operators.rst:31 -msgid "Matches if a specified value is present." +#: ../system/core-workflows/condition-operators.rst:32 +msgid "" +"Matches if **at least one** of the specified values is present in the field " +"(OR logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:33 -msgid "Matches if all of the specified values are present." +#: ../system/core-workflows/condition-operators.rst:34 +#: ../system/core-workflows/condition-operators.rst:153 +#: ../system/core-workflows/condition-operators.rst:192 +#: ../system/core-workflows/condition-operators.rst:232 +#: ../system/core-workflows/condition-operators.rst:275 +#: ../system/core-workflows/condition-operators.rst:315 +msgid "contains not" msgstr "" #: ../system/core-workflows/condition-operators.rst:35 -msgid "Matches if none of the specified values are present." +msgid "" +"Matches if the field contains at least one value that is **not** among the " +"specified values. Also matches if the field is empty." msgstr "" -#: ../system/core-workflows/condition-operators.rst:36 -msgid "contains not" +#: ../system/core-workflows/condition-operators.rst:39 +msgid "" +"Matches if **every** specified value is present in the field (AND logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:37 -msgid "Matches if a specified value is not present." +#: ../system/core-workflows/condition-operators.rst:42 +msgid "" +"Matches if **none** of the specified values are present in the field. The " +"field and the condition have no value in common: this means \"contains none " +"of\", not \"does not contain all of\"." msgstr "" -#: ../system/core-workflows/condition-operators.rst:39 -msgid "Matches if one specified value is present." +#: ../system/core-workflows/condition-operators.rst:46 +msgid "" +"In triggers and overviews, this operator means \"not all of the specified " +"values are present\" instead. See the examples section below." msgstr "" -#: ../system/core-workflows/condition-operators.rst:41 -msgid "Matches if one specified value is not present." +#: ../system/core-workflows/condition-operators.rst:50 +msgid "" +"Same as ``contains``. Matches if **at least one** of the specified values is " +"present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:42 +#: ../system/core-workflows/condition-operators.rst:53 +msgid "" +"Same as ``contains not``. Matches if the field contains at least one value " +"that is **not** among the specified values." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:56 msgid "does not match regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:43 +#: ../system/core-workflows/condition-operators.rst:57 msgid "Matches if content doesn't fit to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:44 +#: ../system/core-workflows/condition-operators.rst:58 msgid "ends with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:45 +#: ../system/core-workflows/condition-operators.rst:59 msgid "Matches if content ends with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:46 +#: ../system/core-workflows/condition-operators.rst:60 msgid "ends with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:47 +#: ../system/core-workflows/condition-operators.rst:61 msgid "Matches if content ends with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:48 +#: ../system/core-workflows/condition-operators.rst:62 msgid "from (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:63 msgid "Matches if date/time is after a period of time after an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:51 +#: ../system/core-workflows/condition-operators.rst:65 msgid "Matches if content is equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:66 msgid "is any of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:53 +#: ../system/core-workflows/condition-operators.rst:67 msgid "Matches if content is equal to any of specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:54 +#: ../system/core-workflows/condition-operators.rst:68 msgid "is greater than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:55 +#: ../system/core-workflows/condition-operators.rst:69 msgid "Matches if the value is greater than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:56 +#: ../system/core-workflows/condition-operators.rst:70 msgid "is greater than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:57 +#: ../system/core-workflows/condition-operators.rst:71 msgid "Matches if the value is greater than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:58 +#: ../system/core-workflows/condition-operators.rst:72 msgid "is less than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:59 +#: ../system/core-workflows/condition-operators.rst:73 msgid "Matches if the value is less than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:60 +#: ../system/core-workflows/condition-operators.rst:74 msgid "is less than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:61 +#: ../system/core-workflows/condition-operators.rst:75 msgid "Matches if the value is less than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:62 +#: ../system/core-workflows/condition-operators.rst:76 msgid "is modified" msgstr "" -#: ../system/core-workflows/condition-operators.rst:63 +#: ../system/core-workflows/condition-operators.rst:77 msgid "Matches if content is modified." msgstr "" -#: ../system/core-workflows/condition-operators.rst:65 -#: ../system/core-workflows/condition-operators.rst:69 +#: ../system/core-workflows/condition-operators.rst:79 +#: ../system/core-workflows/condition-operators.rst:83 msgid "True from the moment of changing content until form submit." msgstr "" -#: ../system/core-workflows/condition-operators.rst:66 +#: ../system/core-workflows/condition-operators.rst:80 msgid "is modified to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:67 +#: ../system/core-workflows/condition-operators.rst:81 msgid "Matches if content is modified to a specific value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:70 +#: ../system/core-workflows/condition-operators.rst:84 msgid "is none of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:71 +#: ../system/core-workflows/condition-operators.rst:85 msgid "Matches if content is none of any specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:73 +#: ../system/core-workflows/condition-operators.rst:87 msgid "Matches if content is not equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:75 +#: ../system/core-workflows/condition-operators.rst:89 msgid "Matches if content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:76 +#: ../system/core-workflows/condition-operators.rst:90 msgid "just changed" msgstr "" -#: ../system/core-workflows/condition-operators.rst:77 +#: ../system/core-workflows/condition-operators.rst:91 msgid "Matches if content has changed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:79 -#: ../system/core-workflows/condition-operators.rst:83 +#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:97 msgid "" "Only true for the moment of changing content until next form field action/" "click." msgstr "" -#: ../system/core-workflows/condition-operators.rst:80 +#: ../system/core-workflows/condition-operators.rst:94 msgid "just changed to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:81 +#: ../system/core-workflows/condition-operators.rst:95 msgid "Matches if content has changed to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:84 +#: ../system/core-workflows/condition-operators.rst:98 msgid "matches regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:85 +#: ../system/core-workflows/condition-operators.rst:99 msgid "Matches if value fits to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:87 +#: ../system/core-workflows/condition-operators.rst:101 msgid "Matches if no content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:88 +#: ../system/core-workflows/condition-operators.rst:102 msgid "starts with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:89 +#: ../system/core-workflows/condition-operators.rst:103 msgid "Matches if content starts with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:90 +#: ../system/core-workflows/condition-operators.rst:104 msgid "starts with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:91 +#: ../system/core-workflows/condition-operators.rst:105 msgid "Matches if content starts with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:92 +#: ../system/core-workflows/condition-operators.rst:106 msgid "till (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:107 msgid "Matches if date/time is before a period of time before an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:94 +#: ../system/core-workflows/condition-operators.rst:108 msgid "today" msgstr "" -#: ../system/core-workflows/condition-operators.rst:95 +#: ../system/core-workflows/condition-operators.rst:109 msgid "Matches if date/time is today." msgstr "" -#: ../system/core-workflows/condition-operators.rst:96 +#: ../system/core-workflows/condition-operators.rst:110 msgid "within last (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:97 +#: ../system/core-workflows/condition-operators.rst:111 msgid "" "Matches if date/time content is within specified period of time before now." msgstr "" -#: ../system/core-workflows/condition-operators.rst:99 +#: ../system/core-workflows/condition-operators.rst:113 msgid "within next (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:100 +#: ../system/core-workflows/condition-operators.rst:114 msgid "" "Matches if date/time content is within specified period of time after now." msgstr "" +#: ../system/core-workflows/condition-operators.rst:118 +msgid "Multi-Select Operators" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:120 +msgid "" +"The ``contains`` family of operators compares two sets of values: the values " +"currently in the field and the values specified in the condition. The " +"diagrams below show the condition values as an orange circle and the field " +"values as a blue circle." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:128 +msgid "Differences to Triggers and Overviews" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:130 +msgid "" +"Be aware that these operators behave **differently** in other features that " +"use conditions (e.g. triggers and overviews). The most confusing difference: " +"in core workflows, ``contains all not`` means that no value matches at all, " +"while in triggers and overviews it means \"not all values are present\". The " +"table below compares both worlds side by side." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:142 +msgid "Core workflows (this page)" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:143 +msgid "Triggers, overviews, etc." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:145 +#: ../system/core-workflows/condition-operators.rst:149 +msgid "At least one value is present (OR logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:146 +msgid "Not available; ``contains one`` is the equivalent." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:148 +#: ../system/core-workflows/condition-operators.rst:188 +#: ../system/core-workflows/condition-operators.rst:228 +#: ../system/core-workflows/condition-operators.rst:271 +#: ../system/core-workflows/condition-operators.rst:311 +msgid "Same as ``contains``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:151 +#: ../system/core-workflows/condition-operators.rst:152 +msgid "Every value is present (AND logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:154 +msgid "" +"At least one field value is outside the condition, or the field is empty." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:156 +msgid "Not available for multi-select fields." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:158 +#: ../system/core-workflows/condition-operators.rst:197 +#: ../system/core-workflows/condition-operators.rst:237 +#: ../system/core-workflows/condition-operators.rst:280 +#: ../system/core-workflows/condition-operators.rst:320 +msgid "Same as ``contains not``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:162 +msgid "Not all values are present (at least one is missing)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:194 +msgid "``C`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:200 +msgid "``A`` and ``B`` are present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:234 +msgid "``D`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:240 +msgid "``C`` is present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:242 +msgid "" +"This partial overlap is where the two \"all\" operators part ways: " +"``contains all`` fails because one condition value is missing, while " +"``contains all not`` fails because a single common value is enough to block " +"it." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:277 +msgid "``C`` and ``D`` are not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:285 +msgid "This is the only example where ``contains all not`` matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:317 +msgid "An empty field matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:323 +msgid "An empty field has no value in common with the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:325 +msgid "" +"Note that ``contains not`` and ``contains one not`` match an empty field, " +"while ``contains`` and ``contains all`` do not. If you want to exclude " +"specific values, be aware that empty fields pass the condition." +msgstr "" + #: ../system/core-workflows/how-do-they-work.rst:2 msgid "How do they work?" msgstr "" diff --git a/locale/pt_BR/LC_MESSAGES/admin-docs.po b/locale/pt_BR/LC_MESSAGES/admin-docs.po index fa15595b4..c6aca239d 100644 --- a/locale/pt_BR/LC_MESSAGES/admin-docs.po +++ b/locale/pt_BR/LC_MESSAGES/admin-docs.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: Zammad\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-24 17:19+0200\n" -"PO-Revision-Date: 2026-08-26 05:05+0000\n" +"POT-Creation-Date: 2026-08-28 15:08+0200\n" +"PO-Revision-Date: 2026-08-31 09:47+0000\n" "Last-Translator: Igor Costa \n" "Language-Team: Portuguese (Brazil) \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 2026.7.1\n" +"X-Generator: Weblate 2026.8.1\n" #: ../ai/ai-agents.rst:2 msgid "AI Agents" @@ -907,7 +907,7 @@ msgstr "Tipo" msgid "Pick the AI provider. Available options:" msgstr "Escolha o provedor de IA. Opções disponíveis:" -#: ../ai/provider.rst:52 ../ai/provider.rst:267 +#: ../ai/provider.rst:52 ../ai/provider.rst:268 msgid "Zammad AI" msgstr "Zammad AI" @@ -915,7 +915,7 @@ msgstr "Zammad AI" msgid "OpenAI" msgstr "OpenAI" -#: ../ai/provider.rst:54 ../ai/provider.rst:298 +#: ../ai/provider.rst:54 ../ai/provider.rst:299 msgid "Ollama" msgstr "Ollama" @@ -1029,7 +1029,7 @@ msgstr "" "atribua cada conexão ao seu respectivo recurso pela :ref:`configuração de " "provedor por recurso `." -#: ../ai/provider.rst:120 +#: ../ai/provider.rst:121 msgid "Embedding Model" msgstr "Modelo de embedding" @@ -1093,24 +1093,25 @@ msgid "" "Changing the embedding model or the embedding dimensions triggers a full " "rebuild of the knowledge base index. This re-embeds every knowledge base " "article, which takes time and costs AI calls proportional to the size of " -"your knowledge base. Zammad shows a confirmation dialog before the change is " -"saved. Switching the semantic search capability to a provider that uses the " -"same embedding model and dimensions does not trigger a rebuild." +"your knowledge base. The rebuild runs in the background and Zammad notifies " +"you with a toast message when it starts. Switching the semantic search " +"capability to a provider that uses the same embedding model and dimensions " +"does not trigger a rebuild." msgstr "" "Alterar o modelo de embedding ou as dimensões do embedding aciona uma " "reconstrução completa do índice da base de conhecimento. Isso reprocessa (re-" "embeds) todos os artigos da base de conhecimento, o que leva tempo e consome " -"chamadas de IA proporcionalmente ao tamanho da sua base de conhecimento. O " -"Zammad exibe uma caixa de diálogo de confirmação antes de salvar a " -"alteração. Trocar a capacidade de pesquisa semântica para um provedor que " -"usa o mesmo modelo de embedding e as mesmas dimensões não aciona uma " -"reconstrução." +"chamadas de IA proporcionalmente ao tamanho da sua base de conhecimento. A " +"reconstrução é executada em segundo plano, e o Zammad avisa você com uma " +"notificação toast quando ela começa. Trocar a capacidade de pesquisa " +"semântica para um provedor que usa o mesmo modelo de embedding e as mesmas " +"dimensões não aciona uma reconstrução." -#: ../ai/provider.rst:127 +#: ../ai/provider.rst:128 msgid "OCR Model" msgstr "Modo" -#: ../ai/provider.rst:123 +#: ../ai/provider.rst:124 msgid "" "The model used to extract text from images. The dropdown lists the models " "the provider offers. The default option falls back to the **Model** field. " @@ -1124,11 +1125,11 @@ msgstr "" "campo. Nem todo provedor oferece suporte a reconhecimento de texto em " "imagens; o campo aparece somente para os que oferecem." -#: ../ai/provider.rst:131 ../manage/knowledge-base.rst:139 +#: ../ai/provider.rst:132 ../manage/knowledge-base.rst:139 msgid "URL" msgstr "URL" -#: ../ai/provider.rst:130 +#: ../ai/provider.rst:131 msgid "" "The URL or IP address of the provider. Required for Ollama and OpenAI " "compatible providers." @@ -1136,22 +1137,22 @@ msgstr "" "Informe a URL ou o endereço IP do seu provedor. Isso é necessário para " "provedores Ollama e compatíveis com OpenAI." -#: ../ai/provider.rst:134 +#: ../ai/provider.rst:135 msgid "URL (Completions)" msgstr "URL (Completions)" -#: ../ai/provider.rst:134 +#: ../ai/provider.rst:135 msgid "" "Azure AI only. The endpoint where the text generation model is available." msgstr "" "Somente para o Azure AI como provedor. Adicione o endpoint onde seu modelo " "de geração de texto está disponível." -#: ../ai/provider.rst:138 +#: ../ai/provider.rst:139 msgid "URL (OCR)" msgstr "URL (OCR)" -#: ../ai/provider.rst:137 +#: ../ai/provider.rst:138 msgid "" "Azure AI only. The endpoint where the OCR model is available. Leave empty to " "fall back to URL (Completions)." @@ -1159,7 +1160,7 @@ msgstr "" "Somente para o Azure AI. O endpoint onde o modelo de OCR está disponível. " "Deixe em branco para usar a URL (Completions) como alternativa." -#: ../ai/provider.rst:140 +#: ../ai/provider.rst:141 msgid "" "After filling in the fields, click ``Submit``. Zammad tests the " "configuration before saving. If the test succeeds, the row's status dot " @@ -1171,11 +1172,11 @@ msgstr "" "status da linha começa laranja até que a primeira solicitação bem-sucedida o " "torne verde; veja Status abaixo para as cores." -#: ../ai/provider.rst:146 +#: ../ai/provider.rst:147 msgid "Status" msgstr "Status" -#: ../ai/provider.rst:148 +#: ../ai/provider.rst:149 msgid "" "The colored dot at the start of each row shows whether the provider has been " "used successfully or whether it has issues:" @@ -1183,11 +1184,11 @@ msgstr "" "O indicador colorido no início de cada linha mostra se o provedor já foi " "usado com sucesso ou se apresenta problemas:" -#: ../ai/provider.rst:153 +#: ../ai/provider.rst:154 msgid "Green" msgstr "Verde" -#: ../ai/provider.rst:152 +#: ../ai/provider.rst:153 msgid "" "The provider has been used and the last request succeeded. The tooltip shows " "the timestamp of the last status update." @@ -1195,11 +1196,11 @@ msgstr "" "O provedor já foi usado e a última solicitação teve sucesso. A dica exibe o " "horário da última atualização de status." -#: ../ai/provider.rst:157 +#: ../ai/provider.rst:158 msgid "Orange" msgstr "Laranja" -#: ../ai/provider.rst:156 +#: ../ai/provider.rst:157 msgid "" "The provider is configured but has not been used yet. It turns green after " "the first successful request." @@ -1207,11 +1208,11 @@ msgstr "" "O provedor está configurado, mas ainda não foi usado. Ele fica verde após a " "primeira solicitação bem-sucedida." -#: ../ai/provider.rst:162 +#: ../ai/provider.rst:163 msgid "Red" msgstr "Vermelho" -#: ../ai/provider.rst:160 +#: ../ai/provider.rst:161 msgid "" "The last request to this provider failed. Hover the dot for the error " "message from the provider. The tooltip always shows the most recent error, " @@ -1221,11 +1222,11 @@ msgstr "" "para ver a mensagem de erro do provedor. A dica sempre mostra o erro mais " "recente, então o horário pertence à última solicitação que falhou." -#: ../ai/provider.rst:167 +#: ../ai/provider.rst:168 msgid "Default Provider" msgstr "Provedor padrão" -#: ../ai/provider.rst:169 +#: ../ai/provider.rst:170 msgid "" "The **Default** provider serves every AI feature that has no specific " "provider assigned. You set it from the ︙ menu in the **Action** column. A " @@ -1245,7 +1246,7 @@ msgstr "" "Captura de tela mostra a lista de provedores com um provedor marcado como " "padrão para as três finalidades" -#: ../ai/provider.rst:178 +#: ../ai/provider.rst:179 msgid "" "When you mark a provider as the default, Zammad clears that flag from " "whichever provider held it before, so the new default takes over " @@ -1258,11 +1259,11 @@ msgstr "" "provedor que possui a marcação, o Zammad promove o provedor restante mais " "antigo." -#: ../ai/provider.rst:186 +#: ../ai/provider.rst:187 msgid "Capabilities" msgstr "Capacidades" -#: ../ai/provider.rst:188 +#: ../ai/provider.rst:189 msgid "" "Semantic search and image text recognition (OCR) are capabilities. You " "assign them from the ︙ menu in the **Action** column; the badges mark which " @@ -1272,11 +1273,11 @@ msgstr "" "capacidades. Você as atribui pelo menu ⫹ na coluna **Action**; os selos " "indicam qual provedor cobre atualmente cada capacidade." -#: ../ai/provider.rst:200 +#: ../ai/provider.rst:201 msgid "Semantic search" msgstr "Pesquisa semântica" -#: ../ai/provider.rst:193 +#: ../ai/provider.rst:194 msgid "" "The provider used to turn text into numerical form (vector embeddings) so " "the knowledge base can find answers by meaning, not just keywords." @@ -1285,7 +1286,7 @@ msgstr "" "vetoriais), para que a base de conhecimento possa encontrar respostas pelo " "significado, não apenas por palavras-chave." -#: ../ai/provider.rst:196 +#: ../ai/provider.rst:197 msgid "" "If no provider covers semantic search and a feature needs it, Zammad shows a " "warning on the corresponding feature page. Assign semantic search to a " @@ -1299,15 +1300,15 @@ msgstr "" "Model configurado para remover o aviso. Note que trocar essa atribuição pode " "acionar uma reconstrução completa do índice; veja **Embedding Model** acima." -#: ../ai/provider.rst:206 +#: ../ai/provider.rst:207 msgid "Image text recognition" msgstr "Reconhecimento de texto em imagens" -#: ../ai/provider.rst:203 +#: ../ai/provider.rst:204 msgid "The provider used to extract text from images (OCR)." msgstr "O provedor usado para extrair texto de imagens (OCR)." -#: ../ai/provider.rst:205 +#: ../ai/provider.rst:206 msgid "" "This capability is optional. To save on AI-related costs, you can remove it " "from all providers entirely; features then simply skip the OCR step." @@ -1316,7 +1317,7 @@ msgstr "" "você pode removê-la completamente de todos os provedores; os recursos " "simplesmente pulam a etapa de OCR." -#: ../ai/provider.rst:208 +#: ../ai/provider.rst:209 msgid "" "When you assign a capability to a provider, Zammad clears that assignment " "from whichever provider held it before, so the new assignment takes over " @@ -1330,27 +1331,27 @@ msgstr "" "promovidas: quando você exclui o provedor que cobre uma capacidade, ela " "simplesmente fica sem atribuição." -#: ../ai/provider.rst:215 ../manage/macros.rst:56 ../manage/templates.rst:28 +#: ../ai/provider.rst:216 ../manage/macros.rst:56 ../manage/templates.rst:28 msgid "Actions" msgstr "Ações" -#: ../ai/provider.rst:217 +#: ../ai/provider.rst:218 msgid "The ︙ menu in the **Action** column offers the following actions:" msgstr "O menu ⫹ na coluna **Action** oferece as seguintes ações:" -#: ../ai/provider.rst:220 +#: ../ai/provider.rst:221 msgid "Set as default" msgstr "Definir como padrão" -#: ../ai/provider.rst:220 +#: ../ai/provider.rst:221 msgid "Marks the provider as the default provider for AI features." msgstr "Marca o provedor como o provedor padrão para os recursos de IA." -#: ../ai/provider.rst:224 +#: ../ai/provider.rst:225 msgid "Use for semantic search / Do not use for semantic search" msgstr "Usar para pesquisa semântica / Não usar para pesquisa semântica" -#: ../ai/provider.rst:223 +#: ../ai/provider.rst:224 msgid "" "Assigns the provider to the semantic search capability, or clears that " "assignment. Only available for providers that support it." @@ -1358,13 +1359,13 @@ msgstr "" "Atribui o provedor à capacidade de pesquisa semântica, ou remove essa " "atribuição. Disponível apenas para provedores que a suportam." -#: ../ai/provider.rst:228 +#: ../ai/provider.rst:229 msgid "Use for image text recognition / Do not use for image text recognition" msgstr "" "Usar para reconhecimento de texto em imagens / Não usar para reconhecimento " "de texto em imagens" -#: ../ai/provider.rst:227 +#: ../ai/provider.rst:228 msgid "" "Assigns the provider to the image text recognition capability, or clears " "that assignment." @@ -1372,22 +1373,22 @@ msgstr "" "Atribui o provedor à capacidade de reconhecimento de texto em imagens, ou " "remove essa atribuição." -#: ../ai/provider.rst:231 ../channels/email/accounts/managing-accounts.rst:50 +#: ../ai/provider.rst:232 ../channels/email/accounts/managing-accounts.rst:50 #: ../channels/email/accounts/managing-accounts.rst:51 #: ../manage/calendars.rst:30 ../manage/knowledge-base.rst:147 #: ../manage/knowledge-base.rst:181 msgid "Delete" msgstr "Excluir" -#: ../ai/provider.rst:231 +#: ../ai/provider.rst:232 msgid "Removes the provider. Not available for the Zammad AI provider on SaaS." msgstr "Remove o provedor. Não disponível para o provedor Zammad AI no SaaS." -#: ../ai/provider.rst:236 +#: ../ai/provider.rst:237 msgid "Configuring Provider per Feature" msgstr "Configurando o provedor por recurso" -#: ../ai/provider.rst:238 +#: ../ai/provider.rst:239 msgid "" "By default, all AI features use the provider marked as the default. For " "finer control, you can pick a specific provider for individual features." @@ -1396,7 +1397,7 @@ msgstr "" "Para um controle mais preciso, você pode escolher um provedor específico " "para recursos individuais." -#: ../ai/provider.rst:241 +#: ../ai/provider.rst:242 msgid "" "Every AI feature settings page shows a ``Provider`` button in the page " "header. It opens a modal with a dropdown of all configured providers. Pick a " @@ -1416,7 +1417,7 @@ msgstr "" "Captura de tela mostra a janela modal de provedor por recurso, com um " "provedor selecionado" -#: ../ai/provider.rst:250 +#: ../ai/provider.rst:251 msgid "" "The choice only affects text generation. Semantic search always goes to the " "provider that covers the semantic search capability, and image text " @@ -1432,11 +1433,11 @@ msgstr "" "possuem a permissão ``admin.ai_provider``, já que o roteamento envolve os " "provedores configurados nesta página." -#: ../ai/provider.rst:258 +#: ../ai/provider.rst:259 msgid "Additional Provider Information" msgstr "Informações adicionais sobre provedores" -#: ../ai/provider.rst:260 +#: ../ai/provider.rst:261 msgid "" "If you want to know more about Zammad AI or Ollama, read on. Otherwise, head " "over to :doc:`feedback-and-logs` or pick any of the AI feature pages from " @@ -1446,7 +1447,7 @@ msgstr "" "leitura aqui. Caso contrário, vá para :doc:`feedback-and-logs` ou escolha " "qualquer uma das páginas de recursos de IA no menu à esquerda." -#: ../ai/provider.rst:269 +#: ../ai/provider.rst:270 msgid "" "Using Zammad AI as a provider is the easiest way to get started with " "Zammad's AI features. It has several key advantages:" @@ -1454,15 +1455,15 @@ msgstr "" "Usar o Zammad AI como provedor é a forma mais fácil de começar a usar os " "recursos de IA do Zammad. Ele tem grandes vantagens, como:" -#: ../ai/provider.rst:272 +#: ../ai/provider.rst:273 msgid "You don't have to set up an AI system or its configuration." msgstr "Você não precisa se preocupar com a configuração de um sistema de IA." -#: ../ai/provider.rst:273 +#: ../ai/provider.rst:274 msgid "Hosted in the EU and compliant with GDPR." msgstr "Hospedado na UE e em conformidade com o GDPR." -#: ../ai/provider.rst:274 +#: ../ai/provider.rst:275 msgid "" "No configuration in Zammad for SaaS customers, or just an API key for self-" "hosted customers." @@ -1470,21 +1471,21 @@ msgstr "" "Nenhuma configuração necessária no Zammad (para clientes SaaS) ou apenas uma " "chave de API necessária (para clientes auto-hospedados)." -#: ../ai/provider.rst:276 +#: ../ai/provider.rst:277 msgid "Requests with sensitive information aren't used for training." msgstr "" "Suas solicitações com informações sensíveis não são usadas para treinamento." -#: ../ai/provider.rst:277 +#: ../ai/provider.rst:278 msgid "One place to go for support when something isn't working as expected." msgstr "" "Um único lugar para buscar suporte quando algo não funcionar como esperado." -#: ../ai/provider.rst:289 +#: ../ai/provider.rst:290 msgid "SaaS Customers" msgstr "Clientes SaaS" -#: ../ai/provider.rst:281 +#: ../ai/provider.rst:282 msgid "" "Using Zammad AI requires a \"V2\" plan. Check your :doc:`subscription " "settings ` and consider switching your plan. When a " @@ -1501,7 +1502,7 @@ msgstr "" "chamadas de IA restantes ou ative a notificação para ser alertado quando " "restarem poucas chamadas." -#: ../ai/provider.rst:288 +#: ../ai/provider.rst:289 msgid "" "On SaaS, the Zammad AI provider is provisioned by the platform and you " "cannot delete it or change its type." @@ -1509,11 +1510,11 @@ msgstr "" "No SaaS, o provedor Zammad AI é provisionado pela plataforma, e você não " "pode excluí-lo nem alterar seu tipo." -#: ../ai/provider.rst:295 +#: ../ai/provider.rst:296 msgid "Self-Hosted Customers" msgstr "Clientes auto-hospedados" -#: ../ai/provider.rst:292 +#: ../ai/provider.rst:293 msgid "" "Get in touch with our `sales department `_ to obtain a Zammad AI API key and to buy AI calls. After " @@ -1525,7 +1526,7 @@ msgstr "" "chamadas de IA. Após receber sua chave de API, adicione um novo provedor do " "tipo *Zammad AI* e salve a chave." -#: ../ai/provider.rst:300 +#: ../ai/provider.rst:301 msgid "" "`Ollama `_ lets you run your own AI server on a machine " "you control, so your data is not transferred to a third party. This approach " @@ -1536,7 +1537,7 @@ msgstr "" "significa que seus dados não são transferidos para terceiros. Esteja ciente " "de que isso só faz sentido se você tiver uma GPU potente no seu sistema!" -#: ../ai/provider.rst:304 +#: ../ai/provider.rst:305 msgid "" "If you don't have Ollama running yet, their `documentation `_ is a good starting point. Available models are listed in " @@ -5377,7 +5378,7 @@ msgstr "" msgid "Signatures" msgstr "Assinaturas" -#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:436 +#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:450 #: ../system/monitoring.rst:9 msgid "General" msgstr "Geral" @@ -6327,7 +6328,7 @@ msgstr "Valor padrão" #: ../channels/form.rst:250 ../manage/public-links.rst:43 #: ../misc/object-conditions/basics.rst:63 ../misc/variables.rst:101 -#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:22 #: ../system/objects/permissions.rst:36 ../system/subscription.rst:196 msgid "Description" msgstr "Descrição" @@ -11184,6 +11185,29 @@ msgstr "" #: ../manage/groups/settings.rst:42 ../manage/groups/settings.rst:63 #: ../misc/object-conditions/basics.rst:121 #: ../misc/object-conditions/basics.rst:136 +#: ../misc/object-conditions/basics.rst:514 +#: ../misc/object-conditions/basics.rst:517 +#: ../misc/object-conditions/basics.rst:548 +#: ../misc/object-conditions/basics.rst:554 +#: ../misc/object-conditions/basics.rst:591 +#: ../misc/object-conditions/basics.rst:594 +#: ../misc/object-conditions/basics.rst:623 +#: ../misc/object-conditions/basics.rst:626 +#: ../system/core-workflows/condition-operators.rst:184 +#: ../system/core-workflows/condition-operators.rst:187 +#: ../system/core-workflows/condition-operators.rst:190 +#: ../system/core-workflows/condition-operators.rst:193 +#: ../system/core-workflows/condition-operators.rst:196 +#: ../system/core-workflows/condition-operators.rst:224 +#: ../system/core-workflows/condition-operators.rst:227 +#: ../system/core-workflows/condition-operators.rst:233 +#: ../system/core-workflows/condition-operators.rst:236 +#: ../system/core-workflows/condition-operators.rst:276 +#: ../system/core-workflows/condition-operators.rst:279 +#: ../system/core-workflows/condition-operators.rst:282 +#: ../system/core-workflows/condition-operators.rst:316 +#: ../system/core-workflows/condition-operators.rst:319 +#: ../system/core-workflows/condition-operators.rst:322 msgid "yes" msgstr "yes" @@ -11251,6 +11275,23 @@ msgstr "" #: ../manage/groups/settings.rst:66 ../misc/object-conditions/basics.rst:122 #: ../misc/object-conditions/basics.rst:137 +#: ../misc/object-conditions/basics.rst:520 +#: ../misc/object-conditions/basics.rst:523 +#: ../misc/object-conditions/basics.rst:551 +#: ../misc/object-conditions/basics.rst:557 +#: ../misc/object-conditions/basics.rst:585 +#: ../misc/object-conditions/basics.rst:588 +#: ../misc/object-conditions/basics.rst:617 +#: ../misc/object-conditions/basics.rst:620 +#: ../system/core-workflows/condition-operators.rst:199 +#: ../system/core-workflows/condition-operators.rst:230 +#: ../system/core-workflows/condition-operators.rst:239 +#: ../system/core-workflows/condition-operators.rst:267 +#: ../system/core-workflows/condition-operators.rst:270 +#: ../system/core-workflows/condition-operators.rst:273 +#: ../system/core-workflows/condition-operators.rst:307 +#: ../system/core-workflows/condition-operators.rst:310 +#: ../system/core-workflows/condition-operators.rst:313 msgid "no" msgstr "no" @@ -11753,7 +11794,7 @@ msgstr "" "remover URLs do seu menu de cabeçalho público ou menu de rodapé público." #: ../manage/knowledge-base.rst:136 ../manage/public-links.rst:35 -#: ../manage/time-accounting.rst:147 ../manage/time-accounting.rst:161 +#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 #: ../system/maintenance.rst:31 msgid "Title" msgstr "Título" @@ -12800,8 +12841,8 @@ msgid "" msgstr "" "Essa seleção se refere à configuração nas preferências do usuário (*Avatar > " "Profile > Out of office*). Se essa opção estiver marcada, essa visão geral " -"só é exibida para usuários que foram definidos como substitutos. Consulte a " -":user-docs:`seção de fora do escritório (documentação do usuário) ` para mais detalhes." #: ../manage/overviews.rst:52 @@ -15289,9 +15330,9 @@ msgstr "" "O Zammad avisará os agentes cerca de 15 minutos antes do escalonamento e " "quando o ticket finalmente escalonar. Além das notificações integradas, o " "Zammad também avisará os agentes enviando um email. Isso depende da " -"configuração de notificação dos seus agentes (que pode ser configurada nas " -":user-docs:`configurações de perfil " -"`)." +"configuração de notificação dos seus agentes (que pode ser configurada " +"nas :user-docs:`configurações de perfil `)." #: ../manage/slas.rst:161 msgid "" @@ -15749,16 +15790,20 @@ msgstr "" #: ../manage/time-accounting.rst:22 msgid "" "If a ticket is relevant, Zammad will request the agent to provide the time " -"which was needed to process the current ticket step. In order for Zammad to " -"bring up the time accounting dialog to an agent, the agent has to update the " -"ticket together with an article of any type. The adding of an article is " -"mandatory to invoke the time accounting dialog. However, the time accounting " -"dialog is not mandatory and can be canceled by your agents. You cannot " -"enforce the time accounting. When a ticket is no longer considered for the " -"time accounting, the already accounted time will be preserved." +"which was needed to process the current ticket step. This accounted time is " +"displayed in the ticket sidebar at ticket level and in the article meta " +"information for an individual article. In order for Zammad to bring up the " +"time accounting dialog to an agent, the agent has to update the ticket " +"together with an article of any type. The adding of an article is mandatory " +"to invoke the time accounting dialog. However, the time accounting dialog is " +"not mandatory and can be canceled by your agents. You cannot enforce the " +"time accounting. When a ticket is no longer considered for the time " +"accounting, the already accounted time will be preserved." msgstr "" "Se um ticket for relevante, o Zammad solicitará que o agente informe o tempo " -"necessário para processar a etapa atual do ticket. Para que o Zammad exiba a " +"necessário para processar a etapa atual do ticket. Esse tempo contabilizado " +"é exibido na barra lateral do ticket, no nível do ticket, e nas informações " +"de metadados do artigo para um artigo individual. Para que o Zammad exiba a " "caixa de diálogo de contabilização de tempo a um agente, o agente precisa " "atualizar o ticket junto com um artigo de qualquer tipo. A adição de um " "artigo é obrigatória para acionar a caixa de diálogo de contabilização de " @@ -15767,7 +15812,7 @@ msgstr "" "contabilização de tempo. Quando um ticket deixa de ser considerado para a " "contabilização de tempo, o tempo já contabilizado é preservado." -#: ../manage/time-accounting.rst:33 +#: ../manage/time-accounting.rst:35 msgid "" "The selector applies to the ticket state before any attribute changes have " "been saved. That means if your agent is e.g. going to close a ticket " @@ -15784,7 +15829,7 @@ msgstr "" msgid "Time Accounting Ticket Selector" msgstr "Árvore de Seleção" -#: ../manage/time-accounting.rst:42 +#: ../manage/time-accounting.rst:44 msgid "" "The accounted time is always a unitless number. However, it is possible to " "show a specific unit in the **Unit** section, which provides several options:" @@ -15792,44 +15837,44 @@ msgstr "" "O tempo contabilizado é sempre um número sem unidade. No entanto, é possível " "mostrar uma unidade específica na seção **Unit**, que oferece várias opções:" -#: ../manage/time-accounting.rst:46 +#: ../manage/time-accounting.rst:48 msgid "no unit" msgstr "sem unidade" -#: ../manage/time-accounting.rst:47 +#: ../manage/time-accounting.rst:49 msgid "Default behavior, no unit is shown next to the time value." msgstr "" "Comportamento padrão, nenhuma unidade é exibida ao lado do valor de tempo." -#: ../manage/time-accounting.rst:48 +#: ../manage/time-accounting.rst:50 msgid "hour(s)" msgstr "hora(s)" -#: ../manage/time-accounting.rst:49 +#: ../manage/time-accounting.rst:51 msgid "Shows ``hour(s)`` as the unit next to the time value." msgstr "Exibe ``hour(s)`` como a unidade ao lado do valor de tempo." -#: ../manage/time-accounting.rst:50 +#: ../manage/time-accounting.rst:52 msgid "quarter-hour(s)" msgstr "quarto de hora(s)" -#: ../manage/time-accounting.rst:51 +#: ../manage/time-accounting.rst:53 msgid "Shows ``quarter-hour(s)`` as the unit next to the time value." msgstr "Exibe ``quarter-hour(s)`` como a unidade ao lado do valor de tempo." -#: ../manage/time-accounting.rst:52 +#: ../manage/time-accounting.rst:54 msgid "minute(s)" msgstr "minuto(s)" -#: ../manage/time-accounting.rst:53 +#: ../manage/time-accounting.rst:55 msgid "Shows ``minute(s)`` as the unit next to the time value." msgstr "Exibe ``minute(s)`` como a unidade ao lado do valor de tempo." -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "custom unit" msgstr "unidade personalizada" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "Shows a custom unit that can be specified as free input." msgstr "" "Exibe uma unidade personalizada que pode ser especificada como entrada livre." @@ -15838,7 +15883,7 @@ msgstr "" msgid "Time Accounting Unit" msgstr "Unidade de contabilização de tempo" -#: ../manage/time-accounting.rst:62 +#: ../manage/time-accounting.rst:64 msgid "" "The unit is only displayed to make it easier for agents to account their " "time! No numerical transformation will be applied to the values, not even if " @@ -15854,11 +15899,11 @@ msgstr "" msgid "Time Accounting Unit when Recording" msgstr "Árvore de Seleção" -#: ../manage/time-accounting.rst:72 +#: ../manage/time-accounting.rst:74 msgid "Activity Types" msgstr "Tipos de atividade" -#: ../manage/time-accounting.rst:74 +#: ../manage/time-accounting.rst:76 msgid "" "**Activity Types** can be used to group the different ticket time accounting " "entries together. For example, entries that are relevant to a \"Billing\" " @@ -15872,7 +15917,7 @@ msgstr "" msgid "Time Accounting Activity Types" msgstr "Árvore de Seleção" -#: ../manage/time-accounting.rst:81 +#: ../manage/time-accounting.rst:83 msgid "" "When you enable the recording of the **Activity Type**, the agents will be " "able to select a type from this list." @@ -15884,7 +15929,7 @@ msgstr "" msgid "Time Accounting Activity Type Selection for Agents" msgstr "Árvore de Seleção" -#: ../manage/time-accounting.rst:88 +#: ../manage/time-accounting.rst:90 msgid "" "Additionally, a column with an associated activity type will be rendered for " "an entry in the **Activity** table under the **Accounted Time** tab." @@ -15892,7 +15937,7 @@ msgstr "" "Além disso, uma coluna com um tipo de atividade associado será exibida para " "uma entrada na tabela **Activity** na aba **Accounted Time**." -#: ../manage/time-accounting.rst:91 +#: ../manage/time-accounting.rst:93 msgid "" "You can manage available activity types in this screen like any other Zammad " "object. Only active types will be available for the selection when recording " @@ -15909,7 +15954,7 @@ msgstr "" msgid "New Time Accounting Activity Type Dialog" msgstr "Árvore de Seleção" -#: ../manage/time-accounting.rst:100 +#: ../manage/time-accounting.rst:102 msgid "" "Activity types can be set as default, and in that case they will be pre-" "selected for the agents when they are asked to account their time. It is " @@ -15922,11 +15967,11 @@ msgstr "" "nenhum tipo fica pré-selecionado e os agentes podem fazer sua própria " "escolha." -#: ../manage/time-accounting.rst:106 +#: ../manage/time-accounting.rst:108 msgid "Accounted Time" msgstr "Contas" -#: ../manage/time-accounting.rst:108 +#: ../manage/time-accounting.rst:110 msgid "" "Under the **Accounted Time** tab, Zammad provides a section for reviewing " "all accounted times for your tickets. Accounted times are displayed per " @@ -15936,7 +15981,7 @@ msgstr "" "tempos contabilizados dos seus tickets. Os tempos contabilizados são " "exibidos por ano e mês." -#: ../manage/time-accounting.rst:112 +#: ../manage/time-accounting.rst:114 msgid "" "If you have tickets that are overlapping several months, you can " "differentiate by *time units* and *time units total* (e.g. to allow partial " @@ -15946,11 +15991,11 @@ msgstr "" "*unidades de tempo* e *total de unidades de tempo* (por exemplo, para " "permitir faturamento parcial) no arquivo baixado." -#: ../manage/time-accounting.rst:123 +#: ../manage/time-accounting.rst:125 msgid "Select the right month" msgstr "Selecione o mês correto" -#: ../manage/time-accounting.rst:117 +#: ../manage/time-accounting.rst:119 msgid "" "Usually you want to bill accounted time of other months than the current " "one. Just select the relevant year and month to receive the accounted times " @@ -15965,11 +16010,11 @@ msgid "Screenshot showing a selection for year and month on time accounting" msgstr "" "A captura de tela mostra uma seleção de ano e mês na contabilização de tempo" -#: ../manage/time-accounting.rst:186 +#: ../manage/time-accounting.rst:188 msgid "Tickets and their accounted time" msgstr "Tickets e seu tempo contabilizado" -#: ../manage/time-accounting.rst:126 +#: ../manage/time-accounting.rst:128 msgid "" "Zammad allows you to receive the accounted information just like you need " "them. For this you currently have four options to review and also download " @@ -15979,7 +16024,7 @@ msgstr "" "precisa. Para isso, você tem atualmente quatro opções para revisar e também " "baixar os dados relevantes como CSV." -#: ../manage/time-accounting.rst:130 +#: ../manage/time-accounting.rst:132 msgid "" "To download the CSV data, use the download button right next to each heading " "(e.g. \"Ticket\")." @@ -15987,11 +16032,11 @@ msgstr "" "Para baixar os dados em CSV, use o botão de download ao lado de cada " "cabeçalho (por exemplo, \"Ticket\")." -#: ../manage/time-accounting.rst:133 +#: ../manage/time-accounting.rst:135 msgid "This can also be automated with API calls." msgstr "Isso também pode ser automatizado com chamadas de API." -#: ../manage/time-accounting.rst:136 +#: ../manage/time-accounting.rst:138 msgid "" "Only the first 20 entries are shown for each table. To see all of them, " "simply download the records in CSV." @@ -15999,11 +16044,11 @@ msgstr "" "Apenas as primeiras 20 entradas são exibidas para cada tabela. Para ver " "todas, basta baixar os registros em CSV." -#: ../manage/time-accounting.rst:153 +#: ../manage/time-accounting.rst:155 msgid "Activity" msgstr "Atividade" -#: ../manage/time-accounting.rst:140 +#: ../manage/time-accounting.rst:142 msgid "" "This filter works similar to the ticket filter, with one exception: You'll " "find each *individual* time accounting step of your agents. This is what " @@ -16014,47 +16059,47 @@ msgstr "" "dos seus agentes. Isso é o que você também veria no histórico do ticket " "antes do Zammad 5.2." -#: ../manage/time-accounting.rst:144 ../manage/time-accounting.rst:158 -#: ../manage/time-accounting.rst:175 +#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:177 msgid "In this list you'll see the following ticket information:" msgstr "Nesta lista, você verá as seguintes informações de ticket:" -#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 #: ../settings/ticket.rst:103 msgid "Number" msgstr "Número" -#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 -#: ../manage/time-accounting.rst:179 ../manage/time-accounting.rst:177 +#: ../manage/time-accounting.rst:150 ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:181 ../manage/time-accounting.rst:179 #: ../misc/object-conditions/basics.rst:37 #: ../misc/object-conditions/basics.rst:89 #: ../misc/object-conditions/basics.rst:171 msgid "Customer" msgstr "Cliente" -#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 -#: ../manage/time-accounting.rst:178 +#: ../manage/time-accounting.rst:151 ../manage/time-accounting.rst:165 +#: ../manage/time-accounting.rst:180 msgid "Organization of customer (if applicable)" msgstr "Organização do cliente (se aplicável)" -#: ../manage/time-accounting.rst:150 +#: ../manage/time-accounting.rst:152 msgid "Agent that accounted the time" msgstr "Agente que contabilizou o tempo" -#: ../manage/time-accounting.rst:151 +#: ../manage/time-accounting.rst:153 msgid "Time units accounted in the current activity" msgstr "Unidades de tempo contabilizadas na atividade atual" -#: ../manage/time-accounting.rst:152 +#: ../manage/time-accounting.rst:154 msgid "Activity type (if enabled)" msgstr "Tipo de atividade (se habilitado)" -#: ../manage/time-accounting.rst:153 ../manage/time-accounting.rst:167 +#: ../manage/time-accounting.rst:155 ../manage/time-accounting.rst:169 #: ../system/audit-logs.rst:76 msgid "Created at" msgstr "Criado em" -#: ../manage/time-accounting.rst:168 ../misc/object-conditions/basics.rst:26 +#: ../manage/time-accounting.rst:170 ../misc/object-conditions/basics.rst:26 #: ../misc/object-conditions/basics.rst:90 #: ../misc/object-conditions/basics.rst:126 #: ../misc/object-conditions/basics.rst:139 @@ -16070,28 +16115,28 @@ msgstr "Criado em" msgid "Ticket" msgstr "Ticket" -#: ../manage/time-accounting.rst:156 +#: ../manage/time-accounting.rst:158 msgid "This filter contains all relevant tickets from the selected month." msgstr "Este filtro contém todos os tickets relevantes do mês selecionado." -#: ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:166 msgid "Agent currently assigned (ticket owner)" msgstr "Agente atualmente atribuído (responsável pelo ticket)" -#: ../manage/time-accounting.rst:165 ../manage/time-accounting.rst:179 +#: ../manage/time-accounting.rst:167 ../manage/time-accounting.rst:181 msgid "Time units accounted in the current month" msgstr "Unidades de tempo contabilizadas no mês atual" -#: ../manage/time-accounting.rst:166 +#: ../manage/time-accounting.rst:168 msgid "Time units total (time accounted during ticket life)" msgstr "" "Total de unidades de tempo (tempo contabilizado durante a vida do ticket)" -#: ../manage/time-accounting.rst:168 +#: ../manage/time-accounting.rst:170 msgid "Closed at (if applicable)" msgstr "Fechado em (se aplicável)" -#: ../manage/time-accounting.rst:171 +#: ../manage/time-accounting.rst:173 msgid "" "This provides you a per user filter on accounted time units. Each user has a " "total of time accounted in the current month (over all applicable tickets)." @@ -16100,13 +16145,13 @@ msgstr "" "contabilizadas. Cada usuário tem um total de tempo contabilizado no mês " "atual (em todos os tickets aplicáveis)." -#: ../manage/time-accounting.rst:186 ../misc/object-conditions/basics.rst:28 +#: ../manage/time-accounting.rst:188 ../misc/object-conditions/basics.rst:28 #: ../misc/object-conditions/basics.rst:115 #: ../misc/object-conditions/basics.rst:146 ../settings/branding.rst:16 msgid "Organization" msgstr "Organization" -#: ../manage/time-accounting.rst:182 +#: ../manage/time-accounting.rst:184 msgid "" "This provides a list of all organizations where customers have caused " "accounted time in that month." @@ -16114,7 +16159,7 @@ msgstr "" "Isso fornece uma lista de todas as organizações onde clientes geraram tempo " "contabilizado naquele mês." -#: ../manage/time-accounting.rst:185 +#: ../manage/time-accounting.rst:187 msgid "" "You can also see entries for customers that are part of a primary " "organization. Users without an organization can be found in the Customer " @@ -18410,8 +18455,8 @@ msgstr "" "sistema Zammad, uma notificação adequada será postada no canal do Mattermost " "configurado. A notificação conterá o link para o ticket, dados atualizados e " "o :ref:`conteúdo do último artigo `. Ela " -"também será :user-docs:`codificada por cor " -"` de acordo com seu estado mais recente." +"também será :user-docs:`codificada por cor ` de acordo com seu estado mais recente." #: ../manage/webhook/examples/mattermost-notifications.rst:117 msgid "Removing Article Content from the Mattermost Notification" @@ -20034,7 +20079,7 @@ msgstr "Disponível apenas em gatilhos." #: ../misc/object-conditions/basics.rst:185 #: ../misc/object-conditions/basics.rst:209 #: ../misc/object-conditions/basics.rst:219 -#: ../system/core-workflows/condition-operators.rst:50 +#: ../system/core-workflows/condition-operators.rst:64 msgid "is" msgstr "Diversos" @@ -20051,7 +20096,7 @@ msgstr "Diversos" #: ../misc/object-conditions/basics.rst:186 #: ../misc/object-conditions/basics.rst:210 #: ../misc/object-conditions/basics.rst:220 -#: ../system/core-workflows/condition-operators.rst:72 +#: ../system/core-workflows/condition-operators.rst:86 msgid "is not" msgstr "não é" @@ -20122,7 +20167,7 @@ msgstr "usuário específico" #: ../misc/object-conditions/basics.rst:97 #: ../misc/object-conditions/basics.rst:155 #: ../misc/object-conditions/basics.rst:204 -#: ../system/core-workflows/condition-operators.rst:86 +#: ../system/core-workflows/condition-operators.rst:100 msgid "not set" msgstr "não definido" @@ -20280,22 +20325,58 @@ msgid "Checks tags of a ticket." msgstr "Verifica as tags de um ticket." #: ../misc/object-conditions/basics.rst:193 -#: ../system/core-workflows/condition-operators.rst:32 +#: ../misc/object-conditions/basics.rst:516 +#: ../misc/object-conditions/basics.rst:550 +#: ../misc/object-conditions/basics.rst:587 +#: ../misc/object-conditions/basics.rst:619 +#: ../system/core-workflows/condition-operators.rst:38 +#: ../system/core-workflows/condition-operators.rst:150 +#: ../system/core-workflows/condition-operators.rst:189 +#: ../system/core-workflows/condition-operators.rst:229 +#: ../system/core-workflows/condition-operators.rst:272 +#: ../system/core-workflows/condition-operators.rst:312 msgid "contains all" msgstr "contém todas" #: ../misc/object-conditions/basics.rst:194 -#: ../system/core-workflows/condition-operators.rst:38 +#: ../misc/object-conditions/basics.rst:513 +#: ../misc/object-conditions/basics.rst:547 +#: ../misc/object-conditions/basics.rst:584 +#: ../misc/object-conditions/basics.rst:616 +#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:147 +#: ../system/core-workflows/condition-operators.rst:186 +#: ../system/core-workflows/condition-operators.rst:226 +#: ../system/core-workflows/condition-operators.rst:269 +#: ../system/core-workflows/condition-operators.rst:309 msgid "contains one" msgstr "contém uma" #: ../misc/object-conditions/basics.rst:195 -#: ../system/core-workflows/condition-operators.rst:34 +#: ../misc/object-conditions/basics.rst:519 +#: ../misc/object-conditions/basics.rst:553 +#: ../misc/object-conditions/basics.rst:590 +#: ../misc/object-conditions/basics.rst:622 +#: ../system/core-workflows/condition-operators.rst:41 +#: ../system/core-workflows/condition-operators.rst:160 +#: ../system/core-workflows/condition-operators.rst:198 +#: ../system/core-workflows/condition-operators.rst:238 +#: ../system/core-workflows/condition-operators.rst:281 +#: ../system/core-workflows/condition-operators.rst:321 msgid "contains all not" msgstr "não contém todas" #: ../misc/object-conditions/basics.rst:196 -#: ../system/core-workflows/condition-operators.rst:40 +#: ../misc/object-conditions/basics.rst:522 +#: ../misc/object-conditions/basics.rst:556 +#: ../misc/object-conditions/basics.rst:593 +#: ../misc/object-conditions/basics.rst:625 +#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:157 +#: ../system/core-workflows/condition-operators.rst:195 +#: ../system/core-workflows/condition-operators.rst:235 +#: ../system/core-workflows/condition-operators.rst:278 +#: ../system/core-workflows/condition-operators.rst:318 msgid "contains one not" msgstr "não contém uma" @@ -20316,7 +20397,7 @@ msgid "Checks if time is accounted." msgstr "Verifica se o tempo é contabilizado." #: ../misc/object-conditions/basics.rst:203 -#: ../system/core-workflows/condition-operators.rst:74 +#: ../system/core-workflows/condition-operators.rst:88 msgid "is set" msgstr "está definido" @@ -20376,8 +20457,8 @@ msgstr "" #: ../misc/object-conditions/basics.rst:334 #: ../misc/object-conditions/basics.rst:381 #: ../misc/object-conditions/basics.rst:392 -#: ../misc/object-conditions/basics.rst:410 #: ../misc/object-conditions/basics.rst:421 +#: ../misc/object-conditions/basics.rst:432 msgid "Available operators for matching:" msgstr "Operadores disponíveis para correspondência:" @@ -20465,7 +20546,7 @@ msgstr "**contains not**" #: ../misc/object-conditions/basics.rst:269 #: ../misc/object-conditions/basics.rst:284 #: ../misc/object-conditions/basics.rst:385 -#: ../misc/object-conditions/basics.rst:414 +#: ../misc/object-conditions/basics.rst:425 msgid "**has changed**" msgstr "**foi alterado**" @@ -20480,14 +20561,14 @@ msgstr "Verifica se algum campo do tipo booleano é verdadeiro." #: ../misc/object-conditions/basics.rst:267 #: ../misc/object-conditions/basics.rst:278 #: ../misc/object-conditions/basics.rst:383 -#: ../misc/object-conditions/basics.rst:412 +#: ../misc/object-conditions/basics.rst:423 msgid "**is**" msgstr "**is**" #: ../misc/object-conditions/basics.rst:268 #: ../misc/object-conditions/basics.rst:279 #: ../misc/object-conditions/basics.rst:384 -#: ../misc/object-conditions/basics.rst:413 +#: ../misc/object-conditions/basics.rst:424 msgid "**is not**" msgstr "**is not**" @@ -20787,44 +20868,66 @@ msgid "**contains all**:" msgstr "**contains all**:" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are selected." +msgid "Matches if **all** given field values are selected (AND logic)." msgstr "" -"Corresponde se todos os valores de campo fornecidos estiverem selecionados." +"Corresponde se **todos** os valores de campo fornecidos estiverem " +"selecionados (lógica AND)." #: ../misc/object-conditions/basics.rst:0 msgid "**contains one**:" msgstr "**contains one**:" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is selected." +msgid "" +"Matches if **at least one** of the given field values is selected (OR logic)." msgstr "" -"Corresponde se um valor de campo específico fornecido estiver selecionado." +"Corresponde se **pelo menos um** dos valores de campo fornecidos estiver " +"selecionado (lógica OR)." #: ../misc/object-conditions/basics.rst:0 msgid "**contains all not**:" msgstr "**contains all not**:" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are not selected." +msgid "" +"Matches if **not all** given field values are selected (at least one is " +"missing). This means \"not all of\", not \"none of\"." msgstr "" -"Corresponde se todos os valores de campo fornecidos não estiverem " -"selecionados." +"Corresponde se **nem todos** os valores de campo fornecidos estiverem " +"selecionados (pelo menos um está faltando). Isso significa \"nem todos\", " +"não \"nenhum\"." #: ../misc/object-conditions/basics.rst:0 msgid "**contains one not**:" msgstr "**contains one not**:" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is not selected." +msgid "" +"Matches if **none** of the given field values are selected. This means " +"\"none of\", not \"not all of\"." msgstr "" -"Corresponde se um valor de campo específico fornecido não estiver " -"selecionado." +"Corresponde se **nenhum** dos valores de campo fornecidos estiver " +"selecionado. Isso significa \"nenhum\", não \"nem todos\"." -#: ../misc/object-conditions/basics.rst:405 ../system/objects/types.rst:135 +#: ../misc/object-conditions/basics.rst:408 +msgid "" +"In :doc:`core workflows `, these operators have " +"different semantics. See :ref:`core workflow condition operators ` for details. Example scenarios for the " +"operators described here can be found in :ref:`multi-select-operator-" +"examples` below." +msgstr "" +"Em :doc:`core workflows `, esses operadores têm " +"semânticas diferentes. Veja :ref:`operadores de condição do core workflow " +"` para detalhes. Cenários de exemplo para " +"os operadores descritos aqui podem ser encontrados em :ref:`multi-select-" +"operator-examples` abaixo." + +#: ../misc/object-conditions/basics.rst:416 ../system/objects/types.rst:135 msgid "Single Tree Selection Field" msgstr "Campo de seleção única em árvore" -#: ../misc/object-conditions/basics.rst:407 +#: ../misc/object-conditions/basics.rst:418 msgid "" "Checks if a selected field value match the attribute value. Selecting more " "than one value in the condition will act like an \"OR\" clause." @@ -20832,11 +20935,11 @@ msgstr "" "Verifica se um valor de campo selecionado corresponde ao valor do atributo. " "Selecionar mais de um valor na condição funcionará como uma cláusula \"OR\"." -#: ../misc/object-conditions/basics.rst:417 ../system/objects/types.rst:148 +#: ../misc/object-conditions/basics.rst:428 ../system/objects/types.rst:148 msgid "Multiple Tree Selection Field" msgstr "Campo de seleção múltipla em árvore" -#: ../misc/object-conditions/basics.rst:419 +#: ../misc/object-conditions/basics.rst:430 msgid "Checks if selected field value(s) match the attribute value(s)." msgstr "" "Verifica se o(s) valor(es) de campo selecionado(s) corresponde(m) ao(s) " @@ -20858,23 +20961,23 @@ msgstr "**contains all not**" msgid "**contains one not**" msgstr "**contains one not**" -#: ../misc/object-conditions/basics.rst:433 +#: ../misc/object-conditions/basics.rst:447 msgid "Additional Information and Remarks" msgstr "Informações adicionais e observações" -#: ../misc/object-conditions/basics.rst:442 +#: ../misc/object-conditions/basics.rst:456 msgid "Ticket context conditions do not support:" msgstr "As condições no contexto de ticket não suportam:" -#: ../misc/object-conditions/basics.rst:439 +#: ../misc/object-conditions/basics.rst:453 msgid "regular expressions" msgstr "expressões regulares" -#: ../misc/object-conditions/basics.rst:440 +#: ../misc/object-conditions/basics.rst:454 msgid "case sensitive string conditions" msgstr "condições de string sensíveis a maiúsculas e minúsculas" -#: ../misc/object-conditions/basics.rst:441 +#: ../misc/object-conditions/basics.rst:455 msgid "" "Basic conditions do not support the same attribute to be selected more than " "once" @@ -20882,35 +20985,35 @@ msgstr "" "Condições básicas não suportam que o mesmo atributo seja selecionado mais de " "uma vez" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "**has changed** conditions:" msgstr "condições **foi alterado**:" -#: ../misc/object-conditions/basics.rst:445 +#: ../misc/object-conditions/basics.rst:459 msgid "Are only available for ticket attributes and don't affect:" msgstr "Estão disponíveis apenas para atributos de ticket e não afetam:" -#: ../misc/object-conditions/basics.rst:447 +#: ../misc/object-conditions/basics.rst:461 msgid "Ticket articles attributes" msgstr "Atributos do artigo" -#: ../misc/object-conditions/basics.rst:448 +#: ../misc/object-conditions/basics.rst:462 msgid "Organization attributes" msgstr "Atributos do artigo" -#: ../misc/object-conditions/basics.rst:449 +#: ../misc/object-conditions/basics.rst:463 msgid "User attributes" msgstr "Atributos do ticket" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "Group attributes" msgstr "Atributos do artigo" -#: ../misc/object-conditions/basics.rst:463 +#: ../misc/object-conditions/basics.rst:477 msgid "Differences in input fields:" msgstr "Diferenças em campos de entrada:" -#: ../misc/object-conditions/basics.rst:453 +#: ../misc/object-conditions/basics.rst:467 msgid "" "Please note that the input field for tokens doesn't support the comma as " "separator (as in the input field for tags). If you use the comma in the " @@ -20920,7 +21023,7 @@ msgstr "" "separador (como no campo de entrada para tags). Se você usar a vírgula no " "campo de entrada de token, a vírgula será incluída no seu token." -#: ../misc/object-conditions/basics.rst:457 +#: ../misc/object-conditions/basics.rst:471 msgid "**Example**:" msgstr "**Exemplo**:" @@ -20928,7 +21031,7 @@ msgstr "**Exemplo**:" msgid "Example of comma usage in token input field" msgstr "Exemplo do uso de vírgula no campo de entrada de token" -#: ../misc/object-conditions/basics.rst:462 +#: ../misc/object-conditions/basics.rst:476 msgid "" "``A`` added with enter/tab, ``B`` and ``C`` separated with comma (resulting " "in one token)." @@ -20936,15 +21039,274 @@ msgstr "" "``A`` adicionado com enter/tab, ``B`` e ``C`` separados por vírgula " "(resultando em um único token)." -#: ../misc/object-conditions/basics.rst:468 +#: ../misc/object-conditions/basics.rst:482 +msgid "Multi-Select Operator Examples" +msgstr "Exemplos de operadores de seleção múltipla" + +#: ../misc/object-conditions/basics.rst:484 +msgid "" +"The ``contains`` family of operators for multi-select fields compares two " +"sets of values: the values currently in the field and the values specified " +"in the condition. The diagrams below show the condition values as an orange " +"circle and the field values as a blue circle." +msgstr "" +"A família de operadores ``contains`` para campos de seleção múltipla compara " +"dois conjuntos de valores: os valores atualmente no campo e os valores " +"especificados na condição. Os diagramas abaixo mostram os valores da " +"condição como um círculo laranja e os valores do campo como um círculo azul." + +#: ../misc/object-conditions/basics.rst:489 +msgid "" +"Be aware that these operators behave **differently** in :doc:`core workflows " +"`. See :ref:`core workflow condition operators ` for a side by side comparison." +msgstr "" +"Esteja ciente de que esses operadores se comportam de forma **diferente** " +"em :doc:`core workflows `. Veja :ref:`operadores de " +"condição do core workflow ` para uma " +"comparação lado a lado." + +#: ../misc/object-conditions/basics.rst:495 +#: ../system/core-workflows/condition-operators.rst:165 +msgid "Example 1: Condition A, B - Field A, B, C" +msgstr "Exemplo 1: Condição A, B - Campo A, B, C" + +#: ../misc/object-conditions/basics.rst:497 +#: ../system/core-workflows/condition-operators.rst:167 +msgid "" +"In this scenario, the field holds the values A, B and C, while the condition " +"asks for the values A and B." +msgstr "" +"Neste cenário, o campo contém os valores A, B e C, enquanto a condição pede " +"os valores A e B." + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "" +"Venn diagram of condition values A, B and field values A, B, C. A and B are " +"in both circles, C only in the field circle." +msgstr "" +"Diagrama de Venn dos valores de condição A, B e valores de campo A, B, C. A " +"e B estão em ambos os círculos, C apenas no círculo do campo." + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "Condition values ``A, B`` overlap with field values ``A, B, C``." +msgstr "" +"Os valores de condição ``A, B`` se sobrepõem aos valores de campo ``A, B, " +"C``." + +#: ../misc/object-conditions/basics.rst:510 +#: ../misc/object-conditions/basics.rst:544 +#: ../misc/object-conditions/basics.rst:581 +#: ../misc/object-conditions/basics.rst:613 +#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:141 +#: ../system/core-workflows/condition-operators.rst:180 +#: ../system/core-workflows/condition-operators.rst:220 +#: ../system/core-workflows/condition-operators.rst:263 +#: ../system/core-workflows/condition-operators.rst:303 +msgid "Operator" +msgstr "Operador" + +#: ../misc/object-conditions/basics.rst:511 +#: ../misc/object-conditions/basics.rst:545 +#: ../misc/object-conditions/basics.rst:582 +#: ../misc/object-conditions/basics.rst:614 +#: ../system/core-workflows/condition-operators.rst:181 +#: ../system/core-workflows/condition-operators.rst:221 +#: ../system/core-workflows/condition-operators.rst:264 +#: ../system/core-workflows/condition-operators.rst:304 +msgid "Matches?" +msgstr "Corresponde?" + +#: ../misc/object-conditions/basics.rst:512 +#: ../misc/object-conditions/basics.rst:546 +#: ../misc/object-conditions/basics.rst:583 +#: ../misc/object-conditions/basics.rst:615 +#: ../system/core-workflows/condition-operators.rst:182 +#: ../system/core-workflows/condition-operators.rst:222 +#: ../system/core-workflows/condition-operators.rst:265 +#: ../system/core-workflows/condition-operators.rst:305 +msgid "Why" +msgstr "Por quê" + +#: ../misc/object-conditions/basics.rst:515 +#: ../system/core-workflows/condition-operators.rst:185 +msgid "``A`` and ``B`` are in both sets (OR logic)." +msgstr "``A`` e ``B`` estão em ambos os conjuntos (lógica OR)." + +#: ../misc/object-conditions/basics.rst:518 +#: ../system/core-workflows/condition-operators.rst:191 +msgid "Both ``A`` and ``B`` are present (AND logic)." +msgstr "``A`` e ``B`` estão presentes (lógica AND)." + +#: ../misc/object-conditions/basics.rst:521 +msgid "All condition values are present in the field." +msgstr "Todos os valores da condição estão presentes no campo." + +#: ../misc/object-conditions/basics.rst:524 +msgid "The field has values in common with the condition." +msgstr "O campo tem valores em comum com a condição." + +#: ../misc/object-conditions/basics.rst:527 +#: ../system/core-workflows/condition-operators.rst:203 +msgid "Example 2: Condition A, B, C - Field C, D" +msgstr "Exemplo 2: Condição A, B, C - Campo C, D" + +#: ../misc/object-conditions/basics.rst:529 +#: ../system/core-workflows/condition-operators.rst:205 +msgid "" +"In this scenario, the field holds the values C and D. The condition value C " +"is present in the field, while A and B are not." +msgstr "" +"Neste cenário, o campo contém os valores C e D. O valor de condição C está " +"presente no campo, enquanto A e B não estão." + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Venn diagram of condition values A, B, C and field values C, D.\n" +"Only C is in both circles." +msgstr "" +"Diagrama de Venn dos valores de condição A, B, C e valores de campo C, D.\n" +"Apenas C está em ambos os círculos." + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Condition values ``A, B, C`` partially overlap with field values ``C, D``." +msgstr "" +"Os valores de condição ``A, B, C`` se sobrepõem parcialmente aos valores de " +"campo ``C, D``." + +#: ../misc/object-conditions/basics.rst:549 +#: ../system/core-workflows/condition-operators.rst:225 +msgid "``C`` is in both sets (OR logic)." +msgstr "``C`` está em ambos os conjuntos (lógica OR)." + +#: ../misc/object-conditions/basics.rst:552 +#: ../system/core-workflows/condition-operators.rst:231 +msgid "Only ``C`` of the three condition values is present." +msgstr "Apenas ``C`` dos três valores da condição está presente." + +#: ../misc/object-conditions/basics.rst:555 +#: ../misc/object-conditions/basics.rst:592 +msgid "``A`` and ``B`` are missing from the field." +msgstr "``A`` e ``B`` estão ausentes do campo." + +#: ../misc/object-conditions/basics.rst:558 +msgid "``C`` is in both the field and the condition." +msgstr "``C`` está tanto no campo quanto na condição." + +#: ../misc/object-conditions/basics.rst:560 +msgid "" +"This partial overlap is where the two \"not\" operators part ways: " +"``contains all not`` matches because a single condition value is missing, " +"while ``contains one not`` does not match because the one common value is " +"enough to block it." +msgstr "" +"Essa sobreposição parcial é onde os dois operadores \"not\" se diferenciam: " +"``contains all not`` corresponde porque falta um único valor da condição, " +"enquanto ``contains one not`` não corresponde porque o único valor em comum " +"já é suficiente para bloqueá-lo." + +#: ../misc/object-conditions/basics.rst:566 +#: ../system/core-workflows/condition-operators.rst:248 +msgid "Example 3: Condition A, B - Field C, D" +msgstr "Exemplo 3: Condição A, B - Campo C, D" + +#: ../misc/object-conditions/basics.rst:568 +#: ../system/core-workflows/condition-operators.rst:250 +msgid "" +"In this scenario, the field holds the values C and D, which have nothing in " +"common with the condition values A and B." +msgstr "" +"Neste cenário, o campo contém os valores C e D, que não têm nada em comum " +"com os valores de condição A e B." + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "" +"Venn diagram of condition values A, B and field values C, D. The two circles " +"do not overlap." +msgstr "" +"Diagrama de Venn dos valores de condição A, B e valores de campo C, D. Os " +"dois círculos não se sobrepõem." + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "Condition values ``A, B`` have no overlap with field values ``C, D``." +msgstr "" +"Os valores de condição ``A, B`` não têm sobreposição com os valores de campo " +"``C, D``." + +#: ../misc/object-conditions/basics.rst:586 +#: ../system/core-workflows/condition-operators.rst:268 +msgid "No value is in both sets." +msgstr "Nenhum valor está em ambos os conjuntos." + +#: ../misc/object-conditions/basics.rst:589 +#: ../system/core-workflows/condition-operators.rst:274 +msgid "Neither ``A`` nor ``B`` is present." +msgstr "Nem ``A`` nem ``B`` está presente." + +#: ../misc/object-conditions/basics.rst:595 +#: ../misc/object-conditions/basics.rst:627 +#: ../system/core-workflows/condition-operators.rst:159 +#: ../system/core-workflows/condition-operators.rst:161 +#: ../system/core-workflows/condition-operators.rst:283 +msgid "The field has no value in common with the condition." +msgstr "O campo não tem nenhum valor em comum com a condição." + +#: ../misc/object-conditions/basics.rst:598 +#: ../system/core-workflows/condition-operators.rst:288 +msgid "Example 4: Condition A, B - Field is empty" +msgstr "Exemplo 4: Condição A, B - Campo vazio" + +#: ../misc/object-conditions/basics.rst:600 +#: ../system/core-workflows/condition-operators.rst:290 +msgid "" +"In this scenario, the field holds no values at all, while the condition asks " +"for the values A and B." +msgstr "" +"Neste cenário, o campo não contém nenhum valor, enquanto a condição pede os " +"valores A e B." + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "" +"Venn diagram of condition values A, B and an empty field. The two circles do " +"not overlap." +msgstr "" +"Diagrama de Venn dos valores de condição A, B e um campo vazio. Os dois " +"círculos não se sobrepõem." + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "The field holds no values at all." +msgstr "O campo não contém nenhum valor." + +#: ../misc/object-conditions/basics.rst:618 +#: ../misc/object-conditions/basics.rst:621 +#: ../system/core-workflows/condition-operators.rst:308 +#: ../system/core-workflows/condition-operators.rst:314 +msgid "No value is present." +msgstr "Nenhum valor está presente." + +#: ../misc/object-conditions/basics.rst:624 +msgid "No condition value is present in the field." +msgstr "Nenhum valor da condição está presente no campo." + +#: ../misc/object-conditions/basics.rst:632 msgid "Regex" msgstr "Regex" -#: ../misc/object-conditions/basics.rst:473 +#: ../misc/object-conditions/basics.rst:637 msgid "Regex support" msgstr "Suporte a regex" -#: ../misc/object-conditions/basics.rst:471 +#: ../misc/object-conditions/basics.rst:635 msgid "" "**matches regex** and **does not match regex** are supported only in " "Triggers, Time Accounting selector, Postmaster Filters, Automatic ticket " @@ -20954,11 +21316,11 @@ msgstr "" "Gatilhos, seletor de Contabilização de Tempo, Filtros de Postmaster, " "Atribuição automática de tickets e Core Workflow." -#: ../misc/object-conditions/basics.rst:478 +#: ../misc/object-conditions/basics.rst:642 msgid "\"Old\" style ``regex:...`` conditions" msgstr "Condições do estilo \"antigo\" ``regex:...``" -#: ../misc/object-conditions/basics.rst:476 +#: ../misc/object-conditions/basics.rst:640 msgid "" "If you update your Zammad from 6.0 or prior and you have already conditions " "with **contains** or **contains not** including a regex filter (i.e. " @@ -23140,9 +23502,9 @@ msgid "" "note :doc:`Ticket last contact behavior Settings ` for " "this)" msgstr "" -"``2019-10-07 16:25:00 UTC`` ou vazio se ainda não aplicável (consulte as " -":doc:`Configurações de comportamento do último contato do ticket ` para mais informações)" +"``2019-10-07 16:25:00 UTC`` ou vazio se ainda não aplicável (consulte " +"as :doc:`Configurações de comportamento do último contato do ticket ` para mais informações)" #: ../misc/variables/ticket.rst:1 msgid "Ticket > Last contact" @@ -28296,9 +28658,9 @@ msgstr "" #: ../system/core-workflows/condition-operators.rst:8 msgid "" -"Due to differences to other places in Zammad which are also using conditions " -"(e.g. triggers), you can find a dedicated description of operators for core " -"workflows below." +"Due to differences from other places in Zammad which are also using " +"conditions (e.g. triggers), you can find a dedicated description of " +"operators for core workflows below." msgstr "" "Devido a diferenças em relação a outros locais do Zammad que também usam " "condições (por exemplo, gatilhos), você encontra abaixo uma descrição " @@ -28315,208 +28677,248 @@ msgstr "" "disponíveis apenas para atributos de sistema (por exemplo, para \"tags\", " "\"active\")." -#: ../system/core-workflows/condition-operators.rst:20 -msgid "Operator" -msgstr "Operador" - -#: ../system/core-workflows/condition-operators.rst:22 +#: ../system/core-workflows/condition-operators.rst:23 msgid "after (absolute)" msgstr "after (absolute)" -#: ../system/core-workflows/condition-operators.rst:23 +#: ../system/core-workflows/condition-operators.rst:24 msgid "Matches if a date/time is after a specific point in time." msgstr "" "Corresponde se uma data/hora for posterior a um ponto específico no tempo." -#: ../system/core-workflows/condition-operators.rst:24 +#: ../system/core-workflows/condition-operators.rst:25 msgid "after (relative)" msgstr "after (relative)" -#: ../system/core-workflows/condition-operators.rst:25 +#: ../system/core-workflows/condition-operators.rst:26 msgid "Matches if a time span after a specified event has passed." msgstr "" "Corresponde se um intervalo de tempo após um evento especificado já tiver " "passado." -#: ../system/core-workflows/condition-operators.rst:26 +#: ../system/core-workflows/condition-operators.rst:27 msgid "before (absolute)" msgstr "before (absolute)" -#: ../system/core-workflows/condition-operators.rst:27 +#: ../system/core-workflows/condition-operators.rst:28 msgid "Matches if a date/time is before a specific point in time." msgstr "" "Corresponde se uma data/hora for anterior a um ponto específico no tempo." -#: ../system/core-workflows/condition-operators.rst:28 +#: ../system/core-workflows/condition-operators.rst:29 msgid "before (relative)" msgstr "before (relative)" -#: ../system/core-workflows/condition-operators.rst:29 +#: ../system/core-workflows/condition-operators.rst:30 msgid "Matches if a time span after a specified event has not passed." msgstr "" "Corresponde se um intervalo de tempo após um evento especificado ainda não " "tiver passado." -#: ../system/core-workflows/condition-operators.rst:30 +#: ../system/core-workflows/condition-operators.rst:31 +#: ../system/core-workflows/condition-operators.rst:144 +#: ../system/core-workflows/condition-operators.rst:183 +#: ../system/core-workflows/condition-operators.rst:223 +#: ../system/core-workflows/condition-operators.rst:266 +#: ../system/core-workflows/condition-operators.rst:306 msgid "contains" msgstr "contains" -#: ../system/core-workflows/condition-operators.rst:31 -msgid "Matches if a specified value is present." -msgstr "Corresponde se um valor especificado estiver presente." - -#: ../system/core-workflows/condition-operators.rst:33 -msgid "Matches if all of the specified values are present." -msgstr "Corresponde se todos os valores especificados estiverem presentes." - -#: ../system/core-workflows/condition-operators.rst:35 -msgid "Matches if none of the specified values are present." -msgstr "Corresponde se nenhum dos valores especificados estiver presente." +#: ../system/core-workflows/condition-operators.rst:32 +msgid "" +"Matches if **at least one** of the specified values is present in the field " +"(OR logic)." +msgstr "" +"Corresponde se **pelo menos um** dos valores especificados estiver presente " +"no campo (lógica OR)." -#: ../system/core-workflows/condition-operators.rst:36 +#: ../system/core-workflows/condition-operators.rst:34 +#: ../system/core-workflows/condition-operators.rst:153 +#: ../system/core-workflows/condition-operators.rst:192 +#: ../system/core-workflows/condition-operators.rst:232 +#: ../system/core-workflows/condition-operators.rst:275 +#: ../system/core-workflows/condition-operators.rst:315 msgid "contains not" msgstr "contains not" -#: ../system/core-workflows/condition-operators.rst:37 -msgid "Matches if a specified value is not present." -msgstr "Corresponde se um valor especificado não estiver presente." +#: ../system/core-workflows/condition-operators.rst:35 +msgid "" +"Matches if the field contains at least one value that is **not** among the " +"specified values. Also matches if the field is empty." +msgstr "" +"Corresponde se o campo contiver pelo menos um valor que **não** está entre " +"os valores especificados. Também corresponde se o campo estiver vazio." #: ../system/core-workflows/condition-operators.rst:39 -msgid "Matches if one specified value is present." -msgstr "Corresponde se um valor especificado estiver presente." - -#: ../system/core-workflows/condition-operators.rst:41 -msgid "Matches if one specified value is not present." -msgstr "Corresponde se um valor especificado não estiver presente." +msgid "" +"Matches if **every** specified value is present in the field (AND logic)." +msgstr "" +"Corresponde se **todos** os valores especificados estiverem presentes no " +"campo (lógica AND)." #: ../system/core-workflows/condition-operators.rst:42 +msgid "" +"Matches if **none** of the specified values are present in the field. The " +"field and the condition have no value in common: this means \"contains none " +"of\", not \"does not contain all of\"." +msgstr "" +"Corresponde se **nenhum** dos valores especificados estiver presente no " +"campo. O campo e a condição não têm nenhum valor em comum: isso significa " +"que nenhum valor está contido, não que nem todos estejam contidos." + +#: ../system/core-workflows/condition-operators.rst:46 +msgid "" +"In triggers and overviews, this operator means \"not all of the specified " +"values are present\" instead. See the examples section below." +msgstr "" +"Em gatilhos e visões gerais, esse operador significa, em vez disso, \"nem " +"todos os valores especificados estão presentes\". Veja a seção de exemplos " +"abaixo." + +#: ../system/core-workflows/condition-operators.rst:50 +msgid "" +"Same as ``contains``. Matches if **at least one** of the specified values is " +"present." +msgstr "" +"O mesmo que ``contains``. Corresponde se **pelo menos um** dos valores " +"especificados estiver presente." + +#: ../system/core-workflows/condition-operators.rst:53 +msgid "" +"Same as ``contains not``. Matches if the field contains at least one value " +"that is **not** among the specified values." +msgstr "" +"O mesmo que ``contains not``. Corresponde se o campo contiver pelo menos um " +"valor que **não** está entre os valores especificados." + +#: ../system/core-workflows/condition-operators.rst:56 msgid "does not match regex" msgstr "does not match regex" -#: ../system/core-workflows/condition-operators.rst:43 +#: ../system/core-workflows/condition-operators.rst:57 msgid "Matches if content doesn't fit to regex rule." msgstr "Corresponde se o conteúdo não se encaixa na regra de regex." -#: ../system/core-workflows/condition-operators.rst:44 +#: ../system/core-workflows/condition-operators.rst:58 msgid "ends with" msgstr "ends with" -#: ../system/core-workflows/condition-operators.rst:45 +#: ../system/core-workflows/condition-operators.rst:59 msgid "Matches if content ends with specified value." msgstr "Corresponde se o conteúdo terminar com o valor especificado." -#: ../system/core-workflows/condition-operators.rst:46 +#: ../system/core-workflows/condition-operators.rst:60 msgid "ends with one of" msgstr "ends with one of" -#: ../system/core-workflows/condition-operators.rst:47 +#: ../system/core-workflows/condition-operators.rst:61 msgid "Matches if content ends with one of the specified values." msgstr "Corresponde se o conteúdo terminar com um dos valores especificados." -#: ../system/core-workflows/condition-operators.rst:48 +#: ../system/core-workflows/condition-operators.rst:62 msgid "from (relative)" msgstr "from (relative)" -#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:63 msgid "Matches if date/time is after a period of time after an event." msgstr "" "Corresponde se a data/hora for posterior a um período de tempo após um " "evento." -#: ../system/core-workflows/condition-operators.rst:51 +#: ../system/core-workflows/condition-operators.rst:65 msgid "Matches if content is equal to a specified value." msgstr "Corresponde se o conteúdo for igual a um valor especificado." -#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:66 msgid "is any of" msgstr "is any of" -#: ../system/core-workflows/condition-operators.rst:53 +#: ../system/core-workflows/condition-operators.rst:67 msgid "Matches if content is equal to any of specified values." msgstr "" "Corresponde se o conteúdo for igual a qualquer um dos valores especificados." -#: ../system/core-workflows/condition-operators.rst:54 +#: ../system/core-workflows/condition-operators.rst:68 msgid "is greater than" msgstr "é maior que" -#: ../system/core-workflows/condition-operators.rst:55 +#: ../system/core-workflows/condition-operators.rst:69 msgid "Matches if the value is greater than the specified value." msgstr "Corresponde se o valor for maior que o valor especificado." -#: ../system/core-workflows/condition-operators.rst:56 +#: ../system/core-workflows/condition-operators.rst:70 msgid "is greater than or equal to" msgstr "é maior ou igual a" -#: ../system/core-workflows/condition-operators.rst:57 +#: ../system/core-workflows/condition-operators.rst:71 msgid "Matches if the value is greater than or equal to the specified value." msgstr "Corresponde se o valor for maior ou igual ao valor especificado." -#: ../system/core-workflows/condition-operators.rst:58 +#: ../system/core-workflows/condition-operators.rst:72 msgid "is less than" msgstr "é menor que" -#: ../system/core-workflows/condition-operators.rst:59 +#: ../system/core-workflows/condition-operators.rst:73 msgid "Matches if the value is less than the specified value." msgstr "Corresponde se o valor for menor que o valor especificado." -#: ../system/core-workflows/condition-operators.rst:60 +#: ../system/core-workflows/condition-operators.rst:74 msgid "is less than or equal to" msgstr "é menor ou igual a" -#: ../system/core-workflows/condition-operators.rst:61 +#: ../system/core-workflows/condition-operators.rst:75 msgid "Matches if the value is less than or equal to the specified value." msgstr "Corresponde se o valor for menor ou igual ao valor especificado." -#: ../system/core-workflows/condition-operators.rst:62 +#: ../system/core-workflows/condition-operators.rst:76 msgid "is modified" msgstr "is modified" -#: ../system/core-workflows/condition-operators.rst:63 +#: ../system/core-workflows/condition-operators.rst:77 msgid "Matches if content is modified." msgstr "Corresponde se o conteúdo for modificado." -#: ../system/core-workflows/condition-operators.rst:65 -#: ../system/core-workflows/condition-operators.rst:69 +#: ../system/core-workflows/condition-operators.rst:79 +#: ../system/core-workflows/condition-operators.rst:83 msgid "True from the moment of changing content until form submit." msgstr "" "Verdadeiro a partir do momento da alteração do conteúdo até o envio do " "formulário." -#: ../system/core-workflows/condition-operators.rst:66 +#: ../system/core-workflows/condition-operators.rst:80 msgid "is modified to" msgstr "is modified to" -#: ../system/core-workflows/condition-operators.rst:67 +#: ../system/core-workflows/condition-operators.rst:81 msgid "Matches if content is modified to a specific value." msgstr "Corresponde se o conteúdo for modificado para um valor específico." -#: ../system/core-workflows/condition-operators.rst:70 +#: ../system/core-workflows/condition-operators.rst:84 msgid "is none of" msgstr "is none of" -#: ../system/core-workflows/condition-operators.rst:71 +#: ../system/core-workflows/condition-operators.rst:85 msgid "Matches if content is none of any specified values." msgstr "Corresponde se o conteúdo não for nenhum dos valores especificados." -#: ../system/core-workflows/condition-operators.rst:73 +#: ../system/core-workflows/condition-operators.rst:87 msgid "Matches if content is not equal to a specified value." msgstr "Corresponde se o conteúdo não for igual a um valor especificado." -#: ../system/core-workflows/condition-operators.rst:75 +#: ../system/core-workflows/condition-operators.rst:89 msgid "Matches if content is present." msgstr "Corresponde se houver conteúdo presente." -#: ../system/core-workflows/condition-operators.rst:76 +#: ../system/core-workflows/condition-operators.rst:90 msgid "just changed" msgstr "Exchange" -#: ../system/core-workflows/condition-operators.rst:77 +#: ../system/core-workflows/condition-operators.rst:91 msgid "Matches if content has changed." msgstr "Corresponde se o conteúdo tiver mudado." -#: ../system/core-workflows/condition-operators.rst:79 -#: ../system/core-workflows/condition-operators.rst:83 +#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:97 msgid "" "Only true for the moment of changing content until next form field action/" "click." @@ -28524,82 +28926,224 @@ msgstr "" "Verdadeiro apenas no momento da alteração do conteúdo, até a próxima ação/" "clique no campo do formulário." -#: ../system/core-workflows/condition-operators.rst:80 +#: ../system/core-workflows/condition-operators.rst:94 msgid "just changed to" msgstr "just changed to" -#: ../system/core-workflows/condition-operators.rst:81 +#: ../system/core-workflows/condition-operators.rst:95 msgid "Matches if content has changed to a specified value." msgstr "Corresponde se o conteúdo tiver mudado para um valor especificado." -#: ../system/core-workflows/condition-operators.rst:84 +#: ../system/core-workflows/condition-operators.rst:98 msgid "matches regex" msgstr "matches regex" -#: ../system/core-workflows/condition-operators.rst:85 +#: ../system/core-workflows/condition-operators.rst:99 msgid "Matches if value fits to regex rule." msgstr "Corresponde se o valor se encaixar na regra de regex." -#: ../system/core-workflows/condition-operators.rst:87 +#: ../system/core-workflows/condition-operators.rst:101 msgid "Matches if no content is present." msgstr "Corresponde se não houver conteúdo presente." -#: ../system/core-workflows/condition-operators.rst:88 +#: ../system/core-workflows/condition-operators.rst:102 msgid "starts with" msgstr "starts with" -#: ../system/core-workflows/condition-operators.rst:89 +#: ../system/core-workflows/condition-operators.rst:103 msgid "Matches if content starts with specified value." msgstr "Corresponde se o conteúdo começar com o valor especificado." -#: ../system/core-workflows/condition-operators.rst:90 +#: ../system/core-workflows/condition-operators.rst:104 msgid "starts with one of" msgstr "starts with one of" -#: ../system/core-workflows/condition-operators.rst:91 +#: ../system/core-workflows/condition-operators.rst:105 msgid "Matches if content starts with one of the specified values." msgstr "Corresponde se o conteúdo começar com um dos valores especificados." -#: ../system/core-workflows/condition-operators.rst:92 +#: ../system/core-workflows/condition-operators.rst:106 msgid "till (relative)" msgstr "till (relative)" -#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:107 msgid "Matches if date/time is before a period of time before an event." msgstr "" "Corresponde se a data/hora for anterior a um período de tempo antes de um " "evento." -#: ../system/core-workflows/condition-operators.rst:94 +#: ../system/core-workflows/condition-operators.rst:108 msgid "today" msgstr "today" -#: ../system/core-workflows/condition-operators.rst:95 +#: ../system/core-workflows/condition-operators.rst:109 msgid "Matches if date/time is today." msgstr "Corresponde se a data/hora for hoje." -#: ../system/core-workflows/condition-operators.rst:96 +#: ../system/core-workflows/condition-operators.rst:110 msgid "within last (relative)" msgstr "within last (relative)" -#: ../system/core-workflows/condition-operators.rst:97 +#: ../system/core-workflows/condition-operators.rst:111 msgid "" "Matches if date/time content is within specified period of time before now." msgstr "" "Corresponde se o conteúdo de data/hora estiver dentro do período de tempo " "especificado antes de agora." -#: ../system/core-workflows/condition-operators.rst:99 +#: ../system/core-workflows/condition-operators.rst:113 msgid "within next (relative)" msgstr "within next (relative)" -#: ../system/core-workflows/condition-operators.rst:100 +#: ../system/core-workflows/condition-operators.rst:114 msgid "" "Matches if date/time content is within specified period of time after now." msgstr "" "Corresponde se o conteúdo de data/hora estiver dentro do período de tempo " "especificado após agora." +#: ../system/core-workflows/condition-operators.rst:118 +msgid "Multi-Select Operators" +msgstr "Operadores de seleção múltipla" + +#: ../system/core-workflows/condition-operators.rst:120 +msgid "" +"The ``contains`` family of operators compares two sets of values: the values " +"currently in the field and the values specified in the condition. The " +"diagrams below show the condition values as an orange circle and the field " +"values as a blue circle." +msgstr "" +"A família de operadores ``contains`` compara dois conjuntos de valores: os " +"valores atualmente no campo e os valores especificados na condição. Os " +"diagramas abaixo mostram os valores da condição como um círculo laranja e os " +"valores do campo como um círculo azul." + +#: ../system/core-workflows/condition-operators.rst:128 +msgid "Differences to Triggers and Overviews" +msgstr "Diferenças em relação a gatilhos e visões gerais" + +#: ../system/core-workflows/condition-operators.rst:130 +msgid "" +"Be aware that these operators behave **differently** in other features that " +"use conditions (e.g. triggers and overviews). The most confusing difference: " +"in core workflows, ``contains all not`` means that no value matches at all, " +"while in triggers and overviews it means \"not all values are present\". The " +"table below compares both worlds side by side." +msgstr "" +"Esteja ciente de que esses operadores se comportam de forma **diferente** em " +"outros recursos que usam condições (por exemplo, gatilhos e visões gerais). " +"A diferença mais confusa: em core workflows, ``contains all not`` significa " +"que nenhum valor corresponde, enquanto em gatilhos e visões gerais significa " +"\"nem todos os valores estão presentes\". A tabela abaixo compara os dois " +"mundos lado a lado." + +#: ../system/core-workflows/condition-operators.rst:142 +msgid "Core workflows (this page)" +msgstr "Core workflows (esta página)" + +#: ../system/core-workflows/condition-operators.rst:143 +msgid "Triggers, overviews, etc." +msgstr "Gatilhos, visões gerais, etc." + +#: ../system/core-workflows/condition-operators.rst:145 +#: ../system/core-workflows/condition-operators.rst:149 +msgid "At least one value is present (OR logic)." +msgstr "Pelo menos um valor está presente (lógica OR)." + +#: ../system/core-workflows/condition-operators.rst:146 +msgid "Not available; ``contains one`` is the equivalent." +msgstr "Não disponível; ``contains one`` é o equivalente." + +#: ../system/core-workflows/condition-operators.rst:148 +#: ../system/core-workflows/condition-operators.rst:188 +#: ../system/core-workflows/condition-operators.rst:228 +#: ../system/core-workflows/condition-operators.rst:271 +#: ../system/core-workflows/condition-operators.rst:311 +msgid "Same as ``contains``." +msgstr "O mesmo que ``contains``." + +#: ../system/core-workflows/condition-operators.rst:151 +#: ../system/core-workflows/condition-operators.rst:152 +msgid "Every value is present (AND logic)." +msgstr "Todos os valores estão presentes (lógica AND)." + +#: ../system/core-workflows/condition-operators.rst:154 +msgid "" +"At least one field value is outside the condition, or the field is empty." +msgstr "" +"Pelo menos um valor do campo está fora da condição, ou o campo está vazio." + +#: ../system/core-workflows/condition-operators.rst:156 +msgid "Not available for multi-select fields." +msgstr "Não disponível para campos de seleção múltipla." + +#: ../system/core-workflows/condition-operators.rst:158 +#: ../system/core-workflows/condition-operators.rst:197 +#: ../system/core-workflows/condition-operators.rst:237 +#: ../system/core-workflows/condition-operators.rst:280 +#: ../system/core-workflows/condition-operators.rst:320 +msgid "Same as ``contains not``." +msgstr "O mesmo que ``contains not``." + +#: ../system/core-workflows/condition-operators.rst:162 +msgid "Not all values are present (at least one is missing)." +msgstr "Nem todos os valores estão presentes (pelo menos um está faltando)." + +#: ../system/core-workflows/condition-operators.rst:194 +msgid "``C`` is in the field but not in the condition." +msgstr "``C`` está no campo, mas não na condição." + +#: ../system/core-workflows/condition-operators.rst:200 +msgid "``A`` and ``B`` are present in the field." +msgstr "``A`` e ``B`` estão presentes no campo." + +#: ../system/core-workflows/condition-operators.rst:234 +msgid "``D`` is in the field but not in the condition." +msgstr "``D`` está no campo, mas não na condição." + +#: ../system/core-workflows/condition-operators.rst:240 +msgid "``C`` is present in the field." +msgstr "``C`` está presente no campo." + +#: ../system/core-workflows/condition-operators.rst:242 +msgid "" +"This partial overlap is where the two \"all\" operators part ways: " +"``contains all`` fails because one condition value is missing, while " +"``contains all not`` fails because a single common value is enough to block " +"it." +msgstr "" +"Essa sobreposição parcial é onde os dois operadores \"all\" se diferenciam: " +"``contains all`` falha porque falta um valor da condição, enquanto " +"``contains all not`` falha porque um único valor em comum já é suficiente " +"para bloqueá-lo." + +#: ../system/core-workflows/condition-operators.rst:277 +msgid "``C`` and ``D`` are not in the condition." +msgstr "``C`` e ``D`` não estão na condição." + +#: ../system/core-workflows/condition-operators.rst:285 +msgid "This is the only example where ``contains all not`` matches." +msgstr "Este é o único exemplo em que ``contains all not`` corresponde." + +#: ../system/core-workflows/condition-operators.rst:317 +msgid "An empty field matches." +msgstr "Um campo vazio corresponde." + +#: ../system/core-workflows/condition-operators.rst:323 +msgid "An empty field has no value in common with the condition." +msgstr "Um campo vazio não tem nenhum valor em comum com a condição." + +#: ../system/core-workflows/condition-operators.rst:325 +msgid "" +"Note that ``contains not`` and ``contains one not`` match an empty field, " +"while ``contains`` and ``contains all`` do not. If you want to exclude " +"specific values, be aware that empty fields pass the condition." +msgstr "" +"Note que ``contains not`` e ``contains one not`` correspondem a um campo " +"vazio, enquanto ``contains`` e ``contains all`` não correspondem. Se você " +"quiser excluir valores específicos, esteja ciente de que campos vazios " +"passam pela condição." + #: ../system/core-workflows/how-do-they-work.rst:2 msgid "How do they work?" msgstr "Como eles funcionam?" @@ -36615,6 +37159,28 @@ msgstr "" "Mostra que versão está sendo atualmente utilizada pela sua instância do " "Zammad." +#~ msgid "Matches if all given field values are not selected." +#~ msgstr "" +#~ "Corresponde se todos os valores de campo fornecidos não estiverem " +#~ "selecionados." + +#~ msgid "Matches if one specific given field value is not selected." +#~ msgstr "" +#~ "Corresponde se um valor de campo específico fornecido não estiver " +#~ "selecionado." + +#~ msgid "Matches if a specified value is present." +#~ msgstr "Corresponde se um valor especificado estiver presente." + +#~ msgid "Matches if all of the specified values are present." +#~ msgstr "Corresponde se todos os valores especificados estiverem presentes." + +#~ msgid "Matches if a specified value is not present." +#~ msgstr "Corresponde se um valor especificado não estiver presente." + +#~ msgid "Matches if one specified value is not present." +#~ msgstr "Corresponde se um valor especificado não estiver presente." + #~ msgid "Depending on your email system, follow the matching guide:" #~ msgstr "Dependendo do seu sistema de email, siga o guia correspondente:" diff --git a/locale/ru/LC_MESSAGES/admin-docs.po b/locale/ru/LC_MESSAGES/admin-docs.po index ddb5accf7..14e768981 100644 --- a/locale/ru/LC_MESSAGES/admin-docs.po +++ b/locale/ru/LC_MESSAGES/admin-docs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Zammad\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-24 17:19+0200\n" +"POT-Creation-Date: 2026-08-28 15:08+0200\n" "PO-Revision-Date: 2026-07-29 08:05+0000\n" "Last-Translator: Alex5405 \n" "Language-Team: Russian ` and consider switching your plan. When a " @@ -1164,17 +1165,17 @@ msgid "" "alerted when few calls remain." msgstr "" -#: ../ai/provider.rst:288 +#: ../ai/provider.rst:289 msgid "" "On SaaS, the Zammad AI provider is provisioned by the platform and you " "cannot delete it or change its type." msgstr "" -#: ../ai/provider.rst:295 +#: ../ai/provider.rst:296 msgid "Self-Hosted Customers" msgstr "" -#: ../ai/provider.rst:292 +#: ../ai/provider.rst:293 msgid "" "Get in touch with our `sales department `_ to obtain a Zammad AI API key and to buy AI calls. After " @@ -1182,14 +1183,14 @@ msgid "" "key." msgstr "" -#: ../ai/provider.rst:300 +#: ../ai/provider.rst:301 msgid "" "`Ollama `_ lets you run your own AI server on a machine " "you control, so your data is not transferred to a third party. This approach " "only makes sense if you have a powerful GPU in your system!" msgstr "" -#: ../ai/provider.rst:304 +#: ../ai/provider.rst:305 msgid "" "If you don't have Ollama running yet, their `documentation `_ is a good starting point. Available models are listed in " @@ -4274,7 +4275,7 @@ msgstr "" msgid "Signatures" msgstr "" -#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:436 +#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:450 #: ../system/monitoring.rst:9 msgid "General" msgstr "" @@ -5009,7 +5010,7 @@ msgstr "" #: ../channels/form.rst:250 ../manage/public-links.rst:43 #: ../misc/object-conditions/basics.rst:63 ../misc/variables.rst:101 -#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:22 #: ../system/objects/permissions.rst:36 ../system/subscription.rst:196 msgid "Description" msgstr "" @@ -8769,6 +8770,29 @@ msgstr "" #: ../manage/groups/settings.rst:42 ../manage/groups/settings.rst:63 #: ../misc/object-conditions/basics.rst:121 #: ../misc/object-conditions/basics.rst:136 +#: ../misc/object-conditions/basics.rst:514 +#: ../misc/object-conditions/basics.rst:517 +#: ../misc/object-conditions/basics.rst:548 +#: ../misc/object-conditions/basics.rst:554 +#: ../misc/object-conditions/basics.rst:591 +#: ../misc/object-conditions/basics.rst:594 +#: ../misc/object-conditions/basics.rst:623 +#: ../misc/object-conditions/basics.rst:626 +#: ../system/core-workflows/condition-operators.rst:184 +#: ../system/core-workflows/condition-operators.rst:187 +#: ../system/core-workflows/condition-operators.rst:190 +#: ../system/core-workflows/condition-operators.rst:193 +#: ../system/core-workflows/condition-operators.rst:196 +#: ../system/core-workflows/condition-operators.rst:224 +#: ../system/core-workflows/condition-operators.rst:227 +#: ../system/core-workflows/condition-operators.rst:233 +#: ../system/core-workflows/condition-operators.rst:236 +#: ../system/core-workflows/condition-operators.rst:276 +#: ../system/core-workflows/condition-operators.rst:279 +#: ../system/core-workflows/condition-operators.rst:282 +#: ../system/core-workflows/condition-operators.rst:316 +#: ../system/core-workflows/condition-operators.rst:319 +#: ../system/core-workflows/condition-operators.rst:322 msgid "yes" msgstr "" @@ -8823,6 +8847,23 @@ msgstr "" #: ../manage/groups/settings.rst:66 ../misc/object-conditions/basics.rst:122 #: ../misc/object-conditions/basics.rst:137 +#: ../misc/object-conditions/basics.rst:520 +#: ../misc/object-conditions/basics.rst:523 +#: ../misc/object-conditions/basics.rst:551 +#: ../misc/object-conditions/basics.rst:557 +#: ../misc/object-conditions/basics.rst:585 +#: ../misc/object-conditions/basics.rst:588 +#: ../misc/object-conditions/basics.rst:617 +#: ../misc/object-conditions/basics.rst:620 +#: ../system/core-workflows/condition-operators.rst:199 +#: ../system/core-workflows/condition-operators.rst:230 +#: ../system/core-workflows/condition-operators.rst:239 +#: ../system/core-workflows/condition-operators.rst:267 +#: ../system/core-workflows/condition-operators.rst:270 +#: ../system/core-workflows/condition-operators.rst:273 +#: ../system/core-workflows/condition-operators.rst:307 +#: ../system/core-workflows/condition-operators.rst:310 +#: ../system/core-workflows/condition-operators.rst:313 msgid "no" msgstr "" @@ -9228,7 +9269,7 @@ msgid "" msgstr "" #: ../manage/knowledge-base.rst:136 ../manage/public-links.rst:35 -#: ../manage/time-accounting.rst:147 ../manage/time-accounting.rst:161 +#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 #: ../system/maintenance.rst:31 msgid "Title" msgstr "Заголовок" @@ -12503,16 +12544,18 @@ msgstr "" #: ../manage/time-accounting.rst:22 msgid "" "If a ticket is relevant, Zammad will request the agent to provide the time " -"which was needed to process the current ticket step. In order for Zammad to " -"bring up the time accounting dialog to an agent, the agent has to update the " -"ticket together with an article of any type. The adding of an article is " -"mandatory to invoke the time accounting dialog. However, the time accounting " -"dialog is not mandatory and can be canceled by your agents. You cannot " -"enforce the time accounting. When a ticket is no longer considered for the " -"time accounting, the already accounted time will be preserved." +"which was needed to process the current ticket step. This accounted time is " +"displayed in the ticket sidebar at ticket level and in the article meta " +"information for an individual article. In order for Zammad to bring up the " +"time accounting dialog to an agent, the agent has to update the ticket " +"together with an article of any type. The adding of an article is mandatory " +"to invoke the time accounting dialog. However, the time accounting dialog is " +"not mandatory and can be canceled by your agents. You cannot enforce the " +"time accounting. When a ticket is no longer considered for the time " +"accounting, the already accounted time will be preserved." msgstr "" -#: ../manage/time-accounting.rst:33 +#: ../manage/time-accounting.rst:35 msgid "" "The selector applies to the ticket state before any attribute changes have " "been saved. That means if your agent is e.g. going to close a ticket " @@ -12524,49 +12567,49 @@ msgstr "" msgid "Time Accounting Ticket Selector" msgstr "" -#: ../manage/time-accounting.rst:42 +#: ../manage/time-accounting.rst:44 msgid "" "The accounted time is always a unitless number. However, it is possible to " "show a specific unit in the **Unit** section, which provides several options:" msgstr "" -#: ../manage/time-accounting.rst:46 +#: ../manage/time-accounting.rst:48 msgid "no unit" msgstr "" -#: ../manage/time-accounting.rst:47 +#: ../manage/time-accounting.rst:49 msgid "Default behavior, no unit is shown next to the time value." msgstr "" -#: ../manage/time-accounting.rst:48 +#: ../manage/time-accounting.rst:50 msgid "hour(s)" msgstr "" -#: ../manage/time-accounting.rst:49 +#: ../manage/time-accounting.rst:51 msgid "Shows ``hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:50 +#: ../manage/time-accounting.rst:52 msgid "quarter-hour(s)" msgstr "" -#: ../manage/time-accounting.rst:51 +#: ../manage/time-accounting.rst:53 msgid "Shows ``quarter-hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:52 +#: ../manage/time-accounting.rst:54 msgid "minute(s)" msgstr "" -#: ../manage/time-accounting.rst:53 +#: ../manage/time-accounting.rst:55 msgid "Shows ``minute(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "custom unit" msgstr "" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "Shows a custom unit that can be specified as free input." msgstr "" @@ -12574,7 +12617,7 @@ msgstr "" msgid "Time Accounting Unit" msgstr "Единица измерения учёта рабочего времени" -#: ../manage/time-accounting.rst:62 +#: ../manage/time-accounting.rst:64 msgid "" "The unit is only displayed to make it easier for agents to account their " "time! No numerical transformation will be applied to the values, not even if " @@ -12586,11 +12629,11 @@ msgstr "" msgid "Time Accounting Unit when Recording" msgstr "" -#: ../manage/time-accounting.rst:72 +#: ../manage/time-accounting.rst:74 msgid "Activity Types" msgstr "Типы деятельности" -#: ../manage/time-accounting.rst:74 +#: ../manage/time-accounting.rst:76 msgid "" "**Activity Types** can be used to group the different ticket time accounting " "entries together. For example, entries that are relevant to a \"Billing\" " @@ -12601,7 +12644,7 @@ msgstr "" msgid "Time Accounting Activity Types" msgstr "" -#: ../manage/time-accounting.rst:81 +#: ../manage/time-accounting.rst:83 msgid "" "When you enable the recording of the **Activity Type**, the agents will be " "able to select a type from this list." @@ -12611,13 +12654,13 @@ msgstr "" msgid "Time Accounting Activity Type Selection for Agents" msgstr "" -#: ../manage/time-accounting.rst:88 +#: ../manage/time-accounting.rst:90 msgid "" "Additionally, a column with an associated activity type will be rendered for " "an entry in the **Activity** table under the **Accounted Time** tab." msgstr "" -#: ../manage/time-accounting.rst:91 +#: ../manage/time-accounting.rst:93 msgid "" "You can manage available activity types in this screen like any other Zammad " "object. Only active types will be available for the selection when recording " @@ -12629,7 +12672,7 @@ msgstr "" msgid "New Time Accounting Activity Type Dialog" msgstr "" -#: ../manage/time-accounting.rst:100 +#: ../manage/time-accounting.rst:102 msgid "" "Activity types can be set as default, and in that case they will be pre-" "selected for the agents when they are asked to account their time. It is " @@ -12637,29 +12680,29 @@ msgid "" "pre-selected and the agents can make their choice." msgstr "" -#: ../manage/time-accounting.rst:106 +#: ../manage/time-accounting.rst:108 msgid "Accounted Time" msgstr "" -#: ../manage/time-accounting.rst:108 +#: ../manage/time-accounting.rst:110 msgid "" "Under the **Accounted Time** tab, Zammad provides a section for reviewing " "all accounted times for your tickets. Accounted times are displayed per " "years and months." msgstr "" -#: ../manage/time-accounting.rst:112 +#: ../manage/time-accounting.rst:114 msgid "" "If you have tickets that are overlapping several months, you can " "differentiate by *time units* and *time units total* (e.g. to allow partial " "billing) in the downloaded file." msgstr "" -#: ../manage/time-accounting.rst:123 +#: ../manage/time-accounting.rst:125 msgid "Select the right month" msgstr "" -#: ../manage/time-accounting.rst:117 +#: ../manage/time-accounting.rst:119 msgid "" "Usually you want to bill accounted time of other months than the current " "one. Just select the relevant year and month to receive the accounted times " @@ -12670,85 +12713,85 @@ msgstr "" msgid "Screenshot showing a selection for year and month on time accounting" msgstr "" -#: ../manage/time-accounting.rst:186 +#: ../manage/time-accounting.rst:188 msgid "Tickets and their accounted time" msgstr "" -#: ../manage/time-accounting.rst:126 +#: ../manage/time-accounting.rst:128 msgid "" "Zammad allows you to receive the accounted information just like you need " "them. For this you currently have four options to review and also download " "the relevant data as CSV." msgstr "" -#: ../manage/time-accounting.rst:130 +#: ../manage/time-accounting.rst:132 msgid "" "To download the CSV data, use the download button right next to each heading " "(e.g. \"Ticket\")." msgstr "" -#: ../manage/time-accounting.rst:133 +#: ../manage/time-accounting.rst:135 msgid "This can also be automated with API calls." msgstr "" -#: ../manage/time-accounting.rst:136 +#: ../manage/time-accounting.rst:138 msgid "" "Only the first 20 entries are shown for each table. To see all of them, " "simply download the records in CSV." msgstr "" -#: ../manage/time-accounting.rst:153 +#: ../manage/time-accounting.rst:155 msgid "Activity" msgstr "" -#: ../manage/time-accounting.rst:140 +#: ../manage/time-accounting.rst:142 msgid "" "This filter works similar to the ticket filter, with one exception: You'll " "find each *individual* time accounting step of your agents. This is what " "you'd also see in the ticket's history before Zammad 5.2." msgstr "" -#: ../manage/time-accounting.rst:144 ../manage/time-accounting.rst:158 -#: ../manage/time-accounting.rst:175 +#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:177 msgid "In this list you'll see the following ticket information:" msgstr "" -#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 #: ../settings/ticket.rst:103 msgid "Number" msgstr "" -#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 -#: ../manage/time-accounting.rst:179 ../manage/time-accounting.rst:177 +#: ../manage/time-accounting.rst:150 ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:181 ../manage/time-accounting.rst:179 #: ../misc/object-conditions/basics.rst:37 #: ../misc/object-conditions/basics.rst:89 #: ../misc/object-conditions/basics.rst:171 msgid "Customer" msgstr "Клиент" -#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 -#: ../manage/time-accounting.rst:178 +#: ../manage/time-accounting.rst:151 ../manage/time-accounting.rst:165 +#: ../manage/time-accounting.rst:180 msgid "Organization of customer (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:150 +#: ../manage/time-accounting.rst:152 msgid "Agent that accounted the time" msgstr "" -#: ../manage/time-accounting.rst:151 +#: ../manage/time-accounting.rst:153 msgid "Time units accounted in the current activity" msgstr "" -#: ../manage/time-accounting.rst:152 +#: ../manage/time-accounting.rst:154 msgid "Activity type (if enabled)" msgstr "" -#: ../manage/time-accounting.rst:153 ../manage/time-accounting.rst:167 +#: ../manage/time-accounting.rst:155 ../manage/time-accounting.rst:169 #: ../system/audit-logs.rst:76 msgid "Created at" msgstr "" -#: ../manage/time-accounting.rst:168 ../misc/object-conditions/basics.rst:26 +#: ../manage/time-accounting.rst:170 ../misc/object-conditions/basics.rst:26 #: ../misc/object-conditions/basics.rst:90 #: ../misc/object-conditions/basics.rst:126 #: ../misc/object-conditions/basics.rst:139 @@ -12764,45 +12807,45 @@ msgstr "" msgid "Ticket" msgstr "" -#: ../manage/time-accounting.rst:156 +#: ../manage/time-accounting.rst:158 msgid "This filter contains all relevant tickets from the selected month." msgstr "" -#: ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:166 msgid "Agent currently assigned (ticket owner)" msgstr "" -#: ../manage/time-accounting.rst:165 ../manage/time-accounting.rst:179 +#: ../manage/time-accounting.rst:167 ../manage/time-accounting.rst:181 msgid "Time units accounted in the current month" msgstr "" -#: ../manage/time-accounting.rst:166 +#: ../manage/time-accounting.rst:168 msgid "Time units total (time accounted during ticket life)" msgstr "" -#: ../manage/time-accounting.rst:168 +#: ../manage/time-accounting.rst:170 msgid "Closed at (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:171 +#: ../manage/time-accounting.rst:173 msgid "" "This provides you a per user filter on accounted time units. Each user has a " "total of time accounted in the current month (over all applicable tickets)." msgstr "" -#: ../manage/time-accounting.rst:186 ../misc/object-conditions/basics.rst:28 +#: ../manage/time-accounting.rst:188 ../misc/object-conditions/basics.rst:28 #: ../misc/object-conditions/basics.rst:115 #: ../misc/object-conditions/basics.rst:146 ../settings/branding.rst:16 msgid "Organization" msgstr "" -#: ../manage/time-accounting.rst:182 +#: ../manage/time-accounting.rst:184 msgid "" "This provides a list of all organizations where customers have caused " "accounted time in that month." msgstr "" -#: ../manage/time-accounting.rst:185 +#: ../manage/time-accounting.rst:187 msgid "" "You can also see entries for customers that are part of a primary " "organization. Users without an organization can be found in the Customer " @@ -15960,7 +16003,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:185 #: ../misc/object-conditions/basics.rst:209 #: ../misc/object-conditions/basics.rst:219 -#: ../system/core-workflows/condition-operators.rst:50 +#: ../system/core-workflows/condition-operators.rst:64 msgid "is" msgstr "" @@ -15977,7 +16020,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:186 #: ../misc/object-conditions/basics.rst:210 #: ../misc/object-conditions/basics.rst:220 -#: ../system/core-workflows/condition-operators.rst:72 +#: ../system/core-workflows/condition-operators.rst:86 msgid "is not" msgstr "" @@ -16048,7 +16091,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:97 #: ../misc/object-conditions/basics.rst:155 #: ../misc/object-conditions/basics.rst:204 -#: ../system/core-workflows/condition-operators.rst:86 +#: ../system/core-workflows/condition-operators.rst:100 msgid "not set" msgstr "" @@ -16208,22 +16251,58 @@ msgid "Checks tags of a ticket." msgstr "" #: ../misc/object-conditions/basics.rst:193 -#: ../system/core-workflows/condition-operators.rst:32 +#: ../misc/object-conditions/basics.rst:516 +#: ../misc/object-conditions/basics.rst:550 +#: ../misc/object-conditions/basics.rst:587 +#: ../misc/object-conditions/basics.rst:619 +#: ../system/core-workflows/condition-operators.rst:38 +#: ../system/core-workflows/condition-operators.rst:150 +#: ../system/core-workflows/condition-operators.rst:189 +#: ../system/core-workflows/condition-operators.rst:229 +#: ../system/core-workflows/condition-operators.rst:272 +#: ../system/core-workflows/condition-operators.rst:312 msgid "contains all" msgstr "" #: ../misc/object-conditions/basics.rst:194 -#: ../system/core-workflows/condition-operators.rst:38 +#: ../misc/object-conditions/basics.rst:513 +#: ../misc/object-conditions/basics.rst:547 +#: ../misc/object-conditions/basics.rst:584 +#: ../misc/object-conditions/basics.rst:616 +#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:147 +#: ../system/core-workflows/condition-operators.rst:186 +#: ../system/core-workflows/condition-operators.rst:226 +#: ../system/core-workflows/condition-operators.rst:269 +#: ../system/core-workflows/condition-operators.rst:309 msgid "contains one" msgstr "" #: ../misc/object-conditions/basics.rst:195 -#: ../system/core-workflows/condition-operators.rst:34 +#: ../misc/object-conditions/basics.rst:519 +#: ../misc/object-conditions/basics.rst:553 +#: ../misc/object-conditions/basics.rst:590 +#: ../misc/object-conditions/basics.rst:622 +#: ../system/core-workflows/condition-operators.rst:41 +#: ../system/core-workflows/condition-operators.rst:160 +#: ../system/core-workflows/condition-operators.rst:198 +#: ../system/core-workflows/condition-operators.rst:238 +#: ../system/core-workflows/condition-operators.rst:281 +#: ../system/core-workflows/condition-operators.rst:321 msgid "contains all not" msgstr "" #: ../misc/object-conditions/basics.rst:196 -#: ../system/core-workflows/condition-operators.rst:40 +#: ../misc/object-conditions/basics.rst:522 +#: ../misc/object-conditions/basics.rst:556 +#: ../misc/object-conditions/basics.rst:593 +#: ../misc/object-conditions/basics.rst:625 +#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:157 +#: ../system/core-workflows/condition-operators.rst:195 +#: ../system/core-workflows/condition-operators.rst:235 +#: ../system/core-workflows/condition-operators.rst:278 +#: ../system/core-workflows/condition-operators.rst:318 msgid "contains one not" msgstr "" @@ -16244,7 +16323,7 @@ msgid "Checks if time is accounted." msgstr "" #: ../misc/object-conditions/basics.rst:203 -#: ../system/core-workflows/condition-operators.rst:74 +#: ../system/core-workflows/condition-operators.rst:88 msgid "is set" msgstr "" @@ -16302,8 +16381,8 @@ msgstr "" #: ../misc/object-conditions/basics.rst:334 #: ../misc/object-conditions/basics.rst:381 #: ../misc/object-conditions/basics.rst:392 -#: ../misc/object-conditions/basics.rst:410 #: ../misc/object-conditions/basics.rst:421 +#: ../misc/object-conditions/basics.rst:432 msgid "Available operators for matching:" msgstr "" @@ -16389,7 +16468,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:269 #: ../misc/object-conditions/basics.rst:284 #: ../misc/object-conditions/basics.rst:385 -#: ../misc/object-conditions/basics.rst:414 +#: ../misc/object-conditions/basics.rst:425 msgid "**has changed**" msgstr "" @@ -16404,14 +16483,14 @@ msgstr "" #: ../misc/object-conditions/basics.rst:267 #: ../misc/object-conditions/basics.rst:278 #: ../misc/object-conditions/basics.rst:383 -#: ../misc/object-conditions/basics.rst:412 +#: ../misc/object-conditions/basics.rst:423 msgid "**is**" msgstr "" #: ../misc/object-conditions/basics.rst:268 #: ../misc/object-conditions/basics.rst:279 #: ../misc/object-conditions/basics.rst:384 -#: ../misc/object-conditions/basics.rst:413 +#: ../misc/object-conditions/basics.rst:424 msgid "**is not**" msgstr "" @@ -16659,7 +16738,7 @@ msgid "**contains all**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are selected." +msgid "Matches if **all** given field values are selected (AND logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16667,7 +16746,8 @@ msgid "**contains one**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is selected." +msgid "" +"Matches if **at least one** of the given field values is selected (OR logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16675,7 +16755,9 @@ msgid "**contains all not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are not selected." +msgid "" +"Matches if **not all** given field values are selected (at least one is " +"missing). This means \"not all of\", not \"none of\"." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16683,24 +16765,35 @@ msgid "**contains one not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is not selected." +msgid "" +"Matches if **none** of the given field values are selected. This means " +"\"none of\", not \"not all of\"." msgstr "" -#: ../misc/object-conditions/basics.rst:405 ../system/objects/types.rst:135 +#: ../misc/object-conditions/basics.rst:408 +msgid "" +"In :doc:`core workflows `, these operators have " +"different semantics. See :ref:`core workflow condition operators ` for details. Example scenarios for the " +"operators described here can be found in :ref:`multi-select-operator-" +"examples` below." +msgstr "" + +#: ../misc/object-conditions/basics.rst:416 ../system/objects/types.rst:135 msgid "Single Tree Selection Field" msgstr "" -#: ../misc/object-conditions/basics.rst:407 +#: ../misc/object-conditions/basics.rst:418 msgid "" "Checks if a selected field value match the attribute value. Selecting more " "than one value in the condition will act like an \"OR\" clause." msgstr "" -#: ../misc/object-conditions/basics.rst:417 ../system/objects/types.rst:148 +#: ../misc/object-conditions/basics.rst:428 ../system/objects/types.rst:148 msgid "Multiple Tree Selection Field" msgstr "" -#: ../misc/object-conditions/basics.rst:419 +#: ../misc/object-conditions/basics.rst:430 msgid "Checks if selected field value(s) match the attribute value(s)." msgstr "" @@ -16720,64 +16813,64 @@ msgstr "" msgid "**contains one not**" msgstr "" -#: ../misc/object-conditions/basics.rst:433 +#: ../misc/object-conditions/basics.rst:447 msgid "Additional Information and Remarks" msgstr "" -#: ../misc/object-conditions/basics.rst:442 +#: ../misc/object-conditions/basics.rst:456 msgid "Ticket context conditions do not support:" msgstr "" -#: ../misc/object-conditions/basics.rst:439 +#: ../misc/object-conditions/basics.rst:453 msgid "regular expressions" msgstr "" -#: ../misc/object-conditions/basics.rst:440 +#: ../misc/object-conditions/basics.rst:454 msgid "case sensitive string conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:441 +#: ../misc/object-conditions/basics.rst:455 msgid "" "Basic conditions do not support the same attribute to be selected more than " "once" msgstr "" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "**has changed** conditions:" msgstr "" -#: ../misc/object-conditions/basics.rst:445 +#: ../misc/object-conditions/basics.rst:459 msgid "Are only available for ticket attributes and don't affect:" msgstr "" -#: ../misc/object-conditions/basics.rst:447 +#: ../misc/object-conditions/basics.rst:461 msgid "Ticket articles attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:448 +#: ../misc/object-conditions/basics.rst:462 msgid "Organization attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:449 +#: ../misc/object-conditions/basics.rst:463 msgid "User attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "Group attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:463 +#: ../misc/object-conditions/basics.rst:477 msgid "Differences in input fields:" msgstr "" -#: ../misc/object-conditions/basics.rst:453 +#: ../misc/object-conditions/basics.rst:467 msgid "" "Please note that the input field for tokens doesn't support the comma as " "separator (as in the input field for tags). If you use the comma in the " "token input field, the comma is included in you token." msgstr "" -#: ../misc/object-conditions/basics.rst:457 +#: ../misc/object-conditions/basics.rst:471 msgid "**Example**:" msgstr "**Пример**:" @@ -16785,32 +16878,257 @@ msgstr "**Пример**:" msgid "Example of comma usage in token input field" msgstr "Пример использования запятой в поле ввода токена" -#: ../misc/object-conditions/basics.rst:462 +#: ../misc/object-conditions/basics.rst:476 msgid "" "``A`` added with enter/tab, ``B`` and ``C`` separated with comma (resulting " "in one token)." msgstr "" -#: ../misc/object-conditions/basics.rst:468 +#: ../misc/object-conditions/basics.rst:482 +msgid "Multi-Select Operator Examples" +msgstr "" + +#: ../misc/object-conditions/basics.rst:484 +msgid "" +"The ``contains`` family of operators for multi-select fields compares two " +"sets of values: the values currently in the field and the values specified " +"in the condition. The diagrams below show the condition values as an orange " +"circle and the field values as a blue circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:489 +msgid "" +"Be aware that these operators behave **differently** in :doc:`core workflows " +"`. See :ref:`core workflow condition operators ` for a side by side comparison." +msgstr "" + +#: ../misc/object-conditions/basics.rst:495 +#: ../system/core-workflows/condition-operators.rst:165 +msgid "Example 1: Condition A, B - Field A, B, C" +msgstr "" + +#: ../misc/object-conditions/basics.rst:497 +#: ../system/core-workflows/condition-operators.rst:167 +msgid "" +"In this scenario, the field holds the values A, B and C, while the condition " +"asks for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "" +"Venn diagram of condition values A, B and field values A, B, C. A and B are " +"in both circles, C only in the field circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "Condition values ``A, B`` overlap with field values ``A, B, C``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:510 +#: ../misc/object-conditions/basics.rst:544 +#: ../misc/object-conditions/basics.rst:581 +#: ../misc/object-conditions/basics.rst:613 +#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:141 +#: ../system/core-workflows/condition-operators.rst:180 +#: ../system/core-workflows/condition-operators.rst:220 +#: ../system/core-workflows/condition-operators.rst:263 +#: ../system/core-workflows/condition-operators.rst:303 +msgid "Operator" +msgstr "" + +#: ../misc/object-conditions/basics.rst:511 +#: ../misc/object-conditions/basics.rst:545 +#: ../misc/object-conditions/basics.rst:582 +#: ../misc/object-conditions/basics.rst:614 +#: ../system/core-workflows/condition-operators.rst:181 +#: ../system/core-workflows/condition-operators.rst:221 +#: ../system/core-workflows/condition-operators.rst:264 +#: ../system/core-workflows/condition-operators.rst:304 +msgid "Matches?" +msgstr "" + +#: ../misc/object-conditions/basics.rst:512 +#: ../misc/object-conditions/basics.rst:546 +#: ../misc/object-conditions/basics.rst:583 +#: ../misc/object-conditions/basics.rst:615 +#: ../system/core-workflows/condition-operators.rst:182 +#: ../system/core-workflows/condition-operators.rst:222 +#: ../system/core-workflows/condition-operators.rst:265 +#: ../system/core-workflows/condition-operators.rst:305 +msgid "Why" +msgstr "" + +#: ../misc/object-conditions/basics.rst:515 +#: ../system/core-workflows/condition-operators.rst:185 +msgid "``A`` and ``B`` are in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:518 +#: ../system/core-workflows/condition-operators.rst:191 +msgid "Both ``A`` and ``B`` are present (AND logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:521 +msgid "All condition values are present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:524 +msgid "The field has values in common with the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:527 +#: ../system/core-workflows/condition-operators.rst:203 +msgid "Example 2: Condition A, B, C - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:529 +#: ../system/core-workflows/condition-operators.rst:205 +msgid "" +"In this scenario, the field holds the values C and D. The condition value C " +"is present in the field, while A and B are not." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Venn diagram of condition values A, B, C and field values C, D.\n" +"Only C is in both circles." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Condition values ``A, B, C`` partially overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:549 +#: ../system/core-workflows/condition-operators.rst:225 +msgid "``C`` is in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:552 +#: ../system/core-workflows/condition-operators.rst:231 +msgid "Only ``C`` of the three condition values is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:555 +#: ../misc/object-conditions/basics.rst:592 +msgid "``A`` and ``B`` are missing from the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:558 +msgid "``C`` is in both the field and the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:560 +msgid "" +"This partial overlap is where the two \"not\" operators part ways: " +"``contains all not`` matches because a single condition value is missing, " +"while ``contains one not`` does not match because the one common value is " +"enough to block it." +msgstr "" + +#: ../misc/object-conditions/basics.rst:566 +#: ../system/core-workflows/condition-operators.rst:248 +msgid "Example 3: Condition A, B - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:568 +#: ../system/core-workflows/condition-operators.rst:250 +msgid "" +"In this scenario, the field holds the values C and D, which have nothing in " +"common with the condition values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "" +"Venn diagram of condition values A, B and field values C, D. The two circles " +"do not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "Condition values ``A, B`` have no overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:586 +#: ../system/core-workflows/condition-operators.rst:268 +msgid "No value is in both sets." +msgstr "" + +#: ../misc/object-conditions/basics.rst:589 +#: ../system/core-workflows/condition-operators.rst:274 +msgid "Neither ``A`` nor ``B`` is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:595 +#: ../misc/object-conditions/basics.rst:627 +#: ../system/core-workflows/condition-operators.rst:159 +#: ../system/core-workflows/condition-operators.rst:161 +#: ../system/core-workflows/condition-operators.rst:283 +msgid "The field has no value in common with the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:598 +#: ../system/core-workflows/condition-operators.rst:288 +msgid "Example 4: Condition A, B - Field is empty" +msgstr "" + +#: ../misc/object-conditions/basics.rst:600 +#: ../system/core-workflows/condition-operators.rst:290 +msgid "" +"In this scenario, the field holds no values at all, while the condition asks " +"for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "" +"Venn diagram of condition values A, B and an empty field. The two circles do " +"not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "The field holds no values at all." +msgstr "" + +#: ../misc/object-conditions/basics.rst:618 +#: ../misc/object-conditions/basics.rst:621 +#: ../system/core-workflows/condition-operators.rst:308 +#: ../system/core-workflows/condition-operators.rst:314 +msgid "No value is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:624 +msgid "No condition value is present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:632 msgid "Regex" msgstr "" -#: ../misc/object-conditions/basics.rst:473 +#: ../misc/object-conditions/basics.rst:637 msgid "Regex support" msgstr "" -#: ../misc/object-conditions/basics.rst:471 +#: ../misc/object-conditions/basics.rst:635 msgid "" "**matches regex** and **does not match regex** are supported only in " "Triggers, Time Accounting selector, Postmaster Filters, Automatic ticket " "assignment and Core Workflow." msgstr "" -#: ../misc/object-conditions/basics.rst:478 +#: ../misc/object-conditions/basics.rst:642 msgid "\"Old\" style ``regex:...`` conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:476 +#: ../misc/object-conditions/basics.rst:640 msgid "" "If you update your Zammad from 6.0 or prior and you have already conditions " "with **contains** or **contains not** including a regex filter (i.e. " @@ -23038,9 +23356,9 @@ msgstr "" #: ../system/core-workflows/condition-operators.rst:8 msgid "" -"Due to differences to other places in Zammad which are also using conditions " -"(e.g. triggers), you can find a dedicated description of operators for core " -"workflows below." +"Due to differences from other places in Zammad which are also using " +"conditions (e.g. triggers), you can find a dedicated description of " +"operators for core workflows below." msgstr "" #: ../system/core-workflows/condition-operators.rst:12 @@ -23050,272 +23368,419 @@ msgid "" "for system attributes (e.g. for \"tags\", \"active\")." msgstr "" -#: ../system/core-workflows/condition-operators.rst:20 -msgid "Operator" -msgstr "" - -#: ../system/core-workflows/condition-operators.rst:22 +#: ../system/core-workflows/condition-operators.rst:23 msgid "after (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:23 +#: ../system/core-workflows/condition-operators.rst:24 msgid "Matches if a date/time is after a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:24 +#: ../system/core-workflows/condition-operators.rst:25 msgid "after (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:25 +#: ../system/core-workflows/condition-operators.rst:26 msgid "Matches if a time span after a specified event has passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:26 +#: ../system/core-workflows/condition-operators.rst:27 msgid "before (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:27 +#: ../system/core-workflows/condition-operators.rst:28 msgid "Matches if a date/time is before a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:28 +#: ../system/core-workflows/condition-operators.rst:29 msgid "before (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:29 +#: ../system/core-workflows/condition-operators.rst:30 msgid "Matches if a time span after a specified event has not passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:30 +#: ../system/core-workflows/condition-operators.rst:31 +#: ../system/core-workflows/condition-operators.rst:144 +#: ../system/core-workflows/condition-operators.rst:183 +#: ../system/core-workflows/condition-operators.rst:223 +#: ../system/core-workflows/condition-operators.rst:266 +#: ../system/core-workflows/condition-operators.rst:306 msgid "contains" msgstr "" -#: ../system/core-workflows/condition-operators.rst:31 -msgid "Matches if a specified value is present." +#: ../system/core-workflows/condition-operators.rst:32 +msgid "" +"Matches if **at least one** of the specified values is present in the field " +"(OR logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:33 -msgid "Matches if all of the specified values are present." +#: ../system/core-workflows/condition-operators.rst:34 +#: ../system/core-workflows/condition-operators.rst:153 +#: ../system/core-workflows/condition-operators.rst:192 +#: ../system/core-workflows/condition-operators.rst:232 +#: ../system/core-workflows/condition-operators.rst:275 +#: ../system/core-workflows/condition-operators.rst:315 +msgid "contains not" msgstr "" #: ../system/core-workflows/condition-operators.rst:35 -msgid "Matches if none of the specified values are present." +msgid "" +"Matches if the field contains at least one value that is **not** among the " +"specified values. Also matches if the field is empty." msgstr "" -#: ../system/core-workflows/condition-operators.rst:36 -msgid "contains not" +#: ../system/core-workflows/condition-operators.rst:39 +msgid "" +"Matches if **every** specified value is present in the field (AND logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:37 -msgid "Matches if a specified value is not present." +#: ../system/core-workflows/condition-operators.rst:42 +msgid "" +"Matches if **none** of the specified values are present in the field. The " +"field and the condition have no value in common: this means \"contains none " +"of\", not \"does not contain all of\"." msgstr "" -#: ../system/core-workflows/condition-operators.rst:39 -msgid "Matches if one specified value is present." +#: ../system/core-workflows/condition-operators.rst:46 +msgid "" +"In triggers and overviews, this operator means \"not all of the specified " +"values are present\" instead. See the examples section below." msgstr "" -#: ../system/core-workflows/condition-operators.rst:41 -msgid "Matches if one specified value is not present." +#: ../system/core-workflows/condition-operators.rst:50 +msgid "" +"Same as ``contains``. Matches if **at least one** of the specified values is " +"present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:42 +#: ../system/core-workflows/condition-operators.rst:53 +msgid "" +"Same as ``contains not``. Matches if the field contains at least one value " +"that is **not** among the specified values." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:56 msgid "does not match regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:43 +#: ../system/core-workflows/condition-operators.rst:57 msgid "Matches if content doesn't fit to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:44 +#: ../system/core-workflows/condition-operators.rst:58 msgid "ends with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:45 +#: ../system/core-workflows/condition-operators.rst:59 msgid "Matches if content ends with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:46 +#: ../system/core-workflows/condition-operators.rst:60 msgid "ends with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:47 +#: ../system/core-workflows/condition-operators.rst:61 msgid "Matches if content ends with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:48 +#: ../system/core-workflows/condition-operators.rst:62 msgid "from (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:63 msgid "Matches if date/time is after a period of time after an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:51 +#: ../system/core-workflows/condition-operators.rst:65 msgid "Matches if content is equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:66 msgid "is any of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:53 +#: ../system/core-workflows/condition-operators.rst:67 msgid "Matches if content is equal to any of specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:54 +#: ../system/core-workflows/condition-operators.rst:68 msgid "is greater than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:55 +#: ../system/core-workflows/condition-operators.rst:69 msgid "Matches if the value is greater than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:56 +#: ../system/core-workflows/condition-operators.rst:70 msgid "is greater than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:57 +#: ../system/core-workflows/condition-operators.rst:71 msgid "Matches if the value is greater than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:58 +#: ../system/core-workflows/condition-operators.rst:72 msgid "is less than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:59 +#: ../system/core-workflows/condition-operators.rst:73 msgid "Matches if the value is less than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:60 +#: ../system/core-workflows/condition-operators.rst:74 msgid "is less than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:61 +#: ../system/core-workflows/condition-operators.rst:75 msgid "Matches if the value is less than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:62 +#: ../system/core-workflows/condition-operators.rst:76 msgid "is modified" msgstr "" -#: ../system/core-workflows/condition-operators.rst:63 +#: ../system/core-workflows/condition-operators.rst:77 msgid "Matches if content is modified." msgstr "" -#: ../system/core-workflows/condition-operators.rst:65 -#: ../system/core-workflows/condition-operators.rst:69 +#: ../system/core-workflows/condition-operators.rst:79 +#: ../system/core-workflows/condition-operators.rst:83 msgid "True from the moment of changing content until form submit." msgstr "" -#: ../system/core-workflows/condition-operators.rst:66 +#: ../system/core-workflows/condition-operators.rst:80 msgid "is modified to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:67 +#: ../system/core-workflows/condition-operators.rst:81 msgid "Matches if content is modified to a specific value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:70 +#: ../system/core-workflows/condition-operators.rst:84 msgid "is none of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:71 +#: ../system/core-workflows/condition-operators.rst:85 msgid "Matches if content is none of any specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:73 +#: ../system/core-workflows/condition-operators.rst:87 msgid "Matches if content is not equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:75 +#: ../system/core-workflows/condition-operators.rst:89 msgid "Matches if content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:76 +#: ../system/core-workflows/condition-operators.rst:90 msgid "just changed" msgstr "" -#: ../system/core-workflows/condition-operators.rst:77 +#: ../system/core-workflows/condition-operators.rst:91 msgid "Matches if content has changed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:79 -#: ../system/core-workflows/condition-operators.rst:83 +#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:97 msgid "" "Only true for the moment of changing content until next form field action/" "click." msgstr "" -#: ../system/core-workflows/condition-operators.rst:80 +#: ../system/core-workflows/condition-operators.rst:94 msgid "just changed to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:81 +#: ../system/core-workflows/condition-operators.rst:95 msgid "Matches if content has changed to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:84 +#: ../system/core-workflows/condition-operators.rst:98 msgid "matches regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:85 +#: ../system/core-workflows/condition-operators.rst:99 msgid "Matches if value fits to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:87 +#: ../system/core-workflows/condition-operators.rst:101 msgid "Matches if no content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:88 +#: ../system/core-workflows/condition-operators.rst:102 msgid "starts with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:89 +#: ../system/core-workflows/condition-operators.rst:103 msgid "Matches if content starts with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:90 +#: ../system/core-workflows/condition-operators.rst:104 msgid "starts with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:91 +#: ../system/core-workflows/condition-operators.rst:105 msgid "Matches if content starts with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:92 +#: ../system/core-workflows/condition-operators.rst:106 msgid "till (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:107 msgid "Matches if date/time is before a period of time before an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:94 +#: ../system/core-workflows/condition-operators.rst:108 msgid "today" msgstr "" -#: ../system/core-workflows/condition-operators.rst:95 +#: ../system/core-workflows/condition-operators.rst:109 msgid "Matches if date/time is today." msgstr "" -#: ../system/core-workflows/condition-operators.rst:96 +#: ../system/core-workflows/condition-operators.rst:110 msgid "within last (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:97 +#: ../system/core-workflows/condition-operators.rst:111 msgid "" "Matches if date/time content is within specified period of time before now." msgstr "" -#: ../system/core-workflows/condition-operators.rst:99 +#: ../system/core-workflows/condition-operators.rst:113 msgid "within next (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:100 +#: ../system/core-workflows/condition-operators.rst:114 msgid "" "Matches if date/time content is within specified period of time after now." msgstr "" +#: ../system/core-workflows/condition-operators.rst:118 +msgid "Multi-Select Operators" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:120 +msgid "" +"The ``contains`` family of operators compares two sets of values: the values " +"currently in the field and the values specified in the condition. The " +"diagrams below show the condition values as an orange circle and the field " +"values as a blue circle." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:128 +msgid "Differences to Triggers and Overviews" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:130 +msgid "" +"Be aware that these operators behave **differently** in other features that " +"use conditions (e.g. triggers and overviews). The most confusing difference: " +"in core workflows, ``contains all not`` means that no value matches at all, " +"while in triggers and overviews it means \"not all values are present\". The " +"table below compares both worlds side by side." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:142 +msgid "Core workflows (this page)" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:143 +msgid "Triggers, overviews, etc." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:145 +#: ../system/core-workflows/condition-operators.rst:149 +msgid "At least one value is present (OR logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:146 +msgid "Not available; ``contains one`` is the equivalent." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:148 +#: ../system/core-workflows/condition-operators.rst:188 +#: ../system/core-workflows/condition-operators.rst:228 +#: ../system/core-workflows/condition-operators.rst:271 +#: ../system/core-workflows/condition-operators.rst:311 +msgid "Same as ``contains``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:151 +#: ../system/core-workflows/condition-operators.rst:152 +msgid "Every value is present (AND logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:154 +msgid "" +"At least one field value is outside the condition, or the field is empty." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:156 +msgid "Not available for multi-select fields." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:158 +#: ../system/core-workflows/condition-operators.rst:197 +#: ../system/core-workflows/condition-operators.rst:237 +#: ../system/core-workflows/condition-operators.rst:280 +#: ../system/core-workflows/condition-operators.rst:320 +msgid "Same as ``contains not``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:162 +msgid "Not all values are present (at least one is missing)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:194 +msgid "``C`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:200 +msgid "``A`` and ``B`` are present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:234 +msgid "``D`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:240 +msgid "``C`` is present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:242 +msgid "" +"This partial overlap is where the two \"all\" operators part ways: " +"``contains all`` fails because one condition value is missing, while " +"``contains all not`` fails because a single common value is enough to block " +"it." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:277 +msgid "``C`` and ``D`` are not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:285 +msgid "This is the only example where ``contains all not`` matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:317 +msgid "An empty field matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:323 +msgid "An empty field has no value in common with the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:325 +msgid "" +"Note that ``contains not`` and ``contains one not`` match an empty field, " +"while ``contains`` and ``contains all`` do not. If you want to exclude " +"specific values, be aware that empty fields pass the condition." +msgstr "" + #: ../system/core-workflows/how-do-they-work.rst:2 msgid "How do they work?" msgstr "" diff --git a/locale/sr/LC_MESSAGES/admin-docs.po b/locale/sr/LC_MESSAGES/admin-docs.po index 4137b8378..acb232b39 100644 --- a/locale/sr/LC_MESSAGES/admin-docs.po +++ b/locale/sr/LC_MESSAGES/admin-docs.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: Zammad Admin Documentation pre-release\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-24 17:19+0200\n" -"PO-Revision-Date: 2026-08-26 05:05+0000\n" +"POT-Creation-Date: 2026-08-28 15:08+0200\n" +"PO-Revision-Date: 2026-08-31 09:47+0000\n" "Last-Translator: Dusan Vuckovic \n" "Language-Team: Serbian \n" @@ -18,7 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 2026.7.1\n" +"X-Generator: Weblate 2026.8.1\n" #: ../ai/ai-agents.rst:2 msgid "AI Agents" @@ -881,7 +881,7 @@ msgstr "Врста" msgid "Pick the AI provider. Available options:" msgstr "Изаберите AI провајдера. Доступне опције:" -#: ../ai/provider.rst:52 ../ai/provider.rst:267 +#: ../ai/provider.rst:52 ../ai/provider.rst:268 msgid "Zammad AI" msgstr "Zammad AI" @@ -889,7 +889,7 @@ msgstr "Zammad AI" msgid "OpenAI" msgstr "OpenAI" -#: ../ai/provider.rst:54 ../ai/provider.rst:298 +#: ../ai/provider.rst:54 ../ai/provider.rst:299 msgid "Ollama" msgstr "Ollama" @@ -1000,7 +1000,7 @@ msgstr "" "функцији путем :ref:`подешавања провајдера по функцији `." -#: ../ai/provider.rst:120 +#: ../ai/provider.rst:121 msgid "Embedding Model" msgstr "Модел векторизације" @@ -1064,22 +1064,23 @@ msgid "" "Changing the embedding model or the embedding dimensions triggers a full " "rebuild of the knowledge base index. This re-embeds every knowledge base " "article, which takes time and costs AI calls proportional to the size of " -"your knowledge base. Zammad shows a confirmation dialog before the change is " -"saved. Switching the semantic search capability to a provider that uses the " -"same embedding model and dimensions does not trigger a rebuild." +"your knowledge base. The rebuild runs in the background and Zammad notifies " +"you with a toast message when it starts. Switching the semantic search " +"capability to a provider that uses the same embedding model and dimensions " +"does not trigger a rebuild." msgstr "" "Промена модела или димензија векторизације ће покренути потпуну обнову " "индекса базе знања. Ово ће поново векторизовати сваки чланак базе знања, што " "одузима време и троши AI упите пропорционално величини ваше базе знања. " -"Zammad приказује дијалог потврде пре него што промена буде сачувана. " +"Реиндексирање се извршава у позадини и Zammad ће вас обавестити када започн. " "Пребацивање својства семантичке претраге на други провајдер који користи " "исти модел и димензије векторизације неће покренути обнову." -#: ../ai/provider.rst:127 +#: ../ai/provider.rst:128 msgid "OCR Model" msgstr "Режим" -#: ../ai/provider.rst:123 +#: ../ai/provider.rst:124 msgid "" "The model used to extract text from images. The dropdown lists the models " "the provider offers. The default option falls back to the **Model** field. " @@ -1093,11 +1094,11 @@ msgstr "" "нуди ово подешавање. Не подржава сваки провајдер препознавање текста на " "сликама; поље се приказује само код оних који га подржавају." -#: ../ai/provider.rst:131 ../manage/knowledge-base.rst:139 +#: ../ai/provider.rst:132 ../manage/knowledge-base.rst:139 msgid "URL" msgstr "URL" -#: ../ai/provider.rst:130 +#: ../ai/provider.rst:131 msgid "" "The URL or IP address of the provider. Required for Ollama and OpenAI " "compatible providers." @@ -1105,21 +1106,21 @@ msgstr "" "URL или IP адреса провајдера. Обавезно за Ollama и OpenAI компатибилне " "провајдере." -#: ../ai/provider.rst:134 +#: ../ai/provider.rst:135 msgid "URL (Completions)" msgstr "URL адреса (completions)" -#: ../ai/provider.rst:134 +#: ../ai/provider.rst:135 msgid "" "Azure AI only. The endpoint where the text generation model is available." msgstr "" "Само за Azure AI. Путања на којој је доступан модел за генерисање текста." -#: ../ai/provider.rst:138 +#: ../ai/provider.rst:139 msgid "URL (OCR)" msgstr "URL адреса (OCR)" -#: ../ai/provider.rst:137 +#: ../ai/provider.rst:138 msgid "" "Azure AI only. The endpoint where the OCR model is available. Leave empty to " "fall back to URL (Completions)." @@ -1127,7 +1128,7 @@ msgstr "" "Само за Azure AI. Путања на којој је доступан OCR модел. Оставите празно да " "би се користила вредност из поља URL адреса (completions)." -#: ../ai/provider.rst:140 +#: ../ai/provider.rst:141 msgid "" "After filling in the fields, click ``Submit``. Zammad tests the " "configuration before saving. If the test succeeds, the row's status dot " @@ -1139,11 +1140,11 @@ msgstr "" "наранџаста, а постаје зелена након првог успешног захтева; погледајте одељак " "Статус испод за значење боја." -#: ../ai/provider.rst:146 +#: ../ai/provider.rst:147 msgid "Status" msgstr "Статус" -#: ../ai/provider.rst:148 +#: ../ai/provider.rst:149 msgid "" "The colored dot at the start of each row shows whether the provider has been " "used successfully or whether it has issues:" @@ -1151,11 +1152,11 @@ msgstr "" "Обојена тачка на почетку сваког реда показује да ли је провајдер успешно " "коришћен или има проблема:" -#: ../ai/provider.rst:153 +#: ../ai/provider.rst:154 msgid "Green" msgstr "Зелена" -#: ../ai/provider.rst:152 +#: ../ai/provider.rst:153 msgid "" "The provider has been used and the last request succeeded. The tooltip shows " "the timestamp of the last status update." @@ -1163,11 +1164,11 @@ msgstr "" "Провајдер је коришћен и последњи захтев је успео. Облачић приказује " "временску ознаку последњег освежавања статуса." -#: ../ai/provider.rst:157 +#: ../ai/provider.rst:158 msgid "Orange" msgstr "Наранџаста" -#: ../ai/provider.rst:156 +#: ../ai/provider.rst:157 msgid "" "The provider is configured but has not been used yet. It turns green after " "the first successful request." @@ -1175,11 +1176,11 @@ msgstr "" "Провајдер је подешен, али још увек није коришћен. Тачка постаје зелена након " "првог успешног захтева." -#: ../ai/provider.rst:162 +#: ../ai/provider.rst:163 msgid "Red" msgstr "Црвена" -#: ../ai/provider.rst:160 +#: ../ai/provider.rst:161 msgid "" "The last request to this provider failed. Hover the dot for the error " "message from the provider. The tooltip always shows the most recent error, " @@ -1189,11 +1190,11 @@ msgstr "" "бисте видели поруку о грешци од провајдера. Облачић увек приказује " "најскорију грешку, па временска ознака припада последњем неуспелом захтеву." -#: ../ai/provider.rst:167 +#: ../ai/provider.rst:168 msgid "Default Provider" msgstr "Подразумеван провајдер" -#: ../ai/provider.rst:169 +#: ../ai/provider.rst:170 msgid "" "The **Default** provider serves every AI feature that has no specific " "provider assigned. You set it from the ︙ menu in the **Action** column. A " @@ -1213,7 +1214,7 @@ msgstr "" "Снимак екрана који приказује списак провајдера, где је један провајдер " "означен као подразумеван за све три намене" -#: ../ai/provider.rst:178 +#: ../ai/provider.rst:179 msgid "" "When you mark a provider as the default, Zammad clears that flag from " "whichever provider held it before, so the new default takes over " @@ -1226,11 +1227,11 @@ msgstr "" "провајдера који носи ту ознаку, Zammad је додељује најстаријем преосталом " "провајдеру." -#: ../ai/provider.rst:186 +#: ../ai/provider.rst:187 msgid "Capabilities" msgstr "Могућности" -#: ../ai/provider.rst:188 +#: ../ai/provider.rst:189 msgid "" "Semantic search and image text recognition (OCR) are capabilities. You " "assign them from the ︙ menu in the **Action** column; the badges mark which " @@ -1240,11 +1241,11 @@ msgstr "" "Додељујете их из менија ︙ у колони **Радња**; значке означавају који " "провајдер тренутно покрива коју могућност." -#: ../ai/provider.rst:200 +#: ../ai/provider.rst:201 msgid "Semantic search" msgstr "Семантичка претрага" -#: ../ai/provider.rst:193 +#: ../ai/provider.rst:194 msgid "" "The provider used to turn text into numerical form (vector embeddings) so " "the knowledge base can find answers by meaning, not just keywords." @@ -1253,7 +1254,7 @@ msgstr "" "репрезентације) како би база знања могла да проналази чланке по значењу, а " "не само по кључним речима." -#: ../ai/provider.rst:196 +#: ../ai/provider.rst:197 msgid "" "If no provider covers semantic search and a feature needs it, Zammad shows a " "warning on the corresponding feature page. Assign semantic search to a " @@ -1268,15 +1269,15 @@ msgstr "" "овог својство може покренути потпуну обнову индекса, консултујте **Модел " "векторизације** изнад." -#: ../ai/provider.rst:206 +#: ../ai/provider.rst:207 msgid "Image text recognition" msgstr "Препознавање текста на сликама" -#: ../ai/provider.rst:203 +#: ../ai/provider.rst:204 msgid "The provider used to extract text from images (OCR)." msgstr "Провајдер који се користи за издвајање текста са слика (OCR)." -#: ../ai/provider.rst:205 +#: ../ai/provider.rst:206 msgid "" "This capability is optional. To save on AI-related costs, you can remove it " "from all providers entirely; features then simply skip the OCR step." @@ -1285,7 +1286,7 @@ msgstr "" "потпуности уклонити са свих провајдера; функције тада једноставно прескачу " "OCR корак." -#: ../ai/provider.rst:208 +#: ../ai/provider.rst:209 msgid "" "When you assign a capability to a provider, Zammad clears that assignment " "from whichever provider held it before, so the new assignment takes over " @@ -1299,27 +1300,27 @@ msgstr "" "обришете провајдера који покрива неку могућност, та могућност једноставно " "остаје недодељена." -#: ../ai/provider.rst:215 ../manage/macros.rst:56 ../manage/templates.rst:28 +#: ../ai/provider.rst:216 ../manage/macros.rst:56 ../manage/templates.rst:28 msgid "Actions" msgstr "Радње" -#: ../ai/provider.rst:217 +#: ../ai/provider.rst:218 msgid "The ︙ menu in the **Action** column offers the following actions:" msgstr "Мени ︙ у колони **Радња** нуди следеће радње:" -#: ../ai/provider.rst:220 +#: ../ai/provider.rst:221 msgid "Set as default" msgstr "Подеси као подразумевано" -#: ../ai/provider.rst:220 +#: ../ai/provider.rst:221 msgid "Marks the provider as the default provider for AI features." msgstr "Означава провајдера као подразумеваног провајдера за AI функције." -#: ../ai/provider.rst:224 +#: ../ai/provider.rst:225 msgid "Use for semantic search / Do not use for semantic search" msgstr "Користи за семантичку претрагу / Не користи за семантичку претрагу" -#: ../ai/provider.rst:223 +#: ../ai/provider.rst:224 msgid "" "Assigns the provider to the semantic search capability, or clears that " "assignment. Only available for providers that support it." @@ -1327,13 +1328,13 @@ msgstr "" "Додељује провајдеру могућност семантичке претраге или уклања ту доделу. " "Доступно само за провајдере који је подржавају." -#: ../ai/provider.rst:228 +#: ../ai/provider.rst:229 msgid "Use for image text recognition / Do not use for image text recognition" msgstr "" "Користи за препознавање текста на сликама / Не користи за препознавање " "текста на сликама" -#: ../ai/provider.rst:227 +#: ../ai/provider.rst:228 msgid "" "Assigns the provider to the image text recognition capability, or clears " "that assignment." @@ -1341,23 +1342,23 @@ msgstr "" "Додељује провајдеру могућност препознавања текста на сликама или уклања ту " "доделу." -#: ../ai/provider.rst:231 ../channels/email/accounts/managing-accounts.rst:50 +#: ../ai/provider.rst:232 ../channels/email/accounts/managing-accounts.rst:50 #: ../channels/email/accounts/managing-accounts.rst:51 #: ../manage/calendars.rst:30 ../manage/knowledge-base.rst:147 #: ../manage/knowledge-base.rst:181 msgid "Delete" msgstr "Обриши" -#: ../ai/provider.rst:231 +#: ../ai/provider.rst:232 msgid "Removes the provider. Not available for the Zammad AI provider on SaaS." msgstr "" "Уклања провајдера. Није доступно за Zammad AI провајдера на SaaS платформи." -#: ../ai/provider.rst:236 +#: ../ai/provider.rst:237 msgid "Configuring Provider per Feature" msgstr "Подешавање провајдера по AI функцији" -#: ../ai/provider.rst:238 +#: ../ai/provider.rst:239 msgid "" "By default, all AI features use the provider marked as the default. For " "finer control, you can pick a specific provider for individual features." @@ -1366,7 +1367,7 @@ msgstr "" "подразумеваног. За прецизнију контролу можете изабрати посебног провајдера " "за поједине функције." -#: ../ai/provider.rst:241 +#: ../ai/provider.rst:242 msgid "" "Every AI feature settings page shows a ``Provider`` button in the page " "header. It opens a modal with a dropdown of all configured providers. Pick a " @@ -1386,7 +1387,7 @@ msgstr "" "Снимак екрана који приказује дијалог за избор провајдера по функцији са " "изабраним провајдером" -#: ../ai/provider.rst:250 +#: ../ai/provider.rst:251 msgid "" "The choice only affects text generation. Semantic search always goes to the " "provider that covers the semantic search capability, and image text " @@ -1402,11 +1403,11 @@ msgstr "" "дозволу ``admin.ai_provider``, јер усмеравање захтева дира провајдере које " "подешавате на овој страници." -#: ../ai/provider.rst:258 +#: ../ai/provider.rst:259 msgid "Additional Provider Information" msgstr "Додатне информације о провајдерима" -#: ../ai/provider.rst:260 +#: ../ai/provider.rst:261 msgid "" "If you want to know more about Zammad AI or Ollama, read on. Otherwise, head " "over to :doc:`feedback-and-logs` or pick any of the AI feature pages from " @@ -1416,7 +1417,7 @@ msgstr "" "даље. У супротном, идите на :doc:`feedback-and-logs` или изаберите неку од " "страница са AI функцијама из менија са леве стране." -#: ../ai/provider.rst:269 +#: ../ai/provider.rst:270 msgid "" "Using Zammad AI as a provider is the easiest way to get started with " "Zammad's AI features. It has several key advantages:" @@ -1424,15 +1425,15 @@ msgstr "" "Коришћење Zammad AI као провајдера је најлакши начин да започнете рад са AI " "функцијама у Zammad-у. Доноси неколико кључних предности:" -#: ../ai/provider.rst:272 +#: ../ai/provider.rst:273 msgid "You don't have to set up an AI system or its configuration." msgstr "Не морате да постављате нити подешавате сопствени AI систем." -#: ../ai/provider.rst:273 +#: ../ai/provider.rst:274 msgid "Hosted in the EU and compliant with GDPR." msgstr "Хостован је у Европској унији и усклађен је са GDPR прописима." -#: ../ai/provider.rst:274 +#: ../ai/provider.rst:275 msgid "" "No configuration in Zammad for SaaS customers, or just an API key for self-" "hosted customers." @@ -1440,20 +1441,20 @@ msgstr "" "Никакво подешавање у Zammad-у за SaaS клијенте, односно само API кључ за " "клијенте који сами хостују." -#: ../ai/provider.rst:276 +#: ../ai/provider.rst:277 msgid "Requests with sensitive information aren't used for training." msgstr "Захтеви са осетљивим информацијама се не користе за тренирање модела." -#: ../ai/provider.rst:277 +#: ../ai/provider.rst:278 msgid "One place to go for support when something isn't working as expected." msgstr "" "Једно место на које се обраћате за подршку када нешто не ради како треба." -#: ../ai/provider.rst:289 +#: ../ai/provider.rst:290 msgid "SaaS Customers" msgstr "Клијент" -#: ../ai/provider.rst:281 +#: ../ai/provider.rst:282 msgid "" "Using Zammad AI requires a \"V2\" plan. Check your :doc:`subscription " "settings ` and consider switching your plan. When a " @@ -1469,7 +1470,7 @@ msgstr "" "преостали број AI позива с времена на време, или укључите обавештење да " "будете упозорени када их остане мало." -#: ../ai/provider.rst:288 +#: ../ai/provider.rst:289 msgid "" "On SaaS, the Zammad AI provider is provisioned by the platform and you " "cannot delete it or change its type." @@ -1477,11 +1478,11 @@ msgstr "" "На SaaS платформи Zammad AI провајдера обезбеђује сама платформа, па га не " "можете обрисати нити му променити врсту." -#: ../ai/provider.rst:295 +#: ../ai/provider.rst:296 msgid "Self-Hosted Customers" msgstr "Клијенти који сами хостују" -#: ../ai/provider.rst:292 +#: ../ai/provider.rst:293 msgid "" "Get in touch with our `sales department `_ to obtain a Zammad AI API key and to buy AI calls. After " @@ -1492,7 +1493,7 @@ msgstr "" "да бисте добили Zammad AI API кључ и докупили AI позиве. По добијању API " "кључа, додајте новог провајдера врсте *Zammad AI* и сачувајте кључ." -#: ../ai/provider.rst:300 +#: ../ai/provider.rst:301 msgid "" "`Ollama `_ lets you run your own AI server on a machine " "you control, so your data is not transferred to a third party. This approach " @@ -1503,7 +1504,7 @@ msgstr "" "трећим лицима. Овај приступ има смисла само ако поседујете моћан GPU у вашем " "систему!" -#: ../ai/provider.rst:304 +#: ../ai/provider.rst:305 msgid "" "If you don't have Ollama running yet, their `documentation `_ is a good starting point. Available models are listed in " @@ -5269,7 +5270,7 @@ msgstr "" msgid "Signatures" msgstr "Потписи" -#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:436 +#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:450 #: ../system/monitoring.rst:9 msgid "General" msgstr "Уопштено" @@ -6181,7 +6182,7 @@ msgstr "Подразумевана вредност" #: ../channels/form.rst:250 ../manage/public-links.rst:43 #: ../misc/object-conditions/basics.rst:63 ../misc/variables.rst:101 -#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:22 #: ../system/objects/permissions.rst:36 ../system/subscription.rst:196 msgid "Description" msgstr "Опис" @@ -10939,6 +10940,29 @@ msgstr "" #: ../manage/groups/settings.rst:42 ../manage/groups/settings.rst:63 #: ../misc/object-conditions/basics.rst:121 #: ../misc/object-conditions/basics.rst:136 +#: ../misc/object-conditions/basics.rst:514 +#: ../misc/object-conditions/basics.rst:517 +#: ../misc/object-conditions/basics.rst:548 +#: ../misc/object-conditions/basics.rst:554 +#: ../misc/object-conditions/basics.rst:591 +#: ../misc/object-conditions/basics.rst:594 +#: ../misc/object-conditions/basics.rst:623 +#: ../misc/object-conditions/basics.rst:626 +#: ../system/core-workflows/condition-operators.rst:184 +#: ../system/core-workflows/condition-operators.rst:187 +#: ../system/core-workflows/condition-operators.rst:190 +#: ../system/core-workflows/condition-operators.rst:193 +#: ../system/core-workflows/condition-operators.rst:196 +#: ../system/core-workflows/condition-operators.rst:224 +#: ../system/core-workflows/condition-operators.rst:227 +#: ../system/core-workflows/condition-operators.rst:233 +#: ../system/core-workflows/condition-operators.rst:236 +#: ../system/core-workflows/condition-operators.rst:276 +#: ../system/core-workflows/condition-operators.rst:279 +#: ../system/core-workflows/condition-operators.rst:282 +#: ../system/core-workflows/condition-operators.rst:316 +#: ../system/core-workflows/condition-operators.rst:319 +#: ../system/core-workflows/condition-operators.rst:322 msgid "yes" msgstr "да" @@ -11006,6 +11030,23 @@ msgstr "" #: ../manage/groups/settings.rst:66 ../misc/object-conditions/basics.rst:122 #: ../misc/object-conditions/basics.rst:137 +#: ../misc/object-conditions/basics.rst:520 +#: ../misc/object-conditions/basics.rst:523 +#: ../misc/object-conditions/basics.rst:551 +#: ../misc/object-conditions/basics.rst:557 +#: ../misc/object-conditions/basics.rst:585 +#: ../misc/object-conditions/basics.rst:588 +#: ../misc/object-conditions/basics.rst:617 +#: ../misc/object-conditions/basics.rst:620 +#: ../system/core-workflows/condition-operators.rst:199 +#: ../system/core-workflows/condition-operators.rst:230 +#: ../system/core-workflows/condition-operators.rst:239 +#: ../system/core-workflows/condition-operators.rst:267 +#: ../system/core-workflows/condition-operators.rst:270 +#: ../system/core-workflows/condition-operators.rst:273 +#: ../system/core-workflows/condition-operators.rst:307 +#: ../system/core-workflows/condition-operators.rst:310 +#: ../system/core-workflows/condition-operators.rst:313 msgid "no" msgstr "не" @@ -11493,7 +11534,7 @@ msgstr "" "или уклоните URL адресе из јавног менија заглавља или подножја." #: ../manage/knowledge-base.rst:136 ../manage/public-links.rst:35 -#: ../manage/time-accounting.rst:147 ../manage/time-accounting.rst:161 +#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 #: ../system/maintenance.rst:31 msgid "Title" msgstr "Наслов" @@ -15419,24 +15460,28 @@ msgstr "" #: ../manage/time-accounting.rst:22 msgid "" "If a ticket is relevant, Zammad will request the agent to provide the time " -"which was needed to process the current ticket step. In order for Zammad to " -"bring up the time accounting dialog to an agent, the agent has to update the " -"ticket together with an article of any type. The adding of an article is " -"mandatory to invoke the time accounting dialog. However, the time accounting " -"dialog is not mandatory and can be canceled by your agents. You cannot " -"enforce the time accounting. When a ticket is no longer considered for the " -"time accounting, the already accounted time will be preserved." +"which was needed to process the current ticket step. This accounted time is " +"displayed in the ticket sidebar at ticket level and in the article meta " +"information for an individual article. In order for Zammad to bring up the " +"time accounting dialog to an agent, the agent has to update the ticket " +"together with an article of any type. The adding of an article is mandatory " +"to invoke the time accounting dialog. However, the time accounting dialog is " +"not mandatory and can be canceled by your agents. You cannot enforce the " +"time accounting. When a ticket is no longer considered for the time " +"accounting, the already accounted time will be preserved." msgstr "" "Ако је тикет релевантан, Zammad ће од оператера затражити да унесе време " -"које је било потребно за обраду тренутног корака тикета. Да би Zammad " -"приказао дијалог за обрачун времена оператеру, оператер мора да освежи тикет " -"заједно са чланком било које врсте. Додавање чланка је обавезно да би се " -"позвао дијалог за обрачун времена. Међутим, дијалог за обрачун времена није " -"обавезан и ваши оператери могу да га откажу. Обрачун времена не можете " -"наметнути. Када се тикет више не сматра релевантним за обрачун времена, већ " -"обрачунато време ће бити сачувано." - -#: ../manage/time-accounting.rst:33 +"које је било потребно за обраду тренутног корака тикета. Ово обрачунато " +"време ће бити приказано као сума у бочној траци тикета и у детаљним " +"информацијама појединачног чланка. Да би Zammad приказао дијалог за обрачун " +"времена оператеру, оператер мора да освежи тикет заједно са чланком било " +"које врсте. Додавање чланка је обавезно да би се позвао дијалог за обрачун " +"времена. Међутим, дијалог за обрачун времена није обавезан и ваши оператери " +"могу да га откажу. Обрачун времена не можете наметнути. Када се тикет више " +"не сматра релевантним за обрачун времена, већ обрачунато време ће бити " +"сачувано." + +#: ../manage/time-accounting.rst:35 msgid "" "The selector applies to the ticket state before any attribute changes have " "been saved. That means if your agent is e.g. going to close a ticket " @@ -15452,7 +15497,7 @@ msgstr "" msgid "Time Accounting Ticket Selector" msgstr "Обрачун времена" -#: ../manage/time-accounting.rst:42 +#: ../manage/time-accounting.rst:44 msgid "" "The accounted time is always a unitless number. However, it is possible to " "show a specific unit in the **Unit** section, which provides several options:" @@ -15460,44 +15505,44 @@ msgstr "" "Обрачунато време је увек број без јединица. Међутим, могуће је приказати " "одређену јединицу у одељку **Јединица**, који нуди неколико опција:" -#: ../manage/time-accounting.rst:46 +#: ../manage/time-accounting.rst:48 msgid "no unit" msgstr "без јединице" -#: ../manage/time-accounting.rst:47 +#: ../manage/time-accounting.rst:49 msgid "Default behavior, no unit is shown next to the time value." msgstr "" "Подразумевано понашање, јединица се не приказује поред вредности времена." -#: ../manage/time-accounting.rst:48 +#: ../manage/time-accounting.rst:50 msgid "hour(s)" msgstr "сат(а)" -#: ../manage/time-accounting.rst:49 +#: ../manage/time-accounting.rst:51 msgid "Shows ``hour(s)`` as the unit next to the time value." msgstr "Приказује ``сат(а)`` као јединицу поред вредности времена." -#: ../manage/time-accounting.rst:50 +#: ../manage/time-accounting.rst:52 msgid "quarter-hour(s)" msgstr "четврт сат(а)" -#: ../manage/time-accounting.rst:51 +#: ../manage/time-accounting.rst:53 msgid "Shows ``quarter-hour(s)`` as the unit next to the time value." msgstr "Приказује ``четврт сат(а)`` као јединицу поред вредности времена." -#: ../manage/time-accounting.rst:52 +#: ../manage/time-accounting.rst:54 msgid "minute(s)" msgstr "минут(а)" -#: ../manage/time-accounting.rst:53 +#: ../manage/time-accounting.rst:55 msgid "Shows ``minute(s)`` as the unit next to the time value." msgstr "Приказује ``минут(а)`` као јединицу поред временске вредности." -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "custom unit" msgstr "прилагођена јединица" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "Shows a custom unit that can be specified as free input." msgstr "Приказује прилагођену јединицу која се може навести као слободан унос." @@ -15505,7 +15550,7 @@ msgstr "Приказује прилагођену јединицу која се msgid "Time Accounting Unit" msgstr "Јединица обрачунатог времена" -#: ../manage/time-accounting.rst:62 +#: ../manage/time-accounting.rst:64 msgid "" "The unit is only displayed to make it easier for agents to account their " "time! No numerical transformation will be applied to the values, not even if " @@ -15521,11 +15566,11 @@ msgstr "" msgid "Time Accounting Unit when Recording" msgstr "Јединица обрачунатог времена приликом снимања" -#: ../manage/time-accounting.rst:72 +#: ../manage/time-accounting.rst:74 msgid "Activity Types" msgstr "Врсте активности" -#: ../manage/time-accounting.rst:74 +#: ../manage/time-accounting.rst:76 msgid "" "**Activity Types** can be used to group the different ticket time accounting " "entries together. For example, entries that are relevant to a \"Billing\" " @@ -15538,7 +15583,7 @@ msgstr "" msgid "Time Accounting Activity Types" msgstr "Врсте активности обрачунатог времена" -#: ../manage/time-accounting.rst:81 +#: ../manage/time-accounting.rst:83 msgid "" "When you enable the recording of the **Activity Type**, the agents will be " "able to select a type from this list." @@ -15550,7 +15595,7 @@ msgstr "" msgid "Time Accounting Activity Type Selection for Agents" msgstr "Избор врсте активности обрачуна времена за оператере" -#: ../manage/time-accounting.rst:88 +#: ../manage/time-accounting.rst:90 msgid "" "Additionally, a column with an associated activity type will be rendered for " "an entry in the **Activity** table under the **Accounted Time** tab." @@ -15558,7 +15603,7 @@ msgstr "" "Поред тога, колона са повезаном врстом активности биће приказана за сваки " "унос у табели **Активност** у језичку **Обрачунато време**." -#: ../manage/time-accounting.rst:91 +#: ../manage/time-accounting.rst:93 msgid "" "You can manage available activity types in this screen like any other Zammad " "object. Only active types will be available for the selection when recording " @@ -15574,7 +15619,7 @@ msgstr "" msgid "New Time Accounting Activity Type Dialog" msgstr "Дијалог нове врсте активности обрачуна времена" -#: ../manage/time-accounting.rst:100 +#: ../manage/time-accounting.rst:102 msgid "" "Activity types can be set as default, and in that case they will be pre-" "selected for the agents when they are asked to account their time. It is " @@ -15587,11 +15632,11 @@ msgstr "" "случају ниједна врста неће бити унапред одабрана и оператери могу сами да је " "изаберу." -#: ../manage/time-accounting.rst:106 +#: ../manage/time-accounting.rst:108 msgid "Accounted Time" msgstr "Обрачунато време" -#: ../manage/time-accounting.rst:108 +#: ../manage/time-accounting.rst:110 msgid "" "Under the **Accounted Time** tab, Zammad provides a section for reviewing " "all accounted times for your tickets. Accounted times are displayed per " @@ -15601,7 +15646,7 @@ msgstr "" "обрачунатих времена ваших тикета. Обрачуната времена су приказана по " "годинама и месецима." -#: ../manage/time-accounting.rst:112 +#: ../manage/time-accounting.rst:114 msgid "" "If you have tickets that are overlapping several months, you can " "differentiate by *time units* and *time units total* (e.g. to allow partial " @@ -15611,11 +15656,11 @@ msgstr "" "*временске јединице* и *укупне временске јединице* (нпр. за делимичну " "наплату) у преузетој датотеци." -#: ../manage/time-accounting.rst:123 +#: ../manage/time-accounting.rst:125 msgid "Select the right month" msgstr "Изаберите одговарајући месец" -#: ../manage/time-accounting.rst:117 +#: ../manage/time-accounting.rst:119 msgid "" "Usually you want to bill accounted time of other months than the current " "one. Just select the relevant year and month to receive the accounted times " @@ -15630,11 +15675,11 @@ msgid "Screenshot showing a selection for year and month on time accounting" msgstr "" "Снимак екрана који приказује избор за годишњи и месечни обрачун времена" -#: ../manage/time-accounting.rst:186 +#: ../manage/time-accounting.rst:188 msgid "Tickets and their accounted time" msgstr "Тикети и њихово обрачунато време" -#: ../manage/time-accounting.rst:126 +#: ../manage/time-accounting.rst:128 msgid "" "Zammad allows you to receive the accounted information just like you need " "them. For this you currently have four options to review and also download " @@ -15644,7 +15689,7 @@ msgstr "" "потребне. За ово тренутно имате четири опције за преглед и преузимање " "релевантних података као CSV." -#: ../manage/time-accounting.rst:130 +#: ../manage/time-accounting.rst:132 msgid "" "To download the CSV data, use the download button right next to each heading " "(e.g. \"Ticket\")." @@ -15652,11 +15697,11 @@ msgstr "" "Да бисте преузели CSV датотеку, користите дугме за преузимање одмах поред " "сваког наслова (нпр. „Тикет“)." -#: ../manage/time-accounting.rst:133 +#: ../manage/time-accounting.rst:135 msgid "This can also be automated with API calls." msgstr "Ово такође можете бити аутоматизовано помоћу API позива." -#: ../manage/time-accounting.rst:136 +#: ../manage/time-accounting.rst:138 msgid "" "Only the first 20 entries are shown for each table. To see all of them, " "simply download the records in CSV." @@ -15664,11 +15709,11 @@ msgstr "" "За сваку табелу је приказано само првих 20 уноса. Да бисте их све видели, " "једноставно преузмите записе у CSV формату." -#: ../manage/time-accounting.rst:153 +#: ../manage/time-accounting.rst:155 msgid "Activity" msgstr "Активност" -#: ../manage/time-accounting.rst:140 +#: ../manage/time-accounting.rst:142 msgid "" "This filter works similar to the ticket filter, with one exception: You'll " "find each *individual* time accounting step of your agents. This is what " @@ -15678,47 +15723,47 @@ msgstr "" "ћете сваки *појединачни* корак обрачуна времена ваших оператера. Ово је оно " "што бисте такође видели у историјату тикета пре Zammad верзије 5.2." -#: ../manage/time-accounting.rst:144 ../manage/time-accounting.rst:158 -#: ../manage/time-accounting.rst:175 +#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:177 msgid "In this list you'll see the following ticket information:" msgstr "У овој листи ћете видети следеће информације о тикетима:" -#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 #: ../settings/ticket.rst:103 msgid "Number" msgstr "Број" -#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 -#: ../manage/time-accounting.rst:179 ../manage/time-accounting.rst:177 +#: ../manage/time-accounting.rst:150 ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:181 ../manage/time-accounting.rst:179 #: ../misc/object-conditions/basics.rst:37 #: ../misc/object-conditions/basics.rst:89 #: ../misc/object-conditions/basics.rst:171 msgid "Customer" msgstr "Клијент" -#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 -#: ../manage/time-accounting.rst:178 +#: ../manage/time-accounting.rst:151 ../manage/time-accounting.rst:165 +#: ../manage/time-accounting.rst:180 msgid "Organization of customer (if applicable)" msgstr "Организација клијента (ако постоји)" -#: ../manage/time-accounting.rst:150 +#: ../manage/time-accounting.rst:152 msgid "Agent that accounted the time" msgstr "Оператер који је обрачунао време" -#: ../manage/time-accounting.rst:151 +#: ../manage/time-accounting.rst:153 msgid "Time units accounted in the current activity" msgstr "Јединице времена урачунате у текућу активност" -#: ../manage/time-accounting.rst:152 +#: ../manage/time-accounting.rst:154 msgid "Activity type (if enabled)" msgstr "Врста активности (ако је укључено)" -#: ../manage/time-accounting.rst:153 ../manage/time-accounting.rst:167 +#: ../manage/time-accounting.rst:155 ../manage/time-accounting.rst:169 #: ../system/audit-logs.rst:76 msgid "Created at" msgstr "Додато у" -#: ../manage/time-accounting.rst:168 ../misc/object-conditions/basics.rst:26 +#: ../manage/time-accounting.rst:170 ../misc/object-conditions/basics.rst:26 #: ../misc/object-conditions/basics.rst:90 #: ../misc/object-conditions/basics.rst:126 #: ../misc/object-conditions/basics.rst:139 @@ -15734,27 +15779,27 @@ msgstr "Додато у" msgid "Ticket" msgstr "Тикет" -#: ../manage/time-accounting.rst:156 +#: ../manage/time-accounting.rst:158 msgid "This filter contains all relevant tickets from the selected month." msgstr "Овај филтер садржи све релевантне тикете из одабраног месеца." -#: ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:166 msgid "Agent currently assigned (ticket owner)" msgstr "Тренутно додељени оператер (власник тикета)" -#: ../manage/time-accounting.rst:165 ../manage/time-accounting.rst:179 +#: ../manage/time-accounting.rst:167 ../manage/time-accounting.rst:181 msgid "Time units accounted in the current month" msgstr "Обрачунате јединице времена у текућем месецу" -#: ../manage/time-accounting.rst:166 +#: ../manage/time-accounting.rst:168 msgid "Time units total (time accounted during ticket life)" msgstr "Укупне временске јединице (време обрачунато током трајања тикета)" -#: ../manage/time-accounting.rst:168 +#: ../manage/time-accounting.rst:170 msgid "Closed at (if applicable)" msgstr "Затворено у (ако постоји)" -#: ../manage/time-accounting.rst:171 +#: ../manage/time-accounting.rst:173 msgid "" "This provides you a per user filter on accounted time units. Each user has a " "total of time accounted in the current month (over all applicable tickets)." @@ -15763,13 +15808,13 @@ msgstr "" "корисник има обрачунато укупно време у текућем месецу (за све тикете који се " "подударају)." -#: ../manage/time-accounting.rst:186 ../misc/object-conditions/basics.rst:28 +#: ../manage/time-accounting.rst:188 ../misc/object-conditions/basics.rst:28 #: ../misc/object-conditions/basics.rst:115 #: ../misc/object-conditions/basics.rst:146 ../settings/branding.rst:16 msgid "Organization" msgstr "Организација" -#: ../manage/time-accounting.rst:182 +#: ../manage/time-accounting.rst:184 msgid "" "This provides a list of all organizations where customers have caused " "accounted time in that month." @@ -15777,7 +15822,7 @@ msgstr "" "Ово пружа листу свих организација у којима су клијенти изазвали обрачунато " "време у том месецу." -#: ../manage/time-accounting.rst:185 +#: ../manage/time-accounting.rst:187 msgid "" "You can also see entries for customers that are part of a primary " "organization. Users without an organization can be found in the Customer " @@ -18043,8 +18088,9 @@ msgstr "" "Од сада, кад год се тикет отвори или освежи у вашем Zammad систему, " "одговарајуће обавештење ће бити објављено у подешеном Mattermost каналу. " "Обавештење ће садржати линк до тикета, освежене податке и :ref:`садржај " -"последњег чланка `. Такође ће бити означен " -":user-docs:`бојом ` према најновијем стању." +"последњег чланка `. Такође ће бити " +"означен :user-docs:`бојом ` према " +"најновијем стању." #: ../manage/webhook/examples/mattermost-notifications.rst:117 msgid "Removing Article Content from the Mattermost Notification" @@ -18327,8 +18373,9 @@ msgstr "" "Од сада, кад год се тикет дода или освежи у вашем Zammad систему, " "одговарајуће обавештење ће бити објављено у подешеном Teams каналу. " "Обавештење ће садржати линк до тикета, освежене податке и :ref:`садржај " -"последњег чланка `. Такође ће бити означен " -":user-docs:`бојом ` према најновијем стању." +"последњег чланка `. Такође ће бити " +"означен :user-docs:`бојом ` према " +"најновијем стању." #: ../manage/webhook/examples/microsoft-teams-notifications.rst:131 msgid "Removing Article Content from the Teams Notification" @@ -19636,7 +19683,7 @@ msgstr "Доступно само у окидачима." #: ../misc/object-conditions/basics.rst:185 #: ../misc/object-conditions/basics.rst:209 #: ../misc/object-conditions/basics.rst:219 -#: ../system/core-workflows/condition-operators.rst:50 +#: ../system/core-workflows/condition-operators.rst:64 msgid "is" msgstr "је" @@ -19653,7 +19700,7 @@ msgstr "је" #: ../misc/object-conditions/basics.rst:186 #: ../misc/object-conditions/basics.rst:210 #: ../misc/object-conditions/basics.rst:220 -#: ../system/core-workflows/condition-operators.rst:72 +#: ../system/core-workflows/condition-operators.rst:86 msgid "is not" msgstr "није" @@ -19724,7 +19771,7 @@ msgstr "конкретан корисник" #: ../misc/object-conditions/basics.rst:97 #: ../misc/object-conditions/basics.rst:155 #: ../misc/object-conditions/basics.rst:204 -#: ../system/core-workflows/condition-operators.rst:86 +#: ../system/core-workflows/condition-operators.rst:100 msgid "not set" msgstr "није постављено" @@ -19882,22 +19929,58 @@ msgid "Checks tags of a ticket." msgstr "Проверава ознаке тикета." #: ../misc/object-conditions/basics.rst:193 -#: ../system/core-workflows/condition-operators.rst:32 +#: ../misc/object-conditions/basics.rst:516 +#: ../misc/object-conditions/basics.rst:550 +#: ../misc/object-conditions/basics.rst:587 +#: ../misc/object-conditions/basics.rst:619 +#: ../system/core-workflows/condition-operators.rst:38 +#: ../system/core-workflows/condition-operators.rst:150 +#: ../system/core-workflows/condition-operators.rst:189 +#: ../system/core-workflows/condition-operators.rst:229 +#: ../system/core-workflows/condition-operators.rst:272 +#: ../system/core-workflows/condition-operators.rst:312 msgid "contains all" msgstr "садржи све" #: ../misc/object-conditions/basics.rst:194 -#: ../system/core-workflows/condition-operators.rst:38 +#: ../misc/object-conditions/basics.rst:513 +#: ../misc/object-conditions/basics.rst:547 +#: ../misc/object-conditions/basics.rst:584 +#: ../misc/object-conditions/basics.rst:616 +#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:147 +#: ../system/core-workflows/condition-operators.rst:186 +#: ../system/core-workflows/condition-operators.rst:226 +#: ../system/core-workflows/condition-operators.rst:269 +#: ../system/core-workflows/condition-operators.rst:309 msgid "contains one" msgstr "садржи једно" #: ../misc/object-conditions/basics.rst:195 -#: ../system/core-workflows/condition-operators.rst:34 +#: ../misc/object-conditions/basics.rst:519 +#: ../misc/object-conditions/basics.rst:553 +#: ../misc/object-conditions/basics.rst:590 +#: ../misc/object-conditions/basics.rst:622 +#: ../system/core-workflows/condition-operators.rst:41 +#: ../system/core-workflows/condition-operators.rst:160 +#: ../system/core-workflows/condition-operators.rst:198 +#: ../system/core-workflows/condition-operators.rst:238 +#: ../system/core-workflows/condition-operators.rst:281 +#: ../system/core-workflows/condition-operators.rst:321 msgid "contains all not" msgstr "не садржи све" #: ../misc/object-conditions/basics.rst:196 -#: ../system/core-workflows/condition-operators.rst:40 +#: ../misc/object-conditions/basics.rst:522 +#: ../misc/object-conditions/basics.rst:556 +#: ../misc/object-conditions/basics.rst:593 +#: ../misc/object-conditions/basics.rst:625 +#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:157 +#: ../system/core-workflows/condition-operators.rst:195 +#: ../system/core-workflows/condition-operators.rst:235 +#: ../system/core-workflows/condition-operators.rst:278 +#: ../system/core-workflows/condition-operators.rst:318 msgid "contains one not" msgstr "не садржи једно" @@ -19918,7 +20001,7 @@ msgid "Checks if time is accounted." msgstr "Проверава да ли је обрачунато време." #: ../misc/object-conditions/basics.rst:203 -#: ../system/core-workflows/condition-operators.rst:74 +#: ../system/core-workflows/condition-operators.rst:88 msgid "is set" msgstr "је постављено" @@ -19978,8 +20061,8 @@ msgstr "" #: ../misc/object-conditions/basics.rst:334 #: ../misc/object-conditions/basics.rst:381 #: ../misc/object-conditions/basics.rst:392 -#: ../misc/object-conditions/basics.rst:410 #: ../misc/object-conditions/basics.rst:421 +#: ../misc/object-conditions/basics.rst:432 msgid "Available operators for matching:" msgstr "Доступни оператори за подударање:" @@ -20067,7 +20150,7 @@ msgstr "**не садржи**" #: ../misc/object-conditions/basics.rst:269 #: ../misc/object-conditions/basics.rst:284 #: ../misc/object-conditions/basics.rst:385 -#: ../misc/object-conditions/basics.rst:414 +#: ../misc/object-conditions/basics.rst:425 msgid "**has changed**" msgstr "**је измењено**" @@ -20082,14 +20165,14 @@ msgstr "Проверава да ли је неко логичко поље ис #: ../misc/object-conditions/basics.rst:267 #: ../misc/object-conditions/basics.rst:278 #: ../misc/object-conditions/basics.rst:383 -#: ../misc/object-conditions/basics.rst:412 +#: ../misc/object-conditions/basics.rst:423 msgid "**is**" msgstr "**је**" #: ../misc/object-conditions/basics.rst:268 #: ../misc/object-conditions/basics.rst:279 #: ../misc/object-conditions/basics.rst:384 -#: ../misc/object-conditions/basics.rst:413 +#: ../misc/object-conditions/basics.rst:424 msgid "**is not**" msgstr "**није**" @@ -20386,38 +20469,61 @@ msgid "**contains all**:" msgstr "**садржи све**:" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are selected." -msgstr "Одговара ако су изабране све дате вредности поља." +msgid "Matches if **all** given field values are selected (AND logic)." +msgstr "Одговара ако су изабране **све** дате вредности поља (AND оператор)." #: ../misc/object-conditions/basics.rst:0 msgid "**contains one**:" msgstr "**садржи једно**:" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is selected." -msgstr "Одговара ако је изабрана одређена вредност поља." +msgid "" +"Matches if **at least one** of the given field values is selected (OR logic)." +msgstr "" +"Одговара ако је изабрана **бар једна** дата вредност поља (OR оператор)." #: ../misc/object-conditions/basics.rst:0 msgid "**contains all not**:" msgstr "**не садржи све**:" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are not selected." -msgstr "Одговара ако све дате вредности поља нису изабране." +msgid "" +"Matches if **not all** given field values are selected (at least one is " +"missing). This means \"not all of\", not \"none of\"." +msgstr "" +"Одговара ако **недостаје бар једна** дата вредност поља (нису одабране све). " +"Ово значи „не све од”, не „ниједна од”." #: ../misc/object-conditions/basics.rst:0 msgid "**contains one not**:" msgstr "**не садржи једно**:" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is not selected." -msgstr "Одговара ако једна одређена вредност поља није изабрана." +msgid "" +"Matches if **none** of the given field values are selected. This means " +"\"none of\", not \"not all of\"." +msgstr "" +"Одговара се ако није одабрана **ниједна** дата вредност поља. Ово значи " +"„ниједна од”, не „не све од”." -#: ../misc/object-conditions/basics.rst:405 ../system/objects/types.rst:135 +#: ../misc/object-conditions/basics.rst:408 +msgid "" +"In :doc:`core workflows `, these operators have " +"different semantics. See :ref:`core workflow condition operators ` for details. Example scenarios for the " +"operators described here can be found in :ref:`multi-select-operator-" +"examples` below." +msgstr "" +"У :doc:`радним токовима `, ови оператори имају " +"другачије значење. Погледајте :ref:`операторе услова радних токова ` за детаље. Примери оператора описаних овде се " +"могу пронаћи :ref:`испод `." + +#: ../misc/object-conditions/basics.rst:416 ../system/objects/types.rst:135 msgid "Single Tree Selection Field" msgstr "Поље за једноструки избор стабла" -#: ../misc/object-conditions/basics.rst:407 +#: ../misc/object-conditions/basics.rst:418 msgid "" "Checks if a selected field value match the attribute value. Selecting more " "than one value in the condition will act like an \"OR\" clause." @@ -20426,11 +20532,11 @@ msgstr "" "Одабир више од једне вредности у услову ће деловати као дисјункција " "(клаузула „OR“)." -#: ../misc/object-conditions/basics.rst:417 ../system/objects/types.rst:148 +#: ../misc/object-conditions/basics.rst:428 ../system/objects/types.rst:148 msgid "Multiple Tree Selection Field" msgstr "Поље за вишеструки избор стабла" -#: ../misc/object-conditions/basics.rst:419 +#: ../misc/object-conditions/basics.rst:430 msgid "Checks if selected field value(s) match the attribute value(s)." msgstr "" "Проверава да ли одабране вредности поља одговарају стварној вредности " @@ -20452,57 +20558,57 @@ msgstr "**не садржи све**" msgid "**contains one not**" msgstr "**не садржи једно**" -#: ../misc/object-conditions/basics.rst:433 +#: ../misc/object-conditions/basics.rst:447 msgid "Additional Information and Remarks" msgstr "Додатне информације и напомене" -#: ../misc/object-conditions/basics.rst:442 +#: ../misc/object-conditions/basics.rst:456 msgid "Ticket context conditions do not support:" msgstr "Контекст услова тикета не подржава следеће:" -#: ../misc/object-conditions/basics.rst:439 +#: ../misc/object-conditions/basics.rst:453 msgid "regular expressions" msgstr "регуларне изразе" -#: ../misc/object-conditions/basics.rst:440 +#: ../misc/object-conditions/basics.rst:454 msgid "case sensitive string conditions" msgstr "услове који су осетљиви на велика и мала слова" -#: ../misc/object-conditions/basics.rst:441 +#: ../misc/object-conditions/basics.rst:455 msgid "" "Basic conditions do not support the same attribute to be selected more than " "once" msgstr "Основни услови не подржавају да се исти атрибут бира више пута" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "**has changed** conditions:" msgstr "услове **је измењено**:" -#: ../misc/object-conditions/basics.rst:445 +#: ../misc/object-conditions/basics.rst:459 msgid "Are only available for ticket attributes and don't affect:" msgstr "Доступно само за атрибуте тикета и не утиче на:" -#: ../misc/object-conditions/basics.rst:447 +#: ../misc/object-conditions/basics.rst:461 msgid "Ticket articles attributes" msgstr "атрибуте чланака тикета" -#: ../misc/object-conditions/basics.rst:448 +#: ../misc/object-conditions/basics.rst:462 msgid "Organization attributes" msgstr "атрибуте организације" -#: ../misc/object-conditions/basics.rst:449 +#: ../misc/object-conditions/basics.rst:463 msgid "User attributes" msgstr "атрибуте корисника" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "Group attributes" msgstr "атрибуте група" -#: ../misc/object-conditions/basics.rst:463 +#: ../misc/object-conditions/basics.rst:477 msgid "Differences in input fields:" msgstr "Разлике у пољима за унос:" -#: ../misc/object-conditions/basics.rst:453 +#: ../misc/object-conditions/basics.rst:467 msgid "" "Please note that the input field for tokens doesn't support the comma as " "separator (as in the input field for tags). If you use the comma in the " @@ -20512,7 +20618,7 @@ msgstr "" "пољу за унос за ознаке). Ако користите зарез у пољу за унос значки, зарез ће " "бити укључен у вашу значку." -#: ../misc/object-conditions/basics.rst:457 +#: ../misc/object-conditions/basics.rst:471 msgid "**Example**:" msgstr "**Пример**:" @@ -20520,7 +20626,7 @@ msgstr "**Пример**:" msgid "Example of comma usage in token input field" msgstr "Пример употребе зареза у пољу за унос значки" -#: ../misc/object-conditions/basics.rst:462 +#: ../misc/object-conditions/basics.rst:476 msgid "" "``A`` added with enter/tab, ``B`` and ``C`` separated with comma (resulting " "in one token)." @@ -20528,15 +20634,260 @@ msgstr "" "``A`` додато са ентером/табом, ``B`` и ``C`` одвојени зарезом (што резултира " "једном значком)." -#: ../misc/object-conditions/basics.rst:468 +#: ../misc/object-conditions/basics.rst:482 +msgid "Multi-Select Operator Examples" +msgstr "Примери оператор поља вишеструког избора" + +#: ../misc/object-conditions/basics.rst:484 +msgid "" +"The ``contains`` family of operators for multi-select fields compares two " +"sets of values: the values currently in the field and the values specified " +"in the condition. The diagrams below show the condition values as an orange " +"circle and the field values as a blue circle." +msgstr "" +"Породица оператора ``садржи`` за поља вишеструког избора пореди два скупа " +"вредности: вредности поља и вредности које су део услова. Дијаграми испод " +"приказују вредности услова као наранџасти круг и вредности поља као плави " +"круг." + +#: ../misc/object-conditions/basics.rst:489 +msgid "" +"Be aware that these operators behave **differently** in :doc:`core workflows " +"`. See :ref:`core workflow condition operators ` for a side by side comparison." +msgstr "" +"Обратите пажњу да се ови оператори понашају **другачије** у :doc:`радним " +"токовима `. Погледајте :ref:`операторе услова радних " +"токова ` за детаљно поређење." + +#: ../misc/object-conditions/basics.rst:495 +#: ../system/core-workflows/condition-operators.rst:165 +msgid "Example 1: Condition A, B - Field A, B, C" +msgstr "Пример 1: Услов A, B - Поље A, B, C" + +#: ../misc/object-conditions/basics.rst:497 +#: ../system/core-workflows/condition-operators.rst:167 +msgid "" +"In this scenario, the field holds the values A, B and C, while the condition " +"asks for the values A and B." +msgstr "" +"У овом сцренарију, поље садржи вредности A, B и C, док услов захтева " +"вредности A и B." + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "" +"Venn diagram of condition values A, B and field values A, B, C. A and B are " +"in both circles, C only in the field circle." +msgstr "" +"Венов дијаграм вредности услова A, B и вредности поља A, B, C. A и B се " +"налазе у оба круга, C само у кругу поља." + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "Condition values ``A, B`` overlap with field values ``A, B, C``." +msgstr "Вредности услова ``A, B`` се секу са вредностима поља ``A, B, C``." + +#: ../misc/object-conditions/basics.rst:510 +#: ../misc/object-conditions/basics.rst:544 +#: ../misc/object-conditions/basics.rst:581 +#: ../misc/object-conditions/basics.rst:613 +#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:141 +#: ../system/core-workflows/condition-operators.rst:180 +#: ../system/core-workflows/condition-operators.rst:220 +#: ../system/core-workflows/condition-operators.rst:263 +#: ../system/core-workflows/condition-operators.rst:303 +msgid "Operator" +msgstr "Оператор" + +#: ../misc/object-conditions/basics.rst:511 +#: ../misc/object-conditions/basics.rst:545 +#: ../misc/object-conditions/basics.rst:582 +#: ../misc/object-conditions/basics.rst:614 +#: ../system/core-workflows/condition-operators.rst:181 +#: ../system/core-workflows/condition-operators.rst:221 +#: ../system/core-workflows/condition-operators.rst:264 +#: ../system/core-workflows/condition-operators.rst:304 +msgid "Matches?" +msgstr "Поклапа се?" + +#: ../misc/object-conditions/basics.rst:512 +#: ../misc/object-conditions/basics.rst:546 +#: ../misc/object-conditions/basics.rst:583 +#: ../misc/object-conditions/basics.rst:615 +#: ../system/core-workflows/condition-operators.rst:182 +#: ../system/core-workflows/condition-operators.rst:222 +#: ../system/core-workflows/condition-operators.rst:265 +#: ../system/core-workflows/condition-operators.rst:305 +msgid "Why" +msgstr "Зашто" + +#: ../misc/object-conditions/basics.rst:515 +#: ../system/core-workflows/condition-operators.rst:185 +msgid "``A`` and ``B`` are in both sets (OR logic)." +msgstr "``A`` и ``B`` се налазе у оба скупа (OR оператор)." + +#: ../misc/object-conditions/basics.rst:518 +#: ../system/core-workflows/condition-operators.rst:191 +msgid "Both ``A`` and ``B`` are present (AND logic)." +msgstr "И ``A`` и ``B`` су присутни (AND оператор)." + +#: ../misc/object-conditions/basics.rst:521 +msgid "All condition values are present in the field." +msgstr "Све вредности услова су присутне у пољу." + +#: ../misc/object-conditions/basics.rst:524 +msgid "The field has values in common with the condition." +msgstr "Поље дели вредности са условом." + +#: ../misc/object-conditions/basics.rst:527 +#: ../system/core-workflows/condition-operators.rst:203 +msgid "Example 2: Condition A, B, C - Field C, D" +msgstr "Пример 2: Услов A, B, C - Поље C, D" + +#: ../misc/object-conditions/basics.rst:529 +#: ../system/core-workflows/condition-operators.rst:205 +msgid "" +"In this scenario, the field holds the values C and D. The condition value C " +"is present in the field, while A and B are not." +msgstr "" +"У оовом сценарију, поље садржи вредности C и D. Вредност услова C је " +"присутна у пољу, док A и B нису." + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Venn diagram of condition values A, B, C and field values C, D.\n" +"Only C is in both circles." +msgstr "" +"Венов дијаграм вредности услова A, B, C и вредности поља C, D.\n" +"Само C је присутно у оба круга." + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Condition values ``A, B, C`` partially overlap with field values ``C, D``." +msgstr "" +"Вредности услова ``A, B, C`` се делимично секу са вредностима поља ``C, D``." + +#: ../misc/object-conditions/basics.rst:549 +#: ../system/core-workflows/condition-operators.rst:225 +msgid "``C`` is in both sets (OR logic)." +msgstr "``C`` је присутно у оба скупа (OR оператор)." + +#: ../misc/object-conditions/basics.rst:552 +#: ../system/core-workflows/condition-operators.rst:231 +msgid "Only ``C`` of the three condition values is present." +msgstr "Само вредност ``C`` од три различите вредности услова је присутна." + +#: ../misc/object-conditions/basics.rst:555 +#: ../misc/object-conditions/basics.rst:592 +msgid "``A`` and ``B`` are missing from the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:558 +msgid "``C`` is in both the field and the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:560 +msgid "" +"This partial overlap is where the two \"not\" operators part ways: " +"``contains all not`` matches because a single condition value is missing, " +"while ``contains one not`` does not match because the one common value is " +"enough to block it." +msgstr "" + +#: ../misc/object-conditions/basics.rst:566 +#: ../system/core-workflows/condition-operators.rst:248 +msgid "Example 3: Condition A, B - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:568 +#: ../system/core-workflows/condition-operators.rst:250 +msgid "" +"In this scenario, the field holds the values C and D, which have nothing in " +"common with the condition values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "" +"Venn diagram of condition values A, B and field values C, D. The two circles " +"do not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "Condition values ``A, B`` have no overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:586 +#: ../system/core-workflows/condition-operators.rst:268 +msgid "No value is in both sets." +msgstr "" + +#: ../misc/object-conditions/basics.rst:589 +#: ../system/core-workflows/condition-operators.rst:274 +msgid "Neither ``A`` nor ``B`` is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:595 +#: ../misc/object-conditions/basics.rst:627 +#: ../system/core-workflows/condition-operators.rst:159 +#: ../system/core-workflows/condition-operators.rst:161 +#: ../system/core-workflows/condition-operators.rst:283 +#, fuzzy +#| msgid "This field is only available for Trigger conditions!" +msgid "The field has no value in common with the condition." +msgstr "Ово поље је доступно само за услове окидача!" + +#: ../misc/object-conditions/basics.rst:598 +#: ../system/core-workflows/condition-operators.rst:288 +msgid "Example 4: Condition A, B - Field is empty" +msgstr "" + +#: ../misc/object-conditions/basics.rst:600 +#: ../system/core-workflows/condition-operators.rst:290 +msgid "" +"In this scenario, the field holds no values at all, while the condition asks " +"for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "" +"Venn diagram of condition values A, B and an empty field. The two circles do " +"not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "The field holds no values at all." +msgstr "" + +#: ../misc/object-conditions/basics.rst:618 +#: ../misc/object-conditions/basics.rst:621 +#: ../system/core-workflows/condition-operators.rst:308 +#: ../system/core-workflows/condition-operators.rst:314 +#, fuzzy +#| msgid "Matches if one specified value is present." +msgid "No value is present." +msgstr "Подудара се ако једна дата вредност постоји." + +#: ../misc/object-conditions/basics.rst:624 +msgid "No condition value is present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:632 msgid "Regex" msgstr "Регуларни израз" -#: ../misc/object-conditions/basics.rst:473 +#: ../misc/object-conditions/basics.rst:637 msgid "Regex support" msgstr "Подршка регуларних израза" -#: ../misc/object-conditions/basics.rst:471 +#: ../misc/object-conditions/basics.rst:635 msgid "" "**matches regex** and **does not match regex** are supported only in " "Triggers, Time Accounting selector, Postmaster Filters, Automatic ticket " @@ -20546,11 +20897,11 @@ msgstr "" "подржани само у окидачима, бирачу временског обрачуна, postmaster филтерима, " "аутоматском додељивању тикета и радном току." -#: ../misc/object-conditions/basics.rst:478 +#: ../misc/object-conditions/basics.rst:642 msgid "\"Old\" style ``regex:...`` conditions" msgstr "Услови са „старим” стилом ``regex:…``" -#: ../misc/object-conditions/basics.rst:476 +#: ../misc/object-conditions/basics.rst:640 msgid "" "If you update your Zammad from 6.0 or prior and you have already conditions " "with **contains** or **contains not** including a regex filter (i.e. " @@ -22728,8 +23079,8 @@ msgid "" "note :doc:`Ticket last contact behavior Settings ` for " "this)" msgstr "" -"``2019-10-07 16:25:00 UTC`` или празно ако не постоји (обратите пажњу на " -":doc:`подешавање понашања последњег одговора тикета `)" +"``2019-10-07 16:25:00 UTC`` или празно ако не постоји (обратите пажњу " +"на :doc:`подешавање понашања последњег одговора тикета `)" #: ../misc/variables/ticket.rst:1 msgid "Ticket > Last contact" @@ -27848,10 +28199,15 @@ msgstr "" "објашњења за многе услове и операторе." #: ../system/core-workflows/condition-operators.rst:8 +#, fuzzy +#| msgid "" +#| "Due to differences to other places in Zammad which are also using " +#| "conditions (e.g. triggers), you can find a dedicated description of " +#| "operators for core workflows below." msgid "" -"Due to differences to other places in Zammad which are also using conditions " -"(e.g. triggers), you can find a dedicated description of operators for core " -"workflows below." +"Due to differences from other places in Zammad which are also using " +"conditions (e.g. triggers), you can find a dedicated description of " +"operators for core workflows below." msgstr "" "Услед разлика са другим областима Zammad-а које такође користи услове (нпр. " "окидачи), испод можете пронаћи објашњење посвећено операторима радних токова." @@ -27866,273 +28222,445 @@ msgstr "" "поља. Неки од оператора могу бити доступни само за системске атрибуте (нпр. " "за „Ознаке”, „Активно”)." -#: ../system/core-workflows/condition-operators.rst:20 -msgid "Operator" -msgstr "Оператор" - -#: ../system/core-workflows/condition-operators.rst:22 +#: ../system/core-workflows/condition-operators.rst:23 msgid "after (absolute)" msgstr "након (апсолутно)" -#: ../system/core-workflows/condition-operators.rst:23 +#: ../system/core-workflows/condition-operators.rst:24 msgid "Matches if a date/time is after a specific point in time." msgstr "Подудара се ако је датум/време након одређеног тренутка." -#: ../system/core-workflows/condition-operators.rst:24 +#: ../system/core-workflows/condition-operators.rst:25 msgid "after (relative)" msgstr "након (релативно)" -#: ../system/core-workflows/condition-operators.rst:25 +#: ../system/core-workflows/condition-operators.rst:26 msgid "Matches if a time span after a specified event has passed." msgstr "Подудара се ако је временски оквир прошао након одређеног догађаја." -#: ../system/core-workflows/condition-operators.rst:26 +#: ../system/core-workflows/condition-operators.rst:27 msgid "before (absolute)" msgstr "пре (апсолутно)" -#: ../system/core-workflows/condition-operators.rst:27 +#: ../system/core-workflows/condition-operators.rst:28 msgid "Matches if a date/time is before a specific point in time." msgstr "Подудара се ако је време/датум пре одређеног тренутка." -#: ../system/core-workflows/condition-operators.rst:28 +#: ../system/core-workflows/condition-operators.rst:29 msgid "before (relative)" msgstr "пре (релативно)" -#: ../system/core-workflows/condition-operators.rst:29 +#: ../system/core-workflows/condition-operators.rst:30 msgid "Matches if a time span after a specified event has not passed." msgstr "Подудара се ако временски оквир након одређеног догађаја није прошао." -#: ../system/core-workflows/condition-operators.rst:30 +#: ../system/core-workflows/condition-operators.rst:31 +#: ../system/core-workflows/condition-operators.rst:144 +#: ../system/core-workflows/condition-operators.rst:183 +#: ../system/core-workflows/condition-operators.rst:223 +#: ../system/core-workflows/condition-operators.rst:266 +#: ../system/core-workflows/condition-operators.rst:306 msgid "contains" msgstr "садржи" -#: ../system/core-workflows/condition-operators.rst:31 -msgid "Matches if a specified value is present." -msgstr "Подудара се ако одређена вредност постоји." - -#: ../system/core-workflows/condition-operators.rst:33 -msgid "Matches if all of the specified values are present." -msgstr "Подудара се ако све дате вредности постоје." - -#: ../system/core-workflows/condition-operators.rst:35 -msgid "Matches if none of the specified values are present." +#: ../system/core-workflows/condition-operators.rst:32 +#, fuzzy +#| msgid "Matches if none of the specified values are present." +msgid "" +"Matches if **at least one** of the specified values is present in the field " +"(OR logic)." msgstr "Подудара се ако ниједна од датих вредности не постоји." -#: ../system/core-workflows/condition-operators.rst:36 +#: ../system/core-workflows/condition-operators.rst:34 +#: ../system/core-workflows/condition-operators.rst:153 +#: ../system/core-workflows/condition-operators.rst:192 +#: ../system/core-workflows/condition-operators.rst:232 +#: ../system/core-workflows/condition-operators.rst:275 +#: ../system/core-workflows/condition-operators.rst:315 msgid "contains not" msgstr "не садржи" -#: ../system/core-workflows/condition-operators.rst:37 -msgid "Matches if a specified value is not present." -msgstr "Подудара се ако дата вредност не постоји." +#: ../system/core-workflows/condition-operators.rst:35 +msgid "" +"Matches if the field contains at least one value that is **not** among the " +"specified values. Also matches if the field is empty." +msgstr "" #: ../system/core-workflows/condition-operators.rst:39 -msgid "Matches if one specified value is present." +#, fuzzy +#| msgid "Matches if one specified value is present." +msgid "" +"Matches if **every** specified value is present in the field (AND logic)." msgstr "Подудара се ако једна дата вредност постоји." -#: ../system/core-workflows/condition-operators.rst:41 -msgid "Matches if one specified value is not present." -msgstr "Подудара се ако једна дата вредност не постоји." - #: ../system/core-workflows/condition-operators.rst:42 +msgid "" +"Matches if **none** of the specified values are present in the field. The " +"field and the condition have no value in common: this means \"contains none " +"of\", not \"does not contain all of\"." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:46 +msgid "" +"In triggers and overviews, this operator means \"not all of the specified " +"values are present\" instead. See the examples section below." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:50 +#, fuzzy +#| msgid "Matches if none of the specified values are present." +msgid "" +"Same as ``contains``. Matches if **at least one** of the specified values is " +"present." +msgstr "Подудара се ако ниједна од датих вредности не постоји." + +#: ../system/core-workflows/condition-operators.rst:53 +msgid "" +"Same as ``contains not``. Matches if the field contains at least one value " +"that is **not** among the specified values." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:56 msgid "does not match regex" msgstr "не задовољава регуларни израз" -#: ../system/core-workflows/condition-operators.rst:43 +#: ../system/core-workflows/condition-operators.rst:57 msgid "Matches if content doesn't fit to regex rule." msgstr "Подудара се ако се садржај не поклапа са регуларним изразом." -#: ../system/core-workflows/condition-operators.rst:44 +#: ../system/core-workflows/condition-operators.rst:58 msgid "ends with" msgstr "завршава се са" -#: ../system/core-workflows/condition-operators.rst:45 +#: ../system/core-workflows/condition-operators.rst:59 msgid "Matches if content ends with specified value." msgstr "Подудара се ако се садржај завршава са датом вредности." -#: ../system/core-workflows/condition-operators.rst:46 +#: ../system/core-workflows/condition-operators.rst:60 msgid "ends with one of" msgstr "завршава се са једним од" -#: ../system/core-workflows/condition-operators.rst:47 +#: ../system/core-workflows/condition-operators.rst:61 msgid "Matches if content ends with one of the specified values." msgstr "Подудара се ако се садржај завршава са једном од датих вредности." -#: ../system/core-workflows/condition-operators.rst:48 +#: ../system/core-workflows/condition-operators.rst:62 msgid "from (relative)" msgstr "од (релативно)" -#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:63 msgid "Matches if date/time is after a period of time after an event." msgstr "Подудара се ако је датум/време након датог периода после догађаја." -#: ../system/core-workflows/condition-operators.rst:51 +#: ../system/core-workflows/condition-operators.rst:65 msgid "Matches if content is equal to a specified value." msgstr "Подудара се ако је садржај једнак датој вредности." -#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:66 msgid "is any of" msgstr "је један од" -#: ../system/core-workflows/condition-operators.rst:53 +#: ../system/core-workflows/condition-operators.rst:67 msgid "Matches if content is equal to any of specified values." msgstr "Подудара се ако је садржај једнак једној од датих вредности." -#: ../system/core-workflows/condition-operators.rst:54 +#: ../system/core-workflows/condition-operators.rst:68 msgid "is greater than" msgstr "је веће од" -#: ../system/core-workflows/condition-operators.rst:55 +#: ../system/core-workflows/condition-operators.rst:69 msgid "Matches if the value is greater than the specified value." msgstr "Подудара се ако је вредност већа од дате вредности." -#: ../system/core-workflows/condition-operators.rst:56 +#: ../system/core-workflows/condition-operators.rst:70 msgid "is greater than or equal to" msgstr "је веће од или једнако" -#: ../system/core-workflows/condition-operators.rst:57 +#: ../system/core-workflows/condition-operators.rst:71 msgid "Matches if the value is greater than or equal to the specified value." msgstr "Подудара се ако је вредност већа од или једнака датој вредности." -#: ../system/core-workflows/condition-operators.rst:58 +#: ../system/core-workflows/condition-operators.rst:72 msgid "is less than" msgstr "је мање од" -#: ../system/core-workflows/condition-operators.rst:59 +#: ../system/core-workflows/condition-operators.rst:73 msgid "Matches if the value is less than the specified value." msgstr "Подудара се ако је вредност мања од дате вредности." -#: ../system/core-workflows/condition-operators.rst:60 +#: ../system/core-workflows/condition-operators.rst:74 msgid "is less than or equal to" msgstr "је мање од или једнако" -#: ../system/core-workflows/condition-operators.rst:61 +#: ../system/core-workflows/condition-operators.rst:75 msgid "Matches if the value is less than or equal to the specified value." msgstr "Подудара се ако је вредност мања од или једнака датој вредности." -#: ../system/core-workflows/condition-operators.rst:62 +#: ../system/core-workflows/condition-operators.rst:76 msgid "is modified" msgstr "је измењено" -#: ../system/core-workflows/condition-operators.rst:63 +#: ../system/core-workflows/condition-operators.rst:77 msgid "Matches if content is modified." msgstr "Подудара се ако је садржај промењен." -#: ../system/core-workflows/condition-operators.rst:65 -#: ../system/core-workflows/condition-operators.rst:69 +#: ../system/core-workflows/condition-operators.rst:79 +#: ../system/core-workflows/condition-operators.rst:83 msgid "True from the moment of changing content until form submit." msgstr "Тачно од тренутка промене садржаја до слања форме." -#: ../system/core-workflows/condition-operators.rst:66 +#: ../system/core-workflows/condition-operators.rst:80 msgid "is modified to" msgstr "је промењено на" -#: ../system/core-workflows/condition-operators.rst:67 +#: ../system/core-workflows/condition-operators.rst:81 msgid "Matches if content is modified to a specific value." msgstr "Подудара се ако је садржај промењен на дату вредност." -#: ../system/core-workflows/condition-operators.rst:70 +#: ../system/core-workflows/condition-operators.rst:84 msgid "is none of" msgstr "није ниједан од" -#: ../system/core-workflows/condition-operators.rst:71 +#: ../system/core-workflows/condition-operators.rst:85 msgid "Matches if content is none of any specified values." msgstr "Подудара се ако садржај није једнак ниједног од датих вредности." -#: ../system/core-workflows/condition-operators.rst:73 +#: ../system/core-workflows/condition-operators.rst:87 msgid "Matches if content is not equal to a specified value." msgstr "Подудара се ако садржај није једнак датој вредности." -#: ../system/core-workflows/condition-operators.rst:75 +#: ../system/core-workflows/condition-operators.rst:89 msgid "Matches if content is present." msgstr "Подудара се ако садржај постоји." -#: ../system/core-workflows/condition-operators.rst:76 +#: ../system/core-workflows/condition-operators.rst:90 msgid "just changed" msgstr "управо измењено" -#: ../system/core-workflows/condition-operators.rst:77 +#: ../system/core-workflows/condition-operators.rst:91 msgid "Matches if content has changed." msgstr "Подудара се ако је садржај измењен." -#: ../system/core-workflows/condition-operators.rst:79 -#: ../system/core-workflows/condition-operators.rst:83 +#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:97 msgid "" "Only true for the moment of changing content until next form field action/" "click." msgstr "" "Тачно само од тренутка измене садржаја до следеће акције/клика поља форме." -#: ../system/core-workflows/condition-operators.rst:80 +#: ../system/core-workflows/condition-operators.rst:94 msgid "just changed to" msgstr "је управо измењено на" -#: ../system/core-workflows/condition-operators.rst:81 +#: ../system/core-workflows/condition-operators.rst:95 msgid "Matches if content has changed to a specified value." msgstr "Подудара се ако је садржај измењен на дату вредност." -#: ../system/core-workflows/condition-operators.rst:84 +#: ../system/core-workflows/condition-operators.rst:98 msgid "matches regex" msgstr "задовољава регуларни израз" -#: ../system/core-workflows/condition-operators.rst:85 +#: ../system/core-workflows/condition-operators.rst:99 msgid "Matches if value fits to regex rule." msgstr "Подудара се ако се садржај поклапа са регуларним изразом." -#: ../system/core-workflows/condition-operators.rst:87 +#: ../system/core-workflows/condition-operators.rst:101 msgid "Matches if no content is present." msgstr "Подудара се ако садржај не постоји." -#: ../system/core-workflows/condition-operators.rst:88 +#: ../system/core-workflows/condition-operators.rst:102 msgid "starts with" msgstr "почиње са" -#: ../system/core-workflows/condition-operators.rst:89 +#: ../system/core-workflows/condition-operators.rst:103 msgid "Matches if content starts with specified value." msgstr "Подудара се ако садржај почиње са датом вредности." -#: ../system/core-workflows/condition-operators.rst:90 +#: ../system/core-workflows/condition-operators.rst:104 msgid "starts with one of" msgstr "почиње са једним од" -#: ../system/core-workflows/condition-operators.rst:91 +#: ../system/core-workflows/condition-operators.rst:105 msgid "Matches if content starts with one of the specified values." msgstr "Подудара се ако садржај почиње са једном од датих вредности." -#: ../system/core-workflows/condition-operators.rst:92 +#: ../system/core-workflows/condition-operators.rst:106 msgid "till (relative)" msgstr "до (релативно)" -#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:107 msgid "Matches if date/time is before a period of time before an event." msgstr "Подудара се ако је датум/време пре датог периода пре догађаја." -#: ../system/core-workflows/condition-operators.rst:94 +#: ../system/core-workflows/condition-operators.rst:108 msgid "today" msgstr "данас" -#: ../system/core-workflows/condition-operators.rst:95 +#: ../system/core-workflows/condition-operators.rst:109 msgid "Matches if date/time is today." msgstr "Подудара се ако је датум/време у току данашњег дана." -#: ../system/core-workflows/condition-operators.rst:96 +#: ../system/core-workflows/condition-operators.rst:110 msgid "within last (relative)" msgstr "у последњих (релативно)" -#: ../system/core-workflows/condition-operators.rst:97 +#: ../system/core-workflows/condition-operators.rst:111 msgid "" "Matches if date/time content is within specified period of time before now." msgstr "Подудара се ако је датум/време унутар датог периода у прошлости." -#: ../system/core-workflows/condition-operators.rst:99 +#: ../system/core-workflows/condition-operators.rst:113 msgid "within next (relative)" msgstr "у следећих (релативно)" -#: ../system/core-workflows/condition-operators.rst:100 +#: ../system/core-workflows/condition-operators.rst:114 msgid "" "Matches if date/time content is within specified period of time after now." msgstr "Подудара се ако је датум/време унутар датог периода у будућности." +#: ../system/core-workflows/condition-operators.rst:118 +#, fuzzy +#| msgid "Available Operators" +msgid "Multi-Select Operators" +msgstr "Доступни оператори" + +#: ../system/core-workflows/condition-operators.rst:120 +msgid "" +"The ``contains`` family of operators compares two sets of values: the values " +"currently in the field and the values specified in the condition. The " +"diagrams below show the condition values as an orange circle and the field " +"values as a blue circle." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:128 +msgid "Differences to Triggers and Overviews" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:130 +msgid "" +"Be aware that these operators behave **differently** in other features that " +"use conditions (e.g. triggers and overviews). The most confusing difference: " +"in core workflows, ``contains all not`` means that no value matches at all, " +"while in triggers and overviews it means \"not all values are present\". The " +"table below compares both worlds side by side." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:142 +#, fuzzy +#| msgid "Core workflows do not replace triggers" +msgid "Core workflows (this page)" +msgstr "Радни токови не замењују окидаче" + +#: ../system/core-workflows/condition-operators.rst:143 +msgid "Triggers, overviews, etc." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:145 +#: ../system/core-workflows/condition-operators.rst:149 +#, fuzzy +#| msgid "Matches if one specified value is present." +msgid "At least one value is present (OR logic)." +msgstr "Подудара се ако једна дата вредност постоји." + +#: ../system/core-workflows/condition-operators.rst:146 +msgid "Not available; ``contains one`` is the equivalent." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:148 +#: ../system/core-workflows/condition-operators.rst:188 +#: ../system/core-workflows/condition-operators.rst:228 +#: ../system/core-workflows/condition-operators.rst:271 +#: ../system/core-workflows/condition-operators.rst:311 +msgid "Same as ``contains``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:151 +#: ../system/core-workflows/condition-operators.rst:152 +msgid "Every value is present (AND logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:154 +#, fuzzy +#| msgid "" +#| "If the date field's value is before the configured date, the condition " +#| "will be met." +msgid "" +"At least one field value is outside the condition, or the field is empty." +msgstr "" +"Ако је вредност поља датума пре подешеног датума, услов ће бити испуњен." + +#: ../system/core-workflows/condition-operators.rst:156 +#, fuzzy +#| msgid "Set available options for select fields" +msgid "Not available for multi-select fields." +msgstr "Одредите доступне опције за поља избора" + +#: ../system/core-workflows/condition-operators.rst:158 +#: ../system/core-workflows/condition-operators.rst:197 +#: ../system/core-workflows/condition-operators.rst:237 +#: ../system/core-workflows/condition-operators.rst:280 +#: ../system/core-workflows/condition-operators.rst:320 +#, fuzzy +#| msgid "contains not" +msgid "Same as ``contains not``." +msgstr "не садржи" + +#: ../system/core-workflows/condition-operators.rst:162 +msgid "Not all values are present (at least one is missing)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:194 +msgid "``C`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:200 +msgid "``A`` and ``B`` are present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:234 +msgid "``D`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:240 +msgid "``C`` is present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:242 +msgid "" +"This partial overlap is where the two \"all\" operators part ways: " +"``contains all`` fails because one condition value is missing, while " +"``contains all not`` fails because a single common value is enough to block " +"it." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:277 +msgid "``C`` and ``D`` are not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:285 +msgid "This is the only example where ``contains all not`` matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:317 +msgid "An empty field matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:323 +#, fuzzy +#| msgid "" +#| "**Actions:** define what to change in a ticket which matches the " +#| "condition." +msgid "An empty field has no value in common with the condition." +msgstr "**Радње:** одређује шта се мења у тикету који се подудара са условом." + +#: ../system/core-workflows/condition-operators.rst:325 +msgid "" +"Note that ``contains not`` and ``contains one not`` match an empty field, " +"while ``contains`` and ``contains all`` do not. If you want to exclude " +"specific values, be aware that empty fields pass the condition." +msgstr "" + #: ../system/core-workflows/how-do-they-work.rst:2 msgid "How do they work?" msgstr "Како то уствари функционише?" @@ -36022,6 +36550,24 @@ msgstr "Верзија" msgid "Shows the current Zammad version of your instance." msgstr "Приказује тренутну Zammad верзију ваше инстанце." +#~ msgid "Matches if all given field values are not selected." +#~ msgstr "Одговара ако све дате вредности поља нису изабране." + +#~ msgid "Matches if one specific given field value is not selected." +#~ msgstr "Одговара ако једна одређена вредност поља није изабрана." + +#~ msgid "Matches if a specified value is present." +#~ msgstr "Подудара се ако одређена вредност постоји." + +#~ msgid "Matches if all of the specified values are present." +#~ msgstr "Подудара се ако све дате вредности постоје." + +#~ msgid "Matches if a specified value is not present." +#~ msgstr "Подудара се ако дата вредност не постоји." + +#~ msgid "Matches if one specified value is not present." +#~ msgstr "Подудара се ако једна дата вредност не постоји." + #~ msgid "Depending on your email system, follow the matching guide:" #~ msgstr "У зависности од вашег имејл система, пратите одговарајући водич:" @@ -43525,9 +44071,6 @@ msgstr "Приказује тренутну Zammad верзију ваше ин #~ msgid "Action *(Scope: Ticket, Ticket article)*" #~ msgstr "Радња *(обим: тикет, чланак тикета)*" -#~ msgid "This field is only available for Trigger conditions!" -#~ msgstr "Ово поље је доступно само за услове окидача!" - #~ msgid "How was the ticket in question touched?" #~ msgstr "Како је измењен дотични тикет?" @@ -43745,9 +44288,6 @@ msgstr "Приказује тренутну Zammad верзију ваше ин #~ msgid "Tags *(Scope: Ticket)*" #~ msgstr "Ознаке *(обим: тикет)*" -#~ msgid "Additional tags can be present in the ticket without issues." -#~ msgstr "Додатне ознаке могу бити присутне у тикету без проблема." - #~ msgid "What ticket tags are affected (or not)?" #~ msgstr "Које ознаке тикета се узимају у обзир (или не)?" @@ -44588,9 +45128,6 @@ msgstr "Приказује тренутну Zammad верзију ваше ин #~ msgid "This is the actual target page you're linking to." #~ msgstr "Ово је стварна циљна страница коју линкујете." -#~ msgid "Why?" -#~ msgstr "Зашто?" - #~ msgid "" #~ "This context *does not* affect the :ref:`security_password_login` " #~ "function." diff --git a/locale/sv/LC_MESSAGES/admin-docs.po b/locale/sv/LC_MESSAGES/admin-docs.po index 3cdfb8c91..1de9fa1f8 100644 --- a/locale/sv/LC_MESSAGES/admin-docs.po +++ b/locale/sv/LC_MESSAGES/admin-docs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Zammad\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-24 17:19+0200\n" +"POT-Creation-Date: 2026-08-28 15:08+0200\n" "PO-Revision-Date: 2026-07-29 08:07+0000\n" "Last-Translator: kjellbrandes \n" "Language-Team: Swedish ` and consider switching your plan. When a " @@ -1145,17 +1146,17 @@ msgid "" "alerted when few calls remain." msgstr "" -#: ../ai/provider.rst:288 +#: ../ai/provider.rst:289 msgid "" "On SaaS, the Zammad AI provider is provisioned by the platform and you " "cannot delete it or change its type." msgstr "" -#: ../ai/provider.rst:295 +#: ../ai/provider.rst:296 msgid "Self-Hosted Customers" msgstr "" -#: ../ai/provider.rst:292 +#: ../ai/provider.rst:293 msgid "" "Get in touch with our `sales department `_ to obtain a Zammad AI API key and to buy AI calls. After " @@ -1163,14 +1164,14 @@ msgid "" "key." msgstr "" -#: ../ai/provider.rst:300 +#: ../ai/provider.rst:301 msgid "" "`Ollama `_ lets you run your own AI server on a machine " "you control, so your data is not transferred to a third party. This approach " "only makes sense if you have a powerful GPU in your system!" msgstr "" -#: ../ai/provider.rst:304 +#: ../ai/provider.rst:305 msgid "" "If you don't have Ollama running yet, their `documentation `_ is a good starting point. Available models are listed in " @@ -4229,7 +4230,7 @@ msgstr "" msgid "Signatures" msgstr "" -#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:436 +#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:450 #: ../system/monitoring.rst:9 msgid "General" msgstr "Allmänt" @@ -4958,7 +4959,7 @@ msgstr "" #: ../channels/form.rst:250 ../manage/public-links.rst:43 #: ../misc/object-conditions/basics.rst:63 ../misc/variables.rst:101 -#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:22 #: ../system/objects/permissions.rst:36 ../system/subscription.rst:196 msgid "Description" msgstr "Förklaring" @@ -8698,6 +8699,29 @@ msgstr "" #: ../manage/groups/settings.rst:42 ../manage/groups/settings.rst:63 #: ../misc/object-conditions/basics.rst:121 #: ../misc/object-conditions/basics.rst:136 +#: ../misc/object-conditions/basics.rst:514 +#: ../misc/object-conditions/basics.rst:517 +#: ../misc/object-conditions/basics.rst:548 +#: ../misc/object-conditions/basics.rst:554 +#: ../misc/object-conditions/basics.rst:591 +#: ../misc/object-conditions/basics.rst:594 +#: ../misc/object-conditions/basics.rst:623 +#: ../misc/object-conditions/basics.rst:626 +#: ../system/core-workflows/condition-operators.rst:184 +#: ../system/core-workflows/condition-operators.rst:187 +#: ../system/core-workflows/condition-operators.rst:190 +#: ../system/core-workflows/condition-operators.rst:193 +#: ../system/core-workflows/condition-operators.rst:196 +#: ../system/core-workflows/condition-operators.rst:224 +#: ../system/core-workflows/condition-operators.rst:227 +#: ../system/core-workflows/condition-operators.rst:233 +#: ../system/core-workflows/condition-operators.rst:236 +#: ../system/core-workflows/condition-operators.rst:276 +#: ../system/core-workflows/condition-operators.rst:279 +#: ../system/core-workflows/condition-operators.rst:282 +#: ../system/core-workflows/condition-operators.rst:316 +#: ../system/core-workflows/condition-operators.rst:319 +#: ../system/core-workflows/condition-operators.rst:322 msgid "yes" msgstr "" @@ -8752,6 +8776,23 @@ msgstr "" #: ../manage/groups/settings.rst:66 ../misc/object-conditions/basics.rst:122 #: ../misc/object-conditions/basics.rst:137 +#: ../misc/object-conditions/basics.rst:520 +#: ../misc/object-conditions/basics.rst:523 +#: ../misc/object-conditions/basics.rst:551 +#: ../misc/object-conditions/basics.rst:557 +#: ../misc/object-conditions/basics.rst:585 +#: ../misc/object-conditions/basics.rst:588 +#: ../misc/object-conditions/basics.rst:617 +#: ../misc/object-conditions/basics.rst:620 +#: ../system/core-workflows/condition-operators.rst:199 +#: ../system/core-workflows/condition-operators.rst:230 +#: ../system/core-workflows/condition-operators.rst:239 +#: ../system/core-workflows/condition-operators.rst:267 +#: ../system/core-workflows/condition-operators.rst:270 +#: ../system/core-workflows/condition-operators.rst:273 +#: ../system/core-workflows/condition-operators.rst:307 +#: ../system/core-workflows/condition-operators.rst:310 +#: ../system/core-workflows/condition-operators.rst:313 msgid "no" msgstr "" @@ -9157,7 +9198,7 @@ msgid "" msgstr "" #: ../manage/knowledge-base.rst:136 ../manage/public-links.rst:35 -#: ../manage/time-accounting.rst:147 ../manage/time-accounting.rst:161 +#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 #: ../system/maintenance.rst:31 msgid "Title" msgstr "" @@ -12417,16 +12458,18 @@ msgstr "" #: ../manage/time-accounting.rst:22 msgid "" "If a ticket is relevant, Zammad will request the agent to provide the time " -"which was needed to process the current ticket step. In order for Zammad to " -"bring up the time accounting dialog to an agent, the agent has to update the " -"ticket together with an article of any type. The adding of an article is " -"mandatory to invoke the time accounting dialog. However, the time accounting " -"dialog is not mandatory and can be canceled by your agents. You cannot " -"enforce the time accounting. When a ticket is no longer considered for the " -"time accounting, the already accounted time will be preserved." +"which was needed to process the current ticket step. This accounted time is " +"displayed in the ticket sidebar at ticket level and in the article meta " +"information for an individual article. In order for Zammad to bring up the " +"time accounting dialog to an agent, the agent has to update the ticket " +"together with an article of any type. The adding of an article is mandatory " +"to invoke the time accounting dialog. However, the time accounting dialog is " +"not mandatory and can be canceled by your agents. You cannot enforce the " +"time accounting. When a ticket is no longer considered for the time " +"accounting, the already accounted time will be preserved." msgstr "" -#: ../manage/time-accounting.rst:33 +#: ../manage/time-accounting.rst:35 msgid "" "The selector applies to the ticket state before any attribute changes have " "been saved. That means if your agent is e.g. going to close a ticket " @@ -12438,49 +12481,49 @@ msgstr "" msgid "Time Accounting Ticket Selector" msgstr "" -#: ../manage/time-accounting.rst:42 +#: ../manage/time-accounting.rst:44 msgid "" "The accounted time is always a unitless number. However, it is possible to " "show a specific unit in the **Unit** section, which provides several options:" msgstr "" -#: ../manage/time-accounting.rst:46 +#: ../manage/time-accounting.rst:48 msgid "no unit" msgstr "" -#: ../manage/time-accounting.rst:47 +#: ../manage/time-accounting.rst:49 msgid "Default behavior, no unit is shown next to the time value." msgstr "" -#: ../manage/time-accounting.rst:48 +#: ../manage/time-accounting.rst:50 msgid "hour(s)" msgstr "" -#: ../manage/time-accounting.rst:49 +#: ../manage/time-accounting.rst:51 msgid "Shows ``hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:50 +#: ../manage/time-accounting.rst:52 msgid "quarter-hour(s)" msgstr "" -#: ../manage/time-accounting.rst:51 +#: ../manage/time-accounting.rst:53 msgid "Shows ``quarter-hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:52 +#: ../manage/time-accounting.rst:54 msgid "minute(s)" msgstr "" -#: ../manage/time-accounting.rst:53 +#: ../manage/time-accounting.rst:55 msgid "Shows ``minute(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "custom unit" msgstr "" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "Shows a custom unit that can be specified as free input." msgstr "" @@ -12488,7 +12531,7 @@ msgstr "" msgid "Time Accounting Unit" msgstr "" -#: ../manage/time-accounting.rst:62 +#: ../manage/time-accounting.rst:64 msgid "" "The unit is only displayed to make it easier for agents to account their " "time! No numerical transformation will be applied to the values, not even if " @@ -12500,11 +12543,11 @@ msgstr "" msgid "Time Accounting Unit when Recording" msgstr "" -#: ../manage/time-accounting.rst:72 +#: ../manage/time-accounting.rst:74 msgid "Activity Types" msgstr "" -#: ../manage/time-accounting.rst:74 +#: ../manage/time-accounting.rst:76 msgid "" "**Activity Types** can be used to group the different ticket time accounting " "entries together. For example, entries that are relevant to a \"Billing\" " @@ -12515,7 +12558,7 @@ msgstr "" msgid "Time Accounting Activity Types" msgstr "" -#: ../manage/time-accounting.rst:81 +#: ../manage/time-accounting.rst:83 msgid "" "When you enable the recording of the **Activity Type**, the agents will be " "able to select a type from this list." @@ -12525,13 +12568,13 @@ msgstr "" msgid "Time Accounting Activity Type Selection for Agents" msgstr "" -#: ../manage/time-accounting.rst:88 +#: ../manage/time-accounting.rst:90 msgid "" "Additionally, a column with an associated activity type will be rendered for " "an entry in the **Activity** table under the **Accounted Time** tab." msgstr "" -#: ../manage/time-accounting.rst:91 +#: ../manage/time-accounting.rst:93 msgid "" "You can manage available activity types in this screen like any other Zammad " "object. Only active types will be available for the selection when recording " @@ -12543,7 +12586,7 @@ msgstr "" msgid "New Time Accounting Activity Type Dialog" msgstr "" -#: ../manage/time-accounting.rst:100 +#: ../manage/time-accounting.rst:102 msgid "" "Activity types can be set as default, and in that case they will be pre-" "selected for the agents when they are asked to account their time. It is " @@ -12551,29 +12594,29 @@ msgid "" "pre-selected and the agents can make their choice." msgstr "" -#: ../manage/time-accounting.rst:106 +#: ../manage/time-accounting.rst:108 msgid "Accounted Time" msgstr "" -#: ../manage/time-accounting.rst:108 +#: ../manage/time-accounting.rst:110 msgid "" "Under the **Accounted Time** tab, Zammad provides a section for reviewing " "all accounted times for your tickets. Accounted times are displayed per " "years and months." msgstr "" -#: ../manage/time-accounting.rst:112 +#: ../manage/time-accounting.rst:114 msgid "" "If you have tickets that are overlapping several months, you can " "differentiate by *time units* and *time units total* (e.g. to allow partial " "billing) in the downloaded file." msgstr "" -#: ../manage/time-accounting.rst:123 +#: ../manage/time-accounting.rst:125 msgid "Select the right month" msgstr "" -#: ../manage/time-accounting.rst:117 +#: ../manage/time-accounting.rst:119 msgid "" "Usually you want to bill accounted time of other months than the current " "one. Just select the relevant year and month to receive the accounted times " @@ -12584,85 +12627,85 @@ msgstr "" msgid "Screenshot showing a selection for year and month on time accounting" msgstr "" -#: ../manage/time-accounting.rst:186 +#: ../manage/time-accounting.rst:188 msgid "Tickets and their accounted time" msgstr "" -#: ../manage/time-accounting.rst:126 +#: ../manage/time-accounting.rst:128 msgid "" "Zammad allows you to receive the accounted information just like you need " "them. For this you currently have four options to review and also download " "the relevant data as CSV." msgstr "" -#: ../manage/time-accounting.rst:130 +#: ../manage/time-accounting.rst:132 msgid "" "To download the CSV data, use the download button right next to each heading " "(e.g. \"Ticket\")." msgstr "" -#: ../manage/time-accounting.rst:133 +#: ../manage/time-accounting.rst:135 msgid "This can also be automated with API calls." msgstr "" -#: ../manage/time-accounting.rst:136 +#: ../manage/time-accounting.rst:138 msgid "" "Only the first 20 entries are shown for each table. To see all of them, " "simply download the records in CSV." msgstr "" -#: ../manage/time-accounting.rst:153 +#: ../manage/time-accounting.rst:155 msgid "Activity" msgstr "" -#: ../manage/time-accounting.rst:140 +#: ../manage/time-accounting.rst:142 msgid "" "This filter works similar to the ticket filter, with one exception: You'll " "find each *individual* time accounting step of your agents. This is what " "you'd also see in the ticket's history before Zammad 5.2." msgstr "" -#: ../manage/time-accounting.rst:144 ../manage/time-accounting.rst:158 -#: ../manage/time-accounting.rst:175 +#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:177 msgid "In this list you'll see the following ticket information:" msgstr "" -#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 #: ../settings/ticket.rst:103 msgid "Number" msgstr "" -#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 -#: ../manage/time-accounting.rst:179 ../manage/time-accounting.rst:177 +#: ../manage/time-accounting.rst:150 ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:181 ../manage/time-accounting.rst:179 #: ../misc/object-conditions/basics.rst:37 #: ../misc/object-conditions/basics.rst:89 #: ../misc/object-conditions/basics.rst:171 msgid "Customer" msgstr "" -#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 -#: ../manage/time-accounting.rst:178 +#: ../manage/time-accounting.rst:151 ../manage/time-accounting.rst:165 +#: ../manage/time-accounting.rst:180 msgid "Organization of customer (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:150 +#: ../manage/time-accounting.rst:152 msgid "Agent that accounted the time" msgstr "" -#: ../manage/time-accounting.rst:151 +#: ../manage/time-accounting.rst:153 msgid "Time units accounted in the current activity" msgstr "" -#: ../manage/time-accounting.rst:152 +#: ../manage/time-accounting.rst:154 msgid "Activity type (if enabled)" msgstr "" -#: ../manage/time-accounting.rst:153 ../manage/time-accounting.rst:167 +#: ../manage/time-accounting.rst:155 ../manage/time-accounting.rst:169 #: ../system/audit-logs.rst:76 msgid "Created at" msgstr "" -#: ../manage/time-accounting.rst:168 ../misc/object-conditions/basics.rst:26 +#: ../manage/time-accounting.rst:170 ../misc/object-conditions/basics.rst:26 #: ../misc/object-conditions/basics.rst:90 #: ../misc/object-conditions/basics.rst:126 #: ../misc/object-conditions/basics.rst:139 @@ -12678,45 +12721,45 @@ msgstr "" msgid "Ticket" msgstr "" -#: ../manage/time-accounting.rst:156 +#: ../manage/time-accounting.rst:158 msgid "This filter contains all relevant tickets from the selected month." msgstr "" -#: ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:166 msgid "Agent currently assigned (ticket owner)" msgstr "" -#: ../manage/time-accounting.rst:165 ../manage/time-accounting.rst:179 +#: ../manage/time-accounting.rst:167 ../manage/time-accounting.rst:181 msgid "Time units accounted in the current month" msgstr "" -#: ../manage/time-accounting.rst:166 +#: ../manage/time-accounting.rst:168 msgid "Time units total (time accounted during ticket life)" msgstr "" -#: ../manage/time-accounting.rst:168 +#: ../manage/time-accounting.rst:170 msgid "Closed at (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:171 +#: ../manage/time-accounting.rst:173 msgid "" "This provides you a per user filter on accounted time units. Each user has a " "total of time accounted in the current month (over all applicable tickets)." msgstr "" -#: ../manage/time-accounting.rst:186 ../misc/object-conditions/basics.rst:28 +#: ../manage/time-accounting.rst:188 ../misc/object-conditions/basics.rst:28 #: ../misc/object-conditions/basics.rst:115 #: ../misc/object-conditions/basics.rst:146 ../settings/branding.rst:16 msgid "Organization" msgstr "" -#: ../manage/time-accounting.rst:182 +#: ../manage/time-accounting.rst:184 msgid "" "This provides a list of all organizations where customers have caused " "accounted time in that month." msgstr "" -#: ../manage/time-accounting.rst:185 +#: ../manage/time-accounting.rst:187 msgid "" "You can also see entries for customers that are part of a primary " "organization. Users without an organization can be found in the Customer " @@ -15861,7 +15904,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:185 #: ../misc/object-conditions/basics.rst:209 #: ../misc/object-conditions/basics.rst:219 -#: ../system/core-workflows/condition-operators.rst:50 +#: ../system/core-workflows/condition-operators.rst:64 msgid "is" msgstr "" @@ -15878,7 +15921,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:186 #: ../misc/object-conditions/basics.rst:210 #: ../misc/object-conditions/basics.rst:220 -#: ../system/core-workflows/condition-operators.rst:72 +#: ../system/core-workflows/condition-operators.rst:86 msgid "is not" msgstr "" @@ -15949,7 +15992,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:97 #: ../misc/object-conditions/basics.rst:155 #: ../misc/object-conditions/basics.rst:204 -#: ../system/core-workflows/condition-operators.rst:86 +#: ../system/core-workflows/condition-operators.rst:100 msgid "not set" msgstr "" @@ -16107,22 +16150,58 @@ msgid "Checks tags of a ticket." msgstr "" #: ../misc/object-conditions/basics.rst:193 -#: ../system/core-workflows/condition-operators.rst:32 +#: ../misc/object-conditions/basics.rst:516 +#: ../misc/object-conditions/basics.rst:550 +#: ../misc/object-conditions/basics.rst:587 +#: ../misc/object-conditions/basics.rst:619 +#: ../system/core-workflows/condition-operators.rst:38 +#: ../system/core-workflows/condition-operators.rst:150 +#: ../system/core-workflows/condition-operators.rst:189 +#: ../system/core-workflows/condition-operators.rst:229 +#: ../system/core-workflows/condition-operators.rst:272 +#: ../system/core-workflows/condition-operators.rst:312 msgid "contains all" msgstr "" #: ../misc/object-conditions/basics.rst:194 -#: ../system/core-workflows/condition-operators.rst:38 +#: ../misc/object-conditions/basics.rst:513 +#: ../misc/object-conditions/basics.rst:547 +#: ../misc/object-conditions/basics.rst:584 +#: ../misc/object-conditions/basics.rst:616 +#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:147 +#: ../system/core-workflows/condition-operators.rst:186 +#: ../system/core-workflows/condition-operators.rst:226 +#: ../system/core-workflows/condition-operators.rst:269 +#: ../system/core-workflows/condition-operators.rst:309 msgid "contains one" msgstr "" #: ../misc/object-conditions/basics.rst:195 -#: ../system/core-workflows/condition-operators.rst:34 +#: ../misc/object-conditions/basics.rst:519 +#: ../misc/object-conditions/basics.rst:553 +#: ../misc/object-conditions/basics.rst:590 +#: ../misc/object-conditions/basics.rst:622 +#: ../system/core-workflows/condition-operators.rst:41 +#: ../system/core-workflows/condition-operators.rst:160 +#: ../system/core-workflows/condition-operators.rst:198 +#: ../system/core-workflows/condition-operators.rst:238 +#: ../system/core-workflows/condition-operators.rst:281 +#: ../system/core-workflows/condition-operators.rst:321 msgid "contains all not" msgstr "" #: ../misc/object-conditions/basics.rst:196 -#: ../system/core-workflows/condition-operators.rst:40 +#: ../misc/object-conditions/basics.rst:522 +#: ../misc/object-conditions/basics.rst:556 +#: ../misc/object-conditions/basics.rst:593 +#: ../misc/object-conditions/basics.rst:625 +#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:157 +#: ../system/core-workflows/condition-operators.rst:195 +#: ../system/core-workflows/condition-operators.rst:235 +#: ../system/core-workflows/condition-operators.rst:278 +#: ../system/core-workflows/condition-operators.rst:318 msgid "contains one not" msgstr "" @@ -16143,7 +16222,7 @@ msgid "Checks if time is accounted." msgstr "" #: ../misc/object-conditions/basics.rst:203 -#: ../system/core-workflows/condition-operators.rst:74 +#: ../system/core-workflows/condition-operators.rst:88 msgid "is set" msgstr "" @@ -16201,8 +16280,8 @@ msgstr "" #: ../misc/object-conditions/basics.rst:334 #: ../misc/object-conditions/basics.rst:381 #: ../misc/object-conditions/basics.rst:392 -#: ../misc/object-conditions/basics.rst:410 #: ../misc/object-conditions/basics.rst:421 +#: ../misc/object-conditions/basics.rst:432 msgid "Available operators for matching:" msgstr "" @@ -16288,7 +16367,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:269 #: ../misc/object-conditions/basics.rst:284 #: ../misc/object-conditions/basics.rst:385 -#: ../misc/object-conditions/basics.rst:414 +#: ../misc/object-conditions/basics.rst:425 msgid "**has changed**" msgstr "" @@ -16303,14 +16382,14 @@ msgstr "" #: ../misc/object-conditions/basics.rst:267 #: ../misc/object-conditions/basics.rst:278 #: ../misc/object-conditions/basics.rst:383 -#: ../misc/object-conditions/basics.rst:412 +#: ../misc/object-conditions/basics.rst:423 msgid "**is**" msgstr "" #: ../misc/object-conditions/basics.rst:268 #: ../misc/object-conditions/basics.rst:279 #: ../misc/object-conditions/basics.rst:384 -#: ../misc/object-conditions/basics.rst:413 +#: ../misc/object-conditions/basics.rst:424 msgid "**is not**" msgstr "" @@ -16558,7 +16637,7 @@ msgid "**contains all**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are selected." +msgid "Matches if **all** given field values are selected (AND logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16566,7 +16645,8 @@ msgid "**contains one**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is selected." +msgid "" +"Matches if **at least one** of the given field values is selected (OR logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16574,7 +16654,9 @@ msgid "**contains all not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are not selected." +msgid "" +"Matches if **not all** given field values are selected (at least one is " +"missing). This means \"not all of\", not \"none of\"." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16582,24 +16664,35 @@ msgid "**contains one not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is not selected." +msgid "" +"Matches if **none** of the given field values are selected. This means " +"\"none of\", not \"not all of\"." msgstr "" -#: ../misc/object-conditions/basics.rst:405 ../system/objects/types.rst:135 +#: ../misc/object-conditions/basics.rst:408 +msgid "" +"In :doc:`core workflows `, these operators have " +"different semantics. See :ref:`core workflow condition operators ` for details. Example scenarios for the " +"operators described here can be found in :ref:`multi-select-operator-" +"examples` below." +msgstr "" + +#: ../misc/object-conditions/basics.rst:416 ../system/objects/types.rst:135 msgid "Single Tree Selection Field" msgstr "" -#: ../misc/object-conditions/basics.rst:407 +#: ../misc/object-conditions/basics.rst:418 msgid "" "Checks if a selected field value match the attribute value. Selecting more " "than one value in the condition will act like an \"OR\" clause." msgstr "" -#: ../misc/object-conditions/basics.rst:417 ../system/objects/types.rst:148 +#: ../misc/object-conditions/basics.rst:428 ../system/objects/types.rst:148 msgid "Multiple Tree Selection Field" msgstr "" -#: ../misc/object-conditions/basics.rst:419 +#: ../misc/object-conditions/basics.rst:430 msgid "Checks if selected field value(s) match the attribute value(s)." msgstr "" @@ -16619,65 +16712,65 @@ msgstr "" msgid "**contains one not**" msgstr "" -#: ../misc/object-conditions/basics.rst:433 +#: ../misc/object-conditions/basics.rst:447 msgid "Additional Information and Remarks" msgstr "" -#: ../misc/object-conditions/basics.rst:442 +#: ../misc/object-conditions/basics.rst:456 msgid "Ticket context conditions do not support:" msgstr "" -#: ../misc/object-conditions/basics.rst:439 +#: ../misc/object-conditions/basics.rst:453 msgid "regular expressions" msgstr "" -#: ../misc/object-conditions/basics.rst:440 +#: ../misc/object-conditions/basics.rst:454 msgid "case sensitive string conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:441 +#: ../misc/object-conditions/basics.rst:455 msgid "" "Basic conditions do not support the same attribute to be selected more than " "once" msgstr "" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 #, fuzzy msgid "**has changed** conditions:" msgstr "Konfiguration" -#: ../misc/object-conditions/basics.rst:445 +#: ../misc/object-conditions/basics.rst:459 msgid "Are only available for ticket attributes and don't affect:" msgstr "" -#: ../misc/object-conditions/basics.rst:447 +#: ../misc/object-conditions/basics.rst:461 msgid "Ticket articles attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:448 +#: ../misc/object-conditions/basics.rst:462 msgid "Organization attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:449 +#: ../misc/object-conditions/basics.rst:463 msgid "User attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "Group attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:463 +#: ../misc/object-conditions/basics.rst:477 msgid "Differences in input fields:" msgstr "" -#: ../misc/object-conditions/basics.rst:453 +#: ../misc/object-conditions/basics.rst:467 msgid "" "Please note that the input field for tokens doesn't support the comma as " "separator (as in the input field for tags). If you use the comma in the " "token input field, the comma is included in you token." msgstr "" -#: ../misc/object-conditions/basics.rst:457 +#: ../misc/object-conditions/basics.rst:471 msgid "**Example**:" msgstr "" @@ -16685,32 +16778,257 @@ msgstr "" msgid "Example of comma usage in token input field" msgstr "" -#: ../misc/object-conditions/basics.rst:462 +#: ../misc/object-conditions/basics.rst:476 msgid "" "``A`` added with enter/tab, ``B`` and ``C`` separated with comma (resulting " "in one token)." msgstr "" -#: ../misc/object-conditions/basics.rst:468 +#: ../misc/object-conditions/basics.rst:482 +msgid "Multi-Select Operator Examples" +msgstr "" + +#: ../misc/object-conditions/basics.rst:484 +msgid "" +"The ``contains`` family of operators for multi-select fields compares two " +"sets of values: the values currently in the field and the values specified " +"in the condition. The diagrams below show the condition values as an orange " +"circle and the field values as a blue circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:489 +msgid "" +"Be aware that these operators behave **differently** in :doc:`core workflows " +"`. See :ref:`core workflow condition operators ` for a side by side comparison." +msgstr "" + +#: ../misc/object-conditions/basics.rst:495 +#: ../system/core-workflows/condition-operators.rst:165 +msgid "Example 1: Condition A, B - Field A, B, C" +msgstr "" + +#: ../misc/object-conditions/basics.rst:497 +#: ../system/core-workflows/condition-operators.rst:167 +msgid "" +"In this scenario, the field holds the values A, B and C, while the condition " +"asks for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "" +"Venn diagram of condition values A, B and field values A, B, C. A and B are " +"in both circles, C only in the field circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "Condition values ``A, B`` overlap with field values ``A, B, C``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:510 +#: ../misc/object-conditions/basics.rst:544 +#: ../misc/object-conditions/basics.rst:581 +#: ../misc/object-conditions/basics.rst:613 +#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:141 +#: ../system/core-workflows/condition-operators.rst:180 +#: ../system/core-workflows/condition-operators.rst:220 +#: ../system/core-workflows/condition-operators.rst:263 +#: ../system/core-workflows/condition-operators.rst:303 +msgid "Operator" +msgstr "" + +#: ../misc/object-conditions/basics.rst:511 +#: ../misc/object-conditions/basics.rst:545 +#: ../misc/object-conditions/basics.rst:582 +#: ../misc/object-conditions/basics.rst:614 +#: ../system/core-workflows/condition-operators.rst:181 +#: ../system/core-workflows/condition-operators.rst:221 +#: ../system/core-workflows/condition-operators.rst:264 +#: ../system/core-workflows/condition-operators.rst:304 +msgid "Matches?" +msgstr "" + +#: ../misc/object-conditions/basics.rst:512 +#: ../misc/object-conditions/basics.rst:546 +#: ../misc/object-conditions/basics.rst:583 +#: ../misc/object-conditions/basics.rst:615 +#: ../system/core-workflows/condition-operators.rst:182 +#: ../system/core-workflows/condition-operators.rst:222 +#: ../system/core-workflows/condition-operators.rst:265 +#: ../system/core-workflows/condition-operators.rst:305 +msgid "Why" +msgstr "" + +#: ../misc/object-conditions/basics.rst:515 +#: ../system/core-workflows/condition-operators.rst:185 +msgid "``A`` and ``B`` are in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:518 +#: ../system/core-workflows/condition-operators.rst:191 +msgid "Both ``A`` and ``B`` are present (AND logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:521 +msgid "All condition values are present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:524 +msgid "The field has values in common with the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:527 +#: ../system/core-workflows/condition-operators.rst:203 +msgid "Example 2: Condition A, B, C - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:529 +#: ../system/core-workflows/condition-operators.rst:205 +msgid "" +"In this scenario, the field holds the values C and D. The condition value C " +"is present in the field, while A and B are not." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Venn diagram of condition values A, B, C and field values C, D.\n" +"Only C is in both circles." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Condition values ``A, B, C`` partially overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:549 +#: ../system/core-workflows/condition-operators.rst:225 +msgid "``C`` is in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:552 +#: ../system/core-workflows/condition-operators.rst:231 +msgid "Only ``C`` of the three condition values is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:555 +#: ../misc/object-conditions/basics.rst:592 +msgid "``A`` and ``B`` are missing from the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:558 +msgid "``C`` is in both the field and the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:560 +msgid "" +"This partial overlap is where the two \"not\" operators part ways: " +"``contains all not`` matches because a single condition value is missing, " +"while ``contains one not`` does not match because the one common value is " +"enough to block it." +msgstr "" + +#: ../misc/object-conditions/basics.rst:566 +#: ../system/core-workflows/condition-operators.rst:248 +msgid "Example 3: Condition A, B - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:568 +#: ../system/core-workflows/condition-operators.rst:250 +msgid "" +"In this scenario, the field holds the values C and D, which have nothing in " +"common with the condition values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "" +"Venn diagram of condition values A, B and field values C, D. The two circles " +"do not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "Condition values ``A, B`` have no overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:586 +#: ../system/core-workflows/condition-operators.rst:268 +msgid "No value is in both sets." +msgstr "" + +#: ../misc/object-conditions/basics.rst:589 +#: ../system/core-workflows/condition-operators.rst:274 +msgid "Neither ``A`` nor ``B`` is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:595 +#: ../misc/object-conditions/basics.rst:627 +#: ../system/core-workflows/condition-operators.rst:159 +#: ../system/core-workflows/condition-operators.rst:161 +#: ../system/core-workflows/condition-operators.rst:283 +msgid "The field has no value in common with the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:598 +#: ../system/core-workflows/condition-operators.rst:288 +msgid "Example 4: Condition A, B - Field is empty" +msgstr "" + +#: ../misc/object-conditions/basics.rst:600 +#: ../system/core-workflows/condition-operators.rst:290 +msgid "" +"In this scenario, the field holds no values at all, while the condition asks " +"for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "" +"Venn diagram of condition values A, B and an empty field. The two circles do " +"not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "The field holds no values at all." +msgstr "" + +#: ../misc/object-conditions/basics.rst:618 +#: ../misc/object-conditions/basics.rst:621 +#: ../system/core-workflows/condition-operators.rst:308 +#: ../system/core-workflows/condition-operators.rst:314 +msgid "No value is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:624 +msgid "No condition value is present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:632 msgid "Regex" msgstr "" -#: ../misc/object-conditions/basics.rst:473 +#: ../misc/object-conditions/basics.rst:637 msgid "Regex support" msgstr "" -#: ../misc/object-conditions/basics.rst:471 +#: ../misc/object-conditions/basics.rst:635 msgid "" "**matches regex** and **does not match regex** are supported only in " "Triggers, Time Accounting selector, Postmaster Filters, Automatic ticket " "assignment and Core Workflow." msgstr "" -#: ../misc/object-conditions/basics.rst:478 +#: ../misc/object-conditions/basics.rst:642 msgid "\"Old\" style ``regex:...`` conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:476 +#: ../misc/object-conditions/basics.rst:640 msgid "" "If you update your Zammad from 6.0 or prior and you have already conditions " "with **contains** or **contains not** including a regex filter (i.e. " @@ -22925,9 +23243,9 @@ msgstr "" #: ../system/core-workflows/condition-operators.rst:8 msgid "" -"Due to differences to other places in Zammad which are also using conditions " -"(e.g. triggers), you can find a dedicated description of operators for core " -"workflows below." +"Due to differences from other places in Zammad which are also using " +"conditions (e.g. triggers), you can find a dedicated description of " +"operators for core workflows below." msgstr "" #: ../system/core-workflows/condition-operators.rst:12 @@ -22937,272 +23255,419 @@ msgid "" "for system attributes (e.g. for \"tags\", \"active\")." msgstr "" -#: ../system/core-workflows/condition-operators.rst:20 -msgid "Operator" -msgstr "" - -#: ../system/core-workflows/condition-operators.rst:22 +#: ../system/core-workflows/condition-operators.rst:23 msgid "after (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:23 +#: ../system/core-workflows/condition-operators.rst:24 msgid "Matches if a date/time is after a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:24 +#: ../system/core-workflows/condition-operators.rst:25 msgid "after (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:25 +#: ../system/core-workflows/condition-operators.rst:26 msgid "Matches if a time span after a specified event has passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:26 +#: ../system/core-workflows/condition-operators.rst:27 msgid "before (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:27 +#: ../system/core-workflows/condition-operators.rst:28 msgid "Matches if a date/time is before a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:28 +#: ../system/core-workflows/condition-operators.rst:29 msgid "before (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:29 +#: ../system/core-workflows/condition-operators.rst:30 msgid "Matches if a time span after a specified event has not passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:30 +#: ../system/core-workflows/condition-operators.rst:31 +#: ../system/core-workflows/condition-operators.rst:144 +#: ../system/core-workflows/condition-operators.rst:183 +#: ../system/core-workflows/condition-operators.rst:223 +#: ../system/core-workflows/condition-operators.rst:266 +#: ../system/core-workflows/condition-operators.rst:306 msgid "contains" msgstr "" -#: ../system/core-workflows/condition-operators.rst:31 -msgid "Matches if a specified value is present." +#: ../system/core-workflows/condition-operators.rst:32 +msgid "" +"Matches if **at least one** of the specified values is present in the field " +"(OR logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:33 -msgid "Matches if all of the specified values are present." +#: ../system/core-workflows/condition-operators.rst:34 +#: ../system/core-workflows/condition-operators.rst:153 +#: ../system/core-workflows/condition-operators.rst:192 +#: ../system/core-workflows/condition-operators.rst:232 +#: ../system/core-workflows/condition-operators.rst:275 +#: ../system/core-workflows/condition-operators.rst:315 +msgid "contains not" msgstr "" #: ../system/core-workflows/condition-operators.rst:35 -msgid "Matches if none of the specified values are present." +msgid "" +"Matches if the field contains at least one value that is **not** among the " +"specified values. Also matches if the field is empty." msgstr "" -#: ../system/core-workflows/condition-operators.rst:36 -msgid "contains not" +#: ../system/core-workflows/condition-operators.rst:39 +msgid "" +"Matches if **every** specified value is present in the field (AND logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:37 -msgid "Matches if a specified value is not present." +#: ../system/core-workflows/condition-operators.rst:42 +msgid "" +"Matches if **none** of the specified values are present in the field. The " +"field and the condition have no value in common: this means \"contains none " +"of\", not \"does not contain all of\"." msgstr "" -#: ../system/core-workflows/condition-operators.rst:39 -msgid "Matches if one specified value is present." +#: ../system/core-workflows/condition-operators.rst:46 +msgid "" +"In triggers and overviews, this operator means \"not all of the specified " +"values are present\" instead. See the examples section below." msgstr "" -#: ../system/core-workflows/condition-operators.rst:41 -msgid "Matches if one specified value is not present." +#: ../system/core-workflows/condition-operators.rst:50 +msgid "" +"Same as ``contains``. Matches if **at least one** of the specified values is " +"present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:42 +#: ../system/core-workflows/condition-operators.rst:53 +msgid "" +"Same as ``contains not``. Matches if the field contains at least one value " +"that is **not** among the specified values." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:56 msgid "does not match regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:43 +#: ../system/core-workflows/condition-operators.rst:57 msgid "Matches if content doesn't fit to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:44 +#: ../system/core-workflows/condition-operators.rst:58 msgid "ends with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:45 +#: ../system/core-workflows/condition-operators.rst:59 msgid "Matches if content ends with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:46 +#: ../system/core-workflows/condition-operators.rst:60 msgid "ends with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:47 +#: ../system/core-workflows/condition-operators.rst:61 msgid "Matches if content ends with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:48 +#: ../system/core-workflows/condition-operators.rst:62 msgid "from (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:63 msgid "Matches if date/time is after a period of time after an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:51 +#: ../system/core-workflows/condition-operators.rst:65 msgid "Matches if content is equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:66 msgid "is any of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:53 +#: ../system/core-workflows/condition-operators.rst:67 msgid "Matches if content is equal to any of specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:54 +#: ../system/core-workflows/condition-operators.rst:68 msgid "is greater than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:55 +#: ../system/core-workflows/condition-operators.rst:69 msgid "Matches if the value is greater than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:56 +#: ../system/core-workflows/condition-operators.rst:70 msgid "is greater than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:57 +#: ../system/core-workflows/condition-operators.rst:71 msgid "Matches if the value is greater than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:58 +#: ../system/core-workflows/condition-operators.rst:72 msgid "is less than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:59 +#: ../system/core-workflows/condition-operators.rst:73 msgid "Matches if the value is less than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:60 +#: ../system/core-workflows/condition-operators.rst:74 msgid "is less than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:61 +#: ../system/core-workflows/condition-operators.rst:75 msgid "Matches if the value is less than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:62 +#: ../system/core-workflows/condition-operators.rst:76 msgid "is modified" msgstr "" -#: ../system/core-workflows/condition-operators.rst:63 +#: ../system/core-workflows/condition-operators.rst:77 msgid "Matches if content is modified." msgstr "" -#: ../system/core-workflows/condition-operators.rst:65 -#: ../system/core-workflows/condition-operators.rst:69 +#: ../system/core-workflows/condition-operators.rst:79 +#: ../system/core-workflows/condition-operators.rst:83 msgid "True from the moment of changing content until form submit." msgstr "" -#: ../system/core-workflows/condition-operators.rst:66 +#: ../system/core-workflows/condition-operators.rst:80 msgid "is modified to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:67 +#: ../system/core-workflows/condition-operators.rst:81 msgid "Matches if content is modified to a specific value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:70 +#: ../system/core-workflows/condition-operators.rst:84 msgid "is none of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:71 +#: ../system/core-workflows/condition-operators.rst:85 msgid "Matches if content is none of any specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:73 +#: ../system/core-workflows/condition-operators.rst:87 msgid "Matches if content is not equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:75 +#: ../system/core-workflows/condition-operators.rst:89 msgid "Matches if content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:76 +#: ../system/core-workflows/condition-operators.rst:90 msgid "just changed" msgstr "" -#: ../system/core-workflows/condition-operators.rst:77 +#: ../system/core-workflows/condition-operators.rst:91 msgid "Matches if content has changed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:79 -#: ../system/core-workflows/condition-operators.rst:83 +#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:97 msgid "" "Only true for the moment of changing content until next form field action/" "click." msgstr "" -#: ../system/core-workflows/condition-operators.rst:80 +#: ../system/core-workflows/condition-operators.rst:94 msgid "just changed to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:81 +#: ../system/core-workflows/condition-operators.rst:95 msgid "Matches if content has changed to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:84 +#: ../system/core-workflows/condition-operators.rst:98 msgid "matches regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:85 +#: ../system/core-workflows/condition-operators.rst:99 msgid "Matches if value fits to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:87 +#: ../system/core-workflows/condition-operators.rst:101 msgid "Matches if no content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:88 +#: ../system/core-workflows/condition-operators.rst:102 msgid "starts with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:89 +#: ../system/core-workflows/condition-operators.rst:103 msgid "Matches if content starts with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:90 +#: ../system/core-workflows/condition-operators.rst:104 msgid "starts with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:91 +#: ../system/core-workflows/condition-operators.rst:105 msgid "Matches if content starts with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:92 +#: ../system/core-workflows/condition-operators.rst:106 msgid "till (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:107 msgid "Matches if date/time is before a period of time before an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:94 +#: ../system/core-workflows/condition-operators.rst:108 msgid "today" msgstr "" -#: ../system/core-workflows/condition-operators.rst:95 +#: ../system/core-workflows/condition-operators.rst:109 msgid "Matches if date/time is today." msgstr "" -#: ../system/core-workflows/condition-operators.rst:96 +#: ../system/core-workflows/condition-operators.rst:110 msgid "within last (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:97 +#: ../system/core-workflows/condition-operators.rst:111 msgid "" "Matches if date/time content is within specified period of time before now." msgstr "" -#: ../system/core-workflows/condition-operators.rst:99 +#: ../system/core-workflows/condition-operators.rst:113 msgid "within next (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:100 +#: ../system/core-workflows/condition-operators.rst:114 msgid "" "Matches if date/time content is within specified period of time after now." msgstr "" +#: ../system/core-workflows/condition-operators.rst:118 +msgid "Multi-Select Operators" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:120 +msgid "" +"The ``contains`` family of operators compares two sets of values: the values " +"currently in the field and the values specified in the condition. The " +"diagrams below show the condition values as an orange circle and the field " +"values as a blue circle." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:128 +msgid "Differences to Triggers and Overviews" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:130 +msgid "" +"Be aware that these operators behave **differently** in other features that " +"use conditions (e.g. triggers and overviews). The most confusing difference: " +"in core workflows, ``contains all not`` means that no value matches at all, " +"while in triggers and overviews it means \"not all values are present\". The " +"table below compares both worlds side by side." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:142 +msgid "Core workflows (this page)" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:143 +msgid "Triggers, overviews, etc." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:145 +#: ../system/core-workflows/condition-operators.rst:149 +msgid "At least one value is present (OR logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:146 +msgid "Not available; ``contains one`` is the equivalent." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:148 +#: ../system/core-workflows/condition-operators.rst:188 +#: ../system/core-workflows/condition-operators.rst:228 +#: ../system/core-workflows/condition-operators.rst:271 +#: ../system/core-workflows/condition-operators.rst:311 +msgid "Same as ``contains``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:151 +#: ../system/core-workflows/condition-operators.rst:152 +msgid "Every value is present (AND logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:154 +msgid "" +"At least one field value is outside the condition, or the field is empty." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:156 +msgid "Not available for multi-select fields." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:158 +#: ../system/core-workflows/condition-operators.rst:197 +#: ../system/core-workflows/condition-operators.rst:237 +#: ../system/core-workflows/condition-operators.rst:280 +#: ../system/core-workflows/condition-operators.rst:320 +msgid "Same as ``contains not``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:162 +msgid "Not all values are present (at least one is missing)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:194 +msgid "``C`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:200 +msgid "``A`` and ``B`` are present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:234 +msgid "``D`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:240 +msgid "``C`` is present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:242 +msgid "" +"This partial overlap is where the two \"all\" operators part ways: " +"``contains all`` fails because one condition value is missing, while " +"``contains all not`` fails because a single common value is enough to block " +"it." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:277 +msgid "``C`` and ``D`` are not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:285 +msgid "This is the only example where ``contains all not`` matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:317 +msgid "An empty field matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:323 +msgid "An empty field has no value in common with the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:325 +msgid "" +"Note that ``contains not`` and ``contains one not`` match an empty field, " +"while ``contains`` and ``contains all`` do not. If you want to exclude " +"specific values, be aware that empty fields pass the condition." +msgstr "" + #: ../system/core-workflows/how-do-they-work.rst:2 msgid "How do they work?" msgstr "" diff --git a/locale/th/LC_MESSAGES/admin-docs.po b/locale/th/LC_MESSAGES/admin-docs.po index b349c1f02..80171d1d8 100644 --- a/locale/th/LC_MESSAGES/admin-docs.po +++ b/locale/th/LC_MESSAGES/admin-docs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Zammad\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-24 17:19+0200\n" +"POT-Creation-Date: 2026-08-28 15:08+0200\n" "PO-Revision-Date: 2026-07-29 08:08+0000\n" "Last-Translator: Sumonchai Wongphithak \n" "Language-Team: Thai ` and consider switching your plan. When a " @@ -1144,17 +1145,17 @@ msgid "" "alerted when few calls remain." msgstr "" -#: ../ai/provider.rst:288 +#: ../ai/provider.rst:289 msgid "" "On SaaS, the Zammad AI provider is provisioned by the platform and you " "cannot delete it or change its type." msgstr "" -#: ../ai/provider.rst:295 +#: ../ai/provider.rst:296 msgid "Self-Hosted Customers" msgstr "" -#: ../ai/provider.rst:292 +#: ../ai/provider.rst:293 msgid "" "Get in touch with our `sales department `_ to obtain a Zammad AI API key and to buy AI calls. After " @@ -1162,14 +1163,14 @@ msgid "" "key." msgstr "" -#: ../ai/provider.rst:300 +#: ../ai/provider.rst:301 msgid "" "`Ollama `_ lets you run your own AI server on a machine " "you control, so your data is not transferred to a third party. This approach " "only makes sense if you have a powerful GPU in your system!" msgstr "" -#: ../ai/provider.rst:304 +#: ../ai/provider.rst:305 msgid "" "If you don't have Ollama running yet, their `documentation `_ is a good starting point. Available models are listed in " @@ -4217,7 +4218,7 @@ msgstr "" msgid "Signatures" msgstr "" -#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:436 +#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:450 #: ../system/monitoring.rst:9 msgid "General" msgstr "" @@ -4946,7 +4947,7 @@ msgstr "" #: ../channels/form.rst:250 ../manage/public-links.rst:43 #: ../misc/object-conditions/basics.rst:63 ../misc/variables.rst:101 -#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:22 #: ../system/objects/permissions.rst:36 ../system/subscription.rst:196 msgid "Description" msgstr "" @@ -8678,6 +8679,29 @@ msgstr "" #: ../manage/groups/settings.rst:42 ../manage/groups/settings.rst:63 #: ../misc/object-conditions/basics.rst:121 #: ../misc/object-conditions/basics.rst:136 +#: ../misc/object-conditions/basics.rst:514 +#: ../misc/object-conditions/basics.rst:517 +#: ../misc/object-conditions/basics.rst:548 +#: ../misc/object-conditions/basics.rst:554 +#: ../misc/object-conditions/basics.rst:591 +#: ../misc/object-conditions/basics.rst:594 +#: ../misc/object-conditions/basics.rst:623 +#: ../misc/object-conditions/basics.rst:626 +#: ../system/core-workflows/condition-operators.rst:184 +#: ../system/core-workflows/condition-operators.rst:187 +#: ../system/core-workflows/condition-operators.rst:190 +#: ../system/core-workflows/condition-operators.rst:193 +#: ../system/core-workflows/condition-operators.rst:196 +#: ../system/core-workflows/condition-operators.rst:224 +#: ../system/core-workflows/condition-operators.rst:227 +#: ../system/core-workflows/condition-operators.rst:233 +#: ../system/core-workflows/condition-operators.rst:236 +#: ../system/core-workflows/condition-operators.rst:276 +#: ../system/core-workflows/condition-operators.rst:279 +#: ../system/core-workflows/condition-operators.rst:282 +#: ../system/core-workflows/condition-operators.rst:316 +#: ../system/core-workflows/condition-operators.rst:319 +#: ../system/core-workflows/condition-operators.rst:322 msgid "yes" msgstr "" @@ -8732,6 +8756,23 @@ msgstr "" #: ../manage/groups/settings.rst:66 ../misc/object-conditions/basics.rst:122 #: ../misc/object-conditions/basics.rst:137 +#: ../misc/object-conditions/basics.rst:520 +#: ../misc/object-conditions/basics.rst:523 +#: ../misc/object-conditions/basics.rst:551 +#: ../misc/object-conditions/basics.rst:557 +#: ../misc/object-conditions/basics.rst:585 +#: ../misc/object-conditions/basics.rst:588 +#: ../misc/object-conditions/basics.rst:617 +#: ../misc/object-conditions/basics.rst:620 +#: ../system/core-workflows/condition-operators.rst:199 +#: ../system/core-workflows/condition-operators.rst:230 +#: ../system/core-workflows/condition-operators.rst:239 +#: ../system/core-workflows/condition-operators.rst:267 +#: ../system/core-workflows/condition-operators.rst:270 +#: ../system/core-workflows/condition-operators.rst:273 +#: ../system/core-workflows/condition-operators.rst:307 +#: ../system/core-workflows/condition-operators.rst:310 +#: ../system/core-workflows/condition-operators.rst:313 msgid "no" msgstr "" @@ -9137,7 +9178,7 @@ msgid "" msgstr "" #: ../manage/knowledge-base.rst:136 ../manage/public-links.rst:35 -#: ../manage/time-accounting.rst:147 ../manage/time-accounting.rst:161 +#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 #: ../system/maintenance.rst:31 msgid "Title" msgstr "" @@ -12383,16 +12424,18 @@ msgstr "" #: ../manage/time-accounting.rst:22 msgid "" "If a ticket is relevant, Zammad will request the agent to provide the time " -"which was needed to process the current ticket step. In order for Zammad to " -"bring up the time accounting dialog to an agent, the agent has to update the " -"ticket together with an article of any type. The adding of an article is " -"mandatory to invoke the time accounting dialog. However, the time accounting " -"dialog is not mandatory and can be canceled by your agents. You cannot " -"enforce the time accounting. When a ticket is no longer considered for the " -"time accounting, the already accounted time will be preserved." +"which was needed to process the current ticket step. This accounted time is " +"displayed in the ticket sidebar at ticket level and in the article meta " +"information for an individual article. In order for Zammad to bring up the " +"time accounting dialog to an agent, the agent has to update the ticket " +"together with an article of any type. The adding of an article is mandatory " +"to invoke the time accounting dialog. However, the time accounting dialog is " +"not mandatory and can be canceled by your agents. You cannot enforce the " +"time accounting. When a ticket is no longer considered for the time " +"accounting, the already accounted time will be preserved." msgstr "" -#: ../manage/time-accounting.rst:33 +#: ../manage/time-accounting.rst:35 msgid "" "The selector applies to the ticket state before any attribute changes have " "been saved. That means if your agent is e.g. going to close a ticket " @@ -12404,49 +12447,49 @@ msgstr "" msgid "Time Accounting Ticket Selector" msgstr "" -#: ../manage/time-accounting.rst:42 +#: ../manage/time-accounting.rst:44 msgid "" "The accounted time is always a unitless number. However, it is possible to " "show a specific unit in the **Unit** section, which provides several options:" msgstr "" -#: ../manage/time-accounting.rst:46 +#: ../manage/time-accounting.rst:48 msgid "no unit" msgstr "" -#: ../manage/time-accounting.rst:47 +#: ../manage/time-accounting.rst:49 msgid "Default behavior, no unit is shown next to the time value." msgstr "" -#: ../manage/time-accounting.rst:48 +#: ../manage/time-accounting.rst:50 msgid "hour(s)" msgstr "" -#: ../manage/time-accounting.rst:49 +#: ../manage/time-accounting.rst:51 msgid "Shows ``hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:50 +#: ../manage/time-accounting.rst:52 msgid "quarter-hour(s)" msgstr "" -#: ../manage/time-accounting.rst:51 +#: ../manage/time-accounting.rst:53 msgid "Shows ``quarter-hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:52 +#: ../manage/time-accounting.rst:54 msgid "minute(s)" msgstr "" -#: ../manage/time-accounting.rst:53 +#: ../manage/time-accounting.rst:55 msgid "Shows ``minute(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "custom unit" msgstr "" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "Shows a custom unit that can be specified as free input." msgstr "" @@ -12454,7 +12497,7 @@ msgstr "" msgid "Time Accounting Unit" msgstr "" -#: ../manage/time-accounting.rst:62 +#: ../manage/time-accounting.rst:64 msgid "" "The unit is only displayed to make it easier for agents to account their " "time! No numerical transformation will be applied to the values, not even if " @@ -12466,11 +12509,11 @@ msgstr "" msgid "Time Accounting Unit when Recording" msgstr "" -#: ../manage/time-accounting.rst:72 +#: ../manage/time-accounting.rst:74 msgid "Activity Types" msgstr "" -#: ../manage/time-accounting.rst:74 +#: ../manage/time-accounting.rst:76 msgid "" "**Activity Types** can be used to group the different ticket time accounting " "entries together. For example, entries that are relevant to a \"Billing\" " @@ -12481,7 +12524,7 @@ msgstr "" msgid "Time Accounting Activity Types" msgstr "" -#: ../manage/time-accounting.rst:81 +#: ../manage/time-accounting.rst:83 msgid "" "When you enable the recording of the **Activity Type**, the agents will be " "able to select a type from this list." @@ -12491,13 +12534,13 @@ msgstr "" msgid "Time Accounting Activity Type Selection for Agents" msgstr "" -#: ../manage/time-accounting.rst:88 +#: ../manage/time-accounting.rst:90 msgid "" "Additionally, a column with an associated activity type will be rendered for " "an entry in the **Activity** table under the **Accounted Time** tab." msgstr "" -#: ../manage/time-accounting.rst:91 +#: ../manage/time-accounting.rst:93 msgid "" "You can manage available activity types in this screen like any other Zammad " "object. Only active types will be available for the selection when recording " @@ -12509,7 +12552,7 @@ msgstr "" msgid "New Time Accounting Activity Type Dialog" msgstr "" -#: ../manage/time-accounting.rst:100 +#: ../manage/time-accounting.rst:102 msgid "" "Activity types can be set as default, and in that case they will be pre-" "selected for the agents when they are asked to account their time. It is " @@ -12517,29 +12560,29 @@ msgid "" "pre-selected and the agents can make their choice." msgstr "" -#: ../manage/time-accounting.rst:106 +#: ../manage/time-accounting.rst:108 msgid "Accounted Time" msgstr "" -#: ../manage/time-accounting.rst:108 +#: ../manage/time-accounting.rst:110 msgid "" "Under the **Accounted Time** tab, Zammad provides a section for reviewing " "all accounted times for your tickets. Accounted times are displayed per " "years and months." msgstr "" -#: ../manage/time-accounting.rst:112 +#: ../manage/time-accounting.rst:114 msgid "" "If you have tickets that are overlapping several months, you can " "differentiate by *time units* and *time units total* (e.g. to allow partial " "billing) in the downloaded file." msgstr "" -#: ../manage/time-accounting.rst:123 +#: ../manage/time-accounting.rst:125 msgid "Select the right month" msgstr "" -#: ../manage/time-accounting.rst:117 +#: ../manage/time-accounting.rst:119 msgid "" "Usually you want to bill accounted time of other months than the current " "one. Just select the relevant year and month to receive the accounted times " @@ -12550,85 +12593,85 @@ msgstr "" msgid "Screenshot showing a selection for year and month on time accounting" msgstr "" -#: ../manage/time-accounting.rst:186 +#: ../manage/time-accounting.rst:188 msgid "Tickets and their accounted time" msgstr "" -#: ../manage/time-accounting.rst:126 +#: ../manage/time-accounting.rst:128 msgid "" "Zammad allows you to receive the accounted information just like you need " "them. For this you currently have four options to review and also download " "the relevant data as CSV." msgstr "" -#: ../manage/time-accounting.rst:130 +#: ../manage/time-accounting.rst:132 msgid "" "To download the CSV data, use the download button right next to each heading " "(e.g. \"Ticket\")." msgstr "" -#: ../manage/time-accounting.rst:133 +#: ../manage/time-accounting.rst:135 msgid "This can also be automated with API calls." msgstr "" -#: ../manage/time-accounting.rst:136 +#: ../manage/time-accounting.rst:138 msgid "" "Only the first 20 entries are shown for each table. To see all of them, " "simply download the records in CSV." msgstr "" -#: ../manage/time-accounting.rst:153 +#: ../manage/time-accounting.rst:155 msgid "Activity" msgstr "" -#: ../manage/time-accounting.rst:140 +#: ../manage/time-accounting.rst:142 msgid "" "This filter works similar to the ticket filter, with one exception: You'll " "find each *individual* time accounting step of your agents. This is what " "you'd also see in the ticket's history before Zammad 5.2." msgstr "" -#: ../manage/time-accounting.rst:144 ../manage/time-accounting.rst:158 -#: ../manage/time-accounting.rst:175 +#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:177 msgid "In this list you'll see the following ticket information:" msgstr "" -#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 #: ../settings/ticket.rst:103 msgid "Number" msgstr "" -#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 -#: ../manage/time-accounting.rst:179 ../manage/time-accounting.rst:177 +#: ../manage/time-accounting.rst:150 ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:181 ../manage/time-accounting.rst:179 #: ../misc/object-conditions/basics.rst:37 #: ../misc/object-conditions/basics.rst:89 #: ../misc/object-conditions/basics.rst:171 msgid "Customer" msgstr "" -#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 -#: ../manage/time-accounting.rst:178 +#: ../manage/time-accounting.rst:151 ../manage/time-accounting.rst:165 +#: ../manage/time-accounting.rst:180 msgid "Organization of customer (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:150 +#: ../manage/time-accounting.rst:152 msgid "Agent that accounted the time" msgstr "" -#: ../manage/time-accounting.rst:151 +#: ../manage/time-accounting.rst:153 msgid "Time units accounted in the current activity" msgstr "" -#: ../manage/time-accounting.rst:152 +#: ../manage/time-accounting.rst:154 msgid "Activity type (if enabled)" msgstr "" -#: ../manage/time-accounting.rst:153 ../manage/time-accounting.rst:167 +#: ../manage/time-accounting.rst:155 ../manage/time-accounting.rst:169 #: ../system/audit-logs.rst:76 msgid "Created at" msgstr "" -#: ../manage/time-accounting.rst:168 ../misc/object-conditions/basics.rst:26 +#: ../manage/time-accounting.rst:170 ../misc/object-conditions/basics.rst:26 #: ../misc/object-conditions/basics.rst:90 #: ../misc/object-conditions/basics.rst:126 #: ../misc/object-conditions/basics.rst:139 @@ -12644,45 +12687,45 @@ msgstr "" msgid "Ticket" msgstr "" -#: ../manage/time-accounting.rst:156 +#: ../manage/time-accounting.rst:158 msgid "This filter contains all relevant tickets from the selected month." msgstr "" -#: ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:166 msgid "Agent currently assigned (ticket owner)" msgstr "" -#: ../manage/time-accounting.rst:165 ../manage/time-accounting.rst:179 +#: ../manage/time-accounting.rst:167 ../manage/time-accounting.rst:181 msgid "Time units accounted in the current month" msgstr "" -#: ../manage/time-accounting.rst:166 +#: ../manage/time-accounting.rst:168 msgid "Time units total (time accounted during ticket life)" msgstr "" -#: ../manage/time-accounting.rst:168 +#: ../manage/time-accounting.rst:170 msgid "Closed at (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:171 +#: ../manage/time-accounting.rst:173 msgid "" "This provides you a per user filter on accounted time units. Each user has a " "total of time accounted in the current month (over all applicable tickets)." msgstr "" -#: ../manage/time-accounting.rst:186 ../misc/object-conditions/basics.rst:28 +#: ../manage/time-accounting.rst:188 ../misc/object-conditions/basics.rst:28 #: ../misc/object-conditions/basics.rst:115 #: ../misc/object-conditions/basics.rst:146 ../settings/branding.rst:16 msgid "Organization" msgstr "" -#: ../manage/time-accounting.rst:182 +#: ../manage/time-accounting.rst:184 msgid "" "This provides a list of all organizations where customers have caused " "accounted time in that month." msgstr "" -#: ../manage/time-accounting.rst:185 +#: ../manage/time-accounting.rst:187 msgid "" "You can also see entries for customers that are part of a primary " "organization. Users without an organization can be found in the Customer " @@ -15819,7 +15862,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:185 #: ../misc/object-conditions/basics.rst:209 #: ../misc/object-conditions/basics.rst:219 -#: ../system/core-workflows/condition-operators.rst:50 +#: ../system/core-workflows/condition-operators.rst:64 msgid "is" msgstr "" @@ -15836,7 +15879,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:186 #: ../misc/object-conditions/basics.rst:210 #: ../misc/object-conditions/basics.rst:220 -#: ../system/core-workflows/condition-operators.rst:72 +#: ../system/core-workflows/condition-operators.rst:86 msgid "is not" msgstr "" @@ -15907,7 +15950,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:97 #: ../misc/object-conditions/basics.rst:155 #: ../misc/object-conditions/basics.rst:204 -#: ../system/core-workflows/condition-operators.rst:86 +#: ../system/core-workflows/condition-operators.rst:100 msgid "not set" msgstr "" @@ -16065,22 +16108,58 @@ msgid "Checks tags of a ticket." msgstr "" #: ../misc/object-conditions/basics.rst:193 -#: ../system/core-workflows/condition-operators.rst:32 +#: ../misc/object-conditions/basics.rst:516 +#: ../misc/object-conditions/basics.rst:550 +#: ../misc/object-conditions/basics.rst:587 +#: ../misc/object-conditions/basics.rst:619 +#: ../system/core-workflows/condition-operators.rst:38 +#: ../system/core-workflows/condition-operators.rst:150 +#: ../system/core-workflows/condition-operators.rst:189 +#: ../system/core-workflows/condition-operators.rst:229 +#: ../system/core-workflows/condition-operators.rst:272 +#: ../system/core-workflows/condition-operators.rst:312 msgid "contains all" msgstr "" #: ../misc/object-conditions/basics.rst:194 -#: ../system/core-workflows/condition-operators.rst:38 +#: ../misc/object-conditions/basics.rst:513 +#: ../misc/object-conditions/basics.rst:547 +#: ../misc/object-conditions/basics.rst:584 +#: ../misc/object-conditions/basics.rst:616 +#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:147 +#: ../system/core-workflows/condition-operators.rst:186 +#: ../system/core-workflows/condition-operators.rst:226 +#: ../system/core-workflows/condition-operators.rst:269 +#: ../system/core-workflows/condition-operators.rst:309 msgid "contains one" msgstr "" #: ../misc/object-conditions/basics.rst:195 -#: ../system/core-workflows/condition-operators.rst:34 +#: ../misc/object-conditions/basics.rst:519 +#: ../misc/object-conditions/basics.rst:553 +#: ../misc/object-conditions/basics.rst:590 +#: ../misc/object-conditions/basics.rst:622 +#: ../system/core-workflows/condition-operators.rst:41 +#: ../system/core-workflows/condition-operators.rst:160 +#: ../system/core-workflows/condition-operators.rst:198 +#: ../system/core-workflows/condition-operators.rst:238 +#: ../system/core-workflows/condition-operators.rst:281 +#: ../system/core-workflows/condition-operators.rst:321 msgid "contains all not" msgstr "" #: ../misc/object-conditions/basics.rst:196 -#: ../system/core-workflows/condition-operators.rst:40 +#: ../misc/object-conditions/basics.rst:522 +#: ../misc/object-conditions/basics.rst:556 +#: ../misc/object-conditions/basics.rst:593 +#: ../misc/object-conditions/basics.rst:625 +#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:157 +#: ../system/core-workflows/condition-operators.rst:195 +#: ../system/core-workflows/condition-operators.rst:235 +#: ../system/core-workflows/condition-operators.rst:278 +#: ../system/core-workflows/condition-operators.rst:318 msgid "contains one not" msgstr "" @@ -16101,7 +16180,7 @@ msgid "Checks if time is accounted." msgstr "" #: ../misc/object-conditions/basics.rst:203 -#: ../system/core-workflows/condition-operators.rst:74 +#: ../system/core-workflows/condition-operators.rst:88 msgid "is set" msgstr "" @@ -16159,8 +16238,8 @@ msgstr "" #: ../misc/object-conditions/basics.rst:334 #: ../misc/object-conditions/basics.rst:381 #: ../misc/object-conditions/basics.rst:392 -#: ../misc/object-conditions/basics.rst:410 #: ../misc/object-conditions/basics.rst:421 +#: ../misc/object-conditions/basics.rst:432 msgid "Available operators for matching:" msgstr "" @@ -16246,7 +16325,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:269 #: ../misc/object-conditions/basics.rst:284 #: ../misc/object-conditions/basics.rst:385 -#: ../misc/object-conditions/basics.rst:414 +#: ../misc/object-conditions/basics.rst:425 msgid "**has changed**" msgstr "" @@ -16261,14 +16340,14 @@ msgstr "" #: ../misc/object-conditions/basics.rst:267 #: ../misc/object-conditions/basics.rst:278 #: ../misc/object-conditions/basics.rst:383 -#: ../misc/object-conditions/basics.rst:412 +#: ../misc/object-conditions/basics.rst:423 msgid "**is**" msgstr "" #: ../misc/object-conditions/basics.rst:268 #: ../misc/object-conditions/basics.rst:279 #: ../misc/object-conditions/basics.rst:384 -#: ../misc/object-conditions/basics.rst:413 +#: ../misc/object-conditions/basics.rst:424 msgid "**is not**" msgstr "" @@ -16516,7 +16595,7 @@ msgid "**contains all**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are selected." +msgid "Matches if **all** given field values are selected (AND logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16524,7 +16603,8 @@ msgid "**contains one**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is selected." +msgid "" +"Matches if **at least one** of the given field values is selected (OR logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16532,7 +16612,9 @@ msgid "**contains all not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are not selected." +msgid "" +"Matches if **not all** given field values are selected (at least one is " +"missing). This means \"not all of\", not \"none of\"." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16540,24 +16622,35 @@ msgid "**contains one not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is not selected." +msgid "" +"Matches if **none** of the given field values are selected. This means " +"\"none of\", not \"not all of\"." msgstr "" -#: ../misc/object-conditions/basics.rst:405 ../system/objects/types.rst:135 +#: ../misc/object-conditions/basics.rst:408 +msgid "" +"In :doc:`core workflows `, these operators have " +"different semantics. See :ref:`core workflow condition operators ` for details. Example scenarios for the " +"operators described here can be found in :ref:`multi-select-operator-" +"examples` below." +msgstr "" + +#: ../misc/object-conditions/basics.rst:416 ../system/objects/types.rst:135 msgid "Single Tree Selection Field" msgstr "" -#: ../misc/object-conditions/basics.rst:407 +#: ../misc/object-conditions/basics.rst:418 msgid "" "Checks if a selected field value match the attribute value. Selecting more " "than one value in the condition will act like an \"OR\" clause." msgstr "" -#: ../misc/object-conditions/basics.rst:417 ../system/objects/types.rst:148 +#: ../misc/object-conditions/basics.rst:428 ../system/objects/types.rst:148 msgid "Multiple Tree Selection Field" msgstr "" -#: ../misc/object-conditions/basics.rst:419 +#: ../misc/object-conditions/basics.rst:430 msgid "Checks if selected field value(s) match the attribute value(s)." msgstr "" @@ -16577,64 +16670,64 @@ msgstr "" msgid "**contains one not**" msgstr "" -#: ../misc/object-conditions/basics.rst:433 +#: ../misc/object-conditions/basics.rst:447 msgid "Additional Information and Remarks" msgstr "" -#: ../misc/object-conditions/basics.rst:442 +#: ../misc/object-conditions/basics.rst:456 msgid "Ticket context conditions do not support:" msgstr "" -#: ../misc/object-conditions/basics.rst:439 +#: ../misc/object-conditions/basics.rst:453 msgid "regular expressions" msgstr "" -#: ../misc/object-conditions/basics.rst:440 +#: ../misc/object-conditions/basics.rst:454 msgid "case sensitive string conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:441 +#: ../misc/object-conditions/basics.rst:455 msgid "" "Basic conditions do not support the same attribute to be selected more than " "once" msgstr "" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "**has changed** conditions:" msgstr "" -#: ../misc/object-conditions/basics.rst:445 +#: ../misc/object-conditions/basics.rst:459 msgid "Are only available for ticket attributes and don't affect:" msgstr "" -#: ../misc/object-conditions/basics.rst:447 +#: ../misc/object-conditions/basics.rst:461 msgid "Ticket articles attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:448 +#: ../misc/object-conditions/basics.rst:462 msgid "Organization attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:449 +#: ../misc/object-conditions/basics.rst:463 msgid "User attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "Group attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:463 +#: ../misc/object-conditions/basics.rst:477 msgid "Differences in input fields:" msgstr "" -#: ../misc/object-conditions/basics.rst:453 +#: ../misc/object-conditions/basics.rst:467 msgid "" "Please note that the input field for tokens doesn't support the comma as " "separator (as in the input field for tags). If you use the comma in the " "token input field, the comma is included in you token." msgstr "" -#: ../misc/object-conditions/basics.rst:457 +#: ../misc/object-conditions/basics.rst:471 msgid "**Example**:" msgstr "" @@ -16642,32 +16735,257 @@ msgstr "" msgid "Example of comma usage in token input field" msgstr "" -#: ../misc/object-conditions/basics.rst:462 +#: ../misc/object-conditions/basics.rst:476 msgid "" "``A`` added with enter/tab, ``B`` and ``C`` separated with comma (resulting " "in one token)." msgstr "" -#: ../misc/object-conditions/basics.rst:468 +#: ../misc/object-conditions/basics.rst:482 +msgid "Multi-Select Operator Examples" +msgstr "" + +#: ../misc/object-conditions/basics.rst:484 +msgid "" +"The ``contains`` family of operators for multi-select fields compares two " +"sets of values: the values currently in the field and the values specified " +"in the condition. The diagrams below show the condition values as an orange " +"circle and the field values as a blue circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:489 +msgid "" +"Be aware that these operators behave **differently** in :doc:`core workflows " +"`. See :ref:`core workflow condition operators ` for a side by side comparison." +msgstr "" + +#: ../misc/object-conditions/basics.rst:495 +#: ../system/core-workflows/condition-operators.rst:165 +msgid "Example 1: Condition A, B - Field A, B, C" +msgstr "" + +#: ../misc/object-conditions/basics.rst:497 +#: ../system/core-workflows/condition-operators.rst:167 +msgid "" +"In this scenario, the field holds the values A, B and C, while the condition " +"asks for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "" +"Venn diagram of condition values A, B and field values A, B, C. A and B are " +"in both circles, C only in the field circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "Condition values ``A, B`` overlap with field values ``A, B, C``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:510 +#: ../misc/object-conditions/basics.rst:544 +#: ../misc/object-conditions/basics.rst:581 +#: ../misc/object-conditions/basics.rst:613 +#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:141 +#: ../system/core-workflows/condition-operators.rst:180 +#: ../system/core-workflows/condition-operators.rst:220 +#: ../system/core-workflows/condition-operators.rst:263 +#: ../system/core-workflows/condition-operators.rst:303 +msgid "Operator" +msgstr "" + +#: ../misc/object-conditions/basics.rst:511 +#: ../misc/object-conditions/basics.rst:545 +#: ../misc/object-conditions/basics.rst:582 +#: ../misc/object-conditions/basics.rst:614 +#: ../system/core-workflows/condition-operators.rst:181 +#: ../system/core-workflows/condition-operators.rst:221 +#: ../system/core-workflows/condition-operators.rst:264 +#: ../system/core-workflows/condition-operators.rst:304 +msgid "Matches?" +msgstr "" + +#: ../misc/object-conditions/basics.rst:512 +#: ../misc/object-conditions/basics.rst:546 +#: ../misc/object-conditions/basics.rst:583 +#: ../misc/object-conditions/basics.rst:615 +#: ../system/core-workflows/condition-operators.rst:182 +#: ../system/core-workflows/condition-operators.rst:222 +#: ../system/core-workflows/condition-operators.rst:265 +#: ../system/core-workflows/condition-operators.rst:305 +msgid "Why" +msgstr "" + +#: ../misc/object-conditions/basics.rst:515 +#: ../system/core-workflows/condition-operators.rst:185 +msgid "``A`` and ``B`` are in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:518 +#: ../system/core-workflows/condition-operators.rst:191 +msgid "Both ``A`` and ``B`` are present (AND logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:521 +msgid "All condition values are present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:524 +msgid "The field has values in common with the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:527 +#: ../system/core-workflows/condition-operators.rst:203 +msgid "Example 2: Condition A, B, C - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:529 +#: ../system/core-workflows/condition-operators.rst:205 +msgid "" +"In this scenario, the field holds the values C and D. The condition value C " +"is present in the field, while A and B are not." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Venn diagram of condition values A, B, C and field values C, D.\n" +"Only C is in both circles." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Condition values ``A, B, C`` partially overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:549 +#: ../system/core-workflows/condition-operators.rst:225 +msgid "``C`` is in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:552 +#: ../system/core-workflows/condition-operators.rst:231 +msgid "Only ``C`` of the three condition values is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:555 +#: ../misc/object-conditions/basics.rst:592 +msgid "``A`` and ``B`` are missing from the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:558 +msgid "``C`` is in both the field and the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:560 +msgid "" +"This partial overlap is where the two \"not\" operators part ways: " +"``contains all not`` matches because a single condition value is missing, " +"while ``contains one not`` does not match because the one common value is " +"enough to block it." +msgstr "" + +#: ../misc/object-conditions/basics.rst:566 +#: ../system/core-workflows/condition-operators.rst:248 +msgid "Example 3: Condition A, B - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:568 +#: ../system/core-workflows/condition-operators.rst:250 +msgid "" +"In this scenario, the field holds the values C and D, which have nothing in " +"common with the condition values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "" +"Venn diagram of condition values A, B and field values C, D. The two circles " +"do not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "Condition values ``A, B`` have no overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:586 +#: ../system/core-workflows/condition-operators.rst:268 +msgid "No value is in both sets." +msgstr "" + +#: ../misc/object-conditions/basics.rst:589 +#: ../system/core-workflows/condition-operators.rst:274 +msgid "Neither ``A`` nor ``B`` is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:595 +#: ../misc/object-conditions/basics.rst:627 +#: ../system/core-workflows/condition-operators.rst:159 +#: ../system/core-workflows/condition-operators.rst:161 +#: ../system/core-workflows/condition-operators.rst:283 +msgid "The field has no value in common with the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:598 +#: ../system/core-workflows/condition-operators.rst:288 +msgid "Example 4: Condition A, B - Field is empty" +msgstr "" + +#: ../misc/object-conditions/basics.rst:600 +#: ../system/core-workflows/condition-operators.rst:290 +msgid "" +"In this scenario, the field holds no values at all, while the condition asks " +"for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "" +"Venn diagram of condition values A, B and an empty field. The two circles do " +"not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "The field holds no values at all." +msgstr "" + +#: ../misc/object-conditions/basics.rst:618 +#: ../misc/object-conditions/basics.rst:621 +#: ../system/core-workflows/condition-operators.rst:308 +#: ../system/core-workflows/condition-operators.rst:314 +msgid "No value is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:624 +msgid "No condition value is present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:632 msgid "Regex" msgstr "" -#: ../misc/object-conditions/basics.rst:473 +#: ../misc/object-conditions/basics.rst:637 msgid "Regex support" msgstr "" -#: ../misc/object-conditions/basics.rst:471 +#: ../misc/object-conditions/basics.rst:635 msgid "" "**matches regex** and **does not match regex** are supported only in " "Triggers, Time Accounting selector, Postmaster Filters, Automatic ticket " "assignment and Core Workflow." msgstr "" -#: ../misc/object-conditions/basics.rst:478 +#: ../misc/object-conditions/basics.rst:642 msgid "\"Old\" style ``regex:...`` conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:476 +#: ../misc/object-conditions/basics.rst:640 msgid "" "If you update your Zammad from 6.0 or prior and you have already conditions " "with **contains** or **contains not** including a regex filter (i.e. " @@ -22864,9 +23182,9 @@ msgstr "" #: ../system/core-workflows/condition-operators.rst:8 msgid "" -"Due to differences to other places in Zammad which are also using conditions " -"(e.g. triggers), you can find a dedicated description of operators for core " -"workflows below." +"Due to differences from other places in Zammad which are also using " +"conditions (e.g. triggers), you can find a dedicated description of " +"operators for core workflows below." msgstr "" #: ../system/core-workflows/condition-operators.rst:12 @@ -22876,272 +23194,419 @@ msgid "" "for system attributes (e.g. for \"tags\", \"active\")." msgstr "" -#: ../system/core-workflows/condition-operators.rst:20 -msgid "Operator" -msgstr "" - -#: ../system/core-workflows/condition-operators.rst:22 +#: ../system/core-workflows/condition-operators.rst:23 msgid "after (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:23 +#: ../system/core-workflows/condition-operators.rst:24 msgid "Matches if a date/time is after a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:24 +#: ../system/core-workflows/condition-operators.rst:25 msgid "after (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:25 +#: ../system/core-workflows/condition-operators.rst:26 msgid "Matches if a time span after a specified event has passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:26 +#: ../system/core-workflows/condition-operators.rst:27 msgid "before (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:27 +#: ../system/core-workflows/condition-operators.rst:28 msgid "Matches if a date/time is before a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:28 +#: ../system/core-workflows/condition-operators.rst:29 msgid "before (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:29 +#: ../system/core-workflows/condition-operators.rst:30 msgid "Matches if a time span after a specified event has not passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:30 +#: ../system/core-workflows/condition-operators.rst:31 +#: ../system/core-workflows/condition-operators.rst:144 +#: ../system/core-workflows/condition-operators.rst:183 +#: ../system/core-workflows/condition-operators.rst:223 +#: ../system/core-workflows/condition-operators.rst:266 +#: ../system/core-workflows/condition-operators.rst:306 msgid "contains" msgstr "" -#: ../system/core-workflows/condition-operators.rst:31 -msgid "Matches if a specified value is present." +#: ../system/core-workflows/condition-operators.rst:32 +msgid "" +"Matches if **at least one** of the specified values is present in the field " +"(OR logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:33 -msgid "Matches if all of the specified values are present." +#: ../system/core-workflows/condition-operators.rst:34 +#: ../system/core-workflows/condition-operators.rst:153 +#: ../system/core-workflows/condition-operators.rst:192 +#: ../system/core-workflows/condition-operators.rst:232 +#: ../system/core-workflows/condition-operators.rst:275 +#: ../system/core-workflows/condition-operators.rst:315 +msgid "contains not" msgstr "" #: ../system/core-workflows/condition-operators.rst:35 -msgid "Matches if none of the specified values are present." +msgid "" +"Matches if the field contains at least one value that is **not** among the " +"specified values. Also matches if the field is empty." msgstr "" -#: ../system/core-workflows/condition-operators.rst:36 -msgid "contains not" +#: ../system/core-workflows/condition-operators.rst:39 +msgid "" +"Matches if **every** specified value is present in the field (AND logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:37 -msgid "Matches if a specified value is not present." +#: ../system/core-workflows/condition-operators.rst:42 +msgid "" +"Matches if **none** of the specified values are present in the field. The " +"field and the condition have no value in common: this means \"contains none " +"of\", not \"does not contain all of\"." msgstr "" -#: ../system/core-workflows/condition-operators.rst:39 -msgid "Matches if one specified value is present." +#: ../system/core-workflows/condition-operators.rst:46 +msgid "" +"In triggers and overviews, this operator means \"not all of the specified " +"values are present\" instead. See the examples section below." msgstr "" -#: ../system/core-workflows/condition-operators.rst:41 -msgid "Matches if one specified value is not present." +#: ../system/core-workflows/condition-operators.rst:50 +msgid "" +"Same as ``contains``. Matches if **at least one** of the specified values is " +"present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:42 +#: ../system/core-workflows/condition-operators.rst:53 +msgid "" +"Same as ``contains not``. Matches if the field contains at least one value " +"that is **not** among the specified values." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:56 msgid "does not match regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:43 +#: ../system/core-workflows/condition-operators.rst:57 msgid "Matches if content doesn't fit to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:44 +#: ../system/core-workflows/condition-operators.rst:58 msgid "ends with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:45 +#: ../system/core-workflows/condition-operators.rst:59 msgid "Matches if content ends with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:46 +#: ../system/core-workflows/condition-operators.rst:60 msgid "ends with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:47 +#: ../system/core-workflows/condition-operators.rst:61 msgid "Matches if content ends with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:48 +#: ../system/core-workflows/condition-operators.rst:62 msgid "from (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:63 msgid "Matches if date/time is after a period of time after an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:51 +#: ../system/core-workflows/condition-operators.rst:65 msgid "Matches if content is equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:66 msgid "is any of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:53 +#: ../system/core-workflows/condition-operators.rst:67 msgid "Matches if content is equal to any of specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:54 +#: ../system/core-workflows/condition-operators.rst:68 msgid "is greater than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:55 +#: ../system/core-workflows/condition-operators.rst:69 msgid "Matches if the value is greater than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:56 +#: ../system/core-workflows/condition-operators.rst:70 msgid "is greater than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:57 +#: ../system/core-workflows/condition-operators.rst:71 msgid "Matches if the value is greater than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:58 +#: ../system/core-workflows/condition-operators.rst:72 msgid "is less than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:59 +#: ../system/core-workflows/condition-operators.rst:73 msgid "Matches if the value is less than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:60 +#: ../system/core-workflows/condition-operators.rst:74 msgid "is less than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:61 +#: ../system/core-workflows/condition-operators.rst:75 msgid "Matches if the value is less than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:62 +#: ../system/core-workflows/condition-operators.rst:76 msgid "is modified" msgstr "" -#: ../system/core-workflows/condition-operators.rst:63 +#: ../system/core-workflows/condition-operators.rst:77 msgid "Matches if content is modified." msgstr "" -#: ../system/core-workflows/condition-operators.rst:65 -#: ../system/core-workflows/condition-operators.rst:69 +#: ../system/core-workflows/condition-operators.rst:79 +#: ../system/core-workflows/condition-operators.rst:83 msgid "True from the moment of changing content until form submit." msgstr "" -#: ../system/core-workflows/condition-operators.rst:66 +#: ../system/core-workflows/condition-operators.rst:80 msgid "is modified to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:67 +#: ../system/core-workflows/condition-operators.rst:81 msgid "Matches if content is modified to a specific value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:70 +#: ../system/core-workflows/condition-operators.rst:84 msgid "is none of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:71 +#: ../system/core-workflows/condition-operators.rst:85 msgid "Matches if content is none of any specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:73 +#: ../system/core-workflows/condition-operators.rst:87 msgid "Matches if content is not equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:75 +#: ../system/core-workflows/condition-operators.rst:89 msgid "Matches if content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:76 +#: ../system/core-workflows/condition-operators.rst:90 msgid "just changed" msgstr "" -#: ../system/core-workflows/condition-operators.rst:77 +#: ../system/core-workflows/condition-operators.rst:91 msgid "Matches if content has changed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:79 -#: ../system/core-workflows/condition-operators.rst:83 +#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:97 msgid "" "Only true for the moment of changing content until next form field action/" "click." msgstr "" -#: ../system/core-workflows/condition-operators.rst:80 +#: ../system/core-workflows/condition-operators.rst:94 msgid "just changed to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:81 +#: ../system/core-workflows/condition-operators.rst:95 msgid "Matches if content has changed to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:84 +#: ../system/core-workflows/condition-operators.rst:98 msgid "matches regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:85 +#: ../system/core-workflows/condition-operators.rst:99 msgid "Matches if value fits to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:87 +#: ../system/core-workflows/condition-operators.rst:101 msgid "Matches if no content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:88 +#: ../system/core-workflows/condition-operators.rst:102 msgid "starts with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:89 +#: ../system/core-workflows/condition-operators.rst:103 msgid "Matches if content starts with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:90 +#: ../system/core-workflows/condition-operators.rst:104 msgid "starts with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:91 +#: ../system/core-workflows/condition-operators.rst:105 msgid "Matches if content starts with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:92 +#: ../system/core-workflows/condition-operators.rst:106 msgid "till (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:107 msgid "Matches if date/time is before a period of time before an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:94 +#: ../system/core-workflows/condition-operators.rst:108 msgid "today" msgstr "" -#: ../system/core-workflows/condition-operators.rst:95 +#: ../system/core-workflows/condition-operators.rst:109 msgid "Matches if date/time is today." msgstr "" -#: ../system/core-workflows/condition-operators.rst:96 +#: ../system/core-workflows/condition-operators.rst:110 msgid "within last (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:97 +#: ../system/core-workflows/condition-operators.rst:111 msgid "" "Matches if date/time content is within specified period of time before now." msgstr "" -#: ../system/core-workflows/condition-operators.rst:99 +#: ../system/core-workflows/condition-operators.rst:113 msgid "within next (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:100 +#: ../system/core-workflows/condition-operators.rst:114 msgid "" "Matches if date/time content is within specified period of time after now." msgstr "" +#: ../system/core-workflows/condition-operators.rst:118 +msgid "Multi-Select Operators" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:120 +msgid "" +"The ``contains`` family of operators compares two sets of values: the values " +"currently in the field and the values specified in the condition. The " +"diagrams below show the condition values as an orange circle and the field " +"values as a blue circle." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:128 +msgid "Differences to Triggers and Overviews" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:130 +msgid "" +"Be aware that these operators behave **differently** in other features that " +"use conditions (e.g. triggers and overviews). The most confusing difference: " +"in core workflows, ``contains all not`` means that no value matches at all, " +"while in triggers and overviews it means \"not all values are present\". The " +"table below compares both worlds side by side." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:142 +msgid "Core workflows (this page)" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:143 +msgid "Triggers, overviews, etc." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:145 +#: ../system/core-workflows/condition-operators.rst:149 +msgid "At least one value is present (OR logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:146 +msgid "Not available; ``contains one`` is the equivalent." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:148 +#: ../system/core-workflows/condition-operators.rst:188 +#: ../system/core-workflows/condition-operators.rst:228 +#: ../system/core-workflows/condition-operators.rst:271 +#: ../system/core-workflows/condition-operators.rst:311 +msgid "Same as ``contains``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:151 +#: ../system/core-workflows/condition-operators.rst:152 +msgid "Every value is present (AND logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:154 +msgid "" +"At least one field value is outside the condition, or the field is empty." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:156 +msgid "Not available for multi-select fields." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:158 +#: ../system/core-workflows/condition-operators.rst:197 +#: ../system/core-workflows/condition-operators.rst:237 +#: ../system/core-workflows/condition-operators.rst:280 +#: ../system/core-workflows/condition-operators.rst:320 +msgid "Same as ``contains not``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:162 +msgid "Not all values are present (at least one is missing)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:194 +msgid "``C`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:200 +msgid "``A`` and ``B`` are present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:234 +msgid "``D`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:240 +msgid "``C`` is present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:242 +msgid "" +"This partial overlap is where the two \"all\" operators part ways: " +"``contains all`` fails because one condition value is missing, while " +"``contains all not`` fails because a single common value is enough to block " +"it." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:277 +msgid "``C`` and ``D`` are not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:285 +msgid "This is the only example where ``contains all not`` matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:317 +msgid "An empty field matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:323 +msgid "An empty field has no value in common with the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:325 +msgid "" +"Note that ``contains not`` and ``contains one not`` match an empty field, " +"while ``contains`` and ``contains all`` do not. If you want to exclude " +"specific values, be aware that empty fields pass the condition." +msgstr "" + #: ../system/core-workflows/how-do-they-work.rst:2 msgid "How do they work?" msgstr "" diff --git a/locale/tr/LC_MESSAGES/admin-docs.po b/locale/tr/LC_MESSAGES/admin-docs.po index b17c2c3cc..88ea04e6d 100644 --- a/locale/tr/LC_MESSAGES/admin-docs.po +++ b/locale/tr/LC_MESSAGES/admin-docs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Zammad\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-24 17:19+0200\n" +"POT-Creation-Date: 2026-08-28 15:08+0200\n" "PO-Revision-Date: 2026-07-29 08:08+0000\n" "Last-Translator: Rob \n" "Language-Team: Turkish ` and consider switching your plan. When a " @@ -1191,17 +1192,17 @@ msgid "" "alerted when few calls remain." msgstr "" -#: ../ai/provider.rst:288 +#: ../ai/provider.rst:289 msgid "" "On SaaS, the Zammad AI provider is provisioned by the platform and you " "cannot delete it or change its type." msgstr "" -#: ../ai/provider.rst:295 +#: ../ai/provider.rst:296 msgid "Self-Hosted Customers" msgstr "" -#: ../ai/provider.rst:292 +#: ../ai/provider.rst:293 msgid "" "Get in touch with our `sales department `_ to obtain a Zammad AI API key and to buy AI calls. After " @@ -1209,14 +1210,14 @@ msgid "" "key." msgstr "" -#: ../ai/provider.rst:300 +#: ../ai/provider.rst:301 msgid "" "`Ollama `_ lets you run your own AI server on a machine " "you control, so your data is not transferred to a third party. This approach " "only makes sense if you have a powerful GPU in your system!" msgstr "" -#: ../ai/provider.rst:304 +#: ../ai/provider.rst:305 msgid "" "If you don't have Ollama running yet, their `documentation `_ is a good starting point. Available models are listed in " @@ -4426,7 +4427,7 @@ msgstr "" msgid "Signatures" msgstr "İmzalar" -#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:436 +#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:450 #: ../system/monitoring.rst:9 msgid "General" msgstr "" @@ -5214,7 +5215,7 @@ msgstr "Varsayılan değer" #: ../channels/form.rst:250 ../manage/public-links.rst:43 #: ../misc/object-conditions/basics.rst:63 ../misc/variables.rst:101 -#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:22 #: ../system/objects/permissions.rst:36 ../system/subscription.rst:196 msgid "Description" msgstr "Açıklama" @@ -9187,6 +9188,29 @@ msgstr "" #: ../manage/groups/settings.rst:42 ../manage/groups/settings.rst:63 #: ../misc/object-conditions/basics.rst:121 #: ../misc/object-conditions/basics.rst:136 +#: ../misc/object-conditions/basics.rst:514 +#: ../misc/object-conditions/basics.rst:517 +#: ../misc/object-conditions/basics.rst:548 +#: ../misc/object-conditions/basics.rst:554 +#: ../misc/object-conditions/basics.rst:591 +#: ../misc/object-conditions/basics.rst:594 +#: ../misc/object-conditions/basics.rst:623 +#: ../misc/object-conditions/basics.rst:626 +#: ../system/core-workflows/condition-operators.rst:184 +#: ../system/core-workflows/condition-operators.rst:187 +#: ../system/core-workflows/condition-operators.rst:190 +#: ../system/core-workflows/condition-operators.rst:193 +#: ../system/core-workflows/condition-operators.rst:196 +#: ../system/core-workflows/condition-operators.rst:224 +#: ../system/core-workflows/condition-operators.rst:227 +#: ../system/core-workflows/condition-operators.rst:233 +#: ../system/core-workflows/condition-operators.rst:236 +#: ../system/core-workflows/condition-operators.rst:276 +#: ../system/core-workflows/condition-operators.rst:279 +#: ../system/core-workflows/condition-operators.rst:282 +#: ../system/core-workflows/condition-operators.rst:316 +#: ../system/core-workflows/condition-operators.rst:319 +#: ../system/core-workflows/condition-operators.rst:322 #, fuzzy msgid "yes" msgstr "Evet" @@ -9247,6 +9271,23 @@ msgstr "*evet*: bilet yeniden açılacak." #: ../manage/groups/settings.rst:66 ../misc/object-conditions/basics.rst:122 #: ../misc/object-conditions/basics.rst:137 +#: ../misc/object-conditions/basics.rst:520 +#: ../misc/object-conditions/basics.rst:523 +#: ../misc/object-conditions/basics.rst:551 +#: ../misc/object-conditions/basics.rst:557 +#: ../misc/object-conditions/basics.rst:585 +#: ../misc/object-conditions/basics.rst:588 +#: ../misc/object-conditions/basics.rst:617 +#: ../misc/object-conditions/basics.rst:620 +#: ../system/core-workflows/condition-operators.rst:199 +#: ../system/core-workflows/condition-operators.rst:230 +#: ../system/core-workflows/condition-operators.rst:239 +#: ../system/core-workflows/condition-operators.rst:267 +#: ../system/core-workflows/condition-operators.rst:270 +#: ../system/core-workflows/condition-operators.rst:273 +#: ../system/core-workflows/condition-operators.rst:307 +#: ../system/core-workflows/condition-operators.rst:310 +#: ../system/core-workflows/condition-operators.rst:313 #, fuzzy msgid "no" msgstr "not" @@ -9665,7 +9706,7 @@ msgid "" msgstr "" #: ../manage/knowledge-base.rst:136 ../manage/public-links.rst:35 -#: ../manage/time-accounting.rst:147 ../manage/time-accounting.rst:161 +#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 #: ../system/maintenance.rst:31 #, fuzzy msgid "Title" @@ -13166,16 +13207,18 @@ msgstr "" #: ../manage/time-accounting.rst:22 msgid "" "If a ticket is relevant, Zammad will request the agent to provide the time " -"which was needed to process the current ticket step. In order for Zammad to " -"bring up the time accounting dialog to an agent, the agent has to update the " -"ticket together with an article of any type. The adding of an article is " -"mandatory to invoke the time accounting dialog. However, the time accounting " -"dialog is not mandatory and can be canceled by your agents. You cannot " -"enforce the time accounting. When a ticket is no longer considered for the " -"time accounting, the already accounted time will be preserved." +"which was needed to process the current ticket step. This accounted time is " +"displayed in the ticket sidebar at ticket level and in the article meta " +"information for an individual article. In order for Zammad to bring up the " +"time accounting dialog to an agent, the agent has to update the ticket " +"together with an article of any type. The adding of an article is mandatory " +"to invoke the time accounting dialog. However, the time accounting dialog is " +"not mandatory and can be canceled by your agents. You cannot enforce the " +"time accounting. When a ticket is no longer considered for the time " +"accounting, the already accounted time will be preserved." msgstr "" -#: ../manage/time-accounting.rst:33 +#: ../manage/time-accounting.rst:35 msgid "" "The selector applies to the ticket state before any attribute changes have " "been saved. That means if your agent is e.g. going to close a ticket " @@ -13188,50 +13231,50 @@ msgstr "" msgid "Time Accounting Ticket Selector" msgstr "Bilet > Başlık" -#: ../manage/time-accounting.rst:42 +#: ../manage/time-accounting.rst:44 msgid "" "The accounted time is always a unitless number. However, it is possible to " "show a specific unit in the **Unit** section, which provides several options:" msgstr "" -#: ../manage/time-accounting.rst:46 +#: ../manage/time-accounting.rst:48 msgid "no unit" msgstr "" -#: ../manage/time-accounting.rst:47 +#: ../manage/time-accounting.rst:49 msgid "Default behavior, no unit is shown next to the time value." msgstr "" -#: ../manage/time-accounting.rst:48 +#: ../manage/time-accounting.rst:50 msgid "hour(s)" msgstr "" -#: ../manage/time-accounting.rst:49 +#: ../manage/time-accounting.rst:51 msgid "Shows ``hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:50 +#: ../manage/time-accounting.rst:52 msgid "quarter-hour(s)" msgstr "" -#: ../manage/time-accounting.rst:51 +#: ../manage/time-accounting.rst:53 msgid "Shows ``quarter-hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:52 +#: ../manage/time-accounting.rst:54 msgid "minute(s)" msgstr "" -#: ../manage/time-accounting.rst:53 +#: ../manage/time-accounting.rst:55 msgid "Shows ``minute(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 #, fuzzy msgid "custom unit" msgstr "müşteri" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "Shows a custom unit that can be specified as free input." msgstr "" @@ -13240,7 +13283,7 @@ msgstr "" msgid "Time Accounting Unit" msgstr "Zaman Hesaplama" -#: ../manage/time-accounting.rst:62 +#: ../manage/time-accounting.rst:64 msgid "" "The unit is only displayed to make it easier for agents to account their " "time! No numerical transformation will be applied to the values, not even if " @@ -13253,12 +13296,12 @@ msgstr "" msgid "Time Accounting Unit when Recording" msgstr "Bilet > Başlık" -#: ../manage/time-accounting.rst:72 +#: ../manage/time-accounting.rst:74 #, fuzzy msgid "Activity Types" msgstr "Aktif" -#: ../manage/time-accounting.rst:74 +#: ../manage/time-accounting.rst:76 msgid "" "**Activity Types** can be used to group the different ticket time accounting " "entries together. For example, entries that are relevant to a \"Billing\" " @@ -13270,7 +13313,7 @@ msgstr "" msgid "Time Accounting Activity Types" msgstr "Bilet > Başlık" -#: ../manage/time-accounting.rst:81 +#: ../manage/time-accounting.rst:83 msgid "" "When you enable the recording of the **Activity Type**, the agents will be " "able to select a type from this list." @@ -13281,13 +13324,13 @@ msgstr "" msgid "Time Accounting Activity Type Selection for Agents" msgstr "Bilet > Başlık" -#: ../manage/time-accounting.rst:88 +#: ../manage/time-accounting.rst:90 msgid "" "Additionally, a column with an associated activity type will be rendered for " "an entry in the **Activity** table under the **Accounted Time** tab." msgstr "" -#: ../manage/time-accounting.rst:91 +#: ../manage/time-accounting.rst:93 msgid "" "You can manage available activity types in this screen like any other Zammad " "object. Only active types will be available for the selection when recording " @@ -13300,7 +13343,7 @@ msgstr "" msgid "New Time Accounting Activity Type Dialog" msgstr "Bilet > Başlık" -#: ../manage/time-accounting.rst:100 +#: ../manage/time-accounting.rst:102 msgid "" "Activity types can be set as default, and in that case they will be pre-" "selected for the agents when they are asked to account their time. It is " @@ -13308,30 +13351,30 @@ msgid "" "pre-selected and the agents can make their choice." msgstr "" -#: ../manage/time-accounting.rst:106 +#: ../manage/time-accounting.rst:108 #, fuzzy msgid "Accounted Time" msgstr "Bilet > Hesaplanan Zaman" -#: ../manage/time-accounting.rst:108 +#: ../manage/time-accounting.rst:110 msgid "" "Under the **Accounted Time** tab, Zammad provides a section for reviewing " "all accounted times for your tickets. Accounted times are displayed per " "years and months." msgstr "" -#: ../manage/time-accounting.rst:112 +#: ../manage/time-accounting.rst:114 msgid "" "If you have tickets that are overlapping several months, you can " "differentiate by *time units* and *time units total* (e.g. to allow partial " "billing) in the downloaded file." msgstr "" -#: ../manage/time-accounting.rst:123 +#: ../manage/time-accounting.rst:125 msgid "Select the right month" msgstr "" -#: ../manage/time-accounting.rst:117 +#: ../manage/time-accounting.rst:119 msgid "" "Usually you want to bill accounted time of other months than the current " "one. Just select the relevant year and month to receive the accounted times " @@ -13342,60 +13385,60 @@ msgstr "" msgid "Screenshot showing a selection for year and month on time accounting" msgstr "" -#: ../manage/time-accounting.rst:186 +#: ../manage/time-accounting.rst:188 #, fuzzy msgid "Tickets and their accounted time" msgstr "Bilet > Hesaplanan Zaman" -#: ../manage/time-accounting.rst:126 +#: ../manage/time-accounting.rst:128 msgid "" "Zammad allows you to receive the accounted information just like you need " "them. For this you currently have four options to review and also download " "the relevant data as CSV." msgstr "" -#: ../manage/time-accounting.rst:130 +#: ../manage/time-accounting.rst:132 msgid "" "To download the CSV data, use the download button right next to each heading " "(e.g. \"Ticket\")." msgstr "" -#: ../manage/time-accounting.rst:133 +#: ../manage/time-accounting.rst:135 #, fuzzy msgid "This can also be automated with API calls." msgstr "Elbette çok satırlı kod parçacıkları da kullanabilirsiniz." -#: ../manage/time-accounting.rst:136 +#: ../manage/time-accounting.rst:138 msgid "" "Only the first 20 entries are shown for each table. To see all of them, " "simply download the records in CSV." msgstr "" -#: ../manage/time-accounting.rst:153 +#: ../manage/time-accounting.rst:155 #, fuzzy msgid "Activity" msgstr "Aktif" -#: ../manage/time-accounting.rst:140 +#: ../manage/time-accounting.rst:142 msgid "" "This filter works similar to the ticket filter, with one exception: You'll " "find each *individual* time accounting step of your agents. This is what " "you'd also see in the ticket's history before Zammad 5.2." msgstr "" -#: ../manage/time-accounting.rst:144 ../manage/time-accounting.rst:158 -#: ../manage/time-accounting.rst:175 +#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:177 #, fuzzy msgid "In this list you'll see the following ticket information:" msgstr "Bu bölümde şu anda aşağıdaki entegrasyonlar eksik:" -#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 #: ../settings/ticket.rst:103 msgid "Number" msgstr "Numara" -#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 -#: ../manage/time-accounting.rst:179 ../manage/time-accounting.rst:177 +#: ../manage/time-accounting.rst:150 ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:181 ../manage/time-accounting.rst:179 #: ../misc/object-conditions/basics.rst:37 #: ../misc/object-conditions/basics.rst:89 #: ../misc/object-conditions/basics.rst:171 @@ -13403,30 +13446,30 @@ msgstr "Numara" msgid "Customer" msgstr "müşteri" -#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 -#: ../manage/time-accounting.rst:178 +#: ../manage/time-accounting.rst:151 ../manage/time-accounting.rst:165 +#: ../manage/time-accounting.rst:180 msgid "Organization of customer (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:150 +#: ../manage/time-accounting.rst:152 #, fuzzy msgid "Agent that accounted the time" msgstr "Bilet > Hesaplanan Zaman" -#: ../manage/time-accounting.rst:151 +#: ../manage/time-accounting.rst:153 msgid "Time units accounted in the current activity" msgstr "" -#: ../manage/time-accounting.rst:152 +#: ../manage/time-accounting.rst:154 msgid "Activity type (if enabled)" msgstr "" -#: ../manage/time-accounting.rst:153 ../manage/time-accounting.rst:167 +#: ../manage/time-accounting.rst:155 ../manage/time-accounting.rst:169 #: ../system/audit-logs.rst:76 msgid "Created at" msgstr "Oluşturulma" -#: ../manage/time-accounting.rst:168 ../misc/object-conditions/basics.rst:26 +#: ../manage/time-accounting.rst:170 ../misc/object-conditions/basics.rst:26 #: ../misc/object-conditions/basics.rst:90 #: ../misc/object-conditions/basics.rst:126 #: ../misc/object-conditions/basics.rst:139 @@ -13442,39 +13485,39 @@ msgstr "Oluşturulma" msgid "Ticket" msgstr "Bilet" -#: ../manage/time-accounting.rst:156 +#: ../manage/time-accounting.rst:158 msgid "This filter contains all relevant tickets from the selected month." msgstr "" -#: ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:166 msgid "Agent currently assigned (ticket owner)" msgstr "" -#: ../manage/time-accounting.rst:165 ../manage/time-accounting.rst:179 +#: ../manage/time-accounting.rst:167 ../manage/time-accounting.rst:181 msgid "Time units accounted in the current month" msgstr "" -#: ../manage/time-accounting.rst:166 +#: ../manage/time-accounting.rst:168 msgid "Time units total (time accounted during ticket life)" msgstr "" -#: ../manage/time-accounting.rst:168 +#: ../manage/time-accounting.rst:170 msgid "Closed at (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:171 +#: ../manage/time-accounting.rst:173 msgid "" "This provides you a per user filter on accounted time units. Each user has a " "total of time accounted in the current month (over all applicable tickets)." msgstr "" -#: ../manage/time-accounting.rst:186 ../misc/object-conditions/basics.rst:28 +#: ../manage/time-accounting.rst:188 ../misc/object-conditions/basics.rst:28 #: ../misc/object-conditions/basics.rst:115 #: ../misc/object-conditions/basics.rst:146 ../settings/branding.rst:16 msgid "Organization" msgstr "" -#: ../manage/time-accounting.rst:182 +#: ../manage/time-accounting.rst:184 #, fuzzy msgid "" "This provides a list of all organizations where customers have caused " @@ -13483,7 +13526,7 @@ msgstr "" "Bu örnek, geçen ay oluşturulan \"Mükemmel Müşteri\" kuruluşunun tüm " "biletlerinin istatistiklerini gösterir." -#: ../manage/time-accounting.rst:185 +#: ../manage/time-accounting.rst:187 msgid "" "You can also see entries for customers that are part of a primary " "organization. Users without an organization can be found in the Customer " @@ -16770,7 +16813,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:185 #: ../misc/object-conditions/basics.rst:209 #: ../misc/object-conditions/basics.rst:219 -#: ../system/core-workflows/condition-operators.rst:50 +#: ../system/core-workflows/condition-operators.rst:64 #, fuzzy msgid "is" msgstr "Diğer" @@ -16788,7 +16831,7 @@ msgstr "Diğer" #: ../misc/object-conditions/basics.rst:186 #: ../misc/object-conditions/basics.rst:210 #: ../misc/object-conditions/basics.rst:220 -#: ../system/core-workflows/condition-operators.rst:72 +#: ../system/core-workflows/condition-operators.rst:86 msgid "is not" msgstr "" @@ -16867,7 +16910,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:97 #: ../misc/object-conditions/basics.rst:155 #: ../misc/object-conditions/basics.rst:204 -#: ../system/core-workflows/condition-operators.rst:86 +#: ../system/core-workflows/condition-operators.rst:100 msgid "not set" msgstr "" @@ -17043,22 +17086,58 @@ msgid "Checks tags of a ticket." msgstr "Bir bilet oluşturma" #: ../misc/object-conditions/basics.rst:193 -#: ../system/core-workflows/condition-operators.rst:32 +#: ../misc/object-conditions/basics.rst:516 +#: ../misc/object-conditions/basics.rst:550 +#: ../misc/object-conditions/basics.rst:587 +#: ../misc/object-conditions/basics.rst:619 +#: ../system/core-workflows/condition-operators.rst:38 +#: ../system/core-workflows/condition-operators.rst:150 +#: ../system/core-workflows/condition-operators.rst:189 +#: ../system/core-workflows/condition-operators.rst:229 +#: ../system/core-workflows/condition-operators.rst:272 +#: ../system/core-workflows/condition-operators.rst:312 msgid "contains all" msgstr "" #: ../misc/object-conditions/basics.rst:194 -#: ../system/core-workflows/condition-operators.rst:38 +#: ../misc/object-conditions/basics.rst:513 +#: ../misc/object-conditions/basics.rst:547 +#: ../misc/object-conditions/basics.rst:584 +#: ../misc/object-conditions/basics.rst:616 +#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:147 +#: ../system/core-workflows/condition-operators.rst:186 +#: ../system/core-workflows/condition-operators.rst:226 +#: ../system/core-workflows/condition-operators.rst:269 +#: ../system/core-workflows/condition-operators.rst:309 msgid "contains one" msgstr "" #: ../misc/object-conditions/basics.rst:195 -#: ../system/core-workflows/condition-operators.rst:34 +#: ../misc/object-conditions/basics.rst:519 +#: ../misc/object-conditions/basics.rst:553 +#: ../misc/object-conditions/basics.rst:590 +#: ../misc/object-conditions/basics.rst:622 +#: ../system/core-workflows/condition-operators.rst:41 +#: ../system/core-workflows/condition-operators.rst:160 +#: ../system/core-workflows/condition-operators.rst:198 +#: ../system/core-workflows/condition-operators.rst:238 +#: ../system/core-workflows/condition-operators.rst:281 +#: ../system/core-workflows/condition-operators.rst:321 msgid "contains all not" msgstr "" #: ../misc/object-conditions/basics.rst:196 -#: ../system/core-workflows/condition-operators.rst:40 +#: ../misc/object-conditions/basics.rst:522 +#: ../misc/object-conditions/basics.rst:556 +#: ../misc/object-conditions/basics.rst:593 +#: ../misc/object-conditions/basics.rst:625 +#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:157 +#: ../system/core-workflows/condition-operators.rst:195 +#: ../system/core-workflows/condition-operators.rst:235 +#: ../system/core-workflows/condition-operators.rst:278 +#: ../system/core-workflows/condition-operators.rst:318 msgid "contains one not" msgstr "" @@ -17082,7 +17161,7 @@ msgid "Checks if time is accounted." msgstr "Bilet > Hesaplanan Zaman" #: ../misc/object-conditions/basics.rst:203 -#: ../system/core-workflows/condition-operators.rst:74 +#: ../system/core-workflows/condition-operators.rst:88 msgid "is set" msgstr "" @@ -17146,8 +17225,8 @@ msgstr "" #: ../misc/object-conditions/basics.rst:334 #: ../misc/object-conditions/basics.rst:381 #: ../misc/object-conditions/basics.rst:392 -#: ../misc/object-conditions/basics.rst:410 #: ../misc/object-conditions/basics.rst:421 +#: ../misc/object-conditions/basics.rst:432 #, fuzzy msgid "Available operators for matching:" msgstr "Posta Sunucusu Ayarları" @@ -17238,7 +17317,7 @@ msgstr "İletişim" #: ../misc/object-conditions/basics.rst:269 #: ../misc/object-conditions/basics.rst:284 #: ../misc/object-conditions/basics.rst:385 -#: ../misc/object-conditions/basics.rst:414 +#: ../misc/object-conditions/basics.rst:425 #, fuzzy msgid "**has changed**" msgstr "Exchange" @@ -17255,14 +17334,14 @@ msgstr "" #: ../misc/object-conditions/basics.rst:267 #: ../misc/object-conditions/basics.rst:278 #: ../misc/object-conditions/basics.rst:383 -#: ../misc/object-conditions/basics.rst:412 +#: ../misc/object-conditions/basics.rst:423 msgid "**is**" msgstr "" #: ../misc/object-conditions/basics.rst:268 #: ../misc/object-conditions/basics.rst:279 #: ../misc/object-conditions/basics.rst:384 -#: ../misc/object-conditions/basics.rst:413 +#: ../misc/object-conditions/basics.rst:424 msgid "**is not**" msgstr "" @@ -17519,7 +17598,7 @@ msgid "**contains all**:" msgstr "İletişim" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are selected." +msgid "Matches if **all** given field values are selected (AND logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -17528,7 +17607,8 @@ msgid "**contains one**:" msgstr "İletişim" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is selected." +msgid "" +"Matches if **at least one** of the given field values is selected (OR logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -17536,7 +17616,9 @@ msgid "**contains all not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are not selected." +msgid "" +"Matches if **not all** given field values are selected (at least one is " +"missing). This means \"not all of\", not \"none of\"." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -17544,26 +17626,37 @@ msgid "**contains one not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is not selected." +msgid "" +"Matches if **none** of the given field values are selected. This means " +"\"none of\", not \"not all of\"." msgstr "" -#: ../misc/object-conditions/basics.rst:405 ../system/objects/types.rst:135 +#: ../misc/object-conditions/basics.rst:408 +msgid "" +"In :doc:`core workflows `, these operators have " +"different semantics. See :ref:`core workflow condition operators ` for details. Example scenarios for the " +"operators described here can be found in :ref:`multi-select-operator-" +"examples` below." +msgstr "" + +#: ../misc/object-conditions/basics.rst:416 ../system/objects/types.rst:135 #, fuzzy msgid "Single Tree Selection Field" msgstr "Posta Sunucusu Ayarları" -#: ../misc/object-conditions/basics.rst:407 +#: ../misc/object-conditions/basics.rst:418 msgid "" "Checks if a selected field value match the attribute value. Selecting more " "than one value in the condition will act like an \"OR\" clause." msgstr "" -#: ../misc/object-conditions/basics.rst:417 ../system/objects/types.rst:148 +#: ../misc/object-conditions/basics.rst:428 ../system/objects/types.rst:148 #, fuzzy msgid "Multiple Tree Selection Field" msgstr "Posta Sunucusu Ayarları" -#: ../misc/object-conditions/basics.rst:419 +#: ../misc/object-conditions/basics.rst:430 msgid "Checks if selected field value(s) match the attribute value(s)." msgstr "" @@ -17585,69 +17678,69 @@ msgstr "" msgid "**contains one not**" msgstr "" -#: ../misc/object-conditions/basics.rst:433 +#: ../misc/object-conditions/basics.rst:447 msgid "Additional Information and Remarks" msgstr "" -#: ../misc/object-conditions/basics.rst:442 +#: ../misc/object-conditions/basics.rst:456 msgid "Ticket context conditions do not support:" msgstr "" -#: ../misc/object-conditions/basics.rst:439 +#: ../misc/object-conditions/basics.rst:453 msgid "regular expressions" msgstr "" -#: ../misc/object-conditions/basics.rst:440 +#: ../misc/object-conditions/basics.rst:454 msgid "case sensitive string conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:441 +#: ../misc/object-conditions/basics.rst:455 msgid "" "Basic conditions do not support the same attribute to be selected more than " "once" msgstr "" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 #, fuzzy msgid "**has changed** conditions:" msgstr "Exchange" -#: ../misc/object-conditions/basics.rst:445 +#: ../misc/object-conditions/basics.rst:459 msgid "Are only available for ticket attributes and don't affect:" msgstr "" -#: ../misc/object-conditions/basics.rst:447 +#: ../misc/object-conditions/basics.rst:461 #, fuzzy msgid "Ticket articles attributes" msgstr "Makale nitelikleri" -#: ../misc/object-conditions/basics.rst:448 +#: ../misc/object-conditions/basics.rst:462 #, fuzzy msgid "Organization attributes" msgstr "Makale nitelikleri" -#: ../misc/object-conditions/basics.rst:449 +#: ../misc/object-conditions/basics.rst:463 #, fuzzy msgid "User attributes" msgstr "Bilet nitelikleri" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 #, fuzzy msgid "Group attributes" msgstr "Makale nitelikleri" -#: ../misc/object-conditions/basics.rst:463 +#: ../misc/object-conditions/basics.rst:477 msgid "Differences in input fields:" msgstr "" -#: ../misc/object-conditions/basics.rst:453 +#: ../misc/object-conditions/basics.rst:467 msgid "" "Please note that the input field for tokens doesn't support the comma as " "separator (as in the input field for tags). If you use the comma in the " "token input field, the comma is included in you token." msgstr "" -#: ../misc/object-conditions/basics.rst:457 +#: ../misc/object-conditions/basics.rst:471 #, fuzzy msgid "**Example**:" msgstr "Örnek" @@ -17656,33 +17749,258 @@ msgstr "Örnek" msgid "Example of comma usage in token input field" msgstr "" -#: ../misc/object-conditions/basics.rst:462 +#: ../misc/object-conditions/basics.rst:476 msgid "" "``A`` added with enter/tab, ``B`` and ``C`` separated with comma (resulting " "in one token)." msgstr "" -#: ../misc/object-conditions/basics.rst:468 +#: ../misc/object-conditions/basics.rst:482 +msgid "Multi-Select Operator Examples" +msgstr "" + +#: ../misc/object-conditions/basics.rst:484 +msgid "" +"The ``contains`` family of operators for multi-select fields compares two " +"sets of values: the values currently in the field and the values specified " +"in the condition. The diagrams below show the condition values as an orange " +"circle and the field values as a blue circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:489 +msgid "" +"Be aware that these operators behave **differently** in :doc:`core workflows " +"`. See :ref:`core workflow condition operators ` for a side by side comparison." +msgstr "" + +#: ../misc/object-conditions/basics.rst:495 +#: ../system/core-workflows/condition-operators.rst:165 +msgid "Example 1: Condition A, B - Field A, B, C" +msgstr "" + +#: ../misc/object-conditions/basics.rst:497 +#: ../system/core-workflows/condition-operators.rst:167 +msgid "" +"In this scenario, the field holds the values A, B and C, while the condition " +"asks for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "" +"Venn diagram of condition values A, B and field values A, B, C. A and B are " +"in both circles, C only in the field circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "Condition values ``A, B`` overlap with field values ``A, B, C``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:510 +#: ../misc/object-conditions/basics.rst:544 +#: ../misc/object-conditions/basics.rst:581 +#: ../misc/object-conditions/basics.rst:613 +#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:141 +#: ../system/core-workflows/condition-operators.rst:180 +#: ../system/core-workflows/condition-operators.rst:220 +#: ../system/core-workflows/condition-operators.rst:263 +#: ../system/core-workflows/condition-operators.rst:303 +msgid "Operator" +msgstr "" + +#: ../misc/object-conditions/basics.rst:511 +#: ../misc/object-conditions/basics.rst:545 +#: ../misc/object-conditions/basics.rst:582 +#: ../misc/object-conditions/basics.rst:614 +#: ../system/core-workflows/condition-operators.rst:181 +#: ../system/core-workflows/condition-operators.rst:221 +#: ../system/core-workflows/condition-operators.rst:264 +#: ../system/core-workflows/condition-operators.rst:304 +msgid "Matches?" +msgstr "" + +#: ../misc/object-conditions/basics.rst:512 +#: ../misc/object-conditions/basics.rst:546 +#: ../misc/object-conditions/basics.rst:583 +#: ../misc/object-conditions/basics.rst:615 +#: ../system/core-workflows/condition-operators.rst:182 +#: ../system/core-workflows/condition-operators.rst:222 +#: ../system/core-workflows/condition-operators.rst:265 +#: ../system/core-workflows/condition-operators.rst:305 +msgid "Why" +msgstr "" + +#: ../misc/object-conditions/basics.rst:515 +#: ../system/core-workflows/condition-operators.rst:185 +msgid "``A`` and ``B`` are in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:518 +#: ../system/core-workflows/condition-operators.rst:191 +msgid "Both ``A`` and ``B`` are present (AND logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:521 +msgid "All condition values are present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:524 +msgid "The field has values in common with the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:527 +#: ../system/core-workflows/condition-operators.rst:203 +msgid "Example 2: Condition A, B, C - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:529 +#: ../system/core-workflows/condition-operators.rst:205 +msgid "" +"In this scenario, the field holds the values C and D. The condition value C " +"is present in the field, while A and B are not." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Venn diagram of condition values A, B, C and field values C, D.\n" +"Only C is in both circles." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Condition values ``A, B, C`` partially overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:549 +#: ../system/core-workflows/condition-operators.rst:225 +msgid "``C`` is in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:552 +#: ../system/core-workflows/condition-operators.rst:231 +msgid "Only ``C`` of the three condition values is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:555 +#: ../misc/object-conditions/basics.rst:592 +msgid "``A`` and ``B`` are missing from the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:558 +msgid "``C`` is in both the field and the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:560 +msgid "" +"This partial overlap is where the two \"not\" operators part ways: " +"``contains all not`` matches because a single condition value is missing, " +"while ``contains one not`` does not match because the one common value is " +"enough to block it." +msgstr "" + +#: ../misc/object-conditions/basics.rst:566 +#: ../system/core-workflows/condition-operators.rst:248 +msgid "Example 3: Condition A, B - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:568 +#: ../system/core-workflows/condition-operators.rst:250 +msgid "" +"In this scenario, the field holds the values C and D, which have nothing in " +"common with the condition values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "" +"Venn diagram of condition values A, B and field values C, D. The two circles " +"do not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "Condition values ``A, B`` have no overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:586 +#: ../system/core-workflows/condition-operators.rst:268 +msgid "No value is in both sets." +msgstr "" + +#: ../misc/object-conditions/basics.rst:589 +#: ../system/core-workflows/condition-operators.rst:274 +msgid "Neither ``A`` nor ``B`` is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:595 +#: ../misc/object-conditions/basics.rst:627 +#: ../system/core-workflows/condition-operators.rst:159 +#: ../system/core-workflows/condition-operators.rst:161 +#: ../system/core-workflows/condition-operators.rst:283 +msgid "The field has no value in common with the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:598 +#: ../system/core-workflows/condition-operators.rst:288 +msgid "Example 4: Condition A, B - Field is empty" +msgstr "" + +#: ../misc/object-conditions/basics.rst:600 +#: ../system/core-workflows/condition-operators.rst:290 +msgid "" +"In this scenario, the field holds no values at all, while the condition asks " +"for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "" +"Venn diagram of condition values A, B and an empty field. The two circles do " +"not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "The field holds no values at all." +msgstr "" + +#: ../misc/object-conditions/basics.rst:618 +#: ../misc/object-conditions/basics.rst:621 +#: ../system/core-workflows/condition-operators.rst:308 +#: ../system/core-workflows/condition-operators.rst:314 +msgid "No value is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:624 +msgid "No condition value is present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:632 msgid "Regex" msgstr "" -#: ../misc/object-conditions/basics.rst:473 +#: ../misc/object-conditions/basics.rst:637 #, fuzzy msgid "Regex support" msgstr "**Sonuç**" -#: ../misc/object-conditions/basics.rst:471 +#: ../misc/object-conditions/basics.rst:635 msgid "" "**matches regex** and **does not match regex** are supported only in " "Triggers, Time Accounting selector, Postmaster Filters, Automatic ticket " "assignment and Core Workflow." msgstr "" -#: ../misc/object-conditions/basics.rst:478 +#: ../misc/object-conditions/basics.rst:642 msgid "\"Old\" style ``regex:...`` conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:476 +#: ../misc/object-conditions/basics.rst:640 msgid "" "If you update your Zammad from 6.0 or prior and you have already conditions " "with **contains** or **contains not** including a regex filter (i.e. " @@ -24272,9 +24590,9 @@ msgstr "" #: ../system/core-workflows/condition-operators.rst:8 msgid "" -"Due to differences to other places in Zammad which are also using conditions " -"(e.g. triggers), you can find a dedicated description of operators for core " -"workflows below." +"Due to differences from other places in Zammad which are also using " +"conditions (e.g. triggers), you can find a dedicated description of " +"operators for core workflows below." msgstr "" #: ../system/core-workflows/condition-operators.rst:12 @@ -24284,274 +24602,422 @@ msgid "" "for system attributes (e.g. for \"tags\", \"active\")." msgstr "" -#: ../system/core-workflows/condition-operators.rst:20 -msgid "Operator" -msgstr "" - -#: ../system/core-workflows/condition-operators.rst:22 +#: ../system/core-workflows/condition-operators.rst:23 msgid "after (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:23 +#: ../system/core-workflows/condition-operators.rst:24 msgid "Matches if a date/time is after a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:24 +#: ../system/core-workflows/condition-operators.rst:25 msgid "after (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:25 +#: ../system/core-workflows/condition-operators.rst:26 msgid "Matches if a time span after a specified event has passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:26 +#: ../system/core-workflows/condition-operators.rst:27 msgid "before (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:27 +#: ../system/core-workflows/condition-operators.rst:28 msgid "Matches if a date/time is before a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:28 +#: ../system/core-workflows/condition-operators.rst:29 msgid "before (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:29 +#: ../system/core-workflows/condition-operators.rst:30 msgid "Matches if a time span after a specified event has not passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:30 +#: ../system/core-workflows/condition-operators.rst:31 +#: ../system/core-workflows/condition-operators.rst:144 +#: ../system/core-workflows/condition-operators.rst:183 +#: ../system/core-workflows/condition-operators.rst:223 +#: ../system/core-workflows/condition-operators.rst:266 +#: ../system/core-workflows/condition-operators.rst:306 #, fuzzy msgid "contains" msgstr "İletişim" -#: ../system/core-workflows/condition-operators.rst:31 -msgid "Matches if a specified value is present." +#: ../system/core-workflows/condition-operators.rst:32 +msgid "" +"Matches if **at least one** of the specified values is present in the field " +"(OR logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:33 -msgid "Matches if all of the specified values are present." +#: ../system/core-workflows/condition-operators.rst:34 +#: ../system/core-workflows/condition-operators.rst:153 +#: ../system/core-workflows/condition-operators.rst:192 +#: ../system/core-workflows/condition-operators.rst:232 +#: ../system/core-workflows/condition-operators.rst:275 +#: ../system/core-workflows/condition-operators.rst:315 +msgid "contains not" msgstr "" #: ../system/core-workflows/condition-operators.rst:35 -msgid "Matches if none of the specified values are present." +msgid "" +"Matches if the field contains at least one value that is **not** among the " +"specified values. Also matches if the field is empty." msgstr "" -#: ../system/core-workflows/condition-operators.rst:36 -msgid "contains not" +#: ../system/core-workflows/condition-operators.rst:39 +msgid "" +"Matches if **every** specified value is present in the field (AND logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:37 -msgid "Matches if a specified value is not present." +#: ../system/core-workflows/condition-operators.rst:42 +msgid "" +"Matches if **none** of the specified values are present in the field. The " +"field and the condition have no value in common: this means \"contains none " +"of\", not \"does not contain all of\"." msgstr "" -#: ../system/core-workflows/condition-operators.rst:39 -msgid "Matches if one specified value is present." +#: ../system/core-workflows/condition-operators.rst:46 +msgid "" +"In triggers and overviews, this operator means \"not all of the specified " +"values are present\" instead. See the examples section below." msgstr "" -#: ../system/core-workflows/condition-operators.rst:41 -msgid "Matches if one specified value is not present." +#: ../system/core-workflows/condition-operators.rst:50 +msgid "" +"Same as ``contains``. Matches if **at least one** of the specified values is " +"present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:42 +#: ../system/core-workflows/condition-operators.rst:53 +msgid "" +"Same as ``contains not``. Matches if the field contains at least one value " +"that is **not** among the specified values." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:56 msgid "does not match regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:43 +#: ../system/core-workflows/condition-operators.rst:57 msgid "Matches if content doesn't fit to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:44 +#: ../system/core-workflows/condition-operators.rst:58 msgid "ends with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:45 +#: ../system/core-workflows/condition-operators.rst:59 msgid "Matches if content ends with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:46 +#: ../system/core-workflows/condition-operators.rst:60 msgid "ends with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:47 +#: ../system/core-workflows/condition-operators.rst:61 msgid "Matches if content ends with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:48 +#: ../system/core-workflows/condition-operators.rst:62 msgid "from (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:63 msgid "Matches if date/time is after a period of time after an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:51 +#: ../system/core-workflows/condition-operators.rst:65 msgid "Matches if content is equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:66 msgid "is any of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:53 +#: ../system/core-workflows/condition-operators.rst:67 msgid "Matches if content is equal to any of specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:54 +#: ../system/core-workflows/condition-operators.rst:68 msgid "is greater than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:55 +#: ../system/core-workflows/condition-operators.rst:69 msgid "Matches if the value is greater than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:56 +#: ../system/core-workflows/condition-operators.rst:70 msgid "is greater than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:57 +#: ../system/core-workflows/condition-operators.rst:71 msgid "Matches if the value is greater than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:58 +#: ../system/core-workflows/condition-operators.rst:72 msgid "is less than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:59 +#: ../system/core-workflows/condition-operators.rst:73 msgid "Matches if the value is less than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:60 +#: ../system/core-workflows/condition-operators.rst:74 msgid "is less than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:61 +#: ../system/core-workflows/condition-operators.rst:75 msgid "Matches if the value is less than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:62 +#: ../system/core-workflows/condition-operators.rst:76 msgid "is modified" msgstr "" -#: ../system/core-workflows/condition-operators.rst:63 +#: ../system/core-workflows/condition-operators.rst:77 msgid "Matches if content is modified." msgstr "" -#: ../system/core-workflows/condition-operators.rst:65 -#: ../system/core-workflows/condition-operators.rst:69 +#: ../system/core-workflows/condition-operators.rst:79 +#: ../system/core-workflows/condition-operators.rst:83 msgid "True from the moment of changing content until form submit." msgstr "" -#: ../system/core-workflows/condition-operators.rst:66 +#: ../system/core-workflows/condition-operators.rst:80 msgid "is modified to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:67 +#: ../system/core-workflows/condition-operators.rst:81 msgid "Matches if content is modified to a specific value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:70 +#: ../system/core-workflows/condition-operators.rst:84 msgid "is none of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:71 +#: ../system/core-workflows/condition-operators.rst:85 msgid "Matches if content is none of any specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:73 +#: ../system/core-workflows/condition-operators.rst:87 msgid "Matches if content is not equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:75 +#: ../system/core-workflows/condition-operators.rst:89 msgid "Matches if content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:76 +#: ../system/core-workflows/condition-operators.rst:90 #, fuzzy msgid "just changed" msgstr "Exchange" -#: ../system/core-workflows/condition-operators.rst:77 +#: ../system/core-workflows/condition-operators.rst:91 msgid "Matches if content has changed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:79 -#: ../system/core-workflows/condition-operators.rst:83 +#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:97 msgid "" "Only true for the moment of changing content until next form field action/" "click." msgstr "" -#: ../system/core-workflows/condition-operators.rst:80 +#: ../system/core-workflows/condition-operators.rst:94 msgid "just changed to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:81 +#: ../system/core-workflows/condition-operators.rst:95 msgid "Matches if content has changed to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:84 +#: ../system/core-workflows/condition-operators.rst:98 msgid "matches regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:85 +#: ../system/core-workflows/condition-operators.rst:99 msgid "Matches if value fits to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:87 +#: ../system/core-workflows/condition-operators.rst:101 msgid "Matches if no content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:88 +#: ../system/core-workflows/condition-operators.rst:102 msgid "starts with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:89 +#: ../system/core-workflows/condition-operators.rst:103 msgid "Matches if content starts with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:90 +#: ../system/core-workflows/condition-operators.rst:104 msgid "starts with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:91 +#: ../system/core-workflows/condition-operators.rst:105 msgid "Matches if content starts with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:92 +#: ../system/core-workflows/condition-operators.rst:106 msgid "till (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:107 msgid "Matches if date/time is before a period of time before an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:94 +#: ../system/core-workflows/condition-operators.rst:108 msgid "today" msgstr "" -#: ../system/core-workflows/condition-operators.rst:95 +#: ../system/core-workflows/condition-operators.rst:109 msgid "Matches if date/time is today." msgstr "" -#: ../system/core-workflows/condition-operators.rst:96 +#: ../system/core-workflows/condition-operators.rst:110 msgid "within last (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:97 +#: ../system/core-workflows/condition-operators.rst:111 msgid "" "Matches if date/time content is within specified period of time before now." msgstr "" -#: ../system/core-workflows/condition-operators.rst:99 +#: ../system/core-workflows/condition-operators.rst:113 msgid "within next (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:100 +#: ../system/core-workflows/condition-operators.rst:114 msgid "" "Matches if date/time content is within specified period of time after now." msgstr "" +#: ../system/core-workflows/condition-operators.rst:118 +msgid "Multi-Select Operators" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:120 +msgid "" +"The ``contains`` family of operators compares two sets of values: the values " +"currently in the field and the values specified in the condition. The " +"diagrams below show the condition values as an orange circle and the field " +"values as a blue circle." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:128 +msgid "Differences to Triggers and Overviews" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:130 +msgid "" +"Be aware that these operators behave **differently** in other features that " +"use conditions (e.g. triggers and overviews). The most confusing difference: " +"in core workflows, ``contains all not`` means that no value matches at all, " +"while in triggers and overviews it means \"not all values are present\". The " +"table below compares both worlds side by side." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:142 +msgid "Core workflows (this page)" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:143 +msgid "Triggers, overviews, etc." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:145 +#: ../system/core-workflows/condition-operators.rst:149 +msgid "At least one value is present (OR logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:146 +msgid "Not available; ``contains one`` is the equivalent." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:148 +#: ../system/core-workflows/condition-operators.rst:188 +#: ../system/core-workflows/condition-operators.rst:228 +#: ../system/core-workflows/condition-operators.rst:271 +#: ../system/core-workflows/condition-operators.rst:311 +msgid "Same as ``contains``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:151 +#: ../system/core-workflows/condition-operators.rst:152 +msgid "Every value is present (AND logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:154 +msgid "" +"At least one field value is outside the condition, or the field is empty." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:156 +#, fuzzy +msgid "Not available for multi-select fields." +msgstr "Posta Sunucusu Ayarları" + +#: ../system/core-workflows/condition-operators.rst:158 +#: ../system/core-workflows/condition-operators.rst:197 +#: ../system/core-workflows/condition-operators.rst:237 +#: ../system/core-workflows/condition-operators.rst:280 +#: ../system/core-workflows/condition-operators.rst:320 +msgid "Same as ``contains not``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:162 +msgid "Not all values are present (at least one is missing)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:194 +msgid "``C`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:200 +msgid "``A`` and ``B`` are present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:234 +msgid "``D`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:240 +msgid "``C`` is present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:242 +msgid "" +"This partial overlap is where the two \"all\" operators part ways: " +"``contains all`` fails because one condition value is missing, while " +"``contains all not`` fails because a single common value is enough to block " +"it." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:277 +msgid "``C`` and ``D`` are not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:285 +msgid "This is the only example where ``contains all not`` matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:317 +msgid "An empty field matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:323 +msgid "An empty field has no value in common with the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:325 +msgid "" +"Note that ``contains not`` and ``contains one not`` match an empty field, " +"while ``contains`` and ``contains all`` do not. If you want to exclude " +"specific values, be aware that empty fields pass the condition." +msgstr "" + #: ../system/core-workflows/how-do-they-work.rst:2 msgid "How do they work?" msgstr "Nasıl çalışırlar?" diff --git a/locale/zh_Hans/LC_MESSAGES/admin-docs.po b/locale/zh_Hans/LC_MESSAGES/admin-docs.po index b2bb587f7..d9ee4bcbf 100644 --- a/locale/zh_Hans/LC_MESSAGES/admin-docs.po +++ b/locale/zh_Hans/LC_MESSAGES/admin-docs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Zammad\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-24 17:19+0200\n" +"POT-Creation-Date: 2026-08-28 15:08+0200\n" "PO-Revision-Date: 2026-08-14 10:12+0000\n" "Last-Translator: CN-zhanglim <1241410072@qq.com>\n" "Language-Team: Chinese (Simplified Han script) ` and consider switching your plan. When a " @@ -1161,17 +1162,17 @@ msgid "" "alerted when few calls remain." msgstr "" -#: ../ai/provider.rst:288 +#: ../ai/provider.rst:289 msgid "" "On SaaS, the Zammad AI provider is provisioned by the platform and you " "cannot delete it or change its type." msgstr "" -#: ../ai/provider.rst:295 +#: ../ai/provider.rst:296 msgid "Self-Hosted Customers" msgstr "" -#: ../ai/provider.rst:292 +#: ../ai/provider.rst:293 msgid "" "Get in touch with our `sales department `_ to obtain a Zammad AI API key and to buy AI calls. After " @@ -1179,14 +1180,14 @@ msgid "" "key." msgstr "" -#: ../ai/provider.rst:300 +#: ../ai/provider.rst:301 msgid "" "`Ollama `_ lets you run your own AI server on a machine " "you control, so your data is not transferred to a third party. This approach " "only makes sense if you have a powerful GPU in your system!" msgstr "" -#: ../ai/provider.rst:304 +#: ../ai/provider.rst:305 msgid "" "If you don't have Ollama running yet, their `documentation `_ is a good starting point. Available models are listed in " @@ -4308,7 +4309,7 @@ msgstr "" msgid "Signatures" msgstr "" -#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:436 +#: ../channels/email/signatures.rst:9 ../misc/object-conditions/basics.rst:450 #: ../system/monitoring.rst:9 msgid "General" msgstr "" @@ -5038,7 +5039,7 @@ msgstr "" #: ../channels/form.rst:250 ../manage/public-links.rst:43 #: ../misc/object-conditions/basics.rst:63 ../misc/variables.rst:101 -#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:22 #: ../system/objects/permissions.rst:36 ../system/subscription.rst:196 msgid "Description" msgstr "描述" @@ -8805,6 +8806,29 @@ msgstr "" #: ../manage/groups/settings.rst:42 ../manage/groups/settings.rst:63 #: ../misc/object-conditions/basics.rst:121 #: ../misc/object-conditions/basics.rst:136 +#: ../misc/object-conditions/basics.rst:514 +#: ../misc/object-conditions/basics.rst:517 +#: ../misc/object-conditions/basics.rst:548 +#: ../misc/object-conditions/basics.rst:554 +#: ../misc/object-conditions/basics.rst:591 +#: ../misc/object-conditions/basics.rst:594 +#: ../misc/object-conditions/basics.rst:623 +#: ../misc/object-conditions/basics.rst:626 +#: ../system/core-workflows/condition-operators.rst:184 +#: ../system/core-workflows/condition-operators.rst:187 +#: ../system/core-workflows/condition-operators.rst:190 +#: ../system/core-workflows/condition-operators.rst:193 +#: ../system/core-workflows/condition-operators.rst:196 +#: ../system/core-workflows/condition-operators.rst:224 +#: ../system/core-workflows/condition-operators.rst:227 +#: ../system/core-workflows/condition-operators.rst:233 +#: ../system/core-workflows/condition-operators.rst:236 +#: ../system/core-workflows/condition-operators.rst:276 +#: ../system/core-workflows/condition-operators.rst:279 +#: ../system/core-workflows/condition-operators.rst:282 +#: ../system/core-workflows/condition-operators.rst:316 +#: ../system/core-workflows/condition-operators.rst:319 +#: ../system/core-workflows/condition-operators.rst:322 msgid "yes" msgstr "" @@ -8859,6 +8883,23 @@ msgstr "" #: ../manage/groups/settings.rst:66 ../misc/object-conditions/basics.rst:122 #: ../misc/object-conditions/basics.rst:137 +#: ../misc/object-conditions/basics.rst:520 +#: ../misc/object-conditions/basics.rst:523 +#: ../misc/object-conditions/basics.rst:551 +#: ../misc/object-conditions/basics.rst:557 +#: ../misc/object-conditions/basics.rst:585 +#: ../misc/object-conditions/basics.rst:588 +#: ../misc/object-conditions/basics.rst:617 +#: ../misc/object-conditions/basics.rst:620 +#: ../system/core-workflows/condition-operators.rst:199 +#: ../system/core-workflows/condition-operators.rst:230 +#: ../system/core-workflows/condition-operators.rst:239 +#: ../system/core-workflows/condition-operators.rst:267 +#: ../system/core-workflows/condition-operators.rst:270 +#: ../system/core-workflows/condition-operators.rst:273 +#: ../system/core-workflows/condition-operators.rst:307 +#: ../system/core-workflows/condition-operators.rst:310 +#: ../system/core-workflows/condition-operators.rst:313 msgid "no" msgstr "" @@ -9265,7 +9306,7 @@ msgid "" msgstr "" #: ../manage/knowledge-base.rst:136 ../manage/public-links.rst:35 -#: ../manage/time-accounting.rst:147 ../manage/time-accounting.rst:161 +#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 #: ../system/maintenance.rst:31 msgid "Title" msgstr "" @@ -12532,16 +12573,18 @@ msgstr "" #: ../manage/time-accounting.rst:22 msgid "" "If a ticket is relevant, Zammad will request the agent to provide the time " -"which was needed to process the current ticket step. In order for Zammad to " -"bring up the time accounting dialog to an agent, the agent has to update the " -"ticket together with an article of any type. The adding of an article is " -"mandatory to invoke the time accounting dialog. However, the time accounting " -"dialog is not mandatory and can be canceled by your agents. You cannot " -"enforce the time accounting. When a ticket is no longer considered for the " -"time accounting, the already accounted time will be preserved." +"which was needed to process the current ticket step. This accounted time is " +"displayed in the ticket sidebar at ticket level and in the article meta " +"information for an individual article. In order for Zammad to bring up the " +"time accounting dialog to an agent, the agent has to update the ticket " +"together with an article of any type. The adding of an article is mandatory " +"to invoke the time accounting dialog. However, the time accounting dialog is " +"not mandatory and can be canceled by your agents. You cannot enforce the " +"time accounting. When a ticket is no longer considered for the time " +"accounting, the already accounted time will be preserved." msgstr "" -#: ../manage/time-accounting.rst:33 +#: ../manage/time-accounting.rst:35 msgid "" "The selector applies to the ticket state before any attribute changes have " "been saved. That means if your agent is e.g. going to close a ticket " @@ -12553,49 +12596,49 @@ msgstr "" msgid "Time Accounting Ticket Selector" msgstr "" -#: ../manage/time-accounting.rst:42 +#: ../manage/time-accounting.rst:44 msgid "" "The accounted time is always a unitless number. However, it is possible to " "show a specific unit in the **Unit** section, which provides several options:" msgstr "" -#: ../manage/time-accounting.rst:46 +#: ../manage/time-accounting.rst:48 msgid "no unit" msgstr "" -#: ../manage/time-accounting.rst:47 +#: ../manage/time-accounting.rst:49 msgid "Default behavior, no unit is shown next to the time value." msgstr "" -#: ../manage/time-accounting.rst:48 +#: ../manage/time-accounting.rst:50 msgid "hour(s)" msgstr "" -#: ../manage/time-accounting.rst:49 +#: ../manage/time-accounting.rst:51 msgid "Shows ``hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:50 +#: ../manage/time-accounting.rst:52 msgid "quarter-hour(s)" msgstr "" -#: ../manage/time-accounting.rst:51 +#: ../manage/time-accounting.rst:53 msgid "Shows ``quarter-hour(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:52 +#: ../manage/time-accounting.rst:54 msgid "minute(s)" msgstr "" -#: ../manage/time-accounting.rst:53 +#: ../manage/time-accounting.rst:55 msgid "Shows ``minute(s)`` as the unit next to the time value." msgstr "" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "custom unit" msgstr "" -#: ../manage/time-accounting.rst:55 +#: ../manage/time-accounting.rst:57 msgid "Shows a custom unit that can be specified as free input." msgstr "" @@ -12603,7 +12646,7 @@ msgstr "" msgid "Time Accounting Unit" msgstr "" -#: ../manage/time-accounting.rst:62 +#: ../manage/time-accounting.rst:64 msgid "" "The unit is only displayed to make it easier for agents to account their " "time! No numerical transformation will be applied to the values, not even if " @@ -12615,11 +12658,11 @@ msgstr "" msgid "Time Accounting Unit when Recording" msgstr "" -#: ../manage/time-accounting.rst:72 +#: ../manage/time-accounting.rst:74 msgid "Activity Types" msgstr "" -#: ../manage/time-accounting.rst:74 +#: ../manage/time-accounting.rst:76 msgid "" "**Activity Types** can be used to group the different ticket time accounting " "entries together. For example, entries that are relevant to a \"Billing\" " @@ -12630,7 +12673,7 @@ msgstr "" msgid "Time Accounting Activity Types" msgstr "" -#: ../manage/time-accounting.rst:81 +#: ../manage/time-accounting.rst:83 msgid "" "When you enable the recording of the **Activity Type**, the agents will be " "able to select a type from this list." @@ -12640,13 +12683,13 @@ msgstr "" msgid "Time Accounting Activity Type Selection for Agents" msgstr "" -#: ../manage/time-accounting.rst:88 +#: ../manage/time-accounting.rst:90 msgid "" "Additionally, a column with an associated activity type will be rendered for " "an entry in the **Activity** table under the **Accounted Time** tab." msgstr "" -#: ../manage/time-accounting.rst:91 +#: ../manage/time-accounting.rst:93 msgid "" "You can manage available activity types in this screen like any other Zammad " "object. Only active types will be available for the selection when recording " @@ -12658,7 +12701,7 @@ msgstr "" msgid "New Time Accounting Activity Type Dialog" msgstr "" -#: ../manage/time-accounting.rst:100 +#: ../manage/time-accounting.rst:102 msgid "" "Activity types can be set as default, and in that case they will be pre-" "selected for the agents when they are asked to account their time. It is " @@ -12666,29 +12709,29 @@ msgid "" "pre-selected and the agents can make their choice." msgstr "" -#: ../manage/time-accounting.rst:106 +#: ../manage/time-accounting.rst:108 msgid "Accounted Time" msgstr "" -#: ../manage/time-accounting.rst:108 +#: ../manage/time-accounting.rst:110 msgid "" "Under the **Accounted Time** tab, Zammad provides a section for reviewing " "all accounted times for your tickets. Accounted times are displayed per " "years and months." msgstr "" -#: ../manage/time-accounting.rst:112 +#: ../manage/time-accounting.rst:114 msgid "" "If you have tickets that are overlapping several months, you can " "differentiate by *time units* and *time units total* (e.g. to allow partial " "billing) in the downloaded file." msgstr "" -#: ../manage/time-accounting.rst:123 +#: ../manage/time-accounting.rst:125 msgid "Select the right month" msgstr "" -#: ../manage/time-accounting.rst:117 +#: ../manage/time-accounting.rst:119 msgid "" "Usually you want to bill accounted time of other months than the current " "one. Just select the relevant year and month to receive the accounted times " @@ -12699,85 +12742,85 @@ msgstr "" msgid "Screenshot showing a selection for year and month on time accounting" msgstr "" -#: ../manage/time-accounting.rst:186 +#: ../manage/time-accounting.rst:188 msgid "Tickets and their accounted time" msgstr "" -#: ../manage/time-accounting.rst:126 +#: ../manage/time-accounting.rst:128 msgid "" "Zammad allows you to receive the accounted information just like you need " "them. For this you currently have four options to review and also download " "the relevant data as CSV." msgstr "" -#: ../manage/time-accounting.rst:130 +#: ../manage/time-accounting.rst:132 msgid "" "To download the CSV data, use the download button right next to each heading " "(e.g. \"Ticket\")." msgstr "" -#: ../manage/time-accounting.rst:133 +#: ../manage/time-accounting.rst:135 msgid "This can also be automated with API calls." msgstr "" -#: ../manage/time-accounting.rst:136 +#: ../manage/time-accounting.rst:138 msgid "" "Only the first 20 entries are shown for each table. To see all of them, " "simply download the records in CSV." msgstr "" -#: ../manage/time-accounting.rst:153 +#: ../manage/time-accounting.rst:155 msgid "Activity" msgstr "" -#: ../manage/time-accounting.rst:140 +#: ../manage/time-accounting.rst:142 msgid "" "This filter works similar to the ticket filter, with one exception: You'll " "find each *individual* time accounting step of your agents. This is what " "you'd also see in the ticket's history before Zammad 5.2." msgstr "" -#: ../manage/time-accounting.rst:144 ../manage/time-accounting.rst:158 -#: ../manage/time-accounting.rst:175 +#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:177 msgid "In this list you'll see the following ticket information:" msgstr "" -#: ../manage/time-accounting.rst:146 ../manage/time-accounting.rst:160 +#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 #: ../settings/ticket.rst:103 msgid "Number" msgstr "" -#: ../manage/time-accounting.rst:148 ../manage/time-accounting.rst:162 -#: ../manage/time-accounting.rst:179 ../manage/time-accounting.rst:177 +#: ../manage/time-accounting.rst:150 ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:181 ../manage/time-accounting.rst:179 #: ../misc/object-conditions/basics.rst:37 #: ../misc/object-conditions/basics.rst:89 #: ../misc/object-conditions/basics.rst:171 msgid "Customer" msgstr "" -#: ../manage/time-accounting.rst:149 ../manage/time-accounting.rst:163 -#: ../manage/time-accounting.rst:178 +#: ../manage/time-accounting.rst:151 ../manage/time-accounting.rst:165 +#: ../manage/time-accounting.rst:180 msgid "Organization of customer (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:150 +#: ../manage/time-accounting.rst:152 msgid "Agent that accounted the time" msgstr "" -#: ../manage/time-accounting.rst:151 +#: ../manage/time-accounting.rst:153 msgid "Time units accounted in the current activity" msgstr "" -#: ../manage/time-accounting.rst:152 +#: ../manage/time-accounting.rst:154 msgid "Activity type (if enabled)" msgstr "" -#: ../manage/time-accounting.rst:153 ../manage/time-accounting.rst:167 +#: ../manage/time-accounting.rst:155 ../manage/time-accounting.rst:169 #: ../system/audit-logs.rst:76 msgid "Created at" msgstr "" -#: ../manage/time-accounting.rst:168 ../misc/object-conditions/basics.rst:26 +#: ../manage/time-accounting.rst:170 ../misc/object-conditions/basics.rst:26 #: ../misc/object-conditions/basics.rst:90 #: ../misc/object-conditions/basics.rst:126 #: ../misc/object-conditions/basics.rst:139 @@ -12793,45 +12836,45 @@ msgstr "" msgid "Ticket" msgstr "" -#: ../manage/time-accounting.rst:156 +#: ../manage/time-accounting.rst:158 msgid "This filter contains all relevant tickets from the selected month." msgstr "" -#: ../manage/time-accounting.rst:164 +#: ../manage/time-accounting.rst:166 msgid "Agent currently assigned (ticket owner)" msgstr "" -#: ../manage/time-accounting.rst:165 ../manage/time-accounting.rst:179 +#: ../manage/time-accounting.rst:167 ../manage/time-accounting.rst:181 msgid "Time units accounted in the current month" msgstr "" -#: ../manage/time-accounting.rst:166 +#: ../manage/time-accounting.rst:168 msgid "Time units total (time accounted during ticket life)" msgstr "" -#: ../manage/time-accounting.rst:168 +#: ../manage/time-accounting.rst:170 msgid "Closed at (if applicable)" msgstr "" -#: ../manage/time-accounting.rst:171 +#: ../manage/time-accounting.rst:173 msgid "" "This provides you a per user filter on accounted time units. Each user has a " "total of time accounted in the current month (over all applicable tickets)." msgstr "" -#: ../manage/time-accounting.rst:186 ../misc/object-conditions/basics.rst:28 +#: ../manage/time-accounting.rst:188 ../misc/object-conditions/basics.rst:28 #: ../misc/object-conditions/basics.rst:115 #: ../misc/object-conditions/basics.rst:146 ../settings/branding.rst:16 msgid "Organization" msgstr "" -#: ../manage/time-accounting.rst:182 +#: ../manage/time-accounting.rst:184 msgid "" "This provides a list of all organizations where customers have caused " "accounted time in that month." msgstr "" -#: ../manage/time-accounting.rst:185 +#: ../manage/time-accounting.rst:187 msgid "" "You can also see entries for customers that are part of a primary " "organization. Users without an organization can be found in the Customer " @@ -15983,7 +16026,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:185 #: ../misc/object-conditions/basics.rst:209 #: ../misc/object-conditions/basics.rst:219 -#: ../system/core-workflows/condition-operators.rst:50 +#: ../system/core-workflows/condition-operators.rst:64 msgid "is" msgstr "" @@ -16000,7 +16043,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:186 #: ../misc/object-conditions/basics.rst:210 #: ../misc/object-conditions/basics.rst:220 -#: ../system/core-workflows/condition-operators.rst:72 +#: ../system/core-workflows/condition-operators.rst:86 msgid "is not" msgstr "" @@ -16072,7 +16115,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:97 #: ../misc/object-conditions/basics.rst:155 #: ../misc/object-conditions/basics.rst:204 -#: ../system/core-workflows/condition-operators.rst:86 +#: ../system/core-workflows/condition-operators.rst:100 msgid "not set" msgstr "" @@ -16232,22 +16275,58 @@ msgid "Checks tags of a ticket." msgstr "" #: ../misc/object-conditions/basics.rst:193 -#: ../system/core-workflows/condition-operators.rst:32 +#: ../misc/object-conditions/basics.rst:516 +#: ../misc/object-conditions/basics.rst:550 +#: ../misc/object-conditions/basics.rst:587 +#: ../misc/object-conditions/basics.rst:619 +#: ../system/core-workflows/condition-operators.rst:38 +#: ../system/core-workflows/condition-operators.rst:150 +#: ../system/core-workflows/condition-operators.rst:189 +#: ../system/core-workflows/condition-operators.rst:229 +#: ../system/core-workflows/condition-operators.rst:272 +#: ../system/core-workflows/condition-operators.rst:312 msgid "contains all" msgstr "" #: ../misc/object-conditions/basics.rst:194 -#: ../system/core-workflows/condition-operators.rst:38 +#: ../misc/object-conditions/basics.rst:513 +#: ../misc/object-conditions/basics.rst:547 +#: ../misc/object-conditions/basics.rst:584 +#: ../misc/object-conditions/basics.rst:616 +#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:147 +#: ../system/core-workflows/condition-operators.rst:186 +#: ../system/core-workflows/condition-operators.rst:226 +#: ../system/core-workflows/condition-operators.rst:269 +#: ../system/core-workflows/condition-operators.rst:309 msgid "contains one" msgstr "" #: ../misc/object-conditions/basics.rst:195 -#: ../system/core-workflows/condition-operators.rst:34 +#: ../misc/object-conditions/basics.rst:519 +#: ../misc/object-conditions/basics.rst:553 +#: ../misc/object-conditions/basics.rst:590 +#: ../misc/object-conditions/basics.rst:622 +#: ../system/core-workflows/condition-operators.rst:41 +#: ../system/core-workflows/condition-operators.rst:160 +#: ../system/core-workflows/condition-operators.rst:198 +#: ../system/core-workflows/condition-operators.rst:238 +#: ../system/core-workflows/condition-operators.rst:281 +#: ../system/core-workflows/condition-operators.rst:321 msgid "contains all not" msgstr "" #: ../misc/object-conditions/basics.rst:196 -#: ../system/core-workflows/condition-operators.rst:40 +#: ../misc/object-conditions/basics.rst:522 +#: ../misc/object-conditions/basics.rst:556 +#: ../misc/object-conditions/basics.rst:593 +#: ../misc/object-conditions/basics.rst:625 +#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:157 +#: ../system/core-workflows/condition-operators.rst:195 +#: ../system/core-workflows/condition-operators.rst:235 +#: ../system/core-workflows/condition-operators.rst:278 +#: ../system/core-workflows/condition-operators.rst:318 msgid "contains one not" msgstr "" @@ -16269,7 +16348,7 @@ msgid "Checks if time is accounted." msgstr "" #: ../misc/object-conditions/basics.rst:203 -#: ../system/core-workflows/condition-operators.rst:74 +#: ../system/core-workflows/condition-operators.rst:88 msgid "is set" msgstr "" @@ -16327,8 +16406,8 @@ msgstr "" #: ../misc/object-conditions/basics.rst:334 #: ../misc/object-conditions/basics.rst:381 #: ../misc/object-conditions/basics.rst:392 -#: ../misc/object-conditions/basics.rst:410 #: ../misc/object-conditions/basics.rst:421 +#: ../misc/object-conditions/basics.rst:432 msgid "Available operators for matching:" msgstr "" @@ -16414,7 +16493,7 @@ msgstr "" #: ../misc/object-conditions/basics.rst:269 #: ../misc/object-conditions/basics.rst:284 #: ../misc/object-conditions/basics.rst:385 -#: ../misc/object-conditions/basics.rst:414 +#: ../misc/object-conditions/basics.rst:425 msgid "**has changed**" msgstr "" @@ -16429,14 +16508,14 @@ msgstr "" #: ../misc/object-conditions/basics.rst:267 #: ../misc/object-conditions/basics.rst:278 #: ../misc/object-conditions/basics.rst:383 -#: ../misc/object-conditions/basics.rst:412 +#: ../misc/object-conditions/basics.rst:423 msgid "**is**" msgstr "" #: ../misc/object-conditions/basics.rst:268 #: ../misc/object-conditions/basics.rst:279 #: ../misc/object-conditions/basics.rst:384 -#: ../misc/object-conditions/basics.rst:413 +#: ../misc/object-conditions/basics.rst:424 msgid "**is not**" msgstr "" @@ -16684,7 +16763,7 @@ msgid "**contains all**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are selected." +msgid "Matches if **all** given field values are selected (AND logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16692,7 +16771,8 @@ msgid "**contains one**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is selected." +msgid "" +"Matches if **at least one** of the given field values is selected (OR logic)." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16700,7 +16780,9 @@ msgid "**contains all not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if all given field values are not selected." +msgid "" +"Matches if **not all** given field values are selected (at least one is " +"missing). This means \"not all of\", not \"none of\"." msgstr "" #: ../misc/object-conditions/basics.rst:0 @@ -16708,24 +16790,35 @@ msgid "**contains one not**:" msgstr "" #: ../misc/object-conditions/basics.rst:0 -msgid "Matches if one specific given field value is not selected." +msgid "" +"Matches if **none** of the given field values are selected. This means " +"\"none of\", not \"not all of\"." msgstr "" -#: ../misc/object-conditions/basics.rst:405 ../system/objects/types.rst:135 +#: ../misc/object-conditions/basics.rst:408 +msgid "" +"In :doc:`core workflows `, these operators have " +"different semantics. See :ref:`core workflow condition operators ` for details. Example scenarios for the " +"operators described here can be found in :ref:`multi-select-operator-" +"examples` below." +msgstr "" + +#: ../misc/object-conditions/basics.rst:416 ../system/objects/types.rst:135 msgid "Single Tree Selection Field" msgstr "" -#: ../misc/object-conditions/basics.rst:407 +#: ../misc/object-conditions/basics.rst:418 msgid "" "Checks if a selected field value match the attribute value. Selecting more " "than one value in the condition will act like an \"OR\" clause." msgstr "" -#: ../misc/object-conditions/basics.rst:417 ../system/objects/types.rst:148 +#: ../misc/object-conditions/basics.rst:428 ../system/objects/types.rst:148 msgid "Multiple Tree Selection Field" msgstr "" -#: ../misc/object-conditions/basics.rst:419 +#: ../misc/object-conditions/basics.rst:430 msgid "Checks if selected field value(s) match the attribute value(s)." msgstr "" @@ -16745,66 +16838,66 @@ msgstr "" msgid "**contains one not**" msgstr "" -#: ../misc/object-conditions/basics.rst:433 +#: ../misc/object-conditions/basics.rst:447 msgid "Additional Information and Remarks" msgstr "" -#: ../misc/object-conditions/basics.rst:442 +#: ../misc/object-conditions/basics.rst:456 msgid "Ticket context conditions do not support:" msgstr "" -#: ../misc/object-conditions/basics.rst:439 +#: ../misc/object-conditions/basics.rst:453 msgid "regular expressions" msgstr "" -#: ../misc/object-conditions/basics.rst:440 +#: ../misc/object-conditions/basics.rst:454 msgid "case sensitive string conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:441 +#: ../misc/object-conditions/basics.rst:455 msgid "" "Basic conditions do not support the same attribute to be selected more than " "once" msgstr "" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "**has changed** conditions:" msgstr "" -#: ../misc/object-conditions/basics.rst:445 +#: ../misc/object-conditions/basics.rst:459 msgid "Are only available for ticket attributes and don't affect:" msgstr "" -#: ../misc/object-conditions/basics.rst:447 +#: ../misc/object-conditions/basics.rst:461 #, fuzzy msgid "Ticket articles attributes" msgstr "优先级" -#: ../misc/object-conditions/basics.rst:448 +#: ../misc/object-conditions/basics.rst:462 #, fuzzy msgid "Organization attributes" msgstr "组织和部门名称" -#: ../misc/object-conditions/basics.rst:449 +#: ../misc/object-conditions/basics.rst:463 msgid "User attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:450 +#: ../misc/object-conditions/basics.rst:464 msgid "Group attributes" msgstr "" -#: ../misc/object-conditions/basics.rst:463 +#: ../misc/object-conditions/basics.rst:477 msgid "Differences in input fields:" msgstr "" -#: ../misc/object-conditions/basics.rst:453 +#: ../misc/object-conditions/basics.rst:467 msgid "" "Please note that the input field for tokens doesn't support the comma as " "separator (as in the input field for tags). If you use the comma in the " "token input field, the comma is included in you token." msgstr "" -#: ../misc/object-conditions/basics.rst:457 +#: ../misc/object-conditions/basics.rst:471 msgid "**Example**:" msgstr "" @@ -16812,32 +16905,257 @@ msgstr "" msgid "Example of comma usage in token input field" msgstr "" -#: ../misc/object-conditions/basics.rst:462 +#: ../misc/object-conditions/basics.rst:476 msgid "" "``A`` added with enter/tab, ``B`` and ``C`` separated with comma (resulting " "in one token)." msgstr "" -#: ../misc/object-conditions/basics.rst:468 +#: ../misc/object-conditions/basics.rst:482 +msgid "Multi-Select Operator Examples" +msgstr "" + +#: ../misc/object-conditions/basics.rst:484 +msgid "" +"The ``contains`` family of operators for multi-select fields compares two " +"sets of values: the values currently in the field and the values specified " +"in the condition. The diagrams below show the condition values as an orange " +"circle and the field values as a blue circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:489 +msgid "" +"Be aware that these operators behave **differently** in :doc:`core workflows " +"`. See :ref:`core workflow condition operators ` for a side by side comparison." +msgstr "" + +#: ../misc/object-conditions/basics.rst:495 +#: ../system/core-workflows/condition-operators.rst:165 +msgid "Example 1: Condition A, B - Field A, B, C" +msgstr "" + +#: ../misc/object-conditions/basics.rst:497 +#: ../system/core-workflows/condition-operators.rst:167 +msgid "" +"In this scenario, the field holds the values A, B and C, while the condition " +"asks for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "" +"Venn diagram of condition values A, B and field values A, B, C. A and B are " +"in both circles, C only in the field circle." +msgstr "" + +#: ../misc/object-conditions/basics.rst:503 +#: ../system/core-workflows/condition-operators.rst:173 +msgid "Condition values ``A, B`` overlap with field values ``A, B, C``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:510 +#: ../misc/object-conditions/basics.rst:544 +#: ../misc/object-conditions/basics.rst:581 +#: ../misc/object-conditions/basics.rst:613 +#: ../system/core-workflows/condition-operators.rst:21 +#: ../system/core-workflows/condition-operators.rst:141 +#: ../system/core-workflows/condition-operators.rst:180 +#: ../system/core-workflows/condition-operators.rst:220 +#: ../system/core-workflows/condition-operators.rst:263 +#: ../system/core-workflows/condition-operators.rst:303 +msgid "Operator" +msgstr "" + +#: ../misc/object-conditions/basics.rst:511 +#: ../misc/object-conditions/basics.rst:545 +#: ../misc/object-conditions/basics.rst:582 +#: ../misc/object-conditions/basics.rst:614 +#: ../system/core-workflows/condition-operators.rst:181 +#: ../system/core-workflows/condition-operators.rst:221 +#: ../system/core-workflows/condition-operators.rst:264 +#: ../system/core-workflows/condition-operators.rst:304 +msgid "Matches?" +msgstr "" + +#: ../misc/object-conditions/basics.rst:512 +#: ../misc/object-conditions/basics.rst:546 +#: ../misc/object-conditions/basics.rst:583 +#: ../misc/object-conditions/basics.rst:615 +#: ../system/core-workflows/condition-operators.rst:182 +#: ../system/core-workflows/condition-operators.rst:222 +#: ../system/core-workflows/condition-operators.rst:265 +#: ../system/core-workflows/condition-operators.rst:305 +msgid "Why" +msgstr "" + +#: ../misc/object-conditions/basics.rst:515 +#: ../system/core-workflows/condition-operators.rst:185 +msgid "``A`` and ``B`` are in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:518 +#: ../system/core-workflows/condition-operators.rst:191 +msgid "Both ``A`` and ``B`` are present (AND logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:521 +msgid "All condition values are present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:524 +msgid "The field has values in common with the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:527 +#: ../system/core-workflows/condition-operators.rst:203 +msgid "Example 2: Condition A, B, C - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:529 +#: ../system/core-workflows/condition-operators.rst:205 +msgid "" +"In this scenario, the field holds the values C and D. The condition value C " +"is present in the field, while A and B are not." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Venn diagram of condition values A, B, C and field values C, D.\n" +"Only C is in both circles." +msgstr "" + +#: ../misc/object-conditions/basics.rst:536 +#: ../system/core-workflows/condition-operators.rst:212 +msgid "" +"Condition values ``A, B, C`` partially overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:549 +#: ../system/core-workflows/condition-operators.rst:225 +msgid "``C`` is in both sets (OR logic)." +msgstr "" + +#: ../misc/object-conditions/basics.rst:552 +#: ../system/core-workflows/condition-operators.rst:231 +msgid "Only ``C`` of the three condition values is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:555 +#: ../misc/object-conditions/basics.rst:592 +msgid "``A`` and ``B`` are missing from the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:558 +msgid "``C`` is in both the field and the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:560 +msgid "" +"This partial overlap is where the two \"not\" operators part ways: " +"``contains all not`` matches because a single condition value is missing, " +"while ``contains one not`` does not match because the one common value is " +"enough to block it." +msgstr "" + +#: ../misc/object-conditions/basics.rst:566 +#: ../system/core-workflows/condition-operators.rst:248 +msgid "Example 3: Condition A, B - Field C, D" +msgstr "" + +#: ../misc/object-conditions/basics.rst:568 +#: ../system/core-workflows/condition-operators.rst:250 +msgid "" +"In this scenario, the field holds the values C and D, which have nothing in " +"common with the condition values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "" +"Venn diagram of condition values A, B and field values C, D. The two circles " +"do not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:574 +#: ../system/core-workflows/condition-operators.rst:256 +msgid "Condition values ``A, B`` have no overlap with field values ``C, D``." +msgstr "" + +#: ../misc/object-conditions/basics.rst:586 +#: ../system/core-workflows/condition-operators.rst:268 +msgid "No value is in both sets." +msgstr "" + +#: ../misc/object-conditions/basics.rst:589 +#: ../system/core-workflows/condition-operators.rst:274 +msgid "Neither ``A`` nor ``B`` is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:595 +#: ../misc/object-conditions/basics.rst:627 +#: ../system/core-workflows/condition-operators.rst:159 +#: ../system/core-workflows/condition-operators.rst:161 +#: ../system/core-workflows/condition-operators.rst:283 +msgid "The field has no value in common with the condition." +msgstr "" + +#: ../misc/object-conditions/basics.rst:598 +#: ../system/core-workflows/condition-operators.rst:288 +msgid "Example 4: Condition A, B - Field is empty" +msgstr "" + +#: ../misc/object-conditions/basics.rst:600 +#: ../system/core-workflows/condition-operators.rst:290 +msgid "" +"In this scenario, the field holds no values at all, while the condition asks " +"for the values A and B." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "" +"Venn diagram of condition values A, B and an empty field. The two circles do " +"not overlap." +msgstr "" + +#: ../misc/object-conditions/basics.rst:606 +#: ../system/core-workflows/condition-operators.rst:296 +msgid "The field holds no values at all." +msgstr "" + +#: ../misc/object-conditions/basics.rst:618 +#: ../misc/object-conditions/basics.rst:621 +#: ../system/core-workflows/condition-operators.rst:308 +#: ../system/core-workflows/condition-operators.rst:314 +msgid "No value is present." +msgstr "" + +#: ../misc/object-conditions/basics.rst:624 +msgid "No condition value is present in the field." +msgstr "" + +#: ../misc/object-conditions/basics.rst:632 msgid "Regex" msgstr "" -#: ../misc/object-conditions/basics.rst:473 +#: ../misc/object-conditions/basics.rst:637 msgid "Regex support" msgstr "" -#: ../misc/object-conditions/basics.rst:471 +#: ../misc/object-conditions/basics.rst:635 msgid "" "**matches regex** and **does not match regex** are supported only in " "Triggers, Time Accounting selector, Postmaster Filters, Automatic ticket " "assignment and Core Workflow." msgstr "" -#: ../misc/object-conditions/basics.rst:478 +#: ../misc/object-conditions/basics.rst:642 msgid "\"Old\" style ``regex:...`` conditions" msgstr "" -#: ../misc/object-conditions/basics.rst:476 +#: ../misc/object-conditions/basics.rst:640 msgid "" "If you update your Zammad from 6.0 or prior and you have already conditions " "with **contains** or **contains not** including a regex filter (i.e. " @@ -23061,9 +23379,9 @@ msgstr "" #: ../system/core-workflows/condition-operators.rst:8 msgid "" -"Due to differences to other places in Zammad which are also using conditions " -"(e.g. triggers), you can find a dedicated description of operators for core " -"workflows below." +"Due to differences from other places in Zammad which are also using " +"conditions (e.g. triggers), you can find a dedicated description of " +"operators for core workflows below." msgstr "" #: ../system/core-workflows/condition-operators.rst:12 @@ -23073,272 +23391,419 @@ msgid "" "for system attributes (e.g. for \"tags\", \"active\")." msgstr "" -#: ../system/core-workflows/condition-operators.rst:20 -msgid "Operator" -msgstr "" - -#: ../system/core-workflows/condition-operators.rst:22 +#: ../system/core-workflows/condition-operators.rst:23 msgid "after (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:23 +#: ../system/core-workflows/condition-operators.rst:24 msgid "Matches if a date/time is after a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:24 +#: ../system/core-workflows/condition-operators.rst:25 msgid "after (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:25 +#: ../system/core-workflows/condition-operators.rst:26 msgid "Matches if a time span after a specified event has passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:26 +#: ../system/core-workflows/condition-operators.rst:27 msgid "before (absolute)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:27 +#: ../system/core-workflows/condition-operators.rst:28 msgid "Matches if a date/time is before a specific point in time." msgstr "" -#: ../system/core-workflows/condition-operators.rst:28 +#: ../system/core-workflows/condition-operators.rst:29 msgid "before (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:29 +#: ../system/core-workflows/condition-operators.rst:30 msgid "Matches if a time span after a specified event has not passed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:30 +#: ../system/core-workflows/condition-operators.rst:31 +#: ../system/core-workflows/condition-operators.rst:144 +#: ../system/core-workflows/condition-operators.rst:183 +#: ../system/core-workflows/condition-operators.rst:223 +#: ../system/core-workflows/condition-operators.rst:266 +#: ../system/core-workflows/condition-operators.rst:306 msgid "contains" msgstr "" -#: ../system/core-workflows/condition-operators.rst:31 -msgid "Matches if a specified value is present." +#: ../system/core-workflows/condition-operators.rst:32 +msgid "" +"Matches if **at least one** of the specified values is present in the field " +"(OR logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:33 -msgid "Matches if all of the specified values are present." +#: ../system/core-workflows/condition-operators.rst:34 +#: ../system/core-workflows/condition-operators.rst:153 +#: ../system/core-workflows/condition-operators.rst:192 +#: ../system/core-workflows/condition-operators.rst:232 +#: ../system/core-workflows/condition-operators.rst:275 +#: ../system/core-workflows/condition-operators.rst:315 +msgid "contains not" msgstr "" #: ../system/core-workflows/condition-operators.rst:35 -msgid "Matches if none of the specified values are present." +msgid "" +"Matches if the field contains at least one value that is **not** among the " +"specified values. Also matches if the field is empty." msgstr "" -#: ../system/core-workflows/condition-operators.rst:36 -msgid "contains not" +#: ../system/core-workflows/condition-operators.rst:39 +msgid "" +"Matches if **every** specified value is present in the field (AND logic)." msgstr "" -#: ../system/core-workflows/condition-operators.rst:37 -msgid "Matches if a specified value is not present." +#: ../system/core-workflows/condition-operators.rst:42 +msgid "" +"Matches if **none** of the specified values are present in the field. The " +"field and the condition have no value in common: this means \"contains none " +"of\", not \"does not contain all of\"." msgstr "" -#: ../system/core-workflows/condition-operators.rst:39 -msgid "Matches if one specified value is present." +#: ../system/core-workflows/condition-operators.rst:46 +msgid "" +"In triggers and overviews, this operator means \"not all of the specified " +"values are present\" instead. See the examples section below." msgstr "" -#: ../system/core-workflows/condition-operators.rst:41 -msgid "Matches if one specified value is not present." +#: ../system/core-workflows/condition-operators.rst:50 +msgid "" +"Same as ``contains``. Matches if **at least one** of the specified values is " +"present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:42 +#: ../system/core-workflows/condition-operators.rst:53 +msgid "" +"Same as ``contains not``. Matches if the field contains at least one value " +"that is **not** among the specified values." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:56 msgid "does not match regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:43 +#: ../system/core-workflows/condition-operators.rst:57 msgid "Matches if content doesn't fit to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:44 +#: ../system/core-workflows/condition-operators.rst:58 msgid "ends with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:45 +#: ../system/core-workflows/condition-operators.rst:59 msgid "Matches if content ends with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:46 +#: ../system/core-workflows/condition-operators.rst:60 msgid "ends with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:47 +#: ../system/core-workflows/condition-operators.rst:61 msgid "Matches if content ends with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:48 +#: ../system/core-workflows/condition-operators.rst:62 msgid "from (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:49 +#: ../system/core-workflows/condition-operators.rst:63 msgid "Matches if date/time is after a period of time after an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:51 +#: ../system/core-workflows/condition-operators.rst:65 msgid "Matches if content is equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:52 +#: ../system/core-workflows/condition-operators.rst:66 msgid "is any of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:53 +#: ../system/core-workflows/condition-operators.rst:67 msgid "Matches if content is equal to any of specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:54 +#: ../system/core-workflows/condition-operators.rst:68 msgid "is greater than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:55 +#: ../system/core-workflows/condition-operators.rst:69 msgid "Matches if the value is greater than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:56 +#: ../system/core-workflows/condition-operators.rst:70 msgid "is greater than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:57 +#: ../system/core-workflows/condition-operators.rst:71 msgid "Matches if the value is greater than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:58 +#: ../system/core-workflows/condition-operators.rst:72 msgid "is less than" msgstr "" -#: ../system/core-workflows/condition-operators.rst:59 +#: ../system/core-workflows/condition-operators.rst:73 msgid "Matches if the value is less than the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:60 +#: ../system/core-workflows/condition-operators.rst:74 msgid "is less than or equal to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:61 +#: ../system/core-workflows/condition-operators.rst:75 msgid "Matches if the value is less than or equal to the specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:62 +#: ../system/core-workflows/condition-operators.rst:76 msgid "is modified" msgstr "" -#: ../system/core-workflows/condition-operators.rst:63 +#: ../system/core-workflows/condition-operators.rst:77 msgid "Matches if content is modified." msgstr "" -#: ../system/core-workflows/condition-operators.rst:65 -#: ../system/core-workflows/condition-operators.rst:69 +#: ../system/core-workflows/condition-operators.rst:79 +#: ../system/core-workflows/condition-operators.rst:83 msgid "True from the moment of changing content until form submit." msgstr "" -#: ../system/core-workflows/condition-operators.rst:66 +#: ../system/core-workflows/condition-operators.rst:80 msgid "is modified to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:67 +#: ../system/core-workflows/condition-operators.rst:81 msgid "Matches if content is modified to a specific value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:70 +#: ../system/core-workflows/condition-operators.rst:84 msgid "is none of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:71 +#: ../system/core-workflows/condition-operators.rst:85 msgid "Matches if content is none of any specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:73 +#: ../system/core-workflows/condition-operators.rst:87 msgid "Matches if content is not equal to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:75 +#: ../system/core-workflows/condition-operators.rst:89 msgid "Matches if content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:76 +#: ../system/core-workflows/condition-operators.rst:90 msgid "just changed" msgstr "" -#: ../system/core-workflows/condition-operators.rst:77 +#: ../system/core-workflows/condition-operators.rst:91 msgid "Matches if content has changed." msgstr "" -#: ../system/core-workflows/condition-operators.rst:79 -#: ../system/core-workflows/condition-operators.rst:83 +#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:97 msgid "" "Only true for the moment of changing content until next form field action/" "click." msgstr "" -#: ../system/core-workflows/condition-operators.rst:80 +#: ../system/core-workflows/condition-operators.rst:94 msgid "just changed to" msgstr "" -#: ../system/core-workflows/condition-operators.rst:81 +#: ../system/core-workflows/condition-operators.rst:95 msgid "Matches if content has changed to a specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:84 +#: ../system/core-workflows/condition-operators.rst:98 msgid "matches regex" msgstr "" -#: ../system/core-workflows/condition-operators.rst:85 +#: ../system/core-workflows/condition-operators.rst:99 msgid "Matches if value fits to regex rule." msgstr "" -#: ../system/core-workflows/condition-operators.rst:87 +#: ../system/core-workflows/condition-operators.rst:101 msgid "Matches if no content is present." msgstr "" -#: ../system/core-workflows/condition-operators.rst:88 +#: ../system/core-workflows/condition-operators.rst:102 msgid "starts with" msgstr "" -#: ../system/core-workflows/condition-operators.rst:89 +#: ../system/core-workflows/condition-operators.rst:103 msgid "Matches if content starts with specified value." msgstr "" -#: ../system/core-workflows/condition-operators.rst:90 +#: ../system/core-workflows/condition-operators.rst:104 msgid "starts with one of" msgstr "" -#: ../system/core-workflows/condition-operators.rst:91 +#: ../system/core-workflows/condition-operators.rst:105 msgid "Matches if content starts with one of the specified values." msgstr "" -#: ../system/core-workflows/condition-operators.rst:92 +#: ../system/core-workflows/condition-operators.rst:106 msgid "till (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:93 +#: ../system/core-workflows/condition-operators.rst:107 msgid "Matches if date/time is before a period of time before an event." msgstr "" -#: ../system/core-workflows/condition-operators.rst:94 +#: ../system/core-workflows/condition-operators.rst:108 msgid "today" msgstr "" -#: ../system/core-workflows/condition-operators.rst:95 +#: ../system/core-workflows/condition-operators.rst:109 msgid "Matches if date/time is today." msgstr "" -#: ../system/core-workflows/condition-operators.rst:96 +#: ../system/core-workflows/condition-operators.rst:110 msgid "within last (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:97 +#: ../system/core-workflows/condition-operators.rst:111 msgid "" "Matches if date/time content is within specified period of time before now." msgstr "" -#: ../system/core-workflows/condition-operators.rst:99 +#: ../system/core-workflows/condition-operators.rst:113 msgid "within next (relative)" msgstr "" -#: ../system/core-workflows/condition-operators.rst:100 +#: ../system/core-workflows/condition-operators.rst:114 msgid "" "Matches if date/time content is within specified period of time after now." msgstr "" +#: ../system/core-workflows/condition-operators.rst:118 +msgid "Multi-Select Operators" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:120 +msgid "" +"The ``contains`` family of operators compares two sets of values: the values " +"currently in the field and the values specified in the condition. The " +"diagrams below show the condition values as an orange circle and the field " +"values as a blue circle." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:128 +msgid "Differences to Triggers and Overviews" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:130 +msgid "" +"Be aware that these operators behave **differently** in other features that " +"use conditions (e.g. triggers and overviews). The most confusing difference: " +"in core workflows, ``contains all not`` means that no value matches at all, " +"while in triggers and overviews it means \"not all values are present\". The " +"table below compares both worlds side by side." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:142 +msgid "Core workflows (this page)" +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:143 +msgid "Triggers, overviews, etc." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:145 +#: ../system/core-workflows/condition-operators.rst:149 +msgid "At least one value is present (OR logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:146 +msgid "Not available; ``contains one`` is the equivalent." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:148 +#: ../system/core-workflows/condition-operators.rst:188 +#: ../system/core-workflows/condition-operators.rst:228 +#: ../system/core-workflows/condition-operators.rst:271 +#: ../system/core-workflows/condition-operators.rst:311 +msgid "Same as ``contains``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:151 +#: ../system/core-workflows/condition-operators.rst:152 +msgid "Every value is present (AND logic)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:154 +msgid "" +"At least one field value is outside the condition, or the field is empty." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:156 +msgid "Not available for multi-select fields." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:158 +#: ../system/core-workflows/condition-operators.rst:197 +#: ../system/core-workflows/condition-operators.rst:237 +#: ../system/core-workflows/condition-operators.rst:280 +#: ../system/core-workflows/condition-operators.rst:320 +msgid "Same as ``contains not``." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:162 +msgid "Not all values are present (at least one is missing)." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:194 +msgid "``C`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:200 +msgid "``A`` and ``B`` are present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:234 +msgid "``D`` is in the field but not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:240 +msgid "``C`` is present in the field." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:242 +msgid "" +"This partial overlap is where the two \"all\" operators part ways: " +"``contains all`` fails because one condition value is missing, while " +"``contains all not`` fails because a single common value is enough to block " +"it." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:277 +msgid "``C`` and ``D`` are not in the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:285 +msgid "This is the only example where ``contains all not`` matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:317 +msgid "An empty field matches." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:323 +msgid "An empty field has no value in common with the condition." +msgstr "" + +#: ../system/core-workflows/condition-operators.rst:325 +msgid "" +"Note that ``contains not`` and ``contains one not`` match an empty field, " +"while ``contains`` and ``contains all`` do not. If you want to exclude " +"specific values, be aware that empty fields pass the condition." +msgstr "" + #: ../system/core-workflows/how-do-they-work.rst:2 msgid "How do they work?" msgstr ""