Qt will create virtual device for QInputEvent when no physical device
available (e.g. switched to another VT), which will leads to a failed
assertion and make treeland crash. This commit applies a special guarded
getter for such case.
When switching back from TTY the Greeter will be re-created, and somehow
leads to an incorrect lockscreen animation on HiRes screen. This commit
adds skip function to lockscreen animation, and skips the animation when
the first time it adds to an output.
This commit modifies the GitHub Actions workflows for waylib builds to
ensure they are triggered when qwlroots code changes occur, since waylib
depends on qwlroots.
Changes:
1. Added 'qwlroots/**' to the paths trigger for waylib-archlinux-build.yml
2. Added 'qwlroots/**' to the paths trigger for waylib-debian-build.yml
3. Updated README.md to document the CI workflow dependencies
4. Updated README.zh_CN.md to maintain consistency across all language versions
This ensures proper dependency management and prevents build failures
when qwlroots modifications affect waylib compilation.
ci: 当qwlroots代码修改时触发waylib构建
此提交修改了waylib构建的GitHub Actions工作流,确保在qwlroots
代码发生变化时触发waylib构建,因为waylib依赖于qwlroots。
变更内容:
1. 在waylib-archlinux-build.yml的路径触发器中添加'qwlroots/**'
2. 在waylib-debian-build.yml的路径触发器中添加'qwlroots/**'
3. 更新README.md文档记录CI工作流的依赖关系
4. 更新README.zh_CN.md保持所有语言版本文档的一致性
这确保了正确的依赖管理,防止qwlroots修改影响waylib编译时
出现构建失败的情况。
1. Remove the unused "quitFullBtn" Loader component that was not visible
2. Add Helper.activateSurface call before maximizing window
3. This ensures proper window activation before state change
fix: 删除未使用的退出全屏按钮并添加窗口激活
1. 移除了未使用的 "quitFullBtn" Loader 组件
2. 在窗口最大化前添加了 Helper.activateSurface 调用
3. 这确保了在状态改变前正确激活窗口
1. Added Qt.NoFocus policy to title bar component to prevent keyboard
focus
2. Added focusPolicy to all window control buttons (minimize, close,
maximize)
3. Ensures focus remains with active window content during window
operations
4. Improves accessibility and prevents focus-related UI glitches
fix: 防止标题栏和窗口按钮获取焦点
1. 为标题栏组件添加 Qt.NoFocus 策略以阻止键盘焦点
2. 为所有窗口控制按钮(最小化、关闭、最大化)添加 focusPolicy
3. 确保窗口操作期间焦点保留在活动窗口内容上
4. 提升可访问性并防止焦点相关的界面故障
* fix: Handle VT switching keys
This commit addresses an issue where the XF86Switch_VT_1 to
XF86Switch_VT_12 keys were not properly handled by Qt. Qt does not
directly support these keys. The fix involves converting these keys to
Ctrl+Alt+F1 through Ctrl+Alt+F12 when the Ctrl and Alt modifiers are
already pressed. This enables users to switch virtual terminals within
the Wayland environment using these key combinations, matching the
expected behavior on traditional Linux systems. This conversion only
happens when Ctrl+Alt are already pressed, preventing accidental mapping
of other keys.
fix: 处理 VT 切换键
此提交解决了一个 Qt 无法正确处理 XF86Switch_VT_1 到 XF86Switch_VT_12
键的问题。Qt 不直接支持这些键。此修复包括将这些键转换为 Ctrl+Alt+F1
到 Ctrl+Alt+F12(如果 Ctrl 和 Alt 修改键已被按下)。这使得用户能够在
Wayland 环境中使用这些组合键切换虚拟终端,从而匹配传统 Linux 系统上的预
期行为。此转换仅在 Ctrl+Alt 已被按下时发生,防止意外映射其他键。
1. Introduce `default.nix` at the root to define Nix packages and
dependencies
2. Migrate CMakeLists.txt to use `option()` and `add_feature_info()` for
better feature management
3. Update `flake.nix` to import and organize Nix modules and packages
4. Modify `nix/default.nix` to use `nix-filter.lib` and add new
dependencies like `qwlroots` and `waylib`
5. Update `waylib/flake.nix` and `waylib/nix/default.nix` to improve
test support and source filtering
feat: 添加 Nix flake 支持以优化项目配置
1. 在项目根目录引入 `default.nix` 来定义 Nix 包及其依赖
2. 将 CMakeLists.txt 中的配置改为使用 `option()` 和 `add_feature_info()`
以更好地管理功能选项
3. 更新 `flake.nix` 以导入并组织 Nix 模块和包
4. 修改 `nix/default.nix` 使用 `nix-filter.lib` 并添加 `qwlroots` 和
`waylib` 等包
1. Remove duplicate CMake option for WITH_SUBMODULE_WAYLIB that was both
defined and set to ON
2. Eliminate redundant build presets (submodule & submodule-with-clang)
that only differed by compiler settings
3. Simplify CMakePresets.json by keeping only essential configurations
4. Maintain single source of truth for binary directory configuration
fix: 删除冗余的子模块选项和配置
1. 移除重复定义的 WITH_SUBMODULE_WAYLIB 选项,该选项已被设置为 ON
2. 删除冗余的构建预设(submodule 和 submodule-with-clang),这些配置仅编
译器设置不同
3. 简化 CMakePresets.json 文件,保留必要配置
4. 维护单一可信的二进制目录配置来源
1. Remove redundant seatd service configuration in flake.nix that was
previously used for testing
2. Clean up development shell packages by removing unnecessary Wayland-
related dependencies
3. Update wlroots dependency to wlroots_0_19 in both flake.nix and
default.nix
4. Update project version from 0.2.2 to 0.5-unstable to reflect recent
development progress
5. Add depsBuildBuild input for pkg-config to ensure proper build
environment setup
6. Remove outdated wlroots reference from nativeBuildInputs
chore: 更新 nix 依赖并清理配置
1. 移除 flake.nix 中冗余的 seatd 服务配置(之前用于测试)
2. 清理开发环境中的 shell 包,移除不必要的 Wayland 相关依赖
3. 在 flake.nix 和 default.nix 中将 wlroots 依赖更新为 wlroots_0_19
4. 将项目版本从 0.2.2 更新为 0.5-unstable 以反映最新开发进展
5. 添加 pkg-config 的 depsBuildBuild 输入以确保正确的构建环境
This commit enforces the use of Ninja as the build system during the
debian package creation process for treeland, qwlroots, and waylib.
This change was made to significantly improve build times, as Ninja
generally offers faster and more efficient builds compared to the
default make system. The changes involve adding `ninja-build` as a
build dependency in the `debian/control` files and adding `-GNinja` to
the `dh_auto_configure` commands in the `debian/rules` files for all
three packages. This ensures that CMake uses Ninja to generate the build
files.
chore: 在 deb 打包过程中强制使用 Ninja 构建
此提交强制在 treeland、qwlroots 和 waylib 的 debian 包创建过程中使用
Ninja 作为构建系统。 此更改旨在显着缩短构建时间,因为与默认的 make 系统
相比,Ninja 通常提供更快、更高效的构建。 更改包括在 `debian/control` 文
件中添加 `ninja-build` 作为构建依赖项,并在所有三个包的 `debian/rules`
文件中的 `dh_auto_configure` 命令中添加 `-GNinja`。 这确保 CMake 使用
Ninja 来生成构建文件。
This commit adds a timeout of 3 seconds to several protocol unit tests
in their respective CMakeLists.txt files. These tests were observed
to block indefinitely in certain build environments, specifically
when building deb packages. Adding a timeout ensures that these tests
will not hang the build process, improving overall build reliability
and preventing potential deadlocks. The timeout value of 3 seconds
was chosen to allow sufficient time for the tests to complete under
normal conditions while still providing a reasonable safeguard against
indefinite blocking.
fix: 为协议测试添加超时
此提交在其各自的 CMakeLists.txt 文件中为多个协议单元测试添加了 3 秒的超
时。据观察,这些测试在某些构建环境中(尤其是在构建 deb 软件包时)会无限
期地阻塞。添加超时可确保这些测试不会使构建过程挂起,从而提高整体构建可靠
性并防止潜在的死锁。选择 3 秒的超时值是为了在正常情况下为测试完成留出足
够的时间,同时仍提供合理的保护以防止无限期阻塞。
The ArchLinux build workflows for qwlroots, treeland and waylib now
create a zip archive of the installed files in a staging directory
and upload it as an artifact. This allows for easy inspection of the
built files and verification of the build process's correctness. The
zip includes a `PACKAGE_INFO.txt` containing package metadata, build
configuration details, and a list of installed files. Pacman is used to
install the zip tool if it isn't already available.
feat: 上传构建产物为 zip 压缩包
qwlroots、treeland 和 waylib 的 ArchLinux 构建工作流程现在会在暂存目录中
创建已安装文件的 zip 压缩包,并将其作为工件上传。这样可以方便地检查构建
的文件并验证构建过程的正确性。该 zip 包含一个 `PACKAGE_INFO.txt`,其中包
含包元数据、构建配置详细信息和已安装文件列表。 如果 zip 工具尚不可用,则
使用 Pacman 安装它。
1. Fixes and updates CI configurations for treeland.
2. Merges `reuse` files for comprehensive license information.
3. Updates dependencies in `debian/control` to align with the combined
codebase.
4. Introduces separate build workflows for `waylib` and `qwlroots` to
ensure they can be built independently.
5. This ensures modularity and prevents accidental breakages during
future development, maintaining the option to separate these components
again.
chore: 修复 CI 并启用独立构建
1. 修复并更新了 treeland 的 CI 配置。
2. 合并 `reuse` 文件以提供全面的许可证信息。
3. 更新了 `debian/control` 中的依赖项,以与合并的代码库保持一致。
4. 引入了 `waylib` 和 `qwlroots` 的独立构建工作流程,以确保它们可以独立
构建。
5. 确保模块化,防止未来开发过程中意外损坏,保持再次分离这些组件的选项。
Removed qwlroots and waylib from git submodules, and merged their
source code directly into the treeland repository. This change
reduces development overhead during the rapid iteration phase of
treeland, as frequent coordinated changes are required across
treeland, qwlroots, and waylib. By merging them now, we simplify
development and maintenance. In the future, when the project
stabilizes, we may consider splitting them back into independent
repositories.
To prepare for this possible future split, the original directory
structures and all files from qwlroots and waylib are preserved and
placed under separate subdirectories in treeland.
Original project commits at the time of merge:
- qwlroots: https://github.com/vioken/qwlroots(00b09f9047ac0eaf26757e8af3d31f35d22bbce3)
- waylib: https://github.com/vioken/waylib(9564027cc6c89dc5262c03d183f743b71a0e621e)
重构:将 qwlroots 和 waylib 项目代码合并到 treeland
将 qwlroots 和 waylib 从 git 子模块中移除,直接把它们的代码合并
到 treeland 项目中。这样做是为了在 treeland 快速迭代期间减少开发
成本,因为经常需要同时修改 treeland、waylib 和 qwlroots,合并后
开发会更方便,待项目稳定后再考虑重新拆分为独立项目。
为方便将来拆分,保留了原项目的目录结构和全部文件,并使用独立子
目录维护代码。
合并时原项目的提交信息如下:
- qwlroots: https://github.com/vioken/qwlroots(00b09f9047ac0eaf26757e8af3d31f35d22bbce3)
- waylib: https://github.com/vioken/waylib(9564027cc6c89dc5262c03d183f743b71a0e621e)
This commit modifies the treeland systemd service file to use the
`seatd-dde.service` instead of the generic `seatd.service`. This change
is necessary because treeland now utilizes a dedicated seatd instance,
`seatd-dde`, specifically configured for its requirements. By switching
to the dedicated service, treeland avoids potential conflicts or
misconfigurations that could arise from sharing a common seatd instance
with other applications or services.
chore: 使用 treeland 专用的 seatd 服务
此提交修改了 treeland systemd 服务文件,以使用 `seatd-dde.service` 而不
是通用的 `seatd.service`。 这一更改是必要的,因为 treeland 现在使用专门
为其需求配置的专用 seatd 实例 `seatd-dde`。 通过切换到专用服务,treeland
可以避免因与其他应用程序或服务共享通用 seatd 实例而可能引起的潜在冲突或
错误配置。
81% of minimum 10% translated source file: 'lockscreen.en_US.ts'
on 'es'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate lockscreen.en_US.ts in pl
27% of minimum 10% translated source file: 'lockscreen.en_US.ts'
on 'pl'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in pt_BR
100% translated source file: 'treeland.en_US.ts'
on 'pt_BR'.
---------
Log:
The polkit rules for `org.freedesktop.login1.manage` are no longer
required because the DDE user no longer logs in via the `login1`
interface. This change removes the `misc/polkit-1` directory,
the `debian/treeland.install` reference to polkit rules, and the
corresponding `CMakeLists.txt` entry. This simplifies the codebase and
removes unnecessary configuration files.
chore: 移除 login1 的 polkit 规则
由于 DDE 用户不再通过 `login1` 接口登录,因此不再需要
`org.freedesktop.login1.manage` 的 polkit 规则。此更改移除了 `misc/
polkit-1` 目录、`debian/treeland.install` 中对 polkit 规则的引用以及相应
的 `CMakeLists.txt` 条目。这简化了代码库并删除了不必要的配置文件。
I can't explain this phenomenon. As long as the DLog registration
function is before QApplication, it is impossible to obtain all the
contents registered by dbus.
DTK Team reported that other projects encountered the same problem and
suspected that it was a Qt problem.
Log:
only treeland-session-shutdown.service can be clean TREELAND_RUN_MODE.
treeland-session-shutdown.service need TREELAND_RUN_MODE env, but
environment unset before treeland service stop.
Log:
LightDM will not store the desktop file name used for startup in DESKTOP_SESSION,
so we need a wrapper to provide new environment for treeland user mode.
Log:
1. Added [[maybe_unused]] attribute to multiple function parameters
across various modules
2. This resolves compiler warnings about unused variables in Wayland
interface implementations
3. The changes affect DDE shell interfaces, foreign toplevel handling,
personalization manager, output management, and other components
4. Modern C++ compilers can now properly ignore these parameters without
generating unnecessary warnings
fix: 为未使用的参数添加 [[maybe_unused]] 属性
1. 在多个模块的函数参数中添加了 [[maybe_unused]] 属性
2. 这解决了Wayland接口实现中关于未使用变量的编译器警告问题
3. 修改涉及DDE shell接口、外部顶层窗口处理、个性化管理器、输出管理以及其
他组件
4. 现代C++编译器现在可以正确忽略这些参数,而不会生成不必要的警告
1. Added ninja build tool to nativeBuildInputs in nix/default.nix to
support faster builds
2. Added popupsurfacecontainer files to CMakeLists.txt for proper
compilation
3. Created new PopupSurfaceContainer class to handle popup surfaces with
mouse event detection
4. Modified WindowMenu.qml to set modal property ensuring proper popup
behavior
5. Updated ShellHandler to use PopupSurfaceContainer instead of generic
SurfaceContainer
The changes implement a specialized container for handling
popup surfaces with proper event handling and closure logic. The
PopupSurfaceContainer class provides specific functionality for managing
popup windows, including detecting mouse press events outside popup
areas and closing popups accordingly. This improves the user experience
by ensuring popups are properly dismissed when users interact outside
their boundaries.
* [skip CI] Translate treeland.en_US.ts in af
10% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'af'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in th
20% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'th'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in te
20% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'te'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in ku
20% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'ku'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in nb
10% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'nb'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in uk [Manual Sync]
100% translated source file: 'treeland.en_US.ts'
on 'uk'.
* [skip CI] Translate wallpaper.en_US.ts in uk [Manual Sync]
66% of minimum 1% translated source file: 'wallpaper.en_US.ts'
on 'uk'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in uk [Manual Sync]
100% translated source file: 'multitaskview.en_US.ts'
on 'uk'.
* [skip CI] Translate multitaskview.en_US.ts in ja
100% translated source file: 'multitaskview.en_US.ts'
on 'ja'.
* [skip CI] Translate treeland.en_US.ts in ja
100% translated source file: 'treeland.en_US.ts'
on 'ja'.
* [skip CI] Translate wallpaper.en_US.ts in ja
100% translated source file: 'wallpaper.en_US.ts'
on 'ja'.
* [skip CI] Translate lockscreen.en_US.ts in ja
100% translated source file: 'lockscreen.en_US.ts'
on 'ja'.
* [skip CI] Translate multitaskview.en_US.ts in ca
100% translated source file: 'multitaskview.en_US.ts'
on 'ca'.
* [skip CI] Translate wallpaper.en_US.ts in ca
100% translated source file: 'wallpaper.en_US.ts'
on 'ca'.
* [skip CI] Translate wallpaper.en_US.ts in uk
100% translated source file: 'wallpaper.en_US.ts'
on 'uk'.
* [skip CI] Translate lockscreen.en_US.ts in uk
59% of minimum 10% translated source file: 'lockscreen.en_US.ts'
on 'uk'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate wallpaper.en_US.ts in pt_BR
100% translated source file: 'wallpaper.en_US.ts'
on 'pt_BR'.
* [skip CI] Translate wallpaper.en_US.ts in es
100% translated source file: 'wallpaper.en_US.ts'
on 'es'.
* [skip CI] Translate treeland.en_US.ts in es
100% translated source file: 'treeland.en_US.ts'
on 'es'.
* [skip CI] Translate multitaskview.en_US.ts in es
100% translated source file: 'multitaskview.en_US.ts'
on 'es'.
* [skip CI] Translate lockscreen.en_US.ts in pt_BR
95% of minimum 10% translated source file: 'lockscreen.en_US.ts'
on 'pt_BR'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in ca
100% translated source file: 'treeland.en_US.ts'
on 'ca'.
* [skip CI] Translate multitaskview.en_US.ts in pt_BR
100% translated source file: 'multitaskview.en_US.ts'
on 'pt_BR'.
* [skip CI] Translate lockscreen.en_US.ts in ca
100% translated source file: 'lockscreen.en_US.ts'
on 'ca'.
---------
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
* [skip CI] Translate treeland.en_US.ts in ja
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'ja'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in ko
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'ko'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in cs
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'cs'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in it
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'it'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in sr
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'sr'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in hu
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'hu'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in zh_TW
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'zh_TW'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in ro
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'ro'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in fi
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'fi'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate wallpaper.en_US.ts in zh_CN
83% of minimum 10% translated source file: 'wallpaper.en_US.ts'
on 'zh_CN'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in ms
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'ms'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in uk
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'uk'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in sv
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'sv'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in ar
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'ar'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in fr
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'fr'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in es
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'es'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in he
60% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'he'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in hi_IN
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'hi_IN'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in pl
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'pl'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in az
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'az'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in ka
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'ka'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in gl_ES
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'gl_ES'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in am_ET
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'am_ET'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in bg
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'bg'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in zh_CN
100% translated source file: 'multitaskview.en_US.ts'
on 'zh_CN'.
* [skip CI] Translate multitaskview.en_US.ts in ms
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'ms'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in bg
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'bg'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in ta
40% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'ta'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in de
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'de'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in zh_HK
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'zh_HK'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in am_ET
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'am_ET'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in ne
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'ne'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in cs
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'cs'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in si
10% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'si'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in sk
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'sk'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in km_KH
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'km_KH'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in sq
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'sq'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in ru
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'ru'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in fi
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'fi'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in tr
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'tr'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in lt
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'lt'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in id
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'id'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in de
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'de'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate lockscreen.en_US.ts in zh_CN
27% of minimum 10% translated source file: 'lockscreen.en_US.ts'
on 'zh_CN'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in tzm
30% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'tzm'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in el
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'el'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in ka
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'ka'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in nl
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'nl'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in zh_TW
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'zh_TW'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in ast
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'ast'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in br
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'br'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in el
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'el'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in ca
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'ca'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in sq
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'sq'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in hi_IN
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'hi_IN'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in kab
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'kab'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in bo
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'bo'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in sl
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'sl'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in pt_BR
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'pt_BR'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in it
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'it'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in bqi
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'bqi'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in ro
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'ro'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in zh_HK
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'zh_HK'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in hr
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'hr'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in uk
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'uk'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in sk
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'sk'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in fa
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'fa'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in vi
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'vi'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in da
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'da'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in id
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'id'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in ja
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'ja'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in ca
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'ca'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in zh_CN
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'zh_CN'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in gl_ES
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'gl_ES'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in ug
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'ug'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in sl
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'sl'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in bo
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'bo'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in sr
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'sr'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in hr
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'hr'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in ar
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'ar'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in da
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'da'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in bqi
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'bqi'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in fr
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'fr'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in pt
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'pt'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in pt
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'pt'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in hu
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'hu'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in pl
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'pl'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in az
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'az'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in ast
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'ast'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in ckb
20% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'ckb'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in tr
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'tr'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in bn
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'bn'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in nl
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'nl'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in ug
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'ug'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in pt_BR
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'pt_BR'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in ru
50% of minimum 10% translated source file: 'multitaskview.en_US.ts'
on 'ru'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in es
80% of minimum 10% translated source file: 'treeland.en_US.ts'
on 'es'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate treeland.en_US.ts in zh_CN
100% translated source file: 'treeland.en_US.ts'
on 'zh_CN'.
* [skip CI] Translate multitaskview.en_US.ts in zh_HK
100% translated source file: 'multitaskview.en_US.ts'
on 'zh_HK'.
* [skip CI] Translate treeland.en_US.ts in zh_TW
100% translated source file: 'treeland.en_US.ts'
on 'zh_TW'.
* [skip CI] Translate lockscreen.en_US.ts in zh_TW
27% of minimum 10% translated source file: 'lockscreen.en_US.ts'
on 'zh_TW'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate multitaskview.en_US.ts in zh_TW
100% translated source file: 'multitaskview.en_US.ts'
on 'zh_TW'.
* [skip CI] Translate treeland.en_US.ts in zh_HK
100% translated source file: 'treeland.en_US.ts'
on 'zh_HK'.
* [skip CI] Translate lockscreen.en_US.ts in zh_HK
27% of minimum 10% translated source file: 'lockscreen.en_US.ts'
on 'zh_HK'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate wallpaper.en_US.ts in zh_CN
100% translated source file: 'wallpaper.en_US.ts'
on 'zh_CN'.
* [skip CI] Translate lockscreen.en_US.ts in zh_TW
63% of minimum 10% translated source file: 'lockscreen.en_US.ts'
on 'zh_TW'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate lockscreen.en_US.ts in zh_HK
63% of minimum 10% translated source file: 'lockscreen.en_US.ts'
on 'zh_HK'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* [skip CI] Translate lockscreen.en_US.ts in zh_CN
63% of minimum 10% translated source file: 'lockscreen.en_US.ts'
on 'zh_CN'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
---------
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
Co-authored-by: rewine <luhongxu@deepin.org>
1. Add .tx/config file to set up Transifex translation management with
multiple resource configurations for different components
2. Update Simplified Chinese translations in wallpaper plugin by
removing 'type="unfinished"' from several entries
3. Update Simplified Chinese translations in lockscreen plugin by
removing 'type="unfinished"' from multiple translation tags
These changes improve translation management workflow through proper
Transifex configuration and ensure the Chinese translations are marked
as completed rather than unfinished.
chore: 配置翻译文件并更新中文翻译
1. 添加 .tx/config 文件,配置多个组件的 Transifex 翻译资源管理
2. 在壁纸插件中更新简体中文翻译,移除多个条目中的 'type="unfinished"'
3. 在锁屏插件中更新简体中文翻译,移除多个标签中的 'type="unfinished"'
这些更改通过正确的 Transifex 配置改进了翻译管理工作流程,并确保中文翻译
标记为已完成状态而非未完成状态。