Skip to content

DDF Languages

Lobo edited this page Jul 5, 2024 · 3 revisions

Stored in the DDFLANG data lump, or the language.ldf file.

DDFLANG can be used to modify existing text, or to add custom text associated with new entries in the other ddf files, such as new weapons or pickups. It can also be used to provide translations of the text for different languages. Allowing you to play doom in your own language.

Each language set is defined by a name, enclosed in square brackets e.g. [FRENCH] or [GERMAN], followed by a series of text entries for that langauge.

The default language for EDGE is English, and the engine will not load if there is no entry in language.ldf for [ENGLISH].

The language.ldf file in the DDF 3.7 package provides support for the following languages: Swedish, French, German, Turkish, Spanish, Dutch and Finnish. (These can be selected from the options menu, or on the command line e.g -lang turkish). If no string exists in a desired language, it will be found under another one, typically in [ENGLISH].

Entries

The language DDF file is different from other files in that there are no set commands. Instead, each entry defines a string to be used in the game. E.g.

MAP01Desc="Level 1: entryway";

Defines the string "Level 1: entryway" as MAP01Desc. Then the term MAP01Desc can be used in the relevant DDF file (in this case, levels.ddf).

You can also create new entries. If you made a flamethrower, you could create a new pickup message. E.g.

GotFlame="You got the Flamethrower."

You will usually edit this file to add pickup messages for new items, weapons etc, or to change the map descriptions (seen in the left hand corner when you are looking at the automap during a game - usually after pressing the tab key).

Example

The Following is a an example of an [ENGLISH] language entry for Doom 2, with comments marking all the sections and what they are for. Where an entry is referred to from another ddf file, that file name is indicated in the comment.

// ------ English Language Definition File ----------

[ENGLISH]

// ************************************************************** General game entries.

DevelopmentMode="Development Mode is enabled.\n";

PressKey="Press A Key";
PressYorN="Press Y or N";
PressToQuit="(press y to quit)";
MessagesOff="Messages OFF";
MessagesOn="Messages ON";

// ************************************************************** Saving games

QuickSaveOver="quicksave over your game named\n\n'%s'?\n\npress y or n.";
NoQuickSaveSlot="you haven't picked a quicksave slot yet!\n\npress a key.";
SaveWhenNotPlaying="you can't save if you aren't playing!\n\npress a key.";
EmptySlot="Empty Slot";
GameSaved="game saved.";

// ************************************************************** Loading games

NoLoadInNetGame="you can't load while in a net game!\n\npress a key.";
NoQLoadInNetGame="you can't quickload during a netgame!\n\npress a key." ;
QuickLoad="do you want to quickload the game named\n\n'%s'?\n\npress y or n.";

// ************************************************************** starting new games and quiting

NewNetGame="you can't start a new game\n"
                          "while in a network game.\n\npress a key.";
EpisodeNonExist="You don't have this episode!\n\npress a key.";
NightmareCheck="are you sure? this skill level\n"
                                "isn't even remotely fair.\n\npress y or n.";
EndNetGame="you can't end a netgame!\n\npress a key.";
EndGameCheck="are you sure you want to end the game?\n\npress y or n.";

// ************************************************************** Pickups *********** Armour.. see things.ddf

GotArmour="Picked up the armor.";
GotMegaArmour="Picked up the megaarmor!";
GotArmourHelmet="Picked up a armour bonus.";

// ************************************************************** Pickups *********** Health.. see things.ddf

GotHealthPotion="Picked up a health bonus.";
GotStim="Picked up a stimpack.";
GotMedi="Picked up a medikit.";
GotSoul="Supercharge!";

// ************************************************************** Pickups *********** Keys.. see things.ddf

GotBlueCard="Picked up a blue keycard.";
GotYellowCard="Picked up a yellow keycard.";
GotRedCard="Picked up a red keycard.";
GotBlueSkull="Picked up a blue skull key.";
GotYellowSkull="Picked up a yellow skull key.";
GotRedSkull="Picked up a red skull key.";

// ************************************************************** Pickups *********** Specials.. see things.ddf

GotInvulner="Invulnerability!";
GotBerserk="Berserk!";
GotJetPack="JetPack!";
GotInvis="Partial Invisibility";
GotSuit="Radiation Shielding Suit";
GotMap="Computer Area Map";
GotNight="Nightvision goggles";
GotVisor="Light Amplification Visor";
GotMega="MegaSphere!";

// ************************************************************** Pickups *********** Ammo.. see things.ddf

