UNPKG

pixiv.moe

Version:

A pinterest-style layout site, shows illusts on [pixiv.net](http://pixiv.net) order by popularity. Written with React.

61 lines (52 loc) 1.19 kB
import { Dispatch } from 'redux'; import Storage from '@/utils/Storage'; import * as LocaleActions from '@/actions/locale'; import config from '@/config'; config.languages = [ { name: '日本語', value: 'ja', messages: require('@/locale/ja').default }, { name: 'English', value: 'en', messages: require('@/locale/en').default }, { name: 'Bahasa Indonesia', value: 'id', messages: require('@/locale/id').default }, { name: '한국어', value: 'ko', messages: require('@/locale/ko').default } ]; const chooseLocale = (language: string, dispatch: Dispatch) => { const cachedLang = Storage.get('lang'); let lang; if (!cachedLang) { lang = language.split('-')[0]; } else { lang = cachedLang; } let found = config.languages[0]; let isFallback = true; for (const item of config.languages) { if (lang === item.value) { isFallback = false; found = item; } } const messages = found.messages; Storage.set('lang', isFallback ? 'ja' : lang); dispatch( LocaleActions.setLocale({ lang: isFallback ? 'ja' : lang, messages }) ); }; export default chooseLocale;