Midnight Ride
This Community Hub is marked as 'Adult Only'. You are seeing this hub because you have set your preferences to allow this content.

Midnight Ride

Not enough ratings
Tutorial: How to create your own Translation
By Panda Penguin Games
This step-by-step tutorial will help you to create your own translation for the game and upload it to the Steam Workshop
   
Award
Favorite
Favorited
Unfavorite
Overview
With the Steam Workshop you can upload and share your custom translation with other players.

In order to create your own translation you only need a few things first

Editor
A source code editor like Notepad++ or VisualStudioCode are recommended.
Both editors are free and let you edit .json files without destroying the code formatting.

Another good way to edit the files is an online tool like https://jsonformatter.org/
It will tell you right away if you damaged the file format with your editing.

  • ! WARNING !
    text editors like Word, Wordpad or GoogleDocs are NOT recommended because they add hidden formatting to your text

Translation Files
The quickest way to get translation files to work with is by using the "Template" from the Workshop.
Alternatively you can go into your game's folder and copy the content from "base/lang/en" to a new directory.
  • ! WARNING !
    do NOT work in your game folder directly
    any changes in there will get overwritten by Steam



Once you got these two things, you are good to go and start creating your own translation.
Basic Format
The translation files are following a very simple format.



From this example, the only text that you are allowed to modify is in red.
Any blue text must not be changed or you will make the file useless.

It is also very important that the integrity of the .json file stays intact.
Meaning that once you are done editing it, you should use a tool to validate the file.

There are many online tools that let you validate a .json file, like https://jsonformatter.org/

  • ! WARNING !
    It is mandatory that the .json file integrity is valid or your translation will not work and might even crash the game!


The "Ball"
The ball.png is the icon of your translation. It will be shown in the Steam Workshop and will also be used ingame.


  • ! WARNING !
    The ball must be a PNG file with the exact resolution of 224x224 pixels.


Translation Format
In the lang.json file you can give your translation a name and specify which font it needs to use.


"name" and "short" should be easy to understand.

The name will be used as the Wokrshop item name and will also be shown ingame.

The short should be something simple and if you are translating into a language that has an ISO code, you should use that (https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)

The fontset is where you select one of our included fonts that we added for various languages:
  • fontset 0
    all languages using the latin alphabet (like spanish, french, turkish, etc),
    nordic languages

  • fontset 1
    languages using the cyrillic alphabet, greek and korean

  • fontset 2
    simplified chinese, japanese, vietnamese

  • fontset 3
    thai
Translating Dialogue
Now that the basic stuff is out of the way, let's start with the fun part!

One thing that needs to be clear is that the translation will only modify the dialogue text and names of the protagonists.

You can not change the images or character faces shown ingame with this.

Alright, lets start!

Names
The most basic change you can make is renaming characters.
For this, each game chapter has a defined list of characters and their respective names:



So let's say you want to rename Donnie to Ronnie, then all you have to do is change his name right there in this "names" block.



The game will then use Ronnie for the character in this chapter!

  • ! WARNING !
    Do not add or remove characters from this block or you will break the file.


Chapter Titles
Chapter titles are also fairly easy to change, all you need to change is the "header" text:



Dialogue
Editing the dialogue can be a bit tricky, depending on your changes.
If you look at the previous image you will see that each spoken line has its own segment.
You can group dialogue lines together by putting them into existing [ ]

Sometimes you also need to split up your translated line because it will be too long to be displayed ingame. In that case you can simply split it up inside the existing [ ]



This could be split up like this:



Now it is two shorter lines and you didn't break the file!

  • ! WARNING !
    Do not add or remove [" ... "] line blocks or you will break the file.

Special Formatting
You can add certain formatting to your text that will be used ingame.
This includes bold and italic text and you can also handle character names this way.


Notice the {b} and [M] and so on, this is special formatting in action!
You can use a protagonist's name this way by putting the callsign into [ ].
The callsign is listed in the "names" block, in this example we are using [M] for Melvin and [S] for Serena.

In addition there is bold text formatting used on some text.
  • {b}text{/b}
    will create a bold text
  • {i}text{/i}
    will create italic text


Choices
Last item on the dialogue list is the choices.
Again, you can not change time or order in which choices appear, but you can translate their text!
In this example you can see the normal text of the dialogue displayed alongside the choices (first line)

And then the text for each of the choice buttons.

In addition, choice buttons can display a hint, which you can also translate.

You can add your own hints to a choice if it doesnt have one already by adding a 2nd text inside the [ ] like here:

Translating Menu
If you also want to change the text of the buttons and menus in the game, you need to edit the menu.json file.

Inside this file you can see the various texts that appear on buttons and so on.



Simply translate the red text and you are good to go.

  • ! WARNING !
    Do NOT add or remove any of the existing blocks or you will break the file.

  • ! WARNING !
    Do NOT edit or change the "list" block or you will break the file.




Achievements
You can also translate the achievement titles and descriptions that are shown ingame.


The achievement text is a bit tricky because it is title and description in one line.
Make sure not to forget the # in there when you translate this.
  • ID#TITLE#DESCRIPTION

  • ! WARNING !
    Do NOT change the ID of the achievement.
Testing and Sharing
If you want to test how your own translation looks ingame, you can import it from the settings > language menu

Import and Upload

To import or upload your files you click on the "select folder" button and navigate to your folder with the lang.json file in it.

  • ! WARNING !
    the following files are a mandatory requirement for any import or upload
    ball.png
    lang.json
    1 or more translated chapters

If the files are successfully scanned, you can make a selection of which chapter files you want to import and then you hit "import".



If everything imported properly, you will see your very own translation in the list of languages available.



Steam Workshop
After you uploaded your translation to the Workshop you can view it on the website directly and make changes to its description if needed.

2 Comments
夺命楚轩 4 May, 2022 @ 3:05pm 
嘿兄弟 你说得很好 我也很喜欢这款游戏 关键是我根本没有编程的基础 完全的是 有想翻译的心 但是我的能力做不到翻译的行为,对于这款游戏真的就是等着某一天有个大佬能奇迹般的翻译翻译
❃ Galiäna Krüger ❃ 6 Feb, 2022 @ 6:06pm 
Oh hey I was just going ask on the latest news about how to create language mod for this game! If devs don't mind, I'd like to give mandarin a try.