Feat: add "Translate core interface messages" essential task

  • Add the "Translate core interface messages" essential task in dashboard
  • Add the tool page to support "Translate core interface messages" task
  • Add server/routes/twn.js with OAuth connect, callback, and user endpoints for Translatewiki.net, so that the user can connect to their translatewiki account, to verify its existence and help us get their core translated message number
  • Add TWN OAuth credentials and callback URL to server/config.js
  • Add OAuthClient.identify() method to decode the Special:OAuth/identify JWT response, used to get the username and user id for the user's account on TWN
  • Rename getAuthorizationUrl to initiateAuth in OAuthClient and update all call sites
  • Update EssentialTaskIntro.vue to color-code the difficulty badge by level

Bug: T422485

Merge request reports

Loading