diff --git a/src/app/[locale]/download/page.tsx b/src/app/[locale]/download/page.tsx index aa82ffb..fc5057c 100644 --- a/src/app/[locale]/download/page.tsx +++ b/src/app/[locale]/download/page.tsx @@ -1,3 +1,4 @@ +import { type Metadata } from 'next' import { headers } from 'next/headers' import { DownloadLinks } from './download-links' @@ -11,6 +12,22 @@ import { detectTargetFromRequest } from '~/lib/target' export const runtime = 'edge' +export const generateMetadata = async ({ + params: { locale }, + previousMetadata, +}: Readonly<{ + params: { + locale: string + } + previousMetadata: Metadata +}>): Promise => { + const { t } = await initTranslations(locale, ['common']) + return { + ...previousMetadata, + title: `poi | ${t('KanColle Browser')} | ${t('Download')}`, + } +} + export default async function DownloadPage({ params: { locale }, }: { diff --git a/src/app/[locale]/explore/page.tsx b/src/app/[locale]/explore/page.tsx index fa9c236..d1728fe 100644 --- a/src/app/[locale]/explore/page.tsx +++ b/src/app/[locale]/explore/page.tsx @@ -1,10 +1,28 @@ +import { type Metadata } from 'next' import { remark } from 'remark' import html from 'remark-html' import { Transition } from '~/components/transition' +import { initTranslations } from '~/i18n' export const runtime = 'edge' +export const generateMetadata = async ({ + params: { locale }, + previousMetadata, +}: Readonly<{ + params: { + locale: string + } + previousMetadata: Metadata +}>): Promise => { + const { t } = await initTranslations(locale, ['common']) + return { + ...previousMetadata, + title: `poi | ${t('KanColle Browser')} | ${t('Explore')}`, + } +} + export default async function HomePage({ params: { locale }, }: { @@ -18,7 +36,7 @@ export default async function HomePage({ return ( ) diff --git a/src/app/[locale]/layout.tsx b/src/app/[locale]/layout.tsx index 4d135be..c539677 100644 --- a/src/app/[locale]/layout.tsx +++ b/src/app/[locale]/layout.tsx @@ -13,16 +13,34 @@ import { initTranslations } from '~/i18n' import { i18nConfig } from '~/i18n-config' import { cn } from '~/lib/utils' -export const metadata: Metadata = { - title: 'Create T3 App', - description: 'Generated by create-t3-app', - icons: [{ rel: 'icon', url: '/favicon.ico' }], -} - export const generateStaticParams = async () => { return i18nConfig.locales.map((locale) => ({ locale })) } +export const generateMetadata = async ({ + params: { locale }, +}: Readonly<{ + params: { + locale: string + } +}>): Promise => { + const { t } = await initTranslations(locale, ['common']) + return { + title: `poi | ${t('KanColle Browser')}`, + description: + 'Scalable KanColle browser and tool, for Windows, macOS and Linux. 一个可扩展的舰队Collection浏览器。拡張可能な艦隊これくしょんブラウザ。', + icons: [{ rel: 'icon', url: '/favicon.ico' }], + keywords: [ + 'poi', + 'kancolle', + 'browser', + '艦これ', + '艦隊これくしょん', + '舰队Collection', + ], + } +} + ReactDOM.preconnect('https://fonts.googleapis.com') ReactDOM.preconnect('https://fonts.gstatic.com', { crossOrigin: 'anonymous' }) diff --git a/src/locales/en/common.json b/src/locales/en/common.json index 7e67c56..520f257 100644 --- a/src/locales/en/common.json +++ b/src/locales/en/common.json @@ -52,5 +52,6 @@ "armPortable": "ARM portable", "x64Portable": "64-bit portable", "Sighted by skilled lookouts:": "Sighted by skilled lookouts:", - "Misc": "Misc" + "Misc": "Misc", + "KanColle Browser": "KanColle Browser" } diff --git a/src/locales/fr/common.json b/src/locales/fr/common.json index 19432d9..c5065cd 100644 --- a/src/locales/fr/common.json +++ b/src/locales/fr/common.json @@ -52,5 +52,6 @@ "x64Setup": "64 bits", "x64Portable": "Portable 64 bits", "Sighted by skilled lookouts:": "Repéré par des guetteurs qualifiés :", - "Misc": "Divers" + "Misc": "Divers", + "KanColle Browser": "Navigateur KanColle" } diff --git a/src/locales/ja/common.json b/src/locales/ja/common.json index 3efe950..5f6311a 100644 --- a/src/locales/ja/common.json +++ b/src/locales/ja/common.json @@ -52,5 +52,6 @@ "x64Setup": "64ビット", "x64Portable": "64ビットポータブル", "Sighted by skilled lookouts:": "熟練見張員が観察した:", - "Misc": "その他" + "Misc": "その他", + "KanColle Browser": "艦これ専ブラ" } diff --git a/src/locales/ko/common.json b/src/locales/ko/common.json index 3a6ef5a..dd36e08 100644 --- a/src/locales/ko/common.json +++ b/src/locales/ko/common.json @@ -52,5 +52,6 @@ "x64Setup": "64비트", "x64Portable": "64비트 휴대용", "Sighted by skilled lookouts:": "숙련된 견장원이 발견했습니다:", - "Misc": "기타" + "Misc": "기타", + "KanColle Browser": "칸콜레 브라우저" } diff --git a/src/locales/zh-Hans/common.json b/src/locales/zh-Hans/common.json index 2e851b7..dd5cd16 100644 --- a/src/locales/zh-Hans/common.json +++ b/src/locales/zh-Hans/common.json @@ -52,5 +52,6 @@ "x64Setup": "64位", "x64Portable": "64位便携版", "Sighted by skilled lookouts:": "熟练见张员观察到了:", - "Misc": "杂项" + "Misc": "杂项", + "KanColle Browser": "舰娘专用浏览器" } diff --git a/src/locales/zh-Hant/common.json b/src/locales/zh-Hant/common.json index d8a5609..9ea25e7 100644 --- a/src/locales/zh-Hant/common.json +++ b/src/locales/zh-Hant/common.json @@ -52,5 +52,6 @@ "x64Setup": "64位元", "x64Portable": "64位元便攜版", "Sighted by skilled lookouts:": "熟練見張員觀察到了:", - "Misc": "雜項" + "Misc": "雜項", + "KanColle Browser": "艦娘專用瀏覽器" }