rusackas opened a new pull request, #34565:
URL: https://github.com/apache/superset/pull/34565

   ## Summary
   - Fixed menu bar translations not updating when switching languages through 
the language picker
   - Converted Locale objects to strings for proper cache key hashing in 
`cached_common_bootstrap_data`
   - Added comprehensive unit tests to verify the fix
   
   ## Problem
   When users changed the language using the language picker, most UI elements 
would update but the menu bar items would remain in the previous language. This 
was a known limitation where menu translations were cached incorrectly.
   
   ## Solution
   The root cause was that the `cached_common_bootstrap_data` function was 
using Flask-Babel's `Locale` objects directly as cache keys. These objects may 
not hash consistently, causing cache misses. The fix:
   
   1. Converts the `Locale` object to a string in `common_bootstrap_payload()` 
before passing it to the cache function
   2. Updates the cache function signature to accept string locales instead of 
Locale objects
   3. Parses the locale string to extract the language code for the bootstrap 
data
   
   ## Test Plan
   - [x] Added unit tests that verify:
     - Locale objects are converted to strings before caching
     - Different locale strings result in different cache entries
     - Menu data is re-fetched when locale changes
   - [x] All tests pass locally
   - [x] Pre-commit checks pass
   
   ## Testing Instructions
   1. Configure Superset with multiple languages (e.g., English and German)
   2. Start the application and verify the menu is in the default language
   3. Use the language picker to switch languages
   4. Verify that menu items now update to the selected language
   
   Fixes #34531
   
   Generated with Claude Code


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscr...@superset.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscr...@superset.apache.org
For additional commands, e-mail: notifications-h...@superset.apache.org

Reply via email to