Compare commits

..

36 Commits

Author SHA1 Message Date
c72885ff55 update dtk-build-release-tag-20220425.yml 2023-09-17 00:47:45 +00:00
beba54925c update pipeline-dtk-build-aarch64.yml 2023-09-17 00:43:22 +00:00
aba67f19b4 update pipeline-dtk-build-aarch64.yml 2023-09-17 00:41:12 +00:00
9708db56d6 fix ci
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-09-17 00:37:26 +00:00
1ee5b412b8 try fix ci
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-09-17 00:36:54 +00:00
a14613018b update README.zh.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-09-17 00:33:27 +00:00
086c490bb7 update README.zh.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-09-17 00:32:44 +00:00
3db4cd8a62 update README.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-09-17 00:29:11 +00:00
104f8b798f !237 优化下载错误和规范程序代码
Merge pull request !237 from Pluto/dev
2023-09-17 00:25:47 +00:00
5ede18a8d3 update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-09-17 00:24:53 +00:00
375a520a14 enhance: 完善日志内容 2023-09-16 21:11:53 +08:00
d41364c063 Merge branch 'dev' of gitee.com:uniartisan2018/spark-store into dev 2023-09-16 20:27:58 +08:00
a6cd981a51 enhance: 打印崩溃堆栈 2023-09-16 20:26:58 +08:00
9660eaafd3 update README.zh.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-09-16 12:17:05 +00:00
1cc9d3bdd6 update README.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-09-16 12:16:08 +00:00
6790283ace changelog fix v23 2023-09-16 19:55:20 +08:00
735e99d891 Merge branch 'dev' of gitee.com:uniartisan2018/spark-store into dev 2023-09-16 19:49:19 +08:00
9b4dae382d fixup: 修复编译错误 2023-09-16 19:49:07 +08:00
c1ccf51258 fixup! Enhance: 规范性提升 2023-09-16 19:47:54 +08:00
61a28b1d73 changelog 2023-09-16 19:13:43 +08:00
2a5e1280f9 update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-09-16 10:39:59 +00:00
72d1374503 Merge branch 'dev' of gitee.com:uniartisan2018/spark-store into dev 2023-09-16 18:33:36 +08:00
c791ad4afb fixup! bugfix: 修复CPU占用高、修复下载失败等问题 2023-09-16 18:33:19 +08:00
1037330324 update src/backend/downloadworker.cpp.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-09-16 10:31:25 +00:00
7acd2edbcc fix: 修正错误消息 2023-09-16 18:28:30 +08:00
8392fbb64e bugfix: 修复CPU占用高、修复下载失败等问题 2023-09-16 18:22:15 +08:00
24dbed8864 Enhance: 规范性提升 2023-09-16 18:21:45 +08:00
4330abdf0b update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-09-14 06:22:25 +00:00
72d8bf883b update tool/aptss.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-09-14 06:21:20 +00:00
d33c85b5e6 update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-09-13 10:23:10 +00:00
f557a0d341 * 新增:内置在终端打开功能
* 调整:散列验证更改为使用sha256
2023-09-11 09:08:21 +08:00
56692bbdc3 add DOCS/json-api-doc.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-09-09 05:56:59 +00:00
def03de995 update DOCS/spk-doc.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-09-09 05:52:02 +00:00
ebef968a65 !234 合并翻译
Merge pull request !234 from depend/dev
2023-09-08 14:08:39 +00:00
d832df6efd update 西班牙语翻译 2023-09-04 11:32:59 +08:00
cc3561777e update 法语翻译 2023-09-04 11:26:07 +08:00
27 changed files with 1181 additions and 210 deletions

View File

@@ -2,7 +2,7 @@ version: '1.0'
name: dtk-build-release-tag-20220425 name: dtk-build-release-tag-20220425
displayName: dtk-build-release-tag displayName: dtk-build-release-tag
triggers: triggers:
trigger: auto trigger: manual
push: push:
tags: tags:
prefix: prefix:

View File

@@ -25,10 +25,12 @@ stages:
- apt update - apt update
- export DEBIAN_FRONTEND=noninteractive - export DEBIAN_FRONTEND=noninteractive
- echo "安装wget qemu-user-static" - echo "安装wget qemu-user-static"
- apt install wget qemu-user-static xz-utils -y - apt install git wget qemu-user-static xz-utils binfmt-support -y
- mkdir ../spark-store-git - mkdir ../spark-store-git
- mv * ../spark-store-git - mv * ../spark-store-git
- wget https://code.gitlink.org.cn/shenmo7192/debian-container-aarch64/raw/branch/master/DEBIANARM.tar.xz - git clone https://gitlink.org.cn/shenmo7192/debian-container-aarch64.git
- mv debian-container-aarch64/DEBIANARM.tar.xz .
- rm -rf debian-container-aarch64
- tar -xf DEBIANARM.tar.xz - tar -xf DEBIANARM.tar.xz
- mkdir -p DEBIAN/root/build-spark - mkdir -p DEBIAN/root/build-spark
- mv ../spark-store-git DEBIAN/root/build-spark/spark-store - mv ../spark-store-git DEBIAN/root/build-spark/spark-store

48
DOCS/json-api-doc.md Normal file
View File

