fluffychat merge

This commit is contained in:
ggurdin 2026-02-05 11:16:11 -05:00
commit f24cf04640
No known key found for this signature in database
GPG key ID: A01CB41737CBB478
29 changed files with 697 additions and 375 deletions

View file

@ -4571,9 +4571,7 @@
},
"@thereAreCountUsersBlocked": {
"type": "String",
"placeholders": {
"count": {}
}
"count": {}
},
"@restricted": {
"type": "String",

View file

@ -9156,9 +9156,7 @@
},
"@thereAreCountUsersBlocked": {
"type": "String",
"placeholders": {
"count": {}
}
"count": {}
},
"@restricted": {
"type": "String",

View file

@ -4564,9 +4564,7 @@
},
"@thereAreCountUsersBlocked": {
"type": "String",
"placeholders": {
"count": {}
}
"count": {}
},
"@restricted": {
"type": "String",

View file

@ -5011,9 +5011,7 @@
},
"@thereAreCountUsersBlocked": {
"type": "String",
"placeholders": {
"count": {}
}
"count": {}
},
"@restricted": {
"type": "String",

View file

@ -5448,9 +5448,7 @@
},
"@thereAreCountUsersBlocked": {
"type": "String",
"placeholders": {
"count": {}
}
"count": {}
},
"@restricted": {
"type": "String",

View file

@ -5046,9 +5046,7 @@
},
"@thereAreCountUsersBlocked": {
"type": "String",
"placeholders": {
"count": {}
}
"count": {}
},
"@restricted": {
"type": "String",

View file

@ -2910,51 +2910,224 @@
"@subspace": {},
"decline": "Hylkää",
"@decline": {},
"initAppError": "Sovelluksen alustamisessa tapahtui virhe",
"@initAppError": {},
"userRole": "Käyttäjärooli",
"@userRole": {},
"minimumPowerLevel": "{level} on pienin tehotaso.",
"@minimumPowerLevel": {
"type": "String",
"placeholders": {
"level": {
"type": "String"
}
}
},
"searchIn": "Hae keskustelusta \"{chat}\"...",
"@searchIn": {
"type": "String",
"placeholders": {
"chat": {
"type": "String"
}
}
},
"searchMore": "Hae lisää...",
"@searchMore": {},
"databaseBuildErrorBody": "SQlite-tietokantaa ei voida rakentaa. Sovellus yrittää toistaiseksi käyttää vanhaa tietokantaa. Ilmoita tästä virheestä kehittäjille osoitteessa {url}. Virheviesti on: {error}",
"@databaseBuildErrorBody": {
"type": "String",
"placeholders": {
"url": {
"type": "String"
},
"error": {
"type": "String"
}
}
},
"sessionLostBody": "Istuntosi on menetetty. Ilmoita tästä virheestä kehittäjille osoitteessa {url}. Virheviesti on: {error}",
"@sessionLostBody": {
"type": "String",
"placeholders": {
"url": {
"type": "String"
},
"error": {
"type": "String"
}
}
},
"restoreSessionBody": "Sovellus yrittää nyt palauttaa istuntosi varmuuskopiosta. Ilmoita tästä virheestä kehittäjille osoitteessa {url}. Virheviesti on: {error}",
"@restoreSessionBody": {
"type": "String",
"placeholders": {
"url": {
"type": "String"
},
"error": {
"type": "String"
}
}
},
"forwardMessageTo": "Lähetätkö viestin edelleen kohteeseen {roomName}?",
"@forwardMessageTo": {
"type": "String",
"placeholders": {
"roomName": {
"type": "String"
}
}
},
"sendReadReceipts": "Lähetä lukukuittaukset",
"@sendReadReceipts": {},
"sendTypingNotificationsDescription": "Muut keskustelun osallistujat näkevät, milloin olet kirjoittamassa uutta viestiä.",
"@sendTypingNotificationsDescription": {},
"sendReadReceiptsDescription": "Muut keskustelun osallistujat näkevät, milloin olet lukenut viestin.",
"@sendReadReceiptsDescription": {},
"formattedMessages": "Muotoillut viestit",
"@formattedMessages": {},
"formattedMessagesDescription": "Näytä rikasta viestisisältöä, kuten lihavoitua tekstiä, käyttämällä Markdownia.",
"@formattedMessagesDescription": {},
"verifyOtherUser": "🔐 Vahvista toinen käyttäjä",
"@verifyOtherUser": {},
"verifyOtherUserDescription": "Jos vahvistat toisen käyttäjän, voit olla varma, että tiedät kenelle todella kirjoitat. 💪\n\nKun aloitat vahvistuksen, sinä ja toinen käyttäjä näette sovelluksessa ponnahdusikkunan. Siellä näette sitten sarjan emojeja tai numeroita, joita teidän on verrattava toisiinsa.\n\nParas tapa tehdä tämä on tavata heidät tai aloittaa videopuhelu. 👭",
"@verifyOtherUserDescription": {},
"verifyOtherDevice": "🔐 Vahvista toinen laite",
"@verifyOtherDevice": {},
"verifyOtherDeviceDescription": "Kun vahvistat toisen laitteen, kyseiset laitteet voivat vaihtaa avaimia, mikä lisää yleistä turvallisuuttasi. 💪 Kun aloitat vahvistuksen, molempien laitteiden sovellukseen ilmestyy ponnahdusikkuna. Siellä näet sitten sarjan emojeja tai numeroita, joita sinun on verrattava toisiinsa. On parasta pitää molemmat laitteet käsillä ennen vahvistuksen aloittamista. 🤳",
"@verifyOtherDeviceDescription": {},
"acceptedKeyVerification": "{sender} hyväksyi avaimen vahvistuksen",
"@acceptedKeyVerification": {
"type": "String",
"placeholders": {
"sender": {
"type": "String"
}
}
},
"canceledKeyVerification": "{sender} peruutti avaimen vahvistuksen",
"@canceledKeyVerification": {
"type": "String",
"placeholders": {
"sender": {
"type": "String"
}
}
},
"completedKeyVerification": "{sender} suoritti avaimen vahvistuksen",
"@completedKeyVerification": {
"type": "String",
"placeholders": {
"sender": {
"type": "String"
}
}
},
"isReadyForKeyVerification": "{sender} on valmis avaimen vahvistukseen",
"@isReadyForKeyVerification": {
"type": "String",
"placeholders": {
"sender": {
"type": "String"
}
}
},
"requestedKeyVerification": "{sender} pyysi avaimen vahvistusta",
"@requestedKeyVerification": {
"type": "String",
"placeholders": {
"sender": {
"type": "String"
}
}
},
"startedKeyVerification": "{sender} aloitti avaimen vahvistuksen",
"@startedKeyVerification": {
"type": "String",
"placeholders": {
"sender": {
"type": "String"
}
}
},
"transparent": "Läpinäkyvä",
"@transparent": {},
"incomingMessages": "Saapuvat viestit",
"@incomingMessages": {},
"stickers": "Tarrat",
"@stickers": {},
"discover": "Tutustu",
"@discover": {},
"commandHint_ignore": "Jätä huomiotta annettu matrix-tunnus",
"@commandHint_ignore": {},
"commandHint_unignore": "Kumoa annetun matrix-tunnuksen huomiottajätäminen",
"@commandHint_unignore": {},
"unreadChatsInApp": "{appname}: {unread} lukematonta keskustelua",
"@unreadChatsInApp": {
"type": "String",
"placeholders": {
"appname": {
"type": "String"
},
"unread": {
"type": "String"
}
}
},
"noDatabaseEncryption": "Tietokannan salausta ei tueta tällä alustalla",
"@noDatabaseEncryption": {},
"thereAreCountUsersBlocked": "Tällä hetkellä {count} käyttäjää on estetty.",
"@thereAreCountUsersBlocked": {
"type": "String",
"count": {}
},
"restricted": "Rajoitettu",
"@restricted": {},
"knockRestricted": "Koputus rajoitettu",
"@knockRestricted": {},
"goToSpace": "Siirry tilaan: {space}",
"@goToSpace": {
"type": "String",
"space": {}
},
"markAsUnread": "Merkitse lukemattomaksi",
"@markAsUnread": {},
"userLevel": "{level} - Käyttäjä",
"@userLevel": {
"type": "String",
"placeholders": {
"level": {
"type": "int"
}
}
},
"moderatorLevel": "{level} - Valvoja",
"@moderatorLevel": {
"type": "String",
"placeholders": {
"level": {
"type": "int"
}
}
},
"adminLevel": "{level} - Järjestelmänvalvoja",
"@adminLevel": {
"type": "String",
"placeholders": {
"level": {
"type": "int"
}
}
},
"changeGeneralChatSettings": "Muuta yleisiä keskusteluasetuksia",
"@changeGeneralChatSettings": {},
"inviteOtherUsers": "Kutsu muita käyttäjiä tähän pikakeskusteluun",
"@inviteOtherUsers": {},
"changeTheChatPermissions": "Muuta keskustelulupia",
"@changeTheChatPermissions": {},
"hideRedactedMessages": "Piilota muokatut viestit",
"hideRedactedMessagesBody": "Jos joku muokkaa viestin, tämä viesti ei ole enää näkyvissä keskustelussa.",
"initAppError": "Sovelluksen alustuksessa tapahtui virhe",
"userRole": "Käyttäjän rooli",
"minimumPowerLevel": "{level} on minimitehotaso.",
"searchIn": "Etsi keskustelusta \"{chat}\"...",
"searchMore": "Etsi lisää...",
"databaseBuildErrorBody": "Tietokannan SQlite:n rakentaminen epäonnistui. Sovellus yrittää käyttää vanhaa tietokantaa toistaiseksi. Ilmoita tästä virheestä kehittäjille osoitteessa {url}. Virheilmoitus on: {error}",
"sessionLostBody": "Istuntosi on kadonnut. Ilmoita tästä virheestä kehittäjille osoitteessa {url}. Virheilmoitus on: {error}",
"restoreSessionBody": "Sovellus yrittää nyt palauttaa istuntosi varmuuskopiosta. Ilmoita tästä virheestä kehittäjille osoitteessa {url}. Virheilmoitus on: {error}",
"forwardMessageTo": "Lähetä viesti eteenpäin {roomName}?",
"sendReadReceipts": "Lähetä lukutodistukset",
"sendTypingNotificationsDescription": "Muut osallistujat keskustelussa näkevät, kun kirjoitat uutta viestiä.",
"sendReadReceiptsDescription": "Muut osallistujat keskustelussa näkevät, kun olet lukenut viestin.",
"formattedMessages": "Muotoillut viestit",
"formattedMessagesDescription": "Näytä rikkaan viestisisällön kuten lihavoitu teksti markdownin avulla.",
"verifyOtherUser": "🔐 Vahvista toinen käyttäjä",
"verifyOtherUserDescription": "Jos vahvistat toisen käyttäjän, voit olla varma, että tiedät, kenelle oikeasti kirjoitat. 💪\n\nKun aloitat vahvistuksen, sinä ja toinen käyttäjä näette sovelluksessa ponnahdusikkunan. Siellä näette sitten sarjan emojeja tai numeroita, jotka teidän tulee verrata toisiinne.\n\nParas tapa tehdä tämä on tavata kasvotusten tai aloittaa videopuhelu. 👭",
"verifyOtherDevice": "🔄 Vahvista toinen laite",
"verifyOtherDeviceDescription": "Kun vahvistat toisen laitteen, nämä laitteet voivat vaihtaa avaimia, mikä lisää kokonaisturvallisuuttasi. 💪 Kun aloitat vahvistuksen, sovelluksessa molemmissa laitteissa ilmestyy ponnahdusikkuna. Siinä näet sarjan emojeja tai numeroita, jotka sinun tulee verrata toisiinsa. On parasta olla molemmat laitteet käsillä ennen vahvistuksen aloittamista. 🤓",
"acceptedKeyVerification": "{sender} hyväksyi avaintarkistuksen",
"canceledKeyVerification": "{sender} peruutti avaintarkistuksen",
"completedKeyVerification": "{sender} suoritti avaintarkistuksen",
"isReadyForKeyVerification": "{sender} on valmis avaintarkistukseen",
"requestedKeyVerification": "{sender} pyysi avaintarkistusta",
"startedKeyVerification": "{sender} aloitti avaintarkistuksen",
"transparent": "Läpinäkyvä",
"incomingMessages": "Saapuvat viestit",
"stickers": "Tarrat",
"discover": "Löydä",
"commandHint_ignore": "Ohita annettu matriisikoodi",
"commandHint_unignore": "Poista ohitus annettua matriisikoodia",
"unreadChatsInApp": "{appname}: {unread} lukematonta keskustelua",
"noDatabaseEncryption": "Tietokannan salausta ei tueta tällä alustalla",
"thereAreCountUsersBlocked": "Tällä hetkellä on {count} estettyä käyttäjää.",
"restricted": "Rajoitettu",
"knockRestricted": "Koputus rajoitettu",
"goToSpace": "Siirry avaruuteen: {space}",
"markAsUnread": "Merkitse lukemattomaksi",
"userLevel": "{level} - Käyttäjä",
"moderatorLevel": "{level} - Moderaattori",
"adminLevel": "{level} - Ylläpitäjä",
"changeGeneralChatSettings": "Vaihda yleiset keskusteluasetukset",
"inviteOtherUsers": "Kutsu muita käyttäjiä tähän keskusteluun",
"changeTheChatPermissions": "Vaihda keskustelun oikeudet",
"changeTheVisibilityOfChatHistory": "Vaihda keskusteluhistorian näkyvyyttä",
"changeTheCanonicalRoomAlias": "Vaihda pääasiallinen julkinen keskustelun osoite",
"sendRoomNotifications": "Lähetä @huone ilmoituksia",
@ -4198,258 +4371,6 @@
"type": "String",
"placeholders": {}
},
"@initAppError": {
"type": "String",
"placeholders": {}
},
"@userRole": {
"type": "String",
"placeholders": {}
},
"@minimumPowerLevel": {
"type": "String",
"placeholders": {
"level": {
"type": "String"
}
}
},
"@searchIn": {
"type": "String",
"placeholders": {
"chat": {
"type": "String"
}
}
},
"@searchMore": {
"type": "String",
"placeholders": {}
},
"@databaseBuildErrorBody": {
"type": "String",
"placeholders": {
"url": {
"type": "String"
},
"error": {
"type": "String"
}
}
},
"@sessionLostBody": {
"type": "String",
"placeholders": {
"url": {
"type": "String"
},
"error": {
"type": "String"
}
}
},
"@restoreSessionBody": {
"type": "String",
"placeholders": {
"url": {
"type": "String"
},
"error": {
"type": "String"
}
}
},
"@forwardMessageTo": {
"type": "String",
"placeholders": {
"roomName": {
"type": "String"
}
}
},
"@sendReadReceipts": {
"type": "String",
"placeholders": {}
},
"@sendTypingNotificationsDescription": {
"type": "String",
"placeholders": {}
},
"@sendReadReceiptsDescription": {
"type": "String",
"placeholders": {}
},
"@formattedMessages": {
"type": "String",
"placeholders": {}
},
"@formattedMessagesDescription": {
"type": "String",
"placeholders": {}
},
"@verifyOtherUser": {
"type": "String",
"placeholders": {}
},
"@verifyOtherUserDescription": {
"type": "String",
"placeholders": {}
},
"@verifyOtherDevice": {
"type": "String",
"placeholders": {}
},
"@verifyOtherDeviceDescription": {
"type": "String",
"placeholders": {}
},
"@acceptedKeyVerification": {
"type": "String",
"placeholders": {
"sender": {
"type": "String"
}
}
},
"@canceledKeyVerification": {
"type": "String",
"placeholders": {
"sender": {
"type": "String"
}
}
},
"@completedKeyVerification": {
"type": "String",
"placeholders": {
"sender": {
"type": "String"
}
}
},
"@isReadyForKeyVerification": {
"type": "String",
"placeholders": {
"sender": {
"type": "String"
}
}
},
"@requestedKeyVerification": {
"type": "String",
"placeholders": {
"sender": {
"type": "String"
}
}
},
"@startedKeyVerification": {
"type": "String",
"placeholders": {
"sender": {
"type": "String"
}
}
},
"@transparent": {
"type": "String",
"placeholders": {}
},
"@incomingMessages": {
"type": "String",
"placeholders": {}
},
"@stickers": {
"type": "String",
"placeholders": {}
},
"@discover": {
"type": "String",
"placeholders": {}
},
"@commandHint_ignore": {
"type": "String",
"placeholders": {}
},
"@commandHint_unignore": {
"type": "String",
"placeholders": {}
},
"@unreadChatsInApp": {
"type": "String",
"placeholders": {
"appname": {
"type": "String"
},
"unread": {
"type": "String"
}
}
},
"@noDatabaseEncryption": {
"type": "String",
"placeholders": {}
},
"@thereAreCountUsersBlocked": {
"type": "String",
"placeholders": {
"count": {}
}
},
"@restricted": {
"type": "String",
"placeholders": {}
},
"@knockRestricted": {
"type": "String",
"placeholders": {}
},
"@goToSpace": {
"type": "String",
"placeholders": {
"space": {}
}
},
"@markAsUnread": {
"type": "String",
"placeholders": {}
},
"@userLevel": {
"type": "String",
"placeholders": {
"level": {
"type": "int"
}
}
},
"@moderatorLevel": {
"type": "String",
"placeholders": {
"level": {
"type": "int"
}
}
},
"@adminLevel": {
"type": "String",
"placeholders": {
"level": {
"type": "int"
}
}
},
"@changeGeneralChatSettings": {
"type": "String",
"placeholders": {}
},
"@inviteOtherUsers": {
"type": "String",
"placeholders": {}
},
"@changeTheChatPermissions": {
"type": "String",
"placeholders": {}
},
"@changeTheVisibilityOfChatHistory": {
"type": "String",
"placeholders": {}

View file

@ -4942,9 +4942,7 @@
},
"@thereAreCountUsersBlocked": {
"type": "String",
"placeholders": {
"count": {}
}
"count": {}
},
"@restricted": {
"type": "String",

View file

@ -5006,9 +5006,7 @@
},
"@thereAreCountUsersBlocked": {
"type": "String",
"placeholders": {
"count": {}
}
"count": {}
},
"@restricted": {
"type": "String",

View file

@ -4570,9 +4570,7 @@
},
"@thereAreCountUsersBlocked": {
"type": "String",
"placeholders": {
"count": {}
}
"count": {}
},
"@restricted": {
"type": "String",

View file

@ -5027,9 +5027,7 @@
},
"@thereAreCountUsersBlocked": {
"type": "String",
"placeholders": {
"count": {}
}
"count": {}
},
"@restricted": {
"type": "String",

View file

@ -4571,9 +4571,7 @@
},
"@thereAreCountUsersBlocked": {
"type": "String",
"placeholders": {
"count": {}
}
"count": {}
},
"@restricted": {
"type": "String",

View file

@ -4747,9 +4747,7 @@
},
"@thereAreCountUsersBlocked": {
"type": "String",
"placeholders": {
"count": {}
}
"count": {}
},
"@restricted": {
"type": "String",

View file

@ -4979,9 +4979,7 @@
},
"@thereAreCountUsersBlocked": {
"type": "String",
"placeholders": {
"count": {}
}
"count": {}
},
"@restricted": {
"type": "String",

View file

@ -4762,9 +4762,7 @@
},
"@thereAreCountUsersBlocked": {
"type": "String",
"placeholders": {
"count": {}
}
"count": {}
},
"@restricted": {
"type": "String",

View file

@ -5044,9 +5044,7 @@
},
"@thereAreCountUsersBlocked": {
"type": "String",
"placeholders": {
"count": {}
}
"count": {}
},
"@restricted": {
"type": "String",

View file

@ -5003,9 +5003,7 @@
},
"@thereAreCountUsersBlocked": {
"type": "String",
"placeholders": {
"count": {}
}
"count": {}
},
"@restricted": {
"type": "String",

View file

@ -4692,9 +4692,7 @@
},
"@thereAreCountUsersBlocked": {
"type": "String",
"placeholders": {
"count": {}
}
"count": {}
},
"@restricted": {
"type": "String",

View file

@ -1087,7 +1087,7 @@
"type": "String",
"placeholders": {}
},
"loadCountMoreParticipants": "",
"loadCountMoreParticipants": "{count, plural, one{Загрузить еще # участника} few{Загрузить еще # участников} other{Загрузить еще # участников}}",
"@loadCountMoreParticipants": {
"type": "String",
"placeholders": {
@ -1888,7 +1888,7 @@
}
}
},
"userAndOthersAreTyping": "",
"userAndOthersAreTyping": "{username} и еще {count} печатают…",
"@userAndOthersAreTyping": {
"type": "String",
"placeholders": {
@ -2328,7 +2328,7 @@
"@storeInAndroidKeystore": {},
"storeInAppleKeyChain": "Сохранить в Apple KeyChain",
"@storeInAppleKeyChain": {},
"countFiles": "",
"countFiles": "{count, plural, one{# файл} few{# файла} other{# файлов}}",
"@countFiles": {
"placeholders": {
"count": {
@ -2946,7 +2946,7 @@
}
}
},
"thereAreCountUsersBlocked": "",
"thereAreCountUsersBlocked": "Сейчас {count, plural, one{заблокирован # пользователь} few{заблокированы # пользователя} other{заблокированы # пользователей}}.",
"@thereAreCountUsersBlocked": {
"type": "String",
"count": {}
@ -3167,7 +3167,7 @@
"@version": {},
"website": "Сайт",
"@website": {},
"sendImages": "",
"sendImages": "Отправить {count} изображение",
"@sendImages": {
"type": "String",
"placeholders": {
@ -3284,7 +3284,7 @@
"@commandHint_roomupgrade": {},
"notificationRuleInviteForMeDescription": "Уведомляет пользователя, когда его приглашают в комнату.",
"@notificationRuleInviteForMeDescription": {},
"countInvited": "",
"countInvited": "{count, plural, one{Приглашён # участник} few{Приглашены # участника} other{Приглашены # участников}}",
"@countInvited": {
"type": "String",
"placeholders": {
@ -3304,6 +3304,24 @@
},
"checkList": "Контрольный список",
"@checkList": {},
"countVotes": "{count, plural, =1{Один голос} other{{count} голосов}}",
"@countVotes": {
"type": "int",
"placeholders": {
"count": {
"type": "int"
}
}
},
"countReplies": "{count, plural, =1{Один ответ} other{{count} ответов}}",
"@countReplies": {
"type": "int",
"placeholders": {
"count": {
"type": "int"
}
}
},
"notificationRuleMemberEvent": "Событие участника",
"notificationRuleIsUserMentionDescription": "Уведомляет пользователя, когда его прямо упоминают в сообщении.",
"notificationRuleContainsDisplayNameDescription": "Уведомляет пользователя, когда сообщение содержит его отображаемое имя.",

View file

@ -5041,9 +5041,7 @@
},
"@thereAreCountUsersBlocked": {
"type": "String",
"placeholders": {
"count": {}
}
"count": {}
},
"@restricted": {
"type": "String",

View file

@ -5030,9 +5030,7 @@
},
"@thereAreCountUsersBlocked": {
"type": "String",
"placeholders": {
"count": {}
}
"count": {}
},
"@restricted": {
"type": "String",

View file

@ -5059,9 +5059,7 @@
},
"@thereAreCountUsersBlocked": {
"type": "String",
"placeholders": {
"count": {}
}
"count": {}
},
"@restricted": {
"type": "String",

View file

@ -4435,9 +4435,7 @@
},
"@thereAreCountUsersBlocked": {
"type": "String",
"placeholders": {
"count": {}
}
"count": {}
},
"@restricted": {
"type": "String",

View file

@ -5041,9 +5041,7 @@
},
"@thereAreCountUsersBlocked": {
"type": "String",
"placeholders": {
"count": {}
}
"count": {}
},
"@restricted": {
"type": "String",

View file

@ -4570,9 +4570,7 @@
},
"@thereAreCountUsersBlocked": {
"type": "String",
"placeholders": {
"count": {}
}
"count": {}
},
"@restricted": {
"type": "String",

View file

@ -14,5 +14,430 @@
"setPermissionsLevelDescription": "Quyidagi oldindan belgilangan rolni tanlang yoki 0-100 orasidagi maxsus ruxsatlar darajasini kiriting.",
"@setPermissionsLevelDescription": {},
"ignoreUser": "Foydalanuvchini etiborsiz qoldirish",
"@ignoreUser": {}
"@ignoreUser": {},
"remove": "Ochirish",
"@remove": {
"type": "String",
"placeholders": {}
},
"importNow": "Hozir import qilish",
"@importNow": {},
"importEmojis": "Emojilarni import qilish",
"@importEmojis": {},
"importFromZipFile": ".zip faylidan import qilish",
"@importFromZipFile": {},
"exportEmotePack": "Emotsiyalar toplamini .zip fayl korinishida eksport qilish",
"@exportEmotePack": {},
"replace": "Almashtirmoq",
"@replace": {},
"about": "Biz haqimizda",
"@about": {},
"aboutHomeserver": "{homeserver} haqida",
"@aboutHomeserver": {
"type": "String",
"placeholders": {
"homeserver": {
"type": "String"
}
}
},
"accept": "Qabul qilmoq",
"@accept": {
"type": "String",
"placeholders": {}
},
"acceptedTheInvitation": "👍 {username} taklifni qabul qildi",
"@acceptedTheInvitation": {
"type": "String",
"placeholders": {
"username": {
"type": "String"
}
}
},
"account": "Hisob",
"@account": {
"type": "String",
"placeholders": {}
},
"activatedEndToEndEncryption": "🔐 {username} shifrlashni yakunlash uchun faollashtirdi",
"@activatedEndToEndEncryption": {
"type": "String",
"placeholders": {
"username": {
"type": "String"
}
}
},
"addEmail": "Email qoshish",
"@addEmail": {
"type": "String",
"placeholders": {}
},
"confirmMatrixId": "Hisobingizni ochirish uchun Matrix ID hisobingizni tasdiqlang.",
"@confirmMatrixId": {},
"supposedMxid": "Bu {mxid} bolishi kerak",
"@supposedMxid": {
"type": "String",
"placeholders": {
"mxid": {
"type": "String"
}
}
},
"addChatDescription": "Chat tavsifini kiriting...",
"@addChatDescription": {},
"addToSpace": "Maydonga qoshish",
"@addToSpace": {},
"admin": "Admin",
"@admin": {
"type": "String",
"placeholders": {}
},
"alias": "taxallus",
"@alias": {
"type": "String",
"placeholders": {}
},
"all": "Hammasi",
"@all": {
"type": "String",
"placeholders": {}
},
"allChats": "Hamma chatlar",
"@allChats": {
"type": "String",
"placeholders": {}
},
"commandHint_roomupgrade": "Bu guruhni berilgan guruh versiyasiga yangilang",
"@commandHint_roomupgrade": {},
"commandHint_googly": "Gilay kozlarini yuboring",
"@commandHint_googly": {},
"commandHint_cuddle": "Erkalash yuborish",
"@commandHint_cuddle": {},
"commandHint_hug": "Quchoqlash yuborish",
"@commandHint_hug": {},
"googlyEyesContent": "{senderName} sizga gʻilay kozlarini yubormoqda",
"@googlyEyesContent": {
"type": "String",
"placeholders": {
"senderName": {
"type": "String"
}
}
},
"cuddleContent": "{senderName} sizni erkalamoqda",
"@cuddleContent": {
"type": "String",
"placeholders": {
"senderName": {
"type": "String"
}
}
},
"hugContent": "{senderName} sizni quchoqlamoqda",
"@hugContent": {
"type": "String",
"placeholders": {
"senderName": {
"type": "String"
}
}
},
"answeredTheCall": "{senderName} chaqiruvga javob berdi",
"@answeredTheCall": {
"type": "String",
"placeholders": {
"senderName": {
"type": "String"
}
}
},
"anyoneCanJoin": "Har kim qoshilishi mumkin",
"@anyoneCanJoin": {
"type": "String",
"placeholders": {}
},
"appLock": "Ilova qulfi",
"@appLock": {
"type": "String",
"placeholders": {}
},
"appLockDescription": "PIN kod ishlatilmayotganida ilovani qulflash",
"@appLockDescription": {},
"archive": "Arxiv",
"@archive": {
"type": "String",
"placeholders": {}
},
"areGuestsAllowedToJoin": "Mehmon foydalanuvchilarga qoshilishga ruxsat berilganmi",
"@areGuestsAllowedToJoin": {
"type": "String",
"placeholders": {}
},
"areYouSure": "Ishonchingiz komilmi?",
"@areYouSure": {
"type": "String",
"placeholders": {}
},
"areYouSureYouWantToLogout": "Haqiqatan ham hisobingizdan chiqamoqchimisiz?",
"@areYouSureYouWantToLogout": {
"type": "String",
"placeholders": {}
},
"askSSSSSign": "Narigi foydalanuvchini imzolash uchun xavfsiz dokon parol iborasi yoki tiklash kalitini kiriting.",
"@askSSSSSign": {
"type": "String",
"placeholders": {}
},
"askVerificationRequest": "{username}dan ushbu tasdiqlash sorovi qabul qilinsinmi?",
"@askVerificationRequest": {
"type": "String",
"placeholders": {
"username": {
"type": "String"
}
}
},
"autoplayImages": "Animatsiyali stikerlar va emojilarni avtomatik ijro etish",
"@autoplayImages": {
"type": "String",
"placeholder": {}
},
"sendTypingNotifications": "Yozish bildirishnomalarini yuborish",
"@sendTypingNotifications": {},
"swipeRightToLeftToReply": "Javob berish uchun ongdan chapga suring",
"@swipeRightToLeftToReply": {},
"badServerLoginTypesException": "Homeserver quyidagi kirish turlarini qo'llab-quvvatlaydi:\n{serverVersions}\nLekin bu ilova faqat quyidagi turlarni qo'llab-quvvatlaydi:\n{supportedVersions}",
"@badServerLoginTypesException": {
"type": "String",
"placeholders": {
"serverVersions": {
"type": "String"
},
"supportedVersions": {
"type": "String"
}
}
},
"sendOnEnter": "Enterda yuborish",
"@sendOnEnter": {},
"badServerVersionsException": "Homeserver quyidagi Spec versiyalarini qo'llab-quvvatlaydi:\n{serverVersions}\nLekin bu ilova faqat {supportedVersions} versiyalarini qo'llab-quvvatlaydi",
"@badServerVersionsException": {
"type": "String",
"placeholders": {
"serverVersions": {
"type": "String"
},
"supportedVersions": {
"type": "String"
}
}
},
"countChatsAndCountParticipants": "{chats} chatlar va {participants} ishtirokchilar",
"@countChatsAndCountParticipants": {
"type": "String",
"placeholders": {
"chats": {
"type": "int"
},
"participants": {
"type": "int"
}
}
},
"noMoreChatsFound": "Boshqa chatlar topilmadi...",
"@noMoreChatsFound": {},
"noChatsFoundHere": "Bu yerda hali chat topilmadi. Quyidagi tugmadan foydalanib, kimdir bilan yangi chat boshlang. ⤵️",
"@noChatsFoundHere": {},
"joinedChats": "Qo'shilgan chatlar",
"@joinedChats": {},
"unread": "Oʻqilmagan",
"@unread": {},
"space": "Boʻshliq",
"@space": {},
"spaces": "Boʻshliqlar",
"@spaces": {},
"banFromChat": "Chatdan taqiqlash",
"@banFromChat": {
"type": "String",
"placeholders": {}
},
"banned": "Taqiqlangan",
"@banned": {
"type": "String",
"placeholders": {}
},
"bannedUser": "{username} taqiqladi {targetName}(ni)",
"@bannedUser": {
"type": "String",
"placeholders": {
"username": {
"type": "String"
},
"targetName": {
"type": "String"
}
}
},
"blockDevice": "Qurilmani bloklash",
"@blockDevice": {
"type": "String",
"placeholders": {}
},
"blocked": "Bloklandi",
"@blocked": {
"type": "String",
"placeholders": {}
},
"botMessages": "Bot xabarlari",
"@botMessages": {
"type": "String",
"placeholders": {}
},
"cancel": "Bekor qilish",
"@cancel": {
"type": "String",
"placeholders": {}
},
"cantOpenUri": "{uri} URIni ochib boʻlmadi",
"@cantOpenUri": {
"type": "String",
"placeholders": {
"uri": {
"type": "String"
}
}
},
"changeDeviceName": "Qurilma nomini oʻzgartirish",
"@changeDeviceName": {
"type": "String",
"placeholders": {}
},
"changedTheChatAvatar": "{username} chat avatarini oʻzgartirdi",
"@changedTheChatAvatar": {
"type": "String",
"placeholders": {
"username": {
"type": "String"
}
}
},
"changedTheChatDescriptionTo": "{username} chat tavsifini '{description}'ga oʻzgartirdi",
"@changedTheChatDescriptionTo": {
"type": "String",
"placeholders": {
"username": {
"type": "String"
},
"description": {
"type": "String"
}
}
},
"changedTheChatNameTo": "{username} chat nomini: '{chatname}'ga oʻzgartirdi",
"@changedTheChatNameTo": {
"type": "String",
"placeholders": {
"username": {
"type": "String"
},
"chatname": {
"type": "String"
}
}
},
"changedTheChatPermissions": "{username} chat ruxsatnomalarini oʻzgartirdi",
"@changedTheChatPermissions": {
"type": "String",
"placeholders": {
"username": {
"type": "String"
}
}
},
"changedTheDisplaynameTo": "{username} oʻzining nomini '{displayname}'ga oʻzgartirdi",
"@changedTheDisplaynameTo": {
"type": "String",
"placeholders": {
"username": {
"type": "String"
},
"displayname": {
"type": "String"
}
}
},
"changedTheGuestAccessRules": "{username} mehmon kirish qoidalarini oʻzgartirdi",
"@changedTheGuestAccessRules": {
"type": "String",
"placeholders": {
"username": {
"type": "String"
}
}
},
"changedTheGuestAccessRulesTo": "{username} mehmon kirish qoidalarini: {rules}ga oʻzgartirdi",
"@changedTheGuestAccessRulesTo": {
"type": "String",
"placeholders": {
"username": {
"type": "String"
},
"rules": {
"type": "String"
}
}
},
"changedTheHistoryVisibility": "{username} tarix koʻrinishini oʻzgartirdi",
"@changedTheHistoryVisibility": {
"type": "String",
"placeholders": {
"username": {
"type": "String"
}
}
},
"changedTheHistoryVisibilityTo": "{username} tarix koʻrinishini: {rules}ga oʻzgartirdi",
"@changedTheHistoryVisibilityTo": {
"type": "String",
"placeholders": {
"username": {
"type": "String"
},
"rules": {
"type": "String"
}
}
},
"changedTheJoinRules": "{username} qoʻshilish qoidalarini oʻzgartirdi",
"@changedTheJoinRules": {
"type": "String",
"placeholders": {
"username": {
"type": "String"
}
}
},
"changedTheJoinRulesTo": "{username} qoʻshilish qoidalarini: {joinRules}ga oʻzgartirdi",
"@changedTheJoinRulesTo": {
"type": "String",
"placeholders": {
"username": {
"type": "String"
},
"joinRules": {
"type": "String"
}
}
},
"changedTheProfileAvatar": "{username} avatarini oʻzgartirdi",
"@changedTheProfileAvatar": {
"type": "String",
"placeholders": {
"username": {
"type": "String"
}
}
}
}

View file

@ -4642,9 +4642,7 @@
},
"@thereAreCountUsersBlocked": {
"type": "String",
"placeholders": {
"count": {}
}
"count": {}
},
"@restricted": {
"type": "String",

View file

@ -591,6 +591,7 @@ class BackgroundPush {
}
Future<void> _onUpMessage(PushMessage pushMessage, String i) async {
Logs().wtf('Push Notification from UP received', pushMessage);
final message = pushMessage.content;
upAction = true;
final data = Map<String, dynamic>.from(
@ -604,6 +605,8 @@ class BackgroundPush {
l10n: l10n,
activeRoomId: matrix?.activeRoomId,
flutterLocalNotificationsPlugin: _flutterLocalNotificationsPlugin,
useNotificationActions:
false, // Buggy with UP: https://codeberg.org/UnifiedPush/flutter-connector/issues/34
);
}
}

View file

@ -30,6 +30,7 @@ Future<void> pushHelper(
// #Pangea
Map<String, dynamic>? additionalData,
// Pangea#
bool useNotificationActions = true,
}) async {
try {
await _tryPushHelper(
@ -41,6 +42,7 @@ Future<void> pushHelper(
// #Pangea
additionalData: additionalData,
// Pangea#
useNotificationActions: useNotificationActions,
);
} catch (e, s) {
Logs().e('Push Helper has crashed! Writing into temporary file', e, s);
@ -82,6 +84,7 @@ Future<void> _tryPushHelper(
// #Pangea
Map<String, dynamic>? additionalData,
// Pangea#
bool useNotificationActions = true,
}) async {
final isBackgroundMessage = client == null;
Logs().v(
@ -300,7 +303,7 @@ Future<void> _tryPushHelper(
importance: Importance.high,
priority: Priority.max,
groupKey: event.room.spaceParents.firstOrNull?.roomId ?? 'rooms',
actions: event.type == EventTypes.RoomMember
actions: event.type == EventTypes.RoomMember || !useNotificationActions
? null
: <AndroidNotificationAction>[
AndroidNotificationAction(