From 08122cc9710747a94d94e558b4fe1374cc90d14a Mon Sep 17 00:00:00 2001 From: Grace Park Date: Thu, 6 Jun 2024 08:35:10 -0700 Subject: [PATCH] Remove `wip` concept for languages (#51022) --- src/frame/pages/app.tsx | 1 - src/languages/components/LanguagePicker.tsx | 2 +- src/languages/components/LanguagesContext.tsx | 1 - src/languages/lib/languages.js | 10 ---------- src/languages/middleware/detect-language.ts | 7 +++---- src/redirects/middleware/handle-redirects.js | 3 +-- src/types.ts | 1 - 7 files changed, 5 insertions(+), 20 deletions(-) diff --git a/src/frame/pages/app.tsx b/src/frame/pages/app.tsx index 982a34fdbd..01a0c1b429 100644 --- a/src/frame/pages/app.tsx +++ b/src/frame/pages/app.tsx @@ -118,7 +118,6 @@ MyApp.getInitialProps = async (appContext: AppContext) => { for (const [langCode, langObj] of Object.entries( req.context.languages as Record, )) { - if (langObj.wip) continue // Only pick out the keys we actually need languagesContext.languages[langCode] = { name: langObj.name, diff --git a/src/languages/components/LanguagePicker.tsx b/src/languages/components/LanguagePicker.tsx index 7d099ec80d..bcb227a34a 100644 --- a/src/languages/components/LanguagePicker.tsx +++ b/src/languages/components/LanguagePicker.tsx @@ -20,7 +20,7 @@ export const LanguagePicker = ({ xs, mediumOrLower }: Props) => { const { t } = useTranslation('picker') // Remember, in this context `languages` is only the active ones - // that are available. I.e. no wip ones. + // that are available. // Also, if the current context has a page and that page has own ideas // about which languages it's available in (e.g. early-access) // it would already have been paired down. diff --git a/src/languages/components/LanguagesContext.tsx b/src/languages/components/LanguagesContext.tsx index a90227f82b..1de7b7f7df 100644 --- a/src/languages/components/LanguagesContext.tsx +++ b/src/languages/components/LanguagesContext.tsx @@ -1,7 +1,6 @@ import { createContext, useContext } from 'react' export type LanguageItem = { - wip?: boolean name: string nativeName?: string code: string diff --git a/src/languages/lib/languages.js b/src/languages/lib/languages.js index 269e5dd4dc..55225a854f 100644 --- a/src/languages/lib/languages.js +++ b/src/languages/lib/languages.js @@ -44,14 +44,12 @@ function getRoot(languageCode) { } // Languages in order of accept-language header frequency -// 92BD1212-61B8-4E7A: Remove `wip: Boolean` for the public ship of ko, fr, de, ru const allLanguages = { en: { name: 'English', code: 'en', hreflang: 'en', dir: getRoot('en'), - wip: false, }, zh: { name: 'Simplified Chinese', @@ -60,7 +58,6 @@ const allLanguages = { hreflang: 'zh-Hans', redirectPatterns: [/^\/cn/, /^\/zh-\w{2}/], dir: getRoot('zh-cn'), - wip: false, }, es: { name: 'Spanish', @@ -68,7 +65,6 @@ const allLanguages = { code: 'es', hreflang: 'es', dir: getRoot('es-es'), - wip: false, }, pt: { name: 'Portuguese', @@ -77,7 +73,6 @@ const allLanguages = { hreflang: 'pt', redirectPatterns: [/^\/br/], dir: getRoot('pt-br'), - wip: false, }, ru: { name: 'Russian', @@ -85,7 +80,6 @@ const allLanguages = { code: 'ru', hreflang: 'ru', dir: getRoot('ru-ru'), - wip: false, }, ja: { name: 'Japanese', @@ -94,7 +88,6 @@ const allLanguages = { hreflang: 'ja', redirectPatterns: [/^\/jp/], dir: getRoot('ja-jp'), - wip: false, }, fr: { name: 'French', @@ -102,7 +95,6 @@ const allLanguages = { code: 'fr', hreflang: 'fr', dir: getRoot('fr-fr'), - wip: false, }, de: { name: 'German', @@ -110,7 +102,6 @@ const allLanguages = { code: 'de', hreflang: 'de', dir: getRoot('de-de'), - wip: false, }, ko: { name: 'Korean', @@ -119,7 +110,6 @@ const allLanguages = { hreflang: 'ko', redirectPatterns: [/^\/kr/], dir: getRoot('ko-kr'), - wip: false, }, } // Some markdownlint tests depend on having access to all diff --git a/src/languages/middleware/detect-language.ts b/src/languages/middleware/detect-language.ts index d1a3d01d8c..17134caf69 100644 --- a/src/languages/middleware/detect-language.ts +++ b/src/languages/middleware/detect-language.ts @@ -17,8 +17,8 @@ function translationExists(language: parserLanguage) { if (language.code === 'zh') { return language.region && chineseRegions.includes(language.region) } - // 92BD1212-61B8-4E7A: Remove ` && !languages[language.code].wip` for the public ship of ko, fr, de, ru - return languageKeys.includes(language.code) && !(languages as Languages)[language.code].wip + + return languageKeys.includes(language.code) } function getLanguageCode(language: parserLanguage) { @@ -47,8 +47,7 @@ function getUserLanguage(browserLanguages: parserLanguage[]) { function getUserLanguageFromCookie(req: Request) { const value: undefined | string = req.cookies[USER_LANGUAGE_COOKIE_NAME] - // 92BD1212-61B8-4E7A: Remove ` && !languages[value].wip` for the public ship of ko, fr, de, ru - if (value && (languages as Languages)[value] && !(languages as Languages)[value].wip) { + if (value && (languages as Languages)[value]) { return value } } diff --git a/src/redirects/middleware/handle-redirects.js b/src/redirects/middleware/handle-redirects.js index d04d4991bb..edae5ba3b3 100644 --- a/src/redirects/middleware/handle-redirects.js +++ b/src/redirects/middleware/handle-redirects.js @@ -129,8 +129,7 @@ export default function handleRedirects(req, res, next) { function getLanguage(req, default_ = 'en') { // req.context.userLanguage, if it truthy, is always a valid supported - // language. It's whatever was in the user's request but filtered - // based on non-WIP languages in lib/languages.js + // language. It's whatever was in the user's request in lib/languages.js return req.context.userLanguage || default_ } diff --git a/src/types.ts b/src/types.ts index 75c86cce43..5059086f04 100644 --- a/src/types.ts +++ b/src/types.ts @@ -28,7 +28,6 @@ type Language = { code: string hreflang: string dir: string - wip: boolean } export type Languages = {