~cytrogen/masto-fe

masto-fe/app/javascript/mastodon/locales/global_locale.ts -rw-r--r-- 559 bytes
f8dc013b — Cytrogen [feature] Add language selector to local settings 6 days ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
export interface LocaleData {
  locale: string,
  messages: Record<string, string>,
}

let loadedLocale: LocaleData | undefined;

export function setLocale(locale: LocaleData) {
  loadedLocale = locale;
}

export function getLocale(): LocaleData {
  if (!loadedLocale) {
    if (process.env.NODE_ENV === "development") {
      throw new Error("getLocale() called before any locale has been set");
    } else {
      return { locale: "unknown", messages: {} };
    }
  }

  return loadedLocale;
}

export function isLocaleLoaded() {
  return !!loadedLocale;
}