Replace remaining Android-specific strings

Also renaming the helper composables so it's a bit easier to find/replace everything
in forks.
This commit is contained in:
arkon
2023-11-18 19:41:33 -05:00
parent 46e734fc8e
commit 0d1bced122
165 changed files with 1179 additions and 1167 deletions
@@ -38,7 +38,7 @@ import tachiyomi.presentation.core.components.LabeledCheckbox
import tachiyomi.presentation.core.components.RadioItem
import tachiyomi.presentation.core.components.SortItem
import tachiyomi.presentation.core.components.TriStateItem
import tachiyomi.presentation.core.i18n.localize
import tachiyomi.presentation.core.i18n.stringResource
import tachiyomi.presentation.core.theme.active
@Composable
@@ -66,20 +66,20 @@ fun ChapterSettingsDialog(
TabbedDialog(
onDismissRequest = onDismissRequest,
tabTitles = persistentListOf(
localize(MR.strings.action_filter),
localize(MR.strings.action_sort),
localize(MR.strings.action_display),
stringResource(MR.strings.action_filter),
stringResource(MR.strings.action_sort),
stringResource(MR.strings.action_display),
),
tabOverflowMenuContent = { closeMenu ->
DropdownMenuItem(
text = { Text(localize(MR.strings.set_chapter_settings_as_default)) },
text = { Text(stringResource(MR.strings.set_chapter_settings_as_default)) },
onClick = {
showSetAsDefaultDialog = true
closeMenu()
},
)
DropdownMenuItem(
text = { Text(localize(MR.strings.action_reset)) },
text = { Text(stringResource(MR.strings.action_reset)) },
onClick = {
onResetToDefault()
closeMenu()
@@ -136,17 +136,17 @@ private fun ColumnScope.FilterPage(
onScanlatorFilterClicked: (() -> Unit),
) {
TriStateItem(
label = localize(MR.strings.label_downloaded),
label = stringResource(MR.strings.label_downloaded),
state = downloadFilter,
onClick = onDownloadFilterChanged,
)
TriStateItem(
label = localize(MR.strings.action_filter_unread),
label = stringResource(MR.strings.action_filter_unread),
state = unreadFilter,
onClick = onUnreadFilterChanged,
)
TriStateItem(
label = localize(MR.strings.action_filter_bookmarked),
label = stringResource(MR.strings.action_filter_bookmarked),
state = bookmarkedFilter,
onClick = onBookmarkedFilterChanged,
)
@@ -179,7 +179,7 @@ fun ScanlatorFilterItem(
},
)
Text(
text = localize(MR.strings.scanlator),
text = stringResource(MR.strings.scanlator),
style = MaterialTheme.typography.bodyMedium,
)
}
@@ -198,7 +198,7 @@ private fun ColumnScope.SortPage(
MR.strings.action_sort_alpha to Manga.CHAPTER_SORTING_ALPHABET,
).map { (titleRes, mode) ->
SortItem(
label = localize(titleRes),
label = stringResource(titleRes),
sortDescending = sortDescending.takeIf { sortingMode == mode },
onClick = { onItemSelected(mode) },
)
@@ -215,7 +215,7 @@ private fun ColumnScope.DisplayPage(
MR.strings.show_chapter_number to Manga.CHAPTER_DISPLAY_NUMBER,
).map { (titleRes, mode) ->
RadioItem(
label = localize(titleRes),
label = stringResource(titleRes),
selected = displayMode == mode,
onClick = { onItemSelected(mode) },
)
@@ -231,15 +231,15 @@ private fun SetAsDefaultDialog(
AlertDialog(
onDismissRequest = onDismissRequest,
title = { Text(text = localize(MR.strings.chapter_settings)) },
title = { Text(text = stringResource(MR.strings.chapter_settings)) },
text = {
Column(
verticalArrangement = Arrangement.spacedBy(12.dp),
) {
Text(text = localize(MR.strings.confirm_set_chapter_settings))
Text(text = stringResource(MR.strings.confirm_set_chapter_settings))
LabeledCheckbox(
label = localize(MR.strings.also_set_chapter_settings_for_library),
label = stringResource(MR.strings.also_set_chapter_settings_for_library),
checked = optionalChecked,
onCheckedChange = { optionalChecked = it },
)
@@ -247,7 +247,7 @@ private fun SetAsDefaultDialog(
},
dismissButton = {
TextButton(onClick = onDismissRequest) {
Text(text = localize(MR.strings.action_cancel))
Text(text = stringResource(MR.strings.action_cancel))
}
},
confirmButton = {
@@ -257,7 +257,7 @@ private fun SetAsDefaultDialog(
onDismissRequest()
},
) {
Text(text = localize(MR.strings.action_ok))
Text(text = stringResource(MR.strings.action_ok))
}
},
)
@@ -10,7 +10,7 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import tachiyomi.i18n.MR
import tachiyomi.presentation.core.i18n.localize
import tachiyomi.presentation.core.i18n.stringResource
@Composable
fun DuplicateMangaDialog(
@@ -21,10 +21,10 @@ fun DuplicateMangaDialog(
AlertDialog(
onDismissRequest = onDismissRequest,
title = {
Text(text = localize(MR.strings.are_you_sure))
Text(text = stringResource(MR.strings.are_you_sure))
},
text = {
Text(text = localize(MR.strings.confirm_add_duplicate_manga))
Text(text = stringResource(MR.strings.confirm_add_duplicate_manga))
},
confirmButton = {
FlowRow(
@@ -36,13 +36,13 @@ fun DuplicateMangaDialog(
onOpenManga()
},
) {
Text(text = localize(MR.strings.action_show_manga))
Text(text = stringResource(MR.strings.action_show_manga))
}
Spacer(modifier = Modifier.weight(1f))
TextButton(onClick = onDismissRequest) {
Text(text = localize(MR.strings.action_cancel))
Text(text = stringResource(MR.strings.action_cancel))
}
TextButton(
onClick = {
@@ -50,7 +50,7 @@ fun DuplicateMangaDialog(
onConfirm()
},
) {
Text(text = localize(MR.strings.action_add))
Text(text = stringResource(MR.strings.action_add))
}
}
},
@@ -74,7 +74,7 @@ import tachiyomi.presentation.core.components.VerticalFastScroller
import tachiyomi.presentation.core.components.material.ExtendedFloatingActionButton
import tachiyomi.presentation.core.components.material.PullRefresh
import tachiyomi.presentation.core.components.material.Scaffold
import tachiyomi.presentation.core.i18n.localize
import tachiyomi.presentation.core.i18n.stringResource
import tachiyomi.presentation.core.util.isScrolledToEnd
import tachiyomi.presentation.core.util.isScrollingUp
import java.text.DateFormat
@@ -349,7 +349,9 @@ private fun MangaScreenSmallImpl(
val isReading = remember(state.chapters) {
state.chapters.fastAny { it.chapter.read }
}
Text(text = localize(if (isReading) MR.strings.action_resume else MR.strings.action_start))
Text(
text = stringResource(if (isReading) MR.strings.action_resume else MR.strings.action_start),
)
},
icon = { Icon(imageVector = Icons.Filled.PlayArrow, contentDescription = null) },
onClick = onContinueReading,
@@ -608,7 +610,9 @@ fun MangaScreenLargeImpl(
state.chapters.fastAny { it.chapter.read }
}
Text(
text = localize(if (isReading) MR.strings.action_resume else MR.strings.action_start),
text = stringResource(
if (isReading) MR.strings.action_resume else MR.strings.action_start,
),
)
},
icon = { Icon(imageVector = Icons.Filled.PlayArrow, contentDescription = null) },
@@ -787,7 +791,7 @@ private fun LazyListScope.sharedChapterItems(
is ChapterList.Item -> {
MangaChapterListItem(
title = if (manga.displayMode == Manga.CHAPTER_DISPLAY_NUMBER) {
localize(
stringResource(
MR.strings.display_mode_chapter,
formatChapterNumber(item.chapter.chapterNumber),
)
@@ -806,7 +810,7 @@ private fun LazyListScope.sharedChapterItems(
readProgress = item.chapter.lastPageRead
.takeIf { !item.chapter.read && it > 0L }
?.let {
localize(
stringResource(
MR.strings.chapter_progress,
it + 1,
)
@@ -36,7 +36,7 @@ import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.download.model.Download
import tachiyomi.i18n.MR
import tachiyomi.presentation.core.components.material.IconButtonTokens
import tachiyomi.presentation.core.i18n.localize
import tachiyomi.presentation.core.i18n.stringResource
import tachiyomi.presentation.core.util.secondaryItemAlpha
enum class ChapterDownloadAction {
@@ -99,7 +99,7 @@ private fun NotDownloadedIndicator(
) {
Icon(
painter = painterResource(R.drawable.ic_download_chapter_24dp),
contentDescription = localize(MR.strings.manga_download),
contentDescription = stringResource(MR.strings.manga_download),
modifier = Modifier.size(IndicatorSize),
tint = MaterialTheme.colorScheme.onSurfaceVariant,
)
@@ -157,14 +157,14 @@ private fun DownloadingIndicator(
}
DropdownMenu(expanded = isMenuExpanded, onDismissRequest = { isMenuExpanded = false }) {
DropdownMenuItem(
text = { Text(text = localize(MR.strings.action_start_downloading_now)) },
text = { Text(text = stringResource(MR.strings.action_start_downloading_now)) },
onClick = {
onClick(ChapterDownloadAction.START_NOW)
isMenuExpanded = false
},
)
DropdownMenuItem(
text = { Text(text = localize(MR.strings.action_cancel)) },
text = { Text(text = stringResource(MR.strings.action_cancel)) },
onClick = {
onClick(ChapterDownloadAction.CANCEL)
isMenuExpanded = false
@@ -205,7 +205,7 @@ private fun DownloadedIndicator(
)
DropdownMenu(expanded = isMenuExpanded, onDismissRequest = { isMenuExpanded = false }) {
DropdownMenuItem(
text = { Text(text = localize(MR.strings.action_delete)) },
text = { Text(text = stringResource(MR.strings.action_delete)) },
onClick = {
onClick(ChapterDownloadAction.DELETE)
isMenuExpanded = false
@@ -233,7 +233,7 @@ private fun ErrorIndicator(
) {
Icon(
imageVector = Icons.Outlined.ErrorOutline,
contentDescription = localize(MR.strings.chapter_error),
contentDescription = stringResource(MR.strings.chapter_error),
modifier = Modifier.size(IndicatorSize),
tint = MaterialTheme.colorScheme.error,
)
@@ -13,8 +13,8 @@ import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import tachiyomi.i18n.MR
import tachiyomi.presentation.core.components.material.SecondaryItemAlpha
import tachiyomi.presentation.core.i18n.localize
import tachiyomi.presentation.core.i18n.localizePlural
import tachiyomi.presentation.core.i18n.pluralStringResource
import tachiyomi.presentation.core.i18n.stringResource
@Composable
fun ChapterHeader(
@@ -35,9 +35,9 @@ fun ChapterHeader(
) {
Text(
text = if (chapterCount == null) {
localize(MR.strings.chapters)
stringResource(MR.strings.chapters)
} else {
localizePlural(MR.plurals.manga_num_chapters, count = chapterCount, chapterCount)
pluralStringResource(MR.plurals.manga_num_chapters, count = chapterCount, chapterCount)
},
style = MaterialTheme.typography.titleMedium,
color = MaterialTheme.colorScheme.onBackground,
@@ -54,7 +54,7 @@ private fun MissingChaptersWarning(count: Int) {
}
Text(
text = localizePlural(MR.plurals.missing_chapters, count = count, count),
text = pluralStringResource(MR.plurals.missing_chapters, count = count, count),
maxLines = 1,
overflow = TextOverflow.Ellipsis,
style = MaterialTheme.typography.bodySmall,
@@ -29,7 +29,6 @@ import androidx.compose.material.icons.outlined.BookmarkRemove
import androidx.compose.material.icons.outlined.Delete
import androidx.compose.material.icons.outlined.DoneAll
import androidx.compose.material.icons.outlined.Download
import androidx.compose.material.icons.outlined.Label
import androidx.compose.material.icons.outlined.RemoveDone
import androidx.compose.material.ripple.rememberRipple
import androidx.compose.material3.Icon
@@ -59,7 +58,7 @@ import kotlinx.coroutines.delay
import kotlinx.coroutines.isActive
import kotlinx.coroutines.launch
import tachiyomi.i18n.MR
import tachiyomi.presentation.core.i18n.localize
import tachiyomi.presentation.core.i18n.stringResource
import kotlin.time.Duration.Companion.seconds
@Composable
@@ -108,7 +107,7 @@ fun MangaBottomActionMenu(
) {
if (onBookmarkClicked != null) {
Button(
title = localize(MR.strings.action_bookmark),
title = stringResource(MR.strings.action_bookmark),
icon = Icons.Outlined.BookmarkAdd,
toConfirm = confirm[0],
onLongClick = { onLongClickItem(0) },
@@ -117,7 +116,7 @@ fun MangaBottomActionMenu(
}
if (onRemoveBookmarkClicked != null) {
Button(
title = localize(MR.strings.action_remove_bookmark),
title = stringResource(MR.strings.action_remove_bookmark),
icon = Icons.Outlined.BookmarkRemove,
toConfirm = confirm[1],
onLongClick = { onLongClickItem(1) },
@@ -126,7 +125,7 @@ fun MangaBottomActionMenu(
}
if (onMarkAsReadClicked != null) {
Button(
title = localize(MR.strings.action_mark_as_read),
title = stringResource(MR.strings.action_mark_as_read),
icon = Icons.Outlined.DoneAll,
toConfirm = confirm[2],
onLongClick = { onLongClickItem(2) },
@@ -135,7 +134,7 @@ fun MangaBottomActionMenu(
}
if (onMarkAsUnreadClicked != null) {
Button(
title = localize(MR.strings.action_mark_as_unread),
title = stringResource(MR.strings.action_mark_as_unread),
icon = Icons.Outlined.RemoveDone,
toConfirm = confirm[3],
onLongClick = { onLongClickItem(3) },
@@ -144,7 +143,7 @@ fun MangaBottomActionMenu(
}
if (onMarkPreviousAsReadClicked != null) {
Button(
title = localize(MR.strings.action_mark_previous_as_read),
title = stringResource(MR.strings.action_mark_previous_as_read),
icon = ImageVector.vectorResource(R.drawable.ic_done_prev_24dp),
toConfirm = confirm[4],
onLongClick = { onLongClickItem(4) },
@@ -153,7 +152,7 @@ fun MangaBottomActionMenu(
}
if (onDownloadClicked != null) {
Button(
title = localize(MR.strings.action_download),
title = stringResource(MR.strings.action_download),
icon = Icons.Outlined.Download,
toConfirm = confirm[5],
onLongClick = { onLongClickItem(5) },
@@ -162,7 +161,7 @@ fun MangaBottomActionMenu(
}
if (onDeleteClicked != null) {
Button(
title = localize(MR.strings.action_delete),
title = stringResource(MR.strings.action_delete),
icon = Icons.Outlined.Delete,
toConfirm = confirm[6],
onLongClick = { onLongClickItem(6) },
@@ -259,21 +258,21 @@ fun LibraryBottomActionMenu(
.padding(horizontal = 8.dp, vertical = 12.dp),
) {
Button(
title = localize(MR.strings.action_move_category),
title = stringResource(MR.strings.action_move_category),
icon = Icons.AutoMirrored.Outlined.Label,
toConfirm = confirm[0],
onLongClick = { onLongClickItem(0) },
onClick = onChangeCategoryClicked,
)
Button(
title = localize(MR.strings.action_mark_as_read),
title = stringResource(MR.strings.action_mark_as_read),
icon = Icons.Outlined.DoneAll,
toConfirm = confirm[1],
onLongClick = { onLongClickItem(1) },
onClick = onMarkAsReadClicked,
)
Button(
title = localize(MR.strings.action_mark_as_unread),
title = stringResource(MR.strings.action_mark_as_unread),
icon = Icons.Outlined.RemoveDone,
toConfirm = confirm[2],
onLongClick = { onLongClickItem(2) },
@@ -282,7 +281,7 @@ fun LibraryBottomActionMenu(
if (onDownloadClicked != null) {
var downloadExpanded by remember { mutableStateOf(false) }
Button(
title = localize(MR.strings.action_download),
title = stringResource(MR.strings.action_download),
icon = Icons.Outlined.Download,
toConfirm = confirm[3],
onLongClick = { onLongClickItem(3) },
@@ -297,7 +296,7 @@ fun LibraryBottomActionMenu(
}
}
Button(
title = localize(MR.strings.action_delete),
title = stringResource(MR.strings.action_delete),
icon = Icons.Outlined.Delete,
toConfirm = confirm[4],
onLongClick = { onLongClickItem(4) },
@@ -52,7 +52,7 @@ import tachiyomi.domain.library.service.LibraryPreferences
import tachiyomi.i18n.MR
import tachiyomi.presentation.core.components.material.ReadItemAlpha
import tachiyomi.presentation.core.components.material.SecondaryItemAlpha
import tachiyomi.presentation.core.i18n.localize
import tachiyomi.presentation.core.i18n.stringResource
import tachiyomi.presentation.core.util.selectedBackground
import kotlin.math.absoluteValue
@@ -143,7 +143,7 @@ fun MangaChapterListItem(
if (!read) {
Icon(
imageVector = Icons.Filled.Circle,
contentDescription = localize(MR.strings.unread),
contentDescription = stringResource(MR.strings.unread),
modifier = Modifier
.height(8.dp)
.padding(end = 4.dp),
@@ -153,7 +153,7 @@ fun MangaChapterListItem(
if (bookmark) {
Icon(
imageVector = Icons.Filled.Bookmark,
contentDescription = localize(MR.strings.action_filter_bookmarked),
contentDescription = stringResource(MR.strings.action_filter_bookmarked),
modifier = Modifier
.sizeIn(maxHeight = with(LocalDensity.current) { textHeight.toDp() - 2.dp }),
tint = MaterialTheme.colorScheme.primary,
@@ -51,7 +51,7 @@ import kotlinx.collections.immutable.persistentListOf
import tachiyomi.domain.manga.model.Manga
import tachiyomi.i18n.MR
import tachiyomi.presentation.core.components.material.Scaffold
import tachiyomi.presentation.core.i18n.localize
import tachiyomi.presentation.core.i18n.stringResource
import tachiyomi.presentation.core.util.clickableNoIndication
@Composable
@@ -85,7 +85,7 @@ fun MangaCoverDialog(
IconButton(onClick = onDismissRequest) {
Icon(
imageVector = Icons.Outlined.Close,
contentDescription = localize(MR.strings.action_close),
contentDescription = stringResource(MR.strings.action_close),
)
}
}
@@ -94,12 +94,12 @@ fun MangaCoverDialog(
AppBarActions(
actions = persistentListOf(
AppBar.Action(
title = localize(MR.strings.action_share),
title = stringResource(MR.strings.action_share),
icon = Icons.Outlined.Share,
onClick = onShareClick,
),
AppBar.Action(
title = localize(MR.strings.action_save),
title = stringResource(MR.strings.action_save),
icon = Icons.Outlined.Save,
onClick = onSaveClick,
),
@@ -119,7 +119,7 @@ fun MangaCoverDialog(
) {
Icon(
imageVector = Icons.Outlined.Edit,
contentDescription = localize(MR.strings.action_edit_cover),
contentDescription = stringResource(MR.strings.action_edit_cover),
)
}
DropdownMenu(
@@ -128,14 +128,14 @@ fun MangaCoverDialog(
offset = DpOffset(8.dp, 0.dp),
) {
DropdownMenuItem(
text = { Text(text = localize(MR.strings.action_edit)) },
text = { Text(text = stringResource(MR.strings.action_edit)) },
onClick = {
onEditClick(EditCoverAction.EDIT)
expanded = false
},
)
DropdownMenuItem(
text = { Text(text = localize(MR.strings.action_delete)) },
text = { Text(text = stringResource(MR.strings.action_delete)) },
onClick = {
onEditClick(EditCoverAction.DELETE)
expanded = false
@@ -18,7 +18,7 @@ import kotlinx.collections.immutable.toImmutableList
import tachiyomi.domain.manga.interactor.FetchInterval
import tachiyomi.i18n.MR
import tachiyomi.presentation.core.components.WheelTextPicker
import tachiyomi.presentation.core.i18n.localize
import tachiyomi.presentation.core.i18n.stringResource
@Composable
fun DeleteChaptersDialog(
@@ -29,7 +29,7 @@ fun DeleteChaptersDialog(
onDismissRequest = onDismissRequest,
dismissButton = {
TextButton(onClick = onDismissRequest) {
Text(text = localize(MR.strings.action_cancel))
Text(text = stringResource(MR.strings.action_cancel))
}
},
confirmButton = {
@@ -39,14 +39,14 @@ fun DeleteChaptersDialog(
onConfirm()
},
) {
Text(text = localize(MR.strings.action_ok))
Text(text = stringResource(MR.strings.action_ok))
}
},
title = {
Text(text = localize(MR.strings.are_you_sure))
Text(text = stringResource(MR.strings.are_you_sure))
},
text = {
Text(text = localize(MR.strings.confirm_delete_chapters))
Text(text = stringResource(MR.strings.confirm_delete_chapters))
},
)
}
@@ -61,7 +61,7 @@ fun SetIntervalDialog(
AlertDialog(
onDismissRequest = onDismissRequest,
title = { Text(text = localize(MR.strings.manga_modify_calculated_interval_title)) },
title = { Text(text = stringResource(MR.strings.manga_modify_calculated_interval_title)) },
text = {
BoxWithConstraints(
modifier = Modifier.fillMaxWidth(),
@@ -71,7 +71,7 @@ fun SetIntervalDialog(
val items = (0..FetchInterval.MAX_INTERVAL)
.map {
if (it == 0) {
localize(MR.strings.label_default)
stringResource(MR.strings.label_default)
} else {
it.toString()
}
@@ -87,7 +87,7 @@ fun SetIntervalDialog(
},
dismissButton = {
TextButton(onClick = onDismissRequest) {
Text(text = localize(MR.strings.action_cancel))
Text(text = stringResource(MR.strings.action_cancel))
}
},
confirmButton = {
@@ -95,7 +95,7 @@ fun SetIntervalDialog(
onValueChanged(selectedInterval)
onDismissRequest()
}) {
Text(text = localize(MR.strings.action_ok))
Text(text = stringResource(MR.strings.action_ok))
}
},
)
@@ -81,8 +81,8 @@ import tachiyomi.domain.manga.model.Manga
import tachiyomi.i18n.MR
import tachiyomi.presentation.core.components.material.TextButton
import tachiyomi.presentation.core.components.material.padding
import tachiyomi.presentation.core.i18n.localize
import tachiyomi.presentation.core.i18n.localizePlural
import tachiyomi.presentation.core.i18n.pluralStringResource
import tachiyomi.presentation.core.i18n.stringResource
import tachiyomi.presentation.core.util.clickableNoIndication
import tachiyomi.presentation.core.util.secondaryItemAlpha
import kotlin.math.absoluteValue
@@ -179,9 +179,9 @@ fun MangaActionRow(
Row(modifier = modifier.padding(start = 16.dp, top = 8.dp, end = 16.dp)) {
MangaActionButton(
title = if (favorite) {
localize(MR.strings.in_library)
stringResource(MR.strings.in_library)
} else {
localize(MR.strings.add_to_library)
stringResource(MR.strings.add_to_library)
},
icon = if (favorite) Icons.Filled.Favorite else Icons.Outlined.FavoriteBorder,
color = if (favorite) MaterialTheme.colorScheme.primary else defaultActionButtonColor,
@@ -190,7 +190,7 @@ fun MangaActionRow(
)
if (onEditIntervalClicked != null && fetchInterval != null) {
MangaActionButton(
title = localizePlural(
title = pluralStringResource(
MR.plurals.day,
count = fetchInterval.absoluteValue,
fetchInterval.absoluteValue,
@@ -203,9 +203,9 @@ fun MangaActionRow(
if (onTrackingClicked != null) {
MangaActionButton(
title = if (trackingCount == 0) {
localize(MR.strings.manga_tracking_tab)
stringResource(MR.strings.manga_tracking_tab)
} else {
localizePlural(MR.plurals.num_trackers, count = trackingCount, trackingCount)
pluralStringResource(MR.plurals.num_trackers, count = trackingCount, trackingCount)
},
icon = if (trackingCount == 0) Icons.Outlined.Sync else Icons.Outlined.Done,
color = if (trackingCount == 0) defaultActionButtonColor else MaterialTheme.colorScheme.primary,
@@ -214,7 +214,7 @@ fun MangaActionRow(
}
if (onWebViewClicked != null) {
MangaActionButton(
title = localize(MR.strings.action_web_view),
title = stringResource(MR.strings.action_web_view),
icon = Icons.Outlined.Public,
color = defaultActionButtonColor,
onClick = onWebViewClicked,
@@ -238,7 +238,7 @@ fun ExpandableMangaDescription(
mutableStateOf(defaultExpandState)
}
val desc =
description.takeIf { !it.isNullOrBlank() } ?: localize(MR.strings.description_placeholder)
description.takeIf { !it.isNullOrBlank() } ?: stringResource(MR.strings.description_placeholder)
val trimmedDescription = remember(desc) {
desc
.replace(whitespaceLineRegex, "\n")
@@ -268,14 +268,14 @@ fun ExpandableMangaDescription(
onDismissRequest = { showMenu = false },
) {
DropdownMenuItem(
text = { Text(text = localize(MR.strings.action_search)) },
text = { Text(text = stringResource(MR.strings.action_search)) },
onClick = {
onTagSearch(tagSelected)
showMenu = false
},
)
DropdownMenuItem(
text = { Text(text = localize(MR.strings.action_copy_to_clipboard)) },
text = { Text(text = stringResource(MR.strings.action_copy_to_clipboard)) },
onClick = {
onCopyTagToClipboard(tagSelected)
showMenu = false
@@ -342,7 +342,7 @@ private fun MangaAndSourceTitlesLarge(
MangaCover.Book(
modifier = Modifier.fillMaxWidth(0.65f),
data = coverDataProvider(),
contentDescription = localize(MR.strings.manga_cover),
contentDescription = stringResource(MR.strings.manga_cover),
onClick = onCoverClick,
)
Spacer(modifier = Modifier.height(16.dp))
@@ -384,7 +384,7 @@ private fun MangaAndSourceTitlesSmall(
.sizeIn(maxWidth = 100.dp)
.align(Alignment.Top),
data = coverDataProvider(),
contentDescription = localize(MR.strings.manga_cover),
contentDescription = stringResource(MR.strings.manga_cover),
onClick = onCoverClick,
)
Column(
@@ -416,7 +416,7 @@ private fun MangaContentInfo(
) {
val context = LocalContext.current
Text(
text = title.ifBlank { localize(MR.strings.unknown_title) },
text = title.ifBlank { stringResource(MR.strings.unknown_title) },
style = MaterialTheme.typography.titleLarge,
modifier = Modifier.clickableNoIndication(
onLongClick = {
@@ -446,7 +446,7 @@ private fun MangaContentInfo(
)
Text(
text = author?.takeIf { it.isNotBlank() }
?: localize(MR.strings.unknown_author),
?: stringResource(MR.strings.unknown_author),
style = MaterialTheme.typography.titleSmall,
modifier = Modifier
.clickableNoIndication(
@@ -512,13 +512,13 @@ private fun MangaContentInfo(
ProvideTextStyle(MaterialTheme.typography.bodyMedium) {
Text(
text = when (status) {
SManga.ONGOING.toLong() -> localize(MR.strings.ongoing)
SManga.COMPLETED.toLong() -> localize(MR.strings.completed)
SManga.LICENSED.toLong() -> localize(MR.strings.licensed)
SManga.PUBLISHING_FINISHED.toLong() -> localize(MR.strings.publishing_finished)
SManga.CANCELLED.toLong() -> localize(MR.strings.cancelled)
SManga.ON_HIATUS.toLong() -> localize(MR.strings.on_hiatus)
else -> localize(MR.strings.unknown)
SManga.ONGOING.toLong() -> stringResource(MR.strings.ongoing)
SManga.COMPLETED.toLong() -> stringResource(MR.strings.completed)
SManga.LICENSED.toLong() -> stringResource(MR.strings.licensed)
SManga.PUBLISHING_FINISHED.toLong() -> stringResource(MR.strings.publishing_finished)
SManga.CANCELLED.toLong() -> stringResource(MR.strings.cancelled)
SManga.ON_HIATUS.toLong() -> stringResource(MR.strings.on_hiatus)
else -> stringResource(MR.strings.unknown)
},
overflow = TextOverflow.Ellipsis,
maxLines = 1,
@@ -592,7 +592,7 @@ private fun MangaSummary(
val image = AnimatedImageVector.animatedVectorResource(R.drawable.anim_caret_down)
Icon(
painter = rememberAnimatedVectorPainter(image, !expanded),
contentDescription = localize(
contentDescription = stringResource(
if (expanded) MR.strings.manga_info_collapse else MR.strings.manga_info_expand,
),
tint = MaterialTheme.colorScheme.onBackground,
@@ -30,7 +30,7 @@ import eu.kanade.presentation.components.UpIcon
import eu.kanade.presentation.manga.DownloadAction
import kotlinx.collections.immutable.persistentListOf
import tachiyomi.i18n.MR
import tachiyomi.presentation.core.i18n.localize
import tachiyomi.presentation.core.i18n.stringResource
import tachiyomi.presentation.core.theme.active
@Composable
@@ -75,12 +75,12 @@ fun MangaToolbar(
AppBarActions(
persistentListOf(
AppBar.Action(
title = localize(MR.strings.action_select_all),
title = stringResource(MR.strings.action_select_all),
icon = Icons.Outlined.SelectAll,
onClick = onSelectAll,
),
AppBar.Action(
title = localize(MR.strings.action_select_inverse),
title = stringResource(MR.strings.action_select_inverse),
icon = Icons.Outlined.FlipToBack,
onClick = onInvertSelection,
),
@@ -104,7 +104,7 @@ fun MangaToolbar(
if (onClickDownload != null) {
add(
AppBar.Action(
title = localize(MR.strings.manga_download),
title = stringResource(MR.strings.manga_download),
icon = Icons.Outlined.Download,
onClick = { downloadExpanded = !downloadExpanded },
),
@@ -112,7 +112,7 @@ fun MangaToolbar(
}
add(
AppBar.Action(
title = localize(MR.strings.action_filter),
title = stringResource(MR.strings.action_filter),
icon = Icons.Outlined.FilterList,
iconTint = filterTint,
onClick = onClickFilter,
@@ -120,14 +120,14 @@ fun MangaToolbar(
)
add(
AppBar.OverflowAction(
title = localize(MR.strings.action_webview_refresh),
title = stringResource(MR.strings.action_webview_refresh),
onClick = onClickRefresh,
),
)
if (onClickEditCategory != null) {
add(
AppBar.OverflowAction(
title = localize(MR.strings.action_edit_categories),
title = stringResource(MR.strings.action_edit_categories),
onClick = onClickEditCategory,
),
)
@@ -135,7 +135,7 @@ fun MangaToolbar(
if (onClickMigrate != null) {
add(
AppBar.OverflowAction(
title = localize(MR.strings.action_migrate),
title = stringResource(MR.strings.action_migrate),
onClick = onClickMigrate,
),
)
@@ -143,7 +143,7 @@ fun MangaToolbar(
if (onClickShare != null) {
add(
AppBar.OverflowAction(
title = localize(MR.strings.action_share),
title = stringResource(MR.strings.action_share),
onClick = onClickShare,
),
)
@@ -14,7 +14,7 @@ import androidx.compose.ui.tooling.preview.PreviewLightDark
import eu.kanade.presentation.theme.TachiyomiTheme
import tachiyomi.i18n.MR
import tachiyomi.presentation.core.components.material.padding
import tachiyomi.presentation.core.i18n.localizePlural
import tachiyomi.presentation.core.i18n.pluralStringResource
import tachiyomi.presentation.core.util.secondaryItemAlpha
@Composable
@@ -34,7 +34,7 @@ fun MissingChapterCountListItem(
) {
HorizontalDivider(modifier = Modifier.weight(1f))
Text(
text = localizePlural(MR.plurals.missing_chapters, count = count, count),
text = pluralStringResource(MR.plurals.missing_chapters, count = count, count),
style = MaterialTheme.typography.labelMedium,
)
HorizontalDivider(modifier = Modifier.weight(1f))
@@ -20,9 +20,7 @@ import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.material3.minimumInteractiveComponentSize
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.runtime.toMutableStateList
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
@@ -32,7 +30,7 @@ import androidx.compose.ui.window.DialogProperties
import tachiyomi.i18n.MR
import tachiyomi.presentation.core.components.material.TextButton
import tachiyomi.presentation.core.components.material.padding
import tachiyomi.presentation.core.i18n.localize
import tachiyomi.presentation.core.i18n.stringResource
import tachiyomi.presentation.core.util.isScrolledToEnd
import tachiyomi.presentation.core.util.isScrolledToStart
@@ -49,10 +47,10 @@ fun ScanlatorFilterDialog(
val mutableExcludedScanlators = remember(excludedScanlators) { excludedScanlators.toMutableStateList() }
AlertDialog(
onDismissRequest = onDismissRequest,
title = { Text(text = localize(MR.strings.exclude_scanlators)) },
title = { Text(text = stringResource(MR.strings.exclude_scanlators)) },
text = textFunc@{
if (sortedAvailableScanlators.isEmpty()) {
Text(text = localize(MR.strings.no_scanlators_found))
Text(text = stringResource(MR.strings.no_scanlators_found))
return@textFunc
}
Box {
@@ -108,16 +106,16 @@ fun ScanlatorFilterDialog(
confirmButton = {
if (sortedAvailableScanlators.isEmpty()) {
TextButton(onClick = onDismissRequest) {
Text(text = localize(MR.strings.action_cancel))
Text(text = stringResource(MR.strings.action_cancel))
}
} else {
FlowRow {
TextButton(onClick = mutableExcludedScanlators::clear) {
Text(text = localize(MR.strings.action_reset))
Text(text = stringResource(MR.strings.action_reset))
}
Spacer(modifier = Modifier.weight(1f))
TextButton(onClick = onDismissRequest) {
Text(text = localize(MR.strings.action_cancel))
Text(text = stringResource(MR.strings.action_cancel))
}
TextButton(
onClick = {
@@ -125,7 +123,7 @@ fun ScanlatorFilterDialog(
onDismissRequest()
},
) {
Text(text = localize(MR.strings.action_ok))
Text(text = stringResource(MR.strings.action_ok))
}
}
}