diff --git a/messages/ar.json b/messages/ar.json index 8470fc98..689001b5 100644 --- a/messages/ar.json +++ b/messages/ar.json @@ -429,6 +429,7 @@ "heroFeature2": "استضافة ذاتية للخصوصية", "heroFeature3": "للفرق والمؤسسات", "cloneOnGithub": "استنساخ على GitHub", + "beStargazer": "كن النجمة رقم {count} على GitHub", "browsePrompts": "تصفح الأوامر", "viewFeed": "عرض الموجز", "readyToStart": "مستعد للبدء؟", diff --git a/messages/en.json b/messages/en.json index 5ef5642d..9c5e2d18 100644 --- a/messages/en.json +++ b/messages/en.json @@ -528,6 +528,7 @@ "heroFeature2": "Self-host for Privacy", "heroFeature3": "For Teams & Organizations", "cloneOnGithub": "Clone on GitHub", + "beStargazer": "Be the {count}{ordinal} stargazer on GitHub", "browsePrompts": "Browse Prompts", "viewFeed": "View Feed", "readyToStart": "Ready to get started?", diff --git a/messages/es.json b/messages/es.json index 4d235e31..846ed43e 100644 --- a/messages/es.json +++ b/messages/es.json @@ -446,6 +446,7 @@ "heroFeature2": "Auto-hospeda para Privacidad", "heroFeature3": "Para Equipos y Organizaciones", "cloneOnGithub": "Clonar en GitHub", + "beStargazer": "Sé el stargazer número {count} en GitHub", "browsePrompts": "Explorar Prompts", "viewFeed": "Ver Feed", "readyToStart": "¿Listo para comenzar?", diff --git a/messages/ja.json b/messages/ja.json index 4b83cf3e..e80eb60d 100644 --- a/messages/ja.json +++ b/messages/ja.json @@ -423,6 +423,7 @@ "heroFeature2": "プライバシーのためセルフホスト", "heroFeature3": "チーム & 組織向け", "cloneOnGithub": "GitHubでクローン", + "beStargazer": "GitHubで{count}番目のスターになる", "browsePrompts": "プロンプトを見る", "viewFeed": "フィードを見る", "readyToStart": "始める準備はできましたか?", diff --git a/messages/tr.json b/messages/tr.json index 503643e4..ab22f6ac 100644 --- a/messages/tr.json +++ b/messages/tr.json @@ -528,6 +528,7 @@ "heroFeature2": "Gizlilik için Self-host", "heroFeature3": "Ekipler & Organizasyonlar için", "cloneOnGithub": "GitHub'dan Klonla", + "beStargazer": "GitHub'da {count}. yıldız veren ol", "browsePrompts": "Promptlara Göz At", "viewFeed": "Akışı Görüntüle", "readyToStart": "Başlamaya hazır mısınız?", diff --git a/messages/zh.json b/messages/zh.json index 55d08117..6da7c30a 100644 --- a/messages/zh.json +++ b/messages/zh.json @@ -423,6 +423,7 @@ "heroFeature2": "自托管保护隐私", "heroFeature3": "适用于团队和组织", "cloneOnGithub": "在 GitHub 上克隆", + "beStargazer": "成为 GitHub 上第 {count} 位 Star 用户", "browsePrompts": "浏览提示词", "viewFeed": "查看动态", "readyToStart": "准备好开始了吗?", diff --git a/src/app/feed/page.tsx b/src/app/feed/page.tsx index bea84205..29c06cfd 100644 --- a/src/app/feed/page.tsx +++ b/src/app/feed/page.tsx @@ -88,7 +88,7 @@ export default async function FeedPage() { return (
diff --git a/src/app/page.tsx b/src/app/page.tsx index 3a10c9e7..24bdf2e7 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -7,6 +7,12 @@ import { getConfig } from "@/lib/config"; import { Button } from "@/components/ui/button"; import { DiscoveryPrompts } from "@/components/prompts/discovery-prompts"; +function getOrdinalSuffix(n: number): string { + const s = ["th", "st", "nd", "rd"]; + const v = n % 100; + return s[(v - 20) % 10] || s[v] || s[0]; +} + export default async function HomePage() { const tHomepage = await getTranslations("homepage"); const tNav = await getTranslations("nav"); @@ -113,27 +119,40 @@ export default async function HomePage() { > )} -