Google Assistant SDK: support Korean and Japanese (#85419)

* Google Assistant SDK: support Korean and Japanese

* Fix Korean and Japanese broadcast commands
This commit is contained in:
tronikos 2023-01-08 17:16:00 -08:00 committed by GitHub
parent 7bdfa7b9ec
commit 05187d7bf4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 68 additions and 40 deletions

View file

@ -13,12 +13,14 @@ from .helpers import async_send_text_commands, default_language_code
# https://support.google.com/assistant/answer/9071582?hl=en
LANG_TO_BROADCAST_COMMAND = {
"en": ("broadcast", "broadcast to"),
"de": ("Nachricht an alle", "Nachricht an alle an"),
"es": ("Anuncia", "Anuncia en"),
"fr": ("Diffuse", "Diffuse dans"),
"it": ("Trasmetti", "Trasmetti in"),
"pt": ("Transmite", "Transmite para"),
"en": ("broadcast {0}", "broadcast to {1} {0}"),
"de": ("Nachricht an alle {0}", "Nachricht an alle an {1} {0}"),
"es": ("Anuncia {0}", "Anuncia en {1} {0}"),
"fr": ("Diffuse {0}", "Diffuse dans {1} {0}"),
"it": ("Trasmetti {0}", "Trasmetti in {1} {0}"),
"ja": ("{0}とほうそうして", "{0}{1}にブロードキャストして"),
"ko": ("{0} 라고 방송해 줘", "{0} 라고 {1}에 방송해 줘"),
"pt": ("Transmite {0}", "Transmite para {1} {0}"),
}
@ -62,10 +64,10 @@ class BroadcastNotificationService(BaseNotificationService):
commands = []
targets = kwargs.get(ATTR_TARGET)
if not targets:
commands.append(f"{broadcast_commands(language_code)[0]} {message}")
commands.append(broadcast_commands(language_code)[0].format(message))
else:
for target in targets:
commands.append(
f"{broadcast_commands(language_code)[1]} {target} {message}"
broadcast_commands(language_code)[1].format(message, target)
)
await async_send_text_commands(commands, self.hass)