言文件,不碰主程序)
Axure RP 11 的界面語(yǔ)言問(wèn)題幾乎是每個(gè)中文用戶(hù)裝完軟件后第一個(gè)要面對(duì)的事。默認(rèn)安裝完是純英文界面菜單、面板、右鍵菜單全是英文對(duì)于不常接觸英文設(shè)計(jì)工具的人來(lái)說(shuō)上手成本陡增。網(wǎng)上流傳的漢化方法五花八門(mén)有讓你替換整個(gè)安裝目錄的有讓你改注冊(cè)表的還有直接給一個(gè) exe 覆蓋的踩坑的人不在少數(shù)——輕則漢化不全、部分菜單還是英文重則軟件啟動(dòng)報(bào)錯(cuò)、授權(quán)失效、甚至要重裝。這篇內(nèi)容就是把我自己反復(fù)裝過(guò)多次、也幫同事處理過(guò)各種漢化翻車(chē)現(xiàn)場(chǎng)之后整理出來(lái)的一套穩(wěn)妥流程。核心思路很簡(jiǎn)單只動(dòng)語(yǔ)言文件不動(dòng)主程序用最小侵入的方式完成全界面漢化5 步之內(nèi)搞定并且可回退、可復(fù)原。適合剛接觸 Axure RP 11 的產(chǎn)品經(jīng)理、交互設(shè)計(jì)師也適合需要給團(tuán)隊(duì)統(tǒng)一部署中文環(huán)境的運(yùn)維同學(xué)。1. 先搞清楚 Axure RP 11 的語(yǔ)言加載機(jī)制1.1 為什么不能直接覆蓋主程序很多人漢化的第一反應(yīng)是去下載一個(gè)漢化版 Axure然后整個(gè)文件夾覆蓋過(guò)去。這個(gè)做法在 Axure RP 11 上風(fēng)險(xiǎn)極高原因在于 Axure 的授權(quán)校驗(yàn)和主程序是綁定在一起的。Axure RP 11 采用的是本地授權(quán)文件加在線(xiàn)校驗(yàn)的雙重機(jī)制主程序 exe 一旦被替換成非官方版本授權(quán)校驗(yàn)環(huán)節(jié)很容易直接失敗表現(xiàn)就是打開(kāi)軟件提示授權(quán)無(wú)效或者干脆卡在啟動(dòng)畫(huà)面。另一個(gè)問(wèn)題是版本錯(cuò)配。Axure RP 11 本身有小版本迭代比如 11.0.0.3912 和 11.0.0.3915不同小版本之間的資源文件結(jié)構(gòu)可能有細(xì)微差異。你拿一個(gè)針對(duì)舊版本打包的漢化包去覆蓋新版本輕則部分界面文字錯(cuò)位、顯示成方塊重則直接崩潰。所以正確的思路是主程序保持官方原版只替換語(yǔ)言資源。1.2 語(yǔ)言包到底替換的是哪些文件Axure RP 11 的界面文字并不是硬編碼在 exe 里的而是存放在安裝目錄下的資源文件中。具體來(lái)說(shuō)主要涉及兩類(lèi)文件語(yǔ)言資源文件通常是以.resources或特定語(yǔ)言目錄形式存在里面存放的是界面字符串的鍵值對(duì)。英文版對(duì)應(yīng)的是 en-US 相關(guān)的資源中文漢化的本質(zhì)就是提供一份 zh-CN 的對(duì)應(yīng)資源或者在原資源基礎(chǔ)上做映射替換。界面布局與菜單定義文件部分菜單項(xiàng)、面板標(biāo)題的文字定義在這些文件里漢化包需要同步覆蓋。這里有個(gè)關(guān)鍵點(diǎn)Axure RP 11 并沒(méi)有官方內(nèi)置的多語(yǔ)言切換開(kāi)關(guān)。也就是說(shuō)它不像 VS Code 那樣可以在設(shè)置里直接選語(yǔ)言而是靠資源文件的存在即生效機(jī)制。你把中文資源放進(jìn)去軟件啟動(dòng)時(shí)讀取到的就是中文你把資源刪掉它回退到英文。理解這一點(diǎn)后面的操作邏輯就順了。1.3 漢化包來(lái)源的甄別網(wǎng)上能搜到的 Axure RP 11 漢化包大致分三類(lèi)類(lèi)型特征風(fēng)險(xiǎn)純語(yǔ)言資源包只包含語(yǔ)言資源文件體積小通常幾 MB低推薦整合安裝包把漢化文件和主程序打包成安裝程序中可能夾帶修改過(guò)的主程序綠色破解版整個(gè)軟件目錄打包含授權(quán)繞過(guò)高安全與合規(guī)風(fēng)險(xiǎn)都大我個(gè)人的建議是只用第一類(lèi)。判斷方法也簡(jiǎn)單解壓后看目錄結(jié)構(gòu)如果里面只有語(yǔ)言資源相關(guān)的文件夾和文件沒(méi)有 exe、沒(méi)有 dll 主程序文件那基本就是純語(yǔ)言包。如果解壓出來(lái)一堆 exe 和 dll直接放棄別用。提示下載漢化包時(shí)優(yōu)先選擇有版本號(hào)標(biāo)注的比如適配 11.0.0.3912版本對(duì)得上漢化完整度才有保障。2. 安裝前的準(zhǔn)備工作三件事必須先做2.1 確認(rèn)你的 Axure RP 11 具體版本號(hào)這一步很多人跳過(guò)結(jié)果漢化出問(wèn)題后完全不知道從哪查起。查看版本號(hào)的方法打開(kāi) Axure RP 11點(diǎn)擊左上角菜單Help→About Axure RP彈窗里會(huì)顯示完整版本號(hào)比如11.0.0.3912。把這個(gè)號(hào)記下來(lái)下載漢化包時(shí)對(duì)照。如果你還沒(méi)裝 Axure RP 11那先裝官方原版裝完再漢化。安裝路徑建議用默認(rèn)路徑不要自己改到中文目錄下。原因后面會(huì)講中文路徑是漢化失敗的一個(gè)隱藏坑。2.2 備份原始語(yǔ)言資源這是整個(gè)流程里最重要的一步?jīng)]有之一。在替換任何文件之前先把安裝目錄下的語(yǔ)言資源相關(guān)文件夾整個(gè)復(fù)制一份出來(lái)放到一個(gè)安全的地方比如D:\AxureBackup\。具體備份哪些進(jìn)入 Axure RP 11 安裝目錄默認(rèn)一般是C:\Program Files\Axure\Axure RP 11\找到存放語(yǔ)言資源的目錄。不同版本目錄名可能略有差異常見(jiàn)的是lang、resources或locales這類(lèi)命名。把整個(gè)目錄復(fù)制備份即可。備份的意義在于一旦漢化后軟件出現(xiàn)異常你可以把備份的原文件拷回去瞬間恢復(fù)到英文原版狀態(tài)不用重裝。我見(jiàn)過(guò)太多人漢化翻車(chē)后只能卸載重裝其實(shí)有備份的話(huà)兩分鐘就能回退。2.3 關(guān)閉 Axure 及后臺(tái)進(jìn)程替換文件前必須確保 Axure RP 11 完全退出。注意不是關(guān)掉窗口就行要檢查任務(wù)管理器里有沒(méi)有殘留進(jìn)程。Axure 有時(shí)候關(guān)掉主窗口后后臺(tái)還有進(jìn)程在跑這時(shí)候你替換文件系統(tǒng)會(huì)提示文件被占用或者替換成功了但軟件讀的還是舊資源。操作按Ctrl Shift Esc打開(kāi)任務(wù)管理器在進(jìn)程列表里找AxureRP.exe如果有右鍵結(jié)束任務(wù)。確認(rèn)沒(méi)有殘留后再進(jìn)行下一步。3. 五步完成全界面漢化的完整操作3.1 第一步定位安裝目錄并確認(rèn)資源文件夾打開(kāi)文件資源管理器進(jìn)入 Axure RP 11 的安裝目錄。如果你不確定裝在哪可以右鍵桌面上的 Axure 快捷方式 →屬性→ 查看目標(biāo)路徑去掉最后的 exe 文件名就是安裝目錄。進(jìn)入目錄后找到語(yǔ)言資源文件夾。以常見(jiàn)的 11.0.0.3912 版本為例資源文件通常在安裝根目錄下的resources或類(lèi)似命名的文件夾中。你可以先觀察一下這個(gè)文件夾里有什么一般會(huì)有若干.resources后綴的文件或者按語(yǔ)言命名的子目錄。3.2 第二步解壓漢化包并核對(duì)目錄結(jié)構(gòu)把下載好的漢化包解壓到一個(gè)臨時(shí)目錄比如D:\Axure漢化臨時(shí)\。解壓后先別急著復(fù)制先看清楚它的目錄結(jié)構(gòu)和安裝目錄里的資源文件夾做對(duì)比。理想情況下漢化包的目錄結(jié)構(gòu)應(yīng)該和安裝目錄的資源結(jié)構(gòu)一一對(duì)應(yīng)。比如安裝目錄里是resources\下面一堆文件那漢化包里也應(yīng)該是resources\下面同名文件。如果結(jié)構(gòu)對(duì)不上說(shuō)明漢化包可能不是針對(duì)你這個(gè)版本做的或者打包方式有問(wèn)題這時(shí)候要謹(jǐn)慎。3.3 第三步復(fù)制替換語(yǔ)言資源文件確認(rèn)結(jié)構(gòu)對(duì)應(yīng)后把漢化包里的語(yǔ)言資源文件復(fù)制到安裝目錄對(duì)應(yīng)的位置遇到同名文件選擇替換目標(biāo)中的文件。這里有個(gè)細(xì)節(jié)建議逐文件夾替換不要整個(gè)目錄拖過(guò)去覆蓋。因?yàn)橛行h化包會(huì)附帶一些額外的說(shuō)明文件或者配置文件整個(gè)目錄覆蓋可能把安裝目錄里原本正常的其他文件也覆蓋掉。逐文件夾替換只替換語(yǔ)言資源相關(guān)的最穩(wěn)妥。替換過(guò)程中如果提示需要管理員權(quán)限點(diǎn)擊繼續(xù)即可。如果提示文件被占用回到 2.3 步檢查進(jìn)程。3.4 第四步啟動(dòng)軟件驗(yàn)證漢化效果替換完成后重新啟動(dòng) Axure RP 11。第一次啟動(dòng)可能會(huì)比平時(shí)慢一點(diǎn)因?yàn)檐浖匦伦x取資源文件這是正常現(xiàn)象。啟動(dòng)后重點(diǎn)檢查這幾個(gè)區(qū)域頂部菜單欄File、Edit、View 等是否變成中文左側(cè)面板頁(yè)面、母版、元件等面板標(biāo)題右側(cè)屬性面板樣式、交互、說(shuō)明等標(biāo)簽右鍵菜單在畫(huà)布上右鍵看菜單項(xiàng)是否中文對(duì)話(huà)框比如新建頁(yè)面、導(dǎo)出等彈窗如果這些區(qū)域大部分都變成中文了說(shuō)明漢化基本成功。如果只有部分中文參考下一節(jié)處理。3.5 第五步處理漢化不全的收尾漢化不全是最常見(jiàn)的問(wèn)題表現(xiàn)是主界面中文了但某些深層菜單或彈窗還是英文。原因通常是漢化包的資源覆蓋不完整或者你的版本比漢化包適配的版本新新增了一些字符串沒(méi)有對(duì)應(yīng)的中文翻譯。處理思路有兩個(gè)一是找更新版本的漢化包二是手動(dòng)補(bǔ)充。手動(dòng)補(bǔ)充的方法是找到對(duì)應(yīng)版本的英文資源文件把里面還是英文的鍵值對(duì)翻譯后替換。這個(gè)操作對(duì)普通用戶(hù)來(lái)說(shuō)門(mén)檻較高更實(shí)際的做法是接受少量英文殘留或者等漢化包更新。注意不要為了追求 100% 漢化去混用不同來(lái)源的漢化包不同漢化包的資源鍵可能沖突混用會(huì)導(dǎo)致界面文字錯(cuò)亂甚至軟件異常。4. 漢化后常見(jiàn)問(wèn)題與排查鏈路4.1 軟件啟動(dòng)報(bào)錯(cuò)或閃退這是最嚴(yán)重的情況通常發(fā)生在替換了非語(yǔ)言資源文件之后。排查順序先確認(rèn)你替換的是不是純語(yǔ)言資源。如果漢化包里帶了 dll 或 exe很可能污染了主程序。用 2.2 步的備份還原把原文件拷回去看軟件能否正常啟動(dòng)。如果能啟動(dòng)說(shuō)明是漢化文件的問(wèn)題換一個(gè)純語(yǔ)言包重試。如果還原后還是啟動(dòng)不了可能是替換過(guò)程中誤刪了其他文件考慮修復(fù)安裝或重裝。4.2 界面出現(xiàn)方塊或亂碼方塊和亂碼一般是字體或編碼問(wèn)題。Axure RP 11 的中文顯示依賴(lài)系統(tǒng)字體如果你的系統(tǒng)缺少對(duì)應(yīng)字體或者漢化文件的編碼格式不對(duì)比如應(yīng)該是 UTF-8 卻存成了 GBK就會(huì)出現(xiàn)方塊。解決辦法先確認(rèn)系統(tǒng)里有常用的中文字體微軟雅黑、宋體等一般都有。如果字體沒(méi)問(wèn)題那就是漢化文件編碼問(wèn)題換一個(gè)漢化包。這類(lèi)問(wèn)題在純語(yǔ)言包里其實(shí)不常見(jiàn)更多出現(xiàn)在手工修改資源文件的情況下。4.3 漢化后授權(quán)失效前面提過(guò)Axure 的授權(quán)和主程序綁定。如果你只替換了語(yǔ)言資源理論上不會(huì)影響授權(quán)。但如果漢化包里夾帶了修改過(guò)的主程序文件授權(quán)校驗(yàn)就可能失敗。遇到授權(quán)失效第一件事是還原備份確認(rèn)授權(quán)恢復(fù)正常。然后檢查漢化包里到底有沒(méi)有主程序文件。如果有說(shuō)明這個(gè)包不干凈換一個(gè)。4.4 部分菜單漢化后功能異常極少數(shù)情況下漢化后某個(gè)菜單項(xiàng)點(diǎn)擊沒(méi)反應(yīng)或者功能行為變了。這通常是因?yàn)闈h化時(shí)不僅替換了顯示文字還誤改了功能相關(guān)的資源鍵。正常的漢化只改顯示字符串不改功能鍵。如果遇到這種情況還原備份換漢化包。5. 讓漢化更穩(wěn)的幾個(gè)實(shí)操經(jīng)驗(yàn)5.1 安裝路徑千萬(wàn)別用中文這一點(diǎn)單獨(dú)拎出來(lái)講因?yàn)樗呛芏嘈W(xué)問(wèn)題的根源。Axure RP 11 在讀取資源文件時(shí)如果安裝路徑包含中文字符某些情況下會(huì)出現(xiàn)資源加載失敗表現(xiàn)為漢化不生效或者部分界面異常。所以安裝時(shí)老老實(shí)實(shí)用默認(rèn)的英文路徑別圖省事裝到軟件這種中文目錄下。5.2 漢化包和軟件版本要嚴(yán)格對(duì)應(yīng)我整理了一個(gè)簡(jiǎn)單的對(duì)應(yīng)關(guān)系判斷方法情況結(jié)果建議漢化包版本 軟件版本漢化完整度最高直接用漢化包版本略低于軟件版本大部分漢化少量新增字符串為英文可用接受少量英文漢化包版本明顯低于軟件版本漢化不全可能異常換包漢化包版本高于軟件版本可能資源鍵對(duì)不上換包5.3 團(tuán)隊(duì)統(tǒng)一部署的做法如果你要給團(tuán)隊(duì)多臺(tái)機(jī)器統(tǒng)一漢化別一臺(tái)臺(tái)手動(dòng)復(fù)制。正確做法是在一臺(tái)機(jī)器上完成漢化并驗(yàn)證無(wú)誤后把漢化后的語(yǔ)言資源文件夾打包寫(xiě)一個(gè)簡(jiǎn)單的批處理腳本讓腳本自動(dòng)把資源文件復(fù)制到目標(biāo)機(jī)器的安裝目錄。這樣既統(tǒng)一又不容易出錯(cuò)。批處理腳本的核心邏輯就是xcopy或robocopy命令把源資源目錄復(fù)制到目標(biāo)安裝目錄加/Y參數(shù)覆蓋同名文件。腳本里記得加一個(gè)判斷檢測(cè)目標(biāo)目錄是否存在避免路徑寫(xiě)錯(cuò)導(dǎo)致復(fù)制到錯(cuò)誤位置。5.4 漢化后的日常維護(hù)Axure RP 11 如果開(kāi)啟了自動(dòng)更新更新后可能會(huì)覆蓋你替換的語(yǔ)言資源導(dǎo)致漢化失效。所以漢化完成后建議在軟件設(shè)置里關(guān)掉自動(dòng)更新或者每次更新后重新執(zhí)行一遍漢化流程。這也是為什么我一直強(qiáng)調(diào)要保留備份和漢化包方便隨時(shí)重做。另外如果你后續(xù)升級(jí)到了更高的版本原來(lái)的漢化包大概率不能直接用需要找對(duì)應(yīng)新版本的漢化包。升級(jí)前先確認(rèn)有沒(méi)有可用的漢化資源再?zèng)Q定要不要升。5.5 關(guān)于漢化的一個(gè)心態(tài)建議最后說(shuō)點(diǎn)實(shí)在的。漢化能大幅降低上手門(mén)檻但它不是必須的。Axure 的核心操作其實(shí)就那么些常用的菜單和面板用熟了之后英文界面也不影響使用。我見(jiàn)過(guò)一些設(shè)計(jì)師花大量時(shí)間折騰漢化結(jié)果軟件本身的功能反而沒(méi)學(xué)多少。漢化是手段不是目的。把界面弄成中文之后重點(diǎn)還是去練原型設(shè)計(jì)本身。如果漢化過(guò)程中遇到實(shí)在解決不了的問(wèn)題用英文原版繼續(xù)干活也完全沒(méi)問(wèn)題別讓漢化這件事本身變成阻礙你使用工具的障礙。