get-translate-target-language.jsx
1 import translationTargetLanguages from '../data/lingva-target-languages'; 2 3 import localeMatch from './locale-match'; 4 import states from './states'; 5 6 const locales = [ 7 new Intl.DateTimeFormat().resolvedOptions().locale, 8 ...navigator.languages, 9 ]; 10 11 function getTranslateTargetLanguage(fromSettings = false) { 12 if (fromSettings) { 13 const { contentTranslationTargetLanguage } = states.settings; 14 if (contentTranslationTargetLanguage) { 15 return contentTranslationTargetLanguage; 16 } 17 } 18 return localeMatch( 19 locales, 20 translationTargetLanguages.map((l) => l.code.replace('_', '-')), // The underscore will fail Intl.Locale inside `match` 21 'en', 22 ); 23 } 24 25 export default getTranslateTargetLanguage;