Page MenuHomePhabricator

Rename the language codes sr-ec and sr-el to the BCP 47 conform codes sr-Cyrl and sr-Latn
Open, Needs TriagePublic

Description

The language codes sr-ec (Serbian in Cyrillic script) and sr-el (Serbian in Latin script) are not conform to BCP 47. BCP 47 explicit declares sr-Cyrl and sr-Latn as language codes.

The internal language codes can be in lower case: sr-cyrl and sr-latn. LanguageCode::bcp47() creates the capital letters.

The current language codes should exist as alias for compatibility.

Details

ProjectBranchLines +/-Subject
mediawiki/coremaster+14 -8
mediawiki/coremaster+92 -112
mediawiki/extensions/CategoryTreemaster+2 -2
mediawiki/extensions/InputBoxmaster+4 -4
mediawiki/extensions/InputBoxmaster+0 -0
operations/puppetproduction+6 -0
translatewikimaster+25 -21
mediawiki/extensions/MobileFrontendmaster+10 -10
mediawiki/extensions/UniversalLanguageSelectormaster+12 -12
mediawiki/extensions/ExtJSBasemaster+2 -2
mediawiki/extensions/WikimediaMessagesmaster+6 -4
mediawiki/extensions/Wikibasemaster+22 -0
mediawiki/extensions/Wikibasemaster+2 -2
mediawiki/extensions/ParserFunctionsmaster+1 -1
mediawiki/extensions/Gadgetsmaster+2 -2
mediawiki/extensions/cldrmaster+11 -11
mediawiki/extensions/Thanksmaster+2 -2
mediawiki/extensions/FlaggedRevsmaster+1 -1
mediawiki/extensions/Echomaster+2 -2
mediawiki/extensions/LiquidThreadsmaster+2 -2
operations/mediawiki-configmaster+14 -0
operations/mediawiki-configmaster+2 -0
mediawiki/coremaster+752 -697
mediawiki/extensions/Wikibasemaster+10 -6
Show related patches Customize query in gerrit

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

This task is still open, but the codes have already been introduced on Wikidata, creating some problems, see T121747.

Change 323180 had a related patch set uploaded (by Fomafix):
Disable tests with language codes 'sr-ec' and 'sr-el'

https://gerrit.wikimedia.org/r/323180

Change 323180 merged by jenkins-bot:
Replace tests with language codes 'sr-ec' and 'sr-el'

https://gerrit.wikimedia.org/r/323180

Change 323667 had a related patch set uploaded (by Fomafix):
Rename language codes sr-ec and sr-el to sr-cyrl and sr-latn

https://gerrit.wikimedia.org/r/323667

Change 323677 had a related patch set uploaded (by Fomafix):
Rename language codes sr-ec and sr-el to sr-cyrl and sr-latn

https://gerrit.wikimedia.org/r/323677

Change 323678 had a related patch set uploaded (by Fomafix):
Rename language codes sr-ec and sr-el to sr-cyrl and sr-latn

https://gerrit.wikimedia.org/r/323678

Change 323680 had a related patch set uploaded (by Fomafix):
Rename language codes sr-ec and sr-el to sr-cyrl and sr-latn

https://gerrit.wikimedia.org/r/323680

Change 323681 had a related patch set uploaded (by Fomafix):
Rename language codes sr-ec and sr-el to sr-cyrl and sr-latn

https://gerrit.wikimedia.org/r/323681

Change 323683 had a related patch set uploaded (by Fomafix):
Rename language codes sr-ec and sr-el to sr-cyrl and sr-latn

https://gerrit.wikimedia.org/r/323683

Change 323684 had a related patch set uploaded (by Fomafix):
Rename language codes sr-ec and sr-el to sr-cyrl and sr-latn

https://gerrit.wikimedia.org/r/323684

What are all these patches for? This is not how the no/nb rename was performed, AFAIK. (It should be enough to move all pages on translatewiki.net and re-export.)

What are all these patches for? This is not how the no/nb rename was performed, AFAIK. (It should be enough to move all pages on translatewiki.net and re-export.)

When these patches can generated automatically then this is fine. When the automatic generated patches are merges these patches will be empty after rebase.

When these patches can generated automatically then this is fine.

I don't know what you meant by "these patches", but l10n-bot changesets (exports from translatewiki.net) are merged automatically.

  • If, in the future, ekavian-ijekavian conversion is made, what will be done then?

