diff --git a/frontend/components/App/LanguageSelector.vue b/frontend/components/App/LanguageSelector.vue index 90a8c723..56bc5c1e 100644 --- a/frontend/components/App/LanguageSelector.vue +++ b/frontend/components/App/LanguageSelector.vue @@ -1,31 +1,51 @@ diff --git a/frontend/composables/use-formatters.ts b/frontend/composables/use-formatters.ts index 91cf9bf1..77e7a687 100644 --- a/frontend/composables/use-formatters.ts +++ b/frontend/composables/use-formatters.ts @@ -29,6 +29,11 @@ export type DateTimeType = "date" | "time" | "datetime"; export function getLocaleCode() { const { $i18nGlobal } = useNuxtApp(); + const preferences = useViewPreferences(); + // TODO: make reactive + if (preferences.value.overrideFormatLocale) { + return preferences.value.overrideFormatLocale; + } return ($i18nGlobal?.locale?.value as string) ?? "en-US"; } diff --git a/frontend/composables/use-preferences.ts b/frontend/composables/use-preferences.ts index 924e7be0..2b6de1aa 100644 --- a/frontend/composables/use-preferences.ts +++ b/frontend/composables/use-preferences.ts @@ -14,6 +14,7 @@ export type LocationViewPreferences = { tableHeaders?: TableHeaderType[]; displayHeaderDecor: boolean; language?: string; + overrideFormatLocale?: string; }; /** @@ -32,6 +33,7 @@ export function useViewPreferences(): Ref { itemsPerTablePage: 10, displayHeaderDecor: true, language: null, + overrideFormatLocale: null, }, { mergeDefaults: true } ); diff --git a/frontend/locales/en.json b/frontend/locales/en.json index 48c6b11c..38fa489a 100644 --- a/frontend/locales/en.json +++ b/frontend/locales/en.json @@ -279,9 +279,9 @@ "zh-CN": "Chinese (Simplified)", "zh-HK": "Chinese (Hong Kong)", "zh-MO": "Chinese (Macau)", - "zh-TW": "Chinese (Traditional)" + "zh-TW": "Chinese (Traditional)", + "sq-AL": "Albanian" }, - "languages.sq-AL": "Albanian", "locations": { "child_locations": "Child Locations", "collapse_tree": "Collapse Tree", @@ -351,6 +351,8 @@ "group_settings_sub": "Shared Group Settings. You may need to refresh your browser for some settings to apply.", "inactive": "Inactive", "language": "Language", + "override_locale": "Override Date and Currency Language", + "no_override": "No override", "new_password": "New Password", "no_notifiers": "No notifiers configured", "notifier_modal": "{ type, select, true {Edit} false {Create} other {Other}} Notifier", diff --git a/frontend/pages/index.vue b/frontend/pages/index.vue index 685abce4..b15d7330 100644 --- a/frontend/pages/index.vue +++ b/frontend/pages/index.vue @@ -202,7 +202,7 @@ {{ $t("global.read_docs") }} - +