seitime-frappe/frappe
Sattam a88f2a8fc5
fix: prioritize English language selection for Guest user despite additional browser language settings
Description:
- Resolved an issue where the system incorrectly activated a non-English language for Guest users, even when English was the primary language in the browser settings.
- The bug occurred when additional languages (e.g., Arabic) were configured in the browser and one of those languages was already enabled in Frappe.
- Ensured that English is prioritized as the default language for Guest users when it is present in the browser language list, regardless of other enabled languages.
- Added a fix to explicitly enable English language for Guest users to prevent unintended language switching.

Steps to Reproduce:
- Create a new clean site and add additional languages (e.g., Arabic) in the browser settings.
- Ensure the additional language (e.g., Arabic) is already enabled in the database, which is by default.
- Observe that the system switches to the non-English translation (e.g., Arabic) for Guest users, even if English is the primary language in the browser settings.

Root Cause Analysis:
- Initially suspected `translate.py` was involved in language resolution.
- Checked enabled languages at the console using:
  `frappe.get_all("Language", filters={"enabled": 1}, pluck="name")`
  Result: ['fr', 'fa', 'es', 'de', 'ar']
- Identified that English was not enabled in the system, despite being a default requirement.
- Traced the issue to `languages.csv`, where English was not included among the enabled languages.

