Translating the game

From TF2 Classic Wiki
Jump to navigation Jump to search

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.

Setting in-game language

Under your Steam library, make sure you are viewing "Games and Tools". Then, right click on "Source SDK Base 2013 Multiplayer" (not "Team Fortress 2 Classic") and click the "Properties..." button. You will see a language tab. Select your language, and then launch Team Fortress 2 Classic. The game will launch in your selected language.

Steam's language selection menu, under "Source SDK Base 2013 Multiplayer".

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, Arabic script unsupported)
Bulgarian tf2classic_bulgarian.txt (<2.0.0)
Czech tf2classic_czech.txt
Danish tf2classic_danish.txt
German tf2classic_german.txt (2.1.4)
Greek tf2classic_greek.txt (unfinished, unpublished)
Spanish tf2classic_spanish.txt (2.0.4)
Latin American Spanish tf2classic_latam.txt (lacks TF2 and SDK 2013 translations)
Finnish tf2classic_finnish.txt
French tf2classic_french.txt (2.1.4)
Hungarian tf2classic_hungarian.txt (2.1.4)
Italian tf2classic_italian.txt (2.0.4)
Japanese tf2classic_japanese.txt
Korean tf2classic_koreana.txt
Dutch tf2classic_dutch.txt
Norwegian tf2classic_norwegian.txt
Polish tf2classic_polish.txt (2.1.4)
Portuguese tf2classic_portuguese.txt
Brazilian Portuguese tf2classic_brazilian.txt (2.1.4)
Romanian tf2classic_romanian.txt (2.1.4)
Russian tf2classic_russian.txt (<2.1.3)
Swedish tf2classic_swedish.txt
Thai tf2classic_thai.txt
Turkish tf2classic_turkish.txt
Ukrainian tf2classic_ukrainian.txt (2.1.4)
Vietnamese tf2classic_vietnamese.txt (lacks TF2 and SDK 2013 translations)
Simplified Chinese tf2classic_schinese.txt
Traditional Chinese tf2classic_tchinese.txt

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 schinese).

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.

Translation tips

  • 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_Proper contains 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 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.