Anki/pylib/anki
GithubAnon0000 e32292585b
FIX lang selection resetting to en_US for some langs (#3744)
* FIX lang selection resetting to en_US for some langs

Fixes https://forums.ankiweb.net/t/anki-25-01-beta/54490/17?u=anon_0000.

# Issue
Set a hand full of certain languages in the preferences screen and see that the translations have been applied after reboot. The language selection in preferences wrongly shows en_US though, not the current active language. If you wanted to switch to `en_US` in this case, then you'd have to first switch to a working language (like de_DE) and then switch to en_US.

# Solution
`anki/qt/aqt/preferences.py` has the functions `setup_language()` and `current_lang_index()`. I noticed that it defaults to en_US, if the language is not in `compatMap` and it couldn’t return the index of the current language. No idea if this code is faulty but I headed over to `anki/pylib/anki/lang.py` afterwards.

Here, in `compatMap`, I added e.g. `"la": "la_LA"`. I knew the code since I could get it with `print("––– lang is ", lang)` in `preferences.py` (`current_lang_index()` retrieves `la` for latin).

After adding those code changes from my PR, the problem for those selected languages had gone away.

No idea if that's best practices though or if something else should be fixed instead.

* UPDATE CONTRIBUTORS adding myself to the list
2025-01-25 19:14:50 +11:00
..
_vendor Update Python deps 2023-03-31 14:04:05 +10:00
foreign_data Update type annotation syntax (#3283) 2024-07-21 14:00:52 +07:00
importing Improve exception handling (#3290) 2024-08-04 20:51:13 +07:00
scheduler Update type annotation syntax (#3283) 2024-07-21 14:00:52 +07:00
_backend.py Rename remaining 'weights' references to 'params' 2024-10-21 18:13:23 +10:00
_legacy.py Update type annotations (#3322) 2024-07-26 17:57:25 +07:00
_rsbridge.pyi style: reformat with black (#3324) 2024-07-26 17:58:57 +07:00
browser.py Enable invalid-name globally in pylib (#1454) 2021-10-25 19:10:56 +10:00
cards.py fix: add proper imports (#3296) 2024-08-05 11:34:46 +07:00
collection.py Enable strict_optional for aqt/tagedit, utils, sync (#3578) 2024-11-15 16:29:19 +03:00
config.py python: add missing type annotations for None values (#3364) 2024-08-22 16:03:44 +07:00
consts.py Strip out v1/v2 code 2023-09-24 14:27:40 +10:00
db.py Enable invalid-name globally in pylib (#1454) 2021-10-25 19:10:56 +10:00
dbproxy.py Update type annotations (#3322) 2024-07-26 17:57:25 +07:00
decks.py python: add missing type annotations for None values (#3364) 2024-08-22 16:03:44 +07:00
errors.py Remove v1/v2 support from the backend (#2727) 2023-10-14 10:50:59 +10:00
exporting.py Update type annotation syntax (#3283) 2024-07-21 14:00:52 +07:00
find.py Add py3.9 to hooks (#1542) 2021-12-09 09:11:22 +10:00
hooks.py Improve exception handling (#3290) 2024-08-04 20:51:13 +07:00
httpclient.py python: add missing type annotations for None values (#3364) 2024-08-22 16:03:44 +07:00
lang.py FIX lang selection resetting to en_US for some langs (#3744) 2025-01-25 19:14:50 +11:00
latex.py Improve exception handling (#3290) 2024-08-04 20:51:13 +07:00
media.py Recognise and check for media referenced in <source> tags (#3763) 2025-01-25 10:16:24 +03:00
models.py python: add missing type annotations for None values (#3364) 2024-08-22 16:03:44 +07:00
notes.py Refactor ephemeral_card of notes (#3307) 2024-07-21 15:25:48 +07:00
py.typed mark anki and aqt modules as having typing info 2020-01-13 13:03:37 +10:00
rsbackend.py PEP8 for rest of pylib (#1451) 2021-10-25 14:50:13 +10:00
sound.py Enable invalid-name globally in pylib (#1454) 2021-10-25 19:10:56 +10:00
stats.py refactor: use not in and is not as recommended (#3351) 2024-08-10 17:55:26 +07:00
statsbg.py Update licensing information (#2850) 2023-11-27 11:35:51 +10:00
stdmodels.py Update type annotations (#3322) 2024-07-26 17:57:25 +07:00
storage.py Enable invalid-name globally in pylib (#1454) 2021-10-25 19:10:56 +10:00
sync.py Enable invalid-name globally in pylib (#1454) 2021-10-25 19:10:56 +10:00
syncserver.py Update Rust and Python deps (#2567) 2023-07-01 18:26:43 +10:00
tags.py Update type annotation syntax (#3283) 2024-07-21 14:00:52 +07:00
template.py Remove unused link 2024-11-07 08:37:32 +10:00
types.py Enable invalid-name globally in pylib (#1454) 2021-10-25 19:10:56 +10:00
utils.py Improve exception handling (#3290) 2024-08-04 20:51:13 +07:00