Dialogue Tool Instructions

Teddy

Developer
Staff member
Overview

This is what the dialogue tool looks like:

dialoguetool.png
  1. Save the project
  2. Selecting a dialogue to translate - if a LocalID beings with * it means that dialogue has not been translated!
  3. If a dialogue has multiple lines, you can switch between them here (or by using CTRL + left or right)
  4. Click here to add conditional parts (more info below)
  5. Select parts of the text and click on the buttons to add color to that part
  6. The text box where you enter the translated text
  7. Various options telling the program how to behave, as well as selecting language regions
  8. Displays some basic info regarding the current translation project
  9. Shows the original line and the translated line as it would appear in-game
  10. Lets you specify a "narrative state", which will let you test conditional strings
  11. Notes regarding the current dialogue/line
Typical Usage

Using the tool should be pretty straightforward. Enter a text in the text box and it shows up to the right!

When you're done with a dialogue line, you can switch to the next line with ALT + Right or by pressing the button.

When you're done with a dialogue entry, press CTRL + S to save and then ALT + Down, or click Next Unsaved, to skip to the first untranslated dialogue in the current region.

If you encounter a dialogue line which says <scripts>, just hit Save and ignore it.

When you're done with the translation, or your part of it if you're working in a team, click Save Project and close the program to return to the Translation Suite!

Conditionals

Conditionals are when a part of a dialogue line gets replaced depending on if the main character is a boy or a girl, or if you're playing in a party. They may look a bit intimidating at first, but they aren't that advanced.

Say you write a dialogue line that says: "Hey boy, get your rocks off!" That's all good and well, but since you can play as both a boy and a girl, this doesn't work. This is where conditionals are good.

Let's write "Hey [0], get your rocks off!" instead. The [0] will be our conditional key.

To add a new conditional, press the "New" button in the conditional window.

As a Key, enter the string to be replaced, which in this case would be [0]. You can actually use anything here, even regular words.

Below the key, there are a bunch of Conditions. Press a condition you want to be applicable, and then type something in the text box. In this case, we want to click "Local Char Boy" and type "boy", and "Local Char Girl" and type "girl".

This will make it so that if the player is a boy, the dialogue will say boy, and if it's a girl, it will say girl. We can also add a third conditional for if the game is in multiplayer. If we click "2+ Players" and type "kids", the dialogue will read "Hey kids, get your rocks off!" when two or more people are playing co-op.

Here's a list of all conditionals:

Local Char Boy: Is the character talking to the NPC a boy?
Local Char Girl: Is the character talking to the NPC a girl?
Main Char Boy: Is the hosting player a boy? If offline, this is the same as Local Char Boy.
Main Char Girl: Is the hosting player a girl? If offline, this is the same as Local Char Girl.
Is Main Char: Is the player who triggered the dialogue the hosting player? If offline, this is always true.
2 Players: Are exactly two players playing co-op?
2+ Players: Are two or more players in co-op?
3+ Players: Are three or more players in co-op?
All Male Party: Are there only males in the party?
All Female Party: Are there only females in the party?
Otherwise: If you add an "otherwise" conditional, if none of the other specified conditions are true, this will be used (like an else-statement in programming)

In general, multiplayer conditionals take precedence before offline conditionals, so if Local Char Boy and 2+ Players are set, the game will pick 2+ Players if you're playing multiplayer, regardless if you're playing as a boy or not.

Here's the priority list, from highest to lowest: 2 Players, 3+Players, 2+Players, Is Main Char, Main Char Boy, Main Char Girl, Local Char Boy, Local Char Girl, All Female Party, All Male Party, Otherwise

To check how the conditionals look in the real dialogue, use the options above the game window. Here you can specify various conditions and the dialogues below will update accordingly.

Options

"Type" here means alphabet type. The default is roman, which should cover most European languages, like English, German, Spanish, Portuguese etc. I've also added cyrillic and greek. If your language has a different alphabet, please PM me and I'll try to add it!

Note that for some languages with a massive amount of symbols, like Chinese, Korean and Japanese, I can't add a universal spritefont for that. If you want to translate the game into one of these languages, you'll have to check out the Fonts tab in the Translation Suite!

When translating for a language that can't be displayed using one of the supplied alphabet (letters will appear as a bunch of ??? to the right), select Override. If you've compiled a font of your own, you can test that by selecting Custom.
 
Last edited:

Dulled

Rabby
Well, that guide is very well built and for that I congratulate you! But I have a suggestion. Wouldn't it be good to clarify exactly the conditionals hierarchy tree? For example, I'm not exactly sure of which one comes first: the "All Male Party" or the "All Female Party". I believe that I tiny paragraph or image would solve this minimal issue.

