防遗忘笔记,Fedora交叉编译window下的virt-iewer的汉化

本文详细介绍了如何对virtviewer进行汉化,包括代码资源、安装包安装过程及在Windows平台上的完整汉化方法。涉及调整国际化配置文件、修改安装包XML配置及利用orca工具手动编辑MSI文件等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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


至此,除了安装路径要保持英文外,其它的都能够完美汉化了。:)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值