翻譯文字搜尋與反向引用
當你知道畫面上的文字,卻不知道對應的翻譯 key,可以先依翻譯文字搜尋,再跳到使用該 key 的程式碼。
使用前提
先依快速開始設定語系檔路徑,確認擴充套件已辨識專案框架並載入翻譯。
例如語系檔包含 common.save: "儲存變更",程式碼使用 t('common.save'),搜尋「儲存」即可找到該 key 與程式引用位置。
搜尋翻譯文字
- 在命令選擇區執行
i18n Ally Community: Search translation by value,或點選工具列的地球+放大鏡圖示。 - 輸入完整文字或其中一部分,例如「儲存」。搜尋會檢查目前載入的各語系翻譯,不區分英文大小寫,並忽略輸入前後的空白。
- 結果會列出 key、符合的語系與文字,以及引用檔案和行號。同一個 key 若有多個引用位置,會列出多筆結果。
- 用方向鍵切換結果以預覽位置,按 Enter 確認導覽;按 Escape 取消,回到搜尋前的編輯位置。
沒有程式引用的 key 仍會出現在結果中,選取後會嘗試跳到語系檔的定義位置。搜尋最多顯示 200 筆結果;出現截斷提示時,請輸入更具體的文字。
搜尋目前檔案
在命令選擇區執行 i18n Ally Community: Find translation value in file。此命令只列出目前檔案中的 key,並以它們對應的翻譯文字進行篩選。
輸入文字後,相符位置會以底色標示;方向鍵可預覽,Enter 可跳到選取位置,Escape 會取消搜尋並還原原本的選取範圍。編輯內容或移動選取位置時,搜尋標示會清除。
| 功能 | Windows/Linux | macOS |
|---|---|---|
| 搜尋目前檔案 | Alt+F | Cmd+Alt+F |
| 搜尋翻譯文字 | Alt+Shift+F | Cmd+Alt+Shift+F |
若快捷鍵與其他功能衝突,可在 VS Code「鍵盤快速鍵」中搜尋命令名稱並重新設定。命令識別碼分別為 i18n-ally-community.find-in-file-by-value 與 i18n-ally-community.search-by-value。
從語系檔查看引用
在支援定位的語系檔中,key 上方的 CodeLens 會顯示引用數量;點選即可開啟 VS Code 引用清單。滑鼠停留在 key 上時,也可從 Hover 的引用連結跳到程式碼;Hover 最多先列出 8 筆,其餘可透過更多引用連結查看。
CodeLens 預設開啟,可以在工作區設定中停用:
json
{
"i18n-ally-community.codeLens": false
}搜尋範圍與限制
- 搜尋使用目前專案載入的語系與框架設定,不是所有工作區根目錄的跨專案聯合搜尋。多根工作區中,請先切換到目標專案的檔案。
- 引用依既有框架的 key 偵測規則建立。動態組合的 key、未支援的語法或被掃描規則排除的檔案,可能無法完整列出引用。
- 第一次查詢引用可能需要掃描專案;後續會重用快取。程式碼儲存後會更新引用。已有快取時,未儲存的修改可能尚未反映在結果中;請先儲存,必要時使用引用使用量面板的重新整理功能。
- 語系檔導覽依解析器的定位支援而定。此功能新增 JSON/YAML 的 key 範圍定位,不代表每種語系格式或所有 YAML 結構都能精確定位。
手動驗證流程
- 搜尋已知文字,確認可跳到對應的 key 引用;再搜尋無引用的翻譯,確認可跳到定義。
- 預覽另一個檔案後按 Escape,確認回到搜尋前的檔案與選取位置。
- 在目前檔案搜尋,確認相符標示、方向鍵切換與 Enter 導覽;修改內容後確認標示清除。
- 新增或移除程式引用並儲存,確認引用清單及 CodeLens 更新。
- 在使用 namespace 的專案分別從程式碼與 JSON/YAML key 查看引用,確認 namespace 與導覽位置正確。
- 多根工作區切換至另一個專案後再次搜尋,確認使用該專案的翻譯與引用。
