diff --git a/src/public/app/widgets/type_widgets/options/i18n/language.ts b/src/public/app/widgets/type_widgets/options/i18n/language.ts index c57a91560..52f420077 100644 --- a/src/public/app/widgets/type_widgets/options/i18n/language.ts +++ b/src/public/app/widgets/type_widgets/options/i18n/language.ts @@ -28,15 +28,33 @@ export default class LanguageOptions extends OptionsWidget { this.$languagesContainer = this.$widget.find(".options-languages"); } + async save() { + const enabledLanguages: string[] = []; + + this.$languagesContainer.find("input:checked").each((i, el) => { + const languageId = $(el).attr("data-language-id"); + if (languageId) { + enabledLanguages.push(languageId); + } + }); + + await this.updateOption("languages", JSON.stringify(enabledLanguages)); + } + async optionsLoaded(options: OptionMap) { const availableLocales = await server.get("options/locales"); + const enabledLanguages = (JSON.parse(options.languages) as string[]); this.$languagesContainer.empty(); for (const locale of availableLocales) { - const checkbox = $(`