防遗忘笔记,Fedora交叉编译window下的virt-iewer的汉化
1. 漢化代碼里的資源
virtviewer使用的是gettex的方案是標準的linux里國際化的方案。按道理僅僅須要改動virtualviewer/po/zh_CN.po的文件。
編譯。
然后確認在代碼里設置好正確的locale。綁定好正確的textdomain就能夠了。
查看irtviewer的代碼,在 virt-viewer-util.c里的virt_viewer_util_ini有對應的設置
可是,改動了zh_CN.po并編譯安裝后,發現沒有效果。。
。
???
后來發現是virtviewer的一個bug。
通過打印,發現
bindtextdomain(GETTEXT_PACKAGE, LOCALE_DIR);
bind的是LOCALE_DIR ??/usr/share/locale。 這個地址在window上是找不到的。
因此須要針對window在設置新的地址 “appdir/../share/locale/”
改動完了后。就能夠看到window上也顯示正常的中文了 :)
2. 漢化安裝包安裝過程。
首先改動
virtualview/data/virt-viewer.wxs.in 中的
?<Product Id="*"
? ? ? ? ? ?Name="VirtViewer @VERSION@@BUILDID@ ($(var.ArchString))"? ? ? ? ? ?Manufacturer="$(env.MANUFACTURER)"
? ? ? ? ? ?Version="$(var.Version)"
? ? ? ? ? ?UpgradeCode="$(var.UpgradeCode)"
? ? ? ? ? ?Language="1033">
改為
? <Product Id="*"
? ? ? ? ? ?Name="VirtViewer @VERSION@@BUILDID@ ($(var.ArchString))"
? ? ? ? ? ?Manufacturer="$(env.MANUFACTURER)"
? ? ? ? ? ?Version="$(var.Version)"
? ? ? ? ? ?UpgradeCode="$(var.UpgradeCode)"
? ? ? ? ? ?Language="2052"?
? ? ? ? ? ?Codepage="936">
?Language="1033" 改為?Language="2052" ?再 加入?? ? ?Codepage="936"
理論上能夠改動這個文件中對應的MENUDIR等,全然漢化的。可是改動了之后發現安裝包不能工作。
在window下提示破損。
時間原因,沒有細致查看為什么,預計是改動時用的UTF-8編碼,可是安裝是是依照GBK編碼解析。所以出錯了。
採用了第三步,后期漢化的方法繞過了這個問題。
3. 在window上改動安裝包,完整漢化
步驟:
用orca.exe(一個window出的能夠改動msi文件的應用)手動改動
1. 改動Shortcur的Name
2. 改動Property的Manufacturer,ProductName,APPHELPLINK,APPURLINFOABOUT
3. 改動Directory中的INSTALLDIR(須要保持英文名。所以不改動),MENUDIR
4. 改動LaunchCondition中的Description
至此,除了安裝路徑要保持英文外,其它的都能夠完美漢化了。:)
轉載于:https://www.cnblogs.com/blfbuaa/p/6872732.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的防遗忘笔记,Fedora交叉编译window下的virt-iewer的汉化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++基础知识小记
- 下一篇: 【网络流24题】试题库问题