mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-05-10 02:00:12 +01:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 439760e773 | |||
| 7560896e2d | |||
| fe18def67e | |||
| 413962a093 | |||
| e518eca9a1 | |||
| b70322b5a6 | |||
| 047516c80b |
@@ -27,8 +27,8 @@ plugins {
|
||||
val staticIps = Properties().apply { file("static-ips.properties").reader().use { load(it) } }
|
||||
staticIps.stringPropertyNames().forEach { rootProject.extra[it] = staticIps.getProperty(it) }
|
||||
|
||||
val canonicalVersionCode = 1685
|
||||
val canonicalVersionName = "8.10.0"
|
||||
val canonicalVersionCode = 1686
|
||||
val canonicalVersionName = "8.10.1"
|
||||
val currentHotfixVersion = 0
|
||||
val maxHotfixVersions = 100
|
||||
|
||||
@@ -91,12 +91,15 @@ android.sourceSets.all {
|
||||
kotlinExt.sourceSets.findByName(name) ?: kotlinExt.sourceSets.create(name)
|
||||
}
|
||||
// AGP 9.0's built-in Kotlin doesn't pick up extra java.srcDir entries from Android
|
||||
// source sets, so add the testShared dir directly to test/androidTest Kotlin
|
||||
// compile tasks.
|
||||
// source sets, so add shared dirs directly to the relevant Kotlin compile tasks.
|
||||
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile::class.java).configureEach {
|
||||
if (name.contains("UnitTest") || name.contains("AndroidTest")) {
|
||||
val isTestTask = name.contains("UnitTest") || name.contains("AndroidTest")
|
||||
if (isTestTask) {
|
||||
source("$projectDir/src/testShared")
|
||||
}
|
||||
if (!isTestTask && (name.contains("Mocked") || name.contains("Benchmark"))) {
|
||||
source("$projectDir/src/benchmarkShared/java")
|
||||
}
|
||||
}
|
||||
|
||||
wire {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+9
@@ -207,12 +207,21 @@ class InternalSettingsFragment : DSLSettingsFragment(R.string.preferences__inter
|
||||
|
||||
switchPref(
|
||||
title = DSLSettingsText.from("Force split pane UI on phones."),
|
||||
isEnabled = !state.forceSinglePane,
|
||||
isChecked = state.forceSplitPane,
|
||||
onClick = {
|
||||
viewModel.setForceSplitPane(!state.forceSplitPane)
|
||||
}
|
||||
)
|
||||
|
||||
switchPref(
|
||||
title = DSLSettingsText.from("Force single-pane on newer devices."),
|
||||
isChecked = state.forceSinglePane,
|
||||
onClick = {
|
||||
viewModel.setForceSinglePane(!state.forceSinglePane)
|
||||
}
|
||||
)
|
||||
|
||||
clickPref(
|
||||
title = DSLSettingsText.from("Display enable permission sheet"),
|
||||
onClick = {
|
||||
|
||||
+1
@@ -31,6 +31,7 @@ data class InternalSettingsState(
|
||||
val hasPendingOneTimeDonation: Boolean,
|
||||
val hevcEncoding: Boolean,
|
||||
val forceSplitPane: Boolean,
|
||||
val forceSinglePane: Boolean,
|
||||
val useNewMediaActivity: Boolean,
|
||||
val disableInternalUser: Boolean
|
||||
)
|
||||
|
||||
+6
@@ -203,6 +203,7 @@ class InternalSettingsViewModel(private val repository: InternalSettingsReposito
|
||||
hasPendingOneTimeDonation = SignalStore.inAppPayments.getPendingOneTimeDonation() != null,
|
||||
hevcEncoding = SignalStore.internal.hevcEncoding,
|
||||
forceSplitPane = SignalStore.internal.forceSplitPane,
|
||||
forceSinglePane = SignalStore.internal.forceSinglePane,
|
||||
useNewMediaActivity = SignalStore.internal.useNewMediaActivity,
|
||||
disableInternalUser = RemoteConfig.internalUserDisabled
|
||||
)
|
||||
@@ -225,6 +226,11 @@ class InternalSettingsViewModel(private val repository: InternalSettingsReposito
|
||||
refresh()
|
||||
}
|
||||
|
||||
fun setForceSinglePane(forceSinglePane: Boolean) {
|
||||
SignalStore.internal.forceSinglePane = forceSinglePane
|
||||
refresh()
|
||||
}
|
||||
|
||||
class Factory(private val repository: InternalSettingsRepository) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return requireNotNull(modelClass.cast(InternalSettingsViewModel(repository)))
|
||||
|
||||
+2
-8
@@ -244,14 +244,8 @@ class ContactSearchPagedDataSource(
|
||||
return contactSearchPagedDataSourceRepository.querySignalContactLetterHeaders(
|
||||
query = query,
|
||||
includeSelfMode = section.includeSelfMode,
|
||||
includePush = when (section.transportType) {
|
||||
ContactSearchConfiguration.TransportType.PUSH, ContactSearchConfiguration.TransportType.ALL -> true
|
||||
else -> false
|
||||
},
|
||||
includeSms = when (section.transportType) {
|
||||
ContactSearchConfiguration.TransportType.SMS, ContactSearchConfiguration.TransportType.ALL -> true
|
||||
else -> false
|
||||
}
|
||||
includePush = true,
|
||||
includeSms = false
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -54,6 +54,7 @@ import org.thoughtcrime.securesms.recipients.Recipient
|
||||
import org.thoughtcrime.securesms.recipients.RecipientId
|
||||
import org.thoughtcrime.securesms.recipients.ui.RecipientLookupFailureMessage
|
||||
import org.thoughtcrime.securesms.recipients.ui.RecipientPicker
|
||||
import org.thoughtcrime.securesms.recipients.ui.RecipientPicker.DisplayMode
|
||||
import org.thoughtcrime.securesms.recipients.ui.RecipientPickerCallbacks
|
||||
import org.thoughtcrime.securesms.recipients.ui.RecipientPickerScaffold
|
||||
import org.thoughtcrime.securesms.recipients.ui.RecipientSelection
|
||||
@@ -311,6 +312,7 @@ private fun NewConversationRecipientPicker(
|
||||
searchQuery = uiState.searchQuery,
|
||||
isRefreshing = uiState.isRefreshingContacts,
|
||||
shouldResetContactsList = uiState.shouldResetContactsList,
|
||||
displayModes = setOf(DisplayMode.PUSH, DisplayMode.ACTIVE_GROUPS, DisplayMode.INACTIVE_GROUPS, DisplayMode.SELF),
|
||||
callbacks = remember(callbacks) {
|
||||
RecipientPickerCallbacks(
|
||||
listActions = callbacks,
|
||||
|
||||
@@ -32,6 +32,7 @@ class InternalValues internal constructor(store: KeyValueStore) : SignalStoreVal
|
||||
const val WEB_SOCKET_SHADOWING_STATS: String = "internal.web_socket_shadowing_stats"
|
||||
const val ENCODE_HEVC: String = "internal.hevc_encoding"
|
||||
const val FORCE_SPLIT_PANE_ON_COMPACT_LANDSCAPE: String = "internal.force.split.pane.on.compact.landscape.ui"
|
||||
const val FORCE_SINGLE_PANE_ON_ALL_DEVICES: String = "internal.force_single_pane_on_all_devices"
|
||||
const val SHOW_ARCHIVE_STATE_HINT: String = "internal.show_archive_state_hint"
|
||||
const val INCLUDE_DEBUGLOG_IN_BACKUP: String = "internal.include_debuglog_in_backup"
|
||||
const val IMPORTED_BACKUP_DEBUG_INFO: String = "internal.imported_backup_debug_info"
|
||||
@@ -48,6 +49,11 @@ class InternalValues internal constructor(store: KeyValueStore) : SignalStoreVal
|
||||
*/
|
||||
var forceSplitPane by booleanValue(FORCE_SPLIT_PANE_ON_COMPACT_LANDSCAPE, false).falseForExternalUsers()
|
||||
|
||||
/**
|
||||
* Force single-pane on all devices
|
||||
*/
|
||||
var forceSinglePane by booleanValue(FORCE_SINGLE_PANE_ON_ALL_DEVICES, false).falseForExternalUsers()
|
||||
|
||||
var useNewMediaActivity by booleanValue(USE_NEW_MEDIA_ACTIVITY, false).falseForExternalUsers()
|
||||
|
||||
/**
|
||||
|
||||
@@ -49,9 +49,11 @@ import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.graphics.graphicsLayer
|
||||
import androidx.compose.ui.layout.layout
|
||||
import androidx.compose.ui.platform.LocalConfiguration
|
||||
import androidx.compose.ui.platform.LocalInspectionMode
|
||||
import androidx.compose.ui.platform.LocalLayoutDirection
|
||||
import androidx.compose.ui.platform.LocalResources
|
||||
import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.LayoutDirection
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.zIndex
|
||||
import kotlinx.coroutines.launch
|
||||
@@ -61,6 +63,7 @@ import org.signal.core.ui.compose.Previews
|
||||
import org.signal.core.ui.getWindowBreakpoint
|
||||
import org.signal.core.ui.isWidthExpanded
|
||||
import org.signal.core.ui.rememberIsSplitPane
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore
|
||||
import org.thoughtcrime.securesms.main.MainFloatingActionButtonsCallback
|
||||
import org.thoughtcrime.securesms.main.MainNavigationBar
|
||||
import org.thoughtcrime.securesms.main.MainNavigationRail
|
||||
@@ -132,8 +135,14 @@ fun AppScaffold(
|
||||
contentWindowInsets: WindowInsets = WindowInsets.systemBars,
|
||||
animatorFactory: AppScaffoldAnimationStateFactory = AppScaffoldAnimationStateFactory.Default
|
||||
) {
|
||||
val useSimpleScaffold = navigator.scaffoldDirective.maxHorizontalPartitions == 1 && Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU
|
||||
if (useSimpleScaffold) {
|
||||
val isForceSinglePane = if (LocalInspectionMode.current) {
|
||||
false
|
||||
} else {
|
||||
SignalStore.internal.forceSinglePane
|
||||
}
|
||||
|
||||
val useSimpleScaffold = isForceSinglePane || (navigator.scaffoldDirective.maxHorizontalPartitions == 1 && Build.VERSION.SDK_INT < 33)
|
||||
if (useSimpleScaffold && LocalLayoutDirection.current != LayoutDirection.Rtl) {
|
||||
SinglePaneAppScaffold(
|
||||
navigator = navigator,
|
||||
modifier = modifier,
|
||||
@@ -142,7 +151,8 @@ fun AppScaffold(
|
||||
secondaryContent = secondaryContent,
|
||||
bottomNavContent = bottomNavContent,
|
||||
snackbarHost = snackbarHost,
|
||||
contentWindowInsets = contentWindowInsets
|
||||
contentWindowInsets = contentWindowInsets,
|
||||
animatorFactory = animatorFactory
|
||||
)
|
||||
} else {
|
||||
AdaptiveAppScaffold(
|
||||
@@ -307,10 +317,14 @@ private fun SinglePaneAppScaffold(
|
||||
secondaryContent: @Composable () -> Unit,
|
||||
bottomNavContent: @Composable () -> Unit = {},
|
||||
snackbarHost: @Composable () -> Unit = {},
|
||||
contentWindowInsets: WindowInsets = WindowInsets.systemBars
|
||||
contentWindowInsets: WindowInsets = WindowInsets.systemBars,
|
||||
animatorFactory: AppScaffoldAnimationStateFactory = AppScaffoldAnimationStateFactory.Default
|
||||
) {
|
||||
val showDetail = navigator.scaffoldValue.primary == PaneAdaptedValue.Expanded
|
||||
val coroutineScope = rememberCoroutineScope()
|
||||
val isRtl = LocalLayoutDirection.current == LayoutDirection.Rtl
|
||||
val directionMultiplier = if (isRtl) -1 else 1
|
||||
val skipSlide = AppScaffoldNavigator.NavigationState.ENTER !in animatorFactory.enabledStates
|
||||
|
||||
BackHandler(enabled = navigator.canNavigateBack()) {
|
||||
coroutineScope.launch { navigator.navigateBack() }
|
||||
@@ -326,12 +340,12 @@ private fun SinglePaneAppScaffold(
|
||||
AnimatedContent(
|
||||
targetState = showDetail,
|
||||
transitionSpec = {
|
||||
val transform = if (targetState) {
|
||||
slideInHorizontally(animationSpec = AppScaffoldAnimationDefaults.tween()) { fullWidth -> fullWidth } togetherWith
|
||||
slideOutHorizontally(animationSpec = AppScaffoldAnimationDefaults.tween()) { fullWidth -> -fullWidth }
|
||||
} else {
|
||||
slideInHorizontally(animationSpec = AppScaffoldAnimationDefaults.tween()) { fullWidth -> -fullWidth } togetherWith
|
||||
slideOutHorizontally(animationSpec = AppScaffoldAnimationDefaults.tween()) { fullWidth -> fullWidth }
|
||||
val transform = when {
|
||||
skipSlide -> EnterTransition.None togetherWith ExitTransition.None
|
||||
targetState -> slideInHorizontally(animationSpec = AppScaffoldAnimationDefaults.tween()) { fullWidth -> fullWidth * directionMultiplier } togetherWith
|
||||
slideOutHorizontally(animationSpec = AppScaffoldAnimationDefaults.tween()) { fullWidth -> -fullWidth * directionMultiplier }
|
||||
else -> slideInHorizontally(animationSpec = AppScaffoldAnimationDefaults.tween()) { fullWidth -> -fullWidth * directionMultiplier } togetherWith
|
||||
slideOutHorizontally(animationSpec = AppScaffoldAnimationDefaults.tween()) { fullWidth -> fullWidth * directionMultiplier }
|
||||
}
|
||||
transform using SizeTransform(clip = false) { _, _ -> snap() }
|
||||
},
|
||||
|
||||
@@ -19,7 +19,9 @@ import androidx.compose.runtime.State
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.ui.platform.LocalLayoutDirection
|
||||
import androidx.compose.ui.unit.Dp
|
||||
import androidx.compose.ui.unit.LayoutDirection
|
||||
import androidx.compose.ui.unit.dp
|
||||
|
||||
private const val SEEK_DAMPING_RATIO = Spring.DampingRatioNoBouncy
|
||||
@@ -76,9 +78,11 @@ fun ThreePaneScaffoldPaneScope.animateFloat(
|
||||
@OptIn(ExperimentalMaterial3AdaptiveApi::class)
|
||||
@Composable
|
||||
fun ThreePaneScaffoldPaneScope.defaultListInitAnimationState(): AppScaffoldAnimationState {
|
||||
val directionMultiplier = if (LocalLayoutDirection.current == LayoutDirection.Rtl) -1 else 1
|
||||
|
||||
val offset = animateDp(
|
||||
targetWhenHiding = {
|
||||
-AppScaffoldAnimationDefaults.InitAnimationOffset
|
||||
-AppScaffoldAnimationDefaults.InitAnimationOffset * directionMultiplier
|
||||
},
|
||||
targetWhenShowing = {
|
||||
0.dp
|
||||
@@ -100,6 +104,8 @@ fun ThreePaneScaffoldPaneScope.defaultListInitAnimationState(): AppScaffoldAnima
|
||||
@OptIn(ExperimentalMaterial3AdaptiveApi::class)
|
||||
@Composable
|
||||
fun ThreePaneScaffoldPaneScope.defaultListSeekAnimationState(): AppScaffoldAnimationState {
|
||||
val directionMultiplier = if (LocalLayoutDirection.current == LayoutDirection.Rtl) -1 else 1
|
||||
|
||||
val scale = animateFloat(
|
||||
transitionSpec = {
|
||||
appScaffoldSeekSpring()
|
||||
@@ -112,7 +118,7 @@ fun ThreePaneScaffoldPaneScope.defaultListSeekAnimationState(): AppScaffoldAnima
|
||||
transitionSpec = {
|
||||
appScaffoldSeekSpring()
|
||||
},
|
||||
targetWhenHiding = { -(88.dp) },
|
||||
targetWhenHiding = { -(88.dp) * directionMultiplier },
|
||||
targetWhenShowing = { 0.dp }
|
||||
)
|
||||
|
||||
@@ -160,9 +166,11 @@ fun ThreePaneScaffoldPaneScope.defaultListReleaseAnimationState(from: AppScaffol
|
||||
@OptIn(ExperimentalMaterial3AdaptiveApi::class)
|
||||
@Composable
|
||||
fun ThreePaneScaffoldPaneScope.defaultDetailInitAnimationState(): AppScaffoldAnimationState {
|
||||
val directionMultiplier = if (LocalLayoutDirection.current == LayoutDirection.Rtl) -1 else 1
|
||||
|
||||
val offset = animateDp(
|
||||
targetWhenHiding = {
|
||||
AppScaffoldAnimationDefaults.InitAnimationOffset
|
||||
AppScaffoldAnimationDefaults.InitAnimationOffset * directionMultiplier
|
||||
},
|
||||
targetWhenShowing = {
|
||||
0.dp
|
||||
@@ -184,6 +192,8 @@ fun ThreePaneScaffoldPaneScope.defaultDetailInitAnimationState(): AppScaffoldAni
|
||||
@OptIn(ExperimentalMaterial3AdaptiveApi::class)
|
||||
@Composable
|
||||
fun ThreePaneScaffoldPaneScope.defaultDetailSeekAnimationState(): AppScaffoldAnimationState {
|
||||
val directionMultiplier = if (LocalLayoutDirection.current == LayoutDirection.Rtl) -1 else 1
|
||||
|
||||
val scale = animateFloat(
|
||||
transitionSpec = {
|
||||
appScaffoldSeekSpring()
|
||||
@@ -197,7 +207,7 @@ fun ThreePaneScaffoldPaneScope.defaultDetailSeekAnimationState(): AppScaffoldAni
|
||||
appScaffoldSeekSpring()
|
||||
},
|
||||
targetWhenShowing = { 0.dp },
|
||||
targetWhenHiding = { 88.dp }
|
||||
targetWhenHiding = { 88.dp * directionMultiplier }
|
||||
)
|
||||
|
||||
val roundedCorners = animateDp(
|
||||
|
||||
@@ -4,6 +4,6 @@
|
||||
android:shape="rectangle">
|
||||
|
||||
<solid android:color="@color/wallpaper_bubble_color" />
|
||||
<corners android:topLeftRadius="12dp"
|
||||
android:topRightRadius="12dp"/>
|
||||
<corners android:topLeftRadius="24dp"
|
||||
android:topRightRadius="24dp"/>
|
||||
</shape>
|
||||
|
||||
@@ -2036,7 +2036,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">جارٍ الحذف</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">جارٍ حذف الرسائل…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d من %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">الترتيب بحسب</string>
|
||||
<string name="MediaOverviewActivity_Newest">الأحدث</string>
|
||||
<string name="MediaOverviewActivity_Oldest">الأقدم</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Silinir</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Mesajlar silinir…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d /%2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Sırala</string>
|
||||
<string name="MediaOverviewActivity_Newest">Ən yeni</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Ən köhnə</string>
|
||||
|
||||
@@ -1930,7 +1930,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Выдаленне</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Выдаленне паведамленняў…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d з %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Сартаваць па</string>
|
||||
<string name="MediaOverviewActivity_Newest">Спачатку новыя</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Спачатку старыя</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Изтриване</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Изтриване на съобщения…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d от %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Сортиране по</string>
|
||||
<string name="MediaOverviewActivity_Newest">Най-нови</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Най-стари</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">মোছা হচ্ছে…</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">বার্তা সমূহ মোছা হচ্ছে…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d এর %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">ক্রমানুসার</string>
|
||||
<string name="MediaOverviewActivity_Newest">নতুন</string>
|
||||
<string name="MediaOverviewActivity_Oldest">পুরাতন</string>
|
||||
|
||||
@@ -1930,7 +1930,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Brisanje</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Brišem poruke…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d od %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Sortiranje</string>
|
||||
<string name="MediaOverviewActivity_Newest">Najnovije</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Najstarije</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Se suprimeix</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Se suprimeixen missatges…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d de %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Ordena per</string>
|
||||
<string name="MediaOverviewActivity_Newest">El més nou</string>
|
||||
<string name="MediaOverviewActivity_Oldest">El més antic</string>
|
||||
|
||||
@@ -1930,7 +1930,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Mazání</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Mazání zpráv…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d z %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Seřadit podle</string>
|
||||
<string name="MediaOverviewActivity_Newest">Nejnovější</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Nejstarší</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Sletter</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Sletter beskeder …</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d af %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Sortér efter</string>
|
||||
<string name="MediaOverviewActivity_Newest">Nyeste</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Ældste</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Löschen</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Nachrichten werden gelöscht …</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d von %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Sortieren nach …</string>
|
||||
<string name="MediaOverviewActivity_Newest">Neueste</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Älteste</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Γίνεται διαγραφή</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Διαγραφή μηνυμάτων…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d από %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Ταξινόμηση ανά</string>
|
||||
<string name="MediaOverviewActivity_Newest">Νεότερο</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Παλαιότερο</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Eliminando</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Eliminando mensajes…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d de %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Ordenar por</string>
|
||||
<string name="MediaOverviewActivity_Newest">Más reciente</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Más antiguo</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Kustutan</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Sõnumite kustutamine…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d / %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Sorteeri</string>
|
||||
<string name="MediaOverviewActivity_Newest">Uusima järgi</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Vanima järgi</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Ezabatzen</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Mezuak ezabatzen…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d / %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Ordenatu honen arabera</string>
|
||||
<string name="MediaOverviewActivity_Newest">Berriena</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Zaharrena</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">در حال حذف</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">حذف پیامها…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d از %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">مرتبسازی بر اساس</string>
|
||||
<string name="MediaOverviewActivity_Newest">جدیدترین</string>
|
||||
<string name="MediaOverviewActivity_Oldest">قدیمیترین</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Poistetaan</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Viestejä poistetaan…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d / %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Järjestä</string>
|
||||
<string name="MediaOverviewActivity_Newest">Uusin</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Vanhin</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Suppression</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Suppression des messages…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d sur %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Trier par</string>
|
||||
<string name="MediaOverviewActivity_Newest">Le plus récent</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Le plus ancien</string>
|
||||
|
||||
@@ -1983,7 +1983,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Ag scriosadh</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Ag scriosadh teachtaireachtaí…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d as %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Sórtáil de réir</string>
|
||||
<string name="MediaOverviewActivity_Newest">Is nuaí</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Is sine</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Borrando</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Borrando mensaxes…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d de %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Ordenar por</string>
|
||||
<string name="MediaOverviewActivity_Newest">Novos</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Vellos</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">કાઢી નાખો</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">મેસેજ કાઢી નાખો…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$dની%2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">વર્ગીકરણ કરો</string>
|
||||
<string name="MediaOverviewActivity_Newest">નવીનતમ</string>
|
||||
<string name="MediaOverviewActivity_Oldest">જૂની</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">डिलीट किया जा रहा है</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">मैसेज डिलीट किए जा रहे हैं…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d में से %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">इस तरह सॉर्ट करें</string>
|
||||
<string name="MediaOverviewActivity_Newest">सबसे नया</string>
|
||||
<string name="MediaOverviewActivity_Oldest">सबसे पुराना</string>
|
||||
|
||||
@@ -1930,7 +1930,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Brisanje</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Brisanje poruka…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d od %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Poredaj po</string>
|
||||
<string name="MediaOverviewActivity_Newest">Najnovije</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Najstarije</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Törlés</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Üzenetek törlése…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d / %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Rendezés</string>
|
||||
<string name="MediaOverviewActivity_Newest">Legújabb</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Legrégebbi</string>
|
||||
|
||||
@@ -1771,7 +1771,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Menghapus</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Menghapus pesan …</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d dari %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Urutkan berdasarkan</string>
|
||||
<string name="MediaOverviewActivity_Newest">Terbaru</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Terlama</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Cancellazione</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Eliminazione dei messaggi…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d di %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Ordina per</string>
|
||||
<string name="MediaOverviewActivity_Newest">Più recenti</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Più vecchi</string>
|
||||
|
||||
@@ -1930,7 +1930,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">מוחק</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">מוחק הודעות…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d מתוך %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">מיין לפי</string>
|
||||
<string name="MediaOverviewActivity_Newest">החדש ביותר</string>
|
||||
<string name="MediaOverviewActivity_Oldest">הישן ביותר</string>
|
||||
|
||||
@@ -1771,7 +1771,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">削除しています</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">メッセージを削除しています…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d/%2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">並び替え条件</string>
|
||||
<string name="MediaOverviewActivity_Newest">新しい順</string>
|
||||
<string name="MediaOverviewActivity_Oldest">古い順</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">იშლება</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">ვშლით შეტყობინებებს…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d %2$d-დან</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">დახარისხება</string>
|
||||
<string name="MediaOverviewActivity_Newest">ყველაზე ახალი</string>
|
||||
<string name="MediaOverviewActivity_Oldest">ყველაზე ძველი</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Жою</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Хаттар жойылуда…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d / %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Сұрыптау реті</string>
|
||||
<string name="MediaOverviewActivity_Newest">Ең жаңасы</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Ең ескісі</string>
|
||||
|
||||
@@ -1771,7 +1771,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">កំពុងលុប</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">កំពុងលុបសារ…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d នៃ %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">តម្រៀបតាម</string>
|
||||
<string name="MediaOverviewActivity_Newest">ថ្មីបំផុត</string>
|
||||
<string name="MediaOverviewActivity_Oldest">ចាស់បំផុត</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">ಅಳಿಸಲಾಗುತ್ತಿದೆ</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">ಸಂದೇಶಗಳನ್ನು ಅಳಿಸಲಾಗುತ್ತಿದೆ…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%2$d ನಲ್ಲಿ %1$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">ಇವುಗಳಂತೆ ವಿಂಗಡಿಸು</string>
|
||||
<string name="MediaOverviewActivity_Newest">ಹೊಸತು</string>
|
||||
<string name="MediaOverviewActivity_Oldest">ಹಳೆಯದು</string>
|
||||
|
||||
@@ -1771,7 +1771,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">삭제 중</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">메시지 삭제 중…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%2$d 중 %1$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">정렬 방법</string>
|
||||
<string name="MediaOverviewActivity_Newest">최근 순서</string>
|
||||
<string name="MediaOverviewActivity_Oldest">오래된 순서</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Өчүрүлүүдө</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Билдирүүлөр өчүрүлүүдө…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%2$d ичинен %1$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Кантип иргелет:</string>
|
||||
<string name="MediaOverviewActivity_Newest">Жаңысынан баштап</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Эскисинен баштап</string>
|
||||
|
||||
@@ -1930,7 +1930,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Ištrinama</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Ištrinamos žinutės…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d iš %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Rikiuoti pagal</string>
|
||||
<string name="MediaOverviewActivity_Newest">Naujausi</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Seniausi</string>
|
||||
|
||||
@@ -1877,7 +1877,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Dzēš</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Dzēš ziņas…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d no %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Kārtot pēc</string>
|
||||
<string name="MediaOverviewActivity_Newest">jaunākais</string>
|
||||
<string name="MediaOverviewActivity_Oldest">vecākais</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Бришење</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Бришење на пораките…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d од %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Сортирај по</string>
|
||||
<string name="MediaOverviewActivity_Newest">Најново</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Најстаро</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">ഇല്ലാതാക്കുന്നു</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">സന്ദേശങ്ങൾ ഇല്ലാതാക്കുന്നു…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%2$d ൽ %1$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">ഇങ്ങനെ അടുക്കുക</string>
|
||||
<string name="MediaOverviewActivity_Newest">ഏറ്റവും പുതിയത്</string>
|
||||
<string name="MediaOverviewActivity_Oldest">ഏറ്റവും പഴയത്</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">हटवत आहे</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">संदेश हटवत आहे…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d पैकी %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">द्वारे क्रमवारी लावा</string>
|
||||
<string name="MediaOverviewActivity_Newest">नवीनतम</string>
|
||||
<string name="MediaOverviewActivity_Oldest">सर्वात जुने</string>
|
||||
|
||||
@@ -1771,7 +1771,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Memadam</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Memadam mesej…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d daripada %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Susun mengikut</string>
|
||||
<string name="MediaOverviewActivity_Newest">Terkini</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Terlama</string>
|
||||
|
||||
@@ -1771,7 +1771,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">ဖျက်နေဆဲ</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">မက်ဆေ့ချ်များကို ဖျက်နေပါသည်…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d ၏ %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">၎င်းအလိုက်စီရင်ပါ</string>
|
||||
<string name="MediaOverviewActivity_Newest">နောက်ဆုံးပေါ်</string>
|
||||
<string name="MediaOverviewActivity_Oldest">အဟောင်းဆုံး</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Sletter</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Sletter meldinger…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d av %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Sorter etter</string>
|
||||
<string name="MediaOverviewActivity_Newest">Nyeste</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Eldste</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Aan het verwijderen</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Berichten aan het verwijderen…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d van %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Sorteren op</string>
|
||||
<string name="MediaOverviewActivity_Newest">Nieuwste bovenaan</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Oudste bovenaan</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">ਮਿਟਾਇਆ ਜਾ ਰਿਹਾ ਹੈ</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">ਸੁਨੇਹਿਆਂ ਨੂੰ ਮਿਟਾਇਆ ਜਾ ਰਿਹਾ ਹੈ…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%2$d ਵਿੱਚੋਂ %1$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">ਇੰਝ ਕ੍ਰਮ ਵਿੱਚ ਲਗਾਓ</string>
|
||||
<string name="MediaOverviewActivity_Newest">ਨਵੀਨਤਮ</string>
|
||||
<string name="MediaOverviewActivity_Oldest">ਸਭ ਤੋਂ ਪੁਰਾਣਾ</string>
|
||||
|
||||
@@ -1930,7 +1930,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Usuwanie</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Usuwanie wiadomości…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d z %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Sortuj</string>
|
||||
<string name="MediaOverviewActivity_Newest">Najnowsze</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Najstarsze</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Excluindo</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Excluindo mensagens…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d de %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Ordenar por</string>
|
||||
<string name="MediaOverviewActivity_Newest">O mais recente</string>
|
||||
<string name="MediaOverviewActivity_Oldest">O mais antigo</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">A eliminar</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">A eliminar mensagens…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d de %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Ordenar por</string>
|
||||
<string name="MediaOverviewActivity_Newest">Mais recente</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Mais antiga</string>
|
||||
|
||||
@@ -1877,7 +1877,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Se șterge</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Se șterg mesajele…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d din %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Sortează după</string>
|
||||
<string name="MediaOverviewActivity_Newest">Noi</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Vechi</string>
|
||||
|
||||
@@ -1930,7 +1930,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Удаление</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Удаляем сообщения…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d из %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Сортировать по</string>
|
||||
<string name="MediaOverviewActivity_Newest">Сначала новые</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Сначала старые</string>
|
||||
|
||||
@@ -1930,7 +1930,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Mazanie</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Mažú sa správy…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d z %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Zoradiť podľa</string>
|
||||
<string name="MediaOverviewActivity_Newest">Najnovšie</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Najstaršie</string>
|
||||
|
||||
@@ -1930,7 +1930,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Brišem</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Izbris sporočil …</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d od %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Razvrščanje</string>
|
||||
<string name="MediaOverviewActivity_Newest">Najnovejše</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Najstarejše</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Po fshihet</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Po fshihen mesazhet…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d nga %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Renditi sipas</string>
|
||||
<string name="MediaOverviewActivity_Newest">Më të rejave</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Më të vjetrave</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Брисање</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Брисање порука…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d од %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Поређај по</string>
|
||||
<string name="MediaOverviewActivity_Newest">Најновије</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Најстарије</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Tar bort</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Tar bort meddelanden…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d av %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Sortera efter</string>
|
||||
<string name="MediaOverviewActivity_Newest">Nyaste</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Äldsta</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Inafutwa</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Jumbe zinafutwa</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d kwa %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Panga kwa</string>
|
||||
<string name="MediaOverviewActivity_Newest">Mpya kabisa</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Nzee zaidi</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">நீக்கப்படுகிறது</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">செய்திகள் நீக்கப்படுகிறது…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%2$d இன் %1$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">மூலம் வரிசைப்படுத்து</string>
|
||||
<string name="MediaOverviewActivity_Newest">புதியது</string>
|
||||
<string name="MediaOverviewActivity_Oldest">பழையது</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">తొలగిపోతున్నాయ్</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">సందేశాలను తొలగిస్తోంది …</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d ఆఫ్ %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">ఆమరిక</string>
|
||||
<string name="MediaOverviewActivity_Newest">సరికొత్త</string>
|
||||
<string name="MediaOverviewActivity_Oldest">పాతది</string>
|
||||
|
||||
@@ -1771,7 +1771,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">กำลังลบ</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">กำลังลบข้อความ…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d จาก %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">จัดประเภทโดย</string>
|
||||
<string name="MediaOverviewActivity_Newest">ใหม่ที่สุด</string>
|
||||
<string name="MediaOverviewActivity_Oldest">เก่าที่สุด</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Binubura</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Binubura ang mga mensahe…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d sa %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Pasunud-sunurin ayon sa</string>
|
||||
<string name="MediaOverviewActivity_Newest">Pinakabago</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Pinakaluma</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Siliniyor</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">İletiler siliniyor…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d / %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Sıralama</string>
|
||||
<string name="MediaOverviewActivity_Newest">En yeni</string>
|
||||
<string name="MediaOverviewActivity_Oldest">En eski</string>
|
||||
|
||||
@@ -1771,7 +1771,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">ئۆچۈرۈلۈۋاتىدۇ</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">ئۇچۇرلار ئۆچۈرۈلۈۋاتىدۇ…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d نىڭ%2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">تەرتىپى</string>
|
||||
<string name="MediaOverviewActivity_Newest">يېڭى</string>
|
||||
<string name="MediaOverviewActivity_Oldest">كونا</string>
|
||||
|
||||
@@ -1930,7 +1930,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Видалення</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Видалення повідомлень…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d з %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Сортування</string>
|
||||
<string name="MediaOverviewActivity_Newest">Найновіші</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Найдавніші</string>
|
||||
|
||||
@@ -1824,7 +1824,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">حذف ہو رہا ہے</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">پیغامات حذف ہو رہے ہیں۔۔۔</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$dکا%2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">کے لحاظ سے ترتیب دیں</string>
|
||||
<string name="MediaOverviewActivity_Newest">تازہ ترین</string>
|
||||
<string name="MediaOverviewActivity_Oldest">سب سے قدیم</string>
|
||||
|
||||
@@ -1771,7 +1771,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">Đang xóa</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">Đang xóa tin nhắn…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d trên tổng số %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">Sắp xếp theo</string>
|
||||
<string name="MediaOverviewActivity_Newest">Mới nhất</string>
|
||||
<string name="MediaOverviewActivity_Oldest">Cũ nhất</string>
|
||||
|
||||
@@ -1771,7 +1771,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">刪除緊</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">刪除緊啲訊息…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d / %2$d</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">排序方法</string>
|
||||
<string name="MediaOverviewActivity_Newest">最新到最舊</string>
|
||||
<string name="MediaOverviewActivity_Oldest">最舊到最新</string>
|
||||
|
||||
@@ -1771,7 +1771,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">正在删除</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">正在删除消息…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d / %2$d 匹配</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">排序</string>
|
||||
<string name="MediaOverviewActivity_Newest">最新</string>
|
||||
<string name="MediaOverviewActivity_Oldest">最旧</string>
|
||||
|
||||
@@ -1771,7 +1771,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">正在刪除</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">正在刪除訊息…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">第 %1$d 個,共 %2$d 個</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">排序方式</string>
|
||||
<string name="MediaOverviewActivity_Newest">由新到舊</string>
|
||||
<string name="MediaOverviewActivity_Oldest">由舊到新</string>
|
||||
|
||||
@@ -1771,7 +1771,7 @@
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_title">正在刪除</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_message">刪除訊息中…</string>
|
||||
<!-- Format string showing current vs. total items being deleted, e.g. "12 of 207" -->
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">%1$d of %2$d</string>
|
||||
<string name="MediaOverviewActivity_Media_delete_progress_count">第 %1$d 個,共 %2$d 個</string>
|
||||
<string name="MediaOverviewActivity_Sort_by">排列方式</string>
|
||||
<string name="MediaOverviewActivity_Newest">最新到最舊</string>
|
||||
<string name="MediaOverviewActivity_Oldest">最舊到最新</string>
|
||||
|
||||
+90
@@ -0,0 +1,90 @@
|
||||
/*
|
||||
* Copyright 2026 Signal Messenger, LLC
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
|
||||
package org.thoughtcrime.securesms.contacts.paged
|
||||
|
||||
import android.app.Application
|
||||
import androidx.core.content.contentValuesOf
|
||||
import androidx.test.core.app.ApplicationProvider
|
||||
import org.junit.Assert.assertEquals
|
||||
import org.junit.Assert.assertNotNull
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.robolectric.RobolectricTestRunner
|
||||
import org.robolectric.annotation.Config
|
||||
import org.signal.core.models.ServiceId.PNI
|
||||
import org.signal.paging.PagedDataSource
|
||||
import org.thoughtcrime.securesms.database.RecipientTable
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase
|
||||
import org.thoughtcrime.securesms.keyvalue.StorySend
|
||||
import org.thoughtcrime.securesms.recipients.RecipientId
|
||||
import org.thoughtcrime.securesms.testutil.RecipientTestRule
|
||||
import java.util.UUID
|
||||
|
||||
@Suppress("ClassName")
|
||||
@RunWith(RobolectricTestRunner::class)
|
||||
@Config(manifest = Config.NONE, application = Application::class)
|
||||
class ContactSearchPagedDataSourceTest_letterHeaders {
|
||||
|
||||
@get:Rule
|
||||
val recipients = RecipientTestRule()
|
||||
|
||||
@Test
|
||||
fun `letter header lands on registered contact even when an unregistered system contact outranks it alphabetically`() {
|
||||
recipients.createRecipient("Alice Anderson")
|
||||
val charlieId = recipients.createRecipient("Charlie Chaplin")
|
||||
insertUnregisteredSystemContact("Carrolyn")
|
||||
|
||||
val dataSource = ContactSearchPagedDataSource(
|
||||
contactConfiguration = ContactSearchConfiguration.build {
|
||||
addSection(
|
||||
ContactSearchConfiguration.Section.Individuals(
|
||||
includeHeader = false,
|
||||
includeSelfMode = RecipientTable.IncludeSelfMode.Exclude,
|
||||
includeLetterHeaders = true,
|
||||
transportType = ContactSearchConfiguration.TransportType.ALL
|
||||
)
|
||||
)
|
||||
},
|
||||
contactSearchPagedDataSourceRepository = object : ContactSearchPagedDataSourceRepository(ApplicationProvider.getApplicationContext()) {
|
||||
override fun getLatestStorySends(activeStoryCutoffDuration: Long): List<StorySend> = emptyList()
|
||||
}
|
||||
)
|
||||
|
||||
val totalSize = dataSource.size()
|
||||
val rows = dataSource.load(0, totalSize, totalSize, PagedDataSource.CancellationSignal { false })
|
||||
|
||||
val charlie = rows.filterIsInstance<ContactSearchData.KnownRecipient>()
|
||||
.firstOrNull { it.recipient.id == charlieId }
|
||||
assertNotNull("Charlie should be in the visible list. rows=$rows", charlie)
|
||||
assertEquals(
|
||||
"Charlie (registered) must carry the C header even though Carrolyn (unregistered system contact) sorts ahead of her. rows=$rows",
|
||||
"C",
|
||||
charlie!!.headerLetter
|
||||
)
|
||||
}
|
||||
|
||||
private fun insertUnregisteredSystemContact(name: String): RecipientId {
|
||||
val rowId = SignalDatabase.recipients.writableDatabase.insertOrThrow(
|
||||
RecipientTable.TABLE_NAME,
|
||||
null,
|
||||
contentValuesOf(
|
||||
RecipientTable.TYPE to 0,
|
||||
RecipientTable.E164 to "+15555550101",
|
||||
RecipientTable.ACI_COLUMN to null,
|
||||
RecipientTable.PNI_COLUMN to PNI.from(UUID.randomUUID()).toString(),
|
||||
RecipientTable.REGISTERED to RecipientTable.RegisteredState.NOT_REGISTERED.id,
|
||||
RecipientTable.PROFILE_SHARING to 1,
|
||||
RecipientTable.SYSTEM_GIVEN_NAME to name,
|
||||
RecipientTable.SYSTEM_JOINED_NAME to name,
|
||||
RecipientTable.SYSTEM_CONTACT_URI to "content://com.android.contacts/contacts/lookup/abc/1",
|
||||
RecipientTable.AVATAR_COLOR to "A110",
|
||||
RecipientTable.MESSAGE_EXPIRATION_TIME_VERSION to 1
|
||||
)
|
||||
)
|
||||
return RecipientId.from(rowId)
|
||||
}
|
||||
}
|
||||
+118
@@ -0,0 +1,118 @@
|
||||
/*
|
||||
* Copyright 2026 Signal Messenger, LLC
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
|
||||
package org.thoughtcrime.securesms.database
|
||||
|
||||
import android.app.Application
|
||||
import org.junit.Assert.assertTrue
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.robolectric.RobolectricTestRunner
|
||||
import org.robolectric.annotation.Config
|
||||
import org.signal.core.util.CursorUtil
|
||||
import org.thoughtcrime.securesms.profiles.ProfileName
|
||||
import org.thoughtcrime.securesms.recipients.RecipientId
|
||||
import org.thoughtcrime.securesms.testutil.RecipientTestRule
|
||||
|
||||
@Suppress("ClassName")
|
||||
@RunWith(RobolectricTestRunner::class)
|
||||
@Config(manifest = Config.NONE, application = Application::class)
|
||||
class RecipientTableTest_letterHeaders {
|
||||
|
||||
@get:Rule
|
||||
val recipients = RecipientTestRule()
|
||||
|
||||
@Test
|
||||
fun `letter header anchors are always in getSignalContacts`() {
|
||||
recipients.createRecipient("Alice Anderson")
|
||||
recipients.createRecipient("Bob Baker")
|
||||
recipients.createRecipient("Charlie Chaplin")
|
||||
recipients.createRecipient("David Dunn")
|
||||
|
||||
assertHeaderAnchorsAreVisible()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `hidden contact is not a letter header anchor`() {
|
||||
recipients.createRecipient("Alice Anderson")
|
||||
val hidden = recipients.createRecipient("Carrolyn Carter")
|
||||
SignalDatabase.recipients.markHidden(hidden)
|
||||
|
||||
assertHeaderAnchorsAreVisible()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `blocked contact is not a letter header anchor`() {
|
||||
recipients.createRecipient("Alice Anderson")
|
||||
val blocked = recipients.createRecipient("Carrolyn Carter")
|
||||
SignalDatabase.recipients.setBlocked(blocked, true)
|
||||
|
||||
assertHeaderAnchorsAreVisible()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `every visible letter section has a header anchor`() {
|
||||
recipients.createRecipient(ProfileName.fromParts("Alice", "Anderson"))
|
||||
recipients.createRecipient(ProfileName.fromParts("Bob", "Baker"))
|
||||
recipients.createRecipient(ProfileName.fromParts("Charlie", "Chaplin"))
|
||||
SignalDatabase.recipients.setSystemContactName(recipients.createRecipient(ProfileName.fromParts("Dave", "Dunn")), "Dave Dunn")
|
||||
|
||||
val visibleLetters: Set<String> = visibleSignalContacts().values
|
||||
.filter { it.isNotEmpty() }
|
||||
.mapNotNull { name -> name.firstOrNull()?.uppercaseChar()?.toString() }
|
||||
.toSet()
|
||||
|
||||
val headerLetters: Set<String> = SignalDatabase.recipients.querySignalContactLetterHeaders(
|
||||
"",
|
||||
RecipientTable.IncludeSelfMode.Exclude,
|
||||
includePush = true,
|
||||
includeSms = false
|
||||
).values.toSet()
|
||||
|
||||
assertTrue(
|
||||
"Every visible letter must have a header anchor. visible=$visibleLetters headers=$headerLetters",
|
||||
visibleLetters.all { it in headerLetters }
|
||||
)
|
||||
}
|
||||
|
||||
private fun assertHeaderAnchorsAreVisible() {
|
||||
val visibleIds = visibleSignalContactIds()
|
||||
val headers = SignalDatabase.recipients.querySignalContactLetterHeaders(
|
||||
"",
|
||||
RecipientTable.IncludeSelfMode.Exclude,
|
||||
includePush = true,
|
||||
includeSms = false
|
||||
)
|
||||
val orphaned = headers.keys - visibleIds
|
||||
assertTrue(
|
||||
"Header anchors must all appear in getSignalContacts. orphaned=$orphaned headers=$headers visible=$visibleIds",
|
||||
orphaned.isEmpty()
|
||||
)
|
||||
}
|
||||
|
||||
private fun visibleSignalContactIds(): Set<RecipientId> {
|
||||
return SignalDatabase.recipients.getSignalContacts(RecipientTable.IncludeSelfMode.Exclude).use { cursor ->
|
||||
val ids = mutableSetOf<RecipientId>()
|
||||
while (cursor.moveToNext()) {
|
||||
ids.add(RecipientId.from(CursorUtil.requireLong(cursor, RecipientTable.ID)))
|
||||
}
|
||||
ids
|
||||
}
|
||||
}
|
||||
|
||||
private fun visibleSignalContacts(): Map<RecipientId, String> {
|
||||
return SignalDatabase.recipients.getSignalContacts(RecipientTable.IncludeSelfMode.Exclude).use { cursor ->
|
||||
val rows = mutableMapOf<RecipientId, String>()
|
||||
while (cursor.moveToNext()) {
|
||||
val id = RecipientId.from(CursorUtil.requireLong(cursor, RecipientTable.ID))
|
||||
val systemName = CursorUtil.requireString(cursor, RecipientTable.SYSTEM_JOINED_NAME)
|
||||
val profileName = CursorUtil.requireString(cursor, RecipientTable.SEARCH_PROFILE_NAME)
|
||||
rows[id] = systemName ?: profileName ?: ""
|
||||
}
|
||||
rows
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
service_ips=new String[]{"13.248.212.111","76.223.92.165"}
|
||||
storage_ips=new String[]{"142.251.179.121"}
|
||||
storage_ips=new String[]{"142.250.65.83"}
|
||||
cdn_ips=new String[]{"18.161.21.122","18.161.21.4","18.161.21.66","18.161.21.70"}
|
||||
cdn2_ips=new String[]{"104.18.10.47","104.18.11.47"}
|
||||
cdn3_ips=new String[]{"104.18.10.47","104.18.11.47"}
|
||||
|
||||
Reference in New Issue
Block a user