GotClip="Picked up a clip.";
GotClipBox="Picked up a box of bullets.";
GotShells="Picked up 4 shotgun shells.";
GotShellBox="Picked up a box of shotgun shells.";
GotRocket="Picked up a rocket.";
GotRocketBox="Picked up a box of rockets.";
GotCell="Picked up an energy cell.";
GotCellPack="Picked up an energy cell pack.";
GotBackpack="Picked up a backpack full of ammo!";

// ************************************************************** Pickups *********** Weapons.. see things.ddf

GotBFG="You got the BFG9000! Oh, yes.";
GotChainGun="You got the chaingun!";
GotChainSaw="A chainsaw! Find some meat!";
GotDoubleBarrel="You got the super shotgun!";
GotRocketLauncher="You got the rocket launcher!";
GotPlasmaGun="You got the plasma gun!";
GotShotgun="You got the shotgun!";

// ************************************************************** Keys required for doors and objects.. see lines.ddf

NeedBlueForObject="You need a blue key to activate this object";
NeedYellowForObject="You need a yellow key to activate this object";
NeedRedForObject="You need a red key to activate this object";
NeedBlueForDoor="You need a blue key to open this door";
NeedYellowForDoor="You need a yellow key to open this door";
NeedRedForDoor="You need a red key to open this door";
NeedAnyForDoor="You need at least one key to open this door";
NeedAllForDoor="You need all keys to open this door";

// ************************************************************** Level names (for map screen).. see levels.ddf

Map01Desc="Entryway"; Map02Desc="Underhalls"; Map03Desc="The gantlet"; Map04Desc="The focus"; Map05Desc="The waste tunnels"; Map06Desc="The crusher"; Map07Desc="Dead simple"; Map08Desc="Tricks and traps"; Map09Desc="The pit"; Map10Desc="Refueling base"; Map11Desc="'O' of destruction!"; Map12Desc="The factory"; Map13Desc="Downtown"; Map14Desc="The inmost dens"; Map15Desc="Industrial zone"; Map16Desc="Suburbs"; Map17Desc="Tenements"; Map18Desc="The courtyard"; Map19Desc="The citadel"; Map20Desc="Gotcha!"; Map21Desc="Nirvana"; Map22Desc="The catacombs"; Map23Desc="Barrels o' fun"; Map24Desc="The chasm"; Map25Desc="Bloodfalls"; Map26Desc="The abandoned mines"; Map27Desc="Monster condo"; Map28Desc="The spirit world"; Map29Desc="The living end"; Map30Desc="Icon of sin"; Map31Desc="Wolfenstein"; Map32Desc="Grosse";

// ************************************************************** Automap feature toggles

AutoMapFollowOn="Follow Mode ON";
AutoMapFollowOff="Follow Mode OFF";
AutoMapGridOn="Grid ON";
AutoMapGridOff="Grid OFF";
AutoMapMarkedSpot="Marked Spot";
AutoMapMarksClear="All Marks Cleared";

// ************************************************************** Cheat code messages

GodModeON="Degreelessness Mode On";
GodModeOFF="Degreelessness Mode Off";

HomDetectOn="HOM Detection ON";
HomDetectOff="HOM Detection OFF";

VeryHappyAmmo="Very Happy Ammo Added";
AmmoAdded="Ammo (no keys) Added";

ClipON="No Clipping Mode ON";
ClipOFF="No Clipping Mode OFF";

BEHOLDNote="inVul, Str, Invis, Rad, mAp, Lite-amp, or Jetpack";
BEHOLDUsed="Power-up Toggled";

ChoppersNote="... doesn't suck - GM";
LevelChange="Changing Level...";

SuicideCheat="Loser!";
StuffRemoval="Stuff removed";

PlayerTargetingOff="Monsters will not target player";
PlayerTargetingOn="Monsters will target player";

UnlockCheat="Got all the keys!";
LoadedCheat="Full ammo added!";

MonstersKilled="%d Monsters Killed.";

CDdisabled="CD Audio has not been enabled";
CDPlayTrack="Now Playing Track %d";

MusChange="Music Change";

ImpossibleChange="IMPOSSIBLE SELECTION";

LevelQ="Level Change!\nEnter Level Name:\n\n";
MusicQ="Music Change!\nEnter Music Name:\n\n";
TestQ="Test:\n\n";

// ************************************************************** Level PRE or END text.. see levels.ddf

