Skip to content

Commit b4df5ef

Browse files
committed
feat: add blog & learn translation
1 parent 1362729 commit b4df5ef

File tree

13 files changed

+250
-172
lines changed

13 files changed

+250
-172
lines changed

apps/docs/messages/ar.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,5 +95,16 @@
9595
"href": "/blog/next-15"
9696
}
9797
]
98+
},
99+
"BlogPage": {
100+
"latestPost": "أحدث أخبار Next.js",
101+
"allPosts": "جميع المقالات",
102+
"readMore": "اقرأ المزيد",
103+
"backToBlog": "العودة إلى المدونة"
104+
},
105+
"LearnPage": {
106+
"title": "ابدأ البناء مع Next.js",
107+
"subtitle": "انتقل من مبتدئ إلى خبير من خلال تعلم أساسيات Next.js وبناء موقع تجريبي مفعال بالكامل يستخدم جميع الميزات الحديثة.",
108+
"startLearning": "ابدأ التعلم"
98109
}
99110
}

apps/docs/messages/de.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,5 +95,16 @@
9595
"href": "/blog/next-15"
9696
}
9797
]
98+
},
99+
"BlogPage": {
100+
"latestPost": "Die neuesten Next.js Nachrichten",
101+
"allPosts": "Alle Beiträge",
102+
"readMore": "Mehr lesen",
103+
"backToBlog": "Zurück zum Blog"
104+
},
105+
"LearnPage": {
106+
"title": "Mit Next.js bauen beginnen",
107+
"subtitle": "Gehen Sie vom Anfänger zum Experten, indem Sie die Grundlagen von Next.js lernen und eine voll funktionsfähige Demo-Website erstellen, die alle neuesten Funktionen nutzt.",
108+
"startLearning": "Lernen beginnen"
98109
}
99110
}

apps/docs/messages/en.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,5 +95,16 @@
9595
"href": "/blog/next-15"
9696
}
9797
]
98+
},
99+
"BlogPage": {
100+
"latestPost": "The latest Next.js news",
101+
"allPosts": "All Posts",
102+
"readMore": "Read more",
103+
"backToBlog": "Back to blog"
104+
},
105+
"LearnPage": {
106+
"title": "Start building with Next.js",
107+
"subtitle": "Go from beginner to expert by learning the foundations of Next.js and building a fully functional demo website that uses all the latest features.",
108+
"startLearning": "Start learning"
98109
}
99110
}

apps/docs/messages/es.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,5 +95,16 @@
9595
"href": "/blog/next-15"
9696
}
9797
]
98+
},
99+
"BlogPage": {
100+
"latestPost": "Las últimas noticias de Next.js",
101+
"allPosts": "Todas las publicaciones",
102+
"readMore": "Leer más",
103+
"backToBlog": "Volver al blog"
104+
},
105+
"LearnPage": {
106+
"title": "Comienza a construir con Next.js",
107+
"subtitle": "Ve de principiante a experto aprendiendo los fundamentos de Next.js y construyendo un sitio web de demostración completamente funcional que utiliza todas las características más recientes.",
108+
"startLearning": "Comenzar a aprender"
98109
}
99110
}

apps/docs/messages/fr.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,5 +95,16 @@
9595
"href": "/blog/next-15"
9696
}
9797
]
98+
},
99+
"BlogPage": {
100+
"latestPost": "Les dernières nouvelles de Next.js",
101+
"allPosts": "Tous les articles",
102+
"readMore": "Lire la suite",
103+
"backToBlog": "Retour au blog"
104+
},
105+
"LearnPage": {
106+
"title": "Commencer à construire avec Next.js",
107+
"subtitle": "Passez de débutant à expert en apprenant les fondamentaux de Next.js et en construisant un site web de démonstration entièrement fonctionnel qui utilise toutes les dernières fonctionnalités.",
108+
"startLearning": "Commencer à apprendre"
98109
}
99110
}

