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"