第四部・設定與附錄 / 4.2

系統設定與介面語言

F2 那一頁只有兩個項目:按鍵配置與介面語言。這一章把語言是怎麼決定的講清楚,也示範怎麼自己加一種語言——不用改任何一行 Rust。

閱讀時間 約 8 分鐘 對象 全體使用者 先備知識 4.1 版本 v1.0 ・ 2026-08-26
4.2.1

系統設定這一頁

整個爾雅的設定就這兩項。

爾雅 Erya │ 系統設定
↑/↓ 切換項目 ←/→ 選擇 E 編輯按鍵 Enter 套用 Esc 取消
按鍵配置: ◀ Erya Terminal Safe ▶ ▶ 介面語言: ◀ 正體中文 (zh-TW) ▶
Erya Terminal Safe │ 正體中文
使用方向鍵選擇;Enter 會立即套用至所有頁籤
按鍵做什麼
F2開啟系統設定
↑ ↓在「按鍵配置」與「介面語言」之間切換。目前選中的那一列反白並標 ▶。
← →換選項。到頭了會繞回去。
E進入按鍵配置編輯器(見 4.1.4)
Enter套用並回到編輯
Esc取消,什麼都不改

底下的狀態列一直顯示目前選到的組合(配置名稱 │ 語言名稱),按 Enter 之前可以先在這裡確認。

4.2.2

套用範圍與時機

按 Enter 的那一刻,所有頁籤一起換。

  • 套用之後訊息列說「已套用設定:Erya Classic/English」。
  • 所有已開啟的頁籤同時生效,不需要重開檔案。
  • 畫面上的提示列、狀態列、F1 說明會立刻換成新的語言與新的按鍵。
這裡的設定不會被記住

系統設定只影響這一次執行,爾雅不會把它寫進任何設定檔。下次啟動又是預設值。要長期固定的話:

  • 按鍵配置 → 放到平台預設路徑,或用 ERYA_KEYMAP(見 4.1.7)。
  • 介面語言 → 設 ERYA_LANG 環境變數(見 4.2.4)。
4.2.3

介面語言是怎麼選出來的

啟動時依序看四個環境變數,第一個有值的就算數。

ERYA_LANG 爾雅專用,最優先 LC_ALL LC_MESSAGES LANG 正體中文 都沒有時的回退 代碼會先正規化再比對:zh_TW.UTF-8、zh-Hant-TW、zh_Hant 都對應到 zh-TW 找不到完全相符的語言時,退回正體中文
圖 4.2.1 語言決定順序。大多數人什麼都不用設——系統的 LANG 是什麼,爾雅就跟著用什麼。
4.2.4

用 ERYA_LANG 指定

只想改爾雅、不想動整個系統語系時用它。

指令結果
ERYA_LANG=en erya 報告.txt這一次用英文介面
ERYA_LANG=zh-TW erya正體中文
ERYA_LANG=zh-CN erya簡體中文
ERYA_LANG=ja erya日文
erya --languages列出翻譯目錄裡實際找得到的語言,一行一個「代碼Tab名稱」

要長期生效就寫進 ~/.zshrc、~/.bashrc:export ERYA_LANG=en。Windows 則加到使用者環境變數。

不確定代碼怎麼寫就先跑 --languages

它印出來的第一欄就是可以填進 ERYA_LANG 的代碼。自己加的語言也會出現在裡面(見 4.2.6)。

4.2.5

翻譯檔在哪裡

四種語言是編進執行檔的,locales/ 目錄是拿來覆寫與擴充的。

內建(編進執行檔)

正體中文、簡體中文、英文、日文。就算把 locales/ 整個刪掉,這四種還是能用。

目錄(可覆寫、可擴充)

預設讀 locales/,可用 ERYA_LOCALES_DIR 指到別的地方。

目錄裡的同代碼翻譯會蓋過內建版本,所以想改幾句用詞也可以直接改這裡。

翻譯檔的結構很單純:

區段內容
[language]code(ERYA_LANG 用的代碼)與 name(--languages 與系統設定顯示的名稱)
[messages]所有畫面訊息。有些句子裡有 {name}、{count} 這種佔位符,翻譯時要保留。
[key_help]F1 按鍵說明裡每個動作的一句話說明。
4.2.6

自己加一種語言

複製一個檔、改兩個欄位、翻內容。不用改任何一行 Rust。

  1. 複製一份現成的翻譯檔,例如 cp locales/en.toml locales/fr.toml。
  2. 改 [language]:code = "fr"、name = "Français"。
  3. 翻 [messages] 與 [key_help],保留 {} 佔位符。
  4. 驗證:erya --languages 應該看得到 fr Français。
  5. 使用:ERYA_LANG=fr erya,或按 F2 從清單選。
不必一次翻完

翻一半也能用——沒翻到的 key 會自動退回正體中文(見 4.2.7)。可以先翻最常看到的那幾十句,其他慢慢補。

4.2.7

缺翻譯時的回退

一律退回正體中文,不會顯示空白。

  • 某個 key 在你的翻譯檔裡沒有 → 用正體中文那一句。
  • 連正體中文都沒有那個 key(理論上不會發生)→ 直接顯示 key 的名稱本身,例如 clipboard_empty。
  • 指定的語言代碼找不到 → 整個介面用正體中文。
為什麼是正體中文

因為爾雅是為中文文件寫的編輯器,正體中文是它的原生語言,其他語言都是從它翻過去的。所以看到畫面上突然冒出一句中文,通常代表那一句還沒翻。

4.2.8

常見錯誤

設定與語言的六個常見狀況。

現象原因與處理
重開之後設定又變回去了系統設定只影響這一次執行。用環境變數或設定檔固定(4.2.2)。
介面不是我要的語言看 ERYA_LANG/LC_ALL/LC_MESSAGES/LANG 的順序(4.2.3)。
ERYA_LANG 設了沒用代碼拼錯,找不到就會退回正體中文。先跑 --languages 對照(4.2.4)。
自己翻的語言沒出現在清單檔案不在爾雅讀的目錄裡。設 ERYA_LOCALES_DIR(4.2.5)。
介面裡混著中文那幾句還沒翻,自動退回正體中文了(4.2.7)。
訊息裡出現 {name} 這種字樣翻譯時把佔位符改掉或刪掉了。改回原本的 {} 名稱(4.2.5)。