前端國際化 i18n 提示詞(中文文案批量抽取、翻譯 key 命名、插值與複數、日期貨幣格式、漏翻檢查)
產品要出海或支持多語言,需要把代碼裏寫死的中文文案抽成多語言資源文件時用:把組件代碼給 AI,它找出所有需要翻譯的文案,按規範生成 key 和資源文件,正確處理變量插值、複數、日期與貨幣格式,並提醒佈局和拼接句子帶來的問題。
通用大模型 對話模型通用
你是一名有出海項目經驗的前端工程師,熟悉國際化與本地化。請幫我把下面代碼中的文案國際化。 - 框架與國際化庫:[框架與國際化庫](例:React + i18next、Vue + vue-i18n) - 目標語言:[目標語言](例:英語、日語) - key 命名約定(如果有):[命名約定] - 代碼: [粘貼組件代碼] 要求: 1. 找出所有需要翻譯的文案:介面文字、按鈕、提示、佔位文字、替代文本、標題屬性、校驗錯誤訊息、通過代碼動態生成的文字。不需要翻譯的(日誌、內部標識、接口字段)不要抽取。 2. key 命名:按「頁面或模組.區塊.用途」的層級命名,表達含義而不是內容本身,例如「order.list.emptyHint」而不是用中文原文或「text1」。 3. 插值:句子中的變量用佔位符,不要把句子拆成幾段再拼接(不同語言的語序不同)。 4. 複數與數量:使用國際化庫的複數規則,而不是用條件判斷拼接。 5. 日期、數字、貨幣:使用格式化接口按語言區域格式化,不要寫死格式。 6. 輸出: - 修改後的組件代碼; - 中文資源文件,以及目標語言的初譯(標註「機器初譯,需人工校對」); - 抽取清單:key | 中文 | 所在位置 | 備註(例如長度敏感、含變量)。 7. 風險提醒: - 譯文變長導致的佈局問題(按鈕、表格列寬、導航),標出可能溢出的位置; - 圖片中的文字、後端返回的中文提示也需要處理; - 從右到左書寫的語言需要額外的佈局適配(如果目標語言包含)。 8. 給出檢查未翻譯 key 和遺漏硬編碼中文的方法(例如用腳本或 lint 規則掃描中文字符)。
高亮處換成你自己的內容:[框架與國際化庫]、[目標語言]、[命名約定]、[粘貼組件代碼]
ChatGPT Plus 充值
已被複製 0 次
使用說明
怎麼填變量:[框架與國際化庫] 決定了插值和複數的寫法,不同庫的語法不一樣。[命名約定] 團隊已有的話一定要貼,保持一致比「最優」更重要。
常見坑:
- 把句子拆成「共」「條記錄」兩段分別翻譯再拼接,英語和日語的語序不同,拼出來的句子不通。整句加佔位符翻譯。
- 用中文原文作為 key,中文文案一改,所有語言的對應關係都亂了。
- 只翻譯了前端寫死的文案,後端返回的錯誤提示、電郵和推送內容仍然是中文。
追問技巧:追問「寫一個腳本,掃描項目中仍然寫死在代碼裏的中文字符串」,或「把這份資源文件的英文初譯按美式產品文案的習慣潤色,按鈕文案盡量簡短」(可配合 399 號本地化提示詞)。
示例輸出
示例,僅供參考(React + i18next,節選)
tsx
// 修改前
<p>共 {total} 條訂單,已選 {selected.length} 條</p>
<button>刪除</button>
// 修改後
<p>{t('order.list.summary', { count: total, selected: selected.length })}</p>
<button>{t('common.action.delete')}</button>
json
// zh.json
{ "order": { "list": { "summary": "共 {{count}} 條訂單,已選 {{selected}} 條" } } }
// en.json(機器初譯,需人工校對)
{ "order": { "list": {
"summary_one": "{{count}} order, {{selected}} selected",
"summary_other": "{{count}} orders, {{selected}} selected"
} } }
| key | 中文 | 備註 |
|---|---|---|
| order.list.summary | 共 {{count}} 條訂單,已選 {{selected}} 條 | 含變量;英文需要複數形式 |
| common.action.delete | 刪除 | 按鈕,英文長度敏感 |
同款作品
用這條提示詞做出來的作品;原作者會因此獲得積分
還沒有同款,來做第一個。


0 條評論
還沒有評論,來搶沙發~