Compare commits

...

2 Commits

Author SHA1 Message Date
Michelle Tang f714df1e78 Bump version to 8.20.5 2026-07-30 16:13:57 -04:00
Michelle Tang 7b386a4d5a Add debug log option to contact support flow in regV5.
Co-authored-by: Greyson Parrelli <greyson@signal.org>
2026-07-30 15:54:02 -04:00
95 changed files with 944 additions and 48 deletions
+2 -2
View File
@@ -33,8 +33,8 @@ val staticIps = Properties().apply { file("static-ips.properties").reader().use
staticIps.stringPropertyNames().forEach { rootProject.extra[it] = staticIps.getProperty(it) }
val canonicalVersionCode = 1724
val canonicalVersionName = "8.20.4"
val currentHotfixVersion = 0
val canonicalVersionName = "8.20.5"
val currentHotfixVersion = 1
val maxHotfixVersions = 100
// We don't want versions to ever end in 0 so that they don't conflict with nightly versions
@@ -104,6 +104,7 @@ import org.thoughtcrime.securesms.mms.SignalGlideModule;
import org.thoughtcrime.securesms.ratelimit.RateLimitUtil;
import org.thoughtcrime.securesms.recipients.Recipient;
import org.thoughtcrime.securesms.registration.util.RegistrationUtil;
import org.thoughtcrime.securesms.registration.v2.AppContactSupportController;
import org.thoughtcrime.securesms.registration.v2.AppRegistrationNetworkController;
import org.thoughtcrime.securesms.registration.v2.AppRegistrationStorageController;
import org.thoughtcrime.securesms.ringrtc.RingRtcLogger;
@@ -119,7 +120,6 @@ import org.thoughtcrime.securesms.service.webrtc.AndroidTelecomUtil;
import org.thoughtcrime.securesms.storage.StorageSyncHelper;
import org.thoughtcrime.securesms.util.AppStartup;
import org.thoughtcrime.securesms.util.BatterySnapshotTracker;
import org.thoughtcrime.securesms.util.CommunicationActions;
import org.thoughtcrime.securesms.util.DeviceProperties;
import org.thoughtcrime.securesms.util.DynamicTheme;
import org.thoughtcrime.securesms.util.Environment;
@@ -128,7 +128,6 @@ import org.thoughtcrime.securesms.util.RemoteConfig;
import org.thoughtcrime.securesms.util.SignalLocalMetrics;
import org.thoughtcrime.securesms.util.SignalUncaughtExceptionHandler;
import org.thoughtcrime.securesms.util.SqlCipherLogTarget;
import org.thoughtcrime.securesms.util.SupportEmailUtil;
import org.thoughtcrime.securesms.util.TextSecurePreferences;
import org.thoughtcrime.securesms.util.VersionTracker;
import org.thoughtcrime.securesms.util.dynamiclanguage.DynamicLanguageContextWrapper;
@@ -441,11 +440,7 @@ public class ApplicationContext extends Application implements AppForegroundObse
context.startActivity(EditProxyActivity.intent(context));
return Unit.INSTANCE;
},
(context, subject) -> {
String body = SupportEmailUtil.generateSupportEmailBody(context, subject, null, null);
CommunicationActions.openEmail(context, SupportEmailUtil.getSupportEmailAddress(context), subject, body);
return Unit.INSTANCE;
}
new AppContactSupportController()
)
);
}
@@ -0,0 +1,51 @@
/*
* Copyright 2026 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.thoughtcrime.securesms.registration.v2
import android.content.Context
import kotlinx.coroutines.suspendCancellableCoroutine
import org.signal.core.util.logging.Log
import org.signal.core.util.orNull
import org.signal.registration.ContactSupportController
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.logsubmit.SubmitDebugLogRepository
import org.thoughtcrime.securesms.util.CommunicationActions
import org.thoughtcrime.securesms.util.SupportEmailUtil
import kotlin.coroutines.resume
/**
* App-side implementation of the registration module's [ContactSupportController].
*/
class AppContactSupportController : ContactSupportController {
companion object {
val TAG = Log.tag(AppContactSupportController::class.java)
}
override suspend fun uploadDebugLog(): String? {
return suspendCancellableCoroutine { continuation ->
try {
SubmitDebugLogRepository().buildAndSubmitLog { result ->
continuation.resume(result.orNull())
}
} catch (e: Throwable) {
Log.w(TAG, "Failed to submit debug log.", e)
continuation.resume(null)
}
}
}
override fun sendSupportEmail(context: Context, subject: String, filter: String, debugLogUrl: String?) {
val prefix = if (debugLogUrl != null) {
"\n${context.getString(R.string.HelpFragment__debug_log)} $debugLogUrl\n\n"
} else {
""
}
val body = SupportEmailUtil.generateSupportEmailBody(context, filter, prefix, null)
CommunicationActions.openEmail(context, SupportEmailUtil.getSupportEmailAddress(context), subject, body)
}
}
@@ -6,6 +6,7 @@
package org.signal.registration.sample
import android.app.Application
import android.content.Context
import android.os.Build
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import org.signal.core.models.ServiceId.ACI
@@ -14,6 +15,7 @@ import org.signal.core.ui.CoreUiDependencies
import org.signal.core.util.Base64
import org.signal.core.util.logging.AndroidLogger
import org.signal.core.util.logging.Log
import org.signal.registration.ContactSupportController
import org.signal.registration.RegistrationDependencies
import org.signal.registration.sample.debug.DebugNetworkController
import org.signal.registration.sample.dependencies.DemoNetworkController
@@ -69,11 +71,15 @@ class RegistrationApplication : Application() {
.setPositiveButton(android.R.string.ok, null)
.show()
},
contactSupportCallback = { context, subject ->
MaterialAlertDialogBuilder(context)
.setMessage("Contact support not supported in the demo. Subject: $subject")
.setPositiveButton(android.R.string.ok, null)
.show()
contactSupportController = object : ContactSupportController {
override suspend fun uploadDebugLog(): String? = null
override fun sendSupportEmail(context: Context, subject: String, filter: String, debugLogUrl: String?) {
MaterialAlertDialogBuilder(context)
.setMessage("Contact support not supported in the demo. Subject: $subject, Filter: $filter, Debug log: $debugLogUrl")
.setPositiveButton(android.R.string.ok, null)
.show()
}
},
isLinkAndSyncAvailable = true
)
@@ -0,0 +1,18 @@
/*
* Copyright 2026 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.signal.registration
import android.content.Context
/**
* Controller to let users contact support with a debug log
*/
interface ContactSupportController {
suspend fun uploadDebugLog(): String?
fun sendSupportEmail(context: Context, subject: String, filter: String, debugLogUrl: String?)
}
@@ -16,8 +16,7 @@ import org.signal.registration.util.SensitiveLog
* the actual app would just pass null.
* @param debugLogCallback Callback to launch the debug log viewer. The actual app provides the real implementation.
* @param proxyConfigCallback Callback to launch the proxy configuration settings. The actual app provides the real implementation.
* @param contactSupportCallback Callback to let the user contact support, using the provided email subject. The actual app provides the real
* implementation.
* @param contactSupportController Lets the user contact support, optionally attaching a debug log. The actual app provides the real implementation.
*/
class RegistrationDependencies(
val networkController: NetworkController,
@@ -26,7 +25,7 @@ class RegistrationDependencies(
val sensitiveLogger: Log.Logger?,
val debugLogCallback: ((Context) -> Unit)?,
val proxyConfigCallback: ((Context) -> Unit)?,
val contactSupportCallback: ((Context, subject: String) -> Unit)?
val contactSupportController: ContactSupportController?
) {
companion object {
lateinit var dependencies: RegistrationDependencies
@@ -81,7 +81,8 @@ class PinEntryForRegistrationLockViewModel(
is PinEntryScreenEvents.ToggleKeyboard,
is PinEntryScreenEvents.NetworkErrorDialogDismissed,
is PinEntryScreenEvents.RateLimitedDialogDismissed,
is PinEntryScreenEvents.UnknownErrorDialogDismissed -> {
is PinEntryScreenEvents.UnknownErrorDialogDismissed,
is PinEntryScreenEvents.DismissContactSupport -> {
stateEmitter(PinEntryScreenEventHandler.applyEvent(state, event))
}
}
@@ -84,12 +84,15 @@ class PinEntryForSmsBypassViewModel(
is PinEntryScreenEvents.Skip -> {
handleSkip()
}
is PinEntryScreenEvents.CreateNewPin,
is PinEntryScreenEvents.ContactSupport -> Unit
is PinEntryScreenEvents.CreateNewPin -> Unit
is PinEntryScreenEvents.ContactSupport -> {
stateEmitter(state.copy(showContactSupportDialog = true))
}
is PinEntryScreenEvents.ToggleKeyboard,
is PinEntryScreenEvents.NetworkErrorDialogDismissed,
is PinEntryScreenEvents.RateLimitedDialogDismissed,
is PinEntryScreenEvents.UnknownErrorDialogDismissed -> {
is PinEntryScreenEvents.UnknownErrorDialogDismissed,
is PinEntryScreenEvents.DismissContactSupport -> {
stateEmitter(PinEntryScreenEventHandler.applyEvent(state, event))
}
}
@@ -82,12 +82,13 @@ class PinEntryForSvrRestoreViewModel(
}
is PinEntryScreenEvents.ContactSupport -> {
Log.i(TAG, "[ContactSupport] User opted to contact support after no data was found.")
stateEmitter(state.copy(showNoDataToRestoreDialog = false))
stateEmitter(state.copy(showNoDataToRestoreDialog = false, showContactSupportDialog = true))
}
is PinEntryScreenEvents.ToggleKeyboard,
is PinEntryScreenEvents.NetworkErrorDialogDismissed,
is PinEntryScreenEvents.RateLimitedDialogDismissed,
is PinEntryScreenEvents.UnknownErrorDialogDismissed -> {
is PinEntryScreenEvents.UnknownErrorDialogDismissed,
is PinEntryScreenEvents.DismissContactSupport -> {
stateEmitter(PinEntryScreenEventHandler.applyEvent(state, event))
}
is PinEntryScreenEvents.ParentStateChanged -> Unit
@@ -39,7 +39,6 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.focus.FocusRequester
import androidx.compose.ui.focus.focusRequester
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.res.pluralStringResource
import androidx.compose.ui.res.stringResource
@@ -55,11 +54,11 @@ import org.signal.core.ui.compose.Dialogs
import org.signal.core.ui.compose.Previews
import org.signal.core.ui.compose.SignalIcons
import org.signal.registration.R
import org.signal.registration.RegistrationDependencies
import org.signal.registration.screens.PinVisualTransformation
import org.signal.registration.screens.RegistrationScaffold
import org.signal.registration.screens.TwoPaneRegistrationScaffold
import org.signal.registration.screens.attachDebugLogHelper
import org.signal.registration.screens.shared.ContactSupportDialog
import org.signal.registration.test.TestTags
/**
@@ -72,13 +71,11 @@ fun PinEntryScreen(
onEvent: (PinEntryScreenEvents) -> Unit,
modifier: Modifier = Modifier
) {
val context = LocalContext.current
var pin by rememberSaveable { mutableStateOf("") }
var showSkipDialog by rememberSaveable { mutableStateOf(false) }
val focusRequester = remember { FocusRequester() }
val canSubmitPin = pin.isNotEmpty()
val supportEmailSubject = stringResource(R.string.PinEntryScreen__contact_support_email_subject)
val onContactSupport: () -> Unit = { RegistrationDependencies.get().contactSupportCallback?.invoke(context, supportEmailSubject) }
val onContactSupport: () -> Unit = { onEvent(PinEntryScreenEvents.ContactSupport) }
when (val params = RegistrationScaffold.rememberLayoutParams()) {
is RegistrationScaffold.Params.OnePane -> OnePaneLayout(
@@ -151,10 +148,7 @@ fun PinEntryScreen(
confirm = stringResource(R.string.PinEntryScreen__create_new_pin),
dismiss = stringResource(R.string.PinEntryScreen__contact_support),
onConfirm = { onEvent(PinEntryScreenEvents.CreateNewPin) },
onDeny = {
onContactSupport()
onEvent(PinEntryScreenEvents.ContactSupport)
},
onDeny = { onEvent(PinEntryScreenEvents.ContactSupport) },
onDismissRequest = { onEvent(PinEntryScreenEvents.ContactSupport) },
properties = DialogProperties(
dismissOnBackPress = false,
@@ -163,6 +157,14 @@ fun PinEntryScreen(
)
}
if (state.showContactSupportDialog) {
ContactSupportDialog(
subject = R.string.PinEntryScreen__contact_support_email_subject,
filter = R.string.PinEntryScreen__contact_support_email_filter,
onDismiss = { onEvent(PinEntryScreenEvents.DismissContactSupport) }
)
}
// autofocus PIN field on initial composition
LaunchedEffect(Unit) {
focusRequester.requestFocus()
@@ -13,6 +13,7 @@ object PinEntryScreenEventHandler {
PinEntryScreenEvents.NetworkErrorDialogDismissed -> state.copy(dialogs = state.dialogs.copy(networkError = false))
PinEntryScreenEvents.RateLimitedDialogDismissed -> state.copy(dialogs = state.dialogs.copy(rateLimitedRetryAfter = null))
PinEntryScreenEvents.UnknownErrorDialogDismissed -> state.copy(dialogs = state.dialogs.copy(unknownError = false))
PinEntryScreenEvents.DismissContactSupport -> state.copy(showContactSupportDialog = false)
else -> throw UnsupportedOperationException("This even is not handled generically!")
}
}
@@ -27,4 +27,5 @@ sealed class PinEntryScreenEvents {
data object Skip : PinEntryScreenEvents()
data object CreateNewPin : PinEntryScreenEvents()
data object ContactSupport : PinEntryScreenEvents()
data object DismissContactSupport : PinEntryScreenEvents()
}
@@ -12,6 +12,7 @@ data class PinEntryState(
val isAlphanumericKeyboard: Boolean = false,
val loading: Boolean = false,
val showNoDataToRestoreDialog: Boolean = false,
val showContactSupportDialog: Boolean = false,
val triesRemaining: Int? = null,
val mode: Mode = Mode.SvrRestore,
val dialogs: Dialogs = Dialogs(),
@@ -43,11 +43,11 @@ import org.signal.core.ui.compose.Previews
import org.signal.core.ui.compose.SignalIcons
import org.signal.core.ui.compose.theme.SignalTheme
import org.signal.registration.R
import org.signal.registration.RegistrationDependencies
import org.signal.registration.screens.OnePaneRegistrationScaffold
import org.signal.registration.screens.RegistrationScaffold
import org.signal.registration.screens.TwoPaneRegistrationScaffold
import org.signal.registration.screens.attachDebugLogHelper
import org.signal.registration.screens.shared.ContactSupportDialog
import org.signal.registration.screens.shared.RestoreProgressDialog
import org.signal.registration.test.TestTags
import java.util.Date
@@ -300,8 +300,13 @@ private fun RestoreStateDialogs(
state: RemoteBackupRestoreState,
onEvent: (RemoteBackupRestoreScreenEvents) -> Unit
) {
val context = LocalContext.current
val contactSupportEmailSubject = stringResource(R.string.RemoteRestoreScreen__contact_support_email_subject)
if (state.showContactSupportDialog) {
ContactSupportDialog(
subject = R.string.RemoteRestoreScreen__contact_support_email_subject,
filter = R.string.RemoteRestoreScreen__contact_support_email_filter,
onDismiss = { onEvent(RemoteBackupRestoreScreenEvents.DismissContactSupport) }
)
}
when (state.restoreState) {
RemoteBackupRestoreState.RestoreState.None -> Unit
@@ -338,7 +343,7 @@ private fun RestoreStateDialogs(
confirm = stringResource(R.string.RemoteRestoreScreen__contact_support),
dismiss = stringResource(android.R.string.ok),
onConfirm = {
RegistrationDependencies.get().contactSupportCallback?.invoke(context, contactSupportEmailSubject)
onEvent(RemoteBackupRestoreScreenEvents.ContactSupport)
onEvent(RemoteBackupRestoreScreenEvents.DismissError)
},
onDismiss = { onEvent(RemoteBackupRestoreScreenEvents.DismissError) }
@@ -13,4 +13,8 @@ sealed class RemoteBackupRestoreScreenEvents {
data object Cancel : RemoteBackupRestoreScreenEvents()
data object DismissError : RemoteBackupRestoreScreenEvents()
data object ContactSupport : RemoteBackupRestoreScreenEvents()
data object DismissContactSupport : RemoteBackupRestoreScreenEvents()
}
@@ -16,10 +16,11 @@ data class RemoteBackupRestoreState(
val backupSize: Long = 0,
val restoreState: RestoreState = RestoreState.None,
val restoreProgress: RestoreProgress? = null,
val loadAttempts: Int = 0
val loadAttempts: Int = 0,
val showContactSupportDialog: Boolean = false
) {
override fun toString(): String = "RemoteBackupRestoreState(aep=${aep.displayValue.censor()}, loadState=$loadState, backupTime=$backupTime, backupSize=$backupSize, restoreState=$restoreState, restoreProgress=$restoreProgress, loadAttempts=$loadAttempts)"
override fun toString(): String = "RemoteBackupRestoreState(aep=${aep.displayValue.censor()}, loadState=$loadState, backupTime=$backupTime, backupSize=$backupSize, restoreState=$restoreState, restoreProgress=$restoreProgress, loadAttempts=$loadAttempts, showContactSupportDialog=$showContactSupportDialog)"
enum class LoadState {
Loading,
@@ -79,6 +79,12 @@ class RemoteBackupRestoreViewModel(
is RemoteBackupRestoreScreenEvents.DismissError -> {
stateEmitter(state.copy(restoreState = RemoteBackupRestoreState.RestoreState.None, restoreProgress = null))
}
is RemoteBackupRestoreScreenEvents.ContactSupport -> {
stateEmitter(state.copy(showContactSupportDialog = true))
}
is RemoteBackupRestoreScreenEvents.DismissContactSupport -> {
stateEmitter(state.copy(showContactSupportDialog = false))
}
}
}
@@ -0,0 +1,90 @@
/*
* Copyright 2026 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.signal.registration.screens.shared
import androidx.annotation.StringRes
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.lifecycle.viewmodel.compose.viewModel
import org.signal.core.ui.compose.DayNightPreviews
import org.signal.core.ui.compose.Dialogs
import org.signal.core.ui.compose.Previews
import org.signal.registration.R
import org.signal.registration.RegistrationDependencies
/**
* Three-option contact support dialog. Mirrors the app-module ContactSupportDialog.
*/
@Composable
fun ContactSupportDialog(
state: ContactSupportState,
onEvent: (ContactSupportEvents) -> Unit
) {
if (state.showAsProgress) {
Dialogs.IndeterminateProgressDialog()
} else {
Dialogs.AdvancedAlertDialog(
title = stringResource(R.string.ContactSupportDialog__submit_debug_log),
body = stringResource(R.string.ContactSupportDialog__your_debug_logs),
positive = stringResource(R.string.ContactSupportDialog__submit_with_debug_log),
onPositive = { onEvent(ContactSupportEvents.SubmitWithDebugLog) },
neutral = stringResource(R.string.ContactSupportDialog__submit_without_debug_log),
onNeutral = { onEvent(ContactSupportEvents.SubmitWithoutDebugLog) },
negative = stringResource(android.R.string.cancel),
onNegative = { onEvent(ContactSupportEvents.Cancel) }
)
}
}
@Composable
fun ContactSupportDialog(
@StringRes subject: Int,
@StringRes filter: Int,
onDismiss: () -> Unit
) {
val controller = RegistrationDependencies.get().contactSupportController ?: throw AssertionError("Missing support controller")
val viewModel: ContactSupportViewModel = viewModel(factory = ContactSupportViewModel.Factory(controller))
val state by viewModel.state.collectAsStateWithLifecycle()
val context = LocalContext.current
val subjectString = stringResource(subject)
val filterString = stringResource(filter)
LaunchedEffect(state.sendEmail) {
if (state.sendEmail) {
controller.sendSupportEmail(context, subjectString, filterString, state.debugLogUrl)
viewModel.onEvent(ContactSupportEvents.Cancel)
onDismiss()
}
}
ContactSupportDialog(
state = state,
onEvent = { event ->
if (event is ContactSupportEvents.Cancel) {
viewModel.onEvent(ContactSupportEvents.Cancel)
onDismiss()
} else {
viewModel.onEvent(event)
}
}
)
}
@DayNightPreviews
@Composable
private fun ContactSupportDialogPreview() {
Previews.Preview {
ContactSupportDialog(
state = ContactSupportState(),
onEvent = {}
)
}
}
@@ -0,0 +1,7 @@
package org.signal.registration.screens.shared
sealed class ContactSupportEvents {
data object SubmitWithDebugLog : ContactSupportEvents()
data object SubmitWithoutDebugLog : ContactSupportEvents()
data object Cancel : ContactSupportEvents()
}
@@ -0,0 +1,7 @@
package org.signal.registration.screens.shared
data class ContactSupportState(
val showAsProgress: Boolean = false,
val sendEmail: Boolean = false,
val debugLogUrl: String? = null
)
@@ -0,0 +1,48 @@
package org.signal.registration.screens.shared
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asStateFlow
import org.signal.core.ui.compose.EventDrivenViewModel
import org.signal.core.util.logging.Log
import org.signal.registration.ContactSupportController
/**
* Intended to be used to drive [ContactSupportDialog]
*/
class ContactSupportViewModel(
private val controller: ContactSupportController
) : EventDrivenViewModel<ContactSupportEvents>(TAG) {
companion object {
private val TAG = Log.tag(ContactSupportViewModel::class)
}
private val _state = MutableStateFlow(ContactSupportState())
val state: StateFlow<ContactSupportState> = _state.asStateFlow()
override suspend fun processEvent(event: ContactSupportEvents) {
when (event) {
is ContactSupportEvents.SubmitWithDebugLog -> submitWithLogs()
is ContactSupportEvents.SubmitWithoutDebugLog -> _state.value = ContactSupportState(sendEmail = true)
is ContactSupportEvents.Cancel -> _state.value = ContactSupportState()
}
}
private suspend fun submitWithLogs() {
_state.value = _state.value.copy(showAsProgress = true)
val debugLogUrl = controller.uploadDebugLog()
if (debugLogUrl == null) {
Log.w(TAG, "Failed to upload a debug log. Continuing without one.")
}
_state.value = ContactSupportState(sendEmail = true, debugLogUrl = debugLogUrl)
}
class Factory(private val controller: ContactSupportController) : ViewModelProvider.Factory {
override fun <T : ViewModel> create(modelClass: Class<T>): T {
return modelClass.cast(ContactSupportViewModel(controller)) as T
}
}
}
@@ -34,7 +34,6 @@ import org.signal.core.ui.compose.Previews
import org.signal.core.ui.compose.dismissWithAnimation
import org.signal.core.util.LinkActions
import org.signal.registration.R
import org.signal.registration.RegistrationDependencies
/**
* Bottom sheet shown during registration when the user is having trouble entering their verification code. Offers
@@ -42,11 +41,13 @@ import org.signal.registration.RegistrationDependencies
*/
@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun ContactSupportBottomSheet(onDismiss: () -> Unit) {
fun ContactSupportBottomSheet(
onContactSupport: () -> Unit,
onDismiss: () -> Unit
) {
val sheetState = rememberModalBottomSheetState()
val scope = rememberCoroutineScope()
val context = LocalContext.current
val supportEmailSubject = stringResource(R.string.VerificationCodeScreen__contact_support_email_subject)
val supportCenterUrl = stringResource(R.string.VerificationCodeScreen__support_center_url)
BottomSheets.BottomSheet(
@@ -60,7 +61,10 @@ fun ContactSupportBottomSheet(onDismiss: () -> Unit) {
}
},
onContactSupportClick = {
RegistrationDependencies.get().contactSupportCallback?.invoke(context, supportEmailSubject)
sheetState.dismissWithAnimation(scope) {
onDismiss()
onContactSupport()
}
}
)
}
@@ -59,6 +59,7 @@ import org.signal.registration.screens.OnePaneRegistrationScaffold
import org.signal.registration.screens.RegistrationScaffold
import org.signal.registration.screens.TwoPaneRegistrationScaffold
import org.signal.registration.screens.attachDebugLogHelper
import org.signal.registration.screens.shared.ContactSupportDialog
import org.signal.registration.test.TestTags
import kotlin.time.Duration.Companion.seconds
@@ -121,10 +122,19 @@ fun VerificationCodeScreen(
if (state.showContactSupportSheet) {
ContactSupportBottomSheet(
onContactSupport = { onEvent(VerificationCodeScreenEvents.ContactSupportDialog) },
onDismiss = { onEvent(VerificationCodeScreenEvents.DismissContactSupport) }
)
}
if (state.showContactSupportDialog) {
ContactSupportDialog(
subject = R.string.VerificationCodeScreen__contact_support_email_subject,
filter = R.string.VerificationCodeScreen__contact_support_email_filter,
onDismiss = { onEvent(VerificationCodeScreenEvents.DismissContactSupportDialog) }
)
}
Scaffold(
snackbarHost = { SnackbarHost(snackbarHostState) },
modifier = modifier
@@ -45,6 +45,10 @@ sealed class VerificationCodeScreenEvents {
data object DismissContactSupport : VerificationCodeScreenEvents()
data object ContactSupportDialog : VerificationCodeScreenEvents()
data object DismissContactSupportDialog : VerificationCodeScreenEvents()
/** The network error snackbar was shown and dismissed. */
data object NetworkErrorSnackbarDismissed : VerificationCodeScreenEvents()
@@ -19,9 +19,10 @@ data class VerificationCodeState(
val digits: List<String> = List(CODE_LENGTH) { "" },
val focusedDigitIndex: Int = 0,
val showContactSupportSheet: Boolean = false,
val showContactSupportDialog: Boolean = false,
val snackbars: Snackbars = Snackbars()
) {
override fun toString(): String = "VerificationCodeState(sessionMetadata=$sessionMetadata, e164=$e164, isSubmittingCode=$isSubmittingCode, rateLimits=$rateLimits, incorrectCodeAttempts=$incorrectCodeAttempts, autoFillCode=${autoFillCode?.let { "present" }}, digitsEntered=${digits.count { it.isNotEmpty() }}, focusedDigitIndex=$focusedDigitIndex, showContactSupportSheet=$showContactSupportSheet, snackbars=$snackbars)"
override fun toString(): String = "VerificationCodeState(sessionMetadata=$sessionMetadata, e164=$e164, isSubmittingCode=$isSubmittingCode, rateLimits=$rateLimits, incorrectCodeAttempts=$incorrectCodeAttempts, autoFillCode=${autoFillCode?.let { "present" }}, digitsEntered=${digits.count { it.isNotEmpty() }}, focusedDigitIndex=$focusedDigitIndex, showContactSupportSheet=$showContactSupportSheet, showContactSupportDialog=$showContactSupportDialog, snackbars=$snackbars)"
/**
* The full code as currently entered. Only meaningful when [isComplete] is true.
@@ -135,6 +135,8 @@ class VerificationCodeViewModel(
is VerificationCodeScreenEvents.CallMe -> applyResendCode(state, NetworkController.VerificationCodeTransport.VOICE)
is VerificationCodeScreenEvents.HavingTrouble -> state.copy(showContactSupportSheet = true)
is VerificationCodeScreenEvents.DismissContactSupport -> state.copy(showContactSupportSheet = false)
is VerificationCodeScreenEvents.ContactSupportDialog -> state.copy(showContactSupportDialog = true)
is VerificationCodeScreenEvents.DismissContactSupportDialog -> state.copy(showContactSupportDialog = false)
is VerificationCodeScreenEvents.NetworkErrorSnackbarDismissed -> state.copy(snackbars = state.snackbars.copy(networkError = false))
is VerificationCodeScreenEvents.UnknownErrorSnackbarDismissed -> state.copy(snackbars = state.snackbars.copy(unknownError = false))
is VerificationCodeScreenEvents.RateLimitedSnackbarDismissed -> state.copy(snackbars = state.snackbars.copy(rateLimitedRetryAfter = null))
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Kon nie captcha laai nie</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Kanselleer</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Dien ontfout-log in?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Jou ontfout-logs sal ons help om jou probleem vinniger op te los. Die indiening van jou logs is opsioneel.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Dien met ontfout-log in</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Dien sonder ontfout-log in</string>
</resources>
@@ -591,4 +591,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">تعذَّر تحميل اختبار التحقُّق</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">إلغاء</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">هل ترغبُ بإرسال سجل الأخطاء؟</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">تساعدنا سجلات الأخطاء في استكشاف مشاكلك وإصلاحها في أسرع وقت. إرسال سجلاتك إلينا أمر اختياري.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">إرسال مع سجل الأخطاء</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">إرسال بدون سجل الأخطاء</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Captcha yüklənmədi</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Ləğv et</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Sazlama jurnalı göndərilsin?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Sazlama jurnallarınız qarşılaşdığınız problemi daha tez həll etməyimizə kömək edir. Jurnallarınızın təqdim olunması öz seçiminizdən asılıdır.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Sazlama jurnalı ilə təqdim edin</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Sazlama jurnalı olmadan təqdim edin</string>
</resources>
@@ -587,4 +587,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Не атрымалася загрузіць капчу</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Скасаваць</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Адправіць журнал адладкі?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">З вашымі журналамі адладкі мы хутчэй выправім вашу праблему. Вам неабавязкова адпраўляць вашы журналы.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Адправіць з журналам адладкі</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Адправіць без журнала адладкі</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Неуспешно зареждане на captcha</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Отказ</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Желаете ли да изпратите доклад за дебъг?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Вашите доклади за дебъг ще ни помогнат по-бързо да отстраним неизправностите, свързани с вашия проблем. Изпращането на докладите ви е по желание.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Изпращане с доклад за дебъг</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Изпращане без доклад за дебъг</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">ক্যাপচা লোড করা যায়নি</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">বাতিল করুন</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">ডিবাগ লগ জমা দেবেন?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">আপনার ডিবাগ লগগুলি আমাদেরকে সমস্যা দ্রুত সমাধানে সহায়তা করবে। আপনার লগ জমা দেওয়া বাধ্যতামূলক নয়।</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">ডিবাগ লগ সহ জমা দিন</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">ডিবাগ লগ ছাড়াই জমা দিন</string>
</resources>
@@ -587,4 +587,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Učitavanje captcha koda nije uspjelo</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Otkaži</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Pošalji zapisnik o otklanjanju grešaka?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Vaši zapisnici o otklanjanju grešaka će nam pomoći da brže dijagnosticiramo problem. Slanje zapisnika je opcionalno.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Pošaljite sa zapisnikom o otklanjanju grešaka</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Pošaljite bez zapisnika o otklanjanju grešaka</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">No s\'ha pogut carregar el captcha</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Cancel·lar</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Vols enviar un registre de depuració?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Els vostres registres de depuració ens ajudaran a solucionar el problema més de pressa. Enviar-nos-els és opcional.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Envia-ho amb el registre de depuració</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Envia-ho sense el registre de depuració</string>
</resources>
@@ -587,4 +587,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Nepodařilo se načíst kontrolu captcha</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Zrušit</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Odeslat protokol ladění?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Protokoly ladění nám pomohou rychleji vyřešit váš problém. Odeslání protokolů je nepovinné.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Odeslat s protokolem ladění</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Odeslat bez protokolu ladění</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Captchaen kunne ikke indlæses</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Annuller</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Vil du indsende fejlsøgningslog?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Dine fejlsøgningslogs hjælper os med at fejlsøge hurtigere. Det er frivilligt om du ønsker at vedhæfte dem.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Send med fejlsøgningslog</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Send uden fejlsøgningslog</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Captcha konnte nicht geladen werden</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Abbrechen</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Diagnoseprotokoll übermitteln?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Deine Diagnoseprotokolle helfen uns, dein Problem schneller zu lösen. Das Übermitteln deiner Protokolle ist optional.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Mit Diagnoseprotokoll übermitteln</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Ohne Diagnoseprotokoll übermitteln</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Αποτυχία φόρτωσης captcha</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Ακύρωση</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Αποστολή αρχείου καταγραφής αποσφαλμάτωσης;</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Τα αρχεία καταγραφής θα μας βοηθήσουν στην γρηγορότερη επίλυση του προβλήματος. Η υποβολή των αρχείων είναι προαιρετική.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Υποβολή με αρχείο καταγραφής</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Υποβολή χωρίς αρχείο καταγραφής</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">No se ha podido cargar el captcha</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Cancelar</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">¿Enviar registro de depuración?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">El registro de depuración nos ayudará a solucionar tu problema más rápido. Enviar tu registro es opcional.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Enviar con registro de depuración</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Enviar sin registro de depuración</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Captcha laadimine ebaõnnestus</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Loobu</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Kas saata silumislogi?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Sinu silumislogid aitavad meil su probleemi kiiremini lahendada. Logide saatmine on valikuline.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Postita koos silumislogiga</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Postita ilma silumislogita</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Ezin izan da kargatu captcha</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Utzi</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Arazketa-erregistroa bidali nahi duzu?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Arazketa-erregistroarekin, zure arazoa bizkorrago konpondu ahalko dugu. Erregistroa bidaltzea hautazkoa da.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Bidali arazketa-erregistroarekin</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Bidali arazketa-erregistrorik gabe</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">کپچا بارگیری نشد</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">لغو</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">گزارش اشکال‌زدایی ارسال شود؟</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">گزارش‌های اشکال‌زدایی شما به ما کمک خواهد کرد تا مشکل‌تان را سریع‌تر حل کنیم. ارسال این گزارش‌ها اختیاری است.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">ارسال با گزارش اشکال‌زدایی</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">ارسال بدون گزارش اشکال‌زدایی</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Captchan lataaminen epäonnistui</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Peruuta</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Lähetetäänkö vianetsintäloki?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Voimme selvittää vian nopeammin virheenkorjauslokisi avulla. Lokien lähettäminen on valinnaista.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Lähetä virheenkorjauslokilla</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Lähetä ilman virheenkorjauslokia</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Impossible de charger le captcha</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Annuler</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Envoyer le journal de débogage ?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Les journaux de débogage nous permettent d\'accélérer la résolution des problèmes. Leur envoi est facultatif.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Envoyer avec journal de débogage</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Envoyer sans journal de débogage</string>
</resources>
@@ -589,4 +589,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Theip ar lódáil CAPTCHA</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Cuir ar ceal</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Cuir isteach loga dífhabhtaithe?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Cabhróidh na logaí dífhabhtaithe linn d\'fhadhb a réiteach níos sciobtha. É sin ráite, níl siad riachtanach.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Seol loga dífhabhtaithe isteach freisin</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Ná seol loga dífhabhtaithe isteach freisin</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Erro ao cargar o captcha</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Cancelar</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Enviar rexistro de depuración?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Os teus rexistros de depuración axúdannos a solucionar os problemas de forma máis rápida. Non é obrigatorio que envíes o rexistro.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Enviar con rexistro de depuración</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Enviar sen rexistro de depuración</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">કેપ્ચા લોડ કરવામાં નિષ્ફળ</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">રદ કરો</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">ડીબગ લૉગ સબમિટ કરવો છે?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">તમારા ડીબગ લૉગ તમારી સમસ્યાને ઝડપથી નિવારણ કરવામાં મદદ કરશે. તમારા લૉગ સબમિટ કરવું વૈકલ્પિક છે.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">ડીબગ લૉગ સાથે સબમિટ કરો</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">ડીબગ લૉગ વિના સબમિટ કરો</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">कैप्चा लोड नहीं हो सका</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">कैंसिल करें</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">डीबग लॉग सबमिट करना है?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">आपके डीबग लाॅग से हमें आपकी समस्या तेज़ी से सुलझाने में मदद मिलेगी। लॉग सबमिट करना आपकी मर्ज़ी के ऊपर है।</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">डीबग लाॅग के साथ सबमिट करें</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">डीबग लाॅग के बिना सबमिट करें</string>
</resources>
@@ -587,4 +587,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Učitavanje captcha provjere nije uspjelo</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Poništi</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Želite li poslati zapisnik otklanjanja pogreške?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Vaši zapisnici pogrešaka pomoći će nam da brže riješimo vaš problem. Slanje zapisnika nije obavezno.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Pošalji sa zapisnikom pogreške</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Pošalji bez zapisnika pogreške</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">A captcha betöltése sikertelen</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Mégse</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Hibanapló küldése?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">A hibanapló fájlok segítenek a hibák gyorsabb javításában. Beküldésük opcionális.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Beküldés hibanaplóval együtt</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Beküldés hibanapló nélkül</string>
</resources>
@@ -581,4 +581,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Gagal memuat captcha</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Batal</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Kirim log debug?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Kami dapat menangani masalah dengan lebih cepat jika Anda mengirimkan log debug (opsional).</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Kirimkan dengan log debug</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Kirim tanpa log debug</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Impossibile caricare il CAPTCHA</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Annulla</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Vuoi inviarci un log di debug?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">I log di debug ci aiutano a risolvere il problema più rapidamente. L\'invio dei log è facoltativo.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Invia con log di debug</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Invia senza log di debug</string>
</resources>
@@ -587,4 +587,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">טעינה ׳אני לא רובוט׳ נכשלה</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">ביטול</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">רוצה להגיש יומן ניפוי באגים?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">יומני ניפוי הבאגים שלך יעזרו לנו לפתור מהר יותר את הסוגייה שלך. הגשת יומנים היא רשות.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">שליחה עם יומן ניפוי באגים</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">שליחה בלי יומן ניפוי באגים</string>
</resources>
@@ -581,4 +581,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">キャプチャの読み込みに失敗しました</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">キャンセル</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">デバッグログを送信しますか?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">デバッグログがあると、問題の早い解決に役立ちます。ログの提出は任意です。</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">デバッグログを添付して送信する</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">デバッグログなしで送信する</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Captcha-ს ჩატვირთვა ვერ მოხერხდა</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">გაუქმება</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">გსურს გაუმართაობის რეესტრის ატვირთვა?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">გაუმართაობის რეესტრში ატვირთვა დაგვეხმარება, შენი პრობლემა უფრო სწრაფად მოვაგვაროთ. რეესტრში ატვირთვა არჩევითია.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">გაუმართაობის რეესტრით ატვირთვა</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">გაუმართაობის რეესტრის გარეშე ატვირთვა</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">CAPTCHA жүктелмеді</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Бас тарту</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Ақауларды түзету журналын жіберу керек пе?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Ақауларды түзету журналдары ақауларды жылдам түзетуге мүмкіндік береді. Журналдарды жіберу міндетті емес.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Ақауларды түзету журналын жіберу</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Ақауларды түзету журналын жібермеу</string>
</resources>
@@ -581,4 +581,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">មិនអាចផ្ទុក captcha បានទេ</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">បោះបង់</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">ដាក់បញ្ជូនកំណត់ត្រាបញ្ហា?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">កំណត់ត្រាបញ្ហារបស់អ្នកនឹងជួយយើងដោះស្រាយបញ្ហារបស់អ្នកឱ្យបានកាន់តែលឿន។ អ្នកមានជម្រើសដាក់ឬមិនដាក់បញ្ជូនកំណត់ត្រារបស់អ្នក។</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">ដាក់បញ្ជូនជាមួយកំណត់ត្រាបញ្ហា</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">ដាក់បញ្ជូនដោយគ្មានកំណត់ត្រាបញ្ហា</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">ಕ್ಯಾಪ್ಚ ಲೋಡ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">ರದ್ದುಮಾಡಿ</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">ಡೀಬಗ್ ಲಾಗ್ ಸಲ್ಲಿಸಬೇಕೆ?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">ನಿಮ್ಮ ಡೀಬಗ್ ಲಾಗ್‌ಗಳು ನಿಮ್ಮ ಸಮಸ್ಯೆಯನ್ನು ವೇಗವಾಗಿ ಪರಿಹರಿಸಲು ನಮಗೆ ಸಹಾಯ ಮಾಡುತ್ತವೆ. ನಿಮ್ಮ ಲಾಗ್‌ಗಳನ್ನು ಸಲ್ಲಿಸುವುದು ಐಚ್ಛಿಕವಾಗಿದೆ.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">ಡೀಬಗ್ ಲಾಗ್ ಜೊತೆಗೆ ಸಲ್ಲಿಸಿ</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">ಡೀಬಗ್ ಲಾಗ್ ಇಲ್ಲದೆಯೇ ಸಲ್ಲಿಸಿ</string>
</resources>
@@ -581,4 +581,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">CAPTCHA를 로드하지 못했습니다.</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">취소</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">디버그 로그를 제출할까요?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">디버그 로그를 보내 문제 해결에 도움을 주실 수 있습니다. 로그 보내기는 선택 사항입니다.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">디버그 로그와 함께 보내기</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">디버그 로그를 제외하고 보내기</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Captcha жүктөлгөн жок</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Жок</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Мүчүлүштүктөр журналын жөнөтөсүзбү?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Мүчүлүштүктөрдү аныктоо таржымалдары аркылуу көйгөйлөрүңүздү тезирээк чечесиз. Кааласаңыз таржымалды жөнөтпөй деле койсоңуз болот.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Мүчүлүштүктөрдү аныктоо таржымалы менен тапшыруу</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Мүчүлүштүктөрдү аныктоо таржымалысыз тапшыруу</string>
</resources>
@@ -587,4 +587,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Nepavyko įkelti „Captcha“</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Atšaukti</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Pateikti derinimo žurnalą?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Turėdami derinimo žurnalus greičiau išspręsime jūsų problemą. Žurnalų pateikti neprivaloma.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Pateikti su derinimo žurnalu</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Pateikti be derinimo žurnalo</string>
</resources>
@@ -585,4 +585,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Neizdevās ielādēt captcha</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Atcelt</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Vai iesniegt atkļūdošanas žurnālu?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Jūsu atkļūdošanas žurnāli mums palīdzēs ātrāk novērst jūsu problēmu. Žurnālu iesniegšana nav obligāta.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Iesniegt ar atkļūdošanas žurnālu</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Iesniegt bez atkļūdošanas žurnāla</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Вчитувањето на captcha е неуспешно</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Откажи</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Сакате да испратите запис за отстранување грешки?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Вашите записи за дебагирање ни помагаат побрзо да го решиме вашиот проблем. Поднесувањето на записите не е задолжително.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Испратете со запис за дебагирање</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Испратете без запис за дебагирање</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">ക്യാപ്‌ച ലോഡ് ചെയ്യാനായില്ല</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">റദ്ദാക്കുക</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">ഡീബഗ് ലോഗ് സമർപ്പിക്കണോ?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">നിങ്ങളുടെ ഡീബഗ് ലോഗുകൾ പ്രശ്നം വേഗത്തിൽ പരിഹരിക്കാൻ ഞങ്ങളെ സഹായിക്കും. നിങ്ങളുടെ ലോഗുകൾ സമർപ്പിക്കുന്നത് ഓപ്ഷണലാണ്.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">ഡീബഗ് ലോഗ് ഉപയോഗിച്ച് സമർപ്പിക്കുക</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">ഡീബഗ് ലോഗ് ഇല്ലാതെ സമർപ്പിക്കുക</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">कॅप्चा लोड करता आला नाही</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">रद्द करा</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">डीबग लॉग सबमिट करायचा?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">आपले डीबग लॉग आम्हाला आपल्या समस्या जलदतेने सोडविण्यात मदत करतील. आपले लॉग प्रविष्ट करणे पर्यायी आहे.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">डीबग लॉग सोबत प्रविष्ट करा</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">डीबग लॉग विना प्रविष्ट करा</string>
</resources>
@@ -581,4 +581,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Gagal memuatkan captcha</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Batal</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Hantar log nyahpepijat?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Log nyahpepijat anda akan membantu kami menyelesaikan masalah anda dengan lebih pantas. Menghantar log anda adalah pilihan,</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Hantar dengan Log Nyahpepijat</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Hantar tanpa Log Nyahpepijat</string>
</resources>
@@ -581,4 +581,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">စက်ရုပ်မဟုတ်ကြောင်း အတည်ပြုချက်ကို ဖွင့်၍မရပါ</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">မလုပ်တော့ပါ</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">ပြစ်ချက်မှတ်တမ်း ပေးပို့မည်လား။</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">ပြစ်ချက်မှတ်တမ်းများသည် သင့်ပြဿနာကို ပိုမိုမြန်ဆန်စွာ ဖြေရှင်းရန် အထောက်အကူပေးမည်။ သင်၏မှတ်တမ်းများကို ဆန္ဒရှိမှတင်သွင်းနိုင်သည်။</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">ပြစ်ချက်မှတ်တမ်းဖြင့် တင်ပြရန်</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">ပြစ်ချက်မှတ်တမ်းမပါဘဲ တင်ပြရန်</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Kunne ikke laste inn captcha</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Avbryt</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Vil du sende inn en feilsøkingslogg?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Feilsøkingsloggene hjelper oss med å feilsøke problemet ditt raskere. Det er valgfritt å sende inn disse loggene.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Send inn med feilsøkingslogg</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Send inn uten feilsøkingslogg</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Laden van captcha mislukt</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Annuleren</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Foutopsporingslog indienen?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Je foutopsporingslog helpt ons om je probleem sneller te ontdekken en op te lossen. Het indienen van een foutopsporingslog is optioneel.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Indienen met foutopsporingslog</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Indienen zonder foutopsporingslog</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">ਕੈਪਚਾ ਲੋਡ ਕਰਨ ਵਿੱਚ ਅਸਫਲ ਰਹੇ</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">ਰੱਦ ਕਰੋ</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">ਕੀ ਤੁਸੀਂ ਡੀਬੱਗ ਲੌਗ ਦਰਜ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">ਤੁਹਾਡੇ ਡੀਬੱਗ ਲੌਗ ਤੁਹਾਡੀ ਸਮੱਸਿਆ ਦਾ ਤੇਜ਼ੀ ਨਾਲ ਨਿਪਟਾਰਾ ਕਰਨ ਵਿੱਚ ਸਾਡੀ ਮਦਦ ਕਰਨਗੇ। ਲੌਗ ਜਮ੍ਹਾਂ ਕਰਨਾ ਤੁਹਾਡੀ ਇੱਛਾ ਉੱਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ।</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">ਡੀਬੱਗ ਲੌਗ ਦੇ ਨਾਲ ਦਰਜ ਕਰੋ</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">ਡੀਬੱਗ ਲੌਗ ਤੋਂ ਬਿਨਾਂ ਦਰਜ ਕਰੋ</string>
</resources>
@@ -587,4 +587,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Nie udało się wczytać captcha</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Anuluj</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Przesłać dziennik debugowania?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Dziennik debugowania pomoże nam szybciej rozwiązać problem. Załączenie dziennika jest opcjonalne.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Prześlij z dziennikiem debugowania</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Prześlij bez dziennika debugowania</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Falha ao carregar captcha</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Cancelar</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Enviar registro de depuração?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Seus registros de depuração nos ajudarão a resolver o problema mais rápido. O envio é opcional.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Enviar com registro de depuração</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Enviar sem registro de depuração</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Falha ao carregar o captcha</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Cancelar</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Enviar registo de depuração?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Os seus registos de depuração irão ajudar-nos a resolver mais rapidamente o seu problema. A submissão dos seus registos é opcional.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Enviar com relatório de depuração</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Enviar sem relatório de depuração</string>
</resources>
@@ -585,4 +585,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Nu s-a putut încărca captcha</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Anulează</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Trimiți jurnalul de depanare?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Jurnalele tale de depanare ne vor ajuta să rezolvăm mai rapid problema. Trimiterea lor este opțională.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Trimite împreună cu jurnalul de depanare</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Trimite fără jurnalul de depanare</string>
</resources>
@@ -587,4 +587,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Не удалось загрузить капчу</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Отменить</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Отправить журналы отладки?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Ваши журналы отладки помогут нам быстрее устранить проблему. Отправка журналов не является обязательной.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Отправить с журналом отладки</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Отправить без журнала отладки</string>
</resources>
@@ -587,4 +587,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Nepodarilo sa načítať captcha</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Zrušiť</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Odoslať denník ladenia?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Vaše denníky ladenia nám pomôžu vyriešiť váš problém rýchlejšie. Ich odoslanie nie je povinné.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Odoslať s denníkom ladenia</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Odoslať bez denníka ladenia</string>
</resources>
@@ -587,4 +587,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">CAPTCHA ni bilo mogoče naložiti</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Prekliči</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Želite poslati sistemsko zabeležbo?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Vaše sistemske zabeležbe nam bodo pomagale hitreje odpraviti težavo. Pošiljanje zabeležb ni obvezno.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Pošlji s sistemsko zabeležbo</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Pošlji brez sistemske zabeležbe</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Nuk u ngarkua captcha</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Anulo</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Të paraqitet regjistri i diagnostikimeve?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Regjistri i diagnostikimeve do të na ndihmojë ta zgjidhim problemin më shpejt. Dërgimi i regjistrit është opsional.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Dërgo me regjistër diagnostikimesh</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Dërgo pa regjistër diagnostikimesh</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Учитавање captcha-е није успело</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Откажи</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Желите ли да пошаљете извештај о грешкама?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Извештаји о грешкама нам помажу да лакше отклонимо проблем. Слање извештаја није обавезно.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Пошаљи са извештајем о грешкама</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Пошаљи без извештаја о грешкама</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Det gick inte att läsa in captchan</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Avbryt</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Skicka felsökningslogg?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Dina felsökningsloggar kommer att hjälpa oss att felsöka problemet snabbare. Att skicka in dina loggar är valfritt.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Skicka med felsökningslogg</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Skicka utan felsökningslogg</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Imeshindwa kupakia captcha</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Ghairi</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Je, wasilisha kumbukumbu za utatuzi?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Faili zako la rekebisho zitatusaidia kutatua tatizo lako haraka. Kuwasilisha faili zako za rekebisho ni hiari.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Wasilisha faili la rekebisho</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Wasilisha bila faili la rekebisho</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">கேப்ட்சாவை ஏற்ற முடியவில்லை</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">ரத்துசெய்</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">பிழைத்திருத்தப் பதிவு சமர்ப்பிப்பதா?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">உங்கள் பிழைத்திருத்தப் பதிவுகள் உங்கள் சிக்கலை விரைவாகச் சரிசெய்ய உதவும். உங்கள் பதிவுகளைச் சமர்ப்பிப்பது விருப்பத்தேர்வுக்குரியது.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">பிழைத்திருத்தப் பதிவுடன் சமர்ப்பி</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">பிழைத்திருத்தப் பதிவு இல்லாமல் சமர்ப்பி</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">క్యాప్చాను లోడ్ చేయడంలో విఫలమైంది</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">రద్దు చేయండి</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">డీబగ్ లాగ్‌ను సమర్పించేదా?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">మీ సమస్యను వేగంగా పరిష్కరించడానికి మీ డీబగ్ లాగ్స్ మాకు సహాయపడతాయి. మీ లాగ్స్‌ను సమర్పించడం అనేది ఐచ్ఛికం.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">డీబగ్ లాగ్‌తో సమర్పించండి</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">డీబగ్ లాగ్ లేకుండా సమర్పించండి</string>
</resources>
@@ -581,4 +581,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">โหลด CAPTCHA ไม่สำเร็จ</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">ยกเลิก</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">คุณต้องการส่งบันทึกดีบักหรือไม่</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">บันทึกดีบักของคุณจะช่วยให้เราแก้ไขปัญหาของคุณได้เร็วขึ้น คุณจะส่งบันทึกของคุณหรือไม่ก็ได้</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">ส่งพร้อมกับบันทึกดีบัก</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">ส่งโดยไม่มีบันทึกดีบัก</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Nagkaroon ng error sa pag-load ng captcha</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">I-cancel</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Gusto mo bang mag-submit ng debug log?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Makatutulong ang debug logs para mas mabilis naming maayos ang isyung ibinahagi mo. Optional ang pag-submit ng iyong logs.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">I-submit kasama ang debug log</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">I-submit na walang debug log</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Captcha yüklenemedi</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">İptal</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Hata ayıklama günlüğü gönderilsin mi?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Hata ayıklama günlükleriniz sorununuzu çözmemizi hızlandıracaktır. Günlüklerinizi göndermeniz isteğe bağlıdır.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Hata Ayıklama Günlüğü ile gönder</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Hata Ayıklama Günlüğü olmadan gönder</string>
</resources>
@@ -581,4 +581,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">ماشىنا ئادەم ئەمەسلىكىنى تەكشۈرۈدىغان «captcha» ئىقتىدارىنى يۈكلەش مەغلۇب بولدى</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">بىكار قىلىش</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">كاشىلا ھەل قىلىش خاتىرىسىنى يوللامسىز؟</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">سازلاش خاتىرىڭىز مەسىلىنى تېخىمۇ تېز ھەل قىلىشىمىزغا ياردەم بېرىدۇ. خاتىرە يوللاش ئىختىيارىي.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">سازلاش خاتىرىسىنى قوشۇپ يوللا</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">سازلاش خاتىرەسىز يوللا</string>
</resources>
@@ -587,4 +587,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Не вдалося завантажити перевірку CAPTCHA</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Скасувати</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Надіслати журнал налагодження?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Ваш журнал налагодження допоможе нам швидше усунути проблему. Надсилати журнал необов\'язково.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Відправити з журналом налагодження</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Відправити без журналу налагодження</string>
</resources>
@@ -583,4 +583,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">کیپچا لوڈ نہیں ہوا</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">منسوخ کریں</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">ڈی بگ لاگ جمع کروائیں؟</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">آپ کے ڈیبگ لاگس آپ کے مسئلے کو تیزی سے ازالہ کرنے میں ہماری مدد کریں گے۔ اپنے لاگس جمع کروانا اختیاری ہے۔</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">ڈیبگ لاگ کے ساتھ جمع کروائیں</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">ڈیبگ لاگ کے بغیر جمع کروائیں</string>
</resources>
@@ -581,4 +581,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">Không thể tải mã captcha</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Hủy</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Gửi nhật ký gỡ lỗi?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Nhật ký gỡ lỗi của bạn sẽ giúp chúng tôi giải quyết vấn đề nhanh hơn. Không bắt buộc gửi nhật ký gỡ lỗi.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Gửi cùng nhật ký gỡ lỗi</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Gửi không có nhật ký gỡ lỗi</string>
</resources>
@@ -581,4 +581,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">載入唔到「我不是機械人」驗證</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">取消</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">係咪要提交除錯記錄?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">您嘅除錯記錄檔會幫到我哋更快搵出問題嘅箇中原因。有就錦上添花,但唔係事必要您提交您嘅記錄檔嘅。</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">連同除錯記錄檔提交</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">抽起除錯記錄檔提交</string>
</resources>
@@ -581,4 +581,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">无法加载人机验证</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">取消</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">要提交调试日志吗?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">你可以选择上传调试日志,这些日志能帮助我们更快地解决问题。</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">提交并附上调试日志</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">提交但不附调试日志</string>
</resources>
@@ -581,4 +581,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">載入「我不是機械人」驗證失敗</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">取消</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">要提交除錯日誌嗎?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">除錯日誌會幫助我們更快地修正問題。上載除錯日誌是可選項目。</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">連同除錯日誌一同上交</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">不要連同除錯日誌一同上交</string>
</resources>
@@ -581,4 +581,13 @@
<string name="CaptchaScreen__failed_to_load_captcha">載入「我不是機械人」驗證失敗</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">取消</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">要提交除錯日誌嗎?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">你的錯誤偵測紀錄將幫助我們盡快的解決你的問題。上傳你的紀錄是選擇性的。</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">上傳錯誤偵測紀錄</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">上傳不含錯誤偵測紀錄</string>
</resources>
@@ -120,7 +120,9 @@
<!-- Clickable substring linking to contacting support within VerificationCodeScreen__support_bottom_sheet_body_call_to_action -->
<string name="VerificationCodeScreen__support_bottom_sheet_cta_contact_support_substring">Contact Support</string>
<!-- Email subject used when contacting support from the verification code screen -->
<string name="VerificationCodeScreen__contact_support_email_subject" translatable="false">Signal Registration - Verification Code for Android</string>
<string name="VerificationCodeScreen__contact_support_email_subject">Signal Registration - Verification Code for Android</string>
<!-- Text placed in the body of the support email composed from the verification code screen. Used to route the request, so it is not translated. -->
<string name="VerificationCodeScreen__contact_support_email_filter" translatable="false">Signal Registration - Verification Code for Android</string>
<!-- URL opened for troubleshooting steps from the verification code screen -->
<string name="VerificationCodeScreen__support_center_url" translatable="false">https://support.signal.org/</string>
@@ -304,8 +306,10 @@
<string name="RemoteRestoreScreen__your_backup_is_not_recoverable">An error occurred while restoring your backup. Your backup is not recoverable. Please contact support for help.</string>
<!-- Button to contact support -->
<string name="RemoteRestoreScreen__contact_support">Contact support</string>
<!-- Subject line of the support email composed when the user contacts support about an unrecoverable backup. Also used to route the request, so it is not translated. -->
<string name="RemoteRestoreScreen__contact_support_email_subject" translatable="false">Signal Android Backup restore permanent failure</string>
<!-- Subject line of the support email composed when the user contacts support about an unrecoverable backup. -->
<string name="RemoteRestoreScreen__contact_support_email_subject">Signal Android Backup Restore Permanent Failure</string>
<!-- Text placed in the body of the support email composed when the user contacts support about an unrecoverable backup. Used to route the request, so it is not translated. -->
<string name="RemoteRestoreScreen__contact_support_email_filter" translatable="false">Android SignalBackups Import Permanent Failure</string>
<!-- Shown while downloading the backup from the server -->
<string name="RemoteRestoreScreen__downloading_backup">Downloading backup…</string>
<!-- Shown while restoring messages from the downloaded backup -->
@@ -421,8 +425,10 @@
<string name="PinEntryScreen__no_data_could_be_found">No data could be found to restore your account. Please create a new PIN.</string>
<!-- Labels the button in the no-data-to-restore dialog that lets the user contact support. -->
<string name="PinEntryScreen__contact_support">Contact support</string>
<!-- Subject line of the support email composed when the user contacts support about PIN entry. Also used to route the request, so it is not translated. -->
<string name="PinEntryScreen__contact_support_email_subject" translatable="false">Signal Registration - Need Help with PIN for Android</string>
<!-- Subject line of the support email composed when the user contacts support about PIN entry. -->
<string name="PinEntryScreen__contact_support_email_subject">Signal Registration - Need Help with PIN for Android</string>
<!-- Text placed in the body of the support email composed when the user contacts support about PIN entry. Used to route the request, so it is not translated. -->
<string name="PinEntryScreen__contact_support_email_filter" translatable="false">Signal Registration - Need Help with PIN for Android</string>
<!-- Title for the screen asking the user to grant the notification permission -->
<string name="AllowNotificationsScreen__allow_notifications">Allow Notifications</string>
@@ -583,4 +589,14 @@
<string name="CaptchaScreen__failed_to_load_captcha">Failed to load captcha</string>
<!-- Button to cancel out of the captcha screen. -->
<string name="CaptchaScreen__cancel">Cancel</string>
<!-- ContactSupportDialog -->
<!-- Title of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__submit_debug_log">Submit debug log?</string>
<!-- Body of the dialog asking the user whether they want to attach a debug log to their support request -->
<string name="ContactSupportDialog__your_debug_logs">Your debug logs will help us troubleshoot your issue faster. Submitting your logs is optional.</string>
<!-- Button that contacts support with a debug log attached -->
<string name="ContactSupportDialog__submit_with_debug_log">Submit with debug log</string>
<!-- Button that contacts support without attaching a debug log -->
<string name="ContactSupportDialog__submit_without_debug_log">Submit without debug log</string>
</resources>