diff --git a/package.json b/package.json
index 11c85f1e..d42e39d0 100644
--- a/package.json
+++ b/package.json
@@ -12,7 +12,8 @@
"build": "node --loader ts-node/esm/transpile-only scripts/build.ts",
"build-preview": "yarn build && scripts/preview.sh",
"serve": "http-server --cors='*' dist",
- "preview": "yarn build-preview && yarn serve"
+ "preview": "yarn build-preview && yarn serve",
+ "translate": "node --loader ts-node/esm/transpile-only scripts/translate.ts"
},
"dependencies": {
"@andreekeberg/imagedata": "^1.0.2",
@@ -20,10 +21,12 @@
"@swc/core": "^1.3.17",
"@types/fs-extra": "^11.0.1",
"@types/node": "^20",
+ "args-parser": "^1.3.0",
"autocorrect-node": "^2.5.5",
"blurhash": "^2.0.5",
"esbuild": "^0.18.10",
"fs-extra": "^11.1.0",
+ "google-translate-api-x": "^10.7.1",
"js-yaml": "^4.1.0",
"katex": "^0.16.10",
"markdown-yaml-metadata-parser": "^3.0.0",
diff --git a/people/Susiethegamer/info.yml b/people/Susiethegamer/info.yml
new file mode 100644
index 00000000..ea8810ad
--- /dev/null
+++ b/people/Susiethegamer/info.yml
@@ -0,0 +1,8 @@
+id: Susiethegamer
+profileUrl: ${path}/photos/profile.png
+info:
+ born: '2007-01-04'
+ died: '2024-11-08'
+websites:
+ twitter: https://twitter.com/JR_YamanoteE235
+ Bilibili: https://space.bilibili.com/354873814
diff --git a/people/Susiethegamer/page.en.md b/people/Susiethegamer/page.en.md
new file mode 100644
index 00000000..e073b68d
--- /dev/null
+++ b/people/Susiethegamer/page.en.md
@@ -0,0 +1,141 @@
+---
+name: Susie
+info:
+ alias: Susie
+ location: Changsha, Hunan
+---
+
+## Memories
+
+Susie was a sweet and cheerful trans girl with a love for *Arknights*,
+particularly for the character Goldenglow (operator's real name: Susie Glitter).
+She had a passion for video games. These inspired her username - *Susiethegamer*.
+
+Susie and her best friend Nekomaki, who was like a sister to her, often played games together.
+Among her favourites was *The Finals*, although she would occasionally grow dizzy in the 3D environment.
+Then she would switched to play *Rainbow Six Siege*, a favourite of her sister.
+In R6s, Susie had a charming clumsiness that made her all the more endearing.
+
+After their gaming sessions, the two sisters would often sing *Yorushika* songs together on Discord, Susie adored their music very much.
+Nekomaki had a habit of waking up late, and when she got up, she always found Susie already waiting for her on Discord.
+
+Susie had a knack for fashion and a soft spot for Uniqlo clothes.
+She loved sharing her outfits with her sister.
+Although she looks a bit chubby, she was very lovely — the kind of adorable person you just want to pinch her cheeks.
+She dreamed of cosplaying Goldenglow once she slimmed down.
+
+When asked if she’d prefer studying in the UK or Singapore, she chose Singapore, where her sister was residing.
+
+> “I’ll be waiting for you in May. Come live with me, and we’ll work on making you feel better.”
+>
+> – Nekomaki
+
+In 2023, Susie received an offer from a university in the US. but couldn’t attend due to her mental health struggles.
+She later expressed a stronger desire to go to Japan instead.
+
+Susie had long wrestled with severe suicidal thoughts.
+Though her friends rarely mentioned it openly, they kept a close eye on her carefully.
+
+In April 2024, Susie and some friends visited Snowfairy, who was studying at a language school in Japan.
+Their days together were joyful, filled with laughter.
+
+
+
+*(Photos from Susie’s trip to Shibuya, Shinjuku, and Ikebukuro)*
+
+Susie attempted suicide by lying on the tracks during her time in Japan.
+At that moment, Snowfairy was frantic and wanted to rush to Kawagoe in the middle of the night.
+However, due to her own fragile state of mind, Snowfairy had to rely on other friends in Japan for help.
+Fortunately, nothing serious happened in the end.
+
+> “When it was time to say goodbye, she clung to me tightly. I hugged her back, thinking, next time, I’ll take her to more wonderful places and introduce her to my favourite restaurants.”
+>
+> – Snowfairy
+
+Back in China, Susie frequently spoke of her longing to live and study in Japan.
+Snowfairy even recommended scenic spots for her to visit.
+
+Later, Susie's mental state visibly began to deteriorate visibly.
+During this time, she had several suicidal attempts,
+but Snowfairy was always quick to notice and reach out to many people for help,
+which helped prevent any tragedies from occurring.
+
+In her final days, Susie stopped playing games, gave away many of her belongings, even including her computer.
+Nekomaki did not foresee the outcome at that moment,
+as Susie had been persuaded out of previous suicide attempts,
+such as overdosing and jumping off a building.
+She thought this time would be no different.
+
+
+
+In her previous tweet,
+she was sharing photos of her treasured collections (looking back now, it seems to have been a final display, perhaps a way of reminiscing about the past),
+but her next tweet was a message about taking the drugs and leaving us.
+
+For various reasons, the local police were unable to find her in time, and by then, it was already too late.
+
+> The last time I saw Susie, she was a lively and energetic trans girl as ever, but at the funeral, all I could do was watch as her cold, small casket.
+
+## Farewell
+
+> Until we meet again, Susie.
+>
+> 一緒に遊ぼう、いつまでも。
+
+
+
+Drunk on sorrow, tears clouding her fevered sleep,
+Old memories stir in dreams, fleeting and brief.
+Waking in tears, still yearning for the past.
+We met in haste, never to meet again.
+
+Upon waking, Susie's wallpaper still blinks,
+and memories flood in with the tears,
+The gamer Susie who loved video games will never return.
+
+No more chats on Discord.
+
+No more games of *Rainbow Six Siege* or *The Finals*.
+
+---
+
+> The moon lingered on the wayfarer's hall,
+>
+> Sea wind nested in the strand’s fiery pall.
+>
+> Once we, under southern sky’s glorious pane
+>
+> weaved words of joy that never shall wane.
+>
+> So bright now, another moon, mirror of a stranger
+>
+> who can’t rhyme more, but hears the murmur
+>
+> of fearsome cloud and rapids.
+>
+> White lilac of barren string
+>
+> Guard her from snow 'round the unforgiving stars.
+
+The meeting and embrace at Shinagawa Station feel as if it were yesterday,
+And the izakaya we visited that night often flickers in my mind.
+
+The heavens are cold, may fairies clear the snow and ice from Susie's path,
+so she may travel warmly to the heaven.
+
+Susie, may you be free from all burdens in your next life.
+May your wishes come true in a kinder world.
+
+Contributors for this entry: [Nekomaki](https://twitter.com/nekomakiQAQ), [Snowfairy](https://twitter.com/snowfairy011026), One-Among-Us, Rinko (translator for poem)
diff --git a/people/Susiethegamer/page.md b/people/Susiethegamer/page.md
new file mode 100644
index 00000000..b8dff1c9
--- /dev/null
+++ b/people/Susiethegamer/page.md
@@ -0,0 +1,90 @@
+---
+name: Susie
+info:
+ alias: 小澄闪
+ location: 湖南长沙
+---
+
+## 往事
+
+Susie 是一个可爱的跨性别女孩,非常喜欢《明日方舟》里的澄闪(本名为 Susie Glitter),她还喜欢很多很多电子游戏,这便是她曾常用的 ID - Susiethegamer 的由来。
+
+她经常和她的姐姐猫卷一起打游戏,她喜欢玩 THE FINALS,但她好像有点晕 3D,总是打着打着就不打了,然后就与姐姐一同玩姐姐喜欢的彩虹六号。Susie 在玩 R6 时,总显得有些呆呆的,非常惹人喜欢呢。
+
+打完游戏,她们还经常一起在 Discord 里唱 Yorushika 的歌,她特别喜欢 Yorushika。姐姐早上起得稍晚,一起床就看到 Susie 在 Discord 里等她。
+
+Susie 特别喜欢优衣库的衣服,经常买衣服,穿搭还很好看。她总是发自己的穿搭给姐姐看,虽然她看起来有些肉肉的,但是非常可爱,是属于让人看起来就像捏一把的那种。她还说,等自己瘦下来,就出澄闪的 cos。
+
+她的姐姐目前常居新加坡。有一天,Susie 的母亲问,她的母亲问她,是更想去英国还是新加坡读书呀。她说新加坡。
+
+姐姐对 Susie 说:
+
+> 我会等你哦,五月份你一定要来,我们可以住一起,我会让你的精神状态变好的。
+
+在 2023 年,Susie 拿到了美国大学的 offer,但由于精神原因未能成行,而据她本人所说,她更喜欢去日本。
+
+Susie 一直有着较强的自杀欲望,大家虽然没说什么,但一直都在密切关注着她的状态。
+
+2024 年 4 月至 5 月,Susie 和她的朋友到日本看望当时还在读语言学校的雪仙。在相处的那几天,大家都非常开心。
+
+
+
+(Susie 在涩谷、新宿、池袋时拍摄的照片)
+
+尽管在日本期间,Susie 闹出过一次轻生的事情,差点卧轨。雪仙当时非常着急,急着想要半夜打车冲到川越,但由于精神状态不佳,只能委托其他在日友人,但好在最后没有出事。
+
+> 在告别的时候,她一直要抱我,我也抱了回去,我想说,下次有机会,再带她去玩更多好玩的地方,我还想了好几家好吃的饭店准备介绍给她。
+>
+> —— 雪仙
+
+在 Susie 从日本回到中国之后,她就经常说想要到日本学习和生活。后来,雪仙还给她推荐了她工作地方的一些好景点。
+
+后来,Susie 的精神状态突然开始肉眼可见地下滑,期间还发生了几次想要轻生的想法,每次雪仙都及时发现并联络了大量人员。
+
+直到最后那一次,Susie 游戏也不玩了,电脑还有许多东西也都送人了。猫卷姐姐那时也没想到结局,因为前几次闹自杀 OD 跳楼都被她劝回来了,因此「这次」应该也不会有什么大事。
+
+前一条推文,她还在晒自己的收藏品(现在看来,那可能是最后的走马灯,在回忆过去吧),后一条推文就是服药离开的信息。由于各种原因,当地警方未能及时找到她,一切都已无济于事。
+
+上次见到 Susie 时还是活蹦乱跳的小跨妹,葬礼上却只能目送冷冰冰的小盒子了……
+
+## 追忆
+
+> Until we meet again, Susie.
+>
+> 一緒に遊ぼう、いつまでも
+
+醉哀掩泣,高烧不退,梦中旧忆,匆匆相见。
+
+惊醒之时,给 Susie 的壁纸还在眨眼睛,那些记忆在泪水中如潮水般涌来,那个喜欢玩电子游戏的 Susie 却不再回来了。
+
+世上少了一个在 Discord 中等姐姐聊天的人。
+
+少了一个一起打彩虹六号和 THE FINALS 的人。
+
+---
+
+> 夜半华南江岸夜,桐花驿站风清。
+>
+> 三人聚首伴诗情。初逢君亦乐,言语到天明。
+>
+> 筑后千山传恶报,惊闻已失悲声。
+>
+> 品川订誓忍难行。长空如有意,神使破寒冰。
+
+品川站的见面和拥抱如在昨日,那晚的居酒屋也常从眼前闪过。
+
+天上冷,愿天使能帮忙除去 Susie 路上的冰雪,让她温暖地抵达仙界。
+
+Susie,愿你来生再无挂碍,心想事成。
+
+条目贡献: [Lumi猫卷](https://twitter.com/nekomakiQAQ), [雪仙 Snowfairy](https://twitter.com/snowfairy011026), One-Among-Us
diff --git a/people/Susiethegamer/page.zh_hant.md b/people/Susiethegamer/page.zh_hant.md
new file mode 100644
index 00000000..3721d217
--- /dev/null
+++ b/people/Susiethegamer/page.zh_hant.md
@@ -0,0 +1,90 @@
+---
+name: Susie
+info:
+ alias: 小澄閃
+ location: 湖南長沙
+---
+
+## 往事
+
+Susie 是一個可愛的跨性別女孩, 非常喜歡《明日方舟》裡的澄閃 (本名為 Susie Glitter), 她還喜歡很多很多電子遊戲, 這便是她曾常用的 ID - Susiethegamer 的由來.
+
+她經常和她的姐姐貓卷一起打遊戲,她喜歡玩 THE FINALS,但她好像有點暈 3D,總是打著打著就不打了,然後就與姐姐一同玩姐姐喜歡的虹彩六號。Susie 在遊玩 R6 時,總顯得有些呆呆的,非常惹人喜歡呢。
+
+打完遊戲,她們也常一起在 Discord 裡唱 Yorushika 的歌,她特別喜歡 Yorushika。姐姐早上起得稍晚,一起床就看到 Susie 在 Discord 裡等她。
+
+Susie 特別喜歡優衣庫的衣服,常常買衣服,穿搭還很好看。她總是發自己的穿搭給姐姐看,雖然她看起來有些肉肉的,但是非常可愛,是屬於讓人看起來就像捏一把的那種。她還說,等自己瘦下來,就出澄閃的 cos。
+
+她的姐姐目前常居新加坡。有一天,Susie 的母親問,她的母親問她,是更想去英國還是新加坡讀書呀。她說新加坡。
+
+姐姐對 Susie 說:
+
+> 我會等你哦,五月你一定要來,我們可以住一起,我會讓你的精神狀態變好的。
+
+在 2023 年,Susie 拿到了美國大學的 offer,但由於精神原因未能成行,而據她本人所說,她更喜歡去日本。
+
+Susie 一直有著較強的自殺慾望,大家雖然沒說什麼,但一直都在密切關注著她的狀態。
+
+2024 年 4 月至 5 月,Susie 和她的朋友到日本探望當時還在讀語言學校的雪仙。在相處的那幾天,大家都很開心。
+
+
+
+(Susie 在澀谷, 新宿, 池袋時拍攝的相片)
+
+儘管在日本期間,Susie 鬧出過一次輕生的事情,差點臥軌。雪仙當時非常著急,急著想要半夜搭計程車衝到川越,但由於精神狀態不佳,只能委託其他在日友人,但好在最後沒有出事。
+
+> 在告別的時候, 她一直要抱我, 我也抱了回去, 我想說, 下次有機會, 再帶她去玩更多好玩的地方, 我還想了好幾家好吃的飯店準備介紹給她。
+>
+> —— 雪仙
+
+在 Susie 從日本回到中國之後,她經常說想要到日本學習和生活。後來,雪仙還推薦了她工作地方的一些好景點給她。
+
+後來,Susie 的精神狀態突然開始肉眼可見地下滑,期間還發生了幾次想要輕生的想法,每次雪仙都及時發現並聯絡了大量人員。
+
+直到最後那一次,Susie 遊戲也不玩了,電腦上還有許多東西也都送人了。貓卷姐姐那時也沒想到結局,因為前幾次鬧自殺 OD 跳樓都被她勸回來了,因此「這次」應該也不會有什麼大事。
+
+前一則推文,她還在曬自己的收藏品(現在看來,那可能是最後的走馬燈,在回憶過去吧),後一則推文就是服藥離開的訊息。由於各種原因,當地警方未能及時找到她,一切都已無濟於事。
+
+上次見到 Susie 時還是活蹦亂跳的小跨妹,葬禮上卻只能目送冷冰冰的小盒子了…
+
+## 追憶
+
+> Until we meet again, Susie.
+>
+> 一緒に遊ぼう、いつまでも
+
+醉哀掩泣,高燒不退,夢中舊憶,匆匆相見。
+
+驚醒之時,給 Susie 的壁紙還在眨眼睛,那些記憶在淚水中如潮水般湧來,那個喜歡玩電子遊戲的 Susie 卻不再回來了。
+
+世上少了一個在 Discord 中等姐姐聊天的人。
+
+少了一個一起打虹彩六號和 THE FINALS 的人。
+
+---
+
+> 夜半華南江岸夜,桐花驛站風清。
+>
+> 三人聚首伴詩情。初逢君亦樂,言語到天明。
+>
+> 築後千山傳惡報,驚聞已失悲聲。
+>
+> 品川訂誓忍難行。長空如有意,神使破寒冰。
+
+品川站的見面和擁抱如在昨日,那晚的居酒屋也常從眼前閃過。
+
+天上冷,願天使能幫忙除去 Susie 路上的冰雪,讓她溫暖地抵達仙界。
+
+Susie,願你來生再無阻礙,心想事成。
+
+條目貢獻:[Lumi猫卷](https://twitter.com/nekomakiQAQ), [雪仙 Snowfairy](https://twitter.com/snowfairy011026), One-Among-Us
diff --git a/people/Susiethegamer/photos/photo1.PNG b/people/Susiethegamer/photos/photo1.PNG
new file mode 100644
index 00000000..b1029198
Binary files /dev/null and b/people/Susiethegamer/photos/photo1.PNG differ
diff --git a/people/Susiethegamer/photos/photo2.PNG b/people/Susiethegamer/photos/photo2.PNG
new file mode 100644
index 00000000..96490bdf
Binary files /dev/null and b/people/Susiethegamer/photos/photo2.PNG differ
diff --git a/people/Susiethegamer/photos/photo3.PNG b/people/Susiethegamer/photos/photo3.PNG
new file mode 100644
index 00000000..a390be19
Binary files /dev/null and b/people/Susiethegamer/photos/photo3.PNG differ
diff --git a/people/Susiethegamer/photos/photo4.PNG b/people/Susiethegamer/photos/photo4.PNG
new file mode 100644
index 00000000..0fd41a10
Binary files /dev/null and b/people/Susiethegamer/photos/photo4.PNG differ
diff --git a/people/Susiethegamer/photos/photo5.PNG b/people/Susiethegamer/photos/photo5.PNG
new file mode 100644
index 00000000..97ce1333
Binary files /dev/null and b/people/Susiethegamer/photos/photo5.PNG differ
diff --git a/people/Susiethegamer/photos/photo6.PNG b/people/Susiethegamer/photos/photo6.PNG
new file mode 100644
index 00000000..1471c042
Binary files /dev/null and b/people/Susiethegamer/photos/photo6.PNG differ
diff --git a/people/Susiethegamer/photos/photo7.PNG b/people/Susiethegamer/photos/photo7.PNG
new file mode 100644
index 00000000..165e7f71
Binary files /dev/null and b/people/Susiethegamer/photos/photo7.PNG differ
diff --git a/people/Susiethegamer/photos/photo8.PNG b/people/Susiethegamer/photos/photo8.PNG
new file mode 100644
index 00000000..b280033f
Binary files /dev/null and b/people/Susiethegamer/photos/photo8.PNG differ
diff --git a/people/Susiethegamer/photos/photo9.PNG b/people/Susiethegamer/photos/photo9.PNG
new file mode 100644
index 00000000..ff48d916
Binary files /dev/null and b/people/Susiethegamer/photos/photo9.PNG differ
diff --git a/people/Susiethegamer/photos/profile.png b/people/Susiethegamer/photos/profile.png
new file mode 100644
index 00000000..5378f109
Binary files /dev/null and b/people/Susiethegamer/photos/profile.png differ
diff --git a/scripts/translate.ts b/scripts/translate.ts
new file mode 100644
index 00000000..88b4e497
--- /dev/null
+++ b/scripts/translate.ts
@@ -0,0 +1,38 @@
+import url from "url";
+import path from "path";
+import fs from "fs-extra";
+import Parse from 'args-parser'
+import translate from "google-translate-api-x";
+
+const PEOPLE_DIR = 'people'
+
+const projectRoot = path.dirname(path.dirname(url.fileURLToPath(import.meta.url)));
+const peopleDir = path.join(projectRoot, PEOPLE_DIR);
+
+type lang = 'zh-CN' | 'en' | 'zh-TW'
+
+const m = {
+ 'zh-CN': '',
+ 'en': '.en',
+ 'zh-TW': '.zh_hant'
+}
+
+const args = Parse(process.argv)
+
+console.log(args)
+
+async function translateFile(id: string, from: lang, to: lang) {
+ const md = fs.readFileSync(path.join(peopleDir, id, `page${m[from]}.md`)).toString()
+ const td = await translate(md, {
+ from: from,
+ to: to,
+ autoCorrect: true
+ })
+ fs.writeFileSync(path.join(peopleDir, id, `page${m[to]}.md`), td.text)
+}
+
+if (!(args['from'] && args['to'] && args['id'])) {
+ throw new Error('args should be --from=from --to=to --id=id')
+}
+
+await translateFile(args['id'], args['from'], args['to'])
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index 69373c34..ce370804 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -777,6 +777,11 @@ argparse@^2.0.1:
resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
+args-parser@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/args-parser/-/args-parser-1.3.0.tgz#c52280e7a454df00ff35bc37ab7cfb543f28d304"
+ integrity sha512-If3Zi4BSjlQIJ9fgAhSiKi0oJtgMzSqh0H4wvl7XSeO16FKx7QqaHld8lZeEajPX7y1C5qKKeNgyrfyvmjmjUQ==
+
astring@^1.8.0:
version "1.8.6"
resolved "https://registry.yarnpkg.com/astring/-/astring-1.8.6.tgz#2c9c157cf1739d67561c56ba896e6948f6b93731"
@@ -1157,6 +1162,11 @@ global@~4.4.0:
min-document "^2.19.0"
process "^0.11.10"
+google-translate-api-x@^10.7.1:
+ version "10.7.1"
+ resolved "https://registry.yarnpkg.com/google-translate-api-x/-/google-translate-api-x-10.7.1.tgz#e82215048250385ed97195888eaa1b497aa6e3ae"
+ integrity sha512-OdZDS6jRWzn1woOk62aOKQ5OyVaJSA+eyc6CktOWxo36IWfstOjwG/dkvnGl3Z2Sbpmk1A+jc2WwrBiRjqaY2A==
+
graceful-fs@^4.1.6, graceful-fs@^4.2.0:
version "4.2.11"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"