diff --git a/client/src/components/Header/components/nav-links.tsx b/client/src/components/Header/components/nav-links.tsx index 7fe08217618..3f231627486 100644 --- a/client/src/components/Header/components/nav-links.tsx +++ b/client/src/components/Header/components/nav-links.tsx @@ -23,7 +23,8 @@ import envData from '../../../../../config/env.json'; import { availableLangs, LangNames, - LangCodes + LangCodes, + hiddenLangs } from '../../../../../config/i18n/all-langs'; import { hardGoTo as navigate } from '../../../redux'; import { updateUserFlag } from '../../../redux/settings'; @@ -427,27 +428,29 @@ export class NavLinks extends Component { {t('buttons.cancel-change')} - {locales.map((lang, index) => ( -
  • - -
  • - ))} + {locales + .filter(lang => !hiddenLangs.includes(lang)) + .map((lang, index) => ( +
  • + +
  • + ))} diff --git a/config/i18n/all-langs.ts b/config/i18n/all-langs.ts index b596edff049..b31ca442ac3 100644 --- a/config/i18n/all-langs.ts +++ b/config/i18n/all-langs.ts @@ -17,8 +17,8 @@ export const availableLangs = { 'italian', 'portuguese', 'ukrainian', - 'japanese' - // 'german' + 'japanese', + 'german' ], curriculum: [ 'english', @@ -28,8 +28,8 @@ export const availableLangs = { 'italian', 'portuguese', 'ukrainian', - 'japanese' - // 'german' + 'japanese', + 'german' ] }; @@ -132,12 +132,12 @@ export const auditedCerts = { SuperBlocks.MachineLearningPy, SuperBlocks.CodingInterviewPrep, SuperBlocks.RelationalDb + ], + german: [ + SuperBlocks.RespWebDesign, + SuperBlocks.JsAlgoDataStruct, + SuperBlocks.FrontEndDevLibs ] - // german: [ - // SuperBlocks.RespWebDesign, - // SuperBlocks.JsAlgoDataStruct, - // SuperBlocks.FrontEndDevLibs - // ] }; /** @@ -168,8 +168,8 @@ export const i18nextCodes = { italian: 'it', portuguese: 'pt-BR', ukrainian: 'uk', - japanese: 'ja' - // german: 'de' + japanese: 'ja', + german: 'de' }; // These are for the language selector dropdown menu in the footer @@ -182,8 +182,8 @@ export enum LangNames { italian = 'Italiano', portuguese = 'Português', ukrainian = 'Українська', - japanese = '日本語' - // german = 'Deutsch' + japanese = '日本語', + german = 'Deutsch' } /* These are for formatting dates and numbers. Used with JS .toLocaleString(). @@ -198,11 +198,16 @@ export enum LangCodes { italian = 'it', portuguese = 'pt-BR', ukrainian = 'uk', - japanese = 'ja' - // german = 'de' + japanese = 'ja', + german = 'de' } /* eslint-enable @typescript-eslint/naming-convention */ +/** + * This array contains languages that should NOT appear in the language selector. + */ +export const hiddenLangs = ['german']; + // locale is sourced from a JSON file, so we use getLangCode and getLangName to // find the associated enum values