Fix:
- Enabled English in `languages.csv` to ensure it is included among the supported languages.
- This ensures English is chosen when included in the browser settings, resolving the issue.
2025-03-11 04:02:40 +03:00
..
api feat: new REST API for copy_doc (#31160) 2025-02-07 17:46:53 +05:30
automation Merge pull request #29862 from iamejaaz/refactor-auto-repeat-29378 2025-02-12 23:04:31 +05:30
change_log
commands fix: check for running jobs before migrating (#31438) 2025-02-26 09:30:38 +00:00
contacts fix(Contact): export company name and department in vCard (#29190) 2025-01-15 14:16:03 +00:00
core Merge pull request #31522 from akhilnarang/opt-out-host-override 2025-03-07 13:27:44 +05:30
custom perf: fetch existing fields beforehand 2025-03-08 14:28:19 +05:30
data
database fix: search instead of match (#31557) 2025-03-07 06:59:23 +00:00
desk fix: change if to elif 2025-03-10 16:49:20 +05:30
email fix(email_account): make attachments public by default 2025-03-10 14:26:52 +05:30
geo fix: prioritize English language selection for Guest user despite additional browser language settings 2025-03-11 04:02:40 +03:00
gettext refactor: fixup with ruff 0.8.1 2024-12-04 13:18:04 +05:30
integrations refactor: sign up flow changes (#31205) 2025-03-03 16:36:15 +00:00
locale chore: update POT file (#31467) 2025-03-05 01:27:28 +01:00
model fix(db_query): improve regex 2025-03-07 16:57:27 +05:30
modules fix: add newline to JSON exports 2025-03-10 06:44:25 +00:00
patches Revert "Merge pull request #28363 from frappe/expr-series" (#31202) 2025-02-10 06:46:45 +00:00
printing fix(minor): don't update modified date in patch 2025-02-19 14:09:39 +05:30
public Merge pull request #31630 from iamejaaz/31611-link-field-export 2025-03-10 21:35:01 +05:30
query_builder fix: datetime comparison in QB (#26364) 2024-05-09 10:19:27 +00:00
search refactor: change filter from tuple to dict 2024-11-26 11:38:15 +05:30
social perf: use client cache for doctype "maps" (#31105) 2025-02-05 06:46:47 +00:00
templates fix: Translate Footer Items 2025-02-25 13:22:57 +01:00
testing chore: set default max_module_depth to 0 2024-12-04 17:19:02 +05:30
tests chore: fix typo in new DocStatus constant 2025-03-05 08:29:47 +05:30
types perf: Make frappe._dict great again (#28824) 2024-12-18 16:36:31 +05:30
utils refactor: split messages.py from init.py 2025-03-10 21:02:13 +05:30
website refactor: sign up flow changes (#31205) 2025-03-03 16:36:15 +00:00
workflow fix(workflow_action): Pass context as dict to render template 2025-02-21 14:47:28 +01:00
www Merge branch 'develop' into add_pdf_backend_hook 2025-03-06 13:18:09 +05:30
__init__.py refactor: split messages.py from init.py 2025-03-10 21:02:13 +05:30
_optimizations.py fix(DX): add faulthandler for SEGV and other bad signals (#30046) 2025-01-24 14:24:54 +00:00
app.py fix: ensure correct context in sys.exc_info 2025-02-19 17:33:53 +05:30
apps.py fix: consider default path for Website User if applicable 2024-08-30 15:42:58 +05:30
auth.py fix: Move on_session_creation hook after session is created 2025-03-05 11:27:21 +01:00
boot.py refactor: sign up flow changes (#31205) 2025-03-03 16:36:15 +00:00
build.py fix: Clear all cache after rebuilding assets (#29876) 2025-01-21 18:57:10 +05:30
cache_manager.py perf: use client_cache for form meta 2025-02-25 12:25:42 +05:30
client.py fix: remove flag to ensure some checks run 2025-03-03 11:53:50 +05:30
config.py refactor: move init.py utils to utils/* 2025-03-10 21:01:14 +05:30
coverage.py ci: make gh actions functions (#28299) 2024-10-27 02:09:02 +00:00
defaults.py perf: client-cache for defaults 2025-01-07 12:51:10 +05:30
deferred_insert.py fix: ruff fixes 2024-02-07 17:04:31 +05:30
deprecation_dumpster.py test: undo breaking change to test-fixture regeneration (#29034) 2025-01-03 11:44:12 +05:30
exceptions.py fix: Implement backpressure for background jobs 2025-03-05 10:59:00 +05:30
frappeclient.py refactor: fixup with ruff 0.8.1 2024-12-04 13:18:04 +05:30
handler.py fix: check permission on new doc (#31626) 2025-03-10 13:30:13 +00:00
hooks.py refactor: add validation and refactor code of auto repeat 2025-01-20 16:31:59 +05:30
installer.py perf!: Cache site configs in memory for 60 seconds (#28869) 2024-12-27 16:21:14 +00:00
locale.py feat: cache documents in client cache 2025-01-14 14:33:10 +05:30
middlewares.py
migrate.py fix: Avoid killing any system threads (#31442) 2025-02-26 16:07:46 +00:00
modules.txt
monitor.py perf: "random" naming to improve concurrency and locality (#30053) 2025-01-25 07:04:09 +00:00
oauth.py perf: Skip link checking on internal deletes 2025-01-06 11:48:19 +05:30
parallel_test_runner.py test: avoid flaky behaviour on test ordering 2025-01-04 11:54:37 +05:30
patches.txt fix: make pdf_generator select field 2025-02-14 16:27:10 +05:30
permissions.py fix: ensure correct context in sys.exc_info 2025-02-19 17:33:53 +05:30
push_notification.py chore: Add Push Notification Settings to Integrations workspace 2024-02-28 11:07:22 +05:30
rate_limiter.py fix: allow multiple @rate_limit decorators to be considered (#31209) 2025-02-11 15:09:34 +05:30
realtime.py fix: redo some fixes to ensure cypress passes 2025-02-20 12:51:37 +05:30
recorder.py fix(DX): Limit cprofiler output to 200 lines (#31538) 2025-03-06 06:42:40 +00:00
sessions.py refactor: use an alternate key for handling expiry 2025-01-24 18:27:44 +05:30
share.py style: re-format with ruff 2024-02-05 18:53:33 +05:30
test_runner.py refactor: organize test contextmanagers (#28041) 2024-10-09 02:09:19 +02:00
translate.py chore: remove unused method (#29163) 2025-01-14 21:39:09 +00:00
twofactor.py chore(twofactor): specify key to display during decryption failures 2024-09-16 13:00:38 +05:30