Skip to content
Peter Ledbrook edited this page Nov 28, 2019 · 3 revisions

Assuming you're here because you're interested in contributing to Long War of the Chosen, that's great news! There are many tasks that folks can help with, not just coding. We'll detail some of them here. If you have any further questions, please don't hesitate to drop in the Discord server for LWOTC and ask there.

First steps

Most forms of contribution involve modifying, adding or removing resources (files) in the mod. We use GitHub to manage that process. So if you're planning to touch the mod files at all, then you'll need to follow these steps:

  1. Fork the repository

    This basically creates a copy of the LWOTC repository that you can change to your heart's content without affecting the LWOTC project itself. See the GitHub Help page for information on how to do this.

  2. Submit changes as pull requests

    When you make changes to your fork (copy of the LWOTC repository) and you want us to include them in LWOTC itself, then you send us what's known as a pull request. You're basically asking us to "pull" your changes into the LWOTC repository. See the GitHub Help page for instructions on creating pull requests in the GitHub UI.

There's a big piece missing here: updating your fork with the changes you want to make. That's because there are several ways to do it. The most flexible approach is to clone your fork to your computer using a git client tool, such as GitHub Desktop. But this can be pretty difficult to understand for newcomers.

Another approach that's easier for newcomers is to edit files directly in the GitHub UI. You can also add files to your fork in similar fashion.

If you are planning to edit text files directly in GitHub, consider using a proper text editor to make the changes and then copy-paste the text from the editor into the GitHub Edit File text box.

Localization (translating text in the game)

Translating the English language text from the mod into other languages is one of the easiest tasks on a technical front.

All the in-game text that has translations is contained in UTF-8 text files in the LongWarOfTheChosen/Localization directory. Some of the text files are in subdirectories that correspond to these things called packages in the mod. They're just a way of grouping related code and configuration together. You typically won't need to worry about the directory structure at all.

The only thing you really need to know is that each language has its own suffix for each base filename:

  • .int - English language (short for "international")
  • .chn - Simplified Chinese
  • .cht - Traditional Chinese
  • .deu - German
  • .esn - Spanish
  • .fra - French
  • .ita - Italian
  • .jpn - Japanese
  • .kor - Korean
  • .pol - Polish
  • .rus - Russian

The .int files are the source of truth when it comes to text in the game, so if there's a discrepancy between it and another language file, assume that the .int file is correct (and if it seems wrong, raise it on Discord).

So how do you know what needs translating? As far as LWOTC is concerned, we're marking blocks of text that we change in the .int files with:

; LWOTC Needs Translation
...
; End Translation

Anything within those blocks needs translating if it hasn't been already. We recommend that you load all the localization files into a text editor with a good Find in Files feature. Notepad++ and Visual Studio Code both allow you to open a directory (like Localization) and search all files in that directory. You can then double-click on the results to open the corresponding file in the editor. Many other text editors have the same feature.

Once you've translated a block like this, it's probably worth tracking that you've done so in the translation file. Just put the modified text within a similar block to the one above:

; LWOTC Translated
...
; End Translated

What happens if some text is changed after you've translated it, maybe a few weeks or months later? In that case, we'll attach a counter to the marker text, like this:

; LWOTC Needs Translation (2)

Once you've translated it again, just append the counter to your own marker:

; LWOTC Translated (2)

You may also encounter translated text that hasn't been explicitly marked as requiring translation but is woefully wrong. Feel free to fix any and all text that you want to! We would like good translations of the whole mod, not just the LWOTC changes.