diff --git a/.workflow/dtk-build-release-tag-20220425.yml b/.workflow/dtk-build-release-tag-20220425.yml index 39f96db..a6e0bc2 100644 --- a/.workflow/dtk-build-release-tag-20220425.yml +++ b/.workflow/dtk-build-release-tag-20220425.yml @@ -37,7 +37,9 @@ stages: - apt build-dep . -y - strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 - uname -a - - dpkg-buildpackage -j1 -b -us -uc + - sed -i 's/dh \$@ --parallel/dh \$@/' debian/rules + - '# Gitee的配置太低了' + - dpkg-buildpackage -b -us -uc - cd .. - ls -all - pwd diff --git a/debian/changelog b/debian/changelog index 35d62f8..6692452 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +spark-store (4.3.3.2) UNRELEASED; urgency=medium + + * 提升升级工具体验,不再反复弹窗 + * 提升aptss使用体验,汇报目前所在阶段而不是卡住不动 + * 修复debian sid 无法卸载 + + -- shenmo Tue, 24 Sep 2024 11:27:08 +0800 + spark-store (4.3.3.1) UNRELEASED; urgency=medium * 修复点击更新需要输入密码的问题 diff --git a/debian/control b/debian/control index 996cf1b..f89814b 100644 --- a/debian/control +++ b/debian/control @@ -30,6 +30,7 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, libnotify-bin, qtwayland5, desktop-file-utils, - dpkg-dev + dpkg-dev, + lsb-release, Description: Spark Store A community powered app store, based on DTK. diff --git a/debian/rules b/debian/rules index fc38dd1..2922145 100755 --- a/debian/rules +++ b/debian/rules @@ -36,4 +36,6 @@ override_dh_auto_install: # Ignore the dpkg-shlibdeps: warning (it uses none of the library's symbols) # Qt Mutidedia lib will ref to network libraray. override_dh_shlibdeps: - dh_shlibdeps --dpkg-shlibdeps-params=--warnings=0 + dh_shlibdeps --dpkg-shlibdeps-params=--warnings=0 --exclude=opt/durapps/spark-store/bin/ss-feedback/ +override_dh_strip: + dh_strip --exclude=opt/durapps/spark-store/bin/ss-feedback/ \ No newline at end of file diff --git a/debian/spark-store.prerm b/debian/spark-store.prerm index 1adb1a5..49edfde 100755 --- a/debian/spark-store.prerm +++ b/debian/spark-store.prerm @@ -51,7 +51,7 @@ for username in `ls /home` # Remove gpg key file rm -f /etc/apt/trusted.gpg.d/spark-store.gpg - apt-key del '9D9A A859 F750 24B1 A1EC E16E 0E41 D354 A29A 440C' + apt-key del '9D9A A859 F750 24B1 A1EC E16E 0E41 D354 A29A 440C' || true else if [ ! -z "`pidof spark-store`" ] ; then diff --git a/pkg/usr/lib/systemd/system/spark-update-notifier.service b/pkg/usr/lib/systemd/system/spark-update-notifier.service index de8f8fa..62263a1 100644 --- a/pkg/usr/lib/systemd/system/spark-update-notifier.service +++ b/pkg/usr/lib/systemd/system/spark-update-notifier.service @@ -2,13 +2,14 @@ Description=Spark Store update notifier After=apt-daily.service network.target network-online.target systemd-networkd.service NetworkManager.service connman.service - [Service] Type=simple -RemainAfterExit=yes +RemainAfterExit=yes ExecStart=/opt/durapps/spark-store/bin/update-upgrade/ss-update-notifier.sh Restart=on-failure -RestartSec=10 +RestartSec=15 # 可以设置为更长的重试间隔,比如 15 秒或 30 秒 +StartLimitIntervalSec=1h # 设置为 1 小时的时间窗口 +StartLimitBurst=3 # 最大允许失败次数为 3 次 [Install] -WantedBy=multi-user.target \ No newline at end of file +WantedBy=multi-user.target diff --git a/tool/aptss b/tool/aptss index aec8e86..bdb8beb 100755 --- a/tool/aptss +++ b/tool/aptss @@ -3,6 +3,7 @@ SPARK_DOWNLOAD_SERVER_URL="https://d.spark-app.store/" SPARK_DOWNLOAD_SERVER_URL_NO_PROTOCOL="d.spark-app.store" source /opt/durapps/spark-store/bin/bashimport/transhell.amber +source /opt/durapps/spark-store/bin/bashimport/log.amber load_transhell case `arch` in @@ -26,7 +27,17 @@ is_empty_dir(){ return `ls -A $1|wc -w` } +function update_list(){ +curl --progress-bar -o /opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list "${SPARK_DOWNLOAD_SERVER_URL}/sparkstore${STORE_LIST_URL}.list" +log.info "sparkstore${STORE_LIST_URL}.list update done" +} +function update_conf(){ +mkdir -p /tmp/aptss-conf/ +curl --progress-bar -o /tmp/aptss-conf/apt-fast.conf "${SPARK_DOWNLOAD_SERVER_URL}/apt-fast.conf" +log.info "apt-fast.conf update done" +chmod -R 755 /tmp/aptss-conf +} if [ "$(id -u)" != "0" ];then #############################无root权限时 @@ -46,8 +57,7 @@ if [ ! -e "/tmp/aptss-conf/apt-fast.conf" ];then mkdir -p /tmp/aptss-conf/ echo -e "\e[1;32m${TRANSHELL_CONTENT_GETTING_SERVER_CONFIG_AND_MIRROR_LIST}\e[0m" echo -curl --progress-bar -o /tmp/aptss-conf/apt-fast.conf "${SPARK_DOWNLOAD_SERVER_URL}/apt-fast.conf" -chmod -R 755 /tmp/aptss-conf +update_conf fi @@ -57,11 +67,9 @@ if [ ! -e "/var/lib/aptss/lists/${SPARK_DOWNLOAD_SERVER_URL_NO_PROTOCOL}_${STORE mkdir -p /tmp/aptss-conf/ echo -e "\e[1;32m${TRANSHELL_CONTENT_GETTING_SERVER_CONFIG_AND_MIRROR_LIST}\e[0m" echo -curl --silent -o /tmp/aptss-conf/apt-fast.conf "${SPARK_DOWNLOAD_SERVER_URL}/apt-fast.conf" -chmod -R 755 /tmp/aptss-conf -curl --silent -o /opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list "${SPARK_DOWNLOAD_SERVER_URL}/sparkstore${STORE_LIST_URL}.list" -/usr/bin/apt update -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf +update_list +update_conf #只更新星火源 @@ -93,12 +101,11 @@ elif [ "$1" = "ssupdate" ];then mkdir -p /tmp/aptss-conf/ echo -e "\e[1;32m${TRANSHELL_CONTENT_GETTING_SERVER_CONFIG_AND_MIRROR_LIST}\e[0m" echo -curl --silent -o /tmp/aptss-conf/apt-fast.conf "${SPARK_DOWNLOAD_SERVER_URL}/apt-fast.conf" -chmod -R 755 /tmp/aptss-conf - -curl --silent -o /opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list "${SPARK_DOWNLOAD_SERVER_URL}/sparkstore${STORE_LIST_URL}.list" - + +update_list +update_conf + /usr/bin/apt update -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0" -o Dir::Etc::sourcelist="/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list" #只更新星火源 @@ -107,10 +114,8 @@ elif [ "$1" = "update" ];then echo -e "\e[1;32m${TRANSHELL_CONTENT_GETTING_SERVER_CONFIG_AND_MIRROR_LIST}\e[0m" echo -curl --progress-bar -o /opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list "${SPARK_DOWNLOAD_SERVER_URL}/sparkstore${STORE_LIST_URL}.list" -mkdir -p /tmp/aptss-conf/ -curl --progress-bar -o /tmp/aptss-conf/apt-fast.conf "${SPARK_DOWNLOAD_SERVER_URL}/apt-fast.conf" -chmod -R 755 /tmp/aptss-conf +update_list +update_conf ### 额外一份拿来给aptss自动补全用 ${SS_APT_FAST} "$@" -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf diff --git a/tool/bashimport/log.amber b/tool/bashimport/log.amber new file mode 100644 index 0000000..fe97bef --- /dev/null +++ b/tool/bashimport/log.amber @@ -0,0 +1,5 @@ +#!/bin/bash +log.warn() { echo -e "[\e[33mWARN\e[0m]: \e[1m$*\e[0m"; } +log.error() { echo -e "[\e[31mERROR\e[0m]: \e[1m$*\e[0m"; } +log.info() { echo -e "[\e[96mINFO\e[0m]: \e[1m$*\e[0m"; } +log.debug() { echo -e "[\e[32mDEBUG\e[0m]: \e[1m$*\e[0m"; } diff --git a/tool/ss-feedback/sender-d-amd64 b/tool/ss-feedback/sender-d-amd64 new file mode 100755 index 0000000..63febd3 Binary files /dev/null and b/tool/ss-feedback/sender-d-amd64 differ diff --git a/tool/ss-feedback/sender-d-arm64 b/tool/ss-feedback/sender-d-arm64 new file mode 100755 index 0000000..b49d84f Binary files /dev/null and b/tool/ss-feedback/sender-d-arm64 differ diff --git a/tool/ss-feedback/sender-d-loong64 b/tool/ss-feedback/sender-d-loong64 new file mode 100755 index 0000000..7b218d2 Binary files /dev/null and b/tool/ss-feedback/sender-d-loong64 differ diff --git a/tool/update-upgrade/ss-do-upgrade.sh b/tool/update-upgrade/ss-do-upgrade.sh index 615209d..80e6c90 100755 --- a/tool/update-upgrade/ss-do-upgrade.sh +++ b/tool/update-upgrade/ss-do-upgrade.sh @@ -3,10 +3,13 @@ if [ "$(id -u)" != "0" ] ; then if [ "$IS_ACE_ENV" = "1" ];then /opt/durapps/spark-store/bin/store-helper/pass-auth.sh "$0" "$@" else + xhost + pkexec "$0" "$@" exit fi fi + + trap "rm -f /tmp/spark-store/upgradeStatus.txt" EXIT source /opt/durapps/spark-store/bin/bashimport/transhell.amber load_transhell_debug @@ -54,7 +57,7 @@ echo ${app_name_in_desktop} touch /tmp/spark-store/upgradeStatus.txt # 执行 apt update -pkexec /opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh ssupdate | zenity --progress --auto-close --pulsate --no-cancel --text="${TRANSHELL_CONTENT_UPDATE_CHEKING_PLEASE_WAIT}" --height 70 --width 400 --title="${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_MODEL}" --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg +pkexec /opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh ssupdate 2>&1 > /dev/null | zenity --progress --auto-close --pulsate --no-cancel --text="${TRANSHELL_CONTENT_UPDATE_CHEKING_PLEASE_WAIT}" --height 70 --width 400 --title="${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_MODEL}" --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg if [ -z `cat /tmp/spark-store-app-ssupdate-status.txt` ] ; then /opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh clean-log @@ -117,11 +120,25 @@ done) zenity --info --text "${TRANSHELL_CONTENT_NO_APP_IS_CHOSEN}" --title "${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_MODEL}" --height 150 --width 300 --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg else ### 更新用户选择的应用 - for PKG_UPGRADE in $PKG_UPGRADE_LIST;do - APP_UPGRADE="$(get_name_from_desktop_file $PKG_UPGRADE)" - update_transhell - pkexec /opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh upgrade-app $PKG_UPGRADE -y | zenity --progress --auto-close --no-cancel --pulsate --text="${TRANSHELL_CONTENT_UPGRADING_PLEASE_WAIT}" --height 70 --width 400 --title="${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_MODEL}" --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg - done + + +(for PKG_UPGRADE in $PKG_UPGRADE_LIST; do + APP_UPGRADE="$(get_name_from_desktop_file $PKG_UPGRADE)" + update_transhell + + # 启动升级任务 + (pkexec /opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh upgrade-app $PKG_UPGRADE -y 2>&1 > /dev/null ) & + cmd_pid=$! + # 动态修改zenity的文本 + echo "# ${TRANSHELL_CONTENT_UPGRADING_PLEASE_WAIT}" + wait +done) | zenity --progress --auto-close --no-cancel --pulsate --text="Preparing..." --height 70 --width 400 --title="${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_MODEL}" --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg + + + + + + #### 更新成功 if [ -z "`cat /tmp/spark-store-app-upgrade-status.txt`" ] ; then zenity --info --text "${TRANSHELL_CONTENT_CHOSEN_APP_UPGRADE_FINISHED}" --title "${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_MODEL}" --height 150 --width 300 --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg diff --git a/tool/update-upgrade/ss-update-notifier.sh b/tool/update-upgrade/ss-update-notifier.sh index 0d203b0..18ab8bf 100755 --- a/tool/update-upgrade/ss-update-notifier.sh +++ b/tool/update-upgrade/ss-update-notifier.sh @@ -1,16 +1,12 @@ #!/bin/bash - source /opt/durapps/spark-store/bin/bashimport/transhell.amber load_transhell_debug ############################################################# - # 发送通知 function notify-send() { - - # Detect user using the display local user=$(who | awk '{print $1}' | head -n 1) @@ -20,11 +16,8 @@ function notify-send() { sudo -u $user DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${uid}/bus notify-send "$@" } - - # 检测网络链接畅通 -function network-check() -{ +function network-check() { # 超时时间 local timeout=15 @@ -32,9 +25,9 @@ function network-check() local target=www.baidu.com # 获取响应状态码 - local ret_code=`curl -I -s --connect-timeout ${timeout} ${target} -w %{http_code} | tail -n1` + local ret_code=$(curl -I -s --connect-timeout ${timeout} ${target} -w %{http_code} | tail -n1) - if [ "x$ret_code" = "x200" ] ; then + if [ "$ret_code" = "200" ]; then # 网络畅通 return 0 else @@ -43,32 +36,47 @@ function network-check() fi } -network-check -if [ $? -ne 0 ] ; then - echo "$TRANSHELL_CONTENT_NETWORK_FAIL" - exit -1 -fi +# 初始化等待时间和最大等待时间 +initial_wait_time=15 # 初始等待时间 15 秒 +max_wait_time=$((12 * 3600)) # 最大等待时间 12 小时 -# The code above is modified from https://blog.csdn.net/yaxuan88521/article/details/120516298 +# 检测网络,若不通则进行重试,采用指数退避算法 +wait_time=$initial_wait_time +while ! network-check; do + echo "$TRANSHELL_CONTENT_NETWORK_FAIL" + echo "Waiting for network to recover... Retrying in ${wait_time} seconds." + + sleep $wait_time + wait_time=$((wait_time * 2)) # 等待时间翻倍 + if [ $wait_time -gt $max_wait_time ]; then + wait_time=$max_wait_time # 最大等待时间限制为12小时 + fi +done # 每日更新星火源文件 - aptss update updatetext=`LANGUAGE=en_US aptss ssupdate 2>&1` -until [ "`echo $updatetext | grep E: `" = "" ];do -echo "${TRANSHELL_CONTENT_UPDATE_ERROR_AND_WAIT_15_SEC}" -sleep 15 -updatetext=`LANGUAGE=en_US aptss ssupdate 2>&1` - +# 在网络恢复后,继续更新操作 +retry_count=0 +max_retries=12 # 最大重试次数,防止死循环 +until ! echo $updatetext | grep -q "E:"; do + if [ $retry_count -ge $max_retries ]; then + echo "Reached maximum retry limit for aptss ssupdate." + exit 1 + fi + echo "${TRANSHELL_CONTENT_UPDATE_ERROR_AND_WAIT_15_SEC}" + sleep 15 + updatetext=`LANGUAGE=en_US aptss ssupdate 2>&1` + retry_count=$((retry_count + 1)) done update_app_number=$(env LANGUAGE=en_US /usr/bin/apt -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf list --upgradable -o Dir::Etc::sourcelist="/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list" -o Dir::Etc::sourceparts="/dev/null" -o APT::Get::List-Cleanup="0" 2>/dev/null | grep -c upgradable) -if [ "$update_app_number" -le 0 ] ; then +if [ "$update_app_number" -le 0 ]; then exit 0 fi @@ -78,43 +86,41 @@ PKG_LIST="$(/opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh IFS_OLD="$IFS" IFS=$'\n' -for line in $PKG_LIST ; do +for line in $PKG_LIST; do PKG_NAME=$(echo $line | awk -F ' ' '{print $1}') PKG_NEW_VER=$(echo $line | awk -F ' ' '{print $2}') PKG_CUR_VER=$(echo $line | awk -F ' ' '{print $3}') dpkg --compare-versions $PKG_NEW_VER le $PKG_CUR_VER - if [ $? -eq 0 ] ; then + if [ $? -eq 0 ]; then let update_app_number=$update_app_number-1 continue fi - ## 检测是否是 hold 状态 + # 检测是否是 hold 状态 PKG_STA=$(dpkg-query -W -f='${db:Status-Want}' $PKG_NAME) - if [ "$PKG_STA" = "hold" ] ; then + if [ "$PKG_STA" = "hold" ]; then let update_app_number=$update_app_number-1 fi done # 还原分隔符 IFS="$IFS_OLD" -if [ $update_app_number -le 0 ] ; then +if [ $update_app_number -le 0 ]; then exit 0 fi update_transhell -## 如果都是hold或者版本一致的那就直接退出,否则把剩余的给提醒了 - -##TODO:除了apt-mark hold之外额外有一个禁止检查列表 - -## 如果不想提示就不提示 +# 如果都是hold或者版本一致的那就直接退出,否则把剩余的给提醒了 +# TODO: 除了apt-mark hold之外额外有一个禁止检查列表 +# 如果不想提示就不提示 user=$(who | awk '{print $1}' | head -n 1) -if [ -e "/home/$user/.config/spark-union/spark-store/ssshell-config-do-not-show-upgrade-notify" ];then -echo "他不想站在世界之巅,好吧" -echo "Okay he don't want to be at the top of the world, okay" -exit +if [ -e "/home/$user/.config/spark-union/spark-store/ssshell-config-do-not-show-upgrade-notify" ]; then + echo "他不想站在世界之巅,好吧" + echo "Okay he don't want to be at the top of the world, okay" + exit else -notify-send -a spark-store "${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_NOTIFY}" "${TRANSHELL_CONTENT_THERE_ARE_APPS_TO_UPGRADE}" + notify-send -a spark-store "${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_NOTIFY}" "${TRANSHELL_CONTENT_THERE_ARE_APPS_TO_UPGRADE}" || true # Some machine don't have bus, or who command just print nothing. fi diff --git a/translations/spark-store_en.ts b/translations/spark-store_en.ts index 1ffe140..85a0c7a 100644 --- a/translations/spark-store_en.ts +++ b/translations/spark-store_en.ts @@ -127,9 +127,9 @@ - - - + + + Download and Install @@ -187,8 +187,8 @@ - - + + Reinstall @@ -198,57 +198,57 @@ - - + + Install - + Installing - - - - + + + + Warning - + The current application does not support or tested on deepin, there may be problems - + The current application does not support or tested on UOS, there may be problems - + The current application does not support or tested on Ubuntu, there may be problems - + The current application does not support or tested on current platform, there may be problems - - + + Spark Store - + Uninstall succeeded - + The URL has been copied to the clipboard diff --git a/translations/spark-store_es.ts b/translations/spark-store_es.ts index 8e18552..ddebf5d 100644 --- a/translations/spark-store_es.ts +++ b/translations/spark-store_es.ts @@ -127,9 +127,9 @@ - - - + + + Download and Install Descargar e instalar @@ -187,8 +187,8 @@ - - + + Reinstall Reinstalación @@ -198,57 +198,57 @@ Actualización - - + + Install Instalación - + Installing Se está instalando - - - - + + + + Warning Aviso - + The current application does not support or tested on deepin, there may be problems - + The current application does not support or tested on UOS, there may be problems - + The current application does not support or tested on Ubuntu, there may be problems - + The current application does not support or tested on current platform, there may be problems - - + + Spark Store SPARK Store - + Uninstall succeeded Desinstalación exitosa - + The URL has been copied to the clipboard La URL ha sido copiada al portapapeles diff --git a/translations/spark-store_fr.ts b/translations/spark-store_fr.ts index fb30b54..1118bc7 100644 --- a/translations/spark-store_fr.ts +++ b/translations/spark-store_fr.ts @@ -127,9 +127,9 @@ - - - + + + Download and Install Télécharger et installer @@ -187,8 +187,8 @@ - - + + Reinstall Réinstaller @@ -198,57 +198,57 @@ Mise à niveau - - + + Install Installation - + Installing Installation en cours - - - - + + + + Warning Avertissement - + The current application does not support or tested on deepin, there may be problems - + The current application does not support or tested on UOS, there may be problems - + The current application does not support or tested on Ubuntu, there may be problems - + The current application does not support or tested on current platform, there may be problems - - + + Spark Store Le Spark store - + Uninstall succeeded Désinstallation réussie - + The URL has been copied to the clipboard L'URL a été copiée dans le presse - papiers diff --git a/translations/spark-store_zh_CN.ts b/translations/spark-store_zh_CN.ts index 2ff43eb..a63709a 100644 --- a/translations/spark-store_zh_CN.ts +++ b/translations/spark-store_zh_CN.ts @@ -122,9 +122,9 @@ - - - + + + Download and Install 下载并安装 @@ -187,8 +187,8 @@ - - + + Reinstall 重新安装 @@ -198,57 +198,57 @@ 升级 - - + + Install 安装 - + Installing 正在安装 - - - - + + + + Warning 警告 - + The current application does not support or tested on deepin, there may be problems 当前应用不支持或未在deepin上测试过,安装后可能会出现问题 - + The current application does not support or tested on UOS, there may be problems 当前应用不支持或未在UOS上测试过,安装后可能会出现问题 - + The current application does not support or tested on Ubuntu, there may be problems 当前应用不支持或未在Ubuntu上测试过,安装后可能会出现问题 - + The current application does not support or tested on current platform, there may be problems 当前应用不支持或未在您的平台上测试过,安装后可能会出现问题 - - + + Spark Store 星火应用商店 - + Uninstall succeeded 卸载成功 - + The URL has been copied to the clipboard 链接已复制到剪贴板 diff --git a/translations/spark-store_zh_TW.ts b/translations/spark-store_zh_TW.ts index 3a2a5ea..8a1d890 100644 --- a/translations/spark-store_zh_TW.ts +++ b/translations/spark-store_zh_TW.ts @@ -122,9 +122,9 @@ - - - + + + Download and Install 下載並安裝 @@ -187,8 +187,8 @@ - - + + Reinstall 重新安裝 @@ -198,57 +198,57 @@ 升级 - - + + Install 安装 - + Installing 正在安装 - - - - + + + + Warning - + The current application does not support or tested on deepin, there may be problems - + The current application does not support or tested on UOS, there may be problems - + The current application does not support or tested on Ubuntu, there may be problems - + The current application does not support or tested on current platform, there may be problems - - + + Spark Store 星火应用商店 - + Uninstall succeeded 卸载成功 - + The URL has been copied to the clipboard 链接已复制到剪贴板