diff --git a/README.md b/README.md index 13e913b..8bd80b0 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,14 @@ [![Build Status](https://drone.nextcloud.com/api/badges/nextcloud/talk-android/status.svg)](https://drone.nextcloud.com/nextcloud/talk-android) [![Codacy Badge](https://app.codacy.com/project/badge/Grade/b89a720efbd24754984a776804913bca)](https://www.codacy.com/gh/nextcloud/talk-android/dashboard) [![Releases](https://img.shields.io/github/release/nextcloud/talk-android.svg)](https://github.com/nextcloud/talk-android/releases/latest) [![REUSE status](https://api.reuse.software/badge/github.com/nextcloud/talk-android)](https://api.reuse.software/info/github.com/nextcloud/talk-android) -Please note that Notifications won't work with the gFree version due to missing Google Play Services. +[Download from Google Play](https://play.google.com/store/apps/details?id=com.nextcloud.talk2) +[Get it on F-Droid](https://f-droid.org/packages/com.nextcloud.talk2/) + +Please note that Notifications won't work with the F-Droid version due to missing Google Play Services. ||||||| |---|---|---|---|---|---| diff --git a/app/build.gradle b/app/build.gradle index a3d958b..8965a6b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -39,8 +39,8 @@ android { // mayor.minor.hotfix.increment (for increment: 01-50=Alpha / 51-89=RC / 90-99=stable) // xx .xxx .xx .xx - versionCode 220000290 - versionName "22.0.2" + versionCode 220000090 + versionName "22.0.0" flavorDimensions "default" renderscriptTargetApi = 19 diff --git a/app/src/main/java/com/nextcloud/talk/activities/CallActivity.kt b/app/src/main/java/com/nextcloud/talk/activities/CallActivity.kt index 16e2683..6eb2c4f 100644 --- a/app/src/main/java/com/nextcloud/talk/activities/CallActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/activities/CallActivity.kt @@ -532,12 +532,12 @@ class CallActivity : CallBaseActivity() { ) } - when (CapabilitiesUtil.getRecordingConsentType(conversationUser.capabilities!!.spreedCapability!!)) { + when (CapabilitiesUtil.getRecordingConsentType(conversationUser!!.capabilities!!.spreedCapability!!)) { CapabilitiesUtil.RECORDING_CONSENT_NOT_REQUIRED -> initiateCall() CapabilitiesUtil.RECORDING_CONSENT_REQUIRED -> askForRecordingConsent() CapabilitiesUtil.RECORDING_CONSENT_DEPEND_ON_CONVERSATION -> { val getRoomApiVersion = ApiUtils.getConversationApiVersion( - conversationUser, + conversationUser!!, intArrayOf(ApiUtils.API_V4, 1) ) ncApi!!.getRoom(credentials, ApiUtils.getUrlForRoom(getRoomApiVersion, baseUrl, roomToken)) diff --git a/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt b/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt index 7b6d685..aecdd39 100644 --- a/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt @@ -3255,8 +3255,7 @@ class ChatActivity : } val searchItem = menu.findItem(R.id.conversation_search) - searchItem.isVisible = - hasSpreedFeatureCapability(spreedCapabilities, SpreedFeatures.UNIFIED_SEARCH) && + searchItem.isVisible = CapabilitiesUtil.isUnifiedSearchAvailable(spreedCapabilities) && currentConversation!!.remoteServer.isNullOrEmpty() && !isChatThread() diff --git a/app/src/main/java/com/nextcloud/talk/contextchat/ContextChatViewModel.kt b/app/src/main/java/com/nextcloud/talk/contextchat/ContextChatViewModel.kt index e1aaf17..462725d 100644 --- a/app/src/main/java/com/nextcloud/talk/contextchat/ContextChatViewModel.kt +++ b/app/src/main/java/com/nextcloud/talk/contextchat/ContextChatViewModel.kt @@ -60,7 +60,7 @@ class ContextChatViewModel @Inject constructor(private val chatNetworkDataSource token = token, messageId = messageId, limit = LIMIT, - threadId = threadId?.toIntOrNull() + threadId = threadId?.toInt() ) if (threadId.isNullOrEmpty()) { diff --git a/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt b/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt index 926bafd..b7d0c3a 100644 --- a/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt @@ -89,8 +89,6 @@ import com.nextcloud.talk.contacts.ContactsActivity import com.nextcloud.talk.contacts.ContactsUiState import com.nextcloud.talk.contacts.ContactsViewModel import com.nextcloud.talk.contacts.RoomUiState -import com.nextcloud.talk.contextchat.ContextChatView -import com.nextcloud.talk.contextchat.ContextChatViewModel import com.nextcloud.talk.conversationlist.viewmodels.ConversationsListViewModel import com.nextcloud.talk.data.network.NetworkMonitor import com.nextcloud.talk.data.user.model.User @@ -115,6 +113,8 @@ import com.nextcloud.talk.threadsoverview.ThreadsOverviewActivity import com.nextcloud.talk.ui.BackgroundVoiceMessageCard import com.nextcloud.talk.ui.dialog.ChooseAccountDialogFragment import com.nextcloud.talk.ui.dialog.ChooseAccountShareToDialogFragment +import com.nextcloud.talk.contextchat.ContextChatView +import com.nextcloud.talk.contextchat.ContextChatViewModel import com.nextcloud.talk.ui.dialog.ConversationsListBottomDialog import com.nextcloud.talk.ui.dialog.FilterConversationFragment import com.nextcloud.talk.ui.dialog.FilterConversationFragment.Companion.ARCHIVE @@ -125,6 +125,7 @@ import com.nextcloud.talk.utils.ApiUtils import com.nextcloud.talk.utils.BrandingUtils import com.nextcloud.talk.utils.CapabilitiesUtil.hasSpreedFeatureCapability import com.nextcloud.talk.utils.CapabilitiesUtil.isServerEOL +import com.nextcloud.talk.utils.CapabilitiesUtil.isUnifiedSearchAvailable import com.nextcloud.talk.utils.ClosedInterfaceImpl import com.nextcloud.talk.utils.ConversationUtils import com.nextcloud.talk.utils.FileUtils @@ -318,7 +319,7 @@ class ConversationsListActivity : return } currentUser?.capabilities?.spreedCapability?.let { spreedCapabilities -> - if (hasSpreedFeatureCapability(spreedCapabilities, SpreedFeatures.UNIFIED_SEARCH)) { + if (isUnifiedSearchAvailable(spreedCapabilities)) { searchHelper = MessageSearchHelper(unifiedSearchRepository) } } @@ -1071,7 +1072,7 @@ class ConversationsListActivity : } private fun fetchPendingInvitations() { - if (hasSpreedFeatureCapability(currentUser?.capabilities?.spreedCapability, SpreedFeatures.FEDERATION_V1)) { + if (hasSpreedFeatureCapability(currentUser!!.capabilities!!.spreedCapability!!, SpreedFeatures.FEDERATION_V1)) { binding.conversationListHintInclude.conversationListHintLayout.setOnClickListener { val intent = Intent(this, InvitationsActivity::class.java) startActivity(intent) @@ -1202,7 +1203,7 @@ class ConversationsListActivity : searchableConversationItems.clear() searchableConversationItems.addAll(conversationItemsWithHeader) if (hasSpreedFeatureCapability( - currentUser?.capabilities?.spreedCapability, + currentUser!!.capabilities!!.spreedCapability!!, SpreedFeatures.LISTABLE_ROOMS ) ) { @@ -1463,11 +1464,7 @@ class ConversationsListActivity : adapter?.filterItems() } - if (hasSpreedFeatureCapability( - currentUser?.capabilities?.spreedCapability, - SpreedFeatures.UNIFIED_SEARCH - ) - ) { + if (isUnifiedSearchAvailable(currentUser!!.capabilities!!.spreedCapability!!)) { startMessageSearch(filter) } } else { @@ -1587,7 +1584,7 @@ class ConversationsListActivity : selectedConversation = conversation if (selectedConversation != null) { val hasChatPermission = ParticipantPermissions( - currentUser?.capabilities?.spreedCapability, + currentUser!!.capabilities!!.spreedCapability!!, selectedConversation!! ) .hasChatPermission() @@ -1615,11 +1612,11 @@ class ConversationsListActivity : private fun shouldShowLobby(conversation: ConversationModel): Boolean { val participantPermissions = ParticipantPermissions( - currentUser?.capabilities?.spreedCapability, + currentUser!!.capabilities?.spreedCapability!!, selectedConversation!! ) return conversation.lobbyState == ConversationEnums.LobbyState.LOBBY_STATE_MODERATORS_ONLY && - !ConversationUtils.canModerate(conversation, currentUser?.capabilities?.spreedCapability) && + !ConversationUtils.canModerate(conversation, currentUser!!.capabilities!!.spreedCapability!!) && !participantPermissions.canIgnoreLobby() } diff --git a/app/src/main/java/com/nextcloud/talk/dagger/modules/RestModule.java b/app/src/main/java/com/nextcloud/talk/dagger/modules/RestModule.java index 06c2f0d..8d8233a 100644 --- a/app/src/main/java/com/nextcloud/talk/dagger/modules/RestModule.java +++ b/app/src/main/java/com/nextcloud/talk/dagger/modules/RestModule.java @@ -219,6 +219,16 @@ public class RestModule { httpClient.addInterceptor(new HeadersInterceptor()); + List specs = new ArrayList<>(); + if (BuildConfig.DEBUG) { + specs.add(ConnectionSpec.COMPATIBLE_TLS); + specs.add(ConnectionSpec.CLEARTEXT); + httpClient.connectionSpecs(specs); + } else { + specs.add(ConnectionSpec.COMPATIBLE_TLS); + httpClient.connectionSpecs(specs); + } + if (BuildConfig.DEBUG && !context.getResources().getBoolean(R.bool.nc_is_debug)) { HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor(); loggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY); diff --git a/app/src/main/java/com/nextcloud/talk/jobs/NotificationWorker.kt b/app/src/main/java/com/nextcloud/talk/jobs/NotificationWorker.kt index 0e2c715..4a996cb 100644 --- a/app/src/main/java/com/nextcloud/talk/jobs/NotificationWorker.kt +++ b/app/src/main/java/com/nextcloud/talk/jobs/NotificationWorker.kt @@ -232,7 +232,7 @@ class NotificationWorker(context: Context, workerParams: WorkerParameters) : Wor bundle.putInt(BundleKeys.KEY_CALL_FLAG, conversation.callFlag) val participantPermission = ParticipantPermissions( - userBeingCalled?.capabilities?.spreedCapability, + userBeingCalled!!.capabilities!!.spreedCapability!!, conversation ) bundle.putBoolean( diff --git a/app/src/main/java/com/nextcloud/talk/profile/ProfileActivity.kt b/app/src/main/java/com/nextcloud/talk/profile/ProfileActivity.kt index d5ba256..5786ca4 100644 --- a/app/src/main/java/com/nextcloud/talk/profile/ProfileActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/profile/ProfileActivity.kt @@ -244,7 +244,7 @@ class ProfileActivity : BaseActivity() { binding.emptyList.root.visibility = View.GONE binding.userinfoList.visibility = View.VISIBLE if (CapabilitiesUtil.hasSpreedFeatureCapability( - currentUser?.capabilities?.spreedCapability, + currentUser!!.capabilities!!.spreedCapability!!, SpreedFeatures.TEMP_USER_AVATAR_API ) ) { diff --git a/app/src/main/java/com/nextcloud/talk/settings/SettingsActivity.kt b/app/src/main/java/com/nextcloud/talk/settings/SettingsActivity.kt index c30df1d..21e8f56 100644 --- a/app/src/main/java/com/nextcloud/talk/settings/SettingsActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/settings/SettingsActivity.kt @@ -945,7 +945,7 @@ class SettingsActivity : binding.settingsShowNotificationWarning.visibility = View.GONE } - if (CapabilitiesUtil.isReadStatusAvailable(currentUser?.capabilities?.spreedCapability)) { + if (CapabilitiesUtil.isReadStatusAvailable(currentUser!!.capabilities!!.spreedCapability!!)) { binding.settingsReadPrivacySwitch.isChecked = !CapabilitiesUtil.isReadStatusPrivate(currentUser!!) } else { binding.settingsReadPrivacy.visibility = View.GONE diff --git a/app/src/main/java/com/nextcloud/talk/utils/CapabilitiesUtil.kt b/app/src/main/java/com/nextcloud/talk/utils/CapabilitiesUtil.kt index 4eda16d..75af1dd 100644 --- a/app/src/main/java/com/nextcloud/talk/utils/CapabilitiesUtil.kt +++ b/app/src/main/java/com/nextcloud/talk/utils/CapabilitiesUtil.kt @@ -100,13 +100,11 @@ object CapabilitiesUtil { //region SpreedCapabilities @JvmStatic - fun hasSpreedFeatureCapability(spreedCapabilities: SpreedCapability?, spreedFeatures: SpreedFeatures): Boolean { - if (spreedCapabilities == null) { - Log.e(TAG, "spreedCapabilities were null when checking capability ${spreedFeatures.value}") - return false + fun hasSpreedFeatureCapability(spreedCapabilities: SpreedCapability, spreedFeatures: SpreedFeatures): Boolean { + if (spreedCapabilities.features != null) { + return spreedCapabilities.features!!.contains(spreedFeatures.value) } - - return spreedCapabilities.features?.contains(spreedFeatures.value) == true + return false } fun isSharedItemsAvailable(spreedCapabilities: SpreedCapability): Boolean = @@ -138,16 +136,12 @@ object CapabilitiesUtil { return CONVERSATION_DESCRIPTION_LENGTH_FOR_OLD_SERVER } - fun isReadStatusAvailable(spreedCapabilities: SpreedCapability?): Boolean { - val chatConfig = spreedCapabilities?.config?.get("chat") as? Map<*, *> - return if (chatConfig?.containsKey("read-privacy") == true) { - true - } else { - if (spreedCapabilities == null) { - Log.e(TAG, "spreedCapabilities were null when checking capability isReadStatusAvailable") - } - false + fun isReadStatusAvailable(spreedCapabilities: SpreedCapability): Boolean { + if (spreedCapabilities.config?.containsKey("chat") == true) { + val map: Map? = spreedCapabilities.config!!["chat"] + return map != null && map.containsKey("read-privacy") } + return false } fun retentionOfEventRooms(spreedCapabilities: SpreedCapability): Int { @@ -207,6 +201,9 @@ object CapabilitiesUtil { fun isConversationDescriptionEndpointAvailable(spreedCapabilities: SpreedCapability): Boolean = hasSpreedFeatureCapability(spreedCapabilities, SpreedFeatures.ROOM_DESCRIPTION) + fun isUnifiedSearchAvailable(spreedCapabilities: SpreedCapability): Boolean = + hasSpreedFeatureCapability(spreedCapabilities, SpreedFeatures.UNIFIED_SEARCH) + fun isAbleToCall(spreedCapabilities: SpreedCapability): Boolean = if ( spreedCapabilities.config?.containsKey("call") == true && diff --git a/app/src/main/java/com/nextcloud/talk/utils/ConversationUtils.kt b/app/src/main/java/com/nextcloud/talk/utils/ConversationUtils.kt index 85e89b0..3142709 100644 --- a/app/src/main/java/com/nextcloud/talk/utils/ConversationUtils.kt +++ b/app/src/main/java/com/nextcloud/talk/utils/ConversationUtils.kt @@ -27,11 +27,11 @@ object ConversationUtils { Participant.ParticipantType.GUEST_MODERATOR == conversation.participantType || Participant.ParticipantType.MODERATOR == conversation.participantType - fun isLockedOneToOne(conversation: ConversationModel, spreedCapabilities: SpreedCapability?): Boolean = + fun isLockedOneToOne(conversation: ConversationModel, spreedCapabilities: SpreedCapability): Boolean = conversation.type == ConversationEnums.ConversationType.ROOM_TYPE_ONE_TO_ONE_CALL && CapabilitiesUtil.hasSpreedFeatureCapability(spreedCapabilities, SpreedFeatures.LOCKED_ONE_TO_ONE) - fun canModerate(conversation: ConversationModel, spreedCapabilities: SpreedCapability?): Boolean = + fun canModerate(conversation: ConversationModel, spreedCapabilities: SpreedCapability): Boolean = isParticipantOwnerOrModerator(conversation) && !isLockedOneToOne(conversation, spreedCapabilities) && conversation.type != ConversationEnums.ConversationType.FORMER_ONE_TO_ONE && diff --git a/app/src/main/java/com/nextcloud/talk/utils/ParticipantPermissions.kt b/app/src/main/java/com/nextcloud/talk/utils/ParticipantPermissions.kt index 4e57300..a46bfa7 100644 --- a/app/src/main/java/com/nextcloud/talk/utils/ParticipantPermissions.kt +++ b/app/src/main/java/com/nextcloud/talk/utils/ParticipantPermissions.kt @@ -14,7 +14,7 @@ import com.nextcloud.talk.models.json.capabilities.SpreedCapability * see https://nextcloud-talk.readthedocs.io/en/latest/constants/#attendee-permissions */ class ParticipantPermissions( - private val spreedCapabilities: SpreedCapability?, + private val spreedCapabilities: SpreedCapability, private val conversation: ConversationModel ) { val isDefault = (conversation.permissions and DEFAULT) == DEFAULT diff --git a/app/src/main/res/values-be/strings.xml b/app/src/main/res/values-be/strings.xml index 4653a74..4a7de4d 100644 --- a/app/src/main/res/values-be/strings.xml +++ b/app/src/main/res/values-be/strings.xml @@ -31,8 +31,8 @@ Дазвол на камеру атрыманы. Выберыце камеру яшчэ раз. Скасаваць уваход Выбраць аватар з воблака - Ачысціць - Ачысціць паведамленне статусу праз + Ачысціць паведамленне статусу + Ачысціць паведамленне статусу пасля Закрыць Значок Закрыць Злучэнне ўсталявана @@ -209,7 +209,7 @@ Аптымізацыя батарэі ўключана, што можа выклікаць праблемы. Вам варта адключыць аптымізацыю батарэі! Налады батарэі Прылада - Адкрыць спіс вырашэння праблем + Адкрыць кантрольны спіс вырашэння праблем Адкрыць экран дыягностыкі Адкрыць dontkillmyapp.com Атрыманне апошняга push-токена firebase @@ -274,7 +274,7 @@ Пераслаць … Галерэя У вас яшчэ няма сервера?\nНацісніце тут, каб атрымаць яго ў пастаўшчыка - Зыходны код + Атрымаць зыходны код Група Госць Гасцявы доступ @@ -357,7 +357,7 @@ Апавяшчаць пра ход выканання запампоўвання Налады апавяшчэнняў Апавяшчэнні наладжаны няправільна - Дазвол на апавяшчэнні і налады батарэі зададзены правільна. Калі ў вас усё адно ўзнікаюць праблемы з атрыманнем апавяшчэнняў, праверце, ці ўключаны каналы апавяшчэнняў для выклікаў і паведамленняў. Дадатковую дапамогу можна знайсці на сайце DontKillMyApp.com або ў спісе пошуку і вырашэння праблем. Калі гэта не дапаможа, перайдзіце на экран дыягностыкі і адпраўце справаздачу пра памылку. + Дазвол на апавяшчэнні і налады батарэі зададзены правільна, каб атрымліваць апавяшчэнні. Калі ў вас усё адно ўзнікаюць праблемы з атрыманнем апавяшчэнняў, праверце, ці ўключаны каналы апавяшчэнняў для выклікаў і паведамленняў. Дадатковую дапамогу можна знайсці на сайце DontKillMyApp.com або ў спісе пошуку і вырашэння праблем. Калі гэта не дапаможа, перайдзіце на экран дыягностыкі і адпраўце справаздачу пра памылку. Вырашэнне праблем з апавяшчэннямі Заўсёды апавяшчаць Апавяшчаць пры згадванні @@ -480,8 +480,8 @@ Выдаліць Выдаліць уліковы запіс Пацвердзіце свой намер выдаліць бягучы ўліковы запіс. - Блакіраваць %1$s з дапамогай блакіроўкі экрана Android або даступнага біяметрычнага метаду - Час чакання блакіроўкі пры бяздзейнасці + Блакіраваць %1$s з дапамогай блакіроўкі экрана Android або біяметрычнага метаду, які падтрымліваецца + Час чакання блакіроўкі экрана пры бяздзейнасці Блакіроўка экрана Забараняе рабіць здымкі экрана ў спісе нядаўняга і ўнутры праграмы Бяспека экрана @@ -513,7 +513,7 @@ Няма абагуленых элементаў Месцазнаходжанне Абагуленае месцазнаходжанне - Калі апавяшчэнні наладжаны няправільна, паказваць звычайнае папярэджанне + Калі апавяшчэнні настроены няправільна, паказваць звычайнае папярэджанне Паказваць звычайнае папярэджанне аб апавяшчэннях Сартаваць па Пачаць супольны чат @@ -530,7 +530,7 @@ Не ўдалося запампаваць Не ўдалося запампаваць %1$s Няўдача - Абагульванне з %1$s + Абагульванне ад %1$s Запампаваць з прылады Запампоўванне %1$s у %2$s - %3$s\%% @@ -553,7 +553,7 @@ Выкл. Прадвызначаныя Прытрымлівацца налад размовы - 1 гадзіну + 1 гадзіна У сетцы Статус у сетцы Адкрытыя размовы @@ -627,7 +627,7 @@ Задаць Задаць аватар з камеры Задаць статус - Задаць + Задаць паведамленне статусу Абагуліць Далучайцеся да размовы %1$s у %2$s Аўдыя @@ -686,7 +686,7 @@ Разблакіраваць Непрачытанае Запампаваць новы аватар з прылады - %1$s не на працы і можа не адказаць + %1$s сёння не на працы і можа не адказаць %1$s сёння не на працы Замена: Аватар карыстальніка diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 85ceb6f..9543747 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -88,7 +88,7 @@ Sænk hånden Marker samtalen %1$s som læst Marker samtalen %1$s som ulæst - Omtalt + Nævnt Nyeste først Ældste først A - Å diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index c97cbd3..af42bd6 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -156,7 +156,6 @@ Επεξεργασία Επεξεργασία μηνύματος 8 ώρες - 4 εβδομάδες Απενεργοποίηση 1 μέρα 1 ώρα @@ -209,7 +208,6 @@ Σήμανση ως αναγνωσμένο επισήμανση ως μή-αναγνωσμένο Απέτυχε - Εκτός σύνδεσης Ακύρωση απάντησης Το μήνυμα διαβάστηκε Το μήνυμα στάλθηκε diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index 03992d7..f8aa767 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -79,7 +79,6 @@ Hasi idazten bilatzeko … Bilatu … Mezuak - Isilarazi jakinarazpen guztiak Aukeratutako kontua inportatu da eta eskuragarri dago Honi buruz Erabiltzaile aktiboa diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index 3d7e3a7..8ae28ab 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -374,7 +374,7 @@ Participantes Engadir participantes Contrasinal - Estabelecer os permisos + Establecer os permisos Algúns permisos foron denegados. Autorice os permisos Abrir os axustes @@ -587,7 +587,7 @@ Non foi posíbel ler o código QR. Erguer a man Todo - Non é posíbel compartir ficheiros desde o almacenamento sen permisos + Non é posible compartir ficheiros desde o almacenamento sen permisos Fíos recentes Estase a gravar a chamada Cancelar o inicio da gravación @@ -607,7 +607,7 @@ Cambióuselle o nome a conversa %1$s Volver enviar Restabelecer o estado - Non é posíbel unirse a outras salas mentres está nunha chamada + Non é posible unirse a outras salas mentres está nunha chamada Gardar Escanear o código QR Sincronizar só con servidores de confianza @@ -654,7 +654,7 @@ Cambiar á sala principal Tirar unha foto Produciuse un erro ao tirar a foto - Non é posíbel tirar unha foto sen permisos + Non é posible tirar unha foto sen permisos Volver tirar a foto Enviar Cambiar de cámara diff --git a/app/src/main/res/values-hu-rHU/strings.xml b/app/src/main/res/values-hu-rHU/strings.xml index 809e40d..a9ed840 100644 --- a/app/src/main/res/values-hu-rHU/strings.xml +++ b/app/src/main/res/values-hu-rHU/strings.xml @@ -5,7 +5,6 @@ Hozzáadás a jegyzetekhez A(z) %1$s beszélgetés hozzáadva a kedvencekhez Keresés itt: %s - Megjelenés nem kapcsolódottként Beszélgetés archiválása Ha archivál egy beszélgetést, akkor alapértelmezetten el lesz rejtve. Válassza az „Archiválva” szűrőt az archivált beszélgetések megtekintéséhez. A közvetlen említéseket továbbra is meg fogja kapni. Archiválva @@ -49,7 +48,6 @@ Veszélyes területet %1$s itt: %2$s Profilkép törlése - Hangfelvétel törlése %1$s beszélgetés törlése Ne zavarjanak Ne törölje @@ -79,10 +77,6 @@ Elhagyta a következő beszélgetést: %1$s További találatok betöltése Helyi idő: %1$s - Hely engedély szükséges - Engedélyezze az alkalmazásbeállításokban - Helyszolgáltatások letiltva - A funkció használatához engedélyezze a helyszolgáltatásokat (GPS) Beszélgetés zárolása Zár szimbólum Kéz letétele @@ -96,7 +90,6 @@ Legnagyobb elöl Legkisebb elöl Üzenet másolva - Biztos, hogy törli ezt az üzenetet? Törölte az üzenetet Szerkesztette: %1$s Koppintson a szavazás megnyitásához @@ -104,7 +97,6 @@ Kezdjen el gépelni a kereséshez… Keresés… Üzenetek - Összes értesítés némítása A kiválasztott fiók importálva lett és elérhető Leírás Aktív felhasználó @@ -334,7 +326,6 @@ Üzenet elolvasva Küldés Üzenet elküldve - A mikrofon engedélyezve van, és a hang felvételre kerül A hanghívás engedélyezéséhez meg kell adnia a „Mikrofon” engedélyt. Nem fogadott hívás a következőtől: %s Moderátor @@ -420,7 +411,6 @@ Keresés törlése Fiók kiválasztása Üzenet frissítése - Hangfelvétel küldése Érzékeny beszélgetés Az üzenet-előnézet le lesz tiltva a beszélgetési listában és az értesítésekben %1$s GIF képet küldött. @@ -553,18 +543,15 @@ Nincs archivált beszélgetés Nincs mentett offline üzenet A hiányzó engedélyek miatt nincs telefonszám-integráció - Összes üzenet + Minden üzenet csak @-megemlítések - Ki Alapértelmezett - Beszélgetésbeállítások követése 1 óra Elérhető Elérhető állapot Beszélgetések megnyitása Megnyitás a Fájlok alkalmazásban Jegyzetek megnyitása - Ugrás a szálhoz Hangüzenet lejátszása/szüneteltetése Lejátszási sebesség vezérlése Lehetőség hozzáadása @@ -584,11 +571,9 @@ Szavazat leadása Szavazat leadva Előzőleg beállított - A QR-kód nem olvasható el Kéz felemelése Összes A fájlok megosztása a tárhelyről engedély nélkül nem lehetséges - Legutóbbi szálak A hívásról felvétel készül Felvétel indításának megszakítása A felvétel sikertelen. Lépjen kapcsolatba a rendszergazdával. @@ -609,7 +594,7 @@ Állapot visszaállítása Hívás közben nem lehet más szobákhoz csatlakozni Mentés - QR-kód leolvasása + Scan QR Code Szinkronizálás csak a megbízható kiszolgálókkal Föderált Csak az ezen a példányon lévő személyek és a vendégek láthatják @@ -646,7 +631,6 @@ Kitiltott résztvevők megjelenítése Kedvenc Nincs jogosultsága hívást indítani - Szál létrehozása hívás indítás Állapotüzenet Üzenet visszaállítva @@ -665,12 +649,6 @@ Ez a hét Ez egy tesztüzenet Ezen a hétvégén - Szál létrehozásának megszakítása - Szálértesítések - Válasz - Szál címe - Szálak - Nem találhatók szálak Ma Holnap Lefordítás @@ -716,10 +694,6 @@ Ez a beszélgetés %1$d nap tétlenség után mindenkinél törölve lesz Ez a beszélgetés %1$d nap tétlenség után mindenkinél törölve lesz - - %d válasz - %d válasz - %d szavazat %d szavazat diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml index c63c258..d0fba1d 100644 --- a/app/src/main/res/values-ja-rJP/strings.xml +++ b/app/src/main/res/values-ja-rJP/strings.xml @@ -565,7 +565,6 @@ 音声番号 お気に入り 通話を開始することが許可されていません - スレッドを作成する 会話を開始 ステータスメッセージ ブレイクアウトルームに切り替える diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 186a5fb..cfba471 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -83,7 +83,7 @@ Por favor, ative-a nas configurações do aplicativo Serviços de localização desativados Ative os serviços de localização (GPS) para usar este recurso - Trancar conversa + Bloquear conversa Símbolo de cadeado Baixar mão Conversa %1$s marcada como lida @@ -118,7 +118,7 @@ Adicionar aos favoritos OK, tudo pronto! PIN: %1$s - Destrancar %1$s + Desbloquear %1$s Para ativar os alto-falantes bluetooth, conceda a permissão \"Dispositivos próximos\". Atender como chamada de vídeo Atender apenas como chamada de voz @@ -316,8 +316,8 @@ Sua localização atual permissão de localização é necessária Posição desconhecida - Trancado - Toque para destrancar + Bloqueado + Toque para desbloquear Não definido Marcar como lido Marcar como não lido @@ -484,9 +484,9 @@ Excluir Excluir conta Confirme se quer realmente excluir a conta atual. - Trancar %1$s com o bloqueio de tela do Android ou um método biométrico suportado + Bloquear %1$s com o bloqueio de tela do Android ou um método biométrico suportado Tempo limite para bloqueio de tela - Bloqueio de tela + Bloquear tela Impede capturas de tela na lista recente e dentro do aplicativo Segurança da tela A versão do servidor é muito antiga e não será suportada na próxima versão! diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 7fa6c41..20e9564 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -285,7 +285,7 @@ 当被提及时提醒 从不提醒 当前离线,请检查您的连接 - 确定 + OK 向注册用户开放对话 同样对访客用户开放 所有者 @@ -579,7 +579,7 @@ 检索个人用户信息失败 未设置个人信息 在你的个人资料页上添加姓名、图片和联系方式。 - 您的状态如何? + 你什么状态? %d 票