apps/docs/messages/ja.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,5 +95,16 @@
9595
"href": "/blog/next-15"
9696
}
9797
]
98+
},
99+
"BlogPage": {
100+
"latestPost": "最新のNext.jsニュース",
101+
"allPosts": "すべての投稿",
102+
"readMore": "続きを読む",
103+
"backToBlog": "ブログに戻る"
104+
},
105+
"LearnPage": {
106+
"title": "Next.jsで構築を始める",
107+
"subtitle": "Next.jsの基礎を学び、最新の機能をすべて使用した完全に機能するデモウェブサイトを構築することで、初心者から専門家になりましょう。",
108+
"startLearning": "学習を始める"
98109
}
99110
}

apps/docs/messages/ru.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,5 +95,16 @@
9595
"href": "/blog/next-15"
9696
}
9797
]
98+
},
99+
"BlogPage": {
100+
"latestPost": "Последние новости Next.js",
101+
"allPosts": "Все посты",
102+
"readMore": "Читать далее",
103+
"backToBlog": "Назад к блогу"
104+
},
105+
"LearnPage": {
106+
"title": "Начните строить с Next.js",
107+
"subtitle": "Пройдите путь от новичка до эксперта, изучая основы Next.js и создавая полнофункциональный демо-сайт, использующий все последние возможности.",
108+
"startLearning": "Начать обучение"
98109
}
99110
}

apps/docs/messages/zh-hans.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,5 +95,16 @@
9595
"href": "/blog/next-15"
9696
}
9797
]
98+
},
99+
"BlogPage": {
100+
"latestPost": "最新的 Next.js 新闻",
101+
"allPosts": "所有文章",
102+
"readMore": "阅读更多",
103+
"backToBlog": "返回博客"
104+
},
105+
"LearnPage": {
106+
"title": "开始使用 Next.js 构建",
107+
"subtitle": "通过学习 Next.js 基础知识并构建一个使用所有最新功能的全功能演示网站,从初学者成长为专家。",
108+
"startLearning": "开始学习"
98109
}
99110
}

apps/docs/messages/zh-hant.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,5 +95,16 @@
9595
"href": "/blog/next-15"
9696
}
9797
]
98+
},
99+
"BlogPage": {
100+
"latestPost": "最新的 Next.js 新聞",
101+
"allPosts": "所有文章",
102+
"readMore": "閱讀更多",
103+
"backToBlog": "返回部落格"
104+
},
105+
"LearnPage": {
106+
"title": "開始使用 Next.js 構建",
107+
"subtitle": "通過學習 Next.js 基礎知識並構建一個使用所有最新功能的全功能演示網站,從初學者成長為專家。",
108+
"startLearning": "開始學習"
98109
}
99110
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import { BackButton } from '@/mdx/Icon';
2+
import { useTranslations } from 'next-intl';
3+
import Link from 'next/link';
4+
import type { ReactNode } from 'react';
5+
6+
export default function Page({
7+
head,
8+
children,
9+
}: {
10+
head: ReactNode;
11+
children: ReactNode;
12+
}) {
13+
const t = useTranslations('BlogPage');
14+
15+
return (
16+
<main className="min-h-screen bg-fd-background">
17+
<div className="container max-w-4xl mx-auto px-6 py-16">
18+
{/* Back Navigation */}
19+
<Link
20+
href="/blog"
21+
className="inline-flex items-center gap-2 text-sm text-fd-muted-foreground hover:text-fd-foreground transition-colors mb-8 group"
22+
>
23+
<BackButton />
24+
<span className="group-hover:translate-x-1 transition-transform duration-300">
25+
{t('backToBlog')}
26+
</span>
27+
</Link>
28+
29+
{/* Article Header */}
30+
<header className="mb-12">{head}</header>
31+
32+
{/* Article Content */}
33+
<article className="prose prose-lg prose-fd max-w-none">
34+
{children}
35+
</article>
36+
</div>
37+
</main>
38+
);
39+
}

0 commit comments

Comments
 (0)