- {/* 标题 */}
- 数字游民
+ {t.brandSubtitle}
nomadro
- 游民导航 · 地理套利 · 直播工具箱
+ {t.heroTagline}
- 一站开启自由生活
+ {t.heroTaglineLine2}
- {/* 入口卡片 */}
{ENTRY_CARDS.map((card) => {
const style = CARD_STYLE[card.accent];
+ const copy = t.entryCards[card.id] ?? {
+ label: card.label,
+ title: card.title,
+ description: card.description,
+ };
+
return (
- {card.label}
+ {copy.label}
{card.id === "live" && (
- LIVE
+ {t.liveBadge}
)}
- {card.title}
+ {copy.title}
- {card.description}
+ {copy.description}
diff --git a/lib/i18n.ts b/lib/i18n.ts
new file mode 100644
index 0000000..f857cfc
--- /dev/null
+++ b/lib/i18n.ts
@@ -0,0 +1,106 @@
+export type Locale = "zh" | "en";
+
+export type EntryCardCopy = {
+ label: string;
+ title: string;
+ description: string;
+};
+
+export type Dictionary = {
+ htmlLang: string;
+ brandSubtitle: string;
+ heroTagline: string;
+ heroTaglineLine2: string;
+ copyright: string;
+ liveBadge: string;
+ entryCards: Record
;
+ about: {
+ title: string;
+ body: string;
+ backHome: string;
+ };
+ contact: {
+ title: string;
+ body: string;
+ liveCta: string;
+ vipCta: string;
+ backHome: string;
+ };
+};
+
+export const dictionaries: Record = {
+ zh: {
+ htmlLang: "zh-CN",
+ brandSubtitle: "数字游民",
+ heroTagline: "游民导航 · 地理套利 · 直播工具箱",
+ heroTaglineLine2: "一站开启自由生活",
+ copyright: "© {year} Nomadro",
+ liveBadge: "LIVE",
+ entryCards: {
+ nav: {
+ label: "游民导航",
+ title: "出海赚美金",
+ description: "资源导航、工具推荐、出海指南",
+ },
+ arbitrage: {
+ label: "地理套利",
+ title: "AI 自动化杠杆",
+ description: "低成本工作室、自建云手机、自动化系统",
+ },
+ live: {
+ label: "直播工具箱",
+ title: "随时随地开播",
+ description: "推流工具、场景模板、直播变现一站搞定",
+ },
+ },
+ about: {
+ title: "关于 Nomadro",
+ body: "Nomadro 是中文数字游民操作系统,提供游民导航、地理套利、直播工具箱等模块,帮助更多人从固定工位走向自由生活与自由收入。",
+ backHome: "← 返回首页",
+ },
+ contact: {
+ title: "联系我们",
+ body: "加入数字游民社群,获取最新动态与交流机会。",
+ liveCta: "🎬 直播工具箱",
+ vipCta: "👑 会员社群",
+ backHome: "← 返回首页",
+ },
+ },
+ en: {
+ htmlLang: "en",
+ brandSubtitle: "Digital Nomad",
+ heroTagline: "Nomad Nav · Geo Arbitrage · Live Toolkit",
+ heroTaglineLine2: "Your freedom lifestyle, in one place",
+ copyright: "© {year} Nomadro",
+ liveBadge: "LIVE",
+ entryCards: {
+ nav: {
+ label: "Nomad Nav",
+ title: "Earn in USD overseas",
+ description: "Resource maps, tool picks, and go-abroad guides",
+ },
+ arbitrage: {
+ label: "Geo Arbitrage",
+ title: "AI automation leverage",
+ description: "Low-cost studios, self-hosted cloud phones, automation systems",
+ },
+ live: {
+ label: "Live Toolkit",
+ title: "Go live anywhere",
+ description: "Streaming tools, scene templates, and monetization in one place",
+ },
+ },
+ about: {
+ title: "About Nomadro",
+ body: "Nomadro is a digital nomad operating system for Chinese creators—covering nomad navigation, geo-arbitrage, and a live streaming toolkit—to help more people move from a fixed desk to freedom of life and income.",
+ backHome: "← Back to home",
+ },
+ contact: {
+ title: "Contact us",
+ body: "Join the digital nomad community for updates and connections.",
+ liveCta: "🎬 Live Toolkit",
+ vipCta: "👑 Members community",
+ backHome: "← Back to home",
+ },
+ },
+};
diff --git a/package.json b/package.json
index 5b7000b..bc07480 100644
--- a/package.json
+++ b/package.json
@@ -10,6 +10,7 @@
},
"dependencies": {
"framer-motion": "^12.36.0",
+ "is-china-user": "^1.7.0",
"lucide-react": "^0.577.0",
"next": "16.1.6",
"react": "19.2.3",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 9818417..12b5c80 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -11,6 +11,9 @@ importers:
framer-motion:
specifier: ^12.36.0
version: 12.36.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ is-china-user:
+ specifier: ^1.7.0
+ version: 1.7.0
lucide-react:
specifier: ^0.577.0
version: 0.577.0(react@19.2.3)
@@ -1254,6 +1257,9 @@ packages:
resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
engines: {node: '>= 0.4'}
+ is-china-user@1.7.0:
+ resolution: {integrity: sha512-qVhmz+TwK8+WWtEILYZd9tgt7oNsVj0T6VaMqiUlGOltZ64/HTJ4iszNu2KBRM5marxN9BNiMcJjRENsJau6Aw==}
+
is-core-module@2.16.1:
resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
engines: {node: '>= 0.4'}
@@ -3284,6 +3290,8 @@ snapshots:
is-callable@1.2.7: {}
+ is-china-user@1.7.0: {}
+
is-core-module@2.16.1:
dependencies:
hasown: 2.0.2