For differentiation between ekavian and ijekavian the following four language codes should be used:

  • sr-Cyrl-ekavsk
  • sr-Cyrl-ijekavsk
  • sr-Latn-ekavsk
  • sr-Latn-ijekavsk

The current variant URLs https://sr.wikipedia.org/sr-el/Beograd and https://sr.wikipedia.org/w/index.php?title=Beograd&variant=sr-el should also work like the new variant URLs: https://sr.wikipedia.org/sr-latn/Beograd and https://sr.wikipedia.org/w/index.php?title=Beograd&variant=sr-latn

I don't know what you meant by "these patches", but l10n-bot changesets (exports from translatewiki.net) are merged automatically.

I don't know what you meant by "these patches", but I guessed you mean the commits by l10n-bot and it is fine when l10n-bot can rename language codes.

Perhaps should be standardized as like https://sr.wikipedia.org/wiki/Beograd , as per T152014?

https://sr.wikipedia.org/wiki/Beograd and https://sr.wikipedia.org/wiki/Београд also work, independent of the change from sr-ec and sr-el to sr-cyrl and sr-latn.

languages/classes/LanguageSr.php has as comment:

There are two levels of conversion for Serbian: the script level
(Cyrillics <-> Latin), and the variant level (ekavian
<->iyekavian). The two are orthogonal. So we really only need two
dictionaries: one for Cyrillics and Latin, and one for ekavian and
iyekavian.

The replacement arrays has only mappings between Latin and Cyrillics and between Cyrillics and Latin. Therefor variants and the conversion between ekavian<->iyekavian seams to be not implement yet.

The following language codes are valid and should be supported at the end:

  • sr
  • sr-Cyrl
  • sr-Latn
  • sr-ekavsk
  • sr-ijekavsk
  • sr-Cyrl-ekavsk
  • sr-Cyrl-ijekavsk
  • sr-Latn-ekavsk
  • sr-Latn-ijekavsk

The current variant URL https://sr.wikipedia.org/sr-el/Beograd will still work because https://sr.wikipedia.org/w/index.php?title=Beograd&variant=sr-el will be still supported and deliver the same result as https://sr.wikipedia.org/w/index.php?title=Beograd&variant=sr-latn. To support a new variant URL https://sr.wikipedia.org/sr-latn/Beograd a new additional alias definition can added.

Change 368248 had a related patch set uploaded (by Fomafix; owner: Fomafix):
[operations/puppet@production] Rename language codes sr-ec and sr-el to sr-cyrl and sr-latn

https://gerrit.wikimedia.org/r/368248

Change 375616 had a related patch set uploaded (by Fomafix; owner: Fomafix):
[operations/mediawiki-config@master] Rename language codes sr-ec and sr-el to sr-cyrl and sr-latn

https://gerrit.wikimedia.org/r/375616

Any update on this, @Fomafix? Would be nice to get this done so subtags can be added.

https://www.iana.org/assignments/language-subtag-registry and BCP 47 defines the following language codes:

  • sr
  • sr-Cyrl
  • sr-Latn
  • sr-ekavsk
  • sr-ijekavsk
  • sr-Cyrl-ekavsk
  • sr-Cyrl-ijekavsk
  • sr-Latn-ekavsk
  • sr-Latn-ijekavsk

What is the intended fallback between the new language codes? Which language codes will be used for system messages? What are the intended language codes for the current Serbian system messages? Can the variants converted with a LanguageConverter? Is it intended to convert the content with a LanguageConverter between the variants?

I prefer to perform first the change from sr-ec to sr-Cyrl and from sr-el to sr-Latn and introduce new variants -ekavsk and -ijekavsk later.

What is the intended fallback between the new language codes?

sr-cyrl-ijekavsk would fallback to sr-cyrl (sr-ec), and sr-latn-ijekavsk would fallback to sr-latn (sr-el).

Which language codes will be used for system messages? What are the intended language codes for the current Serbian system messages?

I'm not sure I fully understood what you meant by that, but

  • sr-latn
  • sr-cyrl
  • sr-latn-ijekavsk
  • sr-cyrl-ijekavsk

should be in the list of languages that you can pick from. -ekavsk should not be used at all, as that's the "default" variant already used by sr-latn, and sr-cyrl.

Can the variants converted with a LanguageConverter? Is it intended to convert the content with a LanguageConverter between the variants?

It's not intended for content, but just for the interface. Currently there's no way of automatically converting between the Ekavian and Ijekavian variants, unless you manually specify the value for each in wikitext, and that would just be a massive hassle for editors.