Level7Text="YOU HAVE ENTERED DEEPLY INTO THE INFESTED\n"
                      "STARPORT. BUT SOMETHING IS WRONG. THE\n"
                      "MONSTERS HAVE BROUGHT THEIR OWN REALITY\n"
                      "WITH THEM, AND THE STARPORT'S TECHNOLOGY\n"
                      "IS BEING SUBVERTED BY THEIR PRESENCE.\n"
                      "\n"
                      "AHEAD, YOU SEE AN OUTPOST OF HELL, A\n"
                      "FORTIFIED ZONE. IF YOU CAN GET PAST IT,\n"
                      "YOU CAN PENETRATE INTO THE HAUNTED HEART\n"
                      "OF THE STARBASE AND FIND THE CONTROLLING\n"
                      "SWITCH WHICH HOLDS EARTH'S POPULATION\n"
                      "HOSTAGE.";

Level12Text="YOU HAVE WON! YOUR VICTORY HAS ENABLED\n"
                      "HUMANKIND TO EVACUATE EARTH AND ESCAPE\n"
                      "THE NIGHTMARE. NOW YOU ARE THE ONLY\n"
                      "HUMAN LEFT ON THE FACE OF THE PLANET.\n"
                      "CANNIBAL MUTATIONS, CARNIVOROUS ALIENS,\n"
                      "AND EVIL SPIRITS ARE YOUR ONLY NEIGHBORS.\n"
                      "YOU SIT BACK AND WAIT FOR DEATH, CONTENT\n"
                      "THAT YOU HAVE SAVED YOUR SPECIES.\n"
                      "\n"
                      "BUT THEN, EARTH CONTROL BEAMS DOWN A\n"
                      "MESSAGE FROM SPACE: "SENSORS HAVE LOCATED\n"
                      "THE SOURCE OF THE ALIEN INVASION. IF YOU\n"
                      "GO THERE, YOU MAY BE ABLE TO BLOCK THEIR\n"
                      "ENTRY. THE ALIEN BASE IS IN THE HEART OF\n"
                      "YOUR OWN HOME CITY, NOT FAR FROM THE\n"
                      "STARPORT." SLOWLY AND PAINFULLY YOU GET\n"
                      "UP AND RETURN TO THE FRAY.";

Level21Text="YOU ARE AT THE CORRUPT HEART OF THE CITY,\n"
                      "SURROUNDED BY THE CORPSES OF YOUR ENEMIES.\n"
                      "YOU SEE NO WAY TO DESTROY THE CREATURES'\n"
                      "ENTRYWAY ON THIS SIDE, SO YOU CLENCH YOUR\n"
                      "TEETH AND PLUNGE THROUGH IT.\n"
                      "\n"
                      "THERE MUST BE A WAY TO CLOSE IT ON THE\n"
                      "OTHER SIDE. WHAT DO YOU CARE IF YOU'VE\n"
                      "GOT TO GO THROUGH HELL TO GET TO IT?";

EndGameText="THE HORRENDOUS VISAGE OF THE BIGGEST\n"
                      "DEMON YOU'VE EVER SEEN CRUMBLES BEFORE\n"
                      "YOU, AFTER YOU PUMP YOUR ROCKETS INTO\n"
                      "HIS EXPOSED BRAIN. THE MONSTER SHRIVELS\n"
                      "UP AND DIES, ITS THRASHING LIMBS\n"
                      "DEVASTATING UNTOLD MILES OF HELL'S\n"
                      "SURFACE.\n"
                      "\n"
                      "YOU'VE DONE IT. THE INVASION IS OVER.\n"
                      "EARTH IS SAVED. HELL IS A WRECK. YOU\n"
                      "WONDER WHERE BAD FOLKS WILL GO WHEN THEY\n"
                      "DIE, NOW. WIPING THE SWEAT FROM YOUR\n"
                      "FOREHEAD YOU BEGIN THE LONG TREK BACK\n"
                      "HOME. REBUILDING EARTH OUGHT TO BE A\n"
                      "LOT MORE FUN THAN RUINING IT WAS.\n";

Level31Text="CONGRATULATIONS, YOU'VE FOUND THE SECRET\n"
                      "LEVEL! LOOKS LIKE IT'S BEEN BUILT BY\n"
                      "HUMANS, RATHER THAN DEMONS. YOU WONDER\n"
                      "WHO THE INMATES OF THIS CORNER OF HELL\n"
                      "WILL BE.";
Level32Text="CONGRATULATIONS, YOU'VE FOUND THE\n"
                      "SUPER SECRET LEVEL! YOU'D BETTER\n"
                      "BLAZE THROUGH THIS ONE!\n";

// ************************************************************** EDGE startup messages

