DynamicYearLocalizer

class DynamicYearLocalizer(options: DynamicYearOptions = DynamicYearOptions(), locale: PlatformLocale = getDefaultLocale()) : PolyglotReferenceValueLocalizer<Int> (source)

Localizes a year dynamically (either absolute or relative to a Zoned<Instant> reference point).

This class chooses between formatting with a RelativeYearLocalizer (if the difference is within the configured range), or falls back to absolute formatting via YearLocalizer.

As this class implements PolyglotReferenceValueLocalizer, it allows to use localizeAsFlow.

Because kotlinx-datetime doesn't provide a standard type for a year, there is no extension function equivalent for one-off localizations.

Examples:

  • last year

  • 1 year ago

  • in 5y

  • 2026

  • 2026 AD

See also

Constructors

Link copied to clipboard
constructor(options: DynamicYearOptions = DynamicYearOptions(), locale: PlatformLocale = getDefaultLocale())

Functions

Link copied to clipboard
open override fun localize(value: Int, reference: Zoned<Instant>): TickingValue<String>
Link copied to clipboard
fun <T> PolyglotReferenceValueLocalizer<T>.localize(value: T, clock: Clock = Clock.System): TickingValue<String>

Localizes value by using the given clock's Clock.now as a reference point, rather than passing the reference explicitly.

Link copied to clipboard
fun <T> PolyglotReferenceValueLocalizer<T>.localizeAsFlow(value: T, clock: Clock = Clock.System, maxTick: Duration? = null): Flow<String>

Localizes value by using the given clock's Clock.now as a reference point and returns a Flow that emits updated values based on the underlying TickingValue.nextTick. This function assumes that the given clock moves forward linearly.