Thanks again for both guides!
 

Teddy

Developer
Staff member
Well, that guide is very well built and for that I congratulate you! But I have a suggestion. Wouldn't it be good to clarify exactly the conditionals hierarchy tree? For example, I'm not exactly sure of which one comes first: the "All Male Party" or the "All Female Party". I believe that I tiny paragraph or image would solve this minimal issue.

Thanks again for both guides!

I've added a priority listing beneath the condition descriptions!
 

MrChocodemon

Handsome Moderator
I want to add, that i, at first struggled quite much with that tool and even with this instructions i took quite a while to see how you thought all that through and there are some pieces of dialogue that i reworked for this tool like 5 times until it was correct.

The tool is very good and has many ways of making translating easy and complex at the same time.
But how about a small video guide of someone using it active?
There are still things i ask myself, about how it works exactly.

Teddy said:
Let's write "Hey [0], get your rocks off!" instead. The [0] will be our conditional key.
To add a new conditional, press the "New" button in the conditional window.
As a Key, enter the string to be replaced, which in this case would be [0]. You can actually use anything here, even regular words.

can i use [0] for each first insertion of a single line? How are the limitations of the insertion?
When i write "[0] go outside and then [0] kill all monsters." [0] = you have to
is that possible? Yes, it is, but that is what i was asking myself.
Can i use [0] in multiple lines of dialogue? I mean, when you have 4 lines of quest dialogues on Candy and in the first line i use [0], can i use [0] for different things each line?
Yes, you can. but that's what i asked myself.

And so on. It's a complex tool that could be showed much easier, than described with text.
 

res7less

Jumpkin
Today I have encountered something weird. For the first time something within the game did not appear as it was in the translation tool. Even though the conditions in the tool are set correctly, the game took the male version of a word, even though the local player character is female. I have no idea what caused this exception but here are the screenshots of the preview in the tool and the result in the game:

Tool:
bellas_ring_tool.JPG

Game: bellas_ring_game.JPG
 

res7less

Jumpkin
It was single player.

