From 40224ed1bcd886be8bf2f5b42a272db7615495c1 Mon Sep 17 00:00:00 2001 From: Jessica Chowdhury <67977755+JessChowdhury@users.noreply.github.com> Date: Mon, 20 Feb 2023 18:52:04 +0000 Subject: [PATCH] fix: checks locale is valid for monaco code editor (#2144) --- docs/fields/code.mdx | 2 +- .../components/forms/field-types/Code/index.tsx | 1 - src/admin/components/utilities/I18n/index.tsx | 3 ++- src/admin/utilities/getSupportedMonacoLocale.ts | 15 +++++++++++++++ 4 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 src/admin/utilities/getSupportedMonacoLocale.ts diff --git a/docs/fields/code.mdx b/docs/fields/code.mdx index 3802412326..5766f87f48 100644 --- a/docs/fields/code.mdx +++ b/docs/fields/code.mdx @@ -42,7 +42,7 @@ In addition to the default [field admin config](/docs/fields/overview#admin-conf | Option | Description | | ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **`language`** | This property can be set to any language listed [here](https://github.com/microsoft/monaco-editor/tree/main/src/basic-languages). | -| **`editorOptions`** | Options that can be passed to the monaco editor, [view the full list](https://microsoft.github.io/monaco-editor/api/interfaces/monaco.editor.IDiffEditorConstructionOptions.html). | +| **`editorOptions`** | Options that can be passed to the monaco editor, [view the full list](https://microsoft.github.io/monaco-editor/typedoc/interfaces/editor.IDiffEditorConstructionOptions.html). | ### Example diff --git a/src/admin/components/forms/field-types/Code/index.tsx b/src/admin/components/forms/field-types/Code/index.tsx index 1084cf7293..8466d9f2e3 100644 --- a/src/admin/components/forms/field-types/Code/index.tsx +++ b/src/admin/components/forms/field-types/Code/index.tsx @@ -8,7 +8,6 @@ import { Props } from './types'; import useField from '../../useField'; import withCondition from '../../withCondition'; import { CodeEditor } from '../../../elements/CodeEditor'; -import { ShimmerEffect } from '../../../elements/ShimmerEffect'; import './index.scss'; diff --git a/src/admin/components/utilities/I18n/index.tsx b/src/admin/components/utilities/I18n/index.tsx index e9ebe7a051..9cfaa39f30 100644 --- a/src/admin/components/utilities/I18n/index.tsx +++ b/src/admin/components/utilities/I18n/index.tsx @@ -6,6 +6,7 @@ import { initReactI18next } from 'react-i18next'; import deepmerge from 'deepmerge'; import { defaultOptions } from '../../../../translations/defaultOptions'; import { useConfig } from '../Config'; +import { getSupportedMonacoLocale } from '../../../utilities/getSupportedMonacoLocale'; export const I18n: React.FC = () => { const config = useConfig(); @@ -18,7 +19,7 @@ export const I18n: React.FC = () => { .use(LanguageDetector) .use(initReactI18next) .init(deepmerge(defaultOptions, config.i18n || {})); - loader.config({ 'vs/nls': { availableLanguages: { '*': i18n.language === 'en' ? '' : i18n.language } } }); + loader.config({ 'vs/nls': { availableLanguages: { '*': getSupportedMonacoLocale(i18n.language) } } }); return null; }; diff --git a/src/admin/utilities/getSupportedMonacoLocale.ts b/src/admin/utilities/getSupportedMonacoLocale.ts new file mode 100644 index 0000000000..91b71c6cda --- /dev/null +++ b/src/admin/utilities/getSupportedMonacoLocale.ts @@ -0,0 +1,15 @@ +export const getSupportedMonacoLocale = (locale: string): string => { + const supportedLocales = { + de: 'de', + es: 'es', + fr: 'fr', + it: 'it', + ja: 'ja', + ko: 'ko', + ru: 'ru', + zh: 'zh-cn', + 'zh-tw': 'zh-tw', + }; + + return supportedLocales[locale]; +};