Steps to reproduce:
1. Install Drupal 8.3.7 (I used: https://simplytest.me/)
2. Enable all 4 multilingual modules (/admin/modules)
3. Add Spanish language (/admin/config/regional/language)
4. Place language switcher block in header region (/admin/structure/block)
5. Make basic pages translatable (/admin/config/regional/content-language - check Content, then Basic page, and Save configuration)
6. Add a basic page (/node/add/page: Title: Test; Body: Hello world!; URL path: hello-world)
7. Add Spanish translation (/node/1/translations/add/en/es - Title: Análisis; Body: ¡Hola mundo!; URL path: hola-mundo)
8. Enable interface text language detection of account administration pages (/admin/config/regional/language/detection)

9. Set administration pages language to English (/user/1/edit)

10. Hit Contenido (the toolbar remains in Spanish), now the admin UI is in English. Working as expected, until I clear the cache (/admin/config/development/performance - Clear all caches) navigate to the Spanish page (/es/hola-mundo): No page is found

11. Check the content overview and the page still appears to be there (/admin/content)

12. Try to edit the Spanish translation and it appears no longer to exist (/es/node/1/edit)?

13. If I disable interface text language detection of account administration pages (/admin/config/regional/language/detection) and clear the cache, then the page is found again (/es/hola-mundo)?

| Comment | File | Size | Author |
|---|---|---|---|
| Screen Shot 2017-09-22 at 11.30.05.png | 95.39 KB | jbd44 | |
| Screen Shot 2017-09-22 at 10.04.41.png | 158.91 KB | jbd44 | |
| Screen Shot 2017-09-22 at 10.00.13.png | 127.81 KB | jbd44 | |
| Screen Shot 2017-09-22 at 09.42.57.png | 95.7 KB | jbd44 | |
| Screen Shot 2017-09-22 at 09.35.38.png | 37.34 KB | jbd44 |
Comments
Comment #2
jbd44 commentedI've tested and reproduced the same problem on 8.4.0-rc2.
Comment #3
maacl commentedThis might be related to https://www.drupal.org/node/2802403.
I guess in step 10 the Pathprocessor tries to find a node behind the spanish alias while having set english as interface language, does not find anything because the alias is only available in spanish, and caches the empty result. You can check this in the database in the cache_data table. If you call the spanish alias with spanish interface language first, you should see in the data blob the node id. If you visit with english interface first, the blob contains no information about the node and leads to a 404 on next page call of that alias.
Comment #4
j-leeAdded #2802403: Combination of language negotiation and path aliasing can cause a corrupted route cache, 404s as related issue. Maybe #2843439: Can't translate a content into a language different than that of the administration pages language setting also happens?
Comment #10
smustgrave commentedJust tested following the steps in the description (by the way FANTASTIC steps, made it super easy). I was not able to replicate on Drupal 9.5.x
Closing as outdated but if you still see it as an issue please reopen and where you are seeing it.
Again fantastic description!