When the variant -ijekavsk gets introduced as supported language code then the variant -ekavsk should also introduced to get a symmetric support. Without the symmetric support

Accept-Language: sr-ekavsk, sr-ijekavsk;q=0.9, sr;q=0.8

would select sr-ijekavsk. See T183295 for the problematic.

To have a symmetric support I suggest the following fallbacks:

CodeFallback
srsr-Cyrl
sr-Cyrlsr-Cyrl-ekavsk
sr-Latnsr-Latn-ekavsk
sr-ekavsksr-Cyrl-ekavsk
sr-ijekavsksr-Cyrl-ijekavsk
sr-Cyrl-ekavsk
sr-Cyrl-ijekavsk
sr-Latn-ekavsk
sr-Latn-ijekavsk

This means that all system message should be renamed from sr-ec to sr-cyrl-ekavsk. Are all current system messages in sr or sr-ec in the variant Ekavian?

This means that all system message should be renamed from sr-ec to sr-cyrl-ekavsk. Are all current system messages in sr or sr-ec in the variant Ekavian?

Yup, and the messages in sr-el are in the Ekavian variant as well.

Ok, then for the messages the language codes can renamed from sr-ec to sr-cyrl-ekavsk and from sr-el to sr-latn-ekavsk. The new language codes sr-cyrl and sr-latn does not have own translations and fall back to sr-cyrl-ekavsk and sr-latn-ekavsk.

So, just to make sure, does that mean that the translations would be done in sr-cyrl-ekavsk, sr-latn-ekavsk, sr-cyrl-ijekavsk and sr-latn-ijekavsk? If so, it'd be great to get this done as soon as possible so we can start working on the -ijekavsk translations on TranslateWiki.

I shall note, there were plans to use the codes sr-jc and sr-jl for sr-cyrl-ijekavsk and sr-latn-ijekavsk but I don't know that they were ever used in practice, though perhaps they maybe still dwell somewhere in MediaWiki code.

The current variant URL https://sr.wikipedia.org/sr-el/Beograd will still work because https://sr.wikipedia.org/w/index.php?title=Beograd&variant=sr-el will be still supported and deliver the same result as https://sr.wikipedia.org/w/index.php?title=Beograd&variant=sr-latn. To support a new variant URL https://sr.wikipedia.org/sr-latn/Beograd a new additional alias definition can added.

I don't think a new alias definition should be added, as we have too many aliases already and the entire system doesn't work well at all.

It might have been intended for content which is why it wasn't used. Anyhow, it's pointless to dwell on the past. People nowadays clearly want the option to use the Ijekavian variant for the interface.

I don't think a new alias definition should be added, as we have too many aliases already and the entire system doesn't work well at all.

If new the alias https://sr.wikipedia.org/sr-latn/Beograd is unwanted then creating the alias can skipped. But first it must ensured that nowhere such an URL is created https://sr.wikipedia.org/$2/$1 or else the new alias is required.

Change 415161 had a related patch set uploaded (by Fomafix; owner: Fomafix):
[mediawiki/core@master] [WIP] Rename language codes sr-e[cl] to sr-(cyrl|latn)-ekavsk

https://gerrit.wikimedia.org/r/415161

Change 415161 had a related patch set uploaded (by Fomafix; owner: Fomafix):
[mediawiki/core@master] [WIP] Rename language codes sr-e[cl] to sr-(cyrl|latn)-ekavsk

https://gerrit.wikimedia.org/r/415161

Wait, wait. The release notes say:

  • Added new language code sr-cyrl with fallback to sr-cyrl-ekavsk.
  • Added new language code sr-latn with fallback to sr-latn-ekavsk.

Shouldn't it be the other way around, sr-cyrl-ekavsk should fall back to sr-cyrl?

This is WIP. Please help to set the right fallbacks.

uselang=sr-cyrl should find the messages with language code sr-cyrl-ekavsk. When the messages with language codes sr-cyrl-ijekavsk are introduced, the fallback can changed to $fallback = 'sr-cyrl-ekavsk, sr-cyrl-ijekavsk, sr'.

@Srdjan_m what about Wikidata? Do you want to distinguish the Wikidata content between the Ekavian and the Ijekavian pronunciation? Should the existing content with the language code sr-ec and sr-el moved to sr-cyrl and sr-latn or to sr-cyrl-ekavsk and sr-latn-ekavsk and create sr-cyrl-ijekavsk and sr-latn-ijekavsk?

