Skip to content

翻譯文字搜尋與反向引用

當你知道畫面上的文字,卻不知道對應的翻譯 key,可以先依翻譯文字搜尋,再跳到使用該 key 的程式碼。

使用前提

先依快速開始設定語系檔路徑,確認擴充套件已辨識專案框架並載入翻譯。

例如語系檔包含 common.save: "儲存變更",程式碼使用 t('common.save'),搜尋「儲存」即可找到該 key 與程式引用位置。

搜尋翻譯文字

  1. 在命令選擇區執行 i18n Ally Community: Search translation by value,或點選工具列的地球+放大鏡圖示。
  2. 輸入完整文字或其中一部分,例如「儲存」。搜尋會檢查目前載入的各語系翻譯,不區分英文大小寫,並忽略輸入前後的空白。
  3. 結果會列出 key、符合的語系與文字,以及引用檔案和行號。同一個 key 若有多個引用位置,會列出多筆結果。
  4. 用方向鍵切換結果以預覽位置,按 Enter 確認導覽;按 Escape 取消,回到搜尋前的編輯位置。

沒有程式引用的 key 仍會出現在結果中,選取後會嘗試跳到語系檔的定義位置。搜尋最多顯示 200 筆結果;出現截斷提示時,請輸入更具體的文字。

搜尋目前檔案

在命令選擇區執行 i18n Ally Community: Find translation value in file。此命令只列出目前檔案中的 key,並以它們對應的翻譯文字進行篩選。

輸入文字後,相符位置會以底色標示;方向鍵可預覽,Enter 可跳到選取位置,Escape 會取消搜尋並還原原本的選取範圍。編輯內容或移動選取位置時,搜尋標示會清除。

功能Windows/LinuxmacOS
搜尋目前檔案Alt+FCmd+Alt+F
搜尋翻譯文字Alt+Shift+FCmd+Alt+Shift+F

若快捷鍵與其他功能衝突,可在 VS Code「鍵盤快速鍵」中搜尋命令名稱並重新設定。命令識別碼分別為 i18n-ally-community.find-in-file-by-valuei18n-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 結構都能精確定位。

手動驗證流程

  1. 搜尋已知文字,確認可跳到對應的 key 引用;再搜尋無引用的翻譯,確認可跳到定義。
  2. 預覽另一個檔案後按 Escape,確認回到搜尋前的檔案與選取位置。
  3. 在目前檔案搜尋,確認相符標示、方向鍵切換與 Enter 導覽;修改內容後確認標示清除。
  4. 新增或移除程式引用並儲存,確認引用清單及 CodeLens 更新。
  5. 在使用 namespace 的專案分別從程式碼與 JSON/YAML key 查看引用,確認 namespace 與導覽位置正確。
  6. 多根工作區切換至另一個專案後再次搜尋,確認使用該專案的翻譯與引用。

Released under the MIT License.