Skip to content

Commit 8433be8

Browse files
committed
Changed word/minutes to plural strings
1 parent d1d7b1a commit 8433be8

File tree

5 files changed

+46
-18
lines changed

5 files changed

+46
-18
lines changed

app/src/main/java/com/nononsenseapps/feeder/ui/compose/feed/FeedItemCard.kt

+12-9
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import androidx.compose.ui.draw.clip
3232
import androidx.compose.ui.layout.ContentScale
3333
import androidx.compose.ui.platform.LocalContext
3434
import androidx.compose.ui.platform.LocalDensity
35+
import androidx.compose.ui.res.pluralStringResource
3536
import androidx.compose.ui.res.stringResource
3637
import androidx.compose.ui.text.buildAnnotatedString
3738
import androidx.compose.ui.text.style.TextOverflow
@@ -289,12 +290,14 @@ fun RowScope.FeedItemText(
289290
}
290291
if (readTimeSecs > 0) {
291292
CompositionLocalProvider(LocalContentAlpha provides ContentAlpha.medium) {
292-
val readTimeText = stringResource(
293-
id = R.string.n_reading_time,
294-
readTimeSecs / 60,
295-
readTimeSecs % 60,
296-
)
297-
val wordCountText = stringResource(id = R.string.n_words_short, item.wordCount)
293+
val readTimeText =
294+
pluralStringResource(id = R.plurals.n_minutes, count = readTimeSecs / 60)
295+
.format(
296+
"${readTimeSecs / 60}:${readTimeSecs % 60}",
297+
)
298+
val wordCountText =
299+
pluralStringResource(id = R.plurals.n_words, count = item.wordCount)
300+
.format(item.wordCount)
298301
Row(
299302
horizontalArrangement = Arrangement.spacedBy(4.dp),
300303
modifier = Modifier
@@ -343,7 +346,7 @@ private fun Preview() {
343346
feedImageUrl = null,
344347
primarySortTime = Instant.EPOCH,
345348
rawPubDate = null,
346-
wordCount = 900,
349+
wordCount = 588,
347350
),
348351
showThumbnail = true,
349352
onMarkAboveAsRead = {},
@@ -381,7 +384,7 @@ private fun PreviewWithImageUnread() {
381384
feedImageUrl = URL("https://foo/bar.png"),
382385
primarySortTime = Instant.EPOCH,
383386
rawPubDate = null,
384-
wordCount = 900,
387+
wordCount = 939,
385388
),
386389
showThumbnail = true,
387390
onMarkAboveAsRead = {},
@@ -420,7 +423,7 @@ private fun PreviewWithImageRead() {
420423
feedImageUrl = null,
421424
primarySortTime = Instant.EPOCH,
422425
rawPubDate = null,
423-
wordCount = 900,
426+
wordCount = 950,
424427
),
425428
showThumbnail = true,
426429
onMarkAboveAsRead = {},

app/src/main/java/com/nononsenseapps/feeder/ui/compose/feedarticle/ReaderView.kt

+6-5
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ import androidx.compose.ui.draw.clip
4040
import androidx.compose.ui.graphics.RectangleShape
4141
import androidx.compose.ui.layout.ContentScale
4242
import androidx.compose.ui.platform.LocalContext
43+
import androidx.compose.ui.res.pluralStringResource
4344
import androidx.compose.ui.res.stringResource
4445
import androidx.compose.ui.semantics.CustomAccessibilityAction
4546
import androidx.compose.ui.semantics.clearAndSetSemantics
@@ -193,11 +194,11 @@ fun ReaderView(
193194
imageVector = Icons.Outlined.Timelapse,
194195
contentDescription = null,
195196
)
196-
val readTimeText = stringResource(
197-
id = R.string.n_reading_time,
198-
readTimeSecs / 60,
199-
readTimeSecs % 60,
200-
)
197+
val readTimeText =
198+
pluralStringResource(id = R.plurals.n_minutes, count = readTimeSecs / 60)
199+
.format(
200+
"${readTimeSecs / 60}:${readTimeSecs % 60}",
201+
)
201202
WithBidiDeterminedLayoutDirection(paragraph = readTimeText) {
202203
val interactionSource =
203204
remember { MutableInteractionSource() }

app/src/main/res/values-sv/strings.xml

-2
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,5 @@
229229
<string name="theme_e_ink">Läsplatta</string>
230230
<string name="add_anyway">Lägg till ändå</string>
231231
<string name="open_browser_in_split_screen">Öppna webbläsare i delad skärm</string>
232-
<string name="n_words_short">%1$d ord</string>
233-
<string name="n_reading_time">%1$d minuter %2$d sekunder</string>
234232
<string name="show_reading_time">Visa uppskattad lästid</string>
235233
</resources>

app/src/main/res/values/plural_strings.xml

+16
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,20 @@
2424
<item quantity="many">@string/many_tags</item>
2525
<item quantity="other">@string/other_tags</item>
2626
</plurals>
27+
<plurals name="n_words">
28+
<item quantity="zero">@string/zero_words</item>
29+
<item quantity="one">@string/one_word</item>
30+
<item quantity="two">@string/two_words</item>
31+
<item quantity="few">@string/few_words</item>
32+
<item quantity="many">@string/many_words</item>
33+
<item quantity="other">@string/other_words</item>
34+
</plurals>
35+
<plurals name="n_minutes">
36+
<item quantity="zero">@string/zero_minutes</item>
37+
<item quantity="one">@string/one_minute</item>
38+
<item quantity="two">@string/two_minutes</item>
39+
<item quantity="few">@string/few_minutes</item>
40+
<item quantity="many">@string/many_minutes</item>
41+
<item quantity="other">@string/other_minutes</item>
42+
</plurals>
2743
</resources>

app/src/main/res/values/strings.xml

+12-2
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,17 @@
242242
<string name="no_url">No URL</string>
243243
<string name="add_anyway">Add anyway</string>
244244
<string name="open_browser_in_split_screen">Open browser in split screen</string>
245-
<string name="n_words_short">%1$d words</string>
246-
<string name="n_reading_time">%1$d minutes %2$d seconds</string>
247245
<string name="show_reading_time">Show estimated reading time</string>
246+
<string name="zero_words">%1$s words</string>
247+
<string name="one_word">%1$s word</string>
248+
<string name="two_words">%1$s words</string>
249+
<string name="few_words">%1$s words</string>
250+
<string name="many_words">%1$s words</string>
251+
<string name="other_words">%1$s words</string>
252+
<string name="zero_minutes">%1$s minutes</string>
253+
<string name="one_minute">%1$s minute</string>
254+
<string name="two_minutes">%1$s minutes</string>
255+
<string name="few_minutes">%1$s minutes</string>
256+
<string name="many_minutes">%1$s minutes</string>
257+
<string name="other_minutes">%1$s minutes</string>
248258
</resources>

0 commit comments

Comments
 (0)