From 6097d9374b7bf2c41e07b3ff01257c64cfc128b9 Mon Sep 17 00:00:00 2001 From: niksedk Date: Sun, 26 Mar 2023 13:58:38 +0200 Subject: [PATCH] Improve Ukranian language auto-detect - thx Preben :) --- Changelog.txt | 2 +- src/libse/Common/LanguageAutoDetect.cs | 19 +++++++++++++------ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/Changelog.txt b/Changelog.txt index 0ee3df03f..861f02aae 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -3,7 +3,7 @@ 3.6.12 (xth March 2023) BETA * NEW: * Add/remove embedded subtitles to/from video files - thx David - * Add Whisper via GPU (ConstMe, Windows-only) - thx albino1/darnn/smith02ct + * Add Whisper via GPU (Const-me, Windows-only) - thx albino1/darnn/smith02ct * Allow video cut when exporting video with burned-in sub - thx Daniela/David/Leon * Batch convert: Image-based format to PNG with time code - thx Ninelpienel * Add new shortcut for split + auto-br - thx oep42 diff --git a/src/libse/Common/LanguageAutoDetect.cs b/src/libse/Common/LanguageAutoDetect.cs index 68eb7a9b6..76f5fe503 100644 --- a/src/libse/Common/LanguageAutoDetect.cs +++ b/src/libse/Common/LanguageAutoDetect.cs @@ -158,16 +158,18 @@ namespace Nikse.SubtitleEdit.Core.Common private static readonly string[] AutoDetectWordsBulgarian = { - "беше", "[Бб]лагодаря", "бързо", "вас", "[Вв]аше", "[Вв]ече", "[Вв]иждам", "време", "[Вв]сичк[ио]", "години", "Да", "[Дд]обре", "дяволите", - "за", "Защо", "защото", "[Зз]начи", "иска[мнш]", "[Кк]ак", "[Кк]акво", "като", "ко[еий]то", "малко", "много", "[Мм]оже[хш]?", "място", - "нас", "[Нн]е", "н[еи]що", "н[ия]кой", "[Нн]яма", "преди", "повече", "става", "така", "[Тт]ова", "[Тт]олкова", "[Тт]рябва", "тук", + "беше", "[Бб]лагодаря", "бързо", "вас", "[Вв]аше", "[Вв]ече", "[Вв]иждам", "време", "[Вв]сичк[ио]", "години", + "Да", "[Дд]обре", "дяволите", "за", "Защо", "защото", "[Зз]начи", "иска[мнш]", "[Кк]ак", "[Кк]акво", "като", + "ко[еий]то", "малко", "много", "[Мм]оже[хш]?", "място", "нас", "[Нн]е", "н[еи]що", "н[ия]кой", "[Нн]яма", + "преди", "повече", "става", "така", "[Тт]ова", "[Тт]олкова", "[Тт]рябва", "тук", "Хайде", "човек" }; private static readonly string[] AutoDetectWordsUkrainian = { - "[Нн]і", "[Пп]ривіт", "[Цц]е", "[Щщ]о", "[Йй]ого", "[Вв]ін", "[Яя]к", "[Гг]аразд", "[Яя]кщо", "[Мм]ені", "[Тт]вій", "[Її]х", "[Вв]ітаю", "[Дд]якую", "вже", "було", "був", "цього", - "нічого", "немає", "може", "знову", "бо", "щось", "щоб", "цим", "тобі", "хотів", "твоїх", "мої", "мій", "має", "їм", "йому", "дуже" + "Вона", "мене", "[Нн]і", "[Пп]ривіт", "[Цц]е", "[Щщ]о", "[Йй]ого", "[Вв]ін", "[Яя]к", "[Гг]аразд", "[Яя]кщо", "[Мм]ені", "[Тт]вій", "[Її]х", "[Вв]ітаю", "[Дд]якую", "вже", "було", "був", "цього", + "нічого", "немає", "може", "знову", "бо", "щось", "щоб", "цим", "тобі", "хотів", "твоїх", "мої", "мій", "має", "їм", "йому", "дуже", + "Привіт", "побачення", "тобою", "побачення", "Гаразд", "повинні", }; private static readonly string[] AutoDetectWordsAlbanian = @@ -521,12 +523,17 @@ namespace Nikse.SubtitleEdit.Core.Common if (count > bestCount) { var bulgarianCount = GetCount(text, AutoDetectWordsBulgarian); + var ukrainianCount = GetCount(text, AutoDetectWordsUkrainian); if (bulgarianCount > count) { + if (ukrainianCount > bulgarianCount) + { + return "uk"; // Ukrainian + } + return "bg"; // Bulgarian } - var ukrainianCount = GetCount(text, AutoDetectWordsUkrainian); if (ukrainianCount > count) { return "uk"; // Ukrainian