Fix language switcher "eating" part of vocids that end in a langcode (e.g. "interessen" and "en") #1234
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I happend to have a vocabulary named (vocid) "interessen", which ends in "en", one of the available ui languages.
When switching the UI to German, the "en" ending in the url (/interessen/en/) was replaced with the "de" code, as well as appending another /de. So en was (re)placed twice, leading to broken urls such as /interessde/de/.
I fixed this for now by making the "| replace" filter that rewrites the url not as greedy: instead of any langcode-looking text, it now looks for a slash preceding it (/en instead of just en). This will probably not fix instances where a vocid is exactly the same as one of the langcodes (vocabularies named "en", "de", "fr" etc.) but is good enough for me at the moment.