How to translate the game "surviving the wild"?

16 messages, 1 pages:  1 ↖ Go back to topic list

Score: +3

1. davidhs1200,

Hi, I'm not a programmer but because there is no game for the blind in my language I want to learn. How to translate the game survive the wild? Is it easy? I read the programmers guide and followed what I understood. It didn't help. If someone can send me in parts how to do it I would be very happy

Score: +0

2. Nikola,

Hello there,
you do not need to be a programmer, but you do need a lot of patience. In my honest opinion, that is not even a translation system, it is just a kind of dictionary that you have to develop and create yourself. Let's give a few examples, and you can decide if it is worth it or not:

To start off, the way your translation starts is always with the first string being the language name. So, for example, my file starts as:


Srpski [=]

It is very important that you have a space, a left bracket, the equals sign, a right bracket, and another space at the end of each string.

The rest of the file follows a similar structure which is described in the Official translation documentation.

For example, let's describe a few static strings:


left hand [=] Leva ruka
right hand [=] desna ruka
You have to stop a second to try to cool off... [=] Morate da se zaustavite na trenutak i ohladite se...

From this, you should be able to follow and deduce where your translations should come.

Dynamic strings are only a little bit more complicated. For instance:


play as %1 [=] Igraj kao %1

%1 will be replaced by whichever character name is playing the game. You can have more format strings, such as %2, %3, depending on a given original output. You can of course swap them around in your translation in case the grammar of your language prefers a different order.

The only other thing that you have to worry about is dynamic strings which have to be translated back into your language. For example:


You just gave %1 %2 %t3! [=] Upravo ste dali igracu %1 %2 %3!

This might be confusing at first. %1 will be replaced by the player name we gave an item to, so nothing strange there. %2 will be replaced by the amount of that item we gave, for example 3. %t3 is the new element: It tells the engine that it is a dynamic element, but that it should be translated and processed in your dictionary. For example, if we gave an apple, and said %3 here instead of %t3, the word apple would be spoken in English. However, if you have translated apple before, and used %t3 correctly here, then it would use your translation. Note that in the translated string you still use %3.

The main disadvantage is that you have to figure all of this out on your own. There isn't a predetermined list of strings that you get and just translate, you make the dictionary yourself.

The best part of this system is how the interface itself works. It is very nice and intuitive to upload your data, add any collaborators who will help you, update the data and upload it for all players, and so on. In other words, in my view, the interface of the system is perfect, and it is very well imagined, but the system itself is horrible.

There are a couple of more advanced topics, but those were being developed at the time when I was translating and weren't very well documented, such as regular expressions. I later gave up trying to fit everything together, and so maybe these topics have a much better documentation. The community of the game is very helpful, so you can ask in the chat about anything and receive a response.

Hopefully that helps you, and good luck with the translation.

Score: +2

Last edited by Nikola, Jan 13 2024 15:56:59

3. davidhs1200,

How many lines of code minimum do I need? Because I wrote some static strings and the interface didn't let me update the dictionary's database. And can you please send me more examples of dynamic strings? I understand it has to do with numbers. Like how many apples I have in stock or how thirsty or hungry I am.

Score: +0

4. Nikola,

Hello,
there is no minimum, you can start with any base you want, and update it as you go on.

If it didn't let you update, it could be because:

  1. Your first line wasn't formatted exactly how I wrote in my first post with your language name,
  2. If you didn't receive any errors but your strings just don't work after updating, don't forget to switch to your translation by using the option in the menu.

As for static strings, yes of course, you can use them for anything that needs to be replaced by something else. As you say yourself, here are thirst and hunger:


%1 thirst [=] %1 žedan
%1 hunger [=] %1 gladan

So, the English string always goes first (exactly as the string is written in the game), and then your translation. %tNumber is used in the original string only when you need the dynamic part to be translated as well.

Score: +2

5. davidhs1200,

Do the game's menus remain in English when switching from one language to another?

Score: +0

6. Nikola,

Well, if you have translated the menu, then the menu will be in your language once you switch to it, until you go back to English.

I suggest starting with something small to get used to the interface. For example, try to translate a menu with different options, and maybe the string about your health. Submit your data, switch to the language, and test it. Make sure that this part works well, and then continue further.
You can remain in your language as long as you're working on it, whatever isn't translated will just appear in English.

Score: +2

7. davidhs1200,

