Multilanguage chatbox suggestion
Hello, I was going to make this suggestion earlier, in a quick glance I noticed Dr-Kakashi had suggested this so I didn't post it. Today I was revisiting github and reading carefully Dr-Kakashi's suggestion : Noticed he was only suggesting to add Romaji so it is different than my original thoughts, so I'll post my suggestion also.
Suggesting to have translation output for up to total of 3 languages at once.
more than often we encounter situation where within the same instance there people that speak different languages, example : English, Japanese, German, Korean. We try to speak a common language, which usually end up to be English, but occasionally translation is still needed to get the meaning across.
I understand translation need to submit to translation services multiple time, thus the chatbox will be slower to display, but once everyone in the instance able to see the result, the extra 2 seconds of wait time will make everyone understand each other better. I also understand the chatbox characters are limited, this will need to be put into a warning sign regarding this feature and it will be user responsibility to take note and aware of this limitation.
Example:
Your language : English
Primary translation : Japanese
2nd translation : German
3rd translation : Korean
When I type in "Good Morning" in English, it will output something like this:
Good Morning / おはようございます / Guten Morgen / 좋은 아침
For Speaker2Log function, only the Primary translation language will be used.
I think this should be easy to implement, as the program already able to have 3 different language settings define. It will just need to have a good UI design to introduce this new feature and a new routine to call all 3 translator services at once and output them together. You can even do a characater count, should it exceed vrchat chatbox character limits, output a RED color warning sign in the translation windows to notify user aware that this maybe too long and letter may got cut off.
What's your thought on this ?
Hi. Thank you for the suggestion!
What's your thought on this ?
Sometimes, I encounter that situation, so I personally want this feature too. I agree there are some challenges, but I think this feature would be very nice. I’ll take your suggestion into consideration.
Daer @xenz698 The above features were added in version 3.0.0. Please check it.
Thank VRCT team for your hard work !! I was able to do a brief test of this new feature and seeing the result is amazing !! 💯 👍 I was able to talk to multiple audience in one shot, although I need to adjust my sentence length, but it's a lot better than repeating myself multiple times.
With the foundation of this multi-translation feature added, there are a few things I noticed and may I make some minor suggestion. Please let me know should I close this thread and start a new one, if yes, I'll move this message to a new thread and then close this thread as complete. At the mean time, please see my suggestion below :
#1 and #2 were basically referring to a similar function that exist in version 2 under Setting > Others > Message Formats #3 is functioning (?) issue
- The different language was separated by a line feed with the text centered so each language is showing in it's own row. This allow the text to be easily read but the down side is making the VRchat chatbox size bigger.
Good Morning おはようございます Guten Morgen 좋은 아침
May I suggest a setting to allow user to choose between Line Feed or a "separator character" like "/" to separate languages. If separator is chosen, then disable the Text Centered and Line Feed and use the separator character instead.
Good Morning / おはようございま す / Guten Morgen / 좋은 아침
It is not as clean as using Line Feed + text centered, but it will have a slightly small chatbox size. It can be useful when multiple people chatting at the same time in close proximity, where big chat box blocking everyone's view.
============================ 2. The order of the output was showing in the order just like how I was configured in the Language Setting section.
May I suggest to bring back the old setting option where you can set Original Message to display first or the Translated Message display first.
My theory is : I use translator because the target audience doesn't understand my language, putting my language in the first display output is somewhat waste of space, especially with limited character count in VRchat chatbox situation. If I can choose to put my Translated message to display first, just like before, then I can have my meaning get across first. Even if some of the other language text got cut off, I can at least have 2 target audience got my meaning.
Example:
NOW : if my own language (english) comes first and message was short : Good Morning おはようございます Guten Morgen 좋은 아침
IF English come first and it was too long and got cut off, only 1 target audience benefit from translation Today is very sunny weather, so I go out to have a picnic at the park. ❓ 今日はとてもいい天気なので、公園にピクニックに出かけた。 ✔️ Heute ist das Wetter sehr sonnig, also gehe ❓
IF display Translated first and original language last and message was short : おはようございます Guten Morgen 좋은 아침 Good Morning
IF it was too long and got cut off, 3 audience will benefit from translation - example only: 今日はとてもいい天気なので、公園にピクニックに出かけた。 ✔️ Heute ist das Wetter sehr sonnig, also gehe ich zum Picknick in den Park. ✔️ 오늘은 날씨가 매우 화창해서 공원에 피크닉을 하러 나갔어요. ✔️ Today is very sunny weather, so I g ❓
If the message was too long, at least Japanese, German and Korean will get my meaning, and obviously nobody understand English accept me, so it is okay to have it cut off without affecting anyone. And if I'm using Voice2Chat feature, I can always verify if the system hear me properly via the console windows.
============================== 3. When I enable Speaker2Log, I noticed there is a headphone logo displayed on the side of the Target Language. I will assume it is listening to the Target language, in this example, it is listening to Japanese
when I choose multiple languages, I see headphone logo displayed on all of them. Does it mean it will automatically listen to all languages ? or will it be only the first one (in this example of multi-language, it will be Japanese) ?
I'm not sure if it is because of this, I feel that Speaker2Log isn't working as good as before, when listening within a Japanese group, I noticed the translation missed a lot more than before ? I'm using Deepl API for translation services but I'm not sure which service was used for Voice to Text.
** After a bit more testing, I noticed with Speaker2Log function enabled, if only 1 target language was set, it work OKAY. If more than 1 target language was set, it may not function correctly.
environment setup : I installed VRCT version 2.29 under C:\Users\xenz\AppData\Local\VRCT, I installed the latest VRCT version 3.01 under C:\Users\xenz\AppData\Local\VRCT3, both running side by side at the same time. Using Translator : Deepl API For Japanese language testing : will play JapaNews24 from Youtube : https://www.youtube.com/watch?v=coYw-eVU0Ks For Korean language testing : will play KBS Korea news from Youtube : https://www.youtube.com/watch?v=OxQQsIvJTTU
Base test : version 2.29 : My language = English (American), Target #1= Japanese, Translation : OFF, Speaker2Log = ON version 3.01 : My language = English (American), Target #1= Japanese, Translation : OFF, Speaker2Log = ON Playing JapaNews24 youtube channel, both version dictate the words correctly and are in sync. Everything OK
Test #1 version 2.29 : My language = English (American), Target #1= Japanese, Translation : OFF, Speaker2Log = ON version 3.01 : My language = English (American), Target #1= Japanese, Target #2= Korean, Translation : OFF, Speaker2Log = ON Playing JapanNews24 youtube channel, v2.29 work OK, v3.01 dictate started to miss some words. Will recognize Japanese words correctly 90% of the time.
Test #2 version 2.29 : My language = English (American), Target #1= Korean, Translation : OFF, Speaker2Log = ON version 3.01 : My language = English (American), Target #1= Japanese, Target #2= Korean, Translation : OFF, Speaker2Log = ON Playing KBS Korean News youtube channel, v2.29 work OK, v3.01 treated Korean language as Japanese showing Japanese dictation 40% of the time ? and remainder will show Korean language.
Test #3 version 2.29 : My language = English (American), Target #1= Korean, Translation : OFF, Speaker2Log = ON version 3.01 : My language = English (American), Target #1= Korean, Target #2= Japanese, Translation : OFF, Speaker2Log = ON Playing KBS Korean News, result is the same as Test #2. v3.01 recognizing Korean language as Japanese, showing Japanese dictation even if I set Target #1 as Korean this time.
For now, I will only use one Target language only if I need to "listen" to people talking.
hi~ thanks and we are happy to hear that. The thread is fine as it is for now!
・About character count
VRChat's chat box display limit is 144 characters for English, but considering other languages, probably, I'll put a warning that "there is a 'possibility' of exceeding the display limit".
English 「A」will be limit 144 charctors as VRChat documents says. But Japanese「あ」will be limit 135 charctors.
There is also a limt that how much we can put the charactors in one line and if exeeded, automaticaly make a new line. And what anoy is, the limits are different each languages. Englsih「A」x 24 Japanese「あ」x 15 Korean「아」x 16 (...16!? What!?) And such probrems are there.
・About the text centered
It's not adjusted by VRCT but VRChat. so we can't do anything:(
・About the separator for translated languages / About the output order of each languages
It seems that the problem can be solved to some extent by reviving and adjusting the Message Formats function, but this function was discontinued with implemented multi-translation. It is because it is a very complicated process. But, I can understand what you are saying very well, so I may revive it in the future.
・About the headphone mark (and about accuracy)
You are rignt. Multiple languages are recognized (judged) at the same time and transcribed. The accuracy decreases, or rather, the more languages are set, the more likely it is that it will be recognized as a different language. In particular, if there are languages with similar pronunciations, it seems that it will be recognized as the other language. So that can't be helped for now.
Thank you for looking into this and spending more time into this topic.
About characters count It was interesting about the characters count limit. I am aware of the 144 English characters limits and slight less Japanese character limits for the chatbox. but I'm not fully understand the "line" limit you mentioned, because I can type in 144 characters in one line. I had also seen translation with over 15 characters of Japanese「あ」. Is it the limitation of certain OSC function ? If the message was send out to individual translation services and come back as a separate string value, can we combine them all into one string and send to OSC chatbox function ?
example: $input="Good Morning" Send to Translation Service 1 : Deepl_API and get result $result1="おはようございます" Send to Translation Service 2 : Google and get result $result2="Guten Morgen" Send to Translation Service 3: Papago and get result $result3="좋은 아침" Combine $output=$result1+$separator+$result2+$separator+$result3+$separator+$input Send output to OSC_Chatbox($output)
and let the OSC chatbox to trim it down to the chatbox limit ? I apologize if it doesn't work this way.
About the separator for translated languages Thank you for considering reviving the Message Formats function.
About the headphone mark What about a headphone toggle for individual language ? If the toggle is on for Japanese, then it will transcribe (listen to) Japanese If the toggle is off for German, then it will not transcribe (listen to) German If the toggle is off for Korean, then it will not transcribe (listen to) Korean
This way, we can have a choice for user to choose for accuracy. If user want more accurate transcribing function, they can choose just one language and toggle the other language off, but at the same time, the user voice2chatbox/typing will still go through individual translating service to translate into different language.
I wondered if this is possible ?
About characters count
The "line" limit I mentioned refers to how many characters we can fit on a single line before VRChat automatically creates a new line—automatically, text-wrap or word wrap.
The reason I brought up the line limit is that VRChat documentation states:
"You will be limited to 144 characters for chatbox text, and a maximum of 9 lines will be displayed, including new lines and word wrap."
So, we need to consider the line limit carefully. The annoying part is that VRChat handles this "automatically," making it tricky to predict and implement "warnings" for each language, as this behavior depends on the language being used.
That's all! Sorry if what I said was confusing.
(By the way, the method you showed us is what we use as well, so of course, it works!)
About the headphone mark
Okay, we’ll discuss that, but I really hope that if the situation happens, everyone you talk to will simply install VRCT or a similar app and send messages in multiple languages (without receiving), haha
Hi, long time no see. we revived the message format feature somehow. it will include in next update. Some cases will be solved. (I think the separator for translated language and Its order will be solved.)
The last ones we discussed "About characters count" and "About the headphone mark (That choose what listen to each language for accuracy while multi-translation)" is too hard to control so we won't do that for now.
I think that's all for this issue. I'm going to close this issue after releasing next update. It was took a lot of time since then but if something you have, please comment even when I closed it already:)
このたびはご対応いただき、誠にありがとうございます。I'm still using version 2.2.9 because of the output message order. 新しい更新を心待ちにしております。
If I can display the translated message first then the original message, then I don't think the "character count" will be matter much. 改めまして、本件にご配慮いただき、誠にありがとうございます。
It's updated a while ago😊 (at version 3.2.2)