Page MenuHomePhabricator

Clean up, merge and update zh/zh-* translations
Open, In Progress, Needs TriagePublic

Description

Clean up, merge and update zh/zh-* translations

  • mediawiki/core: Rearrange zh/zh-* language fallback chain in mediawiki/core
  • mediawiki/core: Rearrange zh/zh-* translations, aliases in mediawiki/core
  • mediawiki/extensions/Babel: Update, merge zh-tw translations back to zh-hant and recover zh-cn, zh-sg translations
  • mediawiki/extensions/DPLforum: Adding zh, zh-hans, zh-hant namespace names and aliases
  • mediawiki/extensions/Flow (StructuredDiscussions): Adding zh, zh-hans, zh-hant namespace names, aliases and special page names, aliases
  • mediawiki/extensions/MobileFrontend: Fix incorrect special page translation in MobileFrontend
  • mediawiki/extensions/Scribunto: Update zh namespace names and adding namespace aliases
  • mediawiki/extensions/Widgets: Adding zh, zh-hans, zh-hant namespace names and aliases in Widgets
  • operations/mediawiki-config: Clean up zh/zh-* namespace aliases

Details

ProjectBranchLines +/-Subject
mediawiki/coremaster+85 -109
mediawiki/coremaster+65 -21
mediawiki/coremaster+505 -653
mediawiki/extensions/DPLforumREL1_38+30 -0
mediawiki/extensions/DPLforumREL1_39+30 -0
mediawiki/extensions/DPLforummaster+30 -0
mediawiki/extensions/DPLforumREL1_37+30 -0
mediawiki/extensions/DPLforumREL1_35+30 -0
mediawiki/extensions/DPLforumREL1_36+30 -0
mediawiki/coremaster+226 -27
mediawiki/extensions/Widgetsmaster+46 -2
mediawiki/extensions/ScribuntoREL1_36+22 -2
mediawiki/extensions/ScribuntoREL1_37+22 -2
operations/mediawiki-configmaster+63 -63
operations/mediawiki-configmaster+0 -46
mediawiki/extensions/Flowmaster+29 -3
mediawiki/extensions/Scribuntomaster+22 -2
mediawiki/extensions/MobileFrontendmaster+13 -15
mediawiki/extensions/Babelmaster+57 -22
mediawiki/extensions/Flowmaster+2 -2
Show related patches Customize query in gerrit

Related Objects

StatusSubtypeAssignedTask
Resolvedsgrabarczuk
ResolvedBUG REPORTNikerabbit
OpenNone
In ProgressWinston_Sung
ResolvedWinston_Sung
ResolvedWinston_Sung
In ProgressWinston_Sung
ResolvedWinston_Sung
ResolvedWinston_Sung
ResolvedWinston_Sung
ResolvedWinston_Sung
ResolvedMarcoAurelio
Resolvedhoo
ResolvedWinston_Sung
OpenNone
ResolvedWinston_Sung
ResolvedFunc
ResolvedWinston_Sung
ResolvedRazeSoldier
ResolvedRazeSoldier
ResolvedWinston_Sung
ResolvedWinston_Sung
ResolvedVulpesVulpes825

Event Timeline

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

Change 703560 had a related patch set uploaded (by Winston Sung; author: Winston Sung):

[mediawiki/core@master] Merge zh-tw translations back to zh-hant in mediawiki/core

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

Change 704622 had a related patch set uploaded (by Winston Sung; author: Winston Sung):

[mediawiki/extensions/DPLforum@master] Adding zh, zh-hans, zh-hant namespace names and aliases in DPLforum

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

Change 705141 had a related patch set uploaded (by Winston Sung; author: Winston Sung):

[mediawiki/extensions/DPLforum@REL1_35] Adding zh, zh-hans, zh-hant namespace names and aliases in DPLforum

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

Change 738404 had a related patch set uploaded (by Winston Sung; author: Winston Sung):

[mediawiki/extensions/Flow@master] Adding zh, zh-hans, zh-hant namespace names, aliases and special page names, aliases in StructuredDiscussions (Flow)

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

