From f0664b3a0c439ec266f6408246f2fa15750ee797 Mon Sep 17 00:00:00 2001 From: GiviMAD Date: Wed, 9 Mar 2022 09:02:06 +0100 Subject: [PATCH] [standardinterpreter] spanish: fix text tokenization and on/off rule (#2826) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Miguel Álvarez Díez --- .../openhab/core/voice/internal/text/StandardInterpreter.java | 2 +- .../openhab/core/voice/text/AbstractRuleBasedInterpreter.java | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/bundles/org.openhab.core.voice/src/main/java/org/openhab/core/voice/internal/text/StandardInterpreter.java b/bundles/org.openhab.core.voice/src/main/java/org/openhab/core/voice/internal/text/StandardInterpreter.java index 162aecbf90..02a1c9aec6 100644 --- a/bundles/org.openhab.core.voice/src/main/java/org/openhab/core/voice/internal/text/StandardInterpreter.java +++ b/bundles/org.openhab.core.voice/src/main/java/org/openhab/core/voice/internal/text/StandardInterpreter.java @@ -261,7 +261,7 @@ public class StandardInterpreter extends AbstractRuleBasedInterpreter { /* OnOffType */ - itemRule(seq(encenderApagar, articulo), /* item */ onOff), + itemRule(seq(encenderApagar, articulo)/* item */), /* IncreaseDecreaseType */ diff --git a/bundles/org.openhab.core.voice/src/main/java/org/openhab/core/voice/text/AbstractRuleBasedInterpreter.java b/bundles/org.openhab.core.voice/src/main/java/org/openhab/core/voice/text/AbstractRuleBasedInterpreter.java index dd3c6adf2f..734fd36d23 100644 --- a/bundles/org.openhab.core.voice/src/main/java/org/openhab/core/voice/text/AbstractRuleBasedInterpreter.java +++ b/bundles/org.openhab.core.voice/src/main/java/org/openhab/core/voice/text/AbstractRuleBasedInterpreter.java @@ -599,6 +599,8 @@ public abstract class AbstractRuleBasedInterpreter implements HumanLanguageInter if (Locale.FRENCH.getLanguage().equalsIgnoreCase(locale.getLanguage())) { split = text.toLowerCase(locale).replaceAll("[\\']", " ").replaceAll("[^\\w\\sàâäçéèêëîïôùûü]", " ") .split("\\s"); + } else if ("es".equalsIgnoreCase(locale.getLanguage())) { + split = text.toLowerCase(locale).replaceAll("[\\']", " ").replaceAll("[^\\w\\sáéíóúü]", " ").split("\\s"); } else { split = text.toLowerCase(locale).replaceAll("[\\']", "").replaceAll("[^\\w\\s]", " ").split("\\s"); }