1
0
mirror of synced 2025-12-23 11:54:18 -05:00

Remove wip concept for languages (#51022)

This commit is contained in:
Grace Park
2024-06-06 08:35:10 -07:00
committed by GitHub
parent b6a4d2da42
commit 08122cc971
7 changed files with 5 additions and 20 deletions

View File

@@ -118,7 +118,6 @@ MyApp.getInitialProps = async (appContext: AppContext) => {
for (const [langCode, langObj] of Object.entries( for (const [langCode, langObj] of Object.entries(
req.context.languages as Record<string, LanguageItem>, req.context.languages as Record<string, LanguageItem>,
)) { )) {
if (langObj.wip) continue
// Only pick out the keys we actually need // Only pick out the keys we actually need
languagesContext.languages[langCode] = { languagesContext.languages[langCode] = {
name: langObj.name, name: langObj.name,

View File

@@ -20,7 +20,7 @@ export const LanguagePicker = ({ xs, mediumOrLower }: Props) => {
const { t } = useTranslation('picker') const { t } = useTranslation('picker')
// Remember, in this context `languages` is only the active ones // 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 // 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) // about which languages it's available in (e.g. early-access)
// it would already have been paired down. // it would already have been paired down.

View File

@@ -1,7 +1,6 @@
import { createContext, useContext } from 'react' import { createContext, useContext } from 'react'
export type LanguageItem = { export type LanguageItem = {
wip?: boolean
name: string name: string
nativeName?: string nativeName?: string
code: string code: string

View File

@@ -44,14 +44,12 @@ function getRoot(languageCode) {
} }
// Languages in order of accept-language header frequency // 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 = { const allLanguages = {
en: { en: {
name: 'English', name: 'English',
code: 'en', code: 'en',
hreflang: 'en', hreflang: 'en',
dir: getRoot('en'), dir: getRoot('en'),
wip: false,
}, },
zh: { zh: {
name: 'Simplified Chinese', name: 'Simplified Chinese',
@@ -60,7 +58,6 @@ const allLanguages = {
hreflang: 'zh-Hans', hreflang: 'zh-Hans',
redirectPatterns: [/^\/cn/, /^\/zh-\w{2}/], redirectPatterns: [/^\/cn/, /^\/zh-\w{2}/],
dir: getRoot('zh-cn'), dir: getRoot('zh-cn'),
wip: false,
}, },
es: { es: {
name: 'Spanish', name: 'Spanish',
@@ -68,7 +65,6 @@ const allLanguages = {
code: 'es', code: 'es',
hreflang: 'es', hreflang: 'es',
dir: getRoot('es-es'), dir: getRoot('es-es'),
wip: false,
}, },
pt: { pt: {
name: 'Portuguese', name: 'Portuguese',
@@ -77,7 +73,6 @@ const allLanguages = {
hreflang: 'pt', hreflang: 'pt',
redirectPatterns: [/^\/br/], redirectPatterns: [/^\/br/],
dir: getRoot('pt-br'), dir: getRoot('pt-br'),
wip: false,
}, },
ru: { ru: {
name: 'Russian', name: 'Russian',
@@ -85,7 +80,6 @@ const allLanguages = {
code: 'ru', code: 'ru',
hreflang: 'ru', hreflang: 'ru',
dir: getRoot('ru-ru'), dir: getRoot('ru-ru'),
wip: false,
}, },
ja: { ja: {
name: 'Japanese', name: 'Japanese',
@@ -94,7 +88,6 @@ const allLanguages = {
hreflang: 'ja', hreflang: 'ja',
redirectPatterns: [/^\/jp/], redirectPatterns: [/^\/jp/],
dir: getRoot('ja-jp'), dir: getRoot('ja-jp'),
wip: false,
}, },
fr: { fr: {
name: 'French', name: 'French',
@@ -102,7 +95,6 @@ const allLanguages = {
code: 'fr', code: 'fr',
hreflang: 'fr', hreflang: 'fr',
dir: getRoot('fr-fr'), dir: getRoot('fr-fr'),
wip: false,
}, },
de: { de: {
name: 'German', name: 'German',
@@ -110,7 +102,6 @@ const allLanguages = {
code: 'de', code: 'de',
hreflang: 'de', hreflang: 'de',
dir: getRoot('de-de'), dir: getRoot('de-de'),
wip: false,
}, },
ko: { ko: {
name: 'Korean', name: 'Korean',
@@ -119,7 +110,6 @@ const allLanguages = {
hreflang: 'ko', hreflang: 'ko',
redirectPatterns: [/^\/kr/], redirectPatterns: [/^\/kr/],
dir: getRoot('ko-kr'), dir: getRoot('ko-kr'),
wip: false,
}, },
} }
// Some markdownlint tests depend on having access to all // Some markdownlint tests depend on having access to all

View File

@@ -17,8 +17,8 @@ function translationExists(language: parserLanguage) {
if (language.code === 'zh') { if (language.code === 'zh') {
return language.region && chineseRegions.includes(language.region) 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) { function getLanguageCode(language: parserLanguage) {
@@ -47,8 +47,7 @@ function getUserLanguage(browserLanguages: parserLanguage[]) {
function getUserLanguageFromCookie(req: Request) { function getUserLanguageFromCookie(req: Request) {
const value: undefined | string = req.cookies[USER_LANGUAGE_COOKIE_NAME] 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]) {
if (value && (languages as Languages)[value] && !(languages as Languages)[value].wip) {
return value return value
} }
} }

View File

@@ -129,8 +129,7 @@ export default function handleRedirects(req, res, next) {
function getLanguage(req, default_ = 'en') { function getLanguage(req, default_ = 'en') {
// req.context.userLanguage, if it truthy, is always a valid supported // req.context.userLanguage, if it truthy, is always a valid supported
// language. It's whatever was in the user's request but filtered // language. It's whatever was in the user's request in lib/languages.js
// based on non-WIP languages in lib/languages.js
return req.context.userLanguage || default_ return req.context.userLanguage || default_
} }

View File

@@ -28,7 +28,6 @@ type Language = {
code: string code: string
hreflang: string hreflang: string
dir: string dir: string
wip: boolean
} }
export type Languages = { export type Languages = {