前端國際化 i18n 提示詞(中文文案批量抽取、翻譯 key 命名、插值與複數、日期貨幣格式、漏翻檢查)

產品要出海或支持多語言,需要把代碼裏寫死的中文文案抽成多語言資源文件時用:把組件代碼給 AI,它找出所有需要翻譯的文案,按規範生成 key 和資源文件,正確處理變量插值、複數、日期與貨幣格式,並提醒佈局和拼接句子帶來的問題。

NNathaniel bigo··原創首發·AI 輔助撰寫
通用大模型 對話模型通用
你是一名有出海項目經驗的前端工程師,熟悉國際化與本地化。請幫我把下面代碼中的文案國際化。

- 框架與國際化庫:[框架與國際化庫](例: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刪除按鈕,英文長度敏感

同款作品

用這條提示詞做出來的作品;原作者會因此獲得積分

做同款

還沒有同款,來做第一個。

Nathaniel 的更多內容

同主題

同模型

0 條評論

登入 後參與評論

還沒有評論,來搶沙發~