- Extract landing.css (scoped under .marketing-page) from texpixel-landing.html - Add Lora + JetBrains Mono fonts to index.html - Update MarketingLayout with .marketing-page wrapper and glow blobs - Replace MarketingNavbar with reference design (auth-aware user menu) - Replace HeroSection with mock window + cycling LaTeX typing effect - Replace FeaturesSection, PricingSection, Footer with reference designs - Add ProductSuiteSection, ShowcaseSection, TestimonialsSection (carousel), DocsSeoSection - Add useScrollReveal hook for intersection-based fade-in animations - Update HomePage to wire all sections in correct order - Remove obsolete HowItWorksSection and ContactSection - Remove dead contact key from marketing.nav translations Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
346 lines
13 KiB
TypeScript
346 lines
13 KiB
TypeScript
export const translations = {
|
||
en: {
|
||
common: {
|
||
upload: 'Upload',
|
||
history: 'History',
|
||
login: 'Login / Register',
|
||
logout: 'Logout',
|
||
loading: 'Loading...',
|
||
processing: 'Processing...',
|
||
cancel: 'Cancel',
|
||
copy: 'Copy',
|
||
copied: 'Copied!',
|
||
download: 'Download',
|
||
export: 'Export',
|
||
preview: 'Preview',
|
||
email: 'Email',
|
||
contactUs: 'Contact Us',
|
||
reward: 'Reward',
|
||
qqGroup: 'QQ Group (Click to Copy)',
|
||
guide: 'User Guide',
|
||
click: 'Click',
|
||
drop: 'Drop',
|
||
paste: 'Paste',
|
||
},
|
||
navbar: {
|
||
rewardTitle: 'WeChat Reward',
|
||
rewardThanks: 'Thank you for your support and encouragement ❤️',
|
||
rewardSubtitle: 'Your support is our motivation for continuous updates',
|
||
},
|
||
sidebar: {
|
||
title: 'Formula Recognize',
|
||
subtitle: 'Support handwriting and printed formulas',
|
||
uploadInstruction: 'Click, Drop, or Paste a file to start parsing',
|
||
pleaseLogin: 'Please login to view history',
|
||
noHistory: 'No history records',
|
||
noMore: 'No more records',
|
||
historyHeader: 'History',
|
||
},
|
||
uploadModal: {
|
||
title: 'Upload File',
|
||
supportFormats: 'Support JPG, PNG, PDF format',
|
||
},
|
||
resultPanel: {
|
||
waitingTitle: 'Waiting for recognition result',
|
||
waitingSubtitle: 'After uploading the file, Texpixel will automatically recognize and display the result here',
|
||
analyzing: 'Analyzing...',
|
||
waitingQueue: 'Waiting in queue...',
|
||
queueSubtitle: 'Your file is in the queue, please wait.',
|
||
processingSubtitle: 'Texpixel is processing your file, this may take a moment.',
|
||
markdown: 'Markdown',
|
||
},
|
||
auth: {
|
||
signIn: 'Login',
|
||
signUp: 'Register',
|
||
signInTitle: 'Login Account',
|
||
signUpTitle: 'Register Account',
|
||
email: 'Email',
|
||
password: 'Password',
|
||
error: 'Error',
|
||
genericError: 'An error occurred, please try again',
|
||
hasAccount: 'Already have an account? Login',
|
||
noAccount: 'No account? Register',
|
||
continueWithGoogle: 'Google',
|
||
emailHint: 'Used only for sign-in and history sync.',
|
||
emailRequired: 'Please enter your email address.',
|
||
emailInvalid: 'Please enter a valid email address.',
|
||
passwordRequired: 'Please enter your password.',
|
||
passwordHint: 'Use at least 6 characters. Letters and numbers are recommended.',
|
||
confirmPassword: 'Confirm Password',
|
||
passwordMismatch: 'The two passwords do not match.',
|
||
oauthRedirecting: 'Redirecting to Google...',
|
||
oauthExchanging: 'Completing Google sign-in...',
|
||
invalidOAuthState: 'Invalid OAuth state, please retry.',
|
||
oauthFailed: 'Google sign-in failed, please retry.',
|
||
},
|
||
export: {
|
||
title: 'Export',
|
||
categories: {
|
||
code: 'Code',
|
||
image: 'Image',
|
||
file: 'File',
|
||
},
|
||
failed: 'Export failed, please try again',
|
||
imageFailed: 'Failed to generate image',
|
||
noContent: 'Mixed text and formulas do not support LaTeX/MathML export. Please download DOCX format instead.',
|
||
noContentShort: 'Not supported for mixed content',
|
||
},
|
||
guide: {
|
||
next: 'Next',
|
||
prev: 'Back',
|
||
finish: 'Finish',
|
||
skip: 'Skip',
|
||
step1Title: 'Upload Area',
|
||
step1Content: 'Click or drag and drop your formula images/PDFs here to start recognition.',
|
||
step2Title: 'File History',
|
||
step2Content: 'Your recognized files will appear here. Login to sync across devices.',
|
||
step3Title: 'Preview Area',
|
||
step3Content: 'The original file you uploaded will be displayed here for comparison.',
|
||
step4Title: 'Recognition Result',
|
||
step4Content: 'The recognition results (Markdown/LaTeX) will be shown here.',
|
||
stepExportTitle: 'Export Result',
|
||
stepExportContent: 'You can export the recognition results to various formats such as Markdown, LaTeX, Word, or Image.',
|
||
},
|
||
alerts: {
|
||
taskTimeout: 'Task timeout: Recognition took too long.',
|
||
networkError: 'Task timeout or network error.',
|
||
uploadFailed: 'Upload failed',
|
||
},
|
||
marketing: {
|
||
nav: {
|
||
home: 'Home',
|
||
docs: 'Docs',
|
||
blog: 'Blog',
|
||
pricing: 'Pricing',
|
||
launchApp: 'Launch App',
|
||
},
|
||
hero: {
|
||
title: 'Convert Math Formulas to LaTeX in Seconds',
|
||
subtitle: 'AI-powered OCR for handwritten and printed mathematical formulas. Get LaTeX, MathML, and Markdown output instantly.',
|
||
cta: 'Try It Free',
|
||
ctaSecondary: 'Learn More',
|
||
},
|
||
features: {
|
||
title: 'Features',
|
||
subtitle: 'Everything you need for formula recognition',
|
||
handwriting: 'Handwriting Recognition',
|
||
handwritingDesc: 'Accurately recognize handwritten math formulas from photos or scans',
|
||
multiFormat: 'Multi-Format Output',
|
||
multiFormatDesc: 'Export to LaTeX, MathML, Markdown, Word, and more',
|
||
pdf: 'PDF Support',
|
||
pdfDesc: 'Upload PDF documents and extract formulas automatically',
|
||
batch: 'Batch Processing',
|
||
batchDesc: 'Process multiple files at once for maximum efficiency',
|
||
accuracy: 'High Accuracy',
|
||
accuracyDesc: 'Powered by advanced AI models for industry-leading accuracy',
|
||
free: 'Free to Start',
|
||
freeDesc: 'Get started with free uploads, no credit card required',
|
||
},
|
||
howItWorks: {
|
||
title: 'How It Works',
|
||
step1: 'Upload',
|
||
step1Desc: 'Upload an image or PDF containing math formulas',
|
||
step2: 'Recognize',
|
||
step2Desc: 'Our AI analyzes and recognizes the formulas',
|
||
step3: 'Export',
|
||
step3Desc: 'Copy or export results in your preferred format',
|
||
},
|
||
pricing: {
|
||
title: 'Pricing',
|
||
subtitle: 'Choose the plan that fits your needs',
|
||
free: 'Free',
|
||
pro: 'Pro',
|
||
enterprise: 'Enterprise',
|
||
monthly: '/month',
|
||
custom: 'Custom',
|
||
getStarted: 'Get Started',
|
||
comingSoon: 'Coming Soon',
|
||
contactUs: 'Contact Us',
|
||
popular: 'Most Popular',
|
||
freeFeatures: ['3 uploads/day', 'LaTeX & Markdown output', 'Community support'],
|
||
proFeatures: ['Unlimited uploads', 'All export formats', 'Priority processing', 'API access'],
|
||
enterpriseFeatures: ['Custom volume', 'Dedicated support', 'SLA guarantee', 'On-premise option'],
|
||
},
|
||
footer: {
|
||
tagline: 'AI-powered math formula recognition',
|
||
product: 'Product',
|
||
resources: 'Resources',
|
||
contactTitle: 'Contact',
|
||
},
|
||
},
|
||
},
|
||
zh: {
|
||
common: {
|
||
upload: '上传',
|
||
history: '历史记录',
|
||
login: '登录 / 注册',
|
||
logout: '退出登录',
|
||
loading: '加载中...',
|
||
processing: '处理中...',
|
||
cancel: '取消',
|
||
copy: '复制',
|
||
copied: '已复制!',
|
||
download: '下载',
|
||
export: '导出',
|
||
preview: '预览',
|
||
email: '邮箱',
|
||
contactUs: '联系我们',
|
||
reward: '赞赏',
|
||
qqGroup: 'QQ 群 (点击复制)',
|
||
guide: '使用引导',
|
||
click: '点击',
|
||
drop: '拖拽',
|
||
paste: '粘贴',
|
||
},
|
||
navbar: {
|
||
rewardTitle: '微信赞赏码',
|
||
rewardThanks: '感谢您的支持与鼓励 ❤️',
|
||
rewardSubtitle: '您的支持是我们持续更新的动力',
|
||
},
|
||
sidebar: {
|
||
title: '文档识别',
|
||
subtitle: '支持手写和印刷体文档识别',
|
||
uploadInstruction: '点击、拖拽或粘贴文件开始解析',
|
||
pleaseLogin: '请登录后查看历史记录',
|
||
noHistory: '暂无历史记录',
|
||
noMore: '没有更多记录了',
|
||
historyHeader: '历史记录',
|
||
},
|
||
uploadModal: {
|
||
title: '上传文件',
|
||
supportFormats: '支持 JPG, PNG 格式',
|
||
},
|
||
resultPanel: {
|
||
waitingTitle: '等待识别结果',
|
||
waitingSubtitle: '上传文件后,TexPixel 将自动识别并在此显示结果',
|
||
analyzing: '解析中...',
|
||
waitingQueue: '排队中...',
|
||
queueSubtitle: '您的文件正在排队,请稍候。',
|
||
processingSubtitle: 'TexPixel 正在处理您的文件,请稍候。',
|
||
markdown: 'Markdown',
|
||
},
|
||
auth: {
|
||
signIn: '登录',
|
||
signUp: '注册',
|
||
signInTitle: '登录账号',
|
||
signUpTitle: '注册账号',
|
||
email: '邮箱',
|
||
password: '密码',
|
||
error: '错误',
|
||
genericError: '发生错误,请重试',
|
||
hasAccount: '已有账号?去登录',
|
||
noAccount: '没有账号?去注册',
|
||
continueWithGoogle: 'Google',
|
||
emailHint: '仅用于登录和同步记录。',
|
||
emailRequired: '请输入邮箱地址。',
|
||
emailInvalid: '请输入有效的邮箱地址。',
|
||
passwordRequired: '请输入密码。',
|
||
passwordHint: '密码至少 6 位,建议使用字母和数字组合。',
|
||
confirmPassword: '确认密码',
|
||
passwordMismatch: '两次输入的密码不一致。',
|
||
oauthRedirecting: '正在跳转 Google...',
|
||
oauthExchanging: '正在完成 Google 登录...',
|
||
invalidOAuthState: 'OAuth 状态校验失败,请重试',
|
||
oauthFailed: 'Google 登录失败,请重试',
|
||
},
|
||
export: {
|
||
title: '导出',
|
||
categories: {
|
||
code: '代码',
|
||
image: '图片',
|
||
file: '文件',
|
||
},
|
||
failed: '导出失败,请重试',
|
||
imageFailed: '生成图片失败',
|
||
noContent: '混合文字内容不支持 LaTeX/MathML 导出,请下载 DOCX 文件。',
|
||
noContentShort: '混合内容不支持',
|
||
},
|
||
guide: {
|
||
next: '下一步',
|
||
prev: '上一步',
|
||
finish: '完成',
|
||
skip: '跳过',
|
||
step1Title: '上传区域',
|
||
step1Content: '点击此处或将公式/文档图片 粘贴或者拖拽到这里开始识别。',
|
||
step2Title: '历史记录',
|
||
step2Content: '识别过的文件会显示在这里。登录后可以跨设备同步。',
|
||
step3Title: '预览区域',
|
||
step3Content: '这里会显示您上传的原始文件,方便对比。',
|
||
step4Title: '识别结果',
|
||
step4Content: '这里会显示识别出的 Markdown/LaTeX 结果。',
|
||
stepExportTitle: '导出结果',
|
||
stepExportContent: '您可以将识别结果导出为多种格式,如 Markdown、LaTeX、Word 或图片。',
|
||
},
|
||
alerts: {
|
||
taskTimeout: '任务超时:识别时间过长。',
|
||
networkError: '任务超时或网络错误。',
|
||
uploadFailed: '上传失败',
|
||
},
|
||
marketing: {
|
||
nav: {
|
||
home: '首页',
|
||
docs: '文档',
|
||
blog: '博客',
|
||
pricing: '价格',
|
||
launchApp: '启动应用',
|
||
},
|
||
hero: {
|
||
title: '数学公式秒级转换为 LaTeX',
|
||
subtitle: 'AI 驱动的手写和印刷体数学公式识别,即时输出 LaTeX、MathML 和 Markdown。',
|
||
cta: '免费试用',
|
||
ctaSecondary: '了解更多',
|
||
},
|
||
features: {
|
||
title: '功能特性',
|
||
subtitle: '公式识别所需的一切',
|
||
handwriting: '手写识别',
|
||
handwritingDesc: '精准识别照片或扫描件中的手写数学公式',
|
||
multiFormat: '多格式输出',
|
||
multiFormatDesc: '导出为 LaTeX、MathML、Markdown、Word 等格式',
|
||
pdf: 'PDF 支持',
|
||
pdfDesc: '上传 PDF 文档,自动提取公式',
|
||
batch: '批量处理',
|
||
batchDesc: '一次处理多个文件,效率最大化',
|
||
accuracy: '高精度',
|
||
accuracyDesc: '由先进 AI 模型驱动,行业领先的识别精度',
|
||
free: '免费开始',
|
||
freeDesc: '免费上传体验,无需信用卡',
|
||
},
|
||
howItWorks: {
|
||
title: '使用流程',
|
||
step1: '上传',
|
||
step1Desc: '上传包含数学公式的图片或 PDF',
|
||
step2: '识别',
|
||
step2Desc: '我们的 AI 分析并识别公式',
|
||
step3: '导出',
|
||
step3Desc: '复制或导出为你喜欢的格式',
|
||
},
|
||
pricing: {
|
||
title: '价格方案',
|
||
subtitle: '选择适合您的方案',
|
||
free: '免费版',
|
||
pro: '专业版',
|
||
enterprise: '企业版',
|
||
monthly: '/月',
|
||
custom: '定制',
|
||
getStarted: '开始使用',
|
||
comingSoon: '即将推出',
|
||
contactUs: '联系我们',
|
||
popular: '最受欢迎',
|
||
freeFeatures: ['每日 3 次上传', 'LaTeX 和 Markdown 输出', '社区支持'],
|
||
proFeatures: ['无限上传', '所有导出格式', '优先处理', 'API 访问'],
|
||
enterpriseFeatures: ['自定义用量', '专属支持', 'SLA 保障', '私有部署选项'],
|
||
},
|
||
footer: {
|
||
tagline: 'AI 驱动的数学公式识别',
|
||
product: '产品',
|
||
resources: '资源',
|
||
contactTitle: '联系方式',
|
||
},
|
||
},
|
||
}
|
||
};
|
||
|
||
export type Language = 'en' | 'zh';
|
||
export type TranslationKey = typeof translations.en;
|