I do think @plach et. al. did a good job architecting the Drupal 7 language negotiation APIs. There are some cleanup tasks to do to make it more understandable and use some of the new things introduced in Drupal 8 to keep it up to date.
Sub-issues
#1219196: Move negotiation settings out to their own include file
#1222106: Unify language negotiation APIs, declutter terminology
#1269832: Use Symfony / context code to retrieve HTTP language preferences
#1137074: Make obtaining language-aware URLs less painful
#1250800: Language domain should work regardless of ports or protocols
#1272840: Add upgrade path for language domains and validation
#1156576: Language negotiation is undocumented
#322995: Provide a distinct administration user interface language option
Parent issue
#1260534: META-META: Make language support awesome in Drupal 8
Comments
Comment #1
plachComment #2
podaroksubscribe
Comment #2.0
podarokAdded localized URL DX issue
Comment #2.1
Gábor HojtsyAdding domain related tasks
Comment #2.2
plachAdded documentation issue
Comment #3
Gábor HojtsyDismantling meta issues to clean up the D8MI issue list. (Working on a better overview for the issues).
Comment #3.0
Gábor HojtsyAdd admin language issue