CheckNetGame= "D_CheckNetGame: Checking network game status.\n";
HeadsUpInit= "HU_Init: Setting up heads up display.\n";
InitMachine= "I_Init: Setting up machine state.\n";
ListenNet= "Listening for network start info...\n";
DefaultLoad= "M_LoadDefaults: Loaded system defaults.\n";
MiscInfo= "M_Init: Init Miscellaneous Info.\n";
RefreshDaemon= "R_Init: Init DOOM refresh daemon - ";
PlayState= "\nP_Init: Init Playloop state.\n";
SoundInit= "S_Init: Setting up sound.\n";
STBarInit= "ST_Init: Init status bar.\n";
SendNet= "sending network start info...\n";
TurboScale= "turbo scale: %i%%\n";
IsTurbo= "%s is turbo!";
AllocScreens= "V_Init: allocate screens.\n";
WadFileInit= "W_Init: Init WADfiles.\n";
ZoneMemoryAlloc= "Z_Init: Init Zone Memory Allocation. \n";

Notice= "==============================================================================\n"
                " This is EDGE: a project that is based upon the Doom Source Code released by \n"
                " John Carmack of Id Software in December 1997. The work on this project is \n"
                " and implemented by the EDGE-Classic Team (https://edge-classic.github.io). \n"
                "==============================================================================\n";

// ************************************************************** Main Menu texts

MainNewGame="New Game"; MainOptions="Options"; MainLoadGame="Load Game"; MainSaveGame="Save Game"; MainReadThis="Read This!"; MainQuitGame="Quit Game";

MenuSkill="Choose skill level:"; MenuDifficulty1="I'm too young to die."; MenuDifficulty2="Hey, not too rough."; MenuDifficulty3="Hurt me plenty."; MenuDifficulty4="Ultra-Violence."; MenuDifficulty5="Nightmare!";

MenuOptions="Options"; MenuVideo="Video Options"; MenuResolution="Screen Options"; MenuScreen="Screen Options"; MenuMouse="Mouse / Controller"; MenuSound="Sound Options"; MenuGameplay="Gameplay Options"; MenuPerformance="Performance Options"; MenuAccessibility="Accessibility Options"; MenuBinding="Key Bindings";

// ************************************************************** Menu option text

OptStandardControls="Standard Controls"; OptExtendedControls="Extended Controls"; OptSetResolution="Screen Options"; OptVideoOptions="Video Options"; OptSoundOptions="Sound Options"; OptGameplayOptions="Gameplay Options"; OptPerformanceOptions="Performance Options"; OptAnalogueOptions="Analogue Options"; OptLanguage="Language"; OptMessages="Messages"; OptSwapStereo="Swap Stereo"; OptSoundVolume="Sound Volume"; OptMusicVolume="Music Volume"; OptResetToRecommended="Reset to Recommended"; OptResetToOriginalDoom="Reset to Original Doom"; OptBrightness="Brightness"; OptScreensize="Screensize"; OptFieldOfView="Field Of View"; OptZoomedFOV="Zoomed FOV"; OptTranslucency="Translucency"; OptMipmapping="Mipmapping"; OptSmoothing="Smoothing"; OptShadows="Shadows"; OptDynamicLighting="Dynamic Lighting"; OptCrosshair="Crosshair"; OptMapRotation="Map Rotation"; OptMapOverlay="Map Overlay"; OptScreenComposition="Screen Composition"; OptTeleportationeffect="Teleportation effect"; OptReverseeffect="Reverse effect"; OptTeleportFlash="Teleport Flash"; OptWipemethod="Wipe method"; OptReversedwipe="Reversed wipe"; OptStretchSky="Stretch Sky"; OptCyanRed3dEffect="Cyan/Red 3d effect"; OptChangeSize="Change Size"; OptChangeDepth="Change Depth"; OptSetResolution="Screen Options"; OptTestResolution="Test Resolution"; Optanalogueoptionssize="analogueoptionssize"; OptInvertMouse="Invert Mouse"; OptMouseXAxis="Mouse X Axis"; OptMouseYAxis="Mouse Y Axis"; OptMouseSpeed="MouseSpeed"; OptMLookSpeed="MLook Speed"; OptTwoStageTurning="Two-Stage Turning"; OptTurningSpeed="Turning Speed"; OptSideMoveSpeed="Side Move Speed"; OptForwardMoveSpeed="Forward Move Speed"; OptJoystickXAxis="Joystick X Axis"; OptJoystickYAxis="Joystick Y Axis"; OptCalibrateJoystick="Calibrate Joystick"; Optplayoptionssize="playoptionssize"; OptTrue3DGameplay="True 3D Gameplay"; OptAutoAiming="AutoAiming"; OptJumping="Jumping"; OptCrouching="Crouching"; OptMoreBlood="More Blood"; OptExtras="Extras"; OptGravity="Gravity"; OptQuickLoad="Quick Load"; OptEnemyRespawnMode="Enemy Respawn Mode"; OptItemRespawn="Item Respawn"; OptFastMonsters="Fast Monsters"; OptRespawn="Respawn"; OptPrimaryAttack="Primary Attack"; OptSecondaryAtk="Secondary Atk"; OptUseItem="Use Item"; OptWalkForward="Walk Forward"; OptWalkBackwards="Walk Backwards"; OptTurnLeft="Turn Left"; OptTurnRight="Turn Right"; OptMoveUp="Move Up"; OptMoveDown="Move Down"; OptToggleAutorun="Toggle Autorun"; OptRun="Run"; OptStrafeLeft="Strafe Left"; OptStrafeRight="Strafe Right"; OptStrafe="Strafe"; OptLookUp="Look Up"; OptLookDown="Look Down"; OptCenterView="Center View"; OptZoomInOut="Zoom in/out"; Opt180DegreeTurn="180 degree turn"; OptJump="Jump"; OptMouseLook="Mouse Look"; OptMapToggle="Map Toggle"; OptMultiplayTalk="Multiplay Talk";

