phanpy/src/utils/get-translate-target-language.jsx
2023-03-07 22:38:06 +08:00

25 lines
713 B
JavaScript

import { match } from '@formatjs/intl-localematcher';
import translationTargetLanguages from '../data/lingva-target-languages';
import states from './states';
function getTranslateTargetLanguage(fromSettings = false) {
if (fromSettings) {
const { contentTranslationTargetLanguage } = states.settings;
if (contentTranslationTargetLanguage) {
return contentTranslationTargetLanguage;
}
}
return match(
[
new Intl.DateTimeFormat().resolvedOptions().locale,
...navigator.languages,
],
translationTargetLanguages.map((l) => l.code.replace('_', '-')), // The underscore will fail Intl.Locale inside `match`
'en',
);
}
export default getTranslateTargetLanguage;