🚧 [WIP/TEST] Model : 言語の設定方法を全面的に見直し
SOURCE_COUNTRY等を削除
This commit is contained in:
@@ -157,96 +157,6 @@ class Config:
|
|||||||
if isinstance(value, bool):
|
if isinstance(value, bool):
|
||||||
self._ENABLE_FOREGROUND = value
|
self._ENABLE_FOREGROUND = value
|
||||||
|
|
||||||
@property
|
|
||||||
def SOURCE_COUNTRY(self):
|
|
||||||
return self._SOURCE_COUNTRY
|
|
||||||
|
|
||||||
@SOURCE_COUNTRY.setter
|
|
||||||
def SOURCE_COUNTRY(self, value):
|
|
||||||
if isinstance(value, str):
|
|
||||||
self._SOURCE_COUNTRY = value
|
|
||||||
|
|
||||||
@property
|
|
||||||
def SOURCE_LANGUAGE(self):
|
|
||||||
return self._SOURCE_LANGUAGE
|
|
||||||
|
|
||||||
@SOURCE_LANGUAGE.setter
|
|
||||||
def SOURCE_LANGUAGE(self, value):
|
|
||||||
if isinstance(value, str):
|
|
||||||
self._SOURCE_LANGUAGE = value
|
|
||||||
|
|
||||||
@property
|
|
||||||
def TARGET_COUNTRY_PRIMARY(self):
|
|
||||||
return self._TARGET_COUNTRY_PRIMARY
|
|
||||||
|
|
||||||
@TARGET_COUNTRY_PRIMARY.setter
|
|
||||||
def TARGET_COUNTRY_PRIMARY(self, value):
|
|
||||||
if isinstance(value, str):
|
|
||||||
self._TARGET_COUNTRY_PRIMARY = value
|
|
||||||
|
|
||||||
@property
|
|
||||||
def TARGET_LANGUAGE_PRIMARY(self):
|
|
||||||
return self._TARGET_LANGUAGE_PRIMARY
|
|
||||||
|
|
||||||
@TARGET_LANGUAGE_PRIMARY.setter
|
|
||||||
def TARGET_LANGUAGE_PRIMARY(self, value):
|
|
||||||
if isinstance(value, str):
|
|
||||||
self._TARGET_LANGUAGE_PRIMARY = value
|
|
||||||
|
|
||||||
@property
|
|
||||||
def TARGET_COUNTRY_SECONDARY(self):
|
|
||||||
return self._TARGET_COUNTRY_SECONDARY
|
|
||||||
|
|
||||||
@TARGET_COUNTRY_SECONDARY.setter
|
|
||||||
def TARGET_COUNTRY_SECONDARY(self, value):
|
|
||||||
if isinstance(value, str):
|
|
||||||
self._TARGET_COUNTRY_SECONDARY = value
|
|
||||||
|
|
||||||
@property
|
|
||||||
def TARGET_LANGUAGE_SECONDARY(self):
|
|
||||||
return self._TARGET_LANGUAGE_SECONDARY
|
|
||||||
|
|
||||||
@TARGET_LANGUAGE_SECONDARY.setter
|
|
||||||
def TARGET_LANGUAGE_SECONDARY(self, value):
|
|
||||||
if isinstance(value, str):
|
|
||||||
self._TARGET_LANGUAGE_SECONDARY = value
|
|
||||||
|
|
||||||
@property
|
|
||||||
def TARGET_COUNTRY_TERTIARY(self):
|
|
||||||
return self._TARGET_COUNTRY_TERTIARY
|
|
||||||
|
|
||||||
@TARGET_COUNTRY_TERTIARY.setter
|
|
||||||
def TARGET_COUNTRY_TERTIARY(self, value):
|
|
||||||
if isinstance(value, str):
|
|
||||||
self._TARGET_COUNTRY_TERTIARY = value
|
|
||||||
|
|
||||||
@property
|
|
||||||
def TARGET_LANGUAGE_TERTIARY(self):
|
|
||||||
return self._TARGET_LANGUAGE_TERTIARY
|
|
||||||
|
|
||||||
@TARGET_LANGUAGE_TERTIARY.setter
|
|
||||||
def TARGET_LANGUAGE_TERTIARY(self, value):
|
|
||||||
if isinstance(value, str):
|
|
||||||
self._TARGET_LANGUAGE_TERTIARY = value
|
|
||||||
|
|
||||||
@property
|
|
||||||
def CHOICE_INPUT_TRANSLATOR(self):
|
|
||||||
return self._CHOICE_INPUT_TRANSLATOR
|
|
||||||
|
|
||||||
@CHOICE_INPUT_TRANSLATOR.setter
|
|
||||||
def CHOICE_INPUT_TRANSLATOR(self, value):
|
|
||||||
if value in list(translation_lang.keys()):
|
|
||||||
self._CHOICE_INPUT_TRANSLATOR= value
|
|
||||||
|
|
||||||
@property
|
|
||||||
def CHOICE_OUTPUT_TRANSLATOR(self):
|
|
||||||
return self._CHOICE_OUTPUT_TRANSLATOR
|
|
||||||
|
|
||||||
@CHOICE_OUTPUT_TRANSLATOR.setter
|
|
||||||
def CHOICE_OUTPUT_TRANSLATOR(self, value):
|
|
||||||
if value in list(translation_lang.keys()):
|
|
||||||
self._CHOICE_OUTPUT_TRANSLATOR = value
|
|
||||||
|
|
||||||
# @property
|
# @property
|
||||||
# def SENT_MESSAGES_LOG(self):
|
# def SENT_MESSAGES_LOG(self):
|
||||||
# return self._SENT_MESSAGES_LOG
|
# return self._SENT_MESSAGES_LOG
|
||||||
@@ -337,11 +247,12 @@ class Config:
|
|||||||
try:
|
try:
|
||||||
if isinstance(value, dict):
|
if isinstance(value, dict):
|
||||||
value_old = self.SELECTED_TAB_YOUR_LANGUAGES
|
value_old = self.SELECTED_TAB_YOUR_LANGUAGES
|
||||||
for k, v in value.items():
|
for k0, v0 in value.items():
|
||||||
language = v["language"]
|
for k1, v1 in v0.items():
|
||||||
country = v["country"]
|
language = v1["language"]
|
||||||
if language not in list(transcription_lang.keys()) or country not in list(transcription_lang[language].keys()):
|
country = v1["country"]
|
||||||
value[k] = value_old[k]
|
if language not in list(transcription_lang.keys()) or country not in list(transcription_lang[language].keys()):
|
||||||
|
value[k0][k1] = value_old[k0][k1]
|
||||||
self._SELECTED_TAB_YOUR_LANGUAGES = value
|
self._SELECTED_TAB_YOUR_LANGUAGES = value
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
@@ -380,14 +291,14 @@ class Config:
|
|||||||
# saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
# saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@json_serializable('ENABLE_MULTI_TRANSCRIPTION')
|
@json_serializable('ENABLE_MULTI_TRANSLATION')
|
||||||
def ENABLE_MULTI_TRANSCRIPTION(self):
|
def ENABLE_MULTI_TRANSLATION(self):
|
||||||
return self._ENABLE_MULTI_TRANSCRIPTION
|
return self._ENABLE_MULTI_TRANSLATION
|
||||||
|
|
||||||
@ENABLE_MULTI_TRANSCRIPTION.setter
|
@ENABLE_MULTI_TRANSLATION.setter
|
||||||
def ENABLE_MULTI_TRANSCRIPTION(self, value):
|
def ENABLE_MULTI_TRANSLATION(self, value):
|
||||||
if isinstance(value, bool):
|
if isinstance(value, bool):
|
||||||
self._ENABLE_MULTI_TRANSCRIPTION = value
|
self._ENABLE_MULTI_TRANSLATION = value
|
||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@@ -1048,16 +959,7 @@ class Config:
|
|||||||
self._ENABLE_TRANSCRIPTION_SEND = False
|
self._ENABLE_TRANSCRIPTION_SEND = False
|
||||||
self._ENABLE_TRANSCRIPTION_RECEIVE = False
|
self._ENABLE_TRANSCRIPTION_RECEIVE = False
|
||||||
self._ENABLE_FOREGROUND = False
|
self._ENABLE_FOREGROUND = False
|
||||||
self._CHOICE_INPUT_TRANSLATOR = "CTranslate2"
|
|
||||||
self._CHOICE_OUTPUT_TRANSLATOR = "CTranslate2"
|
|
||||||
self._SOURCE_LANGUAGE = "Japanese"
|
|
||||||
self._SOURCE_COUNTRY = "Japan"
|
|
||||||
self._TARGET_LANGUAGE_PRIMARY = "English"
|
|
||||||
self._TARGET_COUNTRY_PRIMARY = "United States"
|
|
||||||
self._TARGET_LANGUAGE_SECONDARY = "English"
|
|
||||||
self._TARGET_COUNTRY_SECONDARY = "United States"
|
|
||||||
self._TARGET_LANGUAGE_TERTIARY = "English"
|
|
||||||
self._TARGET_COUNTRY_TERTIARY = "United States"
|
|
||||||
# self._SENT_MESSAGES_LOG = []
|
# self._SENT_MESSAGES_LOG = []
|
||||||
# self._CURRENT_SENT_MESSAGES_LOG_INDEX = 0
|
# self._CURRENT_SENT_MESSAGES_LOG_INDEX = 0
|
||||||
self._IS_RESET_BUTTON_DISPLAYED_FOR_TRANSLATION = False
|
self._IS_RESET_BUTTON_DISPLAYED_FOR_TRANSLATION = False
|
||||||
@@ -1079,16 +981,22 @@ class Config:
|
|||||||
}
|
}
|
||||||
self._SELECTED_TAB_YOUR_LANGUAGES = {
|
self._SELECTED_TAB_YOUR_LANGUAGES = {
|
||||||
"1":{
|
"1":{
|
||||||
"language":"Japanese",
|
"primary":{
|
||||||
"country":"Japan"
|
"language":"Japanese",
|
||||||
|
"country":"Japan"
|
||||||
|
},
|
||||||
},
|
},
|
||||||
"2":{
|
"2":{
|
||||||
"language":"Japanese",
|
"primary":{
|
||||||
"country":"Japan"
|
"language":"Japanese",
|
||||||
|
"country":"Japan"
|
||||||
|
},
|
||||||
},
|
},
|
||||||
"3":{
|
"3":{
|
||||||
"language":"Japanese",
|
"primary":{
|
||||||
"country":"Japan"
|
"language":"Japanese",
|
||||||
|
"country":"Japan"
|
||||||
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
self._SELECTED_TAB_TARGET_LANGUAGES = {
|
self._SELECTED_TAB_TARGET_LANGUAGES = {
|
||||||
@@ -1136,7 +1044,7 @@ class Config:
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
self._SELECTED_TRANSCRIPTION_ENGINE = "Google"
|
self._SELECTED_TRANSCRIPTION_ENGINE = "Google"
|
||||||
self._ENABLE_MULTI_TRANSLATION = True
|
self._ENABLE_MULTI_TRANSLATION = False
|
||||||
self._IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE = False
|
self._IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE = False
|
||||||
|
|
||||||
## Config Window
|
## Config Window
|
||||||
|
|||||||
@@ -167,7 +167,12 @@ class Model:
|
|||||||
compatible_engines = []
|
compatible_engines = []
|
||||||
for engine in list(translation_lang.keys()):
|
for engine in list(translation_lang.keys()):
|
||||||
languages = translation_lang.get(engine, {}).get("source", {})
|
languages = translation_lang.get(engine, {}).get("source", {})
|
||||||
if source_lang in languages and target_lang in languages:
|
|
||||||
|
source_langs = [e["language"] for e in list(source_lang.values())]
|
||||||
|
target_langs = [e["language"] for e in list(target_lang.values())]
|
||||||
|
language_list = list(languages.keys())
|
||||||
|
|
||||||
|
if all(e in language_list for e in source_langs) and all(e in language_list for e in target_langs):
|
||||||
compatible_engines.append(engine)
|
compatible_engines.append(engine)
|
||||||
if "DeepL_API" in compatible_engines:
|
if "DeepL_API" in compatible_engines:
|
||||||
if config.AUTH_KEYS["DeepL_API"] is None:
|
if config.AUTH_KEYS["DeepL_API"] is None:
|
||||||
@@ -202,25 +207,34 @@ class Model:
|
|||||||
return translation, success_flag
|
return translation, success_flag
|
||||||
|
|
||||||
def getInputTranslate(self, message):
|
def getInputTranslate(self, message):
|
||||||
translator_name=config.CHOICE_INPUT_TRANSLATOR
|
translator_name=config.SELECTED_TAB_YOUR_TRANSLATOR_ENGINES[config.SELECTED_TAB_NO]
|
||||||
source_language=config.SOURCE_LANGUAGE
|
source_language=config.SELECTED_TAB_YOUR_LANGUAGES[config.SELECTED_TAB_NO]
|
||||||
target_language=config.TARGET_LANGUAGE
|
target_languages=config.SELECTED_TAB_TARGET_LANGUAGES[config.SELECTED_TAB_NO]
|
||||||
target_country = config.TARGET_COUNTRY
|
|
||||||
|
|
||||||
translation, success_flag = self.getTranslate(
|
translations = []
|
||||||
translator_name,
|
success_flags = []
|
||||||
source_language,
|
for key in target_languages.keys():
|
||||||
target_language,
|
if key == "primary" or config.ENABLE_MULTI_TRANSLATION is True:
|
||||||
target_country,
|
target_language = target_languages[key]["language"]
|
||||||
message
|
target_country = target_languages[key]["country"]
|
||||||
)
|
if target_language is not None or target_country is not None:
|
||||||
return translation, success_flag
|
translation, success_flag = self.getTranslate(
|
||||||
|
translator_name,
|
||||||
|
source_language,
|
||||||
|
target_language,
|
||||||
|
target_country,
|
||||||
|
message
|
||||||
|
)
|
||||||
|
translations.append(translation)
|
||||||
|
success_flags.append(success_flag)
|
||||||
|
|
||||||
|
return translations, success_flags
|
||||||
|
|
||||||
def getOutputTranslate(self, message):
|
def getOutputTranslate(self, message):
|
||||||
translator_name=config.CHOICE_OUTPUT_TRANSLATOR
|
translator_name=config.SELECTED_TAB_TARGET_TRANSLATOR_ENGINES[config.SELECTED_TAB_NO]
|
||||||
source_language=config.TARGET_LANGUAGE
|
source_language=config.SELECTED_TAB_TARGET_LANGUAGES[config.SELECTED_TAB_NO]["primary"]["language"]
|
||||||
target_language=config.SOURCE_LANGUAGE
|
target_language=config.SELECTED_TAB_YOUR_LANGUAGES[config.SELECTED_TAB_NO]["primary"]["language"]
|
||||||
target_country=config.SOURCE_COUNTRY
|
target_country=config.SELECTED_TAB_YOUR_LANGUAGES[config.SELECTED_TAB_NO]["primary"]["country"]
|
||||||
|
|
||||||
translation, success_flag = self.getTranslate(
|
translation, success_flag = self.getTranslate(
|
||||||
translator_name,
|
translator_name,
|
||||||
@@ -430,8 +444,8 @@ class Model:
|
|||||||
try:
|
try:
|
||||||
res = self.mic_transcriber.transcribeAudioQueue(
|
res = self.mic_transcriber.transcribeAudioQueue(
|
||||||
self.mic_audio_queue,
|
self.mic_audio_queue,
|
||||||
config.SOURCE_LANGUAGE,
|
config.SELECTED_TAB_YOUR_LANGUAGES[config.SELECTED_TAB_NO]["primary"]["language"],
|
||||||
config.SOURCE_COUNTRY,
|
config.SELECTED_TAB_YOUR_LANGUAGES[config.SELECTED_TAB_NO]["primary"]["country"],
|
||||||
config.INPUT_MIC_AVG_LOGPROB,
|
config.INPUT_MIC_AVG_LOGPROB,
|
||||||
config.INPUT_MIC_NO_SPEECH_PROB
|
config.INPUT_MIC_NO_SPEECH_PROB
|
||||||
)
|
)
|
||||||
@@ -590,8 +604,8 @@ class Model:
|
|||||||
try:
|
try:
|
||||||
res = self.speaker_transcriber.transcribeAudioQueue(
|
res = self.speaker_transcriber.transcribeAudioQueue(
|
||||||
speaker_audio_queue,
|
speaker_audio_queue,
|
||||||
config.TARGET_LANGUAGE,
|
config.SELECTED_TAB_TARGET_LANGUAGES[config.SELECTED_TAB_NO]["primary"]["language"],
|
||||||
config.TARGET_COUNTRY,
|
config.SELECTED_TAB_TARGET_LANGUAGES[config.SELECTED_TAB_NO]["primary"]["country"],
|
||||||
config.INPUT_SPEAKER_AVG_LOGPROB,
|
config.INPUT_SPEAKER_AVG_LOGPROB,
|
||||||
config.INPUT_SPEAKER_NO_SPEECH_PROB
|
config.INPUT_SPEAKER_NO_SPEECH_PROB
|
||||||
)
|
)
|
||||||
@@ -673,8 +687,8 @@ class Model:
|
|||||||
self.speaker_energy_recorder = None
|
self.speaker_energy_recorder = None
|
||||||
|
|
||||||
def createOverlayImageShort(self, message, translation):
|
def createOverlayImageShort(self, message, translation):
|
||||||
your_language = config.TARGET_LANGUAGE
|
your_language = config.SELECTED_TAB_TARGET_LANGUAGES[config.SELECTED_TAB_NO]["primary"]["language"]
|
||||||
target_language = config.SOURCE_LANGUAGE
|
target_language = config.SELECTED_TAB_YOUR_LANGUAGES[config.SELECTED_TAB_NO]["primary"]["language"]
|
||||||
ui_type = config.OVERLAY_UI_TYPE
|
ui_type = config.OVERLAY_UI_TYPE
|
||||||
self.pre_overlay_message = {
|
self.pre_overlay_message = {
|
||||||
"message" : message,
|
"message" : message,
|
||||||
@@ -685,11 +699,6 @@ class Model:
|
|||||||
}
|
}
|
||||||
return self.overlay_image.createOverlayImageShort(message, your_language, translation, target_language, ui_type)
|
return self.overlay_image.createOverlayImageShort(message, your_language, translation, target_language, ui_type)
|
||||||
|
|
||||||
# def createOverlayImageLong(self, message_type, message, translation):
|
|
||||||
# your_language = config.TARGET_LANGUAGE if message_type == "receive" else config.SOURCE_LANGUAGE
|
|
||||||
# target_language = config.SOURCE_LANGUAGE if message_type == "receive" else config.TARGET_LANGUAGE
|
|
||||||
# return self.overlay_image.create_overlay_image_long(message_type, message, your_language, translation, target_language)
|
|
||||||
|
|
||||||
def clearOverlayImage(self):
|
def clearOverlayImage(self):
|
||||||
self.overlay.clearImage()
|
self.overlay.clearImage()
|
||||||
|
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ def callbackFilepathConfigFile(*args, **kwargs) -> dict:
|
|||||||
# config.OVERLAY_UI_TYPE = "sakura"
|
# config.OVERLAY_UI_TYPE = "sakura"
|
||||||
# return {"status":200, "result":config.IS_EASTER_EGG_ENABLED}
|
# return {"status":200, "result":config.IS_EASTER_EGG_ENABLED}
|
||||||
|
|
||||||
def messageFormatter(format_type:str, translation, message):
|
def messageFormatter(format_type:str, translation:list, message:list):
|
||||||
if format_type == "RECEIVED":
|
if format_type == "RECEIVED":
|
||||||
FORMAT_WITH_T = config.RECEIVED_MESSAGE_FORMAT_WITH_T
|
FORMAT_WITH_T = config.RECEIVED_MESSAGE_FORMAT_WITH_T
|
||||||
FORMAT = config.RECEIVED_MESSAGE_FORMAT
|
FORMAT = config.RECEIVED_MESSAGE_FORMAT
|
||||||
@@ -72,17 +72,16 @@ def messageFormatter(format_type:str, translation, message):
|
|||||||
raise ValueError("format_type is not found", format_type)
|
raise ValueError("format_type is not found", format_type)
|
||||||
|
|
||||||
if len(translation) > 0:
|
if len(translation) > 0:
|
||||||
osc_message = FORMAT_WITH_T.replace("[message]", message)
|
osc_message = FORMAT_WITH_T.replace("[message]", "/".join(message))
|
||||||
osc_message = osc_message.replace("[translation]", translation)
|
osc_message = osc_message.replace("[translation]", "/".join(translation))
|
||||||
else:
|
else:
|
||||||
osc_message = FORMAT.replace("[message]", message)
|
osc_message = FORMAT.replace("[message]", "/".join(message))
|
||||||
return osc_message
|
return osc_message
|
||||||
|
|
||||||
def changeToCTranslate2Process():
|
def changeToCTranslate2Process():
|
||||||
if config.CHOICE_INPUT_TRANSLATOR != "CTranslate2" or config.CHOICE_OUTPUT_TRANSLATOR != "CTranslate2":
|
config.SELECTED_TAB_YOUR_TRANSLATOR_ENGINES[config.SELECTED_TAB_NO] = "CTranslate2"
|
||||||
config.CHOICE_INPUT_TRANSLATOR = "CTranslate2"
|
config.SELECTED_TAB_TARGET_TRANSLATOR_ENGINES[config.SELECTED_TAB_NO] = "CTranslate2"
|
||||||
config.CHOICE_OUTPUT_TRANSLATOR = "CTranslate2"
|
updateTranslationEngineAndEngineList()
|
||||||
updateTranslationEngineAndEngineList()
|
|
||||||
|
|
||||||
# func transcription send message
|
# func transcription send message
|
||||||
class MicMessage:
|
class MicMessage:
|
||||||
@@ -99,7 +98,7 @@ class MicMessage:
|
|||||||
})
|
})
|
||||||
elif isinstance(message, str) and len(message) > 0:
|
elif isinstance(message, str) and len(message) > 0:
|
||||||
# addSentMessageLog(message)
|
# addSentMessageLog(message)
|
||||||
translation = ""
|
translation = []
|
||||||
if model.checkKeywords(message):
|
if model.checkKeywords(message):
|
||||||
self.action("word_filter", {
|
self.action("word_filter", {
|
||||||
"status":200,
|
"status":200,
|
||||||
@@ -127,11 +126,11 @@ class MicMessage:
|
|||||||
if config.ENABLE_SEND_MESSAGE_TO_VRC is True:
|
if config.ENABLE_SEND_MESSAGE_TO_VRC is True:
|
||||||
if config.ENABLE_SEND_ONLY_TRANSLATED_MESSAGES is True:
|
if config.ENABLE_SEND_ONLY_TRANSLATED_MESSAGES is True:
|
||||||
if config.ENABLE_TRANSLATION is False:
|
if config.ENABLE_TRANSLATION is False:
|
||||||
osc_message = messageFormatter("SEND", "", message)
|
osc_message = messageFormatter("SEND", "", [message])
|
||||||
else:
|
else:
|
||||||
osc_message = messageFormatter("SEND", "", translation)
|
osc_message = messageFormatter("SEND", "", translation)
|
||||||
else:
|
else:
|
||||||
osc_message = messageFormatter("SEND", translation, message)
|
osc_message = messageFormatter("SEND", translation, [message])
|
||||||
model.oscSendMessage(osc_message)
|
model.oscSendMessage(osc_message)
|
||||||
|
|
||||||
self.action("mic", {
|
self.action("mic", {
|
||||||
@@ -143,7 +142,7 @@ class MicMessage:
|
|||||||
})
|
})
|
||||||
if config.ENABLE_LOGGER is True:
|
if config.ENABLE_LOGGER is True:
|
||||||
if len(translation) > 0:
|
if len(translation) > 0:
|
||||||
translation = f" ({translation})"
|
translation = " (" + "/".join(translation) + ")"
|
||||||
model.logger.info(f"[SENT] {message}{translation}")
|
model.logger.info(f"[SENT] {message}{translation}")
|
||||||
|
|
||||||
# if config.ENABLE_OVERLAY_SMALL_LOG is True:
|
# if config.ENABLE_OVERLAY_SMALL_LOG is True:
|
||||||
@@ -201,7 +200,7 @@ class SpeakerMessage:
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
elif isinstance(message, str) and len(message) > 0:
|
elif isinstance(message, str) and len(message) > 0:
|
||||||
translation = ""
|
translation = []
|
||||||
if model.detectRepeatReceiveMessage(message):
|
if model.detectRepeatReceiveMessage(message):
|
||||||
return
|
return
|
||||||
elif config.ENABLE_TRANSLATION is False:
|
elif config.ENABLE_TRANSLATION is False:
|
||||||
@@ -229,7 +228,7 @@ class SpeakerMessage:
|
|||||||
if config.ENABLE_SPEAKER2CHATBOX is True:
|
if config.ENABLE_SPEAKER2CHATBOX is True:
|
||||||
# send OSC message
|
# send OSC message
|
||||||
if config.ENABLE_SEND_RECEIVED_MESSAGE_TO_VRC is True:
|
if config.ENABLE_SEND_RECEIVED_MESSAGE_TO_VRC is True:
|
||||||
osc_message = messageFormatter("RECEIVED", translation, message)
|
osc_message = messageFormatter("RECEIVED", translation, [message])
|
||||||
model.oscSendMessage(osc_message)
|
model.oscSendMessage(osc_message)
|
||||||
# ------------Speaker2Chatbox------------
|
# ------------Speaker2Chatbox------------
|
||||||
|
|
||||||
@@ -243,7 +242,7 @@ class SpeakerMessage:
|
|||||||
})
|
})
|
||||||
if config.ENABLE_LOGGER is True:
|
if config.ENABLE_LOGGER is True:
|
||||||
if len(translation) > 0:
|
if len(translation) > 0:
|
||||||
translation = f" ({translation})"
|
translation = " (" + "/".join(translation) + ")"
|
||||||
model.logger.info(f"[RECEIVED] {message}{translation}")
|
model.logger.info(f"[RECEIVED] {message}{translation}")
|
||||||
|
|
||||||
def startTranscriptionReceiveMessage(action:Callable[[dict], None]) -> None:
|
def startTranscriptionReceiveMessage(action:Callable[[dict], None]) -> None:
|
||||||
@@ -291,7 +290,7 @@ class ChatMessage:
|
|||||||
message = data["message"]
|
message = data["message"]
|
||||||
if len(message) > 0:
|
if len(message) > 0:
|
||||||
# addSentMessageLog(message)
|
# addSentMessageLog(message)
|
||||||
translation = ""
|
translation = []
|
||||||
if config.ENABLE_TRANSLATION is False:
|
if config.ENABLE_TRANSLATION is False:
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
@@ -309,11 +308,11 @@ class ChatMessage:
|
|||||||
if config.ENABLE_SEND_MESSAGE_TO_VRC is True:
|
if config.ENABLE_SEND_MESSAGE_TO_VRC is True:
|
||||||
if config.ENABLE_SEND_ONLY_TRANSLATED_MESSAGES is True:
|
if config.ENABLE_SEND_ONLY_TRANSLATED_MESSAGES is True:
|
||||||
if config.ENABLE_TRANSLATION is False:
|
if config.ENABLE_TRANSLATION is False:
|
||||||
osc_message = messageFormatter("SEND", "", message)
|
osc_message = messageFormatter("SEND", "", [message])
|
||||||
else:
|
else:
|
||||||
osc_message = messageFormatter("SEND", "", translation)
|
osc_message = messageFormatter("SEND", "", translation)
|
||||||
else:
|
else:
|
||||||
osc_message = messageFormatter("SEND", translation, message)
|
osc_message = messageFormatter("SEND", translation, [message])
|
||||||
model.oscSendMessage(osc_message)
|
model.oscSendMessage(osc_message)
|
||||||
|
|
||||||
# if config.ENABLE_OVERLAY_SMALL_LOG is True:
|
# if config.ENABLE_OVERLAY_SMALL_LOG is True:
|
||||||
@@ -325,7 +324,7 @@ class ChatMessage:
|
|||||||
# update textbox message log (Sent)
|
# update textbox message log (Sent)
|
||||||
if config.ENABLE_LOGGER is True:
|
if config.ENABLE_LOGGER is True:
|
||||||
if len(translation) > 0:
|
if len(translation) > 0:
|
||||||
translation = f" ({translation})"
|
translation = " (" + "/".join(translation) + ")"
|
||||||
model.logger.info(f"[SENT] {message}{translation}")
|
model.logger.info(f"[SENT] {message}{translation}")
|
||||||
|
|
||||||
return {"status":200,
|
return {"status":200,
|
||||||
@@ -375,72 +374,40 @@ def callbackMessageBoxTypingStop(*args, **kwargs) -> dict:
|
|||||||
# updateMessageBox(1)
|
# updateMessageBox(1)
|
||||||
|
|
||||||
def updateTranslationEngineAndEngineList():
|
def updateTranslationEngineAndEngineList():
|
||||||
engine = config.CHOICE_INPUT_TRANSLATOR
|
engine = config.SELECTED_TAB_YOUR_TRANSLATOR_ENGINES[config.SELECTED_TAB_NO]
|
||||||
engines = model.findTranslationEngines(config.SOURCE_LANGUAGE, config.TARGET_LANGUAGE)
|
engines = model.findTranslationEngines(
|
||||||
|
config.SELECTED_TAB_YOUR_LANGUAGES[config.SELECTED_TAB_NO],
|
||||||
|
config.SELECTED_TAB_TARGET_LANGUAGES[config.SELECTED_TAB_NO])
|
||||||
if engine not in engines:
|
if engine not in engines:
|
||||||
engine = engines[0]
|
engine = engines[0]
|
||||||
config.CHOICE_INPUT_TRANSLATOR = engine
|
config.SELECTED_TAB_YOUR_TRANSLATOR_ENGINES[config.SELECTED_TAB_NO] = engine
|
||||||
config.CHOICE_OUTPUT_TRANSLATOR = engine
|
config.SELECTED_TAB_TARGET_TRANSLATOR_ENGINES[config.SELECTED_TAB_NO] = engine
|
||||||
|
|
||||||
def initSetTranslateEngine():
|
|
||||||
engine = config.SELECTED_TAB_YOUR_TRANSLATOR_ENGINES[config.SELECTED_TAB_NO]
|
|
||||||
config.CHOICE_INPUT_TRANSLATOR = engine
|
|
||||||
engine = config.SELECTED_TAB_TARGET_TRANSLATOR_ENGINES[config.SELECTED_TAB_NO]
|
|
||||||
config.CHOICE_OUTPUT_TRANSLATOR = engine
|
|
||||||
|
|
||||||
def initSetLanguageAndCountry():
|
|
||||||
select = config.SELECTED_TAB_YOUR_LANGUAGES[config.SELECTED_TAB_NO]
|
|
||||||
config.SOURCE_LANGUAGE = select["language"]
|
|
||||||
config.SOURCE_COUNTRY = select["country"]
|
|
||||||
select = config.SELECTED_TAB_TARGET_LANGUAGES[config.SELECTED_TAB_NO]
|
|
||||||
config.TARGET_LANGUAGE = select["language"]
|
|
||||||
config.TARGET_COUNTRY = select["country"]
|
|
||||||
|
|
||||||
def setYourTranslateEngine(select):
|
def setYourTranslateEngine(select):
|
||||||
engines = config.SELECTED_TAB_YOUR_TRANSLATOR_ENGINES
|
engines = config.SELECTED_TAB_YOUR_TRANSLATOR_ENGINES
|
||||||
engines[config.SELECTED_TAB_NO] = select
|
engines[config.SELECTED_TAB_NO] = select
|
||||||
config.SELECTED_TAB_YOUR_TRANSLATOR_ENGINES = engines
|
config.SELECTED_TAB_YOUR_TRANSLATOR_ENGINES = engines
|
||||||
config.CHOICE_INPUT_TRANSLATOR = select
|
|
||||||
|
|
||||||
def setTargetTranslateEngine(select):
|
def setTargetTranslateEngine(select):
|
||||||
engines = config.SELECTED_TAB_TARGET_TRANSLATOR_ENGINES
|
engines = config.SELECTED_TAB_TARGET_TRANSLATOR_ENGINES
|
||||||
engines[config.SELECTED_TAB_NO] = select
|
engines[config.SELECTED_TAB_NO] = select
|
||||||
config.SELECTED_TAB_TARGET_TRANSLATOR_ENGINES = engines
|
config.SELECTED_TAB_TARGET_TRANSLATOR_ENGINES = engines
|
||||||
config.CHOICE_OUTPUT_TRANSLATOR = select
|
|
||||||
|
|
||||||
def setYourLanguageAndCountry(select:dict, *args, **kwargs) -> dict:
|
def setYourLanguageAndCountry(select:dict, *args, **kwargs) -> dict:
|
||||||
printLog("setYourLanguageAndCountry", select)
|
printLog("setYourLanguageAndCountry", select)
|
||||||
languages = config.SELECTED_TAB_YOUR_LANGUAGES
|
languages = config.SELECTED_TAB_YOUR_LANGUAGES
|
||||||
languages[config.SELECTED_TAB_NO] = select
|
languages[config.SELECTED_TAB_NO] = select
|
||||||
config.SELECTED_TAB_YOUR_LANGUAGES = languages
|
config.SELECTED_TAB_YOUR_LANGUAGES = languages
|
||||||
config.SOURCE_LANGUAGE = select["language"]
|
|
||||||
config.SOURCE_COUNTRY = select["country"]
|
|
||||||
updateTranslationEngineAndEngineList()
|
updateTranslationEngineAndEngineList()
|
||||||
return {"status":200,
|
return {"status":200}
|
||||||
"result":{
|
|
||||||
"your":{
|
|
||||||
"language":config.SOURCE_LANGUAGE,
|
|
||||||
"country":config.SOURCE_COUNTRY
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
def setTargetLanguageAndCountry(select:dict, *args, **kwargs) -> dict:
|
def setTargetLanguageAndCountry(select:dict, *args, **kwargs) -> dict:
|
||||||
printLog("setTargetLanguageAndCountry", select)
|
printLog("setTargetLanguageAndCountry", select)
|
||||||
languages = config.SELECTED_TAB_TARGET_LANGUAGES
|
languages = config.SELECTED_TAB_TARGET_LANGUAGES
|
||||||
languages[config.SELECTED_TAB_NO] = select
|
languages[config.SELECTED_TAB_NO] = select
|
||||||
config.SELECTED_TAB_TARGET_LANGUAGES = languages
|
config.SELECTED_TAB_TARGET_LANGUAGES = languages
|
||||||
config.TARGET_LANGUAGE = select["language"]
|
|
||||||
config.TARGET_COUNTRY = select["country"]
|
|
||||||
updateTranslationEngineAndEngineList()
|
updateTranslationEngineAndEngineList()
|
||||||
return {"status":200,
|
return {"status":200}
|
||||||
"result":{
|
|
||||||
"target":{
|
|
||||||
"language":config.TARGET_LANGUAGE,
|
|
||||||
"country":config.TARGET_COUNTRY
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
def swapYourLanguageAndTargetLanguage(*args, **kwargs) -> dict:
|
def swapYourLanguageAndTargetLanguage(*args, **kwargs) -> dict:
|
||||||
printLog("swapYourLanguageAndTargetLanguage")
|
printLog("swapYourLanguageAndTargetLanguage")
|
||||||
@@ -448,41 +415,13 @@ def swapYourLanguageAndTargetLanguage(*args, **kwargs) -> dict:
|
|||||||
target_language = config.SELECTED_TAB_TARGET_LANGUAGES[config.SELECTED_TAB_NO]
|
target_language = config.SELECTED_TAB_TARGET_LANGUAGES[config.SELECTED_TAB_NO]
|
||||||
setYourLanguageAndCountry(target_language)
|
setYourLanguageAndCountry(target_language)
|
||||||
setTargetLanguageAndCountry(your_language)
|
setTargetLanguageAndCountry(your_language)
|
||||||
return {"status":200,
|
return {"status":200}
|
||||||
"result":{
|
|
||||||
"your":{"language":config.SOURCE_LANGUAGE,
|
|
||||||
"country":config.SOURCE_COUNTRY,
|
|
||||||
},
|
|
||||||
"target":{
|
|
||||||
"language":config.TARGET_LANGUAGE,
|
|
||||||
"country":config.TARGET_COUNTRY,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
def callbackSelectedLanguagePresetTab(selected_tab_no:str, *args, **kwargs) -> dict:
|
def callbackSelectedLanguagePresetTab(selected_tab_no:str, *args, **kwargs) -> dict:
|
||||||
printLog("callbackSelectedLanguagePresetTab", selected_tab_no)
|
printLog("callbackSelectedLanguagePresetTab", selected_tab_no)
|
||||||
config.SELECTED_TAB_NO = selected_tab_no
|
config.SELECTED_TAB_NO = selected_tab_no
|
||||||
|
|
||||||
engines = config.SELECTED_TAB_YOUR_TRANSLATOR_ENGINES
|
|
||||||
engine = engines[config.SELECTED_TAB_NO]
|
|
||||||
config.CHOICE_INPUT_TRANSLATOR = engine
|
|
||||||
|
|
||||||
engines = config.SELECTED_TAB_TARGET_TRANSLATOR_ENGINES
|
|
||||||
engine = engines[config.SELECTED_TAB_NO]
|
|
||||||
config.CHOICE_OUTPUT_TRANSLATOR = engine
|
|
||||||
|
|
||||||
languages = config.SELECTED_TAB_YOUR_LANGUAGES
|
|
||||||
select = languages[config.SELECTED_TAB_NO]
|
|
||||||
config.SOURCE_LANGUAGE = select["language"]
|
|
||||||
config.SOURCE_COUNTRY = select["country"]
|
|
||||||
|
|
||||||
languages = config.SELECTED_TAB_TARGET_LANGUAGES
|
|
||||||
select = languages[config.SELECTED_TAB_NO]
|
|
||||||
config.TARGET_LANGUAGE = select["language"]
|
|
||||||
config.TARGET_COUNTRY = select["country"]
|
|
||||||
updateTranslationEngineAndEngineList()
|
updateTranslationEngineAndEngineList()
|
||||||
return {"status":200, "result":config.SELECTED_TAB_NO}
|
return {"status":200}
|
||||||
|
|
||||||
def callbackSelectedTranslationEngine(selected_translation_engine:str, *args, **kwargs) -> dict:
|
def callbackSelectedTranslationEngine(selected_translation_engine:str, *args, **kwargs) -> dict:
|
||||||
printLog("callbackSelectedTranslationEngine", selected_translation_engine)
|
printLog("callbackSelectedTranslationEngine", selected_translation_engine)
|
||||||
@@ -1270,10 +1209,6 @@ def getListOutputDevice(*args, **kwargs) -> dict:
|
|||||||
|
|
||||||
def init(endpoints:dict, *args, **kwargs) -> None:
|
def init(endpoints:dict, *args, **kwargs) -> None:
|
||||||
printLog("Start Initialization")
|
printLog("Start Initialization")
|
||||||
printLog("Start InitSetTranslateEngine")
|
|
||||||
initSetTranslateEngine()
|
|
||||||
printLog("Start Init LanguageAndCountry")
|
|
||||||
initSetLanguageAndCountry()
|
|
||||||
|
|
||||||
printLog("Start check DeepL API Key")
|
printLog("Start check DeepL API Key")
|
||||||
if config.AUTH_KEYS["DeepL_API"] is not None:
|
if config.AUTH_KEYS["DeepL_API"] is not None:
|
||||||
|
|||||||
@@ -21,12 +21,6 @@ config_mapping = {
|
|||||||
"/config/enable_transcription_send": "ENABLE_TRANSCRIPTION_SEND",
|
"/config/enable_transcription_send": "ENABLE_TRANSCRIPTION_SEND",
|
||||||
"/config/enable_transcription_receive": "ENABLE_TRANSCRIPTION_RECEIVE",
|
"/config/enable_transcription_receive": "ENABLE_TRANSCRIPTION_RECEIVE",
|
||||||
"/config/enable_foreground": "ENABLE_FOREGROUND",
|
"/config/enable_foreground": "ENABLE_FOREGROUND",
|
||||||
"/config/source_country": "SOURCE_COUNTRY",
|
|
||||||
"/config/source_language": "SOURCE_LANGUAGE",
|
|
||||||
"/config/target_country": "TARGET_COUNTRY",
|
|
||||||
"/config/target_language": "TARGET_LANGUAGE",
|
|
||||||
"/config/choice_input_translator": "CHOICE_INPUT_TRANSLATOR",
|
|
||||||
"/config/choice_output_translator": "CHOICE_OUTPUT_TRANSLATOR",
|
|
||||||
"/config/is_reset_button_displayed_for_translation": "IS_RESET_BUTTON_DISPLAYED_FOR_TRANSLATION",
|
"/config/is_reset_button_displayed_for_translation": "IS_RESET_BUTTON_DISPLAYED_FOR_TRANSLATION",
|
||||||
"/config/is_reset_button_displayed_for_whisper": "IS_RESET_BUTTON_DISPLAYED_FOR_WHISPER",
|
"/config/is_reset_button_displayed_for_whisper": "IS_RESET_BUTTON_DISPLAYED_FOR_WHISPER",
|
||||||
"/config/selected_tab_no": "SELECTED_TAB_NO",
|
"/config/selected_tab_no": "SELECTED_TAB_NO",
|
||||||
@@ -334,9 +328,27 @@ if __name__ == "__main__":
|
|||||||
case "/controller/callback_messagebox_send":
|
case "/controller/callback_messagebox_send":
|
||||||
data = {"id":"123456", "message":"テスト"}
|
data = {"id":"123456", "message":"テスト"}
|
||||||
case "/controller/set_your_language_and_country":
|
case "/controller/set_your_language_and_country":
|
||||||
data = {"language": "English", "country": "Hong Kong"}
|
data = {
|
||||||
|
"primary": {
|
||||||
|
"language": "English",
|
||||||
|
"country": "Hong Kong"
|
||||||
|
}
|
||||||
|
}
|
||||||
case "/controller/set_target_language_and_country":
|
case "/controller/set_target_language_and_country":
|
||||||
data = {"language": "Japanese", "country": "Japan"}
|
data = {
|
||||||
|
"primary": {
|
||||||
|
"language": "Japanese",
|
||||||
|
"country": "Japan"
|
||||||
|
},
|
||||||
|
"secondary": {
|
||||||
|
"language": "English",
|
||||||
|
"country": "United States"
|
||||||
|
},
|
||||||
|
"tertiary": {
|
||||||
|
"language": "Chinese Simplified",
|
||||||
|
"country": "China"
|
||||||
|
}
|
||||||
|
}
|
||||||
case "/controller/callback_set_transparency":
|
case "/controller/callback_set_transparency":
|
||||||
data = 0.5
|
data = 0.5
|
||||||
case "/controller/callback_set_appearance":
|
case "/controller/callback_set_appearance":
|
||||||
|
|||||||
Reference in New Issue
Block a user