Translating the game
Read these instructions in order to start translating TF2 Classic into your own language.
This guide will assume you know a minimum in file editing and modding in the Source Engine.
Picking the language
TF2 Classic can only support languages that are supported by the Source Engine. Any other languages would be unable to load. Here is this list, alongside the file names.
Languages in bold are translations that are already in the game.
|English name||File name|
|English||tf2classic_english.txt (canonical source)|
|Arabic||tf2classic_arabic.txt (lacks TF2 and SDK 2013 translations)|
|Latin American Spanish||tf2classic_latam.txt (lacks TF2 and SDK 2013 translations)|
|Vietnamese||tf2classic_vietnamese.txt (lacks TF2 and SDK 2013 translations)|
If you're looking to "finish" an unfinished translation, contact the developers first.
Starting the translation
To start, we'll be using the Live TF2 translation as base, using a homemade utility: the Translatron.
It is a command prompt utility made in C# to generate a bare translation base using other game lines as a base.
To use it, you must first configure the config.json file to make it point to your games' locations. Then, open a command prompt in the location of the utility, and type the following, with
<langcode> replaced with the language name according to the file name (see above, for example
Translatron tf2classic <langcode>
Once the command finishes successfully, a
translation folder should appear within the custom folder of your game, containing your language file. At this point, you can start translating any missing lines marked with "TODO".
List of different possible situations:
- New line: means the line does not exist in Live TF2, and must be translated from scratch
- Line differs from original: means the line does exist, but is different between TF2 Classic and Live TF2. You should then check the difference between it and the original Live TF2 line to make a consistent translation with the proper differences.
- Be sure to stay as consistent as possible. If you make up a rule somewhere while translating something, the entire file should follow the said rule.
- Additionally, please stay as consistent as possible to the original TF2 translations. You do not want to confuse newcomers that uses your language in both TF2 and TF2 Classic. You may however fix any small translation quirks, but be sure that most of the game (including weapon names, classes…) would be recognisable to a player that played live TF2 in your language.
- Check your grammar.
- Don't be afraid to ask for help for certain translations. Translating can be hard.
- For weapon names and informal descriptions, you can use alternatives as long as it fits (e.g. Shock Therapy > Electroshock, same medical meaning or Beat your maker > Destructive Criticism, that one's a cool pun). If you came up with an alternative but you're unsure about it, you can ask.
- If there's any font quirks, tell us about it. We use a custom version of TF2's font in order to support more languages.
- Try to keep the line count identical to the English file if you can.
- If you're done, test out your translation in-game. Quickly recheck each lines for any problems or grammar errors.
- Certain weapon descriptions are direct quotes from in-game voicelines. If your language got the voicelines translated, use those.
TF_Unique_Prepend_Propercontains the translation for "The", but it does not support multiple translations for different genders. If this is the case for your language, you might want to leave it empty, and instead not have "The" at all.
- The loading screen tips were shuffled a bit between TF2 Classic and Live TF2. If a tip at a number seems to be entirely different in Live TF2, check if the tip itself exists on another line before translating it.
As of right now, the only way to submit a translation is to contact the developers directly. Either send the translation via an email to firstname.lastname@example.org or by contacting Technochips on the official Discord (send us your Steam profile too!). You can also use this to send an issue about an existing translation, or the Discord to ask for tips when making a new translation.
After submission, and your translation is officially in the game, you may be contacted later in case the translation needs updating. If a translation did not get updated after an update, it might get marked as unfinished.