All my apps are in catalan (since my locale is ca_ES) but the second column of the translations kcm is empty. BTW there's no kcm_translations component.
Now that this kcm has been reworked since can we resolve this issue Albert?
It's still kind of broken. It says "There's no language configured" when there's clearly a langauge because that's not English https://i.imgur.com/CknRbq2.png
Any output when run from a terminal?
Sure, lots of QML crap, nothing that seems interesting Cyclic dependency detected between "file:///usr/lib/qt/qml/org/kde/kirigami.2/styles/org.kde.desktop.plasma/Units.qml" and "file:///usr/lib/qt/qml/org/kde/kirigami.2/styles/org.kde.desktop.plasma/Units.qml" file:///usr/share/kpackage/genericqml/org.kde.systemsettings.sidebar/contents/ui/SubCategoryPage.qml:142:9: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/genericqml/org.kde.systemsettings.sidebar/contents/ui/SubCategoryPage.qml:132:9: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/lib/qt/qml/org/kde/kirigami.2/private/RefreshableScrollView.qml:137:13: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/lib/qt/qml/org/kde/kirigami.2/private/RefreshableScrollView.qml:137:13: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } Cyclic dependency detected between "file:///usr/lib/qt/qml/org/kde/kirigami.2/styles/org.kde.desktop.plasma/Units.qml" and "file:///usr/lib/qt/qml/org/kde/kirigami.2/styles/org.kde.desktop.plasma/Units.qml" QQmlEngine::setContextForObject(): Object already has a QQmlContext file:///usr/share/kpackage/genericqml/org.kde.systemsettings.sidebar/contents/ui/introPage.qml:109:27: QML IntroIcon (parent or ancestor of QQuickLayoutAttached): Binding loop detected for property "minimumHeight" Cyclic dependency detected between "file:///usr/lib/qt/qml/org/kde/kirigami.2/styles/org.kde.desktop.plasma/Units.qml" and "file:///usr/lib/qt/qml/org/kde/kirigami.2/styles/org.kde.desktop.plasma/Units.qml" QQmlEngine::setContextForObject(): Object already has a QQmlContext kf.i18n: "1 instead of 2 arguments to message {No s'han pogut troba...} supplied before conversion." file:///usr/lib/qt/qml/org/kde/kirigami.2/templates/OverlaySheet.qml:575:17: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/lib/qt/qml/org/kde/kirigami.2/templates/OverlaySheet.qml:389:9: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/lib/qt/qml/org/kde/kirigami.2/templates/AbstractApplicationHeader.qml:153:9: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/lib/qt/qml/org/kde/kirigami.2/templates/AbstractApplicationHeader.qml:83:5: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/lib/qt/qml/org/kde/kirigami.2/private/globaltoolbar/BreadcrumbControl.qml:24:5: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/lib/qt/qml/org/kde/kirigami.2/private/globaltoolbar/PageRowGlobalToolBarUI.qml:65:9: QML RowLayout (parent or ancestor of QQuickLayoutAttached): Binding loop detected for property "maximumWidth" file:///usr/lib/qt/qml/org/kde/kirigami.2/private/globaltoolbar/PageRowGlobalToolBarUI.qml:65:9: QML RowLayout (parent or ancestor of QQuickLayoutAttached): Binding loop detected for property "maximumWidth" file:///usr/lib/qt/qml/org/kde/kirigami.2/private/globaltoolbar/PageRowGlobalToolBarUI.qml:65:9: QML RowLayout (parent or ancestor of QQuickLayoutAttached): Binding loop detected for property "maximumWidth" file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:128:13: QML ColumnLayout: Cannot anchor to an item that isn't a parent or sibling. kf.i18n: "1 instead of 2 arguments to message {No s'han pogut troba...} supplied before conversion." file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:66:20: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... } file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:128:13: QML ColumnLayout: Cannot anchor to an item that isn't a parent or sibling. kf.i18n: "1 instead of 2 arguments to message {No s'han pogut troba...} supplied before conversion."
Most of those errors have been cleaned up now, at least. What does `cat ~/.config/plasma-localerc` say? What is $LANG set to? I suspect the issue is that it doesn't display the language in $LANG as a default value, furthering the notion that this KCM should really be merged into the formats KCM, as is basically sets an override for the value of $LANG, which is what 90% of the Formats KCM's UI is also for.
$ set | grep LANG= LANG=ca_ES.UTF-8 $ cat ~/.config/plasma-localerc [Formats] LANG=ca_ES.UTF-8 [Translations] LANGUAGE=
Looks like the empty LANGUAGE= key breaks it. If you remove that, does it start working?
Then it's worse, it says my language is American English
OK, that seems like the real bug. Having an empty value for that key in the config file seems like a remnant of some old bug that's since been fixed as I can't make it happen. Can confirm that issue of always showing "American English" in the KCM when nothing else is configured rather than the language from $LANG that was set in the Formats KCM.
I think the bug is here: https://invent.kde.org/plasma/plasma-workspace/-/blob/master/kcms/translations/translationssettingsbase.kcfg#L15 It populates a default value that's equal to QLocale::system().name() if $LANG is unset, but not if it's set. It should probably do it in that case too.
(In reply to Nate Graham from comment #10) > I think the bug is here: > https://invent.kde.org/plasma/plasma-workspace/-/blob/master/kcms/ > translations/translationssettingsbase.kcfg#L15 > > It populates a default value that's equal to QLocale::system().name() if > $LANG is unset, but not if it's set. It should probably do it in that case > too. That piece of code doesn't access any envvar, no? The problem with that piece of code is that it assumes you can do KLocalizedString::availableDomainTranslations("plasmashell").contains(QLocale::system().name()); but that's not going to work at all.
(In reply to Albert Astals Cid from comment #11) > (In reply to Nate Graham from comment #10) > > I think the bug is here: > > https://invent.kde.org/plasma/plasma-workspace/-/blob/master/kcms/ > > translations/translationssettingsbase.kcfg#L15 > > > > It populates a default value that's equal to QLocale::system().name() if > > $LANG is unset, but not if it's set. It should probably do it in that case > > too. > > That piece of code doesn't access any envvar, no? > > The problem with that piece of code is that it assumes you can do > KLocalizedString::availableDomainTranslations("plasmashell"). > contains(QLocale::system().name()); > but that's not going to work at all. Just to make it clear this is the availableDomainTranslations set QSet("es", "cs", "sv", "fi", "id", "pt", "nb", "bs", "et", "zh_CN", "el", "ja", "uk", "pt_BR", "ko", "sr", "sr@latin", "ta", "en_US", "he", "az", "sr@ijekavian", "nds", "lv", "eu", "da", "tg", "tr", "vi", "ca", "hu", "sr@ijekavianlatin", "pl", "it", "ia", "ml", "en_GB", "de", "gl", "ca@valencia", "nl", "hi", "sk", "fr", "ro", "lt", "pa", "zh_TW", "nn", "sl", "ru", "ar") you can't give ca_ES to that or es_ES or almost any other language by that matter, this has been broken since 2014 when this code was created.
Git commit 134e2d5c989c36ac0e985ee0ae382996c6b7b56e by Han Young. Committed on 02/07/2022 at 09:29. Pushed by hanyoung into branch 'master'. merge Language and Formats Related: bug 192019, bug 344588, bug 394477, bug 397974, bug 397975, bug 403580, bug 417564, bug 420268, bug 429474, bug 431292, bug 444772, bug 446785, bug 447787, bug 448324, bug 448355, bug 451919, bug 451944, bug 454991 closes https://invent.kde.org/plasma/plasma-workspace/-/issues/23 M +1 -0 .kde-ci.yml M +52 -8 CMakeLists.txt M +2 -1 config-workspace.h.cmake D +0 -2 doc/kcontrol/formats/CMakeLists.txt D +0 -63 doc/kcontrol/formats/index.docbook R +1 -1 doc/kcontrol/region_language/CMakeLists.txt [from: doc/kcontrol/translations/CMakeLists.txt - 063% similarity] R +- -- doc/kcontrol/region_language/go-top.png [from: doc/kcontrol/translations/go-top.png - 100% similarity] R +36 -23 doc/kcontrol/region_language/index.docbook [from: doc/kcontrol/translations/index.docbook - 050% similarity] A +- -- doc/kcontrol/region_language/list-remove.png D +- -- doc/kcontrol/translations/list-remove.png M +1 -2 kcms/CMakeLists.txt D +0 -30 kcms/formats/CMakeLists.txt D +0 -5 kcms/formats/Messages.sh D +0 -61 kcms/formats/formatssettings.kcfg D +0 -80 kcms/formats/kcmformats.cpp D +0 -34 kcms/formats/kcmformats.h D +0 -183 kcms/formats/localelistmodel.cpp D +0 -140 kcms/formats/optionsmodel.cpp D +0 -126 kcms/formats/package/contents/ui/main.qml A +75 -0 kcms/region_language/CMakeLists.txt A +8 -0 kcms/region_language/Messages.sh R +2 -27 kcms/region_language/exampleutility.cpp [from: kcms/formats/exampleutility.cpp - 052% similarity] A +22 -0 kcms/region_language/exampleutility.h [License: GPL(v2.0+)] A +82 -0 kcms/region_language/kcm_regionandlang.desktop [TRAILING SPACE] ** [TRAILING SPACE] ** R +4 -4 kcms/region_language/kcm_regionandlang.json [from: kcms/formats/kcm_formats.json - 098% similarity] A +250 -0 kcms/region_language/kcmregionandlang.cpp [License: GPL(v2.0+)] A +58 -0 kcms/region_language/kcmregionandlang.h [License: GPL(v2.0+)] A +372 -0 kcms/region_language/languagelistmodel.cpp [License: GPL(v2.0+)] A +100 -0 kcms/region_language/languagelistmodel.h [License: GPL(v2.0+)] A +30 -0 kcms/region_language/localegenerator.cpp [License: LGPL(v2.0+)] A +17 -0 kcms/region_language/localegenerator.h [License: LGPL(v2.0+)] A +19 -0 kcms/region_language/localegeneratorbase.cpp [License: GPL(v2.0+)] A +23 -0 kcms/region_language/localegeneratorbase.h [License: GPL(v2.0+)] A +32 -0 kcms/region_language/localegeneratorglibc.cpp [License: GPL(v2.0+)] A +24 -0 kcms/region_language/localegeneratorglibc.h [License: GPL(v2.0+)] A +101 -0 kcms/region_language/localegeneratorubuntu.cpp [License: GPL(v2.0+)] A +27 -0 kcms/region_language/localegeneratorubuntu.h [License: GPL(v2.0+)] A +36 -0 kcms/region_language/localegenhelper/CMakeLists.txt A +187 -0 kcms/region_language/localegenhelper/localegenhelper.cpp [License: GPL(v2.0+)] A +46 -0 kcms/region_language/localegenhelper/localegenhelper.h [License: GPL(v2.0+)] A +20 -0 kcms/region_language/localegenhelper/org.kde.localegenhelper.conf A +21 -0 kcms/region_language/localegenhelper/org.kde.localegenhelper.policy A +8 -0 kcms/region_language/localegenhelper/org.kde.localegenhelper.service.in A +158 -0 kcms/region_language/localelistmodel.cpp [License: GPL (v2+)] R +22 -22 kcms/region_language/localelistmodel.h [from: kcms/formats/localelistmodel.h - 060% similarity] A +197 -0 kcms/region_language/optionsmodel.cpp [License: GPL(v2.0+)] R +21 -11 kcms/region_language/optionsmodel.h [from: kcms/formats/optionsmodel.h - 054% similarity] A +204 -0 kcms/region_language/package/contents/ui/AdvancedLanguageSelectPage.qml [License: LGPL(v3.0+)] A +238 -0 kcms/region_language/package/contents/ui/main.qml [License: LGPL(v3.0+)] A +64 -0 kcms/region_language/regionandlangsettings.cpp [License: GPL(v2.0+)] A +21 -0 kcms/region_language/regionandlangsettings.h [License: GPL(v2.0+)] A +37 -0 kcms/region_language/regionandlangsettingsbase.kcfg R +2 -2 kcms/region_language/regionandlangsettingsbase.kcfgc [from: kcms/formats/formatssettings.kcfgc - 055% similarity] A +17 -0 kcms/region_language/settingtype.h [License: GPL(v2.0+)] D +0 -49 kcms/translations/CMakeLists.txt D +0 -2 kcms/translations/Messages.sh D +0 -191 kcms/translations/language.cpp D +0 -32 kcms/translations/language.h D +0 -312 kcms/translations/package/contents/ui/main.qml D +0 -86 kcms/translations/translations.cpp D +0 -53 kcms/translations/translations.h D +0 -193 kcms/translations/translationsmodel.cpp D +0 -72 kcms/translations/translationsmodel.h D +0 -27 kcms/translations/translationssettings.cpp D +0 -24 kcms/translations/translationssettings.h D +0 -28 kcms/translations/translationssettingsbase.kcfg D +0 -6 kcms/translations/translationssettingsbase.kcfgc The files marked with ** at the end have a problem. Either the file contains a trailing space or the file contains a call to potentially dangerous code. Please read: https://community.kde.org/Sysadmin/CommitHooks#Email_notifications for further information. Please either fix the trailing space or review the dangerous code. https://invent.kde.org/plasma/plasma-workspace/commit/134e2d5c989c36ac0e985ee0ae382996c6b7b56e