Remove wip concept for languages (#51022)
This commit is contained in:
@@ -118,7 +118,6 @@ MyApp.getInitialProps = async (appContext: AppContext) => {
|
||||
for (const [langCode, langObj] of Object.entries(
|
||||
req.context.languages as Record<string, LanguageItem>,
|
||||
)) {
|
||||
if (langObj.wip) continue
|
||||
// Only pick out the keys we actually need
|
||||
languagesContext.languages[langCode] = {
|
||||
name: langObj.name,
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import { createContext, useContext } from 'react'
|
||||
|
||||
export type LanguageItem = {
|
||||
wip?: boolean
|
||||
name: string
|
||||
nativeName?: string
|
||||
code: string
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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_
|
||||
}
|
||||
|
||||
|
||||
@@ -28,7 +28,6 @@ type Language = {
|
||||
code: string
|
||||
hreflang: string
|
||||
dir: string
|
||||
wip: boolean
|
||||
}
|
||||
|
||||
export type Languages = {
|
||||
|
||||
Reference in New Issue
Block a user