内置法语、英语、西班牙语、葡萄牙语四种语言,通过 middleware 自动检测语言
next-typescript-i18n-zod — Next.js 作品集模板
作者 Steviggio
基于 Next.js 16、Tailwind CSS 与 Zod 的多语言作品集模板,内置法、英、西、葡四种语言与明暗主题切换。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 2
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
使用 Zod 校验作品集数据(项目、个人资料)是否符合预定义 schema
通过 next-themes 与 TailwindCSS 支持明暗主题切换
作品集内容集中在 portfolio.repository.ts,界面文案放在按语言划分的 JSON 词典中
README 称根据所选语言生成动态 Open Graph 与 SEO 元数据
预配置 ESLint、TypeScript,并可选启用 Git 预提交钩子
模板详细介绍
这是一个作品集(portfolio)网站模板,使用 Next.js 16、Tailwind CSS 和 Zod 构建,README 称其轻量、易部署且可高度定制。项目采用 App Router,通过 src/app/[lang]/ 动态路由实现国际化,内置法语、英语、西班牙语和葡萄牙语,并由 middleware(proxy.ts)自动检测语言。作品集数据(项目、个人资料)集中在 src/features/portfolio/data/portfolio.repository.ts,Zod 用于校验数据是否符合 src/features/portfolio/types/portfolio.schema.ts 中定义的字段要求。界面文案与项目描述存放在 src/features/dictionaries/ 下的 JSON 词典中,按语言分文件管理。主题切换依赖 next-themes 与 TailwindCSS,颜色等视觉变量在 tailwind.config.ts 中调整,字体在 src/app/[lang]/layout.tsx 中设置。README 还提到根据所选语言生成动态元数据(Open Graph 与 SEO),以及预配置的 ESLint、TypeScript 与可选的 Git 预提交钩子。README 未提供具体依赖版本号、部署平台配置细节或性能验证方式,Lighthouse 分数仅为 README 自述。
适合你的项目吗?
适用场景
- 搭建个人作品集网站,展示项目与个人资料
- 需要多语言(法、英、西、葡)展示的开发者个人站点
- 希望用 Zod 约束内容数据结构、避免字段缺失的项目
- 需要明暗主题切换与基础 SEO 元数据配置的静态展示页
适合人群
- 熟悉 Next.js App Router 与 TypeScript 的开发者
- 需要多语言作品集模板并愿意维护 JSON 词典文件的人
- 希望通过集中数据文件管理项目与个人信息的用户
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
克隆仓库后进入目录,执行 npm install 安装依赖
- 2
运行 npm run dev 启动本地开发服务器,访问 http://localhost:3000 预览
- 3
在 src/features/portfolio/data/portfolio.repository.ts 中修改项目与个人资料
- 4
在 src/features/dictionaries/ 的 JSON 文件中修改界面文案与项目描述
- 5
新增语言需在 i18n-config.ts 声明、按需调整 proxy.ts、新建词典 JSON 并在 src/app/[lang]/dictionnaries.ts 中导入
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据
https://github.com/Steviggio/next-typescript-i18n-zod/blob/main/LICENSEhttps://github.com/Steviggio/next-typescript-i18n-zod/blob/main/README.mdPermission is hereby granted, free of charge
许可证原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-14。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料较完整 · 85 / 100
- 技术栈
- Next.js · React
- 网站类型
- 作品集
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2026-03-19
- 截图检查日期
- 2026-10-14
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 Next.js。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
审核声明: codex-user-requested-batch-review-20261015 · 2026-10-15
查看当时使用的来源资料
SHA-256: 48e5393375bfbcc27a4543659577e393b3df00b963b6460a456b158cf8fbf011
2026-10-14T17:03:43.833Z
来源文件 / 仓库# Next.js 16 Portfolio Template
Un template de portfolio moderne, léger et multilingue construit avec Next.js 16, Tailwind CSS, et Zod. Conçu pour être facilement déployable et hautement personnalisable.
### ⚡ Score Lighthouse




