chore: remove personal phone number and QQ email from site
This commit is contained in:
@@ -1,40 +1,43 @@
|
||||
export const languages = {
|
||||
en: 'English',
|
||||
zh: '简体中文',
|
||||
en: "English",
|
||||
zh: "简体中文",
|
||||
} as const;
|
||||
|
||||
export const defaultLang = 'en';
|
||||
export const defaultLang = "en";
|
||||
export const translations = {
|
||||
en: {
|
||||
nav: {
|
||||
home: 'Home',
|
||||
about: 'About',
|
||||
projects: 'Projects',
|
||||
blog: 'Blog',
|
||||
hire: 'Hire',
|
||||
uses: 'Uses',
|
||||
contact: 'Contact',
|
||||
now: 'Now',
|
||||
home: "Home",
|
||||
about: "About",
|
||||
projects: "Projects",
|
||||
blog: "Blog",
|
||||
hire: "Hire",
|
||||
uses: "Uses",
|
||||
contact: "Contact",
|
||||
now: "Now",
|
||||
},
|
||||
site: {
|
||||
title: 'Joey Z. - AI Full-stack Engineer',
|
||||
description: 'AI full-stack engineer focused on complex systems, product delivery, and long-term maintainability',
|
||||
title: "Joey Z. - AI Full-stack Engineer",
|
||||
description:
|
||||
"AI full-stack engineer focused on complex systems, product delivery, and long-term maintainability",
|
||||
},
|
||||
hero: {
|
||||
greeting: "Hello, I'm",
|
||||
viewProjects: 'View Projects',
|
||||
contactMe: 'Get in Touch',
|
||||
lookingForJob: 'Looking for a Frontend/TS Full-stack Engineer (Remote)? Contact me!',
|
||||
digitalNomad: 'Exploring the freelance journey, striving to become a digital nomad',
|
||||
contactInfo: 'Contact Me',
|
||||
githubLink: 'GitHub Profile',
|
||||
linkedinLink: 'LinkedIn Profile',
|
||||
tagline: 'Full-stack + AI Product Builder',
|
||||
viewProjects: "View Projects",
|
||||
contactMe: "Get in Touch",
|
||||
lookingForJob:
|
||||
"Looking for a Frontend/TS Full-stack Engineer (Remote)? Contact me!",
|
||||
digitalNomad:
|
||||
"Exploring the freelance journey, striving to become a digital nomad",
|
||||
contactInfo: "Contact Me",
|
||||
githubLink: "GitHub Profile",
|
||||
linkedinLink: "LinkedIn Profile",
|
||||
tagline: "Full-stack + AI Product Builder",
|
||||
ctaPrimary: "Let's Build Together",
|
||||
ctaSecondary: 'View My Work',
|
||||
ctaSecondary: "View My Work",
|
||||
},
|
||||
footer: {
|
||||
rights: 'All rights reserved',
|
||||
rights: "All rights reserved",
|
||||
},
|
||||
project: {
|
||||
featured: "Featured",
|
||||
@@ -42,184 +45,242 @@ export const translations = {
|
||||
all: "All",
|
||||
},
|
||||
tag: {
|
||||
business: 'Business Project',
|
||||
opensource: 'Open Source',
|
||||
personal: 'Personal Product',
|
||||
portfolio: 'Portfolio',
|
||||
ecommerce: 'E-Commerce',
|
||||
business: "Business Project",
|
||||
opensource: "Open Source",
|
||||
personal: "Personal Product",
|
||||
portfolio: "Portfolio",
|
||||
ecommerce: "E-Commerce",
|
||||
},
|
||||
type: {
|
||||
product: 'Product',
|
||||
client: 'Client Project',
|
||||
experiment: 'Experiment',
|
||||
product: "Product",
|
||||
client: "Client Project",
|
||||
experiment: "Experiment",
|
||||
},
|
||||
status: {
|
||||
building: 'Building',
|
||||
completed: 'Completed',
|
||||
archived: 'Archived',
|
||||
building: "Building",
|
||||
completed: "Completed",
|
||||
archived: "Archived",
|
||||
},
|
||||
role: 'Role',
|
||||
impact: 'Impact',
|
||||
visit: 'Visit',
|
||||
demo: 'Live Demo',
|
||||
role: "Role",
|
||||
impact: "Impact",
|
||||
visit: "Visit",
|
||||
demo: "Live Demo",
|
||||
},
|
||||
projects: {
|
||||
title: 'My Projects',
|
||||
description: 'A collection of my recent work, showcasing innovative solutions and clean code. Explore the details of each project below.',
|
||||
slogan: 'Crafting elegant solutions to complex problems with clean code and innovative thinking.',
|
||||
title: "My Projects",
|
||||
description:
|
||||
"A collection of my recent work, showcasing innovative solutions and clean code. Explore the details of each project below.",
|
||||
slogan:
|
||||
"Crafting elegant solutions to complex problems with clean code and innovative thinking.",
|
||||
},
|
||||
blog: {
|
||||
slogan: 'This is where innovative thinking meets complex problems.',
|
||||
backToList: 'Back to Writing',
|
||||
slogan: "This is where innovative thinking meets complex problems.",
|
||||
backToList: "Back to Writing",
|
||||
},
|
||||
services: {
|
||||
title: 'What I Do',
|
||||
viewAll: 'Learn More',
|
||||
title: "What I Do",
|
||||
viewAll: "Learn More",
|
||||
},
|
||||
about: {
|
||||
title: 'About Me',
|
||||
description: 'Learn more about my background, skills, and experiences',
|
||||
title: "About Me",
|
||||
description: "Learn more about my background, skills, and experiences",
|
||||
intro: {
|
||||
title: 'Introduction',
|
||||
content: "I'm a TypeScript Full Stack Engineer who loves development, technology, and exploring new possibilities. I enjoy bringing digital projects to life. 🚀",
|
||||
belief: "I believe this is where ideas become reality. I'm exploring the freelance journey, striving to become a digital nomad.",
|
||||
title: "Introduction",
|
||||
content:
|
||||
"I'm a TypeScript Full Stack Engineer who loves development, technology, and exploring new possibilities. I enjoy bringing digital projects to life. 🚀",
|
||||
belief:
|
||||
"I believe this is where ideas become reality. I'm exploring the freelance journey, striving to become a digital nomad.",
|
||||
},
|
||||
me: {
|
||||
title: 'About me 🧠',
|
||||
content: "I started my programming journey in 2016 when I accidentally encountered programming. This opportunity became the catalyst for my coding adventure, and I fell in love with programming during my subsequent self-learning journey. \n\nI enjoy creating websites and applications with code and sharing them with users. The sense of achievement I get from this process makes me increasingly fascinated. My dream is to become a lifelong coder.",
|
||||
title: "About me 🧠",
|
||||
content:
|
||||
"I started my programming journey in 2016 when I accidentally encountered programming. This opportunity became the catalyst for my coding adventure, and I fell in love with programming during my subsequent self-learning journey. \n\nI enjoy creating websites and applications with code and sharing them with users. The sense of achievement I get from this process makes me increasingly fascinated. My dream is to become a lifelong coder.",
|
||||
},
|
||||
skills: {
|
||||
title: 'My Skills 💪',
|
||||
description: "Below are the technology stacks I'm currently familiar with or proficient in, as well as those I'm learning or planning to learn.",
|
||||
title: "My Skills 💪",
|
||||
description:
|
||||
"Below are the technology stacks I'm currently familiar with or proficient in, as well as those I'm learning or planning to learn.",
|
||||
mastered: {
|
||||
title: "Skills I've Mastered",
|
||||
items: ['HTML, CSS, JavaScript', 'Frontend Frameworks: Vue.js, React.js, Node.js, uniApp, WeChat Mini Program', 'TypeScript', 'Databases: MySQL, MongoDB', 'DevOps: Linux, Git', 'Others: Markdown, Docker, Kubernetes, Nginx, Apache, etc.'],
|
||||
items: [
|
||||
"HTML, CSS, JavaScript",
|
||||
"Frontend Frameworks: Vue.js, React.js, Node.js, uniApp, WeChat Mini Program",
|
||||
"TypeScript",
|
||||
"Databases: MySQL, MongoDB",
|
||||
"DevOps: Linux, Git",
|
||||
"Others: Markdown, Docker, Kubernetes, Nginx, Apache, etc.",
|
||||
],
|
||||
},
|
||||
learning: {
|
||||
title: "Skills I'm Learning/Planning to Learn",
|
||||
items: ['Programming Languages: Python, Java, Go', 'Mobile Development: Flutter, Dart', 'iOS Development: Swift, SwiftUI'],
|
||||
items: [
|
||||
"Programming Languages: Python, Java, Go",
|
||||
"Mobile Development: Flutter, Dart",
|
||||
"iOS Development: Swift, SwiftUI",
|
||||
],
|
||||
},
|
||||
},
|
||||
interests: {
|
||||
title: 'My Interests 🌈',
|
||||
title: "My Interests 🌈",
|
||||
items: [
|
||||
{ title: 'Reading', content: 'I enjoy reading various books, especially technical ones.' },
|
||||
{ title: 'Travel', content: 'I like visiting different places, particularly on road trips.' },
|
||||
{ title: 'Food', content: 'I enjoy various cuisines, especially hot pot.' },
|
||||
{ title: 'Mobile Games', content: 'I like playing League of Legends, Honor of Kings, PUBG Mobile, and other mobile games.' },
|
||||
{
|
||||
title: "Reading",
|
||||
content:
|
||||
"I enjoy reading various books, especially technical ones.",
|
||||
},
|
||||
{
|
||||
title: "Travel",
|
||||
content:
|
||||
"I like visiting different places, particularly on road trips.",
|
||||
},
|
||||
{
|
||||
title: "Food",
|
||||
content: "I enjoy various cuisines, especially hot pot.",
|
||||
},
|
||||
{
|
||||
title: "Mobile Games",
|
||||
content:
|
||||
"I like playing League of Legends, Honor of Kings, PUBG Mobile, and other mobile games.",
|
||||
},
|
||||
],
|
||||
},
|
||||
contact: {
|
||||
title: 'Contact Me 📫',
|
||||
warning: 'Since everyone\'s time is valuable, please add a note when contacting me, such as: collaboration, consultation, project requirements, etc. I may not reply to or might ignore messages without notes. Thank you for your cooperation!',
|
||||
title: "Contact Me 📫",
|
||||
warning:
|
||||
"Since everyone's time is valuable, please add a note when contacting me, such as: collaboration, consultation, project requirements, etc. I may not reply to or might ignore messages without notes. Thank you for your cooperation!",
|
||||
methods: [
|
||||
{ label: 'Email', value: '2770723534@qq.com', icon: 'mail', link: 'mailto:2770723534@qq.com' },
|
||||
{ label: 'Email (Secondary)', value: 'zhaoguiyang18@outlook.com', icon: 'mail', link: 'mailto:zhaoguiyang18@outlook.com' },
|
||||
{ label: 'WeChat', value: 'Joey_Zhao_dev', icon: 'wechat' },
|
||||
{ label: 'Telegram', value: 'joey_zgy', icon: 'send', link: 'https://t.me/joey_zgy' },
|
||||
{
|
||||
label: "Email",
|
||||
value: "zhaoguiyang18@outlook.com",
|
||||
icon: "mail",
|
||||
link: "mailto:zhaoguiyang18@outlook.com",
|
||||
},
|
||||
{ label: "WeChat", value: "Joey_Zhao_dev", icon: "wechat" },
|
||||
{
|
||||
label: "Telegram",
|
||||
value: "joey_zgy",
|
||||
icon: "send",
|
||||
link: "https://t.me/joey_zgy",
|
||||
},
|
||||
],
|
||||
},
|
||||
socials: {
|
||||
title: 'Community & Media 🌐',
|
||||
title: "Community & Media 🌐",
|
||||
items: [
|
||||
{ label: 'GitHub', value: 'github.com/zhaoguiyang', icon: 'github', link: 'https://github.com/zhaoguiyang' },
|
||||
{ label: 'Blog', value: 'zhaoguiyang.site', icon: 'globe', link: 'https://zhaoguiyang.site' },
|
||||
{
|
||||
label: "GitHub",
|
||||
value: "github.com/zhaoguiyang",
|
||||
icon: "github",
|
||||
link: "https://github.com/zhaoguiyang",
|
||||
},
|
||||
{
|
||||
label: "Blog",
|
||||
value: "zhaoguiyang.site",
|
||||
icon: "globe",
|
||||
link: "https://zhaoguiyang.site",
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
home: {
|
||||
hero: {
|
||||
eyebrow: 'Personal Brand',
|
||||
summary: 'I design and build reliable digital products with clear user value, strong engineering foundations, and practical AI integration.',
|
||||
ctaPrimary: 'About Me',
|
||||
ctaSecondary: 'Work With Me',
|
||||
terminalStatus: 'Open to remote roles and project collaboration',
|
||||
eyebrow: "Personal Brand",
|
||||
summary:
|
||||
"I design and build reliable digital products with clear user value, strong engineering foundations, and practical AI integration.",
|
||||
ctaPrimary: "About Me",
|
||||
ctaSecondary: "Work With Me",
|
||||
terminalStatus: "Open to remote roles and project collaboration",
|
||||
},
|
||||
trust: {
|
||||
item1: 'Remote Ready',
|
||||
item2: 'Async Friendly Collaboration',
|
||||
item3: 'Product + Engineering Mindset',
|
||||
item4: 'Stable Delivery Rhythm',
|
||||
item1: "Remote Ready",
|
||||
item2: "Async Friendly Collaboration",
|
||||
item3: "Product + Engineering Mindset",
|
||||
item4: "Stable Delivery Rhythm",
|
||||
},
|
||||
metrics: {
|
||||
item1: 'Focused on long-term product quality',
|
||||
item2: 'Strong in TypeScript, React, and Node.js',
|
||||
item3: 'Comfortable with AI-enabled product workflows',
|
||||
item4: 'Available for freelance and full-time opportunities',
|
||||
item1: "Focused on long-term product quality",
|
||||
item2: "Strong in TypeScript, React, and Node.js",
|
||||
item3: "Comfortable with AI-enabled product workflows",
|
||||
item4: "Available for freelance and full-time opportunities",
|
||||
},
|
||||
services: {
|
||||
eyebrow: 'What I Deliver',
|
||||
title: 'Services',
|
||||
description: 'Practical technical support from strategy to execution.',
|
||||
eyebrow: "What I Deliver",
|
||||
title: "Services",
|
||||
description: "Practical technical support from strategy to execution.",
|
||||
},
|
||||
career: {
|
||||
eyebrow: 'Career Snapshot',
|
||||
title: 'Career Highlights',
|
||||
description: 'Mock milestones for layout. Real details can be swapped in later.',
|
||||
cta: 'View Full Resume',
|
||||
eyebrow: "Career Snapshot",
|
||||
title: "Career Highlights",
|
||||
description:
|
||||
"Mock milestones for layout. Real details can be swapped in later.",
|
||||
cta: "View Full Resume",
|
||||
card1: {
|
||||
period: '2024 — Now',
|
||||
title: 'AI Product Builder · Independent',
|
||||
outcome: 'Built and iterated AI-first product concepts with fast prototyping and clear product direction.',
|
||||
period: "2024 — Now",
|
||||
title: "AI Product Builder · Independent",
|
||||
outcome:
|
||||
"Built and iterated AI-first product concepts with fast prototyping and clear product direction.",
|
||||
},
|
||||
card2: {
|
||||
period: '2021 — 2024',
|
||||
title: 'Senior Frontend Engineer · Remote Team',
|
||||
outcome: 'Led core front-end modules and improved team delivery efficiency through reusable architecture.',
|
||||
period: "2021 — 2024",
|
||||
title: "Senior Frontend Engineer · Remote Team",
|
||||
outcome:
|
||||
"Led core front-end modules and improved team delivery efficiency through reusable architecture.",
|
||||
},
|
||||
card3: {
|
||||
period: '2018 — 2021',
|
||||
title: 'Full-stack Engineer · Growth Stage Startup',
|
||||
outcome: 'Delivered multiple customer-facing features across web stack and supported stable product growth.',
|
||||
period: "2018 — 2021",
|
||||
title: "Full-stack Engineer · Growth Stage Startup",
|
||||
outcome:
|
||||
"Delivered multiple customer-facing features across web stack and supported stable product growth.",
|
||||
},
|
||||
},
|
||||
featured: {
|
||||
eyebrow: 'Featured Work',
|
||||
title: 'Representative Project',
|
||||
challenge: 'Challenge',
|
||||
approach: 'Approach',
|
||||
outcome: 'Outcome',
|
||||
ctaPrimary: 'View Project',
|
||||
ctaSecondary: 'See More Opportunities',
|
||||
eyebrow: "Featured Work",
|
||||
title: "Representative Project",
|
||||
challenge: "Challenge",
|
||||
approach: "Approach",
|
||||
outcome: "Outcome",
|
||||
ctaPrimary: "View Project",
|
||||
ctaSecondary: "See More Opportunities",
|
||||
},
|
||||
final: {
|
||||
title: 'Open to Meaningful Work',
|
||||
description: 'If you are building quality products and need reliable execution, I would love to connect.',
|
||||
ctaPrimary: 'Know Me Better',
|
||||
ctaSecondary: 'Start a Conversation',
|
||||
title: "Open to Meaningful Work",
|
||||
description:
|
||||
"If you are building quality products and need reliable execution, I would love to connect.",
|
||||
ctaPrimary: "Know Me Better",
|
||||
ctaSecondary: "Start a Conversation",
|
||||
},
|
||||
},
|
||||
},
|
||||
zh: {
|
||||
nav: {
|
||||
home: '首页',
|
||||
about: '关于',
|
||||
projects: '项目',
|
||||
blog: '博客',
|
||||
hire: '合作',
|
||||
uses: '工具',
|
||||
contact: '联系',
|
||||
now: '现在',
|
||||
home: "首页",
|
||||
about: "关于",
|
||||
projects: "项目",
|
||||
blog: "博客",
|
||||
hire: "合作",
|
||||
uses: "工具",
|
||||
contact: "联系",
|
||||
now: "现在",
|
||||
},
|
||||
site: {
|
||||
title: 'Joey Z. - AI 全栈工程师',
|
||||
description: '专注复杂系统、产品交付与长期可维护性的 AI 全栈工程师',
|
||||
title: "Joey Z. - AI 全栈工程师",
|
||||
description: "专注复杂系统、产品交付与长期可维护性的 AI 全栈工程师",
|
||||
},
|
||||
hero: {
|
||||
greeting: '你好,我是',
|
||||
viewProjects: '查看项目',
|
||||
contactMe: '联系我',
|
||||
lookingForJob: '正在寻找前端/TS 全栈工程师(远程)?联系我!',
|
||||
digitalNomad: '探索自由职业道路,努力成为数字游民',
|
||||
contactInfo: '联系我',
|
||||
githubLink: 'GitHub 主页',
|
||||
linkedinLink: 'LinkedIn 主页',
|
||||
tagline: '全栈 + AI 产品构建者',
|
||||
ctaPrimary: '一起构建',
|
||||
ctaSecondary: '查看作品',
|
||||
greeting: "你好,我是",
|
||||
viewProjects: "查看项目",
|
||||
contactMe: "联系我",
|
||||
lookingForJob: "正在寻找前端/TS 全栈工程师(远程)?联系我!",
|
||||
digitalNomad: "探索自由职业道路,努力成为数字游民",
|
||||
contactInfo: "联系我",
|
||||
githubLink: "GitHub 主页",
|
||||
linkedinLink: "LinkedIn 主页",
|
||||
tagline: "全栈 + AI 产品构建者",
|
||||
ctaPrimary: "一起构建",
|
||||
ctaSecondary: "查看作品",
|
||||
},
|
||||
footer: {
|
||||
rights: '版权所有',
|
||||
rights: "版权所有",
|
||||
},
|
||||
project: {
|
||||
featured: "精选",
|
||||
@@ -227,151 +288,191 @@ export const translations = {
|
||||
all: "全部",
|
||||
},
|
||||
tag: {
|
||||
business: '商业项目',
|
||||
opensource: '开源项目',
|
||||
personal: '个人项目',
|
||||
portfolio: '作品集',
|
||||
ecommerce: '电子商务',
|
||||
business: "商业项目",
|
||||
opensource: "开源项目",
|
||||
personal: "个人项目",
|
||||
portfolio: "作品集",
|
||||
ecommerce: "电子商务",
|
||||
},
|
||||
type: {
|
||||
product: '产品',
|
||||
client: '客户项目',
|
||||
experiment: '实验',
|
||||
product: "产品",
|
||||
client: "客户项目",
|
||||
experiment: "实验",
|
||||
},
|
||||
status: {
|
||||
building: '开发中',
|
||||
completed: '已完成',
|
||||
archived: '已归档',
|
||||
building: "开发中",
|
||||
completed: "已完成",
|
||||
archived: "已归档",
|
||||
},
|
||||
role: '角色',
|
||||
impact: '成果',
|
||||
visit: '访问',
|
||||
demo: '在线演示',
|
||||
role: "角色",
|
||||
impact: "成果",
|
||||
visit: "访问",
|
||||
demo: "在线演示",
|
||||
},
|
||||
projects: {
|
||||
title: '我的项目',
|
||||
description: '这里展示了我最近的作品集,展现了创新解决方案和整洁的代码。请浏览下方了解每个项目的详细信息。',
|
||||
slogan: '用优雅的代码和创新的思维,为复杂问题打造精致的解决方案。',
|
||||
title: "我的项目",
|
||||
description:
|
||||
"这里展示了我最近的作品集,展现了创新解决方案和整洁的代码。请浏览下方了解每个项目的详细信息。",
|
||||
slogan: "用优雅的代码和创新的思维,为复杂问题打造精致的解决方案。",
|
||||
},
|
||||
blog: {
|
||||
slogan: '这里是创新思维与复杂问题相遇的地方。',
|
||||
backToList: '返回写作列表',
|
||||
slogan: "这里是创新思维与复杂问题相遇的地方。",
|
||||
backToList: "返回写作列表",
|
||||
},
|
||||
services: {
|
||||
title: '我能做什么',
|
||||
viewAll: '了解更多',
|
||||
title: "我能做什么",
|
||||
viewAll: "了解更多",
|
||||
},
|
||||
about: {
|
||||
title: '关于我',
|
||||
description: '了解更多关于我的背景、技能和经验',
|
||||
title: "关于我",
|
||||
description: "了解更多关于我的背景、技能和经验",
|
||||
intro: {
|
||||
title: '简介',
|
||||
content: '我是Joey Z., 一名Ts全栈工程师,也是本站的站长。\n\n热爱生活、阅读以及编程,寻找远程工作的机会,探索自由职业的可能性。\n喜欢自驾,去追寻那些美丽的风景,尝试新的事物。',
|
||||
belief: '我相信这里是想法变为现实的地方。我正在探索自由职业者之路,努力成为数字游民中的一员。',
|
||||
title: "简介",
|
||||
content:
|
||||
"我是Joey Z., 一名Ts全栈工程师,也是本站的站长。\n\n热爱生活、阅读以及编程,寻找远程工作的机会,探索自由职业的可能性。\n喜欢自驾,去追寻那些美丽的风景,尝试新的事物。",
|
||||
belief:
|
||||
"我相信这里是想法变为现实的地方。我正在探索自由职业者之路,努力成为数字游民中的一员。",
|
||||
},
|
||||
me: {
|
||||
title: '自我介绍 🧠',
|
||||
content: '在2016年一次偶然的机会中接触到了编程,以此为契机,开始了我的编程之旅,并在后续的自学之旅中爱上了编程,我喜欢用代码编写出一个个的网页、应用,分享给用户使用,这其中获得的成就感让我愈发着迷。梦想是成为一名终身编码者。',
|
||||
title: "自我介绍 🧠",
|
||||
content:
|
||||
"在2016年一次偶然的机会中接触到了编程,以此为契机,开始了我的编程之旅,并在后续的自学之旅中爱上了编程,我喜欢用代码编写出一个个的网页、应用,分享给用户使用,这其中获得的成就感让我愈发着迷。梦想是成为一名终身编码者。",
|
||||
},
|
||||
skills: {
|
||||
title: '我的技能 💪',
|
||||
description: '以下展示了我目前熟悉或精通的技术栈,以及正在/准备学习的技术栈。',
|
||||
title: "我的技能 💪",
|
||||
description:
|
||||
"以下展示了我目前熟悉或精通的技术栈,以及正在/准备学习的技术栈。",
|
||||
mastered: {
|
||||
title: '已掌握的技能',
|
||||
items: ['HTML、CSS、JavaScript', 'Vue.js、React.js、Node.js、uniApp、微信小程序等前端框架', 'TypeScript', 'MySQL、MongoDB', 'Linux、Git', '其他:Markdown、Docker、Kubernetes、Nginx、Apache等技术'],
|
||||
title: "已掌握的技能",
|
||||
items: [
|
||||
"HTML、CSS、JavaScript",
|
||||
"Vue.js、React.js、Node.js、uniApp、微信小程序等前端框架",
|
||||
"TypeScript",
|
||||
"MySQL、MongoDB",
|
||||
"Linux、Git",
|
||||
"其他:Markdown、Docker、Kubernetes、Nginx、Apache等技术",
|
||||
],
|
||||
},
|
||||
learning: {
|
||||
title: '正在/准备学习的技能',
|
||||
items: ['Python、Java、Go', 'Flutter、Dart', 'Swift、SwiftUI'],
|
||||
title: "正在/准备学习的技能",
|
||||
items: ["Python、Java、Go", "Flutter、Dart", "Swift、SwiftUI"],
|
||||
},
|
||||
},
|
||||
interests: {
|
||||
title: '兴趣爱好 🌈',
|
||||
title: "兴趣爱好 🌈",
|
||||
items: [
|
||||
{ title: '阅读', content: '喜欢阅读各种书籍,尤其是技术类书籍。' },
|
||||
{ title: '旅游', content: '喜欢去不同的地方看看,尤其是自驾游。' },
|
||||
{ title: '美食', content: '喜欢吃各种美食,尤其是火锅。' },
|
||||
{ title: '手游', content: '喜欢玩英雄联盟、王者荣耀、绝地求生等手游。' },
|
||||
{ title: "阅读", content: "喜欢阅读各种书籍,尤其是技术类书籍。" },
|
||||
{ title: "旅游", content: "喜欢去不同的地方看看,尤其是自驾游。" },
|
||||
{ title: "美食", content: "喜欢吃各种美食,尤其是火锅。" },
|
||||
{
|
||||
title: "手游",
|
||||
content: "喜欢玩英雄联盟、王者荣耀、绝地求生等手游。",
|
||||
},
|
||||
],
|
||||
},
|
||||
contact: {
|
||||
title: '联系我 📫',
|
||||
warning: '由于大家的时间都很宝贵,所以请在联系我时添加备注,如:合作、咨询、项目需求等,不予备注的我可能不会回复或直接忽略,谢谢合作!',
|
||||
title: "联系我 📫",
|
||||
warning:
|
||||
"由于大家的时间都很宝贵,所以请在联系我时添加备注,如:合作、咨询、项目需求等,不予备注的我可能不会回复或直接忽略,谢谢合作!",
|
||||
methods: [
|
||||
{ label: '邮箱', value: '2770723534@qq.com', icon: 'mail', link: 'mailto:2770723534@qq.com' },
|
||||
{ label: '邮箱(备用)', value: 'zhaoguiyang18@outlook.com', icon: 'mail', link: 'mailto:zhaoguiyang18@outlook.com' },
|
||||
{ label: '微信', value: 'Joey_Zhao_dev', icon: 'wechat' },
|
||||
{ label: 'Telegram', value: 'joey_zgy', icon: 'send', link: 'https://t.me/joey_zgy' },
|
||||
{
|
||||
label: "邮箱",
|
||||
value: "zhaoguiyang18@outlook.com",
|
||||
icon: "mail",
|
||||
link: "mailto:zhaoguiyang18@outlook.com",
|
||||
},
|
||||
{ label: "微信", value: "Joey_Zhao_dev", icon: "wechat" },
|
||||
{
|
||||
label: "Telegram",
|
||||
value: "joey_zgy",
|
||||
icon: "send",
|
||||
link: "https://t.me/joey_zgy",
|
||||
},
|
||||
],
|
||||
},
|
||||
socials: {
|
||||
title: '社区与媒体 🌐',
|
||||
title: "社区与媒体 🌐",
|
||||
items: [
|
||||
{ label: 'GitHub', value: 'github.com/zhaoguiyang', icon: 'github', link: 'https://github.com/zhaoguiyang' },
|
||||
{ label: 'Blog', value: 'zhaoguiyang.site', icon: 'globe', link: 'https://zhaoguiyang.site' },
|
||||
{
|
||||
label: "GitHub",
|
||||
value: "github.com/zhaoguiyang",
|
||||
icon: "github",
|
||||
link: "https://github.com/zhaoguiyang",
|
||||
},
|
||||
{
|
||||
label: "Blog",
|
||||
value: "zhaoguiyang.site",
|
||||
icon: "globe",
|
||||
link: "https://zhaoguiyang.site",
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
home: {
|
||||
hero: {
|
||||
eyebrow: '个人品牌',
|
||||
summary: '我专注于打造可靠且有业务价值的数字产品,兼顾工程质量、产品思维与 AI 实践落地。',
|
||||
ctaPrimary: '了解我',
|
||||
ctaSecondary: '合作咨询',
|
||||
terminalStatus: '可远程合作,开放全职与项目机会',
|
||||
eyebrow: "个人品牌",
|
||||
summary:
|
||||
"我专注于打造可靠且有业务价值的数字产品,兼顾工程质量、产品思维与 AI 实践落地。",
|
||||
ctaPrimary: "了解我",
|
||||
ctaSecondary: "合作咨询",
|
||||
terminalStatus: "可远程合作,开放全职与项目机会",
|
||||
},
|
||||
trust: {
|
||||
item1: '支持远程协作',
|
||||
item2: '擅长异步协作流程',
|
||||
item3: '产品与工程双视角',
|
||||
item4: '稳定可预期的交付节奏',
|
||||
item1: "支持远程协作",
|
||||
item2: "擅长异步协作流程",
|
||||
item3: "产品与工程双视角",
|
||||
item4: "稳定可预期的交付节奏",
|
||||
},
|
||||
metrics: {
|
||||
item1: '重视长期可维护的产品质量',
|
||||
item2: '核心技术栈 TypeScript / React / Node.js',
|
||||
item3: '具备 AI 产品化与工程化经验',
|
||||
item4: '可承接项目合作与全职机会',
|
||||
item1: "重视长期可维护的产品质量",
|
||||
item2: "核心技术栈 TypeScript / React / Node.js",
|
||||
item3: "具备 AI 产品化与工程化经验",
|
||||
item4: "可承接项目合作与全职机会",
|
||||
},
|
||||
services: {
|
||||
eyebrow: '可交付能力',
|
||||
title: '服务方向',
|
||||
description: '从技术方案到落地交付,提供务实可靠的支持。',
|
||||
eyebrow: "可交付能力",
|
||||
title: "服务方向",
|
||||
description: "从技术方案到落地交付,提供务实可靠的支持。",
|
||||
},
|
||||
career: {
|
||||
eyebrow: '履历速览',
|
||||
title: '关键经历',
|
||||
description: '当前为布局示例数据,后续可替换为你的真实履历。',
|
||||
cta: '查看完整履历',
|
||||
eyebrow: "履历速览",
|
||||
title: "关键经历",
|
||||
description: "当前为布局示例数据,后续可替换为你的真实履历。",
|
||||
cta: "查看完整履历",
|
||||
card1: {
|
||||
period: '2024 — 至今',
|
||||
title: 'AI 产品构建者 · 独立开发',
|
||||
outcome: '围绕 AI 场景进行产品探索与快速原型迭代,持续验证方向与可行性。',
|
||||
period: "2024 — 至今",
|
||||
title: "AI 产品构建者 · 独立开发",
|
||||
outcome:
|
||||
"围绕 AI 场景进行产品探索与快速原型迭代,持续验证方向与可行性。",
|
||||
},
|
||||
card2: {
|
||||
period: '2021 — 2024',
|
||||
title: '高级前端工程师 · 远程团队',
|
||||
outcome: '负责核心前端模块建设,通过可复用架构提升团队交付效率与稳定性。',
|
||||
period: "2021 — 2024",
|
||||
title: "高级前端工程师 · 远程团队",
|
||||
outcome:
|
||||
"负责核心前端模块建设,通过可复用架构提升团队交付效率与稳定性。",
|
||||
},
|
||||
card3: {
|
||||
period: '2018 — 2021',
|
||||
title: '全栈工程师 · 成长期团队',
|
||||
outcome: '完成多项面向用户的功能交付,覆盖前后端协作并支撑产品稳定增长。',
|
||||
period: "2018 — 2021",
|
||||
title: "全栈工程师 · 成长期团队",
|
||||
outcome:
|
||||
"完成多项面向用户的功能交付,覆盖前后端协作并支撑产品稳定增长。",
|
||||
},
|
||||
},
|
||||
featured: {
|
||||
eyebrow: '代表作品',
|
||||
title: '精选项目',
|
||||
challenge: '挑战',
|
||||
approach: '方案',
|
||||
outcome: '结果',
|
||||
ctaPrimary: '查看项目',
|
||||
ctaSecondary: '了解合作方式',
|
||||
eyebrow: "代表作品",
|
||||
title: "精选项目",
|
||||
challenge: "挑战",
|
||||
approach: "方案",
|
||||
outcome: "结果",
|
||||
ctaPrimary: "查看项目",
|
||||
ctaSecondary: "了解合作方式",
|
||||
},
|
||||
final: {
|
||||
title: '期待长期且有价值的合作',
|
||||
description: '如果你也在构建高质量产品,并需要稳定执行与协作,我很乐意进一步沟通。',
|
||||
ctaPrimary: '进一步了解我',
|
||||
ctaSecondary: '发起沟通',
|
||||
title: "期待长期且有价值的合作",
|
||||
description:
|
||||
"如果你也在构建高质量产品,并需要稳定执行与协作,我很乐意进一步沟通。",
|
||||
ctaPrimary: "进一步了解我",
|
||||
ctaSecondary: "发起沟通",
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -383,31 +484,31 @@ export const translations = {
|
||||
*/
|
||||
export function generateFlatTranslations() {
|
||||
const flattenedTranslations: Record<string, Record<string, string>> = {};
|
||||
|
||||
|
||||
// Initialize for each language
|
||||
Object.keys(translations).forEach(lang => {
|
||||
Object.keys(translations).forEach((lang) => {
|
||||
flattenedTranslations[lang] = {};
|
||||
});
|
||||
|
||||
|
||||
// Recursive function to flatten nested objects
|
||||
function flatten(obj: any, lang: string, prefix = '') {
|
||||
function flatten(obj: any, lang: string, prefix = "") {
|
||||
for (const key in obj) {
|
||||
const value = obj[key];
|
||||
const newKey = prefix ? `${prefix}.${key}` : key;
|
||||
|
||||
if (typeof value === 'object' && value !== null) {
|
||||
|
||||
if (typeof value === "object" && value !== null) {
|
||||
flatten(value, lang, newKey);
|
||||
} else {
|
||||
flattenedTranslations[lang][newKey] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Process each language
|
||||
Object.keys(translations).forEach(lang => {
|
||||
Object.keys(translations).forEach((lang) => {
|
||||
flatten(translations[lang as keyof typeof translations], lang);
|
||||
});
|
||||
|
||||
|
||||
return flattenedTranslations;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,64 +1,54 @@
|
||||
import type { ContactIntent, ContactMethod } from '@/types';
|
||||
import type { ContactIntent, ContactMethod } from "@/types";
|
||||
|
||||
export const contactIntents: ContactIntent[] = [
|
||||
{
|
||||
id: 'role-opportunity',
|
||||
id: "role-opportunity",
|
||||
title: {
|
||||
en: 'Role Opportunity',
|
||||
zh: '岗位机会沟通',
|
||||
en: "Role Opportunity",
|
||||
zh: "岗位机会沟通",
|
||||
},
|
||||
description: {
|
||||
en: 'Open to senior frontend/full-stack roles where architecture and execution quality matter.',
|
||||
zh: '欢迎资深前端/全栈岗位沟通,偏好重视架构与交付质量的团队。',
|
||||
en: "Open to senior frontend/full-stack roles where architecture and execution quality matter.",
|
||||
zh: "欢迎资深前端/全栈岗位沟通,偏好重视架构与交付质量的团队。",
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 'case-collaboration',
|
||||
id: "case-collaboration",
|
||||
title: {
|
||||
en: 'Case Collaboration',
|
||||
zh: '专项协作讨论',
|
||||
en: "Case Collaboration",
|
||||
zh: "专项协作讨论",
|
||||
},
|
||||
description: {
|
||||
en: 'Best for a scoped module, architecture upgrade, or technical diagnosis with clear goals.',
|
||||
zh: '适用于目标清晰的模块建设、架构升级或技术诊断类协作。',
|
||||
en: "Best for a scoped module, architecture upgrade, or technical diagnosis with clear goals.",
|
||||
zh: "适用于目标清晰的模块建设、架构升级或技术诊断类协作。",
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 'knowledge-exchange',
|
||||
id: "knowledge-exchange",
|
||||
title: {
|
||||
en: 'Knowledge Exchange',
|
||||
zh: '内容与经验交流',
|
||||
en: "Knowledge Exchange",
|
||||
zh: "内容与经验交流",
|
||||
},
|
||||
description: {
|
||||
en: 'Happy to discuss engineering practice, AI workflow experiments, or case-study insights.',
|
||||
zh: '欢迎交流工程实践、AI 协作实验与案例复盘经验。',
|
||||
en: "Happy to discuss engineering practice, AI workflow experiments, or case-study insights.",
|
||||
zh: "欢迎交流工程实践、AI 协作实验与案例复盘经验。",
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
export const contactMethods: ContactMethod[] = [
|
||||
{
|
||||
label: { en: 'Phone', zh: '电话' },
|
||||
value: '18190678380',
|
||||
href: 'tel:18190678380',
|
||||
label: { en: "Email (Secondary)", zh: "邮箱(备用)" },
|
||||
value: "zhaoguiyang18@outlook.com",
|
||||
href: "mailto:zhaoguiyang18@outlook.com",
|
||||
},
|
||||
{
|
||||
label: { en: 'Email', zh: '邮箱' },
|
||||
value: '2770723534@qq.com',
|
||||
href: 'mailto:2770723534@qq.com',
|
||||
label: { en: "WeChat", zh: "微信" },
|
||||
value: "Joey_Zhao_dev",
|
||||
},
|
||||
{
|
||||
label: { en: 'Email (Secondary)', zh: '邮箱(备用)' },
|
||||
value: 'zhaoguiyang18@outlook.com',
|
||||
href: 'mailto:zhaoguiyang18@outlook.com',
|
||||
},
|
||||
{
|
||||
label: { en: 'WeChat', zh: '微信' },
|
||||
value: 'Joey_Zhao_dev',
|
||||
},
|
||||
{
|
||||
label: { en: 'Telegram', zh: 'Telegram' },
|
||||
value: 'joey_zgy',
|
||||
href: 'https://t.me/joey_zgy',
|
||||
label: { en: "Telegram", zh: "Telegram" },
|
||||
value: "joey_zgy",
|
||||
href: "https://t.me/joey_zgy",
|
||||
},
|
||||
];
|
||||
|
||||
@@ -1,47 +1,47 @@
|
||||
import type { PersonalInfo } from '@/types';
|
||||
import type { PersonalInfo } from "@/types";
|
||||
|
||||
export const personalInfo: PersonalInfo = {
|
||||
name: 'Joey Z.',
|
||||
location: 'Chengdu, China',
|
||||
avatar: 'https://avatars.githubusercontent.com/u/24975063?v=4',
|
||||
email: '2770723534@qq.com',
|
||||
github: 'https://github.com/zguiyang',
|
||||
linkedin: '',
|
||||
website: 'https://zhaoguiyang.com',
|
||||
twitter: '',
|
||||
name: "Joey Z.",
|
||||
location: "Chengdu, China",
|
||||
avatar: "https://avatars.githubusercontent.com/u/24975063?v=4",
|
||||
email: "zhaoguiyang18@outlook.com",
|
||||
github: "https://github.com/zguiyang",
|
||||
linkedin: "",
|
||||
website: "https://zhaoguiyang.com",
|
||||
twitter: "",
|
||||
position: {
|
||||
en: 'AI Full-stack Engineer',
|
||||
zh: 'AI 全栈工程师',
|
||||
en: "AI Full-stack Engineer",
|
||||
zh: "AI 全栈工程师",
|
||||
},
|
||||
description: {
|
||||
en: '8 years building enterprise systems, financial platforms, and blockchain infrastructure. Focused on architecture discipline, delivery quality, and long-term maintainability.',
|
||||
zh: '8 年企业系统、金融平台与区块链基础设施研发经验,关注架构纪律、交付质量与长期可维护性。',
|
||||
en: "8 years building enterprise systems, financial platforms, and blockchain infrastructure. Focused on architecture discipline, delivery quality, and long-term maintainability.",
|
||||
zh: "8 年企业系统、金融平台与区块链基础设施研发经验,关注架构纪律、交付质量与长期可维护性。",
|
||||
},
|
||||
about: {
|
||||
en: [
|
||||
'I build reliable web systems with clear module boundaries and strong delivery ownership.',
|
||||
'My core experience comes from enterprise, fintech, and blockchain product domains.',
|
||||
'I use this site as an evolving knowledge base of projects, decisions, and practical learnings.',
|
||||
"I build reliable web systems with clear module boundaries and strong delivery ownership.",
|
||||
"My core experience comes from enterprise, fintech, and blockchain product domains.",
|
||||
"I use this site as an evolving knowledge base of projects, decisions, and practical learnings.",
|
||||
],
|
||||
zh: [
|
||||
'我专注构建稳定、可维护、可扩展的 Web 系统,并对交付结果负责。',
|
||||
'核心经验来自企业级、金融科技与区块链产品场景。',
|
||||
'我把这个网站当作持续更新的公开工作台,记录案例、方法与实践复盘。',
|
||||
"我专注构建稳定、可维护、可扩展的 Web 系统,并对交付结果负责。",
|
||||
"核心经验来自企业级、金融科技与区块链产品场景。",
|
||||
"我把这个网站当作持续更新的公开工作台,记录案例、方法与实践复盘。",
|
||||
],
|
||||
},
|
||||
stats: {
|
||||
repositories: 152,
|
||||
commits: '42K',
|
||||
commits: "42K",
|
||||
contributions: 87,
|
||||
},
|
||||
skills: {
|
||||
frontend: ['TypeScript', 'React', 'Vue', 'Astro'],
|
||||
backend: ['Node.js', 'NestJS', 'Fastify'],
|
||||
database: ['PostgreSQL', 'MySQL', 'MongoDB'],
|
||||
devops: ['Linux', 'Git', 'Docker', 'CI/CD', 'Jenkins', 'Nginx'],
|
||||
mobile: ['React Native', 'Flutter'],
|
||||
frontend: ["TypeScript", "React", "Vue", "Astro"],
|
||||
backend: ["Node.js", "NestJS", "Fastify"],
|
||||
database: ["PostgreSQL", "MySQL", "MongoDB"],
|
||||
devops: ["Linux", "Git", "Docker", "CI/CD", "Jenkins", "Nginx"],
|
||||
mobile: ["React Native", "Flutter"],
|
||||
},
|
||||
terminal: {
|
||||
username: 'joy@engineer',
|
||||
username: "joy@engineer",
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user