Qt5的lupdate与lrelease是安装包自带的,Qt6需要手动下载编译安装:
https://download.qt.io/official_releases/qt/6.5/6.5.3/submodules/
wget https://download.qt.io/official_releases/qt/6.5/6.5.3/submodules/qttools-everywhere-src-6.5.3.tar.xz
tar -xvf qttools-everywhere-src-6.5.3.tar.xz
mkdir qttools-everywhere-src-6.5.3/build
cd qttools-everywhere-src-6.5.3/build
开始编译Linuist工具:
cmake -G Ninja \-DCMAKE_PREFIX_PATH=/opt/Qt/6.5.3 \-DCMAKE_INSTALL_PREFIX=/opt/Qt/6.5.3 \-DFEATURE_assistant=OFF \-DFEATURE_clang=OFF \-DFEATURE_designer=OFF \-DFEATURE_pixeltool=OFF \-DFEATURE_qdbus=OFF \-DFEATURE_qtattributionsscanner=OFF \-DFEATURE_qtdiag=OFF \-DFEATURE_qtplugininfo=OFF \..cmake --build . --parallelcmake --install .
cmake配置过程中可能会报发生错误:
CMake Error: CMake was unable to find a build program corresponding to “Ninja”. CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
– Configuring incomplete, errors occurred!
解决方法:
下载ninja-build
sudo apt update
sudo apt install ninja-build
之后继续执行
cmake --build . --parallel
cmake --install .
会将linguist、lupdate、lrelease安装到/opt/Qt/6.5.3/bin/
这时记得将/opt/Qt/6.5.3/bin/目录路径添加到.bashrc中PATH环境变量中,并source它生效。
现在就可以手动在Qt项目文件路径下,.pro文件路径下手动执行:
//生成.ts文件
lupdate -recursive . -extensions cpp,qml -ts translation_cn.ts translation_en.ts
//生成.qm文件
lrelease translation_cn.ts translation_en.ts
大功告成!