From c20277a7542c7992948b8438712a2b3adb34d66c Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Tue, 25 Jul 2023 12:06:17 -0400 Subject: [PATCH] Improvements on Translation Indexes --- .../vitorpamplona/amethyst/TranslationsTest.kt | 9 +++++++++ .../service/lang/LanguageTranslatorService.kt | 17 ++++++++++------- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/app/src/androidTestPlay/java/com/vitorpamplona/amethyst/TranslationsTest.kt b/app/src/androidTestPlay/java/com/vitorpamplona/amethyst/TranslationsTest.kt index 04bc80ccc..86739bd07 100644 --- a/app/src/androidTestPlay/java/com/vitorpamplona/amethyst/TranslationsTest.kt +++ b/app/src/androidTestPlay/java/com/vitorpamplona/amethyst/TranslationsTest.kt @@ -99,4 +99,13 @@ class TranslationsTest { "en" ) } + + @Test + fun testEmoji() { + assertTranslateContains( + "https://cdn.nostr.build/i/df3783dcdf7dd289ba02ba538dc039c8fe1d4db055e580b81604ed88c6af4ee0.jpg", + "\uD83E\uDD23 https://cdn.nostr.build/i/df3783dcdf7dd289ba02ba538dc039c8fe1d4db055e580b81604ed88c6af4ee0.jpg ", + "pt" + ) + } } diff --git a/app/src/play/java/com/vitorpamplona/amethyst/service/lang/LanguageTranslatorService.kt b/app/src/play/java/com/vitorpamplona/amethyst/service/lang/LanguageTranslatorService.kt index 28346f1ac..d2732d27e 100644 --- a/app/src/play/java/com/vitorpamplona/amethyst/service/lang/LanguageTranslatorService.kt +++ b/app/src/play/java/com/vitorpamplona/amethyst/service/lang/LanguageTranslatorService.kt @@ -26,7 +26,7 @@ data class ResultOrError( object LanguageTranslatorService { var executorService = Executors.newScheduledThreadPool(5) - private val options = LanguageIdentificationOptions.Builder().setExecutor(executorService).setConfidenceThreshold(0.6f).build() + private val options = LanguageIdentificationOptions.Builder().setExecutor(executorService).setConfidenceThreshold(0.52f).build() private val languageIdentification = LanguageIdentification.getClient(options) val lnRegex = Pattern.compile("\\blnbc[a-z0-9]+\\b", Pattern.CASE_INSENSITIVE) val tagRegex = Pattern.compile("(nostr:)?@?(nsec1|npub1|nevent1|naddr1|note1|nprofile1|nrelay1)([qpzry9x8gf2tvdw0s3jn54khce6mua7l]+)", Pattern.CASE_INSENSITIVE) @@ -109,11 +109,12 @@ object LanguageTranslatorService { private fun tagDictionary(text: String): Map { val matcher = tagRegex.matcher(text) val returningList = mutableMapOf() - val counter = 0 + var counter = 0 while (matcher.find()) { try { val tag = matcher.group() - val short = "Amethystmindexer$counter" + val short = "A$counter" + counter++ returningList.put(short, tag) } catch (e: Exception) { } @@ -124,11 +125,12 @@ object LanguageTranslatorService { private fun lnDictionary(text: String): Map { val matcher = lnRegex.matcher(text) val returningList = mutableMapOf() - val counter = 0 + var counter = 0 while (matcher.find()) { try { val lnInvoice = matcher.group() - val short = "Amethystlnindexer$counter" + val short = "A$counter" + counter++ returningList.put(short, lnInvoice) } catch (e: Exception) { } @@ -140,10 +142,11 @@ object LanguageTranslatorService { val parser = UrlDetector(text, UrlDetectorOptions.Default) val urlsInText = parser.detect() - val counter = 0 + var counter = 0 return urlsInText.filter { !it.originalUrl.contains(",") && !it.originalUrl.contains("。") }.associate { - "Amethysturlindexer$counter" to it.originalUrl + counter++ + "A$counter" to it.originalUrl } }