Use strings.xml to manage plural for pageCount

This commit is contained in:
Pierre-Yves Nicolas
2025-07-09 13:49:47 +02:00
parent d9bcf76246
commit efef66217a
4 changed files with 33 additions and 4 deletions

View File

@@ -414,7 +414,7 @@ fun CameraScreenFooter(
horizontalArrangement = Arrangement.SpaceBetween
) {
Text(
text = "$pageCount pages",
text = pageCountText(pageCount),
style = MaterialTheme.typography.bodyMedium,
modifier = Modifier.clickable(onClick = onPageCountClick)
)

View File

@@ -145,7 +145,7 @@ fun PdfGenerationBottomSheet(
val context = LocalContext.current
val formattedFileSize = formatFileSize(pdf.sizeInBytes, context)
Text(
text = "${pdf.pageCount} pages · $formattedFileSize",
text = "${pageCountText(pdf.pageCount)} · $formattedFileSize",
style = MaterialTheme.typography.bodyMedium,
color = MaterialTheme.colorScheme.onSurface.copy(alpha = 0.6f)
)
@@ -267,7 +267,7 @@ fun PreviewPdfGenerationDialogDuringGeneration() {
fun PreviewPdfGenerationDialogAfterGeneration() {
PreviewToCustomize(
uiState = PdfGenerationUiState(
generatedPdf = GeneratedPdf("file://fake.pdf".toUri(), 442897L, 3)
generatedPdf = GeneratedPdf("file://fake.pdf".toUri(), 442897L, 1)
)
)
}

View File

@@ -0,0 +1,25 @@
/*
* Copyright 2025 Pierre-Yves Nicolas
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version.
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
package org.mydomain.myscan.view
import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.LocalContext
import org.mydomain.myscan.R
@Composable
fun pageCountText(quantity: Int): String {
val context = LocalContext.current
return context.resources.getQuantityString(R.plurals.page_count, quantity, quantity)
}

View File

@@ -1,3 +1,7 @@
<resources>
<string name="app_name">MyScan</string>
<plurals name="page_count">
<item quantity="one">%d page</item>
<item quantity="other">%d pages</item>
</plurals>
</resources>