From 0ed77777360ec29eee7cd4fc212ae36fdd97c0bc Mon Sep 17 00:00:00 2001 From: Grace Park Date: Thu, 10 Nov 2022 16:25:50 -0800 Subject: [PATCH] Bring back wip temporarily for the dark ship of fr, ru, ko, and de (#32539) --- components/context/LanguagesContext.tsx | 2 ++ components/page-header/HeaderNotifications.tsx | 6 ++++-- components/page-header/LanguagePicker.tsx | 4 ++-- lib/languages.js | 7 ++++++- middleware/detect-language.js | 6 ++++-- 5 files changed, 18 insertions(+), 7 deletions(-) diff --git a/components/context/LanguagesContext.tsx b/components/context/LanguagesContext.tsx index 836b9cf25e..94a6f015d5 100644 --- a/components/context/LanguagesContext.tsx +++ b/components/context/LanguagesContext.tsx @@ -1,6 +1,8 @@ import { createContext, useContext } from 'react' type LanguageItem = { + // 92BD1212-61B8-4E7A: Remove `wip: boolean` for the public ship of ko, fr, de, ru + wip: boolean name: string nativeName?: string code: string diff --git a/components/page-header/HeaderNotifications.tsx b/components/page-header/HeaderNotifications.tsx index 6035d1e392..06cb9acb10 100644 --- a/components/page-header/HeaderNotifications.tsx +++ b/components/page-header/HeaderNotifications.tsx @@ -30,7 +30,8 @@ export const HeaderNotifications = () => { const translationNotices: Array = [] if (router.locale === 'en') { - if (userLanguage && userLanguage !== 'en') { + // 92BD1212-61B8-4E7A: Remove ` && languages[userLanguage]?.wip === false` for the public ship of ko, fr, de, ru + if (userLanguage && userLanguage !== 'en' && languages[userLanguage]?.wip === false) { let href = `/${userLanguage}` if (currentPathWithoutLanguage !== '/') { href += currentPathWithoutLanguage @@ -46,7 +47,8 @@ export const HeaderNotifications = () => { type: NotificationType.TRANSLATION, content: data.reusables.policies.translation, }) - } else if (router.locale) { + // 92BD1212-61B8-4E7A: Remove ` && languages[router.locale]?.wip !== true` for the public ship of ko, fr, de, ru + } else if (router.locale && languages[router.locale]?.wip !== true) { translationNotices.push({ type: NotificationType.TRANSLATION, content: t('notices.localization_complete'), diff --git a/components/page-header/LanguagePicker.tsx b/components/page-header/LanguagePicker.tsx index 13b9a33996..e9ba585931 100644 --- a/components/page-header/LanguagePicker.tsx +++ b/components/page-header/LanguagePicker.tsx @@ -17,8 +17,8 @@ export const LanguagePicker = ({ variant }: Props) => { const locale = router.locale || 'en' const { t } = useTranslation('picker') - - const langs = Object.values(languages) + // 92BD1212-61B8-4E7A: Remove `.filter(lang => !lang.wip)` for the public ship of ko, fr, de, ru + const langs = Object.values(languages).filter((lang) => !lang.wip) const selectedLang = languages[locale] // The `router.asPath` will always be without a hash in SSR diff --git a/lib/languages.js b/lib/languages.js index 4a52db808e..06a3abf87c 100644 --- a/lib/languages.js +++ b/lib/languages.js @@ -26,13 +26,14 @@ function getRoot(languageCode) { // Default return path.join(TRANSLATIONS_ROOT, languageCode) } - +// 92BD1212-61B8-4E7A: Remove `wip: Boolean` for the public ship of ko, fr, de, ru const languages = { en: { name: 'English', code: 'en', hreflang: 'en', dir: getRoot('en'), + wip: false, }, cn: { name: 'Simplified Chinese', @@ -41,6 +42,7 @@ const languages = { hreflang: 'zh-Hans', redirectPatterns: [/^\/zh-\w{2}/, /^\/zh/], dir: getRoot('zh-CN'), + wip: false, }, ja: { name: 'Japanese', @@ -49,6 +51,7 @@ const languages = { hreflang: 'ja', redirectPatterns: [/^\/jp/], dir: getRoot('ja-JP'), + wip: false, }, es: { name: 'Spanish', @@ -56,6 +59,7 @@ const languages = { code: 'es', hreflang: 'es', dir: getRoot('es-ES'), + wip: false, }, pt: { name: 'Portuguese', @@ -63,6 +67,7 @@ const languages = { code: 'pt', hreflang: 'pt', dir: getRoot('pt-BR'), + wip: false, }, } diff --git a/middleware/detect-language.js b/middleware/detect-language.js index 291676df31..8fc5f04fa9 100644 --- a/middleware/detect-language.js +++ b/middleware/detect-language.js @@ -9,7 +9,8 @@ function translationExists(language) { if (language.code === 'zh') { return chineseRegions.includes(language.region) } - return languageKeys.includes(language.code) + // 92BD1212-61B8-4E7A: Remove ` && !languages[language.code].wip` for the public ship of ko, fr, de, ru + return languageKeys.includes(language.code) && !languages[language.code].wip } function getLanguageCode(language) { @@ -34,7 +35,8 @@ function getUserLanguage(browserLanguages) { function getUserLanguageFromCookie(req) { const value = req.cookies[PREFERRED_LOCALE_COOKIE_NAME] - if (value && languages[value]) { + // 92BD1212-61B8-4E7A: Remove ` && !languages[value].wip` for the public ship of ko, fr, de, ru + if (value && languages[value] && !languages[value].wip) { return value } }