Text to large in option menu
Some text phrases in the options menu are to large.
Suggestion:
Im-spiel Cinematics -> Zwischensequenzen
Neue Auto-complete -> Neue Auto-Complete
or
Neue Auto-complete -> Autovervollständigung
Chat-Nachricht priorisieren -> Chat-Nachricht vorziehen
Sidekick beenden Warnung -> Sidekick Warnung
Laut Ladebildschirm -> Lauter Ladebildschirm
Unbegrenzt Speichern ->Unbegrenzt speichern
Schäden Blitze -> Schadenstreffer
Auto-Record Demo -> Auto-Demoaufnahme
Bevorzugte Musik-Format -> Bevorzugtes Musikformat
Zeigen Zeit -> Uhrzeit zeigen
Texturen-Qualität -> Texturqualität
Vertikale Sync -> Vertikaler Sync
Asynchrone Aktualisierung -> Asynchroner Refresh
Empfindlichkeit X-Achse -> Sensitivität X-Achse
Empfindlichkeit Y-Achse -> Sensitivität Y-Achse
Comments (33)
-
-
reporter - edited description
-
reporter Hello Frank, I've updated my suggestions above. There also some problems with "Ä, Ö, Ü, ä,ö,ü (umlauts) and ß" in the option menu and in the HUD.
-
- changed status to resolved
Added. Will be available in next update. Will try and find out the umlaut issue. Not sure if it always persisted in v1.2 german builds or not, so I will have to verify if it's always been broken.
-
reporter - changed status to open
Hello Frank,
how do you edit this "language_german.dll"-file? Can you tell me which tools are necessary?
I found some more problems with too long text. Specially when you finish the game after some minutes?
-
It is a header file that is compiled. Here is the language file, if you need to edit some text do so and then send it back to me: https://pastebin.com/raw/uTYJeamc
-
reporter Thank You. Give me some time. I'll have a look.
Best regards.
-
And you say for text at the end of the game... check if it is a subtitle or in this header. If it is a subtitle that is in a different file that would be inside the pak44.pak, which I can extract the subtitle files for you.
Also, thank you for taking the time to help with the translations. I think it's great that there are people enthusiastic about wanting to translate the game to their native language.
-
reporter Hi Frank,
I've talked about the "Quit Message" not about the end of the game. I 've made some improvements and added some word wraps, I hope I didn't made a fault. Perhaps you can compile the "language_german.dll" file, so that I can have a look first that all fine now.
Download: language_file
-
reporter Hello Frank,
I've updated the language_file today. Above you find the latest language_file.
Best regards!
-
reporter Hello, I've seen that you have released DK_EXE_082717_SLIM.EXE but without my updated language_file. ;) Did you find a problem?
-
I must have forgot, will add. Sorry.
-
It has been added. Let me know if you still need additional tweaking. Sorry I missed your emails from a few days ago.
-
reporter Thank you! It looks god. I try to use 4 lines in the "Quit Message" for one message. And I have fixed some faults still.
Download: language_file
Is it possible to add the string "Cannot exit area without ..." to the german language file?
The translation would be: "Bereich kann nicht ohne ... verlassen werden"
-
The link was not found. Under tongue_world, see " "Kann den Bereich nicht verlassen: Es felh(t/en): \n", // SCG[10/18/99]: no exiting level without sidekicks "
This should be what you are referring to.
-
reporter Sorry, link is fixed.
May be, but I get the english text "Cannot exit area without ..." when I leave an area. "..." stands for the name of the sidekick.
-
OK. Will look into the cannot exit area issue tonight.
-
Merged your changes and fixed the no exiting without sidekicks. Thanks.
-
reporter In follow "Quit Message" it will be cut the word "nächste".
DK_EXE_082917_SLIM
"Weißt du was? Während du weg bist, haue ich|den ganzen Monstern auf die Fresse, so dass|sie WIRKLICH SAUER sind wenn du das nächste|Mal spielst, ok?" ->-> How it looks like. Weißt du was? Während du weg bist, haue ich den ganzen Monstern auf die Fresse, so dass sie WIRKLICH SAUER sind wenn du das nä Mal spielst, ok?
If you can not fix this then use follow sentence please.
"Weißt du was? Während du weg bist, haue ich den|ganzen Monstern auf die Fresse, so dass sie|WIRKLICH SAUER sind wenn du das nächste Mal spielst, ok?" ->-> How it looks like. Weißt du was? Während du weg bist, haue ich den ganzen Monstern auf die Fresse, so dass sie WIRKLICH SAUER sind wenn du das nächste Mal spielst, ok?
And can you please replace "Kann den Bereich nicht verlassen: Es fehl(t/en): \n" with the text "Bereich kann nicht verlassen werden ohne: \n" ?
Thank you!
-
OK. It's possible that the text itself has a specific size length that might need to be extended. If it's absolutely necessary it shouldn't be too bad to change it to 5 lines for the quit message if we have to.
Yes, I can replace the cannot exit area... message. When I am done with all these changes I will link you to a new l_german.h file so we can be in-sync incase you need to make additional changes.
Will not be able to do this for like another 8 hours, but will look into all of this tonight.
-
reporter Both text lines has the same length. I've only set different word wraps. And why it cuts in the middle of a sentence?
If it doesn't work, you can take the second sentence above it's from DK_EXE_082817_SLIM.
-
I added a 4th line, but maybe the code is incorrect and fails after a certain length. I do not know at the moment.
-
reporter I hope not. 3 lines would be ok.
Can you please also share the english language file? So I can better understand and compare the translation.
-
Fixed the lines, had to bump the size limit for the text. Here is the English file as of 08-30-17:
// ENGLISH text // // these are the key numbers that should be passed to Key_Event // #define K_TAB 9 #define K_ENTER 13 #define K_ESCAPE 27 #define K_SPACE 32 // normal keys should be passed as lowercased ascii #define K_BACKSPACE 127 #define K_UPARROW 128 #define K_DOWNARROW 129 #define K_LEFTARROW 130 #define K_RIGHTARROW 131 #define K_ALT 132 #define K_CTRL 133 #define K_SHIFT 134 #define K_F1 135 #define K_F2 136 #define K_F3 137 #define K_F4 138 #define K_F5 139 #define K_F6 140 #define K_F7 141 #define K_F8 142 #define K_F9 143 #define K_F10 144 #define K_F11 145 #define K_F12 146 #define K_INS 147 #define K_DEL 148 #define K_PGDN 149 #define K_PGUP 150 #define K_HOME 151 #define K_END 152 #define K_KP_HOME 160 #define K_KP_UPARROW 161 #define K_KP_PGUP 162 #define K_KP_LEFTARROW 163 #define K_KP_5 164 #define K_KP_RIGHTARROW 165 #define K_KP_END 166 #define K_KP_DOWNARROW 167 #define K_KP_PGDN 168 #define K_KP_ENTER 169 #define K_KP_INS 170 #define K_KP_DEL 171 #define K_KP_SLASH 172 #define K_KP_MINUS 173 #define K_KP_PLUS 174 #define K_PAUSE 255 // // mouse buttons generate virtual keys // #define K_MOUSE1 200 #define K_MOUSE2 201 #define K_MOUSE3 202 #define K_MOUSE4 203 // Knightmare added 5/29/12 #define K_MOUSE5 204 // Knightmare added 5/29/12 // // joystick buttons // #define K_JOY1 205 #define K_JOY2 206 #define K_JOY3 207 #define K_JOY4 208 // // aux keys are for multi-buttoned joysticks to generate so they can use // the normal binding process // #define K_AUX1 209 #define K_AUX2 210 #define K_AUX3 211 #define K_AUX4 212 #define K_AUX5 213 #define K_AUX6 214 #define K_AUX7 215 #define K_AUX8 216 #define K_AUX9 217 #define K_AUX10 218 #define K_AUX11 219 #define K_AUX12 220 #define K_AUX13 221 #define K_AUX14 222 #define K_AUX15 223 #define K_AUX16 224 #define K_AUX17 225 #define K_AUX18 226 #define K_AUX19 227 #define K_AUX20 228 #define K_AUX21 229 #define K_AUX22 230 #define K_AUX23 231 #define K_AUX24 232 #define K_AUX25 233 #define K_AUX26 234 #define K_AUX27 235 #define K_AUX28 236 #define K_AUX29 237 #define K_AUX30 238 #define K_AUX31 239 #define K_AUX32 240 #define K_MWHEELDOWN 241 #define K_MWHEELUP 242 typedef struct { char *name; int keynum; } keyname_t; static keyname_t keynames[] = { {"TAB", K_TAB}, {"ENTER", K_ENTER}, {"ESCAPE", K_ESCAPE}, {"SPACE", K_SPACE}, {"BACKSPACE", K_BACKSPACE}, {"UPARROW", K_UPARROW}, {"DOWNARROW", K_DOWNARROW}, {"LEFTARROW", K_LEFTARROW}, {"RIGHTARROW", K_RIGHTARROW}, {"ALT", K_ALT}, {"CTRL", K_CTRL}, {"SHIFT", K_SHIFT}, {"F1", K_F1}, {"F2", K_F2}, {"F3", K_F3}, {"F4", K_F4}, {"F5", K_F5}, {"F6", K_F6}, {"F7", K_F7}, {"F8", K_F8}, {"F9", K_F9}, {"F10", K_F10}, {"F11", K_F11}, {"F12", K_F12}, {"INS", K_INS}, {"DEL", K_DEL}, {"PGDN", K_PGDN}, {"PGUP", K_PGUP}, {"HOME", K_HOME}, {"END", K_END}, {"MOUSE1", K_MOUSE1}, {"MOUSE2", K_MOUSE2}, {"MOUSE3", K_MOUSE3}, {"MOUSE4", K_MOUSE4}, // Knightmare added 5/29/12 {"MOUSE5", K_MOUSE5}, // Knightmare added 5/29/12 {"JOY1", K_JOY1}, {"JOY2", K_JOY2}, {"JOY3", K_JOY3}, {"JOY4", K_JOY4}, {"AUX1", K_AUX1}, {"AUX2", K_AUX2}, {"AUX3", K_AUX3}, {"AUX4", K_AUX4}, {"AUX5", K_AUX5}, {"AUX6", K_AUX6}, {"AUX7", K_AUX7}, {"AUX8", K_AUX8}, {"AUX9", K_AUX9}, {"AUX10", K_AUX10}, {"AUX11", K_AUX11}, {"AUX12", K_AUX12}, {"AUX13", K_AUX13}, {"AUX14", K_AUX14}, {"AUX15", K_AUX15}, {"AUX16", K_AUX16}, {"AUX17", K_AUX17}, {"AUX18", K_AUX18}, {"AUX19", K_AUX19}, {"AUX20", K_AUX20}, {"AUX21", K_AUX21}, {"AUX22", K_AUX22}, {"AUX23", K_AUX23}, {"AUX24", K_AUX24}, {"AUX25", K_AUX25}, {"AUX26", K_AUX26}, {"AUX27", K_AUX27}, {"AUX28", K_AUX28}, {"AUX29", K_AUX29}, {"AUX30", K_AUX30}, {"AUX31", K_AUX31}, {"AUX32", K_AUX32}, {"KP_HOME", K_KP_HOME }, {"KP_UPARROW", K_KP_UPARROW }, {"KP_PGUP", K_KP_PGUP }, {"KP_LEFTARROW", K_KP_LEFTARROW }, {"KP_5", K_KP_5 }, {"KP_RIGHTARROW", K_KP_RIGHTARROW }, {"KP_END", K_KP_END }, {"KP_DOWNARROW", K_KP_DOWNARROW }, {"KP_PGDN", K_KP_PGDN }, {"KP_ENTER", K_KP_ENTER }, {"KP_INS", K_KP_INS }, {"KP_DEL", K_KP_DEL }, {"KP_SLASH", K_KP_SLASH }, {"KP_MINUS", K_KP_MINUS }, {"KP_PLUS", K_KP_PLUS }, {"MWHEELUP", K_MWHEELUP }, {"MWHEELDOWN", K_MWHEELDOWN }, {"PAUSE", K_PAUSE}, {"SEMICOLON", ';'}, // because a raw semicolon seperates commands {NULL,0} }; // vkey conversion table //========================================================================== static byte scantokey[128] = { // 0 1 2 3 4 5 6 7 // 8 9 A B C D E F 0 , 27, '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '-', '=', K_BACKSPACE, 9, // 0 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', '[', ']', 13 , K_CTRL,'a', 's', // 1 'd', 'f', 'g', 'h', 'j', 'k', 'l', ';', '\'' , '`', K_SHIFT,'\\', 'z', 'x', 'c', 'v', // 2 'b', 'n', 'm', ',', '.', '/', K_SHIFT,'*', K_ALT,' ', 0 , K_F1, K_F2, K_F3, K_F4, K_F5, // 3 K_F6, K_F7, K_F8, K_F9, K_F10, K_PAUSE, 0 , K_HOME, K_UPARROW,K_PGUP,K_KP_MINUS,K_LEFTARROW,K_KP_5,K_RIGHTARROW, K_KP_PLUS,K_END, //4 K_DOWNARROW,K_PGDN,K_INS,K_DEL,0,0, 0, K_F11, K_F12,0 , 0 , 0 , 0 , 0 , 0 , 0, // 5 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0, // 6 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 // 7 }; static char *tongue[] = { "You acquired", // T_PICKUP_WEAPON weapon pickup "You needed", // T_PICKUP_HEALTH health pickup "You're protected by", // T_PICKUP_ARMOR_GOOD armor good pickup "You're energized by", // T_PICKUP_BOOST boost pickup "Save Gem acquired", // T_PICKUP_SAVEGEM pick up Save Gem "POWER", // T_USEBOOST_POWER power boost label "ATTACK", // T_USEBOOST_ATTACK attack boost label "SPEED", // T_USEBOOST_SPEED speed boost label "ACRO", // T_USEBOOST_ACRO jump boost label "VITALITY", // T_USEBOOST_VITA health boost label "Time to boogie", // T_BOMB_EXPLODE bomb explode "You must have a bottle to mix that in", // T_BOMB_NEED_BOTTLE need bottle to mix ingredients "Items required:", // T_BOMB_ITEM_REQUIRED1 ingredient required "You create an explosive", // T_BOMB_CREATED bomb created "You found", // T_BOMB_FOUND bomb found, vowel "a pouch of sulphur", // T_BOMB_INGREDIENT_1 bomb ingredient 1 "a lump of coal", // T_BOMB_INGREDIENT_2 bomb ingredient 2 "a vial of saltpeter", // T_BOMB_INGREDIENT_3 bomb ingredient 3 "an empty bottle", // T_BOMB_BOTTLE bomb bottle "sulphur", // T_BOMB_INGREDIENT_SHORT_1 bomb item, short description "charcoal", // T_BOMB_INGREDIENT_SHORT_2 bomb item, short description "saltpeter", // T_BOMB_INGREDIENT_SHORT_3 bomb item, short description "You read from", // T_BOOK_READ read book "You can not use this here", // T_BOOK_NO_READ no read book "Wyndrax's Spellbook", // T_BOOK_WYNDRAX Wyndrax spellbook "You picked up", // T_KEY_PICKUP key pickup "the Crypt key", // T_KEY_CRYPT crypt key name "the Wyndrax key", // T_KEY_WYNDRAX Wyndrax key name "a prison cell keycard", // T_KEY_PRISONCELL Prison cell key "the red Control Card", // T_KEY_RED_CARD "the blue Control Card", // T_KEY_BLUE_CARD "the green Control Card", // T_KEY_GREEN_CARD "the yellow Control Card", // T_KEY_YELLOW_CARD "the Hex keystone", // T_KEY_HEX_KEYSTONE "the Quad keystone", // T_KEY_QUAD_KEYSTONE "the Trigon keystone", // T_KEY_TRIGON_KEYSTONE "the Megashield", // T_MEGASHIELD "the Manaskull", // T_SKULL_OF_INVINCIBILITY "the Poison Antidote", // T_POISON_ANTIDOTE "the Drachma", // T_DRACHMA "the Horn of Charon", // T_HORN "part of the AEGIS key (A)", // T_KEY_AEGIS_A "part of the AEGIS key (E)", // T_KEY_AEGIS_E "part of the AEGIS key (G)", // T_KEY_AEGIS_G "part of the AEGIS key (I)", // T_KEY_AEGIS_I "part of the AEGIS key (S)", // T_KEY_AEGIS_S "a shard of the Purifier", // T_PURIFIER_SHARD "the Black Chest", // T_BLACK_CHEST "the Ring of Fire Protection", // T_RING_OF_FIRE "the Ring of Undead Protection", // T_RING_OF_UNDEAD "the Ring of Lightning Protection", // T_RING_OF_LIGHTNING "the Envirosuit", // T_ENVIROSUIT "the health kit", // T_HEALTH_KIT "the Goldensoul", // T_GOLDENSOUL "the Wraithorb", // T_WRAITHORB, "a Save Gem", // T_SAVEGEM "You have no save gems", //cek[12-13-99] "the health vial", // cek[1-3-00] // cek[2-2-00]: altered the following *********************************************** "the health pack", "the life vase", "the health flask", "the health crate", "the health box", "The antidote is empty.\n", // FS: Added CR // SCG[2/8/00]: messages for completed artifacts "You found all the AEGIS runes!", "You found all three keystones!", "You have assembled the Purifier", "You ate some fruit.\n" // FS }; // menu-related static char *tongue_menu[] = { "Forward", // key bind to Move Forward "Backward", // key bind to Move Backward "Step Left", // key bind to Step Left "Step Right", // key bind to Step Right "Attack", // key bind to Attack "Jump", // key bind to Jump/Up "Use/Operate", // key bind to Use/Operate object "Crouch", // key bind to Crouch/Down "Next Weapon", // key bind to Next Weapon "Prev Weapon", // key bind to Prev Weapon "Turn Left", // key bind to Turn Left "Turn Right", // key bind to Turn Right "Run", // key bind to Run "Sidestep", // key bind to Sidestep "Look Up", // key bind to Look Up "Look Down", // key bind to Look Down "Center View", // key bind to Center View "MouseLook", // key bind to Mouse Look "KeyLook", // key bind to Keyboard Look "View Size Up", // key bind to Screen size up "View Size Down", // key bind to Screen size down "Show All Huds", // key bind to Show All Huds "Inv. Open", // key bind to Inventory Open "Use Inv. Item", // key bind to Use Item "Next Item", // key bind to Next Item "Prev Item", // key bind to Prev Item "Swap Sidekick", // key bind to Swap Sidekick "Command Next", // key bind to Command Next "Command Prev", // key bind to Command Prev "Command Use", // key bind to Command Apply // cek[1-5-00] changed from Apply to Use ARROW_LEFT_STRING " Left", // left arrow key ARROW_UP_STRING " Up", // up arrow key ARROW_DOWN_STRING " Down", // down arrow key ARROW_RIGHT_STRING " Right", // right arrow key "--", // no bind setting for this key "Click or Enter to set, DEL to delete", // set/delete key "Click or Enter to select", // select key "Hit key to set, ESC to abort", // set/abort "Defaults", // default button "None", // no mouse bindings "Move Left/Right", // mouse "move left and right" setting "Turn Left/Right", // mouse "turn left and right" setting "Look Up/Down", // mouse "look up and down" setting "Move For./Back", // mouse "move forward and back" setting "Reverse Y-Axis", // reverse mouse axis "Mouse Look", // Mouse-Look "Look Strafe", // Mouse-Look "X Axis", // x axis "Y Axis", // y axis "Button 1", // button 1 label "Button 2", // button 2 label "Button 3", // button 3 label "Select a command, ESC to cancel", // select a command, ESCape to cancel "Turn L/R", // turn left and right, abbreviated "Strafe L/R", // strafe left and right, abbreviated "Look U/D", // look up and down, abbreviated "Move F/B", // move forward and back, abbreviated "Horizontal sensitivity", // mouse sensitivity for x-axis //cek[12-13-99] "Vertical sensitivity", // mouse sensitivity for y-axis //cek[12-13-99] "Configure Mouse options:", // configure mouse options "Deathmatch", // 'deathmatch' game "Deathtag", // 'deathtag' game "Cooperative", // 'cooperative' game "Easy", // easy difficulty "Medium", // medium difficulty "Hard", // hard difficulty "Find an Internet Game", // SCG[12/1/99]: "Find a Local Game", // SCG[12/1/99]: "Start a Multiplayer Game", // SCG[12/1/99]: "LAN", // local area network game "Internet", // internet game "Join", // join server "Host", // host new server "Add " ARROW_DOWN_STRING, // add address "Refresh", // refresh network games "Setup", // player setup "Connect Rate", // connection speed label "28.8k", // connection type 1 "56.6k", // connection type 2 "ISDN", // connection type 3 "Cable/DSL", // connection type 4 "T1/LAN", // connection type 5 "User Defined", // connection type 6 "Time Limit", // SCG[12/2/99]: "Character Color", // SCG[12/2/99]: "Starting Episode", // SCG[12/2/99]: "Team Choice", // SCG[12/1/99]: "CTF Limit", // SCG[12/1/99]: "Team1 Color", // SCG[12/1/99]: "Team2 Color", // SCG[12/1/99]: "Score Limit", // SCG[12/1/99]: "Frag Limit", // SCG[12/1/99]: "Level Limit", // level limit "Starting Episode", // SCG[12/2/99]: "Game Map", // SCG[12/1/99]: "Game Mode", // game mode (deathmatch,deathtag,co-op) "Skill Level", // skill level "Time Limit", // time limit "Max Players", // maximum players "Character", // character "Base Color", // base color "Start!", // start multiplayer game "Weapons Stay", // weapons remain "Items Respawn", // items rematerialize "Spawn Frthst", // spawn farthest point from players "Allow Exiting", // allow exiting of the level "Same Map", // same map "Force Respawn", // force respawn "Falling Damage", // players take falling damage "Instnt Pwrups", // instant power-ups "Allow Pwrups", // allow power-ups "Allow Health", // allow health kits "Allow Armor", // allow armor "Infinite Ammo", // unlimited ammunition "Fixed FOV", // fixed field-of-vision "Teamplay", // team-play "Hurt Teammates", // hurt teammates "Fast Switch", // fast weapon switch "Footsteps", // footsteps audible "Allow Hook", // allow hook "Shotgun Shells", // show shotgun shells? "Server IP Address", // server internet provider address "No local games found", // no local games found "Starting Map", // starting map "Server Name", // server name "Player Name", // player name "Team Name", // team name "Perform Harakiri?", // confirm quit "Yes", // yes, acknowledgement "No", // no, acknowledgement "Save Game", // cek[1-3-00] changed from 'save' to 'save game' "Load Config", //cek[12-6-99] "Save Config", //cek[12-6-99] "Delete Config", //cek[12-6-99] "Select Configuration File", //cek[12-6-99] "Delete selection?", //cek[12-6-99] "Load Game", //cek[12-6-99] "Armor", //cek[12-6-99] "Health", //cek[12-6-99] "Level", //cek[12-6-99] "Monsters", //cek[12-6-99] "Secrets", //cek[12-6-99] "Time", //cek[12-6-99] "Total", //cek[12-6-99] "Episode", //cek[12-6-99] "Use 3d sound", //cek[12-6-99] "Saved", //cek[12-7-99] "Loaded", //cek[12-7-99] "Deleted", //cek[12-7-99] "Smooth mouse", //cek[12-7-99] "Wheel up", //cek[12-7-99] "Wheel down", //cek[12-7-99] "No ALT-TAB allowed", //cek[12-7-99] "Blood and Carnage", //cek[12-7-99] "Weapon bobbing", //cek[12-7-99] "Auto-switch weapons", //cek[12-7-99] "Intensity", //cek[12-7-99] cek[12-13-99] "Shiny weapons", //cek[12-7-99] "Bullet Holes", // SCG[1/4/00]: "Forward", //cek[12-9-99] "Side", //cek[12-9-99] "Up", //cek[12-9-99] "Pitch", //cek[12-9-99] "Yaw", //cek[12-9-99] "Use joystick", //cek[12-9-99] "Configure axis", //cek[12-9-99] "Configure joystick options", //cek[12-9-99] "Select an action for this button", //cek[12-9-99] "Press a joystick button to configure", //cek[12-9-99] "Threshold", //cek[12-9-99] "Sensitivity", //cek[12-9-99] "Capture the Flag", //cek[12-10-99] "Back", //cek[12-10-99] "56.6k", //cek[12-10-99] "Auto", //cek[12-10-99] "Team 1", //cek[12-10-99] "Team 2", //cek[12-10-99] "Play Intro Movie", //cek[12-13-99] "Use skill system", //cek[12-13-99] "Mouse speed", //cek[12-13-99] "Sidekick GET", // cek[1-3-00] "Sidekick COME", // cek[1-3-00] "Sidekick ATTACK", // cek[1-3-00] "Sidekick BACKOFF", // cek[1-3-00] "Sidekick STAY", // cek[1-3-00] "Select Weapon %d", // cek[1-4-00] as in "Select Weapon 1" (leave the %d) "HUD Cycle", // cek[1-5-00] -- for these, translate HUD to something short and reasonably "HUD Next", // cek[1-5-00] -- similar in meaning. "HUD Prev", // cek[1-5-00] "HUD Use", // cek[1-5-00] "Talk", // cek[1-11-00] "Scoreboard", // SCG[1/13/00]: "Talk to team", // cek[1-22-00] "%s is already assigned to %s", // cek[1-22-00] as in "F is already assigned to attack" (leave in %s) "Replace?", // cek[1-22-00] "Toastednet", // FS: changed to tnet "DK News", // FS: changed to dknews "Continue?", // cek[2-1-00] // for the next two, all \n in the strings denotes a string break. These must remain in place and the translated // string should have them in roughly the same place. "Want custom maps, mods and more?\nGo to dk.toastednet.org.\nContinuing will launch your web browser.", // FS: changed to tnet "For all your Daikatana news\ngo to www.daikatananews.net.\nContinuing will launch your web browser.", // FS: changed to dknews // cek[2-1-00] "Weapon %d", "Cancel", // cek[3-9-00] "www.daikatananews.net", // FS: changed to dknews // cek[3-9-00] "Go to www.daikatananews.net.\nContinuing will launch your web browser.", // cek[3-9-00] "Configure Weapons", // FS "Instagib", // FS "Deathmatch taunts", // FS "Unlimited saves", // FS "CTF/DT hints", // FS "Check for Updates", // FS "Notice About Mini-Drivers", // Knightmare added 2/20/13 "This version of Daikatana no longer\nsupports the 3DFX and PowerVR mini-drivers.\n3DFX users are strongly recommended to\nuse the Metabyte WickedGL drivers.", // Knightmare added 2/20/13 "Download WickedGL drivers", // Knightmare added 2/20/13 "Go to www.3dfxzone.it.\nContinuing will launch your web browser.", // Knightmare added 2/20/13 "Switch to default OpenGL", // Knightmare added 2/20/13 "Update Available", // FS: Autoupdates "There is a new version of Daikatana v1.3 available.\nDo you want to download it?\nYou can disable auto-updates in the\noptions menu.", // FS: Autoupdates "Your PAK files are out of date.\nYou may be using v1.0 PAK files.\nDaikatana v1.3 requires v1.2 PAKs.\nClick the button for upgrade information.", // FS: Autoupdates "Daikatana will now verify your PAK files\nto ensure they are updated to v1.2.\nThis may take up to 30 seconds on\nold hardware.\nThis check will only be run once.", // FS: Autoupdates "There is a new map updates pak available.\nThis can affect your connectivity to servers.\nDo you want to download it?\nYou can disable auto-updates in the\noptions menu.", // FS: Autoupdates "Download Update", // FS: Autoupdates "Verify PAK Files", // FS: Autoupdates "No Thanks", // FS: Autoupdates "Go to dk.toastednet.org.\nContinuing will launch your web browser.", // FS: Autoupdates "Screenshot", // Knightmare added 1/21/14 "Silent screenshot", // Knightmare added 1/21/14 "Shared XP", // Knightmare added 2/1/14 "Delete Game", // Knightmare added 2/7/14 "Delete savegame?", // Knightmare added 2/7/14 "Shift Key", // FS: For Mouse and Joystick "We have spent a lot of time repairing the\noriginal maps and adding subtle features to\nthe Sidekick AI such as regenerating health.\nThe game is more enjoyable with Sidekicks.", // FS: For no sidekicks "Are you sure you want to play without them?\n", // FS: For no sidekicks "Boost Power", // FS: Added by request "Boost Attack", // FS: Added by request "Boost Speed", // FS: Added by request "Boost Acro", // FS: Added by request "Boost Vitality", // FS: Added by request "Button 4", // Knightmare 1/30/15- button 4 label "Button 5" // Knightmare 1/30/15- button 5 label }; static char *tongue_menu_options[] = { "Always Run", // always run "Lookspring", // look-spring "Lookstrafe", // look-strafe "Auto-targeting", // auto-targeting "Crosshair", // crosshair "Weapon Visible", // weapon visible "Subtitles", // subtitles "Sound Effect Volume", // volume for sound fx "Music Volume", // volume for music "Cinematic Volume", // volume for cinematics "Software", // video mode, software "OpenGL", // video mode, opengl "Apply Changes", // apply video mode changes "Fullscreen", // fullscreen "Shadows", // shadows "Driver", // video driver "Resolution", // resolution "Screen Size", // screen size "Brightness", // brightness "Texture Quality", // texture quality "Status Bar Visibility", // status bar visibility "Fog/Water Detail", // SCG[12/4/99]: "Ronin", // difficulty level easy "Samurai", // difficulty level medium "Shogun", // difficulty level hard "Snow and Rain", // cek[1-11-00] "Fog", // cek[1-11-00] "Play Powerup Sounds", // FS "Play Missing Sounds", // FS "Play Sidekick Chatter", // FS "Anisotropic Filter", // Knightmare added 5/29/12 "Custom Width", // Knightmare added 5/29/12 "Custom Height", // Knightmare added 5/29/12 "Status Bar Size", // Knightmare added 6/14/12 "V-Sync", // Knightmare added 10/4/12 "Async refresh", // Knightmare added 10/4/12 "Refresh rate", // Knightmare added 10/4/12 "Screenshot format",// Knightmare added 3/11/13 "Spot", // Knightmare added 5/10/13 "Volume", // Knightmare added 5/10/13 "Download Options", // Knightmare added 11/19/13 "Allow downloading", // Knightmare added 11/19/13 "Allow HTTP downloading", // FS added 03/29/15 "maps / textures", // Knightmare added 11/19/13 "sounds", // Knightmare added 11/19/13 "models", // Knightmare added 11/19/13 "Sound Rate", // Knightmare added 2/2/14 "Audio Engine", // Knightmare added 7/8/16 "Language", "No Sidekicks", /* FS: No sidekicks new game option */ "Bonus Gems", /* FS: Bonus save gems */ /* FS: More Options! */ "Page 1", "Page 2", "Show Framerate", "Q3A Console cmds", "In-game Cinematics", "New Auto-complete", "Chat msg prioritizing", "Sidekick exit warning", "Auto-record Demos", "Damage Flashes", "Show Time", "Message Queue", "Preferred Music Format", // Knightmare added 3/5/17 "Noisy Load Screens", }; //descriptions for the texture quality settings. static char *texture_quality_desc[] = { "Full", "Half", "Quarter", "Eighth" }; // weapon names static char *tongue_weapons[] = { "No Ammo", "the Ballista", "the Ballista logs", "the Bolter", "the Bolts", "the C4 Vitzatergo", "a C4 pack", "the Daikatana", "the Discus of Daedalus", "a Discus", "the Disruptor Glove", "the Glock 2020", "some bullets", "the Hades Hammer", "the Ion Blaster", "an Ion pack", // SCG[11/28/99]: "the Kineticore", "the Kinespheres", "the Metamaser", "the Metamaser", "Nharre's Nightmare", "some gibs", // SCG[11/28/99]: "the Novabeam", "a Novacell", // SCG[11/28/99]: "the Ripgun", "the Rip-Ups", // Knightmare changed 8/29/14 "the Shockwave", "the Shock Sphere", "the Shotcycler", "Shotcycler Shells", "the Sidewinder", "Sidewinder Rockets", // SCG[11/28/99]: "the Silverclaw", "the Slugger", "the Slugs", "Stavros' Stave", "Lava Rocks", "a Sunflare", "a Sunflare", "Poseidon's Trident", "the Trident Tips", "the Venomous", "Cobra Venom", // SCG[11/28/99]: "Wyndrax's Wisp", "a Wisp", "the Eye of Zeus", "a mystic Eye", "the Ultimate Gas Hands", // FS: Needed for Configure Weapons Menu "Ion Blaster", "C4 Vitzatergo", "Shotcycler", "Sidewinder", "Shockwave", "Discus of Deadalus", "Venomous", "Sunflare", "Hammer of Hades", "Poseidon's Trident", "Eye of Zeus", "Bolter", "Stavros' Stave", "Ballista", "Wyndrax's Wisp", "Nharre's Nightmare", "Glock 2020", "Slugger", "Kineticore", "Ripgun", "Novabeam", "Metamaser", // Knightmare 8/29/13- Cordite grenades was stealing ripgun ammo identifier "Cordite Grenades" }; static char *tongue_armors[] = { "the Plasteel Armor", "the Chromatic Armor", "the Silver Armor", "the Gold Armor", "the Chainmail Armor", "the Black Adamant Armor", "the Kevlar Armor", "the Ebonite Armor" }; // monster names static char *tongue_monsters[] = { "RoboCo Battle Boar", "Black Prisoner", "Buboid", "RoboCo Cambot", "Centurion", "Cerberus", "Flying Chaingunner", "Caryatid", "RoboCo Crox", "RoboCo Deathsphere", "Doom Bat", "Dragon", "Dwarf", "Femgang", "Ferryman", "Fletcher", "RoboCo Froginator", "King Gharroth", "Goldfish", "Griffon", "Harpy", "Inmater", "Kage", "Hellfire Paladin", "Voltaic Valkyrie", "Lab Monkey", "Cryotech", "RoboCo Lasergat", "Lycanthir", "Medusa", "Mishima Guard", "Nharre the Necromancer", "Plague Rat", "Pipe Rat", "Priest", "Prisoner", "RoboCo Protopod", "Psyclaw", "RoboCo Ragemaster 5000", "Gang Rocketeer", "Navy SEAL Rocketeer", "Rotworm", "Satyr", "NAVY SEAL Commando", "Navy SEAL Captain", "Navy SEAL Shotgunner", "Shark", "Slaughterskeet", "Skeleton", "Skinny Worker", "Fat Worker", "RoboCo Sludge Minion", "Small Spider", "Spider", "Stavros the Sorceror", "Surgeon", "Thief", "RoboCo Thunderskeet", "Gang Uzi", "White Prisoner", "Wizard", "Wyndrax the Wizard", "Seagull", "Firefly", "Wisp", "Mikiko", "Ghost", "The DopeFish" }; static char *tongue_world[] = { "more to go", // triggers to go until sequence complete "Sequence completed", // trigger sequence completed "You must have", // need a specific key "You must have the proper key!\n", // wrong key in possession "Can't be opened this way\n", // SCG[11/1/99]: Can't be opened this way "You feel the poison leaving your system.\n", // poison expiring "Your oxylungs are almost used up.\n", // oxylung expiring "Your envirosuit is expiring.\n", // envirosuit expiring "Green Elf needs food badly.\n", // megashield expiring "The Wraith Orb is waning.\n", // wraith orb expiring "Power Boost is running out.\n", // power boost expiring "Attack Boost is running out.\n", // attack boost expiring "Speed Boost is running out.\n", // speed boost expiring "Acrobatic Boost is running out.\n", // jump boost expiring "Vitality Boost is running out.\n", // health boost expiring "joined the game", // player joined the game "exited the level", // player exited the level "Hiro Miyamoto", // Hiro Miyamoto's full name "Superfly Johnson", // Superfly's full name "Mikiko Ebihara", // Mikiko's full name // SCG[10/18/99]: these next 5 had enums, but no strings. "You were kicked for spamming", // SCG[10/18/99]: T_PLAYER_SELF_SPAM_KICK // FS: Updated this "was kicked for spamming", // SCG[10/18/99]: T_PLAYER_SPAM_KICK // FS: Updated this "", // SCG[10/18/99]: T_PLAYER_TIME_LIMIT_HIT "", // SCG[10/18/99]: T_PLAYER_FRAG_LIMIT_HIT "Unknown Player!", // SCG[10/18/99]: T_TELL_CMD_UNKNOWN_PLAYER // FS: Updated this "Cannot exit area without\n", // SCG[10/18/99]: no exiting level without sidekicks "Cannot exit without\n", // SCG[11/9/99]: No exiting without a key "Poisoned!\n", // NSS[11/29/99]: Needed a generic and yet global poisoned message "You found a secret!\n", // cek[1-3-00] "The Manaskull is waning.\n", // cek[2-9-00] "Pinned!\n", // FS "Massacre!\n", // FS "Happy Holidays from the Daikatana 1.3 team!\n", // FS "and" // FS }; static char *tongue_deathmsg_daikatana[] = { "%s was sliced open by %s\n" }; static char *tongue_deathmsg_self[] = { "'s skull appears to be split open.\n", // death, fell "sucked it down.\n", // death, drowned "goes crispy.\n", // death, lava "was slimed.\n", // death, slimed "succumbed to the poison.\n", // death, poison "failed at life.\n", // death, killed self "was telefragged.\n", // death, teleport "was compressed into a gib pile.\n", // death, crushed "ate a full load of C4.\n", // death, C4 "was frozen solid.\n", // FS: death, frozen "was shocked by lightning.\n" // FS: death, shocked by lightning bolts in e3 }; static char *tongue_deathmsg_weapon1[] = { "%s was humiliated by %s!\n", "%s ultra-smacked %s into oblivion!\n", "%s was ionized by %s!\n", "%s made a mess of %s!\n", "%s double-barrelled %s!\n", "%s rode %s's rocket!\n", "%s shook up %s!\n" }; static char *tongue_deathmsg_weapon2[] = { "%s played ultimate frisbee with %s!\n", "%s venomized %s!\n", "%s turned %s into a burning inferno!\n", "%s hammered-down %s!\n", "%s punctured %s!\n", "%s kneeled before Zeus!\n" }; static char *tongue_deathmsg_weapon3[] = { "%s was carved like a ham by %s!\n", "%s took %s's twig!\n", "%s took %s's hardwood!\n", "%s was burnt down by %s's meteor!\n", "%s handled some of %s's high voltage!\n", "%s was done by %s's demon!\n" }; static char *tongue_deathmsg_weapon4[] = { "%s popped a cap in %s!\n", "%s shell-shocked %s!\n", "%s was ripped down by %s!\n", "%s made a nasty mess of %s!\n", "%s was iced by %s!\n", "%s burnt a hole in %s!\n", "%s was masered by %s!\n" }; static char *tongue_scoreboard[] = { "Name", "Kills", "Ping", "Time", "Shots", "Hits", "Died", "Score" // cek[1-22-00] }; static char *tongue_difficulty[] = // difficulty settings for 'new game' menu { "Select Difficulty:", // difficulty header "Ronin", // newbie "Samurai", // average "Shogun" // expert (or so they think!) }; static char *tongue_skincolors[] = { "Blue", // blue "Green", // green "Red", // red "Gold" // gold }; static char *tongue_statbar[] = { "POWER", // skill 'power' label "ATTACK", // skill 'attack' label "SPEED", // skill 'speed' label "ACRO", // skill 'acrobatic' label "VITALITY", // skill 'vitality' label "ARMOR", // armor label "HEALTH", // health label "AMMO", // ammo label "FRAGS", // kills label "LEVEL", // experience points label "LEVEL UP!", // experience level up "Select", // select skill "Assign Skill Point", // add point to skill "LOADING..." // loading new level }; static char *tongue_weapon_misc[] = { "C4 Modules are destabilizing!\n" // C4 modules are de-stabilizing }; static char *tongue_sidekick[] = // sidekick commands { "GET", // 'get' item command "COME", // 'come here', 'come to me' "STAY", // 'stay' command, 'don't move' "ATTACK", // 'attack' command "BACK OFF", // 'back off', 'move away' "Can I have" // asking to pick up an item: "Can I have the shotgun?" }; static char *tongue_ctf[] = { "Red Flag", "Blue Flag", "Unknown team", "%s Flag", // when translating, treat '%s Flag' as 'red Flag' and place the %s before or after flag // depending on the syntax of the language. ie if the expression should be 'Flag red' use 'Flag %s' "Red", "Blue", "Chrome", "Steel", "Green", "Orange", "Purple", "Yellow", "Score is now: %s:%d, %s:%d\n", "You have captured the %s!\n", "%s from your team has captured the %s!\n", "%s from the %s team has captured your flag!\n", // when translating, treat '%s team' as 'red team' and place the %s before or after team // depending on the syntax of the language. ie if the expression should be 'team red' use 'team %s' "You grabbed the %s\n", "%s from your team has grabbed the %s\n", "%s has stolen your flag\n", "The %s has been returned\n", "%d is an invalid team number. Use 1 or 2\n", "You are on team %d (%s)\n", "You are already on team %d\n", "%s joined the %s team\n", // translate same as with the %s team above "The %s team has won!\nFinal score: %s:%d, %s:%d\n", // translate same as with the %s team above "The game is a tie!\n", "Time has expired!\n", "The capture limit has been reached!\n", "Get ready for overtime!\n", // FS "You have the enemy flag. Return to base!\n", // FS "The enemy has your flag! Get the flag back!\n" // FS }; static char *tongue_deathtag[] = { "Bomb", // as in backpack "%s Bomb", // as in red pack "The score limit has been reached!\n", "Your time is running out!\n", "Your time just ran out!\n", "%s from the %s team has grabbed the %s!\n", // translate using the '%s team' guidelines above "Your team gets a point!\n", "Your team gets %d points!\n", // you get 2 points "The %s team gets a point!\n", // translate using the '%s team' guidelines above "The %s team gets %d points!\n", // The red team gets 2 points "You scored!\n", "%s from your team has scored!\n", "%s from the %s team has scored!\n", "You have the Bomb! Go score!\n", // FS "The other team has their Bomb!\n" // FS }; // FS: --------------------new------------------------- static char *tongue_save_error[] = { "You must be running a local game to save!\n", "You must be in a game to save!\n", "You can not save in deathmatch!\n", "You can not save during a cinematic!\n", "You can not save while dead!\n", "You can not save during intermission!\n", "You can not save here!\n" }; /* FS: Mult-Lang DLL */ static char *tongue_quit_msgs[] = { "Ya thought you were a big boy, but you're|really just a baby boy, aren't you?", "Are you gonna quit this game just like|you quit everything else in life?", "Does the pretty harp music and the scary|crickets make you cry and quit?", "Does all this time travel really boggle|you down, confuse you and make you quit?", "Did the scary monsters and mean robots|make you run to your mommy?", "Just remember: before you actually finish this game,|make sure you find the sandalwood box. Quit now?", "Can't take much more of this hardcore action, eh? |Gotta run like a little baby and go to bed, right?", "If you leave now, I'll start working on|summoning a Shoggoth to come tear you apart|while you sleep. Is that ok?", "Hey, guess what? When you leave,|I'm going to start smacking all the monsters around|so they're REALLY MAD next time you play, ok?", "While you're gone, I'm going to keep|working on the Grand Unified Theory, ok?", "Are you broken?", "Hey, watch out for the Dark Troopers in the|San Francisco episode, ok?", "You're not much of a Kraken, are you?", "Does this game trigger you?|If so, you're a weak and pathetic rodent|and will be fed to the griffin!" }; static char *tongue_quit_msgs_rare[] = { "While you're away I think I'll link into some internet|sites and surf for a while. Is that okay with you?", "Get out of me?", "Suck it down(tm)?", "Has the monkey landed yet?" }; /* FS: Wasn't originally translated. Reported by Robert. */ static char *tongue_menu_joystick[] = { "Configure Motion", "None", "Forward (walk)", "Look (pitch)", "Side (strafe)", "Turn (yaw)", "Up", "Advanced", "Configure joystick axis", "Absolute (stick)", };
-
Current german file as of 08-30-17:
// GERMAN text // // these are the key numbers that should be passed to Key_Event // #define K_TAB 9 #define K_ENTER 13 #define K_ESCAPE 27 #define K_SPACE 32 // normal keys should be passed as lowercased ascii #define K_BACKSPACE 127 #define K_UPARROW 128 #define K_DOWNARROW 129 #define K_LEFTARROW 130 #define K_RIGHTARROW 131 #define K_ALT 132 #define K_CTRL 133 #define K_SHIFT 134 #define K_F1 135 #define K_F2 136 #define K_F3 137 #define K_F4 138 #define K_F5 139 #define K_F6 140 #define K_F7 141 #define K_F8 142 #define K_F9 143 #define K_F10 144 #define K_F11 145 #define K_F12 146 #define K_INS 147 #define K_DEL 148 #define K_PGDN 149 #define K_PGUP 150 #define K_HOME 151 #define K_END 152 #define K_KP_HOME 160 #define K_KP_UPARROW 161 #define K_KP_PGUP 162 #define K_KP_LEFTARROW 163 #define K_KP_5 164 #define K_KP_RIGHTARROW 165 #define K_KP_END 166 #define K_KP_DOWNARROW 167 #define K_KP_PGDN 168 #define K_KP_ENTER 169 #define K_KP_INS 170 #define K_KP_DEL 171 #define K_KP_SLASH 172 #define K_KP_MINUS 173 #define K_KP_PLUS 174 #define K_PAUSE 255 // // mouse buttons generate virtual keys // #define K_MOUSE1 200 #define K_MOUSE2 201 #define K_MOUSE3 202 #define K_MOUSE4 203 // Knightmare added 5/29/12 #define K_MOUSE5 204 // Knightmare added 5/29/12 // // joystick buttons // #define K_JOY1 205 #define K_JOY2 206 #define K_JOY3 207 #define K_JOY4 208 // // aux keys are for multi-buttoned joysticks to generate so they can use // the normal binding process // #define K_AUX1 209 #define K_AUX2 210 #define K_AUX3 211 #define K_AUX4 212 #define K_AUX5 213 #define K_AUX6 214 #define K_AUX7 215 #define K_AUX8 216 #define K_AUX9 217 #define K_AUX10 218 #define K_AUX11 219 #define K_AUX12 220 #define K_AUX13 221 #define K_AUX14 222 #define K_AUX15 223 #define K_AUX16 224 #define K_AUX17 225 #define K_AUX18 226 #define K_AUX19 227 #define K_AUX20 228 #define K_AUX21 229 #define K_AUX22 230 #define K_AUX23 231 #define K_AUX24 232 #define K_AUX25 233 #define K_AUX26 234 #define K_AUX27 235 #define K_AUX28 236 #define K_AUX29 237 #define K_AUX30 238 #define K_AUX31 239 #define K_AUX32 240 #define K_MWHEELDOWN 241 #define K_MWHEELUP 242 typedef struct { char *name; int keynum; } keyname_t; static keyname_t keynames[] = { {"TAB", K_TAB}, {"RETURN", K_ENTER}, {"ESC", K_ESCAPE}, {"LEERTASTE", K_SPACE}, {"BACKSPACE", K_BACKSPACE}, {"PFEIL HOCH", K_UPARROW}, {"PFEIL RUNTER", K_DOWNARROW}, {"PFEIL LINKS", K_LEFTARROW}, {"PFEIL RECHTS", K_RIGHTARROW}, {"ALT", K_ALT}, {"STRG", K_CTRL}, {"UMSCHALT", K_SHIFT}, {"F1", K_F1}, {"F2", K_F2}, {"F3", K_F3}, {"F4", K_F4}, {"F5", K_F5}, {"F6", K_F6}, {"F7", K_F7}, {"F8", K_F8}, {"F9", K_F9}, {"F10", K_F10}, {"F11", K_F11}, {"F12", K_F12}, {"EINFG", K_INS}, {"ENTF", K_DEL}, {"BILD RUNTER", K_PGDN}, {"BILD HOCH", K_PGUP}, {"POS 1", K_HOME}, {"ENDE", K_END}, {"MAUS 1", K_MOUSE1}, {"MAUS 2", K_MOUSE2}, {"MAUS 3", K_MOUSE3}, {"MAUS 4", K_MOUSE4}, // Knightmare added 5/29/12 {"MAUS 5", K_MOUSE5}, // Knightmare added 5/29/12 {"JOY 1", K_JOY1}, {"JOY 2", K_JOY2}, {"JOY 3", K_JOY3}, {"JOY 4", K_JOY4}, {"AUX 1", K_AUX1}, {"AUX 2", K_AUX2}, {"AUX 3", K_AUX3}, {"AUX 4", K_AUX4}, {"AUX 5", K_AUX5}, {"AUX 6", K_AUX6}, {"AUX 7", K_AUX7}, {"AUX 8", K_AUX8}, {"AUX 9", K_AUX9}, {"AUX 10", K_AUX10}, {"AUX 11", K_AUX11}, {"AUX 12", K_AUX12}, {"AUX 13", K_AUX13}, {"AUX 14", K_AUX14}, {"AUX 15", K_AUX15}, {"AUX 16", K_AUX16}, {"AUX 17", K_AUX17}, {"AUX 18", K_AUX18}, {"AUX 19", K_AUX19}, {"AUX 20", K_AUX20}, {"AUX 21", K_AUX21}, {"AUX 22", K_AUX22}, {"AUX 23", K_AUX23}, {"AUX 24", K_AUX24}, {"AUX 25", K_AUX25}, {"AUX 26", K_AUX26}, {"AUX 27", K_AUX27}, {"AUX 28", K_AUX28}, {"AUX 29", K_AUX29}, {"AUX 30", K_AUX30}, {"AUX 31", K_AUX31}, {"AUX 32", K_AUX32}, {"ZB_7", K_KP_HOME }, {"ZB_8", K_KP_UPARROW }, {"ZB_9", K_KP_PGUP }, {"ZB_4", K_KP_LEFTARROW }, {"ZB_5", K_KP_5 }, {"ZB_6", K_KP_RIGHTARROW }, {"ZB_1", K_KP_END }, {"ZB_2", K_KP_DOWNARROW }, {"ZB_3", K_KP_PGDN }, {"ZB_ENTER", K_KP_ENTER }, {"ZB_0", K_KP_INS }, {"ZB_KOMMA", K_KP_DEL }, {"ZB_GETEILT", K_KP_SLASH }, {"KP_MINUS", K_KP_MINUS }, {"KP_PLUS", K_KP_PLUS }, {"MAUSRAD HOCH", K_MWHEELUP }, {"MAUSRAD RUNTER", K_MWHEELDOWN }, {"PAUSE", K_PAUSE}, {"SEMIKOLON", ';'}, // because a raw semicolon seperates commands {NULL,0} }; // vkey conversion table //========================================================================== static byte scantokey[128] = { // 0 1 2 3 4 5 6 7 // 8 9 A B C D E F 0 , 27, '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 'ß', '´', K_BACKSPACE, 9, // 0 'q', 'w', 'e', 'r', 't', 'z', 'u', 'i', 'o', 'p', 'ü', '+', 13 , K_CTRL,'a', 's', // 1 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'ö', 'ä', '`', K_SHIFT,'<', 'y', 'x', 'c', 'v', // 2 'b', 'n', 'm', ',', '.', '-', K_SHIFT,'*', K_ALT,' ', 0 , K_F1, K_F2, K_F3, K_F4, K_F5, // 3 K_F6, K_F7, K_F8, K_F9, K_F10, K_PAUSE, 0 , K_HOME, K_UPARROW,K_PGUP,K_KP_MINUS,K_LEFTARROW,K_KP_5,K_RIGHTARROW, K_KP_PLUS,K_END, //4 K_DOWNARROW,K_PGDN,K_INS,K_DEL,0,0, 0, K_F11, K_F12,0 , 0 , 0 , 0 , 0 , 0 , 0, // 5 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0, // 6 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 // 7 }; static char *tongue[] = { "Aufgehoben:", // weapon pickup TX NOTE:+ the items in the weapons section below. "Sie brauchen:", // health pickup TX NOTE:+ one of the 3 health items below (health kit, Goldenorb, Wraith orb. "Sie sind geschützt durch", // armor good pickup TX NOTE:+ the items in the armor section below. "Sie sind aufgeladen durch", // boost pickup TX NOTE:not used - DON'T TRANSLATE. "Aufgehoben: Speicherjuwel", // T_PICKUP_SAVEGEM pick up Save Gem "STÄRKE", // use power boost TX NOTE:must match statusbar.xls . "ANGRIFF", // use attack boost TX NOTE:must match statusbar.xls . "TEMPO", // use speed boost TX NOTE:must match statusbar.xls . "AKROBATIK", // use jump boost TX NOTE:must match statusbar.xls . "VITALITÄT", // use health boost TX NOTE:must match statusbar.xls . "Gleich wird's heiß!", // bomb explode TX NOTE:"let's get out of here!. "Sie brauchen eine Flasche, um das zu mischen", // need bottle to mix ingredients TX NOTE:sentence. "Sie brauchen: ", // ingredient required TX NOTE:+ bomb item, short desc below. "Sie mischen Sprengstoff.", // bomb created TX NOTE:sentence. "Sie fanden ", // bomb found, TX NOTE:+ one of the ingredients or a bottle. "einen Beutel mit Schwefel", // bomb ingredient 1 "ein Stück Kohle", // bomb ingredient 2 "eine Phiole mit Salpeter", // bomb ingredient 3 "eine leere Flasche", // bomb bottle "Schwefel", // bomb item, short description "Kohle", // bomb item, short description "Salpeter", // bomb item, short description "Sie lesen das", // read book TX NOTE:+ one of two books below. "Das können Sie hier nicht verwenden.", // no read book TX NOTE:sentence. "Wyndrax-Zauberbuch", // Wyndrax spellbook "Sie nehmen", // key pickup TX NOTE:one of the 3 following items. "den Schlüssel zur Krypta", // crypt key name "den Wyndrax-Schlüssel", // Wyndrax key name "ein Zugangskarte für eine Zelle", // Prison cell key "die rote Zugangskarte", // SCG[11/15/99]: red control card name "die blaue Zugangskarte", // SCG[11/6/99]: blue control card name "die grüne Zugangskarte", // SCG[11/6/99]: green control card name "die gelbe Zugangskarte", // SCG[11/6/99]: yellow control card name "den Hex-Schlüsselstein", // SCG[11/6/99]: hex keystone name "den Quad-Schlüsselstein", // SCG[11/6/99]: quad keystone name "den Trigon-Schlüsselstein", // SCG[11/6/99]: trigon keystone name "den Megaschild", // SCG[11/14/99]: Megashield name "den Manaschädel", // SCG[11/14/99]: "das Gegengift", // SCG[11/14/99]: "eine Drachme", // SCG[11/14/99]: "das Horn von Charon", // SCG[11/14/99]: "eine AEGIS-Tafel mit dem Buchstaben A", // SCG[11/14/99]: A of AEGIS key name "eine AEGIS-Tafel mit dem Buchstaben E", // SCG[11/14/99]: E of AEGIS key name "eine AEGIS-Tafel mit dem Buchstaben G", // SCG[11/14/99]: G of AEGIS key name "eine AEGIS-Tafel mit dem Buchstaben I", // SCG[11/14/99]: I of AEGIS key name "eine AEGIS-Tafel mit dem Buchstaben S", // SCG[11/14/99]: S of AEGIS key name "einen Splitter des Läuterers", // SCG[11/14/99]: "die schwarze Kiste", // SCG[11/14/99]: "den Ring des Feuerschutzes", // SCG[11/14/99]: "den Ring des Schutzes vor Untoten", // SCG[11/14/99]: "den Ring des Blitzschutzes", // SCG[11/14/99]: "den Überlebensanzug", // SCG[11/14/99]: "das Erste-Hilfe-Set", // health kit "die Goldseele", // Goldensoul "die Gespenstersphäre", // T_WRAITHORB, "ein Speicherjuwel", "Sie haben kein Speicherjuwel", //cek[12-13-99] "den Heiltrank", // cek[1-3-00] // cek[2-2-00]: altered the following *********************************************** "das Wundpäckchen", "die Lebensvase", "die Heiltrankflasche", "die Verbandskiste", "den Verbandskasten", "Das Gegengift ist leer.\n", // FS: Added CR // SCG[2/8/00]: messages for completed artifacts "Sie haben alle AEGIS-Tafeln gefunden!", "Sie haben alle drei Schlüsselsteine gefunden", "Sie haben den Läuterer zusammengesetzt!", "Sie aßen einige Früchte.\n", // FS }; // menu-related TX NOTE:all independent words -- no grammatical inflection. static char *tongue_menu[] = { "Schritt vor", // key bind to Move Forward "Schritt zurück", // key bind to Move Backward "Seitwärts links", // key bind to Step Left JG:990802 "Seitwärts rechts", // key bind to Step Right JG:990802 "Angriff", // key bind to Attack "Springen", // key bind to Jump/Up "Benutzen", // key bind to Use/Operate object JG:990802 "Kriechen", // key bind to Crouch/Down "Nächste Waffe", // key bind to Next Weapon "Vorherige Waffe", // key bind to Prev Weapon "Drehung links", // key bind to Turn Left JG:990802 "Drehung rechts", // key bind to Turn Right JG:990802 "Laufen", // key bind to Run "Seitwärts", // key bind to Sidestep JG:990802 "Blick hoch", // key bind to Look Up JG:990802 "Blick runter", // key bind to Look Down JG:990802 "Blick zentrieren", // key bind to Center View "Mausblick", // key bind to Mouse Look "Tastatur-Sicht", // key bind to Keyboard Look JG:990802 "Vergrößern", // key bind to increase screen size "Verkleinern", // key bind to decrease screen size "HUDs zeigen", // key bind to Show All Huds "Gepäck öffnen", // key bind to Inventory Open "Gegenstand benutzen", // key bind to Use Item "Nächsten Gegenstand", // key bind to Next Item "Vorherigen Gegenstand", // key bind to Prev Item "Partner wechseln", // key bind to Swap Sidekick "Nächster Befehl", // key bind to Command Next "Vorheriger Befehl", // key bind to Command Prev "Befehl anwenden", // key bind to Command Apply ARROW_LEFT_STRING " Links", // left arrow key ARROW_UP_STRING " Aufwärts", // up arrow key ARROW_DOWN_STRING " Abwärts", // down arrow key ARROW_RIGHT_STRING " Rechts", // right arrow key "--", // no bind setting for this key "ENTER zum Bestätigen; DEL zum Löschen.", // set/delete key TX NOTE:sentence. "Um auszuwählen, ENTER drücken.", // select key TX NOTE:sentence. JG:990802 "Um abzubrechen, ESC drücken.", // set/abort TX NOTE:sentence. JG:990802 "Standard", // default button Standardeinstellungen JG:990802 "Keine", // no mouse bindings "Links/rechts bewegen", // mouse "move left and right" setting JG:990802 "Links/rechts drehen", // mouse "turn left and right" setting JG:990802 "Oben/unten sehen", // mouse "look up and down" setting JG:990802 "Vorwärts/Zurück", // mouse "move forward and back" setting "Y-Achse umkehren", // reverse mouse axis "Mausblick", // Mouse-Look "Blick/Feuern", // Mouse-strafe "X-Achse", // x axis "Y-Achse", // y axis "Taste 1", // button 1 label "Taste 2", // button 2 label "Taste 3", // button 3 label "Befehl auswählen (ESC zum Abbrechen).", // select a command, ESCape to cancel JG:990802 "Zur Seite drehen", // turn left and right, abbreviated "Zur Seite gehen", // strafe left and right, abbreviated "Oben/unten sehen", // look up and down, abbreviated "Vorwärts/Zurück", // move forward and back, abbreviated "Sensitivität X-Achse", // mouse sensitivity for x-axis "Sensitivität Y-Achse", // mouse sensitivity for y-axis "Mausoptionen konfigurieren:", // configure mouse options TX NOTE:sentence. "Deathmatch", // 'deathmatch' game "Deathtag", // 'deathtag' game "Kooperativ", // 'cooperative' game "Einfach", // easy difficulty "Mittel", // medium difficulty "Schwer", // hard difficulty "Internetspiel suchen", // SCG[12/1/99]: "Netzwerkspiel suchen", // SCG[12/1/99]: "Mehrspielerrunde starten", // SCG[12/1/99]: "Netzwerk", // local area network game "Internet", // internet game "Teilnehmen", // join server "Neu anlegen", // new server "Hinzufügen" ARROW_DOWN_STRING, // add address "Aktualisieren", // refresh network games (13 chars--must enlarge button) "Setup", // player setup "Übertragungsrate", // connection speed label "28.8 KB", // connection type 1 "56.6 KB", // connection type 2 "ISDN", // connection type 3 "Kabel/DSL", // connection type 4 "T1/Netzwerk", // connection type 5 "Benutzerdefiniert", // connection type 6 TX NOTE:user enters his own connection type. "Zeitlimit", // SCG[12/2/99]: "Farbe der Spielfigur", // SCG[12/2/99]: "Anfangsepisode", // SCG[12/2/99]: "Mannschaft", // SCG[12/1/99]: "Flag-Limit", // SCG[12/1/99]: "Farbe Team 1", // SCG[12/1/99]: "Farbe Team 2", // SCG[12/1/99]: "Punktelimit", // SCG[12/1/99]: "Abschußlimit", // SCG[12/1/99]: "Level-Limit", // frag limit "Anfangsepisode", // SCG[12/2/99]: "Karte", // SCG[12/1/99]: "Spielmodus", // game mode (deathmatch,deathtag,co-op) "Fähigkeiten", // skill level "Zeitlimit", // time limit "Max. Spieler", // maximum players "Spielfigur", // character "Farbe", // base color "Start!", // start multiplayer game "Waffen bleiben", // weapons remain with you into the next area of play "Neue Gegenstände", // items rematerialize on the map JG:990802 "Sichere Position", // place user's character at the farthest point from other players "Notausgang", // allow players to exit the level wihtout being killed first "Gleiche Karte", // use the same map as last time "Wiederbelebung", // make the respawn command happen now. JG:990802 "Sturzschaden", // players take damage from falling down JG:990802 "Sofort-Powerups", // make instant power-ups available in the game "Erlaube Powerups", // allow power-ups to be used in the game JG:990802 "Erlaube Heilung", // allow health kits to be used in the game JG:990802 "Erlaube Rüstung", // allow armor to be used in the game JG:990802 "Unbegrenzte Munition", // unlimited ammunition JG:990802 "Sicht beschränken", // limits the user's field-of-vision JG:990802 "Mannschaftsspiel", // team-play "Verletzungen", // hurt teammates allows players to cause damage to team-mates. JG:990802 "Schnellwahl", // allows a player to change weapons faster than normal JG:990802 "Schritte", // footsteps become audible or silent "Erlaube Hook", // allow hook JG:990802 (grappling hook) "Munitionshülsen", // show shotgun shells? "Server-IP-Adresse", // server internet provider address "Keine Spiele gefunden", // no local games found TX NOTE:sentence. "Karte starten", // starting map "Servername", // server name "Spielername", // player name "Mannschaft ", // team name "Harakiri begehen?", // confirm quit TX NOTE:Do not translate Harakiri--it's Jpn. "Ja", // yes, acknowledgement "Nein", // no, acknowledgement "Speichern", "Konf. laden", //cek[12-6-99] "Konf. sichern", //cek[12-6-99] "Konf. löschen", //cek[12-6-99] "Konfigurationsdatei auswählen", //cek[12-6-99] "Ausgewählte Datei löschen?", //cek[12-6-99] "Spiel laden", //cek[12-6-99] "Rüst.", //cek[12-6-99] "Ges.", //cek[12-6-99] "Stufe", //cek[12-6-99] "Gegner", //cek[12-6-99] "Geheimnisse", //cek[12-6-99] "Zeit", //cek[12-6-99] "Gesamt", //cek[12-6-99] "Episode", //cek[12-6-99] "3D-Sound", //cek[12-6-99] "gespeichert", //cek[12-7-99] "geladen", //cek[12-7-99] "gelöscht", //cek[12-7-99] "Mausglättung", //cek[12-7-99] "Rad hoch", //cek[12-7-99] "Rad runter", //cek[12-7-99] "ALT-TAB nicht erlaubt", //cek[12-7-99] "Blut und Gemetzel", //cek[12-7-99] "Waffen bewegen sich", //cek[12-7-99] "Auto-Waffentausch", //cek[12-7-99] "Intensität", //cek[12-7-99] "Glänzende Waffen", //cek[12-7-99] "Einschußlöcher", // SCG[1/4/00]: "Vorwärts", //cek[12-9-99] "Seitwärts", //cek[12-9-99] "Rauf", //cek[12-9-99] "Steigung", //cek[12-9-99] "Ausweichen", //cek[12-9-99] "Joystick benutzen", //cek[12-9-99] "Achse konfigurieren", //cek[12-9-99] "Joystickoptionen konfigurieren:", //cek[12-9-99] "Eine Funktion für diesen Knopf auswählen", //cek[12-9-99] "Um fortzufahren, Joystickbutton drücken", //cek[12-9-99] "Grenzwert", //cek[12-9-99] "Empfindlichkeit", //cek[12-9-99] "Capture the Flag", //cek[12-10-99] "Zurück", //cek[12-10-99] "56,6 KB", //cek[12-10-99] "Auto", //cek[12-10-99] "Team 1", //cek[12-10-99] "Team 2", //cek[12-10-99] "Intro abspielen", //cek[12-13-99] "Handicap-System", //cek[12-13-99] "Mausgeschwindigkeit", //cek[12-13-99] "Partner: Nimm", // cek[1-3-00] "Partner: Komm", // cek[1-3-00] "Partner: Angriff", // cek[1-3-00] "Partner: Rückzug", // cek[1-3-00] "Partner: Bleib", // cek[1-3-00] "Wähle Waffe %d", // cek[1-4-00] as in "Select Weapon 1" (leave the %d) "HUD: durchlaufen", // cek[1-5-00] -- for these, translate HUD to something short and reasonably "HUD: nächstes", // cek[1-5-00] -- similar in meaning. "HUD: vorheriges", // cek[1-5-00] "HUD: benutzen", // cek[1-5-00] "Nachricht", // cek[1-11-00] "Abschussliste", // SCG[1/13/00]: "Befehl an Team", // cek[1-22-00] "%s ist bereits %s zugewiesen", // cek[1-22-00] as in "F is already assigned to attack" (leave in %s) "Ersetzen?", // cek[1-22-00] "Toastednet", // FS: changed to tnet "DK-News", // cek[2-1-00] "Möchten Sie fortfahren?", // cek[2-1-00] // for the next two, all \n in the strings denotes a string break. These must remain in place and the translated // string should have them in roughly the same place. "Custom-Maps, Mods und mehr gesucht?\nGehen Sie auf dk.toastednet.org.\nMit Klick auf 'Ja' starten Sie ihren Browser.", // FS: changed to tnet "Sie wünschen Neuigkeiten zu Daikatana?\nDann suchen Sie www.daikatananews.net auf.\nMit Klick auf 'Ja' starten Sie ihren Browser.", // FS: changed to dknews // cek[2-1-00] "Waffe %d", // cek[3-6-00]: treat as "weapon 1" "Abbrechen", // cek[3-9-00] "www.daikatananews.net", // FS: changed to dknews // cek[3-9-00] "Zu www.daikatananews.net wechseln?\nMit Klick auf 'Ja' starten Sie ihren Browser.", // cek[3-9-00] "Waffenkonfiguration", // FS "Instagib", // FS "Deathmatch Kommentar", // FS "Unbegrenzt speichern", // FS "CTF/DT Hinweise", // FS "Nach Updates suchen", // FS "Hinweis zu Mini-Drivers", // Knightmare added 2/20/13 "Diese Version von Daikatana unterstützt nicht\nlänger die 3DFX und PowerVR Mini-Treiber.\n3DFX Usern wird dringend empfohlen die\nMetabyte WickedGL-Treiber zu benutzen.", // Knightmare added 2/20/13 "Download WickedGL-Treiber", // Knightmare added 2/20/13 "Zu www.3dfxzone.it wechseln? \nMit Klick auf 'Ja' starten Sie ihren Browser.", // Knightmare added 2/20/13 "Zu OpenGL-Standard wechseln?", // Knightmare added 2/20/13 "Update verfügbar", // FS: Autoupdates "Eine neue Version von Daikatana v1.3\nist verfügbar.", // FS: Autoupdates "Ihre PAK-Dateien sind veraltet.\nEs können keine v1.0 PAK-Dateien verwendet werden.\nDaikatana v1.3 benötigt v1.2 PAK-Dateien.\nFür das Upgrade hier klicken.", // FS: Autoupdates "Daikatana wird die PAK-Dateien verifizieren.\nDie Überprüfung kann auf älteren Computern 30 Sek.\ndauern und wird nur ein einziges Mal durchgeführt.", // FS: Autoupdates "Eine neue Version von Daikatana v1.3 Karten\nist verfügbar.", // FS: Autoupdates "Update herunterladen", // FS: Autoupdates "PAK-Dateien verifizieren", // FS: Autoupdates "Nein Danke", // FS: Autoupdates "Zu dk.toastednet.org wechseln?\nMit Klick auf 'Ja' starten Sie ihren Browser.", // FS: Autoupdates "Screenshot", // Knightmare added 1/21/14 "Stiller Screenshot", // Knightmare added 1/21/14 "Erfahrungspunkte teilen", // Knightmare added 2/1/14 "Spiel löschen", // Knightmare added 2/7/14 "Ausgewähltes Spiel löschen?", // Knightmare added 2/7/14 "Umschalttaste", // FS: For Mouse and Joystick "Wir haben viel Zeit darauf verwandt, die original\nKarten zu reparieren und haben außerdem weitere\nBesonderheiten, wie Regeneration der Gesundheit\nund einer verbesserten Partner-KI hinzugefügt.\nDas Spiel macht mehr Spaß mit Partnern.", // FS: For no sidekicks "Wollen Sie wirklich ohne Partner spielen?", // FS: For no sidekicks "Erhöhe Stärke", // FS: Added by request "Erhöhe Angriff", // FS: Added by request "Erhöhe Tempo", // FS: Added by request "Erhöhe Akrobatik", // FS: Added by request "Erhöhe Vitalität", // FS: Added by request "Taste 4", // Knightmare 1/30/15- button 4 label "Taste 5" // Knightmare 1/30/15- button 5 label }; static char *tongue_menu_options[] = { "Immer laufen", // makes user's characters run everywhere "Schauen und springen", // look + jump "Schauen und feuern", // look + strafe (shoot wildly) "Automatisch zielen", // computer aims at nearest target for the user "Fadenkreuz", // a crosshair is displayed "Waffe sichtbar", // weapon is visible "Untertitel", //subtitles "SFX-Lautstärke", // volume for sound fx "Musiklautstärke", // volume for music "Filmlautstärke", // volume for cinematics "Software", // video mode, software "OpenGL", // video mode, opengl "Änderungen übernehmen", // apply video mode changes TX NOTE:sentence. "Vollbild", // make view use the full screen "Schatten", // allow shadows "Treiber", // video driver "Auflösung", // choose/set screen display resolution "Bildschirmgröße", // choose/set screen size "Helligkeit", // choose/set brightness "Texturqualität", // choose/set quality of 3D image textures "Statusleiste sichtbar", // choose/set whether the status bar is visible. "Nebel- und Wasserdetails", // SCG[12/4/99]: "Ronin", // difficulty level easy "Samurai", // difficulty level medium "Shogun", // difficulty level hard "Schnee und Regen", // cek[1-11-00] "Nebel", // cek[1-11-00] "Powerup-Geräusche wiedergeben", // FS "Fehlende Sounds abspielen", // FS "Partnerdialoge wiedergeben", // FS "Anisotrope Filterung", // Knightmare added 5/29/12 "Benutzerdefinierte Breite", // Knightmare added 5/29/12 "Benutzerdefinierte Höhe", // Knightmare added 5/29/12 "Statusleiste Größe", // Knightmare added 6/14/12 "Vertikale Sync.", // Knightmare added 10/4/12 "Async. Refresh", // Knightmare added 10/4/12 "Aktualisierungsrate", // Knightmare added 10/4/12 "Screenshot-Format", // Knightmare added 3/11/13 "Punkt", // Knightmare added 5/10/13 "Volume", // Knightmare added 5/10/13 "Download-Optionen", // Knightmare added 11/19/13 "Ermögliche Download", // Knightmare added 11/19/13 "Ermögliche HTTP Download", // FS added 03/29/15 "Karten / Texturen", // Knightmare added 11/19/13 "Sounds", // Knightmare added 11/19/13 "Modelle", // Knightmare added 11/19/13 "Sound-Rate", // Knightmare added 2/2/14 "Audio-Engine", // Knightmare added 7/8/16 "Sprache", /* FS: Multi-Lang DLL */ "Keine Partner", /* FS: No sidekicks new game option */ "Bonus Speicherjuwel", /* FS: Bonus save gems */ /* FS: More Options! */ "Seite 1", "Seite 2", "Framerate anzeigen", "Q3A Konsolenbefehle", "Zwischensequenzen", "Autovervollständigung", "Chat-Nachricht", "Sidekick Warnung", "Auto-Demoaufnahme", "Schadenstreffer", "Uhrzeit zeigen", "Chat-Warteschlange", "Bevorzugtes Musikformat", // Knightmare added 3/5/17 "Lauter Ladebildschirm", }; //descriptions for the texture quality settings. static char *texture_quality_desc[] = { "Voll", "Halb", "1/4", "1/8" }; // weapon names TX NOTE:"you picked up" +.TX NOTE:translate what you can. "localize" spellings of anything else. static char *tongue_weapons[] = { "keine Munition", //only shows up if you have no ammo for the weapon you're trying to use. TX NOTE:treat like sentence "you have "no ammo". "Ballista", "Munition für die Ballista", "Bolzer", "Bolzen", "C4-Vitzatergo", "C4-Pakete", "Daikatana", "Diskus von Dädalus", "Diskus", "Disruptor-Handschuh", "Automark 2020", //TX NOTE:a ficticious automatic pistol--US game currently reads "Glock", but that's a trademark. "einige Gewehrkugeln", "Hammer", "Ionen-Blaster", "das Ionenpack", // SCG[11/28/99]: [accusative=You picked up...] "Kineticore", "Rail-Ball", "Metamaser", "Munition für den Metamaser", "Nharres Alptraum", "ein bißchen Fleisch", // SCG[11/28/99]: "Novastrahl", "Novapack", //JK [01/26/00] "Ripgun", "Rip-Ups", // Knightmare changed 8/29/14 "Shockwelle", "Schock-Sphäre", "Shotcycler", "Munition", "Sidewinder", "Sidewinder-Raketen", // SCG[11/28/99]: "Silberkralle", "Slugger", "Slugs", "Stavros' Stab", "Lava-Steine", "Sunflare", "Sunflare", "Poseidons Dreizack", "Dreizack-Spitzen", "Gifter", "Gift einer Kobra", // SCG[11/28/99]: "Wyndrax Hauch", "Hauchladungen", "Hand des Zeus", "Bolzen", "Ultimative Gashände", // FS: Needed for Configure Weapons Menu "Ionen-Blaster", "C4-Vitzatergo", "Shotcycler", "Sidewinder", "Shockwelle", "Diskus von Dädalus", "Gifter", "Sunflare", "Hammer", "Poseidons Dreizack", "Hand des Zeus", "Bolzer", "Stavros' Stab", "Ballista", "Wyndrax Hauch", "Nharres Alptraum", "Automark 2020", "Slugger", "Kineticore", "Ripgun", "Novastrahl", "Metamaser", // Knightmare 8/29/13- Cordite grenades was stealing ripgun ammo identifier "Cordit-Granaten" }; // armor TX NOTE:"you picked up" +.TX NOTE:translate what you can. "localize" spellings of anything else. static char *tongue_armors[] = { "Eisenrüstung", "Chromrüstung", "Silberrüstung", "Goldrüstung", "Kettenrüstung", "Rüstung aus schwarzem Adamant", "Kevlar-Rüstung", "Ebonit-Rüstung" }; // monster names TX NOTE:NOMINITIVE CASE. translate what you can. "localize" spellings of anything else. static char *tongue_monsters[] = { "RoboCo-Kampfeber", "Schwarzer Gefangene", "Buboid", "RoboCo-Cambot", "Zenturio", "Cerberus", "Fliegender Schütze", "Karyatide", "RoboCo-Krokodil", "RoboCo-Todessphäre", "Fledermaus des Todes", "Drache", "Zwerg", "Femgang", "Fährmann", "Bogenschütze", "RoboCo-Froschinator", "König Garroth", "Goldfisch", "Griffon", "Harpyie", "Mitgefangener", "Kage", "Paladin des Höllenfeuers", "Voltaische Walküre", "Laboraffe", "Laborarbeiter", "RoboCo-Lasergat", "Lycanthir", "Medusa", "Mishimas Wachen", "Nharre der Totenbeschörer", "Pest-Ratte", "Kanal-Ratte", "Priester", "Gefangener", "RoboCo-Protopod", "Psyclaw", "Roboco RageMaster 5000", "Raketen-Gang-Mitglied", "SEAL-Raketenkanonier", "Rotwurm", "Satyr", "SEAL-Kämpfer", "SEAL-Captain", "SEAL-Schütze", "Hai", "Schlachter", "Skelett", "Arbeiter", "Fetter Arbeiter", "Roboco-Drecksarbeiter", "Kleine Spinne", "Spinne", "Stavros der Zauberer", "Chirurg", "Dieb", "RoboCo Donner-Skeet", "Uzi-Gang-Mitglied", "Weißer Gefangene", "Magier", "Wyndrax der Magier", "Möwe", "Feuerfliege", "Wispe", "Mikkiko", "Geist", "Der DopeFisch", }; static char *tongue_world[] = { "weitere Sache(n) gibt's zu tun.", // triggers to go until sequence complete TX NOTE:## +. "Sequenz vollständig", // trigger sequence completed TX NOTE:sentence. "Sie brauchen", // need a specific key TX NOTE:followed by the key needed. "Sie brauchen den richtigen Schlüssel.\n", // wrong key in possession TX NOTE:sentence. "Kann nicht auf diesem Weg geöffnet werden.\n", "Die Wirkung des Giftes läßt nach.\n", // poison expiring TX NOTE:sentence. "Ihre Sauerstoffflasche ist fast leer.\n", // oxylung expiring TX NOTE:sentence. "Ihre Überlebensanzug bietet gleich keinen Schutz mehr.\n", // envirosuit expiring TX NOTE:sentence. "Grüner Elf mag schlechtes Essen.\n", // megashield expiring TX NOTE:sentence. "Die Gespenstersphäre wird schwächer.\n", // wraith orb expiring TX NOTE:sentence. "Die Extra-Energie ist fast aufgebraucht.\n", // power boost expiring TX NOTE:sentence. "Die Extra-Angriffsstärke läßt nach.\n", // attack boost expiring TX NOTE:sentence. "Der Geschwindigkeitschub wird schwächer.\n", // speed boost expiring TX NOTE:sentence. "Der Akrobatikschub ist wird schwächer.\n", // jump boost expiring TX NOTE:sentence. "Der Vitalitätsschub ist wird schwächer.\n", // health boost expiring TX NOTE:sentence. "ist dem Spiel beigetreten", // player joined the game TX NOTE:NAME +. "hat das Level verlassen", // player exited the level TX NOTE:NAME +. "Hiro Miyamoto", // Hiro Miyamoto's full name TX NOTE:same as in script. "Superfly Johnson", // Superfly's full name TX NOTE:same as in script. "Mikiko Ebihara", // Mikiko's full name TX NOTE:same as in script. // SCG[10/18/99]: these next 5 had enums, but no strings. "Sie wurden wegen Spamming gekickt", // SCG[10/18/99]: T_PLAYER_SELF_SPAM_KICK // FS: Updated this "wurde wegen Spamming gekickt", // SCG[10/18/99]: T_PLAYER_SPAM_KICK // FS: Updated this "", // SCG[10/18/99]: T_PLAYER_TIME_LIMIT_HIT "", // SCG[10/18/99]: T_PLAYER_FRAG_LIMIT_HIT "Unbekannter Spieler", // SCG[10/18/99]: T_TELL_CMD_UNKNOWN_PLAYER // FS: Updated this "Kann den Bereich nicht verlassen: Es fehl(t/en): \n", // SCG[10/18/99]: no exiting level without sidekicks "Kann nicht gehen ohne: \n", // SCG[10/18/99]: no exiting level without sidekicks "Vergiftet!\n", // NSS[11/29/99]: Needed a generic and yet global poisoned message "Du hast ein Geheimnis entdeckt!\n", // cek[1-3-00] "Die Wirkung des Manaschädel läßt nach.\n", "Festgenagelt!\n", // FS "Massaker!\n", // FS "Frohe Feiertage von der Daikatana 1.3 Team!\n", // FS "und" // FS }; static char *tongue_deathmsg_daikatana[] = { "%s wird aufgeschlitzt von %s\n" //Daikatana }; static char *tongue_deathmsg_self[] = { " hat finale Kopfschmerzen.\n", // death, fell TX NOTE:character +. TX NOTE:use your own appropriate slang. "hat zuviel Wasser inhaliert.\n", // death, drowned TX NOTE:character +. TX NOTE:use your own appropriate slang. "ist schön knusprig.\n", // death, lava TX NOTE:character +. TX NOTE:use your own appropriate slang. "ist weggeschleimt worden.\n", // death, slimed TX NOTE:character +. TX NOTE:use your own appropriate slang. "hat sich den Magen verdorben.\n", // death, poison TX NOTE:character +. TX NOTE:use your own appropriate slang. "war des Lebens überdrüssig.\n", // death, killed self TX NOTE:character +. TX NOTE:use your own appropriate slang. "ist verteleportiert.\n", // death, teleport TX NOTE:character +. TX NOTE:use your own appropriate slang. "wurde eingestampft.\n", // death, crushed TX NOTE:character +. TX NOTE:use your own appropriate slang. "hat sich an C4 verschluckt.\n", // death, C4 explosives TX NOTE:character +. TX NOTE:use your own appropriate slang. "wurde festgefroren.\n", // FS: death, frozen "vom Blitz schockiert.\n" // FS: death, shocked by lightning bolts in e3 }; static char *tongue_deathmsg_weapon1[] = // %s = name of attacker/victim { "%s wurde von %s gedemütigt!\n", //disruptor glove- NOTE:use your own appropriate slang. "%s verpaßte %s den letzten Husten!\n", //ultimate gashands "%s wurde von %s ionisiert!\n", //Ion blaster "%s hat %s gleichmäßig verteilt!\n", //C4 "%s hat %s seinen Doppellauf verpaßt!\n", //Shotcycler "%s geht dank %s ab wie eine Rakete!\n", //Sidewinder "%s hat %s geschüttelt, nicht gerührt!\n" //Shockwave }; static char *tongue_deathmsg_weapon2[] = // %s = name of attacker/victim { "%s hat mit %s Dodgeball gespielt!\n", //Discus- NOTE:use your own appropriate slang. "%s hat %s vergiftet!\n", //venomous "%s hat %s schön knusprig gebräunt!\n", //Sunflare "%s hat %s geplättet!\n", //Hammer "%s hat %s gebissen!\n", //trident "%s kniet vor Zeus nieder!\n" //Zeus }; static char *tongue_deathmsg_weapon3[] = // %s = name of attacker/victim { "%s wurde von %s tranchiert!\n", //Silverclaw- NOTE:use your own appropriate slang. "%s hat %s den Ast abgeknickt!\n", //Bolter "%s hat %s etwas Holz überreicht!\n", //Ballista "%s wurde von %ss Meteor verkokelt!\n", //Stave "%s steht dank %s tierisch unter Strom!\n", //Wisp "%s hat %ss Dämon kennengelernt!\n" //Nightmare }; static char *tongue_deathmsg_weapon4[] = // %s = name of attacker/victim { "%s hat %s eine Metallfüllung verpaßt!\n", //Glock- NOTE:use your own appropriate slang. "%s bombardiert %s!\n", //Slugger "%s wurde von %s geschnetzelt!\n", //Ripgun "%s hat mit %s eine ziemliche Sauerei veranstaltet!\n", //Cordite "%s wurde von %s vereist!\n", //Kineticore "%s hat %s gelocht und abgeheftet!\n", //Novebeam "%s bekam Masern von %s!\n" //Metamaser }; static char *tongue_scoreboard[] = { "Name", "Abschüsse", "Ping", "Zeit", "Schüsse", "Treffer", "Gestorben", "Punkte" // cek[1-22-00] }; static char *tongue_difficulty[] = // difficulty settings for 'new game' menu { "Schwierigkeitsgrad wählen:", // difficulty header TX NOTE:using karate skill levels. "Ronin", // newbie "Samurai", // average "Shogun" // expert (or so they think!) }; static char *tongue_skincolors[] = { "Blau", // blue "Grün", // green "Rot", // red "Gold" // gold }; static char *tongue_statbar[] = { "STÄRKE", // skill 'power' label "ANGRIFF", // skill 'attack' label "TEMPO", // skill 'speed' label "AKROBATIK", // skill 'acrobatic' label "VITALITÄT", // skill 'vitality' label "RÜSTUNG", // armor label "GESUNDHEIT", // health label "MUNITION", // ammo label "ABSCHÜSSE", // kills label "STUFE", // experience points label "STUFE HOCH!", // experience level up "Wählen", // select skill "Erfahrungspunkt zuweisen", // add point to skill "Lädt..." // loading new level }; static char *tongue_weapon_misc[] = { "C4-Ladungen werden instabil!" // C4 modules are de-stabilizing }; static char *tongue_sidekick[] = // sidekick commands { "Heb's auf", // 'get', 'pick up' item command "Komm' her", // 'come here', 'come to me' "Bleib", // 'stay' command, 'don't move' "Greif' an", // 'attack' command "Rückzug", // 'back off', 'move away' "Gib mir" // asking to pick up an item: "Can I have the ...?" or "i need the..." }; static char *tongue_ctf[] = { "Rote Flagge", "Blaue Flagge", "Unbekanntes Team", "%s Flagge", // when translating, treat '%s Flag' as 'red Flag' and place the %s before or after flag // depending on the syntax of the language. ie if the expression should be 'Flag red' use 'Flag %s' "Rot", "Blau", "Chrom", "Stahl", "Grün", "Orange", "Lila", "Gelb", "Spielstand jetzt %s:%d, %s:%d\n", "Sie erobern die %s!\n", "%s aus Ihrem Team erobert die %s!\n", "%s vom Team %s erobert Ihre Flagge!\n", // when translating, treat '%s team' as 'red team' and place the %s before or after team // depending on the syntax of the language. ie if the expression should be 'team red' use 'team %s' "Sie schnappen sich die %s\n", "%s aus Ihrem Team schnappt sich die %s\n", "%s hat Ihre Fahne gestohlen\n", "Die %s wurde zurückgebracht\n", "%d ist eine ungültige Teamnummer. Verwenden Sie 1 oder 2\n", "Sie gehören zu Team %d (%s)\n", "Sie sind schon in Team %d\n", "%s schließt sich Team %s an\n", // translate same as with the %s team above "Das Team %s hat gewonnen!\nEndergebnis: %s:%d, %s:%d\n", // translate same as with the %s team above "Das Spiel endet unentschieden!\n", "Die Zeit ist abgelaufen!\n", "Das Limit wurde erreicht!\n", "Sie bereit für Überstunden!\n", // FS "Sie haben die gegnerische Flagge. Zurück zur Basis!\n", // FS "Die Gegner haben eure Fahne! Holt sie Euch zurück!\n" // FS }; static char *tongue_deathtag[] = { "Bombe", // as in backpack "%s Bombe", // as in red pack "Punktelimit erreicht!\n", "Ihre Zeit wird knapp!\n", "Ihre Zeit ist abgelaufen!\n", "%s vom Team %s schnappt sich die %s!\n", // translate using the '%s team' guidelines above "Ihr Team erhält einen Punkt!\n", "Ihr Team erhält %d Punkte!\n", // you get 2 points "Das %s Team erhält einen Punkt!\n", // translate using the '%s team' guidelines above "Das %s Team erhält %d Punkte!\n", // The red team gets 2 points "Sie punkten!\n", "%s aus Ihrem Team hat Punkte gemacht!\n", "%s vom Team %s hat Punkte gemacht!\n", "Sie haben die Bombe! Mach' den Punkt!\n", // FS "Das andere Team hat seine Bombe!\n" // FS }; // FS: --------------------new------------------------- static char *tongue_save_error[] = { "Speichern ist nur in einem lokalen Spiel möglich!\n", "Sir, ohne Spiel - kein Speichern!\n", "Kann Spiel im Deathmatch-Modus nicht speichern!\n", "Während einer Filmsequenz können Sie nicht speichern!\n", "Wenn Sie tot sind, können Sie auch nicht speichern!\n", "Während der Pause können Sie nicht speichern!\n", "Hier können Sie nicht speichern!\n" }; /* FS: Mult-Lang DLL */ static char *tongue_quit_msgs[] = { "Du dachtest wohl, du wärst groß und stark,|aber bist wirklich nur ein kleines Baby, oder?", // "Ya thought you were a big boy, but you're|really just a baby boy, aren't you?", "Willst du dieses Spiel aufgeben,|wie alles andere im Leben?", // "Are you gonna quit this game just like|you quit everything else in life?", "Gehst du, weil die schöne Harfenmusik und die|schaurigen Grillen dich zum Weinen bringen?", // "Does the pretty harp music and the scary|crickets make you cry and quit?", "Beendest du, weil diese ganzen Zeitreisen|dich fertig machen und verwirren?", // "Does all this time travel really boggle|you down, confuse you and make you quit?", "Rennst du aus Angst vor den gruseligen Monstern|und gemeinen Robotern zu deiner Mami?", // "Did the scary monsters and mean robots|make you run to your mommy?", "Denk daran: Du bist erst wirklich fertig mit dem Spiel,|wenn du den Dopefish gefunden hast. Jetzt beenden?", // "Just remember: you haven't actually finished this game,|if you haven't found the Dopefish. Quit now?", "Du erträgst diese Hardcore Action wohl nicht mehr?|Rennst weg wie ein kleines Baby|und musst ins Bett, was?", // "Can't take much more of this hardcore action, eh? |Gotta run like a little baby and go to bed, right?", "Wenn du jetzt gehst, fange ich an einen|Shoggoth zu beschwören der dich zerfetzen wird,|während du schläfst. Ist das ok?", // "If you leave now, I'll start working on|summoning a Shoggoth to come tear you apart|while you sleep. Is that ok?", "Weißt du was? Während du weg bist, haue ich|den ganzen Monstern auf die Fresse, so dass|sie WIRKLICH SAUER sind, wenn du das nächste|Mal spielst, ok?", // "Hey, guess what? When you leave,|I'm going to start smacking all the monsters around|so they're REALLY MAD next time you play, ok?", "Während du weg bist werde ich beweisen ob|P != NP ist, ok?", // oder "Während du weg bist, arbeite ich weiter an der großen vereinheitlichten Theorie, ok?" // "While you're gone, I'm going to keep|working on the Grand Unified Theory, ok?", "Was zur Hölle ist bei dir eigentlich schiefgelaufen?", // "Are you broken?", "Hey, nimm dich in Acht vor den düsteren Navy|Seals in der San Francisco Episode, ok?", // "Hey, watch out for the Dark Troopers in the|San Francisco episode, ok?", "Du bist kein besonders toller Hecht, oder?", // "You're not much of a Kraken, are you?" "Ist das Spiel der Auslöser?|Wenn ja, sind Sie ein schwaches und erbärmliches|Nagetier und werden an dem Greif verfüttert!" // "Does this game trigger you? If so, you're a weak and pathetic rodent and will be fed to the griffin!" }; static char *tongue_quit_msgs_rare[] = { "Während du weg bist, werde ich ein bisschen|im Internet surfen. Einverstanden?", // "While you're away I think I'll link into some internet|sites and surf for a while. Is that okay with you?", "Willst du aus mir raus?", // "Get out of me?", "Schluckst du?", // "Suck it down(tm)?", "Ist der Affe schon gelandet?", // "Has the monkey landed yet?" }; /* FS: Wasn't originally translated. Reported by Robert. */ static char *tongue_menu_joystick[] = { "Konfiguriere Bewegung", "Keine", "Vorwärts/Rückwärts", "Hoch/runter gucken", "Seitwärts laufen", "Drehen" /* or "Links/rechts gucken" */, "Hoch", "Erweitert", "Konfiguriere Joystick-Achse", "Absolut (Stick)" };
-
reporter Hello Frank,
follow sentences are always in english:
Bonus Gem acquired --> Speicherjuwel aufgehoben
Current bonus total: 1 --> Aktueller Gesamtbonus: 1I think I have to play the complete game to find more inconsistencies and translation errors.
I saw them before, but I thought I can not do something. There for, thank you for your patience
and fixing.
Here an updated the language file.
Download German language file
In the next 2 weeks I'm in vacances.
Best regards,
Hightower
-
Hi Hightower, yes there are a few other messages that are hardcoding the english language instead of reading from the DLLs so there will be inconsistencies and require a world.dll recompile. If you find others let me know and I will fix them.
-
I was going to implement the Bonus Gem acquired message but the translation you gave me is the same as "Save Gem acquired" so maybe you want to double check the translation before I implement it.
-
reporter Sorry, I am not at home. I can not test or check something. But I can say, that I have updated the language file yesterday with the new translation:
Bonus Gem acquired --> Speicherjuwel aufgehoben
The follow sentence doesn't exist:
Current bonus total: 1 --> Aktueller Gesamtbonus: 1
-
I know it does not exist. What am I saying to you is in the l_german.h "Speicherjuwel aufgehoben" already exists in the table for the translation for "Save Gem acquired". Bonus Gems and Save Gems are not the same thing.
-
reporter You are right. Excuse. I mean: Save Gem acquired --> Speicherjuwel aufgehoben
In the Option menu is used: Bonus Gems --> Bonus-Speicherjuwel
-
Done. Thanks!
-
- changed status to closed
- Log in to comment
Yes, it's true we are limited in space and have not done extensive testing on the international builds. I will update the German language DLL with your suggestions. If you can think of anything else that would help the German translation let me know.