2016年10月

qt翻译国际化

一、简单一个例子,比如下面代码,使用tr()来控制需要翻译的代码
void MainWindow::on_Test_clicked()
{

QString a = tr("Do a test.");
qDebug() << a;
Dialog * aa = new Dialog();
aa->show();

}
二、对tr里面的内容进行翻译和发布
1、使用lupdate命令和lrelease命令进行转化
2、使用QT Creator进行可视化操作
update.jpg
如果使用第二种办法的话还需要更改.pro文件,增加以下代码
TRANSLATIONS = zh_cn.ts
对生成的ts文件进行修改,内容是xml格式的,文本编辑器进行更改就可以,确认无误后就把translation里面的type标签去掉,然后就可以进行发布。
三、进行发布
修改main.cpp,大概结构如下,有两个需要注意的地方
int main(int argc, char *argv[])
{

QApplication a(argc, argv);

QTranslator tsor;           //创建翻译器
/*
 * 加载语言包,注意:
 * a.如果是在IDE中调试的话就要把qm文件放到Makefie的同级目录
 * b.如果是直接运行exe文件的话就要把qm文件放到exe的同级目录
 */
bool ret = tsor.load("zh_cn.qm");
qDebug() << ret;
a.installTranslator(&tsor); //安装翻译器

MainWindow w;
w.show();

return a.exec();

}

rhel 7使用unbound部署ddns

1、首先第一步安装,我这里已经安装过了
[root@colourstek wangmin]# yum install unbound
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Package unbound-1.4.20-26.el7.x86_64 already installed and latest version
Nothing to do
[root@colourstek wangmin]# systemctl restart unbound //启动DNS服务
[root@colourstek wangmin]# systemctl enable unbound //开机自动启动DNS服务
ln -s ‘/usr/lib/systemd/system/unbound.service‘ ‘/etc/systemd/system/multi-user.target.wants/unbound.service‘

2、修改配置文件
unbound安装好之后,默认配置文件地址为/etc/unbound/unbound.conf
贴上我的配置文件,加粗部分为我的修改
dns1.jpg
dns2.jpg
dns3.jpg
dns4.jpg
dns5.jpg
dns6.jpg
dns7.jpg
dns8.jpg
3、验证
[root@colourstek wangmin]# unbound-checkconf
[1476341835] unbound-checkconf[176447:0] warning: root hints /etc/unbound/root.hints: no NS content
unbound-checkconf: no errors in /etc/unbound/unbound.conf

4、重启unbound服务,如果防火墙是开的最好关掉
[root@colourstek wangmin]# systemctl restart unbound