i18n: make remaining time plural
CI / format (push) Has been cancelled
CI / test (push) Has been cancelled
CI / packaging (push) Has been cancelled

This commit is contained in:
Tien Do Nam
2026-08-06 02:31:20 +02:00
parent 3ea1b879c3
commit 1964bef73a
118 changed files with 673 additions and 190 deletions
@@ -20,14 +20,12 @@ String getRemainingTime({
required NotificationStrings strings,
}) {
if (bytesPerSeconds == 0) {
return remainingBytes == 0 ? strings.remainingTimeSeconds(n: 0, ss: '00') : '';
return remainingBytes == 0 ? strings.remainingTimeMinutes(n: 0, ss: '00') : '';
}
final remainingTimeInSeconds = _getRemainingTime(bytesPerSeconds: bytesPerSeconds, remainingBytes: remainingBytes);
if (remainingTimeInSeconds < _secondsPerMinute) {
return strings.remainingTimeSeconds(n: 0, ss: remainingTimeInSeconds.toString().padLeft(2, '0'));
} else if (remainingTimeInSeconds < _secondsPerHour) {
if (remainingTimeInSeconds < _secondsPerHour) {
final minutes = remainingTimeInSeconds ~/ _secondsPerMinute;
final seconds = remainingTimeInSeconds % _secondsPerMinute;
return strings.remainingTimeMinutes(n: minutes, ss: seconds.toString().padLeft(2, '0'));
@@ -10,22 +10,18 @@ class NotificationStrings {
/// Title while files are being sent, e.g. "Sending files".
final String titleSending;
/// Remaining time below a minute, e.g. "0:45". [ss] is zero padded.
final String Function({required Object n, required Object ss}) remainingTimeSeconds;
/// Remaining time below an hour, e.g. "1:30". [ss] is zero padded.
/// Remaining time below an hour, e.g. "1:30" or "0:45". [ss] is zero padded.
final String Function({required Object n, required Object ss}) remainingTimeMinutes;
/// Remaining time below a day, e.g. "2h 5m".
final String Function({required Object h, required Object m}) remainingTimeHours;
final String Function({required num h, required num m}) remainingTimeHours;
/// Remaining time of a day or more, e.g. "3d 4h 5m".
final String Function({required Object d, required Object h, required Object m}) remainingTimeDays;
final String Function({required num d, required num h, required num m}) remainingTimeDays;
const NotificationStrings({
required this.titleReceiving,
required this.titleSending,
required this.remainingTimeSeconds,
required this.remainingTimeMinutes,
required this.remainingTimeHours,
required this.remainingTimeDays,