Edit: Do dialogues that are triggered by events such as finding an item maybe work differently? I could try testing it in multiplayer. Are there any other cases where a dialogue is triggered when finding an item? (I assume "finding" the sword and shield dialogues at the start are scripted and not triggered by events, but I don't know for sure, of course)
 
Last edited:

res7less

Jumpkin
Tested it in multiplayer with two female characters and afterwards in single player with a male character. The host, the client and the male single player all get the male version of the word on Bella's Ring find.

Edit: When playing a female character, I was also paying attention to the dialogues when getting the sword, shield and big branch in Startington, as well as the Straw Boater after the exam. They were all properly displaying the female versions of the respective verbs.
 
Last edited:

Teddy

Developer
Staff member
I thiiink I might get what's going on now! The dialogue entry is obsolete, now replaced by the MiscText-entry of: NoticesAndTips/GenericFoundItemNotice

To solve this, I'll have to add a GenericFoundItemNotice_Female for languages that conjugates verbs differently based on gender!
 

res7less

Jumpkin
Оh, I see.

To solve this, I'll have to add a GenericFoundItemNotice_Female for languages that conjugates verbs differently based on gender!

You make it sound as if it's a matter of a couple of minutes, adding a gender-based conjugation to the Misc Text tool :D

But for this case, now that I know where to find the appropriate string, I will just translate it in a way that it shouldn't matter which gender the local player has. It's possible, but it will sound a bit rough and would translate back into something like "Item X was found by you." While "You found item X." sounds more straightworward, implementing a whole conjugation system would be over the top in my opinion :p But sure, it's your call, it would make translations of a lot of misc texts easier, since in russian I always try to work around this problem of directly speaking to the player, since it sometimes requires gender-based verbs. No idea whether or not it would be useful for other languages, though.

Glad we worked that out!
 

res7less

Jumpkin
Actually, I recently had an idea for a Prefix and Suffix system for the Misc Text translation tool. I might as well describe it here, perhaps it will find some use.

The idea is to add a the Categories Prefix and Suffix to the tool - those contain a fill of empty variables, about 10 or so each, that don't need to be translated/are translated by default - this way it won't affect existing translations, and or languages that don't need them.

If there is now a language that relies on Prefixes or Suffixes in some cases, such as russian, the translators could use those regions to sometimes construct words with it, such as it is already being done in the Dialogue Text tool.

Let's take that previous Bella's Ring business for example.

We now have the generic message "You found (0)!". In russian you would have the stem of the verb "find" translated as "наш", while the male suffix would be "ёл" and the female suffix would be "ла". In that case a translator would take an unused Suffix Local ID and fill it with the gender-specific suffixes that he needs.

Under the Suffix Category we would now have a Local ID "01", "01m" and "01f" (or even "01p" for plural, "01pm" for plural male, "o1pf" for plural female if required). The LocalID "01" by default contains all the other IDs with the same number "01" and its content would look something like

[$LSuffix|01m][$LSuffix|01f][$LSuffix|01p][...]

"02"'s content would be [$LSuffix|02m][$LSuffix|02f][$LSuffix|02p][...]

etc.

The translator would then fill the content of LocalID "01m" with "ёл" and "01f" with "ла". Then he would fill the content of the LocalID GenericFoundItemNotice with "Ты наш[$LSuffix|01] (0)!"

If now the game recognizes that the player receiving the message is not male, the system should fill all the Suffixes and Prefixes ending with an "m" with empty "" strings, so only the "f" strings remain. Then it should display the correct message: "Ты нашла Кольцо Беллы!".

Phew, so much for the theory. :p

Greetz,
res7less
 
Last edited:

res7less

Jumpkin
Alright, brace yourselves, long post incoming...

Today I have reached 85% of the dialogue translation, with RogueLike and MountBloom Regions left. I have skipped RogueLike because I wanted to finish the translation of the Story Mode first for all the russian-speaking people, that are eagerly anticipating to complete the current story content. Mount Bloom is last, since it's currently only in the frontline version, meaning that the russian translation for the current stable version is now complete \o/

First off some honest praise:
I find the idea of delivering a proper localization tool for the community amazing. Not only does it save you money to pay companies for localization, it also allows integration of the community into the final project, which is a very inspiring thing to do. People may contribute to the final product until its completion, thus becoming part of it, which feels, well, awesome!

Furthermore I have to praise (the sun) the overall design of the translation tool. I had much fun translating, which would not have been the case, if it were "naked" texts and, at least for me, 90% of the fun came from the immediate feedback when changing the text. Seeing the characters speak, being alive, their emotions combined with the context gives a rewarding feeling when giving them their sentences.

The fun was increased furthermore by the conditionals. In english "you" may refer to one person, 2 people, several people, no matter what age or gender. In other languages, like russian (I'm sure there are far more complicated languages) you have to pick the proper word, the proper suffixes for adjectives and/or verbs that follow etc. It was great, that the tool makes it possible to include all those things to make the communication with the world more dynamic, depending on situation and/or player(s). Having to take into consideration multiple possibilities for a sentence made the whole process to feel thorough, leaving no (or at least very few) room for static dialogues that feel out of place.

Having native puns come to life
was also a challenge and made a part of the process entertaining and satisfying after a proper result.

Overall it was a great experience for me and quite frankly, after I'm done, I have no idea what to keep myself busy with in my spare time :D

Furthermore I would like to add, that when I'm deciding to do something, I do it properly, not rushing things to just "get over with it", so you may rest assured that I gave my best to have the translation give the game the honor it deserves. I think my many questions and overall activity within the translation section are proof enough of that.

Alright, after all those honeyed words, I would also like to add some things, that the translation tool was lacking, so it might be developed further in time, allowing translators to have even more freedom to deliver even better quality translations.

The first thing would be a suffix/prefix system for the Misc Texts tool. I had a lot of trouble, referencing items, NPCs and/or locations during quests because they needed different suffixes at many points. In "You have to collect 2 Turkeys", the endings would be entirely different than the static object name "Turkey" and also the verb "have" would change depending on the gender of the character. So one always have to work around directly addressing the player, which, when done too often sounds weird but there often was no other way around it. Instead one often has to address the player in 3rd person to avoid the gender problem and often has to change the description of a quest objective for a reference to an item such as "Turkey" to fit into the sentence (or just remove the reference and write the word manually, which makes texts vulnerable to future changes of object names).

I'll now try to post this to see if I'm over the character limit...
 

res7less

Jumpkin
...apparently I'm not, which is good.

Okay, the second thing that needs to be improved is in the Dialogue Tool. I'm talking about adding statements ("and" and maybe "or") to the conditionals. You see, the main problem I most often encountered was within the Gather-For-A-Quest-Dialogues.

My reasoning was as follows: When you meet an NPC for the first time, he/she doesn't know how many people (or friends of yours) there are. In cases as with Candy or Muffin, who live in houses, it's totally fine for them to say "call your friends" since they can't see, how many people are outside. But later, when the players return to finish a quest, when one of them speaks to the NPC, the NPC basically knows, how many of you there are since he gave you the quest. So when one player speaks to him/her, the NPC knows if you should call multiple friends or one. So the main problem were the gathering dialogues for exactly 2 players since in russian, you would have to know which gender the second player is, to say "call your friend over" since friend can be male or female. And it doesn't matter which word you take, companion, helper, buddy, assistant etc. they all have a male and female word and currently there is no possibility for a player's individual dialogue to know the other player's gender. With the "and" statement, however, one could actually construct viable solutions for exactly 2 players (or other problematic dialogues) to sound natural. Currently my solution often was "come both to me" since that works around referring to someone directly - but as with everything, if used to often, it starts sounding weird after a while.

Alright, I hope my feedback was valuable and helps in further development of the translation tool!

For now I will make a couple of runs through the game to test things and enjoy the game again, correct mistakes etc., ergo polish. A very friendly guy contacted me recently, who was eager to help me with grammar and more elegant-sounding translations here and there - I'll see how it goes and try to raise the quality as high as I can. Meanwhile I will also eagerly await further updates as I can't wait to continue the story after Mt. Bloom and to get some juicy support skills ;)

Greetz,
res7less
 
Last edited:

res7less

Jumpkin
Dear @Teddy, I have a request! While translating it is very often the case that one doesn't know how many people participate in a conversation. Even after having played through the game, one does not remember every conversation. The main issue is that the english "you" can refer to several things in russian (and surely in other languages), depending on how many people take part in the conversation and who is referring to whom. So, it would be reeally helpful if you in the future could add to the Notes of every dialogue's LocalID whether this dialogue is a sequence (meaning all players participate) or a solo dialogue when a player addresses an NPC and the presence of other players isn't necessary. Basically one needs to know whether all players see the same dialogue, or if it's an individual one. Differentiating between those types would be a huge help.

Edit: Some LocalID names begin with "Cutscene_" but that's only a small part. Some can be also figured out by also having a GatherFriends Dialogue included. But there are a lot of different dialogues and the structure isn't always consistent (which is understandable due to the sheer mass), so a clear identification for cutscenes/solologues would be still worlds better.
 
Last edited:

The G-Meister

Giga Slime
The character limit is huge friend! Just go look at the "how to forum" post - a tad under double that is the amount of characters you can have (20,000 right? Anyone?)
 

Teddy

Developer
Staff member
So, it would be reeally helpful if you in the future could add to the Notes of every dialogue's LocalID whether this dialogue is a sequence (meaning all players participate) or a solo dialogue when a player addresses an NPC and the presence of other players isn't necessary. Basically one needs to know whether all players see the same dialogue, or if it's an individual one. Differentiating between those types would be a huge help.

Good point! I first started adding Cutscene_ to those dialogues for my own sake, but totally forgot about it along the way (as you could tell). I will be more consistent in the future, and add Cutscene_ to every dialogue that will be displayed as a group!
 

res7less

Jumpkin
The character limit is huge friend! Just go look at the "how to forum" post - a tad under double that is the amount of characters you can have (20,000 right? Anyone?)
I was so confused right now. Only after half a minute I realized you are referring to my post from march 17th :D

I will be more consistent in the future, and add Cutscene_ to every dialogue that will be displayed as a group!
That'd be perfect! It's actually something that has been bothering me in the past and I'm quite surprised none of the other translators mentioned it yet. I imagine chinese for example being super complicated in the sense of knowing who is being addressed (including age and gender).
 

KoBeWi

Jumpkin
I'm quite surprised none of the other translators mentioned it yet.
And nobody who uses the translation complained about it. :chicken:

My only concern when translating last time was that I wasn't sure when NPC refers only to you and when to you and the bag. I'm actually happy when NPC notices the bag, because there's no separate cases for plural forms when you are with friends. :chicken::chicken:
 

res7less

Jumpkin
And nobody who uses the translation complained about it.
You did great repeating what I said in other words :D

Maybe it's just the language differences. I actually had a lot of cases where I even used the All Male and All Female options to make the dialogues more adaptive and immersive, depending on the player(s). Many might deem this unnecessary, but I'm used to do the things I do the best way I possibly can, so at least for me it's a big help to know exactly what I'm dealing with. And yeah, I'm also happy when :bag: is part of the conversation for the reasons you mentioned.
 
Last edited:

GRomPES

Green Slime
You did great repeating what I said in other words :D

Вы полностью переведёте на русский язык? Просто я думал занятся, но я смотрю что уже прогресс идёт =)
 
Top