fix: 语言切换全面修复 —— 品牌层/主题首页/详情区块/404 全量 i18n(zh 矩阵 13/13)
- 站点品牌双语:每站 brandZh(品牌名/标语/hero/导航/页脚/搜索占位)由生成器写入 站点 messages 的 zh 覆盖;SiteChrome 改为 async getTranslations 按语言渲染 - 五套主题首页接线 siteHome/hero 命名空间(新增 wire-theme-i18n.py 一次性接线脚本, 仅处理组件函数体、hook 自动插入、hero 用 th 命名空间) - 详情页 Use cases/Good for/FAQ/reviewCta、用例与合集索引与详情、提交页、 对比页、Alternatives 表头与 FAQ 全部走 next-intl - 404 双语言:locale 内走 next-intl,根级按 Accept-Language - 修复 zh.json 中 84 处 zhXxx 旁挂键归位 + en.json 残留清理(i18n 694 键一致) - 回归:/zh 下 13 页全中文无英文残留、无横向溢出;五站 /zh lang=zh 全部正确
This commit is contained in:
@@ -53,12 +53,28 @@
|
||||
"linkedin": "LinkedIn",
|
||||
"github": "GitHub"
|
||||
}
|
||||
},
|
||||
"site": {
|
||||
"items": [
|
||||
"Tools",
|
||||
"Workflows",
|
||||
"Use Cases",
|
||||
"Rankings",
|
||||
"Submit"
|
||||
],
|
||||
"hrefs": [
|
||||
"/tools",
|
||||
"/best",
|
||||
"/ai-tools-for",
|
||||
"/rankings",
|
||||
"/submit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"hero": {
|
||||
"badge": "Discover the Best AI Tools",
|
||||
"title": "DevAI.tools — AI Tools for Developers",
|
||||
"description": "Code assistants, DevOps automation and testing copilots — the AI tools developers actually upvote, ranked daily.",
|
||||
"title": "AI tools for developers",
|
||||
"description": "Code assistants, DevOps automation, testing copilots and everything else you ship with.",
|
||||
"cta": {
|
||||
"primary": "Explore Tools",
|
||||
"secondary": "Read Blog"
|
||||
@@ -649,7 +665,9 @@
|
||||
"latest": "Latest",
|
||||
"trending": "Trending"
|
||||
},
|
||||
"clearFilters": "Clear search & filters"
|
||||
"clearFilters": "Clear search & filters",
|
||||
"useCasesTitle": "Use cases",
|
||||
"goodForTitle": "Good for"
|
||||
},
|
||||
"seo": {
|
||||
"home": {
|
||||
@@ -796,5 +814,276 @@
|
||||
"new": "New",
|
||||
"editorsChoice": "Editor's Choice",
|
||||
"empty": "No tools on this board yet."
|
||||
},
|
||||
"siteHome": {
|
||||
"trending": {
|
||||
"title": "Trending this week",
|
||||
"subtitle": "Ranked by votes, reviews and engagement over the last 7 days"
|
||||
},
|
||||
"categories": {
|
||||
"title": "Browse by category",
|
||||
"viewAll": "All tools"
|
||||
},
|
||||
"new": {
|
||||
"title": "New AI tools"
|
||||
},
|
||||
"editors": {
|
||||
"title": "Editor's Choice"
|
||||
},
|
||||
"useCases": {
|
||||
"title": "Tools by use case",
|
||||
"subtitle": "What do you want to get done?",
|
||||
"viewAll": "All use cases"
|
||||
},
|
||||
"bestLists": {
|
||||
"title": "Best AI tool lists",
|
||||
"subtitle": "Curated rankings by our editors",
|
||||
"viewAll": "All lists"
|
||||
},
|
||||
"reviews": {
|
||||
"title": "Latest community reviews"
|
||||
},
|
||||
"cta": {
|
||||
"title": "Built an AI tool?",
|
||||
"body": "Submit it to {brand} and get discovered by thousands of users looking for tools like yours.",
|
||||
"button": "Submit your tool"
|
||||
},
|
||||
"popular": {
|
||||
"label": "Popular:"
|
||||
},
|
||||
"toolsCount": "{count} tools",
|
||||
"feed": {
|
||||
"title": "Today's feed",
|
||||
"browse": "Browse all products"
|
||||
},
|
||||
"leaderboard": {
|
||||
"title": "Leaderboard",
|
||||
"full": "Full leaderboard"
|
||||
},
|
||||
"picks": {
|
||||
"title": "Editor's picks"
|
||||
},
|
||||
"collections": {
|
||||
"title": "Collections"
|
||||
},
|
||||
"launch": {
|
||||
"button": "Launch your product"
|
||||
},
|
||||
"featured": {
|
||||
"label": "Featured story",
|
||||
"read": "Read the story"
|
||||
},
|
||||
"picksEditorial": {
|
||||
"label": "Editor's picks"
|
||||
},
|
||||
"guides": {
|
||||
"title": "Buying guides",
|
||||
"subtitle": "Deep dives that help you choose",
|
||||
"viewAll": "All guides"
|
||||
},
|
||||
"stories": {
|
||||
"title": "Latest stories",
|
||||
"viewAll": "All stories"
|
||||
},
|
||||
"community": {
|
||||
"title": "From the community",
|
||||
"viewAll": "Browse directory"
|
||||
},
|
||||
"ship": {
|
||||
"title": "Ship faster with AI",
|
||||
"subtitle": "Pick your workflow — we ranked the tools for it",
|
||||
"viewAll": "All use cases"
|
||||
},
|
||||
"upvoted": {
|
||||
"title": "Most upvoted this week",
|
||||
"viewAll": "View all"
|
||||
},
|
||||
"workflows": {
|
||||
"title": "Workflows & stacks",
|
||||
"subtitle": "Batteries-included tool stacks for common dev tasks",
|
||||
"viewAll": "All workflows"
|
||||
},
|
||||
"browseCategory": {
|
||||
"title": "Browse by category"
|
||||
},
|
||||
"trendingNow": {
|
||||
"title": "Trending now"
|
||||
},
|
||||
"seeRankings": "See full rankings",
|
||||
"browse": "Browse tools",
|
||||
"noLaunches": "No launches yet — be the first to submit.",
|
||||
"searchPlaceholder": "Search AI tools...",
|
||||
"reviewsCount": "{count} reviews",
|
||||
"mastheadLabel": "INDEPENDENT AI COVERAGE",
|
||||
"minimalTagline": "AI TOOL SEARCH",
|
||||
"minimalPlaceholder": "I need to create marketing videos...",
|
||||
"useCasesBlockTitle": "Use cases",
|
||||
"goodForBlockTitle": "Good for",
|
||||
"searchButton": "Search",
|
||||
"trendingTitle": "Trending this week",
|
||||
"trendingSubtitle": "Ranked by votes, reviews and engagement over the last 7 days",
|
||||
"allRankings": "All rankings",
|
||||
"categoriesTitle": "Browse by category",
|
||||
"categoriesViewAll": "All tools",
|
||||
"newTitle": "New AI tools",
|
||||
"editorsTitle": "Editor's Choice",
|
||||
"useCasesTitle": "Tools by use case",
|
||||
"useCasesSubtitle": "What do you want to get done?",
|
||||
"useCasesViewAll": "All use cases",
|
||||
"bestListsTitle": "Best AI tool lists",
|
||||
"bestListsSubtitle": "Curated rankings by our editors",
|
||||
"bestListsViewAll": "All lists",
|
||||
"reviewsTitle": "Latest community reviews",
|
||||
"ctaTitle": "Built an AI tool?",
|
||||
"ctaBody": "Submit it to {brand} and get discovered by thousands of users looking for tools like yours.",
|
||||
"ctaButton": "Submit your tool",
|
||||
"popularLabel": "Popular:",
|
||||
"feedTitle": "Today's feed",
|
||||
"feedBrowse": "Browse all products",
|
||||
"leaderboardTitle": "Leaderboard",
|
||||
"leaderboardFull": "Full leaderboard",
|
||||
"picksTitle": "Editor's picks",
|
||||
"collectionsTitle": "Collections",
|
||||
"launchButton": "Launch your product",
|
||||
"featuredLabel": "Featured story",
|
||||
"featuredRead": "Read the story",
|
||||
"picksEditorialLabel": "EDITOR'S PICKS",
|
||||
"guidesTitle": "Buying guides",
|
||||
"guidesSubtitle": "Deep dives that help you choose",
|
||||
"guidesViewAll": "All guides",
|
||||
"storiesTitle": "Latest stories",
|
||||
"storiesViewAll": "All stories",
|
||||
"communityTitle": "From the community",
|
||||
"communityViewAll": "Browse directory",
|
||||
"shipTitle": "Ship faster with AI",
|
||||
"shipSubtitle": "Pick your workflow — we ranked the tools for it",
|
||||
"upvotedTitle": "Most upvoted this week",
|
||||
"upvotedViewAll": "View all",
|
||||
"workflowsTitle": "Workflows & stacks",
|
||||
"workflowsSubtitle": "Batteries-included tool stacks for common dev tasks",
|
||||
"workflowsViewAll": "All workflows",
|
||||
"browseCategoryTitle": "Browse by category",
|
||||
"trendingNowTitle": "Trending now",
|
||||
"browseButton": "Browse tools",
|
||||
"toolsCompared": "{count} tools compared",
|
||||
"popularSearches": [
|
||||
"writing",
|
||||
"video",
|
||||
"coding",
|
||||
"image"
|
||||
]
|
||||
},
|
||||
"best": {
|
||||
"indexTitle": "Best AI Tools — Curated Lists",
|
||||
"indexSubtitle": "Hand-picked rankings, updated with community signal. Every list is labeled and never sold.",
|
||||
"empty": "No collections published yet.",
|
||||
"curated": "Curated list",
|
||||
"faq": "Frequently asked questions",
|
||||
"more": "More best lists",
|
||||
"toolsCompared": "{count} tools"
|
||||
},
|
||||
"aiToolsFor": {
|
||||
"indexTitle": "AI tools for what you do",
|
||||
"indexSubtitle": "Skip the categories. Start from your task or your role — every page ranks tools by real community votes and reviews.",
|
||||
"byTask": "By task",
|
||||
"byAudience": "By audience",
|
||||
"noData": "No use cases yet.",
|
||||
"noAud": "No audiences yet.",
|
||||
"noTools": "No tools tagged yet."
|
||||
},
|
||||
"submitPage": {
|
||||
"title": "Submit your AI tool",
|
||||
"subtitle": "Get a free listing with community votes, user reviews and analytics. Submissions are reviewed by our editors, usually within 48 hours."
|
||||
},
|
||||
"faq": {
|
||||
"title": "Frequently asked questions"
|
||||
},
|
||||
"compare": {
|
||||
"intro": "A side-by-side comparison based on community votes, ratings and reviews — not sponsored placement.",
|
||||
"leaning": "Right now the community leans toward {name}.",
|
||||
"label": "Compare",
|
||||
"noReviews": "—",
|
||||
"latest": "Latest review"
|
||||
},
|
||||
"alternatives": {
|
||||
"noAlt": "No alternatives found yet.",
|
||||
"thisTool": "{name} (this tool)",
|
||||
"table": {
|
||||
"tool": "Tool",
|
||||
"rating": "Rating",
|
||||
"votes": "Votes",
|
||||
"pricing": "Pricing"
|
||||
},
|
||||
"zhTable": {
|
||||
"tool": "Tool",
|
||||
"rating": "Rating",
|
||||
"votes": "Votes",
|
||||
"pricing": "Pricing"
|
||||
}
|
||||
},
|
||||
"notFound": {
|
||||
"code": "404",
|
||||
"title": "Page not found",
|
||||
"body": "The page you are looking for doesn't exist or may have moved.",
|
||||
"home": "Back to home",
|
||||
"tools": "Browse tools"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Search 1,000+ AI tools...",
|
||||
"button": "Search"
|
||||
},
|
||||
"siteFooter": {
|
||||
"groups": [
|
||||
{
|
||||
"title": "Directory",
|
||||
"links": [
|
||||
{
|
||||
"label": "All Tools",
|
||||
"href": "/tools"
|
||||
},
|
||||
{
|
||||
"label": "Rankings",
|
||||
"href": "/rankings"
|
||||
},
|
||||
{
|
||||
"label": "Use Cases",
|
||||
"href": "/ai-tools-for"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Build",
|
||||
"links": [
|
||||
{
|
||||
"label": "Workflows",
|
||||
"href": "/best"
|
||||
},
|
||||
{
|
||||
"label": "Submit a Tool",
|
||||
"href": "/submit"
|
||||
},
|
||||
{
|
||||
"label": "Blog",
|
||||
"href": "/blog"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Legal",
|
||||
"links": [
|
||||
{
|
||||
"label": "Terms",
|
||||
"href": "/terms"
|
||||
},
|
||||
{
|
||||
"label": "Privacy",
|
||||
"href": "/privacy"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"siteHeader": {
|
||||
"searchPlaceholder": "Search dev tools..."
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user