萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> macOS 教學

Mac CrossOver 運行 Windows 軟體顯示中文介面設定:臨時/永久雙模式修改指南

CrossOver (Wine 商業版) 預設以英文語系運行 Windows 程式,導致中文軟體介面亂碼、字體缺失、輸入法無法呼叫。本文提供 **臨時修改 (單次運行)** 與 **永久修改 (修改 Wine 啟動腳本)** 兩種方案,讓 CrossOver 完美支援簡體/繁體中文環境。

方案一:臨時修改語言 (單次運行,不修改檔案)

終端機執行:

# 簡體中文
LANG=zh_CN.UTF-8 open -a CrossOver

# 繁體中文
LANG=zh_TW.UTF-8 open -a CrossOver
  • LANG 環境變數僅影響當次進程及其子進程。
  • 適合臨時測試、不想動配置檔案的場景。

方案二:永久修改 CrossOver/Wine 啟動腳本 (一勞永逸)

  1. Finder 中右鍵 CrossOver.app → 顯示套件內容。
  2. 依序進入資料夾:Contents → SharedSupport → CrossOver → bin。
  3. 找到 wine 檔案 (無副檔名的 Shell/Perl 腳本) → 右鍵 → 以此開啟 → TextEdit (文字編輯器)。
  4. 捲動至檔案末尾,找到類似:
# Start Wine
if ($log or CXLog::is_on()) { ... }
exec $cmd, @wine_args, @args
or cxerr("unable to start '$cmd': $!\n");
exit 1;
  1. 在 exec $cmd, @wine_args, @args **前一行** 插入:
$ENV{LANG} = "zh_CN.UTF-8";  # 簡體
# 或
$ENV{LANG} = "zh_TW.UTF-8";  # 繁體
  1. 修改後末尾應如下:
# Start Wine
if ($log or CXLog::is_on()) {
    print STDERR "\n** ", scalar(localtime(time)), "\n";
    print STDERR "Starting '", join(' ', $cmd, @wine_args), "'\n";
    print STDERR "'", join(' ', @args), "'\n\n";
}
$ENV{LANG} = "zh_CN.UTF-8";
exec $cmd, @wine_args, @args
or cxerr("unable to start '$cmd': $!\n");
exit 1;
  1. 儲存 (⌘S) → 重新啟動 CrossOver。

驗證修改成功

  1. 開啟 CrossOver → 「設定」→ 「管理瓶裝」→ 「控制台」標籤 → 執行「wine configuration」程式。
  2. 彈出的 Wine 設定視窗若顯示 **中文介面** (標籤為「應用程式」、「程式庫」、「圖形」等中文),即代表修改生效。
    CrossOver 偏好設定介面

原理解析

  • CrossOver 內建 Wine,bin/wine 是啟動器包裝腳本 (Perl/Shell)。
  • 設定 $ENV{LANG} 影響 Wine 進程的 locale,進而決定:
    ① 視窗介面語言 (Wine 內建資源)
    ② 字體回退鏈 (正確顯示中文字型)
    ③ 輸入法模組載入 (支援 fcitx/ibus/原生輸入法)
    ④ 日期/時間/數字格式本地化。

避坑提醒

⚠ 修改系統級檔案有風險: CrossOver 更新後 bin/wine 可能被覆蓋,需重新修改。建議備份原檔 cp bin/wine bin/wine.bak。
⚠ 瓶裝 獨立環境: 每個瓶裝可有獨立環境變數。若特定瓶裝需不同語言,可在瓶裝設定 → 環境變數中單獨設定 LANG。

結語

CrossOver 中文介面只需一行 $ENV{LANG} = "zh_CN.UTF-8"; 植入 bin/wine。臨時用 LANG=zh_CN.UTF-8 open -a CrossOver,永久改腳本。搞定語系,中文軟體在 Mac 上跑得像原生一樣順暢——這就是 Wine 魔法的最後一拼圖。

copyright © 萬盛學電腦網 all rights reserved