Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Creating translations

From TF2 Classified Wiki
More languages
Revision as of 21:47, 7 January 2026 by NinjaV (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

If you wanted to change your in-game language and not help translate yourself, go to Changing languages

Read these instructions in order to start translating TF2 Classic into your own language.

If you're looking to start or update a translation, contact the developers first. This avoids the problem of wasting your time updating a translation that's already been submitted by someone else.

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.

For a more in-depth guide, go to go to Changing languages

 

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 are the currently supported languages their update status.

Name of Language Supported Version
Bulgarian Partially Supported up to Version 2.2.0 (missing some content)
German Fully Supported
English Fully Supported
Spanish Fully Supported
Finnish Fully Supported
French Fully Supported
Hungarian Fully Supported
Italian Supported up to Version 2.0.0
Polish Fully Supported
Portuguese Fully Supported
Brazilian Portuguese Fully Supported
Romanian Supported up to Version 2.1.0
Russian Fully Supported
Thai Fully Supported
Ukrainian Supported up to Version 2.1.0
Simplified Chinese Fully Supported
Traditional Chinese Supported up to Version 2.1.0

The Source Engine currently supports 27 total languages however Team Fortress 2 Classic does not. The languages without translation are: Arabic, Czech, Danish, Greek, Latin American Spanish, Japanese, Korean, Dutch, Norwegian, Swedish, Turkish and Vietnamese.

If you're looking to start or update a translation, contact the developers first. This avoids the problem of wasting your time updating a translation that's already been submitted by someone else.

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.

Submitting

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 tf2classic@pm.me 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.