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 messagingBridge: MessagingBridge
|
||||||
private lateinit var previewScrollState: LazyListState
|
private lateinit var previewScrollState: LazyListState
|
||||||
private val myUserId by lazy { messagingBridge.myUserId }
|
private val myUserId by lazy { messagingBridge.myUserId }
|
||||||
|
private val contentTypeTranslation by lazy { context.translation.getCategory("content_type") }
|
||||||
|
|
||||||
private var conversationId: String? = null
|
private var conversationId: String? = null
|
||||||
private val messages = sortedMapOf<Long, Message>() // server message id => message
|
private val messages = sortedMapOf<Long, Message>() // server message id => message
|
||||||
@ -385,7 +386,7 @@ class MessagingPreview(
|
|||||||
.padding(5.dp)
|
.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",
|
"progress": "Progress",
|
||||||
"failure": "Failure"
|
"failure": "Failure"
|
||||||
},
|
},
|
||||||
"auto_save_messages_in_conversations": {
|
|
||||||
"NOTE": "Audio Note",
|
|
||||||
"CHAT": "Chat",
|
|
||||||
"EXTERNAL_MEDIA": "External Media",
|
|
||||||
"SNAP": "Snap",
|
|
||||||
"STICKER": "Sticker"
|
|
||||||
},
|
|
||||||
"notifications": {
|
"notifications": {
|
||||||
"chat_screenshot": "Screenshot",
|
"chat_screenshot": "Screenshot",
|
||||||
"chat_screen_record": "Screen Record",
|
"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") }
|
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 {
|
fun format(key: String, vararg args: Pair<String, String>): String {
|
||||||
return args.fold(get(key)) { acc, pair ->
|
return args.fold(get(key)) { acc, pair ->
|
||||||
|
@ -21,7 +21,7 @@ class MessagingTweaks : ConfigContainer() {
|
|||||||
"NOTE",
|
"NOTE",
|
||||||
"EXTERNAL_MEDIA",
|
"EXTERNAL_MEDIA",
|
||||||
"STICKER"
|
"STICKER"
|
||||||
) { requireRestart() }
|
) { requireRestart(); customOptionTranslationPath = "content_type" }
|
||||||
val preventMessageSending = multiple("prevent_message_sending", *NotificationType.getOutgoingValues().map { it.key }.toTypedArray()) {
|
val preventMessageSending = multiple("prevent_message_sending", *NotificationType.getOutgoingValues().map { it.key }.toTypedArray()) {
|
||||||
customOptionTranslationPath = "features.options.notifications"
|
customOptionTranslationPath = "features.options.notifications"
|
||||||
nativeHooks()
|
nativeHooks()
|
||||||
|
@ -161,6 +161,7 @@ class FriendFeedInfoMenu : AbstractMenu() {
|
|||||||
.associateBy { it.userId!! }
|
.associateBy { it.userId!! }
|
||||||
|
|
||||||
val messageBuilder = StringBuilder()
|
val messageBuilder = StringBuilder()
|
||||||
|
val translation = context.translation.getCategory("content_type")
|
||||||
|
|
||||||
messages.forEach { message ->
|
messages.forEach { message ->
|
||||||
val sender = participants[message.senderId]
|
val sender = participants[message.senderId]
|
||||||
@ -174,9 +175,7 @@ class FriendFeedInfoMenu : AbstractMenu() {
|
|||||||
val contentType = ContentType.fromMessageContainer(messageProtoReader) ?: ContentType.fromId(message.contentType)
|
val contentType = ContentType.fromMessageContainer(messageProtoReader) ?: ContentType.fromId(message.contentType)
|
||||||
var messageString = if (contentType == ContentType.CHAT) {
|
var messageString = if (contentType == ContentType.CHAT) {
|
||||||
messageProtoReader.getString(2, 1) ?: return@forEach
|
messageProtoReader.getString(2, 1) ?: return@forEach
|
||||||
} else {
|
} else translation.getOrNull(contentType.name) ?: contentType.name
|
||||||
contentType.name
|
|
||||||
}
|
|
||||||
|
|
||||||
if (contentType == ContentType.SNAP) {
|
if (contentType == ContentType.SNAP) {
|
||||||
messageString = "\uD83D\uDFE5" //red square
|
messageString = "\uD83D\uDFE5" //red square
|
||||||
|
Loading…
x
Reference in New Issue
Block a user