@@ -0,0 +1,48 @@
# 基本格式
0. 应用信息
例子https://cdn.d.store.deepinos.org.cn/store/tools/spark-store/app.json
```json
{
"Name": "星火应用商店",
"Version": "4.2.7.1",
"Filename": "spark-store_4.2.7.1_amd64.deb",
"Torrent_address": "spark-store_4.2.7.1_amd64.deb.torrent",
"Pkgname": "spark-store",
"Author": "shenmo <shenmo@spark-app.store>",
"Contributor": "shenmo <jifengshenmo@outlook.com>",
"Website": "https://www.spark-app.store/",
"Update": "2023-09-01 23:22:23",
"Size": "590.5 KB",
"More": "* 修复aptss加锁失败现在会正常报错\n * 新增在aptss的特定操作时添加了提示\n * 新增在aptss提示加粗\n * 调整ssinstall验证支持使用cdn.d.获取",
"Tags": "community;ubuntu;deepin;uos;dtk5",
"img_urls": "[\"https://examine-spark.oss-cn-shanghai.aliyuncs.com/images/2023/09/01/411c32fd691544bb985ecba87d151ea0.png\",\"https://examine-spark.oss-cn-shanghai.aliyuncs.com/images/2023/09/01/f44b3c2242c045e28f1161980d805e0d.png\",\"https://examine-spark.oss-cn-shanghai.aliyuncs.com/images/2023/09/01/00263ba857894667bd99240558bec69c.png\",\"https://examine-spark.oss-cn-shanghai.aliyuncs.com/images/2023/09/01/6fd248ad9eea4ef18c9c4acc2a9d372d.png\"]",
"icons": "https://examine-spark.oss-cn-shanghai.aliyuncs.com/icons/2023/09/01/a88dd18cc1734396a02e7e3c6be59718.png"
}
```
*注意img_urls和icons的信息不保证有效大部分是有效的少部分app.json可能缺失此项目*
**对于icon和截图的获取需求请参考第三点**
1. 对于某分类下的所有应用信息
`{SOURCE_URL}/{ARCH}/{CATOGARY}/applist.json`
说明SOURCE_URL线路链接目前推荐 https://cdn.d.store.deepinos.org.cn你也可以使用其他的星火线路
ARCH架构文件夹 x86是store或amd64-storearm是aarch64-store。特别的如果你使用非https://cdn.d.store.deepinos.org.cn的线路你可能会发现amd64-store会返回404因为不是所有的服务器都支持软连接
CATOGARY分类目录。参考 https://gitee.com/deepin-community-store/spark-store/blob/dev/DOCS/spk-doc.md 中 store 直达的对应关系
例子https://cdn.d.store.deepinos.org.cn/aarch64-store/tools/applist.json
2. 对于单个应用的应用信息
`{SOURCE_URL}/{ARCH}/{CATOGARY}/{Package Name}/app.json`
Package Name是包名。可从上级的applist.json读取
例子https://cdn.d.store.deepinos.org.cn/store/tools/spark-store/app.json
3. 对应用截图和icon的获取
`{SOURCE_URL}/{ARCH}/{CATOGARY}/{Package Name}/icon.png`
`{SOURCE_URL}/{ARCH}/{CATOGARY}/{Package Name}/screen_n.png`(n=1-5)(至少为1不是所有的都有到5. 404是正常的

View File

@@ -1,12 +1,14 @@
#### 调用参数(spk规则) #### 调用参数(spk规则)
参数只有一个Url该url应当遵循这种格式`spk://<任意合法字符>/web分类/包名` * store直达
该url应当遵循这种格式`spk://store/web分类/包名`
目前第一字段不进行处理,以后可能会对此识别。在目前阶段,这个字段可以填写任意合法字符
例如: 例如:
[spk://abcdefg/games/store.spark-app.hmcl](spk://abcdefg/games/store.spark-app.hmcl) [spk://store/games/store.spark-app.hmcl](spk://store/games/store.spark-app.hmcl)
可选的web分类 可选的web分类
@@ -25,3 +27,8 @@
| 工具 | tools | | 工具 | tools |
| 主题 | themes | | 主题 | themes |
| 其他 | others | | 其他 | others |
* search搜索
spk://search/pkgname

View File

@@ -2,7 +2,6 @@
[![star](https://gitee.com/deepin-community-store/spark-store/badge/star.svg?theme=gvp)](https://gitee.com/deepin-community-store/spark-store/stargazers) [![fork](https://gitee.com/deepin-community-store/spark-store/badge/fork.svg?theme=gvp)](https://gitee.com/deepin-community-store/spark-store/members) [![star](https://gitee.com/deepin-community-store/spark-store/badge/star.svg?theme=gvp)](https://gitee.com/deepin-community-store/spark-store/stargazers) [![fork](https://gitee.com/deepin-community-store/spark-store/badge/fork.svg?theme=gvp)](https://gitee.com/deepin-community-store/spark-store/members)
## You are informed that the aarch64 support is EXPERIMENTAL and there is NO GUARANTEE that this branch will be supported in the future
Spark Store aims to collect Linux apps for the convieniece of Linux new comers Spark Store aims to collect Linux apps for the convieniece of Linux new comers
@@ -12,11 +11,11 @@ We set up this APP Store and collect APPs/tools that everyone need widely. Also
All packages will be shared in our repository for users to get freely. All packages will be shared in our repository for users to get freely.
Distrobution supportedDeepin 20 ; Ubuntu 22.04 LTS / Ubuntu 20.04 LTS(May stop support in the future ; UniontechOS Home 21 Distrobution supported
*About OpenKylin and deepin 23* * amd64: deepin 20 / deepin 23 / Ubuntu 22.04 LTS / UniontechOS Home 21
* arm64: UniontechOS Professional 1060 / Ubuntu 22.04 LTS / deepin 23
The adaptation work is scheduled after their official release.
You can track our Issue resoving progress here https://gitee.com/deepin-community-store/spark-store/board You can track our Issue resoving progress here https://gitee.com/deepin-community-store/spark-store/board
@@ -35,6 +34,7 @@ If you are using Debian11/Ubuntu 20.04, you will need extra dependency package.
--- ---
#### Compile and developement #### Compile and developement
**dev branch is for development, Flamescion branch is for amd64 and Reason branch is for arrch64.** Although, for the most of the time, Flamescion branch is same as Reason.
For Deepin V20/UOS 21/ Debian 11 For Deepin V20/UOS 21/ Debian 11

View File

@@ -2,20 +2,22 @@
[![star](https://gitee.com/deepin-community-store/spark-store/badge/star.svg?theme=gvp)](https://gitee.com/deepin-community-store/spark-store/stargazers) [![fork](https://gitee.com/deepin-community-store/spark-store/badge/fork.svg?theme=gvp)](https://gitee.com/deepin-community-store/spark-store/members) [![star](https://gitee.com/deepin-community-store/spark-store/badge/star.svg?theme=gvp)](https://gitee.com/deepin-community-store/spark-store/stargazers) [![fork](https://gitee.com/deepin-community-store/spark-store/badge/fork.svg?theme=gvp)](https://gitee.com/deepin-community-store/spark-store/members)
## 请注意aarch64的支持是实验性的并未确认持续支持
众所周知,国内的Linux应用比较少wine应用难以获取优质工具分散在民间各大论坛无法形成合力难以改善生态 国内的Linux应用比较少wine应用难以获取优质工具分散在民间各大论坛无法形成合力难以改善生态
生态构建需要的不是某一方的单打独斗,而是人人行动起来,汇聚星火,产生燎原之势 生态构建需要的不是某一方的单打独斗,而是人人行动起来,汇聚星火,产生燎原之势
我们创建了这个应用商店广泛收录大家需要的软件包搜集优质小工具主动适配wine应用存放到储存库供大家获取 我们创建了这个应用商店广泛收录大家需要的软件包搜集优质小工具主动适配wine应用存放到储存库供大家获取
我们支持Deepin 20 ; Ubuntu 22.04 LTS / Ubuntu 20.04 LTS(将会逐渐停止支持) ; UOS Home 21
发行版支持:
* amd64: deepin 20 / deepin 23 / Ubuntu 22.04 / UOS家庭版20
* arm64: UOS专业版1060 / Ubuntu 22.04 / deepin 23
**请注意本程序不包含任何保证若你要在UOS专业版上使用请确保你打开了开发者模式且拥有排查错误的能力风险自负**
## 关于协作:分支相关的文档见 [这里](https://deepin-community-store.gitee.io/spark-wiki/#/Dev/Spark-Store-Git-Repo) ## 关于协作:分支相关的文档见 [这里](https://deepin-community-store.gitee.io/spark-wiki/#/Dev/Spark-Store-Git-Repo)
*关于OpenKylin和deepin 23*
支持计划将会在对应系统发布正式版之后开始评估和执行
希望看到这里的人也可以加入我们的队伍开发或者投递应用都很欢迎共同构建Linux应用生态 希望看到这里的人也可以加入我们的队伍开发或者投递应用都很欢迎共同构建Linux应用生态
@@ -33,6 +35,7 @@
--- ---
#### 编译安装 #### 编译安装
**dev分支用于开发Flamescion分支是amd64,Reason分支是aarch64**。然而绝大多数情况下Flamescion和Reason的内容是一致的
Deepin V20/UOS 21 系统下, 安装依赖 Deepin V20/UOS 21 系统下, 安装依赖

22
debian/changelog vendored
View File

@@ -1,3 +1,25 @@
spark-store (4.2.7.3) stable; urgency=medium
* 修复aptss现在会正确地透传错误码而不是exit 0
* 修复下载时如果卡0%(无法下载metalink),会在超时后报错中断而不是一直傻等
* 修复排队下载时CPU占满单核的bug https://gitee.com/deepin-community-store/spark-store/issues/I7B91V
* 修复在终端中打开的icon过大导致无法投稿到UOS
* 修复v23下编译出错
* 薪怎:支持崩溃日志收集系统
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.7.2) stable; urgency=medium
* 新增:内置在终端打开功能
* 调整散列验证更改为使用sha512
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.7.1) stable; urgency=medium spark-store (4.2.7.1) stable; urgency=medium
* 修复aptss加锁失败现在会正常报错 * 修复aptss加锁失败现在会正常报错

3
debian/control vendored
View File

@@ -5,7 +5,8 @@ Priority: optional
Build-Depends: Build-Depends:
debhelper (>= 9), debhelper (>= 9),
pkg-config, pkg-config,
qtchooser (>= 55-gc9562a1-1~), qtchooser (>= 55-gc9562a1-1~) | qt5-default,
qtbase5-dev,
libqt5core5a, libqt5core5a,
libqt5gui5, libqt5gui5,
libqt5widgets5, libqt5widgets5,

View File

@@ -0,0 +1,12 @@
[Desktop Entry]
Categories=Development;
Encoding=UTF-8
Exec=/opt/durapps/spark-store/bin/open-in-terminal/open-in-terminal %U
Icon=open-me-in-terminal
MimeType=application/x-desktop
Name=Open me in terminal
Name[zh_CN]=在终端中打开
NoDisplay=true
StartupWMClass=在终端中打开
Terminal=true
Type=Application

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

View File

@@ -41,16 +41,17 @@ qm.path = /usr/share/spark-store/translations
bash_completion.files += pkg/usr/share/bash-completion/completions/aptss bash_completion.files += pkg/usr/share/bash-completion/completions/aptss
bash_completion.path = /usr/share/bash-completion/completions bash_completion.path = /usr/share/bash-completion/completions
desktop.files += pkg/usr/share/applications/spark-store.desktop desktop.files += pkg/usr/share/applications/*.desktop
desktop.path = /usr/share/applications desktop.path = /usr/share/applications
service.files += pkg/usr/lib/systemd/system/spark-update-notifier.service service.files += pkg/usr/lib/systemd/system/spark-update-notifier.service
service.path = /usr/lib/systemd/system/ service.path = /usr/lib/systemd/system/
polkit-1.files +=pkg/usr/share/polkit-1/actions/store.spark-app.ss-do-upgrade-worker.policy polkit-1.files += pkg/usr/share/polkit-1/actions/store.spark-app.ss-do-upgrade-worker.policy
polkit-1.path = /usr/share/polkit-1/actions/ polkit-1.path = /usr/share/polkit-1/actions/
icon.files += pkg/usr/share/icons/hicolor/scalable/apps/spark-store.svg icon.files += pkg/usr/share/icons/hicolor/scalable/apps/*.svg
icon.files += pkg/usr/share/icons/hicolor/scalable/apps/*.png
icon.path = /usr/share/icons/hicolor/scalable/apps icon.path = /usr/share/icons/hicolor/scalable/apps
ssinstall-transhell.files += pkg/usr/share/ssinstall/transhell ssinstall-transhell.files += pkg/usr/share/ssinstall/transhell

View File

@@ -2,6 +2,8 @@
#include "mainwindow-dtk.h" #include "mainwindow-dtk.h"
#include "utils/utils.h" #include "utils/utils.h"
#include <QDir>
#include <QJsonArray>
#include <DPlatformWindowHandle> #include <DPlatformWindowHandle>
#include <DLog> #include <DLog>
#include <DGuiApplicationHelper> #include <DGuiApplicationHelper>

View File

@@ -5,13 +5,16 @@
#include <QtConcurrent> #include <QtConcurrent>
#include <QStandardPaths> #include <QStandardPaths>
#define DEFAULTURL "d.store.deepinos.org.cn"
#define MAXWAITTIME 200000
DownloadController::DownloadController(QObject *parent) DownloadController::DownloadController(QObject *parent)
{ {
Q_UNUSED(parent) Q_UNUSED(parent)
// 初始化默认域名 // 初始化默认域名
domains.clear(); domains.clear();
domains.append("d.store.deepinos.org.cn"); domains.append(DEFAULTURL);
/* /*
domains = { domains = {
@@ -37,7 +40,8 @@ bool checkMeatlink(QString metaUrl)
{ {
metaStatus.remove(); metaStatus.remove();
} }
system("curl -I -s --connect-timeout 5 " + metaUrl.toUtf8() + " -w %{http_code} |tail -n1 > /tmp/spark-store/metaStatus.txt"); QString cmd = QString("curl -I -s --connect-timeout 5 %1 -w %{http_code} |tail -n1 > /tmp/spark-store/metaStatus.txt").arg(metaUrl);
system(cmd.toUtf8().data());
if (metaStatus.open(QFile::ReadOnly) && QString(metaStatus.readAll()).toUtf8() == "200") if (metaStatus.open(QFile::ReadOnly) && QString(metaStatus.readAll()).toUtf8() == "200")
{ {
metaStatus.remove(); metaStatus.remove();
@@ -68,9 +72,13 @@ void gennerateDomain(QVector<QString> &domains)
} }
if (domains.size() == 0) if (domains.size() == 0)
{ {
domains.append("d.store.deepinos.org.cn"); domains.append(DEFAULTURL);
} }
} }
else
{
domains.append(DEFAULTURL);
}
} }
/** /**
@@ -102,34 +110,36 @@ void DownloadController::startDownload(const QString &url)
// qDebug() << domains << domains.size(); // qDebug() << domains << domains.size();
} }
QString aria2Command = "-d"; QString aria2Command = "-d"; //下载目录
QString aria2Urls = ""; QString aria2Urls = ""; //下载地址
QString aria2Verbose = "--summary-interval=1"; QString aria2Verbose = "--summary-interval=1"; //显示下载速度
QString aria2SizePerThreads = "--min-split-size=1M"; QString aria2SizePerThreads = "--min-split-size=1M"; //最小分片大小
QString aria2NoConfig = "--no-conf"; QString aria2NoConfig = "--no-conf"; //不使用配置文件
QString aria2NoSeeds = "--seed-time=0"; QString aria2NoSeeds = "--seed-time=0"; //不做种
QStringList command; QStringList command;
QString downloadDir = "/tmp/spark-store/"; QString downloadDir = "/tmp/spark-store/"; //下载目录
QString aria2ConnectionPerServer = "--max-connection-per-server=1"; QString aria2ConnectionPerServer = "--max-connection-per-server=1"; //每个服务器最大连接数
QString aria2ConnectionMax = "--max-concurrent-downloads=16"; QString aria2ConnectionMax = "--max-concurrent-downloads=16"; //最大同时下载数
QString aria2DNSCommand = "--async-dns-server=119.29.29.29,223.5.5.5";
if (useMetalink)
if (useMetalink) //如果是metalink
{ {
command.append(metaUrl.toUtf8()); command.append(metaUrl.toUtf8());
} }
else else
{ {
for (int i = 0; i < domains.size(); i++) for (int i = 0; i < domains.size(); i++) //遍历域名
{ {
command.append(replaceDomain(url, domains.at(i)).replace("+","%2B").toUtf8()); //对+进行转译避免oss出错 command.append(replaceDomain(url, domains.at(i)).replace("+","%2B").toUtf8()); //对+进行转译避免oss出错
} }
} }
qint64 downloadSizeRecord = 0; qint64 downloadSizeRecord = 0; //下载大小记录
QString speedInfo = ""; qint8 failDownloadTimes = 0; // 记录重试次数
QString percentInfo = ""; const qint8 maxRetryTimes = 3; //最大重试次数
QString speedInfo = ""; //显示下载速度
QString percentInfo = ""; //显示下载进度
command.append(aria2Command.toUtf8()); command.append(aria2Command.toUtf8());
command.append(downloadDir.toUtf8()); command.append(downloadDir.toUtf8());
command.append(aria2Verbose.toUtf8()); command.append(aria2Verbose.toUtf8());
@@ -137,7 +147,7 @@ void DownloadController::startDownload(const QString &url)
command.append(aria2SizePerThreads.toUtf8()); command.append(aria2SizePerThreads.toUtf8());
command.append(aria2ConnectionPerServer.toUtf8()); command.append(aria2ConnectionPerServer.toUtf8());
command.append(aria2ConnectionMax.toUtf8()); command.append(aria2ConnectionMax.toUtf8());
command.append(aria2DNSCommand.toUtf8());
if (useMetalink) if (useMetalink)
{ {
command.append(aria2NoSeeds.toUtf8()); command.append(aria2NoSeeds.toUtf8());
@@ -152,11 +162,30 @@ void DownloadController::startDownload(const QString &url)
cmd.start(); cmd.start();
cmd.waitForStarted(-1); //等待启动完成 cmd.waitForStarted(-1); //等待启动完成
// Timer
QTimer *timeoutTimer = new QTimer(this);
timeoutTimer->setSingleShot(true); // 单次触发
connect(timeoutTimer, &QTimer::timeout, [&]() {
if (failDownloadTimes < maxRetryTimes) {
qDebug() << "Download timeout, restarting...";
// 重新启动下载任务的代码
restartDownload(cmd, command); // 调用重新启动下载任务的函数
failDownloadTimes += 1;
timeoutTimer->start(MAXWAITTIME); // 重新启动定时器
} else{
emit errorOccur(tr("Download Failed, please retry :(")); // 下载失败
downloadSuccess = false;
cmd.close();
cmd.terminate(); // 终止当前的下载进程
cmd.waitForFinished(); // 等待进程结束
}
});
connect(&cmd, &QProcess::readyReadStandardOutput, [&]() connect(&cmd, &QProcess::readyReadStandardOutput, [&]()
{ {
timeoutTimer->start(MAXWAITTIME); // 重置超时计时器15秒超时
//通过读取输出计算下载速度 //通过读取输出计算下载速度
QString message = cmd.readAllStandardOutput().data(); QString message = cmd.readAllStandardOutput().data();
// qDebug() << message;
message = message.replace(" ", ""); message = message.replace(" ", "");
QStringList list; QStringList list;
qint64 downloadSize = 0; qint64 downloadSize = 0;
@@ -179,10 +208,10 @@ void DownloadController::startDownload(const QString &url)
speedInfo = message.mid(speedPlace1 + 3, speedPlace2 - speedPlace1 - 3); speedInfo = message.mid(speedPlace1 + 3, speedPlace2 - speedPlace1 - 3);
speedInfo += "/s"; speedInfo += "/s";
} }
// qDebug() << percentInfo << speedInfo;
if (downloadSize >= downloadSizeRecord) if (downloadSize >= downloadSizeRecord)
{ {
downloadSizeRecord = downloadSize; downloadSizeRecord = downloadSize;
timeoutTimer->stop(); // 如果有进度,停止超时计时器
} }
if (percentInfo == "OK") if (percentInfo == "OK")
{ {
@@ -244,6 +273,15 @@ void DownloadController::stopDownload()
pidNumber = -1; pidNumber = -1;
} }
void DownloadController::restartDownload(QProcess &cmd, const QStringList &command)
{
cmd.terminate(); // 终止当前的下载进程
cmd.waitForFinished(); // 等待进程结束
cmd.setArguments(command); // 重新设置参数
cmd.start(); // 重新启动下载
cmd.waitForStarted(-1); // 等待启动完成
}
qint64 DownloadController::getFileSize(const QString &url) qint64 DownloadController::getFileSize(const QString &url)
{ {
// 已经无需使用 qtnetwork 再获取 filesize完全交给 aria2 来计算进度。 为保证兼容性,故保留此函数。 // 已经无需使用 qtnetwork 再获取 filesize完全交给 aria2 来计算进度。 为保证兼容性,故保留此函数。

View File

@@ -3,6 +3,7 @@
#include <QObject> #include <QObject>
#include <QVector> #include <QVector>
#include <QProcess>
class DownloadController : public QObject class DownloadController : public QObject
{ {
@@ -14,6 +15,7 @@ public:
void setFilename(QString filename); void setFilename(QString filename);
void startDownload(const QString &url); void startDownload(const QString &url);
void stopDownload(); void stopDownload();
void restartDownload(QProcess &cmd, const QStringList &command);
qint64 getFileSize(const QString& url); qint64 getFileSize(const QString& url);
QString replaceDomain(const QString& url, const QString domain); QString replaceDomain(const QString& url, const QString domain);

View File

@@ -2,6 +2,14 @@
#include "mainwindow-dtk.h" #include "mainwindow-dtk.h"
#include "utils/utils.h" #include "utils/utils.h"
#include <signal.h>
#include <execinfo.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <fstream>
#include <DSysInfo> #include <DSysInfo>
#include <DApplicationSettings> #include <DApplicationSettings>
#include <DWidgetUtil> #include <DWidgetUtil>
@@ -16,12 +24,97 @@
DCORE_USE_NAMESPACE DCORE_USE_NAMESPACE
DWIDGET_USE_NAMESPACE DWIDGET_USE_NAMESPACE
static QString buildDateTime;
void crashHandler(int sig) {
void *array[50];
size_t size = backtrace(array, 50);
if (size == 0) {
perror("backtrace");
exit(1);
}
time_t t = time(NULL);
struct tm tm = *localtime(&t);
char filename[128];
snprintf(filename, sizeof(filename), "/tmp/spark_store_crash_log_%04d%02d%02d_%02d%02d%02d.txt",
tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec);
std::ofstream logFile(filename, std::ios::out);
if (!logFile.is_open()) {
perror("ofstream");
exit(1);
}
logFile << "Please send this log to the developer. QQ Group: 872690351\n";
logFile << "Build Date and Time: " << buildDateTime.toStdString() << "\n";
FILE *fp = popen("uname -m", "r");
if (fp) {
char buffer[256];
if (fgets(buffer, sizeof(buffer), fp) != NULL) {
// 移除换行符
buffer[strcspn(buffer, "\n")] = 0;
logFile << "CPU Architecture: " << buffer << "\n";
}
pclose(fp);
} else {
logFile << "Failed to gather CPU architecture info.\n";
}
FILE *fp2 = popen("lsb_release -a", "r");
if (fp2) {
char buffer[256];
while (fgets(buffer, sizeof(buffer), fp2) != NULL) {
logFile << buffer;
}
pclose(fp2);
} else {
logFile << "Failed to gather distribution info.\n";
}
logFile << "Error: signal " << sig << ":\n";
for (size_t i = 0; i < size; i++) {
char **strings = backtrace_symbols(&array[i], 1);
if (strings != NULL && strings[0] != NULL) {
logFile << strings[0] << "\n";
} else {
logFile << "Failed to get symbol.\n";
}
free(strings);
}
logFile.close();
char openCmd[256];
snprintf(openCmd, sizeof(openCmd), "xdg-open %s", filename);
if (system(openCmd) == -1) {
perror("system");
}
fprintf(stderr, "Error: signal %d:\n", sig);
backtrace_symbols_fd(array, size, STDERR_FILENO);
exit(1);
}
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
// 崩溃处理
signal(SIGSEGV, crashHandler); // 注册SIGSEGV处理函数
// Get build time // Get build time
static const QDate buildDate = QLocale(QLocale::English).toDate(QString(__DATE__).replace(" ", " 0"), "MMM dd yyyy"); static const QDate buildDate = QLocale(QLocale::English).toDate(QString(__DATE__).replace(" ", " 0"), "MMM dd yyyy");
static const QTime buildTime = QTime::fromString(__TIME__, "hh:mm:ss"); static const QTime buildTime = QTime::fromString(__TIME__, "hh:mm:ss");
static const QString buildDateTime = buildDate.toString("yyyy.MM.dd") + "-" + buildTime.toString("hh:mm:ss"); buildDateTime = buildDate.toString("yyyy.MM.dd") + "-" + buildTime.toString("hh:mm:ss");
// NOTE: 提前设置组织名称和应用名称,避免配置文件位置错误 // NOTE: 提前设置组织名称和应用名称,避免配置文件位置错误
DApplication::setOrganizationName("spark-union"); DApplication::setOrganizationName("spark-union");

View File

@@ -17,7 +17,8 @@ big_image::big_image(DBlurEffectWidget *parent) : DBlurEffectWidget(parent),
layout->addWidget(m_image); layout->addWidget(m_image);
layout->setMargin(0); layout->setMargin(0);
// m_image->setParent(this); // Make sure the image has a parent so that it will be freed.
m_image->setParent(this);
// m_image->setMaximumSize(1360,768); // m_image->setMaximumSize(1360,768);
m_image->setAlignment(Qt::AlignCenter); m_image->setAlignment(Qt::AlignCenter);
} }

View File

@@ -169,6 +169,7 @@ void DownloadListWidget::httpFinished() // 完成下载
{ {
while (downloaditemlist[nowDownload - 1]->readyInstall() == -1) // 安装当前应用堵塞安装后面的下载suspend while (downloaditemlist[nowDownload - 1]->readyInstall() == -1) // 安装当前应用堵塞安装后面的下载suspend
{ {
QThread::msleep(500); // 休眠500ms减少CPU负担
continue; continue;
} }
downloaditemlist[nowDownload - 1]->free = true; downloaditemlist[nowDownload - 1]->free = true;
@@ -179,17 +180,15 @@ void DownloadListWidget::httpFinished() // 完成下载
// 如果有排队则下载下一个 // 如果有排队则下载下一个
qDebug() << "Download: 切换下一个下载..."; qDebug() << "Download: 切换下一个下载...";
nowDownload += 1; nowDownload += 1;
while (downloaditemlist[nowDownload - 1]->close) while (nowDownload <= allDownload && downloaditemlist[nowDownload - 1]->close)
{ {
nowDownload += 1; nowDownload += 1;
if (nowDownload >= allDownload)
{
nowDownload = allDownload;
return;
}
} }
QString fileName = downloaditemlist[nowDownload - 1]->getName(); if (nowDownload <= allDownload)
startRequest(urList.at(nowDownload - 1), fileName); {
QString fileName = downloaditemlist[nowDownload - 1]->getName();
startRequest(urList.at(nowDownload - 1), fileName);
}
} }
}); });
} }
@@ -236,19 +235,23 @@ void DownloadListWidget::on_pushButton_clicked()
void DownloadListWidget::slotInstallFinished(bool success) void DownloadListWidget::slotInstallFinished(bool success)
{ {
// NOTE: 仅在安装成功后判断是否需要退出后台 // NOTE: 仅在安装成功后判断是否需要退出后台
if (success) { if (!success) {
toDownload -= 1; // 安装完以后减少待安装数目 qDebug() << "Download: install failed";
qDebug() << "Download: 还没有下载的数目:" << toDownload; return;
}
if (toDownload == 0) if (toDownload > 0) {
toDownload -= 1;
qDebug() << "Download: toDownload" << toDownload;
}
if (toDownload == 0) {
Application *app = qobject_cast<Application *>(qApp);
MainWindow *mainWindow = app->mainWindow();
if (mainWindow->isCloseWindowAnimation() == true)
{ {
Application *app = qobject_cast<Application *>(qApp); qDebug() << "Download: 后台安装结束,退出程序";
MainWindow *mainWindow = app->mainWindow(); qApp->quit();
if (mainWindow->isCloseWindowAnimation() == true)
{
qDebug() << "Download: 后台安装结束,退出程序";
qApp->quit();
}
} }
} }
} }

View File

@@ -76,6 +76,7 @@ if [ "$1" = "install" ] || [ "$1" = "upgrade" ] || [ "$1" = "full-upgrade" ] ;
ret="$?" ret="$?"
if [ "$ret" -ne 0 ];then if [ "$ret" -ne 0 ];then
echo -e "\e[1;33m$TRANSHELL_CONTENT_PLEASE_USE_APTSS_INSTEAD_OF_APT\e[0m" echo -e "\e[1;33m$TRANSHELL_CONTENT_PLEASE_USE_APTSS_INSTEAD_OF_APT\e[0m"
exit $ret
fi fi

View File

@@ -0,0 +1,28 @@
#!/bin/bash
source /opt/durapps/spark-store/bin/bashimport/transhell.amber
load_transhell
# 检查是否传入了路径参数
if [ -z "$1" ]; then
echo "${TRANSHELL_CONTENT_PLEASE_PROVIDE_FILE_PATH}"
exit 1
fi
DESKTOP_FILE_PATH=$1
if [[ $DESKTOP_FILE_PATH == file://* ]]; then
# 如果是,移除 'file://' 部分并输出结果
DESKTOP_FILE_PATH="${DESKTOP_FILE_PATH#file://}"
fi
# 获取文件内容中Exec=后的命令
exec_command=$(grep -oP "(?<=Exec=).*" "$DESKTOP_FILE_PATH")
# 打印提取的命令
echo "$exec_command"
# 在默认终端执行命令
eval "$exec_command"
echo --------------------------------------
echo "${TRANSHELL_CONTENT_ABOVE_IS_TERMINAL_OUTPUT}"
echo "${TRANSHELL_CONTENT_PRESS_ENTER_TO_FINISH}"
read

View File

@@ -0,0 +1,5 @@
#!/bin/bash
TRANSHELL_CONTENT_PLEASE_PROVIDE_FILE_PATH="Please provide a file path as an argument"
TRANSHELL_CONTENT_ABOVE_IS_TERMINAL_OUTPUT="The above is the output executed in the terminal. Please copy and paste it when providing feedback."
TRANSHELL_CONTENT_PRESS_ENTER_TO_FINISH="Press Enter to finish"

View File

@@ -0,0 +1,5 @@
#!/bin/bash
TRANSHELL_CONTENT_PLEASE_PROVIDE_FILE_PATH="请传入文件路径作为参数"
TRANSHELL_CONTENT_ABOVE_IS_TERMINAL_OUTPUT="以上是在终端中执行的输出,请在反馈问题的时候完整复制并贴上"
TRANSHELL_CONTENT_PRESS_ENTER_TO_FINISH="按回车结束"

View File

@@ -63,11 +63,13 @@ fi
echo "正在计算hash并与星火仓库匹配..." echo "正在运行包验证..."
echo "Running Spark Package Verify..."
DEB_MD5SUM=`md5sum "$1" | cut -c -32` DEB_SHA512SUM=$(sha512sum "$1" | cut -d ' ' -f 1)
IS_MD5SUM_CHECKD=`cat $PACKAGES_DATA_PATH | grep $DEB_MD5SUM`
IS_SHA512SUM_CHECKD=`cat $PACKAGES_DATA_PATH | grep $DEB_SHA512SUM`
} }
@@ -103,13 +105,13 @@ DEBPATH=`realpath $1`
hash_check "$DEBPATH" hash_check "$DEBPATH"
if [ -z "$IS_MD5SUM_CHECKD" ];then if [ -z "$IS_SHA512SUM_CHECKD" ];then
echo "尝试更新仓库信息重新校验" echo "尝试更新仓库信息重新校验"
aptss ssupdate aptss ssupdate
hash_check "$DEBPATH" hash_check "$DEBPATH"
fi fi
if [ ! -z "$IS_MD5SUM_CHECKD" ];then if [ ! -z "$IS_SHA512SUM_CHECKD" ];then
echo "校验成功,开始安装" echo "校验成功,开始安装"
echo ---------------------------------------------------------------------------------- echo ----------------------------------------------------------------------------------

View File

@@ -268,16 +268,24 @@
<context> <context>
<name>DAboutDialog</name> <name>DAboutDialog</name>
<message> <message>
<location filename="../src/application.cpp" line="139"/> <location filename="../src/application.cpp" line="141"/>
<source>Version: %1</source> <source>Version: %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/application.cpp" line="149"/> <location filename="../src/application.cpp" line="151"/>
<source>%1 is released under %2</source> <source>%1 is released under %2</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context>
<name>DownloadController</name>
<message>
<location filename="../src/backend/downloadworker.cpp" line="176"/>
<source>Download Failed, please retry :(</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>DownloadItem</name> <name>DownloadItem</name>
<message> <message>
@@ -506,19 +514,19 @@
<context> <context>
<name>QObject</name> <name>QObject</name>
<message> <message>
<location filename="../src/application.cpp" line="33"/> <location filename="../src/application.cpp" line="35"/>
<location filename="../src/application.cpp" line="34"/> <location filename="../src/application.cpp" line="36"/>
<location filename="../src/mainwindow-dtk.cpp" line="126"/> <location filename="../src/mainwindow-dtk.cpp" line="126"/>
<source>Spark Store</source> <source>Spark Store</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/application.cpp" line="38"/> <location filename="../src/application.cpp" line="40"/>
<source>&lt;span style=&apos; font-size:10pt;font-weight:60;&apos;&gt;An appstore powered by community&lt;/span&gt;&lt;br/&gt;&lt;a href=&apos;https://www.spark-app.store/&apos;&gt;https://www.spark-app.store&lt;/a&gt;&lt;br/&gt;&lt;span style=&apos; font-size:12pt;&apos;&gt;Spark developers&lt;/span&gt;</source> <source>&lt;span style=&apos; font-size:10pt;font-weight:60;&apos;&gt;An appstore powered by community&lt;/span&gt;&lt;br/&gt;&lt;a href=&apos;https://www.spark-app.store/&apos;&gt;https://www.spark-app.store&lt;/a&gt;&lt;br/&gt;&lt;span style=&apos; font-size:12pt;&apos;&gt;Spark developers&lt;/span&gt;</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/application.cpp" line="146"/> <location filename="../src/application.cpp" line="148"/>
<source>Spark Project</source> <source>Spark Project</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>

View File

@@ -0,0 +1,663 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="es">
<context>
<name>AppIntoPage</name>
<message>
<location filename="../src/pages/appintopage.ui" line="14"/>
<source>Form</source>
<translation>Tipo</translation>
</message>
<message>
<location filename="../src/pages/appintopage.ui" line="244"/>
<location filename="../src/pages/appintopage.cpp" line="175"/>
<location filename="../src/pages/appintopage.cpp" line="313"/>
<location filename="../src/pages/appintopage.cpp" line="483"/>
<source>Download</source>
<translation>Descargar</translation>
</message>
<message>
<location filename="../src/pages/appintopage.ui" line="290"/>
<source>Uninstall</source>
<translation>Desinstalar</translation>
</message>
<message>
<location filename="../src/pages/appintopage.ui" line="346"/>
<source>0</source>
<translation>0</translation>
</message>
<message>
<location filename="../src/pages/appintopage.ui" line="356"/>
<source>Download Times</source>
<translation>Número de descargas</translation>
</message>
<message>
<location filename="../src/pages/appintopage.ui" line="410"/>
<location filename="../src/pages/appintopage.ui" line="413"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;This app is developed by community user,we give this tag to honor those who contribute to the Linux Ecology&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Esta aplicación fue desarrollada por usuarios de la comunidad y la Etiquetamos en honor a aquellos que contribuyeron a la ecología de linux.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../src/pages/appintopage.ui" line="416"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/community-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/community-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../src/pages/appintopage.ui" line="435"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/ubuntu-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/ubuntu-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../src/pages/appintopage.ui" line="448"/>
<location filename="../src/pages/appintopage.ui" line="451"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Capable to UOS home 20&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Capaz de UOS home 20&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../src/pages/appintopage.ui" line="454"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/uos-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/uos-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../src/pages/appintopage.ui" line="467"/>
<location filename="../src/pages/appintopage.ui" line="470"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;A deepin-wine2 app. Spark Store will automatically configure the wine kit for you.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;A deepin-wine2 app. La tienda Spark le configurará automáticamente un traje de vino.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../src/pages/appintopage.ui" line="473"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/dwine2-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/dwine2-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../src/pages/appintopage.ui" line="486"/>
<location filename="../src/pages/appintopage.ui" line="489"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;This is a DTK5 app,which means it would have better effect on Deepin Desktop Environment&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Esta es una aplicación dtk5, lo que significa que funcionará mejor en un entorno de escritorio profundo.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../src/pages/appintopage.ui" line="492"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/dtk-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/dtk-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../src/pages/appintopage.ui" line="505"/>
<location filename="../src/pages/appintopage.ui" line="508"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Capable to deepin 20&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Capaz de deepin 20&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../src/pages/appintopage.ui" line="511"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/deepin-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/deepin-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../src/pages/appintopage.ui" line="524"/>
<location filename="../src/pages/appintopage.ui" line="527"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;An Appimage to deb app.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Appimage de la aplicación deb.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../src/pages/appintopage.ui" line="530"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/a2d-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/a2d-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../src/pages/appintopage.ui" line="549"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/dwine5-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/dwine5-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../src/pages/appintopage.ui" line="602"/>
<source>Share</source>
<translation>Comunión</translation>
</message>
<message>
<location filename="../src/pages/appintopage.ui" line="609"/>
<source>APP Feedback</source>
<translation>Comentarios de la app</translation>
</message>
<message>
<location filename="../src/pages/appintopage.ui" line="765"/>
<source>Introduction</source>
<translation>Introducción</translation>
</message>
<message>
<location filename="../src/pages/appintopage.ui" line="1068"/>
<source>Description</source>
<translation>Descripción</translation>
</message>
<message>
<location filename="../src/pages/appintopage.ui" line="903"/>
<source>Screen capture</source>
<translation>Captura de pantalla</translation>
</message>
<message>
<location filename="../src/pages/appintopage.ui" line="429"/>
<location filename="../src/pages/appintopage.ui" line="432"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Capable to Ubuntu 22.04&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Capaz de Ubuntu 22.04&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../src/pages/appintopage.ui" line="543"/>
<location filename="../src/pages/appintopage.ui" line="546"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;A Wine app.Spark Store will automatically configure the wine kit for you&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;La aplicación wine. Spark Store configurará automáticamente el kit Wine para usted&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../src/pages/appintopage.ui" line="1161"/>
<source>Update</source>
<translation>Modernizar</translation>
</message>
<message>
<location filename="../src/pages/appintopage.ui" line="1190"/>
<source>Contributor</source>
<translation>Contribuyentes</translation>
</message>
<message>
<location filename="../src/pages/appintopage.ui" line="1197"/>
<source>Pkgname</source>
<translation>Nombre del embalaje</translation>
</message>
<message>
<location filename="../src/pages/appintopage.ui" line="1303"/>
<source>Author</source>
<translation>Autor</translation>
</message>
<message>
<location filename="../src/pages/appintopage.ui" line="1339"/>
<source>Size</source>
<translation>Tamaño</translation>
</message>
<message>
<location filename="../src/pages/appintopage.ui" line="1375"/>
<source>Website</source>
<translation>Sitio web</translation>
</message>
<message>
<location filename="../src/pages/appintopage.cpp" line="51"/>
<source>Click Open</source>
<translation>Haga clic en &quot;abrir&quot;</translation>
</message>
<message>
<location filename="../src/pages/appintopage.cpp" line="114"/>
<source>Developer Mode Disabled</source>
<translation>Se ha desactivado el modo desarrollador</translation>
</message>
<message>
<location filename="../src/pages/appintopage.cpp" line="160"/>
<location filename="../src/pages/appintopage.cpp" line="329"/>
<location filename="../src/pages/appintopage.cpp" line="456"/>
<source>Reinstall</source>
<translation>Reinstalación</translation>
</message>
<message>
<location filename="../src/pages/appintopage.cpp" line="167"/>
<source>Upgrade</source>
<translation>Actualización</translation>
</message>
<message>
<location filename="../src/pages/appintopage.cpp" line="318"/>
<location filename="../src/pages/appintopage.cpp" line="432"/>
<source>Install</source>
<translation>Instalación</translation>
</message>
<message>
<location filename="../src/pages/appintopage.cpp" line="323"/>
<source>Installing</source>
<translation>Se está instalando</translation>
</message>
<message>
<location filename="../src/pages/appintopage.cpp" line="411"/>
<location filename="../src/pages/appintopage.cpp" line="415"/>
<location filename="../src/pages/appintopage.cpp" line="419"/>
<location filename="../src/pages/appintopage.cpp" line="423"/>
<source>Warning</source>
<translation>Aviso</translation>
</message>
<message>
<location filename="../src/pages/appintopage.cpp" line="411"/>
<source>The current application does not support deepin, there may be problems</source>
<translation>La aplicación actual no admite deepin, puede haber problemas</translation>
</message>
<message>
<location filename="../src/pages/appintopage.cpp" line="415"/>
<source>The current application does not support UOS, there may be problems</source>
<translation>La aplicación actual no admite uos, puede haber problemas</translation>
</message>
<message>
<location filename="../src/pages/appintopage.cpp" line="419"/>
<source>The current application does not support Ubuntu, there may be problems</source>
<translation>La aplicación actual no admite ubuntu, puede haber problemas</translation>
</message>
<message>
<location filename="../src/pages/appintopage.cpp" line="423"/>
<source>The current application does not support current platform, there may be problems</source>
<translation>La aplicación actual no admite la Plataforma actual, puede haber problemas</translation>
</message>
<message>
<location filename="../src/pages/appintopage.cpp" line="487"/>
<location filename="../src/pages/appintopage.cpp" line="500"/>
<source>Spark Store</source>
<translation>SPARK Store</translation>
</message>
<message>
<location filename="../src/pages/appintopage.cpp" line="487"/>
<source>Uninstall succeeded</source>
<translation>Desinstalación exitosa</translation>
</message>
<message>
<location filename="../src/pages/appintopage.cpp" line="500"/>
<source>The URL has been copied to the clipboard</source>
<translation>La URL ha sido copiada al portapapeles</translation>
</message>
</context>
<context>
<name>AppListPage</name>
<message>
<location filename="../src/pages/applistpage.ui" line="14"/>
<source>Form</source>
<translation>Tipo</translation>
</message>
<message>
<location filename="../src/pages/applistpage.ui" line="60"/>
<source>about:blank</source>
<translation>Sobre: en blanco</translation>
</message>
</context>
<context>
<name>DAboutDialog</name>
<message>
<location filename="../src/application.cpp" line="139"/>
<source>Version: %1</source>
<translation>Versión %1</translation>
</message>
<message>
<location filename="../src/application.cpp" line="149"/>
<source>%1 is released under %2</source>
<translation>%1 publicado bajo %2</translation>
</message>
</context>
<context>
<name>DownloadItem</name>
<message>
<location filename="../src/widgets/common/downloaditem.ui" line="32"/>
<source>Form</source>
<translation>Tipo</translation>
</message>
<message>
<location filename="../src/widgets/common/downloaditem.ui" line="74"/>
<source>icon</source>
<translation>ídolo</translation>
</message>
<message>
<location filename="../src/widgets/common/downloaditem.ui" line="134"/>
<source>TextLabel</source>
<translation>Etiquetas de texto</translation>
</message>
<message>
<location filename="../src/widgets/common/downloaditem.ui" line="121"/>
<source>Name</source>
<translation>Nombre</translation>
</message>
<message>
<location filename="../src/widgets/common/downloaditem.ui" line="226"/>
<source>Waiting to download</source>
<translation>Esperando descargar</translation>
</message>
<message>
<location filename="../src/widgets/common/downloaditem.ui" line="277"/>
<source>Install</source>
<translation>Instalación</translation>
</message>
<message>
<location filename="../src/widgets/common/downloaditem.ui" line="296"/>
<source>Cancel</source>
<translation>Cancelación</translation>
</message>
<message>
<location filename="../src/widgets/common/downloaditem.ui" line="315"/>
<source>Info</source>
<translation>Información</translation>
</message>
<message>
<location filename="../src/widgets/common/downloaditem.cpp" line="43"/>
<location filename="../src/widgets/common/downloaditem.cpp" line="44"/>
<source>Download Complete.</source>
<translation>Descarga completada.</translation>
</message>
<message>
<location filename="../src/widgets/common/downloaditem.cpp" line="218"/>
<location filename="../src/widgets/common/downloaditem.cpp" line="229"/>
<location filename="../src/widgets/common/downloaditem.cpp" line="237"/>
<source>Spark Store</source>
<translation>SPARK Store</translation>
</message>
<message>
<location filename="../src/widgets/common/downloaditem.cpp" line="125"/>
<location filename="../src/widgets/common/downloaditem.cpp" line="126"/>
<source>Installing</source>
<translation>Se está instalando</translation>
</message>
<message>
<location filename="../src/widgets/common/downloaditem.cpp" line="218"/>
<source>Installation complete.</source>
<translation>La instalación está completa.</translation>
</message>
<message>
<location filename="../src/widgets/common/downloaditem.cpp" line="219"/>
<location filename="../src/widgets/common/downloaditem.cpp" line="220"/>
<source>Finish</source>
<translation>Completado</translation>
</message>
<message>
<location filename="../src/widgets/common/downloaditem.cpp" line="227"/>
<source>Retry</source>
<translation>Reinterpretar</translation>
</message>
<message>
<location filename="../src/widgets/common/downloaditem.cpp" line="229"/>
<location filename="../src/widgets/common/downloaditem.cpp" line="230"/>
<location filename="../src/widgets/common/downloaditem.cpp" line="231"/>
<source>Error happened in dpkg progress , please check the install info or try to reinstall.</source>
<translation>Se produjo un error durante el proceso dpkg, verifique la información de instalación o intente reinstalar.</translation>
</message>
<message>
<location filename="../src/widgets/common/downloaditem.cpp" line="237"/>
<location filename="../src/widgets/common/downloaditem.cpp" line="238"/>
<location filename="../src/widgets/common/downloaditem.cpp" line="239"/>
<source>dpkg progress had been abortedplease check the install info or try to reinstall.</source>
<translation>El proceso dpkg ha sido abortado, verifique la información de instalación o intente reinstalarlo.</translation>
</message>
<message>
<location filename="../src/widgets/common/downloaditem.cpp" line="144"/>
<location filename="../src/widgets/common/downloaditem.cpp" line="145"/>
<source>Download canceled</source>
<translation>Descarga cancelada</translation>
</message>
</context>
<context>
<name>DownloadListWidget</name>
<message>
<location filename="../src/widgets/downloadlistwidget.ui" line="14"/>
<source>Form</source>
<translation>Tipo</translation>
</message>
<message>
<location filename="../src/widgets/downloadlistwidget.ui" line="41"/>
<source>The list is currently empty. Go and download some softwares!</source>
<translation>La lista está actualmente vacía. ¡Ve a descargar un poco de software!</translation>
</message>
<message>
<location filename="../src/widgets/downloadlistwidget.ui" line="116"/>
<source>Open download directory</source>
<translation>Abrir el catálogo de descargas</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../src/mainwindow-dtk.ui" line="14"/>
<source>MainWindow</source>
<translation>Ventana principal</translation>
</message>
<message>
<location filename="../src/mainwindow-dtk.ui" line="166"/>
<source>Home</source>
<translation>Casa</translation>
</message>
<message>
<location filename="../src/mainwindow-dtk.ui" line="203"/>
<source>Network</source>
<translation>Red</translation>
</message>
<message>
<location filename="../src/mainwindow-dtk.ui" line="231"/>
<source>Chat</source>
<translation>Charla</translation>
</message>
<message>
<location filename="../src/mainwindow-dtk.ui" line="259"/>
<source>Music</source>
<translation>Música</translation>
</message>
<message>
<location filename="../src/mainwindow-dtk.ui" line="287"/>
<source>Video</source>
<translation>Vídeo</translation>
</message>
<message>
<location filename="../src/mainwindow-dtk.ui" line="315"/>
<source>Picture</source>
<translation>Foto</translation>
</message>
<message>
<location filename="../src/mainwindow-dtk.ui" line="343"/>
<source>Game</source>
<translation>Juego</translation>
</message>
<message>
<location filename="../src/mainwindow-dtk.ui" line="371"/>
<source>Office</source>
<translation>Oficina</translation>
</message>
<message>
<location filename="../src/mainwindow-dtk.ui" line="399"/>
<source>Reading</source>
<translation>Leer</translation>
</message>
<message>
<location filename="../src/mainwindow-dtk.ui" line="427"/>
<source>Development</source>
<translation>Desarrollo</translation>
</message>
<message>
<location filename="../src/mainwindow-dtk.ui" line="455"/>
<source>Tool</source>
<translation>Herramientas</translation>
</message>
<message>
<location filename="../src/mainwindow-dtk.ui" line="483"/>
<source>Theme</source>
<translation>Tema</translation>
</message>
<message>
<location filename="../src/mainwindow-dtk.ui" line="511"/>
<source>Other</source>
<translation>Además</translation>
</message>
<message>
<location filename="../src/mainwindow-dtk.ui" line="539"/>
<source>APP Upgrade</source>
<translation>Actualización de app</translation>
</message>
<message>
<location filename="../src/mainwindow-dtk.cpp" line="187"/>
<source>Submit App</source>
<translation>Presentación de la aplicación</translation>
</message>
<message>
<location filename="../src/mainwindow-dtk.cpp" line="188"/>
<source>Submit App with client(Recommanded)</source>
<translation>Enviar la aplicación al cliente (recomendación)</translation>
</message>
<message>
<location filename="../src/mainwindow-dtk.cpp" line="189"/>
<source>Settings</source>
<translation>Configuración</translation>
</message>
<message>
<location filename="../src/mainwindow-dtk.cpp" line="190"/>
<source>APP Upgrade and Install Settings</source>
<translation>Actualización e instalación de app</translation>
</message>
<message>
<location filename="../src/mainwindow-dtk.cpp" line="146"/>
<location filename="../src/mainwindow-dtk.cpp" line="241"/>
<source>Spark Store</source>
<translation>SPARK Store</translation>
</message>
<message>
<location filename="../src/mainwindow-dtk.cpp" line="151"/>
<source>Search or enter spk://</source>
<translation>Buscar o introducir spk: /%</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../src/application.cpp" line="33"/>
<location filename="../src/application.cpp" line="34"/>
<location filename="../src/mainwindow-dtk.cpp" line="126"/>
<source>Spark Store</source>
<translation>SPARK Store</translation>
</message>
<message>
<location filename="../src/application.cpp" line="38"/>
<source>&lt;span style=&apos; font-size:10pt;font-weight:60;&apos;&gt;An appstore powered by community&lt;/span&gt;&lt;br/&gt;&lt;a href=&apos;https://www.spark-app.store/&apos;&gt;https://www.spark-app.store&lt;/a&gt;&lt;br/&gt;&lt;span style=&apos; font-size:12pt;&apos;&gt;Spark developers&lt;/span&gt;</source>
<translation>&lt;span style=&apos; font-size:10pt;font-weight:60;&apos;&gt;An appstore powered by community&lt;/span&gt;&lt;br/&gt;&lt;a href=&apos;https://www.spark-app.store/&apos;&gt;https://www.spark-app.store&lt;/a&gt;&lt;br/&gt;&lt;span style=&apos; font-size:12pt;&apos;&gt;Spark developers&lt;/span&gt;</translation>
</message>
<message>
<location filename="../src/application.cpp" line="146"/>
<source>Spark Project</source>
<translation>Proyecto spark</translation>
</message>
<message>
<location filename="../src/widgets/downloadlistwidget.cpp" line="18"/>
<source>Download list</source>
<translation>Descargar lista</translation>
</message>
<message>
<location filename="../src/mainwindow-dtk.cpp" line="244"/>
<source>Show MainWindow</source>
<translation>Mostrar la ventana principal</translation>
</message>
</context>
<context>
<name>SettingsPage</name>
<message>
<location filename="../src/pages/settingspage.ui" line="14"/>
<source>Form</source>
<translation>Tipo</translation>
</message>
<message>
<location filename="../src/pages/settingspage.ui" line="91"/>
<source>Line Settings</source>
<translation>Configuración de la línea</translation>
</message>
<message>
<location filename="../src/pages/settingspage.ui" line="107"/>
<source>Choose Line:</source>
<translation>Selección de líneas:</translation>
</message>
<message>
<location filename="../src/pages/settingspage.ui" line="130"/>
<source>Refresh</source>
<translation>Refrescar</translation>
</message>
<message>
<location filename="../src/pages/settingspage.ui" line="143"/>
<source>Take effect immediately</source>
<translation>Entrada en vigor inmediata</translation>
</message>
<message>
<location filename="../src/pages/settingspage.ui" line="185"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Check update for Spark Store. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Revisa las actualizaciones de la Spark Store. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../src/pages/settingspage.ui" line="202"/>
<source>Update</source>
<translation>Modernizar</translation>
</message>
<message>
<location filename="../src/pages/settingspage.ui" line="195"/>
<source>Spark Store Update</source>
<translation>Actualización de la tienda spark</translation>
</message>
<message>
<location filename="../src/pages/settingspage.ui" line="230"/>
<source>Other Settings</source>
<translation>Otras configuraciones</translation>
</message>
<message>
<location filename="../src/pages/settingspage.ui" line="240"/>
<source>Enable notification for apps not compatible with current system</source>
<translation>Habilitar notificaciones para aplicaciones incompatibles con el sistema actual</translation>
</message>
<message>
<location filename="../src/pages/settingspage.ui" line="264"/>
<source>Temp</source>
<translation>Empleados temporales</translation>
</message>
<message>
<location filename="../src/pages/settingspage.ui" line="277"/>
<source>Since the dictionary is at /tmp,It would be cleaned automatically when system reboot.</source>
<translation>Debido a que el diccionario se encuentra en / tmp, se limpia automáticamente cuando el sistema se reinicia.</translation>
</message>
<message>
<location filename="../src/pages/settingspage.ui" line="284"/>
<source>0B</source>
<translation>0B</translation>
</message>
<message>
<location filename="../src/pages/settingspage.ui" line="291"/>
<source>Location/tmp/spark-store</source>
<translation>Ubicación: / TMP / Spark Storage</translation>
</message>
<message>
<location filename="../src/pages/settingspage.ui" line="311"/>
<source>Clean</source>
<translation>Limpio</translation>
</message>
<message>
<location filename="../src/pages/settingspage.ui" line="324"/>
<source>Size:</source>
<translation>Tamaño:</translation>
</message>
<message>
<location filename="../src/pages/settingspage.ui" line="331"/>
<source>Clear Web Cache</source>
<translation>Borrar la caché web</translation>
</message>
<message>
<location filename="../src/pages/settingspage.ui" line="352"/>
<source>About us</source>
<translation>Sobre nosotros</translation>
</message>
<message>
<location filename="../src/pages/settingspage.ui" line="359"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;We are &lt;span style=&quot; font-weight:600;&quot;&gt;NOT&lt;/span&gt; the official team, just like you, we are just one of the many Linux/deepin system enthusiasts and users, we develop and run the &amp;quot;Spark Store&amp;quot;! &amp;quot;, is to bring the community together to share useful software, or to participate in development together, so that we all use the latest and greatest software. &lt;/p&gt;&lt;p&gt;We don&apos;t make a profit from this, all developers and maintainers don&apos;t get paid, and we rely on the community&apos;s donations to us for most of our expenses, which we are grateful for and which allow us not to spend too much energy worrying about funding. &lt;/p&gt;&lt;p&gt;Our service and software are free for everyone to use, communicate, and learn, but you must comply with local laws and regulations in the process of your use, otherwise any problems have nothing to do with us. &lt;/p&gt;&lt;p&gt;If any part of the store infringes your rights, please tell us &lt;a href=&quot;mailto:jifengshenmo@outlook.com&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0082fa;&quot;&gt;jifengshenmo@outlook.com&lt;/span&gt;&lt;/a&gt; we will remove the infringing content as soon as possible. &lt;/p&gt;&lt;p&gt;If you&apos;d like to get involved with us too, whether you&apos;re involved in development, design, pitching or submitting work, we welcome you to join us. &lt;/p&gt;
&lt;p&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;&lt;br/&gt;&lt;/span&gt;Our contact method can be found at &lt;a href=&quot;https://blog.shenmo.tech/post/%E6%95%85%E9%9A%9C%E5%85%AC%E5%91%8A/&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0082fa;&quot;&gt;Here&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation></translation>
</message>
<message>
<location filename="../src/pages/settingspage.cpp" line="217"/>
<source>Updating, please wait...</source>
<translation>Se está actualizando, por favor Espere...</translation>
</message>
<message>
<location filename="../src/pages/settingspage.cpp" line="239"/>
<source>Spark Store</source>
<translation>SPARK Store</translation>
</message>
<message>
<location filename="../src/pages/settingspage.cpp" line="239"/>
<source>Temporary cache was cleaned</source>
<translation>Se ha limpiado la caché temporal</translation>
</message>
</context>
<context>
<name>TitleBarMenu</name>
<message>
<location filename="../src/mainwindow-dtk.cpp" line="245"/>
<source>About</source>
<translation>Sobre</translation>
</message>
<message>
<location filename="../src/mainwindow-dtk.cpp" line="246"/>
<source>Exit</source>
<translation>Exportaciones</translation>
</message>
</context>
</TS>

View File

@@ -6,7 +6,7 @@
<message> <message>
<location filename="../src/pages/appintopage.ui" line="14"/> <location filename="../src/pages/appintopage.ui" line="14"/>
<source>Form</source> <source>Form</source>
<translation type="unfinished"></translation> <translation>Type</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.ui" line="244"/> <location filename="../src/pages/appintopage.ui" line="244"/>
@@ -14,198 +14,198 @@
<location filename="../src/pages/appintopage.cpp" line="313"/> <location filename="../src/pages/appintopage.cpp" line="313"/>
<location filename="../src/pages/appintopage.cpp" line="483"/> <location filename="../src/pages/appintopage.cpp" line="483"/>
<source>Download</source> <source>Download</source>
<translation type="unfinished"></translation> <translation>Télécharger</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.ui" line="290"/> <location filename="../src/pages/appintopage.ui" line="290"/>
<source>Uninstall</source> <source>Uninstall</source>
<translation type="unfinished"></translation> <translation>Désinstaller</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.ui" line="346"/> <location filename="../src/pages/appintopage.ui" line="346"/>
<source>0</source> <source>0</source>
<translation type="unfinished">0B {0?}</translation> <translation>0</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.ui" line="356"/> <location filename="../src/pages/appintopage.ui" line="356"/>
<source>Download Times</source> <source>Download Times</source>
<translation type="unfinished"></translation> <translation>Nombre de téléchargements</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.ui" line="410"/> <location filename="../src/pages/appintopage.ui" line="410"/>
<location filename="../src/pages/appintopage.ui" line="413"/> <location filename="../src/pages/appintopage.ui" line="413"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;This app is developed by community user,we give this tag to honor those who contribute to the Linux Ecology&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;This app is developed by community user,we give this tag to honor those who contribute to the Linux Ecology&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation> <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Cette application a é développée par des utilisateurs de la communauté et nous avons donné ce label à ceux qui ont contribué à l&apos;écologie de Linux&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.ui" line="416"/> <location filename="../src/pages/appintopage.ui" line="416"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/community-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/community-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation> <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/community-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.ui" line="435"/> <location filename="../src/pages/appintopage.ui" line="435"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/ubuntu-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/ubuntu-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation> <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/ubuntu-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.ui" line="448"/> <location filename="../src/pages/appintopage.ui" line="448"/>
<location filename="../src/pages/appintopage.ui" line="451"/> <location filename="../src/pages/appintopage.ui" line="451"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Capable to UOS home 20&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Capable to UOS home 20&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation> <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Capable de la home UOS 20&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.ui" line="454"/> <location filename="../src/pages/appintopage.ui" line="454"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/uos-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/uos-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation> <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/uos-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.ui" line="467"/> <location filename="../src/pages/appintopage.ui" line="467"/>
<location filename="../src/pages/appintopage.ui" line="470"/> <location filename="../src/pages/appintopage.ui" line="470"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;A deepin-wine2 app. Spark Store will automatically configure the wine kit for you.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;A deepin-wine2 app. Spark Store will automatically configure the wine kit for you.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation> <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Une application deepin-wine2. Le Spark Store configure automatiquement votre pack de vins.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.ui" line="473"/> <location filename="../src/pages/appintopage.ui" line="473"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/dwine2-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/dwine2-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation> <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/dwine2-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.ui" line="486"/> <location filename="../src/pages/appintopage.ui" line="486"/>
<location filename="../src/pages/appintopage.ui" line="489"/> <location filename="../src/pages/appintopage.ui" line="489"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;This is a DTK5 app,which means it would have better effect on Deepin Desktop Environment&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;This is a DTK5 app,which means it would have better effect on Deepin Desktop Environment&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation> <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;C&apos;est une application dtk5, ce qui signifie qu&apos;elle fonctionnera mieux dans un environnement de bureau profond.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.ui" line="492"/> <location filename="../src/pages/appintopage.ui" line="492"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/dtk-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/dtk-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation> <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/dtk-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.ui" line="505"/> <location filename="../src/pages/appintopage.ui" line="505"/>
<location filename="../src/pages/appintopage.ui" line="508"/> <location filename="../src/pages/appintopage.ui" line="508"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Capable to deepin 20&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Capable to deepin 20&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation> <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Capable de la deepin 20&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.ui" line="511"/> <location filename="../src/pages/appintopage.ui" line="511"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/deepin-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/deepin-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation> <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/deepin-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.ui" line="524"/> <location filename="../src/pages/appintopage.ui" line="524"/>
<location filename="../src/pages/appintopage.ui" line="527"/> <location filename="../src/pages/appintopage.ui" line="527"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;An Appimage to deb app.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;An Appimage to deb app.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation> <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Appimage pour l&apos;application DEB&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.ui" line="530"/> <location filename="../src/pages/appintopage.ui" line="530"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/a2d-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/a2d-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation> <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/a2d-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.ui" line="549"/> <location filename="../src/pages/appintopage.ui" line="549"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/dwine5-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/dwine5-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation> <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/tags/dwine5-small.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.ui" line="602"/> <location filename="../src/pages/appintopage.ui" line="602"/>
<source>Share</source> <source>Share</source>
<translation type="unfinished"></translation> <translation>Au total</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.ui" line="609"/> <location filename="../src/pages/appintopage.ui" line="609"/>
<source>APP Feedback</source> <source>APP Feedback</source>
<translation type="unfinished"></translation> <translation>App feedback</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.ui" line="765"/> <location filename="../src/pages/appintopage.ui" line="765"/>
<source>Introduction</source> <source>Introduction</source>
<translation type="unfinished"></translation> <translation>Présentation</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.ui" line="1068"/> <location filename="../src/pages/appintopage.ui" line="1068"/>
<source>Description</source> <source>Description</source>
<translation type="unfinished"></translation> <translation>Description</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.ui" line="903"/> <location filename="../src/pages/appintopage.ui" line="903"/>
<source>Screen capture</source> <source>Screen capture</source>
<translation type="unfinished"></translation> <translation>Captures d&apos;écran</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.ui" line="429"/> <location filename="../src/pages/appintopage.ui" line="429"/>
<location filename="../src/pages/appintopage.ui" line="432"/> <location filename="../src/pages/appintopage.ui" line="432"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Capable to Ubuntu 22.04&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Capable to Ubuntu 22.04&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation> <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Capable de la Ubuntu 22.04&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.ui" line="543"/> <location filename="../src/pages/appintopage.ui" line="543"/>
<location filename="../src/pages/appintopage.ui" line="546"/> <location filename="../src/pages/appintopage.ui" line="546"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;A Wine app.Spark Store will automatically configure the wine kit for you&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;A Wine app.Spark Store will automatically configure the wine kit for you&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation> <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;L&apos;application wine. Spark Store configure automatiquement le kit Wine pour vous&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.ui" line="1161"/> <location filename="../src/pages/appintopage.ui" line="1161"/>
<source>Update</source> <source>Update</source>
<translation type="unfinished"></translation> <translation>Moderniser</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.ui" line="1190"/> <location filename="../src/pages/appintopage.ui" line="1190"/>
<source>Contributor</source> <source>Contributor</source>
<translation type="unfinished"></translation> <translation>Contributeurs</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.ui" line="1197"/> <location filename="../src/pages/appintopage.ui" line="1197"/>
<source>Pkgname</source> <source>Pkgname</source>
<translation type="unfinished"></translation> <translation>Nom de l&apos;emballage</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.ui" line="1303"/> <location filename="../src/pages/appintopage.ui" line="1303"/>
<source>Author</source> <source>Author</source>
<translation type="unfinished"></translation> <translation>Auteur</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.ui" line="1339"/> <location filename="../src/pages/appintopage.ui" line="1339"/>
<source>Size</source> <source>Size</source>
<translation type="unfinished"></translation> <translation>Taille</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.ui" line="1375"/> <location filename="../src/pages/appintopage.ui" line="1375"/>
<source>Website</source> <source>Website</source>
<translation type="unfinished"></translation> <translation>Site Web</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="51"/> <location filename="../src/pages/appintopage.cpp" line="51"/>
<source>Click Open</source> <source>Click Open</source>
<translation type="unfinished"></translation> <translation>Cliquez sur Ouvrir</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="114"/> <location filename="../src/pages/appintopage.cpp" line="114"/>
<source>Developer Mode Disabled</source> <source>Developer Mode Disabled</source>
<translation type="unfinished"></translation> <translation>Mode développeur désactivé</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="160"/> <location filename="../src/pages/appintopage.cpp" line="160"/>
<location filename="../src/pages/appintopage.cpp" line="329"/> <location filename="../src/pages/appintopage.cpp" line="329"/>
<location filename="../src/pages/appintopage.cpp" line="456"/> <location filename="../src/pages/appintopage.cpp" line="456"/>
<source>Reinstall</source> <source>Reinstall</source>
<translation type="unfinished"></translation> <translation>Réinstaller</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="167"/> <location filename="../src/pages/appintopage.cpp" line="167"/>
<source>Upgrade</source> <source>Upgrade</source>
<translation type="unfinished"></translation> <translation>Mise à niveau</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="318"/> <location filename="../src/pages/appintopage.cpp" line="318"/>
<location filename="../src/pages/appintopage.cpp" line="432"/> <location filename="../src/pages/appintopage.cpp" line="432"/>
<source>Install</source> <source>Install</source>
<translation type="unfinished"></translation> <translation>Installation</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="323"/> <location filename="../src/pages/appintopage.cpp" line="323"/>
<source>Installing</source> <source>Installing</source>
<translation type="unfinished"></translation> <translation>Installation en cours</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="411"/> <location filename="../src/pages/appintopage.cpp" line="411"/>
@@ -213,43 +213,43 @@
<location filename="../src/pages/appintopage.cpp" line="419"/> <location filename="../src/pages/appintopage.cpp" line="419"/>
<location filename="../src/pages/appintopage.cpp" line="423"/> <location filename="../src/pages/appintopage.cpp" line="423"/>
<source>Warning</source> <source>Warning</source>
<translation type="unfinished"></translation> <translation>Avertissement</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="411"/> <location filename="../src/pages/appintopage.cpp" line="411"/>
<source>The current application does not support deepin, there may be problems</source> <source>The current application does not support deepin, there may be problems</source>
<translation type="unfinished"></translation> <translation>L&apos;application actuelle ne supporte pas deepin, il peut y avoir un problème</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="415"/> <location filename="../src/pages/appintopage.cpp" line="415"/>
<source>The current application does not support UOS, there may be problems</source> <source>The current application does not support UOS, there may be problems</source>
<translation type="unfinished"></translation> <translation>L&apos;application actuelle ne prend pas en charge uos, il peut y avoir un problème</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="419"/> <location filename="../src/pages/appintopage.cpp" line="419"/>
<source>The current application does not support Ubuntu, there may be problems</source> <source>The current application does not support Ubuntu, there may be problems</source>
<translation type="unfinished"></translation> <translation>L&apos;application actuelle ne supporte pas Ubuntu, il peut y avoir un problème</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="423"/> <location filename="../src/pages/appintopage.cpp" line="423"/>
<source>The current application does not support current platform, there may be problems</source> <source>The current application does not support current platform, there may be problems</source>
<translation type="unfinished"></translation> <translation>L&apos;application actuelle ne prend pas en charge la plate - forme actuelle, il peut y avoir un problème</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="487"/> <location filename="../src/pages/appintopage.cpp" line="487"/>
<location filename="../src/pages/appintopage.cpp" line="500"/> <location filename="../src/pages/appintopage.cpp" line="500"/>
<source>Spark Store</source> <source>Spark Store</source>
<translation type="unfinished"></translation> <translation>Le Spark store</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="487"/> <location filename="../src/pages/appintopage.cpp" line="487"/>
<source>Uninstall succeeded</source> <source>Uninstall succeeded</source>
<translation type="unfinished"></translation> <translation>Désinstallation réussie</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="500"/> <location filename="../src/pages/appintopage.cpp" line="500"/>
<source>The URL has been copied to the clipboard</source> <source>The URL has been copied to the clipboard</source>
<translation type="unfinished"></translation> <translation>L&apos;URL a é copiée dans le presse - papiers</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -257,24 +257,32 @@
<message> <message>
<location filename="../src/pages/applistpage.ui" line="14"/> <location filename="../src/pages/applistpage.ui" line="14"/>
<source>Form</source> <source>Form</source>
<translation type="unfinished"></translation> <translation>Type</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/applistpage.ui" line="60"/> <location filename="../src/pages/applistpage.ui" line="60"/>
<source>about:blank</source> <source>about:blank</source>
<translation type="unfinished"></translation> <translation>Re: vide</translation>
</message> </message>
</context> </context>
<context> <context>
<name>DAboutDialog</name> <name>DAboutDialog</name>
<message> <message>
<location filename="../src/application.cpp" line="139"/> <location filename="../src/application.cpp" line="141"/>
<source>Version: %1</source> <source>Version: %1</source>
<translation type="unfinished"></translation> <translation>Version: %1</translation>
</message> </message>
<message> <message>
<location filename="../src/application.cpp" line="149"/> <location filename="../src/application.cpp" line="151"/>
<source>%1 is released under %2</source> <source>%1 is released under %2</source>
<translation>%1 publié sous %2</translation>
</message>
</context>
<context>
<name>DownloadController</name>
<message>
<location filename="../src/backend/downloadworker.cpp" line="176"/>
<source>Download Failed, please retry :(</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
@@ -283,97 +291,97 @@
<message> <message>
<location filename="../src/widgets/common/downloaditem.ui" line="32"/> <location filename="../src/widgets/common/downloaditem.ui" line="32"/>
<source>Form</source> <source>Form</source>
<translation type="unfinished"></translation> <translation>Type</translation>
</message> </message>
<message> <message>
<location filename="../src/widgets/common/downloaditem.ui" line="74"/> <location filename="../src/widgets/common/downloaditem.ui" line="74"/>
<source>icon</source> <source>icon</source>
<translation type="unfinished"></translation> <translation>Idoles</translation>
</message> </message>
<message> <message>
<location filename="../src/widgets/common/downloaditem.ui" line="134"/> <location filename="../src/widgets/common/downloaditem.ui" line="134"/>
<source>TextLabel</source> <source>TextLabel</source>
<translation type="unfinished"></translation> <translation>Étiquettes de texte</translation>
</message> </message>
<message> <message>
<location filename="../src/widgets/common/downloaditem.ui" line="121"/> <location filename="../src/widgets/common/downloaditem.ui" line="121"/>
<source>Name</source> <source>Name</source>
<translation type="unfinished"></translation> <translation>Le nom</translation>
</message> </message>
<message> <message>
<location filename="../src/widgets/common/downloaditem.ui" line="226"/> <location filename="../src/widgets/common/downloaditem.ui" line="226"/>
<source>Waiting to download</source> <source>Waiting to download</source>
<translation type="unfinished"></translation> <translation>En attente de téléchargement</translation>
</message> </message>
<message> <message>
<location filename="../src/widgets/common/downloaditem.ui" line="277"/> <location filename="../src/widgets/common/downloaditem.ui" line="277"/>
<source>Install</source> <source>Install</source>
<translation type="unfinished"></translation> <translation>Installation</translation>
</message> </message>
<message> <message>
<location filename="../src/widgets/common/downloaditem.ui" line="296"/> <location filename="../src/widgets/common/downloaditem.ui" line="296"/>
<source>Cancel</source> <source>Cancel</source>
<translation type="unfinished"></translation> <translation>Annulation</translation>
</message> </message>
<message> <message>
<location filename="../src/widgets/common/downloaditem.ui" line="315"/> <location filename="../src/widgets/common/downloaditem.ui" line="315"/>
<source>Info</source> <source>Info</source>
<translation type="unfinished"></translation> <translation>Informations</translation>
</message> </message>
<message> <message>
<location filename="../src/widgets/common/downloaditem.cpp" line="43"/> <location filename="../src/widgets/common/downloaditem.cpp" line="43"/>
<location filename="../src/widgets/common/downloaditem.cpp" line="44"/> <location filename="../src/widgets/common/downloaditem.cpp" line="44"/>
<source>Download Complete.</source> <source>Download Complete.</source>
<translation type="unfinished"></translation> <translation>Le téléchargement est terminé.</translation>
</message> </message>
<message> <message>
<location filename="../src/widgets/common/downloaditem.cpp" line="218"/> <location filename="../src/widgets/common/downloaditem.cpp" line="218"/>
<location filename="../src/widgets/common/downloaditem.cpp" line="229"/> <location filename="../src/widgets/common/downloaditem.cpp" line="229"/>
<location filename="../src/widgets/common/downloaditem.cpp" line="237"/> <location filename="../src/widgets/common/downloaditem.cpp" line="237"/>
<source>Spark Store</source> <source>Spark Store</source>
<translation type="unfinished"></translation> <translation>Le Spark store</translation>
</message> </message>
<message> <message>
<location filename="../src/widgets/common/downloaditem.cpp" line="125"/> <location filename="../src/widgets/common/downloaditem.cpp" line="125"/>
<location filename="../src/widgets/common/downloaditem.cpp" line="126"/> <location filename="../src/widgets/common/downloaditem.cpp" line="126"/>
<source>Installing</source> <source>Installing</source>
<translation type="unfinished"></translation> <translation>Installation en cours</translation>
</message> </message>
<message> <message>
<location filename="../src/widgets/common/downloaditem.cpp" line="218"/> <location filename="../src/widgets/common/downloaditem.cpp" line="218"/>
<source>Installation complete.</source> <source>Installation complete.</source>
<translation type="unfinished"></translation> <translation>L&apos;installation est terminée.</translation>
</message> </message>
<message> <message>
<location filename="../src/widgets/common/downloaditem.cpp" line="219"/> <location filename="../src/widgets/common/downloaditem.cpp" line="219"/>
<location filename="../src/widgets/common/downloaditem.cpp" line="220"/> <location filename="../src/widgets/common/downloaditem.cpp" line="220"/>
<source>Finish</source> <source>Finish</source>
<translation type="unfinished"></translation> <translation>Terminé</translation>
</message> </message>
<message> <message>
<location filename="../src/widgets/common/downloaditem.cpp" line="227"/> <location filename="../src/widgets/common/downloaditem.cpp" line="227"/>
<source>Retry</source> <source>Retry</source>
<translation type="unfinished"></translation> <translation>Essayez à nouveau</translation>
</message> </message>
<message> <message>
<location filename="../src/widgets/common/downloaditem.cpp" line="229"/> <location filename="../src/widgets/common/downloaditem.cpp" line="229"/>
<location filename="../src/widgets/common/downloaditem.cpp" line="230"/> <location filename="../src/widgets/common/downloaditem.cpp" line="230"/>
<location filename="../src/widgets/common/downloaditem.cpp" line="231"/> <location filename="../src/widgets/common/downloaditem.cpp" line="231"/>
<source>Error happened in dpkg progress , please check the install info or try to reinstall.</source> <source>Error happened in dpkg progress , please check the install info or try to reinstall.</source>
<translation type="unfinished"></translation> <translation>Une erreur s&apos;est produite dans le processus dpkg, vérifiez les informations d&apos;installation ou essayez de réinstaller.</translation>
</message> </message>
<message> <message>
<location filename="../src/widgets/common/downloaditem.cpp" line="237"/> <location filename="../src/widgets/common/downloaditem.cpp" line="237"/>
<location filename="../src/widgets/common/downloaditem.cpp" line="238"/> <location filename="../src/widgets/common/downloaditem.cpp" line="238"/>
<location filename="../src/widgets/common/downloaditem.cpp" line="239"/> <location filename="../src/widgets/common/downloaditem.cpp" line="239"/>
<source>dpkg progress had been abortedplease check the install info or try to reinstall.</source> <source>dpkg progress had been abortedplease check the install info or try to reinstall.</source>
<translation type="unfinished"></translation> <translation>Le processus dpkg a é abandonné, vérifiez les informations d&apos;installation ou essayez de le réinstaller.</translation>
</message> </message>
<message> <message>
<location filename="../src/widgets/common/downloaditem.cpp" line="144"/> <location filename="../src/widgets/common/downloaditem.cpp" line="144"/>
<location filename="../src/widgets/common/downloaditem.cpp" line="145"/> <location filename="../src/widgets/common/downloaditem.cpp" line="145"/>
<source>Download canceled</source> <source>Download canceled</source>
<translation type="unfinished"></translation> <translation>Le téléchargement a é annulé</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -381,17 +389,17 @@
<message> <message>
<location filename="../src/widgets/downloadlistwidget.ui" line="14"/> <location filename="../src/widgets/downloadlistwidget.ui" line="14"/>
<source>Form</source> <source>Form</source>
<translation type="unfinished"></translation> <translation>Type</translation>
</message> </message>
<message> <message>
<location filename="../src/widgets/downloadlistwidget.ui" line="41"/> <location filename="../src/widgets/downloadlistwidget.ui" line="41"/>
<source>The list is currently empty. Go and download some softwares!</source> <source>The list is currently empty. Go and download some softwares!</source>
<translation type="unfinished"></translation> <translation>La liste est actuellement vide. Allez télécharger quelques logiciels!</translation>
</message> </message>
<message> <message>
<location filename="../src/widgets/downloadlistwidget.ui" line="116"/> <location filename="../src/widgets/downloadlistwidget.ui" line="116"/>
<source>Open download directory</source> <source>Open download directory</source>
<translation type="unfinished"></translation> <translation>Ouvrir le catalogue de téléchargement</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -399,138 +407,138 @@
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="14"/> <location filename="../src/mainwindow-dtk.ui" line="14"/>
<source>MainWindow</source> <source>MainWindow</source>
<translation type="unfinished"></translation> <translation>Fenêtre principale</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="166"/> <location filename="../src/mainwindow-dtk.ui" line="166"/>
<source>Home</source> <source>Home</source>
<translation type="unfinished"></translation> <translation>Maison</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="203"/> <location filename="../src/mainwindow-dtk.ui" line="203"/>
<source>Network</source> <source>Network</source>
<translation type="unfinished"></translation> <translation>Réseau</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="231"/> <location filename="../src/mainwindow-dtk.ui" line="231"/>
<source>Chat</source> <source>Chat</source>
<translation type="unfinished"></translation> <translation>Bavarder</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="259"/> <location filename="../src/mainwindow-dtk.ui" line="259"/>
<source>Music</source> <source>Music</source>
<translation type="unfinished"></translation> <translation>Musique</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="287"/> <location filename="../src/mainwindow-dtk.ui" line="287"/>
<source>Video</source> <source>Video</source>
<translation type="unfinished"></translation> <translation>Vidéo</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="315"/> <location filename="../src/mainwindow-dtk.ui" line="315"/>
<source>Picture</source> <source>Picture</source>
<translation type="unfinished"></translation> <translation>Photos</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="343"/> <location filename="../src/mainwindow-dtk.ui" line="343"/>
<source>Game</source> <source>Game</source>
<translation type="unfinished"></translation> <translation>Jeux</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="371"/> <location filename="../src/mainwindow-dtk.ui" line="371"/>
<source>Office</source> <source>Office</source>
<translation type="unfinished"></translation> <translation>Bureaux</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="399"/> <location filename="../src/mainwindow-dtk.ui" line="399"/>
<source>Reading</source> <source>Reading</source>
<translation type="unfinished"></translation> <translation>Lire</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="427"/> <location filename="../src/mainwindow-dtk.ui" line="427"/>
<source>Development</source> <source>Development</source>
<translation type="unfinished"></translation> <translation>Développement</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="455"/> <location filename="../src/mainwindow-dtk.ui" line="455"/>
<source>Tool</source> <source>Tool</source>
<translation type="unfinished"></translation> <translation>Outils</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="483"/> <location filename="../src/mainwindow-dtk.ui" line="483"/>
<source>Theme</source> <source>Theme</source>
<translation type="unfinished"></translation> <translation>Thèmes</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="511"/> <location filename="../src/mainwindow-dtk.ui" line="511"/>
<source>Other</source> <source>Other</source>
<translation type="unfinished"></translation> <translation>En outre</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="539"/> <location filename="../src/mainwindow-dtk.ui" line="539"/>
<source>APP Upgrade</source> <source>APP Upgrade</source>
<translation type="unfinished"></translation> <translation>Mise à niveau app</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="187"/> <location filename="../src/mainwindow-dtk.cpp" line="187"/>
<source>Submit App</source> <source>Submit App</source>
<translation type="unfinished"></translation> <translation>Soumettre une application</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="188"/> <location filename="../src/mainwindow-dtk.cpp" line="188"/>
<source>Submit App with client(Recommanded)</source> <source>Submit App with client(Recommanded)</source>
<translation type="unfinished"></translation> <translation>Soumettre une demande au client (recommandé)</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="189"/> <location filename="../src/mainwindow-dtk.cpp" line="189"/>
<source>Settings</source> <source>Settings</source>
<translation type="unfinished"></translation> <translation>Paramètres</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="190"/> <location filename="../src/mainwindow-dtk.cpp" line="190"/>
<source>APP Upgrade and Install Settings</source> <source>APP Upgrade and Install Settings</source>
<translation type="unfinished"></translation> <translation>Paramètres de mise à niveau et d&apos;installation de l&apos;app</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="146"/> <location filename="../src/mainwindow-dtk.cpp" line="146"/>
<location filename="../src/mainwindow-dtk.cpp" line="241"/> <location filename="../src/mainwindow-dtk.cpp" line="241"/>
<source>Spark Store</source> <source>Spark Store</source>
<translation type="unfinished"></translation> <translation>Le Spark store</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="151"/> <location filename="../src/mainwindow-dtk.cpp" line="151"/>
<source>Search or enter spk://</source> <source>Search or enter spk://</source>
<translation type="unfinished"></translation> <translation>Rechercher ou entrer SPK /</translation>
</message> </message>
</context> </context>
<context> <context>
<name>QObject</name> <name>QObject</name>
<message> <message>
<location filename="../src/application.cpp" line="33"/> <location filename="../src/application.cpp" line="35"/>
<location filename="../src/application.cpp" line="34"/> <location filename="../src/application.cpp" line="36"/>
<location filename="../src/mainwindow-dtk.cpp" line="126"/> <location filename="../src/mainwindow-dtk.cpp" line="126"/>
<source>Spark Store</source> <source>Spark Store</source>
<translation type="unfinished"></translation> <translation>Le Spark store</translation>
</message> </message>
<message> <message>
<location filename="../src/application.cpp" line="38"/> <location filename="../src/application.cpp" line="40"/>
<source>&lt;span style=&apos; font-size:10pt;font-weight:60;&apos;&gt;An appstore powered by community&lt;/span&gt;&lt;br/&gt;&lt;a href=&apos;https://www.spark-app.store/&apos;&gt;https://www.spark-app.store&lt;/a&gt;&lt;br/&gt;&lt;span style=&apos; font-size:12pt;&apos;&gt;Spark developers&lt;/span&gt;</source> <source>&lt;span style=&apos; font-size:10pt;font-weight:60;&apos;&gt;An appstore powered by community&lt;/span&gt;&lt;br/&gt;&lt;a href=&apos;https://www.spark-app.store/&apos;&gt;https://www.spark-app.store&lt;/a&gt;&lt;br/&gt;&lt;span style=&apos; font-size:12pt;&apos;&gt;Spark developers&lt;/span&gt;</source>
<translation type="unfinished"></translation> <translation>&lt;span style=&apos; font-size:10pt;font-weight:60;&apos;&gt;An appstore powered by community&lt;/span&gt;&lt;br/&gt;&lt;a href=&apos;https://www.spark-app.store/&apos;&gt;https://www.spark-app.store&lt;/a&gt;&lt;br/&gt;&lt;span style=&apos; font-size:12pt;&apos;&gt;Spark developers&lt;/span&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/application.cpp" line="146"/> <location filename="../src/application.cpp" line="148"/>
<source>Spark Project</source> <source>Spark Project</source>
<translation type="unfinished"></translation> <translation>Le projet Spark</translation>
</message> </message>
<message> <message>
<location filename="../src/widgets/downloadlistwidget.cpp" line="18"/> <location filename="../src/widgets/downloadlistwidget.cpp" line="18"/>
<source>Download list</source> <source>Download list</source>
<translation type="unfinished"></translation> <translation>Télécharger la Liste</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="244"/> <location filename="../src/mainwindow-dtk.cpp" line="244"/>
<source>Show MainWindow</source> <source>Show MainWindow</source>
<translation type="unfinished"></translation> <translation>Afficher la fenêtre principale</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -538,113 +546,113 @@
<message> <message>
<location filename="../src/pages/settingspage.ui" line="14"/> <location filename="../src/pages/settingspage.ui" line="14"/>
<source>Form</source> <source>Form</source>
<translation type="unfinished"></translation> <translation>Type</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/settingspage.ui" line="91"/> <location filename="../src/pages/settingspage.ui" line="91"/>
<source>Line Settings</source> <source>Line Settings</source>
<translation type="unfinished"></translation> <translation>Configuration de la ligne</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/settingspage.ui" line="107"/> <location filename="../src/pages/settingspage.ui" line="107"/>
<source>Choose Line:</source> <source>Choose Line:</source>
<translation type="unfinished"></translation> <translation>Sélectionnez la ligne:</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/settingspage.ui" line="130"/> <location filename="../src/pages/settingspage.ui" line="130"/>
<source>Refresh</source> <source>Refresh</source>
<translation type="unfinished"></translation> <translation>Rafraîchir</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/settingspage.ui" line="143"/> <location filename="../src/pages/settingspage.ui" line="143"/>
<source>Take effect immediately</source> <source>Take effect immediately</source>
<translation type="unfinished"></translation> <translation>Entrée en vigueur immédiate</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/settingspage.ui" line="185"/> <location filename="../src/pages/settingspage.ui" line="185"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Check update for Spark Store. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Check update for Spark Store. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation> <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Vérifiez les mises à jour sur le Spark Store. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/settingspage.ui" line="202"/> <location filename="../src/pages/settingspage.ui" line="202"/>
<source>Update</source> <source>Update</source>
<translation type="unfinished"></translation> <translation>Moderniser</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/settingspage.ui" line="195"/> <location filename="../src/pages/settingspage.ui" line="195"/>
<source>Spark Store Update</source> <source>Spark Store Update</source>
<translation type="unfinished"></translation> <translation>Mise à jour du Spark store</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/settingspage.ui" line="230"/> <location filename="../src/pages/settingspage.ui" line="230"/>
<source>Other Settings</source> <source>Other Settings</source>
<translation type="unfinished"></translation> <translation>Autres paramètres</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/settingspage.ui" line="240"/> <location filename="../src/pages/settingspage.ui" line="240"/>
<source>Enable notification for apps not compatible with current system</source> <source>Enable notification for apps not compatible with current system</source>
<translation type="unfinished"></translation> <translation>Activer les notifications pour les applications incompatibles avec le système actuel</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/settingspage.ui" line="264"/> <location filename="../src/pages/settingspage.ui" line="264"/>
<source>Temp</source> <source>Temp</source>
<translation type="unfinished"></translation> <translation>Employés temporaires</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/settingspage.ui" line="277"/> <location filename="../src/pages/settingspage.ui" line="277"/>
<source>Since the dictionary is at /tmp,It would be cleaned automatically when system reboot.</source> <source>Since the dictionary is at /tmp,It would be cleaned automatically when system reboot.</source>
<translation type="unfinished"></translation> <translation>Comme le dictionnaire se trouve dans / tmp, il est nettoyé automatiquement lorsque le système redémarre.</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/settingspage.ui" line="284"/> <location filename="../src/pages/settingspage.ui" line="284"/>
<source>0B</source> <source>0B</source>
<translation type="unfinished">0B</translation> <translation>0B</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/settingspage.ui" line="291"/> <location filename="../src/pages/settingspage.ui" line="291"/>
<source>Location/tmp/spark-store</source> <source>Location/tmp/spark-store</source>
<translation type="unfinished"></translation> <translation>Emplacement: / tmp / Spark stockage</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/settingspage.ui" line="311"/> <location filename="../src/pages/settingspage.ui" line="311"/>
<source>Clean</source> <source>Clean</source>
<translation type="unfinished"></translation> <translation>Nettoyé</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/settingspage.ui" line="324"/> <location filename="../src/pages/settingspage.ui" line="324"/>
<source>Size:</source> <source>Size:</source>
<translation type="unfinished"></translation> <translation>Dimensions:</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/settingspage.ui" line="331"/> <location filename="../src/pages/settingspage.ui" line="331"/>
<source>Clear Web Cache</source> <source>Clear Web Cache</source>
<translation type="unfinished"></translation> <translation>Effacer le cache Web</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/settingspage.ui" line="352"/> <location filename="../src/pages/settingspage.ui" line="352"/>
<source>About us</source> <source>About us</source>
<translation type="unfinished"></translation> <translation>À propos de nous</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/settingspage.ui" line="359"/> <location filename="../src/pages/settingspage.ui" line="359"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;We are &lt;span style=&quot; font-weight:600;&quot;&gt;NOT&lt;/span&gt; the official team, just like you, we are just one of the many Linux/deepin system enthusiasts and users, we develop and run the &amp;quot;Spark Store&amp;quot;! &amp;quot;, is to bring the community together to share useful software, or to participate in development together, so that we all use the latest and greatest software. &lt;/p&gt;&lt;p&gt;We don&apos;t make a profit from this, all developers and maintainers don&apos;t get paid, and we rely on the community&apos;s donations to us for most of our expenses, which we are grateful for and which allow us not to spend too much energy worrying about funding. &lt;/p&gt;&lt;p&gt;Our service and software are free for everyone to use, communicate, and learn, but you must comply with local laws and regulations in the process of your use, otherwise any problems have nothing to do with us. &lt;/p&gt;&lt;p&gt;If any part of the store infringes your rights, please tell us &lt;a href=&quot;mailto:jifengshenmo@outlook.com&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0082fa;&quot;&gt;jifengshenmo@outlook.com&lt;/span&gt;&lt;/a&gt; we will remove the infringing content as soon as possible. &lt;/p&gt;&lt;p&gt;If you&apos;d like to get involved with us too, whether you&apos;re involved in development, design, pitching or submitting work, we welcome you to join us. &lt;/p&gt; <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;We are &lt;span style=&quot; font-weight:600;&quot;&gt;NOT&lt;/span&gt; the official team, just like you, we are just one of the many Linux/deepin system enthusiasts and users, we develop and run the &amp;quot;Spark Store&amp;quot;! &amp;quot;, is to bring the community together to share useful software, or to participate in development together, so that we all use the latest and greatest software. &lt;/p&gt;&lt;p&gt;We don&apos;t make a profit from this, all developers and maintainers don&apos;t get paid, and we rely on the community&apos;s donations to us for most of our expenses, which we are grateful for and which allow us not to spend too much energy worrying about funding. &lt;/p&gt;&lt;p&gt;Our service and software are free for everyone to use, communicate, and learn, but you must comply with local laws and regulations in the process of your use, otherwise any problems have nothing to do with us. &lt;/p&gt;&lt;p&gt;If any part of the store infringes your rights, please tell us &lt;a href=&quot;mailto:jifengshenmo@outlook.com&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0082fa;&quot;&gt;jifengshenmo@outlook.com&lt;/span&gt;&lt;/a&gt; we will remove the infringing content as soon as possible. &lt;/p&gt;&lt;p&gt;If you&apos;d like to get involved with us too, whether you&apos;re involved in development, design, pitching or submitting work, we welcome you to join us. &lt;/p&gt;
&lt;p&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;&lt;br/&gt;&lt;/span&gt;Our contact method can be found at &lt;a href=&quot;https://blog.shenmo.tech/post/%E6%95%85%E9%9A%9C%E5%85%AC%E5%91%8A/&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0082fa;&quot;&gt;Here&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> &lt;p&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;&lt;br/&gt;&lt;/span&gt;Our contact method can be found at &lt;a href=&quot;https://blog.shenmo.tech/post/%E6%95%85%E9%9A%9C%E5%85%AC%E5%91%8A/&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0082fa;&quot;&gt;Here&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/settingspage.cpp" line="217"/> <location filename="../src/pages/settingspage.cpp" line="217"/>
<source>Updating, please wait...</source> <source>Updating, please wait...</source>
<translation type="unfinished"></translation> <translation>Mise à jour en cours, veuillez patienter...</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/settingspage.cpp" line="239"/> <location filename="../src/pages/settingspage.cpp" line="239"/>
<source>Spark Store</source> <source>Spark Store</source>
<translation type="unfinished"></translation> <translation>Le Spark store</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/settingspage.cpp" line="239"/> <location filename="../src/pages/settingspage.cpp" line="239"/>
<source>Temporary cache was cleaned</source> <source>Temporary cache was cleaned</source>
<translation type="unfinished"></translation> <translation>Cache temporaire nettoyé</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -652,12 +660,12 @@
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="245"/> <location filename="../src/mainwindow-dtk.cpp" line="245"/>
<source>About</source> <source>About</source>
<translation type="unfinished"></translation> <translation>À propos</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="246"/> <location filename="../src/mainwindow-dtk.cpp" line="246"/>
<source>Exit</source> <source>Exit</source>
<translation type="unfinished"></translation> <translation>Exportations</translation>
</message> </message>
</context> </context>
</TS> </TS>

View File

@@ -268,16 +268,24 @@
<context> <context>
<name>DAboutDialog</name> <name>DAboutDialog</name>
<message> <message>
<location filename="../src/application.cpp" line="139"/> <location filename="../src/application.cpp" line="141"/>
<source>Version: %1</source> <source>Version: %1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../src/application.cpp" line="149"/> <location filename="../src/application.cpp" line="151"/>
<source>%1 is released under %2</source> <source>%1 is released under %2</source>
<translation>%1%2</translation> <translation>%1%2</translation>
</message> </message>
</context> </context>
<context>
<name>DownloadController</name>
<message>
<location filename="../src/backend/downloadworker.cpp" line="176"/>
<source>Download Failed, please retry :(</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>DownloadItem</name> <name>DownloadItem</name>
<message> <message>
@@ -506,19 +514,19 @@
<context> <context>
<name>QObject</name> <name>QObject</name>
<message> <message>
<location filename="../src/application.cpp" line="33"/> <location filename="../src/application.cpp" line="35"/>
<location filename="../src/application.cpp" line="34"/> <location filename="../src/application.cpp" line="36"/>
<location filename="../src/mainwindow-dtk.cpp" line="126"/> <location filename="../src/mainwindow-dtk.cpp" line="126"/>
<source>Spark Store</source> <source>Spark Store</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/application.cpp" line="38"/> <location filename="../src/application.cpp" line="40"/>
<source>&lt;span style=&apos; font-size:10pt;font-weight:60;&apos;&gt;An appstore powered by community&lt;/span&gt;&lt;br/&gt;&lt;a href=&apos;https://www.spark-app.store/&apos;&gt;https://www.spark-app.store&lt;/a&gt;&lt;br/&gt;&lt;span style=&apos; font-size:12pt;&apos;&gt;Spark developers&lt;/span&gt;</source> <source>&lt;span style=&apos; font-size:10pt;font-weight:60;&apos;&gt;An appstore powered by community&lt;/span&gt;&lt;br/&gt;&lt;a href=&apos;https://www.spark-app.store/&apos;&gt;https://www.spark-app.store&lt;/a&gt;&lt;br/&gt;&lt;span style=&apos; font-size:12pt;&apos;&gt;Spark developers&lt;/span&gt;</source>
<translation>&lt;span style=&apos; font-size:10pt;font-weight:60;&apos;&gt;&lt;/span&gt;&lt;br/&gt;&lt;a href=&apos;https://www.spark-app.store/&apos;&gt;https://www.spark-app.store&lt;/a&gt;&lt;br/&gt;&lt;span style=&apos; font-size:12pt;&apos;&gt;星火计划开发者&lt;/span&gt;</translation> <translation>&lt;span style=&apos; font-size:10pt;font-weight:60;&apos;&gt;&lt;/span&gt;&lt;br/&gt;&lt;a href=&apos;https://www.spark-app.store/&apos;&gt;https://www.spark-app.store&lt;/a&gt;&lt;br/&gt;&lt;span style=&apos; font-size:12pt;&apos;&gt;星火计划开发者&lt;/span&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/application.cpp" line="146"/> <location filename="../src/application.cpp" line="148"/>
<source>Spark Project</source> <source>Spark Project</source>
<translation></translation> <translation></translation>
</message> </message>

View File

@@ -268,16 +268,24 @@
<context> <context>
<name>DAboutDialog</name> <name>DAboutDialog</name>
<message> <message>
<location filename="../src/application.cpp" line="139"/> <location filename="../src/application.cpp" line="141"/>
<source>Version: %1</source> <source>Version: %1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../src/application.cpp" line="149"/> <location filename="../src/application.cpp" line="151"/>
<source>%1 is released under %2</source> <source>%1 is released under %2</source>
<translation>%1%2</translation> <translation>%1%2</translation>
</message> </message>
</context> </context>
<context>
<name>DownloadController</name>
<message>
<location filename="../src/backend/downloadworker.cpp" line="176"/>
<source>Download Failed, please retry :(</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>DownloadItem</name> <name>DownloadItem</name>
<message> <message>
@@ -506,19 +514,19 @@
<context> <context>
<name>QObject</name> <name>QObject</name>
<message> <message>
<location filename="../src/application.cpp" line="33"/> <location filename="../src/application.cpp" line="35"/>
<location filename="../src/application.cpp" line="34"/> <location filename="../src/application.cpp" line="36"/>
<location filename="../src/mainwindow-dtk.cpp" line="126"/> <location filename="../src/mainwindow-dtk.cpp" line="126"/>
<source>Spark Store</source> <source>Spark Store</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/application.cpp" line="38"/> <location filename="../src/application.cpp" line="40"/>
<source>&lt;span style=&apos; font-size:10pt;font-weight:60;&apos;&gt;An appstore powered by community&lt;/span&gt;&lt;br/&gt;&lt;a href=&apos;https://www.spark-app.store/&apos;&gt;https://www.spark-app.store&lt;/a&gt;&lt;br/&gt;&lt;span style=&apos; font-size:12pt;&apos;&gt;Spark developers&lt;/span&gt;</source> <source>&lt;span style=&apos; font-size:10pt;font-weight:60;&apos;&gt;An appstore powered by community&lt;/span&gt;&lt;br/&gt;&lt;a href=&apos;https://www.spark-app.store/&apos;&gt;https://www.spark-app.store&lt;/a&gt;&lt;br/&gt;&lt;span style=&apos; font-size:12pt;&apos;&gt;Spark developers&lt;/span&gt;</source>
<translation>&lt;span style=&apos; font-size:10pt;font-weight:60;&apos;&gt;&lt;/span&gt;&lt;br/&gt;&lt;a href=&apos;https://www.spark-app.store/&apos;&gt;https://www.spark-app.store&lt;/a&gt;&lt;br/&gt;&lt;span style=&apos; font-size:12pt;&apos;&gt;星火计划开发者&lt;/span&gt;</translation> <translation>&lt;span style=&apos; font-size:10pt;font-weight:60;&apos;&gt;&lt;/span&gt;&lt;br/&gt;&lt;a href=&apos;https://www.spark-app.store/&apos;&gt;https://www.spark-app.store&lt;/a&gt;&lt;br/&gt;&lt;span style=&apos; font-size:12pt;&apos;&gt;星火计划开发者&lt;/span&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/application.cpp" line="146"/> <location filename="../src/application.cpp" line="148"/>
<source>Spark Project</source> <source>Spark Project</source>
<translation></translation> <translation></translation>
</message> </message>