Completely distinguish "global site ID", "global site key", "site database name", "site domain", "site language code", "site subdomain"
We should completely not using string processing for
* "global site ID" / "site ID"
* "global site key"
* "site database name"
* "site domain"
* Wikibase Repository sitelink "site-group-language(s)"
and
* "site group"
* "site DB name suffix"
and
* "site language code"
* "site interlanguage prefix"
* "site DB name language prefix"
* "site subdomain"
For example:
* "global site id" / "site id" => (integer)
* "global site key" => `be_taraskwiki`
* "site database name" => `be_x_oldwiki`
* "site domain" => `be-tarask.wikipedia.org`
* Wikibase Repository sitelink 'site-group-language(s)" => `wikipedia => be-tarask`
** Another example => `wikipedia => hak + hak-hant + hak-latn`
and
* "site group" => `wikipedia or wikimedia or ...`
* "site DB suffix" => `wiki`
and
* "site language code" => `lzh`
* "site interlanguage prefix" => `lzh` (expected) / `zh-classical` (as for now)
* "site DB name language prefix" => `zh-classical`
* "site subdomain" => `zh-classical` (as for now)
----
Scope:
* Core
** #MediaWiki-Site-system
* Extensions
** #SiteMatrix
** Wikibase
*** #Wikidata
*** #MediaWiki-extensions-WikibaseClient
*** #MediaWiki-extensions-WikibaseRepository
----
Database:
| type / data table | `wg` config variables | `sites` | `site_identifiers` | `interwiki` | `wb_items_per_site` |
| -------------------- | ---------------------------- | ------------------------------- | ------------------ | ----------- | ------------------- |
| site ID no. | | `site_id` | `si_site` | | |
| site global key | | `site_global_key` | | `iw_wikiid` | `ips_site_id` |
| site database name | `DBname` / `LocalDatabases` | | | | |
| site domain | `Server` / `CanonicalServer` | `site_protocol` / `site_domain` | | | |
| site group | | `site_group` | | | |
| site group language | `LanguageCode` | `site_language` | | | |
| site link prefixes | `LanguageCode` + extra | `site_language` + extra | `si_key` | `iw_prefix` | |