[App Sharing] 求大佬打包汉化 RapidCopy是FastCopy的可移植版本deepin GNU/Linux
Tofloor
poster avatar
深圳市耀影科技有限公司
deepin
2025-01-14 01:23
Author

介绍:RapidCopy是FastCopy的可移植版本,它运行带有Qt 5的GNU/Linux。

源码主页:https://github.com/KengoSawa2/RapidCopy


- 语言文件 我已经翻译,但是编译不成功,求大佬编译一份中文的DEEPIN 二进制文件

[

tmisc.zip   汉化

](https://storage.deepin.org/thread/202501131718378010_tmisc.zip "附件(Attached)")文件

https://github.com/KengoSawa2/RapidCopy/blob/0add582397f6a537d2983d26e47684a766326872/tmisc.cpp


作者编译的二进制文件

https://github.com/KengoSawa2/RapidCopy/tree/0add582397f6a537d2983d26e47684a766326872/static_bin/ubuntu1804

图片.png

图片.png

Reply Favorite View the author
All Replies
kero990
deepin
2025-01-14 09:33
#1

他的语言文件必须重编译?

Reply View the author
寂静的羽夏
deepin
2025-01-14 11:17
#2

老兄,你没做过 QT 软件多语言支持吧,虽然你的热心值得肯定,这个玩意翻译需要生成 TS 的,然后你到 QT Linguist 去输入翻译然后生成 qm 然后程序加载就完事了。下面俩图是给你提示的:

image.png

image.png

Reply View the author
寂静的羽夏
deepin
2025-01-14 11:20
#3

然后这里写死了,如果多语言的话需要改一下:
image.png

Reply View the author
深圳市耀影科技有限公司
deepin
2025-01-14 15:48
#4
寂静的羽夏

然后这里写死了,如果多语言的话需要改一下:
image.png

😂 我比较暴力,直接吧他的语言对应的源码改啦,可能会出问题,因为我不懂编程,提交给作者IS多语言了,但是作者不知道还更新不。

你这挺厉害的。

我编译他原始项目都没编译成功,提示头文件啥错误的 。。。。哎

大佬可以的话,提交一下和打包一份呗

Reply View the author
寂静的羽夏
deepin
2025-01-14 16:16
#5
深圳市耀影科技有限公司

😂 我比较暴力,直接吧他的语言对应的源码改啦,可能会出问题,因为我不懂编程,提交给作者IS多语言了,但是作者不知道还更新不。

你这挺厉害的。

我编译他原始项目都没编译成功,提示头文件啥错误的 。。。。哎

大佬可以的话,提交一下和打包一份呗

最近是不打算整这个了,我想整的十六进制编辑器开源项目还没弄完嘞。sweat

Reply View the author
深圳市耀影科技有限公司
deepin
2025-01-14 20:00
#6
寂静的羽夏

最近是不打算整这个了,我想整的十六进制编辑器开源项目还没弄完嘞。sweat

sad

膜拜大哥

Reply View the author
lizipeng0013
deepin
2025-01-15 18:52
#7

增加中文翻译:
1.修改mainwindow.cpp,在第77行和78行中间插入以下代码(可以搜索“確認と設定”找到相关代码)

    } else if (cfg.lcid == QLocale::Chinese) { // 支持中文
        translater = new QTranslator();
         main = QApplication::instance();
        QString str = "RapidCopy_" + QLocale(QLocale::Chinese, QLocale::China).name();
        translater->load(str, TRANSLATE_RESOURCE_NAMEBASE);
        main->installTranslator(translater);

2.在rapidcopy_main.pro文件中添加中文的翻译文件(示例如下):

TRANSLATIONS += RapidCopy_ja_JP.ts \
                RapidCopy_zh_CN.ts

3.创建RapidCopy_zh_CN.ts翻译文件并翻译相关字符串
创建(软件源码根目录执行命令):lupdate rapidcopy_main.pro

4.编译翻译文件(软件源码根目录执行命令,此步也可以选择在Qt Linguist翻译完后点发布):lrelease rapidcopy_main.pro

5.修改res.qrc文件,选中第12行替换为以下内容(将qm翻译文件打包到可执行文件中):

​
​​RapidCopy_ja_JP.qm​
​​RapidCopy_zh_CN.qm​

以上操作完成后再编译就可以自动显示中文了


这是我翻译了两个文本后编译运行的效果:
图片.png

Reply View the author
深圳市耀影科技有限公司
deepin
2025-01-15 21:24
#8
lizipeng0013

增加中文翻译:
1.修改mainwindow.cpp,在第77行和78行中间插入以下代码(可以搜索“確認と設定”找到相关代码)

    } else if (cfg.lcid == QLocale::Chinese) { // 支持中文
        translater = new QTranslator();
         main = QApplication::instance();
        QString str = "RapidCopy_" + QLocale(QLocale::Chinese, QLocale::China).name();
        translater->load(str, TRANSLATE_RESOURCE_NAMEBASE);
        main->installTranslator(translater);

2.在rapidcopy_main.pro文件中添加中文的翻译文件(示例如下):

TRANSLATIONS += RapidCopy_ja_JP.ts \
                RapidCopy_zh_CN.ts

3.创建RapidCopy_zh_CN.ts翻译文件并翻译相关字符串
创建(软件源码根目录执行命令):lupdate rapidcopy_main.pro

4.编译翻译文件(软件源码根目录执行命令,此步也可以选择在Qt Linguist翻译完后点发布):lrelease rapidcopy_main.pro

5.修改res.qrc文件,选中第12行替换为以下内容(将qm翻译文件打包到可执行文件中):

​
​​RapidCopy_ja_JP.qm​
​​RapidCopy_zh_CN.qm​

以上操作完成后再编译就可以自动显示中文了


这是我翻译了两个文本后编译运行的效果:
图片.png

  • 你用的是DEEPIN V23 和商店的qt吗?我编译总是出问题😂
Reply View the author
lizipeng0013
deepin
2025-01-16 00:41
#9
深圳市耀影科技有限公司
  • 你用的是DEEPIN V23 和商店的qt吗?我编译总是出问题😂

我用deepin20的DTK自带Qt编译的,没有出现错误

但是用deepin23编译时,由于编译器和Qt版本更新,出现多个错误需要修改代码:

1.在 version.cpp 文件的顶部添加以下代码: #include

2.finactdialog.cpp 文件需要修改两处:

102行-103行

    if(strncpy(title,ui->comboBox_Action->currentText().toLocal8Bit().data(),MAX_PATH) <= 0
        || lstrcmpiV(title, FALSE_V) == 0)

替换为

    strncpy(title, ui->comboBox_Action->currentText().toLocal8Bit().data(), MAX_PATH);
	if (strlen(title) <= 0) 

179行

    if(strncpy(buf,ui->comboBox_Action->currentText().toLocal8Bit().data(),MAX_PATH) > 0)

替换为

    strncpy(buf, ui->comboBox_Action->currentText().toLocal8Bit().data(), MAX_PATH);
	if (strlen(buf) > 0) 

最后,还要为libacl.so创建符号链接,不然会找不到libacl.so导致编译完后链接错误:sudo ln -s /usr/lib/x86_64-linux-gnu/libacl.so.1.1.2301 /usr/lib/libacl.so

本人测试安装的构建工具和开发包如下:sudo apt install build-essential qt5-default libattr1-dev libbsd-dev libacl1-dev qtmultimedia5-dev

用的qmake,没有用cmake

经过以上修改后,我的deepin23测试环境以可以正常编译


另外,据我测试在v23启动速度比v20慢太多了,v20几乎是秒启动

Reply View the author
lizipeng0013
deepin
2025-01-16 00:42
#10
lizipeng0013

我用deepin20的DTK自带Qt编译的,没有出现错误

但是用deepin23编译时,由于编译器和Qt版本更新,出现多个错误需要修改代码:

1.在 version.cpp 文件的顶部添加以下代码: #include

2.finactdialog.cpp 文件需要修改两处:

102行-103行

    if(strncpy(title,ui->comboBox_Action->currentText().toLocal8Bit().data(),MAX_PATH) <= 0
        || lstrcmpiV(title, FALSE_V) == 0)

替换为

    strncpy(title, ui->comboBox_Action->currentText().toLocal8Bit().data(), MAX_PATH);
	if (strlen(title) <= 0) 

179行

    if(strncpy(buf,ui->comboBox_Action->currentText().toLocal8Bit().data(),MAX_PATH) > 0)

替换为

    strncpy(buf, ui->comboBox_Action->currentText().toLocal8Bit().data(), MAX_PATH);
	if (strlen(buf) > 0) 

最后,还要为libacl.so创建符号链接,不然会找不到libacl.so导致编译完后链接错误:sudo ln -s /usr/lib/x86_64-linux-gnu/libacl.so.1.1.2301 /usr/lib/libacl.so

本人测试安装的构建工具和开发包如下:sudo apt install build-essential qt5-default libattr1-dev libbsd-dev libacl1-dev qtmultimedia5-dev

用的qmake,没有用cmake

经过以上修改后,我的deepin23测试环境以可以正常编译


另外,据我测试在v23启动速度比v20慢太多了,v20几乎是秒启动

以上修改是参考的AI回答,不确定会不会有隐藏的Bug,请知晓

Reply View the author
zccrs
deepin
2025-01-16 14:12
#11
寂静的羽夏

最近是不打算整这个了,我想整的十六进制编辑器开源项目还没弄完嘞。sweat

加油

Reply View the author