zl程序教程

您现在的位置是:首页 >  工具

当前栏目

【QT】多语言翻译

Qt语言 翻译
2023-09-27 14:25:56 时间
QT多语言翻译方法tr()函数获取需要翻译的文本lupdate.exe编译生成xxx.ts文件linguist.exe进行翻译lrelease.exe生成去xxx.qm文件示例

单一语言翻译,直接main中注册

QTranslator *translator = new QTranslator;

translator- load("lang_en.qm");

a.installTranslator(translator);//安装翻译器

多种语言

#include "widget.h"

#include "ui_widget.h"

#include QVBoxLayout 

#include QTranslator 

#include QApplication 

Widget::Widget(QWidget *parent) :

 QWidget(parent),

 ui(new Ui::Widget)

 ui- setupUi(this);

 m_languageBox = new QComboBox;

 m_languageBox- addItem("Chinese","zh");

 m_languageBox- addItem("English","en");

 m_languageBox- addItem("Latin","la");

 m_languageBox- addItem("Franch","fr");

 connect(m_languageBox,SIGNAL(currentIndexChanged(int)),this,SLOT(changeLanguage(int)));

 //tr()函数用于获取需要翻译的文本

 m_nameLabel = new QLabel(tr("快乐的威猛先生"));

 m_signLabel = new QLabel(tr("人生如戏。"));

 setWindowTitle(tr("测试"));

 resize(400,100);

 QVBoxLayout* layout = new QVBoxLayout(this);

 layout- addWidget(m_languageBox);

 layout- addWidget(m_nameLabel);

 layout- addWidget(m_signLabel);

Widget::~Widget()

 delete ui;

void Widget::changeLanguage(int index)

 static QTranslator *translator;

 if(translator){

 qApp- removeTranslator(translator);

 delete translator;

 translator = nullptr;

 translator = new QTranslator;

 QString languageCode = m_languageBox- itemData(index).toString();

 QString qmFile = "lang_"+languageCode;

 if(translator- load(qmFile)){

 qApp- installTranslator(translator);

 //翻译文本——找不到则用逗号后面的

 m_nameLabel- setText(tr("TXT_NAME_WORD","Happy Mr. Weimeng"));

 m_signLabel- setText(tr("TXT_SIGN_WORD","Life is like a play."));

 setWindowTitle(tr("TXT_TITLE_WORD","Test"));

image-20220324143331190

image-20220324141646936

注意事项pro文件添加,xx.ts

image-20220324115943675

g++ Maybe you forgot to setup the environment?

解决方法——https://www.cnblogs.com/ybqjymy/p/13552032.html

lupdate.exe

image-20220324120259504

翻译完打钩

image-20220324133329545

点击发布

image-20220324133418779


Google Java编程风格规范(2020年4月原版翻译) Google Java Style Guide 这份文档是Google Java编程风格规范的完整定义。当且仅当一个Java源文件符合此文档中的规则, 我们才认为它符合Google的Java编程风格。 与其它的编程风格指南一样,这里所讨论的不仅仅是编码格式美不美观的问题, 同时也讨论一些约定及编码标准。然而,这份文档主要侧重于我们所普遍遵循的规则,
Unity2019.1中文技术手册离线版 使用离线版优质、系统化的教程、经验文档、参考手册,为开发者节省时间,提高效率! 解压后打开UnityDocumentation_2019.1/Manual/index.html需要的自取,下载地址: https://pan.baidu.com/s/15rcBvr6JvM-wVYzGtSstdg