@Fomafix: If fallback works there as well, then move it to sr-cyrl-ekavsk and sr-latn-ekavsk. Otherwise, go with sr-cyrl and sr-latn.

Do you want to fill Wikidata with the Ekavian and the Ijekavian pronunciation in Cyrillic and in Latin script? Is it useful to have sr-cyrl-ekavsk, sr-latn-ekavsk, sr-cyrl-ijekavsk and sr-latn-ijekavsk and additionally sr-cyrl and sr-latn for words that don't differ between Ekavian and Ijekavian?

Is it useful to have sr-cyrl-ekavsk, sr-latn-ekavsk, sr-cyrl-ijekavsk and sr-latn-ijekavsk and additionally sr-cyrl and sr-latn for words that don't differ between Ekavian and Ijekavian?

If that's doable, that would be the best option.

@Srdjan_m what about Wikidata? Do you want to distinguish the Wikidata content between the Ekavian and the Ijekavian pronunciation? Should the existing content with the language code sr-ec and sr-el moved to sr-cyrl and sr-latn or to sr-cyrl-ekavsk and sr-latn-ekavsk and create sr-cyrl-ijekavsk and sr-latn-ijekavsk?

For labels, descriptions and aliases, ask Pasleim to let that guy's bot to convert.

Change 421793 had a related patch set uploaded (by Fomafix; owner: Fomafix):
[mediawiki/extensions/cldr@master] Rename language codes sr-ec and sr-el to sr-cyrl and sr-latn

https://gerrit.wikimedia.org/r/421793

https://gerrit.wikimedia.org/r/445664 will help ensure that if there are any explicit languageconverter rules on srwiki, they will continue to work after the rename.

Change 467770 had a related patch set uploaded (by Fomafix; owner: Fomafix):
[mediawiki/core@master] Step 1 of renaming sr-ec and sr-el to sr-cyrl and sr-latn

https://gerrit.wikimedia.org/r/467770

Change 481318 had a related patch set uploaded (by Fomafix; owner: Fomafix):
[mediawiki/extensions/WikimediaMessages@master] Rename language codes sr-ec and sr-el to sr-cyrl and sr-latn

https://gerrit.wikimedia.org/r/481318

Change 481318 had a related patch set uploaded (by Fomafix; owner: Fomafix):
[mediawiki/extensions/WikimediaMessages@master] Step 1 of renaming sr-ec and sr-el to sr-cyrl and sr-latn

https://gerrit.wikimedia.org/r/481318

Hi all,

I just got to this ticket from the change above, and I have to say I'm perplexed.

  1. I see no community discussion approving this change across multiple wikis in the task description. I only see a (partial) technical discussion above
  2. Changing a whole set of urls like this has effect on incoming links, or search engine ranking, and quite a few other things. This is one of the reasons the old adage "cool urls don't change" still holds valid
  3. I see no product decision behind the change, which means not all the angles and consequences have been thought out.

Overall, I'm not willing to merge changes in the direction of this without further community and product discussions, sorry.

  1. I see no community discussion approving this change across multiple wikis in the task description. I only see a (partial) technical discussion above

Was there a community discussion for introducing the not BCP 47 conform language codes sr-ec and sr-el instead of the BCP 47 conform language codes sr-cyrl and sr-latn? The standard BCP 47 is not made by the community.

  1. Changing a whole set of urls like this has effect on incoming links, or search engine ranking, and quite a few other things. This is one of the reasons the old adage "cool urls don't change" still holds valid

Yes, "cool urls don't change". But cool URLs can redirect to a new place with a 301 Moved Permanently. It is also possible to keep the current URLs and add new URLs that redirect the to current URLs. It is not intended to break any links or rankings. The URL attributes already support the BCP 47 conform language codes: https://www.mediawiki.org/?uselang=sr-latn

  1. I see no product decision behind the change, which means not all the angles and consequences have been thought out.

HTML must use BCP 47 conform language codes for several values. MediaWiki should use standard conform language codes to avoid the forward and backward mapping. The product MediaWiki should use standard conform language codes because MediaWiki is also used in not WMF related projects. WMF-related projects may keep the own language codes at places like URLs.

  1. I see no community discussion approving this change across multiple wikis in the task description. I only see a (partial) technical discussion above

