aboutsummaryrefslogtreecommitdiff
path: root/library/client/lib/i18n.ts
diff options
context:
space:
mode:
Diffstat (limited to 'library/client/lib/i18n.ts')
-rw-r--r--library/client/lib/i18n.ts14
1 files changed, 14 insertions, 0 deletions
diff --git a/library/client/lib/i18n.ts b/library/client/lib/i18n.ts
new file mode 100644
index 0000000..3716367
--- /dev/null
+++ b/library/client/lib/i18n.ts
@@ -0,0 +1,14 @@
+export function unit(
+ n: number,
+ singular: string,
+ plural: string,
+ f: (n: number, unit: string) => string = format
+): string {
+ return n > 1
+ ? f(n, plural)
+ : f(n, singular)
+}
+
+function format(n: number, unit: string): string {
+ return `${n} ${unit}`
+}