首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么lupdate不将qml qstr字符串包含到.ts文件中?

lupdate是Qt提供的一个工具,用于提取源代码中的文本字符串,并生成用于国际化的.ts文件。而.qml文件是用于描述Qt Quick界面的文件,其中包含了QML语言的代码和界面元素的定义。

在Qt中,QML中的字符串通常是用双引号括起来的,例如:"Hello World"。而lupdate默认只会提取C++源代码中的字符串,不会自动提取QML文件中的字符串。这是因为QML文件中的字符串通常是用于界面显示的文本,而不是用于程序逻辑的文本。

如果想要lupdate将QML文件中的字符串包含到.ts文件中,可以通过在QML文件中使用tr()函数来标记需要翻译的字符串。tr()函数是Qt提供的用于国际化的函数,它会将字符串包装在一个特殊的标记中,以便lupdate能够识别并提取这些字符串。

例如,在QML文件中使用tr()函数来标记字符串:

Text { text: qsTr("Hello World") }

这样,lupdate在处理源代码时就会识别到这个字符串,并将其包含到生成的.ts文件中。

对于QML文件中的字符串翻译,推荐使用腾讯云的国际化服务,该服务提供了全球化的多语言支持,可以方便地管理和翻译应用程序中的文本内容。具体的产品介绍和使用方法可以参考腾讯云的国际化服务文档:腾讯云国际化服务

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Qt Quick 项目实现根据操作系统语言自动显示指定翻译

我们用 Qt 创建的 Empty 项目来做演示,创建完成后,main.qml 只有如下代码: import QtQuick 2.12 import QtQuick.Window 2.12 Window...将待翻译文件添加到扫描列表 在 Qt 项目的 pro 文件添加如下内容: # 告诉 Qt 翻译处理工具扫描所有当前目录下的 qml 文件 lupdate_only { SOURCES +=...*.qml } # 你要生成几种语言的模板文件,这里指示生成两种,一种英文、一种中文 TRANSLATIONS = app_zh_cn.ts \ app_en_us.ts...如如上注释,lupdate_only 要告诉 Qt 翻译工具你要扫描所有目录下的 qml 文件,TRANSLATIONS 指示要生成几种语言的翻译模板。...生成 .ts 中间文件 点击 Qt Creaetor 菜单栏的工具->外部->Qt语言专家->更新翻译(lupdate),生成中间的 .ts 文件。 ? 此时看下面概要信息生成了如下内容: ?