Change 702950 had a related patch set uploaded (by Winston Sung; author: Winston Sung):

[mediawiki/extensions/Scribunto@master] Update zh namespace names and adding namespace aliases in Scribunto

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

Change 742246 had a related patch set uploaded (by Winston Sung; author: Winston Sung):

[mediawiki/extensions/Widgets@master] Update namespace names and magic words i18n for zh, zh-hans, zh-hant in Extension:Widgets

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

Change 742249 had a related patch set uploaded (by Winston Sung; author: Winston Sung):

[mediawiki/extensions/DPLforum@REL1_36] Adding zh, zh-hans, zh-hant namespace names and aliases in DPLforum

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

Change 742250 had a related patch set uploaded (by Winston Sung; author: Winston Sung):

[mediawiki/extensions/DPLforum@REL1_37] Adding zh, zh-hans, zh-hant namespace names and aliases in DPLforum

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

Is the idea here that zh-hant would be used for zh-tw everywhere (and zh-tw shouldn't exist) and zh-hk would be used to override it for cases where it has different phrases?

According to the current translation status on translatewiki.net , zh-tw translations would be stored in zh-hant i18n files and zh-hk would being used for overriding zh-tw (de facto zh-hant).

Change 738404 merged by jenkins-bot:

[mediawiki/extensions/Flow@master] Adding zh, zh-hans, zh-hant namespace names, aliases and special page names, aliases in StructuredDiscussions (Flow)

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

Change 743008 had a related patch set uploaded (by Winston Sung; author: Winston Sung):

[mediawiki/extensions/MobileFrontend@master] Fix incorrect special page translation in MobileFrontend

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

Current status and issues:

  • $namespaceAliases works with $convertedNames ($namespaceNames in variant)
  • Need to be tested: whether $namespaceAliases works with $namespaceAliases in variant
  • To be fixed: $namespaceAliases does NOT work with fallback -> $namespaceNames
  • $namespaceAliases works with fallback -> $namespaceAliases
  • To be fixed: $specialPageAliases does NOT works with $convertedSpecials ($specialPageAliases in variant)
  • $specialPageAliases works with fallback -> $specialPageAliases
  • To be fixed: $magicWords does NOT works with $convertedWords ($magicWords in variant)
  • $magicWords works with fallback -> $magicWords

Change 743309 had a related patch set uploaded (by Winston Sung; author: Winston Sung):

[mediawiki/extensions/Flow@master] Remove unused zh-hant mis-translation special page names/alias in StructuredDiscussions (Flow)

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

@Winston_Sung can you provide reproduction steps (a link to some wiki page where people can see the bug in action, or better yet, a list of steps to trigger the bug so other people can debug on their own wikis) for the issues you mentioned? That would help me or other people look into what's causing them, and potentially come up with a fix or some better workaround. It still feels weird to me to put zh-hant strings in zh-hans arrays, and other people having to maintain the code in the future would likely not know what to put in the arrays to maintain the correct fallback behavior.

Change 743309 merged by jenkins-bot:

[mediawiki/extensions/Flow@master] Remove unused zh-hant mis-translation special page names/alias in StructuredDiscussions (Flow)

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

Change 739293 merged by jenkins-bot:

[mediawiki/extensions/Babel@master] Update, merge zh-tw translations back to zh-hant and recover zh-cn, zh-sg translations in mediawiki/extensions/Babel

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

  • ✔ SUCCESS: namespaceAliases works with $convertedNames ($namespaceNames in variant)
    • -> $namespaceNames in variant redirect to $namespaceNames in main language without fallback chain

✔ Test: Disable all fallback chain and namespace aliases, replace namespace name in variant in URL and got redirected.

  • ✖ FAILURE: whether $namespaceAliases works with $namespaceAliases in variant
    • -> $namespaceAliases in variant redirect to $namespaceNames in main language without fallback chain

✖ Test: Disable all fallback chain and namespace name, replace namespace alias in variant in URL but didn't get redirected. Expected: be redirected.

  • ✖ FAILURE: $namespaceAliases does NOT work with fallback -> $namespaceNames
    • -> $namespaceNames in fallback language redirect to $namespaceNames in main language without $namespaceAliases set in fallback language

✖ Test: Disable all namespace aliases, set $wgLanguageCode = "zh-hant"; with zh-hant fallback to zh-hans, zh-hans $namespaceNames = [ NS_TALK => '讨论', ]; but didn't get redirected. Expected: be redirected to 討論:.

  • ✔ SUCCESS: $namespaceAliases works with fallback -> $namespaceAliases
    • -> $namespaceAliases in fallback language redirect to $namespaceNames in main language without $namespaceAliases in main language

✔ Test: Disable all namespace aliases in main language, set $wgLanguageCode = "zh-hant"; with zh-hant fallback to zh-hans, zh-hans $namespaceAliases = [ '对话' => NS_TALK, ]; and got redirected to 討論:.

  • ✖ FAILURE: $specialPageAliases does NOT works with $convertedSpecials ($specialPageAliases in variant)
    • -> $specialPageAliases in variant redirect to $specialPageAliases in main language without fallback chain

✖ Test: Disable all special page aliases in main language and disable all fallback chain, use special page aliases in variant but didn't get redirected. Expected: be redirected.

  • ✔ SUCCESS: $specialPageAliases works with fallback -> $specialPageAliases
    • -> $specialPageAliases in fallback language redirect to $specialPageAliases in main language without $specialPageAliases in main language

✔ Test: Disable all special page aliases in main language, use special page aliases in fallback language and got redirected.

  • ✖ FAILURE: $magicWords does NOT works with $convertedWords ($magicWords in variant)
    • -> $magicWords in variant has same effect as $magicWords in main language without fallback chain

✖ Test: Disable all magic word names, aliases in main language and disable all fallback chain, use magic word names, aliases in variant but didn't work. Expected: work as magic word aliases.

  • ✔ SUCCESS: $magicWords works with fallback -> $magicWords
    • -> $magicWords in fallback language has same effect as $magicWords in main language without $magicWords aliases set in main language

✔ Test: Disable all magic word names, aliases in main language, use magic word names, aliases in fallback language and having same effect.

Change 743008 merged by jenkins-bot:

[mediawiki/extensions/MobileFrontend@master] Update and fix incorrect zh-* special page alias translations in MobileFrontend

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

Change 702950 merged by jenkins-bot:

[mediawiki/extensions/Scribunto@master] Update zh/zh-* namespace names and adding namespace aliases in Scribunto

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

Change 747912 had a related patch set uploaded (by Winston Sung; author: Winston Sung):

[operations/mediawiki-config@master] Revert \"Add zh-hans and zh-hant translation of Module and Module_talk aliases\" for Ib083a8ff042daa9bdd30d6a1e8c34f85b500fc12

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

Change 747913 had a related patch set uploaded (by Winston Sung; author: Winston Sung):

[operations/mediawiki-config@master] Revert \"Add zh-hans and zh-hant translation of Module and Module_talk aliases\" for Ib083a8ff042daa9bdd30d6a1e8c34f85b500fc12

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

Change 747912 abandoned by Winston Sung:

[operations/mediawiki-config@master] Revert \"Add zh-hans and zh-hant translation of Module and Module_talk aliases\" for Ib083a8ff042daa9bdd30d6a1e8c34f85b500fc12

Reason:

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

Change 747912 restored by Winston Sung:

[operations/mediawiki-config@master] Revert \"Add zh-hans and zh-hant translation of Module and Module_talk aliases\" for Ib083a8ff042daa9bdd30d6a1e8c34f85b500fc12

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

Sorry for the delay in responding. I'm still struggling to understand what exactly the issue is...

✖ Test: Disable all fallback chain and namespace name, replace namespace alias in variant in URL but didn't get redirected. Expected: be redirected.

What does "disable all fallback chain" mean here? Can you give a specific URL (e.g. on zhwiki) that breaks? I tested something like https://zh.wikipedia.org/zh-cn/對話:維基百科 and it seems to work fine. (where "對話" is in $namespaceAliases in MessagesZh_hant.php)

✖ Test: Disable all namespace aliases, set $wgLanguageCode = "zh-hant"; with zh-hant fallback to zh-hans, zh-hans $namespaceNames = [ NS_TALK => '讨论', ]; but didn't get redirected. Expected: be redirected to 討論:.

I think this is expected not to work? From reading LanguageConverterFactory it seems like Language Converter doesn't even take effect if $wgLangCode is set to a specific variant (TrivialLanguageConverter is returned as the language converter, not ZhConverter). I think it's probably reasonable that no auto conversion happens if the wiki sets $wgLangCode to something other than zh, since in that case the wiki is probably variant-specific in the first place.

✖ Test: Disable all special page aliases in main language and disable all fallback chain, use special page aliases in variant but didn't get redirected. Expected: be redirected.

I think I'm also stuck on "disable all fallback chain" for this one. https://zh.wikipedia.org/zh-cn/Special:字首索引 seems to work, with "字首索引" taken from $specialPageAliases in MessagesZh_hant.php (redirects to https://zh.wikipedia.org/w/index.php?title=Special:前缀索引&variant=zh-cn which loads correctly)

✖ Test: Disable all magic word names, aliases in main language and disable all fallback chain, use magic word names, aliases in variant but didn't work. Expected: work as magic word aliases.

Can you give a specific example of a case where this breaks, e.g. with a demo page on zhwiki?

What does "disable all fallback chain" mean here?

Please set up a custom wiki with $fallback removed from \languages\messages\Message*.php .

I tested something like https://zh.wikipedia.org/zh-cn/對話:維基百科 and it seems to work fine. (where "對話" is in $namespaceAliases in MessagesZh_hant.php)

"對話" is fetched from $namespaceAliases in \languages\messages\MessageZh.php line 43.
Also, whether ?variant= is specified won't affect $namespaceAliases , the only factor is $wgLanguageCode .

✖ Test: Disable all namespace aliases, set $wgLanguageCode = "zh-hant"; with zh-hant fallback to zh-hans, zh-hans $namespaceNames = [ NS_TALK => '讨论', ]; but didn't get redirected. Expected: be redirected to 討論:.

I think this is expected not to work? From reading LanguageConverterFactory it seems like Language Converter doesn't even take effect if $wgLangCode is set to a specific variant (TrivialLanguageConverter is returned as the language converter, not ZhConverter). I think it's probably reasonable that no auto conversion happens if the wiki sets $wgLangCode to something other than zh, since in that case the wiki is probably variant-specific in the first place.

This part is for fallback chain instead of LanguageConverter.

✖ Test: Disable all special page aliases in main language and disable all fallback chain, use special page aliases in variant but didn't get redirected. Expected: be redirected.

I think I'm also stuck on "disable all fallback chain" for this one. https://zh.wikipedia.org/zh-cn/Special:字首索引 seems to work, with "字首索引" taken from $specialPageAliases in MessagesZh_hant.php (redirects to https://zh.wikipedia.org/w/index.php?title=Special:前缀索引&variant=zh-cn which loads correctly)

"字首索引" is fetched from $specialPageAliases in \languages\messages\MessageZh.php line 149.

✖ Test: Disable all magic word names, aliases in main language and disable all fallback chain, use magic word names, aliases in variant but didn't work. Expected: work as magic word aliases.

Can you give a specific example of a case where this breaks, e.g. with a demo page on zhwiki?

Try using #重新導向 on any zh wiki, it won't work.

Sorry, I tried looking into this and got stuck, and then it fell off my radar. I probably won't have time to help resolve this in the near future, but here are some preliminary thoughts:

  1. In my opinion, the fallback chains specified in the message files should be considered part of the software, rather than something to be modified by wiki administrators, i.e. if something breaks only if the fallback chain is modified or removed, then it's not really a bug. Conversely, if the fallback chains cause bugs, then that should be addressed (so something like T182485 would be a bug if it causes incorrect behavior).
  2. If the issue here is that the current fallback chain setup requires duplicating translations in MessagesZh and MessagesZh_hant, it might be good to figure out how to restructure the fallback chain or the code to avoid this specifically.
  3. Given that LanguageConverter doesn't seem to be active if $wgLangCode is set to a specific variant like zh-tw (and so conversion would not be available for content), I think it's fine if it also doesn't work when e.g. trying to access a namespace in Simplified Chinese on a wiki where $wgLangCode is set to zh-tw, since it's probably reasonable to assume that a wiki like this is targeted towards Traditional Chinese users.

I tried tracing the logic for MediaWikiTitleCodec::splitTitleString (called from MediaWiki::parseTitle, which is used to resolve the title in the URL), but got pretty lost since it was hard to tell which part of the code was responsible for converting the namespaces/special page titles, even though it seemed like all of the scenarios I threw at it (without touching the fallback chains) worked fine.

LanguageConverter::findVariantLink (also called from MediaWiki::parseTitle) might be relevant as well. (I didn't have a chance to look into the magic words issue.)

  1. The fallback chains specified in the message files should be considered part of the software, rather than something to be modified by wiki administrators

The reason modifying the fallback chain is just used for simulating the situation.

Change 753959 had a related patch set uploaded (by Winston Sung; author: Winston Sung):

[mediawiki/core@master] Update language fallback chain for yue

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

Change 776031 had a related patch set uploaded (by Winston Sung; author: Winston Sung):

[operations/mediawiki-config@master] Rearrange zh namespace names and namespace aliases

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

Change 747913 merged by jenkins-bot:

[operations/mediawiki-config@master] Revert "Add zh-hans and zh-hant translation of Module and Module_talk aliases"

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

Mentioned in SAL (#wikimedia-operations) [2022-04-06T08:09:55Z] <kharlan@deploy1002> Synchronized wmf-config/InitialiseSettings.php: Config: [[gerrit:747913|Revert "Add zh-hans and zh-hant translation of Module and Module_talk aliases" (T286291 T298308 T165593 T286105)]] (duration: 00m 56s)

Change 776031 merged by jenkins-bot:

[operations/mediawiki-config@master] Rearrange zh namespace names and namespace aliases

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

Mentioned in SAL (#wikimedia-operations) [2022-04-06T13:51:48Z] <kartik@deploy1002> Synchronized wmf-config/InitialiseSettings.php: Config: [[gerrit:776031|Rearrange zh namespace names and namespace aliases (T286291 T298308)]] (duration: 00m 53s)

Change 788416 had a related patch set uploaded (by Winston Sung; author: Winston Sung):

[mediawiki/core@wmf/1.39.0-wmf.10] Rearrange zh-related fallbacks and zh/zh-* translations, aliases in mediawiki/core

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

Change 788606 had a related patch set uploaded (by Winston Sung; author: Winston Sung):

[mediawiki/core@wmf/1.39.0-wmf.9] Rearrange zh-related fallbacks and zh/zh-* translations, aliases in mediawiki/core

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

Change 788606 abandoned by Winston Sung:

[mediawiki/core@wmf/1.39.0-wmf.9] Rearrange zh-related fallbacks and zh/zh-* translations, aliases in mediawiki/core

Reason:

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

Change 788416 abandoned by Winston Sung:

[mediawiki/core@wmf/1.39.0-wmf.10] Rearrange zh-related fallbacks and zh/zh-* translations, aliases in mediawiki/core

Reason:

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

Change 791503 had a related patch set uploaded (by Winston Sung; author: Winston Sung):

[mediawiki/extensions/Scribunto@REL1_36] Update zh/zh-* namespace names and adding namespace aliases in Scribunto

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

Change 791504 had a related patch set uploaded (by Winston Sung; author: Winston Sung):

[mediawiki/extensions/Scribunto@REL1_37] Update zh/zh-* namespace names and adding namespace aliases in Scribunto

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

Change 791504 merged by jenkins-bot:

[mediawiki/extensions/Scribunto@REL1_37] Update zh/zh-* namespace names and adding namespace aliases in Scribunto

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

Change 791503 merged by jenkins-bot:

[mediawiki/extensions/Scribunto@REL1_36] Update zh/zh-* namespace names and adding namespace aliases in Scribunto

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

Change 742246 merged by jenkins-bot:

[mediawiki/extensions/Widgets@master] Update namespace names and magic words i18n for zh, zh-hans, zh-hant in Extension:Widgets

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

Change 788416 restored by Winston Sung:

[mediawiki/core@wmf/1.39.0-wmf.10] Rearrange zh-related fallbacks and zh/zh-* translations, aliases in mediawiki/core

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

Change 788606 restored by Winston Sung:

[mediawiki/core@wmf/1.39.0-wmf.9] Rearrange zh-related fallbacks and zh/zh-* translations, aliases in mediawiki/core

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

Change 797213 had a related patch set uploaded (by Winston Sung; author: Winston Sung):

[mediawiki/core@master] Merge and rearrange zh-related message file translations

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

Change 703560 merged by jenkins-bot:

[mediawiki/core@master] Rearrange zh-related language fallback chain

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

Change 742249 abandoned by Umherirrender:

[mediawiki/extensions/DPLforum@REL1_36] Adding zh, zh-hans, zh-hant namespace names and aliases in DPLforum

Reason:

Version is EOL

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

For my knowledge seems not every zh-tw messages are suitable to moving to zh-hant as the messages in zh-hant are intended to showing the messages for Traditional Chinese in general.

For example the wording for "User/Users" and "Bot/Bots".

The "User" or "Users" are used on following regions:

  • zh-tw: "使用者"
  • zh-hk: "用戶"

The "Bots" are used on following regions:

  • zh-tw: "機器人"
  • zh-hk: "機械人"

The same mentioned above also applies on zh-hans for cn and sg messages.

For my recommendation both messages in zh-hant and zh-hant should keep them consistent where possible, while the messages in regional (tw/hk/mo/cn/sg/my) can keep them localised whenever possible if there's any differs to the parent language (hant/hans).

@shinjiman :

But zh-cn and zh-sg are not available on translatewiki, and there's no "messages in reginal" available except zh-hk.

Also, it is "de facto" zh-hans use zh-Hans-CN, zh-hant use zh-Hant-TW and zh-hk use zh-Hant-HK.

Also, the "consistency" should not apply to local terms/words afaik, just like the File: namespace is not "consistent"?

Change 705141 merged by jenkins-bot:

[mediawiki/extensions/DPLforum@REL1_35] Adding zh, zh-hans, zh-hant namespace names and aliases in DPLforum

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

Change 742250 merged by jenkins-bot:

[mediawiki/extensions/DPLforum@REL1_37] Adding zh, zh-hans, zh-hant namespace names and aliases in DPLforum

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

Change 704622 merged by jenkins-bot:

[mediawiki/extensions/DPLforum@master] Adding zh, zh-hans, zh-hant namespace names and aliases in DPLforum

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

Change 838815 had a related patch set uploaded (by Winston Sung; author: Winston Sung):

[mediawiki/extensions/DPLforum@REL1_38] Adding zh, zh-hans, zh-hant namespace names and aliases in DPLforum

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

Change 838816 had a related patch set uploaded (by Winston Sung; author: Winston Sung):

[mediawiki/extensions/DPLforum@REL1_39] Adding zh, zh-hans, zh-hant namespace names and aliases in DPLforum

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

Change 838816 merged by jenkins-bot:

[mediawiki/extensions/DPLforum@REL1_39] Adding zh, zh-hans, zh-hant namespace names and aliases in DPLforum

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

Change 838815 merged by jenkins-bot:

[mediawiki/extensions/DPLforum@REL1_38] Adding zh, zh-hans, zh-hant namespace names and aliases in DPLforum

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

Change 861880 had a related patch set uploaded (by Winston Sung; author: Winston Sung):

[mediawiki/core@master] Merge gan translations back to gan-hans and gan-hant respectively

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

Change 860490 had a related patch set uploaded (by Winston Sung; author: Winston Sung):

[mediawiki/core@master] Merge zh and zh-tw namespace translations back to zh-hans, zh-hant, zh-hk respectively

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