Package: release.debian.org Severity: normal Tags: bookworm User: release.debian....@packages.debian.org Usertags: pu X-Debbugs-Cc: spy...@packages.debian.org, Samuel Thibault <sthiba...@debian.org> Control: affects -1 + src:spyder
[ Reason ] This is a patch for https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1054475 This bug prevents auto-detection of the environment language (using the Python locale.getdefaultlocale() function) when Spyder is first run. After that, Spyder saves the language and uses that saved value for future use; this setting can be changed in the Spyder preferences. The upstream patch fixes the error that caused this bug by updating the list of available translations. The Debian bug was filed as "normal" severity. It should probably be "important", but I have not changed the severity. (It is definitely not more that "important", as the language can still be changed by the user after Spyder has started in English.) The reporter specifically suggested that this should be fixed in stable, and with such a simple patch, I tend to agree. The patch I have used is the complete upstream patch, minus a minor tweak to some function documentation. This is a little larger than the proposed patch in the Debian bug report, but it protects against any other oversight in the list of translations. [ Impact ] When starting Spyder for the first time in a non-English locale, the interface will be in English rather than the locale language, even if a translation for that locale is provided by Spyder. [ Tests ] It appears that there are no tests for this piece of code (hence why this bug was not caught automatically). The package's autopkgtest suite still passes, and the updated package has been manually tested on a bookworm system to ensure that it no longer has this bug. [ Risks ] There seem to be few risks with this minor patch. [ Checklist ] [x] *all* changes are documented in the d/changelog [x] I reviewed all changes and I approve them [x] attach debdiff against the package in (old)stable [x] the issue is verified as fixed in unstable [ Changes ] See the patch: it fixes the list of available translations and no longer defaults to English if the list of translations is out of date. [ Other info ] I have not yet uploaded the new version to ftp-master.d.o; I await your approval before doing so.
diff -Nru spyder-5.4.2+ds/debian/changelog spyder-5.4.2+ds/debian/changelog --- spyder-5.4.2+ds/debian/changelog 2023-02-23 10:59:49.000000000 +0000 +++ spyder-5.4.2+ds/debian/changelog 2023-11-30 20:22:17.000000000 +0000 @@ -1,3 +1,9 @@ +spyder (5.4.2+ds-5+deb12u1) stable; urgency=medium + + * Fix interface language auto-configuration (closes: #1054475) + + -- Julian Gilbey <j...@debian.org> Thu, 30 Nov 2023 20:22:17 +0000 + spyder (5.4.2+ds-5) unstable; urgency=medium * Fix translation-loading patch (see discussion at diff -Nru spyder-5.4.2+ds/debian/patches/enable-i18n.patch spyder-5.4.2+ds/debian/patches/enable-i18n.patch --- spyder-5.4.2+ds/debian/patches/enable-i18n.patch 1970-01-01 01:00:00.000000000 +0100 +++ spyder-5.4.2+ds/debian/patches/enable-i18n.patch 2023-11-30 20:22:17.000000000 +0000 @@ -0,0 +1,76 @@ +From: Carlos Cordoba <ccordob...@gmail.com> +Date: Thu, 26 Oct 2023 13:52:55 -0500 +Subject: [PATCH] Backport PR #21451: Fix interface language auto-configuration +Description: + Commit 7d99df57dc977ee00d92c959102409be1683df24 + This bug prevented auto-configuration of the interface language when + Spyder is started for the first time. (After that, the interface language + is stored in the preferences file and can be changed via the preferences + dialog.) + A minor cosmetic fix to the function documentation has been removed from + this patch. +Last-Update: 2023-11-30 +Origin: upstream, https://github.com/spyder-ide/spyder/pull/21461 +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1054475 + +--- a/spyder/config/base.py ++++ b/spyder/config/base.py +@@ -366,20 +366,24 @@ + # This needs to be updated every time a new language is added to spyder, and is + # used by the Preferences configuration to populate the Language QComboBox + LANGUAGE_CODES = { +- 'en': u'English', +- 'fr': u'Français', +- 'es': u'Español', +- 'hu': u'Magyar', +- 'pt_BR': u'Português', +- 'ru': u'Русский', +- 'zh_CN': u'简体中文', +- 'ja': u'日本語', +- 'de': u'Deutsch', +- 'pl': u'Polski' ++ 'en': 'English', ++ 'fr': 'Français', ++ 'es': 'Español', ++ 'hu': 'Magyar', ++ 'pt_BR': 'Português', ++ 'ru': 'Русский', ++ 'zh_CN': '简体中文', ++ 'ja': '日本語', ++ 'de': 'Deutsch', ++ 'pl': 'Polski', ++ 'fa': 'Persian', ++ 'hr': 'Croatian', ++ 'te': 'Telugu', ++ 'uk': 'Ukrainian', + } + + # Disabled languages because their translations are outdated or incomplete +-DISABLED_LANGUAGES = ['hu', 'pl'] ++DISABLED_LANGUAGES = ['fa', 'hr', 'hu', 'pl', 'te', 'uk'] + + + def get_available_translations(): +@@ -400,14 +404,19 @@ + + # Check that there is a language code available in case a new translation + # is added, to ensure LANGUAGE_CODES is updated. ++ retlangs = [] + for lang in langs: + if lang not in LANGUAGE_CODES: + if DEV: + error = ('Update LANGUAGE_CODES (inside config/base.py) if a ' +- 'new translation has been added to Spyder') ++ 'new translation has been added to Spyder. ' ++ 'Currently missing ' + lang) + print(error) # spyder: test-skip +- return ['en'] +- return langs ++ return ['en'] ++ else: ++ retlangs.append(lang) ++ ++ return retlangs + + + def get_interface_language(): diff -Nru spyder-5.4.2+ds/debian/patches/series spyder-5.4.2+ds/debian/patches/series --- spyder-5.4.2+ds/debian/patches/series 2023-02-23 10:59:49.000000000 +0000 +++ spyder-5.4.2+ds/debian/patches/series 2023-11-30 20:22:17.000000000 +0000 @@ -6,3 +6,4 @@ test-fixes-3.11.patch fix-l10n-3.11-handling.patch make-translations-singleton.patch +enable-i18n.patch