|
|
@ -15,10 +15,6 @@ |
|
|
*/ |
|
|
*/ |
|
|
import injectTapEventPlugin from 'react-tap-event-plugin'; |
|
|
import injectTapEventPlugin from 'react-tap-event-plugin'; |
|
|
import UrlHandler from './url.handler'; |
|
|
import UrlHandler from './url.handler'; |
|
|
import addLocaleKorean from './locale/locale.constant-ko'; |
|
|
|
|
|
import addLocaleChinese from './locale/locale.constant-zh'; |
|
|
|
|
|
import addLocaleRussian from './locale/locale.constant-ru'; |
|
|
|
|
|
import addLocaleSpanish from './locale/locale.constant-es'; |
|
|
|
|
|
|
|
|
|
|
|
/* eslint-disable import/no-unresolved, import/default */ |
|
|
/* eslint-disable import/no-unresolved, import/default */ |
|
|
|
|
|
|
|
|
@ -38,46 +34,24 @@ export default function AppConfig($provide, |
|
|
$mdThemingProvider, |
|
|
$mdThemingProvider, |
|
|
$httpProvider, |
|
|
$httpProvider, |
|
|
$translateProvider, |
|
|
$translateProvider, |
|
|
storeProvider, |
|
|
storeProvider) { |
|
|
locales) { |
|
|
|
|
|
|
|
|
|
|
|
injectTapEventPlugin(); |
|
|
injectTapEventPlugin(); |
|
|
$locationProvider.html5Mode(true); |
|
|
$locationProvider.html5Mode(true); |
|
|
$urlRouterProvider.otherwise(UrlHandler); |
|
|
$urlRouterProvider.otherwise(UrlHandler); |
|
|
storeProvider.setCaching(false); |
|
|
storeProvider.setCaching(false); |
|
|
|
|
|
|
|
|
$translateProvider.useSanitizeValueStrategy(null); |
|
|
$translateProvider.useSanitizeValueStrategy(null) |
|
|
$translateProvider.useMissingTranslationHandler('tbMissingTranslationHandler'); |
|
|
.useMissingTranslationHandler('tbMissingTranslationHandler') |
|
|
$translateProvider.addInterpolation('$translateMessageFormatInterpolation'); |
|
|
.addInterpolation('$translateMessageFormatInterpolation') |
|
|
$translateProvider.fallbackLanguage('en_US'); |
|
|
.useStaticFilesLoader({ |
|
|
|
|
|
prefix: PUBLIC_PATH + 'locale/locale.constant-', //eslint-disable-line
|
|
|
addLocaleKorean(locales); |
|
|
suffix: '.json' |
|
|
addLocaleChinese(locales); |
|
|
}) |
|
|
addLocaleRussian(locales); |
|
|
.registerAvailableLanguageKeys(SUPPORTED_LANGS, getLanguageAliases(SUPPORTED_LANGS)) //eslint-disable-line
|
|
|
addLocaleSpanish(locales); |
|
|
.fallbackLanguage('en_US') // must be before determinePreferredLanguage
|
|
|
|
|
|
.uniformLanguageTag('java') // must be before determinePreferredLanguage
|
|
|
for (var langKey in locales) { |
|
|
.determinePreferredLanguage(); |
|
|
var translationTable = locales[langKey]; |
|
|
|
|
|
$translateProvider.translations(langKey, translationTable); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var lang = $translateProvider.resolveClientLocale(); |
|
|
|
|
|
if (lang) { |
|
|
|
|
|
lang = lang.toLowerCase(); |
|
|
|
|
|
if (lang.startsWith('ko')) { |
|
|
|
|
|
$translateProvider.preferredLanguage('ko_KR'); |
|
|
|
|
|
} else if (lang.startsWith('zh')) { |
|
|
|
|
|
$translateProvider.preferredLanguage('zh_CN'); |
|
|
|
|
|
} else if (lang.startsWith('es')) { |
|
|
|
|
|
$translateProvider.preferredLanguage('es_ES'); |
|
|
|
|
|
} else if (lang.startsWith('ru')) { |
|
|
|
|
|
$translateProvider.preferredLanguage('ru_RU'); |
|
|
|
|
|
} else { |
|
|
|
|
|
$translateProvider.preferredLanguage('en_US'); |
|
|
|
|
|
} |
|
|
|
|
|
} else { |
|
|
|
|
|
$translateProvider.preferredLanguage('en_US'); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
$httpProvider.interceptors.push('globalInterceptor'); |
|
|
$httpProvider.interceptors.push('globalInterceptor'); |
|
|
|
|
|
|
|
|
@ -168,4 +142,24 @@ export default function AppConfig($provide, |
|
|
//$mdThemingProvider.alwaysWatchTheme(true);
|
|
|
//$mdThemingProvider.alwaysWatchTheme(true);
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function getLanguageAliases(supportedLangs) { |
|
|
|
|
|
var aliases = {}; |
|
|
|
|
|
|
|
|
|
|
|
supportedLangs.sort().forEach(function(item, index, array) { |
|
|
|
|
|
if (item.length === 2) { |
|
|
|
|
|
aliases[item] = item; |
|
|
|
|
|
aliases[item + '_*'] = item; |
|
|
|
|
|
} else { |
|
|
|
|
|
var key = item.slice(0, 2); |
|
|
|
|
|
if (index === 0 || key !== array[index - 1].slice(0, 2)) { |
|
|
|
|
|
aliases[key] = item; |
|
|
|
|
|
aliases[key + '_*'] = item; |
|
|
|
|
|
} else { |
|
|
|
|
|
aliases[item] = item; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
return aliases; |
|
|
|
|
|
} |
|
|
} |
|
|
} |