global_locale.ts 597 B

12345678910111213141516171819202122232425262728
  1. import { isDevelopment } from 'mastodon/utils/environment';
  2. export interface LocaleData {
  3. locale: string;
  4. messages: Record<string, string>;
  5. }
  6. let loadedLocale: LocaleData | undefined;
  7. export function setLocale(locale: LocaleData) {
  8. loadedLocale = locale;
  9. }
  10. export function getLocale(): LocaleData {
  11. if (!loadedLocale) {
  12. if (isDevelopment()) {
  13. throw new Error('getLocale() called before any locale has been set');
  14. } else {
  15. return { locale: 'unknown', messages: {} };
  16. }
  17. }
  18. return loadedLocale;
  19. }
  20. export function isLocaleLoaded() {
  21. return !!loadedLocale;
  22. }