成功编译qgis,启动程序发现对话框上的OK、Open、Cancel、Help等依然是英文字段,然后查找源码看这些字段是否都添加到了语言翻译包中;

最后发现这些按钮都是qt的QTGui4库中的QDialogButtonBox类,而qgis_zh_CN.qm文件中也确实未搜索到这些英文(利用qt的linguist.exe翻译程序打开搜索)

为了解决这个问题,我最开始考虑,难道到编译qt项目解决,下载qt源码,查找后发现这些英文都已经添加到了翻译中,而且qgis本身也是依赖qt的,使用的都是统一种方法翻译的;

那么是否可以手动通过添加这些英文字段来翻译?

首先,通过qt的linguist.exe打开qgis编译的qgis_zh_CN.qm文件,发现似乎不能添加,尝试换一种方法;

通过文本编译器打开qgis源码中的qgis_zh_CN.ts文件,按照里面的方法添加如下:

<context>
  <name>QDialogButtonBox</name>//类名
  <message>
    <source>&amp;OK</source>
    <translation>确定</translation>
  </message>
  <message>
    <source>OK</source>
    <translation>确定</translation>
  </message>
  <message>
    <source>&amp;Save</source>
    <translation>保存</translation>
  </message>
  <message>
    <source>Save</source>
    <translation>保存</translation>
  </message>
  <message>
    <source>Open</source>
    <translation>打开</translation>
  </message>
  <message>
    <source>&amp;Cancel</source>
    <translation>取消</translation>
  </message>

.....

</context>

然后,通过qt的linguist.exe打开刚刚修改的qgis_zh_CN.ts文件,在通过Release As另存为qgis_zh_CN.qm文件,替换原来的文件,

OK,成功了

QGis、Qt对话框上的OK、Open、Cancel、Help等英文翻译的更多相关文章

  1. VC++ MFC获取对话框上控件的位置

    CRect rect; GetDlgItem(控件ID)->GetWindowRect(&rect);//获取控件的屏幕坐标 ScreenToClient(&rect);//转换 ...

  2. 对话框上动态控件的创建、在Picture Control控件上显示图片

    1  MFC对话框之上的动态控件的创建 对话框上的控件是MFC类的一个具体对象. 当在对话框之上使用静态控件时,可以根据类向导来为每个控件添加消息.响应函数以及变量. 当需要在对话框中动态的创建某个控 ...

  3. mfc获取控件在对话框上的位置

    CRect rect; GetDlgItem(控件ID)->GetWindowRect(&rect);//获取控件的屏幕坐标ScreenToClient(&rect);//转换为 ...

  4. Qt对话框_模态/非模态

    对话框在Qt GUI应用程序中有着广泛的用途,对话框有模态.非模态两种情况. 对于参数选择的对话框,一般用模态对话框:对于显示或查看某些内容的对话框,一般用非模态对话框. 对话框类QDialog,官方 ...

  5. QT 对话框一

    标准文件对话框 其函数形式如下:: QString QFileDialog::getOpenFileName ( QWidget * parent=, const QString &capti ...

  6. QT对话框模式与非模式

    QT模态对话框及非模态对话框 非模态对话框(Modeless Dialog)的概念不是模态对话框就是在其没有被关闭之前,用户不能与同一个应用程序的其他窗口进行交互,直到该对话框关闭.对于在模态来显示对 ...

  7. Qt对话框QDialog

    QDialog是Qt中所有对话框窗口的基类 当QWidget无父组件的时候作为一个独立的窗口,有父组件的时候,将作为一个可见的部件嵌入到父组件里面. QDialog不能作为子部件嵌入到其他容器中 对话 ...

  8. QT对话框中show和exec的区别

    转自:http://hi.baidu.com/wangjuns8/blog/item/24b382460dd1c1338694737d.html QDialog的显示有两个函数show()和exec( ...

  9. QT对话框

    QFileDialog:文件对话框 QString fileName=QFileDialog::getOpenFileName(this,"打开文件", "/" ...

随机推荐

  1. Xcode的一个简单的UITests

    国内写Tests的很少,写UITests的更少了...或许只是我眼见不够开阔.网上那么几篇都是Swift的.这里给个简单的OC. - (void)viewDidLoad { [super viewDi ...

  2. CentOS 7 Git安装

    Git安装 yum -y install git 安装后,在srv目录下建立Git的目录. 初始化一个git空仓库 git init --bare project.git 增加用于访问git仓库的用户 ...

  3. javaSE基础03

    javaSE基础03 生活中常见的进制:十进制(0-9).星期(七进制(0-6)).时间(十二进制(0-11)).二十四进制(0-23) 进制之间的转换: 十进制转为二进制: 将十进制除以2,直到商为 ...

  4. JS截取,删除,替换字符串常用方法详细

    删除和替换是一样的,开始用的是,如果是删除就直接替换为空 arr="abc001abc002abc003" arr.replace('abc','123') 结果发现只能替换第一个 ...

  5. 106运用SWITCH语句打印星期几的单词

    package com.chongrui.test;/*运用SWITCH语句打印星期几的单词 * */ public class TypeConvertion { public static void ...

  6. net-force.nl/programming writeup

    从 wechall.net 到 net-force.nl 网站,发现网站的内容不错,里面也有不同类型的挑战题目:Javascript / Java Applets / Cryptography / E ...

  7. 【leetcode】Minimum Depth of Binary Tree

    题目简述: Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along th ...

  8. C# DM5 32位加密

    using System.Security.Cryptography;using System.Text; public static string StringToMD5Hash(string in ...

  9. Python帮助文档中Iteration iterator iterable 的理解

    iteration这个单词,是循环,迭代的意思.也就是说,一次又一次地重复做某件事,叫做iteration.所以很多语言里面,循环的循环变量叫i,就是因为这个iteration. iteration指 ...

  10. Knockout.js随手记(7)

    数组元素的新增/移除事件 前两篇博客已经很清楚的知道knockout.js通过observableArray()数组元素增减,可以实时的反映在UI上.当然我们想在数组增加或移除元素时加上自定义逻辑就好 ...