Skip to content

Commit c993fe2

Browse files
committed
fix: restore Chinese content and hide language banner on Chinese site
- Restore Chinese nav, hero, software-logos, home-stats, home-differents, home-multi-clouds, get-started-today, app-footer - Remove HomeBlog from Chinese homepage (was not in original) - Hide 'detected Chinese browser' banner on rustfs.com.cn Made-with: Cursor
1 parent 936f6cf commit c993fe2

File tree

10 files changed

+142
-127
lines changed

10 files changed

+142
-127
lines changed

app/page.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import GetStartedToday from "@/components/business/get-started-today";
2-
import HomeBlog from "@/components/business/home-blog";
32
import HomeDifferents from "@/components/business/home-differents";
43
import HomeFeatures from "@/components/business/home-features";
54
import HomeHero from "@/components/business/home-hero";
@@ -46,7 +45,7 @@ export default async function HomePage() {
4645
<HomeMultiClouds />
4746
{/* <HomeReviews /> */}
4847
<GetStartedToday />
49-
<HomeBlog />
48+
{/* <HomeBlog /> */}
5049
<Subscribe />
5150
</div>
5251
</main>

components/business/app-footer.tsx

Lines changed: 60 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -9,48 +9,50 @@ import { Logo } from './logo';
99
export default function AppFooter() {
1010
const footerLinks = [
1111
{
12-
title: 'Architecture Support',
12+
title: '架构支持',
1313
links: [
14-
{ title: 'Bare Metal & Virtualization', href: docs_url('features/baremetal') },
15-
{ title: 'AWS', href: docs_url('features/aws-elastic') },
16-
{ title: 'Cloud Native', href: docs_url('features/cloud-native') },
14+
{ title: '裸金属与虚拟化', href: docs_url('features/baremetal') },
15+
{ title: '阿里云', href: docs_url('features/aliyun') },
16+
{ title: '腾讯云', href: docs_url('features/qcloud') },
17+
{ title: '华为云', href: docs_url('features/huaweicloud') },
18+
{ title: '国际云服务商', href: docs_url('features/aws-elastic') },
1719
]
1820
},
1921
{
20-
title: 'Product Features',
22+
title: '产品功能',
2123
links: [
22-
{ title: 'Distributed Storage', href: docs_url('features/distributed') },
23-
{ title: 'Log Management', href: docs_url('features/logging') },
24-
{ title: 'Version Control', href: docs_url('features/versioning') },
25-
{ title: 'S3 Compatible', href: docs_url('features/s3-compatibility') },
26-
{ title: 'Erasure Code Calculator', href: '/erasure-code-calculator' },
27-
{ title: 'Object Level Read-Only', href: docs_url('features/worm') },
28-
{ title: 'Cross-Region Replication', href: docs_url('features/replication') },
29-
{ title: 'Encryption', href: docs_url('features/encryption') },
30-
{ title: 'Lifecycle Management', href: docs_url('features/lifecycle') },
24+
{ title: '分布式存储', href: docs_url('features/distributed') },
25+
{ title: '日志管理', href: docs_url('features/logging') },
26+
{ title: '版本控制', href: docs_url('features/versioning') },
27+
{ title: 'S3 兼容', href: docs_url('features/s3-compatibility') },
28+
{ title: '纠删码计算器', href: '/erasure-code-calculator' },
29+
{ title: '对象级只读', href: docs_url('features/worm') },
30+
{ title: '跨区域复制', href: docs_url('features/replication') },
31+
{ title: '加密', href: docs_url('features/encryption') },
32+
{ title: '生命周期管理', href: docs_url('features/lifecycle') },
3133
]
3234
},
3335
{
34-
title: 'Solutions',
36+
title: '解决方案',
3537
links: [
36-
{ title: 'Modern Data Lake', href: docs_url('features/data-lake') },
37-
{ title: 'AI & Machine Learning', href: docs_url('features/ai') },
38-
{ title: 'Cloud Native', href: docs_url('features/cloud-native') },
39-
{ title: 'Big Data Compute-Storage Separation', href: docs_url('features/hdfs') },
40-
{ title: 'SQL Support', href: docs_url('features/sql-server') },
41-
{ title: 'Quantitative Trading', href: docs_url('features/quantitative-trading') },
42-
{ title: 'Manufacturing Cost Reduction', href: docs_url('features/industry') },
43-
{ title: 'Cold Archive Storage', href: docs_url('features/cold-archiving') },
44-
{ title: 'Video Storage Solutions', href: docs_url('features/video') },
45-
{ title: 'Compliance-focused Architecture', href: docs_url('features/domestic') },
38+
{ title: '现代数据湖', href: docs_url('features/data-lake') },
39+
{ title: 'AI 和机器学习', href: docs_url('features/ai') },
40+
{ title: '云原生', href: docs_url('features/cloud-native') },
41+
{ title: '大数据计算存储分离', href: docs_url('features/hdfs') },
42+
{ title: 'SQL 支持', href: docs_url('features/sql-server') },
43+
{ title: '量化交易', href: docs_url('features/quantitative-trading') },
44+
{ title: '制造业降本', href: docs_url('features/industry') },
45+
{ title: '冷归档存储', href: docs_url('features/cold-archiving') },
46+
{ title: '视频存储方案', href: docs_url('features/video') },
47+
{ title: '国产信创和 SM 解决方案', href: docs_url('features/domestic') },
4648
]
4749
},
4850
{
49-
title: 'About Us',
51+
title: '关于我们',
5052
links: [
51-
{ title: 'About Us', href: docs_url('about') },
52-
{ title: 'Investment & Cooperation', href: docs_url('about') },
53-
{ title: 'Trademark Usage', href: docs_url('about') },
53+
{ title: '关于我们', href: docs_url('about') },
54+
{ title: '投资和合作', href: docs_url('about') },
55+
{ title: '商标使用', href: docs_url('about') },
5456
]
5557
}
5658
];
@@ -81,22 +83,40 @@ export default function AppFooter() {
8183
</div>
8284

8385
<div className="mt-12 pt-8 border-t border-border">
84-
<div className="flex flex-col lg:flex-row justify-between items-center gap-4">
85-
<div className="flex flex-col md:flex-row items-center gap-4">
86+
<div className="flex flex-col md:flex-row justify-between items-center gap-4">
87+
<div className="flex items-center gap-4">
8688
<Logo className="h-8 w-auto" />
87-
<div className="text-sm text-muted-foreground flex flex-col gap-2">
88-
<div className="flex flex-col md:flex-row items-center gap-2">
89+
<div className="text-sm text-muted-foreground flex flex-col gap-0.5">
90+
<div className="flex items-center gap-2">
8991
<a
9092
href="mailto:hello@rustfs.com"
9193
className="text-sm text-muted-foreground hover:text-foreground transition-colors"
9294
>
93-
Email: hello@rustfs.com
95+
{'邮箱:hello@rustfs.com'}
96+
</a>
97+
<span className="hidden md:inline-block">|</span>
98+
<a
99+
href="tel:400-033-5363"
100+
className="text-sm text-muted-foreground hover:text-foreground transition-colors"
101+
>
102+
{'电话:400-033-5363'}
94103
</a>
95-
<span className="hidden md:inline">|</span>
96-
<a href="tel:+14707850446">Phone: +1(470)785-0446 </a>
97104
</div>
98-
<div className="flex items-center gap-2 text-center md:text-left">
99-
<span>3550 Lenox Road, NE Atlanta, Georgia 30326</span>
105+
<div className="flex items-center gap-2">
106+
<span>{'北京地址:北京市海淀区西小口路 66 号中关村东升科技园北领地 C 区'}</span>
107+
{true && (
108+
<>
109+
<span className="hidden md:inline-block">|</span>
110+
<a
111+
href="https://beian.miit.gov.cn/"
112+
target="_blank"
113+
rel="noopener noreferrer"
114+
className="text-sm text-muted-foreground hover:text-foreground transition-colors"
115+
>
116+
{'京 ICP 备 2024061305-1 号'}
117+
</a>
118+
</>
119+
)}
100120
</div>
101121
</div>
102122
</div>
@@ -105,10 +125,10 @@ export default function AppFooter() {
105125
href={SITE_CONFIG.secondaryDomain}
106126
className="text-sm text-muted-foreground hover:text-foreground transition-colors"
107127
>
108-
简体中文
128+
English
109129
</a>
110-
<LinkTwitter size="size-4" className="group inline-flex" />
111130
<LinkGitHub className="group inline-flex" />
131+
<LinkTwitter className="group inline-flex" />
112132
</div>
113133
</div>
114134
</div>

components/business/app-header.tsx

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -12,50 +12,50 @@ import { ThemeToggle } from "./theme-toggle";
1212
export default function AppHeader() {
1313
const navs = [
1414
{
15-
label: 'Features',
15+
label: '产品功能',
1616
url: docs_url('features/distributed/'),
1717
classes: '',
1818
},
1919
{
20-
label: 'Architecture',
20+
label: '架构',
2121
url: docs_url('/concepts/architecture.html'),
2222
classes: 'hidden xl:inline-block',
2323
},
2424
{
25-
label: 'Solutions',
25+
label: '解决方案',
2626
url: docs_url('features/data-lake/'),
2727
classes: 'hidden xl:inline-block',
2828
},
29-
// {
30-
// label: 'Integrations',
31-
// url: `https://docs.rustfs.com/intergrations`,
32-
// classes: '',
33-
// },
3429
{
35-
label: 'AI',
30+
label: 'AI 支持',
3631
url: docs_url('features/ai'),
37-
classes: '',
32+
classes: 'hidden xl:inline-block',
3833
},
3934
{
40-
label: 'Download',
35+
label: '下载',
4136
url: `/download`,
4237
classes: '',
4338
},
4439
{
45-
label: 'Demo',
46-
url: 'https://play.rustfs.com',
40+
label: '文档',
41+
url: docs_url('installation/'),
4742
classes: '',
4843
},
4944
{
50-
label: 'Docs',
51-
url: 'https://docs.rustfs.com/installation/',
45+
label: '博客',
46+
url: 'https://rustfs.dev/',
5247
classes: '',
5348
},
5449
{
55-
label: 'Blog',
56-
url: 'https://rustfs.dev/',
57-
classes: '',
58-
}
50+
label: '社区',
51+
url: 'https://github.com/rustfs/rustfs/discussions',
52+
classes: 'hidden xl:inline-block',
53+
},
54+
{
55+
label: '关于我们',
56+
url: docs_url('about'),
57+
classes: 'hidden xl:inline-block',
58+
},
5959
]
6060

6161
return (

components/business/fixed-language-banner.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ export default function FixedLanguageBanner() {
1010
const [showBanner, setShowBanner] = useState(false)
1111

1212
useEffect(() => {
13+
// 中文站不需要此横幅
14+
if (SITE_CONFIG.primaryDomain.includes('rustfs.com.cn')) {
15+
return
16+
}
17+
1318
// Check if banner was dismissed
1419
const dismissed = localStorage.getItem(STORAGE_KEY)
1520
if (dismissed) {

components/business/get-started-today.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
'use client'
22

33
/* eslint-disable @next/next/no-img-element */
4-
import ContactUsButton from "./buttons/contact-us";
4+
import FreeChatButton from "./buttons/free-chat";
55

66
const AVATAR_URLS = [
77
"https://images.unsplash.com/photo-1568602471122-7832951cc4c5?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=facearea&facepad=2&w=300&h=300&q=80",
@@ -17,8 +17,8 @@ export default function GetStartedToday() {return (
1717
<div className="mx-auto max-w-7xl px-4 sm:px-6 lg:px-8 relative">
1818
<div className="mx-auto text-center flex flex-col gap-8">
1919
<h2 className="font-display text-2xl tracking-wide sm:text-4xl font-semibold leading-tight">
20-
{'Experience RustFS'} <br />
21-
{'High security, high concurrency and ultimate performance'}
20+
快速体验 RustFS <br />
21+
高安全性,高并发和极致性能
2222
</h2>
2323

2424
{/* Avatar Group */}
@@ -44,13 +44,13 @@ export default function GetStartedToday() {return (
4444
</div>
4545
<div className="pt-5 sm:ps-5 sm:pt-0 lg:border-l">
4646
<div className="text-sm">
47-
{'Over 100+ enterprise users have started using RustFS'}
47+
超过 100+ 企业用户已经开始使用 RustFS
4848
</div>
4949
</div>
5050
</div>
5151
{/* End Avatar Group */}
5252
<div>
53-
<ContactUsButton />
53+
<FreeChatButton />
5454
</div>
5555
</div>
5656
</div>

components/business/home-differents.tsx

Lines changed: 15 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -15,38 +15,38 @@ export default function HomeDifferents() {return (
1515
<div className="mx-auto max-w-[85rem] px-4 sm:px-6 lg:px-8">
1616
<div className="mx-auto mb-10 max-w-2xl text-center lg:mb-14">
1717
<h2 className="text-2xl font-bold md:text-4xl md:leading-tight">
18-
{'RustFS vs. The Competition'}
18+
{'与其他存储产品的对比'}
1919
</h2>
2020
<p className="mt-4">
21-
{'Choose RustFS for more advantages'}
21+
{'选择 RustFS,您将获得更多的优势'}
2222
</p>
2323
</div>
2424

2525
<div className="relative flex w-full flex-col gap-6 lg:flex-row xl:mx-auto xl:w-10/12">
2626
<div className="relative rounded-xl bg-card md:w-1/2 lg:text-right">
27-
<h3 className="p-4 text-xl font-semibold lg:p-8 lg:text-3xl">{'Other object storage'}</h3>
27+
<h3 className="p-4 text-xl font-semibold lg:p-8 lg:text-3xl">{'其他对象存储'}</h3>
2828
<div className="text-muted-foreground">
2929
<div className="flex items-center gap-2 bg-muted p-4 md:flex-row-reverse lg:px-8">
3030
<XIcon className="text-muted-foreground" />
31-
<span>{'Memory-safe Architecture (Built with Rust)'}</span>
31+
<span>{'使用 Go 或者 C 语言开发,内存垃圾回收异常 / 内存泄漏等'}</span>
3232
</div>
3333
<div className="flex items-center gap-2 p-4 md:flex-row-reverse lg:px-8 ">
3434
<XIcon className="text-muted-foreground" />
35-
<span>{'Data Sovereignty & Local Compliance'}</span>
35+
<span>{'向其他第三国上报日志,违反国家安全法'}</span>
3636
</div>
3737
<div className="flex items-center gap-2 bg-muted p-4 md:flex-row-reverse lg:px-8">
3838
<XIcon className="text-muted-foreground" />
39-
<span>{'AGPL V3 licensing issues'}</span>
39+
<span>{'AGPL V3 等协议、污染开源和协议陷阱,侵犯知识产权'}</span>
4040
</div>
4141
<div className="flex items-center gap-2 p-4 md:flex-row-reverse lg:px-8 ">
42-
<span>{'Inconsistent S3 compatibility across other providers'}</span>
42+
<span>{'S3 支持和功能完善,不支持中国云厂商'}</span>
4343
</div>
4444
<div className="flex items-center gap-2 bg-muted p-4 md:flex-row-reverse lg:px-8">
4545
<XIcon className="text-muted-foreground" />
46-
<span>{'Limited Platform Compatibility'}</span>
46+
<span>{'不完全支持国产信创设备'}</span>
4747
</div>
4848
<div className="flex items-center gap-2 p-4 md:flex-row-reverse lg:px-8 ">
49-
<span>{'Annual price hikes up to millions'}</span>
49+
<span>{'每年涨价,价格高达数百万人民币'}</span>
5050
</div>
5151
</div>
5252

@@ -74,34 +74,30 @@ export default function HomeDifferents() {return (
7474
<div className="text-muted-foreground">
7575
<div className="flex items-center gap-2 bg-muted p-4 lg:px-8">
7676
<CheckIcon className="text-success" />
77-
<span>{'Memory-safe Rust development'}</span>
77+
<span>{'基于 Rust 语言开发,内存更安全'}</span>
7878
</div>
7979
<div className="flex items-center gap-2 p-4 lg:px-8 ">
8080
<CheckIcon className="text-success" />
81-
<span>{'No foreign logging'}</span>
81+
<span>{'不向其他第三国上报日志'}</span>
8282
</div>
8383
<div className="flex items-center gap-2 bg-muted p-4 lg:px-8">
8484
<CheckIcon className="text-success" />
85-
<span>{'Business-friendly Apache license'}</span>
85+
<span>{'Apache 协议,商用支持更友好'}</span>
8686
</div>
8787
<div className="flex items-center gap-2 p-4 lg:px-8 ">
8888
<CheckIcon className="text-success" />
89-
<span>{'Full S3 support for global clouds'}</span>
89+
<span>{'S3 支持和功能完善,支持国内云厂商'}</span>
9090
</div>
9191
<div className="flex items-center gap-2 bg-muted p-4 lg:px-8">
9292
<CheckIcon className="text-success" />
93-
<span>{'Extensive Multi-Architecture Support'}</span>
93+
<span>{'支持国产信创设备和保密系统'}</span>
9494
</div>
9595
<div className="flex items-center gap-2 p-4 lg:px-8 ">
9696
<CheckIcon className="text-success" />
97-
<span>{'Stable pricing and support'}</span>
97+
<span>{'商用和技术支持和价格稳定'}</span>
9898
</div>
9999
</div>
100100

101-
<span className="absolute end-0 top-0 rounded-es-xl rounded-se-xl bg-success px-3 py-1.5 text-xs font-medium text-success-foreground">
102-
{'Best choice'}
103-
</span>
104-
105101
<div className="absolute end-0 top-0 hidden translate-x-16 translate-y-16 md:block">
106102
<svg
107103
className="h-auto w-16 text-warning"
@@ -133,9 +129,6 @@ export default function HomeDifferents() {return (
133129
</div>
134130
</div>
135131
</div>
136-
<div className="mt-7 text-center">
137-
<p className="text-xs text-muted-foreground">{'* Comparison for reference only'}</p>
138-
</div>
139132
{/* End Features */}
140133
</div>
141134
</section >

0 commit comments

Comments
 (0)