1.6K20
  • Qt Quick实践系列-多语言切换

    ❝简单的QML小例子,展示如何在QML多语言动态切换。❞ 0x01 加载语言文件操作 /* 加载中文语言(默认) */ QTranslator translator; if (!...创建一个C++自定义类型,用于导入到QML中使用。其中SettingModel的language属性为切换语言的状态。...切换语言操作,通过操作SettingModel类的language属性后,会即刻切换语言(文件)。...qsTranslate("Window", string)的第一个参数是翻译的「上下文」,第二个参数是需要翻译的字段。   关于翻译字段「上下文」理解,选取zh_CN.ts文件内容为例:   从上面可以看出,有两个上下文字段QObject和Window,如果在QML中使用了qsTr是不能直接翻译成功的,必须加上上下文。

    2K20

    QML入门教程:一、QML和QtQuick简介以及QML实例

    但是在 Qt 5 QML 已经不仅限于开发手机应用,也可以用户开发传统的桌面程序。 QML 文档描述了一个对象树。...前者用于引入文档中所需要的组件(有可能是类库,也可以是一个 JavaScript 文件或者另外的 QML 文件);后者用于声明本文档QML 元素。...每一个 QML 有且只有一个根元素,类似于 XML 文档。这个根元素就是这个 QML 文档定义的 QML 元素,在这个例子中就是一个 Window 对象。...Text 显示的是 Hello World 字符串,而这个字符串是由 qsTr()函数返回的。qsTr()函数就是 QObject::tr()函数的 QML 版本,用于返回可翻译的字符串。...运行效果示例: 接下来我们可以改变 main.qml 文件的“Hello World”字符串,不重新编译直接运行,就会看到运行结果也会相应的变化。

    4K20

    macOS平台下Qt应用程序菜单翻译及调整

    Qt应用程序的国际化都是通过ts文件来做翻译的。通过lupdate程序扫描源代码中被tr()宏包裹的字符串,得到需要翻译的字符串。但是这些系统添加的字符串,并没有存在我们的源码当中。...通过网上的一番搜寻发现,有一个直接且简单的方法,直接在ts文件里面添加这些字符串并做好翻译即可。如下所示: 1 3 4 5 demoMainWindow...然后用lupdate更新ts文件即可。这样,我们自己的应用程序也可以翻译好了: ? ? 二、菜单项重排 为了契合不同平台的使用习惯,Qt给菜单添加了Menu Role这样一个定义。...按照设置顺序,各个菜单项将依次出现在应用菜单。比如说上面截图中的Check for Updates菜单项,就是通过设置ApplicationSpecificRole定义来实现的。

    1.4K20

    TypeScript系列教程十《模块》

    JavaScript 模块是怎么定义的 在TypeScript,就像在ECMAScript 2015一样,任何包含顶级import或export的文件都被视为一个模块。...在脚本文件,变量和类型被声明为在共享全局范围内,并且假设您将使用–outFile编译器选项将多个输入文件连接到一个输出文件,或者在HTML中使用多个 如果您的文件当前没有任何导入或导出,但希望将其视为模块...,而不将任何变量包含到当前模块: // @filename: app.ts import "....TypeScript的模块解析选项 模块解析是从import或require语句中获取字符串,并确定该字符串引用的文件的过程。 TypeScript包括两种解析策略:Classic和Node。...该语法具有许多用于创建复杂定义文件的有用功能,并且在DefiniteTyped仍有积极的用途。

    1.5K10

    QT实现登录界面(利用MySQL保存数据和邮箱辅助注册)

    前言        断断续续黑框框下的学生管理系统,也写了不下三次,总在黑框框下呆着也不是一回事,想挑战用qt做一个界面版的学生管理系统,至于为什么选用qt+C++,而不用C#之类的,是因为我目前学习C...)<<recvdata; } Smtp::~Smtp() { delete this->clientsocket; } 原文作者是使用163邮箱,我这里使用qq邮箱,如使用163,只需要将代码qq...4.2 登录主界面 4.2.1 界面背景及按钮效果 界面背景是我自己用ps画的,我们将图片资源统一放到一个名为lib的文件夹里,方便管理。 如何在qt添加资源文件呢?...= ui->lineEdit_4->text();//获取用户输入的验证码 //将字符串转为整形进行验证码判断 int verificationcode_2 = register_qstr.toInt...this,SLOT(myslot())); //绑定槽函数 void MyDialog_2::on_pushButton_clicked() //发送验证码 { //这行代码也是写在上一个函数

    6.2K21

    linux下编译qt5.6.0静态库

    所以如果改变了安装的目录,需要到安装目录下的bin目录下创建文件qt.conf,其内容如下: [Paths] Prefix = 安装路径 首先下载源码qt-everywhere-opensource-src...-no-fontconfig 不编译系统的FontConfig支持 + -fontconfig 编译系统的FontConfig支持 -no-strip 不对二进制文件和库的使用strip去除不需要的符号...设备 (试验性) -device-option 添加device mkspec的device选项 (试验性) * -no-separate-debug-info 不将调试信息存储在一个单独的文件...而这里在mainwindow.cpp文件也定义了一次,所以导致了重定义,这里注释掉即可。注释后重新编译即没有问题。...因为playground-qml_plugin_import.cpp是Qt的qml工具生成的,所以需要在qmake之后再去修改这个文件

    94030

    Qt:windows下Qt安装教程

    Designer(Qt 设计师) 图形界面可视化编辑工具,已被集成在 Qt Creator ,在 Qt Creator 编辑或创建界面文件时,就可以自动打开。...MaintenanceTool.exe ,对于离线安装,它只能用于删除软件,如果 Qt 开发环境是用在线安装方式装的,这个工具还可以管理开发环境组件和升级组件 Qt 类库的帮助文件位于 Docs 文件夹里...rcc Resource Compiler,资源文件编译器,负责在项目构建过程编译 .qrc 资源文件,将资源嵌入到最终的 Qt 程序里。...linguist Qt 语言家,代码里用 tr() 宏包裹的就是可翻译的字符串,开发人员可用 lupdate 命令生成项目的待翻译字符串文件 .ts,用 linguist 翻译多国语言 .ts ,翻译完成后用...qmlscene 在 Qt 4.x 里是用 qmlviewer 进行 QML 程序的原型设计和测试,Qt 5 用 qmlscene 取代了旧的 qmlviewer。

    5.8K20

    OpenCV3 和 Qt5 计算机视觉:11~12

    对于我们的示例案例,让我们创建一个包含可执行文件文件夹,因为它描述了所有可执行文件,您可以通过将其他简单地添加到packages文件来创建其他。...现在,请执行以下必需步骤: 现在,在我们创建的新文件夹com.amin.qtcvapp文件创建两个文件夹。 将它们重命名为data和meta。 这两个文件夹必须存在于所有。...将您的应用文件复制到data文件。 该文件夹将完全按原样提取到目标文件(我们将在后面的步骤讨论如何设置的目标文件夹)。 如果您打算创建多个,请确保以合理的方式正确分离其数据。...,您会注意到其中包含的文件比放入数据文件文件多。...以下1和0引用该库的版本 1.0,最后一个文字字符串是可在我们的 QML 类型内部使用的类型标识符,以访问和使用这些新类。 最后,我们可以开始使用main.qml文件的 C++ 类。

    6.3K20

    全面认识 Qt Widgets、QML、Qt Quick

    标记语言:像 C++ 一样,QML 也是一种语言,它的文件以 .qml 结尾。...Qt Quick 使用 QML 作为声明语言,来设计以用户界面为中心的应用程序。严格来讲,Qt Quick 是一个用于 QML 的工具,允许以 QML 语言来开发图形界面。...当然,还有其他的工具用于 QML: 图形化的(例如:Sailfish Silica 或 BlackBerry Cascades) 非图形的(例如:QBS - QMake/CMake/make ............ 3 为什么要引入 QML/Qt Quick? 既然有了 Qt Widgets,为什么还要引入 QML/Qt Quick 呢?...UI 设计 它们都可以与 Qt Designer 一起工作,并生成相应的 ui 文件(在 Qt Widgets 文件后缀是 .ui;而在 Qt Quick 文件后缀是 .ui.qml),为设置布局和创建接口提供了一个高级视图

    5.6K20

    如何校验 Debian 软件的 MD5

    你有没有想过为什么安装在你系统上的某个二进制文件或软件没有按预期的那样来运行,或者说没有按正常的方式来运行,也许它根本就无法启动。...考虑到这是维护系统上未损坏软件的一个重要因素,因而对照存储在软件的信息,验证文件系统上的文件是个重要步骤,为此需要阅读本文。 如何对照MD5校验和校验已安装的Debian软件?...我在自己的系统没有找到任何变化的文件。 $ sudo debsums --changed 下一个命令输出没有md5sum信息的文件,这里我们使用-l和–list-missing选项。...all――指令debsums忽视磁盘上和,使用deb文件存在的和,或者如果没有的话,就用它生成一个。...$ man debsums 在本文中,我们介绍了如何对照MD5校验和校验已安装的Debian/Ubuntu软件,为了避免在你的系统上安装和执行损坏的二进制文件或软件文件,有必要对照软件存储的信息来校验文件系统上的文件

    1.3K20

    Qt图形库-QCustomPlot

    如果您使用的是Qt 5.0或更高版本,则需要在.pro文件的QT变量添加printsupport。...将QCustomPlot作为.so/.dll动态库使用 使用动态库意味着不将.h/.cpp文件含到您的项目中,而是与外部qcustomplot.so(GNU/Linux)或qcustomplot.dll...下载部分的sharedlib软件提供了两个项目来证明这一点:一个编译的QCustomPlot动态库,另一个使用动态库。 这应该很快使您开始使用QCustomPlot作为动态库。...运行示例 下载部分的QCustomPlot.tar.gz软件包包含示例项目,这些项目已准备好进行编译。 只需将整个程序提取到一个新目录,在示例目录中导航并运行qmake即可; 制作。...或者,您可以在QtCreator打开.pro文件,然后从那里处理示例。

    2.4K10

    Qt 5.15长期支持版本正式发布

    添加了静态模板QDebug::toString函数,该函数将给定的对象传输到对字符串进行操作的QDebug实例,然后返回该字符串。...Qt QML 「引入了内联组件(能够在同一文件声明多个QML组件)。」 引入了一些所需的属性。 添加了一种向QML注册类型的声明方式。...qmllint现在对代码有更智能的分析,并会警告不推荐使用的QML功能。 添加了QML格式化工具,该工具可以根据QML编码约定自动格式化任何QML文件。 添加了对Nullish合并运算符(??)...平台变更 Android 默认情况下,使用Android的本机文件对话框进行打开(文件,多个文件,目录)和保存操作。...Qt官网已取消了Qt 5.15版本二进制安装。如果要安装Qt 5.15需要下载源码自行编译安装或使用商业授权版本(可试用体验)。

    4K20

    【Bun1.0】使用 Bun.js 构建快速、可靠和安全的 JavaScript 应用程序

    dotenv,cross-env - Bun 默认读取 .env 文件 转译器 - Bun 可以运行 .js,.ts,.cjs,.mjs,.jsx 和 .tsx 文件,这些文件可以替代: tsc -...Bun 是一个单一的集成工具,避免了这些集成问题。工具的每个工具都提供最佳的开发体验,从性能到 API 设计。 7js运行时 Bun 是一个 JavaScript 运行时环境。...无需担心文件扩展名、.js vs .cjs vs .mjs,或在 package.json 包含 "type": "module"。...在命令行,导航到包含 server.js 文件的目录,并运行以下命令: bun server.js Bun.js 将会运行 server.js 文件,并在控制台中输出 "Listening on http...现在,可以在浏览器访问 http://localhost:3000/,并将会看到 file.txt 文件的内容。

    82230

    Qt框架简介

    13、为什么随便写一个Hello World,编译出来都30几MB? 因为Qt默认使用动态编译,所以编译出来体积超大。可以使用UPX压缩壳。 14、怎样使用Qt静态编译代码?...(5.14.0不支持windeployqt) 动态编译后,可以使用NSIS制作成安装。 静态编译,再加UPX压缩壳,即可发布,而且是单一文件。 16、怎样把Qt的代码,移植到ARM?...29、Qt的动态编译文件太多,如何打包成一个文件? 使用Enigma Virtual Box,但是可能会被杀毒软件杀掉。 使用NSIS制作成安装。 使用第14点的静态编译。...也可以使用Mupdf,或者在浏览器调用pdf.js。 42、如何输出Word、PPT、PDF文件?...45、怎样防止qml源码泄漏? 使用记事本打开编译qml成生的exe文件,如下图所示。 可以直接看到qml源码。这里对该exe进行加壳,即可防止源码泄露。

    5.1K20
    领券