updated to 22.0.0

This commit is contained in:
Fr4nz D13trich 2025-10-04 10:41:35 +02:00
parent 93184d21d1
commit 356462d6ab
60 changed files with 1198 additions and 469 deletions

View file

@ -12,6 +12,10 @@
[<img src="https://f-droid.org/badge/get-it-on.png" [<img src="https://f-droid.org/badge/get-it-on.png"
alt="Get it on F-Droid" alt="Get it on F-Droid"
height="80">](https://f-droid.org/packages/com.nextcloud.talk2/) height="80">](https://f-droid.org/packages/com.nextcloud.talk2/)
[<img src="https://github.com/user-attachments/assets/713d71c5-3dec-4ec4-a3f2-8d28d025a9c6"
alt="Get it with Obtainium"
height="80">](https://apps.obtainium.imranr.dev/redirect?r=obtainium://app/%7B%22id%22%3A%22com.nextcloud.talk2%22%2C%22url%22%3A%22https%3A%2F%2Fgithub.com%2Fnextcloud%2Ftalk-android%22%2C%22author%22%3A%22nextcloud%22%2C%22name%22%3A%22Talk%22%2C%22preferredApkIndex%22%3A0%2C%22additionalSettings%22%3A%22%7B%5C%22includePrereleases%5C%22%3Afalse%2C%5C%22fallbackToOlderReleases%5C%22%3Atrue%2C%5C%22filterReleaseTitlesByRegEx%5C%22%3A%5C%22%5C%22%2C%5C%22filterReleaseNotesByRegEx%5C%22%3A%5C%22%5C%22%2C%5C%22verifyLatestTag%5C%22%3Atrue%2C%5C%22sortMethodChoice%5C%22%3A%5C%22date%5C%22%2C%5C%22useLatestAssetDateAsReleaseDate%5C%22%3Afalse%2C%5C%22releaseTitleAsVersion%5C%22%3Afalse%2C%5C%22trackOnly%5C%22%3Afalse%2C%5C%22versionExtractionRegEx%5C%22%3A%5C%22%5C%22%2C%5C%22matchGroupToUse%5C%22%3A%5C%22%5C%22%2C%5C%22versionDetection%5C%22%3Atrue%2C%5C%22releaseDateAsVersion%5C%22%3Afalse%2C%5C%22useVersionCodeAsOSVersion%5C%22%3Afalse%2C%5C%22apkFilterRegEx%5C%22%3A%5C%22%5Enextcloud.*%5C%22%2C%5C%22invertAPKFilter%5C%22%3Afalse%2C%5C%22autoApkFilterByArch%5C%22%3Atrue%2C%5C%22appName%5C%22%3A%5C%22Nextcloud%20Talk%5C%22%2C%5C%22appAuthor%5C%22%3A%5C%22%5C%22%2C%5C%22shizukuPretendToBeGooglePlay%5C%22%3Afalse%2C%5C%22allowInsecure%5C%22%3Afalse%2C%5C%22exemptFromBackgroundUpdates%5C%22%3Afalse%2C%5C%22skipUpdateNotifications%5C%22%3Afalse%2C%5C%22about%5C%22%3A%5C%22%5C%22%2C%5C%22refreshBeforeDownload%5C%22%3Atrue%7D%22%2C%22overrideSource%22%3Anull%7D)
Please note that Notifications won't work with the F-Droid version due to missing Google Play Services. Please note that Notifications won't work with the F-Droid version due to missing Google Play Services.

View file

@ -39,8 +39,8 @@ android {
// mayor.minor.hotfix.increment (for increment: 01-50=Alpha / 51-89=RC / 90-99=stable) // mayor.minor.hotfix.increment (for increment: 01-50=Alpha / 51-89=RC / 90-99=stable)
// xx .xxx .xx .xx // xx .xxx .xx .xx
versionCode 230000005 versionCode 230000009
versionName "23.0.0 Alpha 05" versionName "23.0.0 Alpha 09"
flavorDimensions "default" flavorDimensions "default"
renderscriptTargetApi = 19 renderscriptTargetApi = 19
@ -158,7 +158,7 @@ kapt {
ext { ext {
androidxCameraVersion = "1.5.0" androidxCameraVersion = "1.5.0"
coilKtVersion = "2.7.0" coilKtVersion = "2.7.0"
daggerVersion = "2.57.1" daggerVersion = "2.57.2"
emojiVersion = "1.6.0" emojiVersion = "1.6.0"
fidoVersion = "4.1.0-patch2" fidoVersion = "4.1.0-patch2"
lifecycleVersion = '2.9.4' lifecycleVersion = '2.9.4'
@ -169,7 +169,7 @@ ext {
prismVersion = "2.0.0" prismVersion = "2.0.0"
retrofit2Version = "3.0.0" retrofit2Version = "3.0.0"
roomVersion = "2.8.0" roomVersion = "2.8.0"
workVersion = "2.10.4" workVersion = "2.10.5"
espressoVersion = "3.7.0" espressoVersion = "3.7.0"
androidxTestVersion = "1.5.0" androidxTestVersion = "1.5.0"
media3_version = "1.8.0" media3_version = "1.8.0"
@ -186,12 +186,12 @@ configurations.configureEach {
dependencies { dependencies {
implementation "androidx.room:room-testing-android:${roomVersion}" implementation "androidx.room:room-testing-android:${roomVersion}"
implementation 'androidx.compose.foundation:foundation-layout:1.9.1' implementation 'androidx.compose.foundation:foundation-layout:1.9.2'
spotbugsPlugins 'com.h3xstream.findsecbugs:findsecbugs-plugin:1.14.0' spotbugsPlugins 'com.h3xstream.findsecbugs:findsecbugs-plugin:1.14.0'
spotbugsPlugins 'com.mebigfatguy.fb-contrib:fb-contrib:7.6.14' spotbugsPlugins 'com.mebigfatguy.fb-contrib:fb-contrib:7.6.14'
detektPlugins("io.gitlab.arturbosch.detekt:detekt-formatting:1.23.8") detektPlugins("io.gitlab.arturbosch.detekt:detekt-formatting:1.23.8")
implementation("androidx.compose.runtime:runtime:1.9.1") implementation("androidx.compose.runtime:runtime:1.9.2")
implementation 'androidx.preference:preference-ktx:1.2.1' implementation 'androidx.preference:preference-ktx:1.2.1'
implementation 'androidx.datastore:datastore-core:1.1.7' implementation 'androidx.datastore:datastore-core:1.1.7'
implementation 'androidx.datastore:datastore-preferences:1.1.7' implementation 'androidx.datastore:datastore-preferences:1.1.7'
@ -316,7 +316,7 @@ dependencies {
implementation 'com.github.nextcloud-deps:android-talk-webrtc:132.6834.0' implementation 'com.github.nextcloud-deps:android-talk-webrtc:132.6834.0'
gplayImplementation 'com.google.android.gms:play-services-base:18.8.0' gplayImplementation 'com.google.android.gms:play-services-base:18.8.0'
gplayImplementation "com.google.firebase:firebase-messaging:25.0.0" gplayImplementation "com.google.firebase:firebase-messaging:25.0.1"
//compose //compose
implementation(platform("androidx.compose:compose-bom:2025.09.00")) implementation(platform("androidx.compose:compose-bom:2025.09.00"))
@ -328,18 +328,18 @@ dependencies {
//tests //tests
testRuntimeOnly 'org.junit.platform:junit-platform-launcher:1.13.4' testRuntimeOnly 'org.junit.platform:junit-platform-launcher:1.13.4'
androidTestImplementation("androidx.compose.ui:ui-test-junit4:1.9.1") androidTestImplementation("androidx.compose.ui:ui-test-junit4:1.9.2")
debugImplementation("androidx.compose.ui:ui-test-manifest") debugImplementation("androidx.compose.ui:ui-test-manifest")
testImplementation 'junit:junit:4.13.2' testImplementation 'junit:junit:4.13.2'
testImplementation 'org.mockito:mockito-core:5.19.0' testImplementation 'org.mockito:mockito-core:5.20.0'
testImplementation 'androidx.arch.core:core-testing:2.2.0' testImplementation 'androidx.arch.core:core-testing:2.2.0'
androidTestImplementation "androidx.test:core:1.7.0" androidTestImplementation "androidx.test:core:1.7.0"
androidTestImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:1.10.2" androidTestImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:1.10.2"
androidTestImplementation 'androidx.test:core-ktx:1.7.0' androidTestImplementation 'androidx.test:core-ktx:1.7.0'
androidTestImplementation 'org.mockito:mockito-android:5.19.0' androidTestImplementation 'org.mockito:mockito-android:5.20.0'
androidTestImplementation "androidx.work:work-testing:${workVersion}" androidTestImplementation "androidx.work:work-testing:${workVersion}"
// Espresso core // Espresso core
androidTestImplementation ("androidx.test.espresso:espresso-core:$espressoVersion", { androidTestImplementation ("androidx.test.espresso:espresso-core:$espressoVersion", {
@ -360,7 +360,7 @@ dependencies {
testImplementation 'org.junit.vintage:junit-vintage-engine:5.13.4' // DO NOT REMOVE testImplementation 'org.junit.vintage:junit-vintage-engine:5.13.4' // DO NOT REMOVE
testImplementation "androidx.room:room-testing:${roomVersion}" testImplementation "androidx.room:room-testing:${roomVersion}"
testImplementation("com.squareup.okhttp3:mockwebserver:$okhttpVersion") testImplementation("com.squareup.okhttp3:mockwebserver:$okhttpVersion")
testImplementation("com.google.dagger:hilt-android-testing:2.57.1") testImplementation("com.google.dagger:hilt-android-testing:2.57.2")
testImplementation("org.robolectric:robolectric:4.16") testImplementation("org.robolectric:robolectric:4.16")
} }

View file

@ -1,7 +1,7 @@
/* /*
* Nextcloud Talk - Android Client * Nextcloud Talk - Android Client
* *
* SPDX-FileCopyrightText: 2025 Your Name <your@email.com> * SPDX-FileCopyrightText: 2025 Julius Linus <juliuslinus1@gmail.com>
* SPDX-License-Identifier: GPL-3.0-or-later * SPDX-License-Identifier: GPL-3.0-or-later
*/ */
package com.nextcloud.talk.account package com.nextcloud.talk.account

View file

@ -1,7 +1,7 @@
/* /*
* Nextcloud Talk - Android Client * Nextcloud Talk - Android Client
* *
* SPDX-FileCopyrightText: 2025 Your Name <your@email.com> * SPDX-FileCopyrightText: 2025 Julius Linus <juliuslinus1@gmail.com>
* SPDX-License-Identifier: GPL-3.0-or-later * SPDX-License-Identifier: GPL-3.0-or-later
*/ */

View file

@ -277,7 +277,8 @@ interface NcApiCoroutines {
suspend fun getContextOfChatMessage( suspend fun getContextOfChatMessage(
@Header("Authorization") authorization: String, @Header("Authorization") authorization: String,
@Url url: String, @Url url: String,
@Query("limit") limit: Int @Query("limit") limit: Int,
@Query("threadId") threadId: Int?
): ChatOverall ): ChatOverall
@GET @GET

View file

@ -65,6 +65,7 @@ import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue import androidx.compose.runtime.setValue
import androidx.compose.ui.platform.ComposeView import androidx.compose.ui.platform.ComposeView
import androidx.coordinatorlayout.widget.CoordinatorLayout import androidx.coordinatorlayout.widget.CoordinatorLayout
import androidx.core.content.ContextCompat
import androidx.core.content.FileProvider import androidx.core.content.FileProvider
import androidx.core.content.PermissionChecker import androidx.core.content.PermissionChecker
import androidx.core.content.PermissionChecker.PERMISSION_GRANTED import androidx.core.content.PermissionChecker.PERMISSION_GRANTED
@ -134,6 +135,8 @@ import com.nextcloud.talk.application.NextcloudTalkApplication
import com.nextcloud.talk.chat.data.model.ChatMessage import com.nextcloud.talk.chat.data.model.ChatMessage
import com.nextcloud.talk.chat.viewmodels.ChatViewModel import com.nextcloud.talk.chat.viewmodels.ChatViewModel
import com.nextcloud.talk.chat.viewmodels.MessageInputViewModel import com.nextcloud.talk.chat.viewmodels.MessageInputViewModel
import com.nextcloud.talk.contextchat.ContextChatView
import com.nextcloud.talk.contextchat.ContextChatViewModel
import com.nextcloud.talk.conversationinfo.ConversationInfoActivity import com.nextcloud.talk.conversationinfo.ConversationInfoActivity
import com.nextcloud.talk.conversationinfo.viewmodel.ConversationInfoViewModel import com.nextcloud.talk.conversationinfo.viewmodel.ConversationInfoViewModel
import com.nextcloud.talk.conversationlist.ConversationsListActivity import com.nextcloud.talk.conversationlist.ConversationsListActivity
@ -168,7 +171,6 @@ import com.nextcloud.talk.ui.PlaybackSpeed
import com.nextcloud.talk.ui.PlaybackSpeedControl import com.nextcloud.talk.ui.PlaybackSpeedControl
import com.nextcloud.talk.ui.StatusDrawable import com.nextcloud.talk.ui.StatusDrawable
import com.nextcloud.talk.ui.bottom.sheet.ProfileBottomSheet import com.nextcloud.talk.ui.bottom.sheet.ProfileBottomSheet
import com.nextcloud.talk.ui.dialog.ContextChatCompose
import com.nextcloud.talk.ui.dialog.DateTimeCompose import com.nextcloud.talk.ui.dialog.DateTimeCompose
import com.nextcloud.talk.ui.dialog.FileAttachmentPreviewFragment import com.nextcloud.talk.ui.dialog.FileAttachmentPreviewFragment
import com.nextcloud.talk.ui.dialog.MessageActionsDialog import com.nextcloud.talk.ui.dialog.MessageActionsDialog
@ -203,6 +205,7 @@ import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_FILE_PATHS
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_INTERNAL_USER_ID import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_INTERNAL_USER_ID
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_IS_BREAKOUT_ROOM import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_IS_BREAKOUT_ROOM
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_IS_MODERATOR import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_IS_MODERATOR
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_OPENED_VIA_NOTIFICATION
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_RECORDING_STATE import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_RECORDING_STATE
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_ROOM_TOKEN import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_ROOM_TOKEN
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_START_CALL_AFTER_ROOM_SWITCH import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_START_CALL_AFTER_ROOM_SWITCH
@ -246,7 +249,6 @@ import java.util.Locale
import java.util.concurrent.ExecutionException import java.util.concurrent.ExecutionException
import javax.inject.Inject import javax.inject.Inject
import kotlin.math.roundToInt import kotlin.math.roundToInt
import androidx.core.content.ContextCompat
@Suppress("TooManyFunctions") @Suppress("TooManyFunctions")
@AutoInjector(NextcloudTalkApplication::class) @AutoInjector(NextcloudTalkApplication::class)
@ -287,6 +289,7 @@ class ChatActivity :
lateinit var chatViewModel: ChatViewModel lateinit var chatViewModel: ChatViewModel
lateinit var conversationInfoViewModel: ConversationInfoViewModel lateinit var conversationInfoViewModel: ConversationInfoViewModel
lateinit var contextChatViewModel: ContextChatViewModel
lateinit var messageInputViewModel: MessageInputViewModel lateinit var messageInputViewModel: MessageInputViewModel
private var chatMenu: Menu? = null private var chatMenu: Menu? = null
@ -323,28 +326,27 @@ class ChatActivity :
registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
executeIfResultOk(it) { intent -> executeIfResultOk(it) { intent ->
runBlocking { runBlocking {
val id = intent?.getStringExtra(MessageSearchActivity.RESULT_KEY_MESSAGE_ID) val messageId = intent?.getStringExtra(MessageSearchActivity.RESULT_KEY_MESSAGE_ID)
id?.let { val threadId = intent?.getStringExtra(MessageSearchActivity.RESULT_KEY_THREAD_ID)
startContextChatWindowForMessage(id) messageId?.let {
startContextChatWindowForMessage(messageId, threadId)
} }
} }
} }
} }
private fun startContextChatWindowForMessage(id: String?) { private fun startContextChatWindowForMessage(messageId: String?, threadId: String?) {
binding.genericComposeView.apply { binding.genericComposeView.apply {
val shouldDismiss = mutableStateOf(false)
setContent { setContent {
val bundle = bundleOf() contextChatViewModel.getContextForChatMessages(
bundle.putString(BundleKeys.KEY_CREDENTIALS, credentials!!) credentials = credentials!!,
bundle.putString(BundleKeys.KEY_BASE_URL, conversationUser!!.baseUrl) baseUrl = conversationUser!!.baseUrl!!,
bundle.putString(KEY_ROOM_TOKEN, roomToken) token = roomToken,
bundle.putString(BundleKeys.KEY_MESSAGE_ID, id) threadId = threadId,
bundle.putString( messageId = messageId!!,
KEY_CONVERSATION_NAME, title = currentConversation!!.displayName
currentConversation!!.displayName
) )
ContextChatCompose(bundle).GetDialogView(shouldDismiss, context) ContextChatView(context, contextChatViewModel)
} }
} }
Log.d(TAG, "Should open something else") Log.d(TAG, "Should open something else")
@ -366,6 +368,7 @@ class ChatActivity :
var sessionIdAfterRoomJoined: String? = null var sessionIdAfterRoomJoined: String? = null
lateinit var roomToken: String lateinit var roomToken: String
var conversationThreadId: Long? = null var conversationThreadId: Long? = null
var openedViaNotification: Boolean = false
var conversationThreadInfo: ThreadInfo? = null var conversationThreadInfo: ThreadInfo? = null
var conversationUser: User? = null var conversationUser: User? = null
lateinit var spreedCapabilities: SpreedCapability lateinit var spreedCapabilities: SpreedCapability
@ -408,12 +411,11 @@ class ChatActivity :
private val onBackPressedCallback = object : OnBackPressedCallback(true) { private val onBackPressedCallback = object : OnBackPressedCallback(true) {
override fun handleOnBackPressed() { override fun handleOnBackPressed() {
if (isChatThread()) { if (!openedViaNotification && isChatThread()) {
isEnabled = false isEnabled = false
onBackPressedDispatcher.onBackPressed() onBackPressedDispatcher.onBackPressed()
} else { } else {
val intent = Intent(this@ChatActivity, ConversationsListActivity::class.java) val intent = Intent(this@ChatActivity, ConversationsListActivity::class.java)
intent.putExtras(Bundle())
startActivity(intent) startActivity(intent)
} }
} }
@ -514,6 +516,8 @@ class ChatActivity :
conversationInfoViewModel = ViewModelProvider(this, viewModelFactory)[ConversationInfoViewModel::class.java] conversationInfoViewModel = ViewModelProvider(this, viewModelFactory)[ConversationInfoViewModel::class.java]
contextChatViewModel = ViewModelProvider(this, viewModelFactory)[ContextChatViewModel::class.java]
val urlForChatting = ApiUtils.getUrlForChat(chatApiVersion, conversationUser?.baseUrl, roomToken) val urlForChatting = ApiUtils.getUrlForChat(chatApiVersion, conversationUser?.baseUrl, roomToken)
val credentials = ApiUtils.getCredentials(conversationUser!!.username, conversationUser!!.token) val credentials = ApiUtils.getCredentials(conversationUser!!.username, conversationUser!!.token)
chatViewModel.initData( chatViewModel.initData(
@ -592,6 +596,8 @@ class ChatActivity :
null null
} }
openedViaNotification = extras?.getBoolean(KEY_OPENED_VIA_NOTIFICATION) ?: false
sharedText = extras?.getString(BundleKeys.KEY_SHARED_TEXT).orEmpty() sharedText = extras?.getString(BundleKeys.KEY_SHARED_TEXT).orEmpty()
Log.d(TAG, " roomToken = $roomToken") Log.d(TAG, " roomToken = $roomToken")
@ -4431,7 +4437,7 @@ class ChatActivity :
} }
if (!foundMessage) { if (!foundMessage) {
Log.d(TAG, "quoted message with id " + parentMessage.id + " was not found in adapter") Log.d(TAG, "quoted message with id " + parentMessage.id + " was not found in adapter")
startContextChatWindowForMessage(parentMessage.id) startContextChatWindowForMessage(parentMessage.id, conversationThreadId.toString())
} }
} }

View file

@ -1,7 +1,7 @@
/* /*
* Nextcloud Talk - Android Client * Nextcloud Talk - Android Client
* *
* SPDX-FileCopyrightText: 2024 Your Name <your@email.com> * SPDX-FileCopyrightText: 2025 Marcel Hibbe <dev@mhibbe.de>
* SPDX-License-Identifier: GPL-3.0-or-later * SPDX-License-Identifier: GPL-3.0-or-later
*/ */

View file

@ -74,7 +74,8 @@ interface ChatNetworkDataSource {
baseUrl: String, baseUrl: String,
token: String, token: String,
messageId: String, messageId: String,
limit: Int limit: Int,
threadId: Int?
): List<ChatMessageJson> ): List<ChatMessageJson>
suspend fun getOpenGraph(credentials: String, baseUrl: String, extractedLinkToPreview: String): Reference? suspend fun getOpenGraph(credentials: String, baseUrl: String, extractedLinkToPreview: String): Reference?
suspend fun unbindRoom(credentials: String, baseUrl: String, roomToken: String): GenericOverall suspend fun unbindRoom(credentials: String, baseUrl: String, roomToken: String): GenericOverall

View file

@ -198,10 +198,11 @@ class RetrofitChatNetwork(private val ncApi: NcApi, private val ncApiCoroutines:
baseUrl: String, baseUrl: String,
token: String, token: String,
messageId: String, messageId: String,
limit: Int limit: Int,
threadId: Int?
): List<ChatMessageJson> { ): List<ChatMessageJson> {
val url = ApiUtils.getUrlForChatMessageContext(baseUrl, token, messageId) val url = ApiUtils.getUrlForChatMessageContext(baseUrl, token, messageId)
return ncApiCoroutines.getContextOfChatMessage(credentials, url, limit).ocs?.data ?: listOf() return ncApiCoroutines.getContextOfChatMessage(credentials, url, limit, threadId).ocs?.data ?: listOf()
} }
override suspend fun getOpenGraph( override suspend fun getOpenGraph(

View file

@ -35,7 +35,6 @@ import com.nextcloud.talk.models.domain.ConversationModel
import com.nextcloud.talk.models.domain.ReactionAddedModel import com.nextcloud.talk.models.domain.ReactionAddedModel
import com.nextcloud.talk.models.domain.ReactionDeletedModel import com.nextcloud.talk.models.domain.ReactionDeletedModel
import com.nextcloud.talk.models.json.capabilities.SpreedCapability import com.nextcloud.talk.models.json.capabilities.SpreedCapability
import com.nextcloud.talk.models.json.chat.ChatMessageJson
import com.nextcloud.talk.models.json.chat.ChatOverallSingleMessage import com.nextcloud.talk.models.json.chat.ChatOverallSingleMessage
import com.nextcloud.talk.models.json.conversations.RoomOverall import com.nextcloud.talk.models.json.conversations.RoomOverall
import com.nextcloud.talk.models.json.generic.GenericOverall import com.nextcloud.talk.models.json.generic.GenericOverall
@ -171,10 +170,6 @@ class ChatViewModel @Inject constructor(
val voiceMessagePlaybackSpeedPreferences: LiveData<Map<String, PlaybackSpeed>> val voiceMessagePlaybackSpeedPreferences: LiveData<Map<String, PlaybackSpeed>>
get() = _voiceMessagePlaybackSpeedPreferences get() = _voiceMessagePlaybackSpeedPreferences
private val _getContextChatMessages: MutableLiveData<List<ChatMessageJson>> = MutableLiveData()
val getContextChatMessages: LiveData<List<ChatMessageJson>>
get() = _getContextChatMessages
private val _threadRetrieveState = MutableStateFlow<ThreadRetrieveUiState>(ThreadRetrieveUiState.None) private val _threadRetrieveState = MutableStateFlow<ThreadRetrieveUiState>(ThreadRetrieveUiState.None)
val threadRetrieveState: StateFlow<ThreadRetrieveUiState> = _threadRetrieveState val threadRetrieveState: StateFlow<ThreadRetrieveUiState> = _threadRetrieveState
@ -944,20 +939,6 @@ class ChatViewModel @Inject constructor(
} }
} }
fun getContextForChatMessages(credentials: String, baseUrl: String, token: String, messageId: String, limit: Int) {
viewModelScope.launch {
val messages = chatNetworkDataSource.getContextForChatMessage(
credentials,
baseUrl,
token,
messageId,
limit
)
_getContextChatMessages.value = messages
}
}
fun getOpenGraph(credentials: String, baseUrl: String, urlToPreview: String) { fun getOpenGraph(credentials: String, baseUrl: String, urlToPreview: String) {
viewModelScope.launch { viewModelScope.launch {
_getOpenGraph.value = chatNetworkDataSource.getOpenGraph(credentials, baseUrl, urlToPreview) _getOpenGraph.value = chatNetworkDataSource.getOpenGraph(credentials, baseUrl, urlToPreview)

View file

@ -1,7 +1,7 @@
/* /*
* Nextcloud Talk - Android Client * Nextcloud Talk - Android Client
* *
* SPDX-FileCopyrightText: 2024 Your Name <your@email.com> * SPDX-FileCopyrightText: 2024 Sowjanya Kota <sowjanya.kch@gmail.com>
* SPDX-License-Identifier: GPL-3.0-or-later * SPDX-License-Identifier: GPL-3.0-or-later
*/ */

View file

@ -0,0 +1,240 @@
/*
* Nextcloud Talk - Android Client
*
* SPDX-FileCopyrightText: 2025 Julius Linus <juliuslinus1@gmail.com>
* SPDX-FileCopyrightText: 2025 Marcel Hibbe <dev@mhibbe.de>
* SPDX-License-Identifier: GPL-3.0-or-later
*/
package com.nextcloud.talk.contextchat
import android.content.Context
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxHeight
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.wrapContentSize
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Close
import androidx.compose.material.icons.filled.Info
import androidx.compose.material.icons.filled.MoreVert
import androidx.compose.material3.DropdownMenu
import androidx.compose.material3.DropdownMenuItem
import androidx.compose.material3.HorizontalDivider
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.SideEffect
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.compose.ui.window.Dialog
import androidx.compose.ui.window.DialogProperties
import com.nextcloud.talk.R
import com.nextcloud.talk.data.database.mappers.asModel
import com.nextcloud.talk.models.json.chat.ChatMessageJson
import com.nextcloud.talk.ui.ComposeChatAdapter
import com.nextcloud.talk.utils.preview.ComposePreviewUtils
@Composable
fun ContextChatView(context: Context, contextViewModel: ContextChatViewModel) {
val contextChatMessagesState = contextViewModel.getContextChatMessagesState.collectAsState().value
when (contextChatMessagesState) {
ContextChatViewModel.ContextChatRetrieveUiState.None -> {}
is ContextChatViewModel.ContextChatRetrieveUiState.Success -> {
ContextChatSuccessView(
visible = true,
context = context,
contextChatRetrieveUiStateSuccess = contextChatMessagesState,
onDismiss = {
contextViewModel.clearContextChatState()
}
)
}
is ContextChatViewModel.ContextChatRetrieveUiState.Error -> {
ContextChatErrorView()
}
}
}
@Composable
fun ContextChatErrorView() {
Column(
modifier = Modifier.fillMaxSize(),
horizontalAlignment = Alignment.CenterHorizontally
) {
Icon(
Icons.Filled.Info,
contentDescription = "Info Icon"
)
Text(
stringResource(R.string.nc_capabilities_failed)
)
}
}
@Composable
fun ContextChatSuccessView(
visible: Boolean,
context: Context,
contextChatRetrieveUiStateSuccess: ContextChatViewModel.ContextChatRetrieveUiState.Success,
onDismiss: () -> Unit
) {
val previewUtils = ComposePreviewUtils.getInstance(LocalContext.current)
val colorScheme = previewUtils.viewThemeUtils.getColorScheme(context)
if (visible) {
MaterialTheme(colorScheme) {
Dialog(
onDismissRequest = onDismiss,
properties = DialogProperties(
dismissOnBackPress = true,
dismissOnClickOutside = true,
usePlatformDefaultWidth = false
)
) {
Surface {
Column(
modifier = Modifier.Companion
.fillMaxWidth()
.fillMaxHeight()
.padding(top = 16.dp)
) {
Row(
modifier = Modifier.Companion.align(Alignment.Companion.Start),
verticalAlignment = Alignment.Companion.CenterVertically
) {
IconButton(onClick = onDismiss) {
Icon(
Icons.Filled.Close,
stringResource(R.string.close),
modifier = Modifier.Companion
.size(24.dp)
)
}
Column(verticalArrangement = Arrangement.Center) {
Text(contextChatRetrieveUiStateSuccess.title ?: "", fontSize = 18.sp)
if (!contextChatRetrieveUiStateSuccess.subTitle.isNullOrEmpty()) {
Text(contextChatRetrieveUiStateSuccess.subTitle, fontSize = 12.sp)
}
}
// This code was written back then but not needed yet, but it's not deleted yet
// because it may be used soon when further migrating to Compose...
// Spacer(modifier = Modifier.weight(1f))
// val cInt = context.resources.getColor(R.color.high_emphasis_text, null)
// Icon(
// painterResource(R.drawable.ic_call_black_24dp),
// "",
// tint = Color(cInt),
// modifier = Modifier
// .padding()
// .padding(end = 16.dp)
// .alpha(HALF_ALPHA)
// )
//
// Icon(
// painterResource(R.drawable.ic_baseline_videocam_24),
// "",
// tint = Color(cInt),
// modifier = Modifier
// .padding()
// .alpha(HALF_ALPHA)
// )
//
// ComposeChatMenu(colorScheme.background, false)
}
val messages = contextChatRetrieveUiStateSuccess.messages.map(ChatMessageJson::asModel)
val messageId = contextChatRetrieveUiStateSuccess.messageId
val threadId = contextChatRetrieveUiStateSuccess.threadId
val adapter = ComposeChatAdapter(
messagesJson = contextChatRetrieveUiStateSuccess.messages,
messageId = messageId,
threadId = threadId
)
SideEffect {
adapter.addMessages(messages.toMutableList(), true)
}
adapter.GetView()
}
}
}
}
}
}
// This code was written back then but not needed yet, but it's not deleted yet
// because it may be used soon when further migrating to Compose...
@Composable
private fun ComposeChatMenu(backgroundColor: Color, enabled: Boolean = true) {
var expanded by remember { mutableStateOf(false) }
Box(
modifier = Modifier.Companion.wrapContentSize(Alignment.Companion.TopStart)
) {
IconButton(onClick = { expanded = true }) {
Icon(
imageVector = Icons.Default.MoreVert,
contentDescription = "More options"
)
}
DropdownMenu(
expanded = expanded,
onDismissRequest = { expanded = false },
modifier = Modifier.Companion.background(backgroundColor)
) {
DropdownMenuItem(
text = { Text(stringResource(R.string.nc_search)) },
onClick = {
expanded = false
},
enabled = enabled
)
HorizontalDivider()
DropdownMenuItem(
text = { Text(stringResource(R.string.nc_conversation_menu_conversation_info)) },
onClick = {
expanded = false
},
enabled = enabled
)
HorizontalDivider()
DropdownMenuItem(
text = { Text(stringResource(R.string.nc_shared_items)) },
onClick = {
expanded = false
},
enabled = enabled
)
}
}
}

View file

@ -0,0 +1,109 @@
/*
* Nextcloud Talk - Android Client
*
* SPDX-FileCopyrightText: 2025 Marcel Hibbe <dev@mhibbe.de>
* SPDX-License-Identifier: GPL-3.0-or-later
*/
package com.nextcloud.talk.contextchat
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import autodagger.AutoInjector
import com.nextcloud.talk.application.NextcloudTalkApplication
import com.nextcloud.talk.chat.data.network.ChatNetworkDataSource
import com.nextcloud.talk.chat.viewmodels.ChatViewModel
import com.nextcloud.talk.models.json.chat.ChatMessageJson
import com.nextcloud.talk.users.UserManager
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch
import javax.inject.Inject
@AutoInjector(NextcloudTalkApplication::class)
class ContextChatViewModel @Inject constructor(private val chatNetworkDataSource: ChatNetworkDataSource) :
ViewModel() {
@Inject
lateinit var chatViewModel: ChatViewModel
@Inject
lateinit var userManager: UserManager
var threadId: String? = null
private val _getContextChatMessagesState =
MutableStateFlow<ContextChatRetrieveUiState>(ContextChatRetrieveUiState.None)
val getContextChatMessagesState: StateFlow<ContextChatRetrieveUiState> = _getContextChatMessagesState
@Suppress("LongParameterList")
fun getContextForChatMessages(
credentials: String,
baseUrl: String,
token: String,
threadId: String?,
messageId: String,
title: String
) {
viewModelScope.launch {
val user = userManager.currentUser.blockingGet()
if (!user.hasSpreedFeatureCapability("chat-get-context") ||
!user.hasSpreedFeatureCapability("federation-v1")
) {
_getContextChatMessagesState.value = ContextChatRetrieveUiState.Error
}
var messages = chatNetworkDataSource.getContextForChatMessage(
credentials = credentials,
baseUrl = baseUrl,
token = token,
messageId = messageId,
limit = LIMIT,
threadId = threadId?.toInt()
)
if (threadId.isNullOrEmpty()) {
messages = messages.filter { !isThreadChildMessage(it) }
}
val subTitle = if (threadId?.isNotEmpty() == true) {
messages.firstOrNull()?.threadTitle
} else {
""
}
_getContextChatMessagesState.value = ContextChatRetrieveUiState.Success(
messageId = messageId,
threadId = threadId,
messages = messages,
title = title,
subTitle = subTitle
)
}
}
fun isThreadChildMessage(currentMessage: ChatMessageJson): Boolean =
currentMessage.hasThread &&
currentMessage.threadId != currentMessage.id
fun clearContextChatState() {
_getContextChatMessagesState.value = ContextChatRetrieveUiState.None
}
sealed class ContextChatRetrieveUiState {
data object None : ContextChatRetrieveUiState()
data class Success(
val messageId: String,
val threadId: String?,
val messages: List<ChatMessageJson>,
val title: String?,
val subTitle: String?
) : ContextChatRetrieveUiState()
data object Error : ContextChatRetrieveUiState()
}
companion object {
private const val LIMIT = 50
}
}

View file

@ -38,14 +38,12 @@ import androidx.activity.OnBackPressedCallback
import androidx.annotation.OptIn import androidx.annotation.OptIn
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import androidx.appcompat.widget.SearchView import androidx.appcompat.widget.SearchView
import androidx.compose.runtime.mutableStateOf
import androidx.compose.ui.platform.ViewCompositionStrategy import androidx.compose.ui.platform.ViewCompositionStrategy
import androidx.core.content.pm.ShortcutInfoCompat import androidx.core.content.pm.ShortcutInfoCompat
import androidx.core.content.pm.ShortcutManagerCompat import androidx.core.content.pm.ShortcutManagerCompat
import androidx.core.graphics.drawable.IconCompat import androidx.core.graphics.drawable.IconCompat
import androidx.core.graphics.drawable.toDrawable import androidx.core.graphics.drawable.toDrawable
import androidx.core.net.toUri import androidx.core.net.toUri
import androidx.core.os.bundleOf
import androidx.core.view.MenuItemCompat import androidx.core.view.MenuItemCompat
import androidx.core.view.isVisible import androidx.core.view.isVisible
import androidx.fragment.app.DialogFragment import androidx.fragment.app.DialogFragment
@ -115,7 +113,8 @@ import com.nextcloud.talk.threadsoverview.ThreadsOverviewActivity
import com.nextcloud.talk.ui.BackgroundVoiceMessageCard import com.nextcloud.talk.ui.BackgroundVoiceMessageCard
import com.nextcloud.talk.ui.dialog.ChooseAccountDialogFragment import com.nextcloud.talk.ui.dialog.ChooseAccountDialogFragment
import com.nextcloud.talk.ui.dialog.ChooseAccountShareToDialogFragment import com.nextcloud.talk.ui.dialog.ChooseAccountShareToDialogFragment
import com.nextcloud.talk.ui.dialog.ContextChatCompose 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.ConversationsListBottomDialog
import com.nextcloud.talk.ui.dialog.FilterConversationFragment import com.nextcloud.talk.ui.dialog.FilterConversationFragment
import com.nextcloud.talk.ui.dialog.FilterConversationFragment.Companion.ARCHIVE import com.nextcloud.talk.ui.dialog.FilterConversationFragment.Companion.ARCHIVE
@ -204,6 +203,7 @@ class ConversationsListActivity :
lateinit var contactsViewModel: ContactsViewModel lateinit var contactsViewModel: ContactsViewModel
lateinit var conversationsListViewModel: ConversationsListViewModel lateinit var conversationsListViewModel: ConversationsListViewModel
lateinit var contextChatViewModel: ContextChatViewModel
override val appBarLayoutType: AppBarLayoutType override val appBarLayoutType: AppBarLayoutType
get() = AppBarLayoutType.SEARCH_BAR get() = AppBarLayoutType.SEARCH_BAR
@ -263,6 +263,7 @@ class ConversationsListActivity :
currentUser = currentUserProvider.currentUser.blockingGet() currentUser = currentUserProvider.currentUser.blockingGet()
conversationsListViewModel = ViewModelProvider(this, viewModelFactory)[ConversationsListViewModel::class.java] conversationsListViewModel = ViewModelProvider(this, viewModelFactory)[ConversationsListViewModel::class.java]
contextChatViewModel = ViewModelProvider(this, viewModelFactory)[ContextChatViewModel::class.java]
binding = ActivityConversationsBinding.inflate(layoutInflater) binding = ActivityConversationsBinding.inflate(layoutInflater)
setupActionBar() setupActionBar()
@ -1533,15 +1534,16 @@ class ConversationsListActivity :
).model.displayName ).model.displayName
binding.genericComposeView.apply { binding.genericComposeView.apply {
val shouldDismiss = mutableStateOf(false)
setContent { setContent {
val bundle = bundleOf() contextChatViewModel.getContextForChatMessages(
bundle.putString(BundleKeys.KEY_CREDENTIALS, credentials!!) credentials = credentials!!,
bundle.putString(BundleKeys.KEY_BASE_URL, currentUser!!.baseUrl) baseUrl = currentUser!!.baseUrl!!,
bundle.putString(KEY_ROOM_TOKEN, token) token = token,
bundle.putString(BundleKeys.KEY_MESSAGE_ID, item.messageEntry.messageId) threadId = item.messageEntry.threadId,
bundle.putString(BundleKeys.KEY_CONVERSATION_NAME, conversationName) messageId = item.messageEntry.messageId!!,
ContextChatCompose(bundle).GetDialogView(shouldDismiss, context) title = item.messageEntry.title
)
ContextChatView(context, contextChatViewModel)
} }
} }
} }
@ -2244,7 +2246,7 @@ class ConversationsListActivity :
) )
val bundle = Bundle() val bundle = Bundle()
bundle.putString(ThreadsOverviewActivity.KEY_APPBAR_TITLE, getString(R.string.followed_threads)) bundle.putString(ThreadsOverviewActivity.KEY_APPBAR_TITLE, getString(R.string.threads))
bundle.putString(ThreadsOverviewActivity.KEY_THREADS_SOURCE_URL, threadsUrl) bundle.putString(ThreadsOverviewActivity.KEY_THREADS_SOURCE_URL, threadsUrl)
val threadsOverviewIntent = Intent(context, ThreadsOverviewActivity::class.java) val threadsOverviewIntent = Intent(context, ThreadsOverviewActivity::class.java)
threadsOverviewIntent.putExtras(bundle) threadsOverviewIntent.putExtras(bundle)

View file

@ -219,16 +219,6 @@ public class RestModule {
httpClient.addInterceptor(new HeadersInterceptor()); httpClient.addInterceptor(new HeadersInterceptor());
List<ConnectionSpec> 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)) { if (BuildConfig.DEBUG && !context.getResources().getBoolean(R.bool.nc_is_debug)) {
HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor(); HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor();
loggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY); loggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);

View file

@ -13,6 +13,7 @@ import com.nextcloud.talk.account.viewmodels.BrowserLoginActivityViewModel
import com.nextcloud.talk.chat.viewmodels.ChatViewModel import com.nextcloud.talk.chat.viewmodels.ChatViewModel
import com.nextcloud.talk.chat.viewmodels.MessageInputViewModel import com.nextcloud.talk.chat.viewmodels.MessageInputViewModel
import com.nextcloud.talk.contacts.ContactsViewModel import com.nextcloud.talk.contacts.ContactsViewModel
import com.nextcloud.talk.contextchat.ContextChatViewModel
import com.nextcloud.talk.conversationcreation.ConversationCreationViewModel import com.nextcloud.talk.conversationcreation.ConversationCreationViewModel
import com.nextcloud.talk.conversationinfo.viewmodel.ConversationInfoViewModel import com.nextcloud.talk.conversationinfo.viewmodel.ConversationInfoViewModel
import com.nextcloud.talk.conversationinfoedit.viewmodel.ConversationInfoEditViewModel import com.nextcloud.talk.conversationinfoedit.viewmodel.ConversationInfoEditViewModel
@ -166,4 +167,9 @@ abstract class ViewModelModule {
@IntoMap @IntoMap
@ViewModelKey(BrowserLoginActivityViewModel::class) @ViewModelKey(BrowserLoginActivityViewModel::class)
abstract fun browserLoginActivityViewModel(viewModel: BrowserLoginActivityViewModel): ViewModel abstract fun browserLoginActivityViewModel(viewModel: BrowserLoginActivityViewModel): ViewModel
@Binds
@IntoMap
@ViewModelKey(ContextChatViewModel::class)
abstract fun contextChatViewModel(viewModel: ContextChatViewModel): ViewModel
} }

View file

@ -85,6 +85,8 @@ import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_ROOM_ONE_TO_ONE
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_ROOM_TOKEN import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_ROOM_TOKEN
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_SHARE_RECORDING_TO_CHAT_URL import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_SHARE_RECORDING_TO_CHAT_URL
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_SYSTEM_NOTIFICATION_ID import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_SYSTEM_NOTIFICATION_ID
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_THREAD_ID
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_OPENED_VIA_NOTIFICATION
import com.nextcloud.talk.utils.preferences.AppPreferences import com.nextcloud.talk.utils.preferences.AppPreferences
import io.reactivex.Observable import io.reactivex.Observable
import io.reactivex.Observer import io.reactivex.Observer
@ -397,6 +399,10 @@ class NotificationWorker(context: Context, workerParams: WorkerParameters) : Wor
val ncNotification = notificationOverall.ocs!!.notification val ncNotification = notificationOverall.ocs!!.notification
if (ncNotification != null) { if (ncNotification != null) {
enrichPushMessageByNcNotificationData(ncNotification) enrichPushMessageByNcNotificationData(ncNotification)
val threadId = parseThreadId(ncNotification.objectId)
threadId?.let { intent.putExtra(KEY_THREAD_ID, it) }
showNotification(intent, ncNotification) showNotification(intent, ncNotification)
} }
} }
@ -827,6 +833,8 @@ class NotificationWorker(context: Context, workerParams: WorkerParameters) : Wor
} }
} }
private fun parseThreadId(objectId: String?): Long? = objectId?.split("/")?.getOrNull(2)?.toLongOrNull()
private fun sendNotification(notificationId: Int, notification: Notification) { private fun sendNotification(notificationId: Int, notification: Notification) {
Log.d(TAG, "show notification with id $notificationId") Log.d(TAG, "show notification with id $notificationId")
if (ActivityCompat.checkSelfPermission( if (ActivityCompat.checkSelfPermission(
@ -982,6 +990,7 @@ class NotificationWorker(context: Context, workerParams: WorkerParameters) : Wor
val bundle = Bundle() val bundle = Bundle()
bundle.putString(KEY_ROOM_TOKEN, pushMessage.id) bundle.putString(KEY_ROOM_TOKEN, pushMessage.id)
bundle.putLong(KEY_INTERNAL_USER_ID, signatureVerification.user!!.id!!) bundle.putLong(KEY_INTERNAL_USER_ID, signatureVerification.user!!.id!!)
bundle.putBoolean(KEY_OPENED_VIA_NOTIFICATION, true)
intent.putExtras(bundle) intent.putExtras(bundle)
return intent return intent
} }

View file

@ -166,6 +166,7 @@ class MessageSearchActivity : BaseActivity() {
if (state is MessageSearchViewModel.FinishedState) { if (state is MessageSearchViewModel.FinishedState) {
val resultIntent = Intent().apply { val resultIntent = Intent().apply {
putExtra(RESULT_KEY_MESSAGE_ID, state.selectedMessageId) putExtra(RESULT_KEY_MESSAGE_ID, state.selectedMessageId)
putExtra(RESULT_KEY_THREAD_ID, state.selectedThreadId)
} }
setResult(Activity.RESULT_OK, resultIntent) setResult(Activity.RESULT_OK, resultIntent)
finish() finish()
@ -244,5 +245,6 @@ class MessageSearchActivity : BaseActivity() {
companion object { companion object {
const val RESULT_KEY_MESSAGE_ID = "MessageSearchActivity.result.message" const val RESULT_KEY_MESSAGE_ID = "MessageSearchActivity.result.message"
const val RESULT_KEY_THREAD_ID = "MessageSearchActivity.result.thread"
} }
} }

View file

@ -42,7 +42,7 @@ class MessageSearchViewModel @Inject constructor(private val unifiedSearchReposi
object EmptyState : ViewState() object EmptyState : ViewState()
object ErrorState : ViewState() object ErrorState : ViewState()
class LoadedState(val results: List<SearchMessageEntry>, val hasMore: Boolean) : ViewState() class LoadedState(val results: List<SearchMessageEntry>, val hasMore: Boolean) : ViewState()
class FinishedState(val selectedMessageId: String) : ViewState() class FinishedState(val selectedMessageId: String, val selectedThreadId: String?) : ViewState()
private lateinit var messageSearchHelper: MessageSearchHelper private lateinit var messageSearchHelper: MessageSearchHelper
@ -95,7 +95,7 @@ class MessageSearchViewModel @Inject constructor(private val unifiedSearchReposi
} }
fun selectMessage(messageEntry: SearchMessageEntry) { fun selectMessage(messageEntry: SearchMessageEntry) {
_state.value = FinishedState(messageEntry.messageId!!) _state.value = FinishedState(messageEntry.messageId!!, messageEntry.threadId)
} }
companion object { companion object {

View file

@ -13,5 +13,6 @@ data class SearchMessageEntry(
val title: String, val title: String,
val messageExcerpt: String, val messageExcerpt: String,
val conversationToken: String, val conversationToken: String,
val threadId: String?,
val messageId: String? val messageId: String?
) )

View file

@ -1,7 +1,7 @@
/* /*
* Nextcloud Talk - Android Client * Nextcloud Talk - Android Client
* *
* SPDX-FileCopyrightText: 2024 Your Name <your@email.com> * SPDX-FileCopyrightText: 2024 Marcel Hibbe <dev@mhibbe.de>
* SPDX-License-Identifier: GPL-3.0-or-later * SPDX-License-Identifier: GPL-3.0-or-later
*/ */

View file

@ -66,6 +66,7 @@ class UnifiedSearchRepositoryImpl(private val api: NcApi, private val userProvid
private const val ATTRIBUTE_CONVERSATION = "conversation" private const val ATTRIBUTE_CONVERSATION = "conversation"
private const val ATTRIBUTE_MESSAGE_ID = "messageId" private const val ATTRIBUTE_MESSAGE_ID = "messageId"
private const val ATTRIBUTE_THREAD_ID = "threadId"
private fun mapToMessageResults( private fun mapToMessageResults(
data: UnifiedSearchResponseData, data: UnifiedSearchResponseData,
@ -81,13 +82,15 @@ class UnifiedSearchRepositoryImpl(private val api: NcApi, private val userProvid
private fun mapToMessage(unifiedSearchEntry: UnifiedSearchEntry, searchTerm: String): SearchMessageEntry { private fun mapToMessage(unifiedSearchEntry: UnifiedSearchEntry, searchTerm: String): SearchMessageEntry {
val conversation = unifiedSearchEntry.attributes?.get(ATTRIBUTE_CONVERSATION)!! val conversation = unifiedSearchEntry.attributes?.get(ATTRIBUTE_CONVERSATION)!!
val messageId = unifiedSearchEntry.attributes?.get(ATTRIBUTE_MESSAGE_ID) val messageId = unifiedSearchEntry.attributes?.get(ATTRIBUTE_MESSAGE_ID)
val threadId = unifiedSearchEntry.attributes?.get(ATTRIBUTE_THREAD_ID)
return SearchMessageEntry( return SearchMessageEntry(
searchTerm, searchTerm = searchTerm,
unifiedSearchEntry.thumbnailUrl, thumbnailURL = unifiedSearchEntry.thumbnailUrl,
unifiedSearchEntry.title!!, title = unifiedSearchEntry.title!!,
unifiedSearchEntry.subline!!, messageExcerpt = unifiedSearchEntry.subline!!,
conversation, conversationToken = conversation,
messageId threadId = threadId,
messageId = messageId
) )
} }
} }

View file

@ -1,7 +1,7 @@
/* /*
* Nextcloud Talk - Android Client * Nextcloud Talk - Android Client
* *
* SPDX-FileCopyrightText: 2024 Your Name <your@email.com> * SPDX-FileCopyrightText: 2024 Julius Linus <juliuslinus1@gmail.com>
* SPDX-License-Identifier: GPL-3.0-or-later * SPDX-License-Identifier: GPL-3.0-or-later
*/ */

View file

@ -127,6 +127,7 @@ import kotlin.random.Random
class ComposeChatAdapter( class ComposeChatAdapter(
private var messagesJson: List<ChatMessageJson>? = null, private var messagesJson: List<ChatMessageJson>? = null,
private var messageId: String? = null, private var messageId: String? = null,
private var threadId: String? = null,
private val utils: ComposePreviewUtils? = null private val utils: ComposePreviewUtils? = null
) { ) {
@ -195,6 +196,7 @@ class ComposeChatAdapter(
private const val ANIMATED_BLINK = 500 private const val ANIMATED_BLINK = 500
private const val FLOAT_06 = 0.6f private const val FLOAT_06 = 0.6f
private const val HALF_OPACITY = 127 private const val HALF_OPACITY = 127
private const val MESSAGE_LENGTH_THRESHOLD = 25
} }
private var incomingShape: RoundedCornerShape = RoundedCornerShape(2.dp, 20.dp, 20.dp, 20.dp) private var incomingShape: RoundedCornerShape = RoundedCornerShape(2.dp, 20.dp, 20.dp, 20.dp)
@ -354,7 +356,8 @@ class ComposeChatAdapter(
this.isReaction() || this.isReaction() ||
this.isPollVotedMessage() || this.isPollVotedMessage() ||
this.isEditMessage() || this.isEditMessage() ||
this.isInfoMessageAboutDeletion() this.isInfoMessageAboutDeletion() ||
this.isThreadCreatedMessage()
private fun ChatMessage.isInfoMessageAboutDeletion(): Boolean = private fun ChatMessage.isInfoMessageAboutDeletion(): Boolean =
this.parentMessageId != null && this.parentMessageId != null &&
@ -366,6 +369,9 @@ class ComposeChatAdapter(
private fun ChatMessage.isEditMessage(): Boolean = private fun ChatMessage.isEditMessage(): Boolean =
this.systemMessageType == ChatMessage.SystemMessageType.MESSAGE_EDITED this.systemMessageType == ChatMessage.SystemMessageType.MESSAGE_EDITED
private fun ChatMessage.isThreadCreatedMessage(): Boolean =
this.systemMessageType == ChatMessage.SystemMessageType.THREAD_CREATED
private fun ChatMessage.isReaction(): Boolean = private fun ChatMessage.isReaction(): Boolean =
systemMessageType == ChatMessage.SystemMessageType.REACTION || systemMessageType == ChatMessage.SystemMessageType.REACTION ||
systemMessageType == ChatMessage.SystemMessageType.REACTION_DELETED || systemMessageType == ChatMessage.SystemMessageType.REACTION_DELETED ||
@ -429,16 +435,30 @@ class ComposeChatAdapter(
message: ChatMessage, message: ChatMessage,
includePadding: Boolean = true, includePadding: Boolean = true,
playAnimation: Boolean = false, playAnimation: Boolean = false,
content: content: @Composable () -> Unit
@Composable
(RowScope.() -> Unit)
) { ) {
fun shouldShowTimeNextToContent(message: ChatMessage): Boolean {
val containsLinebreak = message.message?.contains("\n") ?: false ||
message.message?.contains("\r") ?: false
return ((message.message?.length ?: 0) < MESSAGE_LENGTH_THRESHOLD) &&
!isFirstMessageOfThreadInNormalChat(message) &&
message.messageParameters.isNullOrEmpty() &&
!containsLinebreak
}
val incoming = message.actorId != currentUser.userId val incoming = message.actorId != currentUser.userId
val color = if (incoming) { val color = if (incoming) {
if (message.isDeleted) { if (message.isDeleted) {
LocalContext.current.resources.getColor(R.color.bg_message_list_incoming_bubble_deleted, null) LocalContext.current.resources.getColor(
R.color.bg_message_list_incoming_bubble_deleted,
null
)
} else { } else {
LocalContext.current.resources.getColor(R.color.bg_message_list_incoming_bubble, null) LocalContext.current.resources.getColor(
R.color.bg_message_list_incoming_bubble,
null
)
} }
} else { } else {
if (message.isDeleted) { if (message.isDeleted) {
@ -449,11 +469,15 @@ class ComposeChatAdapter(
} }
val shape = if (incoming) incomingShape else outgoingShape val shape = if (incoming) incomingShape else outgoingShape
val rowModifier = if (message.id == messageId && playAnimation) {
Modifier.withCustomAnimation(incoming)
} else {
Modifier
}
Row( Row(
modifier = ( modifier = rowModifier.fillMaxWidth(),
if (message.id == messageId && playAnimation) Modifier.withCustomAnimation(incoming) else Modifier horizontalArrangement = if (incoming) Arrangement.Start else Arrangement.End
)
.fillMaxWidth(1f)
) { ) {
if (incoming) { if (incoming) {
val imageUri = message.actorId?.let { viewModel.contactsViewModel.getImageUri(it, true) } val imageUri = message.actorId?.let { viewModel.contactsViewModel.getImageUri(it, true) }
@ -465,11 +489,10 @@ class ComposeChatAdapter(
modifier = Modifier modifier = Modifier
.size(48.dp) .size(48.dp)
.align(Alignment.CenterVertically) .align(Alignment.CenterVertically)
.padding()
.padding(end = 8.dp) .padding(end = 8.dp)
) )
} else { } else {
Spacer(Modifier.weight(1f)) Spacer(Modifier.width(8.dp))
} }
Surface( Surface(
@ -480,38 +503,51 @@ class ComposeChatAdapter(
color = Color(color), color = Color(color),
shape = shape shape = shape
) { ) {
val timeString = DateUtils(LocalContext.current).getLocalTimeStringFromTimestamp(message.timestamp) val modifier = if (includePadding) {
val modifier = if (includePadding) Modifier.padding(8.dp, 4.dp, 8.dp, 4.dp) else Modifier Modifier.padding(16.dp, 4.dp, 16.dp, 4.dp)
} else {
Modifier
}
Column(modifier = modifier) { Column(modifier = modifier) {
if (message.parentMessageId != null && !message.isDeleted && messagesJson != null) { if (messagesJson != null &&
message.parentMessageId != null &&
!message.isDeleted &&
message.parentMessageId.toString() != threadId
) {
messagesJson!! messagesJson!!
.find { it.parentMessage?.id == message.parentMessageId } .find { it.parentMessage?.id == message.parentMessageId }
?.parentMessage!!.asModel().let { CommonMessageQuote(LocalContext.current, it) } ?.parentMessage!!.asModel()
.let { CommonMessageQuote(LocalContext.current, it) }
} }
if (incoming) { if (incoming) {
Text(message.actorDisplayName.toString(), fontSize = AUTHOR_TEXT_SIZE) Text(message.actorDisplayName.toString(), fontSize = AUTHOR_TEXT_SIZE)
} }
Row { ThreadTitle(message)
if (shouldShowTimeNextToContent(message)) {
Row(
verticalAlignment = Alignment.CenterVertically
) {
content()
Row(
verticalAlignment = Alignment.CenterVertically,
modifier = Modifier.padding(top = 6.dp, start = 8.dp)
) {
TimeDisplay(message)
ReadStatus(message)
}
}
} else {
content() content()
Spacer(modifier = Modifier.size(8.dp)) Row(
Text( modifier = Modifier.align(Alignment.End),
timeString, verticalAlignment = Alignment.CenterVertically
fontSize = TIME_TEXT_SIZE, ) {
textAlign = TextAlign.End, TimeDisplay(message)
modifier = Modifier.align(Alignment.CenterVertically) ReadStatus(message)
)
if (message.readStatus == ReadStatus.NONE) {
val read = painterResource(R.drawable.ic_check_all)
Icon(
read,
"",
modifier = Modifier
.padding(start = 2.dp)
.size(12.dp)
.align(Alignment.CenterVertically)
)
} }
} }
} }
@ -519,6 +555,55 @@ class ComposeChatAdapter(
} }
} }
@Composable
private fun TimeDisplay(message: ChatMessage) {
val timeString = DateUtils(LocalContext.current)
.getLocalTimeStringFromTimestamp(message.timestamp)
Text(
timeString,
fontSize = TIME_TEXT_SIZE,
textAlign = TextAlign.Center
)
}
@Composable
private fun ReadStatus(message: ChatMessage) {
if (message.readStatus == ReadStatus.NONE) {
val read = painterResource(R.drawable.ic_check_all)
Icon(
read,
"",
modifier = Modifier
.padding(start = 4.dp)
.size(16.dp)
)
}
}
@Composable
private fun ThreadTitle(message: ChatMessage) {
if (isFirstMessageOfThreadInNormalChat(message)) {
Row {
val read = painterResource(R.drawable.outline_forum_24)
Icon(
read,
"",
modifier = Modifier
.padding(end = 6.dp)
.size(18.dp)
.align(Alignment.CenterVertically)
)
Text(
text = message.threadTitle ?: "",
fontSize = REGULAR_TEXT_SIZE,
fontWeight = FontWeight.SemiBold
)
}
}
}
fun isFirstMessageOfThreadInNormalChat(message: ChatMessage): Boolean = threadId == null && message.isThread
@Composable @Composable
private fun Modifier.withCustomAnimation(incoming: Boolean): Modifier { private fun Modifier.withCustomAnimation(incoming: Boolean): Modifier {
val infiniteTransition = rememberInfiniteTransition() val infiniteTransition = rememberInfiniteTransition()
@ -750,8 +835,8 @@ class ComposeChatAdapter(
read, read,
"", "",
modifier = Modifier modifier = Modifier
.padding(start = 2.dp) .padding(start = 4.dp)
.size(12.dp) .size(16.dp)
.align(Alignment.CenterVertically) .align(Alignment.CenterVertically)
) )
} }
@ -762,29 +847,30 @@ class ComposeChatAdapter(
@Composable @Composable
private fun VoiceMessage(message: ChatMessage, state: MutableState<Boolean>) { private fun VoiceMessage(message: ChatMessage, state: MutableState<Boolean>) {
CommonMessageBody(message, playAnimation = state.value) { CommonMessageBody(message, playAnimation = state.value) {
Icon( Row(
Icons.Filled.PlayArrow, verticalAlignment = Alignment.CenterVertically
"play", ) {
modifier = Modifier Icon(
.size(24.dp) Icons.Filled.PlayArrow,
.align(Alignment.CenterVertically) contentDescription = "play",
) modifier = Modifier.size(24.dp)
)
AndroidView( AndroidView(
factory = { ctx -> factory = { ctx ->
WaveformSeekBar(ctx).apply { WaveformSeekBar(ctx).apply {
setWaveData(FloatArray(DEFAULT_WAVE_SIZE) { Random.nextFloat() }) // READ ONLY for now setWaveData(FloatArray(DEFAULT_WAVE_SIZE) { Random.nextFloat() }) // READ ONLY for now
setColors( setColors(
colorScheme.inversePrimary.toArgb(), colorScheme.inversePrimary.toArgb(),
colorScheme.onPrimaryContainer.toArgb() colorScheme.onPrimaryContainer.toArgb()
) )
} }
}, },
modifier = Modifier modifier = Modifier
.align(Alignment.CenterVertically) .width(180.dp)
.width(180.dp) .height(80.dp)
.height(80.dp) )
) }
} }
} }
@ -856,6 +942,7 @@ class ComposeChatAdapter(
message.extractedUrlToPreview!! message.extractedUrlToPreview!!
) )
CommonMessageBody(message, playAnimation = state.value) { CommonMessageBody(message, playAnimation = state.value) {
EnrichedText(message)
Row( Row(
modifier = Modifier modifier = Modifier
.drawWithCache { .drawWithCache {
@ -960,9 +1047,17 @@ class ComposeChatAdapter(
@Preview(showBackground = true, widthDp = 380, heightDp = 800) @Preview(showBackground = true, widthDp = 380, heightDp = 800)
@Composable @Composable
@Suppress("MagicNumber", "LongMethod")
fun AllMessageTypesPreview() { fun AllMessageTypesPreview() {
val previewUtils = ComposePreviewUtils.getInstance(LocalContext.current) val previewUtils = ComposePreviewUtils.getInstance(LocalContext.current)
val adapter = remember { ComposeChatAdapter(messagesJson = null, messageId = null, previewUtils) } val adapter = remember {
ComposeChatAdapter(
messagesJson = null,
messageId = null,
threadId = null,
previewUtils
)
}
val sampleMessages = remember { val sampleMessages = remember {
listOf( listOf(
@ -982,6 +1077,42 @@ fun AllMessageTypesPreview() {
timestamp = System.currentTimeMillis() timestamp = System.currentTimeMillis()
actorDisplayName = "User2" actorDisplayName = "User2"
messageType = ChatMessage.MessageType.REGULAR_TEXT_MESSAGE.name messageType = ChatMessage.MessageType.REGULAR_TEXT_MESSAGE.name
},
ChatMessage().apply {
jsonMessageId = 3
actorId = "user1_id"
message = "This is a really really really really really really really really really long message"
timestamp = System.currentTimeMillis()
actorDisplayName = "User2"
messageType = ChatMessage.MessageType.REGULAR_TEXT_MESSAGE.name
},
ChatMessage().apply {
jsonMessageId = 4
actorId = "user1_id"
message = "some \n linebreak"
timestamp = System.currentTimeMillis()
actorDisplayName = "User2"
messageType = ChatMessage.MessageType.REGULAR_TEXT_MESSAGE.name
},
ChatMessage().apply {
jsonMessageId = 5
actorId = "user1_id"
threadTitle = "Thread title"
isThread = true
message = "Content of a first thread message"
timestamp = System.currentTimeMillis()
actorDisplayName = "User2"
messageType = ChatMessage.MessageType.REGULAR_TEXT_MESSAGE.name
},
ChatMessage().apply {
jsonMessageId = 6
actorId = "user1_id"
threadTitle = "looooooooooooong Thread title"
isThread = true
message = "Content"
timestamp = System.currentTimeMillis()
actorDisplayName = "User2"
messageType = ChatMessage.MessageType.REGULAR_TEXT_MESSAGE.name
} }
) )
} }

View file

@ -1,262 +0,0 @@
/*
* Nextcloud Talk - Android Client
*
* SPDX-FileCopyrightText: 2025 Julius Linus <juliuslinus1@gmail.com>
* SPDX-License-Identifier: GPL-3.0-or-later
*/
package com.nextcloud.talk.ui.dialog
import android.app.Activity
import android.content.Context
import android.content.ContextWrapper
import android.content.pm.ActivityInfo
import android.os.Bundle
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxHeight
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.wrapContentSize
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Close
import androidx.compose.material.icons.filled.Info
import androidx.compose.material.icons.filled.MoreVert
import androidx.compose.material3.DropdownMenu
import androidx.compose.material3.DropdownMenuItem
import androidx.compose.material3.HorizontalDivider
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.MutableState
import androidx.compose.runtime.SideEffect
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.compose.ui.window.Dialog
import androidx.compose.ui.window.DialogProperties
import androidx.lifecycle.ViewModel
import androidx.lifecycle.asFlow
import autodagger.AutoInjector
import com.nextcloud.talk.R
import com.nextcloud.talk.application.NextcloudTalkApplication
import com.nextcloud.talk.chat.viewmodels.ChatViewModel
import com.nextcloud.talk.data.database.mappers.asModel
import com.nextcloud.talk.models.json.chat.ChatMessageJson
import com.nextcloud.talk.ui.ComposeChatAdapter
import com.nextcloud.talk.ui.theme.ViewThemeUtils
import com.nextcloud.talk.users.UserManager
import com.nextcloud.talk.utils.bundle.BundleKeys
import javax.inject.Inject
@Suppress("FunctionNaming", "LongMethod", "StaticFieldLeak")
class ContextChatCompose(val bundle: Bundle) {
companion object {
const val LIMIT = 50
const val HALF_ALPHA = 0.5f
}
@AutoInjector(NextcloudTalkApplication::class)
inner class ContextChatComposeViewModel : ViewModel() {
@Inject
lateinit var viewThemeUtils: ViewThemeUtils
@Inject
lateinit var chatViewModel: ChatViewModel
@Inject
lateinit var userManager: UserManager
init {
NextcloudTalkApplication.sharedApplication!!.componentApplication.inject(this)
val credentials = bundle.getString(BundleKeys.KEY_CREDENTIALS)!!
val baseUrl = bundle.getString(BundleKeys.KEY_BASE_URL)!!
val token = bundle.getString(BundleKeys.KEY_ROOM_TOKEN)!!
val messageId = bundle.getString(BundleKeys.KEY_MESSAGE_ID)!!
chatViewModel.getContextForChatMessages(credentials, baseUrl, token, messageId, LIMIT)
}
}
private fun Context.requireActivity(): Activity {
var context = this
while (context is ContextWrapper) {
if (context is Activity) return context
context = context.baseContext
}
throw IllegalStateException("No activity was present but it is required.")
}
@Composable
fun GetDialogView(
shouldDismiss: MutableState<Boolean>,
context: Context,
contextViewModel: ContextChatComposeViewModel = ContextChatComposeViewModel()
) {
if (shouldDismiss.value) {
context.requireActivity().requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED
return
}
context.requireActivity().requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_LOCKED
val colorScheme = contextViewModel.viewThemeUtils.getColorScheme(context)
MaterialTheme(colorScheme) {
Dialog(
onDismissRequest = {
shouldDismiss.value = true
},
properties = DialogProperties(
dismissOnBackPress = true,
dismissOnClickOutside = true,
usePlatformDefaultWidth = false
)
) {
Surface {
Column(
modifier = Modifier
.fillMaxWidth()
.fillMaxHeight()
.padding(top = 16.dp)
) {
val user = contextViewModel.userManager.currentUser.blockingGet()
val shouldShow = !user.hasSpreedFeatureCapability("chat-get-context") ||
!user.hasSpreedFeatureCapability("federation-v1")
Row(
modifier = Modifier.align(Alignment.Start),
verticalAlignment = Alignment.CenterVertically
) {
IconButton(onClick = {
shouldDismiss.value = true
}) {
Icon(
Icons.Filled.Close,
stringResource(R.string.close),
modifier = Modifier
.size(24.dp)
)
}
Column(verticalArrangement = Arrangement.Center) {
val name = bundle.getString(BundleKeys.KEY_CONVERSATION_NAME)!!
Text(name, fontSize = 24.sp)
}
// Spacer(modifier = Modifier.weight(1f))
// val cInt = context.resources.getColor(R.color.high_emphasis_text, null)
// Icon(
// painterResource(R.drawable.ic_call_black_24dp),
// "",
// tint = Color(cInt),
// modifier = Modifier
// .padding()
// .padding(end = 16.dp)
// .alpha(HALF_ALPHA)
// )
//
// Icon(
// painterResource(R.drawable.ic_baseline_videocam_24),
// "",
// tint = Color(cInt),
// modifier = Modifier
// .padding()
// .alpha(HALF_ALPHA)
// )
//
// ComposeChatMenu(colorScheme.background, false)
}
if (shouldShow) {
Icon(
Icons.Filled.Info,
"Info Icon",
modifier = Modifier.align(Alignment.CenterHorizontally)
)
Text(
stringResource(R.string.nc_capabilities_failed),
modifier = Modifier.align(Alignment.CenterHorizontally)
)
} else {
val contextState = contextViewModel
.chatViewModel
.getContextChatMessages
.asFlow()
.collectAsState(listOf())
val messagesJson = contextState.value
val messages = messagesJson.map(ChatMessageJson::asModel)
val messageId = bundle.getString(BundleKeys.KEY_MESSAGE_ID)!!
val adapter = ComposeChatAdapter(messagesJson, messageId)
SideEffect {
adapter.addMessages(messages.toMutableList(), true)
}
adapter.GetView()
}
}
}
}
}
}
@Composable
private fun ComposeChatMenu(backgroundColor: Color, enabled: Boolean = true) {
var expanded by remember { mutableStateOf(false) }
Box(
modifier = Modifier.wrapContentSize(Alignment.TopStart)
) {
IconButton(onClick = { expanded = true }) {
Icon(
imageVector = Icons.Default.MoreVert,
contentDescription = "More options"
)
}
DropdownMenu(
expanded = expanded,
onDismissRequest = { expanded = false },
modifier = Modifier.background(backgroundColor)
) {
DropdownMenuItem(
text = { Text(stringResource(R.string.nc_search)) },
onClick = {
expanded = false
},
enabled = enabled
)
HorizontalDivider()
DropdownMenuItem(
text = { Text(stringResource(R.string.nc_conversation_menu_conversation_info)) },
onClick = {
expanded = false
},
enabled = enabled
)
HorizontalDivider()
DropdownMenuItem(
text = { Text(stringResource(R.string.nc_shared_items)) },
onClick = {
expanded = false
},
enabled = enabled
)
}
}
}
}

View file

@ -84,4 +84,5 @@ object BundleKeys {
const val KEY_FOCUS_INPUT: String = "KEY_FOCUS_INPUT" const val KEY_FOCUS_INPUT: String = "KEY_FOCUS_INPUT"
const val KEY_THREAD_ID = "KEY_THREAD_ID" const val KEY_THREAD_ID = "KEY_THREAD_ID"
const val KEY_FROM_QR: String = "KEY_FROM_QR" const val KEY_FROM_QR: String = "KEY_FROM_QR"
const val KEY_OPENED_VIA_NOTIFICATION: String = "KEY_OPENED_VIA_NOTIFICATION"
} }

View file

@ -1,10 +1,9 @@
<!-- <!--
~ Nextcloud Talk - Android Client ~ Nextcloud Talk - Android Client
~ ~
~ SPDX-FileCopyrightText: 2024 Your Name <your@email.com> ~ SPDX-FileCopyrightText: 2023-2024 Google LLC
~ SPDX-License-Identifier: GPL-3.0-or-later ~ SPDX-License-Identifier: Apache-2.0
--> -->
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="24dp" android:height="24dp"
android:tint="#000000" android:tint="#000000"

View file

@ -116,7 +116,7 @@
android:id="@+id/threads_button" android:id="@+id/threads_button"
android:layout_width="40dp" android:layout_width="40dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:contentDescription="@string/followed_threads" android:contentDescription="@string/threads"
android:paddingStart="8dp" android:paddingStart="8dp"
android:paddingEnd="8dp" android:paddingEnd="8dp"
android:src="@drawable/outline_forum_24" android:src="@drawable/outline_forum_24"

View file

@ -67,7 +67,6 @@
<string name="file_list_folder">folder</string> <string name="file_list_folder">folder</string>
<string name="file_list_loading">Loading …</string> <string name="file_list_loading">Loading …</string>
<string name="filename_progress">%1$s (%2$d)</string> <string name="filename_progress">%1$s (%2$d)</string>
<string name="followed_threads">Followed threads</string>
<string name="fourHours">4 hours</string> <string name="fourHours">4 hours</string>
<string name="get_invitations_error">Failed to fetch pending invitations</string> <string name="get_invitations_error">Failed to fetch pending invitations</string>
<string name="hint_edited_message">(edited)</string> <string name="hint_edited_message">(edited)</string>
@ -670,6 +669,8 @@
<string name="thread_notifications">Thread notifications</string> <string name="thread_notifications">Thread notifications</string>
<string name="thread_reply">Reply</string> <string name="thread_reply">Reply</string>
<string name="thread_title">Thread title</string> <string name="thread_title">Thread title</string>
<string name="threads">Threads</string>
<string name="threads_list_empty">No threads found</string>
<string name="today">Today</string> <string name="today">Today</string>
<string name="tomorrow">Tomorrow</string> <string name="tomorrow">Tomorrow</string>
<string name="translate">Translate</string> <string name="translate">Translate</string>

View file

@ -31,8 +31,8 @@
<string name="camera_permission_granted">Дазвол на камеру атрыманы. Выберыце камеру яшчэ раз.</string> <string name="camera_permission_granted">Дазвол на камеру атрыманы. Выберыце камеру яшчэ раз.</string>
<string name="cancel_login">Скасаваць уваход</string> <string name="cancel_login">Скасаваць уваход</string>
<string name="choose_avatar_from_cloud">Выбраць аватар з воблака</string> <string name="choose_avatar_from_cloud">Выбраць аватар з воблака</string>
<string name="clear_status_message">Ачысціць паведамленне статусу</string> <string name="clear_status_message">Ачысціць</string>
<string name="clear_status_message_after">Ачысціць паведамленне статусу пасля</string> <string name="clear_status_message_after">Ачысціць паведамленне статусу праз</string>
<string name="close">Закрыць</string> <string name="close">Закрыць</string>
<string name="close_icon">Значок Закрыць</string> <string name="close_icon">Значок Закрыць</string>
<string name="connection_established">Злучэнне ўсталявана</string> <string name="connection_established">Злучэнне ўсталявана</string>
@ -88,6 +88,7 @@
<string name="lower_hand">Апусціць руку</string> <string name="lower_hand">Апусціць руку</string>
<string name="marked_as_read">Размова %1$s пазначана як прачытаная</string> <string name="marked_as_read">Размова %1$s пазначана як прачытаная</string>
<string name="marked_as_unread">Размова %1$s пазначана як непрачытаная</string> <string name="marked_as_unread">Размова %1$s пазначана як непрачытаная</string>
<string name="mentioned">Згаданы</string>
<string name="menu_item_sort_by_date_newest_first">Спачатку новыя</string> <string name="menu_item_sort_by_date_newest_first">Спачатку новыя</string>
<string name="menu_item_sort_by_date_oldest_first">Спачатку старыя</string> <string name="menu_item_sort_by_date_oldest_first">Спачатку старыя</string>
<string name="menu_item_sort_by_name_a_z">А</string> <string name="menu_item_sort_by_name_a_z">А</string>
@ -124,6 +125,7 @@
<string name="nc_call_button_content_description_camera">Укл./выкл. камеру</string> <string name="nc_call_button_content_description_camera">Укл./выкл. камеру</string>
<string name="nc_call_button_content_description_hangup">Пакласці слухаўку</string> <string name="nc_call_button_content_description_hangup">Пакласці слухаўку</string>
<string name="nc_call_button_content_description_microphone">Укл./выкл. мікрафон</string> <string name="nc_call_button_content_description_microphone">Укл./выкл. мікрафон</string>
<string name="nc_call_button_content_description_pip">Адкрыць рэжым «Picture-in-Picture»</string>
<string name="nc_call_button_content_description_switch_to_self_vide">Пераключыцца на відэа з сабой</string> <string name="nc_call_button_content_description_switch_to_self_vide">Пераключыцца на відэа з сабой</string>
<string name="nc_call_incoming">УВАХОДНЫ</string> <string name="nc_call_incoming">УВАХОДНЫ</string>
<string name="nc_call_name">Назва размовы</string> <string name="nc_call_name">Назва размовы</string>
@ -190,6 +192,7 @@
<string name="nc_delete_message_leaked_to_matterbridge">Паведамленне паспяхова выдалена, але яно магло трапіць у іншыя сэрвісы</string> <string name="nc_delete_message_leaked_to_matterbridge">Паведамленне паспяхова выдалена, але яно магло трапіць у іншыя сэрвісы</string>
<string name="nc_delete_now">Выдаліць зараз</string> <string name="nc_delete_now">Выдаліць зараз</string>
<string name="nc_deleted_user">Карыстальнік %1$s быў выдалены</string> <string name="nc_deleted_user">Карыстальнік %1$s быў выдалены</string>
<string name="nc_demote">Пазбавіць правоў мадэратара</string>
<string name="nc_description_record_voice">Запісаць галасавое паведамленне</string> <string name="nc_description_record_voice">Запісаць галасавое паведамленне</string>
<string name="nc_description_send_message_button">Адправіць паведамленне</string> <string name="nc_description_send_message_button">Адправіць паведамленне</string>
<string name="nc_diagnose_account_category_title">Бягучы ўліковы запіс</string> <string name="nc_diagnose_account_category_title">Бягучы ўліковы запіс</string>
@ -206,16 +209,24 @@
<string name="nc_diagnose_battery_optimization_not_ignored">Аптымізацыя батарэі ўключана, што можа выклікаць праблемы. Вам варта адключыць аптымізацыю батарэі!</string> <string name="nc_diagnose_battery_optimization_not_ignored">Аптымізацыя батарэі ўключана, што можа выклікаць праблемы. Вам варта адключыць аптымізацыю батарэі!</string>
<string name="nc_diagnose_battery_optimization_title">Налады батарэі</string> <string name="nc_diagnose_battery_optimization_title">Налады батарэі</string>
<string name="nc_diagnose_device_name_title">Прылада</string> <string name="nc_diagnose_device_name_title">Прылада</string>
<string name="nc_diagnose_dialog_open_checklist">Адкрыць кантрольны спіс вырашэння праблем</string> <string name="nc_diagnose_dialog_open_checklist">Адкрыць спіс вырашэння праблем</string>
<string name="nc_diagnose_dialog_open_diagnose">Адкрыць экран дыягностыкі</string> <string name="nc_diagnose_dialog_open_diagnose">Адкрыць экран дыягностыкі</string>
<string name="nc_diagnose_dialog_open_dontkillmyapp_website">Адкрыць dontkillmyapp.com</string> <string name="nc_diagnose_dialog_open_dontkillmyapp_website">Адкрыць dontkillmyapp.com</string>
<string name="nc_diagnose_firebase_push_token_latest_fetch">Атрыманне апошняга push-токена firebase</string>
<string name="nc_diagnose_firebase_push_token_latest_generated">Генерацыя апошняга push-токена firebase</string>
<string name="nc_diagnose_firebase_push_token_missing">Не зададзены push-токен firebase. Стварыце справаздачу пра памылку.</string>
<string name="nc_diagnose_firebase_push_token_title">Push-токен firebase</string>
<string name="nc_diagnose_gplay_available_no">Сэрвісы Google Play недаступны. Апавяшчэнні не падтрымліваюцца</string> <string name="nc_diagnose_gplay_available_no">Сэрвісы Google Play недаступны. Апавяшчэнні не падтрымліваюцца</string>
<string name="nc_diagnose_gplay_available_title">Сэрвісы Google Play</string> <string name="nc_diagnose_gplay_available_title">Сэрвісы Google Play</string>
<string name="nc_diagnose_gplay_available_yes">Сэрвісы Google Play даступны</string> <string name="nc_diagnose_gplay_available_yes">Сэрвісы Google Play даступны</string>
<string name="nc_diagnose_latest_push_registration_at_push_proxy">Апошняя рэгістрацыя push на push-проксі</string>
<string name="nc_diagnose_latest_push_registration_at_push_proxy_fail">Пакуль не зарэгістраваны на push-проксі</string>
<string name="nc_diagnose_latest_push_registration_at_server">Апошняя рэгістрацыя push на серверы</string>
<string name="nc_diagnose_latest_push_registration_at_server_fail">Пакуль не зарэгістраваны на серверы</string> <string name="nc_diagnose_latest_push_registration_at_server_fail">Пакуль не зарэгістраваны на серверы</string>
<string name="nc_diagnose_meta_category_title">Метаінфармацыя</string> <string name="nc_diagnose_meta_category_title">Метаінфармацыя</string>
<string name="nc_diagnose_meta_system_report_date">Стварэнне сістэмнай справаздачы</string> <string name="nc_diagnose_meta_system_report_date">Стварэнне сістэмнай справаздачы</string>
<string name="nc_diagnose_notification_calls_channel_permission">Канал апавяшчэнняў аб выкліках уключаны?</string> <string name="nc_diagnose_notification_calls_channel_permission">Канал апавяшчэнняў аб выкліках уключаны?</string>
<string name="nc_diagnose_notification_messages_channel_permission">Ці ўключаны канал апавяшчэнняў пра паведамленні?</string>
<string name="nc_diagnose_notification_permission">Дазволы на апавяшчэнні</string> <string name="nc_diagnose_notification_permission">Дазволы на апавяшчэнні</string>
<string name="nc_diagnose_phone_category_title">Тэлефон</string> <string name="nc_diagnose_phone_category_title">Тэлефон</string>
<string name="nc_diagnose_server_talk_version">Версія сервера Talk</string> <string name="nc_diagnose_server_talk_version">Версія сервера Talk</string>
@ -234,6 +245,8 @@
<string name="nc_dialog_save_to_storage_no">Не</string> <string name="nc_dialog_save_to_storage_no">Не</string>
<string name="nc_dialog_save_to_storage_title">Захаваць у сховішча?</string> <string name="nc_dialog_save_to_storage_title">Захаваць у сховішча?</string>
<string name="nc_dialog_save_to_storage_yes">Так</string> <string name="nc_dialog_save_to_storage_yes">Так</string>
<string name="nc_display_name_not_fetched">Не ўдалося атрымаць імя для паказу, скасаванне</string>
<string name="nc_display_name_not_stored">Не ўдалося захаваць імя для паказу, скасаванне</string>
<string name="nc_edit_icon">Рэдагаваць</string> <string name="nc_edit_icon">Рэдагаваць</string>
<string name="nc_edit_message">Рэдагаваць</string> <string name="nc_edit_message">Рэдагаваць</string>
<string name="nc_edit_message_text">Рэдагаваць паведамленне</string> <string name="nc_edit_message_text">Рэдагаваць паведамленне</string>
@ -260,7 +273,8 @@
<string name="nc_forward_message">Пераслаць</string> <string name="nc_forward_message">Пераслаць</string>
<string name="nc_forward_to_three_dots">Пераслаць …</string> <string name="nc_forward_to_three_dots">Пераслаць …</string>
<string name="nc_gallery">Галерэя</string> <string name="nc_gallery">Галерэя</string>
<string name="nc_get_source_code">Атрымаць зыходны код</string> <string name="nc_get_from_provider">У вас яшчэ няма сервера?\nНацісніце тут, каб атрымаць яго ў пастаўшчыка</string>
<string name="nc_get_source_code">Зыходны код</string>
<string name="nc_group">Група</string> <string name="nc_group">Група</string>
<string name="nc_guest">Госць</string> <string name="nc_guest">Госць</string>
<string name="nc_guest_access">Гасцявы доступ</string> <string name="nc_guest_access">Гасцявы доступ</string>
@ -285,6 +299,7 @@
<string name="nc_invitations">Запрашэнні</string> <string name="nc_invitations">Запрашэнні</string>
<string name="nc_join_open_conversations">Далучыцца да адкрытых размоў</string> <string name="nc_join_open_conversations">Далучыцца да адкрытых размоў</string>
<string name="nc_keep">Пакінуць</string> <string name="nc_keep">Пакінуць</string>
<string name="nc_last_moderator_leaving_room_warning">Перш чым пакінуць размову, вам трэба прызначыць новага мадэратара</string>
<string name="nc_last_modified">%1$s | Апошняе змяненне: %2$s</string> <string name="nc_last_modified">%1$s | Апошняе змяненне: %2$s</string>
<string name="nc_leave">Выйсці з размовы</string> <string name="nc_leave">Выйсці з размовы</string>
<string name="nc_leaving_call">Выхад з выкліку …</string> <string name="nc_leaving_call">Выхад з выкліку …</string>
@ -333,6 +348,7 @@
<string name="nc_not_allowed_to_activate_audio">Вам не дазволена ўключаць гук!</string> <string name="nc_not_allowed_to_activate_audio">Вам не дазволена ўключаць гук!</string>
<string name="nc_not_allowed_to_activate_video">Вам не дазволена ўключаць відэа!</string> <string name="nc_not_allowed_to_activate_video">Вам не дазволена ўключаць відэа!</string>
<string name="nc_not_now">Не цяпер</string> <string name="nc_not_now">Не цяпер</string>
<string name="nc_notification_channel">%1$s на канале апавяшчэнняў %2$s</string>
<string name="nc_notification_channel_calls">Выклікі</string> <string name="nc_notification_channel_calls">Выклікі</string>
<string name="nc_notification_channel_calls_description">Апавяшчаць пры ўваходных выкліках</string> <string name="nc_notification_channel_calls_description">Апавяшчаць пры ўваходных выкліках</string>
<string name="nc_notification_channel_messages">Паведамленні</string> <string name="nc_notification_channel_messages">Паведамленні</string>
@ -341,6 +357,7 @@
<string name="nc_notification_channel_uploads_description">Апавяшчаць пра ход выканання запампоўвання</string> <string name="nc_notification_channel_uploads_description">Апавяшчаць пра ход выканання запампоўвання</string>
<string name="nc_notification_settings">Налады апавяшчэнняў</string> <string name="nc_notification_settings">Налады апавяшчэнняў</string>
<string name="nc_notification_warning">Апавяшчэнні наладжаны няправільна</string> <string name="nc_notification_warning">Апавяшчэнні наладжаны няправільна</string>
<string name="nc_notifications_troubleshooting_dialog_text">Дазвол на апавяшчэнні і налады батарэі зададзены правільна. Калі ў вас усё адно ўзнікаюць праблемы з атрыманнем апавяшчэнняў, праверце, ці ўключаны каналы апавяшчэнняў для выклікаў і паведамленняў. Дадатковую дапамогу можна знайсці на сайце DontKillMyApp.com або ў спісе пошуку і вырашэння праблем. Калі гэта не дапаможа, перайдзіце на экран дыягностыкі і адпраўце справаздачу пра памылку.</string>
<string name="nc_notifications_troubleshooting_dialog_title">Вырашэнне праблем з апавяшчэннямі</string> <string name="nc_notifications_troubleshooting_dialog_title">Вырашэнне праблем з апавяшчэннямі</string>
<string name="nc_notify_me_always">Заўсёды апавяшчаць</string> <string name="nc_notify_me_always">Заўсёды апавяшчаць</string>
<string name="nc_notify_me_mention">Апавяшчаць пры згадванні</string> <string name="nc_notify_me_mention">Апавяшчаць пры згадванні</string>
@ -366,6 +383,7 @@
<string name="nc_plain_old_messages">Паведамленні</string> <string name="nc_plain_old_messages">Паведамленні</string>
<string name="nc_privacy">Прыватнасць</string> <string name="nc_privacy">Прыватнасць</string>
<string name="nc_profile_personal_info_title">Асабістыя звесткі</string> <string name="nc_profile_personal_info_title">Асабістыя звесткі</string>
<string name="nc_promote">Прызначыць мадэратарам</string>
<string name="nc_public_call_status">Публічная размова</string> <string name="nc_public_call_status">Публічная размова</string>
<string name="nc_push_disabled">Push-апавяшчэнні адключаны</string> <string name="nc_push_disabled">Push-апавяшчэнні адключаны</string>
<string name="nc_push_notification_error">Нешта пайшло не так, памылка: %1$s</string> <string name="nc_push_notification_error">Нешта пайшло не так, памылка: %1$s</string>
@ -456,15 +474,22 @@
<string name="nc_settings_proxy_port_title">Порт проксі</string> <string name="nc_settings_proxy_port_title">Порт проксі</string>
<string name="nc_settings_proxy_type_title">Тып проксі</string> <string name="nc_settings_proxy_type_title">Тып проксі</string>
<string name="nc_settings_proxy_username_title">Імя карыстальніка проксі</string> <string name="nc_settings_proxy_username_title">Імя карыстальніка проксі</string>
<string name="nc_settings_read_privacy_desc">Абагульваць мой статус прачытання і паказваць статус прачытання іншых</string>
<string name="nc_settings_read_privacy_title">Статус прачытання</string>
<string name="nc_settings_reauthorize">Паўторна аўтарызаваць уліковы запіс</string>
<string name="nc_settings_remove">Выдаліць</string> <string name="nc_settings_remove">Выдаліць</string>
<string name="nc_settings_remove_account">Выдаліць уліковы запіс</string> <string name="nc_settings_remove_account">Выдаліць уліковы запіс</string>
<string name="nc_settings_screen_lock_timeout_title">Час чакання блакіроўкі экрана пры бяздзейнасці</string> <string name="nc_settings_remove_confirmation">Пацвердзіце свой намер выдаліць бягучы ўліковы запіс.</string>
<string name="nc_settings_screen_lock_desc">Блакіраваць %1$s з дапамогай блакіроўкі экрана Android або даступнага біяметрычнага метаду</string>
<string name="nc_settings_screen_lock_timeout_title">Час чакання блакіроўкі пры бяздзейнасці</string>
<string name="nc_settings_screen_lock_title">Блакіроўка экрана</string> <string name="nc_settings_screen_lock_title">Блакіроўка экрана</string>
<string name="nc_settings_screen_security_desc">Забараняе рабіць здымкі экрана ў спісе нядаўняга і ўнутры праграмы</string> <string name="nc_settings_screen_security_desc">Забараняе рабіць здымкі экрана ў спісе нядаўняга і ўнутры праграмы</string>
<string name="nc_settings_screen_security_title">Бяспека экрана</string> <string name="nc_settings_screen_security_title">Бяспека экрана</string>
<string name="nc_settings_server_almost_eol">Версія сервера вельмі старая і не будзе падтрымлівацца ў наступным выпуску!</string> <string name="nc_settings_server_almost_eol">Версія сервера вельмі старая і не будзе падтрымлівацца ў наступным выпуску!</string>
<string name="nc_settings_server_eol">Версія сервера занадта старая і не падтрымліваецца гэтай версіяй праграмы для Android.</string> <string name="nc_settings_server_eol">Версія сервера занадта старая і не падтрымліваецца гэтай версіяй праграмы для Android.</string>
<string name="nc_settings_server_eol_title">Сервер не падтрымліваецца</string> <string name="nc_settings_server_eol_title">Сервер не падтрымліваецца</string>
<string name="nc_settings_server_notification_app_not_installed_title">Праграма для апавяшчэнняў не ўсталявана на серверы</string>
<string name="nc_settings_theme_battery_saver">Зададзена рэжымам эканоміі зараду батарэі</string>
<string name="nc_settings_theme_dark">Цёмная</string> <string name="nc_settings_theme_dark">Цёмная</string>
<string name="nc_settings_theme_follow_system">Сістэмная</string> <string name="nc_settings_theme_follow_system">Сістэмная</string>
<string name="nc_settings_theme_key">тэма</string> <string name="nc_settings_theme_key">тэма</string>
@ -488,7 +513,7 @@
<string name="nc_shared_items_empty">Няма абагуленых элементаў</string> <string name="nc_shared_items_empty">Няма абагуленых элементаў</string>
<string name="nc_shared_items_location">Месцазнаходжанне</string> <string name="nc_shared_items_location">Месцазнаходжанне</string>
<string name="nc_shared_location">Абагуленае месцазнаходжанне</string> <string name="nc_shared_location">Абагуленае месцазнаходжанне</string>
<string name="nc_show_notification_warning_description">Калі апавяшчэнні настроены няправільна, паказваць звычайнае папярэджанне</string> <string name="nc_show_notification_warning_description">Калі апавяшчэнні наладжаны няправільна, паказваць звычайнае папярэджанне</string>
<string name="nc_show_notification_warning_title">Паказваць звычайнае папярэджанне аб апавяшчэннях</string> <string name="nc_show_notification_warning_title">Паказваць звычайнае папярэджанне аб апавяшчэннях</string>
<string name="nc_sort_by">Сартаваць па</string> <string name="nc_sort_by">Сартаваць па</string>
<string name="nc_start_group_chat">Пачаць супольны чат</string> <string name="nc_start_group_chat">Пачаць супольны чат</string>
@ -505,7 +530,7 @@
<string name="nc_upload_failed">Не ўдалося запампаваць</string> <string name="nc_upload_failed">Не ўдалося запампаваць</string>
<string name="nc_upload_failed_notification_text">Не ўдалося запампаваць %1$s</string> <string name="nc_upload_failed_notification_text">Не ўдалося запампаваць %1$s</string>
<string name="nc_upload_failed_notification_title">Няўдача</string> <string name="nc_upload_failed_notification_title">Няўдача</string>
<string name="nc_upload_from_cloud">Абагульванне ад %1$s</string> <string name="nc_upload_from_cloud">Абагульванне з %1$s</string>
<string name="nc_upload_from_device">Запампаваць з прылады</string> <string name="nc_upload_from_device">Запампаваць з прылады</string>
<string name="nc_upload_in_progess">Запампоўванне</string> <string name="nc_upload_in_progess">Запампоўванне</string>
<string name="nc_upload_notification_text">%1$s у %2$s - %3$s\%%</string> <string name="nc_upload_notification_text">%1$s у %2$s - %3$s\%%</string>
@ -521,11 +546,14 @@
<string name="nc_yes">Так</string> <string name="nc_yes">Так</string>
<string name="next_week">На наступным тыдні</string> <string name="next_week">На наступным тыдні</string>
<string name="no_conversations_archived">Няма архіваваных размоў</string> <string name="no_conversations_archived">Няма архіваваных размоў</string>
<string name="no_offline_messages_saved">Няма захаваных пазасеткавых паведамленняў</string>
<string name="no_phone_book_integration_due_to_permissions">Няма інтэграцыі нумара тэлефона з-за адсутнасці дазволаў</string>
<string name="notification_all_messages">Усе паведамленні</string> <string name="notification_all_messages">Усе паведамленні</string>
<string name="notification_mention_only">Толькі згадкі з @</string> <string name="notification_mention_only">Толькі згадкі з @</string>
<string name="notification_off">Выкл.</string> <string name="notification_off">Выкл.</string>
<string name="notifications_default">Прадвызначаныя</string> <string name="notifications_default">Прадвызначаныя</string>
<string name="oneHour">1 гадзіна</string> <string name="notifications_default_description">Прытрымлівацца налад размовы</string>
<string name="oneHour">1 гадзіну</string>
<string name="online">У сетцы</string> <string name="online">У сетцы</string>
<string name="online_status">Статус у сетцы</string> <string name="online_status">Статус у сетцы</string>
<string name="openConversations">Адкрытыя размовы</string> <string name="openConversations">Адкрытыя размовы</string>
@ -533,6 +561,7 @@
<string name="open_notes">Адкрыць Нататкі</string> <string name="open_notes">Адкрыць Нататкі</string>
<string name="open_thread">Перайсці да гутаркі</string> <string name="open_thread">Перайсці да гутаркі</string>
<string name="play_pause_voice_message">Прайграць/прыпыніць галасавое паведамленне</string> <string name="play_pause_voice_message">Прайграць/прыпыніць галасавое паведамленне</string>
<string name="playback_speed_control">Кіраванне хуткасцю прайгравання</string>
<string name="polls_add_option">Дадаць варыянт</string> <string name="polls_add_option">Дадаць варыянт</string>
<string name="polls_edit_vote">Рэдагаваць голас</string> <string name="polls_edit_vote">Рэдагаваць голас</string>
<string name="polls_end_poll">Завяршыць апытанне</string> <string name="polls_end_poll">Завяршыць апытанне</string>
@ -556,6 +585,7 @@
<string name="read_storage_no_permission">Абагульванне файлаў са сховішча немагчыма без дазволаў</string> <string name="read_storage_no_permission">Абагульванне файлаў са сховішча немагчыма без дазволаў</string>
<string name="recent_threads">Нядаўнія гутаркі</string> <string name="recent_threads">Нядаўнія гутаркі</string>
<string name="record_active_info">Выклік запісваецца</string> <string name="record_active_info">Выклік запісваецца</string>
<string name="record_cancel_start">Скасаваць пачатак запісу</string>
<string name="record_failed_info">Не ўдалося зрабіць запіс. Звярніцеся да адміністратара.</string> <string name="record_failed_info">Не ўдалося зрабіць запіс. Звярніцеся да адміністратара.</string>
<string name="record_start_description">Пачаць запіс</string> <string name="record_start_description">Пачаць запіс</string>
<string name="record_stop_confirm_message">Вы сапраўды хочаце спыніць запіс?</string> <string name="record_stop_confirm_message">Вы сапраўды хочаце спыніць запіс?</string>
@ -577,6 +607,13 @@
<string name="scan_qr_code">Сканіраваць QR-код</string> <string name="scan_qr_code">Сканіраваць QR-код</string>
<string name="scope_federated_description">Сінхранізацыя толькі з даверанымі серверамі</string> <string name="scope_federated_description">Сінхранізацыя толькі з даверанымі серверамі</string>
<string name="scope_federated_title">Федэратыўны</string> <string name="scope_federated_title">Федэратыўны</string>
<string name="scope_local_description">Бачна толькі карыстальнікам гэтага сервера і гасцям</string>
<string name="scope_local_title">Лакальна</string>
<string name="scope_private_description">Бачна толькі людзям, якія супалі праз інтэграцыю нумара тэлефона з дапамогай Talk на мабільным тэлефоне</string>
<string name="scope_private_title">Прыватна</string>
<string name="scope_published_description">Сінхранізацыя з даверанымі серверамі і глабальнай і публічнай адраснай кнігай</string>
<string name="scope_published_title">Апублікавана</string>
<string name="scope_toggle">Пераключальнік бачнасці</string>
<string name="scope_toggle_description">Змяніць узровень прыватнасці %1$s</string> <string name="scope_toggle_description">Змяніць узровень прыватнасці %1$s</string>
<string name="scroll_to_bottom">Прагартаць уніз</string> <string name="scroll_to_bottom">Прагартаць уніз</string>
<string name="search_icon">Значок пошуку</string> <string name="search_icon">Значок пошуку</string>
@ -590,7 +627,7 @@
<string name="set">Задаць</string> <string name="set">Задаць</string>
<string name="set_avatar_from_camera">Задаць аватар з камеры</string> <string name="set_avatar_from_camera">Задаць аватар з камеры</string>
<string name="set_status">Задаць статус</string> <string name="set_status">Задаць статус</string>
<string name="set_status_message">Задаць паведамленне статусу</string> <string name="set_status_message">Задаць</string>
<string name="share">Абагуліць</string> <string name="share">Абагуліць</string>
<string name="share_link_to_conversation">Далучайцеся да размовы %1$s у %2$s</string> <string name="share_link_to_conversation">Далучайцеся да размовы %1$s у %2$s</string>
<string name="shared_items_audio">Аўдыя</string> <string name="shared_items_audio">Аўдыя</string>
@ -605,9 +642,9 @@
<string name="starred">Абранае</string> <string name="starred">Абранае</string>
<string name="startCallForbidden">Вам не дазволена пачынаць выклік</string> <string name="startCallForbidden">Вам не дазволена пачынаць выклік</string>
<string name="start_thread">Стварыць гутарку</string> <string name="start_thread">Стварыць гутарку</string>
<string name="started_a_call">пачаў(-ла) выклік</string>
<string name="status_message">Паведамленне статусу</string> <string name="status_message">Паведамленне статусу</string>
<string name="status_reverted">Статус вернуты</string> <string name="status_reverted">Статус вернуты</string>
<string name="switch_to_breakout_room">Пераключыцца на пакой для абмеркавання</string>
<string name="switch_to_main_room">Пераключыцца на галоўны пакой</string> <string name="switch_to_main_room">Пераключыцца на галоўны пакой</string>
<string name="take_photo">Зрабіць фота</string> <string name="take_photo">Зрабіць фота</string>
<string name="take_photo_error_deleting_picture">Памылка пры здымку</string> <string name="take_photo_error_deleting_picture">Памылка пры здымку</string>
@ -626,6 +663,7 @@
<string name="thread_notifications">Апавяшчэнні гутаркі</string> <string name="thread_notifications">Апавяшчэнні гутаркі</string>
<string name="thread_reply">Адказаць</string> <string name="thread_reply">Адказаць</string>
<string name="thread_title">Загаловак гутаркі</string> <string name="thread_title">Загаловак гутаркі</string>
<string name="threads">Гутаркі</string>
<string name="threads_list_empty">Гутарак не знойдзена</string> <string name="threads_list_empty">Гутарак не знойдзена</string>
<string name="today">Сёння</string> <string name="today">Сёння</string>
<string name="tomorrow">Заўтра</string> <string name="tomorrow">Заўтра</string>
@ -648,7 +686,7 @@
<string name="unban">Разблакіраваць</string> <string name="unban">Разблакіраваць</string>
<string name="unread">Непрачытанае</string> <string name="unread">Непрачытанае</string>
<string name="upload_new_avatar_from_device">Запампаваць новы аватар з прылады</string> <string name="upload_new_avatar_from_device">Запампаваць новы аватар з прылады</string>
<string name="user_absence">%1$s сёння не на працы і можа не адказаць</string> <string name="user_absence">%1$s не на працы і можа не адказаць</string>
<string name="user_absence_for_one_day">%1$s сёння не на працы</string> <string name="user_absence_for_one_day">%1$s сёння не на працы</string>
<string name="user_absence_replacement">Замена:</string> <string name="user_absence_replacement">Замена:</string>
<string name="user_avatar">Аватар карыстальніка</string> <string name="user_avatar">Аватар карыстальніка</string>
@ -659,9 +697,17 @@
<string name="user_info_twitter">Twitter</string> <string name="user_info_twitter">Twitter</string>
<string name="user_info_website">Вэб-сайт</string> <string name="user_info_website">Вэб-сайт</string>
<string name="user_status">Статус</string> <string name="user_status">Статус</string>
<string name="userinfo_error_text">Не ўдалося атрымаць асабістую інфармацыю карыстальніка.</string>
<string name="userinfo_no_info_headline">Асабістая інфармацыя не зададзена</string>
<string name="userinfo_no_info_text">Дадайце імя, аватар і кантактную інфармацыю на старонку вашага профілю.</string> <string name="userinfo_no_info_text">Дадайце імя, аватар і кантактную інфармацыю на старонку вашага профілю.</string>
<string name="video_call">Відэавыклік</string> <string name="video_call">Відэавыклік</string>
<string name="whats_your_status">Які ў вас статус?</string> <string name="whats_your_status">Які ў вас статус?</string>
<plurals name="see_similar_system_messages">
<item quantity="one">Паглядзець %d падобнае паведамленне</item>
<item quantity="few">Паглядзець %d падобныя паведамленні</item>
<item quantity="many">Паглядзець %d падобных паведамленняў</item>
<item quantity="other">Паглядзець %d падобных паведамленняў</item>
</plurals>
<plurals name="nc_conversation_auto_delete_info"> <plurals name="nc_conversation_auto_delete_info">
<item quantity="one">Гэтая размова будзе аўтаматычна выдалена для ўсіх праз %1$d дзень бяздзейнасці.</item> <item quantity="one">Гэтая размова будзе аўтаматычна выдалена для ўсіх праз %1$d дзень бяздзейнасці.</item>
<item quantity="few">Гэтая размова будзе аўтаматычна выдалена для ўсіх праз %1$d дні бяздзейнасці.</item> <item quantity="few">Гэтая размова будзе аўтаматычна выдалена для ўсіх праз %1$d дні бяздзейнасці.</item>

View file

@ -67,7 +67,6 @@
<string name="file_list_folder">složka</string> <string name="file_list_folder">složka</string>
<string name="file_list_loading">Načítání…</string> <string name="file_list_loading">Načítání…</string>
<string name="filename_progress">%1$s (%2$d)</string> <string name="filename_progress">%1$s (%2$d)</string>
<string name="followed_threads">Sledovaná vlákna</string>
<string name="fourHours">4 hodiny</string> <string name="fourHours">4 hodiny</string>
<string name="get_invitations_error">Nepodařilo se získat čekající pozvání</string> <string name="get_invitations_error">Nepodařilo se získat čekající pozvání</string>
<string name="hint_edited_message">(upraveno)</string> <string name="hint_edited_message">(upraveno)</string>
@ -80,6 +79,10 @@
<string name="left_conversation">Opustili jste konverzaci %1$s</string> <string name="left_conversation">Opustili jste konverzaci %1$s</string>
<string name="load_more_results">Načíst další výsledky</string> <string name="load_more_results">Načíst další výsledky</string>
<string name="local_time">Místní čas: %1$s</string> <string name="local_time">Místní čas: %1$s</string>
<string name="location_permission_denied">Oprávnění k přístupu k poloze odepřeno</string>
<string name="location_permission_denied_msg">Povolte to v nastavení aplikace</string>
<string name="location_services_disabled">Služby určování polohy vypnuty</string>
<string name="location_services_disabled_msg">Abyste mohli používat tuto funkci zapněte polohové služby (GPS)</string>
<string name="lock_conversation">Uzamknout konverzaci</string> <string name="lock_conversation">Uzamknout konverzaci</string>
<string name="lock_symbol">Symbol zámku</string> <string name="lock_symbol">Symbol zámku</string>
<string name="lower_hand">Přestat se hlásit</string> <string name="lower_hand">Přestat se hlásit</string>
@ -93,6 +96,7 @@
<string name="menu_item_sort_by_size_biggest_first">Největší jako první</string> <string name="menu_item_sort_by_size_biggest_first">Největší jako první</string>
<string name="menu_item_sort_by_size_smallest_first">Nejmenší jako první</string> <string name="menu_item_sort_by_size_smallest_first">Nejmenší jako první</string>
<string name="message_copied">Zpráva zkopírována</string> <string name="message_copied">Zpráva zkopírována</string>
<string name="message_delete_are_you_sure">Opravdu chcete tuto zprávu smazat?</string>
<string name="message_deleted_by_you">Zprávu jste smazali</string> <string name="message_deleted_by_you">Zprávu jste smazali</string>
<string name="message_last_edited_by">Upraveno %1$s</string> <string name="message_last_edited_by">Upraveno %1$s</string>
<string name="message_poll_tap_to_open">Klepnutím anketu otevřete</string> <string name="message_poll_tap_to_open">Klepnutím anketu otevřete</string>
@ -100,6 +104,7 @@
<string name="message_search_begin_typing">Hledejte psaním…</string> <string name="message_search_begin_typing">Hledejte psaním…</string>
<string name="message_search_hint">Hledat…</string> <string name="message_search_hint">Hledat…</string>
<string name="messages">Zprávy</string> <string name="messages">Zprávy</string>
<string name="mute_all_notifications">Ztlumit veškerá upozornění</string>
<string name="nc_Server_account_imported">Zvolený účet byl naimportován a je k dispozici</string> <string name="nc_Server_account_imported">Zvolený účet byl naimportován a je k dispozici</string>
<string name="nc_about">O aplikaci</string> <string name="nc_about">O aplikaci</string>
<string name="nc_account_chooser_active_user">Aktivní uživatel</string> <string name="nc_account_chooser_active_user">Aktivní uživatel</string>
@ -664,6 +669,8 @@
<string name="thread_notifications">Notifikace ohledně vlákna</string> <string name="thread_notifications">Notifikace ohledně vlákna</string>
<string name="thread_reply">Odpověď</string> <string name="thread_reply">Odpověď</string>
<string name="thread_title">Název vlákna</string> <string name="thread_title">Název vlákna</string>
<string name="threads">Vláken</string>
<string name="threads_list_empty">Nenalezeny žádné hrozby</string>
<string name="today">Dnes</string> <string name="today">Dnes</string>
<string name="tomorrow">Zítra</string> <string name="tomorrow">Zítra</string>
<string name="translate">Překládání</string> <string name="translate">Překládání</string>

View file

@ -10,6 +10,7 @@
<string name="archive_hint">Når en samtale er arkiveret, vil den blive skjult som standard. Vælg filteret \"Arkiveret\" for at se arkiverede samtaler. Direkte omtaler vil stadig blive modtaget.</string> <string name="archive_hint">Når en samtale er arkiveret, vil den blive skjult som standard. Vælg filteret \"Arkiveret\" for at se arkiverede samtaler. Direkte omtaler vil stadig blive modtaget.</string>
<string name="archived">Arkiveret</string> <string name="archived">Arkiveret</string>
<string name="archived_conversation">Arkiverede %1$s</string> <string name="archived_conversation">Arkiverede %1$s</string>
<string name="audio_call">Lydopkald</string>
<string name="audio_output_bluetooth">Bluetooth</string> <string name="audio_output_bluetooth">Bluetooth</string>
<string name="audio_output_dialog_headline">Lydudgang</string> <string name="audio_output_dialog_headline">Lydudgang</string>
<string name="audio_output_phone">Telefon</string> <string name="audio_output_phone">Telefon</string>
@ -35,8 +36,10 @@
<string name="close">Luk</string> <string name="close">Luk</string>
<string name="close_icon">Luk ikon</string> <string name="close_icon">Luk ikon</string>
<string name="connection_established">Forbindelse oprettet</string> <string name="connection_established">Forbindelse oprettet</string>
<string name="connection_lost">Ingen forbindelse til server</string>
<string name="connection_lost_sent_messages_are_queued">Forbindelse mistet - Sendte beskeder er i kø</string> <string name="connection_lost_sent_messages_are_queued">Forbindelse mistet - Sendte beskeder er i kø</string>
<string name="continuous_voice_message_recording">Lås optagelse for kontinuerlig optagelse af talebeskeden</string> <string name="continuous_voice_message_recording">Lås optagelse for kontinuerlig optagelse af talebeskeden</string>
<string name="conversation_archived">Samtale er arkiveret</string>
<string name="conversation_is_read_only">Samtalen er skrivebeskyttet</string> <string name="conversation_is_read_only">Samtalen er skrivebeskyttet</string>
<string name="conversation_read_only_failed">Samtalen kunne ikke indstilles som skrivebeskyttet</string> <string name="conversation_read_only_failed">Samtalen kunne ikke indstilles som skrivebeskyttet</string>
<string name="conversations">Samtaler</string> <string name="conversations">Samtaler</string>
@ -46,12 +49,16 @@
<string name="danger_zone">Farezone</string> <string name="danger_zone">Farezone</string>
<string name="deck_card_description">%1$s i %2$s</string> <string name="deck_card_description">%1$s i %2$s</string>
<string name="delete_avatar">Slet avatar</string> <string name="delete_avatar">Slet avatar</string>
<string name="delete_voice_recording">Slet stemmeoptagelse</string>
<string name="deleted_conversation">Slettede samtale %1$s</string> <string name="deleted_conversation">Slettede samtale %1$s</string>
<string name="dnd">Forstyr ikke</string> <string name="dnd">Forstyr ikke</string>
<string name="dontClear">Ryd ikke</string> <string name="dontClear">Ryd ikke</string>
<string name="edit">Redigér</string> <string name="edit">Redigér</string>
<string name="edit_error_24_hours_old_message">Beskeder der er ældre end 24 timer kan ikke redigeres</string>
<string name="edit_message_icon_description">Rediger besked</string>
<string name="emoji_category_recent">Nylige</string> <string name="emoji_category_recent">Nylige</string>
<string name="encrypted">Krypteret</string> <string name="encrypted">Krypteret</string>
<string name="end_call">Afslut opkald</string>
<string name="end_call_for_everyone">Afslut opkald for alle</string> <string name="end_call_for_everyone">Afslut opkald for alle</string>
<string name="error_loading_chats">Der opstod et problem med at indlæse dine chats</string> <string name="error_loading_chats">Der opstod et problem med at indlæse dine chats</string>
<string name="error_unbanning">En fejl opstod under fjernelse af blokering af deltager</string> <string name="error_unbanning">En fejl opstod under fjernelse af blokering af deltager</string>
@ -71,18 +78,25 @@
<string name="leave_call">Forlad opkald</string> <string name="leave_call">Forlad opkald</string>
<string name="left_conversation">Du forlod samtalen %1$s</string> <string name="left_conversation">Du forlod samtalen %1$s</string>
<string name="load_more_results">Indlæs flere resultater</string> <string name="load_more_results">Indlæs flere resultater</string>
<string name="local_time">Lokal tid: %1$s</string>
<string name="location_permission_denied">Lokationstilladelse nægtet</string>
<string name="location_permission_denied_msg">Aktiver det venligst under app indstillingerne</string>
<string name="location_services_disabled">Lokationsservice deaktiveret</string>
<string name="location_services_disabled_msg">Aktiver venligst lokationsservice (GPS) for at bruge denne funktion</string>
<string name="lock_conversation">Lås samtale</string> <string name="lock_conversation">Lås samtale</string>
<string name="lock_symbol">Låsesymbol</string> <string name="lock_symbol">Låsesymbol</string>
<string name="lower_hand">Sænk hånden</string> <string name="lower_hand">Sænk hånden</string>
<string name="marked_as_read">Marker samtalen %1$s som læst</string> <string name="marked_as_read">Marker samtalen %1$s som læst</string>
<string name="marked_as_unread">Marker samtalen %1$s som ulæst</string> <string name="marked_as_unread">Marker samtalen %1$s som ulæst</string>
<string name="mentioned">Nævnt</string> <string name="mentioned">Omtalt</string>
<string name="menu_item_sort_by_date_newest_first">Nyeste først</string> <string name="menu_item_sort_by_date_newest_first">Nyeste først</string>
<string name="menu_item_sort_by_date_oldest_first">Ældste først</string> <string name="menu_item_sort_by_date_oldest_first">Ældste først</string>
<string name="menu_item_sort_by_name_a_z">A - Å</string> <string name="menu_item_sort_by_name_a_z">A - Å</string>
<string name="menu_item_sort_by_name_z_a">Å - A</string> <string name="menu_item_sort_by_name_z_a">Å - A</string>
<string name="menu_item_sort_by_size_biggest_first">Største først</string> <string name="menu_item_sort_by_size_biggest_first">Største først</string>
<string name="menu_item_sort_by_size_smallest_first">Mindste først</string> <string name="menu_item_sort_by_size_smallest_first">Mindste først</string>
<string name="message_copied">Besked kopieret</string>
<string name="message_delete_are_you_sure">Er du sikker på at du ønsker at slette denne besked?</string>
<string name="message_deleted_by_you">Besked slettet af dig</string> <string name="message_deleted_by_you">Besked slettet af dig</string>
<string name="message_last_edited_by">Redigeret af %1$s</string> <string name="message_last_edited_by">Redigeret af %1$s</string>
<string name="message_poll_tap_to_open">Rør for at åbne afstemning</string> <string name="message_poll_tap_to_open">Rør for at åbne afstemning</string>
@ -136,6 +150,8 @@
<string name="nc_certificate_error">Din SSL indstilling forhindrede forbindelse</string> <string name="nc_certificate_error">Din SSL indstilling forhindrede forbindelse</string>
<string name="nc_change_cert_auth">Skift godkendelsescertifikat</string> <string name="nc_change_cert_auth">Skift godkendelsescertifikat</string>
<string name="nc_change_password">Skift adgangskode</string> <string name="nc_change_password">Skift adgangskode</string>
<string name="nc_clear_edit_button">Annuller redigering</string>
<string name="nc_clear_edit_message">Annuller redigering</string>
<string name="nc_clear_history">Slet alle beskeder</string> <string name="nc_clear_history">Slet alle beskeder</string>
<string name="nc_clear_history_success">Alle beskeder blev slettet</string> <string name="nc_clear_history_success">Alle beskeder blev slettet</string>
<string name="nc_clear_history_warning">Ønsker du virkelig at slette alle beskeder i denne samtale?</string> <string name="nc_clear_history_warning">Ønsker du virkelig at slette alle beskeder i denne samtale?</string>
@ -166,6 +182,7 @@
<string name="nc_copy_message">Kopier</string> <string name="nc_copy_message">Kopier</string>
<string name="nc_create_new_conversation">Opret ny samtale</string> <string name="nc_create_new_conversation">Opret ny samtale</string>
<string name="nc_create_poll">Opret afstemning</string> <string name="nc_create_poll">Opret afstemning</string>
<string name="nc_current_user">Dig:</string>
<string name="nc_date_header_today">I dag</string> <string name="nc_date_header_today">I dag</string>
<string name="nc_date_header_yesterday">I går</string> <string name="nc_date_header_yesterday">I går</string>
<string name="nc_delete">Slet</string> <string name="nc_delete">Slet</string>
@ -174,6 +191,7 @@
<string name="nc_delete_conversation_more">Hvis du sletter konversationen, vil den også blive slettet for alle andre deltagere.</string> <string name="nc_delete_conversation_more">Hvis du sletter konversationen, vil den også blive slettet for alle andre deltagere.</string>
<string name="nc_delete_message">Slet besked</string> <string name="nc_delete_message">Slet besked</string>
<string name="nc_delete_message_leaked_to_matterbridge">Besked slettet, men kan kan være lækket til andre services</string> <string name="nc_delete_message_leaked_to_matterbridge">Besked slettet, men kan kan være lækket til andre services</string>
<string name="nc_delete_now">Slet nu</string>
<string name="nc_deleted_user">Brugeren %1$s blev fjernet</string> <string name="nc_deleted_user">Brugeren %1$s blev fjernet</string>
<string name="nc_demote">Degrader fra moderator</string> <string name="nc_demote">Degrader fra moderator</string>
<string name="nc_description_record_voice">Optag stemmebesked</string> <string name="nc_description_record_voice">Optag stemmebesked</string>
@ -232,7 +250,10 @@
<string name="nc_display_name_not_stored">Kunne ikke opbevare skærmnavn, afbryder</string> <string name="nc_display_name_not_stored">Kunne ikke opbevare skærmnavn, afbryder</string>
<string name="nc_edit_icon">Redigér</string> <string name="nc_edit_icon">Redigér</string>
<string name="nc_edit_message">Redigér</string> <string name="nc_edit_message">Redigér</string>
<string name="nc_edit_message_text">Rediger besked</string>
<string name="nc_edited_by_admin">Redigeret af admin</string> <string name="nc_edited_by_admin">Redigeret af admin</string>
<string name="nc_event_conversation_menu">Begivenheds samtale menu</string>
<string name="nc_event_schedule">Planlæg</string>
<string name="nc_expire_message_eight_hours">8 timer</string> <string name="nc_expire_message_eight_hours">8 timer</string>
<string name="nc_expire_message_four_weeks">4 uger</string> <string name="nc_expire_message_four_weeks">4 uger</string>
<string name="nc_expire_message_off">Slået fra</string> <string name="nc_expire_message_off">Slået fra</string>
@ -249,6 +270,7 @@
<string name="nc_federation_pending_invitation_hint">Du har afventende invitationer</string> <string name="nc_federation_pending_invitation_hint">Du har afventende invitationer</string>
<string name="nc_file_browser_back">Tilbage</string> <string name="nc_file_browser_back">Tilbage</string>
<string name="nc_file_storage_permission">Tilladelse til filadgang er krævet</string> <string name="nc_file_storage_permission">Tilladelse til filadgang er krævet</string>
<string name="nc_filter">Filtrer samtaler</string>
<string name="nc_following_link">Bruger følger et offentligt link</string> <string name="nc_following_link">Bruger følger et offentligt link</string>
<string name="nc_formatted_message_you">Dig: %1$s</string> <string name="nc_formatted_message_you">Dig: %1$s</string>
<string name="nc_forward_message">Videresend</string> <string name="nc_forward_message">Videresend</string>
@ -275,8 +297,11 @@
<string name="nc_ignore_battery_optimization_dialog_text">Batterioptimering bliver ikke ignoreret. Dette bør ændres for at være sikker på at notifikationer virker i baggrunden! Klik venligst på OK og vælg \"Alle apps\" -> %1$s -> Optimer ikke</string> <string name="nc_ignore_battery_optimization_dialog_text">Batterioptimering bliver ikke ignoreret. Dette bør ændres for at være sikker på at notifikationer virker i baggrunden! Klik venligst på OK og vælg \"Alle apps\" -> %1$s -> Optimer ikke</string>
<string name="nc_ignore_battery_optimization_dialog_title">Ignorer batterioptimering</string> <string name="nc_ignore_battery_optimization_dialog_title">Ignorer batterioptimering</string>
<string name="nc_important_conversation">Vigtig samtale</string> <string name="nc_important_conversation">Vigtig samtale</string>
<string name="nc_important_conversation_desc">Brugerstatus \"Forstyr ikke\" ignoreres ved vigtige samtaler</string>
<string name="nc_invalid_time">Ugyldigt tidspunkt</string>
<string name="nc_invitations">Invitationer</string> <string name="nc_invitations">Invitationer</string>
<string name="nc_join_open_conversations">Deltag i åbne samtaler</string> <string name="nc_join_open_conversations">Deltag i åbne samtaler</string>
<string name="nc_keep">Behold</string>
<string name="nc_last_moderator_leaving_room_warning">Du skal udnævne en ny moderator inden du kan forlade samtalen.</string> <string name="nc_last_moderator_leaving_room_warning">Du skal udnævne en ny moderator inden du kan forlade samtalen.</string>
<string name="nc_last_modified">%1$s| Sidst ændret: %2$s</string> <string name="nc_last_modified">%1$s| Sidst ændret: %2$s</string>
<string name="nc_leave">Forlad samtale</string> <string name="nc_leave">Forlad samtale</string>
@ -296,6 +321,12 @@
<string name="nc_manual">Ikke indstillet</string> <string name="nc_manual">Ikke indstillet</string>
<string name="nc_mark_as_read">Marker som læst</string> <string name="nc_mark_as_read">Marker som læst</string>
<string name="nc_mark_as_unread">Marker som ulæst</string> <string name="nc_mark_as_unread">Marker som ulæst</string>
<string name="nc_mark_conversation_as_important">Samtale markeret som vigtig</string>
<string name="nc_mark_conversation_as_insensitive">Samtal ikke markeret som følsom</string>
<string name="nc_mark_conversation_as_sensitive">Samtale markeret som følsom</string>
<string name="nc_mark_conversation_as_unimportant">Samtale ikke markeret som vigtig</string>
<string name="nc_meeting_ended">Mødet sluttede</string>
<string name="nc_message_added_to_notes">Besked til føjet til noter</string>
<string name="nc_message_failed">Mislykkede</string> <string name="nc_message_failed">Mislykkede</string>
<string name="nc_message_failed_to_send">Kunne ikke sende besked:</string> <string name="nc_message_failed_to_send">Kunne ikke sende besked:</string>
<string name="nc_message_offline">Offline</string> <string name="nc_message_offline">Offline</string>
@ -303,6 +334,7 @@
<string name="nc_message_read">Besked læst</string> <string name="nc_message_read">Besked læst</string>
<string name="nc_message_sending">Sender</string> <string name="nc_message_sending">Sender</string>
<string name="nc_message_sent">Beskeden blev sendt</string> <string name="nc_message_sent">Beskeden blev sendt</string>
<string name="nc_microphone_enabled_audio_recording">Mikrofon er aktiveret og lyden optages</string>
<string name="nc_microphone_permission_hint">For at aktivere kommunikation så tillad venligst \"Mikrofon\"</string> <string name="nc_microphone_permission_hint">For at aktivere kommunikation så tillad venligst \"Mikrofon\"</string>
<string name="nc_missed_call">Du missede et opkald fra %s</string> <string name="nc_missed_call">Du missede et opkald fra %s</string>
<string name="nc_moderator">Moderator</string> <string name="nc_moderator">Moderator</string>
@ -335,6 +367,7 @@
<string name="nc_notify_me_never">Giv aldrig besked</string> <string name="nc_notify_me_never">Giv aldrig besked</string>
<string name="nc_offline">For nuværende offline, venligst kontroller din forbindelse</string> <string name="nc_offline">For nuværende offline, venligst kontroller din forbindelse</string>
<string name="nc_ok">OK</string> <string name="nc_ok">OK</string>
<string name="nc_ongoing_meeting">Igangværende møde</string>
<string name="nc_open_conversation_to_registered_users">Begynd en samtale til registrerede brugere</string> <string name="nc_open_conversation_to_registered_users">Begynd en samtale til registrerede brugere</string>
<string name="nc_open_to_guest_app_users">Også åben for gæste app brugere</string> <string name="nc_open_to_guest_app_users">Også åben for gæste app brugere</string>
<string name="nc_owner">Ejer</string> <string name="nc_owner">Ejer</string>
@ -356,6 +389,9 @@
<string name="nc_promote">Forfrem til moderator</string> <string name="nc_promote">Forfrem til moderator</string>
<string name="nc_public_call_status">Offentlig samtale</string> <string name="nc_public_call_status">Offentlig samtale</string>
<string name="nc_push_disabled">Pushbeskeder er slået fra</string> <string name="nc_push_disabled">Pushbeskeder er slået fra</string>
<string name="nc_push_notification_error"> Desværre, noget gik galt, fejlen er %1$s</string>
<string name="nc_push_notification_fetch_error">Desværre, noget gik galt, kan ikke hente test push besked</string>
<string name="nc_push_notification_message">Push notifikation afsendt. Du bør nu modtage en notifikation på apparatet med titlen \'Test push notifikationer\'</string>
<string name="nc_push_to_talk">Tryk-for-at-tale</string> <string name="nc_push_to_talk">Tryk-for-at-tale</string>
<string name="nc_push_to_talk_desc">Med mikrofonen deaktiveret, hold&amp;nede for at bruge Tryk-for-at-tale</string> <string name="nc_push_to_talk_desc">Med mikrofonen deaktiveret, hold&amp;nede for at bruge Tryk-for-at-tale</string>
<string name="nc_remind">Påmind mig senere</string> <string name="nc_remind">Påmind mig senere</string>
@ -368,6 +404,7 @@
<string name="nc_rename_confirm">Omdøb</string> <string name="nc_rename_confirm">Omdøb</string>
<string name="nc_reply">Besvar</string> <string name="nc_reply">Besvar</string>
<string name="nc_reply_privately">Svar privat</string> <string name="nc_reply_privately">Svar privat</string>
<string name="nc_room_retention">Rummet er bevaret</string>
<string name="nc_save_message">Gem</string> <string name="nc_save_message">Gem</string>
<string name="nc_save_success">Gemt</string> <string name="nc_save_success">Gemt</string>
<string name="nc_screen_lock_timeout_30">30 sekunder</string> <string name="nc_screen_lock_timeout_30">30 sekunder</string>
@ -382,6 +419,10 @@
<string name="nc_search">Søg</string> <string name="nc_search">Søg</string>
<string name="nc_search_clear">Ryd søgning</string> <string name="nc_search_clear">Ryd søgning</string>
<string name="nc_select_an_account">Vælg konto</string> <string name="nc_select_an_account">Vælg konto</string>
<string name="nc_send_edit_message">Opdater besked</string>
<string name="nc_send_voice_recording">Send stemmeoptagelse</string>
<string name="nc_sensitive_conversation">Følsom samtale</string>
<string name="nc_sensitive_conversation_hint">Besked forhåndsvisning vil blive deaktiveret i samtalelisten og notifikationer</string>
<string name="nc_sent_a_gif" formatted="true">%1$s sendte en GIF.</string> <string name="nc_sent_a_gif" formatted="true">%1$s sendte en GIF.</string>
<string name="nc_sent_a_gif_you">Du sendte en GIF.</string> <string name="nc_sent_a_gif_you">Du sendte en GIF.</string>
<string name="nc_sent_a_video" formatted="true">%1$s sendte en video.</string> <string name="nc_sent_a_video" formatted="true">%1$s sendte en video.</string>
@ -452,6 +493,7 @@
<string name="nc_settings_server_eol">Serverversionen er for gammel og er ikke understøttet af denne version af Android app\'en</string> <string name="nc_settings_server_eol">Serverversionen er for gammel og er ikke understøttet af denne version af Android app\'en</string>
<string name="nc_settings_server_eol_title">Ikke understøttet server</string> <string name="nc_settings_server_eol_title">Ikke understøttet server</string>
<string name="nc_settings_server_notification_app_not_installed_title">Server notifikations app ikke installeret</string> <string name="nc_settings_server_notification_app_not_installed_title">Server notifikations app ikke installeret</string>
<string name="nc_settings_theme_battery_saver">Sat af batterisparer</string>
<string name="nc_settings_theme_dark">Mørk</string> <string name="nc_settings_theme_dark">Mørk</string>
<string name="nc_settings_theme_follow_system">Brug system default</string> <string name="nc_settings_theme_follow_system">Brug system default</string>
<string name="nc_settings_theme_key">tema</string> <string name="nc_settings_theme_key">tema</string>
@ -483,6 +525,10 @@
<string name="nc_start_time">Start tid</string> <string name="nc_start_time">Start tid</string>
<string name="nc_switch_account">Skift konto</string> <string name="nc_switch_account">Skift konto</string>
<string name="nc_team">Team</string> <string name="nc_team">Team</string>
<string name="nc_test_push_button">Test push notifikationer</string>
<string name="nc_test_results">Testresultater</string>
<string name="nc_today_meeting">I dag kl. %1$s</string>
<string name="nc_tomorrow_meeting">I morgen kl. %1$s</string>
<string name="nc_upload_choose_local_files">Vælg filer</string> <string name="nc_upload_choose_local_files">Vælg filer</string>
<string name="nc_upload_confirm_send_multiple">Send disse filer til %1$s?</string> <string name="nc_upload_confirm_send_multiple">Send disse filer til %1$s?</string>
<string name="nc_upload_confirm_send_single">Send denne fil til %1$s?</string> <string name="nc_upload_confirm_send_single">Send denne fil til %1$s?</string>
@ -504,16 +550,21 @@
<string name="nc_webinar">Webinar</string> <string name="nc_webinar">Webinar</string>
<string name="nc_yes">Ja</string> <string name="nc_yes">Ja</string>
<string name="next_week">Næste uge</string> <string name="next_week">Næste uge</string>
<string name="no_conversations_archived">Ingen arkiverede samtaler</string>
<string name="no_offline_messages_saved">Ingen offline beskeder gemt</string> <string name="no_offline_messages_saved">Ingen offline beskeder gemt</string>
<string name="no_phone_book_integration_due_to_permissions">Ingen telefonnummerintegration på grund af manglende rettigheder</string> <string name="no_phone_book_integration_due_to_permissions">Ingen telefonnummerintegration på grund af manglende rettigheder</string>
<string name="notification_all_messages">Alle beskeder</string>
<string name="notification_mention_only">Kun omtalt med @</string> <string name="notification_mention_only">Kun omtalt med @</string>
<string name="notification_off">Deaktivér</string> <string name="notification_off">Deaktivér</string>
<string name="notifications_default">Standard</string> <string name="notifications_default">Standard</string>
<string name="notifications_default_description">Følg samtaleindstillinger</string>
<string name="oneHour">1 time</string> <string name="oneHour">1 time</string>
<string name="online">Online</string> <string name="online">Online</string>
<string name="online_status">Online status</string> <string name="online_status">Online status</string>
<string name="openConversations">Åbne samtaler</string> <string name="openConversations">Åbne samtaler</string>
<string name="open_in_files_app">Åben i appe\'en filer</string> <string name="open_in_files_app">Åben i appe\'en filer</string>
<string name="open_notes">Åben noter</string>
<string name="open_thread">Gå til tråd</string>
<string name="play_pause_voice_message">Afspil/pauser stemmebesked</string> <string name="play_pause_voice_message">Afspil/pauser stemmebesked</string>
<string name="playback_speed_control">Afspilningshastighedskontrol</string> <string name="playback_speed_control">Afspilningshastighedskontrol</string>
<string name="polls_add_option">Tilføj valg</string> <string name="polls_add_option">Tilføj valg</string>
@ -533,9 +584,11 @@
<string name="polls_submit_vote">Stemme</string> <string name="polls_submit_vote">Stemme</string>
<string name="polls_voted_hidden_success">Stemme indsendt</string> <string name="polls_voted_hidden_success">Stemme indsendt</string>
<string name="previously_set">Tidligere sat</string> <string name="previously_set">Tidligere sat</string>
<string name="qr_code_error">QR koden kunne ikke læses</string>
<string name="raise_hand">Løft hånden</string> <string name="raise_hand">Løft hånden</string>
<string name="reactions_tab_all">Alle</string> <string name="reactions_tab_all">Alle</string>
<string name="read_storage_no_permission">Deling af filer fra lager er ikke muligt uden rettigheder</string> <string name="read_storage_no_permission">Deling af filer fra lager er ikke muligt uden rettigheder</string>
<string name="recent_threads">Seneste tråde</string>
<string name="record_active_info">Opkaldet optages</string> <string name="record_active_info">Opkaldet optages</string>
<string name="record_cancel_start">Annuller opstagelsesstart</string> <string name="record_cancel_start">Annuller opstagelsesstart</string>
<string name="record_failed_info">Optagelsen fejlede. Kontakt venligst din administrator</string> <string name="record_failed_info">Optagelsen fejlede. Kontakt venligst din administrator</string>
@ -593,6 +646,7 @@
<string name="show_banned_participants">Vis blokerede deltagere</string> <string name="show_banned_participants">Vis blokerede deltagere</string>
<string name="starred">Favorit</string> <string name="starred">Favorit</string>
<string name="startCallForbidden">Du har ikke tilladelse til at starte et opkald</string> <string name="startCallForbidden">Du har ikke tilladelse til at starte et opkald</string>
<string name="start_thread">Opret en tråd</string>
<string name="started_a_call">startede et opkald</string> <string name="started_a_call">startede et opkald</string>
<string name="status_message">Statusbesked</string> <string name="status_message">Statusbesked</string>
<string name="status_reverted">Status omvendt</string> <string name="status_reverted">Status omvendt</string>
@ -611,6 +665,12 @@
<string name="thisWeek">Denne uge</string> <string name="thisWeek">Denne uge</string>
<string name="this_is_a_test_message">Dette er en testbesked</string> <string name="this_is_a_test_message">Dette er en testbesked</string>
<string name="this_weekend">Denne weekend</string> <string name="this_weekend">Denne weekend</string>
<string name="thread_cancel">Annuller trådoprettelse</string>
<string name="thread_notifications">Trådnotifikationer</string>
<string name="thread_reply">Svar</string>
<string name="thread_title">Trådtitel</string>
<string name="threads">Tråde</string>
<string name="threads_list_empty">Ingen tråde fundet</string>
<string name="today">I dag</string> <string name="today">I dag</string>
<string name="tomorrow">I morgen</string> <string name="tomorrow">I morgen</string>
<string name="translate">Oversæt</string> <string name="translate">Oversæt</string>
@ -652,6 +712,14 @@
<item quantity="one">Se %d lignende besked</item> <item quantity="one">Se %d lignende besked</item>
<item quantity="other">Se %d lignende beskeder</item> <item quantity="other">Se %d lignende beskeder</item>
</plurals> </plurals>
<plurals name="nc_conversation_auto_delete_info">
<item quantity="one">Denne samtale vil automatisk blive slettet for alle efter%1$d dage med inaktivitet</item>
<item quantity="other">Denne samtale vil automatisk blive slettet for alle efter %1$d dage med inaktivitet</item>
</plurals>
<plurals name="thread_replies">
<item quantity="one">%d svar</item>
<item quantity="other">%d svar</item>
</plurals>
<plurals name="polls_amount_voters"> <plurals name="polls_amount_voters">
<item quantity="one">%d stemme</item> <item quantity="one">%d stemme</item>
<item quantity="other">%d stemmer</item> <item quantity="other">%d stemmer</item>

View file

@ -67,7 +67,6 @@
<string name="file_list_folder">Ordner</string> <string name="file_list_folder">Ordner</string>
<string name="file_list_loading">Lade …</string> <string name="file_list_loading">Lade …</string>
<string name="filename_progress">%1$s (%2$d)</string> <string name="filename_progress">%1$s (%2$d)</string>
<string name="followed_threads">Nachverfolgte Themen</string>
<string name="fourHours">4 Stunden</string> <string name="fourHours">4 Stunden</string>
<string name="get_invitations_error">Ausstehende Einladungen konnten nicht abgerufen werden</string> <string name="get_invitations_error">Ausstehende Einladungen konnten nicht abgerufen werden</string>
<string name="hint_edited_message">(Bearbeitet)</string> <string name="hint_edited_message">(Bearbeitet)</string>
@ -670,6 +669,7 @@
<string name="thread_notifications">Themen-Benachrichtigungen</string> <string name="thread_notifications">Themen-Benachrichtigungen</string>
<string name="thread_reply">Antwort</string> <string name="thread_reply">Antwort</string>
<string name="thread_title">Thementitel</string> <string name="thread_title">Thementitel</string>
<string name="threads">Themen</string>
<string name="threads_list_empty">Keine Themen gefunden</string> <string name="threads_list_empty">Keine Themen gefunden</string>
<string name="today">Heute</string> <string name="today">Heute</string>
<string name="tomorrow">Morgen</string> <string name="tomorrow">Morgen</string>

View file

@ -3,14 +3,18 @@
<string name= "nc_edit">Επεξεργασία</string> <string name= "nc_edit">Επεξεργασία</string>
<string name="add_participants">Προσθήκη</string> <string name="add_participants">Προσθήκη</string>
<string name="appbar_search_in">Αναζήτηση στο %s</string> <string name="appbar_search_in">Αναζήτηση στο %s</string>
<string name="archive_conversation">Αρχειοθέτηση συνομιλίας</string>
<string name="archived">Αρχειοθετήθηκε</string> <string name="archived">Αρχειοθετήθηκε</string>
<string name="audio_output_dialog_headline">Έξοδος ήχου</string> <string name="audio_output_dialog_headline">Έξοδος ήχου</string>
<string name="audio_output_phone">Τηλέφωνο</string> <string name="audio_output_phone">Τηλέφωνο</string>
<string name="audio_output_speaker">Μεγάφωνο</string> <string name="audio_output_speaker">Μεγάφωνο</string>
<string name="automatic_status_set">Η κατάστασή σας ορίστηκε αυτόματα</string>
<string name="avatar">Εικόνα προφίλ</string> <string name="avatar">Εικόνα προφίλ</string>
<string name="away">Λείπω</string> <string name="away">Λείπω</string>
<string name="busy">Απασχολημένος</string> <string name="busy">Απασχολημένος</string>
<string name="calendar">Ημερολόγιο</string> <string name="calendar">Ημερολόγιο</string>
<string name="call_running_since_one_hour">Η κλήση εκτελείται για μία ώρα.</string>
<string name="call_without_notification">Κλήση χωρίς ειδοποίηση</string>
<string name="choose_avatar_from_cloud">Επιλογή εικόνας προφίλ από το cloud</string> <string name="choose_avatar_from_cloud">Επιλογή εικόνας προφίλ από το cloud</string>
<string name="clear_status_message">Εκκαθάριση μηνύματος κατάστασης</string> <string name="clear_status_message">Εκκαθάριση μηνύματος κατάστασης</string>
<string name="clear_status_message_after">Εκκαθάριση μηνύματος κατάστασης μετά από</string> <string name="clear_status_message_after">Εκκαθάριση μηνύματος κατάστασης μετά από</string>
@ -28,16 +32,19 @@
<string name="emoji_category_recent">Πρόσφατα</string> <string name="emoji_category_recent">Πρόσφατα</string>
<string name="encrypted">Κρυπτογραφημένο</string> <string name="encrypted">Κρυπτογραφημένο</string>
<string name="end_call">Τερματισμός κλήσης</string> <string name="end_call">Τερματισμός κλήσης</string>
<string name="end_call_for_everyone">Τερματισμός κλήσης για όλους</string>
<string name="failed_to_save">Αποτυχία αποθήκευσης %1$s</string> <string name="failed_to_save">Αποτυχία αποθήκευσης %1$s</string>
<string name="fifteenMinutes">15 λεπτά</string> <string name="fifteenMinutes">15 λεπτά</string>
<string name="file_list_folder">φάκελος</string> <string name="file_list_folder">φάκελος</string>
<string name="file_list_loading">Φόρτωση …</string> <string name="file_list_loading">Φόρτωση …</string>
<string name="filename_progress">%1$s (%2$d)</string> <string name="filename_progress">%1$s (%2$d)</string>
<string name="fourHours">4 ώρες</string> <string name="fourHours">4 ώρες</string>
<string name="hint_edited_message">(επεξεργασμένο)</string>
<string name="invisible">Αόρατο</string> <string name="invisible">Αόρατο</string>
<string name="later_today">Αργότερα σήμερα</string> <string name="later_today">Αργότερα σήμερα</string>
<string name="leave_call">Αποχώρηση από την κλήση</string> <string name="leave_call">Αποχώρηση από την κλήση</string>
<string name="load_more_results">Φόρτωση περισσοτέρων αποτελεσμάτων</string> <string name="load_more_results">Φόρτωση περισσοτέρων αποτελεσμάτων</string>
<string name="local_time">Τοπική ώρα: %1$s</string>
<string name="lock_conversation">Κλειδώστε τη συνομιλία</string> <string name="lock_conversation">Κλειδώστε τη συνομιλία</string>
<string name="lower_hand">Κατεβάστε το χέρι</string> <string name="lower_hand">Κατεβάστε το χέρι</string>
<string name="menu_item_sort_by_date_newest_first">Νεότερο πρώτα</string> <string name="menu_item_sort_by_date_newest_first">Νεότερο πρώτα</string>
@ -47,7 +54,9 @@
<string name="menu_item_sort_by_size_biggest_first">Μεγαλύτερο πρώτα</string> <string name="menu_item_sort_by_size_biggest_first">Μεγαλύτερο πρώτα</string>
<string name="menu_item_sort_by_size_smallest_first">Μικρότερο πρώτα</string> <string name="menu_item_sort_by_size_smallest_first">Μικρότερο πρώτα</string>
<string name="message_deleted_by_you">Το μήνυμα διαγράφηκε από εσάς</string> <string name="message_deleted_by_you">Το μήνυμα διαγράφηκε από εσάς</string>
<string name="message_last_edited_by">Επεξεργάστηκε από %1$s</string>
<string name="message_search_begin_empty">Κανένα αποτέλεσμα</string> <string name="message_search_begin_empty">Κανένα αποτέλεσμα</string>
<string name="message_search_hint">Αναζήτηση …</string>
<string name="messages">Μηνύματα</string> <string name="messages">Μηνύματα</string>
<string name="nc_Server_account_imported">Ο επιλεγμένος λογαριασμός έχει εισαχθεί και είναι τώρα διαθέσιμος</string> <string name="nc_Server_account_imported">Ο επιλεγμένος λογαριασμός έχει εισαχθεί και είναι τώρα διαθέσιμος</string>
<string name="nc_about">Περί</string> <string name="nc_about">Περί</string>
@ -112,6 +121,7 @@
<string name="nc_copy_message">Αντιγραφή</string> <string name="nc_copy_message">Αντιγραφή</string>
<string name="nc_create_new_conversation">Δημιουργία νέας συνομιλίας</string> <string name="nc_create_new_conversation">Δημιουργία νέας συνομιλίας</string>
<string name="nc_create_poll">Δημιουργία ψηφοφορίας</string> <string name="nc_create_poll">Δημιουργία ψηφοφορίας</string>
<string name="nc_current_user">Εσείς:</string>
<string name="nc_date_header_today">Σήμερα</string> <string name="nc_date_header_today">Σήμερα</string>
<string name="nc_date_header_yesterday">Χθές</string> <string name="nc_date_header_yesterday">Χθές</string>
<string name="nc_delete">Διαγραφή</string> <string name="nc_delete">Διαγραφή</string>
@ -120,6 +130,7 @@
<string name="nc_delete_conversation_more">Αν διαγράψετε την συνομιλία, θα διαγραφεί επίσης για όλους τους υπόλοιπους συμμετέχοντες.</string> <string name="nc_delete_conversation_more">Αν διαγράψετε την συνομιλία, θα διαγραφεί επίσης για όλους τους υπόλοιπους συμμετέχοντες.</string>
<string name="nc_delete_message">Διαγραφή μηνύματος</string> <string name="nc_delete_message">Διαγραφή μηνύματος</string>
<string name="nc_delete_message_leaked_to_matterbridge">Το μήνυμα διαγράφηκε με επιτυχία, αλλά ενδέχεται να έχει διαρρεύσει σε άλλες υπηρεσίες</string> <string name="nc_delete_message_leaked_to_matterbridge">Το μήνυμα διαγράφηκε με επιτυχία, αλλά ενδέχεται να έχει διαρρεύσει σε άλλες υπηρεσίες</string>
<string name="nc_delete_now">Διαγραφή τώρα</string>
<string name="nc_demote">Υποβάθμιση από συντονιστή</string> <string name="nc_demote">Υποβάθμιση από συντονιστή</string>
<string name="nc_description_record_voice">Εγγραφή φωνητικού μηνύματος</string> <string name="nc_description_record_voice">Εγγραφή φωνητικού μηνύματος</string>
<string name="nc_description_send_message_button">Αποστολή μηνύματος</string> <string name="nc_description_send_message_button">Αποστολή μηνύματος</string>
@ -145,13 +156,16 @@
<string name="nc_edit_message">Επεξεργασία</string> <string name="nc_edit_message">Επεξεργασία</string>
<string name="nc_edit_message_text">Επεξεργασία μηνύματος</string> <string name="nc_edit_message_text">Επεξεργασία μηνύματος</string>
<string name="nc_expire_message_eight_hours">8 ώρες</string> <string name="nc_expire_message_eight_hours">8 ώρες</string>
<string name="nc_expire_message_four_weeks">4 εβδομάδες</string>
<string name="nc_expire_message_off">Απενεργοποίηση </string> <string name="nc_expire_message_off">Απενεργοποίηση </string>
<string name="nc_expire_message_one_day">1 μέρα</string> <string name="nc_expire_message_one_day">1 μέρα</string>
<string name="nc_expire_message_one_hour">1 ώρα</string> <string name="nc_expire_message_one_hour">1 ώρα</string>
<string name="nc_expire_message_one_week">1 εβδομάδα</string> <string name="nc_expire_message_one_week">1 εβδομάδα</string>
<string name="nc_expire_messages_explanation">Τα μηνύματα συνομιλίας μπορούν να λήξουν μετά από συγκεκριμένο χρόνο. Σημείωση: Τα αρχεία που κοινοποιούνται στη συνομιλία δεν θα διαγραφούν για τον κάτοχο, αλλά δεν θα κοινοποιούνται πλέον στη συνομιλία.</string>
<string name="nc_external_server_failed">Αποτυχία λήψης ρυθμίσεων σήματος</string> <string name="nc_external_server_failed">Αποτυχία λήψης ρυθμίσεων σήματος</string>
<string name="nc_federation_invitation_accept">Αποδοχή</string> <string name="nc_federation_invitation_accept">Αποδοχή</string>
<string name="nc_federation_invitation_reject">Απόρριψη</string> <string name="nc_federation_invitation_reject">Απόρριψη</string>
<string name="nc_federation_no_invitations">Δεν υπάρχουν εκκρεμείς προσκλήσεις</string>
<string name="nc_file_browser_back">Πίσω</string> <string name="nc_file_browser_back">Πίσω</string>
<string name="nc_following_link">Χρήστης από δημόσιο σύνδεσμο</string> <string name="nc_following_link">Χρήστης από δημόσιο σύνδεσμο</string>
<string name="nc_formatted_message_you">Εσείς: %1$s</string> <string name="nc_formatted_message_you">Εσείς: %1$s</string>
@ -162,6 +176,7 @@
<string name="nc_get_source_code">Λήψη πηγαίου κώδικα</string> <string name="nc_get_source_code">Λήψη πηγαίου κώδικα</string>
<string name="nc_group">Ομάδα</string> <string name="nc_group">Ομάδα</string>
<string name="nc_guest">Επισκέπτης</string> <string name="nc_guest">Επισκέπτης</string>
<string name="nc_guest_access">Πρόσβαση επισκεπτών</string>
<string name="nc_guest_access_allow_title">Επιτρέψτε τους επισκέπτες</string> <string name="nc_guest_access_allow_title">Επιτρέψτε τους επισκέπτες</string>
<string name="nc_guest_access_password_dialog_hint">Εισάγετε συνθηματικό</string> <string name="nc_guest_access_password_dialog_hint">Εισάγετε συνθηματικό</string>
<string name="nc_guest_access_password_summary">Ορίστε έναν κωδικό πρόσβασης για να περιορίσετε ποιος μπορεί να χρησιμοποιήσει τον δημόσιο σύνδεσμο.</string> <string name="nc_guest_access_password_summary">Ορίστε έναν κωδικό πρόσβασης για να περιορίσετε ποιος μπορεί να χρησιμοποιήσει τον δημόσιο σύνδεσμο.</string>
@ -170,8 +185,11 @@
<string name="nc_guest_access_share_link">Κοινή χρήση συνδέσμου συνομιλίας</string> <string name="nc_guest_access_share_link">Κοινή χρήση συνδέσμου συνομιλίας</string>
<string name="nc_hint_enter_a_message">Εισάγετε ένα μήνυμα ...</string> <string name="nc_hint_enter_a_message">Εισάγετε ένα μήνυμα ...</string>
<string name="nc_important_conversation">Σημαντική συνομιλία</string> <string name="nc_important_conversation">Σημαντική συνομιλία</string>
<string name="nc_important_conversation_desc">Η κατάσταση χρήστη \"Μην ενοχλείτε\" αγνοείται για σημαντικές συνομιλίες</string>
<string name="nc_invitations">Προσκλήσεις</string> <string name="nc_invitations">Προσκλήσεις</string>
<string name="nc_join_open_conversations">Δημιουργία νέας συνομιλίας</string> <string name="nc_join_open_conversations">Δημιουργία νέας συνομιλίας</string>
<string name="nc_keep">Διατήρηση</string>
<string name="nc_last_moderator_leaving_room_warning">Πρέπει να προβιβάσετε έναν νέο συντονιστή πριν μπορέσετε να εγκαταλείψετε τη συνομιλία</string>
<string name="nc_last_modified">%1$s Τελευταία τροποποίηση %2$s</string> <string name="nc_last_modified">%1$s Τελευταία τροποποίηση %2$s</string>
<string name="nc_leave">Εγκατάλειψη συνομιλίας</string> <string name="nc_leave">Εγκατάλειψη συνομιλίας</string>
<string name="nc_leaving_call">Αποχώρηση από την κλήση ...</string> <string name="nc_leaving_call">Αποχώρηση από την κλήση ...</string>
@ -179,6 +197,8 @@
<string name="nc_license_title">Άδεια χρήσης</string> <string name="nc_license_title">Άδεια χρήσης</string>
<string name="nc_limit_hit">Το όριο %s χαρακτήρων έχει συμπληρωθεί</string> <string name="nc_limit_hit">Το όριο %s χαρακτήρων έχει συμπληρωθεί</string>
<string name="nc_lobby">Αναμονή</string> <string name="nc_lobby">Αναμονή</string>
<string name="nc_lobby_start_date">Αυτή η συνάντηση είναι προγραμματισμένη για %1$s</string>
<string name="nc_lobby_start_soon">Η συνάντηση θα ξεκινήσει σύντομα</string>
<string name="nc_lobby_waiting">Αυτή τη στιγμή είστε σε αναμονή</string> <string name="nc_lobby_waiting">Αυτή τη στιγμή είστε σε αναμονή</string>
<string name="nc_location_current_position_description">Η τρέχουσα τοποθεσία σας</string> <string name="nc_location_current_position_description">Η τρέχουσα τοποθεσία σας</string>
<string name="nc_location_permission_required">απαιτείται δικαιώματα τοποθεσίας</string> <string name="nc_location_permission_required">απαιτείται δικαιώματα τοποθεσίας</string>
@ -189,12 +209,14 @@
<string name="nc_mark_as_read">Σήμανση ως αναγνωσμένο</string> <string name="nc_mark_as_read">Σήμανση ως αναγνωσμένο</string>
<string name="nc_mark_as_unread">επισήμανση ως μή-αναγνωσμένο</string> <string name="nc_mark_as_unread">επισήμανση ως μή-αναγνωσμένο</string>
<string name="nc_message_failed">Απέτυχε</string> <string name="nc_message_failed">Απέτυχε</string>
<string name="nc_message_offline">Εκτός σύνδεσης</string>
<string name="nc_message_quote_cancel_reply">Ακύρωση απάντησης</string> <string name="nc_message_quote_cancel_reply">Ακύρωση απάντησης</string>
<string name="nc_message_read">Το μήνυμα διαβάστηκε</string> <string name="nc_message_read">Το μήνυμα διαβάστηκε</string>
<string name="nc_message_sent">Το μήνυμα στάλθηκε</string> <string name="nc_message_sent">Το μήνυμα στάλθηκε</string>
<string name="nc_moderator">Συντονιστής</string> <string name="nc_moderator">Συντονιστής</string>
<string name="nc_new_conversation">Νέα συνομιλία</string> <string name="nc_new_conversation">Νέα συνομιλία</string>
<string name="nc_new_conversation_visibility">Ορατότητα</string> <string name="nc_new_conversation_visibility">Ορατότητα</string>
<string name="nc_new_mention">Αδιάβαστες αναφορές</string>
<string name="nc_new_messages">Μη αναγνωσμένα μηνύματα</string> <string name="nc_new_messages">Μη αναγνωσμένα μηνύματα</string>
<string name="nc_nextcloud_talk_app_not_installed">Το %1$s δεν είναι διαθέσιμο (δεν έχει εγκατασταθεί ή έχει απαγορευθεί από τον διαχειριστή)</string> <string name="nc_nextcloud_talk_app_not_installed">Το %1$s δεν είναι διαθέσιμο (δεν έχει εγκατασταθεί ή έχει απαγορευθεί από τον διαχειριστή)</string>
<string name="nc_nick_guest">Επισκέπτης</string> <string name="nc_nick_guest">Επισκέπτης</string>
@ -225,6 +247,7 @@
<string name="nc_privacy">Ιδιωτικότητα</string> <string name="nc_privacy">Ιδιωτικότητα</string>
<string name="nc_profile_personal_info_title">Προσωπικές πληροφορίες</string> <string name="nc_profile_personal_info_title">Προσωπικές πληροφορίες</string>
<string name="nc_promote">Προαγωγή από συντονιστή</string> <string name="nc_promote">Προαγωγή από συντονιστή</string>
<string name="nc_public_call_status">Δημόσια συνομιλία</string>
<string name="nc_push_disabled">Οι ειδοποιήσεις push απενεργοποιήθηκαν</string> <string name="nc_push_disabled">Οι ειδοποιήσεις push απενεργοποιήθηκαν</string>
<string name="nc_push_to_talk">Push-to-talk</string> <string name="nc_push_to_talk">Push-to-talk</string>
<string name="nc_push_to_talk_desc">Με απενεργοποιημένο το μικρόφωνο, πιέστε και κρατήστε το &amp; για χρήση του Push-to-talk</string> <string name="nc_push_to_talk_desc">Με απενεργοποιημένο το μικρόφωνο, πιέστε και κρατήστε το &amp; για χρήση του Push-to-talk</string>
@ -232,6 +255,7 @@
<string name="nc_remove_from_favorites">Αφαίρεση από τα αγαπημένα</string> <string name="nc_remove_from_favorites">Αφαίρεση από τα αγαπημένα</string>
<string name="nc_remove_group_and_members">Αφαίρεση ομάδων και μελών</string> <string name="nc_remove_group_and_members">Αφαίρεση ομάδων και μελών</string>
<string name="nc_remove_participant">Αφαίρεση συμμετέχοντα</string> <string name="nc_remove_participant">Αφαίρεση συμμετέχοντα</string>
<string name="nc_remove_team_and_members">Αφαίρεση ομάδας και μελών</string>
<string name="nc_rename">Μετονομασία συνομιλίας</string> <string name="nc_rename">Μετονομασία συνομιλίας</string>
<string name="nc_rename_confirm">Μετονομασία</string> <string name="nc_rename_confirm">Μετονομασία</string>
<string name="nc_reply">Απάντηση</string> <string name="nc_reply">Απάντηση</string>
@ -249,6 +273,8 @@
<string name="nc_search">Αναζήτηση</string> <string name="nc_search">Αναζήτηση</string>
<string name="nc_search_clear">Εκκαθάριση αναζήτησης</string> <string name="nc_search_clear">Εκκαθάριση αναζήτησης</string>
<string name="nc_select_an_account">Επιλογή λογαριασμού</string> <string name="nc_select_an_account">Επιλογή λογαριασμού</string>
<string name="nc_sensitive_conversation">Ευαίσθητη συνομιλία</string>
<string name="nc_sensitive_conversation_hint">Η προεπισκόπηση μηνυμάτων θα απενεργοποιηθεί στη λίστα συνομιλιών και στις ειδοποιήσεις</string>
<string name="nc_sent_a_gif" formatted="true">%1$s έστειλε GIF.</string> <string name="nc_sent_a_gif" formatted="true">%1$s έστειλε GIF.</string>
<string name="nc_sent_a_gif_you">Στείλατε εικόνα GIF.</string> <string name="nc_sent_a_gif_you">Στείλατε εικόνα GIF.</string>
<string name="nc_sent_a_video" formatted="true">%1$s έστειλε βίντεο.</string> <string name="nc_sent_a_video" formatted="true">%1$s έστειλε βίντεο.</string>
@ -315,6 +341,7 @@
<string name="nc_settings_theme_key">θέμα</string> <string name="nc_settings_theme_key">θέμα</string>
<string name="nc_settings_theme_light">Φωτεινό</string> <string name="nc_settings_theme_light">Φωτεινό</string>
<string name="nc_settings_theme_title">Θέμα</string> <string name="nc_settings_theme_title">Θέμα</string>
<string name="nc_settings_typing_status_desc">Κοινή χρήση της κατάστασης πληκτρολόγησής μου και εμφάνιση της κατάστασης πληκτρολόγησης των άλλων</string>
<string name="nc_settings_use_credentials_title">Ο διαμεσολαβητής απαιτεί διαπιστευτήρια</string> <string name="nc_settings_use_credentials_title">Ο διαμεσολαβητής απαιτεί διαπιστευτήρια</string>
<string name="nc_settings_warning">Προειδοποίηση</string> <string name="nc_settings_warning">Προειδοποίηση</string>
<string name="nc_settings_wrong_account">Μόνο ο παρόν λογαριασμός μπορεί να επαναεγκριθεί</string> <string name="nc_settings_wrong_account">Μόνο ο παρόν λογαριασμός μπορεί να επαναεγκριθεί</string>
@ -324,12 +351,15 @@
<string name="nc_share_location">Διαμοιρασμός τοποθεσίας</string> <string name="nc_share_location">Διαμοιρασμός τοποθεσίας</string>
<string name="nc_share_this_location">Διαμοιρασμός αυτής της τοποθεσίας</string> <string name="nc_share_this_location">Διαμοιρασμός αυτής της τοποθεσίας</string>
<string name="nc_share_to_choose_account">Επιλογή λογαριασμού</string> <string name="nc_share_to_choose_account">Επιλογή λογαριασμού</string>
<string name="nc_shared_items">Κοινόχρηστα αντικείμενα</string>
<string name="nc_shared_items_deck_card">Κάρτα του Deck</string> <string name="nc_shared_items_deck_card">Κάρτα του Deck</string>
<string name="nc_shared_items_empty">Δεν υπάρχουν κοινόχρηστα αντικείμενα</string>
<string name="nc_shared_items_location">Τοποθεσία</string> <string name="nc_shared_items_location">Τοποθεσία</string>
<string name="nc_shared_location">Διαμοιρασμένες τοποθεσίες</string> <string name="nc_shared_location">Διαμοιρασμένες τοποθεσίες</string>
<string name="nc_sort_by">Ταξινόμηση κατά</string> <string name="nc_sort_by">Ταξινόμηση κατά</string>
<string name="nc_start_time">Ώρα έναρξης</string> <string name="nc_start_time">Ώρα έναρξης</string>
<string name="nc_switch_account">Αλλαγή λογαριασμού</string> <string name="nc_switch_account">Αλλαγή λογαριασμού</string>
<string name="nc_team">Ομάδα</string>
<string name="nc_upload_choose_local_files">Επιλογή αρχείων</string> <string name="nc_upload_choose_local_files">Επιλογή αρχείων</string>
<string name="nc_upload_confirm_send_multiple">Να σταλούν αυτά τα αρχεία στον %1$s;</string> <string name="nc_upload_confirm_send_multiple">Να σταλούν αυτά τα αρχεία στον %1$s;</string>
<string name="nc_upload_confirm_send_single">Να σταλεί αυτό το αρχείο στον %1$s;</string> <string name="nc_upload_confirm_send_single">Να σταλεί αυτό το αρχείο στον %1$s;</string>
@ -339,6 +369,7 @@
<string name="nc_upload_in_progess">Γίνεται μεταφόρτωση</string> <string name="nc_upload_in_progess">Γίνεται μεταφόρτωση</string>
<string name="nc_upload_picture_from_cam">Βγάλε φωτογραφία</string> <string name="nc_upload_picture_from_cam">Βγάλε φωτογραφία</string>
<string name="nc_user">Χρήστης</string> <string name="nc_user">Χρήστης</string>
<string name="nc_voice_message_filename">Εγγραφή ομιλίας από %1$s (%2$s)</string>
<string name="nc_voice_message_hold_to_record_info">Κρατήστε για εγγραφή, αφήστε για αποστολή.</string> <string name="nc_voice_message_hold_to_record_info">Κρατήστε για εγγραφή, αφήστε για αποστολή.</string>
<string name="nc_voice_message_missing_audio_permission">Απαιτούνται δικαιώματα για ηχογράφηση</string> <string name="nc_voice_message_missing_audio_permission">Απαιτούνται δικαιώματα για ηχογράφηση</string>
<string name="nc_voice_message_slide_to_cancel">« Σύρετε για ακύρωση</string> <string name="nc_voice_message_slide_to_cancel">« Σύρετε για ακύρωση</string>
@ -348,23 +379,38 @@
<string name="no_phone_book_integration_due_to_permissions">Δεν υπάρχει ενσωμάτωση αριθμού τηλεφώνου λόγω έλλειψης δικαιωμάτων</string> <string name="no_phone_book_integration_due_to_permissions">Δεν υπάρχει ενσωμάτωση αριθμού τηλεφώνου λόγω έλλειψης δικαιωμάτων</string>
<string name="notification_off">Απενεργοποιημένο</string> <string name="notification_off">Απενεργοποιημένο</string>
<string name="notifications_default">Προεπιλογή</string> <string name="notifications_default">Προεπιλογή</string>
<string name="notifications_default_description">Ακολούθηση ρυθμίσεων συνομιλίας</string>
<string name="oneHour">1 ώρα</string> <string name="oneHour">1 ώρα</string>
<string name="online">Σε σύνδεση</string> <string name="online">Σε σύνδεση</string>
<string name="online_status">Κατάσταση σε σύνδεση</string> <string name="online_status">Κατάσταση σε σύνδεση</string>
<string name="openConversations">Άνοιγμα συνομιλιών</string> <string name="openConversations">Άνοιγμα συνομιλιών</string>
<string name="open_in_files_app">Άνοιγμα την εφαρμογή Αρχεία</string> <string name="open_in_files_app">Άνοιγμα την εφαρμογή Αρχεία</string>
<string name="open_thread">Μετάβαση στη συζήτηση</string>
<string name="play_pause_voice_message">Αναπαραγωγή/παύση ηχητικού μηνύματος</string> <string name="play_pause_voice_message">Αναπαραγωγή/παύση ηχητικού μηνύματος</string>
<string name="polls_add_option">Προσθήκη επιλογής</string> <string name="polls_add_option">Προσθήκη επιλογής</string>
<string name="polls_end_poll">Τερματισμός δημοσκόπησης</string>
<string name="polls_multiple_answers">Πολλαπλές απαντήσεις</string>
<string name="polls_options">Επιλογές</string> <string name="polls_options">Επιλογές</string>
<string name="polls_private_poll">Ιδιωτική δημοσκόπηση</string> <string name="polls_private_poll">Ιδιωτική δημοσκόπηση</string>
<string name="polls_question">Ερώτηση</string>
<string name="polls_results_subtitle">Αποτελέσματα</string> <string name="polls_results_subtitle">Αποτελέσματα</string>
<string name="polls_settings">Ρυθμίσεις</string> <string name="polls_settings">Ρυθμίσεις</string>
<string name="polls_submit_vote">Ψήφος</string> <string name="polls_submit_vote">Ψήφος</string>
<string name="previously_set">Προηγουμένως ορισμένη</string>
<string name="raise_hand">Σηκώστε το χέρι</string> <string name="raise_hand">Σηκώστε το χέρι</string>
<string name="reactions_tab_all">\'Ολα</string> <string name="reactions_tab_all">\'Ολα</string>
<string name="read_storage_no_permission">Η κοινή χρήση αρχείων από τον χώρο αποθήκευσης δεν είναι δυνατή χωρίς δικαιώματα</string> <string name="read_storage_no_permission">Η κοινή χρήση αρχείων από τον χώρο αποθήκευσης δεν είναι δυνατή χωρίς δικαιώματα</string>
<string name="recent_threads">Πρόσφατες συζητήσεις</string>
<string name="record_cancel_start">Ακύρωση έναρξης εγγραφής</string>
<string name="record_failed_info">Η εγγραφή απέτυχε. Παρακαλούμε επικοινωνήστε με τον διαχειριστή σας.</string>
<string name="record_start_description">Έναρξη εγγραφής</string> <string name="record_start_description">Έναρξη εγγραφής</string>
<string name="record_stop_description">Διακοπή εγγραφής</string>
<string name="recording_consent_all">Η συγκατάθεση εγγραφής απαιτείται για όλες τις κλήσεις</string>
<string name="recording_consent_for_conversation_description">Απαιτείται συγκατάθεση εγγραφής πριν από τη συμμετοχή σε κλήση σε αυτή τη συνομιλία</string>
<string name="recording_consent_for_conversation_title">Συγκατάθεση εγγραφής</string>
<string name="recording_consent_title">Η κλήση μπορεί να καταγράφεται.</string>
<string name="recording_settings_title">Καταγραφή</string> <string name="recording_settings_title">Καταγραφή</string>
<string name="reset_status">Επαναφορά κατάστασης</string>
<string name="save">Αποθήκευση</string> <string name="save">Αποθήκευση</string>
<string name="scan_qr_code">Scan QR Code</string> <string name="scan_qr_code">Scan QR Code</string>
<string name="scope_federated_description">Συγχρονισμός μόνο με έμπιστους διακομιστές.</string> <string name="scope_federated_description">Συγχρονισμός μόνο με έμπιστους διακομιστές.</string>
@ -382,6 +428,7 @@
<string name="send_email">Αποστολή email</string> <string name="send_email">Αποστολή email</string>
<string name="send_to">Αποστολή σε</string> <string name="send_to">Αποστολή σε</string>
<string name="send_to_three_dots">Αποστολή σε …</string> <string name="send_to_three_dots">Αποστολή σε …</string>
<string name="send_without_notification">Αποστολή χωρίς ειδοποίηση</string>
<string name="set">Ορισμός</string> <string name="set">Ορισμός</string>
<string name="set_status">Ορισμός κατάστασης</string> <string name="set_status">Ορισμός κατάστασης</string>
<string name="set_status_message">Ορισμός μηνύματος κατάστασης</string> <string name="set_status_message">Ορισμός μηνύματος κατάστασης</string>
@ -390,8 +437,10 @@
<string name="shared_items_file">Αρχείο</string> <string name="shared_items_file">Αρχείο</string>
<string name="shared_items_media">Μέσα ενημέρωσης</string> <string name="shared_items_media">Μέσα ενημέρωσης</string>
<string name="shared_items_other">Άλλο</string> <string name="shared_items_other">Άλλο</string>
<string name="shared_items_poll">Δημοσκόπηση</string>
<string name="shared_items_voice">Ομιλία</string> <string name="shared_items_voice">Ομιλία</string>
<string name="starred">Αγαπημένο</string> <string name="starred">Αγαπημένο</string>
<string name="start_thread">Δημιουργία συζήτησης</string>
<string name="status_message">Μήνυμα κατάστασης</string> <string name="status_message">Μήνυμα κατάστασης</string>
<string name="take_photo">Βγάλε μια φωτογραφία</string> <string name="take_photo">Βγάλε μια φωτογραφία</string>
<string name="take_photo_send">Αποστολή</string> <string name="take_photo_send">Αποστολή</string>
@ -400,14 +449,21 @@
<string name="thirtyMinutes">30 λεπτά</string> <string name="thirtyMinutes">30 λεπτά</string>
<string name="thisWeek">Αυτή την εβδομάδα</string> <string name="thisWeek">Αυτή την εβδομάδα</string>
<string name="this_weekend">Αυτό το Σαββατοκύριακο</string> <string name="this_weekend">Αυτό το Σαββατοκύριακο</string>
<string name="thread_notifications">Ειδοποιήσεις συζήτησης</string>
<string name="thread_title">Τίτλος συζήτησης</string>
<string name="threads">Συζητήσεις</string>
<string name="today">Σήμερα</string> <string name="today">Σήμερα</string>
<string name="tomorrow">Αύριο</string> <string name="tomorrow">Αύριο</string>
<string name="translate">Μετάφραση</string> <string name="translate">Μετάφραση</string>
<string name="translation_copy_translated_text">Αντιγραφή μεταφρασμένου κειμένου</string>
<string name="translation_detect_language">Ανίχνευση γλώσσας</string> <string name="translation_detect_language">Ανίχνευση γλώσσας</string>
<string name="translation_device_settings">Ρυθμίσεις συσκευής</string> <string name="translation_device_settings">Ρυθμίσεις συσκευής</string>
<string name="translation_error_message">Δεν ήταν δυνατός ο εντοπισμός της γλώσσας</string> <string name="translation_error_message">Δεν ήταν δυνατός ο εντοπισμός της γλώσσας</string>
<string name="translation_error_title">Η μετάφραση απέτυχε</string>
<string name="translation_from">Από</string> <string name="translation_from">Από</string>
<string name="translation_to">Έως</string> <string name="translation_to">Έως</string>
<string name="unarchive_conversation">Απο-αρχειοθέτηση συνομιλίας</string>
<string name="unban">Απο-αποκλεισμός</string>
<string name="unread">Μη αναγνωσμένο</string> <string name="unread">Μη αναγνωσμένο</string>
<string name="upload_new_avatar_from_device">Μεταφόρτωση νέας εικόνας προφίλ από την συσκευή</string> <string name="upload_new_avatar_from_device">Μεταφόρτωση νέας εικόνας προφίλ από την συσκευή</string>
<string name="user_avatar">Άβαταρ χρήστη</string> <string name="user_avatar">Άβαταρ χρήστη</string>
@ -422,4 +478,8 @@
<string name="userinfo_no_info_headline">Δεν ορίστηκαν προσωπικές πληροφορίες</string> <string name="userinfo_no_info_headline">Δεν ορίστηκαν προσωπικές πληροφορίες</string>
<string name="userinfo_no_info_text">Προσθέστε όνομα, εικόνα και λεπτομέρειες επικοινωνίας στο προφίλ σας.</string> <string name="userinfo_no_info_text">Προσθέστε όνομα, εικόνα και λεπτομέρειες επικοινωνίας στο προφίλ σας.</string>
<string name="whats_your_status">Ποια είναι η κατάστασή σας;</string> <string name="whats_your_status">Ποια είναι η κατάστασή σας;</string>
<plurals name="thread_replies">
<item quantity="one">%d απάντηση</item>
<item quantity="other">%d απαντήσεις</item>
</plurals>
</resources> </resources>

View file

@ -67,7 +67,6 @@
<string name="file_list_folder">carpeta</string> <string name="file_list_folder">carpeta</string>
<string name="file_list_loading">Cargando …</string> <string name="file_list_loading">Cargando …</string>
<string name="filename_progress">%1$s (%2$d)</string> <string name="filename_progress">%1$s (%2$d)</string>
<string name="followed_threads">Hilos suscritos</string>
<string name="fourHours">4 horas</string> <string name="fourHours">4 horas</string>
<string name="get_invitations_error">Fallo al obtener invitaciones pendientes</string> <string name="get_invitations_error">Fallo al obtener invitaciones pendientes</string>
<string name="hint_edited_message">(editado)</string> <string name="hint_edited_message">(editado)</string>
@ -671,6 +670,7 @@
<string name="thread_notifications">Notificaciones para hilos</string> <string name="thread_notifications">Notificaciones para hilos</string>
<string name="thread_reply">Responder</string> <string name="thread_reply">Responder</string>
<string name="thread_title">Título del hilo</string> <string name="thread_title">Título del hilo</string>
<string name="threads">Hilos</string>
<string name="threads_list_empty">No se encontraron hilos</string> <string name="threads_list_empty">No se encontraron hilos</string>
<string name="today">Hoy</string> <string name="today">Hoy</string>
<string name="tomorrow">Mañana</string> <string name="tomorrow">Mañana</string>

View file

@ -67,7 +67,6 @@
<string name="file_list_folder">kaust</string> <string name="file_list_folder">kaust</string>
<string name="file_list_loading">Laadimisel...</string> <string name="file_list_loading">Laadimisel...</string>
<string name="filename_progress">%1$s (%2$d)</string> <string name="filename_progress">%1$s (%2$d)</string>
<string name="followed_threads">Jutulõngad, mida sa jälgid</string>
<string name="fourHours">4 tundi</string> <string name="fourHours">4 tundi</string>
<string name="get_invitations_error">Ootel kutsete laadimine ei õnnestunud</string> <string name="get_invitations_error">Ootel kutsete laadimine ei õnnestunud</string>
<string name="hint_edited_message">(muudetud)</string> <string name="hint_edited_message">(muudetud)</string>
@ -670,6 +669,7 @@
<string name="thread_notifications">Jutulõngade teavitused</string> <string name="thread_notifications">Jutulõngade teavitused</string>
<string name="thread_reply">Vasta</string> <string name="thread_reply">Vasta</string>
<string name="thread_title">Jutulõnga pealkiri</string> <string name="thread_title">Jutulõnga pealkiri</string>
<string name="threads">Jutulõngad</string>
<string name="threads_list_empty">Ühtegi jutulõnga ei leidu</string> <string name="threads_list_empty">Ühtegi jutulõnga ei leidu</string>
<string name="today">Täna</string> <string name="today">Täna</string>
<string name="tomorrow">Homme</string> <string name="tomorrow">Homme</string>

View file

@ -79,6 +79,7 @@
<string name="message_search_begin_typing">Hasi idazten bilatzeko …</string> <string name="message_search_begin_typing">Hasi idazten bilatzeko …</string>
<string name="message_search_hint">Bilatu …</string> <string name="message_search_hint">Bilatu …</string>
<string name="messages">Mezuak</string> <string name="messages">Mezuak</string>
<string name="mute_all_notifications">Isilarazi jakinarazpen guztiak</string>
<string name="nc_Server_account_imported">Aukeratutako kontua inportatu da eta eskuragarri dago</string> <string name="nc_Server_account_imported">Aukeratutako kontua inportatu da eta eskuragarri dago</string>
<string name="nc_about">Honi buruz</string> <string name="nc_about">Honi buruz</string>
<string name="nc_account_chooser_active_user">Erabiltzaile aktiboa</string> <string name="nc_account_chooser_active_user">Erabiltzaile aktiboa</string>

View file

@ -67,7 +67,6 @@
<string name="file_list_folder">Dossier</string> <string name="file_list_folder">Dossier</string>
<string name="file_list_loading">Chargement…</string> <string name="file_list_loading">Chargement…</string>
<string name="filename_progress">%1$s (%2$d)</string> <string name="filename_progress">%1$s (%2$d)</string>
<string name="followed_threads">Conversations suivies</string>
<string name="fourHours">4 heures</string> <string name="fourHours">4 heures</string>
<string name="get_invitations_error">Échec de la récupération des invitations en attente</string> <string name="get_invitations_error">Échec de la récupération des invitations en attente</string>
<string name="hint_edited_message">(modifié)</string> <string name="hint_edited_message">(modifié)</string>
@ -667,6 +666,7 @@
<string name="thread_notifications">Notifications de conversation</string> <string name="thread_notifications">Notifications de conversation</string>
<string name="thread_reply">Répondre</string> <string name="thread_reply">Répondre</string>
<string name="thread_title">Titre de la conversation</string> <string name="thread_title">Titre de la conversation</string>
<string name="threads">Conversations</string>
<string name="today">Aujourd\'hui</string> <string name="today">Aujourd\'hui</string>
<string name="tomorrow">Demain</string> <string name="tomorrow">Demain</string>
<string name="translate">Traduire</string> <string name="translate">Traduire</string>

View file

@ -67,7 +67,6 @@
<string name="file_list_folder">fillteán</string> <string name="file_list_folder">fillteán</string>
<string name="file_list_loading">Á lódáil…</string> <string name="file_list_loading">Á lódáil…</string>
<string name="filename_progress">%1$s (%2$d)</string> <string name="filename_progress">%1$s (%2$d)</string>
<string name="followed_threads">Snáitheanna leanta</string>
<string name="fourHours">4 uair an chloig</string> <string name="fourHours">4 uair an chloig</string>
<string name="get_invitations_error">Theip ar chuirí ar feitheamh a fháil</string> <string name="get_invitations_error">Theip ar chuirí ar feitheamh a fháil</string>
<string name="hint_edited_message">(in eagar)</string> <string name="hint_edited_message">(in eagar)</string>
@ -670,6 +669,7 @@
<string name="thread_notifications">Fógraí snáithe</string> <string name="thread_notifications">Fógraí snáithe</string>
<string name="thread_reply">Freagra</string> <string name="thread_reply">Freagra</string>
<string name="thread_title">Teideal an snáithe</string> <string name="thread_title">Teideal an snáithe</string>
<string name="threads">Snáitheanna</string>
<string name="threads_list_empty">Níor aimsíodh aon snáitheanna</string> <string name="threads_list_empty">Níor aimsíodh aon snáitheanna</string>
<string name="today">Inniu</string> <string name="today">Inniu</string>
<string name="tomorrow">Amárach</string> <string name="tomorrow">Amárach</string>

View file

@ -67,7 +67,6 @@
<string name="file_list_folder">cartafol</string> <string name="file_list_folder">cartafol</string>
<string name="file_list_loading">Cargando…</string> <string name="file_list_loading">Cargando…</string>
<string name="filename_progress">%1$s (%2$d)</string> <string name="filename_progress">%1$s (%2$d)</string>
<string name="followed_threads">Fíos seguidos</string>
<string name="fourHours">4 horas</string> <string name="fourHours">4 horas</string>
<string name="get_invitations_error">Produciuse un fallo ao recuperar os convites pendentes</string> <string name="get_invitations_error">Produciuse un fallo ao recuperar os convites pendentes</string>
<string name="hint_edited_message">(editado)</string> <string name="hint_edited_message">(editado)</string>
@ -105,7 +104,7 @@
<string name="message_search_begin_typing">Comece a escribir para buscar…</string> <string name="message_search_begin_typing">Comece a escribir para buscar…</string>
<string name="message_search_hint">Buscar…</string> <string name="message_search_hint">Buscar…</string>
<string name="messages">Mensaxes</string> <string name="messages">Mensaxes</string>
<string name="mute_all_notifications">Enmudecer todas as notificacións</string> <string name="mute_all_notifications">Silenciar todas as notificacións</string>
<string name="nc_Server_account_imported">A conta seleccionada foi importada e xa está dispoñíbel</string> <string name="nc_Server_account_imported">A conta seleccionada foi importada e xa está dispoñíbel</string>
<string name="nc_about">Sobre</string> <string name="nc_about">Sobre</string>
<string name="nc_account_chooser_active_user">Usuario activo</string> <string name="nc_account_chooser_active_user">Usuario activo</string>
@ -375,14 +374,14 @@
<string name="nc_participants">Participantes</string> <string name="nc_participants">Participantes</string>
<string name="nc_participants_add">Engadir participantes</string> <string name="nc_participants_add">Engadir participantes</string>
<string name="nc_password">Contrasinal</string> <string name="nc_password">Contrasinal</string>
<string name="nc_permissions_ask">Establecer os permisos</string> <string name="nc_permissions_ask">Estabelecer os permisos</string>
<string name="nc_permissions_denied">Algúns permisos foron denegados.</string> <string name="nc_permissions_denied">Algúns permisos foron denegados.</string>
<string name="nc_permissions_rationale_dialog_title">Autorice os permisos</string> <string name="nc_permissions_rationale_dialog_title">Autorice os permisos</string>
<string name="nc_permissions_settings">Abrir os axustes</string> <string name="nc_permissions_settings">Abrir os axustes</string>
<string name="nc_permissions_settings_hint">Conceda os permisos en Axustes > Permisos</string> <string name="nc_permissions_settings_hint">Conceda os permisos en Axustes > Permisos</string>
<string name="nc_phone_book_integration_account_not_found">Non se atopou a conta</string> <string name="nc_phone_book_integration_account_not_found">Non se atopou a conta</string>
<string name="nc_phone_book_integration_chat_via">Parolar a través de %s</string> <string name="nc_phone_book_integration_chat_via">Parolar a través de %s</string>
<string name="nc_pip_microphone_mute">Enmudecer o micrófono</string> <string name="nc_pip_microphone_mute">Silenciar o micrófono</string>
<string name="nc_pip_microphone_unmute">Activar o micrófono</string> <string name="nc_pip_microphone_unmute">Activar o micrófono</string>
<string name="nc_plain_old_messages">Mensaxes</string> <string name="nc_plain_old_messages">Mensaxes</string>
<string name="nc_privacy">Privacidade</string> <string name="nc_privacy">Privacidade</string>
@ -588,7 +587,7 @@
<string name="qr_code_error">Non foi posíbel ler o código QR.</string> <string name="qr_code_error">Non foi posíbel ler o código QR.</string>
<string name="raise_hand">Erguer a man</string> <string name="raise_hand">Erguer a man</string>
<string name="reactions_tab_all">Todo</string> <string name="reactions_tab_all">Todo</string>
<string name="read_storage_no_permission">Non é posible compartir ficheiros desde o almacenamento sen permisos</string> <string name="read_storage_no_permission">Non é posíbel compartir ficheiros desde o almacenamento sen permisos</string>
<string name="recent_threads">Fíos recentes</string> <string name="recent_threads">Fíos recentes</string>
<string name="record_active_info">Estase a gravar a chamada</string> <string name="record_active_info">Estase a gravar a chamada</string>
<string name="record_cancel_start">Cancelar o inicio da gravación</string> <string name="record_cancel_start">Cancelar o inicio da gravación</string>
@ -608,9 +607,9 @@
<string name="renamed_conversation">Cambióuselle o nome a conversa %1$s</string> <string name="renamed_conversation">Cambióuselle o nome a conversa %1$s</string>
<string name="resend_message">Volver enviar</string> <string name="resend_message">Volver enviar</string>
<string name="reset_status">Restabelecer o estado</string> <string name="reset_status">Restabelecer o estado</string>
<string name="restrict_join_other_room_while_call">Non é posible unirse a outras salas mentres está nunha chamada</string> <string name="restrict_join_other_room_while_call">Non é posíbel unirse a outras salas mentres está nunha chamada</string>
<string name="save">Gardar</string> <string name="save">Gardar</string>
<string name="scan_qr_code">Scan QR Code</string> <string name="scan_qr_code">Escanear o código QR</string>
<string name="scope_federated_description">Sincronizar só con servidores de confianza</string> <string name="scope_federated_description">Sincronizar só con servidores de confianza</string>
<string name="scope_federated_title">Federado</string> <string name="scope_federated_title">Federado</string>
<string name="scope_local_description">Visíbel só para as persoas desta instancia e os convidados</string> <string name="scope_local_description">Visíbel só para as persoas desta instancia e os convidados</string>
@ -655,7 +654,7 @@
<string name="switch_to_main_room">Cambiar á sala principal</string> <string name="switch_to_main_room">Cambiar á sala principal</string>
<string name="take_photo">Tirar unha foto</string> <string name="take_photo">Tirar unha foto</string>
<string name="take_photo_error_deleting_picture">Produciuse un erro ao tirar a foto</string> <string name="take_photo_error_deleting_picture">Produciuse un erro ao tirar a foto</string>
<string name="take_photo_permission">Non é posible tirar unha foto sen permisos</string> <string name="take_photo_permission">Non é posíbel tirar unha foto sen permisos</string>
<string name="take_photo_retake_photo">Volver tirar a foto</string> <string name="take_photo_retake_photo">Volver tirar a foto</string>
<string name="take_photo_send">Enviar</string> <string name="take_photo_send">Enviar</string>
<string name="take_photo_switch_camera">Cambiar de cámara</string> <string name="take_photo_switch_camera">Cambiar de cámara</string>
@ -670,6 +669,7 @@
<string name="thread_notifications">Notificacións de fíos</string> <string name="thread_notifications">Notificacións de fíos</string>
<string name="thread_reply">Responder</string> <string name="thread_reply">Responder</string>
<string name="thread_title">Título do fío</string> <string name="thread_title">Título do fío</string>
<string name="threads">Fíos</string>
<string name="threads_list_empty">Non se atopou ningún fío</string> <string name="threads_list_empty">Non se atopou ningún fío</string>
<string name="today">Hoxe</string> <string name="today">Hoxe</string>
<string name="tomorrow">Mañá</string> <string name="tomorrow">Mañá</string>

View file

@ -5,6 +5,7 @@
<string name="add_to_notes">Hozzáadás a jegyzetekhez</string> <string name="add_to_notes">Hozzáadás a jegyzetekhez</string>
<string name="added_to_favorites">A(z) %1$s beszélgetés hozzáadva a kedvencekhez</string> <string name="added_to_favorites">A(z) %1$s beszélgetés hozzáadva a kedvencekhez</string>
<string name="appbar_search_in">Keresés itt: %s</string> <string name="appbar_search_in">Keresés itt: %s</string>
<string name="appear_offline">Megjelenés nem kapcsolódottként</string>
<string name="archive_conversation">Beszélgetés archiválása</string> <string name="archive_conversation">Beszélgetés archiválása</string>
<string name="archive_hint">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.</string> <string name="archive_hint">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.</string>
<string name="archived">Archiválva</string> <string name="archived">Archiválva</string>
@ -48,6 +49,7 @@
<string name="danger_zone">Veszélyes területet</string> <string name="danger_zone">Veszélyes területet</string>
<string name="deck_card_description">%1$s itt: %2$s</string> <string name="deck_card_description">%1$s itt: %2$s</string>
<string name="delete_avatar">Profilkép törlése</string> <string name="delete_avatar">Profilkép törlése</string>
<string name="delete_voice_recording">Hangfelvétel törlése</string>
<string name="deleted_conversation">%1$s beszélgetés törlése</string> <string name="deleted_conversation">%1$s beszélgetés törlése</string>
<string name="dnd">Ne zavarjanak</string> <string name="dnd">Ne zavarjanak</string>
<string name="dontClear">Ne törölje</string> <string name="dontClear">Ne törölje</string>
@ -77,6 +79,10 @@
<string name="left_conversation">Elhagyta a következő beszélgetést: %1$s</string> <string name="left_conversation">Elhagyta a következő beszélgetést: %1$s</string>
<string name="load_more_results">További találatok betöltése</string> <string name="load_more_results">További találatok betöltése</string>
<string name="local_time">Helyi idő: %1$s</string> <string name="local_time">Helyi idő: %1$s</string>
<string name="location_permission_denied">Hely engedély szükséges</string>
<string name="location_permission_denied_msg">Engedélyezze az alkalmazásbeállításokban</string>
<string name="location_services_disabled">Helyszolgáltatások letiltva</string>
<string name="location_services_disabled_msg">A funkció használatához engedélyezze a helyszolgáltatásokat (GPS)</string>
<string name="lock_conversation">Beszélgetés zárolása</string> <string name="lock_conversation">Beszélgetés zárolása</string>
<string name="lock_symbol">Zár szimbólum</string> <string name="lock_symbol">Zár szimbólum</string>
<string name="lower_hand">Kéz letétele</string> <string name="lower_hand">Kéz letétele</string>
@ -90,6 +96,7 @@
<string name="menu_item_sort_by_size_biggest_first">Legnagyobb elöl</string> <string name="menu_item_sort_by_size_biggest_first">Legnagyobb elöl</string>
<string name="menu_item_sort_by_size_smallest_first">Legkisebb elöl</string> <string name="menu_item_sort_by_size_smallest_first">Legkisebb elöl</string>
<string name="message_copied">Üzenet másolva</string> <string name="message_copied">Üzenet másolva</string>
<string name="message_delete_are_you_sure">Biztos, hogy törli ezt az üzenetet?</string>
<string name="message_deleted_by_you">Törölte az üzenetet</string> <string name="message_deleted_by_you">Törölte az üzenetet</string>
<string name="message_last_edited_by">Szerkesztette: %1$s</string> <string name="message_last_edited_by">Szerkesztette: %1$s</string>
<string name="message_poll_tap_to_open">Koppintson a szavazás megnyitásához</string> <string name="message_poll_tap_to_open">Koppintson a szavazás megnyitásához</string>
@ -97,6 +104,7 @@
<string name="message_search_begin_typing">Kezdjen el gépelni a kereséshez…</string> <string name="message_search_begin_typing">Kezdjen el gépelni a kereséshez…</string>
<string name="message_search_hint">Keresés…</string> <string name="message_search_hint">Keresés…</string>
<string name="messages">Üzenetek</string> <string name="messages">Üzenetek</string>
<string name="mute_all_notifications">Összes értesítés némítása</string>
<string name="nc_Server_account_imported">A kiválasztott fiók importálva lett és elérhető</string> <string name="nc_Server_account_imported">A kiválasztott fiók importálva lett és elérhető</string>
<string name="nc_about">Leírás</string> <string name="nc_about">Leírás</string>
<string name="nc_account_chooser_active_user">Aktív felhasználó</string> <string name="nc_account_chooser_active_user">Aktív felhasználó</string>
@ -326,6 +334,7 @@
<string name="nc_message_read">Üzenet elolvasva</string> <string name="nc_message_read">Üzenet elolvasva</string>
<string name="nc_message_sending">Küldés</string> <string name="nc_message_sending">Küldés</string>
<string name="nc_message_sent">Üzenet elküldve</string> <string name="nc_message_sent">Üzenet elküldve</string>
<string name="nc_microphone_enabled_audio_recording">A mikrofon engedélyezve van, és a hang felvételre kerül</string>
<string name="nc_microphone_permission_hint">A hanghívás engedélyezéséhez meg kell adnia a „Mikrofon” engedélyt.</string> <string name="nc_microphone_permission_hint">A hanghívás engedélyezéséhez meg kell adnia a „Mikrofon” engedélyt.</string>
<string name="nc_missed_call">Nem fogadott hívás a következőtől: %s</string> <string name="nc_missed_call">Nem fogadott hívás a következőtől: %s</string>
<string name="nc_moderator">Moderátor</string> <string name="nc_moderator">Moderátor</string>
@ -411,6 +420,7 @@
<string name="nc_search_clear">Keresés törlése</string> <string name="nc_search_clear">Keresés törlése</string>
<string name="nc_select_an_account">Fiók kiválasztása</string> <string name="nc_select_an_account">Fiók kiválasztása</string>
<string name="nc_send_edit_message">Üzenet frissítése</string> <string name="nc_send_edit_message">Üzenet frissítése</string>
<string name="nc_send_voice_recording">Hangfelvétel küldése</string>
<string name="nc_sensitive_conversation">Érzékeny beszélgetés</string> <string name="nc_sensitive_conversation">Érzékeny beszélgetés</string>
<string name="nc_sensitive_conversation_hint">Az üzenet-előnézet le lesz tiltva a beszélgetési listában és az értesítésekben</string> <string name="nc_sensitive_conversation_hint">Az üzenet-előnézet le lesz tiltva a beszélgetési listában és az értesítésekben</string>
<string name="nc_sent_a_gif" formatted="true">%1$s GIF képet küldött.</string> <string name="nc_sent_a_gif" formatted="true">%1$s GIF képet küldött.</string>
@ -543,15 +553,18 @@
<string name="no_conversations_archived">Nincs archivált beszélgetés</string> <string name="no_conversations_archived">Nincs archivált beszélgetés</string>
<string name="no_offline_messages_saved">Nincs mentett offline üzenet</string> <string name="no_offline_messages_saved">Nincs mentett offline üzenet</string>
<string name="no_phone_book_integration_due_to_permissions">A hiányzó engedélyek miatt nincs telefonszám-integráció</string> <string name="no_phone_book_integration_due_to_permissions">A hiányzó engedélyek miatt nincs telefonszám-integráció</string>
<string name="notification_all_messages">Minden üzenet</string> <string name="notification_all_messages">Összes üzenet</string>
<string name="notification_mention_only">csak @-megemlítések</string> <string name="notification_mention_only">csak @-megemlítések</string>
<string name="notification_off">Ki</string>
<string name="notifications_default">Alapértelmezett</string> <string name="notifications_default">Alapértelmezett</string>
<string name="notifications_default_description">Beszélgetésbeállítások követése</string>
<string name="oneHour">1 óra</string> <string name="oneHour">1 óra</string>
<string name="online">Elérhető</string> <string name="online">Elérhető</string>
<string name="online_status">Elérhető állapot</string> <string name="online_status">Elérhető állapot</string>
<string name="openConversations">Beszélgetések megnyitása</string> <string name="openConversations">Beszélgetések megnyitása</string>
<string name="open_in_files_app">Megnyitás a Fájlok alkalmazásban</string> <string name="open_in_files_app">Megnyitás a Fájlok alkalmazásban</string>
<string name="open_notes">Jegyzetek megnyitása</string> <string name="open_notes">Jegyzetek megnyitása</string>
<string name="open_thread">Ugrás a szálhoz</string>
<string name="play_pause_voice_message">Hangüzenet lejátszása/szüneteltetése</string> <string name="play_pause_voice_message">Hangüzenet lejátszása/szüneteltetése</string>
<string name="playback_speed_control">Lejátszási sebesség vezérlése</string> <string name="playback_speed_control">Lejátszási sebesség vezérlése</string>
<string name="polls_add_option">Lehetőség hozzáadása</string> <string name="polls_add_option">Lehetőség hozzáadása</string>
@ -571,9 +584,11 @@
<string name="polls_submit_vote">Szavazat leadása</string> <string name="polls_submit_vote">Szavazat leadása</string>
<string name="polls_voted_hidden_success">Szavazat leadva</string> <string name="polls_voted_hidden_success">Szavazat leadva</string>
<string name="previously_set">Előzőleg beállított</string> <string name="previously_set">Előzőleg beállított</string>
<string name="qr_code_error">A QR-kód nem olvasható el</string>
<string name="raise_hand">Kéz felemelése</string> <string name="raise_hand">Kéz felemelése</string>
<string name="reactions_tab_all">Összes</string> <string name="reactions_tab_all">Összes</string>
<string name="read_storage_no_permission">A fájlok megosztása a tárhelyről engedély nélkül nem lehetséges</string> <string name="read_storage_no_permission">A fájlok megosztása a tárhelyről engedély nélkül nem lehetséges</string>
<string name="recent_threads">Legutóbbi szálak</string>
<string name="record_active_info">A hívásról felvétel készül</string> <string name="record_active_info">A hívásról felvétel készül</string>
<string name="record_cancel_start">Felvétel indításának megszakítása</string> <string name="record_cancel_start">Felvétel indításának megszakítása</string>
<string name="record_failed_info">A felvétel sikertelen. Lépjen kapcsolatba a rendszergazdával.</string> <string name="record_failed_info">A felvétel sikertelen. Lépjen kapcsolatba a rendszergazdával.</string>
@ -594,7 +609,7 @@
<string name="reset_status">Állapot visszaállítása</string> <string name="reset_status">Állapot visszaállítása</string>
<string name="restrict_join_other_room_while_call">Hívás közben nem lehet más szobákhoz csatlakozni</string> <string name="restrict_join_other_room_while_call">Hívás közben nem lehet más szobákhoz csatlakozni</string>
<string name="save">Mentés</string> <string name="save">Mentés</string>
<string name="scan_qr_code">Scan QR Code</string> <string name="scan_qr_code">QR-kód leolvasása</string>
<string name="scope_federated_description">Szinkronizálás csak a megbízható kiszolgálókkal</string> <string name="scope_federated_description">Szinkronizálás csak a megbízható kiszolgálókkal</string>
<string name="scope_federated_title">Föderált</string> <string name="scope_federated_title">Föderált</string>
<string name="scope_local_description">Csak az ezen a példányon lévő személyek és a vendégek láthatják</string> <string name="scope_local_description">Csak az ezen a példányon lévő személyek és a vendégek láthatják</string>
@ -631,6 +646,7 @@
<string name="show_banned_participants">Kitiltott résztvevők megjelenítése</string> <string name="show_banned_participants">Kitiltott résztvevők megjelenítése</string>
<string name="starred">Kedvenc</string> <string name="starred">Kedvenc</string>
<string name="startCallForbidden">Nincs jogosultsága hívást indítani</string> <string name="startCallForbidden">Nincs jogosultsága hívást indítani</string>
<string name="start_thread">Szál létrehozása</string>
<string name="started_a_call">hívás indítás</string> <string name="started_a_call">hívás indítás</string>
<string name="status_message">Állapotüzenet</string> <string name="status_message">Állapotüzenet</string>
<string name="status_reverted">Üzenet visszaállítva</string> <string name="status_reverted">Üzenet visszaállítva</string>
@ -649,6 +665,12 @@
<string name="thisWeek">Ez a hét</string> <string name="thisWeek">Ez a hét</string>
<string name="this_is_a_test_message">Ez egy tesztüzenet</string> <string name="this_is_a_test_message">Ez egy tesztüzenet</string>
<string name="this_weekend">Ezen a hétvégén</string> <string name="this_weekend">Ezen a hétvégén</string>
<string name="thread_cancel">Szál létrehozásának megszakítása</string>
<string name="thread_notifications">Szálértesítések</string>
<string name="thread_reply">Válasz</string>
<string name="thread_title">Szál címe</string>
<string name="threads">Szálak</string>
<string name="threads_list_empty">Nem találhatók szálak</string>
<string name="today">Ma</string> <string name="today">Ma</string>
<string name="tomorrow">Holnap</string> <string name="tomorrow">Holnap</string>
<string name="translate">Lefordítás</string> <string name="translate">Lefordítás</string>
@ -694,6 +716,10 @@
<item quantity="one">Ez a beszélgetés %1$d nap tétlenség után mindenkinél törölve lesz</item> <item quantity="one">Ez a beszélgetés %1$d nap tétlenség után mindenkinél törölve lesz</item>
<item quantity="other">Ez a beszélgetés %1$d nap tétlenség után mindenkinél törölve lesz</item> <item quantity="other">Ez a beszélgetés %1$d nap tétlenség után mindenkinél törölve lesz</item>
</plurals> </plurals>
<plurals name="thread_replies">
<item quantity="one">%d válasz</item>
<item quantity="other">%d válasz</item>
</plurals>
<plurals name="polls_amount_voters"> <plurals name="polls_amount_voters">
<item quantity="one">%d szavazat</item> <item quantity="one">%d szavazat</item>
<item quantity="other">%d szavazat</item> <item quantity="other">%d szavazat</item>

View file

@ -2,11 +2,15 @@
<resources> <resources>
<string name= "nc_edit">Modifica</string> <string name= "nc_edit">Modifica</string>
<string name="add_participants">Aggiungi</string> <string name="add_participants">Aggiungi</string>
<string name="add_to_notes">Aggiungi alle Note</string>
<string name="added_to_favorites">Aggiunta conversazione %1$s ai preferiti</string>
<string name="appbar_search_in">Cerca in %s</string> <string name="appbar_search_in">Cerca in %s</string>
<string name="appear_offline">Appari non in linea</string> <string name="appear_offline">Appari non in linea</string>
<string name="archive_conversation">Archivia conversazione</string> <string name="archive_conversation">Archivia conversazione</string>
<string name="archive_hint">Una volta archiviata, una conversazione verrà nascosta per impostazione predefinita. Seleziona il filtro “Archiviate” per visualizzare le conversazioni archiviate. Le menzioni dirette continueranno a essere ricevute.</string>
<string name="archived">Archiviati</string> <string name="archived">Archiviati</string>
<string name="archived_conversation">Archiviato %1$s</string> <string name="archived_conversation">Archiviato %1$s</string>
<string name="audio_call">Chiamata audio</string>
<string name="audio_output_bluetooth">Bluetooth</string> <string name="audio_output_bluetooth">Bluetooth</string>
<string name="audio_output_dialog_headline">Uscita audio</string> <string name="audio_output_dialog_headline">Uscita audio</string>
<string name="audio_output_phone">Telefono</string> <string name="audio_output_phone">Telefono</string>
@ -15,9 +19,14 @@
<string name="automatic_status_set">Stato impostato automaticamente</string> <string name="automatic_status_set">Stato impostato automaticamente</string>
<string name="avatar">Avatar</string> <string name="avatar">Avatar</string>
<string name="away">Assente</string> <string name="away">Assente</string>
<string name="back_button">Tasto indietro</string>
<string name="ban">Bandisci</string>
<string name="ban_participant">Bandisci partecipante</string>
<string name="bans_list">Lista dei bandi</string>
<string name="busy">Occupato</string> <string name="busy">Occupato</string>
<string name="calendar">Calendario</string> <string name="calendar">Calendario</string>
<string name="call_more_actions_dialog_headline">Opzioni avanzate per le chiamate</string> <string name="call_more_actions_dialog_headline">Opzioni avanzate per le chiamate</string>
<string name="call_running_since_one_hour">La chiamata è in corso da un\'ora.</string>
<string name="call_without_notification">Chiama senza notifica</string> <string name="call_without_notification">Chiama senza notifica</string>
<string name="camera_permission_granted">Autorizzazione fotocamera concessa. Scegli di nuovo la fotocamera.</string> <string name="camera_permission_granted">Autorizzazione fotocamera concessa. Scegli di nuovo la fotocamera.</string>
<string name="cancel_login">Annulla l\'accesso</string> <string name="cancel_login">Annulla l\'accesso</string>
@ -25,44 +34,77 @@
<string name="clear_status_message">Cancella il messaggio di stato</string> <string name="clear_status_message">Cancella il messaggio di stato</string>
<string name="clear_status_message_after">Cancella il messaggio di stato dopo</string> <string name="clear_status_message_after">Cancella il messaggio di stato dopo</string>
<string name="close">Chiudi</string> <string name="close">Chiudi</string>
<string name="close_icon">Chiudi Icona</string>
<string name="connection_established">Connessione stabilita</string> <string name="connection_established">Connessione stabilita</string>
<string name="connection_lost">Nessuna connessione al server</string>
<string name="connection_lost_sent_messages_are_queued">Connessione persa - I messaggi inviati sono in coda</string>
<string name="continuous_voice_message_recording">Blocca registrazione per registrare in modo continuo il messaggio vocale</string>
<string name="conversation_archived">La conversazione è archiviata</string>
<string name="conversation_is_read_only">La conversazione è in sola lettura</string>
<string name="conversation_read_only_failed">Impossibile impostare conversazione in Sola-lettura</string>
<string name="conversations">Conversazioni</string> <string name="conversations">Conversazioni</string>
<string name="create_conversation">Crea conversazione</string> <string name="create_conversation">Crea conversazione</string>
<string name="create_issue">Crea problema</string>
<string name="custom">Personalizzato</string> <string name="custom">Personalizzato</string>
<string name="danger_zone">Zona pericolosa</string> <string name="danger_zone">Zona pericolosa</string>
<string name="deck_card_description">%1$s in %2$s</string>
<string name="delete_avatar">Elimina avatar</string> <string name="delete_avatar">Elimina avatar</string>
<string name="delete_voice_recording">Cancella registrazione vocale</string>
<string name="deleted_conversation">Cancellata conversazione %1$s</string>
<string name="dnd">Non disturbare</string> <string name="dnd">Non disturbare</string>
<string name="dontClear">Non cancellare</string> <string name="dontClear">Non cancellare</string>
<string name="edit">Modifica</string> <string name="edit">Modifica</string>
<string name="edit_error_24_hours_old_message">Messaggi più vecchi di 24 ore non possono essere modificati</string>
<string name="edit_message_icon_description">Modifica messaggio</string> <string name="edit_message_icon_description">Modifica messaggio</string>
<string name="emoji_category_recent">Recenti</string> <string name="emoji_category_recent">Recenti</string>
<string name="encrypted">Cifrato</string> <string name="encrypted">Cifrato</string>
<string name="end_call">Termina chiamata</string>
<string name="end_call_for_everyone">Termina chiamata per tutti</string>
<string name="error_loading_chats">Si è verificato un problema durante il caricamento delle tue chat</string> <string name="error_loading_chats">Si è verificato un problema durante il caricamento delle tue chat</string>
<string name="error_unbanning">Si è verificato un errore durante la rimozione del ban dal partecipante</string>
<string name="failed_to_save">Salvataggio di %1$s fallito</string> <string name="failed_to_save">Salvataggio di %1$s fallito</string>
<string name="fifteenMinutes">15 minuti</string> <string name="fifteenMinutes">15 minuti</string>
<string name="file_list_folder">cartella</string> <string name="file_list_folder">cartella</string>
<string name="file_list_loading">Caricamento …</string> <string name="file_list_loading">Caricamento …</string>
<string name="filename_progress">%1$s (%2$d)</string> <string name="filename_progress">%1$s (%2$d)</string>
<string name="followed_threads">Argomenti seguiti</string>
<string name="fourHours">4 ore</string> <string name="fourHours">4 ore</string>
<string name="get_invitations_error">Impossibile recuperare gli inviti in sospeso</string>
<string name="hint_edited_message">(modificato)</string>
<string name="internal_note">Note interne</string>
<string name="invisible">Invisibile</string> <string name="invisible">Invisibile</string>
<string name="languages_error_message">Impossibile recuperare le lingue</string>
<string name="languages_error_title">Recupero non riuscito</string>
<string name="later_today">Più tardi oggi</string> <string name="later_today">Più tardi oggi</string>
<string name="leave_call">Lascia la chiamata</string> <string name="leave_call">Lascia la chiamata</string>
<string name="left_conversation">Hai lasciato la conversazione %1$s</string>
<string name="load_more_results">Mostra altri risultati</string> <string name="load_more_results">Mostra altri risultati</string>
<string name="local_time">Ora locale: %1$s</string>
<string name="location_permission_denied">Autorizzazione alla localizzazione negata</string>
<string name="location_permission_denied_msg">Abilitala nelle impostazioni dell\'app.</string>
<string name="location_services_disabled">Servizi di localizzazione disattivati</string>
<string name="location_services_disabled_msg">Abilita i servizi di localizzazione (GPS) per utilizzare questa funzione.</string>
<string name="lock_conversation">Blocca conversazione</string> <string name="lock_conversation">Blocca conversazione</string>
<string name="lock_symbol">Simbolo lucchetto</string> <string name="lock_symbol">Simbolo lucchetto</string>
<string name="lower_hand">Abbassa la mano</string> <string name="lower_hand">Abbassa la mano</string>
<string name="marked_as_read">Contrassegna la conversazione %1$s come letta</string>
<string name="marked_as_unread">Contrassegna la conversazione %1$s come non letta</string>
<string name="mentioned">Citato</string>
<string name="menu_item_sort_by_date_newest_first">Prima i più recenti</string> <string name="menu_item_sort_by_date_newest_first">Prima i più recenti</string>
<string name="menu_item_sort_by_date_oldest_first">Prima i più datati</string> <string name="menu_item_sort_by_date_oldest_first">Prima i più datati</string>
<string name="menu_item_sort_by_name_a_z">A - Z</string> <string name="menu_item_sort_by_name_a_z">A - Z</string>
<string name="menu_item_sort_by_name_z_a">Z - A</string> <string name="menu_item_sort_by_name_z_a">Z - A</string>
<string name="menu_item_sort_by_size_biggest_first">Prima i più grandi</string> <string name="menu_item_sort_by_size_biggest_first">Prima i più grandi</string>
<string name="menu_item_sort_by_size_smallest_first">Prima i più piccoli</string> <string name="menu_item_sort_by_size_smallest_first">Prima i più piccoli</string>
<string name="message_copied">Messaggio copiato</string>
<string name="message_delete_are_you_sure">Vuoi davvero eliminare questo messaggio?</string>
<string name="message_deleted_by_you">Messaggio eliminato da te</string> <string name="message_deleted_by_you">Messaggio eliminato da te</string>
<string name="message_last_edited_by">Modificato da %1$s</string>
<string name="message_poll_tap_to_open">Premi per aprire il sondaggio</string>
<string name="message_search_begin_empty">Nessun risultato di ricerca</string> <string name="message_search_begin_empty">Nessun risultato di ricerca</string>
<string name="message_search_begin_typing">Inizia a digitare per cercare …</string> <string name="message_search_begin_typing">Inizia a digitare per cercare …</string>
<string name="message_search_hint">Cerca …</string> <string name="message_search_hint">Cerca …</string>
<string name="messages">Messaggi</string> <string name="messages">Messaggi</string>
<string name="mute_all_notifications">Muta tutte le notifiche</string>
<string name="nc_Server_account_imported">L\'account selezionato è ora importato e disponibile</string> <string name="nc_Server_account_imported">L\'account selezionato è ora importato e disponibile</string>
<string name="nc_about">Informazioni</string> <string name="nc_about">Informazioni</string>
<string name="nc_account_chooser_active_user">Utente attivo</string> <string name="nc_account_chooser_active_user">Utente attivo</string>
@ -77,13 +119,19 @@
<string name="nc_all_ok_operation">OK, tutto fatto!</string> <string name="nc_all_ok_operation">OK, tutto fatto!</string>
<string name="nc_attendee_pin">Appunta: %1$s</string> <string name="nc_attendee_pin">Appunta: %1$s</string>
<string name="nc_biometric_unlock">Sblocca %1$s</string> <string name="nc_biometric_unlock">Sblocca %1$s</string>
<string name="nc_bluetooth_permission_hint">Per abilitare gli altoparlanti Bluetooth, concedi l\'autorizzazione “Dispositivi vicini”.</string>
<string name="nc_call_button_content_description_answer_video_call">Rispondi come videochiamata</string> <string name="nc_call_button_content_description_answer_video_call">Rispondi come videochiamata</string>
<string name="nc_call_button_content_description_answer_voice_only">Rispondi solo come chiamata vocale</string> <string name="nc_call_button_content_description_answer_voice_only">Rispondi solo come chiamata vocale</string>
<string name="nc_call_button_content_description_audio_output">Cambia l\'uscita audio</string> <string name="nc_call_button_content_description_audio_output">Cambia l\'uscita audio</string>
<string name="nc_call_button_content_description_camera">Attiva/disattiva fotocamera</string>
<string name="nc_call_button_content_description_hangup">Riaggancia</string> <string name="nc_call_button_content_description_hangup">Riaggancia</string>
<string name="nc_call_button_content_description_microphone">Attiva/disattiva microfono</string>
<string name="nc_call_button_content_description_pip">Apri la modalità picture-in-picture</string>
<string name="nc_call_button_content_description_switch_to_self_vide">Passa al video personale</string>
<string name="nc_call_incoming">IN ARRIVO</string> <string name="nc_call_incoming">IN ARRIVO</string>
<string name="nc_call_name">Nome della conversazione</string> <string name="nc_call_name">Nome della conversazione</string>
<string name="nc_call_notifications">Notifiche di chiamata</string> <string name="nc_call_notifications">Notifiche di chiamata</string>
<string name="nc_call_raised_hand">%1$s ha alazato la mano</string>
<string name="nc_call_reconnecting">Riconnessione in corso …</string> <string name="nc_call_reconnecting">Riconnessione in corso …</string>
<string name="nc_call_ringing">STA SQUILLANDO</string> <string name="nc_call_ringing">STA SQUILLANDO</string>
<string name="nc_call_state_in_call">%1$s in chiamata</string> <string name="nc_call_state_in_call">%1$s in chiamata</string>
@ -93,13 +141,17 @@
<string name="nc_call_unknown">%s chiamata</string> <string name="nc_call_unknown">%s chiamata</string>
<string name="nc_call_video">%s videochiamata</string> <string name="nc_call_video">%s videochiamata</string>
<string name="nc_call_voice">%s chiamata vocale</string> <string name="nc_call_voice">%s chiamata vocale</string>
<string name="nc_camera_permission_hint">Per abilitare la comunicazione video, concedi l\'autorizzazione “Fotocamera”.</string>
<string name="nc_cancel">Annulla</string> <string name="nc_cancel">Annulla</string>
<string name="nc_capabilities_failed">Recupero delle capacità non riuscito, interruzione in corso</string> <string name="nc_capabilities_failed">Recupero delle capacità non riuscito, interruzione in corso</string>
<string name="nc_caption">Sottotitolo</string>
<string name="nc_certificate_dialog_text">Ti fidi del certificato SSL fino ad ora sconosciuto, rilasciato da %1$s per %2$s, valido da %3$s a %4$s?</string> <string name="nc_certificate_dialog_text">Ti fidi del certificato SSL fino ad ora sconosciuto, rilasciato da %1$s per %2$s, valido da %3$s a %4$s?</string>
<string name="nc_certificate_dialog_title">Controlla il certificato</string> <string name="nc_certificate_dialog_title">Controlla il certificato</string>
<string name="nc_certificate_error">La tua configurazione SSL ha impedito la connessione</string> <string name="nc_certificate_error">La tua configurazione SSL ha impedito la connessione</string>
<string name="nc_change_cert_auth">Cambia certificato di autenticazione</string> <string name="nc_change_cert_auth">Cambia certificato di autenticazione</string>
<string name="nc_change_password">Cambia password</string> <string name="nc_change_password">Cambia password</string>
<string name="nc_clear_edit_button">Cancella modifica</string>
<string name="nc_clear_edit_message">Cancella modifica</string>
<string name="nc_clear_history">Elimina tutti i messaggi</string> <string name="nc_clear_history">Elimina tutti i messaggi</string>
<string name="nc_clear_history_success">Tutti i messaggi sono stati eliminati</string> <string name="nc_clear_history_success">Tutti i messaggi sono stati eliminati</string>
<string name="nc_clear_history_warning">Vuoi davvero eliminare tutti i messaggi in questa conversazione?</string> <string name="nc_clear_history_warning">Vuoi davvero eliminare tutti i messaggi in questa conversazione?</string>
@ -119,15 +171,18 @@
<string name="nc_configure_cert_auth">Seleziona certificato di autenticazione</string> <string name="nc_configure_cert_auth">Seleziona certificato di autenticazione</string>
<string name="nc_connecting_call">Connessione in corso…</string> <string name="nc_connecting_call">Connessione in corso…</string>
<string name="nc_contacts_done">Fine</string> <string name="nc_contacts_done">Fine</string>
<string name="nc_conversation_description">Descrizione della conversazione</string>
<string name="nc_conversation_menu_conversation_info">Informazioni di conversazione</string> <string name="nc_conversation_menu_conversation_info">Informazioni di conversazione</string>
<string name="nc_conversation_menu_video_call">Chiamata video</string> <string name="nc_conversation_menu_video_call">Chiamata video</string>
<string name="nc_conversation_menu_voice_call">Chiamata vocale</string> <string name="nc_conversation_menu_voice_call">Chiamata vocale</string>
<string name="nc_conversation_not_found">Conversazione non trovata</string>
<string name="nc_conversation_settings">Impostazioni conversazione</string> <string name="nc_conversation_settings">Impostazioni conversazione</string>
<string name="nc_conversations_empty">Unisciti a una conversazione o iniziane una nuova</string> <string name="nc_conversations_empty">Unisciti a una conversazione o iniziane una nuova</string>
<string name="nc_conversations_empty_details">Saluta i tuoi amici e i tuoi colleghi!</string> <string name="nc_conversations_empty_details">Saluta i tuoi amici e i tuoi colleghi!</string>
<string name="nc_copy_message">Copia</string> <string name="nc_copy_message">Copia</string>
<string name="nc_create_new_conversation">Crea una nuova conversazione</string> <string name="nc_create_new_conversation">Crea una nuova conversazione</string>
<string name="nc_create_poll">Crea sondaggio</string> <string name="nc_create_poll">Crea sondaggio</string>
<string name="nc_current_user">Tu:</string>
<string name="nc_date_header_today">Oggi</string> <string name="nc_date_header_today">Oggi</string>
<string name="nc_date_header_yesterday">Ieri</string> <string name="nc_date_header_yesterday">Ieri</string>
<string name="nc_delete">Elimina</string> <string name="nc_delete">Elimina</string>
@ -136,31 +191,69 @@
<string name="nc_delete_conversation_more">Se elimini la conversazione, sarà eliminata anche per tutti i partecipanti.</string> <string name="nc_delete_conversation_more">Se elimini la conversazione, sarà eliminata anche per tutti i partecipanti.</string>
<string name="nc_delete_message">Elimina messaggio</string> <string name="nc_delete_message">Elimina messaggio</string>
<string name="nc_delete_message_leaked_to_matterbridge">Messaggio eliminato correttamente, ma potrebbe essere stato distribuito ad altri servizi </string> <string name="nc_delete_message_leaked_to_matterbridge">Messaggio eliminato correttamente, ma potrebbe essere stato distribuito ad altri servizi </string>
<string name="nc_delete_now">Cancella ora</string>
<string name="nc_deleted_user">L\'utente %1$s è stato rimosso</string>
<string name="nc_demote">Declassa da moderatore</string> <string name="nc_demote">Declassa da moderatore</string>
<string name="nc_description_record_voice">Registra messaggio vocale</string> <string name="nc_description_record_voice">Registra messaggio vocale</string>
<string name="nc_description_send_message_button">Invia messaggio</string> <string name="nc_description_send_message_button">Invia messaggio</string>
<string name="nc_diagnose_account_category_title">Account attuale</string> <string name="nc_diagnose_account_category_title">Account attuale</string>
<string name="nc_diagnose_account_server">Server</string> <string name="nc_diagnose_account_server">Server</string>
<string name="nc_diagnose_account_server_notification_app">App di notifica server installata?</string>
<string name="nc_diagnose_account_user_name">Utente</string> <string name="nc_diagnose_account_user_name">Utente</string>
<string name="nc_diagnose_account_user_status_enabled">Stato utente abilitato?</string>
<string name="nc_diagnose_android_version_title">Versione Android</string> <string name="nc_diagnose_android_version_title">Versione Android</string>
<string name="nc_diagnose_app_category_title">Applicazione</string> <string name="nc_diagnose_app_category_title">Applicazione</string>
<string name="nc_diagnose_app_name_title">Nome applicazione</string> <string name="nc_diagnose_app_name_title">Nome applicazione</string>
<string name="nc_diagnose_app_users_amount">Utenti registrati</string>
<string name="nc_diagnose_app_version_title">Versione App</string>
<string name="nc_diagnose_battery_optimization_ignored">L\'ottimizzazione della batteria viene ignorata, tutto bene</string>
<string name="nc_diagnose_battery_optimization_not_ignored">L\'ottimizzazione della batteria è abilitata e potrebbe causare problemi. È necessario disabilitare l\'ottimizzazione della batteria!</string>
<string name="nc_diagnose_battery_optimization_title">Impostazioni batteria</string> <string name="nc_diagnose_battery_optimization_title">Impostazioni batteria</string>
<string name="nc_diagnose_device_name_title">Dispositivo</string> <string name="nc_diagnose_device_name_title">Dispositivo</string>
<string name="nc_diagnose_dialog_open_checklist">Apri la lista di controllo per la risoluzione dei problemi</string>
<string name="nc_diagnose_dialog_open_diagnose">Apri schermata diagnosi</string>
<string name="nc_diagnose_dialog_open_dontkillmyapp_website">Apri dontkillmyapp.com</string>
<string name="nc_diagnose_firebase_push_token_latest_fetch">Ultimo recupero token push Firebase</string>
<string name="nc_diagnose_firebase_push_token_latest_generated">Generazione dell\'ultimo token push Firebase</string>
<string name="nc_diagnose_firebase_push_token_missing">Nessun token push Firebase impostato. Si prega di creare una segnalazione di bug.</string>
<string name="nc_diagnose_firebase_push_token_title">Firebase push token</string>
<string name="nc_diagnose_gplay_available_no">I servizi Google Play non sono disponibili. Le notifiche non sono supportate.</string>
<string name="nc_diagnose_gplay_available_title">Servizi Google Play</string>
<string name="nc_diagnose_gplay_available_yes">Servizi Google Play non disponibili</string>
<string name="nc_diagnose_latest_push_registration_at_push_proxy">Ultima registrazione push presso il proxy push</string>
<string name="nc_diagnose_latest_push_registration_at_push_proxy_fail">Non ancora registrato su push proxy</string>
<string name="nc_diagnose_latest_push_registration_at_server">Ultima registrazione push sul server</string>
<string name="nc_diagnose_latest_push_registration_at_server_fail">Non ancora registrato sul server</string>
<string name="nc_diagnose_meta_category_title">Meta informazioni </string>
<string name="nc_diagnose_meta_system_report_date">Generazione del rapporto di sistema</string>
<string name="nc_diagnose_notification_calls_channel_permission">Canale di notifica delle chiamate abilitato?</string>
<string name="nc_diagnose_notification_messages_channel_permission">Canale di notifica dei messaggi abilitato?</string>
<string name="nc_diagnose_notification_permission">Permessi di notifica</string>
<string name="nc_diagnose_phone_category_title">Telefono</string> <string name="nc_diagnose_phone_category_title">Telefono</string>
<string name="nc_diagnose_server_talk_version">Versione del server Talk</string> <string name="nc_diagnose_server_talk_version">Versione del server Talk</string>
<string name="nc_diagnose_server_version">Versione server</string>
<string name="nc_diagnose_signaling_mode_extern">Esterno</string> <string name="nc_diagnose_signaling_mode_extern">Esterno</string>
<string name="nc_diagnose_signaling_mode_intern">Interni</string> <string name="nc_diagnose_signaling_mode_intern">Interni</string>
<string name="nc_diagnose_signaling_mode_title">Modalità di segnalazione</string>
<string name="nc_dialog_invalid_password">Password non valida</string> <string name="nc_dialog_invalid_password">Password non valida</string>
<string name="nc_dialog_maintenance_mode_description">Il server è attualmente in modalità di manutenzione.</string>
<string name="nc_dialog_outdated_client">L\'app non è aggiornata</string>
<string name="nc_dialog_outdated_client_description">L\'app è troppo vecchia e non è più supportata da questo server. Si prega di aggiornare.</string>
<string name="nc_dialog_outdated_client_option_update">Aggiorna</string> <string name="nc_dialog_outdated_client_option_update">Aggiorna</string>
<string name="nc_dialog_reauth_or_delete">Vuoi autorizzare nuovamente o eliminare questo account?</string> <string name="nc_dialog_reauth_or_delete">Vuoi autorizzare nuovamente o eliminare questo account?</string>
<string name="nc_dialog_save_to_storage_content">Salvare questo file multimediale nella memoria consentirà a tutte le altre app presenti sul dispositivo di accedere a questo.</string>
<string name="nc_dialog_save_to_storage_continue">Continuare?</string>
<string name="nc_dialog_save_to_storage_no">No</string> <string name="nc_dialog_save_to_storage_no">No</string>
<string name="nc_dialog_save_to_storage_title">Salvare nella memoria?</string>
<string name="nc_dialog_save_to_storage_yes"></string> <string name="nc_dialog_save_to_storage_yes"></string>
<string name="nc_display_name_not_fetched">Il nome visualizzato non può essere recuperato, interruzione in corso</string> <string name="nc_display_name_not_fetched">Il nome visualizzato non può essere recuperato, interruzione in corso</string>
<string name="nc_display_name_not_stored">Nome visualizzato non memorizzato, interruzione in corso</string> <string name="nc_display_name_not_stored">Nome visualizzato non memorizzato, interruzione in corso</string>
<string name="nc_edit_icon">Modifica</string> <string name="nc_edit_icon">Modifica</string>
<string name="nc_edit_message">Modifica</string> <string name="nc_edit_message">Modifica</string>
<string name="nc_edit_message_text">Modifica messaggio</string> <string name="nc_edit_message_text">Modifica messaggio</string>
<string name="nc_edited_by_admin">Modificato da admin</string>
<string name="nc_event_conversation_menu">Menu conversazione evento</string>
<string name="nc_event_schedule">Programma</string>
<string name="nc_expire_message_eight_hours">8 ore</string> <string name="nc_expire_message_eight_hours">8 ore</string>
<string name="nc_expire_message_four_weeks">4 settimane</string> <string name="nc_expire_message_four_weeks">4 settimane</string>
<string name="nc_expire_message_off">Spenta</string> <string name="nc_expire_message_off">Spenta</string>
@ -172,8 +265,12 @@
<string name="nc_external_server_failed">Recupero delle impostazioni di segnalazione non riuscito</string> <string name="nc_external_server_failed">Recupero delle impostazioni di segnalazione non riuscito</string>
<string name="nc_federation_invitation_accept">Accetta</string> <string name="nc_federation_invitation_accept">Accetta</string>
<string name="nc_federation_invitation_reject">Rifiuta</string> <string name="nc_federation_invitation_reject">Rifiuta</string>
<string name="nc_federation_invited_to_room">da %1$s a %2$s</string>
<string name="nc_federation_no_invitations">Nessun invito in attesa</string> <string name="nc_federation_no_invitations">Nessun invito in attesa</string>
<string name="nc_federation_pending_invitation_hint">Hai inviti in attesa</string>
<string name="nc_file_browser_back">Indietro</string> <string name="nc_file_browser_back">Indietro</string>
<string name="nc_file_storage_permission">È richiesta l\'autorizzazione per l\'accesso al file</string>
<string name="nc_filter">Filtra conversazioni</string>
<string name="nc_following_link">Utente che segue un collegamento pubblico</string> <string name="nc_following_link">Utente che segue un collegamento pubblico</string>
<string name="nc_formatted_message_you">Tu: %1$s</string> <string name="nc_formatted_message_you">Tu: %1$s</string>
<string name="nc_forward_message">Inoltra</string> <string name="nc_forward_message">Inoltra</string>
@ -184,17 +281,27 @@
<string name="nc_group">Gruppo</string> <string name="nc_group">Gruppo</string>
<string name="nc_guest">Ospite</string> <string name="nc_guest">Ospite</string>
<string name="nc_guest_access">Accesso ospiti</string> <string name="nc_guest_access">Accesso ospiti</string>
<string name="nc_guest_access_allow_failed">Impossibile abilitare/disabilitare l\'accesso ospite.</string>
<string name="nc_guest_access_allow_summary">Consenti agli ospiti di condividere un link pubblico per partecipare a questa conversazione.</string>
<string name="nc_guest_access_allow_title">Consenti ospiti</string> <string name="nc_guest_access_allow_title">Consenti ospiti</string>
<string name="nc_guest_access_password_dialog_hint">Digita una password</string> <string name="nc_guest_access_password_dialog_hint">Digita una password</string>
<string name="nc_guest_access_password_dialog_title">Password per accesso ospiti</string>
<string name="nc_guest_access_password_failed">Errore durante l\'impostazione/disattivazione della password.</string>
<string name="nc_guest_access_password_summary">Imposta una password per limitare chi può utilizzare il collegamento pubblico.</string> <string name="nc_guest_access_password_summary">Imposta una password per limitare chi può utilizzare il collegamento pubblico.</string>
<string name="nc_guest_access_password_title">Protezione password</string> <string name="nc_guest_access_password_title">Protezione password</string>
<string name="nc_guest_access_resend_invitations">Rispedisci inviti</string> <string name="nc_guest_access_resend_invitations">Rispedisci inviti</string>
<string name="nc_guest_access_resend_invitations_failed">Gli inviti non sono stati inviati a causa di un errore.</string>
<string name="nc_guest_access_resend_invitations_successful">Gli inviti sono stati inviati nuovamente.</string>
<string name="nc_guest_access_share_link">Condividi collegamento della conversazione</string> <string name="nc_guest_access_share_link">Condividi collegamento della conversazione</string>
<string name="nc_hint_enter_a_message">Digita un messaggio …</string> <string name="nc_hint_enter_a_message">Digita un messaggio …</string>
<string name="nc_ignore_battery_optimization_dialog_text">L\'ottimizzazione della batteria non viene ignorata. Questo dovrebbe essere modificato per garantire che le notifiche funzionino in background! Fare clic su OK e selezionare \"Tutte le app\" -> %1$s -> Non ottimizzare</string>
<string name="nc_ignore_battery_optimization_dialog_title">Ignora ottimizzazione batteria</string>
<string name="nc_important_conversation">Conversazione importante</string> <string name="nc_important_conversation">Conversazione importante</string>
<string name="nc_important_conversation_desc">Lo stato utente “Non disturbare” viene ignorato per le conversazioni importanti.</string> <string name="nc_important_conversation_desc">Lo stato utente “Non disturbare” viene ignorato per le conversazioni importanti.</string>
<string name="nc_invalid_time">Orario non valido</string>
<string name="nc_invitations">Inviti</string> <string name="nc_invitations">Inviti</string>
<string name="nc_join_open_conversations">Entra nelle conversazioni aperte</string> <string name="nc_join_open_conversations">Entra nelle conversazioni aperte</string>
<string name="nc_keep">Mantieni</string>
<string name="nc_last_moderator_leaving_room_warning">Devi promuovere un nuovo moderatore prima di poter lasciare la conversazione.</string> <string name="nc_last_moderator_leaving_room_warning">Devi promuovere un nuovo moderatore prima di poter lasciare la conversazione.</string>
<string name="nc_last_modified">%1$s | Ultima modifica: %2$s</string> <string name="nc_last_modified">%1$s | Ultima modifica: %2$s</string>
<string name="nc_leave">Lascia la conversazione</string> <string name="nc_leave">Lascia la conversazione</string>
@ -214,12 +321,22 @@
<string name="nc_manual">Non impostato</string> <string name="nc_manual">Non impostato</string>
<string name="nc_mark_as_read">Segna come letto</string> <string name="nc_mark_as_read">Segna come letto</string>
<string name="nc_mark_as_unread">Segna come non letto</string> <string name="nc_mark_as_unread">Segna come non letto</string>
<string name="nc_mark_conversation_as_important">Conversazione contrassegnata come importante</string>
<string name="nc_mark_conversation_as_insensitive">Conversazione non contrassegnata come sensibile</string>
<string name="nc_mark_conversation_as_sensitive">Conversazione contrassegnata come sensibile</string>
<string name="nc_mark_conversation_as_unimportant">Conversazione non contrassegnata come importante</string>
<string name="nc_meeting_ended">Meeting terminato</string>
<string name="nc_message_added_to_notes">Messaggio aggiunto alle note</string>
<string name="nc_message_failed">Non riuscito</string> <string name="nc_message_failed">Non riuscito</string>
<string name="nc_message_failed_to_send">Invio del messaggio non riuscito:</string> <string name="nc_message_failed_to_send">Invio del messaggio non riuscito:</string>
<string name="nc_message_offline">Offline</string> <string name="nc_message_offline">Offline</string>
<string name="nc_message_quote_cancel_reply">Annulla risposta</string> <string name="nc_message_quote_cancel_reply">Annulla risposta</string>
<string name="nc_message_read">Messaggio letto</string> <string name="nc_message_read">Messaggio letto</string>
<string name="nc_message_sending">Inviando</string>
<string name="nc_message_sent">Messaggio inviato</string> <string name="nc_message_sent">Messaggio inviato</string>
<string name="nc_microphone_enabled_audio_recording">Il microfono è attivato e l\'audio è in registrazione.</string>
<string name="nc_microphone_permission_hint">Per abilitare la comunicazione vocale, concedi l\'autorizzazione “Microfono”.</string>
<string name="nc_missed_call">Hai perso una chiamata da %s</string>
<string name="nc_moderator">Moderatore</string> <string name="nc_moderator">Moderatore</string>
<string name="nc_new_conversation">Nuova conversazione</string> <string name="nc_new_conversation">Nuova conversazione</string>
<string name="nc_new_conversation_visibility">Visibilità</string> <string name="nc_new_conversation_visibility">Visibilità</string>
@ -228,7 +345,11 @@
<string name="nc_nextcloud_talk_app_not_installed">%1$s non disponibile (non installato o limitato dall\'amministratore)</string> <string name="nc_nextcloud_talk_app_not_installed">%1$s non disponibile (non installato o limitato dall\'amministratore)</string>
<string name="nc_nick_guest">Ospite</string> <string name="nc_nick_guest">Ospite</string>
<string name="nc_no">No</string> <string name="nc_no">No</string>
<string name="nc_no_open_conversations_headline">Nessuna conversazione aperta</string>
<string name="nc_no_open_conversations_text">Non ci sono conversazioni aperte a cui puoi partecipare.\nO non ci sono conversazioni aperte o hai già partecipato a tutte.</string>
<string name="nc_no_proxy">Nessun proxy</string> <string name="nc_no_proxy">Nessun proxy</string>
<string name="nc_not_allowed_to_activate_audio">Non è consentito attivare l\'audio!</string>
<string name="nc_not_allowed_to_activate_video">Non è consentito attivare il video!</string>
<string name="nc_not_now">Non ora</string> <string name="nc_not_now">Non ora</string>
<string name="nc_notification_channel">%1$s sul canale di notifica %2$s</string> <string name="nc_notification_channel">%1$s sul canale di notifica %2$s</string>
<string name="nc_notification_channel_calls">Chiamate</string> <string name="nc_notification_channel_calls">Chiamate</string>
@ -236,19 +357,28 @@
<string name="nc_notification_channel_messages">Messaggi</string> <string name="nc_notification_channel_messages">Messaggi</string>
<string name="nc_notification_channel_messages_description">Notifica sui messaggi in arrivo</string> <string name="nc_notification_channel_messages_description">Notifica sui messaggi in arrivo</string>
<string name="nc_notification_channel_uploads">Caricamenti</string> <string name="nc_notification_channel_uploads">Caricamenti</string>
<string name="nc_notification_channel_uploads_description">Notifica sullo stato di avanzamento del caricamento</string>
<string name="nc_notification_settings">Impostazioni di notifica</string> <string name="nc_notification_settings">Impostazioni di notifica</string>
<string name="nc_notification_warning">Le notifiche non sono configurate correttamente</string>
<string name="nc_notifications_troubleshooting_dialog_text">Le impostazioni relative alle notifiche e alla batteria sono configurate correttamente per ricevere le notifiche. Se riscontri comunque problemi nella ricezione delle notifiche, verifica che i canali di notifica per chiamate e messaggi siano abilitati. Ulteriori informazioni sono disponibili su DontKillMyApp.com o nella lista di controllo per la risoluzione dei problemi. Se ciò non fosse d\'aiuto, vai alla schermata di diagnosi e invia una segnalazione di bug.</string>
<string name="nc_notifications_troubleshooting_dialog_title">Risoluzione dei problemi relativi alle notifiche</string>
<string name="nc_notify_me_always">Notifica sempre</string> <string name="nc_notify_me_always">Notifica sempre</string>
<string name="nc_notify_me_mention">Notifica su menzione</string> <string name="nc_notify_me_mention">Notifica su menzione</string>
<string name="nc_notify_me_never">Non notificare mai</string> <string name="nc_notify_me_never">Non notificare mai</string>
<string name="nc_offline">Attualmente non in linea, controlla la tua connettività</string> <string name="nc_offline">Attualmente non in linea, controlla la tua connettività</string>
<string name="nc_ok">OK</string> <string name="nc_ok">OK</string>
<string name="nc_ongoing_meeting">Meeting in corso</string>
<string name="nc_open_conversation_to_registered_users">Apri la conversazione agli utenti registrati</string> <string name="nc_open_conversation_to_registered_users">Apri la conversazione agli utenti registrati</string>
<string name="nc_open_to_guest_app_users">Apri anche agli utenti dell\'applicazione ospite</string> <string name="nc_open_to_guest_app_users">Apri anche agli utenti dell\'applicazione ospite</string>
<string name="nc_owner">Proprietario</string> <string name="nc_owner">Proprietario</string>
<string name="nc_participants">Partecipanti</string> <string name="nc_participants">Partecipanti</string>
<string name="nc_participants_add">Aggiungi partecipanti</string> <string name="nc_participants_add">Aggiungi partecipanti</string>
<string name="nc_password">Password</string> <string name="nc_password">Password</string>
<string name="nc_permissions_ask">Imposta permessi</string>
<string name="nc_permissions_denied">Alcuni permessi sono stati negati.</string>
<string name="nc_permissions_rationale_dialog_title">Per favore, concedi i permessi</string>
<string name="nc_permissions_settings">Apri impostazioni</string> <string name="nc_permissions_settings">Apri impostazioni</string>
<string name="nc_permissions_settings_hint">Concedi i permessi da Impostazioni > Permessi</string>
<string name="nc_phone_book_integration_account_not_found">Account non trovato</string> <string name="nc_phone_book_integration_account_not_found">Account non trovato</string>
<string name="nc_phone_book_integration_chat_via">Chat tramite %s</string> <string name="nc_phone_book_integration_chat_via">Chat tramite %s</string>
<string name="nc_pip_microphone_mute">Spegni microfono</string> <string name="nc_pip_microphone_mute">Spegni microfono</string>
@ -259,22 +389,29 @@
<string name="nc_promote">Promuovi a moderatore</string> <string name="nc_promote">Promuovi a moderatore</string>
<string name="nc_public_call_status">Conversazione pubblica</string> <string name="nc_public_call_status">Conversazione pubblica</string>
<string name="nc_push_disabled">Notifiche push disabilitate</string> <string name="nc_push_disabled">Notifiche push disabilitate</string>
<string name="nc_push_notification_error">Qualcosa è andato storto, l\'errore è %1$s</string>
<string name="nc_push_notification_fetch_error">Ci dispiace, si è verificato un errore, impossibile recuperare il messaggio di prova.</string>
<string name="nc_push_notification_message">La notifica push è stata inviata con successo. Ora dovresti ricevere una notifica su questo dispositivo con il titolo “Test delle notifiche push”.</string>
<string name="nc_push_to_talk">Premi per parlare</string> <string name="nc_push_to_talk">Premi per parlare</string>
<string name="nc_push_to_talk_desc">Con il microfono disabilitato, fai clic e mantieni per utilizzare Premi per parlare</string> <string name="nc_push_to_talk_desc">Con il microfono disabilitato, fai clic e mantieni per utilizzare Premi per parlare</string>
<string name="nc_remind">Ricordamelo più tardi</string> <string name="nc_remind">Ricordamelo più tardi</string>
<string name="nc_remove_from_favorites">Rimuovi dai preferiti</string> <string name="nc_remove_from_favorites">Rimuovi dai preferiti</string>
<string name="nc_remove_group_and_members">Rimuovi gruppo e membri</string> <string name="nc_remove_group_and_members">Rimuovi gruppo e membri</string>
<string name="nc_remove_participant">Rimuovi partecipante</string> <string name="nc_remove_participant">Rimuovi partecipante</string>
<string name="nc_remove_password">Rimuovi Password</string>
<string name="nc_remove_team_and_members">Rimuovi team e membri</string>
<string name="nc_rename">Rinomina conversazione</string> <string name="nc_rename">Rinomina conversazione</string>
<string name="nc_rename_confirm">Rinomina</string> <string name="nc_rename_confirm">Rinomina</string>
<string name="nc_reply">Rispondi</string> <string name="nc_reply">Rispondi</string>
<string name="nc_reply_privately">Rispondi in privato</string> <string name="nc_reply_privately">Rispondi in privato</string>
<string name="nc_room_retention">La camera è stata prenotata con successo.</string>
<string name="nc_save_message">Salva</string> <string name="nc_save_message">Salva</string>
<string name="nc_save_success">Salvato correttamente</string> <string name="nc_save_success">Salvato correttamente</string>
<string name="nc_screen_lock_timeout_30">30 secondi</string> <string name="nc_screen_lock_timeout_30">30 secondi</string>
<string name="nc_screen_lock_timeout_300">5 minuti</string> <string name="nc_screen_lock_timeout_300">5 minuti</string>
<string name="nc_screen_lock_timeout_60">1 minuto</string> <string name="nc_screen_lock_timeout_60">1 minuto</string>
<string name="nc_screen_lock_timeout_600">10 minuti</string> <string name="nc_screen_lock_timeout_600">10 minuti</string>
<string name="nc_screen_lock_timeout_immediate">Immediato</string>
<string name="nc_screen_lock_timeout_six_hundred">600</string> <string name="nc_screen_lock_timeout_six_hundred">600</string>
<string name="nc_screen_lock_timeout_sixty">60</string> <string name="nc_screen_lock_timeout_sixty">60</string>
<string name="nc_screen_lock_timeout_thirty">30</string> <string name="nc_screen_lock_timeout_thirty">30</string>
@ -282,6 +419,8 @@
<string name="nc_search">Cerca</string> <string name="nc_search">Cerca</string>
<string name="nc_search_clear">Svuota ricerca</string> <string name="nc_search_clear">Svuota ricerca</string>
<string name="nc_select_an_account">Seleziona account</string> <string name="nc_select_an_account">Seleziona account</string>
<string name="nc_send_edit_message">Aggiorna messaggio</string>
<string name="nc_send_voice_recording">Invia registrazione vocale</string>
<string name="nc_sensitive_conversation">Conversazione delicata</string> <string name="nc_sensitive_conversation">Conversazione delicata</string>
<string name="nc_sensitive_conversation_hint">L\'anteprima dei messaggi sarà disabilitata nell\'elenco delle conversazioni e nelle notifiche.</string> <string name="nc_sensitive_conversation_hint">L\'anteprima dei messaggi sarà disabilitata nell\'elenco delle conversazioni e nelle notifiche.</string>
<string name="nc_sent_a_gif" formatted="true">%1$s ha inviato una GIF.</string> <string name="nc_sent_a_gif" formatted="true">%1$s ha inviato una GIF.</string>
@ -292,6 +431,7 @@
<string name="nc_sent_an_audio_you">Hai inviato un audio.</string> <string name="nc_sent_an_audio_you">Hai inviato un audio.</string>
<string name="nc_sent_an_image" formatted="true">%1$s ha inviato un\'immagine.</string> <string name="nc_sent_an_image" formatted="true">%1$s ha inviato un\'immagine.</string>
<string name="nc_sent_an_image_you">Hai inviato un\'immagine.</string> <string name="nc_sent_an_image_you">Hai inviato un\'immagine.</string>
<string name="nc_sent_deck_card" formatted="true">%1$s ha mandato una scheda Deck</string>
<string name="nc_server_connect">Prova di connessione al server</string> <string name="nc_server_connect">Prova di connessione al server</string>
<string name="nc_server_db_upgrade_needed">Aggiorna il tuo database %1$s</string> <string name="nc_server_db_upgrade_needed">Aggiorna il tuo database %1$s</string>
<string name="nc_server_failed_to_import_account">Importazione dell\'account selezionato non riuscita</string> <string name="nc_server_failed_to_import_account">Importazione dell\'account selezionato non riuscita</string>
@ -307,18 +447,25 @@
<string name="nc_server_url">Indirizzo server https://…</string> <string name="nc_server_url">Indirizzo server https://…</string>
<string name="nc_server_version">%1$s funziona solo con %2$s 13 e successivi</string> <string name="nc_server_version">%1$s funziona solo con %2$s 13 e successivi</string>
<string name="nc_set_new_password">Imposta una nuova password</string> <string name="nc_set_new_password">Imposta una nuova password</string>
<string name="nc_set_password">Imposta Password</string>
<string name="nc_settings">Impostazioni</string> <string name="nc_settings">Impostazioni</string>
<string name="nc_settings_account_updated">Il tuo account preesistente è stato aggiornato, invece di aggiungerne un nuovo</string> <string name="nc_settings_account_updated">Il tuo account preesistente è stato aggiornato, invece di aggiungerne un nuovo</string>
<string name="nc_settings_advanced_title">Avanzate</string> <string name="nc_settings_advanced_title">Avanzate</string>
<string name="nc_settings_appearance">Aspetto</string> <string name="nc_settings_appearance">Aspetto</string>
<string name="nc_settings_call_ringtone">Chiamate</string> <string name="nc_settings_call_ringtone">Chiamate</string>
<string name="nc_settings_contact_admin_of">Per favore, contatta l\'amministratore di</string>
<string name="nc_settings_diagnose_subtitle">Apri la schermata di diagnosi per controllare le impostazioni o creare un rapporto sui bug</string>
<string name="nc_settings_diagnose_title">Diagonsi</string>
<string name="nc_settings_incognito_keyboard_desc">Ordina alla tastiera di disattivare l\'apprendimento personalizzato (senza garanzie)</string> <string name="nc_settings_incognito_keyboard_desc">Ordina alla tastiera di disattivare l\'apprendimento personalizzato (senza garanzie)</string>
<string name="nc_settings_incognito_keyboard_title">Tastiera incognito</string> <string name="nc_settings_incognito_keyboard_title">Tastiera incognito</string>
<string name="nc_settings_no_ringtone">Nessun suono</string> <string name="nc_settings_no_ringtone">Nessun suono</string>
<string name="nc_settings_no_talk_installed">L\'applicazione Talk non è installata sul server sul quale hai provato ad autenticarti</string> <string name="nc_settings_no_talk_installed">L\'applicazione Talk non è installata sul server sul quale hai provato ad autenticarti</string>
<string name="nc_settings_notification_sounds_post_oreo">Notifiche</string> <string name="nc_settings_notification_sounds_post_oreo">Notifiche</string>
<string name="nc_settings_notifications_declined">Le notifiche sono state rifiutate</string>
<string name="nc_settings_notifications_granted">Le notifiche sono state concesse</string>
<string name="nc_settings_other_notifications_ringtone">Messaggi</string> <string name="nc_settings_other_notifications_ringtone">Messaggi</string>
<string name="nc_settings_phone_book_integration_desc">Verifica i contatti in base al numero di telefono per integrare il collegamento di Talk nell\'applicazione dei contatti di sistema</string> <string name="nc_settings_phone_book_integration_desc">Verifica i contatti in base al numero di telefono per integrare il collegamento di Talk nell\'applicazione dei contatti di sistema</string>
<string name="nc_settings_phone_book_integration_phone_number_dialog_429">Errore 429 Troppe Richieste</string>
<string name="nc_settings_phone_book_integration_phone_number_dialog_description">Puoi impostare il tuo numero di telefono in modo che gli altri utenti ti trovino</string> <string name="nc_settings_phone_book_integration_phone_number_dialog_description">Puoi impostare il tuo numero di telefono in modo che gli altri utenti ti trovino</string>
<string name="nc_settings_phone_book_integration_phone_number_dialog_edit_text_hint">Digita numero di telefono</string> <string name="nc_settings_phone_book_integration_phone_number_dialog_edit_text_hint">Digita numero di telefono</string>
<string name="nc_settings_phone_book_integration_phone_number_dialog_invalid">Numero di telefono non valido</string> <string name="nc_settings_phone_book_integration_phone_number_dialog_invalid">Numero di telefono non valido</string>
@ -345,12 +492,16 @@
<string name="nc_settings_server_almost_eol">La versione del server è molto datata e non sarà più supportata nella prossima versione!</string> <string name="nc_settings_server_almost_eol">La versione del server è molto datata e non sarà più supportata nella prossima versione!</string>
<string name="nc_settings_server_eol">La versione del server è troppo datata e non supportata da questa versione dell\'applicazione Android</string> <string name="nc_settings_server_eol">La versione del server è troppo datata e non supportata da questa versione dell\'applicazione Android</string>
<string name="nc_settings_server_eol_title">Server non supportato</string> <string name="nc_settings_server_eol_title">Server non supportato</string>
<string name="nc_settings_server_notification_app_not_installed_title">App di notifiche server non installata</string>
<string name="nc_settings_theme_battery_saver">Impostato dal risparmio batteria</string>
<string name="nc_settings_theme_dark">Scuro</string> <string name="nc_settings_theme_dark">Scuro</string>
<string name="nc_settings_theme_follow_system">Usa valori predefiniti di sistema</string> <string name="nc_settings_theme_follow_system">Usa valori predefiniti di sistema</string>
<string name="nc_settings_theme_key">tema</string> <string name="nc_settings_theme_key">tema</string>
<string name="nc_settings_theme_light">Chiaro</string> <string name="nc_settings_theme_light">Chiaro</string>
<string name="nc_settings_theme_title">Tema</string> <string name="nc_settings_theme_title">Tema</string>
<string name="nc_settings_typing_status_desc">Condividi il mio stato di digitazione e mostra lo stato di digitazione degli altri.</string> <string name="nc_settings_typing_status_desc">Condividi il mio stato di digitazione e mostra lo stato di digitazione degli altri.</string>
<string name="nc_settings_typing_status_hpb_description">Lo stato di digitazione è disponibile solo quando si utilizza un backend ad alte prestazioni (HPB).</string>
<string name="nc_settings_typing_status_title">Stato di digitazione</string>
<string name="nc_settings_use_credentials_title">Il proxy richiede credenziali</string> <string name="nc_settings_use_credentials_title">Il proxy richiede credenziali</string>
<string name="nc_settings_warning">Avviso</string> <string name="nc_settings_warning">Avviso</string>
<string name="nc_settings_wrong_account">Può essere autorizzato nuovamente solo l\'account attuale</string> <string name="nc_settings_wrong_account">Può essere autorizzato nuovamente solo l\'account attuale</string>
@ -363,25 +514,35 @@
<string name="nc_share_to_choose_account">Scegli account</string> <string name="nc_share_to_choose_account">Scegli account</string>
<string name="nc_shared_items">Oggetti condivisi</string> <string name="nc_shared_items">Oggetti condivisi</string>
<string name="nc_shared_items_deck_card">Scheda di Deck</string> <string name="nc_shared_items_deck_card">Scheda di Deck</string>
<string name="nc_shared_items_description">Immagini, file, messaggi vocali …</string>
<string name="nc_shared_items_empty">Nessun elemento condiviso</string> <string name="nc_shared_items_empty">Nessun elemento condiviso</string>
<string name="nc_shared_items_location">Posizione</string> <string name="nc_shared_items_location">Posizione</string>
<string name="nc_shared_location">Posizione condivisa</string> <string name="nc_shared_location">Posizione condivisa</string>
<string name="nc_show_notification_warning_description">Quando le notifiche non sono impostate correttamente, mostra un avviso regolare</string> <string name="nc_show_notification_warning_description">Quando le notifiche non sono impostate correttamente, mostra un avviso regolare</string>
<string name="nc_show_notification_warning_title">Mostra avviso di notifica regolare</string> <string name="nc_show_notification_warning_title">Mostra avviso di notifica regolare</string>
<string name="nc_sort_by">Ordina per</string> <string name="nc_sort_by">Ordina per</string>
<string name="nc_start_group_chat">Inizia chat di gruppo</string>
<string name="nc_start_time">Ora di inizio</string> <string name="nc_start_time">Ora di inizio</string>
<string name="nc_switch_account">Cambia account</string> <string name="nc_switch_account">Cambia account</string>
<string name="nc_team">Team</string> <string name="nc_team">Team</string>
<string name="nc_test_push_button">Prova notifiche push</string>
<string name="nc_test_results">Risultati test</string>
<string name="nc_today_meeting">Oggi alle %1$s</string>
<string name="nc_tomorrow_meeting">Domani alle %1$s</string>
<string name="nc_upload_choose_local_files">Scegli i file</string> <string name="nc_upload_choose_local_files">Scegli i file</string>
<string name="nc_upload_confirm_send_multiple">Inviare questi file a %1$s?</string> <string name="nc_upload_confirm_send_multiple">Inviare questi file a %1$s?</string>
<string name="nc_upload_confirm_send_single">Inviare questo file a %1$s?</string> <string name="nc_upload_confirm_send_single">Inviare questo file a %1$s?</string>
<string name="nc_upload_failed">Spiacenti, caricamento non riuscito</string> <string name="nc_upload_failed">Spiacenti, caricamento non riuscito</string>
<string name="nc_upload_failed_notification_text">Impossibile caricare %1$s</string>
<string name="nc_upload_failed_notification_title">Problema</string> <string name="nc_upload_failed_notification_title">Problema</string>
<string name="nc_upload_from_cloud">Condividi da %1$s</string> <string name="nc_upload_from_cloud">Condividi da %1$s</string>
<string name="nc_upload_from_device">Carica dal dispositivo</string> <string name="nc_upload_from_device">Carica dal dispositivo</string>
<string name="nc_upload_in_progess">Caricamento</string> <string name="nc_upload_in_progess">Caricamento</string>
<string name="nc_upload_notification_text">%1$s a %2$s - %3$s\%%</string>
<string name="nc_upload_picture_from_cam">Scatta foto</string> <string name="nc_upload_picture_from_cam">Scatta foto</string>
<string name="nc_upload_video_from_cam">Cattura video</string>
<string name="nc_user">Utente</string> <string name="nc_user">Utente</string>
<string name="nc_video_filename">Registrazione video da %1$s</string>
<string name="nc_voice_message_filename">Registrazione Talk da %1$s (%2$s)</string> <string name="nc_voice_message_filename">Registrazione Talk da %1$s (%2$s)</string>
<string name="nc_voice_message_hold_to_record_info">Tieni premuto per registrare, rilascia per inviare.</string> <string name="nc_voice_message_hold_to_record_info">Tieni premuto per registrare, rilascia per inviare.</string>
<string name="nc_voice_message_missing_audio_permission">Autorizzazione di registrazione audio richiesta</string> <string name="nc_voice_message_missing_audio_permission">Autorizzazione di registrazione audio richiesta</string>
@ -389,32 +550,64 @@
<string name="nc_webinar">Webinar</string> <string name="nc_webinar">Webinar</string>
<string name="nc_yes"></string> <string name="nc_yes"></string>
<string name="next_week">Settimana successiva</string> <string name="next_week">Settimana successiva</string>
<string name="no_conversations_archived">Nessuna conversazione archiviato</string>
<string name="no_offline_messages_saved">Nessun messaggio offline salvato</string>
<string name="no_phone_book_integration_due_to_permissions">Nessuna integrazione del numero di telefono a causa di autorizzazioni mancanti</string> <string name="no_phone_book_integration_due_to_permissions">Nessuna integrazione del numero di telefono a causa di autorizzazioni mancanti</string>
<string name="notification_all_messages">Tutti i messaggi</string>
<string name="notification_mention_only">\@-solo menzioni</string>
<string name="notification_off">Spento</string> <string name="notification_off">Spento</string>
<string name="notifications_default">Predefinito</string> <string name="notifications_default">Predefinito</string>
<string name="notifications_default_description">Segui le impostazioni della conversazione</string>
<string name="oneHour">1 ora</string> <string name="oneHour">1 ora</string>
<string name="online">In linea</string> <string name="online">In linea</string>
<string name="online_status">Stato in linea</string> <string name="online_status">Stato in linea</string>
<string name="openConversations">Apri conversazioni</string> <string name="openConversations">Apri conversazioni</string>
<string name="open_in_files_app">Apri nell\'applicazione File</string> <string name="open_in_files_app">Apri nell\'applicazione File</string>
<string name="open_notes">Apri note</string>
<string name="open_thread">Vai all\'argomento</string>
<string name="play_pause_voice_message">Riproduci/ferma messaggio vocale</string> <string name="play_pause_voice_message">Riproduci/ferma messaggio vocale</string>
<string name="playback_speed_control">Velocità di riproduzione</string>
<string name="polls_add_option">Aggiungi opzione</string> <string name="polls_add_option">Aggiungi opzione</string>
<string name="polls_edit_vote">Modifica voto</string>
<string name="polls_end_poll">Termina sondaggio</string>
<string name="polls_end_poll_confirm">Vuoi davvero terminare questo sondaggio? Non è possibile annullare l\'operazione.</string>
<string name="polls_max_votes_reached">Non puoi votare con più opzioni per questo sondaggio.</string>
<string name="polls_multiple_answers">Risposta multipla</string>
<string name="polls_option_delete">Cancella opzione %1$d</string>
<string name="polls_option_hint">Opzione %1$d</string>
<string name="polls_options">Opzioni</string> <string name="polls_options">Opzioni</string>
<string name="polls_private_poll">Sondaggio privato</string> <string name="polls_private_poll">Sondaggio privato</string>
<string name="polls_question">Domanda</string> <string name="polls_question">Domanda</string>
<string name="polls_question_hint">La tua domanda</string>
<string name="polls_results_subtitle">Risultati</string> <string name="polls_results_subtitle">Risultati</string>
<string name="polls_settings">Impostazioni</string> <string name="polls_settings">Impostazioni</string>
<string name="polls_submit_vote">Votare</string> <string name="polls_submit_vote">Votare</string>
<string name="polls_voted_hidden_success">Voto inviato</string>
<string name="previously_set">Impostato in precedenza</string> <string name="previously_set">Impostato in precedenza</string>
<string name="qr_code_error">Il QR code non può essere letto</string>
<string name="raise_hand">Alza la mano</string> <string name="raise_hand">Alza la mano</string>
<string name="reactions_tab_all">Tutti</string> <string name="reactions_tab_all">Tutti</string>
<string name="read_storage_no_permission">La condivisione dei file dall\'archiviazione non è possibile senza permessi</string> <string name="read_storage_no_permission">La condivisione dei file dall\'archiviazione non è possibile senza permessi</string>
<string name="recent_threads">Argomenti recenti</string>
<string name="record_active_info">La chiamata viene registrata</string>
<string name="record_cancel_start">Annulla avvio registrazione</string>
<string name="record_failed_info">La registrazione è fallita. Per favore, contatta un amministratore.</string>
<string name="record_start_description">Avvia registrazione</string>
<string name="record_stop_confirm_message">Vuoi davvero interrompere la registrazione?</string>
<string name="record_stop_confirm_title">Interrompi registrazione chiamata</string>
<string name="record_stop_description">Termina registrazione</string>
<string name="record_stopping">Interrompi registrazione …</string>
<string name="recording_consent_all">Il permesso di registrazione è richiesto per tutte le call</string> <string name="recording_consent_all">Il permesso di registrazione è richiesto per tutte le call</string>
<string name="recording_consent_description">La registrazione potrebbe includere la tua voce, il video dalla telecamera e la condivisione dello schermo. È necessario il tuo consenso prima di partecipare alla chiamata. Acconsenti?</string>
<string name="recording_consent_for_conversation_description">Richiedi il consenso alla registrazione prima di partecipare alla chiamata in questa conversazione</string> <string name="recording_consent_for_conversation_description">Richiedi il consenso alla registrazione prima di partecipare alla chiamata in questa conversazione</string>
<string name="recording_consent_for_conversation_title">Permesso di registrazione</string> <string name="recording_consent_for_conversation_title">Permesso di registrazione</string>
<string name="recording_consent_title">La chiamata potrebbe essere registrata.</string> <string name="recording_consent_title">La chiamata potrebbe essere registrata.</string>
<string name="recording_settings_title">Registrazione</string> <string name="recording_settings_title">Registrazione</string>
<string name="removed_from_favorites">Conversazione %1$s rimossa dai preferiti</string>
<string name="renamed_conversation">La conversazione %1$s è stata rinominata</string>
<string name="resend_message">Reinvia</string>
<string name="reset_status">Ripristina stato</string> <string name="reset_status">Ripristina stato</string>
<string name="restrict_join_other_room_while_call">Non è possibile entrare in altre stanze mentre si è impegnati in una chiamata.</string>
<string name="save">Salva</string> <string name="save">Salva</string>
<string name="scan_qr_code">Scan QR Code</string> <string name="scan_qr_code">Scan QR Code</string>
<string name="scope_federated_description">Sincronizza solo con server fidati</string> <string name="scope_federated_description">Sincronizza solo con server fidati</string>
@ -428,24 +621,37 @@
<string name="scope_toggle">Cambio di ambito</string> <string name="scope_toggle">Cambio di ambito</string>
<string name="scope_toggle_description">Cambia livello di privacy di %1$s</string> <string name="scope_toggle_description">Cambia livello di privacy di %1$s</string>
<string name="scroll_to_bottom">Scorri in fondo</string> <string name="scroll_to_bottom">Scorri in fondo</string>
<string name="search_icon">Cerca Icona</string>
<string name="secondsAgo">secondi fa</string> <string name="secondsAgo">secondi fa</string>
<string name="selected_list_item">Selezionato</string> <string name="selected_list_item">Selezionato</string>
<string name="send_email">Invia email</string> <string name="send_email">Invia email</string>
<string name="send_to">Invia a</string> <string name="send_to">Invia a</string>
<string name="send_to_forbidden">Non è consentito condividere contenuti in questa chat.</string>
<string name="send_to_three_dots">Invia a…</string> <string name="send_to_three_dots">Invia a…</string>
<string name="send_without_notification">Invia messaggio senza notifica</string>
<string name="set">Imposta</string> <string name="set">Imposta</string>
<string name="set_avatar_from_camera">Imposta avatar dalla fotocamera</string>
<string name="set_status">Imposta stato</string> <string name="set_status">Imposta stato</string>
<string name="set_status_message">Imposta messaggio di stato</string> <string name="set_status_message">Imposta messaggio di stato</string>
<string name="share">Condividi</string> <string name="share">Condividi</string>
<string name="share_link_to_conversation">Partecipa alla conversazione %1$s su %2$s</string>
<string name="shared_items_audio">Audio</string> <string name="shared_items_audio">Audio</string>
<string name="shared_items_file">File</string> <string name="shared_items_file">File</string>
<string name="shared_items_media">Media</string> <string name="shared_items_media">Media</string>
<string name="shared_items_other">Altro</string> <string name="shared_items_other">Altro</string>
<string name="shared_items_poll">Sondaggio</string> <string name="shared_items_poll">Sondaggio</string>
<string name="shared_items_recording">Registrazione chiamata</string>
<string name="shared_items_voice">Voce</string> <string name="shared_items_voice">Voce</string>
<string name="show_ban_reason">Mostra motivo del bando</string>
<string name="show_banned_participants">Mostra partecipanti banditi</string>
<string name="starred">Preferito</string> <string name="starred">Preferito</string>
<string name="startCallForbidden">Non ti è consentito avviare una chiamata</string> <string name="startCallForbidden">Non ti è consentito avviare una chiamata</string>
<string name="start_thread">Crea un argomeno</string>
<string name="started_a_call">ha iniziato una chiamata</string>
<string name="status_message">Messaggio di stato</string> <string name="status_message">Messaggio di stato</string>
<string name="status_reverted">Stato Ripristinato</string>
<string name="switch_to_breakout_room">Passa a sessione secondaria</string>
<string name="switch_to_main_room">Passa a stanza principale</string>
<string name="take_photo">Scatta una foto</string> <string name="take_photo">Scatta una foto</string>
<string name="take_photo_error_deleting_picture">Errore acquisizione immagine</string> <string name="take_photo_error_deleting_picture">Errore acquisizione immagine</string>
<string name="take_photo_permission">Non è possibile scattare una foto senza autorizzazioni</string> <string name="take_photo_permission">Non è possibile scattare una foto senza autorizzazioni</string>
@ -457,21 +663,38 @@
<string name="take_photo_toggle_torch">Accendi/spegni la torcia</string> <string name="take_photo_toggle_torch">Accendi/spegni la torcia</string>
<string name="thirtyMinutes">30 minuti</string> <string name="thirtyMinutes">30 minuti</string>
<string name="thisWeek">Questa settimana</string> <string name="thisWeek">Questa settimana</string>
<string name="this_is_a_test_message">Questo è un messaggio di test</string>
<string name="this_weekend">Questo fine settimana</string> <string name="this_weekend">Questo fine settimana</string>
<string name="thread_cancel">Cancella creazione argomento</string>
<string name="thread_notifications">Notifiche dagli argomenti</string>
<string name="thread_reply">Rispondi</string>
<string name="thread_title">Titolo dell\'argomento</string>
<string name="threads">Argomenti</string>
<string name="threads_list_empty">Nessun argomento trovato</string>
<string name="today">Oggi</string> <string name="today">Oggi</string>
<string name="tomorrow">Domani</string> <string name="tomorrow">Domani</string>
<string name="translate">Traduci</string> <string name="translate">Traduci</string>
<string name="translation">Traduzione</string>
<string name="translation_copy_translated_text">Copia testo tradotto</string>
<string name="translation_detect_language">Rileva lingua</string> <string name="translation_detect_language">Rileva lingua</string>
<string name="translation_device_settings">Impostazioni dei dispositivi</string> <string name="translation_device_settings">Impostazioni dei dispositivi</string>
<string name="translation_error_message">Impossibile rilevare la lingua</string> <string name="translation_error_message">Impossibile rilevare la lingua</string>
<string name="translation_error_title">Traduzione fallita</string> <string name="translation_error_title">Traduzione fallita</string>
<string name="translation_from">Da</string> <string name="translation_from">Da</string>
<string name="translation_to">A</string> <string name="translation_to">A</string>
<string name="typing_1_other">e 1 altro stanno scrivendo …</string>
<string name="typing_are_typing">stanno scrivendo …</string>
<string name="typing_is_typing">sta scrivendo …</string>
<string name="typing_x_others">e %1$s altri stanno scrivendo …</string>
<string name="unarchive_conversation">Disarchivia conversazione</string> <string name="unarchive_conversation">Disarchivia conversazione</string>
<string name="unarchive_hint">Una volta che una conversazione viene rimossa dall\'archivio, verrà nuovamente visualizzata per impostazione predefinita.</string>
<string name="unarchived_conversation">Non archiviato %1$s</string> <string name="unarchived_conversation">Non archiviato %1$s</string>
<string name="unban">Rimuovi ban</string> <string name="unban">Rimuovi ban</string>
<string name="unread">Da leggere</string> <string name="unread">Da leggere</string>
<string name="upload_new_avatar_from_device">Carica nuovo avatar dal dispositivo</string> <string name="upload_new_avatar_from_device">Carica nuovo avatar dal dispositivo</string>
<string name="user_absence">%1$s è fuori ufficio e potrebbe non rispondere</string>
<string name="user_absence_for_one_day">%1$s è fuori ufficio oggi</string>
<string name="user_absence_replacement">Sostituzione:</string>
<string name="user_avatar">Avatar dell\'utente</string> <string name="user_avatar">Avatar dell\'utente</string>
<string name="user_info_address">Indirizzo</string> <string name="user_info_address">Indirizzo</string>
<string name="user_info_displayname">Nome completo</string> <string name="user_info_displayname">Nome completo</string>
@ -483,5 +706,26 @@
<string name="userinfo_error_text">Impossibile ottenere le informazioni personali dell\'utente.</string> <string name="userinfo_error_text">Impossibile ottenere le informazioni personali dell\'utente.</string>
<string name="userinfo_no_info_headline">Nessuna informazione personale impostata</string> <string name="userinfo_no_info_headline">Nessuna informazione personale impostata</string>
<string name="userinfo_no_info_text">Aggiungi nome, immagine e dettagli di contatto sulla tua pagina di profilo.</string> <string name="userinfo_no_info_text">Aggiungi nome, immagine e dettagli di contatto sulla tua pagina di profilo.</string>
<string name="video_call">Chiamata video</string>
<string name="whats_your_status">Qual è il tuo stato?</string> <string name="whats_your_status">Qual è il tuo stato?</string>
</resources> <plurals name="see_similar_system_messages">
<item quantity="one">Vedi %d messaggio simile</item>
<item quantity="many">Vedi %d messaggi simili</item>
<item quantity="other">Vedi %d messaggi simili</item>
</plurals>
<plurals name="nc_conversation_auto_delete_info">
<item quantity="one">Questa conversazione verrà automaticamente cancellata per tutti dopo %1$d giorno di inattività.</item>
<item quantity="many">Questa conversazione verrà automaticamente cancellata per tutti dopo %1$d giorni di inattività.</item>
<item quantity="other">Questa conversazione verrà automaticamente cancellata per tutti dopo %1$d giorni di inattività.</item>
</plurals>
<plurals name="thread_replies">
<item quantity="one">%d risposta</item>
<item quantity="many">%d risposte</item>
<item quantity="other">%d risposte</item>
</plurals>
<plurals name="polls_amount_voters">
<item quantity="one">%d voto</item>
<item quantity="many">%d voti</item>
<item quantity="other">%d voti</item>
</plurals>
</resources>

View file

@ -166,6 +166,7 @@
<string name="nc_delete_conversation_more">会話を削除すると、ほかの参加者でも一緒に解除されます。</string> <string name="nc_delete_conversation_more">会話を削除すると、ほかの参加者でも一緒に解除されます。</string>
<string name="nc_delete_message">メッセージを削除</string> <string name="nc_delete_message">メッセージを削除</string>
<string name="nc_delete_message_leaked_to_matterbridge">メッセージは削除されましたが、他サービスへは転送されている可能性があります。</string> <string name="nc_delete_message_leaked_to_matterbridge">メッセージは削除されましたが、他サービスへは転送されている可能性があります。</string>
<string name="nc_delete_now">今すぐ削除</string>
<string name="nc_deleted_user">ユーザー%1$sは削除されました</string> <string name="nc_deleted_user">ユーザー%1$sは削除されました</string>
<string name="nc_demote">モデレータから降格</string> <string name="nc_demote">モデレータから降格</string>
<string name="nc_description_record_voice">ボイスメッセージを録音</string> <string name="nc_description_record_voice">ボイスメッセージを録音</string>
@ -225,6 +226,7 @@
<string name="nc_edit_message">編集</string> <string name="nc_edit_message">編集</string>
<string name="nc_edit_message_text">メッセージを編集</string> <string name="nc_edit_message_text">メッセージを編集</string>
<string name="nc_edited_by_admin">管理者に編集されました</string> <string name="nc_edited_by_admin">管理者に編集されました</string>
<string name="nc_event_schedule">スケジュール</string>
<string name="nc_expire_message_eight_hours">8時間</string> <string name="nc_expire_message_eight_hours">8時間</string>
<string name="nc_expire_message_four_weeks">4週間</string> <string name="nc_expire_message_four_weeks">4週間</string>
<string name="nc_expire_message_off">オフ</string> <string name="nc_expire_message_off">オフ</string>
@ -268,6 +270,7 @@
<string name="nc_important_conversation">重要な会議</string> <string name="nc_important_conversation">重要な会議</string>
<string name="nc_invitations">招待</string> <string name="nc_invitations">招待</string>
<string name="nc_join_open_conversations">オープンな会話に参加する</string> <string name="nc_join_open_conversations">オープンな会話に参加する</string>
<string name="nc_keep">保持</string>
<string name="nc_last_moderator_leaving_room_warning">会話から離れる前に、新しいモデレーターを昇格させる必要があります</string> <string name="nc_last_moderator_leaving_room_warning">会話から離れる前に、新しいモデレーターを昇格させる必要があります</string>
<string name="nc_last_modified">%1$s最終更新:%2$s</string> <string name="nc_last_modified">%1$s最終更新:%2$s</string>
<string name="nc_leave">会話を離れる</string> <string name="nc_leave">会話を離れる</string>
@ -289,6 +292,7 @@
<string name="nc_mark_as_unread">未読にする</string> <string name="nc_mark_as_unread">未読にする</string>
<string name="nc_message_failed">失敗しました</string> <string name="nc_message_failed">失敗しました</string>
<string name="nc_message_failed_to_send">メッセージの送信に失敗しました:</string> <string name="nc_message_failed_to_send">メッセージの送信に失敗しました:</string>
<string name="nc_message_offline">オフライン</string>
<string name="nc_message_quote_cancel_reply">返信をキャンセル</string> <string name="nc_message_quote_cancel_reply">返信をキャンセル</string>
<string name="nc_message_read">メッセージ既読</string> <string name="nc_message_read">メッセージ既読</string>
<string name="nc_message_sent">メッセージ送信済</string> <string name="nc_message_sent">メッセージ送信済</string>
@ -366,6 +370,7 @@
<string name="nc_search">検索</string> <string name="nc_search">検索</string>
<string name="nc_search_clear">検索をクリア</string> <string name="nc_search_clear">検索をクリア</string>
<string name="nc_select_an_account">アカウントを選択</string> <string name="nc_select_an_account">アカウントを選択</string>
<string name="nc_sensitive_conversation">プライベートな会話</string>
<string name="nc_sent_a_gif" formatted="true">%1$sがGIFを送信しました。</string> <string name="nc_sent_a_gif" formatted="true">%1$sがGIFを送信しました。</string>
<string name="nc_sent_a_gif_you">GIFを送信しました。</string> <string name="nc_sent_a_gif_you">GIFを送信しました。</string>
<string name="nc_sent_a_video" formatted="true">%1$sが動画ファイルを送信しました。</string> <string name="nc_sent_a_video" formatted="true">%1$sが動画ファイルを送信しました。</string>
@ -577,6 +582,8 @@
<string name="thisWeek">今週</string> <string name="thisWeek">今週</string>
<string name="this_is_a_test_message">これはテストメッセージです</string> <string name="this_is_a_test_message">これはテストメッセージです</string>
<string name="this_weekend">この週末</string> <string name="this_weekend">この週末</string>
<string name="thread_reply">返信</string>
<string name="threads">スレッド</string>
<string name="today">今日</string> <string name="today">今日</string>
<string name="tomorrow">明日</string> <string name="tomorrow">明日</string>
<string name="translate">翻訳</string> <string name="translate">翻訳</string>
@ -606,6 +613,9 @@
<string name="userinfo_no_info_headline">個人情報はありません</string> <string name="userinfo_no_info_headline">個人情報はありません</string>
<string name="userinfo_no_info_text">プロフィールページに名前、写真、連絡先の詳細を追加します。</string> <string name="userinfo_no_info_text">プロフィールページに名前、写真、連絡先の詳細を追加します。</string>
<string name="whats_your_status">現在のオンラインステータスは?</string> <string name="whats_your_status">現在のオンラインステータスは?</string>
<plurals name="thread_replies">
<item quantity="other">%d件の返信</item>
</plurals>
<plurals name="polls_amount_voters"> <plurals name="polls_amount_voters">
<item quantity="other">%d投票数</item> <item quantity="other">%d投票数</item>
</plurals> </plurals>

View file

@ -67,7 +67,6 @@
<string name="file_list_folder">katalog</string> <string name="file_list_folder">katalog</string>
<string name="file_list_loading">Wczytywanie…</string> <string name="file_list_loading">Wczytywanie…</string>
<string name="filename_progress">%1$s (%2$d)</string> <string name="filename_progress">%1$s (%2$d)</string>
<string name="followed_threads">Obserwowane wątki</string>
<string name="fourHours">4 godziny</string> <string name="fourHours">4 godziny</string>
<string name="get_invitations_error">Nie udało się pobrać oczekujących zaproszeń</string> <string name="get_invitations_error">Nie udało się pobrać oczekujących zaproszeń</string>
<string name="hint_edited_message">(edytowane)</string> <string name="hint_edited_message">(edytowane)</string>
@ -670,6 +669,7 @@
<string name="thread_notifications">Powiadomienia wątków</string> <string name="thread_notifications">Powiadomienia wątków</string>
<string name="thread_reply">Odpowiedź</string> <string name="thread_reply">Odpowiedź</string>
<string name="thread_title">Tytuł wątku</string> <string name="thread_title">Tytuł wątku</string>
<string name="threads">Wątki</string>
<string name="threads_list_empty">Nie znaleziono wątków</string> <string name="threads_list_empty">Nie znaleziono wątków</string>
<string name="today">Dzisiaj</string> <string name="today">Dzisiaj</string>
<string name="tomorrow">Jutro</string> <string name="tomorrow">Jutro</string>

View file

@ -67,7 +67,6 @@
<string name="file_list_folder">pasta</string> <string name="file_list_folder">pasta</string>
<string name="file_list_loading">Carregando …</string> <string name="file_list_loading">Carregando …</string>
<string name="filename_progress">%1$s (%2$d)</string> <string name="filename_progress">%1$s (%2$d)</string>
<string name="followed_threads">Fios seguidos</string>
<string name="fourHours">4 horas</string> <string name="fourHours">4 horas</string>
<string name="get_invitations_error">Falha ao buscar convites pendentes</string> <string name="get_invitations_error">Falha ao buscar convites pendentes</string>
<string name="hint_edited_message">(editado)</string> <string name="hint_edited_message">(editado)</string>
@ -670,6 +669,8 @@
<string name="thread_notifications">Notificações de fios</string> <string name="thread_notifications">Notificações de fios</string>
<string name="thread_reply">Responder</string> <string name="thread_reply">Responder</string>
<string name="thread_title">Título do fio</string> <string name="thread_title">Título do fio</string>
<string name="threads">Fios</string>
<string name="threads_list_empty">Nenhum fio encontrado</string>
<string name="today">Hoje</string> <string name="today">Hoje</string>
<string name="tomorrow">Amanhã</string> <string name="tomorrow">Amanhã</string>
<string name="translate">Traduzir</string> <string name="translate">Traduzir</string>

View file

@ -67,7 +67,6 @@
<string name="file_list_folder">каталог</string> <string name="file_list_folder">каталог</string>
<string name="file_list_loading">Загрузка …</string> <string name="file_list_loading">Загрузка …</string>
<string name="filename_progress">%1$s (%2$d)</string> <string name="filename_progress">%1$s (%2$d)</string>
<string name="followed_threads">Отслеживаемые темы</string>
<string name="fourHours">4 часа</string> <string name="fourHours">4 часа</string>
<string name="get_invitations_error">Не удалось получить ожидающие приглашения</string> <string name="get_invitations_error">Не удалось получить ожидающие приглашения</string>
<string name="hint_edited_message">(изменено)</string> <string name="hint_edited_message">(изменено)</string>
@ -664,6 +663,7 @@
<string name="thread_notifications">Уведомления для темы</string> <string name="thread_notifications">Уведомления для темы</string>
<string name="thread_reply">Ответ</string> <string name="thread_reply">Ответ</string>
<string name="thread_title">Заголовок темы</string> <string name="thread_title">Заголовок темы</string>
<string name="threads">Темы</string>
<string name="today">Сегодня</string> <string name="today">Сегодня</string>
<string name="tomorrow">Завтра</string> <string name="tomorrow">Завтра</string>
<string name="translate">Помочь с переводом</string> <string name="translate">Помочь с переводом</string>

View file

@ -67,7 +67,6 @@
<string name="file_list_folder">фасцикли</string> <string name="file_list_folder">фасцикли</string>
<string name="file_list_loading">Учитавање…</string> <string name="file_list_loading">Учитавање…</string>
<string name="filename_progress">%1$s (%2$d)</string> <string name="filename_progress">%1$s (%2$d)</string>
<string name="followed_threads">Низови које пратите</string>
<string name="fourHours">4 сата</string> <string name="fourHours">4 сата</string>
<string name="get_invitations_error">Није успело добављање позивница на чекању</string> <string name="get_invitations_error">Није успело добављање позивница на чекању</string>
<string name="hint_edited_message">(уређено)</string> <string name="hint_edited_message">(уређено)</string>
@ -670,6 +669,7 @@
<string name="thread_notifications">Обавештења низова</string> <string name="thread_notifications">Обавештења низова</string>
<string name="thread_reply">Одговори</string> <string name="thread_reply">Одговори</string>
<string name="thread_title">Наслов нити</string> <string name="thread_title">Наслов нити</string>
<string name="threads">Нити</string>
<string name="threads_list_empty">Није пронађен ниједан низ</string> <string name="threads_list_empty">Није пронађен ниједан низ</string>
<string name="today">Данас</string> <string name="today">Данас</string>
<string name="tomorrow">Сутра</string> <string name="tomorrow">Сутра</string>

View file

@ -66,7 +66,6 @@
<string name="file_list_folder">mapp</string> <string name="file_list_folder">mapp</string>
<string name="file_list_loading">Läser in …</string> <string name="file_list_loading">Läser in …</string>
<string name="filename_progress">%1$s (%2$d)</string> <string name="filename_progress">%1$s (%2$d)</string>
<string name="followed_threads">Följda trådar</string>
<string name="fourHours">4 timmar</string> <string name="fourHours">4 timmar</string>
<string name="get_invitations_error">Kunde inte hämta väntande inbjudningar</string> <string name="get_invitations_error">Kunde inte hämta väntande inbjudningar</string>
<string name="hint_edited_message">(redigerad)</string> <string name="hint_edited_message">(redigerad)</string>
@ -553,6 +552,8 @@
<string name="no_conversations_archived">Inga arkiverade konversationer</string> <string name="no_conversations_archived">Inga arkiverade konversationer</string>
<string name="no_offline_messages_saved">Inga offlinemeddelanden sparade</string> <string name="no_offline_messages_saved">Inga offlinemeddelanden sparade</string>
<string name="no_phone_book_integration_due_to_permissions">Ingen telefonnummerintegrering på grund av saknade behörigheter</string> <string name="no_phone_book_integration_due_to_permissions">Ingen telefonnummerintegrering på grund av saknade behörigheter</string>
<string name="notification_all_messages">Alla meddelanden</string>
<string name="notification_mention_only">Endast @-omnämnanden</string>
<string name="notification_off">Av</string> <string name="notification_off">Av</string>
<string name="notifications_default">Förvald</string> <string name="notifications_default">Förvald</string>
<string name="notifications_default_description">Följ konversationsinställningar</string> <string name="notifications_default_description">Följ konversationsinställningar</string>
@ -666,6 +667,8 @@
<string name="thread_notifications">Trådaviseringar</string> <string name="thread_notifications">Trådaviseringar</string>
<string name="thread_reply">Svara</string> <string name="thread_reply">Svara</string>
<string name="thread_title">Trådtitel</string> <string name="thread_title">Trådtitel</string>
<string name="threads">Trådar</string>
<string name="threads_list_empty">Inga trådar hittades</string>
<string name="today">Idag</string> <string name="today">Idag</string>
<string name="tomorrow">I morgon</string> <string name="tomorrow">I morgon</string>
<string name="translate">Översätt</string> <string name="translate">Översätt</string>

View file

@ -67,7 +67,6 @@
<string name="file_list_folder">folda</string> <string name="file_list_folder">folda</string>
<string name="file_list_loading">Inapakia</string> <string name="file_list_loading">Inapakia</string>
<string name="filename_progress">%1$s (%2$d)</string> <string name="filename_progress">%1$s (%2$d)</string>
<string name="followed_threads">Mazungumzo yaliyofuatwa</string>
<string name="fourHours">Masaa 4</string> <string name="fourHours">Masaa 4</string>
<string name="get_invitations_error">Imeshindwa kuleta mialiko ambayo haijashughulikiwa</string> <string name="get_invitations_error">Imeshindwa kuleta mialiko ambayo haijashughulikiwa</string>
<string name="hint_edited_message">(imehaririwa)</string> <string name="hint_edited_message">(imehaririwa)</string>
@ -672,6 +671,7 @@
<string name="thread_notifications">Arifa za mjadala</string> <string name="thread_notifications">Arifa za mjadala</string>
<string name="thread_reply">Jibu</string> <string name="thread_reply">Jibu</string>
<string name="thread_title">Kichwa cha mjadala</string> <string name="thread_title">Kichwa cha mjadala</string>
<string name="threads">Mijadala</string>
<string name="threads_list_empty">Hakuna nyuzi zilizopatikana</string> <string name="threads_list_empty">Hakuna nyuzi zilizopatikana</string>
<string name="today">Leo</string> <string name="today">Leo</string>
<string name="tomorrow">Kesho</string> <string name="tomorrow">Kesho</string>

View file

@ -67,7 +67,6 @@
<string name="file_list_folder">klasör</string> <string name="file_list_folder">klasör</string>
<string name="file_list_loading">Yükleniyor…</string> <string name="file_list_loading">Yükleniyor…</string>
<string name="filename_progress">%1$s (%2$d)</string> <string name="filename_progress">%1$s (%2$d)</string>
<string name="followed_threads">Takip edilen yazışmalar</string>
<string name="fourHours">4 saat</string> <string name="fourHours">4 saat</string>
<string name="get_invitations_error">Bekleyen davetler alınamadı</string> <string name="get_invitations_error">Bekleyen davetler alınamadı</string>
<string name="hint_edited_message">(düzenlendi)</string> <string name="hint_edited_message">(düzenlendi)</string>
@ -670,6 +669,7 @@
<string name="thread_notifications">Yazışma bildirimleri</string> <string name="thread_notifications">Yazışma bildirimleri</string>
<string name="thread_reply">Yanıtla</string> <string name="thread_reply">Yanıtla</string>
<string name="thread_title">Yazışma başlığı</string> <string name="thread_title">Yazışma başlığı</string>
<string name="threads">Yazışmalar</string>
<string name="threads_list_empty">Herhangi bir yazışma bulunamadı</string> <string name="threads_list_empty">Herhangi bir yazışma bulunamadı</string>
<string name="today">Bugün</string> <string name="today">Bugün</string>
<string name="tomorrow">Yarın</string> <string name="tomorrow">Yarın</string>

View file

@ -67,7 +67,6 @@
<string name="file_list_folder">каталог</string> <string name="file_list_folder">каталог</string>
<string name="file_list_loading">Завантаження …</string> <string name="file_list_loading">Завантаження …</string>
<string name="filename_progress">%1$s (%2$d)</string> <string name="filename_progress">%1$s (%2$d)</string>
<string name="followed_threads">Відстежувані теми</string>
<string name="fourHours">4 години</string> <string name="fourHours">4 години</string>
<string name="get_invitations_error">Не вдалося отримати очікувані запрошення</string> <string name="get_invitations_error">Не вдалося отримати очікувані запрошення</string>
<string name="hint_edited_message">(відредаговано)</string> <string name="hint_edited_message">(відредаговано)</string>
@ -661,6 +660,7 @@
<string name="this_weekend">Цими вихідними</string> <string name="this_weekend">Цими вихідними</string>
<string name="thread_cancel">Відхилити створення гілки</string> <string name="thread_cancel">Відхилити створення гілки</string>
<string name="thread_title">Назва гілки</string> <string name="thread_title">Назва гілки</string>
<string name="threads">Нитки</string>
<string name="today">Сьогодні</string> <string name="today">Сьогодні</string>
<string name="tomorrow">Завтра</string> <string name="tomorrow">Завтра</string>
<string name="translate">Перекласти</string> <string name="translate">Перекласти</string>

View file

@ -48,7 +48,6 @@
<string name="file_list_folder">文件夹</string> <string name="file_list_folder">文件夹</string>
<string name="file_list_loading">正在加载 …</string> <string name="file_list_loading">正在加载 …</string>
<string name="filename_progress">%1$s (%2$d)</string> <string name="filename_progress">%1$s (%2$d)</string>
<string name="followed_threads">关注的帖子</string>
<string name="fourHours">4小时</string> <string name="fourHours">4小时</string>
<string name="hint_edited_message">(已编辑)</string> <string name="hint_edited_message">(已编辑)</string>
<string name="invisible">隐身</string> <string name="invisible">隐身</string>
@ -286,7 +285,7 @@
<string name="nc_notify_me_mention">当被提及时提醒</string> <string name="nc_notify_me_mention">当被提及时提醒</string>
<string name="nc_notify_me_never">从不提醒</string> <string name="nc_notify_me_never">从不提醒</string>
<string name="nc_offline">当前离线,请检查您的连接</string> <string name="nc_offline">当前离线,请检查您的连接</string>
<string name="nc_ok">OK</string> <string name="nc_ok">确定</string>
<string name="nc_open_conversation_to_registered_users">向注册用户开放对话 </string> <string name="nc_open_conversation_to_registered_users">向注册用户开放对话 </string>
<string name="nc_open_to_guest_app_users">同样对访客用户开放</string> <string name="nc_open_to_guest_app_users">同样对访客用户开放</string>
<string name="nc_owner">所有者</string> <string name="nc_owner">所有者</string>
@ -548,6 +547,7 @@
<string name="this_weekend">本周末</string> <string name="this_weekend">本周末</string>
<string name="thread_notifications">帖子通知</string> <string name="thread_notifications">帖子通知</string>
<string name="thread_title">帖子‌标题</string> <string name="thread_title">帖子‌标题</string>
<string name="threads">帖子‌</string>
<string name="today">今天</string> <string name="today">今天</string>
<string name="tomorrow">明天</string> <string name="tomorrow">明天</string>
<string name="translate">翻译</string> <string name="translate">翻译</string>
@ -579,7 +579,7 @@
<string name="userinfo_error_text">检索个人用户信息失败</string> <string name="userinfo_error_text">检索个人用户信息失败</string>
<string name="userinfo_no_info_headline">未设置个人信息</string> <string name="userinfo_no_info_headline">未设置个人信息</string>
<string name="userinfo_no_info_text">在你的个人资料页上添加姓名、图片和联系方式。</string> <string name="userinfo_no_info_text">在你的个人资料页上添加姓名、图片和联系方式。</string>
<string name="whats_your_status">你什么状态</string> <string name="whats_your_status">您的状态如何</string>
<plurals name="polls_amount_voters"> <plurals name="polls_amount_voters">
<item quantity="other">%d 票</item> <item quantity="other">%d 票</item>
</plurals> </plurals>

View file

@ -67,7 +67,6 @@
<string name="file_list_folder">資料夾</string> <string name="file_list_folder">資料夾</string>
<string name="file_list_loading">加載中 …</string> <string name="file_list_loading">加載中 …</string>
<string name="filename_progress">%1$s%2$d</string> <string name="filename_progress">%1$s%2$d</string>
<string name="followed_threads">關注的討論串</string>
<string name="fourHours">4 小時</string> <string name="fourHours">4 小時</string>
<string name="get_invitations_error">無法擷取待定的邀請</string> <string name="get_invitations_error">無法擷取待定的邀請</string>
<string name="hint_edited_message">(已編輯)</string> <string name="hint_edited_message">(已編輯)</string>
@ -670,6 +669,7 @@
<string name="thread_notifications">討論串通知</string> <string name="thread_notifications">討論串通知</string>
<string name="thread_reply">回覆</string> <string name="thread_reply">回覆</string>
<string name="thread_title">討論串標題</string> <string name="thread_title">討論串標題</string>
<string name="threads">討論串</string>
<string name="threads_list_empty">找不到討論串</string> <string name="threads_list_empty">找不到討論串</string>
<string name="today">今日</string> <string name="today">今日</string>
<string name="tomorrow">明日</string> <string name="tomorrow">明日</string>

View file

@ -67,7 +67,6 @@
<string name="file_list_folder">資料夾</string> <string name="file_list_folder">資料夾</string>
<string name="file_list_loading">正在載入……</string> <string name="file_list_loading">正在載入……</string>
<string name="filename_progress">%1$s (%2$d)</string> <string name="filename_progress">%1$s (%2$d)</string>
<string name="followed_threads">已追蹤的討論串</string>
<string name="fourHours">4小時</string> <string name="fourHours">4小時</string>
<string name="get_invitations_error">擷取擱置中的邀請失敗</string> <string name="get_invitations_error">擷取擱置中的邀請失敗</string>
<string name="hint_edited_message">(已編輯)</string> <string name="hint_edited_message">(已編輯)</string>
@ -670,6 +669,7 @@
<string name="thread_notifications">討論串通知</string> <string name="thread_notifications">討論串通知</string>
<string name="thread_reply">回覆</string> <string name="thread_reply">回覆</string>
<string name="thread_title">討論串標題</string> <string name="thread_title">討論串標題</string>
<string name="threads">討論串</string>
<string name="threads_list_empty">找不到討論串</string> <string name="threads_list_empty">找不到討論串</string>
<string name="today">今天</string> <string name="today">今天</string>
<string name="tomorrow">明天</string> <string name="tomorrow">明天</string>

View file

@ -554,12 +554,12 @@ How to translate with transifex:
<string name="typing_x_others">and %1$s others are typing …</string> <string name="typing_x_others">and %1$s others are typing …</string>
<string name="deck_card_description">%1$s in %2$s</string> <string name="deck_card_description">%1$s in %2$s</string>
<string name="threads">Threads</string>
<string name="open_thread">Go to thread</string> <string name="open_thread">Go to thread</string>
<string name="start_thread">Create a thread</string> <string name="start_thread">Create a thread</string>
<string name="thread_title">Thread title</string> <string name="thread_title">Thread title</string>
<string name="thread_cancel">Cancel thread creation</string> <string name="thread_cancel">Cancel thread creation</string>
<string name="recent_threads">Recent threads</string> <string name="recent_threads">Recent threads</string>
<string name="followed_threads">Followed threads</string>
<string name="thread_reply">Reply</string> <string name="thread_reply">Reply</string>
<plurals name="thread_replies"> <plurals name="thread_replies">
<item quantity="one">%d reply</item> <item quantity="one">%d reply</item>

View file

@ -27,8 +27,9 @@ class MessageSearchHelperTest {
title: String = "foo", title: String = "foo",
messageExcerpt: String = "foo", messageExcerpt: String = "foo",
conversationToken: String = "foo", conversationToken: String = "foo",
messageId: String? = "foo" messageId: String? = "foo",
) = SearchMessageEntry(searchTerm, thumbnailURL, title, messageExcerpt, conversationToken, messageId) threadId: String? = "foo"
) = SearchMessageEntry(searchTerm, thumbnailURL, title, messageExcerpt, conversationToken, threadId, messageId)
@Before @Before
fun setUp() { fun setUp() {

View file

@ -20218,6 +20218,11 @@
<sha256 value="a5b98fdcd9db017d542e197225dcee18d658a56de1db2cc41e13196d6b1769a4" origin="Generated by Gradle"/> <sha256 value="a5b98fdcd9db017d542e197225dcee18d658a56de1db2cc41e13196d6b1769a4" origin="Generated by Gradle"/>
</artifact> </artifact>
</component> </component>
<component group="org.jetbrains.kotlin" name="kotlin-stdlib" version="2.2.20">
<artifact name="kotlin-stdlib-2.2.20.module">
<sha256 value="c918f5214d021a72e3767f2756e97d103a526e04f1423da3663efdfb5847db95" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-stdlib-common" version="1.6.21"> <component group="org.jetbrains.kotlin" name="kotlin-stdlib-common" version="1.6.21">
<artifact name="kotlin-stdlib-common-1.6.21.pom"> <artifact name="kotlin-stdlib-common-1.6.21.pom">
<sha256 value="5bc156ee73fd3c2dac8a5ec548d581b633333547c2febed9cf6547fff1526ba2" origin="Generated by Gradle"/> <sha256 value="5bc156ee73fd3c2dac8a5ec548d581b633333547c2febed9cf6547fff1526ba2" origin="Generated by Gradle"/>
@ -20396,6 +20401,11 @@
<sha256 value="dcf3de1ba53393a449c789f1e515f9aa88c603a6d356a480ea42ff7d4a98b737" origin="Generated by Gradle"/> <sha256 value="dcf3de1ba53393a449c789f1e515f9aa88c603a6d356a480ea42ff7d4a98b737" origin="Generated by Gradle"/>
</artifact> </artifact>
</component> </component>
<component group="org.jetbrains.kotlin" name="kotlin-stdlib-jdk7" version="2.2.0">
<artifact name="kotlin-stdlib-jdk7-2.2.0.pom">
<sha256 value="95c2189c35ef7bfc48951c32ad70847b21f3809d26f5d0a76e23570879988c30" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-stdlib-jdk8" version="1.6.10"> <component group="org.jetbrains.kotlin" name="kotlin-stdlib-jdk8" version="1.6.10">
<artifact name="kotlin-stdlib-jdk8-1.6.10.pom"> <artifact name="kotlin-stdlib-jdk8-1.6.10.pom">
<sha256 value="43a649fa737bfb35fa4af4e6de33e2f08a5d19104d7582ea40dbcd2b63790acc" origin="Generated by Gradle"/> <sha256 value="43a649fa737bfb35fa4af4e6de33e2f08a5d19104d7582ea40dbcd2b63790acc" origin="Generated by Gradle"/>
@ -20486,6 +20496,11 @@
<sha256 value="e550c5208d37f00b5338c79f722bef930691da0584f2d3e07d83d33a4da406e9" origin="Generated by Gradle"/> <sha256 value="e550c5208d37f00b5338c79f722bef930691da0584f2d3e07d83d33a4da406e9" origin="Generated by Gradle"/>
</artifact> </artifact>
</component> </component>
<component group="org.jetbrains.kotlin" name="kotlin-stdlib-jdk8" version="2.2.0">
<artifact name="kotlin-stdlib-jdk8-2.2.0.pom">
<sha256 value="234d06fdbdc29dcbc07447e28c4a26abab9599d5c3daa3d92a34e6aedea236a6" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-tooling-core" version="2.1.0"> <component group="org.jetbrains.kotlin" name="kotlin-tooling-core" version="2.1.0">
<artifact name="kotlin-tooling-core-2.1.0.jar"> <artifact name="kotlin-tooling-core-2.1.0.jar">
<sha256 value="4176c612098cb92df38a485ff8b10aaa24abb400f610d48f5088aeb07c8002c8" origin="Generated by Gradle"/> <sha256 value="4176c612098cb92df38a485ff8b10aaa24abb400f610d48f5088aeb07c8002c8" origin="Generated by Gradle"/>
@ -21826,6 +21841,11 @@
<sha256 value="7229b03b30a73ee91008072d9e4569a51d8547fae8c50f527841aef4c1b0baa8" origin="Generated by Gradle"/> <sha256 value="7229b03b30a73ee91008072d9e4569a51d8547fae8c50f527841aef4c1b0baa8" origin="Generated by Gradle"/>
</artifact> </artifact>
</component> </component>
<component group="org.ow2.asm" name="asm" version="9.8">
<artifact name="asm-9.8.pom">
<sha256 value="c1367c3bb383d7619e7f797e38df7513885f2eef04ae7b5908f68222657b5baa" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.ow2.asm" name="asm-analysis" version="9.2"> <component group="org.ow2.asm" name="asm-analysis" version="9.2">
<artifact name="asm-analysis-9.2.pom"> <artifact name="asm-analysis-9.2.pom">
<sha256 value="773cc1a2bfc14c6c4a979c51a075c0234a0bf694fc3abe4facf454f37a145f1b" origin="Generated by Gradle"/> <sha256 value="773cc1a2bfc14c6c4a979c51a075c0234a0bf694fc3abe4facf454f37a145f1b" origin="Generated by Gradle"/>
@ -21852,6 +21872,11 @@
<sha256 value="25c2379f2bfc2a1e64e62c39e2b93cfb0e489707852b08d6fc470b1c6a52b9ee" origin="Generated by Gradle"/> <sha256 value="25c2379f2bfc2a1e64e62c39e2b93cfb0e489707852b08d6fc470b1c6a52b9ee" origin="Generated by Gradle"/>
</artifact> </artifact>
</component> </component>
<component group="org.ow2.asm" name="asm-analysis" version="9.8">
<artifact name="asm-analysis-9.8.pom">
<sha256 value="c5747e25c72e1b07d5263c75c78ad61a626dd2458fafcafc23f81d3253ee42ed" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.ow2.asm" name="asm-commons" version="9.6"> <component group="org.ow2.asm" name="asm-commons" version="9.6">
<artifact name="asm-commons-9.6.pom"> <artifact name="asm-commons-9.6.pom">
<sha256 value="a98ae4895334baf8ff86bd66516210dbd9a03f1a6e15e47dda82afcf6b53d77c" origin="Generated by Gradle"/> <sha256 value="a98ae4895334baf8ff86bd66516210dbd9a03f1a6e15e47dda82afcf6b53d77c" origin="Generated by Gradle"/>
@ -21873,6 +21898,11 @@
<sha256 value="0bf1d31da0c9f9d8edc2f27dbbfdbbf73f1a715b72cd2fa28f3f195994d74ad1" origin="Generated by Gradle"/> <sha256 value="0bf1d31da0c9f9d8edc2f27dbbfdbbf73f1a715b72cd2fa28f3f195994d74ad1" origin="Generated by Gradle"/>
</artifact> </artifact>
</component> </component>
<component group="org.ow2.asm" name="asm-commons" version="9.8">
<artifact name="asm-commons-9.8.pom">
<sha256 value="f793e78f01f703717d09472e56cdf212fe298970c882e2116e8e549fb6d140c2" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.ow2.asm" name="asm-tree" version="9.2"> <component group="org.ow2.asm" name="asm-tree" version="9.2">
<artifact name="asm-tree-9.2.pom"> <artifact name="asm-tree-9.2.pom">
<sha256 value="f61f3ebea5520ddf19f452b03c426c7231bdd8a81d7ac28765cb5271225ac378" origin="Generated by Gradle"/> <sha256 value="f61f3ebea5520ddf19f452b03c426c7231bdd8a81d7ac28765cb5271225ac378" origin="Generated by Gradle"/>
@ -21899,6 +21929,11 @@
<sha256 value="13b905f65e7fd43ca7674f40cdaa37679ba4858c6c9d9fb8f17a7afd9baabc9e" origin="Generated by Gradle"/> <sha256 value="13b905f65e7fd43ca7674f40cdaa37679ba4858c6c9d9fb8f17a7afd9baabc9e" origin="Generated by Gradle"/>
</artifact> </artifact>
</component> </component>
<component group="org.ow2.asm" name="asm-tree" version="9.8">
<artifact name="asm-tree-9.8.pom">
<sha256 value="7149e7faa0e191296f879aeed9209c8942d398f0698d2cca1a9c628f2e2a8f77" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.ow2.asm" name="asm-util" version="9.6"> <component group="org.ow2.asm" name="asm-util" version="9.6">
<artifact name="asm-util-9.6.pom"> <artifact name="asm-util-9.6.pom">
<sha256 value="52c5c1d357404779d1a99b49a85bf9d3a085025b8516cb73dbef77c8ae34005e" origin="Generated by Gradle"/> <sha256 value="52c5c1d357404779d1a99b49a85bf9d3a085025b8516cb73dbef77c8ae34005e" origin="Generated by Gradle"/>
@ -21920,6 +21955,11 @@
<sha256 value="7fb5e63362b2d52d77dca3b754aebad635751d3fc520191e9500ece9e2345b71" origin="Generated by Gradle"/> <sha256 value="7fb5e63362b2d52d77dca3b754aebad635751d3fc520191e9500ece9e2345b71" origin="Generated by Gradle"/>
</artifact> </artifact>
</component> </component>
<component group="org.ow2.asm" name="asm-util" version="9.8">
<artifact name="asm-util-9.8.pom">
<sha256 value="24d0970e171e2917b83a8f0f05d50a1cdb5c82e508555b52dbcc9d3361c4f0ec" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.parceler" name="parceler-api" version="1.1.13"> <component group="org.parceler" name="parceler-api" version="1.1.13">
<artifact name="parceler-api-1.1.13.jar"> <artifact name="parceler-api-1.1.13.jar">
<sha256 value="31af89b4af6e853be4fd3f38a86dcf351e465660486a77c2fb10685ced34b38b" origin="Generated by Gradle"/> <sha256 value="31af89b4af6e853be4fd3f38a86dcf351e465660486a77c2fb10685ced34b38b" origin="Generated by Gradle"/>

View file

@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-9.0.0-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-bin.zip
networkTimeout=10000 networkTimeout=10000
validateDistributionUrl=true validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME

3
gradlew vendored
View file

@ -114,7 +114,6 @@ case "$( uname )" in #(
NONSTOP* ) nonstop=true ;; NONSTOP* ) nonstop=true ;;
esac esac
CLASSPATH="\\\"\\\""
# Determine the Java command to use to start the JVM. # Determine the Java command to use to start the JVM.
@ -172,7 +171,6 @@ fi
# For Cygwin or MSYS, switch paths to Windows format before running java # For Cygwin or MSYS, switch paths to Windows format before running java
if "$cygwin" || "$msys" ; then if "$cygwin" || "$msys" ; then
APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
JAVACMD=$( cygpath --unix "$JAVACMD" ) JAVACMD=$( cygpath --unix "$JAVACMD" )
@ -212,7 +210,6 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
set -- \ set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \ "-Dorg.gradle.appname=$APP_BASE_NAME" \
-classpath "$CLASSPATH" \
-jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
"$@" "$@"

3
gradlew.bat vendored
View file

@ -70,11 +70,10 @@ goto fail
:execute :execute
@rem Setup the command line @rem Setup the command line
set CLASSPATH=
@rem Execute Gradle @rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
:end :end
@rem End local scope for the variables with windows NT shell @rem End local scope for the variables with windows NT shell