// ************************************************************** Menu screen tips

Controls="Setup Standard Doom Controls";
Controls2="Setup Extended EDGE Controls";
VideoOptions="Setup Translucency, Resolutions, etc...";
GameplayOptions="Setup Respawn, Gravity, 3D Options etc...";
AnalogueOptions="Setup mouse and joystick options";
SwapStereo="Swap the left and right sound channels";
Messages="Show informational messages";
CDOptions="CD Audio Config: Off/On/Atmosphere";
ResetEDGE="Resets all configs to EDGE Extended mode";
ResetDoom="Resets all configs to be like original DOOM";
Gravity="Changes the global gravity setting";
Blood="Enables extra gore mode...";
True3d="Enables jumping over things, flight etc...";
ChangeRes="Sets Screen resolution, hicolour mode";

// ************************************************************** Sounds played when quiting

QuitSnd1="pldeth";
QuitSnd2="dmpain";
QuitSnd3="popain";
QuitSnd4="slop";
QuitSnd5="telept";
QuitSnd6="posit1";
QuitSnd7="posit3";
QuitSnd8="sgtatk";
QuitSnd9="vilact";
QuitSnd10="getpow";
QuitSnd11="boscub";
QuitSnd12="slop";
QuitSnd13="skeswg";
QuitSnd14="kntdth";
QuitSnd15="bspact";
QuitSnd16="sgtatk";

// ************************************************************** Cheat codes (change the entries in "" to change these).

iddt="iddt";
idmus="idmus";
iddqd="iddqd";
idkfa="idkfa";
idfa="idfa";
idspispopd="idspispopd";
idclip="idclip";
idbehold1="idbeholdv";
idbehold2="idbeholds";
idbehold3="idbeholdi";
idbehold4="idbeholdr";
idbehold5="idbeholda";
idbehold6="idbeholdl";
idbehold7="idbeholdj";
idbehold8="idbeholdn";
idbehold9="idbehold";
idchoppers="idchoppers";
idclev="idclev";
idmypos="idmypos";
cdnext="cdnext";
cdprev="cdprev";
idkillall="idkillall";
idinfo="idinfo";
idsuicide="idsuicide";
idunlock="idunlock";
idloaded="idloaded";
idtakeall="idtakeall";
idgive0="idgive";
idgive1="idgive1";
idgive2="idgive2";
idgive3="idgive3";
idgive4="idgive4";
idgive5="idgive5";
idgive6="idgive6";
idgive7="idgive7";
idgive8="idgive8";
idgive9="idgive9";
idgive10="idgive10";
idbot="idbot";
idtst="idtst";
idhom="idhom";




DDF docs written by Andy Baker and Ziggy Gnarly, with updates by Andrew Apted, Andy Brewood and Luke Brennan. © EDGE Team, et al. 1998 - 2024.

Home

EDGE-Classic Mod Downloads

COAL

DDF     Introduction
    Animations
    Attacks
    Colormaps
    Flats
    Fonts
    Games
    Images
    Languages
    Levels
    Lines and Sectors
    Playlist
    Sounds
    Styles
    Switches
    Things
    Weapons
RTS     Introduction
    Conditions
    Directives
    Flow Control
    Level Commands
    Maps and Triggers
    Properties
    Thing Commands
    Tips and Menus
Tutorials     Creating a Weapon
    Creating an Enemy
    Creating a Friendly Creature

Compiling EDGE-Classic

Clone this wiki locally