Was there a community discussion for introducing the not BCP 47 conform language codes sr-ec and sr-el instead of the BCP 47 conform language codes sr-cyrl and sr-latn? The standard BCP 47 is not made by the community.

No of course not, as the website literally predates the new fangled standard (2009) as well as any sort of 'process' being in place to begin with.

  1. Changing a whole set of urls like this has effect on incoming links, or search engine ranking, and quite a few other things. This is one of the reasons the old adage "cool urls don't change" still holds valid

Yes, "cool urls don't change". But cool URLs can redirect to a new place with a 301 Moved Permanently. It is also possible to keep the current URLs and add new URLs that redirect the to current URLs. It is not intended to break any links or rankings. The URL attributes already support the BCP 47 conform language codes: https://www.mediawiki.org/?uselang=sr-latn

Hmm, true, but is it needed ? I don't know, something like that should definitely spun into a separate ticket if you ask me.

  1. I see no product decision behind the change, which means not all the angles and consequences have been thought out.

HTML must use BCP 47 conform language codes for several values. MediaWiki should use standard conform language codes to avoid the forward and backward mapping. The product MediaWiki should use standard conform language codes because MediaWiki is also used in not WMF related projects. WMF-related projects may keep the own language codes at places like URLs.

HTML and urls are not the same thing. There is no reason a url is required to conform to using bcp-47 language codes. While we do tend to adhere to bcp-47 language codes going forward for new site urls, that's another thing from swapping urls on existing properties.

No of course not, as the website literally predates the new fangled standard (2009) as well as any sort of 'process' being in place to begin with.

BCP 47 is much older than 2009. sr-ec has even with RFC 1766 from 1995 the meaning Serbian in Ecuador.

Hmm, true, but is it needed ? I don't know, something like that should definitely spun into a separate ticket if you ask me.

The aim of this task is to use the BCP 47 conform language codes as internal language codes in MediaWiki. This simplifies MediaWiki because the forward and backward mapping from external to internal and back to external language codes is superfluous. The current internal should still supported at all places where backward compatibility is needed for example in URLs. It is also possible to generate for WMF projects the old URLs. This still much less mapping because there are much less places where URLs are generated than places where HTML is generated in the code.

HTML and urls are not the same thing. There is no reason a url is required to conform to using bcp-47 language codes. While we do tend to adhere to bcp-47 language codes going forward for new site urls, that's another thing from swapping urls on existing properties.

Of course URLs can contain any value. But it does not harm when the URLs (also) support BCP 47 conform language codes.

Change 467770 had a related patch set uploaded (by Fomafix; owner: Fomafix):
[mediawiki/core@master] Step 1 of renaming sr-ec and sr-el to sr-cyrl and sr-latn

https://gerrit.wikimedia.org/r/467770

Change 251312 had a related patch set uploaded (by Fomafix; owner: Fomafix):
[mediawiki/core@master] Rename language codes sr-ec and sr-el to sr-cyrl and sr-latn

https://gerrit.wikimedia.org/r/251312

Change 520999 had a related patch set uploaded (by Fomafix; owner: Fomafix):
[operations/mediawiki-config@master] Map the variant URLs /sr-cyrl/ and /sr-latn/ to /sr-ec/ and /sr-el/

https://gerrit.wikimedia.org/r/520999

Change 521000 had a related patch set uploaded (by Fomafix; owner: Fomafix):
[mediawiki/extensions/InputBox@master] Rename language codes sr-ec and sr-el to sr-cyrl and sr-latn

https://gerrit.wikimedia.org/r/521000

Change 521024 had a related patch set uploaded (by Fomafix; owner: Fomafix):
[mediawiki/extensions/InputBox@master] Rename language codes 'sr-ec' and 'sr-el' to 'sr-cyrl' and 'sr-latn'

https://gerrit.wikimedia.org/r/521024

Change 323677 had a related patch set uploaded (by Fomafix; owner: Fomafix):
[mediawiki/extensions/Echo@master] Rename language codes sr-ec and sr-el to sr-cyrl and sr-latn

https://gerrit.wikimedia.org/r/323677

Change 323681 had a related patch set uploaded (by Fomafix; owner: Fomafix):
[mediawiki/extensions/LiquidThreads@master] Rename language codes sr-ec and sr-el to sr-cyrl and sr-latn

https://gerrit.wikimedia.org/r/323681

Change 323678 had a related patch set uploaded (by Fomafix; owner: Fomafix):
[mediawiki/extensions/FlaggedRevs@master] Rename language codes sr-ec and sr-el to sr-cyrl and sr-latn

