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.
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!