# Strings potx extracts that are deliberately not in a project's fr.po, one per
# line, each with the reason it is here. scripts/check-translations.php reads
# this file, so anything listed stops being reported: add a line only when the
# string is genuinely not worth an entry, never to quieten the check.
#
# Strings whose whole content is placeholders. There is no word to translate:
# the only literal characters are punctuation that reads identically in French,
# so a msgstr repeating the msgid would produce byte-identical output, because
# Drupal falls back to the source string when a translation is absent. Filling
# them in adds a line every future translator has to read and skip.
#
# A single placeholder with nothing around it cannot be listed here at all: the
# check reports it whatever this file says. It is not a string anyone decided
# to leave in English, it is a runtime value put through a translation call,
# which translates nothing and leaves the words it looked like it was
# translating somewhere else as plain strings. Two were listed here for that
# reason before the check could tell them apart.
@node (#@id)
@node: @outcome
@label (@variables)
#
# The package name every .info.yml carries. Its French IS "Workflow", so the
# same reasoning applies: identical output, and one copy per project, for a
# word that is already the same in both languages.
Not telling %caller about %event: its notice address %url is not one this site will post to.
Workflow
#
# The labels of two notification profiles Orchestra installs. Their French is
# the same word, "Standard" and "Important", so the same reasoning applies.
Important
Standard
#
# Watchdog entries. potx extracts them because a logger call looks like any
# other call with a sentence in it, but a watchdog entry is not interface: it is
# read by whoever is diagnosing the site, often in a shared channel or an
# aggregator, and it stays in English on purpose. What the engine records and
# what a person is shown are two different sentences, and the ones a person is
# shown are in the catalogs.
#
# The test is WHO READS IT, not which call it sits in. Being inside a logger
# call was the old wording and it drew the line in the wrong place: on a
# DrushCommands subclass `$this->logger()` is the console logger, which writes
# to the terminal of the operator who typed the command, so those sentences are
# that command's own interface and belong in a catalog. They were listed here,
# next to their own `output()->writeln()` neighbors which were translated, and
# one purge run printed its preview in French and its result in English. Every
# entry below was checked to reach the site's log and nobody's screen; if a
# string here ever starts reaching a reader, it belongs in a catalog instead.
A submission on webform %form carried a binding handle that resolved to nothing (expired or invalid); it neither started nor resumed a workflow.
A submission on webform %form named a step its submitter may not complete, so it was neither bound to the run nor resumed it.
Attach task failed on instance %id: @message
Action task "%action" failed on instance %id: @message
Action task on instance %id has no action configured; skipping.
Canceled payment @payment: its step (token @token) advanced with the payer still at the provider, so nothing is waiting for it. If the payer completed the checkout, the money needs reconciling by hand.
Could not acquire the lock to mutate task %id; skipped.
Could not arm join timeouts for stalled instance %id: @message
Could not ask %remote about child %child of token %token: @message
Could not delete the payments of deleted instance @id: @message
Could not forget stored tokens after instance @id ended: @message
Could not poll the parent a remote notice named (record %record): @message
Could not record %channel.%action to the audit trail: @message
Could not report unreachable task %id: @message
Could not release the authorization on payment @id, left by an earlier pass through the payment step: @message. The amount stays held on the card until the provider expires it.
Descendant walk from token %id hit the lineage cap of %cap; deeper descendants were not collected and an operation cascading over them (e.g. a cancel) may be incomplete.
Draining the workflow advance queue failed; the item was released for retry: @message
Gave up canceling child %child on %remote after %attempts tries; it is still running there with nothing waiting on it. Last error: @message
Gave up telling %caller about %event on run %instance after %attempts attempts. Last error: @message
Incident raised on instance %instance at node %node; the branch awaits operator resolution.
Incident raised on instance %instance: the %type notification could not be sent.
Inline advance of token %id failed; leaving it for cron: @message
Inline advance reached the per-request cap of @cap; the rest advances on cron.
Inline drain of instance %id stopped early: @message
Instance %id completed.
Instance %id has waiting token(s) but nothing can advance them: a join is waiting on a branch that was canceled or failed. Make the join a timeout join (by editing the workflow, or migrating to a version that does) to resume it, or cancel the instance.
Instance %id is stalled at join(s) %nodes, which are timeout joins whose timeout is missing or is not a duration, so no deadline could be armed. Correct the timeout on the workflow and the timeout sweep will resume it.
Instance %id was stalled at a join; armed %n join timeout(s) from its current definition, so the timeout sweep will resume it.
Instance %instance ends a branch at node %node with no successor: @reason
Join %node fired with every arc present, leaving %count surplus token(s) waiting on already-counted arcs; if the upstream does not re-deliver on every arc these will not pair and may keep instance %instance from completing (check for an unbalanced loop into a wait_all join).
Moderation transition skipped for instance %id: state "%state" is empty or not in the entity workflow.
More requests have arrived at the interaction doorway from %caller than this site answers in one period. Raise the limits in the Orchestra interaction settings if this is simply a busy link.
Orchestra resume: no task token %id found.
Orchestra resume: no task token given (the token ID resolved to empty). Nothing to resume.
Orchestra resume: task token %id belongs to no instance. Skipped.
Orchestra resume: task token %id is on a %type node, which this action does not answer. Skipped.
Orchestra token request failed: @message
Orchestra: could not start process %id: @message
Orchestra: no workflow configured to start.
Orchestra: started instance @id of %id.
Orchestra: the variable %name is reserved for the engine, so it was not seeded into %id.
Payment %payment resolved (%outcome), but its pinned workflow token %token was not resumed (already advanced, or the wait timed out).
Payment %payment was authorized, but its pinned workflow token %token had already advanced, so the run it was taken for is gone. The hold needs releasing by hand.
Refused to reassign task %id to user %uid: not an active account.
Refused to reassign task %id to user %uid: the account cannot process Orchestra tasks.
Released the authorization on payment @id: an earlier pass through the payment step left it, and this run is settling a later one.
Remote child %child of token %token failed on %remote; re-launch %n of %max booked.
Remote child sweep failed on token %token: @message
Retention purged @count terminal process instance(s).
Retention stopped at its per-run limit of @limit instance(s), so more remain; the next run continues from there. If the backlog is not shrinking, purge from the command line with a higher --limit.
Run %instance was deleted while token %token waited on child %child at %remote, which could not be ended: @message
Settling payment @id was declined by the gateway: @message
Started process %definition as instance %id in tenant %tenant.
Step %node of workflow %workflow opens the %operation form of a %entity_type, which that entity type does not declare. Correct the step configuration.
Subprocess child of token %id failed; re-launch %n of %max scheduled.
Task %id re-offered to %audience (was user %from).
Task %id reassigned from %from to user %to.
Task %id went back to its pool: user %uid, who held it, was %reason.
The %plugin escalation on node %node found nobody, so task token %token was left with the audience it had. Check the escalation target: an account it names may have been blocked or deleted.
The reassign timeout on node %node escalates to %target, which notifies people rather than naming candidates, so task token %token was left with the audience it had.
The reassign timeout on node %node names %target as its escalation audience, which is not available, so task token %token was left with the audience it had.
The %plugin notification pool for groups %groups exceeds @max members; only the first @max were notified. Narrow the groups used for human task assignment.
The %plugin notification pool for roles %roles exceeds @max members; only the first @max were notified. Narrow the roles used for human task assignment.
The %type notification of instance @instance was not sent: the step it is about is no longer waiting.
The %type notification of instance @instance is tried again in @seconds seconds for @recipients: @reason
The %type notification of instance @instance was given up for @recipients after @attempts attempts: @reason
A notification of instance @instance could not be sent, and is left to cron: @message
The payment step read %value from the process variable %name, which is not an amount it can charge (a plain decimal string of at most @scale decimals), so there is nothing to pay for this step.
The site default timeout %duration is not a duration, so the task on instance %id parks without a deadline and no relative timeout on this site can fire. Correct it on the Orchestra settings page.
Timer @index on node %node has offset %after, which is not a duration, so it re-armed with no deadline and will not fire again. Correct the offset on the node.
Timer @index on node %node has offset %after, which is not a duration, and the node has no other timeout, so nothing will move this token on its own. Correct the offset on the node.
Timer @index on node %node has offset %after, which is not a duration, so its alarm was parked with no deadline and will never fire. Correct the offset on the node.
Timeout date %until resolves to no usable date on instance %id; the task parks without a deadline.
Timeout date offset %offset on instance %id is not a valid duration; it is ignored.
Timeout deadline provider %provider is not installed; the task on instance %id parks without a deadline.
Timeout duration %duration resolves to no usable duration on instance %id; the task parks without a deadline.
Timeout sweep could not advance waiting token %id at node %node; will retry next run: @message
Timeout sweep could not back off due token %id after a fire error: @message
Timeout sweep could not fire due token %id at node %node; backing off before retry: @message
Token %id arrived at join %node with no source flow; it cannot count toward the join and may stall it.
Token %id canceled on node %node%reason.
Token %id parked on node %node.
Token %id references unknown node %node; failing instance %instance.
Token %id signaled; resuming from node %node.
Token %id waiting to join at node %node (%arcs of %expected arcs arrived).
Token %token dead-lettered after @attempts failed advances at node %node: @message
Token %token failed to advance at node %node (attempt @attempts of @max): @message
Unknown @kind action %action on node %node; nothing was fired and the task stays parked. Correct the action or install the module that provides it.
Variables node on instance %id selects no provider; nothing to compute.
Variables node on instance %instance selects the unknown variable provider %id; skipping it.
orchestra_easy_email: error sending the %type notification: @message
orchestra_easy_email: failed to send the %type notification to %to.
orchestra_easy_email: no Easy Email template for the %type notification (looked for %candidate and %fallback).
orchestra_inbox: could not dispatch the %action notification for task %task: @message
orchestra_inbox: could not dispatch the reminder for token %token: @message
orchestra_interaction: could not dispatch the arrival notification for instance %instance at node %node: @message
orchestra_mail: error sending the %type notification to %to: @message
orchestra_mail: failed to send the %type notification to %to.
#
# Strings in the example code of a module's *.api.php, which documents a hook
# for developers and is never loaded, so no reader sees them. potx scans the
# file like any other.
Open the file
