phanpy/src/utils/get-translate-target-language.jsx

29 lines
784 B
React
Raw Normal View History

import translationTargetLanguages from '../data/lingva-target-languages';
import localeMatch from './locale-match';
import states from './states';
const locales = [
new Intl.DateTimeFormat().resolvedOptions().locale,
...navigator.languages,
];
2024-09-10 12:32:55 +08:00
const localeTargetLanguages = () =>
localeMatch(
locales,
translationTargetLanguages.map((l) => l.code.replace('_', '-')), // The underscore will fail Intl.Locale inside `match`
'en',
);
function getTranslateTargetLanguage(fromSettings = false) {
if (fromSettings) {
const { contentTranslationTargetLanguage } = states.settings;
if (contentTranslationTargetLanguage) {
return contentTranslationTargetLanguage;
}
}
2024-09-10 12:32:55 +08:00
return localeTargetLanguages();
}
export default getTranslateTargetLanguage;