[openstreetmap/openstreetmap-website] Language selection enhancements (PR #6412)

mmd notifications at github.com
Mon Sep 22 17:49:29 UTC 2025


### Description

This PR includes the following two changes:

- Dynamic loading using Turbo: instead of rendering the language selection for every page, this is now done on demand only, when clicking on the language selection button.
   + Some sidebar navigation steps don't automatically reload the header section, which is why I have to evaluate and possibly update the turbo frame "src" link in Javascript. This happens e.g. when navigating from a changeset to an element.
   + Rails controller name and path names may be confusing. I'm open for better ideas.

- Search field: since the list of languages is a bit long, I have added a type ahead search at the top of popup window. It's doing some case-insensitive sub-string matching, and filters out any non-matching entries.

Here's how the overall result looks like:

<img width="441" height="162" alt="image" src="https://github.com/user-attachments/assets/663f8e2d-050d-450f-8ca5-1295725bf673" />


<img width="441" height="162" alt="image" src="https://github.com/user-attachments/assets/68285295-3c3e-4689-b079-987ee3023ce0" />



or as screen recording:

https://github.com/user-attachments/assets/4deaf116-a7c0-4454-962f-0a17a10d5e7d


### How has this been tested?
Local test

You can view, comment on, or merge this pull request online at:

  https://github.com/openstreetmap/openstreetmap-website/pull/6412

-- Commit Summary --

  * Language selection enhancements

-- File Changes --

    M app/abilities/ability.rb (2)
    M app/assets/javascripts/application.js (30)
    A app/controllers/languages_controller.rb (12)
    M app/views/layouts/_header.html.erb (24)
    M app/views/layouts/_select_language_list.html.erb (23)
    A app/views/layouts/_select_language_list_frame.html.erb (11)
    M config/locales/en.yml (1)
    M config/routes.rb (1)
    M test/system/select_language_test.rb (10)

-- Patch Links --

https://github.com/openstreetmap/openstreetmap-website/pull/6412.patch
https://github.com/openstreetmap/openstreetmap-website/pull/6412.diff

-- 
Reply to this email directly or view it on GitHub:
https://github.com/openstreetmap/openstreetmap-website/pull/6412
You are receiving this because you are subscribed to this thread.

Message ID: <openstreetmap/openstreetmap-website/pull/6412 at github.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/rails-dev/attachments/20250922/fc929078/attachment.htm>


More information about the rails-dev mailing list