mirror of
https://github.com/rhunk/SnapEnhance.git
synced 2025-05-29 13:00:17 +02:00
feat: localized content types
This commit is contained in:
parent
82a3847573
commit
c0740877fa
@ -49,6 +49,7 @@ class MessagingPreview(
|
||||
private lateinit var messagingBridge: MessagingBridge
|
||||
private lateinit var previewScrollState: LazyListState
|
||||
private val myUserId by lazy { messagingBridge.myUserId }
|
||||
private val contentTypeTranslation by lazy { context.translation.getCategory("content_type") }
|
||||
|
||||
private var conversationId: String? = null
|
||||
private val messages = sortedMapOf<Long, Message>() // server message id => message
|
||||
@ -385,7 +386,7 @@ class MessagingPreview(
|
||||
.padding(5.dp)
|
||||
) {
|
||||
|
||||
Text("[$contentType] ${messageReader.getString(2, 1) ?: ""}")
|
||||
Text("[${contentType?.let { contentTypeTranslation.getOrNull(it.name) ?: it.name } }] ${messageReader.getString(2, 1) ?: ""}")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -672,13 +672,6 @@
|
||||
"progress": "Progress",
|
||||
"failure": "Failure"
|
||||
},
|
||||
"auto_save_messages_in_conversations": {
|
||||
"NOTE": "Audio Note",
|
||||
"CHAT": "Chat",
|
||||
"EXTERNAL_MEDIA": "External Media",
|
||||
"SNAP": "Snap",
|
||||
"STICKER": "Sticker"
|
||||
},
|
||||
"notifications": {
|
||||
"chat_screenshot": "Screenshot",
|
||||
"chat_screen_record": "Screen Record",
|
||||
|
@ -80,6 +80,7 @@ class LocaleWrapper {
|
||||
}
|
||||
|
||||
operator fun get(key: String) = translationMap[key] ?: key.also { AbstractLogger.directDebug("Missing translation for $key") }
|
||||
fun getOrNull(key: String) = translationMap[key]
|
||||
|
||||
fun format(key: String, vararg args: Pair<String, String>): String {
|
||||
return args.fold(get(key)) { acc, pair ->
|
||||
|
@ -21,7 +21,7 @@ class MessagingTweaks : ConfigContainer() {
|
||||
"NOTE",
|
||||
"EXTERNAL_MEDIA",
|
||||
"STICKER"
|
||||
) { requireRestart() }
|
||||
) { requireRestart(); customOptionTranslationPath = "content_type" }
|
||||
val preventMessageSending = multiple("prevent_message_sending", *NotificationType.getOutgoingValues().map { it.key }.toTypedArray()) {
|
||||
customOptionTranslationPath = "features.options.notifications"
|
||||
nativeHooks()
|
||||
|
@ -161,6 +161,7 @@ class FriendFeedInfoMenu : AbstractMenu() {
|
||||
.associateBy { it.userId!! }
|
||||
|
||||
val messageBuilder = StringBuilder()
|
||||
val translation = context.translation.getCategory("content_type")
|
||||
|
||||
messages.forEach { message ->
|
||||
val sender = participants[message.senderId]
|
||||
@ -174,9 +175,7 @@ class FriendFeedInfoMenu : AbstractMenu() {
|
||||
val contentType = ContentType.fromMessageContainer(messageProtoReader) ?: ContentType.fromId(message.contentType)
|
||||
var messageString = if (contentType == ContentType.CHAT) {
|
||||
messageProtoReader.getString(2, 1) ?: return@forEach
|
||||
} else {
|
||||
contentType.name
|
||||
}
|
||||
} else translation.getOrNull(contentType.name) ?: contentType.name
|
||||
|
||||
if (contentType == ContentType.SNAP) {
|
||||
messageString = "\uD83D\uDFE5" //red square
|
||||
|
Loading…
x
Reference in New Issue
Block a user