type LocaleValue = string; // | LocaleValue[] | { [key: string]: LocaleValue }; export interface LocaleDictionary { [key: string]: LocaleDictionary | string | Array | null; } export interface Locale { navigation: { home: LocaleValue; completed: LocaleValue; subtitle_schedule: LocaleValue; new_releases: LocaleValue; tools: LocaleValue; settings: LocaleValue; profile: LocaleValue; log_in: LocaleValue; log_out: LocaleValue; }; settings: { tooltips: { author: LocaleValue; }; rss_feeds: { title: LocaleValue; buttons: { copy_to_clipboard: LocaleValue; }; tooltips: { rss: LocaleValue; }; }; display: { title: LocaleValue; categories: { media: { title: LocaleValue; fields: { outboundLinks: LocaleValue; mediaTitleFormat: { title: LocaleValue; options: { english: LocaleValue; romaji: LocaleValue; native: LocaleValue; }; fields: { showFurigana: LocaleValue; }; }; }; }; dateAndTime: { title: LocaleValue; fields: { disableLastActivityWarning: LocaleValue; rightAlignCountdown: LocaleValue; use24HourTime: LocaleValue; nativeEpisodeCountdown: LocaleValue; abbreviateCountdown: LocaleValue; }; }; motionAndAccessibility: { title: LocaleValue; fields: { disablePageTransitionAnimations: LocaleValue; disableNotifications: LocaleValue; limitPanelAreaToScreenHeight: LocaleValue; interfaceLanguage: LocaleValue; }; }; collapse_panels_by_default: LocaleValue; hide_panels: LocaleValue; include_additional_media: LocaleValue; helper: { title: LocaleValue; options: { mai: LocaleValue; nodoka: LocaleValue; kaede: LocaleValue; none: LocaleValue; }; hint: LocaleValue; }; }; tooltips: { beta: LocaleValue; }; }; debug: { title: LocaleValue; tooltips: { version: LocaleValue; }; }; calculation: { title: LocaleValue; }; cache: { title: LocaleValue; }; attributions: { title: LocaleValue; }; media: { anime: LocaleValue; manga: LocaleValue; upcoming_anime: LocaleValue; paused_media: LocaleValue; unresolved_media: LocaleValue; planned_anime: LocaleValue; }; languages: { english: LocaleValue; japanese: LocaleValue; }; }; }