https://gerrit.wikimedia.org/r/323678

Change 323684 had a related patch set uploaded (by Fomafix; owner: Fomafix):
[mediawiki/extensions/Thanks@master] Rename language codes sr-ec and sr-el to sr-cyrl and sr-latn

https://gerrit.wikimedia.org/r/323684

Change 323680 had a related patch set uploaded (by Fomafix; owner: Fomafix):
[mediawiki/extensions/Gadgets@master] Rename language codes sr-ec and sr-el to sr-cyrl and sr-latn

https://gerrit.wikimedia.org/r/323680

Change 287141 had a related patch set uploaded (by Fomafix; owner: Fomafix):
[mediawiki/extensions/Wikibase@master] Rename language codes sr-ec and sr-el to sr-cyrl and sr-latn

https://gerrit.wikimedia.org/r/287141

Change 323683 had a related patch set uploaded (by Fomafix; owner: Fomafix):
[mediawiki/extensions/ParserFunctions@master] Rename language codes sr-ec and sr-el to sr-cyrl and sr-latn

https://gerrit.wikimedia.org/r/323683

Change 323667 had a related patch set uploaded (by Fomafix; owner: Fomafix):
[mediawiki/extensions/CategoryTree@master] Rename language codes sr-ec and sr-el to sr-cyrl and sr-latn

https://gerrit.wikimedia.org/r/323667

Change 521053 had a related patch set uploaded (by Fomafix; owner: Fomafix):
[mediawiki/extensions/Wikibase@master] Restore tests with language codes 'sr-cyrl' and 'sr-latn'

https://gerrit.wikimedia.org/r/521053

Change 522144 had a related patch set uploaded (by Fomafix; owner: Fomafix):
[translatewiki@master] Rename language codes sr-ec and sr-el to sr-cyrl and sr-latn

https://gerrit.wikimedia.org/r/522144

Change 522186 had a related patch set uploaded (by Fomafix; owner: Fomafix):
[mediawiki/extensions/UniversalLanguageSelector@master] Rename language codes sr-ec and sr-el to sr-cyrl and sr-latn

https://gerrit.wikimedia.org/r/522186

Change 522354 had a related patch set uploaded (by Fomafix; owner: Fomafix):
[mediawiki/extensions/MobileFrontend@master] Rename language codes sr-ec and sr-el to sr-cyrl and sr-latn

https://gerrit.wikimedia.org/r/522354

Change 522379 had a related patch set uploaded (by Fomafix; owner: Fomafix):
[mediawiki/extensions/ExtJSBase@master] Rename language codes sr-ec and sr-el to sr-cyrl and sr-latn

https://gerrit.wikimedia.org/r/522379

Change 522379 merged by Robert Vogel:
[mediawiki/extensions/ExtJSBase@master] Rename language codes sr-ec and sr-el to sr-cyrl and sr-latn

https://gerrit.wikimedia.org/r/522379

Fomafix renamed this task from Rename the language codes sr-el and sr-ec to the BCP 47 conform codes sr-Latn and sr-Cyrl to Rename the language codes sr-ec and sr-el to the BCP 47 conform codes sr-Cyrl and sr-Latn.Jul 25 2019, 5:37 AM
Fomafix updated the task description. (Show Details)

Change 368248 had a related patch set uploaded (by Fomafix; owner: Fomafix):
[operations/puppet@production] Add additional aliases for sr-cyrl and sr-latn next to sr-ec and sr-el

https://gerrit.wikimedia.org/r/368248

As part of T174601: Change the language codes of Sakizaya from "ais" (retired by SIL) to "szy" everywhere, and add it to Names.php we now have tooling to move messages from one language code to another, both in translatewiki.net and in the repositories.

This is not sufficient however. Great deal should be taken to setup proper language fallbacks, making sure the variant URLs still work, being clear what language codes will be used, figuring out migrations in WikiData, etc.

This all should be explored and have a plan written in the task summary. Feedback should be requested from relevant parties, it might be worth to go through RfC or similar process to make sure that it happens.

Change 522144 abandoned by Nikerabbit:
[translatewiki@master] Rename language codes sr-ec and sr-el to sr-cyrl and sr-latn

Reason:
This requires a migration plan.

https://gerrit.wikimedia.org/r/522144

Is there a way to define sr-cyrl and sr-latn as alias for sr-ec and sr-el ?