Localize numbers, dates, and times

Author: janduboisCreated Jul 26, 2026Updated Sep 20, 2026
Labelskind/enhancementcomponent/uiarea/localization

Rancher Desktop 1.24.0 translates its interface into eight languages, but every number, date, and time it renders ignores the language you pick. Three separate mechanisms cause this, so one issue covers all three.

Relative times are hardcoded English. DiagnosticsBody.vue:80-84 builds ${ count } ${ units } ago by appending an "s" for the plural, an English-only rule that also fails for languages with more than two plural forms. DiagnosticsButtonRun.vue:30 and Containers.vue:241 (the container Uptime column) use dayjs's relativeTime plugin without loading a locale, so they render English as well.

Dates and times follow the OS, not the application. BlogFeed.vue:57, DiagnosticsButtonRun.vue:36, ContainerStats.vue:423, and pages/volumes/files/_name.vue:405 call toLocaleDateString, toLocaleString, or toLocaleTimeString with no locale argument, which resolves to the system locale. Select Japanese on a German host and the dates come out German. utils/dateUtils.ts:6 and SnapshotCard.vue:21-22 avoid the question entirely with fixed YYYY-MM-DD HH:mm patterns.

Numbers keep an English decimal point. ContainerStats.vue:397-399 and pages/volumes/files/_name.vue:398-402 format byte sizes with toFixed(1) and Math.round, so a German user reads 1.5 GiB where 1,5 GiB belongs. UpdateStatus.vue:127 is the one site that does this properly, through Intl.NumberFormat(this.locale, ...), but locale is a prop defaulting to undefined and General.vue:15 never passes it, so it falls back to the system locale like everything else.

The selected language is already available from the store getter i18n/current (store/i18n.js:136). A fix needs to thread it into these call sites, replace the hand-rolled relative-time and byte-size helpers with Intl.RelativeTimeFormat and Intl.NumberFormat, and either configure a dayjs locale or move those sites to Intl too.

The 1.24.0 release notes record this as a known limitation.

Source: rancher-sandbox/rancher-desktop