---
## ✨ Fonctionnalités Principales
<ul>
<li><b>Internationalisation (i18n)</b> : Support multilingue "out-of-the-box" (Français, Anglais, Espagnol, Portugais inclus). Détection automatique de la langue via middleware.</li>
<li><b>Validation de données strictes</b> : Utilisation de <a href="https://zod.dev/">Zod</a> pour s'assurer que les données de votre portfolio (projets, expériences) sont conformes au schéma attendu.</li>
<li><b>Thème Sombre / Clair</b> : Support intégré pour le basculement entre les thèmes grâce à <code>next-themes</code> et TailwindCSS.</li>
<li><b>Hautement personnalisable</b> : Tous les textes de présentation et contenus sont extraits dans des fichiers de données centraux.</li>
<li><b>Open Graph & SEO Ready</b> : Génération de métadonnées dynamiques en fonction de la langue sélectionnée.</li>
<li><b>CI/CD Ready</b> : Intègre des pre-commits Git Hooks (via config optionnelle), un linting strict ESLint et TypeScript préconfigurés pour faciliter l'intégration continue et les déploiements (ex: Vercel, Netlify, VPS, etc).</li>
</ul>
## 📂 Structure du projet
Aperçu de l'architecture pour vous repérer rapidement :
```text
├── public/ # Assets statiques (images, placeholders)
├── src/
│ ├── app/ # App Router Next.js
│ │ └── [lang]/ # Routes dynamiques d'internationalisation
│ ├── features/ # Modules par fonctionnalité
│ │ ├── dictionaries/ # Fichiers de traduction JSON (fr.json, en.json...)
│ │ └── portfolio/ # Logique, types et données du portfolio
│ │ ├── data/ # Infos personnelles (portfolio.repository.ts)
│ │ └── types/ # Schémas de validation Zod
│ ├── proxy.ts # Middleware Next.js pour i18n
│ └── i18n-config.ts # Configuration des langues supportées
├── tailwind.config.ts # Thème UI et charte graphique
└── next.config.ts # Configurations build et sécurité
```
## 🚀 Installation & Démarrage
<ul>
<li><b>1. Clonez ce dépôt</b> : <code>git clone https://github.com/VOTRE_NOM/next-portfolio-template.git</code></li>
<li><b>2. Accédez au dossier</b> : <code>cd next-portfolio-template</code></li>
<li><b>3. Installez les dépendances</b> : <code>npm install</code></li>
<li><b>4. Lancez le serveur local</b> : <code>npm run dev</code></li>
<li><b>5. Visualisez</b> : Ouvrez <a href="http://localhost:3000">http://localhost:3000</a> dans votre navigateur.</li>
</ul>
## 🛠 Comment personnaliser ce template ?
L'application est divisée en deux couches de données principales : les données de base du profil et les traductions de l'interface.
### 1. Modifier vos informations personnelles (Projets & Expériences)
Toutes vos données principales se trouvent dans le fichier <code>src/features/portfolio/data/portfolio.repository.ts</code>. Vous y définissez la base :
<ul>
<li><b>Projets (<code>projects</code>)</b> : Ajoutez l'identifiant unique (<code>id</code>), le titre, les technologies utilisées et si c'est un Side Project ou non.</li>
<li><b>Profil (<code>profile</code>)</b> : Modifiez votre nom, rôle, liens sociaux (GitHub, LinkedIn) et profil.</li>
</ul>
<i>Note : Zod est là pour vérifier que vous n'oubliez aucun champ requis (voir <code>src/features/portfolio/types/portfolio.schema.ts</code>).</i>
### 2. Gérer les langues (i18n) et les traductions
Les textes de l'interface et les traductions spécifiques de projets sont gérés via des "Dictionnaires" (ex: <code>fr.json</code>) dans <code>src/features/dictionaries/</code>.
<ul>
<li><b>Pour modifier un texte ou une description</b> : Allez dans le fichier JSON ciblé, cherchez la clé (ex: <code>projects.informations.[ID]</code>) et adaptez-la.</li>
<li><b>Pour ajouter une langue</b> :
<ul>
<li>Déclarez-la dans <code>i18n-config.ts</code></li>
<li>Ajustez le <code>proxy.ts</code> si nécessaire</li>
<li>Créez un nouveau fichier JSON dans <code>dictionaries/</code></li>
<li>Importez-le dans <code>src/app/[lang]/dictionnaries.ts</code></li>
</ul>
</li>
</ul>
### 3. Modifier le style et les polices
<ul>
<li><b>Polices</b> : La police principale est intégrée dans le fichier racine <code>src/app/[lang]/layout.tsx</code>.</li>
<li><b>Couleurs</b> : Modifiez <code>tailwind.config.ts</code> pour adapter la charte graphique (les variables de couleurs comme <code>sage</code> ou <code>cream</code>).</li>
</ul>
## 📝 License
Distribué sous la licence MIT. Voir le fichier <code>LICENSE</code> pour plus d'informations.
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

react-resume-template
A personal resume website template built with React.js, Typescript, Next.js, and styled with Tailwind css
Next.js · 作品集

nxt-lnk
Custom bio links for creatives who love coding. A perfect custom alternative for linktree, bio and other short…
Next.js · 作品集

sylph
A minimal portfolio template.
Next.js · 作品集

sleek-portfolio
sleek-portfolio 是一个面向开发者个人品牌展示的现代作品集模板,基于 Next.js 15、TypeScript、Tailwind CSS 和 Shadcn UI 构建。
Next.js · 作品集

research-website-template
React + Next.js template for research websites (for PhD students, researchers, etc)
Next.js · 作品集

shadcn-portfolio
shadcn-portfolio 是一个面向开发者的作品集模板,技术栈为 Next.js 15、shadcn/ui、Tailwind CSS 和 Framer Motion。
Next.js · 作品集
