Handle Major API changes for d8/d9 for localize.drupal.org urls/files

Currently the urls for localize.drupal.org have a ‘core major API’ string as part of the URL, as a way to subdivide the translation files on the filesystem, like so:

https://ftp.drupal.org/files/translations/8.x/views_slideshow/views_slideshow-8.x-4.6.es.po

In the future, we’d like to eliminate the 8.x- from the release versions, and allow semantic versioning for contrib. This also means that the localization files will need a place to exist, independent from the 8.x subdirectory.

There will be a transition period where both Major-API and semantic versioning of project versions will be acceptable, and we will still need to continue to serve old urls.

Proposal

Currently the following major api subdirectories exist, and are served by drupal.org:
[4.6.x,4.7.x,5.x,6.x,7.x,8.x,9.x,All]

We should keep the url structure the same for 4.6->7.x, leaving that unchanged.

8.x and 9.x and all future translations should be served from the All directory. And any requests to urls that contain the 8.x major api should be redirected to ‘all’ to maintain BC.

https://ftp.drupal.org/files/translations/8.x/views_slideshow/views_slideshow-8.x-4.6.es.po
Should redirect to
https://ftp.drupal.org/files/translations/All/views_slideshow/views_slideshow-8.x-4.6.es.po

When we introduce semantic versioning for contrib, the following happens:
https://ftp.drupal.org/files/translations/All/views_slideshow/views_slideshow-4.6.0.es.po

We could also provide redirects for legacy versions to semantic versions as well, depending on how we want to get version information in d9. It may be that we can rely on composer to provide our installed version numbers instead of relying on modifying the info files and adding that information later.

If that were the case, we would need a way to get to the original versions. We should respond to both:
https://ftp.drupal.org/files/translations/All/views_slideshow/views_slideshow-8.x-4.6.es.po and
https://ftp.drupal.org/files/translations/All/views_slideshow/views_slideshow-4.6.0.es.po


Source: https://www.drupal.org/project/issues/rss/infrastructure