Skip to content

desktop/src/lib/i18n.svelte.ts

Comment 1, line 1

desktop/src/lib/i18n.svelte.ts:1

/**
* Localized messages, F3: docs/design/desktop-usage/i18n.md.
* - Locale preference: saved user choice, system language, default.
* - Missing keys use default language and console.warn for development diagnostics.
* - Dot-separated keys, {name} interpolation, key.one/key.other plurals; Chinese uses other only.
* - Intl/ECMA-402 formats numbers/dates/percentages; statistics timezone/week start stay independent.
* - Rune-reactive changes take effect immediately, without restart.
*/

Comment 2, line 791

desktop/src/lib/i18n.svelte.ts:791

/** Persisted explicit language choice; null uses system language until selected. */

Comment 3, line 805

desktop/src/lib/i18n.svelte.ts:805

/** Translate with {name} interpolation; missing keys use default language and warn. */

Comment 4, line 820

desktop/src/lib/i18n.svelte.ts:820

/** Locale-specific number grouping without changing statistical values. */

Comment 5, line 828

desktop/src/lib/i18n.svelte.ts:828

/** Full grouped number for tooltips, such as 332,958,868. */

Comment 6, line 833

desktop/src/lib/i18n.svelte.ts:833

/** Compact-unit conversion uses one decimal, or an integer for values >=100. */

Comment 7, line 839

desktop/src/lib/i18n.svelte.ts:839

/** Compact cards/y-axes: Chinese uses 10^4/10^8/10^12 units, retaining values below 10,000;
* other locales use Intl compact notation, including English K/M/B/T. */

Comment 8, line 859

desktop/src/lib/i18n.svelte.ts:859

/** Millisecond durations use one decimal for seconds and scale to minutes/hours/days; shared unit abbreviations. */

Comment 9, line 872

desktop/src/lib/i18n.svelte.ts:872

/** Percentage from a 0-1 ratio. */

Comment 10, line 878

desktop/src/lib/i18n.svelte.ts:878

/** Relative time, such as last successful collection. */

Comment 11, line 891

desktop/src/lib/i18n.svelte.ts:891

/** Remaining duration: seconds below 60, minutes below 3600, otherwise hours; localized units. */

Comment 12, line 907

desktop/src/lib/i18n.svelte.ts:907

/** Readable B/KB/MB/GB/TB: raw bytes or scaled values >=100 round to integers, otherwise one decimal. */