diff --git a/lib/l10n/intl_bn.arb b/lib/l10n/intl_bn.arb index 74c2f4113..437974520 100644 --- a/lib/l10n/intl_bn.arb +++ b/lib/l10n/intl_bn.arb @@ -4571,9 +4571,7 @@ }, "@thereAreCountUsersBlocked": { "type": "String", - "placeholders": { - "count": {} - } + "count": {} }, "@restricted": { "type": "String", diff --git a/lib/l10n/intl_bo.arb b/lib/l10n/intl_bo.arb index 539792a4b..5b5058278 100644 --- a/lib/l10n/intl_bo.arb +++ b/lib/l10n/intl_bo.arb @@ -9156,9 +9156,7 @@ }, "@thereAreCountUsersBlocked": { "type": "String", - "placeholders": { - "count": {} - } + "count": {} }, "@restricted": { "type": "String", diff --git a/lib/l10n/intl_cs.arb b/lib/l10n/intl_cs.arb index b6042b40a..cebc149df 100644 --- a/lib/l10n/intl_cs.arb +++ b/lib/l10n/intl_cs.arb @@ -4564,9 +4564,7 @@ }, "@thereAreCountUsersBlocked": { "type": "String", - "placeholders": { - "count": {} - } + "count": {} }, "@restricted": { "type": "String", diff --git a/lib/l10n/intl_da.arb b/lib/l10n/intl_da.arb index eef287d6f..225edf2db 100644 --- a/lib/l10n/intl_da.arb +++ b/lib/l10n/intl_da.arb @@ -5011,9 +5011,7 @@ }, "@thereAreCountUsersBlocked": { "type": "String", - "placeholders": { - "count": {} - } + "count": {} }, "@restricted": { "type": "String", diff --git a/lib/l10n/intl_el.arb b/lib/l10n/intl_el.arb index 2c206d1bc..d3614d891 100644 --- a/lib/l10n/intl_el.arb +++ b/lib/l10n/intl_el.arb @@ -5448,9 +5448,7 @@ }, "@thereAreCountUsersBlocked": { "type": "String", - "placeholders": { - "count": {} - } + "count": {} }, "@restricted": { "type": "String", diff --git a/lib/l10n/intl_eo.arb b/lib/l10n/intl_eo.arb index 9c55db7a2..092c424ae 100644 --- a/lib/l10n/intl_eo.arb +++ b/lib/l10n/intl_eo.arb @@ -5046,9 +5046,7 @@ }, "@thereAreCountUsersBlocked": { "type": "String", - "placeholders": { - "count": {} - } + "count": {} }, "@restricted": { "type": "String", diff --git a/lib/l10n/intl_fi.arb b/lib/l10n/intl_fi.arb index f6d2c6a8b..62fb171ca 100644 --- a/lib/l10n/intl_fi.arb +++ b/lib/l10n/intl_fi.arb @@ -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": {} diff --git a/lib/l10n/intl_fil.arb b/lib/l10n/intl_fil.arb index 0e21275de..715360384 100644 --- a/lib/l10n/intl_fil.arb +++ b/lib/l10n/intl_fil.arb @@ -4942,9 +4942,7 @@ }, "@thereAreCountUsersBlocked": { "type": "String", - "placeholders": { - "count": {} - } + "count": {} }, "@restricted": { "type": "String", diff --git a/lib/l10n/intl_he.arb b/lib/l10n/intl_he.arb index 5142ea249..1a92d82fc 100644 --- a/lib/l10n/intl_he.arb +++ b/lib/l10n/intl_he.arb @@ -5006,9 +5006,7 @@ }, "@thereAreCountUsersBlocked": { "type": "String", - "placeholders": { - "count": {} - } + "count": {} }, "@restricted": { "type": "String", diff --git a/lib/l10n/intl_hi.arb b/lib/l10n/intl_hi.arb index 0f23259e3..a2209b6c9 100644 --- a/lib/l10n/intl_hi.arb +++ b/lib/l10n/intl_hi.arb @@ -4570,9 +4570,7 @@ }, "@thereAreCountUsersBlocked": { "type": "String", - "placeholders": { - "count": {} - } + "count": {} }, "@restricted": { "type": "String", diff --git a/lib/l10n/intl_ia.arb b/lib/l10n/intl_ia.arb index e5503d62b..9cd7459cf 100644 --- a/lib/l10n/intl_ia.arb +++ b/lib/l10n/intl_ia.arb @@ -5027,9 +5027,7 @@ }, "@thereAreCountUsersBlocked": { "type": "String", - "placeholders": { - "count": {} - } + "count": {} }, "@restricted": { "type": "String", diff --git a/lib/l10n/intl_ie.arb b/lib/l10n/intl_ie.arb index 2af6e499f..4d278e72d 100644 --- a/lib/l10n/intl_ie.arb +++ b/lib/l10n/intl_ie.arb @@ -4571,9 +4571,7 @@ }, "@thereAreCountUsersBlocked": { "type": "String", - "placeholders": { - "count": {} - } + "count": {} }, "@restricted": { "type": "String", diff --git a/lib/l10n/intl_ja.arb b/lib/l10n/intl_ja.arb index 3ba8a2473..fbaef4306 100644 --- a/lib/l10n/intl_ja.arb +++ b/lib/l10n/intl_ja.arb @@ -4747,9 +4747,7 @@ }, "@thereAreCountUsersBlocked": { "type": "String", - "placeholders": { - "count": {} - } + "count": {} }, "@restricted": { "type": "String", diff --git a/lib/l10n/intl_ka.arb b/lib/l10n/intl_ka.arb index 9703538f1..0c0f38b13 100644 --- a/lib/l10n/intl_ka.arb +++ b/lib/l10n/intl_ka.arb @@ -4979,9 +4979,7 @@ }, "@thereAreCountUsersBlocked": { "type": "String", - "placeholders": { - "count": {} - } + "count": {} }, "@restricted": { "type": "String", diff --git a/lib/l10n/intl_lt.arb b/lib/l10n/intl_lt.arb index 6de6b12ff..51537e5d4 100644 --- a/lib/l10n/intl_lt.arb +++ b/lib/l10n/intl_lt.arb @@ -4762,9 +4762,7 @@ }, "@thereAreCountUsersBlocked": { "type": "String", - "placeholders": { - "count": {} - } + "count": {} }, "@restricted": { "type": "String", diff --git a/lib/l10n/intl_pt.arb b/lib/l10n/intl_pt.arb index a43f7f0ea..cad6b42ac 100644 --- a/lib/l10n/intl_pt.arb +++ b/lib/l10n/intl_pt.arb @@ -5044,9 +5044,7 @@ }, "@thereAreCountUsersBlocked": { "type": "String", - "placeholders": { - "count": {} - } + "count": {} }, "@restricted": { "type": "String", diff --git a/lib/l10n/intl_pt_PT.arb b/lib/l10n/intl_pt_PT.arb index 9a8d499ab..3e5c43f0d 100644 --- a/lib/l10n/intl_pt_PT.arb +++ b/lib/l10n/intl_pt_PT.arb @@ -5003,9 +5003,7 @@ }, "@thereAreCountUsersBlocked": { "type": "String", - "placeholders": { - "count": {} - } + "count": {} }, "@restricted": { "type": "String", diff --git a/lib/l10n/intl_ro.arb b/lib/l10n/intl_ro.arb index 92b9a6cae..6be7a3e6d 100644 --- a/lib/l10n/intl_ro.arb +++ b/lib/l10n/intl_ro.arb @@ -4692,9 +4692,7 @@ }, "@thereAreCountUsersBlocked": { "type": "String", - "placeholders": { - "count": {} - } + "count": {} }, "@restricted": { "type": "String", diff --git a/lib/l10n/intl_ru.arb b/lib/l10n/intl_ru.arb index 5db6075ff..2c090f5b5 100644 --- a/lib/l10n/intl_ru.arb +++ b/lib/l10n/intl_ru.arb @@ -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": "Уведомляет пользователя, когда сообщение содержит его отображаемое имя.", diff --git a/lib/l10n/intl_sk.arb b/lib/l10n/intl_sk.arb index ee5ec63ed..97600a7ca 100644 --- a/lib/l10n/intl_sk.arb +++ b/lib/l10n/intl_sk.arb @@ -5041,9 +5041,7 @@ }, "@thereAreCountUsersBlocked": { "type": "String", - "placeholders": { - "count": {} - } + "count": {} }, "@restricted": { "type": "String", diff --git a/lib/l10n/intl_sl.arb b/lib/l10n/intl_sl.arb index 99c6ef3df..42a3951d5 100644 --- a/lib/l10n/intl_sl.arb +++ b/lib/l10n/intl_sl.arb @@ -5030,9 +5030,7 @@ }, "@thereAreCountUsersBlocked": { "type": "String", - "placeholders": { - "count": {} - } + "count": {} }, "@restricted": { "type": "String", diff --git a/lib/l10n/intl_sr.arb b/lib/l10n/intl_sr.arb index 5b1401c55..a15613aea 100644 --- a/lib/l10n/intl_sr.arb +++ b/lib/l10n/intl_sr.arb @@ -5059,9 +5059,7 @@ }, "@thereAreCountUsersBlocked": { "type": "String", - "placeholders": { - "count": {} - } + "count": {} }, "@restricted": { "type": "String", diff --git a/lib/l10n/intl_sv.arb b/lib/l10n/intl_sv.arb index b39ccb2c1..e922f0f17 100644 --- a/lib/l10n/intl_sv.arb +++ b/lib/l10n/intl_sv.arb @@ -4435,9 +4435,7 @@ }, "@thereAreCountUsersBlocked": { "type": "String", - "placeholders": { - "count": {} - } + "count": {} }, "@restricted": { "type": "String", diff --git a/lib/l10n/intl_te.arb b/lib/l10n/intl_te.arb index f8cef0f7d..a5111256c 100644 --- a/lib/l10n/intl_te.arb +++ b/lib/l10n/intl_te.arb @@ -5041,9 +5041,7 @@ }, "@thereAreCountUsersBlocked": { "type": "String", - "placeholders": { - "count": {} - } + "count": {} }, "@restricted": { "type": "String", diff --git a/lib/l10n/intl_th.arb b/lib/l10n/intl_th.arb index 1990f7e13..2e185858e 100644 --- a/lib/l10n/intl_th.arb +++ b/lib/l10n/intl_th.arb @@ -4570,9 +4570,7 @@ }, "@thereAreCountUsersBlocked": { "type": "String", - "placeholders": { - "count": {} - } + "count": {} }, "@restricted": { "type": "String", diff --git a/lib/l10n/intl_uz.arb b/lib/l10n/intl_uz.arb index 2d77349b0..f1e77fa01 100644 --- a/lib/l10n/intl_uz.arb +++ b/lib/l10n/intl_uz.arb @@ -14,5 +14,430 @@ "setPermissionsLevelDescription": "Quyidagi oldindan belgilangan rolni tanlang yoki 0-100 orasidagi maxsus ruxsatlar darajasini kiriting.", "@setPermissionsLevelDescription": {}, "ignoreUser": "Foydalanuvchini e’tiborsiz qoldirish", - "@ignoreUser": {} + "@ignoreUser": {}, + "remove": "O‘chirish", + "@remove": { + "type": "String", + "placeholders": {} + }, + "importNow": "Hozir import qilish", + "@importNow": {}, + "importEmojis": "Emojilarni import qilish", + "@importEmojis": {}, + "importFromZipFile": ".zip faylidan import qilish", + "@importFromZipFile": {}, + "exportEmotePack": "Emotsiyalar to‘plamini .zip fayl ko‘rinishida 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 qo‘shish", + "@addEmail": { + "type": "String", + "placeholders": {} + }, + "confirmMatrixId": "Hisobingizni o‘chirish uchun Matrix ID hisobingizni tasdiqlang.", + "@confirmMatrixId": {}, + "supposedMxid": "Bu {mxid} bo‘lishi kerak", + "@supposedMxid": { + "type": "String", + "placeholders": { + "mxid": { + "type": "String" + } + } + }, + "addChatDescription": "Chat tavsifini kiriting...", + "@addChatDescription": {}, + "addToSpace": "Maydonga qo‘shish", + "@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": "G‘ilay ko‘zlarini yuboring", + "@commandHint_googly": {}, + "commandHint_cuddle": "Erkalash yuborish", + "@commandHint_cuddle": {}, + "commandHint_hug": "Quchoqlash yuborish", + "@commandHint_hug": {}, + "googlyEyesContent": "{senderName} sizga gʻilay ko‘zlarini 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 qo‘shilishi 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 qo‘shilishga 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 do‘kon parol iborasi yoki tiklash kalitini kiriting.", + "@askSSSSSign": { + "type": "String", + "placeholders": {} + }, + "askVerificationRequest": "{username}dan ushbu tasdiqlash so‘rovi 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 o‘ngdan 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" + } + } + } } diff --git a/lib/l10n/intl_yue.arb b/lib/l10n/intl_yue.arb index 410706220..f6ab1fce5 100644 --- a/lib/l10n/intl_yue.arb +++ b/lib/l10n/intl_yue.arb @@ -4642,9 +4642,7 @@ }, "@thereAreCountUsersBlocked": { "type": "String", - "placeholders": { - "count": {} - } + "count": {} }, "@restricted": { "type": "String", diff --git a/lib/utils/background_push.dart b/lib/utils/background_push.dart index 5a41978af..1e8aec349 100644 --- a/lib/utils/background_push.dart +++ b/lib/utils/background_push.dart @@ -591,6 +591,7 @@ class BackgroundPush { } Future _onUpMessage(PushMessage pushMessage, String i) async { + Logs().wtf('Push Notification from UP received', pushMessage); final message = pushMessage.content; upAction = true; final data = Map.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 ); } } diff --git a/lib/utils/push_helper.dart b/lib/utils/push_helper.dart index 82f49441a..30d92a3df 100644 --- a/lib/utils/push_helper.dart +++ b/lib/utils/push_helper.dart @@ -30,6 +30,7 @@ Future pushHelper( // #Pangea Map? additionalData, // Pangea# + bool useNotificationActions = true, }) async { try { await _tryPushHelper( @@ -41,6 +42,7 @@ Future 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 _tryPushHelper( // #Pangea Map? additionalData, // Pangea# + bool useNotificationActions = true, }) async { final isBackgroundMessage = client == null; Logs().v( @@ -300,7 +303,7 @@ Future _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(