From 3518ca9e2a04f326eda25ada2393a4bbfde10738 Mon Sep 17 00:00:00 2001
From: Alq <ahmed.elq53@gmail.com>
Date: Sun, 11 Feb 2024 18:43:08 +0000
Subject: [PATCH] feat(i18n): localize the min read string (#838)
---
quartz/i18n/locales/en-US.ts | 3 +++
quartz/i18n/locales/de-DE.ts | 3 +++
quartz/i18n/locales/fr-FR.ts | 3 +++
quartz/i18n/locales/ar-SA.ts | 8 ++++++++
quartz/i18n/locales/ro-RO.ts | 3 +++
quartz/i18n/locales/uk-UA.ts | 3 +++
quartz/components/ContentMeta.tsx | 8 ++++++--
quartz/i18n/locales/nl-NL.ts | 3 +++
quartz/i18n/locales/ja-JP.ts | 3 +++
quartz/i18n/locales/definition.ts | 3 +++
quartz/i18n/locales/es-ES.ts | 3 +++
11 files changed, 41 insertions(+), 2 deletions(-)
diff --git a/quartz/components/ContentMeta.tsx b/quartz/components/ContentMeta.tsx
index 6cd083e..bcbe428 100644
--- a/quartz/components/ContentMeta.tsx
+++ b/quartz/components/ContentMeta.tsx
@@ -2,6 +2,7 @@
import { QuartzComponentConstructor, QuartzComponentProps } from "./types"
import readingTime from "reading-time"
import { classNames } from "../util/lang"
+import { i18n } from "../i18n"
interface ContentMetaOptions {
/**
@@ -30,8 +31,11 @@
// Display reading time if enabled
if (options.showReadingTime) {
- const { text: timeTaken, words: _words } = readingTime(text)
- segments.push(timeTaken)
+ const { minutes, words: _words } = readingTime(text)
+ const displayedTime = i18n(cfg.locale).components.contentMeta.readingTime({
+ minutes: Math.ceil(minutes),
+ })
+ segments.push(displayedTime)
}
return <p class={classNames(displayClass, "content-meta")}>{segments.join(", ")}</p>
diff --git a/quartz/i18n/locales/ar-SA.ts b/quartz/i18n/locales/ar-SA.ts
index d8efeff..f704810 100644
--- a/quartz/i18n/locales/ar-SA.ts
+++ b/quartz/i18n/locales/ar-SA.ts
@@ -53,6 +53,14 @@
tableOfContents: {
title: "فهرس المحتويات",
},
+ contentMeta: {
+ readingTime: ({ minutes }) =>
+ minutes == 1
+ ? `دقيقة أو أقل للقراءة`
+ : minutes == 2
+ ? `دقيقتان للقراءة`
+ : `${minutes} دقائق للقراءة`,
+ },
},
pages: {
rss: {
diff --git a/quartz/i18n/locales/de-DE.ts b/quartz/i18n/locales/de-DE.ts
index f2125bf..e382194 100644
--- a/quartz/i18n/locales/de-DE.ts
+++ b/quartz/i18n/locales/de-DE.ts
@@ -53,6 +53,9 @@
tableOfContents: {
title: "Inhaltsverzeichnis",
},
+ contentMeta: {
+ readingTime: ({ minutes }) => `${minutes} min read`,
+ },
},
pages: {
rss: {
diff --git a/quartz/i18n/locales/definition.ts b/quartz/i18n/locales/definition.ts
index baf2a58..1d5d3dd 100644
--- a/quartz/i18n/locales/definition.ts
+++ b/quartz/i18n/locales/definition.ts
@@ -55,6 +55,9 @@
tableOfContents: {
title: string
}
+ contentMeta: {
+ readingTime: (variables: { minutes: number }) => string
+ }
}
pages: {
rss: {
diff --git a/quartz/i18n/locales/en-US.ts b/quartz/i18n/locales/en-US.ts
index 3ba28a0..4a308d7 100644
--- a/quartz/i18n/locales/en-US.ts
+++ b/quartz/i18n/locales/en-US.ts
@@ -53,6 +53,9 @@
tableOfContents: {
title: "Table of Contents",
},
+ contentMeta: {
+ readingTime: ({ minutes }) => `${minutes} min read`,
+ },
},
pages: {
rss: {
diff --git a/quartz/i18n/locales/es-ES.ts b/quartz/i18n/locales/es-ES.ts
index 92a74a0..f59d201 100644
--- a/quartz/i18n/locales/es-ES.ts
+++ b/quartz/i18n/locales/es-ES.ts
@@ -53,6 +53,9 @@
tableOfContents: {
title: "Tabla de Contenidos",
},
+ contentMeta: {
+ readingTime: ({ minutes }) => `${minutes} min read`,
+ },
},
pages: {
rss: {
diff --git a/quartz/i18n/locales/fr-FR.ts b/quartz/i18n/locales/fr-FR.ts
index fee1ad9..8b72292 100644
--- a/quartz/i18n/locales/fr-FR.ts
+++ b/quartz/i18n/locales/fr-FR.ts
@@ -53,6 +53,9 @@
tableOfContents: {
title: "Table des Matières",
},
+ contentMeta: {
+ readingTime: ({ minutes }) => `${minutes} min read`,
+ },
},
pages: {
rss: {
diff --git a/quartz/i18n/locales/ja-JP.ts b/quartz/i18n/locales/ja-JP.ts
index f684c36..d429db4 100644
--- a/quartz/i18n/locales/ja-JP.ts
+++ b/quartz/i18n/locales/ja-JP.ts
@@ -53,6 +53,9 @@
tableOfContents: {
title: "目次",
},
+ contentMeta: {
+ readingTime: ({ minutes }) => `${minutes} min read`,
+ },
},
pages: {
rss: {
diff --git a/quartz/i18n/locales/nl-NL.ts b/quartz/i18n/locales/nl-NL.ts
index b403623..3ff3e8c 100644
--- a/quartz/i18n/locales/nl-NL.ts
+++ b/quartz/i18n/locales/nl-NL.ts
@@ -53,6 +53,9 @@
tableOfContents: {
title: "Inhoudsopgave",
},
+ contentMeta: {
+ readingTime: ({ minutes }) => `${minutes} min read`,
+ },
},
pages: {
rss: {
diff --git a/quartz/i18n/locales/ro-RO.ts b/quartz/i18n/locales/ro-RO.ts
index 39f1344..a1c216d 100644
--- a/quartz/i18n/locales/ro-RO.ts
+++ b/quartz/i18n/locales/ro-RO.ts
@@ -53,6 +53,9 @@
tableOfContents: {
title: "Cuprins",
},
+ contentMeta: {
+ readingTime: ({ minutes }) => `${minutes} min read`,
+ },
},
pages: {
rss: {
diff --git a/quartz/i18n/locales/uk-UA.ts b/quartz/i18n/locales/uk-UA.ts
index d60b1f8..c997a69 100644
--- a/quartz/i18n/locales/uk-UA.ts
+++ b/quartz/i18n/locales/uk-UA.ts
@@ -53,6 +53,9 @@
tableOfContents: {
title: "Зміст",
},
+ contentMeta: {
+ readingTime: ({ minutes }) => `${minutes} min read`,
+ },
},
pages: {
rss: {
--
Gitblit v1.10.0