From 425eeb755b19d18a1ac759bcb7efa0762c48c2d5 Mon Sep 17 00:00:00 2001
From: ialokim <ialokim@mailbox.org>
Date: Sat, 12 Feb 2022 22:58:33 +0100
Subject: [PATCH] internationalize TextField and SelectionContainer context
 menu actions

---
 .../org/briarproject/briar/desktop/ui/BriarUi.kt    | 13 ++++++++++++-
 src/main/resources/strings/BriarDesktop.properties  |  6 ++++++
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/src/main/kotlin/org/briarproject/briar/desktop/ui/BriarUi.kt b/src/main/kotlin/org/briarproject/briar/desktop/ui/BriarUi.kt
index 6236de2c62..06cc0ba857 100644
--- a/src/main/kotlin/org/briarproject/briar/desktop/ui/BriarUi.kt
+++ b/src/main/kotlin/org/briarproject/briar/desktop/ui/BriarUi.kt
@@ -27,7 +27,10 @@ import androidx.compose.runtime.mutableStateOf
 import androidx.compose.runtime.remember
 import androidx.compose.runtime.setValue
 import androidx.compose.runtime.staticCompositionLocalOf
+import androidx.compose.ui.ExperimentalComposeUiApi
 import androidx.compose.ui.Modifier
+import androidx.compose.ui.platform.LocalLocalization
+import androidx.compose.ui.platform.PlatformLocalization
 import androidx.compose.ui.res.painterResource
 import androidx.compose.ui.window.FrameWindowScope
 import androidx.compose.ui.window.Window
@@ -104,9 +107,16 @@ constructor(
         eventBus.removeListener(this)
     }
 
+    @OptIn(ExperimentalComposeUiApi::class)
     @Composable
     override fun start(onClose: () -> Unit) {
         val title = i18n("main.title")
+        val platformLocalization = object : PlatformLocalization {
+            override val copy = i18n("copy")
+            override val cut = i18n("cut")
+            override val paste = i18n("paste")
+            override val selectAll = i18n("select_all")
+        }
         eventBus.addListener(this)
         Window(
             title = title,
@@ -118,7 +128,8 @@ constructor(
                 LocalWindowScope provides this,
                 LocalViewModelProvider provides viewModelProvider,
                 LocalCoreFeatureFlags provides featureFlags,
-                LocalDesktopFeatureFlags provides desktopFeatureFlags
+                LocalDesktopFeatureFlags provides desktopFeatureFlags,
+                LocalLocalization provides platformLocalization,
             ) {
                 var showAbout by remember { mutableStateOf(false) }
                 val settingsViewModel: SettingsViewModel = viewModel()
diff --git a/src/main/resources/strings/BriarDesktop.properties b/src/main/resources/strings/BriarDesktop.properties
index c53d3e174b..67245e13ed 100644
--- a/src/main/resources/strings/BriarDesktop.properties
+++ b/src/main/resources/strings/BriarDesktop.properties
@@ -143,6 +143,12 @@ error=Error
 warning=Warning
 unsupported_feature=Unfortunately, this feature is not yet supported by Briar Desktop.
 
+# Compose text edit actions
+copy=Copy
+cut=Cut
+paste=Paste
+select_all=Select all
+
 # Startup screen
 startup.title.registration=Welcome to Briar
 startup.title.login=Welcome back
-- 
GitLab