防遗忘笔记,Fedora交叉编译window下的virt-iewer的汉化
来源:互联网 发布:oracle数据库的decode 编辑:程序博客网 时间:2024/06/09 13:44
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
至此,除了安装路径要保持英文外,其他的都可以完美汉化了。:)
- 防遗忘笔记,Fedora交叉编译window下的virt-iewer的汉化
- 防遗忘笔记,Fedora交叉编译window下的virt-iewer
- 防遗忘笔记:推荐一个ubuntu 下可以通过命令行发送邮件的软件
- qtopia-2.2.0的交叉编译以及移植Ⅱ(在Fedora下构建嵌入式QT环境)
- virt viewer 3.0 交叉编译
- vi 的经典命令防遗忘
- fedora 10下交叉编译环境构建
- 在Fedora下建立交叉编译环境
- Ubuntu下的交叉编译
- fedora环境交叉编译transmission1.83的QT工程
- 防遗忘笔记:tizen下截屏
- window下ffmpeg的编译
- window下BitCoin的编译
- window下ffmpeg的编译
- Window下的Caffe2编译
- Fedora 16下ACE的编译安装
- Fedora下ALSA的编译与安装
- Fedora下的Ogre编译与安装
- webrtc--AudioProcessing的使用
- ubuntu下nginx安装手记
- 基于OpenStack构建手写识别数据即服务云平台
- 全渠道时代的金融网络解决方案
- 高考特招腐败要通过“雷霆万钧”的惩处
- 防遗忘笔记,Fedora交叉编译window下的virt-iewer的汉化
- Linux面试必问-对比文件夹内容的命令“Diff”详解
- jqGrid 参考网址
- oj平台-以public方式继承
- 正则表达式
- 如何在面试时写出高质量的代码
- Spring mvc中@RequestMapping 6个基本用法小结
- windows下删除svn注册表。
- C++通过MySQL自带API输入随机生成的人物信息