diff --git a/content/blog/premium.zh.mdx b/content/blog/premium.zh.mdx
new file mode 100644
index 0000000..bcd2e71
--- /dev/null
+++ b/content/blog/premium.zh.mdx
@@ -0,0 +1,56 @@
+---
+title: "测试专用付费文章"
+description: "这是一篇测试专用付费文章。"
+date: "2025-08-30"
+published: true
+premium: true
+categories: ["development"]
+author: "fox"
+image: "/images/blog/post-7.png"
+---
+
+这是一篇测试专用的付费文章。
+
+如果你不是付费用户,你可以阅读这篇文章的这部分内容。
+
+但如果你想阅读剩下的内容,你需要成为一个付费用户。
+
+你可以点击 "登录" 按钮来以免费用户的身份登录。
+
+然后你可以点击 "立即升级" 按钮来升级到付费计划。
+
+
+ 不用担心,你实际上不需要支付任何费用,因为我们处于 Stripe 的沙盒环境中。
+
+
+你可以使用测试卡号来支付月度或年度 PRO 计划或终身计划。
+
+```
+4242 4242 4242 4242
+Exp: 12/34
+CVV: 567
+```
+
+之后,你可以返回这篇博客文章,然后你可以阅读剩下的内容。
+
+更多详情,请参考文档:[博客](https://mksaas.com/docs/blog)。
+
+现在剩下的内容是付费内容。
+
+
+
+
+ 这是付费内容部分的开始。
+
+
+这是付费内容部分。
+
+你可以阅读这篇内容,只要你是一个付费用户。
+
+请不要分享这篇文章给其他人。
+
+
+ 这是付费内容部分的结束。
+
+
+
diff --git a/messages/en.json b/messages/en.json
index 9399fc2..8b32a7e 100644
--- a/messages/en.json
+++ b/messages/en.json
@@ -5,6 +5,7 @@
"description": "MkSaaS is the best AI SaaS boilerplate. Make AI SaaS in days, simply and effortlessly"
},
"Common": {
+ "premium": "Premium",
"login": "Log in",
"logout": "Log out",
"signUp": "Sign up",
diff --git a/messages/zh.json b/messages/zh.json
index ffb9f34..9a23698 100644
--- a/messages/zh.json
+++ b/messages/zh.json
@@ -5,6 +5,7 @@
"description": "MkSaaS 是构建 AI SaaS 的最佳模板,使用 MkSaaS 可以在几天内轻松构建您的 AI SaaS,简单且毫不费力。"
},
"Common": {
+ "premium": "付费文章",
"login": "登录",
"logout": "退出",
"signUp": "注册",
@@ -281,7 +282,20 @@
"all": "全部",
"noPostsFound": "没有找到文章",
"allPosts": "全部文章",
- "morePosts": "更多文章"
+ "morePosts": "更多文章",
+ "premiumContent": {
+ "title": "解锁付费内容",
+ "description": "订阅我们的付费计划,访问所有付费文章和独家内容。",
+ "upgradeCta": "立即升级",
+ "benefit1": "所有文章",
+ "benefit2": "独家内容",
+ "benefit3": "随时取消",
+ "signIn": "登录",
+ "loginRequired": "登录以继续阅读",
+ "loginDescription": "这是一篇付费文章,请登录您的账户以访问完整内容。",
+ "checkingAccess": "检查阅读权限...",
+ "loadingContent": "加载完整内容..."
+ }
},
"DocsPage": {
"toc": "目录",
diff --git a/source.config.ts b/source.config.ts
index b2feabf..1243d2d 100644
--- a/source.config.ts
+++ b/source.config.ts
@@ -85,7 +85,7 @@ export const category = defineCollections({
/**
* Blog posts
*
- * dtitle is required, but description is optional in frontmatter
+ * title is required, but description is optional in frontmatter
*/
export const blog = defineCollections({
type: 'doc',
diff --git a/src/components/blog/premium-badge.tsx b/src/components/blog/premium-badge.tsx
index 51772df..cff5f75 100644
--- a/src/components/blog/premium-badge.tsx
+++ b/src/components/blog/premium-badge.tsx
@@ -3,6 +3,7 @@
import { Badge } from '@/components/ui/badge';
import { cn } from '@/lib/utils';
import { CrownIcon } from 'lucide-react';
+import { useTranslations } from 'next-intl';
interface PremiumBadgeProps {
className?: string;
@@ -15,6 +16,8 @@ export function PremiumBadge({
variant = 'default',
size = 'default',
}: PremiumBadgeProps) {
+ const t = useTranslations('Common');
+
const sizeClasses = {
sm: 'text-xs h-5',
default: 'text-xs h-6',
@@ -39,7 +42,7 @@ export function PremiumBadge({
)}
>
- Premium
+ {t('premium')}
);
}