What's wrong here? It won't let me update. עברית ]=[
left hand ]=[ יד שמאלית
right hand ]=[ יד ימנית
thirst ]=[ צמא
hunger ]=[ רעב
health ]=[ בריאות
energy ]=[ אנרגיה
%t1 thirst ]=[ %1 צמא
%t1 hunger ]=[ %1 רעב
%t1 health ]=[ %1 בריאות
%t1 energy ]=[ %1 אנרגיה
You suddenly shiver vialently! ]=[ אתה פתאום רועד בעוצמה
You have to stop a second to try to cool off... ]=[ אתה צריך לעצור שנייה כדי לנסות להתקרר...
It’s still too dark to tell ]=[ זה עדיין חשוך בשביל לספר

Score: +0

8. Nikola,

Hello,
first of all the line separation is completely messed up, I am not sure if the forum did that, you copied it wrong or what happened, but every string needs to be on its own line.

Second, when writing the language name, you are missing some important elements.

You wrote:

עברית ]=[

But it should be the opposite: Language name, a space, a left bracket, the equals sign, a right bracket, and another space.
So, your correct version is:
עברית [=]

Then, when writing each string, you repeat exactly the same mistake. It is not original string, right bracket, equals sign, left bracket, but the opposite.

Here is the correct version of your file. You can just paste it in the game, and I have also added some comments. Comments are made with a semicolon, the game parser will accept them. I added these comments to help you understand a few other errors.

עברית [=]
left hand [=] יד שמאלית
right hand [=] יד ימנית
thirst [=] צמא
hunger [=] רעב
health [=] בריאות
energy [=] אנרגיה
%t1 thirst [=] %1 צמא
; This string does not need a %t1. To work correctly, replace it with %1. In this case, %1 is just a number and does not need another translation. Same for the 3 upcoming strings.
%t1 hunger [=] %1 רעב
%t1 health [=] %1 בריאות
%t1 energy [=] %1 אנרגיה
You suddenly shiver vialently! [=] אתה פתאום רועד בעוצמה
You have to stop a second to try to cool off... [=] אתה צריך לעצור שנייה כדי לנסות להתקרר...
It’s still too dark to tell [=] זה עדיין חשוך בשביל לספר

Score: +2

Last edited by Nikola, Jan 13 2024 18:05:40

9. davidhs1200,

Thank you. Yes, it's a browser issue. How to translate distance from something? Like "a wandering rabbit is behind and a fair distance off to the left, 35 tiles away.". Or like "shallow stream straight off to the right, about 6 tiles away

dirt near the beach straight in front, about 16 tiles away". Sorry for the amount of questions

Score: +0

10. Nikola,

Hello,
it involves first translating the different tracking strings, such as far off to the left, far off to the right, etc…
Then, combining these strings with your object translations, such as rabbit, bear, wolf, clay, ocean, etc…

For animals, you have to do another combination with properties such as a wondering, a mad, or for players, supernatural, sitting, resting, and so on...

This is probably where asking another translator for help would be useful. This is getting near the point of where I started to realize how impractical this system is and didn't go too far.

Score: +2

11. davidhs1200,

hy. how to translate this? "1000 stamina, 1000 energy"

Score: +0

12. davidhs1200,

and How to translate items and their quantity in stock

Score: +0

13. Nikola,

Regarding the first question, exactly the same way you translate thirst and hunger, except that now you have two items to replace, and not one, so you need %1 and %2.

Score: +1

14. davidhs1200,

how to translate is? "You are appreciating a nice warm breeze. you are 59% dirty, and 0% wet. "

Score: +0

15. Aidin,

Bismillah.
Hello.
I don't know much about the translation, but it seems to be similar to translating thirst and hunger. You use %1 and %2 to access your dirtiness and wetness percentage respectively.

Score: +0

16. Oleg_the_snowman,

Considering the numerous questions I've received, I've written a guide describing the translation process in Survive the Wild. I hope it proves useful for everyone, and that you find what you were looking for.
https://www.dropbox.com/scl/fi/nznebceo93dc9x2jhzr43/Survive-the-Wild-Translation-Guide.txt?rlkey=vs4ips7auaxd0u0vi9k3zvqn7&dl=1

Score: +0

16 messages, 1 pages:  1 ↖ Go back to topic list

Answer to topic

You must be connected in order to be allowed to post.

Lost password ? Create account