From 9c726efa3329b647d4fdf346c67dc80762b68077 Mon Sep 17 00:00:00 2001 From: James Bennion-Pedley <35117353+BOJIT@users.noreply.github.com> Date: Wed, 22 May 2024 21:44:54 +0100 Subject: [PATCH] feat(i18n): homepage link for 404 pages (#1117) * Add homepage link with internationalization * Construct pathname from baseUrl config value * More robust URL manipulation * Add Farsi (#1133) * Fix bad rebase --- quartz/components/pages/404.tsx | 5 +++++ quartz/i18n/locales/ar-SA.ts | 1 + quartz/i18n/locales/de-DE.ts | 1 + quartz/i18n/locales/definition.ts | 1 + quartz/i18n/locales/en-US.ts | 1 + quartz/i18n/locales/es-ES.ts | 1 + quartz/i18n/locales/fa-IR.ts | 1 + quartz/i18n/locales/fr-FR.ts | 1 + quartz/i18n/locales/hu-HU.ts | 1 + quartz/i18n/locales/it-IT.ts | 1 + quartz/i18n/locales/ja-JP.ts | 1 + quartz/i18n/locales/ko-KR.ts | 1 + quartz/i18n/locales/nl-NL.ts | 1 + quartz/i18n/locales/pl-PL.ts | 1 + quartz/i18n/locales/pt-BR.ts | 1 + quartz/i18n/locales/ro-RO.ts | 1 + quartz/i18n/locales/ru-RU.ts | 1 + quartz/i18n/locales/uk-UA.ts | 1 + quartz/i18n/locales/vi-VN.ts | 1 + quartz/i18n/locales/zh-CN.ts | 1 + 20 files changed, 24 insertions(+) diff --git a/quartz/components/pages/404.tsx b/quartz/components/pages/404.tsx index 4ef1b91..63da2c8 100644 --- a/quartz/components/pages/404.tsx +++ b/quartz/components/pages/404.tsx @@ -2,10 +2,15 @@ import { i18n } from "../../i18n" import { QuartzComponent, QuartzComponentConstructor, QuartzComponentProps } from "../types" const NotFound: QuartzComponent = ({ cfg }: QuartzComponentProps) => { + // If baseUrl contains a pathname after the domain, use this as the home link + const url = new URL(`https://${cfg.baseUrl ?? "example.com"}`) + const baseDir = url.pathname + return (

404

{i18n(cfg.locale).pages.error.notFound}

+ {i18n(cfg.locale).pages.error.home}
) } diff --git a/quartz/i18n/locales/ar-SA.ts b/quartz/i18n/locales/ar-SA.ts index f704810..8463e2f 100644 --- a/quartz/i18n/locales/ar-SA.ts +++ b/quartz/i18n/locales/ar-SA.ts @@ -70,6 +70,7 @@ export default { error: { title: "غير موجود", notFound: "إما أن هذه الصفحة خاصة أو غير موجودة.", + home: "العوده للصفحة الرئيسية", }, folderContent: { folder: "مجلد", diff --git a/quartz/i18n/locales/de-DE.ts b/quartz/i18n/locales/de-DE.ts index 64c9ba9..023d4be 100644 --- a/quartz/i18n/locales/de-DE.ts +++ b/quartz/i18n/locales/de-DE.ts @@ -65,6 +65,7 @@ export default { error: { title: "Nicht gefunden", notFound: "Diese Seite ist entweder nicht öffentlich oder existiert nicht.", + home: "Return to Homepage", }, folderContent: { folder: "Ordner", diff --git a/quartz/i18n/locales/definition.ts b/quartz/i18n/locales/definition.ts index 1d5d3dd..25a8cd7 100644 --- a/quartz/i18n/locales/definition.ts +++ b/quartz/i18n/locales/definition.ts @@ -67,6 +67,7 @@ export interface Translation { error: { title: string notFound: string + home: string } folderContent: { folder: string diff --git a/quartz/i18n/locales/en-US.ts b/quartz/i18n/locales/en-US.ts index ac283fd..22cf31e 100644 --- a/quartz/i18n/locales/en-US.ts +++ b/quartz/i18n/locales/en-US.ts @@ -65,6 +65,7 @@ export default { error: { title: "Not Found", notFound: "Either this page is private or doesn't exist.", + home: "Return to Homepage", }, folderContent: { folder: "Folder", diff --git a/quartz/i18n/locales/es-ES.ts b/quartz/i18n/locales/es-ES.ts index 37a2a79..8b0adcc 100644 --- a/quartz/i18n/locales/es-ES.ts +++ b/quartz/i18n/locales/es-ES.ts @@ -65,6 +65,7 @@ export default { error: { title: "No se encontró.", notFound: "Esta página es privada o no existe.", + home: "Regresar a la página principal", }, folderContent: { folder: "Carpeta", diff --git a/quartz/i18n/locales/fa-IR.ts b/quartz/i18n/locales/fa-IR.ts index 6ea7730..5bfef5a 100644 --- a/quartz/i18n/locales/fa-IR.ts +++ b/quartz/i18n/locales/fa-IR.ts @@ -65,6 +65,7 @@ export default { error: { title: "یافت نشد", notFound: "این صفحه یا خصوصی است یا وجود ندارد", + home: "بازگشت به صفحه اصلی", }, folderContent: { folder: "پوشه", diff --git a/quartz/i18n/locales/fr-FR.ts b/quartz/i18n/locales/fr-FR.ts index e1dfa48..ef43fa8 100644 --- a/quartz/i18n/locales/fr-FR.ts +++ b/quartz/i18n/locales/fr-FR.ts @@ -65,6 +65,7 @@ export default { error: { title: "Introuvable", notFound: "Cette page est soit privée, soit elle n'existe pas.", + home: "Retour à la page d'accueil", }, folderContent: { folder: "Dossier", diff --git a/quartz/i18n/locales/hu-HU.ts b/quartz/i18n/locales/hu-HU.ts index 6397309..066b777 100644 --- a/quartz/i18n/locales/hu-HU.ts +++ b/quartz/i18n/locales/hu-HU.ts @@ -65,6 +65,7 @@ export default { error: { title: "Nem található", notFound: "Ez a lap vagy privát vagy nem létezik.", + home: "Vissza a kezdőlapra", }, folderContent: { folder: "Mappa", diff --git a/quartz/i18n/locales/it-IT.ts b/quartz/i18n/locales/it-IT.ts index ca8818a..c8c5973 100644 --- a/quartz/i18n/locales/it-IT.ts +++ b/quartz/i18n/locales/it-IT.ts @@ -65,6 +65,7 @@ export default { error: { title: "Non trovato", notFound: "Questa pagina è privata o non esiste.", + home: "Ritorna alla home page", }, folderContent: { folder: "Cartella", diff --git a/quartz/i18n/locales/ja-JP.ts b/quartz/i18n/locales/ja-JP.ts index d429db4..9581b5e 100644 --- a/quartz/i18n/locales/ja-JP.ts +++ b/quartz/i18n/locales/ja-JP.ts @@ -65,6 +65,7 @@ export default { error: { title: "Not Found", notFound: "ページが存在しないか、非公開設定になっています。", + home: "ホームページに戻る", }, folderContent: { folder: "フォルダ", diff --git a/quartz/i18n/locales/ko-KR.ts b/quartz/i18n/locales/ko-KR.ts index ea735b0..9be08d9 100644 --- a/quartz/i18n/locales/ko-KR.ts +++ b/quartz/i18n/locales/ko-KR.ts @@ -65,6 +65,7 @@ export default { error: { title: "Not Found", notFound: "페이지가 존재하지 않거나 비공개 설정이 되어 있습니다.", + home: "홈페이지로 돌아가기", }, folderContent: { folder: "폴더", diff --git a/quartz/i18n/locales/nl-NL.ts b/quartz/i18n/locales/nl-NL.ts index d075d58..ccbafa7 100644 --- a/quartz/i18n/locales/nl-NL.ts +++ b/quartz/i18n/locales/nl-NL.ts @@ -66,6 +66,7 @@ export default { error: { title: "Niet gevonden", notFound: "Deze pagina is niet zichtbaar of bestaat niet.", + home: "Keer terug naar de start pagina", }, folderContent: { folder: "Map", diff --git a/quartz/i18n/locales/pl-PL.ts b/quartz/i18n/locales/pl-PL.ts index 7b193c1..7fa0cd4 100644 --- a/quartz/i18n/locales/pl-PL.ts +++ b/quartz/i18n/locales/pl-PL.ts @@ -65,6 +65,7 @@ export default { error: { title: "Nie znaleziono", notFound: "Ta strona jest prywatna lub nie istnieje.", + home: "Powrót do strony głównej", }, folderContent: { folder: "Folder", diff --git a/quartz/i18n/locales/pt-BR.ts b/quartz/i18n/locales/pt-BR.ts index 489d642..c7b6bfb 100644 --- a/quartz/i18n/locales/pt-BR.ts +++ b/quartz/i18n/locales/pt-BR.ts @@ -65,6 +65,7 @@ export default { error: { title: "Não encontrado", notFound: "Esta página é privada ou não existe.", + home: "Retornar a página inicial", }, folderContent: { folder: "Arquivo", diff --git a/quartz/i18n/locales/ro-RO.ts b/quartz/i18n/locales/ro-RO.ts index 556b189..2de1c8c 100644 --- a/quartz/i18n/locales/ro-RO.ts +++ b/quartz/i18n/locales/ro-RO.ts @@ -66,6 +66,7 @@ export default { error: { title: "Pagina nu a fost găsită", notFound: "Fie această pagină este privată, fie nu există.", + home: "Reveniți la pagina de pornire", }, folderContent: { folder: "Dosar", diff --git a/quartz/i18n/locales/ru-RU.ts b/quartz/i18n/locales/ru-RU.ts index 8ead3ca..18e0817 100644 --- a/quartz/i18n/locales/ru-RU.ts +++ b/quartz/i18n/locales/ru-RU.ts @@ -67,6 +67,7 @@ export default { error: { title: "Страница не найдена", notFound: "Эта страница приватная или не существует", + home: "Вернуться на главную страницу", }, folderContent: { folder: "Папка", diff --git a/quartz/i18n/locales/uk-UA.ts b/quartz/i18n/locales/uk-UA.ts index b636938..d39febb 100644 --- a/quartz/i18n/locales/uk-UA.ts +++ b/quartz/i18n/locales/uk-UA.ts @@ -65,6 +65,7 @@ export default { error: { title: "Не знайдено", notFound: "Ця сторінка або приватна, або не існує.", + home: "Повернутися на головну сторінку", }, folderContent: { folder: "Папка", diff --git a/quartz/i18n/locales/vi-VN.ts b/quartz/i18n/locales/vi-VN.ts index b72ced4..39a8fbc 100644 --- a/quartz/i18n/locales/vi-VN.ts +++ b/quartz/i18n/locales/vi-VN.ts @@ -65,6 +65,7 @@ export default { error: { title: "Không Tìm Thấy", notFound: "Trang này được bảo mật hoặc không tồn tại.", + home: "Trở về trang chủ", }, folderContent: { folder: "Thư Mục", diff --git a/quartz/i18n/locales/zh-CN.ts b/quartz/i18n/locales/zh-CN.ts index 43d0111..b710db5 100644 --- a/quartz/i18n/locales/zh-CN.ts +++ b/quartz/i18n/locales/zh-CN.ts @@ -65,6 +65,7 @@ export default { error: { title: "无法找到", notFound: "私有笔记或笔记不存在。", + home: "返回首页", }, folderContent: { folder: "文件夹",