Update localization

This commit is contained in:
Ali
2022-11-27 23:01:27 +04:00
parent a90d128527
commit 33dc13f2d5
7 changed files with 199 additions and 75 deletions

View File

@@ -50,38 +50,115 @@ public func minutesIntervalString(strings: PresentationStrings, minutes: Int32)
return strings.MessageTimer_Minutes(max(0, minutes))
}
public func timeIntervalString(strings: PresentationStrings, value: Int32, preferLowerValue: Bool = false) -> String {
if preferLowerValue {
if value <= 60 {
return strings.MessageTimer_Seconds(max(1, value))
} else if value <= 60 * 60 {
return strings.MessageTimer_Minutes(max(1, value / 60))
} else if value <= 60 * 60 * 24 {
return strings.MessageTimer_Hours(max(1, value / (60 * 60)))
} else if value <= 60 * 60 * 24 * 7 {
return strings.MessageTimer_Days(max(1, value / (60 * 60 * 24)))
} else if value <= 60 * 60 * 24 * 30 {
return strings.MessageTimer_Weeks(max(1, value / (60 * 60 * 24 * 7)))
} else if value <= 60 * 60 * 24 * 365 {
return strings.MessageTimer_Months(max(1, value / (60 * 60 * 24 * 30)))
public enum TimeIntervalStringUsage {
case generic
case afterTime
case timer
}
public func timeIntervalString(strings: PresentationStrings, value: Int32, usage: TimeIntervalStringUsage = .generic, preferLowerValue: Bool = false) -> String {
switch usage {
case .generic:
if preferLowerValue {
if value <= 60 {
return strings.MessageTimer_Seconds(max(1, value))
} else if value <= 60 * 60 {
return strings.MessageTimer_Minutes(max(1, value / 60))
} else if value <= 60 * 60 * 24 {
return strings.MessageTimer_Hours(max(1, value / (60 * 60)))
} else if value <= 60 * 60 * 24 * 7 {
return strings.MessageTimer_Days(max(1, value / (60 * 60 * 24)))
} else if value <= 60 * 60 * 24 * 30 {
return strings.MessageTimer_Weeks(max(1, value / (60 * 60 * 24 * 7)))
} else if value <= 60 * 60 * 24 * 365 {
return strings.MessageTimer_Months(max(1, value / (60 * 60 * 24 * 30)))
} else {
return strings.MessageTimer_Years(max(1, value / (60 * 60 * 24 * 365)))
}
} else {
return strings.MessageTimer_Years(max(1, value / (60 * 60 * 24 * 365)))
if value < 60 {
return strings.MessageTimer_Seconds(max(1, value))
} else if value < 60 * 60 {
return strings.MessageTimer_Minutes(max(1, value / 60))
} else if value < 60 * 60 * 24 {
return strings.MessageTimer_Hours(max(1, value / (60 * 60)))
} else if value < 60 * 60 * 24 * 7 {
return strings.MessageTimer_Days(max(1, value / (60 * 60 * 24)))
} else if value < 60 * 60 * 24 * 30 {
return strings.MessageTimer_Weeks(max(1, value / (60 * 60 * 24 * 7)))
} else if value < 60 * 60 * 24 * 365 {
return strings.MessageTimer_Months(max(1, value / (60 * 60 * 24 * 30)))
} else {
return strings.MessageTimer_Years(max(1, value / (60 * 60 * 24 * 365)))
}
}
} else {
if value < 60 {
return strings.MessageTimer_Seconds(max(1, value))
} else if value < 60 * 60 {
return strings.MessageTimer_Minutes(max(1, value / 60))
} else if value < 60 * 60 * 24 {
return strings.MessageTimer_Hours(max(1, value / (60 * 60)))
} else if value < 60 * 60 * 24 * 7 {
return strings.MessageTimer_Days(max(1, value / (60 * 60 * 24)))
} else if value < 60 * 60 * 24 * 30 {
return strings.MessageTimer_Weeks(max(1, value / (60 * 60 * 24 * 7)))
} else if value < 60 * 60 * 24 * 365 {
return strings.MessageTimer_Months(max(1, value / (60 * 60 * 24 * 30)))
case .afterTime:
if preferLowerValue {
if value <= 60 {
return strings.Time_AfterSeconds(max(1, value))
} else if value <= 60 * 60 {
return strings.Time_AfterMinutes(max(1, value / 60))
} else if value <= 60 * 60 * 24 {
return strings.Time_AfterHours(max(1, value / (60 * 60)))
} else if value <= 60 * 60 * 24 * 7 {
return strings.Time_AfterDays(max(1, value / (60 * 60 * 24)))
} else if value <= 60 * 60 * 24 * 30 {
return strings.Time_AfterWeeks(max(1, value / (60 * 60 * 24 * 7)))
} else if value <= 60 * 60 * 24 * 365 {
return strings.Time_AfterMonths(max(1, value / (60 * 60 * 24 * 30)))
} else {
return strings.Time_AfterYears(max(1, value / (60 * 60 * 24 * 365)))
}
} else {
return strings.MessageTimer_Years(max(1, value / (60 * 60 * 24 * 365)))
if value < 60 {
return strings.Time_AfterSeconds(max(1, value))
} else if value < 60 * 60 {
return strings.Time_AfterMinutes(max(1, value / 60))
} else if value < 60 * 60 * 24 {
return strings.Time_AfterHours(max(1, value / (60 * 60)))
} else if value < 60 * 60 * 24 * 7 {
return strings.Time_AfterDays(max(1, value / (60 * 60 * 24)))
} else if value < 60 * 60 * 24 * 30 {
return strings.Time_AfterWeeks(max(1, value / (60 * 60 * 24 * 7)))
} else if value < 60 * 60 * 24 * 365 {
return strings.Time_AfterMonths(max(1, value / (60 * 60 * 24 * 30)))
} else {
return strings.Time_AfterYears(max(1, value / (60 * 60 * 24 * 365)))
}
}
case .timer:
if preferLowerValue {
if value <= 60 {
return strings.Time_TimerSeconds(max(1, value))
} else if value <= 60 * 60 {
return strings.Time_TimerMinutes(max(1, value / 60))
} else if value <= 60 * 60 * 24 {
return strings.Time_TimerHours(max(1, value / (60 * 60)))
} else if value <= 60 * 60 * 24 * 7 {
return strings.Time_TimerDays(max(1, value / (60 * 60 * 24)))
} else if value <= 60 * 60 * 24 * 30 {
return strings.Time_TimerWeeks(max(1, value / (60 * 60 * 24 * 7)))
} else if value <= 60 * 60 * 24 * 365 {
return strings.Time_TimerMonths(max(1, value / (60 * 60 * 24 * 30)))
} else {
return strings.Time_TimerYears(max(1, value / (60 * 60 * 24 * 365)))
}
} else {
if value < 60 {
return strings.Time_TimerSeconds(max(1, value))
} else if value < 60 * 60 {
return strings.Time_TimerMinutes(max(1, value / 60))
} else if value < 60 * 60 * 24 {
return strings.Time_TimerHours(max(1, value / (60 * 60)))
} else if value < 60 * 60 * 24 * 7 {
return strings.Time_TimerDays(max(1, value / (60 * 60 * 24)))
} else if value < 60 * 60 * 24 * 30 {
return strings.Time_TimerWeeks(max(1, value / (60 * 60 * 24 * 7)))
} else if value < 60 * 60 * 24 * 365 {
return strings.Time_TimerMonths(max(1, value / (60 * 60 * 24 * 30)))
} else {
return strings.Time_TimerYears(max(1, value / (60 * 60 * 24 * 365)))
}
}
}
}