Remove 'multi language translation enable/disable' related methods that is no longer in use from quite ago.
188 lines
6.6 KiB
JavaScript
188 lines
6.6 KiB
JavaScript
import { useStore_SelectedPresetTabNumber, useStore_SelectedYourLanguages, useStore_SelectedTargetLanguages, useStore_TranslationEngines, useStore_SelectedTranslationEngines, useStore_SelectableLanguageList } from "@store";
|
|
import { useStdoutToPython } from "@useStdoutToPython";
|
|
import { translator_status } from "@ui_configs";
|
|
|
|
export const useLanguageSettings = () => {
|
|
const { asyncStdoutToPython } = useStdoutToPython();
|
|
|
|
const {
|
|
currentSelectedYourLanguages,
|
|
updateSelectedYourLanguages,
|
|
pendingSelectedYourLanguages,
|
|
} = useStore_SelectedYourLanguages();
|
|
const {
|
|
currentSelectedTargetLanguages,
|
|
updateSelectedTargetLanguages,
|
|
pendingSelectedTargetLanguages,
|
|
} = useStore_SelectedTargetLanguages();
|
|
const {
|
|
currentSelectedPresetTabNumber,
|
|
updateSelectedPresetTabNumber,
|
|
pendingSelectedPresetTabNumber,
|
|
} = useStore_SelectedPresetTabNumber();
|
|
const {
|
|
currentTranslationEngines,
|
|
updateTranslationEngines,
|
|
pendingTranslationEngines,
|
|
} = useStore_TranslationEngines();
|
|
const {
|
|
currentSelectedTranslationEngines,
|
|
updateSelectedTranslationEngines,
|
|
pendingSelectedTranslationEngines,
|
|
} = useStore_SelectedTranslationEngines();
|
|
|
|
const {
|
|
currentSelectableLanguageList,
|
|
updateSelectableLanguageList,
|
|
} = useStore_SelectableLanguageList();
|
|
|
|
|
|
const getSelectedPresetTabNumber = () => {
|
|
pendingSelectedPresetTabNumber();
|
|
asyncStdoutToPython("/get/data/selected_tab_no");
|
|
};
|
|
|
|
const setSelectedPresetTabNumber = (preset_number) => {
|
|
pendingSelectedPresetTabNumber();
|
|
|
|
asyncStdoutToPython("/set/data/selected_tab_no", preset_number);
|
|
};
|
|
|
|
|
|
const getSelectedYourLanguages = () => {
|
|
pendingSelectedPresetTabNumber();
|
|
asyncStdoutToPython("/get/data/selected_your_languages");
|
|
};
|
|
|
|
const setSelectedYourLanguages = (selected_language_data) => {
|
|
pendingSelectedYourLanguages();
|
|
const send_obj = {
|
|
...currentSelectedYourLanguages.data,
|
|
[currentSelectedPresetTabNumber.data]: {
|
|
1: { // Fixed key 1.
|
|
language: selected_language_data.language,
|
|
country: selected_language_data.country,
|
|
enable: true,
|
|
}
|
|
}
|
|
};
|
|
asyncStdoutToPython("/set/data/selected_your_languages", send_obj);
|
|
};
|
|
|
|
|
|
const getSelectedTargetLanguages = () => {
|
|
pendingSelectedTargetLanguages();
|
|
asyncStdoutToPython("/get/data/selected_target_languages");
|
|
};
|
|
|
|
const setSelectedTargetLanguages = (selected_language_data) => {
|
|
pendingSelectedTargetLanguages();
|
|
let send_obj = currentSelectedTargetLanguages.data;
|
|
send_obj[currentSelectedPresetTabNumber.data][selected_language_data.target_key].language = selected_language_data.language,
|
|
send_obj[currentSelectedPresetTabNumber.data][selected_language_data.target_key].country = selected_language_data.country,
|
|
asyncStdoutToPython("/set/data/selected_target_languages", send_obj);
|
|
};
|
|
|
|
const addTargetLanguage = () => {
|
|
pendingSelectedTargetLanguages();
|
|
let send_obj = currentSelectedTargetLanguages.data;
|
|
let target_key = "2";
|
|
if (send_obj[currentSelectedPresetTabNumber.data]["2"].enable === true) {
|
|
target_key = "3";
|
|
}
|
|
send_obj[currentSelectedPresetTabNumber.data][target_key].enable = true,
|
|
asyncStdoutToPython("/set/data/selected_target_languages", send_obj);
|
|
};
|
|
const removeTargetLanguage = () => {
|
|
pendingSelectedTargetLanguages();
|
|
let send_obj = currentSelectedTargetLanguages.data;
|
|
let target_key = "3";
|
|
if (send_obj[currentSelectedPresetTabNumber.data]["3"].enable === false) {
|
|
target_key = "2";
|
|
}
|
|
send_obj[currentSelectedPresetTabNumber.data][target_key].enable = false,
|
|
asyncStdoutToPython("/set/data/selected_target_languages", send_obj);
|
|
};
|
|
|
|
|
|
const getTranslationEngines = () => {
|
|
pendingTranslationEngines();
|
|
asyncStdoutToPython("/get/data/translation_engines");
|
|
};
|
|
|
|
const updateTranslatorAvailability = (payload) => {
|
|
const keys = payload;
|
|
const updated_list = translator_status.map(translator => ({
|
|
...translator,
|
|
is_available: keys.includes(translator.id),
|
|
}));
|
|
updateTranslationEngines(updated_list);
|
|
};
|
|
|
|
|
|
const getSelectedTranslationEngines = () => {
|
|
pendingSelectedTranslationEngines();
|
|
asyncStdoutToPython("/get/data/selected_translation_engines");
|
|
};
|
|
|
|
const setSelectedTranslationEngines = (selected_translator) => {
|
|
pendingSelectedTranslationEngines();
|
|
let send_obj = currentSelectedTranslationEngines.data;
|
|
send_obj[currentSelectedPresetTabNumber.data] = selected_translator;
|
|
asyncStdoutToPython("/set/data/selected_translation_engines", send_obj);
|
|
};
|
|
|
|
const swapSelectedLanguages = () => {
|
|
pendingSelectedYourLanguages();
|
|
pendingSelectedTargetLanguages();
|
|
asyncStdoutToPython("/run/swap_your_language_and_target_language");
|
|
};
|
|
|
|
const updateBothSelectedLanguages = (payload) => {
|
|
updateSelectedYourLanguages(payload.your);
|
|
updateSelectedTargetLanguages(payload.target);
|
|
};
|
|
|
|
|
|
const getSelectableLanguageList = () => {
|
|
asyncStdoutToPython("/get/data/selectable_language_list");
|
|
};
|
|
|
|
|
|
return {
|
|
currentSelectedPresetTabNumber,
|
|
getSelectedPresetTabNumber,
|
|
updateSelectedPresetTabNumber,
|
|
setSelectedPresetTabNumber,
|
|
|
|
currentSelectedYourLanguages,
|
|
getSelectedYourLanguages,
|
|
updateSelectedYourLanguages,
|
|
setSelectedYourLanguages,
|
|
|
|
currentSelectedTargetLanguages,
|
|
getSelectedTargetLanguages,
|
|
updateSelectedTargetLanguages,
|
|
setSelectedTargetLanguages,
|
|
|
|
addTargetLanguage,
|
|
removeTargetLanguage,
|
|
|
|
currentTranslationEngines,
|
|
getTranslationEngines,
|
|
updateTranslationEngines,
|
|
updateTranslatorAvailability,
|
|
|
|
currentSelectedTranslationEngines,
|
|
getSelectedTranslationEngines,
|
|
updateSelectedTranslationEngines,
|
|
setSelectedTranslationEngines,
|
|
|
|
swapSelectedLanguages,
|
|
updateBothSelectedLanguages,
|
|
|
|
currentSelectableLanguageList,
|
|
getSelectableLanguageList,
|
|
updateSelectableLanguageList,
|
|
};
|
|
}; |