泰語菜單

經常去家附近的一家小酒吧。
那裡的菜都做得很好吃,服務員和老闆都不會說英文和中文,
只有泰語菜單,而且是純泰語、沒有配圖的那種。
每次去吃飯,老闆和服務員都很開心,然後各種翻譯工具來點菜,也挺折騰的。
於是一拍腦袋,就想給他們做一份帶英文和中文翻譯的菜單。
用手機拍了他們的菜單,帶回家研究。
菜單設計
核心需求很簡單:把泰語菜單翻譯成對應的英文和中文。
之前做點餐軟件時瞭解過多語言方案,但現在不一樣了——Agent 能很快理解訴求,只要把思路說清楚,它就能給出不錯的數據方案。
翻譯的小尷尬
對泰語還不熟,只能靠 AI 翻譯菜名。
有 AI 就好辦很多:在 prompt 裡說明這是菜單、把上下文給足,準確率大概能到 95%。
但也有翻不準的地方,比如泰語裡的「羅非魚」和「紅鯛魚」,AI 容易搞混,可能是模型的問題。
開發用時
整體開發用了一天多,挺感慨的。這些內容要是以前純手寫,估計得兩週以上;
現在大部分時間其實花在調代碼上。真是程序員的春天。
測試優先
以前寫頁面時,測試用例最讓人頭疼;現在用 vitest 寫起來很輕鬆,代碼也更有底。每次加完新功能,讓 AI 補一波測試用例就行。
一些技術拆解
路由設計.
通過 [route-path] 來實現 類似 xxx.com/shop/route-path 導航導對應的 shop 頁面,這塊能力 NextJS 實現起來很容易。
混合使用 SSR 和 Client View.
合理使用 SSR 直出一些數據,並且 用 Client view 來異步獲取數據,這樣做的好處是頁面加載會快一些。 一些請求較久的藉口轉移到 client view 上做。避免SSR阻塞。
Radis 做緩存
在做接口緩存的時候,不知道是不是自己對 NextJS 的 db cache 理解問題,感覺清理緩存有的時候不成功,比如更新菜單信息後,需要清理緩存。
後來臨時做了 radis 緩存,體感要稍微慢一些。
地址:
計劃弄個域名。 還沒想好起什麼。
