Strange Issues with Some zh_CN translations
As the translator for zh_CN, I am very glad to see my contributed translations being incorporated into 3.39 release. However, upon close look, I noticed some translations were not properly loaded and some behave even strangely...
Testing were done under Fedora 35 X86 with app from Flathub:
$ flatpak info net.rpdev.OpenTodoList
OpenTodoList - Todo list and note taking application
ID: net.rpdev.OpenTodoList
Ref: app/net.rpdev.OpenTodoList/x86_64/stable
Arch: x86_64
Branch: stable
Version: 3.39.0
License: GPL-3.0+
Origin: flathub
Collection: org.flathub.Stable
Installation: system
Installed: 135.8 MB
Runtime: org.kde.Platform/x86_64/5.15
Sdk: org.kde.Sdk/x86_64/5.15
Commit: 67f6bf1e38f67e8bc3014dbdeb524364b360a87a9ce75cb45d57ec0a28d893f5
Parent: 216ed83076a93e13ea8605f4eac946cd2b3ab8d5158cc70b0e753255a47e9a06
Subject: Update to v3.39 (493d7b1e)
Date: 2022-01-05 22:36:32 +0000
The system is properly configured to zh_CN(Chinese Simplified) and OpenToList seems to detect so:
$ localectl status
System Locale: LANG=zh_CN.UTF-8
VC Keymap: cn
X11 Layout: cn
$ flatpak run net.rpdev.OpenTodoList
Entered main
Starting app
Applying app-wide configs
Creating Qt app
Gtk-Message: 15:21:49.325: Failed to load module "canberra-gtk-module"
Gtk-Message: 15:21:49.325: Failed to load module "pk-gtk-module"
Gtk-Message: 15:21:49.325: Failed to load module "canberra-gtk-module"
Gtk-Message: 15:21:49.325: Failed to load module "pk-gtk-module"
Qt: Session management error: None of the authentication protocols specified are supported
Screens:
"DisplayPort-1" 1
Parsing command line arguments
Processing command line ("OpenTodoList")
Finished parsing command line
Opening console
Checking for primary app instance...
Setting up fonts
Printing diagnostics
This is "OpenTodoList" version "3.39.0"
System ABI: "x86_64-little_endian-lp64"
Build CPU Architecture: "x86_64"
Current CPU Architecture: "x86_64"
Kernel Type: "linux"
Kernel Version: "5.15.12-200.fc35.x86_64"
Product Name: "KDE Flatpak runtime"
OpenSSL version Qt was built against: "OpenSSL 1.1.1l 24 Aug 2021"
OpenSSL version loaded: "OpenSSL 1.1.1l 24 Aug 2021"
Creating cache
Starting background service
OpenTodoList.BackgroundService: Creating OpenTodoList BackgroundService object
OpenTodoList.BackgroundService: Initializing app settings
OpenTodoList.ApplicationSettings: Loading libraries...
Starting GUI
OpenTodoList.Translator: "/home/tommy/.var/app/net.rpdev.OpenTodoList/config/RPdev/OpenTodoList.conf"
OpenTodoList.Translator: Successfully loaded translation for UI languages ("zh-CN")
OpenTodoList.ApplicationSettings: Loading libraries...
Cyclic dependency detected between "qrc:/Utils/ItemUtils.qml" and "qrc:/Utils/SyntaxHighlighter.qml"
Cyclic dependency detected between "qrc:/Utils/ItemUtils.qml" and "qrc:/Controls/TextField.qml"
Cyclic dependency detected between "qrc:/Utils/ItemUtils.qml" and "qrc:/Windows/DeleteCompletedItemsDialog.qml"
Cyclic dependency detected between "qrc:/Utils/ItemUtils.qml" and "qrc:/Controls/Label.qml"
Cyclic dependency detected between "qrc:/Utils/ItemUtils.qml" and "qrc:/Windows/DeleteItemDialog.qml"
Cyclic dependency detected between "qrc:/Utils/ItemUtils.qml" and "qrc:/Windows/DateSelectionDialog.qml"
Showing tray icon
QSystemTrayIcon::setVisible: No Icon set
Starting application event loop
There seems to be three kinds of translation issues. Allow me to explain them one by one below:
- Not loaded when "Language" is set to "System Language". See
Even though UI languages was successfully recognized as zh_CN, majority of UI interface is still displayed in English, with only a small number of strings displayed in desired language. This would have most impact for users using Simplified Chinese. But an easy workaround is manual selecting language.
- Fall back to "English" when manually set "Language" to "Chinese Simplified". See
By manually select language, majority of UI interface is displayed to intended language "Chinese Simplified". However, some are now fallen back to English as highlighted "Settings" in screenshot. This would be a smaller issue compared to the one above.
- No loaded at all no matter the "Language" setting. For example, the translation for "Add Account" is not loaded no matter the languages is left for auto detect
nor manually selected
. These kind is the most rare but do exist.
Meanwhile, I do notice an error printed in terminal while testing.
QString::arg: Argument missing: 一个 OpenTodoList %1的新版本可供使用。,
That's an error in zh_CN translation that mishandled the placeholder percentage symbol. It should remain as half-width character instead of full-width. It is fixed in Poedit.com now.
No other
I also test it on the Android version from Play Store and Linux ARM64 version from Flathub. Both of them behave like this.
Feel free to let me know if additional log are needed to diagnose the problem.
Thanks a lot!