language: Refactor `available_languages` into its own struct (#61388)

This adds a dedicated `AvailableLanguages` struct in preparation for a
more cabable language matching based on a given language config. No
functional changes, just shuffling some code around for this round.

Also made the LanguageMatcher non-cloneable in favor of wrapping it in
an Arc, since cloning is rather expensive for this and having a
reference is sufficient in all cases right now.

Release Notes:

- N/A

---------

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
e49d280094Finn Evers committed on 7/23/2026, 11:22:43 AM· committed by GitHubparent7cdf2ae
35 files changedLine totals unavailable