diff --git a/changelog.d/1309.feature b/changelog.d/1309.feature
new file mode 100644
index 0000000000..da6a3d6132
--- /dev/null
+++ b/changelog.d/1309.feature
@@ -0,0 +1 @@
+[Rich text editor] Add link support to rich text editor
diff --git a/features/analytics/impl/src/main/res/values-de/translations.xml b/features/analytics/impl/src/main/res/values-de/translations.xml
index ac9149a4b6..a214069ae3 100644
--- a/features/analytics/impl/src/main/res/values-de/translations.xml
+++ b/features/analytics/impl/src/main/res/values-de/translations.xml
@@ -1,10 +1,10 @@
"Wir zeichnen keine persönlichen Daten auf und erstellen keine Profile."
- "Teile anonyme Nutzungsdaten, um uns bei der Identifizierung von Problemen zu helfen."
- "Du kannst alle unsere Bedingungen lesen %1$s."
+ "Teilen Sie anonyme Nutzungsdaten, um uns bei der Identifizierung von Problemen zu helfen."
+ "Sie können alle unsere Bedingungen lesen%1$s."
"hier"
"Du kannst diese Funktion jederzeit deaktivieren"
- "Wir geben Ihre Daten nicht an Dritte weiter"
+ "Wir geben deine Daten nicht an Dritte weiter"
"Hilf uns %1$s zu verbessern"
diff --git a/features/ftue/impl/src/main/res/values-de/translations.xml b/features/ftue/impl/src/main/res/values-de/translations.xml
index 9ee1113fdb..d9a411b04f 100644
--- a/features/ftue/impl/src/main/res/values-de/translations.xml
+++ b/features/ftue/impl/src/main/res/values-de/translations.xml
@@ -6,8 +6,8 @@
"Erlaube Benachrichtigungen und verpasse keine Nachricht"
"Anrufe, Umfragen, Suchfunktionen und mehr werden im Laufe des Jahres hinzugefügt."
"Der Nachrichtenverlauf für verschlüsselte Räume wird in diesem Update nicht verfügbar sein."
- "Wir würden uns freuen, von Ihnen zu hören. Teilen Sie uns Ihre Meinung über die Einstellungsseite mit."
+ "Wir würden uns freuen, von dir zu hören. Teile uns deine Meinung über die Einstellungsseite mit."
"Los geht\'s!"
- "Folgendes müssen Sie wissen:"
+ "Folgendes musst du wissen:"
"Willkommen bei %1$s!"
diff --git a/features/login/impl/src/main/res/values-de/translations.xml b/features/login/impl/src/main/res/values-de/translations.xml
index cf247877fe..a7511c0f09 100644
--- a/features/login/impl/src/main/res/values-de/translations.xml
+++ b/features/login/impl/src/main/res/values-de/translations.xml
@@ -5,7 +5,7 @@
"Gib einen Suchbegriff oder eine Domainadresse ein."
"Suche nach einem Unternehmen, einer Community oder einem privaten Server."
"Kontoanbieter finden"
- "Hier werden Ihre Gespräche gespeichert – genau so, wie du einen E-Mail-Anbieter nutzen würdest, um deine E-Mails aufzubewahren."
+ "Hier werden deine Gespräche gespeichert – genau so, wie du einen E-Mail-Anbieter nutzen würdest, um deine E-Mails aufzubewahren."
"Du bist dabei, dich bei %s anzumelden"
"Hier werden deine Gespräche gespeichert – genau so, wie du einen E-Mail-Anbieter nutzen würdest, um deine E-Mails aufzubewahren."
"Du bist dabei, ein Konto bei %s zu erstellen"
@@ -17,7 +17,7 @@
"Dieser Server unterstützt derzeit kein Sliding Sync."
"Homeserver-URL"
"Du kannst nur eine Verbindung zu einem vorhandenen Server herstellen, der Sliding Sync unterstützt. Dein Homeserver-Administrator muss das konfigurieren. %1$s"
- "Wie lautet die Adresse Ihres Servers?"
+ "Wie lautet die Adresse deines Servers?"
"Dieses Konto wurde deaktiviert."
"Falscher Benutzername und/oder Passwort"
"Dies ist keine gültige Benutzerkennung. Erwartetes Format: \'@user:homeserver.org\'"
@@ -28,15 +28,15 @@
"Kontoanbieter wechseln"
"Ein privater Server für die Mitarbeiter von Element."
"Matrix ist ein offenes Netzwerk für eine sichere, dezentrale Kommunikation."
- "Hier werden Ihre Gespräche gespeichert - so wie Sie Ihre E-Mails bei einem E-Mail-Anbieter aufbewahren würden."
- "Sie sind dabei, sich bei %1$s anzumelden"
- "Sie sind dabei, ein Konto auf %1$s zu erstellen"
- "Derzeit besteht eine hohe Nachfrage nach %1$s auf %2$s. Kehren Sie in ein paar Tagen zur App zurück und versuchen Sie es erneut.
+ "Hier werden deine Gespräche gespeichert - so wie du deine E-Mails bei einem E-Mail-Anbieter aufbewahren würden."
+ "Du bist dabei, dich bei %1$s anzumelden"
+ "Du bist dabei, ein Konto auf %1$s zu erstellen"
+ "Derzeit besteht eine hohe Nachfrage nach %1$s auf %2$s. Kehre in ein paar Tagen zur App zurück und versuche es erneut.
-Danke für Ihre Geduld!"
+Danke für deine Geduld!"
"Willkommen bei %1$s!"
- "Sie sind fast am Ziel."
- "Sie sind dabei."
+ "Du bist fast am Ziel."
+ "Du bist dabei."
"Weiter"
"Weiter"
"Wähle deinen Server aus"
diff --git a/features/logout/api/src/main/res/values-de/translations.xml b/features/logout/api/src/main/res/values-de/translations.xml
index 893cc983b0..f1eb199d95 100644
--- a/features/logout/api/src/main/res/values-de/translations.xml
+++ b/features/logout/api/src/main/res/values-de/translations.xml
@@ -1,6 +1,6 @@
- "Sind Sie sicher, dass Sie sich abmelden wollen?"
+ "Bist du sicher, dass du dich abmelden willst?"
"Abmelden"
"Abmelden…"
"Abmelden"
diff --git a/features/messages/impl/src/main/res/values-de/translations.xml b/features/messages/impl/src/main/res/values-de/translations.xml
index 7127196056..0249df4a9e 100644
--- a/features/messages/impl/src/main/res/values-de/translations.xml
+++ b/features/messages/impl/src/main/res/values-de/translations.xml
@@ -34,7 +34,7 @@
"Weniger anzeigen"
"Mehr anzeigen"
"Erneut senden"
- "Ihre Nachricht konnte nicht gesendet werden"
+ "Deine Nachricht konnte nicht gesendet werden"
"Emoji hinzufügen"
"Weniger anzeigen"
"Fehler beim Verarbeiten des hochgeladenen Mediums. Bitte versuche es erneut."
diff --git a/features/preferences/impl/src/main/res/values-de/translations.xml b/features/preferences/impl/src/main/res/values-de/translations.xml
index 787bba6087..6e26c5ddf1 100644
--- a/features/preferences/impl/src/main/res/values-de/translations.xml
+++ b/features/preferences/impl/src/main/res/values-de/translations.xml
@@ -1,7 +1,7 @@
"Anzeigename"
- "Ihr Anzeigename"
+ "Dein Anzeigename"
"Ein unbekannter Fehler ist aufgetreten und die Informationen konnten nicht geändert werden."
"Profil kann nicht aktualisiert werden"
"Profil bearbeiten"
diff --git a/features/rageshake/impl/src/main/res/values-de/translations.xml b/features/rageshake/impl/src/main/res/values-de/translations.xml
index 63564615b8..68951d81f8 100644
--- a/features/rageshake/impl/src/main/res/values-de/translations.xml
+++ b/features/rageshake/impl/src/main/res/values-de/translations.xml
@@ -10,6 +10,6 @@
"Absturzprotokolle senden"
"Protokolle zulassen"
"Bildschirmfoto senden"
- "Die Protokolle werden Ihrer Nachricht beigefügt, um sicherzustellen, dass alles ordnungsgemäß funktioniert. Um deine Nachricht ohne Protokolle zu senden, deaktiviere diese Einstellung."
+ "Die Protokolle werden deiner Nachricht beigefügt, um sicherzustellen, dass alles ordnungsgemäß funktioniert. Um deine Nachricht ohne Protokolle zu senden, deaktiviere diese Einstellung."
"%1$s ist bei der letzten Nutzung abgestürzt. Möchtest du einen Absturzbericht mit uns teilen?"
diff --git a/features/roomlist/impl/src/main/res/values-de/translations.xml b/features/roomlist/impl/src/main/res/values-de/translations.xml
index c24d2146a4..3e511f67bd 100644
--- a/features/roomlist/impl/src/main/res/values-de/translations.xml
+++ b/features/roomlist/impl/src/main/res/values-de/translations.xml
@@ -4,6 +4,6 @@
"Beginne, indem du jemandem eine Nachricht sendest."
"Noch keine Chats."
"Alle Chats"
- "Es sieht aus, als würden Sie ein neues Gerät verwenden. Verifizieren Sie es mit einem anderen Gerät, damit Sie auf Ihre verschlüsselten Nachrichten zugreifen können."
- "Bestätigen Sie Ihre Identität"
+ "Es sieht aus, als würdest du ein neues Gerät verwenden. Verifiziere es mit einem anderen Gerät, damit du auf deine verschlüsselten Nachrichten zugreifen kannst."
+ "Bestätige deine Identität"
diff --git a/features/verifysession/impl/src/main/res/values-de/translations.xml b/features/verifysession/impl/src/main/res/values-de/translations.xml
index 5b4850ae57..183477a4c1 100644
--- a/features/verifysession/impl/src/main/res/values-de/translations.xml
+++ b/features/verifysession/impl/src/main/res/values-de/translations.xml
@@ -1,18 +1,18 @@
"Etwas scheint nicht zu stimmen. Entweder ist das Zeitlimit für die Anfrage abgelaufen oder die Anfrage wurde abgelehnt."
- "Vergewissern Sie sich, dass die folgenden Emojis mit denen in Ihrer anderen Session übereinstimmen."
+ "Vergewissere dich dass die folgenden Emojis mit denen in deiner anderen Session übereinstimmen."
"Emojis vergleichen"
- "Ihre neue Session ist nun verifiziert. Sie hat Zugriff auf Ihre verschlüsselten Nachrichten und wird von anderen Benutzern als vertrauenswürdig eingestuft."
- "Beweisen Sie Ihre Identität, um auf Ihren verschlüsselten Nachrichtenverlauf zuzugreifen."
- "Öffnen Sie eine bestehende Sitzung"
+ "Deine neue Session ist nun verifiziert. Sie hat Zugriff auf deine verschlüsselten Nachrichten und wird von anderen Benutzern als vertrauenswürdig eingestuft."
+ "Beweise deine Identität, um auf deinen verschlüsselten Nachrichtenverlauf zuzugreifen."
+ "Öffne eine bestehende Session"
"Verifizierung wiederholen"
"Ich bin bereit"
"Warten auf eine Übereinstimmung"
- "Vergleichen Sie die einzelnen Emojis und stellen Sie sicher, dass sie in der gleichen Reihenfolge erscheinen."
+ "Vergleiche die einzelnen Emojis und stelle sicher, dass sie in der gleichen Reihenfolge erscheinen."
"Sie stimmen nicht überein"
"Sie stimmen überein"
- "Akzeptieren Sie die Anfrage, um den Verifizierungsprozess in Ihrer anderen Session zu starten, um fortzufahren."
+ "Akzeptiere die Anfrage, um den Verifizierungsprozess in deiner anderen Session zu starten, um fortzufahren."
"Warten auf die Annahme der Anfrage"
"Verifizierung abgebrochen"
"Start"
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 72472d9dbf..9781d54c48 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -46,7 +46,7 @@ dependencyanalysis = "1.22.0"
stem = "2.3.0"
sqldelight = "1.5.5"
telephoto = "0.6.0"
-wysiwyg = "2.10.0"
+wysiwyg = "2.10.2"
# DI
dagger = "2.48"
diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/dialogs/ListDialog.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/dialogs/ListDialog.kt
new file mode 100644
index 0000000000..979faf5b9a
--- /dev/null
+++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/dialogs/ListDialog.kt
@@ -0,0 +1,124 @@
+/*
+ * Copyright (c) 2023 New Vector Ltd
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package io.element.android.libraries.designsystem.components.dialogs
+
+import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.lazy.LazyColumn
+import androidx.compose.foundation.lazy.LazyListScope
+import androidx.compose.material3.AlertDialog
+import androidx.compose.material3.ExperimentalMaterial3Api
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.unit.dp
+import com.airbnb.android.showkase.annotation.ShowkaseComposable
+import io.element.android.libraries.designsystem.components.list.TextFieldListItem
+import io.element.android.libraries.designsystem.preview.DayNightPreviews
+import io.element.android.libraries.designsystem.preview.ElementPreview
+import io.element.android.libraries.designsystem.preview.PreviewGroup
+import io.element.android.libraries.designsystem.theme.components.DialogPreview
+import io.element.android.libraries.designsystem.theme.components.ListSupportingText
+import io.element.android.libraries.designsystem.theme.components.SimpleAlertDialogContent
+import io.element.android.libraries.ui.strings.CommonStrings
+
+@OptIn(ExperimentalMaterial3Api::class)
+@Composable
+fun ListDialog(
+ onDismissRequest: () -> Unit,
+ onSubmit: () -> Unit,
+ modifier: Modifier = Modifier,
+ title: String? = null,
+ subtitle: String? = null,
+ cancelText: String = stringResource(CommonStrings.action_cancel),
+ submitText: String = stringResource(CommonStrings.action_ok),
+ listItems: LazyListScope.() -> Unit,
+) {
+ val decoratedSubtitle: @Composable (() -> Unit)? = subtitle?.let {
+ @Composable {
+ ListSupportingText(
+ text = it,
+ modifier = Modifier.padding(start = 8.dp)
+ )
+ }
+ }
+ AlertDialog(
+ modifier = modifier,
+ onDismissRequest = onDismissRequest,
+ ) {
+ ListDialogContent(
+ title = title,
+ subtitle = decoratedSubtitle,
+ cancelText = cancelText,
+ submitText = submitText,
+ onDismissRequest = onDismissRequest,
+ onSubmitClicked = onSubmit,
+ listItems = listItems,
+ )
+ }
+}
+
+@Composable
+internal fun ListDialogContent(
+ listItems: LazyListScope.() -> Unit,
+ onDismissRequest: () -> Unit,
+ onSubmitClicked: () -> Unit,
+ cancelText: String,
+ submitText: String,
+ modifier: Modifier = Modifier,
+ title: String? = null,
+ subtitle: @Composable (() -> Unit)? = null,
+) {
+ SimpleAlertDialogContent(
+ title = title,
+ subtitle = subtitle,
+ modifier = modifier,
+ cancelText = cancelText,
+ submitText = submitText,
+ onCancelClicked = onDismissRequest,
+ onSubmitClicked = onSubmitClicked,
+ applyPaddingToContents = false,
+ ) {
+ LazyColumn(
+ modifier = Modifier.padding(start = 8.dp)
+ ) { listItems() }
+ }
+}
+
+@DayNightPreviews
+@ShowkaseComposable(group = PreviewGroup.Dialogs)
+@Composable
+internal fun ListDialogContentPreview() {
+ ElementPreview(showBackground = false) {
+ DialogPreview {
+ ListDialogContent(
+ listItems = {
+ item {
+ TextFieldListItem(placeholder = "Text input", text = "", onTextChanged = {})
+ }
+ item {
+ TextFieldListItem(placeholder = "Another text input", text = "", onTextChanged = {})
+ }
+ },
+ title = "Dialog title",
+ onDismissRequest = {},
+ onSubmitClicked = {},
+ cancelText = "Cancel",
+ submitText = "Save",
+ )
+ }
+ }
+}
diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/list/TextFieldListItem.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/list/TextFieldListItem.kt
new file mode 100644
index 0000000000..525d5e76b1
--- /dev/null
+++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/list/TextFieldListItem.kt
@@ -0,0 +1,76 @@
+/*
+ * Copyright (c) 2023 New Vector Ltd
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package io.element.android.libraries.designsystem.components.list
+
+import androidx.compose.material3.OutlinedTextFieldDefaults
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.tooling.preview.Preview
+import io.element.android.libraries.designsystem.preview.ElementThemedPreview
+import io.element.android.libraries.designsystem.preview.PreviewGroup
+import io.element.android.libraries.designsystem.theme.components.OutlinedTextField
+import io.element.android.libraries.designsystem.theme.components.Text
+import io.element.android.libraries.theme.ElementTheme
+
+@Composable
+fun TextFieldListItem(
+ placeholder: String,
+ text: String,
+ onTextChanged: (String) -> Unit,
+ modifier: Modifier = Modifier,
+) {
+ val textFieldStyle = ElementTheme.materialTypography.bodyLarge
+
+ OutlinedTextField(
+ value = text,
+ onValueChange = onTextChanged,
+ placeholder = { Text(placeholder) },
+ colors = OutlinedTextFieldDefaults.colors(
+ disabledBorderColor = Color.Transparent,
+ errorBorderColor = Color.Transparent,
+ focusedBorderColor = Color.Transparent,
+ unfocusedBorderColor = Color.Transparent,
+ ),
+ textStyle = textFieldStyle,
+ modifier = modifier,
+ )
+}
+
+@Preview("Text field List item - empty", group = PreviewGroup.ListItems)
+@Composable
+internal fun TextFieldListItemEmptyPreview() {
+ ElementThemedPreview {
+ TextFieldListItem(
+ placeholder = "Placeholder",
+ text = "",
+ onTextChanged = {},
+ )
+ }
+}
+
+@Preview("Text field List item - text", group = PreviewGroup.ListItems)
+@Composable
+internal fun TextFieldListItemPreview() {
+ ElementThemedPreview {
+ TextFieldListItem(
+ placeholder = "Placeholder",
+ text = "Text",
+ onTextChanged = {},
+ )
+ }
+}
diff --git a/libraries/eventformatter/impl/src/main/res/values-de/translations.xml b/libraries/eventformatter/impl/src/main/res/values-de/translations.xml
index a7773e49c7..51f73581c1 100644
--- a/libraries/eventformatter/impl/src/main/res/values-de/translations.xml
+++ b/libraries/eventformatter/impl/src/main/res/values-de/translations.xml
@@ -2,56 +2,56 @@
"(Avatar wurde auch geändert)"
"%1$s hat den Avatar geändert"
- "Sie haben Ihren Avatar geändert"
+ "Du hast deinen Avatar geändert"
"%1$s hat den Anzeigenamen von %2$s auf %3$s geändert"
- "Sie haben Ihren Anzeigenamen von %1$s auf %2$s geändert"
+ "Du hast deinen Anzeigenamen von %1$s auf %2$s geändert"
"%1$s hat den Anzeigenamen entfernt (war %2$s)"
- "Sie haben Ihren Anzeigenamen entfernt (war %1$s)"
- "%1$s setzen ihren Anzeigenamen auf %2$s"
- "Sie haben Ihren Anzeigenamen zu %1$s geändert"
+ "Du hast deinen Anzeigenamen entfernt (war %1$s)"
+ "%1$s hat den Anzeigenamen auf %2$s geändert"
+ "Du hast deinen Anzeigenamen zu %1$s geändert"
"%1$s hat den Raum-Avatar geändert"
- "Sie haben den Raum-Avatar geändert"
+ "Du hast den Raum-Avatar geändert"
"%1$s hat den Raum-Avatar entfernt"
- "Sie haben den Raum-Avatar entfernt"
+ "Du hast den Raum-Avatar entfernt"
"%1$s hat %2$s gesperrt"
- "Sie haben %1$s gesperrt"
+ "Du hast %1$s gesperrt"
"%1$s hat den Raum erstellt"
- "Sie haben den Raum erstellt"
+ "Du hast den Raum erstellt"
"%1$s hat %2$s eingeladen"
"%1$s hat die Einladung angenommen"
- "Sie haben die Einladung angenommen"
- "Sie haben %1$s eingeladen"
+ "Du hast die Einladung angenommen"
+ "Du hast %1$s eingeladen"
"%1$s hat dich eingeladen"
"%1$s hat den Raum betreten"
- "Sie haben den Raum betreten"
+ "Du hast den Raum betreten"
"%1$s hat angefragt beizutreten"
"%1$s hat %2$s den Beitritt erlaubt"
"%1$s hat Ihnen den Betritt erlaubt"
- "Sie haben angefragt beizutreten"
+ "Du hast angefragt beizutreten"
"%1$s hat die Beitrittsanfrage von %2$s abgelehnt"
- "Sie haben die Beitrittsanfrage von %1$s abgelehnt"
- "%1$s hat Ihre Beitrittsanfrage abgelehnt"
+ "Du hast die Beitrittsanfrage von %1$s abgelehnt"
+ "%1$s hat deine Beitrittsanfrage abgelehnt"
"%1$s ist nicht mehr an einem Beitritt interessiert"
- "Sie haben Ihre Beitrittsanfrage zurückgezogen"
+ "Du hast deine Beitrittsanfrage zurückgezogen"
"%1$s hat den Raum verlassen"
- "Sie haben den Raum verlassen"
+ "Du hast den Raum verlassen"
"%1$s hat den Raumnamen geändert in: %2$s"
- "Sie haben den Raumnamen geändert in: %1$s"
+ "Du hast den Raumnamen geändert in: %1$s"
"%1$s hat den Raumnamen entfernt"
- "Sie haben den Raumnamen entfernt"
+ "Du hast den Raumnamen entfernt"
"%1$s hat die Einladung abgelehnt"
- "Sie haben die Einladung abgelehnt"
+ "Du hast die Einladung abgelehnt"
"%1$s hat %2$s entfernt"
- "Sie haben %1$s entfernt"
+ "Du hast %1$s entfernt"
"%1$s hat eine Einladung an %2$s gesendet, dem Raum beizutreten"
- "Sie haben eine Einladung an %1$s gesendet, dem Raum beizutreten"
+ "Du hast eine Einladung an %1$s gesendet, dem Raum beizutreten"
"%1$s hat die Einladung an %2$s zum Betreten des Raums zurückgezogen"
- "Sie haben die Einladung an %1$s zum Betreten des Raums zurückgezogen"
+ "Du hast die Einladung an %1$s zum Betreten des Raums zurückgezogen"
"%1$s hat das Thema geändert in: %2$s"
- "Sie haben das Thema geändert in: %1$s"
+ "Du hast das Thema geändert in: %1$s"
"%1$s hat das Raumthema entfernt"
- "Sie haben das Raumthema entfernt"
+ "Du hast das Raumthema entfernt"
"%1$s hat die Sperre für %2$s aufgehoben"
- "Sie haben die Sperre für %1$s aufgehoben"
+ "Du hast die Sperre für %1$s aufgehoben"
"%1$s hat eine unbekannte Raumänderung vorgenommen"
diff --git a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposer.kt b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposer.kt
index 40bf27dd5f..cf30a3600f 100644
--- a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposer.kt
+++ b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposer.kt
@@ -45,7 +45,9 @@ import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.Composable
import androidx.compose.runtime.derivedStateOf
import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
+import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
@@ -82,6 +84,7 @@ import io.element.android.wysiwyg.compose.RichTextEditor
import io.element.android.wysiwyg.compose.RichTextEditorDefaults
import io.element.android.wysiwyg.compose.RichTextEditorState
import io.element.android.wysiwyg.view.models.InlineFormat
+import io.element.android.wysiwyg.view.models.LinkAction
import uniffi.wysiwyg_composer.ActionState
import uniffi.wysiwyg_composer.ComposerAction
@@ -183,7 +186,7 @@ fun TextComposer(
placeholder = if (composerMode.inThread) {
stringResource(id = CommonStrings.action_reply_in_thread)
} else {
- stringResource(id = CommonStrings.rich_text_editor_composer_placeholder)
+ stringResource(id = R.string.rich_text_editor_composer_placeholder)
},
roundedCorners = roundedCorners,
bgColor = bgColor,
@@ -337,67 +340,87 @@ private fun TextFormatting(
state = state.actions[ComposerAction.BOLD].toButtonState(),
onClick = { state.toggleInlineFormat(InlineFormat.Bold) },
imageVector = ImageVector.vectorResource(VectorIcons.Bold),
- contentDescription = stringResource(CommonStrings.rich_text_editor_format_bold)
+ contentDescription = stringResource(R.string.rich_text_editor_format_bold)
)
FormattingOption(
state = state.actions[ComposerAction.ITALIC].toButtonState(),
onClick = { state.toggleInlineFormat(InlineFormat.Italic) },
imageVector = ImageVector.vectorResource(VectorIcons.Italic),
- contentDescription = stringResource(CommonStrings.rich_text_editor_format_italic)
+ contentDescription = stringResource(R.string.rich_text_editor_format_italic)
)
FormattingOption(
state = state.actions[ComposerAction.UNDERLINE].toButtonState(),
onClick = { state.toggleInlineFormat(InlineFormat.Underline) },
imageVector = ImageVector.vectorResource(VectorIcons.Underline),
- contentDescription = stringResource(CommonStrings.rich_text_editor_format_underline)
+ contentDescription = stringResource(R.string.rich_text_editor_format_underline)
)
FormattingOption(
state = state.actions[ComposerAction.STRIKE_THROUGH].toButtonState(),
onClick = { state.toggleInlineFormat(InlineFormat.StrikeThrough) },
imageVector = ImageVector.vectorResource(VectorIcons.Strikethrough),
- contentDescription = stringResource(CommonStrings.rich_text_editor_format_strikethrough)
+ contentDescription = stringResource(R.string.rich_text_editor_format_strikethrough)
)
+
+ var linkDialogAction by remember { mutableStateOf(null) }
+
+ linkDialogAction?.let {
+ TextComposerLinkDialog(
+ onDismissRequest = { linkDialogAction = null },
+ onCreateLinkRequest = state::insertLink,
+ onSaveLinkRequest = state::setLink,
+ onRemoveLinkRequest = state::removeLink,
+ linkAction = it,
+ )
+ }
+
+ FormattingOption(
+ state = state.actions[ComposerAction.LINK].toButtonState(),
+ onClick = { linkDialogAction = state.linkAction },
+ imageVector = ImageVector.vectorResource(VectorIcons.Link),
+ contentDescription = stringResource(R.string.rich_text_editor_link)
+ )
+
FormattingOption(
state = state.actions[ComposerAction.UNORDERED_LIST].toButtonState(),
onClick = { state.toggleList(ordered = false) },
imageVector = ImageVector.vectorResource(VectorIcons.BulletList),
- contentDescription = stringResource(CommonStrings.rich_text_editor_bullet_list)
+ contentDescription = stringResource(R.string.rich_text_editor_bullet_list)
)
FormattingOption(
state = state.actions[ComposerAction.ORDERED_LIST].toButtonState(),
onClick = { state.toggleList(ordered = true) },
imageVector = ImageVector.vectorResource(VectorIcons.NumberedList),
- contentDescription = stringResource(CommonStrings.rich_text_editor_numbered_list)
+ contentDescription = stringResource(R.string.rich_text_editor_numbered_list)
)
FormattingOption(
state = state.actions[ComposerAction.INDENT].toButtonState(),
onClick = { state.indent() },
imageVector = ImageVector.vectorResource(VectorIcons.IndentIncrease),
- contentDescription = stringResource(CommonStrings.rich_text_editor_indent)
+ contentDescription = stringResource(R.string.rich_text_editor_indent)
)
FormattingOption(
state = state.actions[ComposerAction.UNINDENT].toButtonState(),
onClick = { state.unindent() },
imageVector = ImageVector.vectorResource(VectorIcons.IndentDecrease),
- contentDescription = stringResource(CommonStrings.rich_text_editor_unindent)
+ contentDescription = stringResource(R.string.rich_text_editor_unindent)
)
FormattingOption(
state = state.actions[ComposerAction.INLINE_CODE].toButtonState(),
onClick = { state.toggleInlineFormat(InlineFormat.InlineCode) },
imageVector = ImageVector.vectorResource(VectorIcons.InlineCode),
- contentDescription = stringResource(CommonStrings.rich_text_editor_inline_code)
+ contentDescription = stringResource(R.string.rich_text_editor_inline_code)
)
FormattingOption(
state = state.actions[ComposerAction.CODE_BLOCK].toButtonState(),
onClick = { state.toggleCodeBlock() },
imageVector = ImageVector.vectorResource(VectorIcons.CodeBlock),
- contentDescription = stringResource(CommonStrings.rich_text_editor_code_block)
+ contentDescription = stringResource(R.string.rich_text_editor_code_block)
)
FormattingOption(
state = state.actions[ComposerAction.QUOTE].toButtonState(),
onClick = { state.toggleQuote() },
imageVector = ImageVector.vectorResource(VectorIcons.Quote),
- contentDescription = stringResource(CommonStrings.rich_text_editor_quote)
+ contentDescription = stringResource(R.string.rich_text_editor_quote)
)
}
diff --git a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposerLinkDialog.kt b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposerLinkDialog.kt
new file mode 100644
index 0000000000..4a5b801774
--- /dev/null
+++ b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposerLinkDialog.kt
@@ -0,0 +1,236 @@
+/*
+ * Copyright (c) 2023 New Vector Ltd
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package io.element.android.libraries.textcomposer
+
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.derivedStateOf
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.remember
+import androidx.compose.runtime.setValue
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.res.stringResource
+import io.element.android.libraries.designsystem.components.dialogs.ListDialog
+import io.element.android.libraries.designsystem.components.list.TextFieldListItem
+import io.element.android.libraries.designsystem.preview.DayNightPreviews
+import io.element.android.libraries.designsystem.theme.components.ListItem
+import io.element.android.libraries.designsystem.theme.components.Text
+import io.element.android.libraries.theme.ElementTheme
+import io.element.android.libraries.ui.strings.CommonStrings
+import io.element.android.wysiwyg.view.models.LinkAction
+
+@Composable
+fun TextComposerLinkDialog(
+ onDismissRequest: () -> Unit,
+ linkAction: LinkAction,
+ onSaveLinkRequest: (url: String) -> Unit,
+ onCreateLinkRequest: (url: String, text: String) -> Unit,
+ onRemoveLinkRequest: () -> Unit,
+ modifier: Modifier = Modifier,
+) {
+ val urlToEdit by remember(linkAction) {
+ derivedStateOf {
+ (linkAction as? LinkAction.SetLink)?.currentUrl
+ }
+ }
+
+ urlToEdit.let { url ->
+ when {
+ url != null -> {
+ EditLinkDialog(
+ currentUrl = url,
+ onDismissRequest = onDismissRequest,
+ onSaveLinkRequest = onSaveLinkRequest,
+ onRemoveLinkRequest = onRemoveLinkRequest,
+ modifier = modifier,
+ )
+ }
+ linkAction is LinkAction.InsertLink -> {
+ CreateLinkWithTextDialog(
+ onDismissRequest = onDismissRequest,
+ onCreateLinkRequest = onCreateLinkRequest,
+ modifier = modifier,
+ )
+ }
+ linkAction is LinkAction.SetLink -> {
+ CreateLinkWithoutTextDialog(
+ onDismissRequest = onDismissRequest,
+ onSaveLinkRequest = onSaveLinkRequest,
+ modifier = modifier,
+ )
+ }
+ }
+ }
+}
+
+@Composable
+private fun CreateLinkWithTextDialog(
+ onDismissRequest: () -> Unit,
+ onCreateLinkRequest: (url: String, text: String) -> Unit,
+ modifier: Modifier = Modifier,
+) {
+ var linkText by remember { mutableStateOf("") }
+ var linkUrl by remember { mutableStateOf("") }
+
+ val titleText = stringResource(R.string.rich_text_editor_create_link)
+
+ fun onSubmit() {
+ onCreateLinkRequest(linkUrl, linkText)
+ onDismissRequest()
+ }
+
+ ListDialog(
+ onDismissRequest = onDismissRequest,
+ onSubmit = ::onSubmit,
+ title = titleText,
+ modifier = modifier
+ ) {
+ item {
+ TextFieldListItem(
+ placeholder = stringResource(id = CommonStrings.common_text),
+ text = linkText,
+ onTextChanged = { linkText = it },
+ )
+ }
+ item {
+ TextFieldListItem(
+ placeholder = stringResource(id = R.string.rich_text_editor_url_placeholder),
+ text = linkUrl,
+ onTextChanged = { linkUrl = it },
+ )
+ }
+ }
+}
+
+@Composable
+private fun CreateLinkWithoutTextDialog(
+ onDismissRequest: () -> Unit,
+ onSaveLinkRequest: (url: String) -> Unit,
+ modifier: Modifier = Modifier,
+) {
+ var linkUrl by remember { mutableStateOf("") }
+
+ val titleText = stringResource(R.string.rich_text_editor_create_link)
+
+ fun onSubmit() {
+ onSaveLinkRequest(linkUrl)
+ onDismissRequest()
+ }
+
+ ListDialog(
+ onDismissRequest = onDismissRequest,
+ onSubmit = ::onSubmit,
+ title = titleText,
+ modifier = modifier
+ ) {
+ item {
+ TextFieldListItem(
+ placeholder = stringResource(id = R.string.rich_text_editor_url_placeholder),
+ text = linkUrl,
+ onTextChanged = { linkUrl = it },
+ )
+ }
+ }
+}
+
+// The edit link dialog does not yet support displaying or editing the text of a link
+// https://github.com/matrix-org/matrix-rich-text-editor/issues/617
+@Composable
+private fun EditLinkDialog(
+ currentUrl: String,
+ onDismissRequest: () -> Unit,
+ onSaveLinkRequest: (url: String) -> Unit,
+ onRemoveLinkRequest: () -> Unit,
+ modifier: Modifier = Modifier,
+) {
+ var linkUrl by remember { mutableStateOf(currentUrl) }
+
+ val titleText = stringResource(R.string.rich_text_editor_edit_link)
+
+ fun onSubmit() {
+ onSaveLinkRequest(linkUrl)
+ onDismissRequest()
+ }
+
+ fun onRemoveClicked() {
+ onRemoveLinkRequest()
+ onDismissRequest()
+ }
+
+ ListDialog(
+ onDismissRequest = onDismissRequest,
+ onSubmit = ::onSubmit,
+ title = titleText,
+ modifier = modifier
+ ) {
+ item {
+ TextFieldListItem(
+ placeholder = stringResource(id = R.string.rich_text_editor_url_placeholder),
+ text = linkUrl,
+ onTextChanged = { linkUrl = it },
+ )
+ }
+ item {
+ ListItem(
+ headlineContent = {
+ Text(
+ text = stringResource(R.string.rich_text_editor_remove_link),
+ color = ElementTheme.colors.textCriticalPrimary
+ )
+ },
+ onClick = ::onRemoveClicked,
+ )
+ }
+ }
+}
+
+@DayNightPreviews
+@Composable
+internal fun TextComposerLinkDialogCreateLinkPreview() {
+ TextComposerLinkDialog(
+ onDismissRequest = {},
+ linkAction = LinkAction.InsertLink,
+ onSaveLinkRequest = {},
+ onCreateLinkRequest = { _, _ -> },
+ onRemoveLinkRequest = {},
+ )
+}
+
+@DayNightPreviews
+@Composable
+internal fun TextComposerLinkDialogCreateLinkWithoutTextPreview() {
+ TextComposerLinkDialog(
+ onDismissRequest = {},
+ linkAction = LinkAction.SetLink(null),
+ onSaveLinkRequest = {},
+ onCreateLinkRequest = { _, _ -> },
+ onRemoveLinkRequest = {},
+ )
+}
+
+@DayNightPreviews
+@Composable
+internal fun TextComposerLinkDialogEditLinkPreview() {
+ TextComposerLinkDialog(
+ onDismissRequest = {},
+ linkAction = LinkAction.SetLink("https://element.io"),
+ onSaveLinkRequest = {},
+ onCreateLinkRequest = { _, _ -> },
+ onRemoveLinkRequest = {},
+ )
+}
+
diff --git a/libraries/textcomposer/impl/src/main/res/values-cs/translations.xml b/libraries/textcomposer/impl/src/main/res/values-cs/translations.xml
index dbac717093..cae45c8cd2 100644
--- a/libraries/textcomposer/impl/src/main/res/values-cs/translations.xml
+++ b/libraries/textcomposer/impl/src/main/res/values-cs/translations.xml
@@ -1,4 +1,18 @@
+ "Přepnout seznam s odrážkami"
+ "Přepnout blok kódu"
+ "Zpráva…"
+ "Použít tučný text"
+ "Použít kurzívu"
+ "Použít přeškrtnutí"
+ "Použít podtržení"
+ "Přepnout režim celé obrazovky"
+ "Odsazení"
+ "Použít formát inline kódu"
+ "Nastavit odkaz"
+ "Přepnout číslovaný seznam"
+ "Přepnout citaci"
+ "Zrušit odsazení"
"Přidat přílohu"
diff --git a/libraries/textcomposer/impl/src/main/res/values-de/translations.xml b/libraries/textcomposer/impl/src/main/res/values-de/translations.xml
index 6b75a1c9a7..9a35f2b666 100644
--- a/libraries/textcomposer/impl/src/main/res/values-de/translations.xml
+++ b/libraries/textcomposer/impl/src/main/res/values-de/translations.xml
@@ -1,4 +1,24 @@
+ "Aufzählungsliste umschalten"
+ "Formatierungsoptionen schließen"
+ "Codeblock umschalten"
+ "Nachricht…"
+ "Einen Link erstellen"
+ "Link bearbeiten"
+ "Fettes Format anwenden"
+ "Kursives Format anwenden"
+ "Durchgestrichenes Format anwenden"
+ "Unterstreichungsformat anwenden"
+ "Vollbildmodus umschalten"
+ "Einrückung"
+ "Inline-Codeformat anwenden"
+ "Link setzen"
+ "Nummerierte Liste umschalten"
+ "Optionen zum Verfassen öffnen"
+ "Vorschlag umschalten"
+ "Link entfernen"
+ "Ohne Einrückung"
+ "Link"
"Anhang hinzufügen"
diff --git a/libraries/textcomposer/impl/src/main/res/values-es/translations.xml b/libraries/textcomposer/impl/src/main/res/values-es/translations.xml
new file mode 100644
index 0000000000..606e3bde8e
--- /dev/null
+++ b/libraries/textcomposer/impl/src/main/res/values-es/translations.xml
@@ -0,0 +1,17 @@
+
+
+ "Lista de puntos"
+ "Bloque de código"
+ "Mensaje…"
+ "Aplicar formato negrita"
+ "Aplicar formato cursiva"
+ "Aplicar formato tachado"
+ "Aplicar formato de subrayado"
+ "Pantalla completa"
+ "Añadir sangría"
+ "Código"
+ "Enlazar"
+ "Lista numérica"
+ "Cita"
+ "Quitar sangría"
+
diff --git a/libraries/textcomposer/impl/src/main/res/values-fr/translations.xml b/libraries/textcomposer/impl/src/main/res/values-fr/translations.xml
index 1a7539c8c6..532069ace6 100644
--- a/libraries/textcomposer/impl/src/main/res/values-fr/translations.xml
+++ b/libraries/textcomposer/impl/src/main/res/values-fr/translations.xml
@@ -1,4 +1,24 @@
+ "Afficher une liste à puces"
+ "Fermer les options de formatage"
+ "Afficher le bloc de code"
+ "Message…"
+ "Créer un lien"
+ "Modifier le lien"
+ "Appliquer le format gras"
+ "Appliquer le format italique"
+ "Appliquer le format barré"
+ "Appliquer le format souligné"
+ "Activer/désactiver le mode plein écran"
+ "Décaler vers la droite"
+ "Appliquer le formatage de code en ligne"
+ "Définir un lien"
+ "Afficher une liste numérotée"
+ "Ouvrir les options de rédaction"
+ "Afficher/masquer la citation"
+ "Supprimer le lien"
+ "Décaler vers la gauche"
+ "Lien"
"Ajouter une pièce jointe"
diff --git a/libraries/textcomposer/impl/src/main/res/values-it/translations.xml b/libraries/textcomposer/impl/src/main/res/values-it/translations.xml
new file mode 100644
index 0000000000..e3034e8dfe
--- /dev/null
+++ b/libraries/textcomposer/impl/src/main/res/values-it/translations.xml
@@ -0,0 +1,17 @@
+
+
+ "Attiva/disattiva l\'elenco puntato"
+ "Attiva/disattiva il blocco di codice"
+ "Messaggio…"
+ "Applica il formato in grassetto"
+ "Applicare il formato corsivo"
+ "Applica il formato barrato"
+ "Applicare il formato di sottolineatura"
+ "Attiva/disattiva la modalità a schermo intero"
+ "Rientro a destra"
+ "Applicare il formato del codice in linea"
+ "Imposta collegamento"
+ "Attiva/disattiva elenco numerato"
+ "Attiva/disattiva citazione"
+ "Rientro a sinistra"
+
diff --git a/libraries/textcomposer/impl/src/main/res/values-ro/translations.xml b/libraries/textcomposer/impl/src/main/res/values-ro/translations.xml
index 25f0b025ca..9cfd65161c 100644
--- a/libraries/textcomposer/impl/src/main/res/values-ro/translations.xml
+++ b/libraries/textcomposer/impl/src/main/res/values-ro/translations.xml
@@ -1,4 +1,23 @@
+ "Comutați lista cu puncte"
+ "Închideți opțiunile de formatare"
+ "Comutați blocul de cod"
+ "Mesaj…"
+ "Creați un link"
+ "Editați link-ul"
+ "Aplicați formatul aldin"
+ "Aplicați formatul italic"
+ "Aplicați formatul barat"
+ "Aplică formatul de subliniere"
+ "Comutați modul ecran complet"
+ "Indentare"
+ "Aplicați formatul de cod inline"
+ "Setați linkul"
+ "Comutați lista numerotată"
+ "Deschideți opțiunile de compunere"
+ "Aplicați citatul"
+ "Dez-identare"
+ "Link"
"Adăugați un atașament"
diff --git a/libraries/textcomposer/impl/src/main/res/values-ru/translations.xml b/libraries/textcomposer/impl/src/main/res/values-ru/translations.xml
index 318cf9dadd..921c3bc9da 100644
--- a/libraries/textcomposer/impl/src/main/res/values-ru/translations.xml
+++ b/libraries/textcomposer/impl/src/main/res/values-ru/translations.xml
@@ -1,4 +1,18 @@
+ "Переключить список маркеров"
+ "Переключить блок кода"
+ "Сообщение"
+ "Применить жирный шрифт"
+ "Применить курсивный формат"
+ "Применить формат зачеркивания"
+ "Применить формат подчеркивания"
+ "Переключение полноэкранного режима"
+ "Отступ"
+ "Применить встроенный формат кода"
+ "Установить ссылку"
+ "Переключить нумерованный список"
+ "Переключить цитату"
+ "Без отступа"
"Прикрепить файл"
diff --git a/libraries/textcomposer/impl/src/main/res/values-sk/translations.xml b/libraries/textcomposer/impl/src/main/res/values-sk/translations.xml
index 9d1daf99b6..c477df3acf 100644
--- a/libraries/textcomposer/impl/src/main/res/values-sk/translations.xml
+++ b/libraries/textcomposer/impl/src/main/res/values-sk/translations.xml
@@ -1,4 +1,24 @@
+ "Prepnúť zoznam odrážok"
+ "Zatvoriť možnosti formátovania"
+ "Prepnúť blok kódu"
+ "Správa…"
+ "Vytvoriť odkaz"
+ "Upraviť odkaz"
+ "Použiť tučný formát"
+ "Použiť formát kurzívy"
+ "Použiť formát prečiarknutia"
+ "Použiť formát podčiarknutia"
+ "Prepnúť režim celej obrazovky"
+ "Odsadenie"
+ "Použiť formát riadkového kódu"
+ "Nastaviť odkaz"
+ "Prepnúť číslovaný zoznam"
+ "Otvoriť možnosti písania"
+ "Prepnúť citáciu"
+ "Odstrániť odkaz"
+ "Zrušiť odsadenie"
+ "Odkaz"
"Pridať prílohu"
diff --git a/libraries/textcomposer/impl/src/main/res/values-zh-rTW/translations.xml b/libraries/textcomposer/impl/src/main/res/values-zh-rTW/translations.xml
index 5aeda1b9e2..4342c3478e 100644
--- a/libraries/textcomposer/impl/src/main/res/values-zh-rTW/translations.xml
+++ b/libraries/textcomposer/impl/src/main/res/values-zh-rTW/translations.xml
@@ -1,4 +1,20 @@
+ "切換項目編號"
+ "切換程式碼區塊"
+ "訊息"
+ "建立連結"
+ "編輯連結"
+ "套用粗體"
+ "套用斜體"
+ "套用刪除線"
+ "套用底線"
+ "切換全螢幕模式"
+ "增加縮排"
+ "設定連結"
+ "切換數字編號"
+ "切換引用"
+ "減少縮排"
+ "連結"
"新增附件"
diff --git a/libraries/textcomposer/impl/src/main/res/values/localazy.xml b/libraries/textcomposer/impl/src/main/res/values/localazy.xml
index 11af785e8c..5017d353f8 100644
--- a/libraries/textcomposer/impl/src/main/res/values/localazy.xml
+++ b/libraries/textcomposer/impl/src/main/res/values/localazy.xml
@@ -1,4 +1,24 @@
+ "Toggle bullet list"
+ "Close formatting options"
+ "Toggle code block"
+ "Message…"
+ "Create a link"
+ "Edit link"
+ "Apply bold format"
+ "Apply italic format"
+ "Apply strikethrough format"
+ "Apply underline format"
+ "Toggle full screen mode"
+ "Indent"
+ "Apply inline code format"
+ "Set link"
+ "Toggle numbered list"
+ "Open compose options"
+ "Toggle quote"
+ "Remove link"
+ "Unindent"
+ "Link"
"Add attachment"
diff --git a/libraries/ui-strings/src/main/res/values-cs/translations.xml b/libraries/ui-strings/src/main/res/values-cs/translations.xml
index 0ff43bceb7..683a1e6abd 100644
--- a/libraries/ui-strings/src/main/res/values-cs/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-cs/translations.xml
@@ -171,20 +171,6 @@
"Zdá se, že jste frustrovaně třásli telefonem. Chcete otevřít obrazovku pro nahlášení chyby?"
"Tato zpráva bude nahlášena správci vašeho domovského serveru. Nebude si moci přečíst žádné šifrované zprávy."
"Důvod nahlášení tohoto obsahu"
- "Přepnout seznam s odrážkami"
- "Přepnout blok kódu"
- "Zpráva…"
- "Použít tučný text"
- "Použít kurzívu"
- "Použít přeškrtnutí"
- "Použít podtržení"
- "Přepnout režim celé obrazovky"
- "Odsazení"
- "Použít formát inline kódu"
- "Nastavit odkaz"
- "Přepnout číslovaný seznam"
- "Přepnout citaci"
- "Zrušit odsazení"
"Toto je začátek %1$s."
"Toto je začátek této konverzace."
"Nové"
diff --git a/libraries/ui-strings/src/main/res/values-de/translations.xml b/libraries/ui-strings/src/main/res/values-de/translations.xml
index 9bf32a2cc6..d4cc0a5186 100644
--- a/libraries/ui-strings/src/main/res/values-de/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-de/translations.xml
@@ -116,7 +116,7 @@
"Bericht eingereicht"
"Rich-Text-Editor"
"Raumname"
- "z.B. Ihr Projektname"
+ "z.B. dein Projektname"
"Nach jemandem suchen"
"Suchergebnisse"
"Sicherheit"
@@ -159,9 +159,9 @@
"Fehler beim Erstellen des Permalinks"
"%1$s konnte die Karte nicht laden. Bitte versuche es später erneut."
"Fehler beim Laden der Nachrichten"
- "%1$s konnte nicht auf Ihren Standort zugreifen. Bitte versuche es später erneut."
- "%1$s hat keine Erlaubnis, auf Ihren Standort zuzugreifen. Du kannst den Zugriff in den Einstellungen aktivieren."
- "%1$s hat keine Erlaubnis, auf Ihren Standort zuzugreifen. Aktiviere unten den Zugriff."
+ "%1$s konnte nicht auf deinen Standort zugreifen. Bitte versuche es später erneut."
+ "%1$s hat keine Erlaubnis, auf deinen Standort zuzugreifen. Du kannst den Zugriff in den Einstellungen aktivieren."
+ "%1$s hat keine Erlaubnis, auf deinen Standort zuzugreifen. Aktiviere unten den Zugriff."
"Einige Nachrichten wurden nicht gesendet"
"Entschuldigung, es ist ein Fehler aufgetreten"
"🔐️ Begleite mich auf %1$s"
@@ -180,28 +180,8 @@
"Schüttel heftig zum Melden von Fehlern"
"Du scheinst das Telefon aus Frustration zu schütteln. Möchtest du den Bildschirm für den Fehlerbericht öffnen?"
- "Diese Meldung wird an den Administrator Ihres Homeservers weitergeleitet. Dieser kann keine verschlüsselten Nachrichten lesen."
+ "Diese Meldung wird an den Administrator deines Homeservers weitergeleitet. Dieser kann keine verschlüsselten Nachrichten lesen."
"Grund für die Meldung dieses Inhalts"
- "Aufzählungsliste umschalten"
- "Formatierungsoptionen schließen"
- "Codeblock umschalten"
- "Nachricht…"
- "Einen Link erstellen"
- "Link bearbeiten"
- "Fettes Format anwenden"
- "Kursives Format anwenden"
- "Durchgestrichenes Format anwenden"
- "Unterstreichungsformat anwenden"
- "Vollbildmodus umschalten"
- "Einrückung"
- "Inline-Codeformat anwenden"
- "Link setzen"
- "Nummerierte Liste umschalten"
- "Optionen zum Verfassen öffnen"
- "Vorschlag umschalten"
- "Link entfernen"
- "Ohne Einrückung"
- "Link"
"Dies ist der Anfang von %1$s."
"Dies ist der Anfang dieses Gesprächs."
"Neu"
diff --git a/libraries/ui-strings/src/main/res/values-es/translations.xml b/libraries/ui-strings/src/main/res/values-es/translations.xml
index b56e1dfc7c..fa8a80f953 100644
--- a/libraries/ui-strings/src/main/res/values-es/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-es/translations.xml
@@ -120,20 +120,6 @@
"Parece que sacudes el teléfono con frustración. ¿Quieres abrir la pantalla de informe de errores?"
"Este mensaje se notificará al administrador de su homeserver. No podrán leer ningún mensaje cifrado."
"Motivo para denunciar este contenido"
- "Lista de puntos"
- "Bloque de código"
- "Mensaje…"
- "Aplicar formato negrita"
- "Aplicar formato cursiva"
- "Aplicar formato tachado"
- "Aplicar formato de subrayado"
- "Pantalla completa"
- "Añadir sangría"
- "Código"
- "Enlazar"
- "Lista numérica"
- "Cita"
- "Quitar sangría"
"Este es el principio de %1$s."
"Este es el principio de esta conversación."
"Nuevos"
diff --git a/libraries/ui-strings/src/main/res/values-fr/translations.xml b/libraries/ui-strings/src/main/res/values-fr/translations.xml
index e014230a00..ae6e112547 100644
--- a/libraries/ui-strings/src/main/res/values-fr/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-fr/translations.xml
@@ -182,26 +182,6 @@
"Vous semblez secouer le téléphone avec frustration. Voulez-vous ouvrir le formulaire de rapport de problème ?"
"Ce message sera signalé à l’administrateur de votre serveur d’accueil. Il ne pourra lire aucun message chiffré."
"Raison du signalement de ce contenu"
- "Afficher une liste à puces"
- "Fermer les options de formatage"
- "Afficher le bloc de code"
- "Message…"
- "Créer un lien"
- "Modifier le lien"
- "Appliquer le format gras"
- "Appliquer le format italique"
- "Appliquer le format barré"
- "Appliquer le format souligné"
- "Activer/désactiver le mode plein écran"
- "Décaler vers la droite"
- "Appliquer le formatage de code en ligne"
- "Définir un lien"
- "Afficher une liste numérotée"
- "Ouvrir les options de rédaction"
- "Afficher/masquer la citation"
- "Supprimer le lien"
- "Décaler vers la gauche"
- "Lien"
"Ceci est le début de %1$s."
"Ceci est le début de cette conversation."
"Nouveau"
diff --git a/libraries/ui-strings/src/main/res/values-it/translations.xml b/libraries/ui-strings/src/main/res/values-it/translations.xml
index 740fe81b55..b15d570dfc 100644
--- a/libraries/ui-strings/src/main/res/values-it/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-it/translations.xml
@@ -120,20 +120,6 @@
"Sembra che tu stia scuotendo il telefono per la frustrazione. Vuoi aprire la schermata di segnalazione dei problemi?"
"Questo messaggio verrà segnalato all\'amministratore dell\'homeserver. Questi non sarà in grado di leggere i messaggi criptati."
"Motivo della segnalazione di questo contenuto"
- "Attiva/disattiva l\'elenco puntato"
- "Attiva/disattiva il blocco di codice"
- "Messaggio…"
- "Applica il formato in grassetto"
- "Applicare il formato corsivo"
- "Applica il formato barrato"
- "Applicare il formato di sottolineatura"
- "Attiva/disattiva la modalità a schermo intero"
- "Rientro a destra"
- "Applicare il formato del codice in linea"
- "Imposta collegamento"
- "Attiva/disattiva elenco numerato"
- "Attiva/disattiva citazione"
- "Rientro a sinistra"
"Questo è l\'inizio di %1$s."
"Questo è l\'inizio della conversazione."
"Nuovo"
diff --git a/libraries/ui-strings/src/main/res/values-ro/translations.xml b/libraries/ui-strings/src/main/res/values-ro/translations.xml
index c122a37d96..91de1b2c20 100644
--- a/libraries/ui-strings/src/main/res/values-ro/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-ro/translations.xml
@@ -174,25 +174,6 @@
"Se pare că scuturați telefonul de frustrare. Doriți să deschdeți ecranul de raportare a unei erori?"
"Acest mesaj va fi raportat administratorilor homeserver-ului tau. Ei nu vor putea citi niciun mesaj criptat."
"Motivul raportării acestui conținut"
- "Comutați lista cu puncte"
- "Închideți opțiunile de formatare"
- "Comutați blocul de cod"
- "Mesaj…"
- "Creați un link"
- "Editați link-ul"
- "Aplicați formatul aldin"
- "Aplicați formatul italic"
- "Aplicați formatul barat"
- "Aplică formatul de subliniere"
- "Comutați modul ecran complet"
- "Indentare"
- "Aplicați formatul de cod inline"
- "Setați linkul"
- "Comutați lista numerotată"
- "Deschideți opțiunile de compunere"
- "Aplicați citatul"
- "Dez-identare"
- "Link"
"Acesta este începutul conversației %1$s."
"Acesta este începutul acestei conversații."
"Nou"
diff --git a/libraries/ui-strings/src/main/res/values-ru/translations.xml b/libraries/ui-strings/src/main/res/values-ru/translations.xml
index 798515fa6a..388e6b8d62 100644
--- a/libraries/ui-strings/src/main/res/values-ru/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-ru/translations.xml
@@ -170,20 +170,6 @@
"Кажется, вы трясли телефон. Хотите открыть экран отчета об ошибке?"
"Это сообщение будет передано администратору вашего домашнего сервера. Они не смогут прочитать зашифрованные сообщения."
"Причина, по которой вы пожаловались на этот контент"
- "Переключить список маркеров"
- "Переключить блок кода"
- "Сообщение"
- "Применить жирный шрифт"
- "Применить курсивный формат"
- "Применить формат зачеркивания"
- "Применить формат подчеркивания"
- "Переключение полноэкранного режима"
- "Отступ"
- "Применить встроенный формат кода"
- "Установить ссылку"
- "Переключить нумерованный список"
- "Переключить цитату"
- "Без отступа"
"Это начало %1$s."
"Это начало разговора."
"Новый"
diff --git a/libraries/ui-strings/src/main/res/values-sk/translations.xml b/libraries/ui-strings/src/main/res/values-sk/translations.xml
index b5cf4f97e9..c82ce0ef12 100644
--- a/libraries/ui-strings/src/main/res/values-sk/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-sk/translations.xml
@@ -184,26 +184,6 @@
"Zdá sa, že zúrivo trasiete telefónom. Chcete otvoriť obrazovku s nahlásením chýb?"
"Táto správa bude nahlásená správcovi vášho domovského servera. Nebude môcť prečítať žiadne šifrované správy."
"Dôvod nahlásenia tohto obsahu"
- "Prepnúť zoznam odrážok"
- "Zatvoriť možnosti formátovania"
- "Prepnúť blok kódu"
- "Správa…"
- "Vytvoriť odkaz"
- "Upraviť odkaz"
- "Použiť tučný formát"
- "Použiť formát kurzívy"
- "Použiť formát prečiarknutia"
- "Použiť formát podčiarknutia"
- "Prepnúť režim celej obrazovky"
- "Odsadenie"
- "Použiť formát riadkového kódu"
- "Nastaviť odkaz"
- "Prepnúť číslovaný zoznam"
- "Otvoriť možnosti písania"
- "Prepnúť citáciu"
- "Odstrániť odkaz"
- "Zrušiť odsadenie"
- "Odkaz"
"Toto je začiatok %1$s."
"Toto je začiatok tejto konverzácie."
"Nové"
diff --git a/libraries/ui-strings/src/main/res/values-zh-rTW/translations.xml b/libraries/ui-strings/src/main/res/values-zh-rTW/translations.xml
index b385e7c8a4..0ace8beb22 100644
--- a/libraries/ui-strings/src/main/res/values-zh-rTW/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-zh-rTW/translations.xml
@@ -143,22 +143,6 @@
- "%d 票"
"檢舉這個內容的原因"
- "切換項目編號"
- "切換程式碼區塊"
- "訊息"
- "建立連結"
- "編輯連結"
- "套用粗體"
- "套用斜體"
- "套用刪除線"
- "套用底線"
- "切換全螢幕模式"
- "增加縮排"
- "設定連結"
- "切換數字編號"
- "切換引用"
- "減少縮排"
- "連結"
"新訊息"
"分享分析數據"
"無法上傳媒體檔案,請稍後再試。"
diff --git a/libraries/ui-strings/src/main/res/values/localazy.xml b/libraries/ui-strings/src/main/res/values/localazy.xml
index a6908484b1..72a31d46b0 100644
--- a/libraries/ui-strings/src/main/res/values/localazy.xml
+++ b/libraries/ui-strings/src/main/res/values/localazy.xml
@@ -182,26 +182,6 @@
"You seem to be shaking the phone in frustration. Would you like to open the bug report screen?"
"This message will be reported to your homeserver’s administrator. They will not be able to read any encrypted messages."
"Reason for reporting this content"
- "Toggle bullet list"
- "Close formatting options"
- "Toggle code block"
- "Message…"
- "Create a link"
- "Edit link"
- "Apply bold format"
- "Apply italic format"
- "Apply strikethrough format"
- "Apply underline format"
- "Toggle full screen mode"
- "Indent"
- "Apply inline code format"
- "Set link"
- "Toggle numbered list"
- "Open compose options"
- "Toggle quote"
- "Remove link"
- "Unindent"
- "Link"
"This is the beginning of %1$s."
"This is the beginning of this conversation."
"New"
diff --git a/tests/uitests/src/test/snapshots/images/ui_S_t[l.designsystem.components.dialogs_null_Dialogs_ListDialogContent_0_null,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/ui_S_t[l.designsystem.components.dialogs_null_Dialogs_ListDialogContent_0_null,NEXUS_5,1.0,en].png
new file mode 100644
index 0000000000..47c925c6d7
--- /dev/null
+++ b/tests/uitests/src/test/snapshots/images/ui_S_t[l.designsystem.components.dialogs_null_Dialogs_ListDialogContent_0_null,NEXUS_5,1.0,en].png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:fcb09c8bf2b019c1a7db261b9c1d983b2f69c3390a19ff4b0df0f4e672239263
+size 19972
diff --git a/tests/uitests/src/test/snapshots/images/ui_S_t[l.designsystem.components.dialogs_null_ListDialogContent-N_1_null,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/ui_S_t[l.designsystem.components.dialogs_null_ListDialogContent-N_1_null,NEXUS_5,1.0,en].png
new file mode 100644
index 0000000000..653d02dabb
--- /dev/null
+++ b/tests/uitests/src/test/snapshots/images/ui_S_t[l.designsystem.components.dialogs_null_ListDialogContent-N_1_null,NEXUS_5,1.0,en].png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:fd5cccdc9db4251ae5a51061fc0d399a5d08806183c693a68a0b57b52f92b20e
+size 20003
diff --git a/tests/uitests/src/test/snapshots/images/ui_S_t[l.designsystem.components.list_null_Listitems_TextfieldListitem-empty_0_null,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/ui_S_t[l.designsystem.components.list_null_Listitems_TextfieldListitem-empty_0_null,NEXUS_5,1.0,en].png
new file mode 100644
index 0000000000..4c06e2aacb
--- /dev/null
+++ b/tests/uitests/src/test/snapshots/images/ui_S_t[l.designsystem.components.list_null_Listitems_TextfieldListitem-empty_0_null,NEXUS_5,1.0,en].png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:77c4dbda6fc92c22ec5838572f981d9a3aefe1afa1c6e74a220b1a156888de01
+size 10474
diff --git a/tests/uitests/src/test/snapshots/images/ui_S_t[l.designsystem.components.list_null_Listitems_TextfieldListitem-text_0_null,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/ui_S_t[l.designsystem.components.list_null_Listitems_TextfieldListitem-text_0_null,NEXUS_5,1.0,en].png
new file mode 100644
index 0000000000..bffaafe840
--- /dev/null
+++ b/tests/uitests/src/test/snapshots/images/ui_S_t[l.designsystem.components.list_null_Listitems_TextfieldListitem-text_0_null,NEXUS_5,1.0,en].png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3fa0f9243543816ae5bdead8fba26e072204a9d003232fd99c33b89b52fb0dbc
+size 7337
diff --git a/tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer.components_null_FormattingButton-D-4_5_null,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer.components_null_FormattingButton-D-7_8_null,NEXUS_5,1.0,en].png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer.components_null_FormattingButton-D-4_5_null,NEXUS_5,1.0,en].png
rename to tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer.components_null_FormattingButton-D-7_8_null,NEXUS_5,1.0,en].png
diff --git a/tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer.components_null_FormattingButton-N-4_6_null,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer.components_null_FormattingButton-N-7_9_null,NEXUS_5,1.0,en].png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer.components_null_FormattingButton-N-4_6_null,NEXUS_5,1.0,en].png
rename to tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer.components_null_FormattingButton-N-7_9_null,NEXUS_5,1.0,en].png
diff --git a/tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer_null_TextComposerFormatting-D-1_2_null,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer_null_TextComposerFormatting-D-1_2_null,NEXUS_5,1.0,en].png
index 4569825f69..ed1d6af41d 100644
--- a/tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer_null_TextComposerFormatting-D-1_2_null,NEXUS_5,1.0,en].png
+++ b/tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer_null_TextComposerFormatting-D-1_2_null,NEXUS_5,1.0,en].png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:31013d59ca9755e316bfcb0f5bccf5206446223b1e4f5ce79060a442bb256292
-size 40936
+oid sha256:347218e4ad8d52fcd2b0deda0d2dda981abea78254e8e76d561ab231f32038cc
+size 41518
diff --git a/tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer_null_TextComposerFormatting-N-1_3_null,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer_null_TextComposerFormatting-N-1_3_null,NEXUS_5,1.0,en].png
index cc6aa467f3..909c894d2a 100644
--- a/tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer_null_TextComposerFormatting-N-1_3_null,NEXUS_5,1.0,en].png
+++ b/tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer_null_TextComposerFormatting-N-1_3_null,NEXUS_5,1.0,en].png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:569a5c4b667e259ca895b41a1248234c339d16d7776a827ded5e151472fe2c5d
-size 38601
+oid sha256:c7c73e66ae25e77a2f70c3051339a352dfda3d4448870b26bc7cce8145861c2c
+size 39241
diff --git a/tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer_null_TextComposerLinkDialogCreateLink-D-4_5_null,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer_null_TextComposerLinkDialogCreateLink-D-4_5_null,NEXUS_5,1.0,en].png
new file mode 100644
index 0000000000..df00761695
--- /dev/null
+++ b/tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer_null_TextComposerLinkDialogCreateLink-D-4_5_null,NEXUS_5,1.0,en].png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0bbbbce7dc7176979fad367430efc344da3669918a9bc4762519a9a419dff192
+size 18805
diff --git a/tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer_null_TextComposerLinkDialogCreateLink-N-4_6_null,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer_null_TextComposerLinkDialogCreateLink-N-4_6_null,NEXUS_5,1.0,en].png
new file mode 100644
index 0000000000..24f5ef4644
--- /dev/null
+++ b/tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer_null_TextComposerLinkDialogCreateLink-N-4_6_null,NEXUS_5,1.0,en].png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b29c850d091691b8757af57e5d454d801509f5f9a205f7d842e6b16551e16238
+size 14810
diff --git a/tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer_null_TextComposerLinkDialogCreateLinkWithoutText-D-5_6_null,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer_null_TextComposerLinkDialogCreateLinkWithoutText-D-5_6_null,NEXUS_5,1.0,en].png
new file mode 100644
index 0000000000..c89936dda5
--- /dev/null
+++ b/tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer_null_TextComposerLinkDialogCreateLinkWithoutText-D-5_6_null,NEXUS_5,1.0,en].png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:734a60dc37f2c3f5841ab477d38db034703654c531722d7560a431d5f060f113
+size 17281
diff --git a/tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer_null_TextComposerLinkDialogCreateLinkWithoutText-N-5_7_null,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer_null_TextComposerLinkDialogCreateLinkWithoutText-N-5_7_null,NEXUS_5,1.0,en].png
new file mode 100644
index 0000000000..4e20df75ba
--- /dev/null
+++ b/tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer_null_TextComposerLinkDialogCreateLinkWithoutText-N-5_7_null,NEXUS_5,1.0,en].png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ccda12020d51dafce20ad815b6b6162adce5d005c2a908b951fa9e97bede8a7c
+size 13467
diff --git a/tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer_null_TextComposerLinkDialogEditLink-D-6_7_null,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer_null_TextComposerLinkDialogEditLink-D-6_7_null,NEXUS_5,1.0,en].png
new file mode 100644
index 0000000000..32afaaec23
--- /dev/null
+++ b/tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer_null_TextComposerLinkDialogEditLink-D-6_7_null,NEXUS_5,1.0,en].png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d82d7f94ddedd035fba88b75360aefad2789030a60d6f291863a9ee238fc0f94
+size 21190
diff --git a/tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer_null_TextComposerLinkDialogEditLink-N-6_8_null,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer_null_TextComposerLinkDialogEditLink-N-6_8_null,NEXUS_5,1.0,en].png
new file mode 100644
index 0000000000..b5d4436cd8
--- /dev/null
+++ b/tests/uitests/src/test/snapshots/images/ui_S_t[l.textcomposer_null_TextComposerLinkDialogEditLink-N-6_8_null,NEXUS_5,1.0,en].png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:bc7484e27dd08b2d477f3b07c34558a0459ec7f8e500c16c5e94417d33e7cd88
+size 17448
diff --git a/tools/localazy/config.json b/tools/localazy/config.json
index 3a53671c05..c51e0f1eed 100644
--- a/tools/localazy/config.json
+++ b/tools/localazy/config.json
@@ -47,7 +47,7 @@
{
"name": ":libraries:textcomposer:impl",
"includeRegex": [
- "rich_text_editor_.*"
+ "rich_text_editor.*"
]
},
{