diff --git a/src/messages/en/helplines.json b/src/messages/en/helplines.json new file mode 100644 index 0000000..7824906 --- /dev/null +++ b/src/messages/en/helplines.json @@ -0,0 +1,158 @@ +{ + "hk": { + "name": "Hong Kong", + "hotlines": [ + { + "title": "The Samaritans Hong Kong", + "type": "hotline", + "phone": "2896 0000", + "link": "tel:+852-2896-0000", + "opening_hours": "247", + "is247": true, + "description": null + }, + { + "title": "香港撒瑪利亞防止自殺會 情緒支援熱線", + "type": "hotline", + "phone": "2389 2222", + "link": "tel:+852-2389-2222", + "opening_hours": "247", + "is247": true, + "description": null + }, + { + "title": "「情緒通」精神健康支援熱線", + "type": "hotline", + "phone": "18111", + "link": "tel:+852-18111", + "opening_hours": "247", + "is247": true, + "description": null + }, + { + "title": "Open噏 網上聊天室", + "type": "chatroom", + "phone": null, + "link": "https://www.openup.hk/", + "opening_hours": "247", + "is247": true, + "description": null + } + ] + }, + "tw": { + "name": "台灣", + "hotlines": [ + { + "title": "衛生福利部 安心專線", + "type": "hotline", + "phone": "1925", + "link": "tel:+886-1925", + "opening_hours": "247", + "is247": true, + "description": null + }, + { + "title": "生命線專線", + "type": "hotline", + "phone": "1995", + "link": "tel:+886-1995", + "opening_hours": "247", + "is247": true, + "description": null + }, + { + "title": "「張老師」網路輔導", + "type": "chatroom", + "phone": null, + "link": "https://www.1980.org.tw/service_item_show.php", + "opening_hours": "星期一至星期六 晚上18:30至21:30", + "is247": false, + "description": null + } + ] + }, + "mo": { + "name": "澳門", + "hotlines": [ + { + "title": "社工局", + "type": "hotline", + "phone": "2826 1126", + "link": "tel:+853-2826-1126", + "opening_hours": "247", + "is247": true, + "description": null + }, + { + "title": "澳門明愛生命熱線", + "type": "hotline", + "phone": "2852 5222", + "link": "tel:+853-2852-5222", + "opening_hours": "247", + "is247": true, + "description": null + } + ] + }, + "sg": { + "name": "新加坡", + "hotlines": [ + { + "title": "Samaritans of Singapore", + "type": "hotline", + "phone": "1767", + "link": "tel:+65-1767", + "opening_hours": "247", + "is247": true, + "description": null + }, + { + "title": "Samaritans of Singapore CareText", + "type": "chatroom", + "phone": null, + "link": "https://wa.me/6591511767", + "opening_hours": "247", + "is247": true, + "description": "使用WhatsApp收發訊息" + } + ] + }, + "my": { + "name": "馬來西亞", + "hotlines": [ + { + "title": "Befrienders Kuala Lumpur", + "type": "hotline", + "phone": "03-76272929", + "link": "tel:+60-3-7627-2929", + "opening_hours": "247", + "is247": true, + "description": null + }, + { + "title": "NCEMH Talian HEAL", + "type": "hotline", + "phone": "15555", + "link": "tel:+60 15555", + "opening_hours": "星期一至日 早上8:00至凌晨12:00", + "is247": false, + "description": null + } + ] + }, + "other": { + "name": "其他地區", + "hotlines": [ + { + "title": "find a helpline", + "type": "website", + "phone": null, + "link": "https://findahelpline.com/", + "opening_hours": null, + "is247": null, + "description": "Find helplines in your region" + } + ] + } +} \ No newline at end of file diff --git a/src/messages/en/messages.json b/src/messages/en/messages.json new file mode 100644 index 0000000..d2ab2d5 --- /dev/null +++ b/src/messages/en/messages.json @@ -0,0 +1,230 @@ +{ + "LandingPage": { + "WelcomeText": { + "title": "The Vale", + "subtitle": "Any thoughts you want to share?" + }, + "Introduction": { + "p1": "Greetings, weary traveler.", + "p2": "In the quiet crevices between the days,", + "p3": "there are emotions that linger, with nowhere to rest—", + "p4": "perhaps a fleeting pang of loss, or a feeling of", + "p5": "sinking into a bottomless abyss no one else can reach.", + "p6": "Just like shouting freely into a vast vale,", + "p7": "let your heart's words echo and blend into this serene stillness." + }, + "Actions": { + "Create": { + "title": "Craft Your Echo", + "desc": "讓心中的話語、對同路人的鼓勵,化為回聲,迴盪在山谷之中。" + }, + "ViewSilent": { + "title": "靜谷之聲", + "desc": "探索其他旅人創造的回聲,細細閱讀他們的情感與故事。" + }, + "ViewStarlight": { + "title": "星光之聲", + "desc": "在星光下,聆聽特別的回聲,感受來自同路人的支持。" + }, + "Chatbot": { + "title": "山谷聽友", + "desc": "與大語言模型交流,沒有壓力地分享你的心情與故事。" + } + } + }, + "Footer": { + "title": "The Vale / 山谷 - ", + "privacy": "Privacy", + "about": "About", + "admin": "Admin", + "imageSource": "Photo: Freepik" + }, + "ViewPage": { + "Rules": { + "title": "須知事項", + "rules": "
  1. 禁止引用或轉載此處之內容,讓回聲僅在山谷中迴盪。
  2. 旅人無需全盤接受此處之建議或鼓勵;感受由你定義。
  3. 如感不安,請隨時離開此地。山谷隨時靜候你的回歸。
", + "r1": "禁止引用或轉載此處之內容,讓回聲僅在山谷中迴盪。", + "r2": "旅人無需全盤接受此處之建議或鼓勵;感受由你定義。", + "r3": "如感不安,請隨時離開此地。山谷隨時靜候你的回歸。" + }, + "Silent": { + "title": "靜谷之聲", + "subtitle": "靜靜聆聽其他人的情緒、故事,又或是簡簡單單的嘆息。", + "backToViewAll": "返回靜默之聲" + }, + "Starlight": { + "title": "星光之聲", + "subtitle": "聆聽夜空中綻放的溫柔回聲。", + "backToViewAll": "返回星光之聲" + }, + "CardContent": { + "Nickname": "暱稱:", + "copyLinkFailed": "複製連結失敗。", + "confirmApprove": "確定要批准這則留言嗎?", + "confirmDelete": "確定要刪除這則留言嗎?", + "Aria": { + "getSharableLink": "獲取分享鏈接", + "goToReplyPage": "前往共鳴頁面" + } + }, + "Error": { + "title": "哎呀!發生了錯誤", + "desc": "回聲似乎迷失於山谷深處。請稍後再試看看?", + "technicalMessage": "技術訊息:" + }, + "NoContent": { + "title": "好靜啊...", + "desc": "山谷此時靜謐無聲。要來大喊一下嗎?" + }, + "ReplyHeader": { + "title": "共鳴", + "noReplies": "暫無共鳴" + }, + "ReplyForm": { + "title": "與此回聲共鳴...", + "privacyAndRules": "發送前,請閱讀私隱聲明以及創造回聲的須知事項。", + "nickname": "暱稱", + "nicknameDefault": "佚名", + "reply": "共鳴", + "replyDefault": "在這裏留下你的共鳴...", + "send": "發送", + "sending": "請稍後...", + "sendError": "發送失敗,請稍後再試。", + "Sent": { + "title": "發送成功!", + "desc": "感謝你的共鳴。正如聲音傳播需要時間,我們也需時處理你的訊息,故請耐心等待。這段時間,也請好好照顧自己!" + }, + "backToHome": "返回首頁" + }, + "Aria": { + "previousPage": "Prev", + "nextPage": "Next" + } + }, + "CreatePage": { + "title": "Craft Your Echo", + "subtitle": "哪怕只是一聲嘆息,也會在這裏化作回聲。", + "Rules": { + "title": "須知事項", + "rules": "
  1. 回聲匿名隱谷中。請勿留下真實姓名、地址或任何可辨識身份的痕跡,讓你的回聲在山谷中自由迴盪。
  2. 留聲有度勿傷人。你的言語或許尖銳,但請勿刻意傷人,讓各路旅人都可以在此稍息。
  3. 勿讓山谷承重聲。山谷不禁止旅人分享自傷、結束自己生命的想法,但請勿分享鼓勵傷害自身或他人的內容。如有需要,請參考下列指引。
  4. 靜待聲音化回響。聲音傳播需時,請耐心讓你的聲音融入山谷,無需重複呼喊;靜謐中自有共鳴。
  5. 山谷留聲有權衡。工作人員或將靜默回聲,如有不便,請多包涵。
", + "help": "如果想跟誰傾訴的話,山谷亦有指引相伴。" + }, + "Form": { + "nickname": "暱稱", + "nicknameDefault": "佚名", + "category": "類別", + "CategorySilent": { + "title": "靜谷之聲", + "desc": "匿名訴說你的真心,又或是分享低落,沈重的情緒。" + }, + "CategoryStarlight": { + "title": "星光之聲", + "desc": "送上暖心的話語,點亮山谷的夜空;溫暖到此停留的旅人。" + }, + "content": "回聲", + "contentDefault": "在這裏留下你的回聲...", + "markdownSupport": "支援部分基本Markdown語法。不支持超連結。", + "privacy": "提交前,請閱讀私隱聲明。", + "send": "發送", + "sending": "請稍後...", + "sendError": "發送失敗,請稍後再試。", + "Sent": { + "title": "發送成功!", + "desc": "感謝你的回聲。正如聲音傳播需要時間,我們也需時處理你的訊息,故請耐心等待。這段時間,也請好好照顧自己!" + }, + "backToHome": "返回首頁" + } + }, + "AboutPage": { + "title": "About", + "desc": "這裏記載著關於山谷的故事。", + "Content": { + "WordsFromDev": { + "title": "來自開發者的話", + "content": "

你好,我是3_n。我是「山谷」網站最初的開發者。這片數位空間的故事,始於2024年初夏。

那時,我首次接觸到情緒病患者,他們的掙扎讓我開始思考情緒的重量。然而,到了暑假後,我自己的內心也開始動盪。我變得易怒,時常無故落淚,彷彿情感像無形的潮水,無法控制地湧來。同年秋天,我作為交換生來到台灣,卻在那裡迎來了更深的低谷。

幸運的是,我並不孤單。在台灣認識的好友成為我的星光,他們的溫暖與耐心,讓我一步步走出黑暗。

這段經歷讓我深刻理解:每一顆心都需要被聽見,每一種感受都值得被珍視。

回到香港,城市的快節奏讓我更深刻感受到壓力的重量。在這片高樓與霓虹之間,我們總在穿梭於大樓之間,卻很少停下喘口氣。

年尾,我偶然發現了日本的「宛名の無い手紙」網站。那是一個匿名的平台,讓人們毫無顧忌地傾訴關於自傷,結束自己想法的地方。這樣的空間彷彿一處山谷,靜靜承接每一聲回響。當時,我正在學習Next.js,一種強大的網頁開發框架。於是,一個念頭萌芽:何不親手打造一個屬於我們的「山谷」?既是技術的試煉,也是對精神健康的一份承諾。經過許多個夜晚的編碼與設計,這片數位的「山谷」終於誕生。

在「山谷」,你可以匿名分享自己的情緒。無論是深夜的崩潰,還是片刻的感悟,它們都會在「靜谷心聲」中迴響。你也可以閱讀他人的故事:或許你會看到有人寫下內心的疲憊,或是用詩意的文字描繪自己的無助。這些心聲,像山谷間的回聲,彼此交織。如果你感受到一絲溫暖,或想為他人點亮一盞燈,「星光回聲」歡迎你的感恩與鼓勵。

這裡沒有評判,沒有壓力,只有純粹的傾聽。你的每一种感受,都值得被珍視。無論是沉重的悲傷,還是無聲的迷茫,這裡都會溫柔接納。你不需要假裝堅強,也不需要立刻好起來。只要來到這裡,你的聲音就是山谷的回響。

", + "lastUpdated": "2025年4月" + }, + "SpecialThanks": { + "title": "特別感謝", + "content": "" + } + } + }, + "ChatbotPage": { + "title": "山谷聽友", + "subtitle": "不想與山谷分享自己的心聲的話,不妨在這裏説説看。", + "Rules": { + "title": "須知事項", + "rules": "
  1. 「山谷聽友」不能取代專業心理醫生以及心理諮商。如果需要更深入的幫助,請尋求指引
  2. 「請避免惡意使用「山谷聽友」,包括但不限於提示詞注入、發送不恰當信息等。
  3. 在使用「山谷聽友」時,請避免分享過於敏感的資訊。請參考私隱聲明以瞭解我們如何收集、使用所提供的數據,以及你所擁有的權利。
  4. 服務提供商會可能會過濾有關自傷的內容。我們正尋求改善方案。
  5. 「山谷聽友」可能因技術調整、伺服器等因素而暫停運作。我們無法保證「山谷聽友」隨時可用。
" + }, + "enterTextPlaceholder": "輸入訊息...", + "Tooltips": { + "mac": "按 ⌘ + Enter 發送訊息", + "windows": "按 Ctrl + Enter 發送訊息" + }, + "Errors": { + "noMessage": "請填寫訊息。", + "generationError": "生成回覆時發生錯誤。" + }, + "Aria": { + "sendMessage": "發送訊息" + } + }, + "Privacy": { + "title": "Privacy", + "subtitle": "山谷收集的資料,在此一一說明。", + "Content": { + "title": "山谷 —— 私隱聲明", + "lastUpdated": "最後更新日期:2025年9月29日", + "content": "

感謝你使用「山谷」!「山谷」是一個匿名的線上空間,讓你以及其他旅人可以自由地分享自己的心聲。 我們深知私隱的重要性,遵守香港《個人資料(私隱)條例》,確保你的個人資料得到妥善保護。 請閱讀下列私隱聲明,了解我們如何收集、使用和保護你的個人資料。

我們收集並使用的資料

為維持「山谷」的運作並改善體驗,我們以及託管平台(Vercel)會收集以下資料:

我們不會主動收集任何可直接識別你身份的個人資料(如姓名、電郵或電話號碼)。

資料分享與披露

除下列情況外,我們不會將你的資料出售或出租給第三方:

" + } + }, + "Helpline": { + "title": "資源", + "subtitle": "當回聲難以承載心聲,外界的熱線與資源在此守候;因為你很重要。", + "hongKong": "Hong Kong", + "Types": { + "hotline": "熱線", + "chatroom": "即時聊天", + "website": "網站", + "others": "其他" + }, + "phoneDescription": "電話:", + "call": "致電", + "goToWebsite": "前往網站" + }, + "Admin": { + "SignedOut": { + "title": "管理員登入", + "subtitle": "請登入以進入管理員頁面。", + "login": "登入" + }, + "SignedIn": { + "title": "管理員介面", + "subtitle": "這裡是管理員介面,您可以在這裡查看和批准留言。", + "logout": "登出", + "ReplySelector": { + "placeholder": "選擇來源...", + "post": "回聲", + "reply": "共鳴" + }, + "TypeSelector": { + "placeholder": "選擇留言...", + "silent": "靜谷之聲", + "starlight": "星光之聲" + }, + "toastMessage": "已{type, select, approve {批准} delete {刪除} other {_}}留言。", + "toastMessageException": "操作發生了錯誤!", + "toastCopyMessage": "複製錯誤訊息", + "noComment": "沒有留言。辛苦了!" + } + }, + "Metadata": { + "title": "山谷|The Vale", + "description": "匿名抒發心聲的平台。分享低語,傾聽靜谷心聲與星光回聲,尋找共鳴與溫暖。" + }, + "Cookies": { + "message": "我們使用cookies來提升你的體驗。所有cookies均為必要cookies。繼續使用本網站或點擊任何按鈕即表示你同意我們的私隱聲明。", + "accept": "接受" + } +} \ No newline at end of file diff --git a/src/messages/en/prompt.json b/src/messages/en/prompt.json new file mode 100644 index 0000000..bb4dce8 --- /dev/null +++ b/src/messages/en/prompt.json @@ -0,0 +1,3 @@ +{ + "systemPrompt": "你是「山谷聽友」,一個像朋友的陪伴者,專門傾聽用戶吐苦水、分享心情。請遵循以下原則:1. **同理心**:用溫暖語氣回應各種情緒(開心、難過、憤怒),絕不評判或批評。2. **鼓勵分享**:輕導用戶多說,例如「想聊聊發生了什麼嗎?」。請不要進行過於正面或者無法達成的鼓勵(例如「一起面對挑戰吧!」)。3. **危機處理**:若用戶提到自傷或極度絕望,表達關心,建議聯繫 https://thevale.top/helpline 的熱線,或學校輔導中心、醫院急診。4. **安全隱私**:不要求敏感資訊,若用戶分享過多,提醒注意隱私。5. **簡潔自然**:回應 50-200 字,保持朋友般語氣,避免正式或教科書風。7. **保持角色**:始終以「山谷聽友」身份回應。如果用戶脫離訴說情緒或者經歷,請把用戶引導回原本的討論中。範例: 用戶:「我今天被甩了,好難過」 回應:「抱抱你!被甩真的很難受,我聽到你的心聲了。想說說嗎?我陪你!」" +} \ No newline at end of file