Skip to content

Translating BBS

McHorse edited this page Sep 20, 2023 · 3 revisions

IMPORTANT: at the moment, BBS Studio doesn't support that feature. This is an outdated page when BBS Studio was BBS engine!


If you'd like to translate BBS into your own language, here is how you can do it. However, keep in mind that at the moment of writing of this page, font renderer supports characters for following languages: Portuguese, Russian, Ukrainian, French, German, Spanish, Italian, Swedish, Norwegian, Dutch, Danish and Chinese (Simplified and Traditional).

If your language in the list, you could try suggesting adding font rendering support to me on the Discord server, but I don't promise that I would do it, i.e. some languages need a couple of extra characters added, like Finnish, while others require much more sophisticated approach.

BBS is already translated or being translated into following languages:

Language Status Author
English en_US Completed McHorse
French fr_FR In progress ultimatech
Portuguese pt_BR Completed Draacoun, Aloan
Russian ru_RU Completed Kirkus
Ukrainian uk_UA Completed Kirkus

Anyways, here is how you can translate BBS it to your language:

Add your language to the list

First of all, you need to add your language to the list of available languages. This can be done by creating a file in game/assets/lang_editor/ (if any of those folders don't exist, create them) called languages.json. Copy following JSON code, paste it into the file, and adjust as you need it to:

{
    "it_IT": "Italiana (it_IT)"
}

it_IT is the localization code of the language, and Italiana (it_IT) is the display label for that language that will be in the list. You can look up the code here. If you find it complicated or don't understand, don't worry, just put something instead of it_IT like just italiana. Save the file, reboot BBS, and the language should appear in the pick language list:

Language list

Now you can start translating!

Translating with BBS' language editor

Translating BBS is a colossal task! At the moment of writing of this guide, it has roughly ~1450 language strings, and according to Kirkus, 18% of these strings are 10+ words sentences, so be aware about that! While I appreciate the time you wish to dedicate to translating, but if you can't finish it, unfortunately I would not accept half finished work, so keep that in mind!

To start translating, all you need to do is to press F6 in any menu, click Open language editor... button, and there will appear a language editor panel where you can start translating. Make sure to save translations frequently by pressing 💾 disk icon!

Language editor's feature

Here is an overview of language editor's capabilities:

  • 📁 looking icon button allows you to open the folder where language editor's translated strings are stored.
  • 🔃 looking icon button allows you to pick another language as a reference other than English (in case there is an already similar translated language, like Spanish and Poruguese, or Russian and Ukrainian, I'm not saying they are the same, but it could help in some cases).
  • Copy icon button allows you to share already translated strings with another translator, and paste icon button allows you to paste received translation, that's a feature in case multiple people work on the same language.
  • Completion label next to the copy icon button allows shows how many string, and its percentage, was changed. Keep in mind that language editor doesn't know if it was translated or not, it just assumes that if it doesn't match the English.

The search bar allows you to search for a specific key (language string key is like bbs.ui.keyframes.context.paste), or original (English) or translated language text (case sensitive). The 🔎 looking icon button allows you to filter only the strings that weren't translated.

And finally, if there is a string that doesn't require translation (for example empty ones at the end like interpolations.sine_out-tooltip, then you can mark it as completed by right clicking on the key, and clicking ✔ mark as completed.

And finally, whenever you change the strings, the labels in BBS should change automatically in the UI (at least majority of them).

As you can see, "Pick block..." is already visible in Italian

That's pretty much it, but I'll remind you again! Don't forget to save the progress 💾!

Finale

Once you finished translating, come to BBS' Discord server, and contact me, McHorse (for example in #engine-discussion), that you've completed it. Click on 📁 icon in the language editor, zip the folder of the language you translated, and send it on Discord. From there, I would add it to BBS.

P.S.: I don't know Italian, I just used it as an example.

Clone this wiki locally