aboutsummaryrefslogtreecommitdiff
path: root/ext/js/display/display.js
diff options
context:
space:
mode:
Diffstat (limited to 'ext/js/display/display.js')
-rw-r--r--ext/js/display/display.js14
1 files changed, 14 insertions, 0 deletions
diff --git a/ext/js/display/display.js b/ext/js/display/display.js
index f86d7b8c..3d18e416 100644
--- a/ext/js/display/display.js
+++ b/ext/js/display/display.js
@@ -192,6 +192,8 @@ export class Display extends EventDispatcher {
this._onMenuButtonMenuCloseBind = this._onMenuButtonMenuClose.bind(this);
/** @type {ThemeController} */
this._themeController = new ThemeController(document.documentElement);
+ /** @type {import('language').LanguageSummary[]} */
+ this._languageSummaries = [];
/* eslint-disable @stylistic/no-multi-spaces */
this._hotkeyHandler.registerActions([
@@ -316,6 +318,8 @@ export class Display extends EventDispatcher {
documentElement.dataset.browser = browser;
}
+ this._languageSummaries = await this._application.api.getLanguageSummaries();
+
// Prepare
await this._hotkeyHelpController.prepare(this._application.api);
await this._displayGenerator.prepare();
@@ -398,6 +402,16 @@ export class Display extends EventDispatcher {
}
/**
+ * @returns {import('language').LanguageSummary}
+ * @throws {Error}
+ */
+ getLanguageSummary() {
+ if (this._options === null) { throw new Error('Options is null'); }
+ const language = this._options.general.language;
+ return /** @type {import('language').LanguageSummary} */ (this._languageSummaries.find(({iso}) => iso === language));
+ }
+
+ /**
* @returns {import('settings').OptionsContext}
*/
getOptionsContext() {