Skip to content

Commit

Permalink
Minor improvements to service call descriptions.
Browse files Browse the repository at this point in the history
  • Loading branch information
karwosts committed May 5, 2024
1 parent deda200 commit 5aa8cc9
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 9 deletions.
16 changes: 10 additions & 6 deletions src/data/script_i18n.ts
Original file line number Diff line number Diff line change
Expand Up @@ -89,20 +89,19 @@ const tryDescribeAction = <T extends ActionType>(
const config = action as ActionTypes["service"];

const targets: string[] = [];
if (config.target) {
const targetOrData = config.target || config.data;
if (targetOrData) {
for (const [key, name] of Object.entries({
area_id: "areas",
device_id: "devices",
entity_id: "entities",
floor_id: "floors",
label_id: "labels",
})) {
if (!(key in config.target)) {
if (!(key in targetOrData)) {
continue;
}
const keyConf: string[] = Array.isArray(config.target[key])
? config.target[key]
: [config.target[key]];
const keyConf: string[] = ensureArray(targetOrData[key]) || [];

for (const targetThing of keyConf) {
if (isTemplate(targetThing)) {
Expand Down Expand Up @@ -196,7 +195,10 @@ const tryDescribeAction = <T extends ActionType>(
) {
return hass.localize(
`${actionTranslationBaseKey}.service.description.service_based_on_template`,
{ targets: formatListWithAnds(hass.locale, targets) }
{
hasTargets: targets.length ? "true" : "false",
targets: formatListWithAnds(hass.locale, targets),
}
);
}

Expand All @@ -212,6 +214,7 @@ const tryDescribeAction = <T extends ActionType>(
{
domain: domainToName(hass.localize, domain),
name: service || config.service,
hasTargets: targets.length ? "true" : "false",
targets: formatListWithAnds(hass.locale, targets),
}
);
Expand All @@ -223,6 +226,7 @@ const tryDescribeAction = <T extends ActionType>(
name: service
? `${domainToName(hass.localize, domain)}: ${service}`
: config.service,
hasTargets: targets.length ? "true" : "false",
targets: formatListWithAnds(hass.locale, targets),
}
);
Expand Down
6 changes: 3 additions & 3 deletions src/translations/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -3248,9 +3248,9 @@
"has_optional_response": "This service can return a response, if you want to use the response, enter the name of a variable the response will be saved in",
"has_response": "This service returns a response, enter the name of a variable the response will be saved in",
"description": {
"service_based_on_template": "Call a service based on a template on {targets}",
"service_based_on_name": "Call a service ''{name}'' on {targets}",
"service_name": "{domain} ''{name}'' on {targets}",
"service_based_on_template": "Call a service based on a template{hasTargets, select, \n true { on {targets}} \n other {} \n }",
"service_based_on_name": "Call a service ''{name}''{hasTargets, select, \n true { on {targets}} \n other {} \n }",
"service_name": "{domain} ''{name}''{hasTargets, select, \n true { on {targets}} \n other {} \n }",
"service": "Call a service",
"target_template": "templated {name}",
"target_unknown_entity": "unknown entity",
Expand Down

0 comments on commit 5aa8cc9

Please sign in to comment.