当前位置: 首页 > news >正文

哪里有网站建设哪家好aso优化排名推广

哪里有网站建设哪家好,aso优化排名推广,wordpress 插件制作教程,c 网站开发面试题这篇文章展示了集成Qt Linguist 的功能。 但是有时候Qt的翻译功能比较繁琐,我们简单项目只需要使用本地化功能,将中文字符串导入到项目中,避免编码格式问题导致的乱码。 只需要使用一个简单的json或者其他格式的本地文件作为映射的key/value.…

这篇文章展示了集成Qt Linguist 的功能。
但是有时候Qt的翻译功能比较繁琐,我们简单项目只需要使用本地化功能,将中文字符串导入到项目中,避免编码格式问题导致的乱码。
只需要使用一个简单的json或者其他格式的本地文件作为映射的key/value.

当完全需要自定义翻译文件,或者只是简单的避免将中文写入cpp文件导致显示在ui上乱码时可以使用

创建 派生类,并实现翻译方法。

class JBTranslator : public QTranslator {public://保存自己的翻译QHash<QString, QString> m_texts;//override 基类虚函数,当需要翻译的时候会自动调用QString translate(const char *context, const char *sourceText, const char *disambiguation = nullptr, int n = -1) const override{if (m_texts.contains(sourceText)) {return m_texts.value(sourceText);}return sourceText;}
};

在 app 初始化后立即注册调用

int main(int argc, char *argv[])
{QApplication a(argc, argv);// 申明自定义类的实例JBTranslator translator;//用自定义的翻译实例替换系统默认的QApplication::installTranslator(&translator);/* :/tran.json 文件的内容,该文件也可以放在其他位置或其他类型的文件,只需要最终读取出来放入translator.m_texts变量即可
{"Hello_key": "你好,这是value","Hello_key2": "中文测试文字2"
}
*/QFile file(":/tran.json");if (!file.open(QFile::ReadOnly)) {qWarning() << "Cannot open translation file for reading.";return -1;}QJsonDocument doc = QJsonDocument::fromJson(file.readAll(), nullptr);QJsonObject jsonObj = doc.object();for (auto it = jsonObj.begin(); it != jsonObj.end(); ++it) {//将自定义的json文件的翻译字段,加载到我们类的变量中translator.m_texts.insert(it.key(), it.value().toString());}//这里调用后,会在 JBTranslator::translate(...) 方法中查找,并返回翻译好的字符串//手动调用tr(), 或者ui文件中自动调用翻译功能QString t = QObject::tr("Hello_key");//localized string:  "你好,这是value"qDebug() << "localized string: " << t; MainWindow w;w.show();return a.exec();
}

验证结果

调用代码:

    QString t = QObject::tr("Hello_key");qDebug() << "localized string: " << t; 

打印结果: localized string: "你好,这是value"

全局代码

#include "mainwindow.h"#include <QApplication>
#include <QTranslator>
#include <QFile>
#include <QJsonDocument>
#include <QJsonObject>
#include <QTextStream>
#include <QHash>
#include <QDebug>class JBTranslator : public QTranslator {public://保存自己的翻译QHash<QString, QString> m_texts;//override 基类虚函数,当需要翻译的时候会自动调用QString translate(const char *context, const char *sourceText, const char *disambiguation = nullptr, int n = -1) const override{if (m_texts.contains(sourceText)) {return m_texts.value(sourceText);}return sourceText;}
};int main(int argc, char *argv[])
{QApplication a(argc, argv);// 申明自定义类的实例JBTranslator translator;//用自带的翻译实例替换系统默认的QApplication::installTranslator(&translator);/*
{"Hello_key": "你好,这是value","Hello_key2": "中文测试文字2"
}
*/QFile file(":/tran.json");if (!file.open(QFile::ReadOnly)) {qWarning() << "Cannot open translation file for reading.";return -1;}QJsonDocument doc = QJsonDocument::fromJson(file.readAll(), nullptr);QJsonObject jsonObj = doc.object();for (auto it = jsonObj.begin(); it != jsonObj.end(); ++it) {//将自定义的json文件的翻译字段,加载到我们类的变量中translator.m_texts.insert(it.key(), it.value().toString());}//这里调用后,会在 JBTranslator::translate(...) 方法中查找,并返回翻译好的字符串QString t = QObject::tr("Hello_key");//localized string:  "你好,这是value"qDebug() << "localized string: " << t; MainWindow w;w.show();return a.exec();
}
http://www.hkea.cn/news/13770/

相关文章:

  • 那些网站可以做公司的推广网站做优化好还是推广好
  • 网站怎么做充值提现功能什么推广方法是有效果的
  • 西安志成网站建设公司网站查询服务器
  • 长沙诚信做网站上海网站seo招聘
  • vps 需刷新几次才能打开网站seo综合查询怎么进入网站
  • 德州做网站最好的公司网站播放视频速度优化
  • vs网站开发参考文献在线智能识图
  • 网站的界面设计广告营销推广
  • 陕西省建设工会网站深圳seo公司助力网络营销飞跃
  • 淘客网站后台怎么做企业文化的重要性
  • 桂林微信网站十大跨境电商erp排名
  • 房产如何做网站seo专家是什么意思
  • 惠州做网站乐云seoseo优化百度技术排名教程
  • 外国人学做中国菜的网站外贸网站搭建推广
  • b2b网站发布信息企业网络推广
  • 苏州苏州设计公司seo内容优化方法
  • 郑州建材公司网站建设武汉网站开发公司seo
  • 佛山新网站建设流程上海网站建设开发公司
  • 做视频网站需要什么软件有哪些百度信息流广告推广
  • 甘肃自助建站系统哪家好重庆seo推广外包
  • c 小说网站开发教程100个商业经典案例
  • 虚拟主机建设二个网站百度开户代理
  • 做内贸现在一般都通过哪些网站搜索关键词网站
  • 沈阳整站优化3d建模培训学校哪家好
  • 网站建设 新手从企业qq怎么申请注册
  • 做图网站有哪些内容怎么创建自己的网址
  • 合肥高端网站开发百度搜索引擎优化指南最新版
  • 制作自己的网站需要什么软件好一个域名大概能卖多少钱
  • 做可动模型的网站如何让自己网站排名提高
  • 网上设计接单赚钱seo服务指什么意思