1
0
Fork 0
mirror of https://github.com/k4zmu2a/SpaceCadetPinball.git synced 2024-11-25 02:10:19 +01:00

Compare commits

...

2 commits

Author SHA1 Message Date
Muzychenko Andrey
88f835d068 Removed unused translated texts.
Fixed translation.h include leak.
Added TTextBox font color support.
2022-08-31 11:11:21 +03:00
Alexis Murzeau
66a868083a
Add translations (#153)
* Add translations from v1

* Add font configuration (to be able to use non-latin languages)

* translations: remove includes that are already in pch.h

* translations: rename enums and avoid macros

* Fix crash when the font file doesn't exist

* translations: avoid u8 to avoid reencoding by MSVC

MSVC will read the file as ASCII and reconvert characters as UTF-8, this will corrupt characters as the file is in fact already in UTF-8.

* translations: remove NUMBER in enums

* translations: handle non existing translations gracefuly (don't crash)

Fallback to english if available, else return empty string

* Testing pull collaboration.

* Rollback: remove NUMBER in enums.

* Get rid of namespace, use header instead.

* Collapsed translated text struct and array.

* Fixed build errors and warnings.

* Simplified language list.

* All new types, locals and globals should use CamelCase.

* Removed unnecessary ImGui patch.

* Rearranged TTextBox immediate mode draw.

* Final touches: removed unused declaration in gdrv.
Removed unused Msg entries and added new check.

* Remove placeholder english texts from missing translations

Co-authored-by: Muzychenko Andrey <33288308+k4zmu2a@users.noreply.github.com>
2022-08-31 07:58:03 +03:00
23 changed files with 7136 additions and 462 deletions

View file

@ -38,6 +38,8 @@ set(SOURCE_FILES
SpaceCadetPinball/control.h SpaceCadetPinball/control.h
SpaceCadetPinball/EmbeddedData.cpp SpaceCadetPinball/EmbeddedData.cpp
SpaceCadetPinball/EmbeddedData.h SpaceCadetPinball/EmbeddedData.h
SpaceCadetPinball/font_selection.cpp
SpaceCadetPinball/font_selection.h
SpaceCadetPinball/fullscrn.cpp SpaceCadetPinball/fullscrn.cpp
SpaceCadetPinball/fullscrn.h SpaceCadetPinball/fullscrn.h
SpaceCadetPinball/gdrv.cpp SpaceCadetPinball/gdrv.cpp
@ -131,6 +133,8 @@ set(SOURCE_FILES
SpaceCadetPinball/TPopupTarget.h SpaceCadetPinball/TPopupTarget.h
SpaceCadetPinball/TRamp.cpp SpaceCadetPinball/TRamp.cpp
SpaceCadetPinball/TRamp.h SpaceCadetPinball/TRamp.h
SpaceCadetPinball/translations.cpp
SpaceCadetPinball/translations.h
SpaceCadetPinball/TRollover.cpp SpaceCadetPinball/TRollover.cpp
SpaceCadetPinball/TRollover.h SpaceCadetPinball/TRollover.h
SpaceCadetPinball/TSink.cpp SpaceCadetPinball/TSink.cpp
@ -177,7 +181,7 @@ set(SOURCE_FILES
# On Windows, include resource file with the icon # On Windows, include resource file with the icon
if(WIN32) if(WIN32)
set_source_files_properties(SpaceCadetPinball/SpaceCadetPinball.rc LANGUAGE RC) set_source_files_properties(SpaceCadetPinball/SpaceCadetPinball.rc LANGUAGE RC)
list(APPEND SOURCE_FILES SpaceCadetPinball/SpaceCadetPinball.rc) list(APPEND SOURCE_FILES SpaceCadetPinball/SpaceCadetPinball.rc)
endif(WIN32) endif(WIN32)
add_executable(SpaceCadetPinball ${SOURCE_FILES}) add_executable(SpaceCadetPinball ${SOURCE_FILES})

View file

@ -38,6 +38,7 @@
#include "TPlunger.h" #include "TPlunger.h"
#include "TFlipper.h" #include "TFlipper.h"
#include "TDrain.h" #include "TDrain.h"
#include "translations.h"
int TPinballTable::score_multipliers[5] = {1, 2, 3, 5, 10}; int TPinballTable::score_multipliers[5] = {1, 2, 3, 5, 10};
@ -214,6 +215,7 @@ TPinballTable::~TPinballTable()
delete ComponentList[0]; delete ComponentList[0];
} }
control::ClearLinks(); control::ClearLinks();
pinball::InfoTextBox = pinball::MissTextBox = nullptr;
} }
TPinballComponent* TPinballTable::find_component(LPCSTR componentName) TPinballComponent* TPinballTable::find_component(LPCSTR componentName)
@ -290,7 +292,7 @@ void TPinballTable::tilt(float time)
{ {
pinball::InfoTextBox->Clear(); pinball::InfoTextBox->Clear();
pinball::MissTextBox->Clear(); pinball::MissTextBox->Clear();
pinball::InfoTextBox->Display(pinball::get_rc_string(35, 0), -1.0); pinball::InfoTextBox->Display(pinball::get_rc_string(Msg::STRING136), -1.0);
loader::play_sound(SoundIndex3, nullptr, "TPinballTable1"); loader::play_sound(SoundIndex3, nullptr, "TPinballTable1");
TiltTimeoutTimer = timer::set(30.0, this, tilt_timeout); TiltTimeoutTimer = timer::set(30.0, this, tilt_timeout);
@ -315,7 +317,7 @@ void TPinballTable::port_draw()
int TPinballTable::Message(int code, float value) int TPinballTable::Message(int code, float value)
{ {
LPSTR rc_text; const char* rc_text;
switch (code) switch (code)
{ {
case 1000: case 1000:
@ -369,9 +371,9 @@ int TPinballTable::Message(int code, float value)
LightGroup->Message(20, 0.0); LightGroup->Message(20, 0.0);
Plunger->Message(1016, 0.0); Plunger->Message(1016, 0.0);
if (Demo && Demo->ActiveFlag) if (Demo && Demo->ActiveFlag)
rc_text = pinball::get_rc_string(30, 0); rc_text = pinball::get_rc_string(Msg::STRING131);
else else
rc_text = pinball::get_rc_string(26, 0); rc_text = pinball::get_rc_string(Msg::STRING127);
pinball::InfoTextBox->Display(rc_text, -1.0); pinball::InfoTextBox->Display(rc_text, -1.0);
if (Demo) if (Demo)
Demo->Message(1014, 0.0); Demo->Message(1014, 0.0);
@ -466,11 +468,11 @@ int TPinballTable::Message(int code, float value)
{ {
if (PlayerCount <= 1) if (PlayerCount <= 1)
{ {
char* textboxText; const char* textboxText;
if (Demo->ActiveFlag) if (Demo->ActiveFlag)
textboxText = pinball::get_rc_string(30, 0); textboxText = pinball::get_rc_string(Msg::STRING131);
else else
textboxText = pinball::get_rc_string(26, 0); textboxText = pinball::get_rc_string(Msg::STRING127);
pinball::InfoTextBox->Display(textboxText, -1.0); pinball::InfoTextBox->Display(textboxText, -1.0);
break; break;
} }
@ -507,32 +509,32 @@ int TPinballTable::Message(int code, float value)
component->Message(1020, static_cast<float>(nextPlayer)); component->Message(1020, static_cast<float>(nextPlayer));
} }
char* textboxText = nullptr; const char* textboxText = nullptr;
switch (nextPlayer) switch (nextPlayer)
{ {
case 0: case 0:
if (Demo->ActiveFlag) if (Demo->ActiveFlag)
textboxText = pinball::get_rc_string(30, 0); textboxText = pinball::get_rc_string(Msg::STRING131);
else else
textboxText = pinball::get_rc_string(26, 0); textboxText = pinball::get_rc_string(Msg::STRING127);
break; break;
case 1: case 1:
if (Demo->ActiveFlag) if (Demo->ActiveFlag)
textboxText = pinball::get_rc_string(31, 0); textboxText = pinball::get_rc_string(Msg::STRING132);
else else
textboxText = pinball::get_rc_string(27, 0); textboxText = pinball::get_rc_string(Msg::STRING128);
break; break;
case 2: case 2:
if (Demo->ActiveFlag) if (Demo->ActiveFlag)
textboxText = pinball::get_rc_string(32, 0); textboxText = pinball::get_rc_string(Msg::STRING133);
else else
textboxText = pinball::get_rc_string(28, 0); textboxText = pinball::get_rc_string(Msg::STRING129);
break; break;
case 3: case 3:
if (Demo->ActiveFlag) if (Demo->ActiveFlag)
textboxText = pinball::get_rc_string(33, 0); textboxText = pinball::get_rc_string(Msg::STRING134);
else else
textboxText = pinball::get_rc_string(29, 0); textboxText = pinball::get_rc_string(Msg::STRING130);
break; break;
default: default:
break; break;
@ -549,7 +551,7 @@ int TPinballTable::Message(int code, float value)
case 1022: case 1022:
loader::play_sound(SoundIndex2, nullptr, "TPinballTable3"); loader::play_sound(SoundIndex2, nullptr, "TPinballTable3");
pinball::MissTextBox->Clear(); pinball::MissTextBox->Clear();
pinball::InfoTextBox->Display(pinball::get_rc_string(34, 0), -1.0); pinball::InfoTextBox->Display(pinball::get_rc_string(Msg::STRING135), -1.0);
EndGameTimeoutTimer = timer::set(3.0, this, EndGame_timeout); EndGameTimeoutTimer = timer::set(3.0, this, EndGame_timeout);
break; break;
case 1024: case 1024:
@ -661,7 +663,7 @@ void TPinballTable::EndGame_timeout(int timerId, void* caller)
if (table->Demo) if (table->Demo)
table->Demo->Message(1022, 0.0); table->Demo->Message(1022, 0.0);
control::handler(67, pinball::MissTextBox); control::handler(67, pinball::MissTextBox);
pinball::InfoTextBox->Display(pinball::get_rc_string(24, 0), -1.0); pinball::InfoTextBox->Display(pinball::get_rc_string(Msg::STRING125), -1.0);
} }
void TPinballTable::LightShow_timeout(int timerId, void* caller) void TPinballTable::LightShow_timeout(int timerId, void* caller)

View file

@ -145,6 +145,45 @@ void TTextBox::Display(const char* text, float time)
} }
} }
void TTextBox::DrawImGui()
{
// Do nothing when using a font (the text will be rendered to VScreen in TTextBox::Draw)
if (Font || !Message1)
return;
char windowName[64];
SDL_Rect rect;
ImGuiWindowFlags window_flags =
ImGuiWindowFlags_NoBackground |
ImGuiWindowFlags_NoDecoration |
ImGuiWindowFlags_NoSavedSettings |
ImGuiWindowFlags_NoFocusOnAppearing |
ImGuiWindowFlags_NoInputs;
rect.x = OffsetX;
rect.y = OffsetY;
rect.w = Width;
rect.h = Height;
rect = fullscrn::GetScreenRectFromPinballRect(rect);
ImGui::SetNextWindowPos(ImVec2(rect.x, rect.y));
ImGui::SetNextWindowSize(ImVec2(rect.w, rect.h));
// Use the pointer to generate a window unique name per text box
snprintf(windowName, sizeof(windowName), "TTextBox_%p", this);
if (ImGui::Begin(windowName, nullptr, window_flags))
{
ImGui::SetWindowFontScale(fullscrn::GetScreenToPinballRatio());
// ToDo: centered text in FT
ImGui::PushStyleColor(ImGuiCol_Text, pb::TextBoxColor);
ImGui::TextWrapped("%s", Message1->Text);
ImGui::PopStyleColor();
}
ImGui::End();
}
void TTextBox::Draw() void TTextBox::Draw()
{ {
auto bmp = BgBmp; auto bmp = BgBmp;
@ -189,13 +228,7 @@ void TTextBox::Draw()
{ {
if (!Font) if (!Font)
{ {
gdrv::grtext_draw_ttext_in_box( // Immediate mode drawing using system font is handled by TTextBox::DrawImGui
Message1->Text,
render::vscreen->XPosition + OffsetX,
render::vscreen->YPosition + OffsetY,
Width,
Height,
255);
return; return;
} }

View file

@ -22,6 +22,7 @@ public:
int Message(int code, float value) override; int Message(int code, float value) override;
void Clear(); void Clear();
void Display(const char* text, float time); void Display(const char* text, float time);
void DrawImGui();
private: private:
struct LayoutResult struct LayoutResult

View file

@ -29,6 +29,7 @@
#include "TPlunger.h" #include "TPlunger.h"
#include "TWall.h" #include "TWall.h"
#include "TTextBox.h" #include "TTextBox.h"
#include "translations.h"
int control_bump_scores1[] = {500, 1000, 1500, 2000}; int control_bump_scores1[] = {500, 1000, 1500, 2000};
int control_roll_scores1[] = {2000}; int control_roll_scores1[] = {2000};
@ -773,8 +774,38 @@ component_tag_base* control::simple_components[145]
int control::waiting_deployment_flag; int control::waiting_deployment_flag;
bool control::table_unlimited_balls = false; bool control::table_unlimited_balls = false;
int control::extraball_light_flag; int control::extraball_light_flag;
int control::RankRcArray[9] = {84, 85, 86, 87, 88, 89, 90, 91, 92}; Msg control::RankRcArray[9] =
int control::MissionRcArray[17] = {60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76}; {
Msg::STRING185,
Msg::STRING186,
Msg::STRING187,
Msg::STRING188,
Msg::STRING189,
Msg::STRING190,
Msg::STRING191,
Msg::STRING192,
Msg::STRING193
};
Msg control::MissionRcArray[17] =
{
Msg::STRING161,
Msg::STRING162,
Msg::STRING163,
Msg::STRING164,
Msg::STRING165,
Msg::STRING166,
Msg::STRING167,
Msg::STRING168,
Msg::STRING169,
Msg::STRING170,
Msg::STRING171,
Msg::STRING172,
Msg::STRING173,
Msg::STRING174,
Msg::STRING175,
Msg::STRING176,
Msg::STRING177
};
int control::mission_select_scores[17] = int control::mission_select_scores[17] =
{ {
10000, 10000,
@ -930,28 +961,28 @@ void control::table_add_extra_ball(float count)
{ {
++TableG->ExtraBalls; ++TableG->ExtraBalls;
soundwave28->Play(nullptr, "table_add_extra_ball"); soundwave28->Play(nullptr, "table_add_extra_ball");
auto msg = pinball::get_rc_string(9, 0); auto msg = pinball::get_rc_string(Msg::STRING110);
info_text_box->Display(msg, count); info_text_box->Display(msg, count);
} }
void control::table_set_bonus_hold() void control::table_set_bonus_hold()
{ {
lite58->Message(19, 0.0); lite58->Message(19, 0.0);
info_text_box->Display(pinball::get_rc_string(52, 0), 2.0); info_text_box->Display(pinball::get_rc_string(Msg::STRING153), 2.0);
} }
void control::table_set_bonus() void control::table_set_bonus()
{ {
TableG->ScoreSpecial2Flag = 1; TableG->ScoreSpecial2Flag = 1;
lite59->Message(9, 60.0); lite59->Message(9, 60.0);
info_text_box->Display(pinball::get_rc_string(4, 0), 2.0); info_text_box->Display(pinball::get_rc_string(Msg::STRING105), 2.0);
} }
void control::table_set_jackpot() void control::table_set_jackpot()
{ {
TableG->ScoreSpecial3Flag = 1; TableG->ScoreSpecial3Flag = 1;
lite60->Message(9, 60.0); lite60->Message(9, 60.0);
info_text_box->Display(pinball::get_rc_string(15, 0), 2.0); info_text_box->Display(pinball::get_rc_string(Msg::STRING116), 2.0);
} }
void control::table_set_flag_lights() void control::table_set_flag_lights()
@ -959,7 +990,7 @@ void control::table_set_flag_lights()
lite20->Message(9, 60.0); lite20->Message(9, 60.0);
lite19->Message(9, 60.0); lite19->Message(9, 60.0);
lite61->Message(9, 60.0); lite61->Message(9, 60.0);
info_text_box->Display(pinball::get_rc_string(51, 0), 2.0); info_text_box->Display(pinball::get_rc_string(Msg::STRING152), 2.0);
} }
void control::table_set_multiball(float time) void control::table_set_multiball(float time)
@ -973,7 +1004,7 @@ void control::table_set_multiball(float time)
lite38->Message(7, -1.0f); lite38->Message(7, -1.0f);
lite39->Message(7, -1.0f); lite39->Message(7, -1.0f);
lite40->Message(7, -1.0f); lite40->Message(7, -1.0f);
info_text_box->Display(pinball::get_rc_string(16, 0), 2.0); info_text_box->Display(pinball::get_rc_string(Msg::STRING117), 2.0);
midi::play_track(MidiTracks::Track3, true); midi::play_track(MidiTracks::Track3, true);
} }
} }
@ -993,7 +1024,7 @@ void control::table_bump_ball_sink_lock()
{ {
TableG->BallLockedCounter = TableG->BallLockedCounter + 1; TableG->BallLockedCounter = TableG->BallLockedCounter + 1;
soundwave44->Play(nullptr, "table_bump_ball_sink_lock"); soundwave44->Play(nullptr, "table_bump_ball_sink_lock");
info_text_box->Display(pinball::get_rc_string(1, 0), 2.0); info_text_box->Display(pinball::get_rc_string(Msg::STRING102), 2.0);
TableG->Plunger->Message(1018, 2.0f); TableG->Plunger->Message(1018, 2.0f);
} }
} }
@ -1002,7 +1033,7 @@ void control::table_bump_ball_sink_lock()
void control::table_set_replay(float value) void control::table_set_replay(float value)
{ {
lite199->Message(19, 0.0); lite199->Message(19, 0.0);
info_text_box->Display(pinball::get_rc_string(0, 0), value); info_text_box->Display(pinball::get_rc_string(Msg::STRING101), value);
} }
void control::cheat_bump_rank() void control::cheat_bump_rank()
@ -1013,8 +1044,8 @@ void control::cheat_bump_rank()
if (rank < 9) if (rank < 9)
{ {
middle_circle->Message(41, 2.0f); middle_circle->Message(41, 2.0f);
auto rankText = pinball::get_rc_string(RankRcArray[rank], 1); auto rankText = pinball::get_rc_string(RankRcArray[rank]);
snprintf(Buffer,sizeof Buffer, pinball::get_rc_string(83, 0), rankText); snprintf(Buffer,sizeof Buffer, pinball::get_rc_string(Msg::STRING184), rankText);
mission_text_box->Display(Buffer, 8.0); mission_text_box->Display(Buffer, 8.0);
soundwave10->Play(nullptr, "cheat_bump_rank"); soundwave10->Play(nullptr, "cheat_bump_rank");
} }
@ -1064,8 +1095,8 @@ int control::AddRankProgress(int rank)
if (midActiveCount < 9) if (midActiveCount < 9)
{ {
middle_circle->Message(41, 5.0); middle_circle->Message(41, 5.0);
auto rankText = pinball::get_rc_string(RankRcArray[midActiveCount], 1); auto rankText = pinball::get_rc_string(RankRcArray[midActiveCount]);
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(83, 0), rankText); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING184), rankText);
mission_text_box->Display(Buffer, 8.0); mission_text_box->Display(Buffer, 8.0);
soundwave10->Play(nullptr, "AddRankProgress"); soundwave10->Play(nullptr, "AddRankProgress");
} }
@ -1189,7 +1220,7 @@ void control::DeploymentChuteToEscapeChuteOneWayControl(int code, TPinballCompon
{ {
soundwave3->Play(nullptr, "DeploymentChuteToEscapeChuteOneWayControl"); soundwave3->Play(nullptr, "DeploymentChuteToEscapeChuteOneWayControl");
int score = TableG->AddScore(caller->get_scoring(count - 1)); int score = TableG->AddScore(caller->get_scoring(count - 1));
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(21, 0), score); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING122), score);
info_text_box->Display(Buffer, 2.0); info_text_box->Display(Buffer, 2.0);
if (!light_on(&control_lite56_tag)) if (!light_on(&control_lite56_tag))
{ {
@ -1252,7 +1283,7 @@ void control::LaunchRampControl(int code, TPinballComponent* caller)
{ {
someFlag = 1; someFlag = 1;
int addedScore = SpecialAddScore(TableG->ScoreSpecial1); int addedScore = SpecialAddScore(TableG->ScoreSpecial1);
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(10, 0), addedScore); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING111), addedScore);
info_text_box->Display(Buffer, 2.0); info_text_box->Display(Buffer, 2.0);
} }
if (light_on(&control_lite55_tag)) if (light_on(&control_lite55_tag))
@ -1338,7 +1369,7 @@ void control::ReentryLanesRolloverControl(int code, TPinballComponent* caller)
if (bump1->BmpIndex < 3) if (bump1->BmpIndex < 3)
{ {
attack_bump->Message(12, 0.0); attack_bump->Message(12, 0.0);
info_text_box->Display(pinball::get_rc_string(5, 0), 2.0); info_text_box->Display(pinball::get_rc_string(Msg::STRING106), 2.0);
} }
attack_bump->Message(48, 60.0); attack_bump->Message(48, 60.0);
} }
@ -1394,7 +1425,7 @@ void control::LaunchLanesRolloverControl(int code, TPinballComponent* caller)
if (bump5->BmpIndex < 3) if (bump5->BmpIndex < 3)
{ {
launch_bump->Message(12, 0.0); launch_bump->Message(12, 0.0);
info_text_box->Display(pinball::get_rc_string(6, 0), 2.0); info_text_box->Display(pinball::get_rc_string(Msg::STRING107), 2.0);
} }
launch_bump->Message(48, 60.0); launch_bump->Message(48, 60.0);
} }
@ -1492,7 +1523,7 @@ void control::BonusLaneRolloverControl(int code, TPinballComponent* caller)
if (light_on(&control_lite16_tag)) if (light_on(&control_lite16_tag))
{ {
int addedScore = SpecialAddScore(TableG->ScoreSpecial2); int addedScore = SpecialAddScore(TableG->ScoreSpecial2);
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(3, 0), addedScore); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING104), addedScore);
info_text_box->Display(Buffer, 2.0); info_text_box->Display(Buffer, 2.0);
lite16->Message(20, 0.0); lite16->Message(20, 0.0);
soundwave50_1->Play(caller, "BonusLaneRolloverControl1"); soundwave50_1->Play(caller, "BonusLaneRolloverControl1");
@ -1501,7 +1532,7 @@ void control::BonusLaneRolloverControl(int code, TPinballComponent* caller)
{ {
TableG->AddScore(caller->get_scoring(0)); TableG->AddScore(caller->get_scoring(0));
soundwave25->Play(caller, "BonusLaneRolloverControl2"); soundwave25->Play(caller, "BonusLaneRolloverControl2");
info_text_box->Display(pinball::get_rc_string(44, 0), 2.0); info_text_box->Display(pinball::get_rc_string(Msg::STRING145), 2.0);
} }
fuel_bargraph->Message(45, 11.0); fuel_bargraph->Message(45, 11.0);
} }
@ -1518,7 +1549,7 @@ void control::FuelRollover1Control(int code, TPinballComponent* caller)
else else
{ {
fuel_bargraph->Message(45, 1.0); fuel_bargraph->Message(45, 1.0);
info_text_box->Display(pinball::get_rc_string(44, 0), 2.0); info_text_box->Display(pinball::get_rc_string(Msg::STRING145), 2.0);
} }
TableG->AddScore(caller->get_scoring(0)); TableG->AddScore(caller->get_scoring(0));
} }
@ -1535,7 +1566,7 @@ void control::FuelRollover2Control(int code, TPinballComponent* caller)
else else
{ {
fuel_bargraph->Message(45, 3.0); fuel_bargraph->Message(45, 3.0);
info_text_box->Display(pinball::get_rc_string(44, 0), 2.0); info_text_box->Display(pinball::get_rc_string(Msg::STRING145), 2.0);
} }
TableG->AddScore(caller->get_scoring(0)); TableG->AddScore(caller->get_scoring(0));
} }
@ -1552,7 +1583,7 @@ void control::FuelRollover3Control(int code, TPinballComponent* caller)
else else
{ {
fuel_bargraph->Message(45, 5.0); fuel_bargraph->Message(45, 5.0);
info_text_box->Display(pinball::get_rc_string(44, 0), 2.0); info_text_box->Display(pinball::get_rc_string(Msg::STRING145), 2.0);
} }
TableG->AddScore(caller->get_scoring(0)); TableG->AddScore(caller->get_scoring(0));
} }
@ -1569,7 +1600,7 @@ void control::FuelRollover4Control(int code, TPinballComponent* caller)
else else
{ {
fuel_bargraph->Message(45, 7.0); fuel_bargraph->Message(45, 7.0);
info_text_box->Display(pinball::get_rc_string(44, 0), 2.0); info_text_box->Display(pinball::get_rc_string(Msg::STRING145), 2.0);
} }
TableG->AddScore(caller->get_scoring(0)); TableG->AddScore(caller->get_scoring(0));
} }
@ -1586,7 +1617,7 @@ void control::FuelRollover5Control(int code, TPinballComponent* caller)
else else
{ {
fuel_bargraph->Message(45, 9.0); fuel_bargraph->Message(45, 9.0);
info_text_box->Display(pinball::get_rc_string(44, 0), 2.0); info_text_box->Display(pinball::get_rc_string(Msg::STRING145), 2.0);
} }
TableG->AddScore(caller->get_scoring(0)); TableG->AddScore(caller->get_scoring(0));
} }
@ -1603,7 +1634,7 @@ void control::FuelRollover6Control(int code, TPinballComponent* caller)
else else
{ {
fuel_bargraph->Message(45, 11.0); fuel_bargraph->Message(45, 11.0);
info_text_box->Display(pinball::get_rc_string(44, 0), 2.0); info_text_box->Display(pinball::get_rc_string(Msg::STRING145), 2.0);
} }
TableG->AddScore(caller->get_scoring(0)); TableG->AddScore(caller->get_scoring(0));
} }
@ -1673,7 +1704,7 @@ void control::WormHoleControl(int code, TPinballComponent* caller)
TableG->AddScore(sink->get_scoring(1)); TableG->AddScore(sink->get_scoring(1));
} }
info_text_box->Display(pinball::get_rc_string(49, 0), 2.0); info_text_box->Display(pinball::get_rc_string(Msg::STRING150), 2.0);
wormhole_tag_array2[sinkFlag]->GetComponent()->Message(16, sink->TimerTime); wormhole_tag_array2[sinkFlag]->GetComponent()->Message(16, sink->TimerTime);
wormhole_tag_array3[sinkFlag]->GetComponent()->Message(11, static_cast<float>(2 - sinkFlag)); wormhole_tag_array3[sinkFlag]->GetComponent()->Message(11, static_cast<float>(2 - sinkFlag));
wormhole_tag_array3[sinkFlag]->GetComponent()->Message(16, sink->TimerTime); wormhole_tag_array3[sinkFlag]->GetComponent()->Message(16, sink->TimerTime);
@ -1693,7 +1724,7 @@ void control::WormHoleControl(int code, TPinballComponent* caller)
wormhole_tag_array3[sinkFlag2]->GetComponent()->Message(11, static_cast<float>(2 - sinkFlag2)); wormhole_tag_array3[sinkFlag2]->GetComponent()->Message(11, static_cast<float>(2 - sinkFlag2));
wormhole_tag_array3[sinkFlag2]->GetComponent()->Message(16, sink->TimerTime); wormhole_tag_array3[sinkFlag2]->GetComponent()->Message(16, sink->TimerTime);
wormhole_tag_array1[sinkFlag2]->GetComponent()->Message(56, sink->TimerTime); wormhole_tag_array1[sinkFlag2]->GetComponent()->Message(56, sink->TimerTime);
info_text_box->Display(pinball::get_rc_string(49, 0), 2.0); info_text_box->Display(pinball::get_rc_string(Msg::STRING150), 2.0);
} }
} }
@ -1833,7 +1864,7 @@ void control::MultiplierLightGroupControl(int code, TPinballComponent* caller)
TableG->ScoreMultiplier = 4; TableG->ScoreMultiplier = 4;
caller->Message(19, 0.0); caller->Message(19, 0.0);
caller->Message(43, 30.0); caller->Message(43, 30.0);
info_text_box->Display(pinball::get_rc_string(59, 0), 2.0); info_text_box->Display(pinball::get_rc_string(Msg::STRING160), 2.0);
break; break;
case 65: case 65:
TableG->ScoreMultiplier = 0; TableG->ScoreMultiplier = 0;
@ -1868,7 +1899,7 @@ void control::FuelSpotTargetControl(int code, TPinballComponent* caller)
top_circle_tgt_lights->Message(16, 2.0); top_circle_tgt_lights->Message(16, 2.0);
fuel_bargraph->Message(45, 11.0); fuel_bargraph->Message(45, 11.0);
soundwave25->Play(caller, "FuelSpotTargetControl1"); soundwave25->Play(caller, "FuelSpotTargetControl1");
info_text_box->Display(pinball::get_rc_string(44, 0), 2.0); info_text_box->Display(pinball::get_rc_string(Msg::STRING145), 2.0);
} }
else else
{ {
@ -1992,7 +2023,7 @@ void control::WormHoleDestinationControl(int code, TPinballComponent* caller)
if (!light_on(&control_lite110_tag)) if (!light_on(&control_lite110_tag))
{ {
lite110->Message(15, 3.0); lite110->Message(15, 3.0);
info_text_box->Display(pinball::get_rc_string(93, 0), 2.0); info_text_box->Display(pinball::get_rc_string(Msg::STRING194), 2.0);
} }
TableG->AddScore(caller->get_scoring(0)); TableG->AddScore(caller->get_scoring(0));
AdvanceWormHoleDestination(1); AdvanceWormHoleDestination(1);
@ -2006,7 +2037,7 @@ void control::BlackHoleKickoutControl(int code, TPinballComponent* caller)
if (code == 63) if (code == 63)
{ {
int addedScore = TableG->AddScore(caller->get_scoring(0)); int addedScore = TableG->AddScore(caller->get_scoring(0));
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(80, 0), addedScore); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING181), addedScore);
info_text_box->Display(Buffer, 2.0); info_text_box->Display(Buffer, 2.0);
caller->Message(55, -1.0); caller->Message(55, -1.0);
} }
@ -2034,7 +2065,7 @@ void control::GravityWellKickoutControl(int code, TPinballComponent* caller)
case 63: case 63:
{ {
auto addedScore = TableG->AddScore(caller->get_scoring(0)); auto addedScore = TableG->AddScore(caller->get_scoring(0));
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(81, 0), addedScore); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING182), addedScore);
info_text_box->Display(Buffer, 2.0); info_text_box->Display(Buffer, 2.0);
lite62->Message(20, 0.0); lite62->Message(20, 0.0);
caller->ActiveFlag = 0; caller->ActiveFlag = 0;
@ -2047,11 +2078,11 @@ void control::GravityWellKickoutControl(int code, TPinballComponent* caller)
auto score = reinterpret_cast<size_t>(caller); auto score = reinterpret_cast<size_t>(caller);
if (score) if (score)
{ {
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(82, 0), score); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING183), score);
} }
else else
{ {
snprintf(Buffer, sizeof Buffer, "%s", pinball::get_rc_string(45, 0)); snprintf(Buffer, sizeof Buffer, "%s", pinball::get_rc_string(Msg::STRING146));
} }
info_text_box->Display(Buffer, 2.0); info_text_box->Display(Buffer, 2.0);
lite62->Message(4, 0.0); lite62->Message(4, 0.0);
@ -2179,7 +2210,7 @@ void control::MissionControl(int code, TPinballComponent* caller)
l_trek_lights->Message(20, 0.0); l_trek_lights->Message(20, 0.0);
r_trek_lights->Message(34, 0.0); r_trek_lights->Message(34, 0.0);
r_trek_lights->Message(20, 0.0); r_trek_lights->Message(20, 0.0);
mission_text_box->Display(pinball::get_rc_string(109, 0), 4.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING210), 4.0);
lite198->MessageField = 1; lite198->MessageField = 1;
MissionControl(66, nullptr); MissionControl(66, nullptr);
} }
@ -2189,7 +2220,7 @@ void control::MissionControl(int code, TPinballComponent* caller)
{ {
if (fuel_bargraph->Message(37, 0.0) == 1) if (fuel_bargraph->Message(37, 0.0) == 1)
{ {
mission_text_box->Display(pinball::get_rc_string(116, 0), 4.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING217), 4.0);
} }
break; break;
} }
@ -2321,14 +2352,14 @@ void control::HyperspaceKickOutControl(int code, TPinballComponent* caller)
case 0: case 0:
{ {
auto addedScore = TableG->AddScore(caller->get_scoring(0)); auto addedScore = TableG->AddScore(caller->get_scoring(0));
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(12, 0), addedScore); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING113), addedScore);
info_text_box->Display(Buffer, 2.0); info_text_box->Display(Buffer, 2.0);
break; break;
} }
case 1: case 1:
{ {
auto addedScore = SpecialAddScore(TableG->ScoreSpecial3); auto addedScore = SpecialAddScore(TableG->ScoreSpecial3);
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(14, 0), addedScore); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING115), addedScore);
info_text_box->Display(Buffer, 2.0); info_text_box->Display(Buffer, 2.0);
TableG->ScoreSpecial3 = 20000; TableG->ScoreSpecial3 = 20000;
break; break;
@ -2337,7 +2368,7 @@ void control::HyperspaceKickOutControl(int code, TPinballComponent* caller)
{ {
DrainBallBlockerControl(52, block1); DrainBallBlockerControl(52, block1);
auto addedScore = TableG->AddScore(caller->get_scoring(2)); auto addedScore = TableG->AddScore(caller->get_scoring(2));
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(2, 0), addedScore); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING103), addedScore);
info_text_box->Display(Buffer, 2.0); info_text_box->Display(Buffer, 2.0);
break; break;
} }
@ -2345,7 +2376,7 @@ void control::HyperspaceKickOutControl(int code, TPinballComponent* caller)
{ {
ExtraBallLightControl(19, nullptr); ExtraBallLightControl(19, nullptr);
auto addedScore = TableG->AddScore(caller->get_scoring(3)); auto addedScore = TableG->AddScore(caller->get_scoring(3));
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(8, 0), addedScore); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING109), addedScore);
info_text_box->Display(Buffer, 2.0); info_text_box->Display(Buffer, 2.0);
break; break;
} }
@ -2365,7 +2396,7 @@ void control::HyperspaceKickOutControl(int code, TPinballComponent* caller)
{ {
someFlag = 1; someFlag = 1;
auto addedScore = SpecialAddScore(TableG->ScoreSpecial1); auto addedScore = SpecialAddScore(TableG->ScoreSpecial1);
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(10, 0), addedScore); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING111), addedScore);
info_text_box->Display(Buffer, 2.0); info_text_box->Display(Buffer, 2.0);
} }
if (light_on(&control_lite26_tag)) if (light_on(&control_lite26_tag))
@ -2488,20 +2519,20 @@ void control::MedalTargetControl(int code, TPinballComponent* caller)
{ {
MedalLightGroupControl(41, bumber_target_lights); MedalLightGroupControl(41, bumber_target_lights);
int activeCount = bumber_target_lights->Message(37, 0.0) - 1; int activeCount = bumber_target_lights->Message(37, 0.0) - 1;
char* text; const char* text;
switch (activeCount) switch (activeCount)
{ {
case 0: case 0:
TableG->AddScore(caller->get_scoring(1)); TableG->AddScore(caller->get_scoring(1));
text = pinball::get_rc_string(53, 0); text = pinball::get_rc_string(Msg::STRING154);
break; break;
case 1: case 1:
TableG->AddScore(caller->get_scoring(2)); TableG->AddScore(caller->get_scoring(2));
text = pinball::get_rc_string(54, 0); text = pinball::get_rc_string(Msg::STRING155);
break; break;
default: default:
table_add_extra_ball(4.0); table_add_extra_ball(4.0);
text = pinball::get_rc_string(55, 0); text = pinball::get_rc_string(Msg::STRING156);
break; break;
} }
info_text_box->Display(text, 2.0); info_text_box->Display(text, 2.0);
@ -2527,24 +2558,24 @@ void control::MultiplierTargetControl(int code, TPinballComponent* caller)
TableG->AddScore(caller->get_scoring(1)); TableG->AddScore(caller->get_scoring(1));
MultiplierLightGroupControl(41, top_target_lights); MultiplierLightGroupControl(41, top_target_lights);
int activeCount = top_target_lights->Message(37, 0.0); int activeCount = top_target_lights->Message(37, 0.0);
char* text; const char* text;
switch (activeCount) switch (activeCount)
{ {
case 1: case 1:
TableG->ScoreMultiplier = 1; TableG->ScoreMultiplier = 1;
text = pinball::get_rc_string(56, 0); text = pinball::get_rc_string(Msg::STRING157);
break; break;
case 2: case 2:
TableG->ScoreMultiplier = 2; TableG->ScoreMultiplier = 2;
text = pinball::get_rc_string(57, 0); text = pinball::get_rc_string(Msg::STRING158);
break; break;
case 3: case 3:
TableG->ScoreMultiplier = 3; TableG->ScoreMultiplier = 3;
text = pinball::get_rc_string(58, 0); text = pinball::get_rc_string(Msg::STRING159);
break; break;
default: default:
TableG->ScoreMultiplier = 4; TableG->ScoreMultiplier = 4;
text = pinball::get_rc_string(59, 0); text = pinball::get_rc_string(Msg::STRING160);
break; break;
} }
@ -2576,7 +2607,7 @@ void control::BallDrainControl(int code, TPinballComponent* caller)
{ {
soundwave3->Play(nullptr, "BallDrainControl1"); soundwave3->Play(nullptr, "BallDrainControl1");
TableG->LightGroup->Message(16, 3.0); TableG->LightGroup->Message(16, 3.0);
char* v11 = pinball::get_rc_string(177, 0); const char* v11 = pinball::get_rc_string(Msg::STRING277);
mission_text_box->Display(v11, -1.0); mission_text_box->Display(v11, -1.0);
} }
} }
@ -2604,7 +2635,7 @@ void control::BallDrainControl(int code, TPinballComponent* caller)
{ {
soundwave27->Play(nullptr, "BallDrainControl2"); soundwave27->Play(nullptr, "BallDrainControl2");
lite200->Message(19, 0.0); lite200->Message(19, 0.0);
info_text_box->Display(pinball::get_rc_string(96, 0), -1.0); info_text_box->Display(pinball::get_rc_string(Msg::STRING197), -1.0);
soundwave59->Play(nullptr, "BallDrainControl3"); soundwave59->Play(nullptr, "BallDrainControl3");
} }
else if (light_on(&control_lite199_tag)) else if (light_on(&control_lite199_tag))
@ -2612,7 +2643,7 @@ void control::BallDrainControl(int code, TPinballComponent* caller)
soundwave27->Play(nullptr, "BallDrainControl4"); soundwave27->Play(nullptr, "BallDrainControl4");
lite199->Message(20, 0.0); lite199->Message(20, 0.0);
lite200->Message(19, 0.0); lite200->Message(19, 0.0);
info_text_box->Display(pinball::get_rc_string(95, 0), 2.0); info_text_box->Display(pinball::get_rc_string(Msg::STRING196), 2.0);
soundwave59->Play(nullptr, "BallDrainControl5"); soundwave59->Play(nullptr, "BallDrainControl5");
--TableG->UnknownP78; --TableG->UnknownP78;
} }
@ -2634,29 +2665,29 @@ void control::BallDrainControl(int code, TPinballComponent* caller)
if (!TableG->TiltLockFlag) if (!TableG->TiltLockFlag)
{ {
int time = SpecialAddScore(TableG->ScoreSpecial2); int time = SpecialAddScore(TableG->ScoreSpecial2);
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(94, 0), time); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING195), time);
info_text_box->Display(Buffer, 2.0); info_text_box->Display(Buffer, 2.0);
} }
if (TableG->ExtraBalls) if (TableG->ExtraBalls)
{ {
TableG->ExtraBalls--; TableG->ExtraBalls--;
char* shootAgainText; const char* shootAgainText;
soundwave59->Play(nullptr, "BallDrainControl7"); soundwave59->Play(nullptr, "BallDrainControl7");
switch (TableG->CurrentPlayer) switch (TableG->CurrentPlayer)
{ {
case 0: case 0:
shootAgainText = pinball::get_rc_string(97, 0); shootAgainText = pinball::get_rc_string(Msg::STRING198);
break; break;
case 1: case 1:
shootAgainText = pinball::get_rc_string(98, 0); shootAgainText = pinball::get_rc_string(Msg::STRING199);
break; break;
case 2: case 2:
shootAgainText = pinball::get_rc_string(99, 0); shootAgainText = pinball::get_rc_string(Msg::STRING200);
break; break;
default: default:
case 3: case 3:
shootAgainText = pinball::get_rc_string(100, 0); shootAgainText = pinball::get_rc_string(Msg::STRING201);
break; break;
} }
info_text_box->Display(shootAgainText, -1.0); info_text_box->Display(shootAgainText, -1.0);
@ -2783,7 +2814,7 @@ void control::AlienMenaceController(int code, TPinballComponent* caller)
{ {
return; return;
} }
mission_text_box->Display(pinball::get_rc_string(175, 0), -1.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING275), -1.0);
return; return;
} }
if (bump1 == caller) if (bump1 == caller)
@ -2817,7 +2848,7 @@ void control::AlienMenacePartTwoController(int code, TPinballComponent* caller)
{ {
return; return;
} }
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(107, 0), snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING208),
lite56->MessageField); lite56->MessageField);
mission_text_box->Display(Buffer, -1.0); mission_text_box->Display(Buffer, -1.0);
return; return;
@ -2838,9 +2869,9 @@ void control::AlienMenacePartTwoController(int code, TPinballComponent* caller)
lite311->Message(20, 0.0); lite311->Message(20, 0.0);
lite198->MessageField = 1; lite198->MessageField = 1;
MissionControl(66, nullptr); MissionControl(66, nullptr);
mission_text_box->Display(pinball::get_rc_string(130, 0), 4.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING231), 4.0);
int addedScore = SpecialAddScore(750000); int addedScore = SpecialAddScore(750000);
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(78, 0), addedScore); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING179), addedScore);
if (!AddRankProgress(7)) if (!AddRankProgress(7))
{ {
mission_text_box->Display(Buffer, 8.0); mission_text_box->Display(Buffer, 8.0);
@ -2870,9 +2901,9 @@ void control::BlackHoleThreatController(int code, TPinballComponent* caller)
lite314->Message(20, 0.0); lite314->Message(20, 0.0);
lite198->MessageField = 1; lite198->MessageField = 1;
MissionControl(66, nullptr); MissionControl(66, nullptr);
mission_text_box->Display(pinball::get_rc_string(124, 0), 4.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING225), 4.0);
int addedScore = SpecialAddScore(1000000); int addedScore = SpecialAddScore(1000000);
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(78, 0), addedScore); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING179), addedScore);
if (!AddRankProgress(8)) if (!AddRankProgress(8))
{ {
mission_text_box->Display(Buffer, 8.0); mission_text_box->Display(Buffer, 8.0);
@ -2892,7 +2923,7 @@ void control::BlackHoleThreatController(int code, TPinballComponent* caller)
} }
if (bump5->BmpIndex) if (bump5->BmpIndex)
{ {
mission_text_box->Display(pinball::get_rc_string(123, 0), -1.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING224), -1.0);
if (light_on(&control_lite316_tag)) if (light_on(&control_lite316_tag))
lite316->Message(20, 0.0); lite316->Message(20, 0.0);
if (!light_on(&control_lite314_tag)) if (!light_on(&control_lite314_tag))
@ -2902,7 +2933,7 @@ void control::BlackHoleThreatController(int code, TPinballComponent* caller)
} }
else else
{ {
mission_text_box->Display(pinball::get_rc_string(122, 0), -1.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING223), -1.0);
if (light_on(&control_lite314_tag)) if (light_on(&control_lite314_tag))
lite314->Message(20, 0.0); lite314->Message(20, 0.0);
if (!light_on(&control_lite316_tag)) if (!light_on(&control_lite316_tag))
@ -2954,7 +2985,7 @@ void control::BugHuntController(int code, TPinballComponent* caller)
{ {
return; return;
} }
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(125, 0), lite56->MessageField); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING226), lite56->MessageField);
mission_text_box->Display(Buffer, -1.0); mission_text_box->Display(Buffer, -1.0);
return; return;
} }
@ -2995,9 +3026,9 @@ void control::BugHuntController(int code, TPinballComponent* caller)
lite319->Message(20, 0.0); lite319->Message(20, 0.0);
lite198->MessageField = 1; lite198->MessageField = 1;
MissionControl(66, nullptr); MissionControl(66, nullptr);
mission_text_box->Display(pinball::get_rc_string(126, 0), 4.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING227), 4.0);
int addedScore = SpecialAddScore(750000); int addedScore = SpecialAddScore(750000);
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(78, 0), addedScore); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING179), addedScore);
if (!AddRankProgress(7)) if (!AddRankProgress(7))
{ {
mission_text_box->Display(Buffer, 8.0); mission_text_box->Display(Buffer, 8.0);
@ -3025,7 +3056,7 @@ void control::CosmicPlagueController(int code, TPinballComponent* caller)
{ {
return; return;
} }
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(139, 0), lite56->MessageField); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING240), lite56->MessageField);
mission_text_box->Display(Buffer, -1.0); mission_text_box->Display(Buffer, -1.0);
return; return;
} }
@ -3062,7 +3093,7 @@ void control::CosmicPlaguePartTwoController(int code, TPinballComponent* caller)
{ {
return; return;
} }
mission_text_box->Display(pinball::get_rc_string(140, 0), -1.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING241), -1.0);
return; return;
} }
if (roll9 == caller) if (roll9 == caller)
@ -3070,9 +3101,9 @@ void control::CosmicPlaguePartTwoController(int code, TPinballComponent* caller)
lite310->Message(20, 0.0); lite310->Message(20, 0.0);
lite198->MessageField = 1; lite198->MessageField = 1;
MissionControl(66, nullptr); MissionControl(66, nullptr);
mission_text_box->Display(pinball::get_rc_string(141, 0), 4.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING242), 4.0);
int addedScore = SpecialAddScore(1750000); int addedScore = SpecialAddScore(1750000);
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(78, 0), addedScore); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING179), addedScore);
if (!AddRankProgress(11)) if (!AddRankProgress(11))
{ {
mission_text_box->Display(Buffer, 8.0); mission_text_box->Display(Buffer, 8.0);
@ -3097,7 +3128,7 @@ void control::DoomsdayMachineController(int code, TPinballComponent* caller)
{ {
return; return;
} }
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(137, 0), lite56->MessageField); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING238), lite56->MessageField);
mission_text_box->Display(Buffer, -1.0); mission_text_box->Display(Buffer, -1.0);
return; return;
} }
@ -3114,9 +3145,9 @@ void control::DoomsdayMachineController(int code, TPinballComponent* caller)
lite320->Message(20, 0.0); lite320->Message(20, 0.0);
lite198->MessageField = 1; lite198->MessageField = 1;
MissionControl(66, nullptr); MissionControl(66, nullptr);
mission_text_box->Display(pinball::get_rc_string(138, 0), 4.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING239), 4.0);
int addedScore = SpecialAddScore(1250000); int addedScore = SpecialAddScore(1250000);
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(78, 0), addedScore); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING179), addedScore);
if (!AddRankProgress(9)) if (!AddRankProgress(9))
{ {
mission_text_box->Display(Buffer, 8.0); mission_text_box->Display(Buffer, 8.0);
@ -3155,16 +3186,16 @@ void control::GameoverController(int code, TPinballComponent* caller)
switch (nextPlayerId) switch (nextPlayerId)
{ {
case 1: case 1:
playerNScoreText = pinball::get_rc_string(180, 0); playerNScoreText = pinball::get_rc_string(Msg::STRING280);
break; break;
case 2: case 2:
playerNScoreText = pinball::get_rc_string(181, 0); playerNScoreText = pinball::get_rc_string(Msg::STRING281);
break; break;
case 3: case 3:
playerNScoreText = pinball::get_rc_string(182, 0); playerNScoreText = pinball::get_rc_string(Msg::STRING282);
break; break;
case 4: case 4:
playerNScoreText = pinball::get_rc_string(183, 0); playerNScoreText = pinball::get_rc_string(Msg::STRING283);
break; break;
default: default:
break; break;
@ -3192,19 +3223,19 @@ void control::GameoverController(int code, TPinballComponent* caller)
switch (nextHidhscoreId) switch (nextHidhscoreId)
{ {
case 1: case 1:
highScoreNText = pinball::get_rc_string(184, 0); highScoreNText = pinball::get_rc_string(Msg::STRING284);
break; break;
case 2: case 2:
highScoreNText = pinball::get_rc_string(185, 0); highScoreNText = pinball::get_rc_string(Msg::STRING285);
break; break;
case 3: case 3:
highScoreNText = pinball::get_rc_string(186, 0); highScoreNText = pinball::get_rc_string(Msg::STRING286);
break; break;
case 4: case 4:
highScoreNText = pinball::get_rc_string(187, 0); highScoreNText = pinball::get_rc_string(Msg::STRING287);
break; break;
case 5: case 5:
highScoreNText = pinball::get_rc_string(188, 0); highScoreNText = pinball::get_rc_string(Msg::STRING288);
break; break;
default: default:
break; break;
@ -3221,7 +3252,7 @@ void control::GameoverController(int code, TPinballComponent* caller)
} }
mission_text_box->MessageField = 0x100; mission_text_box->MessageField = 0x100;
mission_text_box->Display(pinball::get_rc_string(172, 0), 10.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING272), 10.0);
} }
void control::LaunchTrainingController(int code, TPinballComponent* caller) void control::LaunchTrainingController(int code, TPinballComponent* caller)
@ -3239,7 +3270,7 @@ void control::LaunchTrainingController(int code, TPinballComponent* caller)
{ {
return; return;
} }
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(110, 0), lite56->MessageField); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING211), lite56->MessageField);
mission_text_box->Display(Buffer, -1.0); mission_text_box->Display(Buffer, -1.0);
return; return;
} }
@ -3255,9 +3286,9 @@ void control::LaunchTrainingController(int code, TPinballComponent* caller)
lite317->Message(20, 0.0); lite317->Message(20, 0.0);
lite198->MessageField = 1; lite198->MessageField = 1;
MissionControl(66, nullptr); MissionControl(66, nullptr);
mission_text_box->Display(pinball::get_rc_string(111, 0), 4.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING212), 4.0);
int addedScore = SpecialAddScore(500000); int addedScore = SpecialAddScore(500000);
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(78, 0), addedScore); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING179), addedScore);
if (!AddRankProgress(6)) if (!AddRankProgress(6))
{ {
mission_text_box->Display(Buffer, 8.0); mission_text_box->Display(Buffer, 8.0);
@ -3284,7 +3315,7 @@ void control::MaelstromController(int code, TPinballComponent* caller)
{ {
return; return;
} }
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(148, 0), lite56->MessageField); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING249), lite56->MessageField);
mission_text_box->Display(Buffer, -1.0); mission_text_box->Display(Buffer, -1.0);
return; return;
} }
@ -3329,7 +3360,7 @@ void control::MaelstromPartEightController(int code, TPinballComponent* caller)
{ {
return; return;
} }
mission_text_box->Display(pinball::get_rc_string(155, 0), -1.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING256), -1.0);
return; return;
} }
if (kickout2 == caller) if (kickout2 == caller)
@ -3339,8 +3370,8 @@ void control::MaelstromPartEightController(int code, TPinballComponent* caller)
lite198->MessageField = 1; lite198->MessageField = 1;
MissionControl(66, nullptr); MissionControl(66, nullptr);
int addedScore = SpecialAddScore(5000000); int addedScore = SpecialAddScore(5000000);
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(78, 0), addedScore); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING179), addedScore);
info_text_box->Display(pinball::get_rc_string(48, 0), 4.0); info_text_box->Display(pinball::get_rc_string(Msg::STRING149), 4.0);
if (!AddRankProgress(18)) if (!AddRankProgress(18))
{ {
mission_text_box->Display(Buffer, 8.0); mission_text_box->Display(Buffer, 8.0);
@ -3361,7 +3392,7 @@ void control::MaelstromPartFiveController(int code, TPinballComponent* caller)
{ {
return; return;
} }
mission_text_box->Display(pinball::get_rc_string(152, 0), -1.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING253), -1.0);
return; return;
} }
if (ramp == caller) if (ramp == caller)
@ -3385,7 +3416,7 @@ void control::MaelstromPartFourController(int code, TPinballComponent* caller)
{ {
return; return;
} }
mission_text_box->Display(pinball::get_rc_string(151, 0), -1.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING252), -1.0);
return; return;
} }
if (roll184 == caller) if (roll184 == caller)
@ -3411,7 +3442,7 @@ void control::MaelstromPartSevenController(int code, TPinballComponent* caller)
{ {
return; return;
} }
mission_text_box->Display(pinball::get_rc_string(154, 0), -1.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING255), -1.0);
return; return;
} }
if (sink1 == caller if (sink1 == caller
@ -3438,7 +3469,7 @@ void control::MaelstromPartSixController(int code, TPinballComponent* caller)
{ {
return; return;
} }
mission_text_box->Display(pinball::get_rc_string(153, 0), -1.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING254), -1.0);
return; return;
} }
if (flag1 == caller || flag2 == caller) if (flag1 == caller || flag2 == caller)
@ -3472,7 +3503,7 @@ void control::MaelstromPartThreeController(int code, TPinballComponent* caller)
{ {
return; return;
} }
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(150, 0), lite56->MessageField); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING251), lite56->MessageField);
mission_text_box->Display(Buffer, -1.0); mission_text_box->Display(Buffer, -1.0);
return; return;
} }
@ -3526,7 +3557,7 @@ void control::MaelstromPartTwoController(int code, TPinballComponent* caller)
{ {
return; return;
} }
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(149, 0), lite56->MessageField); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING250), lite56->MessageField);
mission_text_box->Display(Buffer, -1.0); mission_text_box->Display(Buffer, -1.0);
return; return;
} }
@ -3578,7 +3609,7 @@ void control::PracticeMissionController(int code, TPinballComponent* caller)
{ {
return; return;
} }
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(107, 0), lite56->MessageField); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING208), lite56->MessageField);
mission_text_box->Display(Buffer, -1.0); mission_text_box->Display(Buffer, -1.0);
return; return;
} }
@ -3599,9 +3630,9 @@ void control::PracticeMissionController(int code, TPinballComponent* caller)
lite311->Message(20, 0.0); lite311->Message(20, 0.0);
lite198->MessageField = 1; lite198->MessageField = 1;
MissionControl(66, nullptr); MissionControl(66, nullptr);
mission_text_box->Display(pinball::get_rc_string(108, 0), 4.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING209), 4.0);
int addedScore = SpecialAddScore(500000); int addedScore = SpecialAddScore(500000);
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(78, 0), addedScore); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING179), addedScore);
if (!AddRankProgress(6)) if (!AddRankProgress(6))
{ {
mission_text_box->Display(Buffer, 8.0); mission_text_box->Display(Buffer, 8.0);
@ -3631,7 +3662,7 @@ void control::ReconnaissanceController(int code, TPinballComponent* caller)
{ {
return; return;
} }
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(134, 0), lite56->MessageField); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING235), lite56->MessageField);
mission_text_box->Display(Buffer, -1.0); mission_text_box->Display(Buffer, -1.0);
return; return;
} }
@ -3662,9 +3693,9 @@ void control::ReconnaissanceController(int code, TPinballComponent* caller)
lite321->Message(20, 0.0); lite321->Message(20, 0.0);
lite198->MessageField = 1; lite198->MessageField = 1;
MissionControl(66, nullptr); MissionControl(66, nullptr);
mission_text_box->Display(pinball::get_rc_string(136, 0), 4.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING237), 4.0);
int addedScore = SpecialAddScore(1250000); int addedScore = SpecialAddScore(1250000);
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(78, 0), addedScore); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING179), addedScore);
if (!AddRankProgress(9)) if (!AddRankProgress(9))
{ {
mission_text_box->Display(Buffer, 8.0); mission_text_box->Display(Buffer, 8.0);
@ -3695,7 +3726,7 @@ void control::ReentryTrainingController(int code, TPinballComponent* caller)
{ {
return; return;
} }
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(112, 0), lite56->MessageField); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING213), lite56->MessageField);
mission_text_box->Display(Buffer, -1.0); mission_text_box->Display(Buffer, -1.0);
return; return;
} }
@ -3713,9 +3744,9 @@ void control::ReentryTrainingController(int code, TPinballComponent* caller)
lite307->Message(20, 0.0); lite307->Message(20, 0.0);
lite198->MessageField = 1; lite198->MessageField = 1;
MissionControl(66, nullptr); MissionControl(66, nullptr);
mission_text_box->Display(pinball::get_rc_string(113, 0), 4.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING214), 4.0);
int addedScore = SpecialAddScore(500000); int addedScore = SpecialAddScore(500000);
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(78, 0), addedScore); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING179), addedScore);
if (!AddRankProgress(6)) if (!AddRankProgress(6))
{ {
mission_text_box->Display(Buffer, 8.0); mission_text_box->Display(Buffer, 8.0);
@ -3754,9 +3785,9 @@ void control::RescueMissionController(int code, TPinballComponent* caller)
lite304->Message(20, 0.0); lite304->Message(20, 0.0);
lite198->MessageField = 1; lite198->MessageField = 1;
MissionControl(66, nullptr); MissionControl(66, nullptr);
mission_text_box->Display(pinball::get_rc_string(129, 0), 4.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING230), 4.0);
int addedScore = SpecialAddScore(750000); int addedScore = SpecialAddScore(750000);
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(78, 0), addedScore); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING179), addedScore);
if (!AddRankProgress(7)) if (!AddRankProgress(7))
{ {
mission_text_box->Display(Buffer, 8.0); mission_text_box->Display(Buffer, 8.0);
@ -3772,7 +3803,7 @@ void control::RescueMissionController(int code, TPinballComponent* caller)
case 67: case 67:
if (light_on(&control_lite20_tag)) if (light_on(&control_lite20_tag))
{ {
mission_text_box->Display(pinball::get_rc_string(128, 0), -1.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING229), -1.0);
if (light_on(&control_lite303_tag)) if (light_on(&control_lite303_tag))
lite303->Message(20, 0.0); lite303->Message(20, 0.0);
if (!light_on(&control_lite304_tag)) if (!light_on(&control_lite304_tag))
@ -3782,7 +3813,7 @@ void control::RescueMissionController(int code, TPinballComponent* caller)
} }
else else
{ {
mission_text_box->Display(pinball::get_rc_string(127, 0), -1.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING228), -1.0);
if (light_on(&control_lite304_tag)) if (light_on(&control_lite304_tag))
lite304->Message(20, 0.0); lite304->Message(20, 0.0);
if (!light_on(&control_lite303_tag)) if (!light_on(&control_lite303_tag))
@ -3811,7 +3842,7 @@ void control::SatelliteController(int code, TPinballComponent* caller)
{ {
return; return;
} }
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(132, 0), lite56->MessageField); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING233), lite56->MessageField);
mission_text_box->Display(Buffer, -1.0); mission_text_box->Display(Buffer, -1.0);
return; return;
} }
@ -3827,9 +3858,9 @@ void control::SatelliteController(int code, TPinballComponent* caller)
lite308->Message(20, 0.0); lite308->Message(20, 0.0);
lite198->MessageField = 1; lite198->MessageField = 1;
MissionControl(66, nullptr); MissionControl(66, nullptr);
mission_text_box->Display(pinball::get_rc_string(133, 0), 4.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING234), 4.0);
int addedScore = SpecialAddScore(1250000); int addedScore = SpecialAddScore(1250000);
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(78, 0), addedScore); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING179), addedScore);
if (!AddRankProgress(9)) if (!AddRankProgress(9))
{ {
mission_text_box->Display(Buffer, 8.0); mission_text_box->Display(Buffer, 8.0);
@ -3874,7 +3905,7 @@ void control::ScienceMissionController(int code, TPinballComponent* caller)
{ {
return; return;
} }
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(114, 0), lite56->MessageField); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING215), lite56->MessageField);
mission_text_box->Display(Buffer, -1.0); mission_text_box->Display(Buffer, -1.0);
return; return;
} }
@ -3900,9 +3931,9 @@ void control::ScienceMissionController(int code, TPinballComponent* caller)
lite315->Message(20, 0.0); lite315->Message(20, 0.0);
lite198->MessageField = 1; lite198->MessageField = 1;
MissionControl(66, nullptr); MissionControl(66, nullptr);
mission_text_box->Display(pinball::get_rc_string(115, 0), 4.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING216), 4.0);
int addedScore = SpecialAddScore(750000); int addedScore = SpecialAddScore(750000);
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(78, 0), addedScore); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING179), addedScore);
if (!AddRankProgress(9)) if (!AddRankProgress(9))
{ {
mission_text_box->Display(Buffer, 8.0); mission_text_box->Display(Buffer, 8.0);
@ -3929,7 +3960,7 @@ void control::SecretMissionGreenController(int code, TPinballComponent* caller)
{ {
return; return;
} }
char* v2 = pinball::get_rc_string(144, 0); const char* v2 = pinball::get_rc_string(Msg::STRING245);
mission_text_box->Display(v2, -1.0); mission_text_box->Display(v2, -1.0);
return; return;
} }
@ -3937,9 +3968,9 @@ void control::SecretMissionGreenController(int code, TPinballComponent* caller)
{ {
lite198->MessageField = 1; lite198->MessageField = 1;
MissionControl(66, nullptr); MissionControl(66, nullptr);
mission_text_box->Display(pinball::get_rc_string(145, 0), 4.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING246), 4.0);
int addedScore = SpecialAddScore(1500000); int addedScore = SpecialAddScore(1500000);
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(78, 0), addedScore); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING179), addedScore);
if (!AddRankProgress(10)) if (!AddRankProgress(10))
{ {
mission_text_box->Display(Buffer, 8.0); mission_text_box->Display(Buffer, 8.0);
@ -3963,7 +3994,7 @@ void control::SecretMissionRedController(int code, TPinballComponent* caller)
{ {
return; return;
} }
mission_text_box->Display(pinball::get_rc_string(143, 0), -1.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING244), -1.0);
return; return;
} }
if (sink1 == caller) if (sink1 == caller)
@ -3992,7 +4023,7 @@ void control::SecretMissionYellowController(int code, TPinballComponent* caller)
{ {
return; return;
} }
mission_text_box->Display(pinball::get_rc_string(142, 0), -1.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING243), -1.0);
return; return;
} }
if (sink3 == caller) if (sink3 == caller)
@ -4042,7 +4073,7 @@ void control::SelectMissionController(int code, TPinballComponent* caller)
auto scoreId = lite56->MessageField - 2; auto scoreId = lite56->MessageField - 2;
MissionControl(66, nullptr); MissionControl(66, nullptr);
int addedScore = SpecialAddScore(mission_select_scores[scoreId]); int addedScore = SpecialAddScore(mission_select_scores[scoreId]);
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(77, 0), addedScore); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING178), addedScore);
mission_text_box->Display(Buffer, 4.0); mission_text_box->Display(Buffer, 4.0);
midi::play_track(MidiTracks::Track2, true); midi::play_track(MidiTracks::Track2, true);
} }
@ -4182,8 +4213,8 @@ void control::SelectMissionController(int code, TPinballComponent* caller)
{ {
if (light_on(&control_lite56_tag)) if (light_on(&control_lite56_tag))
{ {
auto missionText = pinball::get_rc_string(MissionRcArray[lite56->MessageField - 2], 1); auto missionText = pinball::get_rc_string(MissionRcArray[lite56->MessageField - 2]);
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(106, 0), missionText); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING207), missionText);
mission_text_box->Display(Buffer, -1.0); mission_text_box->Display(Buffer, -1.0);
if (light_on(&control_lite318_tag)) if (light_on(&control_lite318_tag))
lite318->Message(20, 0.0); lite318->Message(20, 0.0);
@ -4194,7 +4225,7 @@ void control::SelectMissionController(int code, TPinballComponent* caller)
} }
else else
{ {
mission_text_box->Display(pinball::get_rc_string(104, 0), -1.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING205), -1.0);
if (light_on(&control_lite317_tag)) if (light_on(&control_lite317_tag))
lite317->Message(20, 0.0); lite317->Message(20, 0.0);
if (light_on(&control_lite318_tag)) if (light_on(&control_lite318_tag))
@ -4207,7 +4238,7 @@ void control::SelectMissionController(int code, TPinballComponent* caller)
} }
else else
{ {
mission_text_box->Display(pinball::get_rc_string(105, 0), -1.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING206), -1.0);
if (light_on(&control_lite317_tag)) if (light_on(&control_lite317_tag))
lite317->Message(20, 0.0); lite317->Message(20, 0.0);
if (light_on(&control_lite319_tag)) if (light_on(&control_lite319_tag))
@ -4245,9 +4276,9 @@ void control::SpaceRadiationController(int code, TPinballComponent* caller)
{ {
lite198->MessageField = 1; lite198->MessageField = 1;
MissionControl(66, nullptr); MissionControl(66, nullptr);
mission_text_box->Display(pinball::get_rc_string(121, 0), 4.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING222), 4.0);
int addedScore = SpecialAddScore(1000000); int addedScore = SpecialAddScore(1000000);
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(78, 0), addedScore); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING179), addedScore);
if (!AddRankProgress(8)) if (!AddRankProgress(8))
{ {
mission_text_box->Display(Buffer, 8.0); mission_text_box->Display(Buffer, 8.0);
@ -4265,11 +4296,11 @@ void control::SpaceRadiationController(int code, TPinballComponent* caller)
} }
else if (code == 67) else if (code == 67)
{ {
char* text; const char* text;
if (lite104->MessageField == 15) if (lite104->MessageField == 15)
text = pinball::get_rc_string(120, 0); text = pinball::get_rc_string(Msg::STRING221);
else else
text = pinball::get_rc_string(176, 0); text = pinball::get_rc_string(Msg::STRING276);
mission_text_box->Display(text, -1.0); mission_text_box->Display(text, -1.0);
} }
} }
@ -4298,9 +4329,9 @@ void control::StrayCometController(int code, TPinballComponent* caller)
lite304->Message(20, 0.0); lite304->Message(20, 0.0);
lite198->MessageField = 1; lite198->MessageField = 1;
MissionControl(66, nullptr); MissionControl(66, nullptr);
mission_text_box->Display(pinball::get_rc_string(119, 0), 4.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING220), 4.0);
int addedScore = SpecialAddScore(1000000); int addedScore = SpecialAddScore(1000000);
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(78, 0), addedScore); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING179), addedScore);
if (!AddRankProgress(8)) if (!AddRankProgress(8))
{ {
mission_text_box->Display(Buffer, 8.0); mission_text_box->Display(Buffer, 8.0);
@ -4318,11 +4349,11 @@ void control::StrayCometController(int code, TPinballComponent* caller)
} }
else if (code == 67) else if (code == 67)
{ {
char* text; const char* text;
if (lite107->MessageField == 15) if (lite107->MessageField == 15)
text = pinball::get_rc_string(118, 0); text = pinball::get_rc_string(Msg::STRING219);
else else
text = pinball::get_rc_string(117, 0); text = pinball::get_rc_string(Msg::STRING218);
mission_text_box->Display(text, -1.0); mission_text_box->Display(text, -1.0);
} }
} }
@ -4344,7 +4375,7 @@ void control::TimeWarpController(int code, TPinballComponent* caller)
{ {
return; return;
} }
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(146, 0), lite56->MessageField); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING247), lite56->MessageField);
mission_text_box->Display(Buffer, -1.0); mission_text_box->Display(Buffer, -1.0);
return; return;
} }
@ -4385,17 +4416,17 @@ void control::TimeWarpPartTwoController(int code, TPinballComponent* caller)
{ {
return; return;
} }
mission_text_box->Display(pinball::get_rc_string(147, 0), -1.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING248), -1.0);
return; return;
} }
if (kickout2 == caller) if (kickout2 == caller)
{ {
mission_text_box->Display(pinball::get_rc_string(47, 0), 4.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING148), 4.0);
if (middle_circle->Message(37, 0.0) > 1) if (middle_circle->Message(37, 0.0) > 1)
{ {
middle_circle->Message(33, 5.0); middle_circle->Message(33, 5.0);
int rank = middle_circle->Message(37, 0.0); int rank = middle_circle->Message(37, 0.0);
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(174, 0), pinball::get_rc_string(RankRcArray[rank - 1], 1)); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING274), pinball::get_rc_string(RankRcArray[rank - 1]));
mission_text_box->Display(Buffer, 8.0); mission_text_box->Display(Buffer, 8.0);
} }
} }
@ -4403,12 +4434,12 @@ void control::TimeWarpPartTwoController(int code, TPinballComponent* caller)
{ {
if (ramp != caller) if (ramp != caller)
return; return;
mission_text_box->Display(pinball::get_rc_string(46, 0), 4.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING147), 4.0);
if (middle_circle->Message(37, 0.0) < 9) if (middle_circle->Message(37, 0.0) < 9)
{ {
int rank = middle_circle->Message(37, 0.0); int rank = middle_circle->Message(37, 0.0);
middle_circle->Message(41, 5.0); middle_circle->Message(41, 5.0);
snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(173, 0), pinball::get_rc_string(RankRcArray[rank], 1)); snprintf(Buffer, sizeof Buffer, pinball::get_rc_string(Msg::STRING273), pinball::get_rc_string(RankRcArray[rank]));
} }
if (!AddRankProgress(12)) if (!AddRankProgress(12))
{ {
@ -4449,7 +4480,7 @@ void control::WaitingDeploymentController(int code, TPinballComponent* caller)
midi::play_track(MidiTracks::Track1, false); midi::play_track(MidiTracks::Track1, false);
break; break;
case 67: case 67:
mission_text_box->Display(pinball::get_rc_string(50, 0), -1.0); mission_text_box->Display(pinball::get_rc_string(Msg::STRING151), -1.0);
break; break;
default: default:
break; break;

View file

@ -4,6 +4,7 @@ class TLight;
class TSound; class TSound;
class TPinballTable; class TPinballTable;
class TPinballComponent; class TPinballComponent;
enum class Msg : int;
struct component_tag_base struct component_tag_base
{ {
@ -66,7 +67,8 @@ public:
static component_tag_base* simple_components[145]; static component_tag_base* simple_components[145];
static int waiting_deployment_flag; static int waiting_deployment_flag;
static bool table_unlimited_balls; static bool table_unlimited_balls;
static int RankRcArray[9], MissionRcArray[17], mission_select_scores[17]; static Msg RankRcArray[9], MissionRcArray[17];
static int mission_select_scores[17];
static component_tag_base *wormhole_tag_array1[3], *wormhole_tag_array2[3], *wormhole_tag_array3[3]; static component_tag_base *wormhole_tag_array1[3], *wormhole_tag_array2[3], *wormhole_tag_array3[3];
static void make_links(TPinballTable* table); static void make_links(TPinballTable* table);

View file

@ -0,0 +1,51 @@
#include "pch.h"
#include "font_selection.h"
#include "options.h"
#include "pinball.h"
#include "score.h"
#include "winmain.h"
#include "translations.h"
static const char* popupName = "Font Selection";
bool font_selection::ShowDialogFlag = false;
char font_selection::DialogInputBuffer[512];
void font_selection::ShowDialog()
{
ShowDialogFlag = true;
}
void font_selection::RenderDialog()
{
if (ShowDialogFlag == true)
{
strncpy(DialogInputBuffer, options::Options.FontFileName.c_str(), sizeof(DialogInputBuffer));
ShowDialogFlag = false;
if (!ImGui::IsPopupOpen(popupName))
{
ImGui::OpenPopup(popupName);
}
}
bool unused_open = true;
if (ImGui::BeginPopupModal(popupName, &unused_open, ImGuiWindowFlags_AlwaysAutoResize))
{
ImGui::Text("Font file to use: ");
ImGui::SameLine();
ImGui::InputText("", DialogInputBuffer, IM_ARRAYSIZE(DialogInputBuffer));
if (ImGui::Button(pinball::get_rc_string(Msg::HIGHSCORES_Ok)))
{
options::Options.FontFileName = DialogInputBuffer;
ImGui::CloseCurrentPopup();
winmain::Restart();
}
ImGui::SameLine();
if (ImGui::Button(pinball::get_rc_string(Msg::HIGHSCORES_Cancel)))
ImGui::CloseCurrentPopup();
ImGui::EndPopup();
}
}

View file

@ -0,0 +1,11 @@
#pragma once
class font_selection
{
public:
static void ShowDialog();
static void RenderDialog();
private:
static bool ShowDialogFlag;
static char DialogInputBuffer[512];
};

View file

@ -140,3 +140,21 @@ void fullscrn::window_size_changed()
width - offset2X, height - offset2Y width - offset2X, height - offset2Y
}; };
} }
SDL_Rect fullscrn::GetScreenRectFromPinballRect(SDL_Rect rect)
{
SDL_Rect converted_rect;
converted_rect.x = rect.x * render::DestinationRect.w / render::vscreen->Width + render::DestinationRect.x;
converted_rect.y = rect.y * render::DestinationRect.h / render::vscreen->Height + render::DestinationRect.y;
converted_rect.w = rect.w * render::DestinationRect.w / render::vscreen->Width;
converted_rect.h = rect.h * render::DestinationRect.h / render::vscreen->Height;
return converted_rect;
}
float fullscrn::GetScreenToPinballRatio()
{
return (float) render::DestinationRect.w / render::vscreen->Width;
}

View file

@ -28,6 +28,8 @@ public:
static void SetResolution(int value); static void SetResolution(int value);
static int GetMaxResolution(); static int GetMaxResolution();
static void window_size_changed(); static void window_size_changed();
static SDL_Rect GetScreenRectFromPinballRect(SDL_Rect rect);
static float GetScreenToPinballRatio();
private : private :
static int resolution; static int resolution;

View file

@ -6,6 +6,9 @@
#include "pb.h" #include "pb.h"
#include "score.h" #include "score.h"
#include "winmain.h" #include "winmain.h"
#include "TTextBox.h"
#include "fullscrn.h"
#include "pinball.h"
ColorRgba gdrv::current_palette[256]{}; ColorRgba gdrv::current_palette[256]{};
@ -269,8 +272,15 @@ void gdrv::ScrollBitmapHorizontal(gdrv_bitmap8* bmp, int xStart)
} }
void gdrv::grtext_draw_ttext_in_box(LPCSTR text, int xOff, int yOff, int width, int height, int a6) void gdrv::grtext_draw_ttext_in_box()
{ {
for (const auto textBox : { pinball::InfoTextBox, pinball::MissTextBox })
{
if (textBox)
{
textBox->DrawImGui();
}
}
} }
void gdrv::ApplyPalette(gdrv_bitmap8& bmp) void gdrv::ApplyPalette(gdrv_bitmap8& bmp)

View file

@ -80,7 +80,7 @@ public:
static void copy_bitmap_w_transparency(gdrv_bitmap8* dstBmp, int width, int height, int xOff, int yOff, static void copy_bitmap_w_transparency(gdrv_bitmap8* dstBmp, int width, int height, int xOff, int yOff,
gdrv_bitmap8* srcBmp, int srcXOff, int srcYOff); gdrv_bitmap8* srcBmp, int srcXOff, int srcYOff);
static void ScrollBitmapHorizontal(gdrv_bitmap8* bmp, int xStart); static void ScrollBitmapHorizontal(gdrv_bitmap8* bmp, int xStart);
static void grtext_draw_ttext_in_box(LPCSTR text, int xOff, int yOff, int width, int height, int a6); static void grtext_draw_ttext_in_box();
static void ApplyPalette(gdrv_bitmap8& bmp); static void ApplyPalette(gdrv_bitmap8& bmp);
static void CreatePreview(gdrv_bitmap8& bmp); static void CreatePreview(gdrv_bitmap8& bmp);
private: private:

View file

@ -4,6 +4,7 @@
#include "options.h" #include "options.h"
#include "pinball.h" #include "pinball.h"
#include "score.h" #include "score.h"
#include "translations.h"
bool high_score::dlg_enter_name; bool high_score::dlg_enter_name;
bool high_score::ShowDialog = false; bool high_score::ShowDialog = false;
@ -121,7 +122,7 @@ void high_score::RenderHighScoreDialog()
if (ShowDialog == true) if (ShowDialog == true)
{ {
ShowDialog = false; ShowDialog = false;
if (!ImGui::IsPopupOpen("High Scores")) if (!ImGui::IsPopupOpen(pinball::get_rc_string(Msg::HIGHSCORES_Caption)))
{ {
dlg_enter_name = false; dlg_enter_name = false;
while (!ScoreQueue.empty()) while (!ScoreQueue.empty())
@ -140,19 +141,19 @@ void high_score::RenderHighScoreDialog()
} }
} }
ImGui::OpenPopup("High Scores"); ImGui::OpenPopup(pinball::get_rc_string(Msg::HIGHSCORES_Caption));
} }
} }
bool unused_open = true; bool unused_open = true;
if (ImGui::BeginPopupModal("High Scores", &unused_open, ImGuiWindowFlags_AlwaysAutoResize)) if (ImGui::BeginPopupModal(pinball::get_rc_string(Msg::HIGHSCORES_Caption), &unused_open, ImGuiWindowFlags_AlwaysAutoResize))
{ {
if (ImGui::BeginTable("table1", 3, ImGuiTableFlags_Borders)) if (ImGui::BeginTable("table1", 3, ImGuiTableFlags_Borders))
{ {
char buf[36]; char buf[36];
ImGui::TableSetupColumn("Rank"); ImGui::TableSetupColumn(pinball::get_rc_string(Msg::HIGHSCORES_Rank));
ImGui::TableSetupColumn("Name"); ImGui::TableSetupColumn(pinball::get_rc_string(Msg::HIGHSCORES_Name));
ImGui::TableSetupColumn("Score"); ImGui::TableSetupColumn(pinball::get_rc_string(Msg::HIGHSCORES_Score));
ImGui::TableHeadersRow(); ImGui::TableHeadersRow();
for (int offset = 0, row = 0; row < 5; row++) for (int offset = 0, row = 0; row < 5; row++)
@ -184,7 +185,7 @@ void high_score::RenderHighScoreDialog()
ImGui::EndTable(); ImGui::EndTable();
} }
if (ImGui::Button("Ok")) if (ImGui::Button(pinball::get_rc_string(Msg::HIGHSCORES_Ok)))
{ {
if (dlg_enter_name) if (dlg_enter_name)
{ {
@ -194,23 +195,23 @@ void high_score::RenderHighScoreDialog()
} }
ImGui::SameLine(); ImGui::SameLine();
if (ImGui::Button("Cancel")) if (ImGui::Button(pinball::get_rc_string(Msg::HIGHSCORES_Cancel)))
ImGui::CloseCurrentPopup(); ImGui::CloseCurrentPopup();
ImGui::SameLine(); ImGui::SameLine();
if (ImGui::Button("Clear")) if (ImGui::Button(pinball::get_rc_string(Msg::HIGHSCORES_Clear)))
ImGui::OpenPopup("Confirm"); ImGui::OpenPopup("Confirm");
if (ImGui::BeginPopupModal("Confirm", nullptr, ImGuiWindowFlags_MenuBar)) if (ImGui::BeginPopupModal("Confirm", nullptr, ImGuiWindowFlags_MenuBar))
{ {
ImGui::TextUnformatted(pinball::get_rc_string(40, 0)); ImGui::TextUnformatted(pinball::get_rc_string(Msg::STRING141));
if (ImGui::Button("OK", ImVec2(120, 0))) if (ImGui::Button(pinball::get_rc_string(Msg::HIGHSCORES_Ok), ImVec2(120, 0)))
{ {
clear_table(); clear_table();
ImGui::CloseCurrentPopup(); ImGui::CloseCurrentPopup();
} }
ImGui::SetItemDefaultFocus(); ImGui::SetItemDefaultFocus();
ImGui::SameLine(); ImGui::SameLine();
if (ImGui::Button("Cancel", ImVec2(120, 0))) if (ImGui::Button(pinball::get_rc_string(Msg::HIGHSCORES_Cancel), ImVec2(120, 0)))
{ {
ImGui::CloseCurrentPopup(); ImGui::CloseCurrentPopup();
} }
@ -220,7 +221,7 @@ void high_score::RenderHighScoreDialog()
ImGui::EndPopup(); ImGui::EndPopup();
// Reenter dialog for the next score in the queue // Reenter dialog for the next score in the queue
if (!ImGui::IsPopupOpen("High Scores") && !ScoreQueue.empty()) if (!ImGui::IsPopupOpen(pinball::get_rc_string(Msg::HIGHSCORES_Caption)) && !ScoreQueue.empty())
{ {
ShowDialog = true; ShowDialog = true;
} }

View file

@ -3,9 +3,11 @@
#include "fullscrn.h" #include "fullscrn.h"
#include "midi.h" #include "midi.h"
#include "pinball.h"
#include "render.h" #include "render.h"
#include "Sound.h" #include "Sound.h"
#include "winmain.h" #include "winmain.h"
#include "translations.h"
constexpr int options::MaxUps, options::MaxFps, options::MinUps, options::MinFps, options::DefUps, options::DefFps; constexpr int options::MaxUps, options::MaxFps, options::MinUps, options::MinFps, options::DefUps, options::DefFps;
constexpr int options::MaxSoundChannels, options::MinSoundChannels, options::DefSoundChannels; constexpr int options::MaxSoundChannels, options::MinSoundChannels, options::DefSoundChannels;
@ -18,12 +20,12 @@ bool options::ShowDialog = false;
GameInput* options::ControlWaitingForInput = nullptr; GameInput* options::ControlWaitingForInput = nullptr;
const ControlRef options::Controls[6] const ControlRef options::Controls[6]
{ {
{"Left Flipper", RebindControls.LeftFlipper}, {Msg::KEYMAPPER_FlipperL, RebindControls.LeftFlipper},
{"Right Flipper", RebindControls.RightFlipper}, {Msg::KEYMAPPER_FlipperR, RebindControls.RightFlipper},
{"Left Table Bump", RebindControls.LeftTableBump}, {Msg::KEYMAPPER_BumpLeft, RebindControls.LeftTableBump},
{"Right Table Bump", RebindControls.RightTableBump}, {Msg::KEYMAPPER_BumpRight, RebindControls.RightTableBump},
{"Bottom Table Bump", RebindControls.BottomTableBump}, {Msg::KEYMAPPER_BumpBottom, RebindControls.BottomTableBump},
{"Plunger", RebindControls.Plunger}, {Msg::KEYMAPPER_Plunger, RebindControls.Plunger},
}; };
@ -113,6 +115,8 @@ void options::InitPrimary()
Options.DebugOverlayCollisionMask = get_int("Debug Overlay Collision Mask", true); Options.DebugOverlayCollisionMask = get_int("Debug Overlay Collision Mask", true);
Options.DebugOverlaySprites = get_int("Debug Overlay Sprites", true); Options.DebugOverlaySprites = get_int("Debug Overlay Sprites", true);
Options.DebugOverlaySounds = get_int("Debug Overlay Sounds", true); Options.DebugOverlaySounds = get_int("Debug Overlay Sounds", true);
translations::SetCurrentLanguage(get_string("Language", translations::GetCurrentLanguage()->ShortName).c_str());
Options.FontFileName = get_string("FontFileName", "");
} }
void options::InitSecondary() void options::InitSecondary()
@ -160,7 +164,9 @@ void options::uninit()
set_int("Debug Overlay Ball Edges", Options.DebugOverlayBallEdges); set_int("Debug Overlay Ball Edges", Options.DebugOverlayBallEdges);
set_int("Debug Overlay Collision Mask", Options.DebugOverlayCollisionMask); set_int("Debug Overlay Collision Mask", Options.DebugOverlayCollisionMask);
set_int("Debug Overlay Sprites", Options.DebugOverlaySprites); set_int("Debug Overlay Sprites", Options.DebugOverlaySprites);
get_int("Debug Overlay Sounds", Options.DebugOverlaySounds); set_int("Debug Overlay Sounds", Options.DebugOverlaySounds);
set_string("Language", translations::GetCurrentLanguage()->ShortName);
set_string("FontFileName", Options.FontFileName.c_str());
} }
@ -339,18 +345,16 @@ void options::RenderControlDialog()
return; return;
ImGui::PushStyleVar(ImGuiStyleVar_WindowMinSize, ImVec2{550, 450}); ImGui::PushStyleVar(ImGuiStyleVar_WindowMinSize, ImVec2{550, 450});
if (ImGui::Begin("3D Pinball: Player Controls", &ShowDialog)) if (ImGui::Begin(pinball::get_rc_string(Msg::KEYMAPPER_Caption), &ShowDialog))
{ {
ImGui::TextUnformatted("Instructions"); ImGui::TextUnformatted(pinball::get_rc_string(Msg::KEYMAPPER_Groupbox2));
ImGui::Separator(); ImGui::Separator();
ImGui::TextWrapped( ImGui::TextWrapped("%s", pinball::get_rc_string(Msg::KEYMAPPER_Help1));
"To change game controls, click the control button, press the new key, and then choose OK."); ImGui::TextWrapped("%s", pinball::get_rc_string(Msg::KEYMAPPER_Help2));
ImGui::TextWrapped(
"To restore 3D Pinball to its original settings, choose Default, and then choose OK.");
ImGui::Spacing(); ImGui::Spacing();
ImGui::TextUnformatted("Control Options"); ImGui::TextUnformatted(pinball::get_rc_string(Msg::KEYMAPPER_Groupbox1));
ImGui::PushStyleVar(ImGuiStyleVar_CellPadding, ImVec2{5, 10}); ImGui::PushStyleVar(ImGuiStyleVar_CellPadding, ImVec2{5, 10});
if (ImGui::BeginTable("Controls", 4, ImGuiTableFlags_NoSavedSettings | ImGuiTableFlags_Borders)) if (ImGui::BeginTable("Controls", 4, ImGuiTableFlags_NoSavedSettings | ImGuiTableFlags_Borders))
@ -366,7 +370,7 @@ void options::RenderControlDialog()
{ {
ImGui::TableNextColumn(); ImGui::TableNextColumn();
ImGui::PushStyleColor(ImGuiCol_Button, ImVec4{0.5, 0, 0, 1}); ImGui::PushStyleColor(ImGuiCol_Button, ImVec4{0.5, 0, 0, 1});
if (ImGui::Button(row.Name)) if (ImGui::Button(pinball::get_rc_string(row.NameStringId)))
{ {
for (auto i = 0u; i <= 2; i++) for (auto i = 0u; i <= 2; i++)
row.Option[i] = {}; row.Option[i] = {};
@ -419,20 +423,20 @@ void options::RenderControlDialog()
ImGui::PopStyleVar(); ImGui::PopStyleVar();
ImGui::Spacing(); ImGui::Spacing();
if (ImGui::Button("OK")) if (ImGui::Button(pinball::get_rc_string(Msg::KEYMAPPER_Ok)))
{ {
Options.Key = RebindControls; Options.Key = RebindControls;
ShowDialog = false; ShowDialog = false;
} }
ImGui::SameLine(); ImGui::SameLine();
if (ImGui::Button("Cancel")) if (ImGui::Button(pinball::get_rc_string(Msg::KEYMAPPER_Cancel)))
{ {
ShowDialog = false; ShowDialog = false;
} }
ImGui::SameLine(); ImGui::SameLine();
if (ImGui::Button("Default")) if (ImGui::Button(pinball::get_rc_string(Msg::KEYMAPPER_Default)))
{ {
RebindControls = Options.KeyDft; RebindControls = Options.KeyDft;
ControlWaitingForInput = nullptr; ControlWaitingForInput = nullptr;

View file

@ -1,5 +1,7 @@
#pragma once #pragma once
enum class Msg : int;
enum class Menu1:int enum class Menu1:int
{ {
New_Game = 101, New_Game = 101,
@ -90,11 +92,12 @@ struct optionsStruct
bool DebugOverlayCollisionMask; bool DebugOverlayCollisionMask;
bool DebugOverlaySprites; bool DebugOverlaySprites;
bool DebugOverlaySounds; bool DebugOverlaySounds;
std::string FontFileName;
}; };
struct ControlRef struct ControlRef
{ {
const char* Name; Msg NameStringId;
GameInput (&Option)[3]; GameInput (&Option)[3];
}; };

View file

@ -27,6 +27,7 @@
#include "TFlipper.h" #include "TFlipper.h"
#include "TPinballTable.h" #include "TPinballTable.h"
#include "TTextBox.h" #include "TTextBox.h"
#include "translations.h"
TPinballTable* pb::MainTable = nullptr; TPinballTable* pb::MainTable = nullptr;
DatFile* pb::record_table = nullptr; DatFile* pb::record_table = nullptr;
@ -35,6 +36,7 @@ GameModes pb::game_mode = GameModes::GameOver;
float pb::time_now = 0, pb::time_next = 0, pb::ball_speed_limit, pb::time_ticks_remainder = 0; float pb::time_now = 0, pb::time_next = 0, pb::ball_speed_limit, pb::time_ticks_remainder = 0;
bool pb::FullTiltMode = false, pb::FullTiltDemoMode = false, pb::cheat_mode = false, pb::demo_mode = false; bool pb::FullTiltMode = false, pb::FullTiltDemoMode = false, pb::cheat_mode = false, pb::demo_mode = false;
std::string pb::DatFileName; std::string pb::DatFileName;
ImU32 pb::TextBoxColor;
int pb::init() int pb::init()
@ -47,7 +49,7 @@ int pb::init()
record_table = partman::load_records(dataFilePath.c_str(), FullTiltMode); record_table = partman::load_records(dataFilePath.c_str(), FullTiltMode);
auto useBmpFont = 0; auto useBmpFont = 0;
pinball::get_rc_int(158, &useBmpFont); pinball::get_rc_int(Msg::TextBoxUseBitmapFont, &useBmpFont);
if (useBmpFont) if (useBmpFont)
score::load_msg_font("pbmsg_ft"); score::load_msg_font("pbmsg_ft");
@ -100,6 +102,13 @@ int pb::init()
high_score::read(); high_score::read();
ball_speed_limit = MainTable->BallList.at(0)->Offset * 200.0f; ball_speed_limit = MainTable->BallList.at(0)->Offset * 200.0f;
int red = 255, green = 255, blue = 255;
auto fontColor = pinball::get_rc_string(Msg::TextBoxColor);
if (fontColor)
sscanf(fontColor, "%d %d %d", &red, &green, &blue);
TextBoxColor = IM_COL32(red, green, blue, 255);
return 0; return 0;
} }
@ -124,7 +133,7 @@ void pb::SelectDatFile(const std::vector<const char*>& dataSearchPaths)
std::string datFileNames[3] std::string datFileNames[3]
{ {
"CADET.DAT", "CADET.DAT",
options::get_string("Pinball Data", pinball::get_rc_string(168, 0)), "PINBALL.DAT",
"DEMO.DAT", "DEMO.DAT",
}; };
@ -219,7 +228,7 @@ void pb::toggle_demo()
MainTable->Message(1024, 0.0); MainTable->Message(1024, 0.0);
mode_change(GameModes::GameOver); mode_change(GameModes::GameOver);
pinball::MissTextBox->Clear(); pinball::MissTextBox->Clear();
auto text = pinball::get_rc_string(24, 0); auto text = pinball::get_rc_string(Msg::STRING125);
pinball::InfoTextBox->Display(text, -1.0); pinball::InfoTextBox->Display(text, -1.0);
} }
else else
@ -288,7 +297,7 @@ void pb::frame(float dtMilliSec)
{ {
if (nudge::nudge_count > 0.5f) if (nudge::nudge_count > 0.5f)
{ {
pinball::InfoTextBox->Display(pinball::get_rc_string(25, 0), 2.0); pinball::InfoTextBox->Display(pinball::get_rc_string(Msg::STRING126), 2.0);
} }
if (nudge::nudge_count > 1.0f) if (nudge::nudge_count > 1.0f)
MainTable->tilt(time_now); MainTable->tilt(time_now);
@ -366,7 +375,7 @@ void pb::pause_continue()
{ {
if (MainTable) if (MainTable)
MainTable->Message(1008, time_now); MainTable->Message(1008, time_now);
pinball::InfoTextBox->Display(pinball::get_rc_string(22, 0), -1.0); pinball::InfoTextBox->Display(pinball::get_rc_string(Msg::STRING123), -1.0);
midi::music_stop(); midi::music_stop();
Sound::Deactivate(); Sound::Deactivate();
} }
@ -376,17 +385,17 @@ void pb::pause_continue()
MainTable->Message(1009, 0.0); MainTable->Message(1009, 0.0);
if (!demo_mode) if (!demo_mode)
{ {
char* text; const char* text;
float textTime; float textTime;
if (game_mode == GameModes::GameOver) if (game_mode == GameModes::GameOver)
{ {
textTime = -1.0; textTime = -1.0;
text = pinball::get_rc_string(24, 0); text = pinball::get_rc_string(Msg::STRING125);
} }
else else
{ {
textTime = 5.0; textTime = 5.0;
text = pinball::get_rc_string(23, 0); text = pinball::get_rc_string(Msg::STRING124);
} }
pinball::InfoTextBox->Display(text, textTime); pinball::InfoTextBox->Display(text, textTime);
} }
@ -481,7 +490,7 @@ void pb::InputDown(GameInput input)
case 'h': case 'h':
{ {
high_score_struct entry{ {0}, 1000000000 }; high_score_struct entry{ {0}, 1000000000 };
strncpy(entry.Name, pinball::get_rc_string(26, 0), sizeof entry.Name - 1); strncpy(entry.Name, pinball::get_rc_string(Msg::STRING127), sizeof entry.Name - 1);
high_score::show_and_set_high_score_dialog({ entry, 1 }); high_score::show_and_set_high_score_dialog({ entry, 1 });
break; break;
} }
@ -550,7 +559,16 @@ void pb::end_game()
if (position >= 0) if (position >= 0)
{ {
high_score_struct entry{ {0}, scores[i] }; high_score_struct entry{ {0}, scores[i] };
strncpy(entry.Name, pinball::get_rc_string(scoreIndex[i] + 26, 0), sizeof entry.Name - 1); const char* playerName = "Player";
switch(scoreIndex[i]) {
case 0: playerName = pinball::get_rc_string(Msg::STRING127); break;
case 1: playerName = pinball::get_rc_string(Msg::STRING128); break;
case 2: playerName = pinball::get_rc_string(Msg::STRING129); break;
case 3: playerName = pinball::get_rc_string(Msg::STRING130); break;
}
strncpy(entry.Name, playerName, sizeof entry.Name - 1);
high_score::show_and_set_high_score_dialog({ entry, -1 }); high_score::show_and_set_high_score_dialog({ entry, -1 });
} }
} }

View file

@ -47,6 +47,7 @@ public:
static TPinballTable* MainTable; static TPinballTable* MainTable;
static bool FullTiltMode, FullTiltDemoMode; static bool FullTiltMode, FullTiltDemoMode;
static std::string DatFileName; static std::string DatFileName;
static ImU32 TextBoxColor;
static int init(); static int init();
static int uninit(); static int uninit();

View file

@ -29,6 +29,7 @@
#include <string> #include <string>
#include <thread> #include <thread>
#include <map> #include <map>
#include <initializer_list>
//#include <array> //#include <array>
#define SDL_MAIN_HANDLED #define SDL_MAIN_HANDLED

View file

@ -1,219 +1,13 @@
#include "pch.h" #include "pch.h"
#include "pinball.h" #include "pinball.h"
#include "translations.h"
#include "winmain.h" #include "winmain.h"
// Todo: load translations from file int LoadStringAlt(Msg uID, LPSTR lpBuffer, int cchBufferMax)
std::map<uint32_t, LPCSTR> rc_strings
{ {
{0, "Replay Awarded"}, const char* text = translations::GetTranslation(uID);
{1, "Ball Locked"},
{2, "Center Post\n%ld"},
{3, "Bonus Awarded\n%ld"},
{4, "Bonus Activated"},
{5, "Weapons Upgraded"},
{6, "Engine Upgraded"},
{7, "Bonus up 1 Million"},
{8, "Extra Ball Available\n%ld"},
{9, "Extra Ball"},
{10, "Reflex Shot Award\n%ld"},
{11, "Final Battle Won"},
{12, "Hyperspace Bonus\n%ld"},
{13, "Hyperspace Bonus Available"},
{14, "Jackpot Awarded\n%ld"},
{15, "Jackpot Activated"},
{16, "Multiball"},
{17, "Ramp Bonus Awarded"},
{18, "Light Added"},
{19, "Ramp Bonus On"},
{20, "Light Reset Off"},
{21, "Skill Shot\n%ld"},
{22, "Game Paused\nF3 to Resume"},
{23, "Continue Play"},
{24, "F2 Starts New Game"},
{25, "Careful..."},
{26, "Player 1"},
{27, "Player 2"},
{28, "Player 3"},
{29, "Player 4"},
{30, "Demo\nPlayer 1"},
{31, "Demo\nPlayer 2"},
{32, "Demo\nPlayer 3"},
{33, "Demo\nPlayer 4"},
{34, "Game Over"},
{35, "TILT!"},
{36, "This program requires an 80386 or later CPU."},
{37, "80386 Required"},
{38, "3D Pinball for Windows - Space Cadet"},
{
39,
"One or more of the player controls is set to the same key,\nfor best performance use unique keys for each control."
},
{40, "Clear High Scores?"},
{41, "Confirm"},
{42, "WAVEMIX.INF is missing - it must be in the pinball directory!"},
{43, "Warning:"},
{44, "Ship Re-Fueled"},
{45, "Gravity Well"},
{46, "Time Warp Forward"},
{47, "Time Warp Backward"},
{48, "Maelstrom!"},
{49, "Wormhole"},
{50, "Awaiting Deployment"},
{51, "Flags Upgraded"},
{52, "Bonus Hold"},
{53, "Level One Commendation"},
{54, "Level Two Commendation"},
{55, "Level Three Commendation"},
{56, "Field Multiplier 2x"},
{57, "Field Multiplier 3x"},
{58, "Field Multiplier 5x"},
{59, "Field Multiplier 10x"},
{60, "Target Practice"},
{61, "Launch Training"},
{62, "Re-Entry Training"},
{63, "Science"},
{64, "Stray Comet"},
{65, "Black Hole"},
{66, "Space Radiation"},
{67, "Bug Hunt"},
{68, "Alien Menace"},
{69, "Rescue"},
{70, "Satellite Retrieval"},
{71, "Recon"},
{72, "Doomsday Machine"},
{73, "Cosmic Plague"},
{74, "Secret"},
{75, "Time Warp"},
{76, "Maelstrom"},
{77, "Mission Accepted\n%ld"},
{78, "Mission Completed\n%ld"},
{79, "%s Mission Selected"},
{80, "Black Hole\n%ld"},
{81, "Gravity Normalized\n%ld"},
{82, "Gravity Well\n%ld"},
{83, "Promotion to %s"},
{84, "Cadet"},
{85, "Ensign"},
{86, "Lieutenant"},
{87, "Captain"},
{88, "Lt Commander"},
{89, "Commander"},
{90, "Commodore"},
{91, "Admiral"},
{92, "Fleet Admiral"},
{93, "Wormhole Opened"},
{94, "Crash Bonus\n%ld"},
{95, "Replay Ball"},
{96, "Re-Deploy"},
{97, "Player 1 Shoot Again"},
{98, "Player 2 Shoot Again"},
{99, "Player 3 Shoot Again"},
{100, "Player 4 Shoot Again"},
{
101,
"This 3D Pinball Table was created for Microsoft by Maxis.\nFor more information call (800)-336-2947\n(US and Canadian customers only).\nCopyright (c) 1995 Maxis."
},
{102, "3D Pinball Table created for Microsoft by Maxis. Copyright (c) 1995 Maxis."},
{103, "About 3D Pinball"},
{104, "Hit Mission Targets To Select Mission"},
{105, "Re-Fuel Ship"},
{106, "Launch Ramp To Accept %s Mission"},
{107, "Attack Bumpers Hits\nLeft: %d"},
{108, "Target Training Passed"},
{109, "Mission Aborted"},
{110, "Launches Left: %d"},
{111, "Launch Training Passed"},
{112, "Re-Entries Left: %d"},
{113, "Re-Entry Training Passed"},
{114, "Drop Targets\nLeft: %d"},
{115, "Science Mission Completed"},
{116, "Warning -- Low Fuel"},
{117, "Fill Right Hazard Banks"},
{118, "Hyperspace Launch"},
{119, "Comet Destroyed"},
{120, "Enter Wormhole"},
{121, "Radiation Eliminated"},
{122, "Upgrade Launch Bumpers"},
{123, "Enter Black Hole"},
{124, "Black Hole Eliminated"},
{125, "Targets\nLeft: %d"},
{126, "Xenomorphs Destroyed"},
{127, "Upgrade Flags"},
{128, "Hyperspace Launch"},
{129, "Survivors Rescued"},
{130, "Aliens Repelled"},
{131, "Hit Fuel Targets"},
{132, "Remote Attack Bumper Hits\nLeft: %d"},
{133, "Satellite Repaired"},
{134, "Lane Passes\nLeft: %d"},
{135, "Shoot Ball Up Fuel Chute"},
{136, "Survey Complete"},
{137, "Out Lane Passes\nLeft: %d"},
{138, "Doomsday Machine Destroyed"},
{139, "Roll Flags: %d"},
{140, "Hit Space Warp Rollover"},
{141, "Plague Eliminated"},
{142, "Hit Yellow Wormhole"},
{143, "Hit Red Wormhole"},
{144, "Hit Green Wormhole"},
{145, "Plans Recovered"},
{146, "Rebound Hits\nLeft: %d"},
{147, "Hit Hyperspace Chute or Launch Ramp"},
{148, "Drop Target Hits\nLeft: %d"},
{149, "Spot Target Hits\nLeft: %d"},
{150, "Lanes Passes\nLeft: %d"},
{151, "Shoot Ball Up Fuel Chute"},
{152, "Hit Launch Ramp"},
{153, "Hit Flags"},
{154, "Hit Worm Hole"},
{155, "Hyperspace Chute to Maelstrom"},
{156, "pinball.mid"},
{158, "1 UseBitmapFont"},
{159, "90 Left Flipper Key"},
{160, "191 Right Flipper Key"},
{161, "32 Plunger Key"},
{162, "88 Bump Left Key"},
{163, "190 Bump Right Key"},
{164, "38 Bump Bottom Key"},
{165, "Software\\Microsoft\\Plus!\\Pinball"},
{166, "SpaceCadet"},
{167, "1c7c22a0-9576-11ce-bf80-444553540000"},
{168, "PINBALL.DAT"},
{169, "Space Cadet"},
{170, "Error:"},
{171, "Unable to find other tables."},
{172, "3D Pinball\nSpace Cadet"},
{173, "Promotion to %s"},
{174, "Demotion to %s"},
{175, "Upgrade Attack Bumpers"},
{176, "Fill Left Hazard Banks"},
{177, "HIGH SCORE"},
{178, "pinball.chm"},
{179, "Not enough memory to run 3D Pinball."},
{180, "Player 1's Score\n%ld"},
{181, "Player 2's Score\n%ld"},
{182, "Player 3's Score\n%ld"},
{183, "Player 4's Score\n%ld"},
{184, "High Score 1\n%ld"},
{185, "High Score 2\n%ld"},
{186, "High Score 3\n%ld"},
{187, "High Score 4\n%ld"},
{188, "High Score 5\n%ld"},
{189, "255 255 255 (R G B default font color)"},
{2030, "Use Maximum Resolution (640 x 480)"},
{2031, "Use Maximum Resolution (800 x 600)"},
{2032, "Use Maximum Resolution (1024 x 768)"}
};
int LoadStringAlt(uint32_t uID, LPSTR lpBuffer, int cchBufferMax) strncpy(lpBuffer, text, cchBufferMax);
{
auto str = rc_strings.find(uID);
if (str == rc_strings.end())
{
return 0;
}
strncpy(lpBuffer, str->second, cchBufferMax);
return 1; return 1;
} }
@ -226,17 +20,18 @@ int pinball::LeftShift = -1;
int pinball::RightShift = -1; int pinball::RightShift = -1;
std::string pinball::BasePath; std::string pinball::BasePath;
char* pinball::get_rc_string(int uID, int a2) char* pinball::get_rc_string(Msg uID)
{ {
char* result = &getRcBuffer[256 * rc_string_slot]; char* result = &getRcBuffer[256 * rc_string_slot];
if (!LoadStringAlt(uID, &getRcBuffer[256 * rc_string_slot], 255)) if (!LoadStringAlt(uID, &getRcBuffer[256 * rc_string_slot], 255))
*result = 0; *result = 0;
if (++rc_string_slot >= 6) if (++rc_string_slot >= 6)
rc_string_slot = 0; rc_string_slot = 0;
return result; return result;
} }
int pinball::get_rc_int(int uID, int* dst) int pinball::get_rc_int(Msg uID, int* dst)
{ {
char buffer[255]; char buffer[255];
int result = LoadStringAlt(uID, buffer, 255); int result = LoadStringAlt(uID, buffer, 255);

View file

@ -1,6 +1,7 @@
#pragma once #pragma once
class TTextBox; class TTextBox;
enum class Msg : int;
class pinball class pinball
{ {
@ -12,8 +13,8 @@ public:
static int LeftShift; static int LeftShift;
static std::string BasePath; static std::string BasePath;
static char* get_rc_string(int uID, int a2); static char* get_rc_string(Msg uID);
static int get_rc_int(int uID, int* dst); static int get_rc_int(Msg uID, int* dst);
static std::string make_path_name(const std::string& fileName); static std::string make_path_name(const std::string& fileName);
private: private:
static char getRcBuffer[256 * 6]; static char getRcBuffer[256 * 6];

View file

@ -0,0 +1,6292 @@
#include "pch.h"
#include "translations.h"
Lang translations::CurrentLanguage = Lang::English;
const LanguageInfo translations::Languages[static_cast<int>(Lang::Max)] =
{
{Lang::Arabic, "ar", "Arabic"},
{Lang::Czech, "cs", "Czech"},
{Lang::Danish, "da", "Danish"},
{Lang::German, "de", "German"},
{Lang::Greek, "el", "Greek"},
{Lang::English, "en", "English"},
{Lang::Spanish, "es", "Spanish"},
{Lang::Finnish, "fi", "Finnish"},
{Lang::French, "fr", "French"},
{Lang::Hebrew, "he", "Hebrew"},
{Lang::Hungarian, "hu", "Hungarian"},
{Lang::Italian, "it", "Italian"},
{Lang::Japanese, "ja", "Japanese"},
{Lang::Korean, "ko", "Korean"},
{Lang::Norwegian, "nb", "Norwegian"},
{Lang::Dutch, "nl", "Dutch"},
{Lang::Polish, "pl", "Polish"},
{Lang::BrazilianPortuguese, "pt_BR", "Brazilian Portuguese"},
{Lang::Portuguese, "pt_PT", "Portuguese"},
{Lang::Russian, "ru", "Russian"},
{Lang::Swedish, "sv", "Swedish"},
{Lang::Turkish, "tr", "Turkish"},
{Lang::SimplifiedChinese, "zh_CN", "Simplified Chinese"},
{Lang::TraditionalChinese, "zh_TW", "Traditional Chinese"},
};
void translations::SetCurrentLanguage(const char* short_name)
{
for (const auto& langInfo : Languages)
{
if (!strcmp(short_name, langInfo.ShortName))
{
CurrentLanguage = langInfo.Language;
return;
}
}
assertm(false, "Unknown language");
}
const LanguageInfo* translations::GetCurrentLanguage()
{
for (const auto& langInfo : Languages)
{
if (langInfo.Language == CurrentLanguage)
{
return &langInfo;
}
}
return nullptr;
}
const char* translations::GetTranslation(Msg id)
{
if (!TextArray::contains(id))
return "!Missing MsgId!";
// Current language assumed in bounds at this point
auto text = Translations.Get(id, CurrentLanguage);
// Fallback to English if available
if (text == nullptr)
{
text = Translations.Get(id, Lang::English);
if (text == nullptr)
text = "!Missing English text!";
}
return text;
}
void translations::GetGlyphRange(ImVector<ImWchar>* ranges)
{
ImFontGlyphRangesBuilder builder;
for (int i = 0; i < (int)Msg::Max; i++)
{
const char* translation = GetTranslation((Msg)i);
if (translation)
{
builder.AddText(translation);
}
}
builder.AddRanges(ImGui::GetIO().Fonts->GetGlyphRangesDefault());
builder.BuildRanges(ranges);
}
const TextArray translations::Translations =
{
{
Msg::STRING101,
{
{ Lang::Arabic, "Replay Awarded" },
{ Lang::Czech, "Ocenění novým míčkem" },
{ Lang::Danish, "Ekstraspil" },
{ Lang::German, "Wiederholung gewonnen" },
{ Lang::Greek, "Κερδίσατε επανάληψη" },
{ Lang::English, "Replay Awarded" },
{ Lang::Spanish, "Premiado con otra partida" },
{ Lang::Finnish, "Uusinta myönnetty" },
{ Lang::French, "Nouvelle partie gagnée !" },
{ Lang::Hebrew, "Replay Awarded" },
{ Lang::Hungarian, "Jutalomjáték" },
{ Lang::Italian, "Altra partita vinta" },
{ Lang::Japanese, "リプレイ獲得!" },
{ Lang::Korean, "보너스 게임" },
{ Lang::Norwegian, "Vunnet nytt spill" },
{ Lang::Dutch, "Replay toegekend" },
{ Lang::Polish, "Powtórzenie gry" },
{ Lang::BrazilianPortuguese, "Ganhou repetição!" },
{ Lang::Portuguese, "Concedida bola extra" },
{ Lang::Russian, "Выдан Реплей" },
{ Lang::Swedish, "Fortsätt spela om kulan rinner" },
{ Lang::Turkish, "Yeniden Oynama Ödülü" },
{ Lang::SimplifiedChinese, "奖励重玩" },
{ Lang::TraditionalChinese, "贈獎:再玩一次" },
},
},
{
Msg::STRING102,
{
{ Lang::Arabic, "Ball Locked" },
{ Lang::Czech, "Míček uzamčen" },
{ Lang::Danish, "Kuglen er låst" },
{ Lang::German, "Kugel gesperrt" },
{ Lang::Greek, "Η μπίλια κλειδώθηκε" },
{ Lang::English, "Ball Locked" },
{ Lang::Spanish, "Bola bloqueada" },
{ Lang::Finnish, "Pallo lukittu" },
{ Lang::French, "Bille bloquée" },
{ Lang::Hebrew, "Ball Locked" },
{ Lang::Hungarian, "Zárolt golyó" },
{ Lang::Italian, "Pallina bloccata" },
{ Lang::Japanese, "ボールがロックされた!" },
{ Lang::Korean, "구슬이 갇힘" },
{ Lang::Norwegian, "Låst ball" },
{ Lang::Dutch, "Ball Locked" },
{ Lang::Polish, "Kulka zablokowana" },
{ Lang::BrazilianPortuguese, "Bola presa" },
{ Lang::Portuguese, "Bola bloqueada" },
{ Lang::Russian, "Шарик Заблокирован" },
{ Lang::Swedish, "Kulan låst" },
{ Lang::Turkish, "Top Kilitli" },
{ Lang::SimplifiedChinese, "锁定的球" },
{ Lang::TraditionalChinese, "鎖定彈珠" },
},
},
{
Msg::STRING103,
{
{ Lang::Arabic, "Center Post\n%ld" },
{ Lang::Czech, "Centrální místo\n%ld" },
{ Lang::Danish, "Midterpost\n%ld" },
{ Lang::German, "Mittelpfosten\n%ld" },
{ Lang::Greek, "Κεντρικός στύλος\n%ld" },
{ Lang::English, "Center Post\n%ld" },
{ Lang::Spanish, "Poste central\n%ld" },
{ Lang::Finnish, "Keskitolppa\n%ld" },
{ Lang::French, "Cabestan\n%ld" },
{ Lang::Hebrew, "Center Post\n%ld" },
{ Lang::Hungarian, "Középoszlop\n%ld" },
{ Lang::Italian, "Corpo di guardia principale\n%ld" },
{ Lang::Japanese, "センター ポスト\n%ld" },
{ Lang::Korean, "중앙 고지\n%ld" },
{ Lang::Norwegian, "Midtstolpe\n%ld" },
{ Lang::Dutch, "Center Post\n%ld" },
{ Lang::Polish, "Centralny słupek\n%ld" },
{ Lang::BrazilianPortuguese, "Ativou pino central\n%ld" },
{ Lang::Portuguese, "Poste central\n%ld" },
{ Lang::Russian, "Центральный Ограничитель %ld" },
{ Lang::Swedish, "Mittstolpe\n%ld" },
{ Lang::Turkish, "Merkez Direk\n%ld" },
{ Lang::SimplifiedChinese, "中央立柱\n%ld" },
{ Lang::TraditionalChinese, "中央郵局\n%ld" },
},
},
{
Msg::STRING104,
{
{ Lang::Arabic, "Bonus Awarded\n%ld" },
{ Lang::Czech, "Ocenění bonusem\n%ld" },
{ Lang::Danish, "Bonus tildelt\n%ld" },
{ Lang::German, "Bonus gewonnen\n%ld" },
{ Lang::Greek, "Απονομή μπόνους\n%ld" },
{ Lang::English, "Bonus Awarded\n%ld" },
{ Lang::Spanish, "Bonificación\n%ld" },
{ Lang::Finnish, "Bonus\n%ld" },
{ Lang::French, "Bonus obtenu\n%ld" },
{ Lang::Hebrew, "Bonus Awarded\n%ld" },
{ Lang::Hungarian, "Bónusz\n%ld" },
{ Lang::Italian, "Bonus vinto\n%ld" },
{ Lang::Japanese, "ボーナス\n%ld" },
{ Lang::Korean, "보너스!\n%ld" },
{ Lang::Norwegian, "Vunnet bonus\n%ld" },
{ Lang::Dutch, "Bonus toegekend\n%ld" },
{ Lang::Polish, "Premia przyznana\n%ld" },
{ Lang::BrazilianPortuguese, "Ganhou bônus!\n%ld" },
{ Lang::Portuguese, "Premiado com um bónus\n%ld" },
{ Lang::Russian, "Выдан Бонус\n%ld" },
{ Lang::Swedish, "Bonus\n%ld" },
{ Lang::Turkish, "Ödül Verildi\n%ld" },
{ Lang::SimplifiedChinese, "奖分\n%ld" },
{ Lang::TraditionalChinese, "您得到額外加分\n%ld" },
},
},
{
Msg::STRING105,
{
{ Lang::Arabic, "Bonus Activated" },
{ Lang::Czech, "Bonus aktivován" },
{ Lang::Danish, "Bonus slået til" },
{ Lang::German, "Bonus aktiviert" },
{ Lang::Greek, "Ενεργοποίηση μπόνους" },
{ Lang::English, "Bonus Activated" },
{ Lang::Spanish, "Bonificación activada" },
{ Lang::Finnish, "Bonus aktivoitu" },
{ Lang::French, "Bonus activé" },
{ Lang::Hebrew, "Bonus Activated" },
{ Lang::Hungarian, "Bónusz kijátszva" },
{ Lang::Italian, "Bonus attivato" },
{ Lang::Japanese, "ボーナス スタート!" },
{ Lang::Korean, "보너스 기회" },
{ Lang::Norwegian, "Bonus på" },
{ Lang::Dutch, "Bonus geactiveerd" },
{ Lang::Polish, "Premia aktywna" },
{ Lang::BrazilianPortuguese, "Bônus ativado" },
{ Lang::Portuguese, "Bónus activado" },
{ Lang::Russian, "Бонус Активирован" },
{ Lang::Swedish, "Bonus på" },
{ Lang::Turkish, "Ödül Etkin" },
{ Lang::SimplifiedChinese, "奖分" },
{ Lang::TraditionalChinese, "啟動加分" },
},
},
{
Msg::STRING106,
{
{ Lang::Arabic, "Weapons Upgraded" },
{ Lang::Czech, "Vylepšení zbraní" },
{ Lang::Danish, "Våben er opgraderet" },
{ Lang::German, "Systeme verbessert" },
{ Lang::Greek, "Τα όπλα αναβαθμίστηκαν" },
{ Lang::English, "Weapons Upgraded" },
{ Lang::Spanish, "Armas actualizadas" },
{ Lang::Finnish, "Aseistus uusittu" },
{ Lang::French, "Armes renforcées" },
{ Lang::Hebrew, "Weapons Upgraded" },
{ Lang::Hungarian, "Fegyverek korszerűsítve" },
{ Lang::Italian, "Armi potenziate" },
{ Lang::Japanese, "武器をアップグレード!" },
{ Lang::Korean, "무기 보강" },
{ Lang::Norwegian, "Våpen oppgradert" },
{ Lang::Dutch, "Wapens opgewaardeerd" },
{ Lang::Polish, "Modernizacja broni" },
{ Lang::BrazilianPortuguese, "Armas atualizadas" },
{ Lang::Portuguese, "Armas reforçadas" },
{ Lang::Russian, "Вооружение Улучшено" },
{ Lang::Swedish, "Vapen uppgraderas" },
{ Lang::Turkish, "Silahlar Yenilendi" },
{ Lang::SimplifiedChinese, "武器已升级" },
{ Lang::TraditionalChinese, "武器升級" },
},
},
{
Msg::STRING107,
{
{ Lang::Arabic, "Engine Upgraded" },
{ Lang::Czech, "Vylepšení motoru" },
{ Lang::Danish, "Maskine er opgraderet" },
{ Lang::German, "Antrieb verbessert" },
{ Lang::Greek, "Ο κινητήρας αναβαθμίστηκε" },
{ Lang::English, "Engine Upgraded" },
{ Lang::Spanish, "Motor actualizado" },
{ Lang::Finnish, "Moottori uusittu" },
{ Lang::French, "Moteur renforcé" },
{ Lang::Hebrew, "Engine Upgraded" },
{ Lang::Hungarian, "Motor korszerűsítve" },
{ Lang::Italian, "Motore potenziato" },
{ Lang::Japanese, "エンジンをアップ\nグレード!" },
{ Lang::Korean, "엔진 강화" },
{ Lang::Norwegian, "Motor oppgradert" },
{ Lang::Dutch, "Motor opgewaardeerd" },
{ Lang::Polish, "Modernizacja silnika" },
{ Lang::BrazilianPortuguese, "Mecanismo atualizado" },
{ Lang::Portuguese, "Motor reforçado" },
{ Lang::Russian, "Двигатель Улучшен" },
{ Lang::Swedish, "Motorn uppgraderas" },
{ Lang::Turkish, "Motor Yenilendi" },
{ Lang::SimplifiedChinese, "引擎已升级" },
{ Lang::TraditionalChinese, "引擎升級" },
},
},
{
Msg::STRING108,
{
{ Lang::Arabic, "Bonus up 1 Million" },
{ Lang::Czech, "Bonus navršení do 1 miliónu" },
{ Lang::Danish, "Bonus forhøjet med 1 million" },
{ Lang::German, "1 Million Bonus" },
{ Lang::Greek, "Μπόνους 1 εκατομμύριο" },
{ Lang::English, "Bonus up 1 Million" },
{ Lang::Spanish, "Bonificación de 1 millón" },
{ Lang::Finnish, "Lisäbonus: 1 000 000" },
{ Lang::French, "Bonus augmenté de 1 million" },
{ Lang::Hebrew, "Bonus up 1 Million" },
{ Lang::Hungarian, "Egymilliós bónusz" },
{ Lang::Italian, "Bonus aumentato a un milione" },
{ Lang::Japanese, "ボーナス アップ 1,000,000" },
{ Lang::Korean, "1백만점 보너스" },
{ Lang::Norwegian, "Bonus opp 1 million" },
{ Lang::Dutch, "1 miljoen extra bonuspunten" },
{ Lang::Polish, "Premia - 1 milion" },
{ Lang::BrazilianPortuguese, "Bônus acrescido de 1 milhão" },
{ Lang::Portuguese, "Bónus aumentado em 1 milhão" },
{ Lang::Russian, "Бонус Увеличен на 1 Миллион" },
{ Lang::Swedish, "1 miljon högre bonus" },
{ Lang::Turkish, "1 Milyon üzeri ödülü" },
{ Lang::SimplifiedChinese, "奖分到一百万" },
{ Lang::TraditionalChinese, "加分達到一百萬" },
},
},
{
Msg::STRING109,
{
{ Lang::Arabic, "Extra Ball Available\n%ld" },
{ Lang::Czech, "Možnost míčku navíc\n%ld" },
{ Lang::Danish, "Ekstra kugle\n%ld" },
{ Lang::German, "Extrakugel verfügbar\n%ld" },
{ Lang::Greek, "Πρόσθετη μπίλια διαθέσιμη\n%ld" },
{ Lang::English, "Extra Ball Available\n%ld" },
{ Lang::Spanish, "Bola extra disponible\n%ld" },
{ Lang::Finnish, "Lisäpallo saatavana\n%ld" },
{ Lang::French, "Bille supplémentaire disponible\n%ld" },
{ Lang::Hebrew, "Extra Ball Available\n%ld" },
{ Lang::Hungarian, "Extra golyó ajánlat\n%ld" },
{ Lang::Italian, "Altra pallina disponibile\n%ld" },
{ Lang::Japanese, "エキストラ ボール\nライト点灯 %ld" },
{ Lang::Korean, "남아 있는 보너스 구슬\n%ld" },
{ Lang::Norwegian, "Ekstra ball tilgjengelig\n%ld" },
{ Lang::Dutch, "Extra bal beschikbaar\n%ld" },
{ Lang::Polish, "Dostępna dodatkowa kulka\n%ld" },
{ Lang::BrazilianPortuguese, "Bola extra disponível\n%ld" },
{ Lang::Portuguese, "Bola extra disponível\n%ld" },
{ Lang::Russian, "Доступен Экстра Шарик %ld" },
{ Lang::Swedish, "Möjlighet till extraboll\n%ld" },
{ Lang::Turkish, "Ek Top Var\n%ld" },
{ Lang::SimplifiedChinese, "可用加分球\n%ld" },
{ Lang::TraditionalChinese, "其他可用的彈珠\n%ld" },
},
},
{
Msg::STRING110,
{
{ Lang::Arabic, "Extra Ball" },
{ Lang::Czech, "Míček navíc" },
{ Lang::Danish, "Ekstra kugle" },
{ Lang::German, "Extrakugel" },
{ Lang::Greek, "Πρόσθετη μπίλια" },
{ Lang::English, "Extra Ball" },
{ Lang::Spanish, "Bola extra" },
{ Lang::Finnish, "Lisäpallo" },
{ Lang::French, "Bille supplémentaire" },
{ Lang::Hebrew, "Extra Ball" },
{ Lang::Hungarian, "Extra golyó" },
{ Lang::Italian, "Altra pallina vinta" },
{ Lang::Japanese, "エクストラ ボール" },
{ Lang::Korean, "보너스 구슬" },
{ Lang::Norwegian, "Ekstra ball" },
{ Lang::Dutch, "Extra bal" },
{ Lang::Polish, "Dodatkowa kulka" },
{ Lang::BrazilianPortuguese, "Bola extra" },
{ Lang::Portuguese, "Bola extra" },
{ Lang::Russian, "Экстра Шарик" },
{ Lang::Swedish, "Extraboll" },
{ Lang::Turkish, "Ek Top" },
{ Lang::SimplifiedChinese, "加分球" },
{ Lang::TraditionalChinese, "額外的彈珠" },
},
},
{
Msg::STRING111,
{
{ Lang::Arabic, "Reflex Shot Award\n%ld" },
{ Lang::Czech, "Ocenění za rychlou trefu\n%ld" },
{ Lang::Danish, "Gentagelsesbonus\n%ld" },
{ Lang::German, "Reflexschuss gewonnen\n%ld" },
{ Lang::Greek, "Βράβευση γρήγορων αντανακλαστικών\n%ld" },
{ Lang::English, "Reflex Shot Award\n%ld" },
{ Lang::Spanish, "Premio de tiro devuelto\n%ld" },
{ Lang::Finnish, "Refleksilyönti\n%ld" },
{ Lang::French, "Prix pour tir de réflexe\n%ld" },
{ Lang::Hebrew, "Reflex Shot Award\n%ld" },
{ Lang::Hungarian, "Gyorstüzelési jutalom\n%ld" },
{ Lang::Italian, "Colpo veloce concesso\n%ld" },
{ Lang::Japanese, "リフレックス ショット %ld" },
{ Lang::Korean, "연속 맞히기 보너스\n%ld" },
{ Lang::Norwegian, "Pris for refleksskudd\n%ld" },
{ Lang::Dutch, "Reflexschot toegekend\n%ld" },
{ Lang::Polish, "Nagroda za odbity strzał\n%ld" },
{ Lang::BrazilianPortuguese, "Ganhou supertiro\n%ld" },
{ Lang::Portuguese, "Prémio de tiro de reflexo\n%ld" },
{ Lang::Russian, "Рефлекторный Запуск\n%ld" },
{ Lang::Swedish, "Bonus för reflexskott\n%ld" },
{ Lang::Turkish, "Refleks Atış Ödülü\n%ld" },
{ Lang::SimplifiedChinese, "反射射中奖励\n%ld" },
{ Lang::TraditionalChinese, "來回彈射中獎\n%ld" },
},
},
{
Msg::STRING112,
{
{ Lang::Arabic, "Final Battle Won" },
{ Lang::Czech, "Závěrečná bitva vyhrána!" },
{ Lang::Danish, "Du har vundet det endelige slag" },
{ Lang::German, "Finale gewonnen" },
{ Lang::Greek, "Η τελική μάχη κερδήθηκε" },
{ Lang::English, "Final Battle Won" },
{ Lang::Spanish, "Ganó la batalla final" },
{ Lang::Finnish, "Ratkaiseva taistelu voitettu" },
{ Lang::French, "Bataille finale gagnée" },
{ Lang::Hebrew, "Final Battle Won" },
{ Lang::Hungarian, "A végső csata eldőlt" },
{ Lang::Italian, "Battaglia finale vinta" },
{ Lang::Japanese, "最終バトル勝利!" },
{ Lang::Korean, "최종 승리" },
{ Lang::Norwegian, "Vant siste slag" },
{ Lang::Dutch, "Finalegevecht gewonnen" },
{ Lang::Polish, "Ostateczne zwycięstwo" },
{ Lang::BrazilianPortuguese, "Batalha final vencida" },
{ Lang::Portuguese, "Ganhou a batalha final" },
{ Lang::Russian, "Финальная Битва Выиграна" },
{ Lang::Swedish, "Slutstriden vunnen" },
{ Lang::Turkish, "Son Savaş Kazanıldı" },
{ Lang::SimplifiedChinese, "决战胜利" },
{ Lang::TraditionalChinese, "贏得最後勝利" },
},
},
{
Msg::STRING113,
{
{ Lang::Arabic, "Hyperspace Bonus\n%ld" },
{ Lang::Czech, "Hyperprostorový bonus\n%ld" },
{ Lang::Danish, "Hyperspacebonus tildelt\n%ld" },
{ Lang::German, "Hyperspace-Bonus\n%ld" },
{ Lang::Greek, "Μπόνους υπερδιαστήματος\n%ld" },
{ Lang::English, "Hyperspace Bonus\n%ld" },
{ Lang::Spanish, "Bonificación hiperespacio\n%ld" },
{ Lang::Finnish, "Hyperavaruusbonus\n%ld" },
{ Lang::French, "Bonus de l'hyper-espace\n%ld" },
{ Lang::Hebrew, "Hyperspace Bonus\n%ld" },
{ Lang::Hungarian, "Hipertér bónusz\n%ld" },
{ Lang::Italian, "Bonus iperspaziale vinto\n%ld" },
{ Lang::Japanese, "ハイパースペース\nボーナス %ld" },
{ Lang::Korean, "하이퍼스페이스 보너스\n%ld" },
{ Lang::Norwegian, "Hyperrombonus\n%ld" },
{ Lang::Dutch, "Hyperspacebonus\n%ld" },
{ Lang::Polish, "Premia hiperprzestrzeni\n%ld" },
{ Lang::BrazilianPortuguese, "Bônus do hiperespaço!\n%ld" },
{ Lang::Portuguese, "Bónus hiperespaço\n%ld" },
{ Lang::Russian, "Бонус за Гипер Пространство %ld" },
{ Lang::Swedish, "Hyperspace-bonus\n%ld" },
{ Lang::Turkish, "Uzay Boşluğu Ödülü\n%ld" },
{ Lang::SimplifiedChinese, "超空间奖分\n%ld" },
{ Lang::TraditionalChinese, "超空間紅利\n%ld" },
},
},
{
Msg::STRING114,
{
{ Lang::Arabic, "Hyperspace Bonus Available" },
{ Lang::Czech, "Možnost hyperprostorového bonusu" },
{ Lang::Danish, "Hyperspacebonus tilgængelig" },
{ Lang::German, "Hyperspace-Bonus verfügbar" },
{ Lang::Greek, "Το μπόνους υπερδιαστήματος είναι διαθέσιμο" },
{ Lang::English, "Hyperspace Bonus Available" },
{ Lang::Spanish, "Bonificación hiperespacio disponible" },
{ Lang::Finnish, "Hyperavaruusbonus saatavana" },
{ Lang::French, "Bonus de l'hyper-espace activé" },
{ Lang::Hebrew, "Hyperspace Bonus Available" },
{ Lang::Hungarian, "Hipertér bónusz ajánlat" },
{ Lang::Italian, "Bonus iperspaziale disponibile" },
{ Lang::Japanese, "ハイパースペース ボーナス" },
{ Lang::Korean, "하이퍼스페이스 보너스 기회" },
{ Lang::Norwegian, "Hyperrombonus tilgjengelig" },
{ Lang::Dutch, "Hyperspacebonus beschikbaar" },
{ Lang::Polish, "Dostępna premia hiperprzestrzeni" },
{ Lang::BrazilianPortuguese, "Bônus disponível no hiperespaço" },
{ Lang::Portuguese, "Bónus hiperespaço disponível" },
{ Lang::Russian, "Доступен Гипер Пространственный Бонус" },
{ Lang::Swedish, "Möjlighet till hyperspace-bonus" },
{ Lang::Turkish, "Uzay Boşluğu Ödülü Var" },
{ Lang::SimplifiedChinese, "可用超空间奖分" },
{ Lang::TraditionalChinese, "可用的超空間紅利" },
},
},
{
Msg::STRING115,
{
{ Lang::Arabic, "Jackpot Awarded\n%ld" },
{ Lang::Czech, "Ocenění jackpotem\n%ld" },
{ Lang::Danish, "Jackpot tildelt\n%ld" },
{ Lang::German, "Jackpot gewonnen\n%ld" },
{ Lang::Greek, "Σύνολο κερδισμένων βραβεύσεων\n%ld" },
{ Lang::English, "Jackpot Awarded\n%ld" },
{ Lang::Spanish, "Premiado con Jackpot\n%ld" },
{ Lang::Finnish, "Jackpot\n%ld" },
{ Lang::French, "Jackpot\n%ld" },
{ Lang::Hebrew, "Jackpot Awarded\n%ld" },
{ Lang::Hungarian, "Jackpot\n%ld" },
{ Lang::Italian, "Monte premi vinto\n%ld" },
{ Lang::Japanese, "ジャックポット獲得!\n%ld" },
{ Lang::Korean, "잭팟\n%ld" },
{ Lang::Norwegian, "Jackpot\n%ld" },
{ Lang::Dutch, "Jackpot toegekend\n%ld" },
{ Lang::Polish, "Pula nagród przyznana\n%ld" },
{ Lang::BrazilianPortuguese, "Ganhou superprêmio!!\n%ld" },
{ Lang::Portuguese, "Prémio jackpot\n%ld" },
{ Lang::Russian, "Выдан Джекпот\n%ld" },
{ Lang::Swedish, "Jackpot\n%ld" },
{ Lang::Turkish, "İkramiye Verildi\n%ld" },
{ Lang::SimplifiedChinese, "中头奖了\n%ld" },
{ Lang::TraditionalChinese, "您中了幸運大獎\n%ld" },
},
},
{
Msg::STRING116,
{
{ Lang::Arabic, "Jackpot Activated" },
{ Lang::Czech, "Jackpot aktivován" },
{ Lang::Danish, "Jackpot slået til" },
{ Lang::German, "Jackpot aktivierts" },
{ Lang::Greek, "Ενεργοποίηση συνόλου βραβεύσεων" },
{ Lang::English, "Jackpot Activated" },
{ Lang::Spanish, "Jackpot activado" },
{ Lang::Finnish, "Jackpot aktivoitu" },
{ Lang::French, "Jackpot activé" },
{ Lang::Hebrew, "Jackpot Activated" },
{ Lang::Hungarian, "Jackpot kijátszva" },
{ Lang::Italian, "Monte premi attivato" },
{ Lang::Japanese, "ジャック\nポット スタート!" },
{ Lang::Korean, "잭팟 기회" },
{ Lang::Norwegian, "Jackpot aktivert" },
{ Lang::Dutch, "Jackpot geactiveerd" },
{ Lang::Polish, "Pula nagród aktywna" },
{ Lang::BrazilianPortuguese, "Superprêmio ativado" },
{ Lang::Portuguese, "Jackpot Activado" },
{ Lang::Russian, "Джекпот Активирован" },
{ Lang::Swedish, "Jackpot på" },
{ Lang::Turkish, "İkramiye Etkin" },
{ Lang::SimplifiedChinese, "启动头奖" },
{ Lang::TraditionalChinese, "啟動幸運大獎" },
},
},
{
Msg::STRING117,
{
{ Lang::Arabic, "Multiball" },
{ Lang::Czech, "Více míčků" },
{ Lang::Danish, "Flere kugler" },
{ Lang::German, "Multiball" },
{ Lang::Greek, "Πολλές μπίλιες" },
{ Lang::English, "Multiball" },
{ Lang::Spanish, "Multibola" },
{ Lang::Finnish, "Monipallo" },
{ Lang::French, "Billes multiples" },
{ Lang::Hebrew, "Multiball" },
{ Lang::Hungarian, "Golyóözön" },
{ Lang::Italian, "Più palline" },
{ Lang::Japanese, "マルチボール" },
{ Lang::Korean, "둘 이상의 구슬" },
{ Lang::Norwegian, "Multiball" },
{ Lang::Dutch, "Multibal" },
{ Lang::Polish, "Kilka kulek" },
{ Lang::BrazilianPortuguese, "Multibola" },
{ Lang::Portuguese, "Multibola" },
{ Lang::Russian, "Мультиболл" },
{ Lang::Swedish, "Multiball" },
{ Lang::Turkish, "Çok Top" },
{ Lang::SimplifiedChinese, "多个球" },
{ Lang::TraditionalChinese, "多重彈珠" },
},
},
{
Msg::STRING118,
{
{ Lang::Arabic, "Ramp Bonus Awarded" },
{ Lang::Czech, "Ocenění bonusem rampy" },
{ Lang::Danish, "Rampebonus tildelt" },
{ Lang::German, "Rampenbonus gewonnen" },
{ Lang::Greek, "Απονομή μπόνους ράμπας" },
{ Lang::English, "Ramp Bonus Awarded" },
{ Lang::Spanish, "Bonificación de rampa concedida" },
{ Lang::Finnish, "Ramppibonus saatu" },
{ Lang::French, "Bonus de rampe" },
{ Lang::Hebrew, "Ramp Bonus Awarded" },
{ Lang::Hungarian, "Rámpa bónusz" },
{ Lang::Italian, "Bonus sulla rampa vinto" },
{ Lang::Japanese, "ランプ ボーナス獲得!" },
{ Lang::Korean, "발사대 보너스" },
{ Lang::Norwegian, "Rampebonus" },
{ Lang::Dutch, "Hellingbonus toegekend" },
{ Lang::Polish, "Premia pomostu przyznana" },
{ Lang::BrazilianPortuguese, "Ganhou bônus da rampa" },
{ Lang::Portuguese, "Bónus de rampa concedido" },
{ Lang::Russian, "Выдан Бонус За Рампу" },
{ Lang::Swedish, "Rampbonus" },
{ Lang::Turkish, "Pist Ödülü Verildi" },
{ Lang::SimplifiedChinese, "坡道奖分" },
{ Lang::TraditionalChinese, "超級額外加分" },
},
},
{
Msg::STRING119,
{
{ Lang::Arabic, "Light Added" },
{ Lang::Czech, "Odlehčení" },
{ Lang::Danish, "Lys tilføjet" },
{ Lang::German, "Licht ein" },
{ Lang::Greek, "Ενεργοποιημένα φώτα" },
{ Lang::English, "Light Added" },
{ Lang::Spanish, "Luz agregada" },
{ Lang::Finnish, "Valot kytketty" },
{ Lang::French, "Lumière en plus" },
{ Lang::Hebrew, "Light Added" },
{ Lang::Hungarian, "Fények bekapcsolva" },
{ Lang::Italian, "Luci attivate" },
{ Lang::Japanese, "ライト追加" },
{ Lang::Korean, "라이트 추가" },
{ Lang::Norwegian, "Lagt til lys" },
{ Lang::Dutch, "Lampje toegevoegd" },
{ Lang::Polish, "Światełko dodane" },
{ Lang::BrazilianPortuguese, "Luz adicionada" },
{ Lang::Portuguese, "Luz adicionada" },
{ Lang::Russian, "Добавлен Свет" },
{ Lang::Swedish, "Extra lampa" },
{ Lang::Turkish, "ık Eklendi" },
{ Lang::SimplifiedChinese, "增加灯光" },
{ Lang::TraditionalChinese, "新增光線" },
},
},
{
Msg::STRING120,
{
{ Lang::Arabic, "Ramp Bonus On" },
{ Lang::Czech, "Bonus rampy zapnut" },
{ Lang::Danish, "Rampebonus slået til" },
{ Lang::German, "Rampenbonus ein" },
{ Lang::Greek, "Ενεργοποίηση μπόνους ράμπας" },
{ Lang::English, "Ramp Bonus On" },
{ Lang::Spanish, "Bonificación de rampa activada" },
{ Lang::Finnish, "Ramppibonus saatavana" },
{ Lang::French, "Bonus de rampe actif" },
{ Lang::Hebrew, "Ramp Bonus On" },
{ Lang::Hungarian, "Rámpa bónusz kijátszva" },
{ Lang::Italian, "Bonus sulla rampa attivato" },
{ Lang::Japanese, "ランプ ボーナス オン" },
{ Lang::Korean, "발사대 보너스 설정" },
{ Lang::Norwegian, "Rampebonus på" },
{ Lang::Dutch, "Hellingbonus geactiveerd" },
{ Lang::Polish, "Premia pomostu włączona" },
{ Lang::BrazilianPortuguese, "Bônus da rampa ativado" },
{ Lang::Portuguese, "Bónus de rampa activado" },
{ Lang::Russian, "Бонус за Рампу Включен" },
{ Lang::Swedish, "Rampbonus på" },
{ Lang::Turkish, "Pist Ödülü Var" },
{ Lang::SimplifiedChinese, "已设好坡道奖分" },
{ Lang::TraditionalChinese, "超級加分開啟" },
},
},
{
Msg::STRING121,
{
{ Lang::Arabic, "Light Reset Off" },
{ Lang::Czech, "Zrušení odlehčení vypnuto" },
{ Lang::Danish, "Nulstilling af lys slået fra" },
{ Lang::German, "Licht deaktiviert" },
{ Lang::Greek, "Απενεργοποιημένα φώτα" },
{ Lang::English, "Light Reset Off" },
{ Lang::Spanish, "Restauración de luz desactivada" },
{ Lang::Finnish, "Valot kytketty pois" },
{ Lang::French, "Lumière désactivée" },
{ Lang::Hebrew, "Light Reset Off" },
{ Lang::Hungarian, "Fények kikapcsolva" },
{ Lang::Italian, "Luci disattivate" },
{ Lang::Japanese, "ライト リセット オフ" },
{ Lang::Korean, "라이트 재설정 해제" },
{ Lang::Norwegian, "Tilbakestillingslys av" },
{ Lang::Dutch, "Beginwaarden lampjes uitgeschakeld" },
{ Lang::Polish, "Światełko wyłączone" },
{ Lang::BrazilianPortuguese, "Luz de inicialização apagada" },
{ Lang::Portuguese, "Bónus de rampa desactivado" },
{ Lang::Russian, "Сброс Света Выключен" },
{ Lang::Swedish, "Lampor återställs ej" },
{ Lang::Turkish, "ık Sıfırlama Kapalı" },
{ Lang::SimplifiedChinese, "关闭灯光复位" },
{ Lang::TraditionalChinese, "關閉光線重設" },
},
},
{
Msg::STRING122,
{
{ Lang::Arabic, "Skill Shot\n%ld" },
{ Lang::Czech, "Střela dovednosti\n%ld" },
{ Lang::Danish, "Præcisionsskud\n%ld" },
{ Lang::German, "Extradurchlauf\n%ld" },
{ Lang::Greek, "Βολή επιδεξιότητας\n%ld" },
{ Lang::English, "Skill Shot\n%ld" },
{ Lang::Spanish, "Tiro hábil\n%ld" },
{ Lang::Finnish, "Taitolyönti\n%ld" },
{ Lang::French, "Tir d'adresse\n%ld" },
{ Lang::Hebrew, "Skill Shot\n%ld" },
{ Lang::Hungarian, "Célba lövés\n%ld" },
{ Lang::Italian, "Bel colpo!\n%ld" },
{ Lang::Japanese, "スキル ショット!\n%ld" },
{ Lang::Korean, "쏘기 기술 점수\n%ld" },
{ Lang::Norwegian, "Dyktighetsskudd\n%ld" },
{ Lang::Dutch, "Bekwaamheidsbal\n%ld" },
{ Lang::Polish, "Strzał zręcznościowy\n%ld" },
{ Lang::BrazilianPortuguese, "Jogada de habilidade\n%ld" },
{ Lang::Portuguese, "Tiro hábil\n%ld" },
{ Lang::Russian, "Умелый Запуск\n%ld" },
{ Lang::Swedish, "Bonus för skickligt skott\n%ld" },
{ Lang::Turkish, "Beceri Atışı\n%ld" },
{ Lang::SimplifiedChinese, "高技能发射\n%ld" },
{ Lang::TraditionalChinese, "技術重點\n%ld" },
},
},
{
Msg::STRING123,
{
{ Lang::Arabic, "Game Paused\nF3 to Resume" },
{ Lang::Czech, "Hra pozastavena. Pokračujte klávesou F3." },
{ Lang::Danish, "Spillet afbrudt\ntryk på F3 for at fortsætte" },
{ Lang::German, "Spiel angehalten\nWeiter mit F3." },
{ Lang::Greek, "Η παρτίδα διακόπηκε\nF3 για συνέχιση" },
{ Lang::English, "Game Paused\nF3 to Resume" },
{ Lang::Spanish, "Juego pausado\nF3 para reanudar" },
{ Lang::Finnish, "Peli keskeytetty\nPaina F3" },
{ Lang::French, "Partie suspendue\nF3=Reprise" },
{ Lang::Hebrew, "Game Paused\nF3 to Resume" },
{ Lang::Hungarian, "Felfüggesztve\nF3 - folytatás" },
{ Lang::Italian, "Partita interrotta\nF3 per riprendere" },
{ Lang::Japanese, "ゲーム一時停止中\nF3 キーで再開" },
{ Lang::Korean, "게임 일시 중지됨\n계속하려면 <F3> 키" },
{ Lang::Norwegian, "Pause\nF3 for å fortsette" },
{ Lang::Dutch, "Spel is onderbroken\nF3 hervat het spel" },
{ Lang::Polish, "Gra wstrzymana.\nF3 wznawia grę." },
{ Lang::BrazilianPortuguese, "Jogo em pausa\nF3 para continuar" },
{ Lang::Portuguese, "Jogo suspenso\nF3 para continuar" },
{ Lang::Russian, "Игра Приостановлена\nF3 чтобы Продолжить" },
{ Lang::Swedish, "Paus\nF3=Fortsätt" },
{ Lang::Turkish, "Oyun Duraklatıldı\nDevam Etmek için F3'e basın" },
{ Lang::SimplifiedChinese, "游戏暂停\nF3 继续" },
{ Lang::TraditionalChinese, "遊戲暫停\n按 F3 恢復" },
},
},
{
Msg::STRING124,
{
{ Lang::Arabic, "Continue Play" },
{ Lang::Czech, "Pokračování hry" },
{ Lang::Danish, "Fortsæt spillet" },
{ Lang::German, "Spiel fortgesetzt" },
{ Lang::Greek, "Συνέχιση του παιχνιδιού" },
{ Lang::English, "Continue Play" },
{ Lang::Spanish, "Continuar jugando" },
{ Lang::Finnish, "Jatka pelaamista" },
{ Lang::French, "Continuer" },
{ Lang::Hebrew, "Continue Play" },
{ Lang::Hungarian, "A játék folytatása" },
{ Lang::Italian, "Continua il gioco" },
{ Lang::Japanese, "プレー続行" },
{ Lang::Korean, "게임 계속 진행" },
{ Lang::Norwegian, "Fortsett spillet" },
{ Lang::Dutch, "Doorgaan met spel" },
{ Lang::Polish, "Kontynuuj grę" },
{ Lang::BrazilianPortuguese, "Continuar a jogar" },
{ Lang::Portuguese, "Continuar o jogo" },
{ Lang::Russian, "Игра Продолжена" },
{ Lang::Swedish, "Fortsätt" },
{ Lang::Turkish, "Oynamaya Devam" },
{ Lang::SimplifiedChinese, "继续玩" },
{ Lang::TraditionalChinese, "連續執行" },
},
},
{
Msg::STRING125,
{
{ Lang::Arabic, "F2 Starts New Game" },
{ Lang::Czech, "Stisknutím klávesy F2 zahájíte novou hru." },
{ Lang::Danish, "F2 starter nyt spil" },
{ Lang::German, "F2: Neues Spiel starten" },
{ Lang::Greek, "F2 για να ξεκινήσετε μια νέα παρτίδα" },
{ Lang::English, "F2 Starts New Game" },
{ Lang::Spanish, "F2 inicia un nuevo juego" },
{ Lang::Finnish, "F2: Uusi peli" },
{ Lang::French, "F2 Nouvelle partie" },
{ Lang::Hebrew, "F2 Starts New Game" },
{ Lang::Hungarian, "F2 új játékot kezd" },
{ Lang::Italian, "F2 per iniziare una nuova partita" },
{ Lang::Japanese, "F2 キーで新ゲーム開始" },
{ Lang::Korean, "<F2> 키로 새 게임 시작" },
{ Lang::Norwegian, "F2 starter et nytt spill" },
{ Lang::Dutch, "F2 start een nieuw spel" },
{ Lang::Polish, "F2 rozpoczyna nową grę." },
{ Lang::BrazilianPortuguese, "F2 começa um novo jogo" },
{ Lang::Portuguese, "F2 inicia um novo jogo" },
{ Lang::Russian, "F2 Начинает Новую Игру" },
{ Lang::Swedish, "F2=Nytt spel" },
{ Lang::Turkish, "F2 Yeni Oyun Başlatır" },
{ Lang::SimplifiedChinese, "F2 开局" },
{ Lang::TraditionalChinese, "F2 開始新遊戲" },
},
},
{
Msg::STRING126,
{
{ Lang::Arabic, "Careful..." },
{ Lang::Czech, "Opatrně..." },
{ Lang::Danish, "Forsigtig..." },
{ Lang::German, "Vorsicht..." },
{ Lang::Greek, "Προσοχή..." },
{ Lang::English, "Careful..." },
{ Lang::Spanish, "Cuidado..." },
{ Lang::Finnish, "Ole varovainen..." },
{ Lang::French, "Attention..." },
{ Lang::Hebrew, "Careful..." },
{ Lang::Hungarian, "Óvatosabban..." },
{ Lang::Italian, "Attenzione..." },
{ Lang::Japanese, "注意..." },
{ Lang::Korean, "조심하세요..." },
{ Lang::Norwegian, "Forsiktig..." },
{ Lang::Dutch, "Voorzichtig..." },
{ Lang::Polish, "Ostrożnie..." },
{ Lang::BrazilianPortuguese, "Cuidado..." },
{ Lang::Portuguese, "Cuidado..." },
{ Lang::Russian, "Осторожно..." },
{ Lang::Swedish, "Försiktigt..." },
{ Lang::Turkish, "Dikkat..." },
{ Lang::SimplifiedChinese, "小心..." },
{ Lang::TraditionalChinese, "小心..." },
},
},
{
Msg::STRING127,
{
{ Lang::Arabic, "Player 1" },
{ Lang::Czech, "Hráč 1" },
{ Lang::Danish, "Spiller 1" },
{ Lang::German, "Spieler 1" },
{ Lang::Greek, "Παίκτης 1" },
{ Lang::English, "Player 1" },
{ Lang::Spanish, "Jugador 1" },
{ Lang::Finnish, "Pelaaja 1" },
{ Lang::French, "Joueur 1" },
{ Lang::Hebrew, "Player 1" },
{ Lang::Hungarian, "1. játékos" },
{ Lang::Italian, "Giocatore 1" },
{ Lang::Japanese, "プレーヤー 1" },
{ Lang::Korean, "비행사 1" },
{ Lang::Norwegian, "Spiller 1" },
{ Lang::Dutch, "Speler 1" },
{ Lang::Polish, "Gracz 1" },
{ Lang::BrazilianPortuguese, "Jogador 1" },
{ Lang::Portuguese, "Jogador 1" },
{ Lang::Russian, "Игрок 1" },
{ Lang::Swedish, "Spelare 1" },
{ Lang::Turkish, "1. Oyuncu" },
{ Lang::SimplifiedChinese, "玩家 1" },
{ Lang::TraditionalChinese, "玩家 1" },
},
},
{
Msg::STRING128,
{
{ Lang::Arabic, "Player 2" },
{ Lang::Czech, "Hráč 2" },
{ Lang::Danish, "Spiller 2" },
{ Lang::German, "Spieler 2" },
{ Lang::Greek, "Παίκτης 2" },
{ Lang::English, "Player 2" },
{ Lang::Spanish, "Jugador 2" },
{ Lang::Finnish, "Pelaaja 2" },
{ Lang::French, "Joueur 2" },
{ Lang::Hebrew, "Player 2" },
{ Lang::Hungarian, "2. játékos" },
{ Lang::Italian, "Giocatore 2" },
{ Lang::Japanese, "プレーヤー 2" },
{ Lang::Korean, "비행사 2" },
{ Lang::Norwegian, "Spiller 2" },
{ Lang::Dutch, "Speler 2" },
{ Lang::Polish, "Gracz 2" },
{ Lang::BrazilianPortuguese, "Jogador 2" },
{ Lang::Portuguese, "Jogador 2" },
{ Lang::Russian, "Игрок 2" },
{ Lang::Swedish, "Spelare 2" },
{ Lang::Turkish, "2. Oyuncu" },
{ Lang::SimplifiedChinese, "玩家 2" },
{ Lang::TraditionalChinese, "玩家 2" },
},
},
{
Msg::STRING129,
{
{ Lang::Arabic, "Player 3" },
{ Lang::Czech, "Hráč 3" },
{ Lang::Danish, "Spiller 3" },
{ Lang::German, "Spieler 3" },
{ Lang::Greek, "Παίκτης 3" },
{ Lang::English, "Player 3" },
{ Lang::Spanish, "Jugador 3" },
{ Lang::Finnish, "Pelaaja 3" },
{ Lang::French, "Joueur 3" },
{ Lang::Hebrew, "Player 3" },
{ Lang::Hungarian, "3. játékos" },
{ Lang::Italian, "Giocatore 3" },
{ Lang::Japanese, "プレーヤー 3" },
{ Lang::Korean, "비행사 3" },
{ Lang::Norwegian, "Spiller 3" },
{ Lang::Dutch, "Speler 3" },
{ Lang::Polish, "Gracz 3" },
{ Lang::BrazilianPortuguese, "Jogador 3" },
{ Lang::Portuguese, "Jogador 3" },
{ Lang::Russian, "Игрок 3" },
{ Lang::Swedish, "Spelare 3" },
{ Lang::Turkish, "3. Oyuncu" },
{ Lang::SimplifiedChinese, "玩家 3" },
{ Lang::TraditionalChinese, "玩家 3" },
},
},
{
Msg::STRING130,
{
{ Lang::Arabic, "Player 4" },
{ Lang::Czech, "Hráč 4" },
{ Lang::Danish, "Spiller 4" },
{ Lang::German, "Spieler 4" },
{ Lang::Greek, "Παίκτης 4" },
{ Lang::English, "Player 4" },
{ Lang::Spanish, "Jugador 4" },
{ Lang::Finnish, "Pelaaja 4" },
{ Lang::French, "Joueur 4" },
{ Lang::Hebrew, "Player 4" },
{ Lang::Hungarian, "4. játékos" },
{ Lang::Italian, "Giocatore 4" },
{ Lang::Japanese, "プレーヤー 4" },
{ Lang::Korean, "비행사 4" },
{ Lang::Norwegian, "Spiller 4" },
{ Lang::Dutch, "Speler 4" },
{ Lang::Polish, "Gracz 4" },
{ Lang::BrazilianPortuguese, "Jogador 4" },
{ Lang::Portuguese, "Jogador 4" },
{ Lang::Russian, "Игрок 4" },
{ Lang::Swedish, "Spelare 4" },
{ Lang::Turkish, "4. Oyuncu" },
{ Lang::SimplifiedChinese, "玩家 4" },
{ Lang::TraditionalChinese, "玩家 4" },
},
},
{
Msg::STRING131,
{
{ Lang::Arabic, "Demo\nPlayer 1" },
{ Lang::Czech, "Demo\nHráč 1" },
{ Lang::Danish, "Demo\nSpiller 1" },
{ Lang::German, "Demo\nSpieler 1" },
{ Lang::Greek, "Δοκιμή\nΠαίκτης 1" },
{ Lang::English, "Demo\nPlayer 1" },
{ Lang::Spanish, "Demostración\nJugador 1" },
{ Lang::Finnish, "Demo\nPelaaja 1" },
{ Lang::French, "Démo\nJoueur 1" },
{ Lang::Hebrew, "Demo\nPlayer 1" },
{ Lang::Hungarian, "Bemutató játék\n1. játékos" },
{ Lang::Italian, "Dimostrazione\nGiocatore 1" },
{ Lang::Japanese, "デモ\nプレーヤー 1" },
{ Lang::Korean, "데모\n비행사 1" },
{ Lang::Norwegian, "Demo\nSpiller 1" },
{ Lang::Dutch, "Demo\nSpeler 1" },
{ Lang::Polish, "Pokaz\nGracz 1" },
{ Lang::BrazilianPortuguese, "Demonstração\nJogador 1" },
{ Lang::Portuguese, "Demonstração \nJogador 1" },
{ Lang::Russian, "Демо\nИгрок 1" },
{ Lang::Swedish, "Demo\nSpelare 1" },
{ Lang::Turkish, "Gösteri\n1. Oyuncu" },
{ Lang::SimplifiedChinese, "演示\n玩家 1" },
{ Lang::TraditionalChinese, "展示\n玩家 1" },
},
},
{
Msg::STRING132,
{
{ Lang::Arabic, "Demo\nPlayer 2" },
{ Lang::Czech, "Demo\nHráč 2" },
{ Lang::Danish, "Demo\nSpiller 2" },
{ Lang::German, "Demo\nSpieler 2" },
{ Lang::Greek, "Δοκιμή\nΠαίκτης 2" },
{ Lang::English, "Demo\nPlayer 2" },
{ Lang::Spanish, "Demostración\nJugador 2" },
{ Lang::Finnish, "Demo\nPelaaja 2" },
{ Lang::French, "Démo\nJoueur 2" },
{ Lang::Hebrew, "Demo\nPlayer 2" },
{ Lang::Hungarian, "Bemutató játék\n2. játékos" },
{ Lang::Italian, "Dimostrazione\nGiocatore 2" },
{ Lang::Japanese, "デモ\nプレーヤー 2" },
{ Lang::Korean, "데모\n비행사 2" },
{ Lang::Norwegian, "Demo\nSpiller 2" },
{ Lang::Dutch, "Demo\nSpeler 2" },
{ Lang::Polish, "Pokaz\nGracz 2" },
{ Lang::BrazilianPortuguese, "Demonstração\nJogador 2" },
{ Lang::Portuguese, "Demonstração \nJogador 2" },
{ Lang::Russian, "Демо\nИгрок 2" },
{ Lang::Swedish, "Demo\nSpelare 2" },
{ Lang::Turkish, "Gösteri\n2. Oyuncu" },
{ Lang::SimplifiedChinese, "演示\n玩家 2" },
{ Lang::TraditionalChinese, "展示\n玩家 2" },
},
},
{
Msg::STRING133,
{
{ Lang::Arabic, "Demo\nPlayer 3" },
{ Lang::Czech, "Demo\nHráč 3" },
{ Lang::Danish, "Demo\nSpiller 3" },
{ Lang::German, "Demo\nSpieler 3" },
{ Lang::Greek, "Δοκιμή\nΠαίκτης 3" },
{ Lang::English, "Demo\nPlayer 3" },
{ Lang::Spanish, "Demostración\nJugador 3" },
{ Lang::Finnish, "Demo\nPelaaja 3" },
{ Lang::French, "Démo\nJoueur 3" },
{ Lang::Hebrew, "Demo\nPlayer 3" },
{ Lang::Hungarian, "Bemutató játék\n3. játékos" },
{ Lang::Italian, "Dimostrazione\nGiocatore 3" },
{ Lang::Japanese, "デモ\nプレーヤー 3" },
{ Lang::Korean, "데모\n비행사 3" },
{ Lang::Norwegian, "Demo\nSpiller 3" },
{ Lang::Dutch, "Demo\nSpeler 3" },
{ Lang::Polish, "Pokaz\nGracz 3" },
{ Lang::BrazilianPortuguese, "Demonstração\nJogador 3" },
{ Lang::Portuguese, "Demonstração \nJogador 3" },
{ Lang::Russian, "Демо\nИгрок 3" },
{ Lang::Swedish, "Demo\nSpelare 3" },
{ Lang::Turkish, "Gösteri\n3. Oyuncu" },
{ Lang::SimplifiedChinese, "演示\n玩家 3" },
{ Lang::TraditionalChinese, "展示\n玩家 3" },
},
},
{
Msg::STRING134,
{
{ Lang::Arabic, "Demo\nPlayer 4" },
{ Lang::Czech, "Demo\nHráč 4" },
{ Lang::Danish, "Demo\nSpiller 4" },
{ Lang::German, "Demo\nSpieler 4" },
{ Lang::Greek, "Δοκιμή\nΠαίκτης 4" },
{ Lang::English, "Demo\nPlayer 4" },
{ Lang::Spanish, "Demostración\nJugador 4" },
{ Lang::Finnish, "Demo\nPelaaja 4" },
{ Lang::French, "Démo\nJoueur 4" },
{ Lang::Hebrew, "Demo\nPlayer 4" },
{ Lang::Hungarian, "Bemutató játék\n4. játékos" },
{ Lang::Italian, "Dimostrazione\nGiocatore 4" },
{ Lang::Japanese, "デモ\nプレーヤー 4" },
{ Lang::Korean, "데모\n비행사 4" },
{ Lang::Norwegian, "Demo\nSpiller 4" },
{ Lang::Dutch, "Demo\nSpeler 4" },
{ Lang::Polish, "Pokaz\nGracz 4" },
{ Lang::BrazilianPortuguese, "Demonstração\nJogador 4" },
{ Lang::Portuguese, "Demonstração \nJogador 4" },
{ Lang::Russian, "Демо\nИгрок 4" },
{ Lang::Swedish, "Demo\nSpelare 4" },
{ Lang::Turkish, "Gösteri\n4. Oyuncu" },
{ Lang::SimplifiedChinese, "演示\n玩家 4" },
{ Lang::TraditionalChinese, "展示\n玩家 4" },
},
},
{
Msg::STRING135,
{
{ Lang::Arabic, "انتهت اللعبة" },
{ Lang::Czech, "Konec hry" },
{ Lang::Danish, "Spillet er slut" },
{ Lang::German, "Spiel beendet!" },
{ Lang::Greek, "Τέλος παρτίδας" },
{ Lang::English, "Game Over" },
{ Lang::Spanish, "Juego terminado" },
{ Lang::Finnish, "Peli ohi" },
{ Lang::French, "Partie terminée" },
{ Lang::Hebrew, "Game Over" },
{ Lang::Hungarian, "A játék véget ért" },
{ Lang::Italian, "Fine partita" },
{ Lang::Japanese, "ゲーム オーバー" },
{ Lang::Korean, "게임 끝" },
{ Lang::Norwegian, "Spillet er slutt" },
{ Lang::Dutch, "Het spel is afgelopen" },
{ Lang::Polish, "Koniec gry" },
{ Lang::BrazilianPortuguese, "Fim de jogo" },
{ Lang::Portuguese, "Fim do jogo" },
{ Lang::Russian, "Игра Окончена" },
{ Lang::Swedish, "Spelet är slut" },
{ Lang::Turkish, "Oyun Bitti" },
{ Lang::SimplifiedChinese, "游戏结束" },
{ Lang::TraditionalChinese, "遊戲結束" },
},
},
{
Msg::STRING136,
{
{ Lang::Arabic, "TILT!" },
{ Lang::Czech, "KŘACH!" },
{ Lang::Danish, "TILT!" },
{ Lang::German, "TILT!" },
{ Lang::Greek, "Tιλτ!" },
{ Lang::English, "TILT!" },
{ Lang::Spanish, "FALTA" },
{ Lang::Finnish, "TILT!" },
{ Lang::French, "TILT !" },
{ Lang::Hebrew, "TILT!" },
{ Lang::Hungarian, "Asztalba rúgás!" },
{ Lang::Italian, "TILT!" },
{ Lang::Japanese, "TILT!" },
{ Lang::Korean, "반칙!" },
{ Lang::Norwegian, "TILT!" },
{ Lang::Dutch, "TILT!" },
{ Lang::Polish, "TILT!" },
{ Lang::BrazilianPortuguese, "TILT!" },
{ Lang::Portuguese, "TILT!" },
{ Lang::Russian, "TILT!" },
{ Lang::Swedish, "Lutning" },
{ Lang::Turkish, "YATIR!" },
{ Lang::SimplifiedChinese, "TILT!" },
{ Lang::TraditionalChinese, "TILT!" },
},
},
{
Msg::STRING139,
{
{ Lang::Arabic, "3D Pinball for Windows - Space Cadet" },
{ Lang::Czech, "3D Pinball pro Windows - Space Cadet" },
{ Lang::Danish, "3D Pinball til Windows - Space Cadet" },
{ Lang::German, "3D-Pinball für Windows - Space Cadet" },
{ Lang::Greek, "Φλίπερ-3Δ για Windows - Space Cadet" },
{ Lang::English, "3D Pinball for Windows - Space Cadet" },
{ Lang::Spanish, "3D Pinball Windows: cadete espacial" },
{ Lang::Finnish, "Windows 3D Pinball - Space Cadet" },
{ Lang::French, "Pinball 3D pour Windows - Cadet de l'Espace" },
{ Lang::Hebrew, "3D Pinball for Windows - Space Cadet" },
{ Lang::Hungarian, "3D flipper - Windows - Space Cadet" },
{ Lang::Italian, "3D Pinball per Windows - Space Cadet" },
{ Lang::Japanese, "Windows 3D ピンボール - Space Cadet" },
{ Lang::Korean, "Windows용 3D 핀볼" },
{ Lang::Norwegian, "3D Pinball for Windows - Romkadett" },
{ Lang::Dutch, "3D Pinball voor Windows, Space Cadet" },
{ Lang::Polish, "3D Pinball dla Windows - Space Cadet" },
{ Lang::BrazilianPortuguese, "Pinball 3D para Windows - Space Cadet" },
{ Lang::Portuguese, "3D Pinball para o Windows - Cadete Espacial" },
{ Lang::Russian, "Пинбол для Windows - Звездный юнга" },
{ Lang::Swedish, "3D Pinball för Windows - Space Cadet" },
{ Lang::Turkish, "Windows için 3D Pinball - Space Cadet" },
{ Lang::SimplifiedChinese, "Windows 三维弹球 - 太空军校生" },
{ Lang::TraditionalChinese, "Windows 立體彈珠台 - 太空軍校生" },
},
},
{
Msg::STRING141,
{
{ Lang::Arabic, "‏‏هل تريد مسح أفضل النتائج؟" },
{ Lang::Czech, "Chcete smazat nejlepší výsledky?" },
{ Lang::Danish, "Ryd pointtavlen?" },
{ Lang::German, "Bestenliste löschen?" },
{ Lang::Greek, "Απαλοιφή βαθμολογιών;" },
{ Lang::English, "Clear High Scores?" },
{ Lang::Spanish, "¿Borrar las máximas puntuaciones?" },
{ Lang::Finnish, "Tyhjennetäänkö parhaat tulokset?" },
{ Lang::French, "Effacer les meilleurs scores ?" },
{ Lang::Hebrew, "‏‏האם לנקות את נתוני הניקוד הגבוה?" },
{ Lang::Hungarian, "Törli a legjobb eredményeket?" },
{ Lang::Italian, "Cancellare i punteggi migliori?" },
{ Lang::Japanese, "ハイスコアをクリアしますか?" },
{ Lang::Korean, "고득점을 지우시겠습니까?" },
{ Lang::Norwegian, "Slette Beste resultater?" },
{ Lang::Dutch, "Topscores wissen?" },
{ Lang::Polish, "Czy wyczyścić najlepsze wyniki?" },
{ Lang::BrazilianPortuguese, "Descartar os recordes?" },
{ Lang::Portuguese, "Limpar recordes?" },
{ Lang::Russian, "Очистить таблицу рекордов?" },
{ Lang::Swedish, "Vill du ta bort poängrekorden?" },
{ Lang::Turkish, "Yüksek Skorlar Silinsin mi?" },
{ Lang::SimplifiedChinese, "清除高分?" },
{ Lang::TraditionalChinese, "清除高分?" },
},
},
{
Msg::STRING142,
{
{ Lang::Arabic, "تأكيد" },
{ Lang::Czech, "Potvrdit" },
{ Lang::Danish, "Bekræft" },
{ Lang::German, "Bestätigen" },
{ Lang::Greek, "Επιβεβαίωση" },
{ Lang::English, "Confirm" },
{ Lang::Spanish, "Confirmar" },
{ Lang::Finnish, "Vahvista" },
{ Lang::French, "Confirmer" },
{ Lang::Hebrew, "אישור" },
{ Lang::Hungarian, "Jóváhagyás" },
{ Lang::Italian, "Conferma" },
{ Lang::Japanese, "確認" },
{ Lang::Korean, "확인" },
{ Lang::Norwegian, "Bekreft" },
{ Lang::Dutch, "Bevestigen" },
{ Lang::Polish, "Potwierdzanie" },
{ Lang::BrazilianPortuguese, "Confirmar" },
{ Lang::Portuguese, "Confirmar" },
{ Lang::Russian, "Подтверждение" },
{ Lang::Swedish, "Bekräfta" },
{ Lang::Turkish, "Onayla" },
{ Lang::SimplifiedChinese, "确认" },
{ Lang::TraditionalChinese, "確認" },
},
},
{
Msg::STRING144,
{
{ Lang::Arabic, "‏‏تحذير:" },
{ Lang::Czech, "Upozornění:" },
{ Lang::Danish, "Advarsel:" },
{ Lang::German, "Warnung:" },
{ Lang::Greek, "Προειδοποίηση:" },
{ Lang::English, "Warning:" },
{ Lang::Spanish, "Advertencia:" },
{ Lang::Finnish, "Varoitus:" },
{ Lang::French, "Avertissement :" },
{ Lang::Hebrew, "Warning:" },
{ Lang::Hungarian, "Figyelmeztetés:" },
{ Lang::Italian, "Avviso:" },
{ Lang::Japanese, "警告:" },
{ Lang::Korean, "경고:" },
{ Lang::Norwegian, "Advarsel!" },
{ Lang::Dutch, "Waarschuwing:" },
{ Lang::Polish, "Ostrzeżenie:" },
{ Lang::BrazilianPortuguese, "Aviso:" },
{ Lang::Portuguese, "Aviso:" },
{ Lang::Russian, "ПРЕДУПРЕЖДЕНИЕ:" },
{ Lang::Swedish, "Varning:" },
{ Lang::Turkish, "Uyarı:" },
{ Lang::SimplifiedChinese, "警告:" },
{ Lang::TraditionalChinese, "警告:" },
},
},
{
Msg::STRING145,
{
{ Lang::Arabic, "Ship Re-Fueled" },
{ Lang::Czech, "Doplnění paliva lodi" },
{ Lang::Danish, "Skib tanket op" },
{ Lang::German, "Schiff aufgetankt" },
{ Lang::Greek, "Έγινε ανεφοδιασμός καυσίμων" },
{ Lang::English, "Ship Re-Fueled" },
{ Lang::Spanish, "La nave ha repostado" },
{ Lang::Finnish, "Alus tankattu" },
{ Lang::French, "Réapprovisionnement du vaisseau" },
{ Lang::Hebrew, "Ship Re-Fueled" },
{ Lang::Hungarian, "Hajó feltankolva" },
{ Lang::Italian, "Rifornimento navicella eseguito" },
{ Lang::Japanese, "燃料補給完了!" },
{ Lang::Korean, "우주선에 연료 공급" },
{ Lang::Norwegian, "Nybunkret skip" },
{ Lang::Dutch, "Schip bijgetankt" },
{ Lang::Polish, "Paliwo uzupełnione" },
{ Lang::BrazilianPortuguese, "Nave reabastecida" },
{ Lang::Portuguese, "Nave reabastecida" },
{ Lang::Russian, "Корабль Заправлен" },
{ Lang::Swedish, "Skeppet har tankats om" },
{ Lang::Turkish, "Gemiye Yakıt Alındı" },
{ Lang::SimplifiedChinese, "飞船补充燃料" },
{ Lang::TraditionalChinese, "船舶重新加油" },
},
},
{
Msg::STRING146,
{
{ Lang::Arabic, "Gravity Well" },
{ Lang::Czech, "Zvýšená gravitace" },
{ Lang::Danish, "Tyngdebrønd" },
{ Lang::German, "Schwerkraftzone" },
{ Lang::Greek, "Βαρυτικό πεδίο" },
{ Lang::English, "Gravity Well" },
{ Lang::Spanish, "Pozo gravitatorio" },
{ Lang::Finnish, "Gravitaatiokuoppa" },
{ Lang::French, "Centre de gravité" },
{ Lang::Hebrew, "Gravity Well" },
{ Lang::Hungarian, "Gravitációs csapda" },
{ Lang::Italian, "Pozzo di gravità" },
{ Lang::Japanese, "グラビティ ウェル" },
{ Lang::Korean, "중력의 중심" },
{ Lang::Norwegian, "Tyngdekraftsbrønn" },
{ Lang::Dutch, "Gravity-put" },
{ Lang::Polish, "Studnia grawitacyjna" },
{ Lang::BrazilianPortuguese, "Poço de gravidade" },
{ Lang::Portuguese, "Centro gravitacional" },
{ Lang::Russian, "Гравитационный Колодец" },
{ Lang::Swedish, "Gravitationshål" },
{ Lang::Turkish, "Yerçekimi Kuyusu" },
{ Lang::SimplifiedChinese, "引力井" },
{ Lang::TraditionalChinese, "重力井" },
},
},
{
Msg::STRING147,
{
{ Lang::Arabic, "Time Warp Forward" },
{ Lang::Czech, "Přesun v čase vpřed" },
{ Lang::Danish, "Tidsforskydning fremad" },
{ Lang::German, "Zeitsprung vorwärts" },
{ Lang::Greek, "Χρονοστρέβλωση στο μέλλον" },
{ Lang::English, "Time Warp Forward" },
{ Lang::Spanish, "Salto en el tiempo" },
{ Lang::Finnish, "Aikahyppy tulevaan" },
{ Lang::French, "Avancer dans le temps" },
{ Lang::Hebrew, "Time Warp Forward" },
{ Lang::Hungarian, "Időugrás előre" },
{ Lang::Italian, "Curvatura temporale nel futuro" },
{ Lang::Japanese, "未来へタイム ワープ!" },
{ Lang::Korean, "앞으로 시간 이동" },
{ Lang::Norwegian, "Tidssprang forover" },
{ Lang::Dutch, "Timewarp vooruit" },
{ Lang::Polish, "Zakrzywienie czasu w przód" },
{ Lang::BrazilianPortuguese, "Distorção temporal progressiva" },
{ Lang::Portuguese, "Avançar no Tempo" },
{ Lang::Russian, "Прыжок во Времени Вперед" },
{ Lang::Swedish, "Tidsresa till framtiden" },
{ Lang::Turkish, "Zaman Sıçraması İleri" },
{ Lang::SimplifiedChinese, "时间向前扭曲" },
{ Lang::TraditionalChinese, "時間向前扭曲" },
},
},
{
Msg::STRING148,
{
{ Lang::Arabic, "Time Warp Backward" },
{ Lang::Czech, "Přesun v čase zpět" },
{ Lang::Danish, "Tidsforskydning tilbage" },
{ Lang::German, "Zeitsprung rückwärts" },
{ Lang::Greek, "Χρονοστρέβλωση στο παρελθόν" },
{ Lang::English, "Time Warp Backward" },
{ Lang::Spanish, "Retroceso en el tiempo" },
{ Lang::Finnish, "Aikahyppy menneeseen" },
{ Lang::French, "Remonter dans le temps" },
{ Lang::Hebrew, "Time Warp Backward" },
{ Lang::Hungarian, "Időugrás hátra" },
{ Lang::Italian, "Curvatura temporale nel passato" },
{ Lang::Japanese, "過去へタイム ワープ!" },
{ Lang::Korean, "뒤로 시간 이동" },
{ Lang::Norwegian, "Tidssprang bakover" },
{ Lang::Dutch, "Timewarp achteruit" },
{ Lang::Polish, "Zakrzywienie czasu w tył" },
{ Lang::BrazilianPortuguese, "Distorção temporal regressiva" },
{ Lang::Portuguese, "Retroceder no Tempo" },
{ Lang::Russian, "Прыжок во Времени Назад" },
{ Lang::Swedish, "Tidsresa till forntiden" },
{ Lang::Turkish, "Zaman Sıçraması Geri" },
{ Lang::SimplifiedChinese, "时间向后扭曲" },
{ Lang::TraditionalChinese, "時間向後扭曲" },
},
},
{
Msg::STRING149,
{
{ Lang::Arabic, "Maelstrom!" },
{ Lang::Czech, "Hvězdný vír!" },
{ Lang::Danish, "Hvirvelstrøm!" },
{ Lang::German, "Strudel!" },
{ Lang::Greek, "Δίνη" },
{ Lang::English, "Maelstrom!" },
{ Lang::Spanish, "¡Vorágine!" },
{ Lang::Finnish, "Maelstrom!" },
{ Lang::French, "Maelström !" },
{ Lang::Hebrew, "Maelstrom!" },
{ Lang::Hungarian, "Maelström!" },
{ Lang::Italian, "Maelstrom!" },
{ Lang::Japanese, "メールストローム!" },
{ Lang::Korean, "대혼란" },
{ Lang::Norwegian, "Malstrøm!" },
{ Lang::Dutch, "Maelstrom!" },
{ Lang::Polish, "Wir!" },
{ Lang::BrazilianPortuguese, "Redemoinho!" },
{ Lang::Portuguese, "Remoinho!" },
{ Lang::Russian, "Водоворот!" },
{ Lang::Swedish, "Maelstrom!" },
{ Lang::Turkish, "Girdap!" },
{ Lang::SimplifiedChinese, "大旋涡!" },
{ Lang::TraditionalChinese, "大動亂!" },
},
},
{
Msg::STRING150,
{
{ Lang::Arabic, "Wormhole" },
{ Lang::Czech, "Červí díra" },
{ Lang::Danish, "Ormehul" },
{ Lang::German, "Wurmloch" },
{ Lang::Greek, "Διαστημική σήραγγα" },
{ Lang::English, "Wormhole" },
{ Lang::Spanish, "Túnel espacial" },
{ Lang::Finnish, "Madonreikä" },
{ Lang::French, "Repaire du ver géant" },
{ Lang::Hebrew, "Wormhole" },
{ Lang::Hungarian, "Féreglyuk" },
{ Lang::Italian, "Tunnel spaziale" },
{ Lang::Japanese, "ワームホール!" },
{ Lang::Korean, "웜홀" },
{ Lang::Norwegian, "Ormebol" },
{ Lang::Dutch, "Wormhole" },
{ Lang::Polish, "Tunel czasoprzestrzenny" },
{ Lang::BrazilianPortuguese, "Fenda espacial" },
{ Lang::Portuguese, "Túnel espacial" },
{ Lang::Russian, "Червоточина" },
{ Lang::Swedish, "Maskhål" },
{ Lang::Turkish, "Solucan deliği" },
{ Lang::SimplifiedChinese, "旋涡式星体" },
{ Lang::TraditionalChinese, "蟲孔" },
},
},
{
Msg::STRING151,
{
{ Lang::Arabic, "Awaiting Deployment" },
{ Lang::Czech, "Čekání na odpálení" },
{ Lang::Danish, "Afventer affyring" },
{ Lang::German, "Startbereit" },
{ Lang::Greek, "Αναμονή εκτόξευσης" },
{ Lang::English, "Awaiting Deployment" },
{ Lang::Spanish, "Esperando implementación" },
{ Lang::Finnish, "Odotetaan laukaisua" },
{ Lang::French, "Paré au lancement" },
{ Lang::Hebrew, "Awaiting Deployment" },
{ Lang::Hungarian, "Kilövés" },
{ Lang::Italian, "Schieramento" },
{ Lang::Japanese, "発射準備 OK!" },
{ Lang::Korean, "함대 배치 준비" },
{ Lang::Norwegian, "Venter på utstasjonering" },
{ Lang::Dutch, "Klaar voor lancering" },
{ Lang::Polish, "Oczekiwanie na rozstawienie" },
{ Lang::BrazilianPortuguese, "Aguardando lançamento" },
{ Lang::Portuguese, "Pronto para o lançamento" },
{ Lang::Russian, "Ожидание Запуска" },
{ Lang::Swedish, "Skjut iväg kulan!" },
{ Lang::Turkish, "Başlatma Bekleniyor" },
{ Lang::SimplifiedChinese, "等待部署" },
{ Lang::TraditionalChinese, "正在等待調配" },
},
},
{
Msg::STRING152,
{
{ Lang::Arabic, "Flags Upgraded" },
{ Lang::Czech, "Vylepšení vlajky" },
{ Lang::Danish, "Flag opgraderet" },
{ Lang::German, "Fahnen erneuert" },
{ Lang::Greek, "Οι σημαίες αναβαθμίστηκαν" },
{ Lang::English, "Flags Upgraded" },
{ Lang::Spanish, "Trampillas actualizadas" },
{ Lang::Finnish, "Liput uusittu" },
{ Lang::French, "Indicateurs mis à jour" },
{ Lang::Hebrew, "Flags Upgraded" },
{ Lang::Hungarian, "Zászlócélok korszerűsítve" },
{ Lang::Italian, "Bandiere aggiornate" },
{ Lang::Japanese, "フラグをアップグレード!" },
{ Lang::Korean, "깃발 업그레이드" },
{ Lang::Norwegian, "Flagg oppgradert" },
{ Lang::Dutch, "Poorten opgewaardeerd" },
{ Lang::Polish, "Modernizacja flag" },
{ Lang::BrazilianPortuguese, "Bandeiras atualizadas" },
{ Lang::Portuguese, "Indicadores actualizados" },
{ Lang::Russian, "Флаги Улучшены" },
{ Lang::Swedish, "Spinners uppgraderas" },
{ Lang::Turkish, "Fırıldaklar Yenilendi" },
{ Lang::SimplifiedChinese, "升级旗帜" },
{ Lang::TraditionalChinese, "旗標升級" },
},
},
{
Msg::STRING153,
{
{ Lang::Arabic, "Bonus Hold" },
{ Lang::Czech, "Podržení bonusu" },
{ Lang::Danish, "Bonushold" },
{ Lang::German, "Bonus angehalten" },
{ Lang::Greek, "Διατήρηση μπόνους" },
{ Lang::English, "Bonus Hold" },
{ Lang::Spanish, "Retención de bonificación" },
{ Lang::Finnish, "Bonuksen pito" },
{ Lang::French, "Bonus conservé" },
{ Lang::Hebrew, "Bonus Hold" },
{ Lang::Hungarian, "Bónusz megtartva" },
{ Lang::Italian, "Concessione bonus" },
{ Lang::Japanese, "ボーナス" },
{ Lang::Korean, "추가 보너스 없음" },
{ Lang::Norwegian, "Behold bonus" },
{ Lang::Dutch, "Bonus behouden" },
{ Lang::Polish, "Wstrzymanie premii" },
{ Lang::BrazilianPortuguese, "Bônus adquirido" },
{ Lang::Portuguese, "Retenção de bónus" },
{ Lang::Russian, "Удержание Бонуса" },
{ Lang::Swedish, "Bonus sparas" },
{ Lang::Turkish, "Ödül Beklemede" },
{ Lang::SimplifiedChinese, "保留奖分" },
{ Lang::TraditionalChinese, "保留紅利" },
},
},
{
Msg::STRING154,
{
{ Lang::Arabic, "Level One Commendation" },
{ Lang::Czech, "Uznání prvního stupně" },
{ Lang::Danish, "Beskyttelse - niveau 1" },
{ Lang::German, "Belobigung Stufe 1" },
{ Lang::Greek, "Έπαινος πρώτου βαθμού" },
{ Lang::English, "Level One Commendation" },
{ Lang::Spanish, "Felicitación del nivel uno" },
{ Lang::Finnish, "Ensimmäisen tason kunniamerkki" },
{ Lang::French, "Trophée niveau 1" },
{ Lang::Hebrew, "Level One Commendation" },
{ Lang::Hungarian, "Elsőfokú dicséret" },
{ Lang::Italian, "Lode di primo livello" },
{ Lang::Japanese, "レベル 1 叙勲" },
{ Lang::Korean, "1단계 보너스" },
{ Lang::Norwegian, "Medalje for 1. nivå" },
{ Lang::Dutch, "Eervolle vermelding nr. 1" },
{ Lang::Polish, "Awans na poziom pierwszy" },
{ Lang::BrazilianPortuguese, "Fase um concluída" },
{ Lang::Portuguese, "Troféu do nível um" },
{ Lang::Russian, "Благодарность Первого Уровня" },
{ Lang::Swedish, "Befordran till nivå 1" },
{ Lang::Turkish, "1. Düzey Kumanda" },
{ Lang::SimplifiedChinese, "一等奖" },
{ Lang::TraditionalChinese, "第一級獎金" },
},
},
{
Msg::STRING155,
{
{ Lang::Arabic, "Level Two Commendation" },
{ Lang::Czech, "Uznání druhého stupně" },
{ Lang::Danish, "Beskyttelse - niveau 2" },
{ Lang::German, "Belobigung Stufe 2" },
{ Lang::Greek, "Έπαινος δευτέρου βαθμού" },
{ Lang::English, "Level Two Commendation" },
{ Lang::Spanish, "Felicitación del nivel dos" },
{ Lang::Finnish, "Toisen tason kunniamerkki" },
{ Lang::French, "Trophée niveau 2" },
{ Lang::Hebrew, "Level Two Commendation" },
{ Lang::Hungarian, "Másodfokú dicséret" },
{ Lang::Italian, "Lode di secondo livello" },
{ Lang::Japanese, "レベル 2 叙勲" },
{ Lang::Korean, "2단계 보너스" },
{ Lang::Norwegian, "Medalje for 2. nivå" },
{ Lang::Dutch, "Eervolle vermelding nr. 2" },
{ Lang::Polish, "Awans na poziom drugi" },
{ Lang::BrazilianPortuguese, "Fase dois concluída" },
{ Lang::Portuguese, "Troféu do nível dois" },
{ Lang::Russian, "Благодарность Второго Уровня" },
{ Lang::Swedish, "Befordran till nivå 2" },
{ Lang::Turkish, "2. Düzey Kumanda" },
{ Lang::SimplifiedChinese, "二等奖" },
{ Lang::TraditionalChinese, "第二級獎金" },
},
},
{
Msg::STRING156,
{
{ Lang::Arabic, "Level Three Commendation" },
{ Lang::Czech, "Uznání třetího stupně" },
{ Lang::Danish, "Beskyttelse - niveau 3" },
{ Lang::German, "Belobigung Stufe 3" },
{ Lang::Greek, "Έπαινος τρίτου βαθμού" },
{ Lang::English, "Level Three Commendation" },
{ Lang::Spanish, "Felicitación del nivel tres" },
{ Lang::Finnish, "Kolmannen tason kunniamerkki" },
{ Lang::French, "Trophée niveau 3" },
{ Lang::Hebrew, "Level Three Commendation" },
{ Lang::Hungarian, "Harmadfokú dicséret" },
{ Lang::Italian, "Lode di terzo livello" },
{ Lang::Japanese, "レベル 3 叙勲" },
{ Lang::Korean, "3단계 보너스" },
{ Lang::Norwegian, "Medalje for 3. nivå" },
{ Lang::Dutch, "Eervolle vermelding nr. 3" },
{ Lang::Polish, "Awans na poziom trzeci" },
{ Lang::BrazilianPortuguese, "Fase três concluída" },
{ Lang::Portuguese, "Troféu do nível três" },
{ Lang::Russian, "Благодарность Третьего Уровня" },
{ Lang::Swedish, "Befordran till nivå 3" },
{ Lang::Turkish, "3. Düzey Kumanda" },
{ Lang::SimplifiedChinese, "三等奖" },
{ Lang::TraditionalChinese, "第三級獎金" },
},
},
{
Msg::STRING157,
{
{ Lang::Arabic, "Field Multiplier 2x" },
{ Lang::Czech, "Násobení polí (x2)" },
{ Lang::Danish, "Feltmultiplikator 2x" },
{ Lang::German, "Feldmultiplikator 2fach" },
{ Lang::Greek, "Πολλαπλασιαστής πεδίου 2x" },
{ Lang::English, "Field Multiplier 2x" },
{ Lang::Spanish, "Multiplicador x2" },
{ Lang::Finnish, "Kentän moninkertaistus 2x" },
{ Lang::French, "Multiplicateur de champ 2x" },
{ Lang::Hebrew, "Field Multiplier 2x" },
{ Lang::Hungarian, "2x-es szorzó" },
{ Lang::Italian, "Moltiplicatore di campo 2x" },
{ Lang::Japanese, "フィールド マルチプライヤ 2x" },
{ Lang::Korean, "공격 점수 2배" },
{ Lang::Norwegian, "Feltmultiplikator: 2" },
{ Lang::Dutch, "Veldvermenigvuldiging 2x" },
{ Lang::Polish, "Współczynnik pola x2" },
{ Lang::BrazilianPortuguese, "Campo multiplicador 2x" },
{ Lang::Portuguese, "Multiplicador de campo x2" },
{ Lang::Russian, "Множитель Поля 2x" },
{ Lang::Swedish, "Poängen dubbleras" },
{ Lang::Turkish, "Alan Katlayıcısı 2x" },
{ Lang::SimplifiedChinese, "扩大战场 2x" },
{ Lang::TraditionalChinese, "戰場乘數 2x" },
},
},
{
Msg::STRING158,
{
{ Lang::Arabic, "Field Multiplier 3x" },
{ Lang::Czech, "Násobení polí (x3)" },
{ Lang::Danish, "Feltmultiplikator 3x" },
{ Lang::German, "Feldmultiplikator 3fach" },
{ Lang::Greek, "Πολλαπλασιαστής πεδίου 3x" },
{ Lang::English, "Field Multiplier 3x" },
{ Lang::Spanish, "Multiplicador x3" },
{ Lang::Finnish, "Kentän moninkertaistus 3x" },
{ Lang::French, "Multiplicateur de champ 3x" },
{ Lang::Hebrew, "Field Multiplier 3x" },
{ Lang::Hungarian, "3x-os szorzó" },
{ Lang::Italian, "Moltiplicatore di campo 3x" },
{ Lang::Japanese, "フィールド マルチプライヤ 3x" },
{ Lang::Korean, "공격 점수 3배" },
{ Lang::Norwegian, "Feltmultiplikator: 3" },
{ Lang::Dutch, "Veldvermenigvuldiging 3x" },
{ Lang::Polish, "Współczynnik pola x3" },
{ Lang::BrazilianPortuguese, "Campo multiplicador 3x" },
{ Lang::Portuguese, "Multiplicador de campo x3" },
{ Lang::Russian, "Множитель Поля 3x" },
{ Lang::Swedish, "Poängen multipliceras\nmed tre" },
{ Lang::Turkish, "Alan Katlayıcısı 3x" },
{ Lang::SimplifiedChinese, "扩大战场 3x" },
{ Lang::TraditionalChinese, "戰場乘數 3x" },
},
},
{
Msg::STRING159,
{
{ Lang::Arabic, "Field Multiplier 5x" },
{ Lang::Czech, "Násobení polí (x5)" },
{ Lang::Danish, "Feltmultiplikator 5x" },
{ Lang::German, "Feldmultiplikator 5fach" },
{ Lang::Greek, "Πολλαπλασιαστής πεδίου 5x" },
{ Lang::English, "Field Multiplier 5x" },
{ Lang::Spanish, "Multiplicador x5" },
{ Lang::Finnish, "Kentän moninkertaistus 5x" },
{ Lang::French, "Multiplicateur de champ 5x" },
{ Lang::Hebrew, "Field Multiplier 5x" },
{ Lang::Hungarian, "5x-ös szorzó" },
{ Lang::Italian, "Moltiplicatore di campo 5x" },
{ Lang::Japanese, "フィールド マルチプライヤ 5x" },
{ Lang::Korean, "공격 점수 5배" },
{ Lang::Norwegian, "Feltmultiplikator: 5" },
{ Lang::Dutch, "Veldvermenigvuldiging 5x" },
{ Lang::Polish, "Współczynnik pola x5" },
{ Lang::BrazilianPortuguese, "Campo multiplicador 5x" },
{ Lang::Portuguese, "Multiplicador de campo x5" },
{ Lang::Russian, "Множитель Поля 5x" },
{ Lang::Swedish, "Poängen multipliceras\nmed fem" },
{ Lang::Turkish, "Alan Katlayıcısı 5x" },
{ Lang::SimplifiedChinese, "扩大战场 5x" },
{ Lang::TraditionalChinese, "戰場乘數 5x" },
},
},
{
Msg::STRING160,
{
{ Lang::Arabic, "Field Multiplier 10x" },
{ Lang::Czech, "Násobení polí (x10)" },
{ Lang::Danish, "Feltmultiplikator 10x" },
{ Lang::German, "Feldmultiplikator 10fach" },
{ Lang::Greek, "Πολλαπλασιαστής πεδίου 10x" },
{ Lang::English, "Field Multiplier 10x" },
{ Lang::Spanish, "Multiplicador x10" },
{ Lang::Finnish, "Kentän moninkertaistus 10x" },
{ Lang::French, "Multiplicateur de champ 10x" },
{ Lang::Hebrew, "Field Multiplier 10x" },
{ Lang::Hungarian, "10x-es szorzó" },
{ Lang::Italian, "Moltiplicatore di campo 10x" },
{ Lang::Japanese, "フィールド マルチプライヤ 10x" },
{ Lang::Korean, "공격 점수 10배" },
{ Lang::Norwegian, "Feltmultiplikator: 10" },
{ Lang::Dutch, "Veldvermenigvuldiging 10x" },
{ Lang::Polish, "Współczynnik pola x10" },
{ Lang::BrazilianPortuguese, "Campo multiplicador 10x" },
{ Lang::Portuguese, "Multiplicador de campo x10" },
{ Lang::Russian, "Множитель Поля 10x" },
{ Lang::Swedish, "Poängen multipliceras\nmed tio" },
{ Lang::Turkish, "Alan Katlayıcısı 10x" },
{ Lang::SimplifiedChinese, "扩大战场 10x" },
{ Lang::TraditionalChinese, "戰場乘數 10x" },
},
},
{
Msg::STRING161,
{
{ Lang::Arabic, "Target Practice" },
{ Lang::Czech, "Nácvik míření" },
{ Lang::Danish, "Måløvelse" },
{ Lang::German, "Zielübungen" },
{ Lang::Greek, "Εξάσκηση βολής" },
{ Lang::English, "Target Practice" },
{ Lang::Spanish, "Prácticas de diana" },
{ Lang::Finnish, "Maalitauluharjoitus" },
{ Lang::French, "Exercices de tir" },
{ Lang::Hebrew, "Target Practice" },
{ Lang::Hungarian, "Lőgyakorlat" },
{ Lang::Italian, "Esercitazione di tiro" },
{ Lang::Japanese, "ターゲット訓練" },
{ Lang::Korean, "사격 연습" },
{ Lang::Norwegian, "Skyteøvelse" },
{ Lang::Dutch, "Schietoefeningen" },
{ Lang::Polish, "Ćwiczenie celności" },
{ Lang::BrazilianPortuguese, "Tiro ao alvo" },
{ Lang::Portuguese, "Tiro ao alvo" },
{ Lang::Russian, "Стрельба по Мишеням" },
{ Lang::Swedish, "Bumper-träning" },
{ Lang::Turkish, "Hedef Talimi" },
{ Lang::SimplifiedChinese, "目标练习" },
{ Lang::TraditionalChinese, "目標練習" },
},
},
{
Msg::STRING162,
{
{ Lang::Arabic, "Launch Training" },
{ Lang::Czech, "Nácvik odpálení" },
{ Lang::Danish, "Affyringstræning" },
{ Lang::German, "Startübungen" },
{ Lang::Greek, "Εξάσκηση εκτόξευσης" },
{ Lang::English, "Launch Training" },
{ Lang::Spanish, "Entrenamiento de lanzamiento" },
{ Lang::Finnish, "Lähtöharjoitus" },
{ Lang::French, "Essais de tir" },
{ Lang::Hebrew, "Launch Training" },
{ Lang::Hungarian, "Fellövési gyakorlat" },
{ Lang::Italian, "Esercitazioni di lancio" },
{ Lang::Japanese, "発射訓練" },
{ Lang::Korean, "발사 훈련" },
{ Lang::Norwegian, "Utskytingstrening" },
{ Lang::Dutch, "Lanceertraining" },
{ Lang::Polish, "Trening ładowania" },
{ Lang::BrazilianPortuguese, "Treinamento de lançamento" },
{ Lang::Portuguese, "Iniciar o treino" },
{ Lang::Russian, "Тренировка по Запуску" },
{ Lang::Swedish, "Rampträning" },
{ Lang::Turkish, "Fırlatma Eğitimi" },
{ Lang::SimplifiedChinese, "启动训练" },
{ Lang::TraditionalChinese, "啟動訓練" },
},
},
{
Msg::STRING163,
{
{ Lang::Arabic, "Re-Entry Training" },
{ Lang::Czech, "Nácvik návratu" },
{ Lang::Danish, "Gentagelsestræning" },
{ Lang::German, "Landeübungen" },
{ Lang::Greek, "Εξάσκηση επαναφοράς" },
{ Lang::English, "Re-Entry Training" },
{ Lang::Spanish, "Entrenamiento de reentrada" },
{ Lang::Finnish, "Paluuharjoitus" },
{ Lang::French, "Essais de rentrée" },
{ Lang::Hebrew, "Re-Entry Training" },
{ Lang::Hungarian, "Újrabelépési gyakorlat" },
{ Lang::Italian, "Esercitazione di rientro" },
{ Lang::Japanese, "再突入訓練" },
{ Lang::Korean, "재돌입 훈련" },
{ Lang::Norwegian, "Tilbakekomsttrening" },
{ Lang::Dutch, "Terugkeertraining" },
{ Lang::Polish, "Trening ponownego wejścia" },
{ Lang::BrazilianPortuguese, "Treinamento de reentrada" },
{ Lang::Portuguese, "Treino de reentrada" },
{ Lang::Russian, "Тренировка по Возвращению" },
{ Lang::Swedish, "Höghöjdsträning" },
{ Lang::Turkish, "Yeniden Giriş Eğitimi" },
{ Lang::SimplifiedChinese, "重新上场训练" },
{ Lang::TraditionalChinese, "重新輸入訓練" },
},
},
{
Msg::STRING164,
{
{ Lang::Arabic, "Science" },
{ Lang::Czech, "Vědecký úkol" },
{ Lang::Danish, "Videnskab" },
{ Lang::German, "Forschung" },
{ Lang::Greek, "Επιστήμη" },
{ Lang::English, "Science" },
{ Lang::Spanish, "Ciencia" },
{ Lang::Finnish, "Tutkimus" },
{ Lang::French, "Science" },
{ Lang::Hebrew, "Science" },
{ Lang::Hungarian, "Tudományos feladat" },
{ Lang::Italian, "Scienza" },
{ Lang::Japanese, "サイエンス" },
{ Lang::Korean, "과학" },
{ Lang::Norwegian, "Vitenskapelig" },
{ Lang::Dutch, "Wetenschap" },
{ Lang::Polish, "Nauka" },
{ Lang::BrazilianPortuguese, "Científica" },
{ Lang::Portuguese, "Ciência" },
{ Lang::Russian, "Наука" },
{ Lang::Swedish, "Vetenskap" },
{ Lang::Turkish, "Bilim" },
{ Lang::SimplifiedChinese, "科学" },
{ Lang::TraditionalChinese, "科學" },
},
},
{
Msg::STRING165,
{
{ Lang::Arabic, "Stray Comet" },
{ Lang::Czech, "Bludná kometa" },
{ Lang::Danish, "Løbsk komet" },
{ Lang::German, "Gefährlicher Komet" },
{ Lang::Greek, "Περιπλανώμενος κομήτης" },
{ Lang::English, "Stray Comet" },
{ Lang::Spanish, "Cometa extraviado" },
{ Lang::Finnish, "Komeetta" },
{ Lang::French, "Comète errante" },
{ Lang::Hebrew, "Stray Comet" },
{ Lang::Hungarian, "Kóbor üstökös" },
{ Lang::Italian, "Cometa vagante" },
{ Lang::Japanese, "遊星" },
{ Lang::Korean, "궤도 이탈 혜성" },
{ Lang::Norwegian, "Komet ute av kurs" },
{ Lang::Dutch, "Verdwaalde komeet" },
{ Lang::Polish, "Zabłąkana kometa" },
{ Lang::BrazilianPortuguese, "Cometa perdido" },
{ Lang::Portuguese, "Cometa errante" },
{ Lang::Russian, "Заблудшая Комета" },
{ Lang::Swedish, "Kometsvärm" },
{ Lang::Turkish, "Kuyruklu Yıldız" },
{ Lang::SimplifiedChinese, "离群的彗星" },
{ Lang::TraditionalChinese, "偏離的彗星" },
},
},
{
Msg::STRING166,
{
{ Lang::Arabic, "Black Hole" },
{ Lang::Czech, "Černá díra" },
{ Lang::Danish, "Sort hul" },
{ Lang::German, "Schwarzes Loch" },
{ Lang::Greek, "Μαύρη τρύπα" },
{ Lang::English, "Black Hole" },
{ Lang::Spanish, "Agujero negro" },
{ Lang::Finnish, "Musta aukko" },
{ Lang::French, "Trou noir" },
{ Lang::Hebrew, "Black Hole" },
{ Lang::Hungarian, "Fekete lyuk" },
{ Lang::Italian, "Buco nero" },
{ Lang::Japanese, "ブラック ホール!" },
{ Lang::Korean, "블랙홀" },
{ Lang::Norwegian, "Svart hull" },
{ Lang::Dutch, "Zwart gat" },
{ Lang::Polish, "Czarna dziura" },
{ Lang::BrazilianPortuguese, "Buraco negro" },
{ Lang::Portuguese, "Buraco negro" },
{ Lang::Russian, "Черная Дыра" },
{ Lang::Swedish, "Svart hål" },
{ Lang::Turkish, "Kara Delik" },
{ Lang::SimplifiedChinese, "黑洞" },
{ Lang::TraditionalChinese, "黑洞" },
},
},
{
Msg::STRING167,
{
{ Lang::Arabic, "Space Radiation" },
{ Lang::Czech, "Vesmírná radiace" },
{ Lang::Danish, "Rumstråling" },
{ Lang::German, "Raumstrahlung" },
{ Lang::Greek, "Διαστημική ακτινοβολία" },
{ Lang::English, "Space Radiation" },
{ Lang::Spanish, "Radiación espacial" },
{ Lang::Finnish, "Kosminen säteily" },
{ Lang::French, "Rayonnement spatial" },
{ Lang::Hebrew, "Space Radiation" },
{ Lang::Hungarian, "Űrsugárzás" },
{ Lang::Italian, "Radiazione spaziale" },
{ Lang::Japanese, "宇宙放射線" },
{ Lang::Korean, "우주 방사선" },
{ Lang::Norwegian, "Romstråling" },
{ Lang::Dutch, "Kosmische straling" },
{ Lang::Polish, "Kosmiczna radiacja" },
{ Lang::BrazilianPortuguese, "Radiação espacial" },
{ Lang::Portuguese, "Radiação espacial" },
{ Lang::Russian, "Космическое Излучение" },
{ Lang::Swedish, "Rymdstrålning" },
{ Lang::Turkish, "Uzay Radyasyonu" },
{ Lang::SimplifiedChinese, "太空辐射" },
{ Lang::TraditionalChinese, "太空輻射" },
},
},
{
Msg::STRING168,
{
{ Lang::Arabic, "Bug Hunt" },
{ Lang::Czech, "Honba na vetřelce" },
{ Lang::Danish, "Billejagt" },
{ Lang::German, "Jagdmanöver" },
{ Lang::Greek, "Καταδίωξη ιού" },
{ Lang::English, "Bug Hunt" },
{ Lang::Spanish, "Caza de bichos" },
{ Lang::Finnish, "Ötökkäjahti" },
{ Lang::French, "Chasse aux virus" },
{ Lang::Hebrew, "Bug Hunt" },
{ Lang::Hungarian, "Bogárirtás" },
{ Lang::Italian, "Caccia al virus" },
{ Lang::Japanese, "バグ ハント" },
{ Lang::Korean, "우주 바이러스 퇴치" },
{ Lang::Norwegian, "Gulljakt" },
{ Lang::Dutch, "Bug Hunt" },
{ Lang::Polish, "Polowanie na pluskwy" },
{ Lang::BrazilianPortuguese, "Caçada assassina" },
{ Lang::Portuguese, "Caça aos 'bugs'" },
{ Lang::Russian, "Охота На Жуков" },
{ Lang::Swedish, "Insekter" },
{ Lang::Turkish, "Böcek Avı" },
{ Lang::SimplifiedChinese, "猎虫" },
{ Lang::TraditionalChinese, "搜尋微生物" },
},
},
{
Msg::STRING169,
{
{ Lang::Arabic, "Alien Menace" },
{ Lang::Czech, "Vetřelci útočí" },
{ Lang::Danish, "Trusler fra fremmede" },
{ Lang::German, "Fremdbedrohung" },
{ Lang::Greek, "Απειλή εξωγήινων" },
{ Lang::English, "Alien Menace" },
{ Lang::Spanish, "Amenaza exterior" },
{ Lang::Finnish, "Ufojen isku" },
{ Lang::French, "Menace extra-terrestre" },
{ Lang::Hebrew, "Alien Menace" },
{ Lang::Hungarian, "Földönkívüliek támadása" },
{ Lang::Italian, "Pericolo alieni" },
{ Lang::Japanese, "エイリアン襲来!" },
{ Lang::Korean, "외계인 출현" },
{ Lang::Norwegian, "Romtrussel" },
{ Lang::Dutch, "Alien Menace" },
{ Lang::Polish, "Inwazja obcych" },
{ Lang::BrazilianPortuguese, "Ameaça alienígena" },
{ Lang::Portuguese, "Ameaça extraterrestre" },
{ Lang::Russian, "Инопланетная Угроза" },
{ Lang::Swedish, "Pigs in Space" },
{ Lang::Turkish, "Yabancı İstilası" },
{ Lang::SimplifiedChinese, "外星人的威协" },
{ Lang::TraditionalChinese, "異境驚魂" },
},
},
{
Msg::STRING170,
{
{ Lang::Arabic, "Rescue" },
{ Lang::Czech, "Záchrana" },
{ Lang::Danish, "Redning" },
{ Lang::German, "Rettungsaktion" },
{ Lang::Greek, "Διάσωση" },
{ Lang::English, "Rescue" },
{ Lang::Spanish, "Rescate" },
{ Lang::Finnish, "Pelastus" },
{ Lang::French, "Sauvetage" },
{ Lang::Hebrew, "Rescue" },
{ Lang::Hungarian, "Mentőakció" },
{ Lang::Italian, "Salvataggio" },
{ Lang::Japanese, "レスキュー" },
{ Lang::Korean, "구출" },
{ Lang::Norwegian, "Redning" },
{ Lang::Dutch, "Rescue" },
{ Lang::Polish, "Misja ratunkowa" },
{ Lang::BrazilianPortuguese, "Salvamento" },
{ Lang::Portuguese, "Salvamento" },
{ Lang::Russian, "Спасение" },
{ Lang::Swedish, "Räddningsaktion" },
{ Lang::Turkish, "Kurtarma" },
{ Lang::SimplifiedChinese, "援助" },
{ Lang::TraditionalChinese, "拯救" },
},
},
{
Msg::STRING171,
{
{ Lang::Arabic, "Satellite Retrieval" },
{ Lang::Czech, "Získání satelitu" },
{ Lang::Danish, "Satellitredning" },
{ Lang::German, "Satellitenbergung" },
{ Lang::Greek, "Ανάκτηση δορυφόρου" },
{ Lang::English, "Satellite Retrieval" },
{ Lang::Spanish, "Recuperación de satélites" },
{ Lang::Finnish, "Satelliitin nouto" },
{ Lang::French, "Récupération du satellite" },
{ Lang::Hebrew, "Satellite Retrieval" },
{ Lang::Hungarian, "Műhold befogása" },
{ Lang::Italian, "Recupero satellite" },
{ Lang::Japanese, "サテライト リトリーバル" },
{ Lang::Korean, "위성 되찾기" },
{ Lang::Norwegian, "Satelittgjenvinning" },
{ Lang::Dutch, "Satelliet oppikken" },
{ Lang::Polish, "Przechwycenie satelity" },
{ Lang::BrazilianPortuguese, "Resgate do satélite" },
{ Lang::Portuguese, "Recuperação de satélites" },
{ Lang::Russian, "Поиск Спутника" },
{ Lang::Swedish, "Hämta satellit" },
{ Lang::Turkish, "Uydu Alımı" },
{ Lang::SimplifiedChinese, "卫星收回" },
{ Lang::TraditionalChinese, "人造衛星回收" },
},
},
{
Msg::STRING172,
{
{ Lang::Arabic, "Recon" },
{ Lang::Czech, "Průzkum" },
{ Lang::Danish, "Rekognoscering" },
{ Lang::German, "Aufklärung" },
{ Lang::Greek, "Αναγνώριση" },
{ Lang::English, "Recon" },
{ Lang::Spanish, "Reconocimiento" },
{ Lang::Finnish, "Tiedustelu" },
{ Lang::French, "Reconnaissance" },
{ Lang::Hebrew, "Recon" },
{ Lang::Hungarian, "Békekötés" },
{ Lang::Italian, "Riconoscimento" },
{ Lang::Japanese, "偵察" },
{ Lang::Korean, "정찰" },
{ Lang::Norwegian, "Rekognosering" },
{ Lang::Dutch, "Verkenning" },
{ Lang::Polish, "Rekonesans" },
{ Lang::BrazilianPortuguese, "Reconhecimento" },
{ Lang::Portuguese, "Reconhecimento" },
{ Lang::Russian, "Разведка" },
{ Lang::Swedish, "Spaningsuppdrag" },
{ Lang::Turkish, "Recon" },
{ Lang::SimplifiedChinese, "侦察" },
{ Lang::TraditionalChinese, "偵查" },
},
},
{
Msg::STRING173,
{
{ Lang::Arabic, "Doomsday Machine" },
{ Lang::Czech, "Stroj zkázy" },
{ Lang::Danish, "Dommedagsmaskine" },
{ Lang::German, "Schwadron" },
{ Lang::Greek, "Συσκευή ολοκληρωτικής καταστροφής" },
{ Lang::English, "Doomsday Machine" },
{ Lang::Spanish, "Máquina catastrófica" },
{ Lang::Finnish, "Helvetinkone" },
{ Lang::French, "Machine de la fin du monde" },
{ Lang::Hebrew, "Doomsday Machine" },
{ Lang::Hungarian, "Halálosztó gép" },
{ Lang::Italian, "Macchina della fine del mondo" },
{ Lang::Japanese, "ドゥームズデイ マシン" },
{ Lang::Korean, "핵무기" },
{ Lang::Norwegian, "Helvetesmaskin" },
{ Lang::Dutch, "Doomsday Machine" },
{ Lang::Polish, "Maszyna zagłady" },
{ Lang::BrazilianPortuguese, "Máquina do Juízo Final" },
{ Lang::Portuguese, "Máquina do fim do mundo" },
{ Lang::Russian, "Машина Судного Дня" },
{ Lang::Swedish, "Domedagsmaskin" },
{ Lang::Turkish, "Kıyamet Makinesi" },
{ Lang::SimplifiedChinese, "世界末日机器" },
{ Lang::TraditionalChinese, "世界末日機" },
},
},
{
Msg::STRING174,
{
{ Lang::Arabic, "Cosmic Plague" },
{ Lang::Czech, "Vesmírná epidemie" },
{ Lang::Danish, "Kosmisk pest" },
{ Lang::German, "Kosmische Seuche" },
{ Lang::Greek, "Κοσμική μάστιγα" },
{ Lang::English, "Cosmic Plague" },
{ Lang::Spanish, "Plaga cósmica" },
{ Lang::Finnish, "Kosminen rutto" },
{ Lang::French, "Peste cosmique" },
{ Lang::Hebrew, "Cosmic Plague" },
{ Lang::Hungarian, "Kozmikus pestis" },
{ Lang::Italian, "Peste cosmica" },
{ Lang::Japanese, "宇宙疫病" },
{ Lang::Korean, "우주 재앙" },
{ Lang::Norwegian, "Kosmisk pest" },
{ Lang::Dutch, "Kosmische plaag" },
{ Lang::Polish, "Plaga kosmiczna" },
{ Lang::BrazilianPortuguese, "Peste cósmica" },
{ Lang::Portuguese, "Praga cósmica" },
{ Lang::Russian, "Космическая чума" },
{ Lang::Swedish, "Kosmisk pest" },
{ Lang::Turkish, "Kozmik Veba" },
{ Lang::SimplifiedChinese, "宇宙灾难" },
{ Lang::TraditionalChinese, "宇宙災禍" },
},
},
{
Msg::STRING175,
{
{ Lang::Arabic, "Secret" },
{ Lang::Czech, "Tajné" },
{ Lang::Danish, "Hemmelig" },
{ Lang::German, "Geheimnis" },
{ Lang::Greek, "Μυστικό" },
{ Lang::English, "Secret" },
{ Lang::Spanish, "Secreto" },
{ Lang::Finnish, "Salainen" },
{ Lang::French, "Secret" },
{ Lang::Hebrew, "Secret" },
{ Lang::Hungarian, "Titkos" },
{ Lang::Italian, "Segreto" },
{ Lang::Japanese, "シークレット" },
{ Lang::Korean, "비밀" },
{ Lang::Norwegian, "Hemmelighet" },
{ Lang::Dutch, "Geheim" },
{ Lang::Polish, "Tajemnica" },
{ Lang::BrazilianPortuguese, "Segredo" },
{ Lang::Portuguese, "Segredo" },
{ Lang::Russian, "Секрет" },
{ Lang::Swedish, "Hemlighet" },
{ Lang::Turkish, "Gizli" },
{ Lang::SimplifiedChinese, "机密" },
{ Lang::TraditionalChinese, "秘密" },
},
},
{
Msg::STRING176,
{
{ Lang::Arabic, "Time Warp" },
{ Lang::Czech, "Přesun v čase" },
{ Lang::Danish, "Tidsforskydning" },
{ Lang::German, "Zeitsprung" },
{ Lang::Greek, "Χρονοστρέβλωση" },
{ Lang::English, "Time Warp" },
{ Lang::Spanish, "Salto en el tiempo" },
{ Lang::Finnish, "Aikahyppy" },
{ Lang::French, "Distorsion du temps" },
{ Lang::Hebrew, "Time Warp" },
{ Lang::Hungarian, "Időugrás" },
{ Lang::Italian, "Curvatura temporale" },
{ Lang::Japanese, "タイム ワープ!" },
{ Lang::Korean, "시간 이동" },
{ Lang::Norwegian, "Tidssprang" },
{ Lang::Dutch, "Time Warp" },
{ Lang::Polish, "Zakrzywienie czasu" },
{ Lang::BrazilianPortuguese, "Distorção temporal" },
{ Lang::Portuguese, "Salto no tempo" },
{ Lang::Russian, "Искривление Времени" },
{ Lang::Swedish, "Tidsresa" },
{ Lang::Turkish, "Zaman Sıçraması" },
{ Lang::SimplifiedChinese, "时间扭曲" },
{ Lang::TraditionalChinese, "時間扭曲" },
},
},
{
Msg::STRING177,
{
{ Lang::Arabic, "Maelstrom" },
{ Lang::Czech, "Hvězdný vír" },
{ Lang::Danish, "Hvirvelstrøm" },
{ Lang::German, "Strudel" },
{ Lang::Greek, "Δίνη" },
{ Lang::English, "Maelstrom" },
{ Lang::Spanish, "¡Vorágine!" },
{ Lang::Finnish, "Maelstrom" },
{ Lang::French, "Maelström" },
{ Lang::Hebrew, "Maelstrom" },
{ Lang::Hungarian, "Maelström" },
{ Lang::Italian, "Maelstrom" },
{ Lang::Japanese, "メールストローム" },
{ Lang::Korean, "대혼란" },
{ Lang::Norwegian, "Malstrøm" },
{ Lang::Dutch, "Maelstrom" },
{ Lang::Polish, "Wir" },
{ Lang::BrazilianPortuguese, "Redemoinho" },
{ Lang::Portuguese, "Redemoinho" },
{ Lang::Russian, "Водоворот" },
{ Lang::Swedish, "Maelstrom" },
{ Lang::Turkish, "Girdap" },
{ Lang::SimplifiedChinese, "大旋涡" },
{ Lang::TraditionalChinese, "大動亂" },
},
},
{
Msg::STRING178,
{
{ Lang::Arabic, "Mission Accepted\n%ld" },
{ Lang::Czech, "Úkol přijat\n%ld" },
{ Lang::Danish, "Mission accepteret\n%ld" },
{ Lang::German, "Auftrag beginnt\n%ld" },
{ Lang::Greek, "Αποδοχή αποστολής\n%ld" },
{ Lang::English, "Mission Accepted\n%ld" },
{ Lang::Spanish, "Misión aceptada\n%ld" },
{ Lang::Finnish, "Tehtävä hyväksytty\n%ld" },
{ Lang::French, "Mission acceptée\n%ld" },
{ Lang::Hebrew, "Mission Accepted\n%ld" },
{ Lang::Hungarian, "Küldetés elfogadva\n%ld" },
{ Lang::Italian, "Missione accettata\n%ld" },
{ Lang::Japanese, "ミッション確定!\n%ld" },
{ Lang::Korean, "임무 시작\n%ld" },
{ Lang::Norwegian, "Oppdrag godtatt\n%ld" },
{ Lang::Dutch, "Missie aanvaard\n%ld" },
{ Lang::Polish, "Misja przyjęta\n%ld" },
{ Lang::BrazilianPortuguese, "Missão aceita\n%ld" },
{ Lang::Portuguese, "Missão aceite\n%ld" },
{ Lang::Russian, "Миссия Принята\n%ld" },
{ Lang::Swedish, "Uppdraget accepterat\n%ld" },
{ Lang::Turkish, "Görev Kabul Edildi\n%ld" },
{ Lang::SimplifiedChinese, "接受的使命\n%ld" },
{ Lang::TraditionalChinese, "任務接受\n%ld" },
},
},
{
Msg::STRING179,
{
{ Lang::Arabic, "Mission Completed\n%ld" },
{ Lang::Czech, "Úkol splněn\n%ld" },
{ Lang::Danish, "Mission fuldført\n%ld" },
{ Lang::German, "Auftrag beendet\n%ld" },
{ Lang::Greek, "Ολοκλήρωση αποστολής\n%ld" },
{ Lang::English, "Mission Completed\n%ld" },
{ Lang::Spanish, "Misión cumplida\n%ld" },
{ Lang::Finnish, "Tehtävä suoritettu\n%ld" },
{ Lang::French, "Mission achevée\n%ld" },
{ Lang::Hebrew, "Mission Completed\n%ld" },
{ Lang::Hungarian, "Küldetés teljesítve\n%ld" },
{ Lang::Italian, "Missione compiuta\n%ld" },
{ Lang::Japanese, "ミッション完了!\n%ld" },
{ Lang::Korean, "임무 완료\n%ld" },
{ Lang::Norwegian, "Oppdrag fullført\n%ld" },
{ Lang::Dutch, "Missie volbracht\n%ld" },
{ Lang::Polish, "Misja ukończona\n%ld" },
{ Lang::BrazilianPortuguese, "Missão cumprida\n%ld" },
{ Lang::Portuguese, "Missão completa\n%ld" },
{ Lang::Russian, "Миссия Завершена\n%ld" },
{ Lang::Swedish, "Uppdraget genomfört\n%ld" },
{ Lang::Turkish, "Görev Tamamlandı\n%ld" },
{ Lang::SimplifiedChinese, "完成的使命\n%ld" },
{ Lang::TraditionalChinese, "任務完成\n%ld" },
},
},
{
Msg::STRING180,
{
{ Lang::Arabic, "%s Mission Selected" },
{ Lang::Czech, "Vybrán úkol %s" },
{ Lang::Danish, "%s Mission udvalgt" },
{ Lang::German, "Gewählter Auftrag: %s" },
{ Lang::Greek, "Επιλογή αποστολής %s" },
{ Lang::English, "%s Mission Selected" },
{ Lang::Spanish, "Misión %s seleccionada" },
{ Lang::Finnish, "Tehtävä %s valittu" },
{ Lang::French, "%s Mission sélectionnée" },
{ Lang::Hebrew, "%s Mission Selected" },
{ Lang::Hungarian, "%s - a küldetés kiválasztva" },
{ Lang::Italian, "%s Missione selezionata" },
{ Lang::Japanese, "%s ミッション選択" },
{ Lang::Korean, "%s 임무 선택" },
{ Lang::Norwegian, "%s-oppdrag valgt" },
{ Lang::Dutch, "Geselecteerde missie: %s" },
{ Lang::Polish, "Wybrano misję: %s" },
{ Lang::BrazilianPortuguese, "Missão %s selecionada" },
{ Lang::Portuguese, "%s Missão seleccionada" },
{ Lang::Russian, "Выбрана Миссия %s" },
{ Lang::Swedish, "Uppdrag %s har valts" },
{ Lang::Turkish, "%s Görevi Seçildi" },
{ Lang::SimplifiedChinese, "选定 %s 使命" },
{ Lang::TraditionalChinese, "%s 任務選擇" },
},
},
{
Msg::STRING181,
{
{ Lang::Arabic, "Black Hole\n%ld" },
{ Lang::Czech, "Černá díra\n%ld" },
{ Lang::Danish, "Sort hul\n%ld" },
{ Lang::German, "Schwarzes Loch\n%ld" },
{ Lang::Greek, "Μαύρη τρύπα\n%ld" },
{ Lang::English, "Black Hole\n%ld" },
{ Lang::Spanish, "Agujero negro\n%ld" },
{ Lang::Finnish, "Musta aukko\n%ld" },
{ Lang::French, "Trou noir\n%ld" },
{ Lang::Hebrew, "Black Hole\n%ld" },
{ Lang::Hungarian, "Fekete lyuk\n%ld" },
{ Lang::Italian, "Buco nero\n%ld" },
{ Lang::Japanese, "ブラック ホール!\n%ld" },
{ Lang::Korean, "블랙홀\n%ld" },
{ Lang::Norwegian, "Svart hull\n%ld" },
{ Lang::Dutch, "Zwart gat\n%ld" },
{ Lang::Polish, "Czarna dziura\n%ld" },
{ Lang::BrazilianPortuguese, "Buraco negro\n%ld" },
{ Lang::Portuguese, "Buraco negro\n%ld" },
{ Lang::Russian, "Черная Дыра\n%ld" },
{ Lang::Swedish, "Svart hål\n%ld" },
{ Lang::Turkish, "Kara Delik\n%ld" },
{ Lang::SimplifiedChinese, "黑洞\n%ld" },
{ Lang::TraditionalChinese, "黑洞\n%ld" },
},
},
{
Msg::STRING182,
{
{ Lang::Arabic, "Gravity Normalized\n%ld" },
{ Lang::Czech, "Normální gravitace\n%ld" },
{ Lang::Danish, "Tyngdekraft normaliseret\n%ld" },
{ Lang::German, "Schwerkraft normal\n%ld" },
{ Lang::Greek, "Βαρύτητα κανονική\n%ld" },
{ Lang::English, "Gravity Normalized\n%ld" },
{ Lang::Spanish, "Gravedad normalizada\n%ld" },
{ Lang::Finnish, "Gravitaatio normalisoitu\n%ld" },
{ Lang::French, "Gravité normale\n%ld" },
{ Lang::Hebrew, "Gravity Normalized\n%ld" },
{ Lang::Hungarian, "Gravitáció normalizálva\n%ld" },
{ Lang::Italian, "Gravità normalizzata\n%ld" },
{ Lang::Japanese, "グラビティ正常化\n%ld" },
{ Lang::Korean, "중력 정상화\n%ld" },
{ Lang::Norwegian, "Normalisert tyngdekraft\n%ld" },
{ Lang::Dutch, "Normale zwaartekracht\n%ld" },
{ Lang::Polish, "Grawitacja normalna\n%ld" },
{ Lang::BrazilianPortuguese, "Gravidade normalizada\n%ld" },
{ Lang::Portuguese, "Gravidade normalizada\n%ld" },
{ Lang::Russian, "Гравитация Нормализованна\n%ld" },
{ Lang::Swedish, "Normal gravitation\n%ld" },
{ Lang::Turkish, "Yerçekimi Normal\n%ld" },
{ Lang::SimplifiedChinese, "正常引力\n%ld" },
{ Lang::TraditionalChinese, "重力常態化\n%ld" },
},
},
{
Msg::STRING183,
{
{ Lang::Arabic, "Gravity Well\n%ld" },
{ Lang::Czech, "Zvýšená gravitace\n%ld" },
{ Lang::Danish, "Tyngdebrønd\n%ld" },
{ Lang::German, "Schwerkraftzone\n%ld" },
{ Lang::Greek, "Βαρυτικό πεδίο\n%ld" },
{ Lang::English, "Gravity Well\n%ld" },
{ Lang::Spanish, "Pozo gravitatorio\n%ld" },
{ Lang::Finnish, "Gravitaatiokuoppa\n%ld" },
{ Lang::French, "Centre de gravité\n%ld" },
{ Lang::Hebrew, "Gravity Well\n%ld" },
{ Lang::Hungarian, "Gravitációs csapda\n%ld" },
{ Lang::Italian, "Pozzo di gravità\n%ld" },
{ Lang::Japanese, "グラビティ ウェル\n%ld" },
{ Lang::Korean, "중력의 중심\n%ld" },
{ Lang::Norwegian, "Tyngdekraftsbrønn\n%ld" },
{ Lang::Dutch, "Gravity-put\n%ld" },
{ Lang::Polish, "Studnia grawitacyjna\n%ld" },
{ Lang::BrazilianPortuguese, "Poço de gravidade\n%ld" },
{ Lang::Portuguese, "Poço gravitacional\n%ld" },
{ Lang::Russian, "Гравитационный Колодец\n%ld" },
{ Lang::Swedish, "Gravitationshål\n%ld" },
{ Lang::Turkish, "Yerçekimi Kuyusu\n%ld" },
{ Lang::SimplifiedChinese, "引力井\n%ld" },
{ Lang::TraditionalChinese, "重力井\n%ld" },
},
},
{
Msg::STRING184,
{
{ Lang::Arabic, "الترقية إلى %s" },
{ Lang::Czech, "Povýšení na hodnost %s" },
{ Lang::Danish, "Forfremmelse til %s" },
{ Lang::German, "Zum %s befördert" },
{ Lang::Greek, "Προαγωγή σε %s" },
{ Lang::English, "Promotion to %s" },
{ Lang::Spanish, "Ascenso a %s" },
{ Lang::Finnish, "Ylennetty arvo: %s" },
{ Lang::French, "Élévation au grade de %s" },
{ Lang::Hebrew, "Promotion to %s" },
{ Lang::Hungarian, "Előléptetés %s rangba" },
{ Lang::Italian, "Promozione a %s" },
{ Lang::Japanese, "%s に昇格" },
{ Lang::Korean, "%s(으)로 수준 올리기" },
{ Lang::Norwegian, "Forfremmelse til %s" },
{ Lang::Dutch, "Promotie naar %s" },
{ Lang::Polish, "Awans do stopnia: %s" },
{ Lang::BrazilianPortuguese, "Promovido a %s" },
{ Lang::Portuguese, "Ascender para %s" },
{ Lang::Russian, "Повышение до %s" },
{ Lang::Swedish, "Befordran till %s" },
{ Lang::Turkish, "%s Terfisi" },
{ Lang::SimplifiedChinese, "升级到 %s" },
{ Lang::TraditionalChinese, "提升 %s" },
},
},
{
Msg::STRING185,
{
{ Lang::Arabic, "Cadet" },
{ Lang::Czech, "Kadet" },
{ Lang::Danish, "Kadet" },
{ Lang::German, "Kadetten" },
{ Lang::Greek, "Δόκιμος" },
{ Lang::English, "Cadet" },
{ Lang::Spanish, "Cadete" },
{ Lang::Finnish, "Kadetti" },
{ Lang::French, "Élève officier" },
{ Lang::Hebrew, "Cadet" },
{ Lang::Hungarian, "Tizedesi" },
{ Lang::Italian, "Cadetto" },
{ Lang::Japanese, "士官候補生" },
{ Lang::Korean, "후보생" },
{ Lang::Norwegian, "Kadett" },
{ Lang::Dutch, "Kadet" },
{ Lang::Polish, "Kadet" },
{ Lang::BrazilianPortuguese, "Cadete" },
{ Lang::Portuguese, "Cadete" },
{ Lang::Russian, "Кадет" },
{ Lang::Swedish, "Space Cadet" },
{ Lang::Turkish, "Cadet" },
{ Lang::SimplifiedChinese, "军校生" },
{ Lang::TraditionalChinese, "軍校生" },
},
},
{
Msg::STRING186,
{
{ Lang::Arabic, "Ensign" },
{ Lang::Czech, "Podporučík" },
{ Lang::Danish, "Sekondløjtnant" },
{ Lang::German, "Flagge" },
{ Lang::Greek, "Ανθυποπλοίαρχος" },
{ Lang::English, "Ensign" },
{ Lang::Spanish, "Alférez" },
{ Lang::Finnish, "Aliluutnantti" },
{ Lang::French, "Enseigne de vaisseau" },
{ Lang::Hebrew, "Ensign" },
{ Lang::Hungarian, "Szakaszvezetői" },
{ Lang::Italian, "Alfiere" },
{ Lang::Japanese, "少尉" },
{ Lang::Korean, "소위" },
{ Lang::Norwegian, "Fenrik" },
{ Lang::Dutch, "Kornet" },
{ Lang::Polish, "Rekrut" },
{ Lang::BrazilianPortuguese, "Sargento" },
{ Lang::Portuguese, "Alferes" },
{ Lang::Russian, "Прапорщик" },
{ Lang::Swedish, "Furir" },
{ Lang::Turkish, "Ensign" },
{ Lang::SimplifiedChinese, "海军少尉" },
{ Lang::TraditionalChinese, "海軍少尉" },
},
},
{
Msg::STRING187,
{
{ Lang::Arabic, "Lieutenant" },
{ Lang::Czech, "Poručík" },
{ Lang::Danish, "Løjtnant" },
{ Lang::German, "Leutnant" },
{ Lang::Greek, "Υποπλοίαρχος" },
{ Lang::English, "Lieutenant" },
{ Lang::Spanish, "Teniente" },
{ Lang::Finnish, "Luutnantti" },
{ Lang::French, "Lieutenant de vaisseau" },
{ Lang::Hebrew, "Lieutenant" },
{ Lang::Hungarian, "Őrmesteri" },
{ Lang::Italian, "Tenente" },
{ Lang::Japanese, "中尉" },
{ Lang::Korean, "중위" },
{ Lang::Norwegian, "Løytnant" },
{ Lang::Dutch, "Luitenant" },
{ Lang::Polish, "Porucznik" },
{ Lang::BrazilianPortuguese, "Tenente" },
{ Lang::Portuguese, "Tenente" },
{ Lang::Russian, "Лейтенант" },
{ Lang::Swedish, "Sergeant" },
{ Lang::Turkish, "Teğmen" },
{ Lang::SimplifiedChinese, "海军上尉" },
{ Lang::TraditionalChinese, "海軍中尉" },
},
},
{
Msg::STRING188,
{
{ Lang::Arabic, "Captain" },
{ Lang::Czech, "Nadporučík" },
{ Lang::Danish, "Kaptajn" },
{ Lang::German, "Kapitän" },
{ Lang::Greek, "Κυβερνήτης" },
{ Lang::English, "Captain" },
{ Lang::Spanish, "Capitán" },
{ Lang::Finnish, "Kapteeni" },
{ Lang::French, "Capitaine de corvette" },
{ Lang::Hebrew, "Captain" },
{ Lang::Hungarian, "Főtörzsőrmesteri" },
{ Lang::Italian, "Capitano" },
{ Lang::Japanese, "大尉" },
{ Lang::Korean, "대위" },
{ Lang::Norwegian, "Kapteinløytnant" },
{ Lang::Dutch, "Kapitein" },
{ Lang::Polish, "Kapitan" },
{ Lang::BrazilianPortuguese, "Capitão" },
{ Lang::Portuguese, "Capitão" },
{ Lang::Russian, "Капитан" },
{ Lang::Swedish, "Fänrik" },
{ Lang::Turkish, "Yüzbaşı" },
{ Lang::SimplifiedChinese, "海军上校" },
{ Lang::TraditionalChinese, "海軍上尉" },
},
},
{
Msg::STRING189,
{
{ Lang::Arabic, "Lt Commander" },
{ Lang::Czech, "Kapitán" },
{ Lang::Danish, "Kaptajnløjtnant" },
{ Lang::German, "Lt. Commander" },
{ Lang::Greek, "Αντιπλοίαρχος" },
{ Lang::English, "Lt Commander" },
{ Lang::Spanish, "Teniente comandante" },
{ Lang::Finnish, "Komentajakapteeni" },
{ Lang::French, "Capitaine de frégate" },
{ Lang::Hebrew, "Lt Commander" },
{ Lang::Hungarian, "Hadnagyi" },
{ Lang::Italian, "Capitano di corvetta" },
{ Lang::Japanese, "少佐" },
{ Lang::Korean, "소령" },
{ Lang::Norwegian, "Orlogskaptein" },
{ Lang::Dutch, "Luitenant-gezagvoerder" },
{ Lang::Polish, "Młodszy komandor" },
{ Lang::BrazilianPortuguese, "Subcomandante" },
{ Lang::Portuguese, "Tenente comandante" },
{ Lang::Russian, "Лейтенант-Коммандер" },
{ Lang::Swedish, "Löjtnant" },
{ Lang::Turkish, "Yrd Kumandan" },
{ Lang::SimplifiedChinese, "海军少校" },
{ Lang::TraditionalChinese, "海軍少校" },
},
},
{
Msg::STRING190,
{
{ Lang::Arabic, "Commander" },
{ Lang::Czech, "Major" },
{ Lang::Danish, "Orlogskaptajn" },
{ Lang::German, "Kommandant" },
{ Lang::Greek, "Πλοίαρχος" },
{ Lang::English, "Commander" },
{ Lang::Spanish, "Comandante" },
{ Lang::Finnish, "Varakommodori" },
{ Lang::French, "Capitaine de vaisseau" },
{ Lang::Hebrew, "Commander" },
{ Lang::Hungarian, "Századosi" },
{ Lang::Italian, "Comandante" },
{ Lang::Japanese, "中佐" },
{ Lang::Korean, "중령" },
{ Lang::Norwegian, "Kommandørkaptein" },
{ Lang::Dutch, "Gezagvoerder" },
{ Lang::Polish, "Komandor" },
{ Lang::BrazilianPortuguese, "Comandante" },
{ Lang::Portuguese, "Comandante" },
{ Lang::Russian, "Коммандер" },
{ Lang::Swedish, "Kapten" },
{ Lang::Turkish, "Kumandan" },
{ Lang::SimplifiedChinese, "司令官" },
{ Lang::TraditionalChinese, "海軍中校" },
},
},
{
Msg::STRING191,
{
{ Lang::Arabic, "Commodore" },
{ Lang::Czech, "Podplukovník" },
{ Lang::Danish, "Kommandør" },
{ Lang::German, "Kommodore" },
{ Lang::Greek, "Διοικητής" },
{ Lang::English, "Commodore" },
{ Lang::Spanish, "Comodoro" },
{ Lang::Finnish, "Kommodori" },
{ Lang::French, "Contre-amiral" },
{ Lang::Hebrew, "Commodore" },
{ Lang::Hungarian, "Őrnagyi" },
{ Lang::Italian, "Commodoro" },
{ Lang::Japanese, "准将" },
{ Lang::Korean, "부함장" },
{ Lang::Norwegian, "Kommandør" },
{ Lang::Dutch, "Commodore" },
{ Lang::Polish, "Komodor" },
{ Lang::BrazilianPortuguese, "Contra-almirante" },
{ Lang::Portuguese, "Comodoro" },
{ Lang::Russian, "Коммодор" },
{ Lang::Swedish, "Major" },
{ Lang::Turkish, "Reis" },
{ Lang::SimplifiedChinese, "海军准将" },
{ Lang::TraditionalChinese, "海軍准將" },
},
},
{
Msg::STRING192,
{
{ Lang::Arabic, "Admiral" },
{ Lang::Czech, "Plukovník" },
{ Lang::Danish, "Admiral" },
{ Lang::German, "Admiral" },
{ Lang::Greek, "Ναύαρχος" },
{ Lang::English, "Admiral" },
{ Lang::Spanish, "Almirante" },
{ Lang::Finnish, "Vara-amiraali" },
{ Lang::French, "Vice-amiral" },
{ Lang::Hebrew, "Admiral" },
{ Lang::Hungarian, "Alezredesi" },
{ Lang::Italian, "Ammiraglio" },
{ Lang::Japanese, "大将" },
{ Lang::Korean, "함장" },
{ Lang::Norwegian, "Viseadmiral" },
{ Lang::Dutch, "Admiraal" },
{ Lang::Polish, "Admirał" },
{ Lang::BrazilianPortuguese, "Almirante" },
{ Lang::Portuguese, "Almirante" },
{ Lang::Russian, "Адмирал" },
{ Lang::Swedish, "Överste" },
{ Lang::Turkish, "Amiral" },
{ Lang::SimplifiedChinese, "海军上将" },
{ Lang::TraditionalChinese, "海軍上將" },
},
},
{
Msg::STRING193,
{
{ Lang::Arabic, "Fleet Admiral" },
{ Lang::Czech, "Generál" },
{ Lang::Danish, "Storadmiral" },
{ Lang::German, "Flottenadmiral" },
{ Lang::Greek, "Στόλαρχος" },
{ Lang::English, "Fleet Admiral" },
{ Lang::Spanish, "Almirante de la flota" },
{ Lang::Finnish, "Amiraali" },
{ Lang::French, "Amiral" },
{ Lang::Hebrew, "Fleet Admiral" },
{ Lang::Hungarian, "Ezredesi" },
{ Lang::Italian, "Grande Ammiraglio" },
{ Lang::Japanese, "元帥" },
{ Lang::Korean, "제독" },
{ Lang::Norwegian, "Admiral" },
{ Lang::Dutch, "Vlootadmiraal" },
{ Lang::Polish, "Admirał floty" },
{ Lang::BrazilianPortuguese, "Almirante-de-fragata" },
{ Lang::Portuguese, "Almirante da esquadra" },
{ Lang::Russian, "Адмирал Флота" },
{ Lang::Swedish, "General" },
{ Lang::Turkish, "Filo Amirali" },
{ Lang::SimplifiedChinese, "海军五星上将" },
{ Lang::TraditionalChinese, "海軍一級上將" },
},
},
{
Msg::STRING194,
{
{ Lang::Arabic, "Wormhole Opened" },
{ Lang::Czech, "Červí díra otevřena" },
{ Lang::Danish, "Ormehul åbent" },
{ Lang::German, "Wurmloch geöffnet" },
{ Lang::Greek, "Διαστημική σήραγγα ανοιχτή" },
{ Lang::English, "Wormhole Opened" },
{ Lang::Spanish, "Túnel espacial abierto" },
{ Lang::Finnish, "Madonreikä avattu" },
{ Lang::French, "Repaire du ver géant ouvert" },
{ Lang::Hebrew, "Wormhole Opened" },
{ Lang::Hungarian, "A Féreglyuk nyitva van" },
{ Lang::Italian, "Tunnel spaziale aperto" },
{ Lang::Japanese, "ワームホールが開いた!" },
{ Lang::Korean, "웜홀이 열림" },
{ Lang::Norwegian, "Åpnet ormebol" },
{ Lang::Dutch, "Wormhole geopend" },
{ Lang::Polish, "Tunel czasoprzestrzenny otwarty" },
{ Lang::BrazilianPortuguese, "Fenda espacial aberta" },
{ Lang::Portuguese, "Túnel espacial aberto" },
{ Lang::Russian, "Червоточина Открыта" },
{ Lang::Swedish, "Maskhålet är öppet" },
{ Lang::Turkish, "Solucan Deliği Açık" },
{ Lang::SimplifiedChinese, "打开旋涡式星体" },
{ Lang::TraditionalChinese, "蟲孔開啟" },
},
},
{
Msg::STRING195,
{
{ Lang::Arabic, "Crash Bonus\n%ld" },
{ Lang::Czech, "Bonus za havárii\n%ld" },
{ Lang::Danish, "Nedstyrtningsbonus\n%ld" },
{ Lang::German, "Absturzbonus\n%ld" },
{ Lang::Greek, "Μπόνους συντριβής\n%ld" },
{ Lang::English, "Crash Bonus\n%ld" },
{ Lang::Spanish, "Bonificación de estallido\n%ld" },
{ Lang::Finnish, "Törmäysbonus\n%ld" },
{ Lang::French, "Bonus de crash\n%ld" },
{ Lang::Hebrew, "Crash Bonus\n%ld" },
{ Lang::Hungarian, "Zuhanás bónusz\n%ld" },
{ Lang::Italian, "Bonus\n%ld" },
{ Lang::Japanese, "クラッシュ ボーナス\n%ld" },
{ Lang::Korean, "추락 보너스\n%ld" },
{ Lang::Norwegian, "Krasjbonus\n%ld" },
{ Lang::Dutch, "Crashbonus\n%ld" },
{ Lang::Polish, "Premia za katastrofę\n%ld" },
{ Lang::BrazilianPortuguese, "Bônus:\n%ld" },
{ Lang::Portuguese, "Bónus de queda\n%ld" },
{ Lang::Russian, "Бонус за Крушение\n%ld" },
{ Lang::Swedish, "Slutbonus\n%ld" },
{ Lang::Turkish, "Çarpışma Ödülü\n%ld" },
{ Lang::SimplifiedChinese, "坠毁奖分\n%ld" },
{ Lang::TraditionalChinese, "粉碎紅利\n%ld" },
},
},
{
Msg::STRING196,
{
{ Lang::Arabic, "Replay Ball" },
{ Lang::Czech, "Opakování míče" },
{ Lang::Danish, "Spil kugle igen" },
{ Lang::German, "Kugel wiederholen" },
{ Lang::Greek, "Επανάληψη μπίλιας" },
{ Lang::English, "Replay Ball" },
{ Lang::Spanish, "Bola extra" },
{ Lang::Finnish, "Pelaa pallo uudelleen" },
{ Lang::French, "Nouvelle bille" },
{ Lang::Hebrew, "Replay Ball" },
{ Lang::Hungarian, "Golyó újra" },
{ Lang::Italian, "Gioca pallina di nuovo" },
{ Lang::Japanese, "リプレイ ボール" },
{ Lang::Korean, "다시 쏘기" },
{ Lang::Norwegian, "Ekstraball" },
{ Lang::Dutch, "Replay Ball" },
{ Lang::Polish, "Rozgrywaj ponownie" },
{ Lang::BrazilianPortuguese, "Jogar a bola novamente" },
{ Lang::Portuguese, "Bola extra" },
{ Lang::Russian, "Реплей Шарика" },
{ Lang::Swedish, "Fortsätt spela..." },
{ Lang::Turkish, "Topu Yeniden Oyna" },
{ Lang::SimplifiedChinese, "重玩球" },
{ Lang::TraditionalChinese, "重新玩球" },
},
},
{
Msg::STRING197,
{
{ Lang::Arabic, "Re-Deploy" },
{ Lang::Czech, "Nový míč" },
{ Lang::Danish, "Gentag affyring" },
{ Lang::German, "Neustart" },
{ Lang::Greek, "Επανάληψη εκτόξευσης" },
{ Lang::English, "Re-Deploy" },
{ Lang::Spanish, "Implementar de nuevo" },
{ Lang::Finnish, "Laukaise uudelleen" },
{ Lang::French, "Redéploiement" },
{ Lang::Hebrew, "Re-Deploy" },
{ Lang::Hungarian, "Újraindítás" },
{ Lang::Italian, "Rischieramento" },
{ Lang::Japanese, "再発射" },
{ Lang::Korean, "재배치" },
{ Lang::Norwegian, "Utstasjoner på nytt" },
{ Lang::Dutch, "Opnieuw lanceren" },
{ Lang::Polish, "Rozstawiaj ponownie" },
{ Lang::BrazilianPortuguese, "Relançamento" },
{ Lang::Portuguese, "Voltar a lançar a bola" },
{ Lang::Russian, "Повторное Развертывание" },
{ Lang::Swedish, "Omdistribuera" },
{ Lang::Turkish, "Yeniden Başlat" },
{ Lang::SimplifiedChinese, "重新部署" },
{ Lang::TraditionalChinese, "重新調配" },
},
},
{
Msg::STRING198,
{
{ Lang::Arabic, "Player 1 Shoot Again" },
{ Lang::Czech, "Nový míč hráče 1" },
{ Lang::Danish, "Spiller 1 skyd igen" },
{ Lang::German, "Spieler 1 - Neue Kugel" },
{ Lang::Greek, "Παίκτης 1, επανάληψη" },
{ Lang::English, "Player 1 Shoot Again" },
{ Lang::Spanish, "Jugador 1 tira otra vez" },
{ Lang::Finnish, "Pelaaja 1, laukaise uudelleen" },
{ Lang::French, "Joueur 1, rejouez" },
{ Lang::Hebrew, "Player 1 Shoot Again" },
{ Lang::Hungarian, "1. játékos újra lő" },
{ Lang::Italian, "Giocatore 1, pronto al lancio!" },
{ Lang::Japanese, "プレーヤー 1 再度発射してください" },
{ Lang::Korean, "비행사 1 - 다시 쏘기" },
{ Lang::Norwegian, "Spiller 1 Skyt igjen" },
{ Lang::Dutch, "Speler 1 Shoot Again" },
{ Lang::Polish, "Gracz 1 rozgrywa ponownie" },
{ Lang::BrazilianPortuguese, "Jogador 1 lança novamente" },
{ Lang::Portuguese, "Jogador 1 volta a lançar a bola" },
{ Lang::Russian, "Игрок 1 Стреляет Снова" },
{ Lang::Swedish, "Spelare 1 - extraboll" },
{ Lang::Turkish, "1. Oyuncu Atışı Yinele" },
{ Lang::SimplifiedChinese, "玩家 1 再次射球" },
{ Lang::TraditionalChinese, "玩家 1 再射一次" },
},
},
{
Msg::STRING199,
{
{ Lang::Arabic, "Player 2 Shoot Again" },
{ Lang::Czech, "Nový míč hráče 2" },
{ Lang::Danish, "Spiller 2 skyd igen" },
{ Lang::German, "Spieler 2 - Neue Kugel" },
{ Lang::Greek, "Παίκτης 2, επανάληψη" },
{ Lang::English, "Player 2 Shoot Again" },
{ Lang::Spanish, "Jugador 2 tira otra vez" },
{ Lang::Finnish, "Pelaaja 2, laukaise uudelleen" },
{ Lang::French, "Joueur 2, rejouez" },
{ Lang::Hebrew, "Player 2 Shoot Again" },
{ Lang::Hungarian, "2. játékos újra lő" },
{ Lang::Italian, "Giocatore 2, pronto al lancio!" },
{ Lang::Japanese, "プレーヤー 2 再度発射してください" },
{ Lang::Korean, "비행사 2 - 다시 쏘기" },
{ Lang::Norwegian, "Spiller 2 Skyt igjen" },
{ Lang::Dutch, "Speler 2 Shoot Again" },
{ Lang::Polish, "Gracz 2 rozgrywa ponownie" },
{ Lang::BrazilianPortuguese, "Jogador 2 lança novamente" },
{ Lang::Portuguese, "Jogador 2 volta a lançar a bola" },
{ Lang::Russian, "Игрок 2 Стреляет Снова" },
{ Lang::Swedish, "Spelare 2 - extraboll" },
{ Lang::Turkish, "2. Oyuncu Atışı Yinele" },
{ Lang::SimplifiedChinese, "玩家 2 再次射球" },
{ Lang::TraditionalChinese, "玩家 2 再射一次" },
},
},
{
Msg::STRING200,
{
{ Lang::Arabic, "Player 3 Shoot Again" },
{ Lang::Czech, "Nový míč hráče 3" },
{ Lang::Danish, "Spiller 3 skyd igen" },
{ Lang::German, "Spieler 3 - Neue Kugel" },
{ Lang::Greek, "Παίκτης 3, επανάληψη" },
{ Lang::English, "Player 3 Shoot Again" },
{ Lang::Spanish, "Jugador 2 tira otra vez" },
{ Lang::Finnish, "Pelaaja 3, laukaise uudelleen" },
{ Lang::French, "Joueur 3, rejouez" },
{ Lang::Hebrew, "Player 3 Shoot Again" },
{ Lang::Hungarian, "3. játékos újra lő" },
{ Lang::Italian, "Giocatore 3, pronto al lancio!" },
{ Lang::Japanese, "プレーヤー 3 再度発射してください" },
{ Lang::Korean, "비행사 3 - 다시 쏘기" },
{ Lang::Norwegian, "Spiller 3 Skyt igjen" },
{ Lang::Dutch, "Speler 3 Shoot Again" },
{ Lang::Polish, "Gracz 3 rozgrywa ponownie" },
{ Lang::BrazilianPortuguese, "Jogador 3 lança novamente" },
{ Lang::Portuguese, "Jogador 3 volta a lançar a bola" },
{ Lang::Russian, "Игрок 3 Стреляет Снова" },
{ Lang::Swedish, "Spelare 3 - extraboll" },
{ Lang::Turkish, "3. Oyuncu Atışı Yinele" },
{ Lang::SimplifiedChinese, "玩家 3 再次射球" },
{ Lang::TraditionalChinese, "玩家 3 再射一次" },
},
},
{
Msg::STRING201,
{
{ Lang::Arabic, "Player 4 Shoot Again" },
{ Lang::Czech, "Nový míč hráče 4" },
{ Lang::Danish, "Spiller 4 skyd igen" },
{ Lang::German, "Spieler 4 - Neue Kugel" },
{ Lang::Greek, "Παίκτης 4, επανάληψη" },
{ Lang::English, "Player 4 Shoot Again" },
{ Lang::Spanish, "Jugador 4 tira otra vez" },
{ Lang::Finnish, "Pelaaja 4, laukaise uudelleen" },
{ Lang::French, "Joueur 4, rejouez" },
{ Lang::Hebrew, "Player 4 Shoot Again" },
{ Lang::Hungarian, "4. játékos újra lő" },
{ Lang::Italian, "Giocatore 4, pronto al lancio!" },
{ Lang::Japanese, "プレーヤー 4 再度発射してください" },
{ Lang::Korean, "비행사 4 - 다시 쏘기" },
{ Lang::Norwegian, "Spiller 4 Skyt igjen" },
{ Lang::Dutch, "Speler 4 Shoot Again" },
{ Lang::Polish, "Gracz 4 rozgrywa ponownie" },
{ Lang::BrazilianPortuguese, "Jogador 4 lança novamente" },
{ Lang::Portuguese, "Jogador 4 volta a lançar a bola" },
{ Lang::Russian, "Игрок 4 Стреляет Снова" },
{ Lang::Swedish, "Spelare 4 - extraboll" },
{ Lang::Turkish, "4. Oyuncu Atışı Yinele" },
{ Lang::SimplifiedChinese, "玩家 4 再次射球" },
{ Lang::TraditionalChinese, "玩家 4 再射一次" },
},
},
{
Msg::STRING204,
{
{ Lang::Arabic, "حول 3D Pinball" },
{ Lang::Czech, "Co je hra 3D Pinball" },
{ Lang::Danish, "Om 3D Pinball" },
{ Lang::German, "Info" },
{ Lang::Greek, "Πληροφορίες για το Φλίπερ-3Δ" },
{ Lang::English, "About 3D Pinball" },
{ Lang::Spanish, "Acerca de 3D Pinball" },
{ Lang::Finnish, "Tietoja 3D Pinballista" },
{ Lang::French, "À propos de Pinball 3D" },
{ Lang::Hebrew, "אודות 3D Pinball" },
{ Lang::Hungarian, "3D-flipper névjegye" },
{ Lang::Italian, "Informazioni su 3D Pinball" },
{ Lang::Japanese, "バージョン情報" },
{ Lang::Korean, "3D 핀볼 정보" },
{ Lang::Norwegian, "Om 3D Pinball" },
{ Lang::Dutch, "Info" },
{ Lang::Polish, "3D Pinball - informacje" },
{ Lang::BrazilianPortuguese, "Sobre o Pinball 3D" },
{ Lang::Portuguese, "Acerca do 3D Pinball" },
{ Lang::Russian, "О программе" },
{ Lang::Swedish, "Om 3D Pinball" },
{ Lang::Turkish, "3B Pinball Hakkında" },
{ Lang::SimplifiedChinese, "关于三维弹球" },
{ Lang::TraditionalChinese, "立體彈珠台的相關資訊" },
},
},
{
Msg::STRING205,
{
{ Lang::Arabic, "Hit Mission Targets To Select Mission" },
{ Lang::Czech, "Úkol vyberete trefou do cíle úkolu" },
{ Lang::Danish, "Ram missionsmål for at vælge mission" },
{ Lang::German, "Zur Auftragswahl Zielobjekte treffen" },
{ Lang::Greek, "Για να επιλέξετε αποστολή, σημαδέψτε τους στόχους αποστολών" },
{ Lang::English, "Hit Mission Targets To Select Mission" },
{ Lang::Spanish, "Tire a las dianas de misión para seleccionar misión" },
{ Lang::Finnish, "Valitse tehtävä osumalla tehtävätauluihin" },
{ Lang::French, "Visez les cibles pour choisir une mission" },
{ Lang::Hebrew, "Hit Mission Targets To Select Mission" },
{ Lang::Hungarian, "Küldetéséért lőjön a küldetési célokra" },
{ Lang::Italian, "Per selezionare la missione, colpire gli obiettivi della missione" },
{ Lang::Japanese, "ミッション ターゲットを狙ってミッションを選択せよ!" },
{ Lang::Korean, "임무 표적을 맞혀 임무 선택" },
{ Lang::Norwegian, "Treff mål for å velge oppdrag" },
{ Lang::Dutch, "Raak missiedoelen om een missie te selecteren" },
{ Lang::Polish, "Aby wybrać misję, celuj w tarcze misji" },
{ Lang::BrazilianPortuguese, "Acerte os alvos indicados por uma seta azul para selecionar uma missão" },
{ Lang::Portuguese, "Seleccione a missão acertando nos alvos" },
{ Lang::Russian, "Поразите Цели Миссии, Чтобы Выбрать Миссию" },
{ Lang::Swedish, "Välj uppdrag genom att träffa uppdragstavlor" },
{ Lang::Turkish, "Görev Seçmek için Görev Hedeflerini Vurun" },
{ Lang::SimplifiedChinese, "击中使命目标以选定使命" },
{ Lang::TraditionalChinese, "將任務目標對準選取的任務" },
},
},
{
Msg::STRING206,
{
{ Lang::Arabic, "Re-Fuel Ship" },
{ Lang::Czech, "Doplnění paliva" },
{ Lang::Danish, "Tank skib op" },
{ Lang::German, "Auftanken" },
{ Lang::Greek, "Ανεφοδιάστε το σκάφος" },
{ Lang::English, "Re-Fuel Ship" },
{ Lang::Spanish, "Repostar nave" },
{ Lang::Finnish, "Tankkaa alus" },
{ Lang::French, "Réapprovisionnement du vaisseau" },
{ Lang::Hebrew, "Re-Fuel Ship" },
{ Lang::Hungarian, "Tankolja fel a hajót" },
{ Lang::Italian, "Rifornire di carburante la navicella" },
{ Lang::Japanese, "燃料を補給せよ!" },
{ Lang::Korean, "배에 연료 공급" },
{ Lang::Norwegian, "Bunkre skip på nytt" },
{ Lang::Dutch, "Schip bijtanken" },
{ Lang::Polish, "Uzupełnij paliwo" },
{ Lang::BrazilianPortuguese, "Reabasteça a nave" },
{ Lang::Portuguese, "Reabastecer a nave" },
{ Lang::Russian, "Заправьте Корабль" },
{ Lang::Swedish, "Tanka om skeppet" },
{ Lang::Turkish, "Gemiye Yakıt Al" },
{ Lang::SimplifiedChinese, "飞船补充燃料" },
{ Lang::TraditionalChinese, "船舶重新加油" },
},
},
{
Msg::STRING207,
{
{ Lang::Arabic, "Launch Ramp To Accept %s Mission" },
{ Lang::Czech, "Vystřelením rampy přijmete úkol %s" },
{ Lang::Danish, "Affyringsrampe accepterer %ss-mission" },
{ Lang::German, "Auftrag %s durch Rampentreffer aktivieren" },
{ Lang::Greek, "Ράμπα εκτόξευσης για αποστολή %s" },
{ Lang::English, "Launch Ramp To Accept %s Mission" },
{ Lang::Spanish, "Rampa para aceptar misión %s" },
{ Lang::Finnish, "Hyväksy tehtävä %s osumalla ramppiin" },
{ Lang::French, "Rampe d'acceptation de la mission %s" },
{ Lang::Hebrew, "Launch Ramp To Accept %s Mission" },
{ Lang::Hungarian, "%s küldetés - menjen a kilövőállásra" },
{ Lang::Italian, "Rampa di lancio per accettare: %s" },
{ Lang::Japanese, "発射ランプを狙って %s ミッションを確定せよ!" },
{ Lang::Korean, "발사대를 맞혀 %s 임무 시작" },
{ Lang::Norwegian, "Skyt ut for å godta %s-oppdrag" },
{ Lang::Dutch, "Missie %s begint als bal op platform is" },
{ Lang::Polish, "Pomost ładowania akceptuje misję %s" },
{ Lang::BrazilianPortuguese, "Rampa de lançamento p/ missão %s" },
{ Lang::Portuguese, "Lançar p/ rampa para aceitar a missão %s" },
{ Lang::Russian, "Попадите в Рампу, Чтобы Принять Миссию %s" },
{ Lang::Swedish, "Acceptera uppdraget %s i rampen" },
{ Lang::Turkish, "%s Görevini Üstlenmek için Pistten Kalk" },
{ Lang::SimplifiedChinese, "进入发射坡道,接受 %s 使命" },
{ Lang::TraditionalChinese, "射入左斜坡道以接受%s任務" },
},
},
{
Msg::STRING208,
{
{ Lang::Arabic, "Attack Bumpers Hits\nLeft: %d" },
{ Lang::Czech, "Trefa do útočných nárazníků\nZbývá: %d" },
{ Lang::Danish, "Ram angrebsbump\nTilbage: %d" },
{ Lang::German, "Rückstoßtreffer\nSoll: %d" },
{ Lang::Greek, "Βολές στους προσκρουστήρες\nΑπομένουν: %d" },
{ Lang::English, "Attack Bumpers Hits\nLeft: %d" },
{ Lang::Spanish, "Golpes a reboteadores de ataque\nRestantes: %d" },
{ Lang::Finnish, "Osumia hyökkäyspuskureihin\njäljellä: %d" },
{ Lang::French, "Tirs sur champignons d'attaque\nrestants : %d" },
{ Lang::Hebrew, "Attack Bumpers Hits\nLeft: %d" },
{ Lang::Hungarian, "Támadógomba találatok\nMaradt: %d" },
{ Lang::Italian, "Colpi ai respingenti\nRimasti: %d" },
{ Lang::Japanese, "アタック バンパー\nヒット\n残り: %d" },
{ Lang::Korean, "공격 범퍼 맞히기\n남은 횟수: %d" },
{ Lang::Norwegian, "Gjenstående\nangrepsbumpertreff: %d" },
{ Lang::Dutch, "Aanvalbumpertreffers\nResterend: %d" },
{ Lang::Polish, "Trafienia zderzaków ataku\nPozostało: %d" },
{ Lang::BrazilianPortuguese, "Batidas nos amortecedores de ataque\nrestantes: %d" },
{ Lang::Portuguese, "Batidas dos amortecedores de ataque\nRestante: %d" },
{ Lang::Russian, "Осталось Попаданий по Бамперам Атаки: %d" },
{ Lang::Swedish, "Träffa höghöjds-bumpers\n%d träffar kvar" },
{ Lang::Turkish, "Vuruş Tamponlar Vuruşu\nSol: %d" },
{ Lang::SimplifiedChinese, "攻击缓冲器击中\n剩余:%d" },
{ Lang::TraditionalChinese, "攻擊緩衝器的打擊\n剩餘:%d" },
},
},
{
Msg::STRING209,
{
{ Lang::Arabic, "Target Training Passed" },
{ Lang::Czech, "Nácvik míření dokončen" },
{ Lang::Danish, "Måltræning bestået" },
{ Lang::German, "Zielübungen absolviert" },
{ Lang::Greek, "Εξάσκηση σκοποβολής: επιτυχής" },
{ Lang::English, "Target Training Passed" },
{ Lang::Spanish, "Aprobado el entrenamiento de dianas" },
{ Lang::Finnish, "Maalitauluharjoitus suoritettu" },
{ Lang::French, "Essais de tir réussis" },
{ Lang::Hebrew, "Target Training Passed" },
{ Lang::Hungarian, "Lőgyakorlat teljesítve" },
{ Lang::Italian, "Esercitazione di tiro superata" },
{ Lang::Japanese, "ターゲット訓練修了!" },
{ Lang::Korean, "사격 훈련 통과" },
{ Lang::Norwegian, "Skyteøvelse bestått" },
{ Lang::Dutch, "Schietoefeningen voltooid" },
{ Lang::Polish, "Test celności zdany" },
{ Lang::BrazilianPortuguese, "Passou no teste de tiro ao alvo" },
{ Lang::Portuguese, "Aprovado o treino da reentrada" },
{ Lang::Russian, "Стрельба по Мишеням Пройдена" },
{ Lang::Swedish, "Bumper-träning genomförd" },
{ Lang::Turkish, "Hedef Eğitimi Başarılı" },
{ Lang::SimplifiedChinese, "通过目标培训" },
{ Lang::TraditionalChinese, "通過目標訓練" },
},
},
{
Msg::STRING210,
{
{ Lang::Arabic, "Mission Aborted" },
{ Lang::Czech, "Úkol zrušen" },
{ Lang::Danish, "Mission afbrudt" },
{ Lang::German, "Auftrag abgebrochen" },
{ Lang::Greek, "Ματαίωση αποστολής" },
{ Lang::English, "Mission Aborted" },
{ Lang::Spanish, "Misión cancelada" },
{ Lang::Finnish, "Tehtävä keskeytetty" },
{ Lang::French, "Mission abandonnée" },
{ Lang::Hebrew, "Mission Aborted" },
{ Lang::Hungarian, "A küldetés félbeszakítva" },
{ Lang::Italian, "Missione interrotta" },
{ Lang::Japanese, "ミッション中止" },
{ Lang::Korean, "임무 취소" },
{ Lang::Norwegian, "Oppdrag avbrutt" },
{ Lang::Dutch, "Missie afgebroken" },
{ Lang::Polish, "Misja przerwana" },
{ Lang::BrazilianPortuguese, "Missão cancelada" },
{ Lang::Portuguese, "Missão abortada" },
{ Lang::Russian, "Миссия Прервана" },
{ Lang::Swedish, "Uppdraget avbrutet" },
{ Lang::Turkish, "Görev İptal" },
{ Lang::SimplifiedChinese, "放弃使命" },
{ Lang::TraditionalChinese, "中止任務" },
},
},
{
Msg::STRING211,
{
{ Lang::Arabic, "Launches Left: %d" },
{ Lang::Czech, "Zbývá odpálení: %d" },
{ Lang::Danish, "Affyringer tilbage: %d" },
{ Lang::German, "Verbleibende Starts: %d" },
{ Lang::Greek, "Απομένουσες εκτοξεύσεις: %d" },
{ Lang::English, "Launches Left: %d" },
{ Lang::Spanish, "Lanzamientos restantes: %d" },
{ Lang::Finnish, "Lähtöjä jäljellä: %d" },
{ Lang::French, "Tirs restants : %d" },
{ Lang::Hebrew, "Launches Left: %d" },
{ Lang::Hungarian, "%d fellövés van még hátra" },
{ Lang::Italian, "Lanci rimasti: %d" },
{ Lang::Japanese, "発射ランプ\n残り: %d" },
{ Lang::Korean, "남은 발사 횟수: %d" },
{ Lang::Norwegian, "Gjenstående utskytinger: %d" },
{ Lang::Dutch, "Resterende lanceringen: %d" },
{ Lang::Polish, "Pozostało ładowań: %d" },
{ Lang::BrazilianPortuguese, "Lançamentos restantes: %d" },
{ Lang::Portuguese, "Restantes lançamentos: %d" },
{ Lang::Russian, "Запусков Осталось: %d" },
{ Lang::Swedish, "%d rampträffar kvar" },
{ Lang::Turkish, "Kalan Kalkış: %d" },
{ Lang::SimplifiedChinese, "剩余发射次数:%d" },
{ Lang::TraditionalChinese, "啟動次數剩餘:%d" },
},
},
{
Msg::STRING212,
{
{ Lang::Arabic, "Launch Training Passed" },
{ Lang::Czech, "Nácvik odpálení dokončen" },
{ Lang::Danish, "Affyringstræning bestået" },
{ Lang::German, "Startübungen absolviert" },
{ Lang::Greek, "Εξάσκηση εκτόξευσης: επιτυχής" },
{ Lang::English, "Launch Training Passed" },
{ Lang::Spanish, "Aprobado el entrenamiento de lanzamiento" },
{ Lang::Finnish, "Lähtöharjoitus suoritettu" },
{ Lang::French, "Essais de tir réussis" },
{ Lang::Hebrew, "Launch Training Passed" },
{ Lang::Hungarian, "Fellövési gyakorlat teljesítve" },
{ Lang::Italian, "Esercitazione di lancio superata" },
{ Lang::Japanese, "発射訓練修了!" },
{ Lang::Korean, "발사 훈련 통과" },
{ Lang::Norwegian, "Utskytingstrening bestått" },
{ Lang::Dutch, "Lanceertraining voltooid" },
{ Lang::Polish, "Test ładowania zdany" },
{ Lang::BrazilianPortuguese, "Passou no treinamento de lançamento" },
{ Lang::Portuguese, "Treino de lançamento aprovado" },
{ Lang::Russian, "Тренировка по Запуску Пройдена" },
{ Lang::Swedish, "Rampträning genomförd" },
{ Lang::Turkish, "Kalkış Eğitimi Başarılı" },
{ Lang::SimplifiedChinese, "通过了发射训练" },
{ Lang::TraditionalChinese, "通過啟動訓練" },
},
},
{
Msg::STRING213,
{
{ Lang::Arabic, "Re-Entries Left: %d" },
{ Lang::Czech, "Zbývá návratů: %d" },
{ Lang::Danish, "Gentagelser tilbage: %d" },
{ Lang::German, "Verbleibende\nLandungen: %d" },
{ Lang::Greek, "Απομένουσες επαναφορές: %d" },
{ Lang::English, "Re-Entries Left: %d" },
{ Lang::Spanish, "Reentradas restantes: %d" },
{ Lang::Finnish, "Paluukertoja jäljellä: %d" },
{ Lang::French, "Rentrées restantes : %d" },
{ Lang::Hebrew, "Re-Entries Left: %d" },
{ Lang::Hungarian, "%d újrabelépést kell még teljesíteni" },
{ Lang::Italian, "Rientri rimasti: %d" },
{ Lang::Japanese, "再突入\n残り: %d" },
{ Lang::Korean, "남은 재돌입 횟수: %d" },
{ Lang::Norwegian, "Gjenstående tilbakekomster: %d" },
{ Lang::Dutch, "Terugkeertraining resterend: %d" },
{ Lang::Polish, "Pozostało ponownych wejść: %d" },
{ Lang::BrazilianPortuguese, "Reentradas restantes: %d" },
{ Lang::Portuguese, "Reentradas restantes: %d" },
{ Lang::Russian, "Возвращений Осталось: %d" },
{ Lang::Swedish, "Träffa höghöjdsgångar\n%d träffar kvar" },
{ Lang::Turkish, "Kalan Yeniden Giriş: %d" },
{ Lang::SimplifiedChinese, "所剩重新上场次数:%d" },
{ Lang::TraditionalChinese, "重新次數剩餘:%d" },
},
},
{
Msg::STRING214,
{
{ Lang::Arabic, "Re-Entry Training Passed" },
{ Lang::Czech, "Nácvik návratu dokončen" },
{ Lang::Danish, "Gentagelsestræning bestået" },
{ Lang::German, "Landeübungen absolviert" },
{ Lang::Greek, "Εξάσκηση επαναφοράς: επιτυχής" },
{ Lang::English, "Re-Entry Training Passed" },
{ Lang::Spanish, "Aprobado el entrenamiento de reentrada" },
{ Lang::Finnish, "Paluuharjoitus suoritettu" },
{ Lang::French, "Essais de rentrée réussis" },
{ Lang::Hebrew, "Re-Entry Training Passed" },
{ Lang::Hungarian, "Újrabelépési gyakorlat teljesítve" },
{ Lang::Italian, "Esercitazione di rientro superata" },
{ Lang::Japanese, "再突入訓練修了!" },
{ Lang::Korean, "재돌입 훈련 통과" },
{ Lang::Norwegian, "Tilbakekomsttrening bestått" },
{ Lang::Dutch, "Terugkeertraining voltooid" },
{ Lang::Polish, "Test ponownych wejść zdany" },
{ Lang::BrazilianPortuguese, "Passou no treinamento de reentrada" },
{ Lang::Portuguese, "Treino de reentradas aprovado" },
{ Lang::Russian, "Тренировка по Возвращению Пройдена" },
{ Lang::Swedish, "Höghöjdsträning genomförd" },
{ Lang::Turkish, "Yeniden Giriş Eğitimi Başarılı" },
{ Lang::SimplifiedChinese, "通过了重新上场训练" },
{ Lang::TraditionalChinese, "通過重新輸入訓練" },
},
},
{
Msg::STRING215,
{
{ Lang::Arabic, "Drop Targets\nLeft: %d" },
{ Lang::Czech, "Upuštění cílů\nZbývá: %d" },
{ Lang::Danish, "Dykkende mål\nTilbage: %d" },
{ Lang::German, "Zielkategorie 1\nSoll: %d" },
{ Lang::Greek, "Βυθιζόμενοι στόχοι\nΑπομένουν: %d" },
{ Lang::English, "Drop Targets\nLeft: %d" },
{ Lang::Spanish, "Dianas abatibles\nRestantes: %d" },
{ Lang::Finnish, "Maalitauluja\njäljellä: %d" },
{ Lang::French, "Cibles automatiques\nrestantes : %d" },
{ Lang::Hebrew, "Drop Targets\nLeft: %d" },
{ Lang::Hungarian, "Dominócélok kilövése\nMaradt: %d" },
{ Lang::Italian, "Obiettivi da abbattere\nRimasti: %d" },
{ Lang::Japanese, "ドロップ ターゲット\n残り: %d" },
{ Lang::Korean, "낙하 표적 수\n남은 개수: %d" },
{ Lang::Norwegian, "Gjenstående\nbombemål: %d" },
{ Lang::Dutch, "Drop targets \nResterend: %d" },
{ Lang::Polish, "Tarcze strącania\nPozostało: %d" },
{ Lang::BrazilianPortuguese, "Alvos tipo Drop\nrestantes: %d" },
{ Lang::Portuguese, "Alvos automáticos\nRestante: %d" },
{ Lang::Russian, "Осталось Падающих\nЦелей: %d" },
{ Lang::Swedish, "Träffa multi-, medalj- eller bonustavlor\n%d träffar kvar" },
{ Lang::Turkish, "Bırakılan Hedef\nSol: %d" },
{ Lang::SimplifiedChinese, "击落目标\n剩余:%d" },
{ Lang::TraditionalChinese, "放掉目標\n剩餘:%d" },
},
},
{
Msg::STRING216,
{
{ Lang::Arabic, "Science Mission Completed" },
{ Lang::Czech, "Vědecký úkol dokončen" },
{ Lang::Danish, "Videnskabelig mission fuldført" },
{ Lang::German, "Forschungsauftrag beendet" },
{ Lang::Greek, "Ολοκληρώθηκε η Επιστημονική αποστολή" },
{ Lang::English, "Science Mission Completed" },
{ Lang::Spanish, "Misión científica cumplida" },
{ Lang::Finnish, "Tutkimustehtävä suoritettu" },
{ Lang::French, "Mission scientifique achevée" },
{ Lang::Hebrew, "Science Mission Completed" },
{ Lang::Hungarian, "A tudományos küldetés teljesítve" },
{ Lang::Italian, "Missione Scienza compiuta" },
{ Lang::Japanese, "サイエンス ミッション完了!" },
{ Lang::Korean, "과학 임무 완료" },
{ Lang::Norwegian, "Vitenskapelig oppdrag fullført" },
{ Lang::Dutch, "Wetenschapsmissie volbracht" },
{ Lang::Polish, "Misja naukowa ukończona" },
{ Lang::BrazilianPortuguese, "Missão científica concluída" },
{ Lang::Portuguese, "Missão científica concluída" },
{ Lang::Russian, "Научная Миссия Выполнена" },
{ Lang::Swedish, "Forskningsuppdrag genomfört" },
{ Lang::Turkish, "Bilimsel Görev Tamamlandı" },
{ Lang::SimplifiedChinese, "完成科学使命" },
{ Lang::TraditionalChinese, "完成科學任務" },
},
},
{
Msg::STRING217,
{
{ Lang::Arabic, "Warning -- Low Fuel" },
{ Lang::Czech, "Pozor, nízký stav paliva" },
{ Lang::Danish, "Advarsel! Kun lidt brændstof tilbage" },
{ Lang::German, "Warnung -- Treibstoff wird knapp!" },
{ Lang::Greek, "Προσοχή -- τα καύσιμα τελειώνουν" },
{ Lang::English, "Warning -- Low Fuel" },
{ Lang::Spanish, "Atención: corto de combustible" },
{ Lang::Finnish, "Varoitus - polttoaine vähissä" },
{ Lang::French, "Avertissement -- Niveau de carburant bas" },
{ Lang::Hebrew, "Warning -- Low Fuel" },
{ Lang::Hungarian, "Figyelem -- kevés az üzemanyag" },
{ Lang::Italian, "Attenzione -- carburante in esaurimento" },
{ Lang::Japanese, "警告 -- 燃料が残りわずか!" },
{ Lang::Korean, "경고 - 연료가 거의 없음" },
{ Lang::Norwegian, "Advarsel! Lite drivstoff." },
{ Lang::Dutch, "Waarschuwing: weinig brandstof" },
{ Lang::Polish, "Uwaga - niski stan paliwa" },
{ Lang::BrazilianPortuguese, "Aviso - Pouco combustível" },
{ Lang::Portuguese, "Aviso -- nível de combustível baixo" },
{ Lang::Russian, "Предупреждение - Низкий Уровень Топлива" },
{ Lang::Swedish, "Varning - lite bränsle" },
{ Lang::Turkish, "Dikkat -- Yakıt Bitiyor" },
{ Lang::SimplifiedChinese, "警告——燃料不足" },
{ Lang::TraditionalChinese, "警告——燃料不足" },
},
},
{
Msg::STRING218,
{
{ Lang::Arabic, "Fill Right Hazard Banks" },
{ Lang::Czech, "Vyplňte pravé zásobníky stavu ohrožení" },
{ Lang::Danish, "Fyld højre risikodepoter" },
{ Lang::German, "Rechte Risikoobjekte aktivieren" },
{ Lang::Greek, "Πλήρωση δεξιάς ανάσχεσης" },
{ Lang::English, "Fill Right Hazard Banks" },
{ Lang::Spanish, "Llenar bancos de riesgo de la derecha" },
{ Lang::Finnish, "Täytä oikeanpuoleiset vaararivit" },
{ Lang::French, "Remplissez les bancs de détresse droits" },
{ Lang::Hebrew, "Fill Right Hazard Banks" },
{ Lang::Hungarian, "Lője ki a jobb vészkatapult céltáblát" },
{ Lang::Italian, "Riempimento energetico degli scudi a babordo" },
{ Lang::Japanese, "右ハザード バンクを点灯させよ!" },
{ Lang::Korean, "오른쪽 위험물 뱅크 채우기" },
{ Lang::Norwegian, "Fyll høyre farebanker" },
{ Lang::Dutch, "Rechterrisicolampjes activeren" },
{ Lang::Polish, "Wypełnij prawy bank ryzyka" },
{ Lang::BrazilianPortuguese, "Encher os bancos perigosos da direita" },
{ Lang::Portuguese, "Encher os bancos de risco da direita" },
{ Lang::Russian, "Заполните Правые Банки Опасностей" },
{ Lang::Swedish, "Träffa returtavlor till höger" },
{ Lang::Turkish, "Sağ Hasar Bantlarını Doldur" },
{ Lang::SimplifiedChinese, "添加右边危险材料库" },
{ Lang::TraditionalChinese, "填入右側危險帶" },
},
},
{
Msg::STRING219,
{
{ Lang::Arabic, "Hyperspace Launch" },
{ Lang::Czech, "Odpálení do hyperprostoru" },
{ Lang::Danish, "Hyperspaceaffyring" },
{ Lang::German, "Hyperspace-Start" },
{ Lang::Greek, "Εκτόξευση στο υπερδιάστημα" },
{ Lang::English, "Hyperspace Launch" },
{ Lang::Spanish, "Lanzamiento al hiperespacio" },
{ Lang::Finnish, "Laukaisu hyperavaruuteen" },
{ Lang::French, "Lancement dans l'hyper-espace" },
{ Lang::Hebrew, "Hyperspace Launch" },
{ Lang::Hungarian, "Hipertér fellövés" },
{ Lang::Italian, "Lancio nell'iperspazio" },
{ Lang::Japanese, "ハイパースペースを狙え!" },
{ Lang::Korean, "하이퍼스페이스 작동" },
{ Lang::Norwegian, "Hyperrom-start" },
{ Lang::Dutch, "Hyperspacelancering" },
{ Lang::Polish, "Przejście w hiperprzestrzeń" },
{ Lang::BrazilianPortuguese, "Lançamento ao hiperespaço" },
{ Lang::Portuguese, "Lançamento para o hiperespaço" },
{ Lang::Russian, "Запуск В Гипер Пространство" },
{ Lang::Swedish, "Skjut upp kulan i hyperspace-hålan" },
{ Lang::Turkish, "Uzay Boşluğu Kalkışı" },
{ Lang::SimplifiedChinese, "超空发射" },
{ Lang::TraditionalChinese, "超空間啟動" },
},
},
{
Msg::STRING220,
{
{ Lang::Arabic, "Comet Destroyed" },
{ Lang::Czech, "Kometa zničena" },
{ Lang::Danish, "Komet destrueret" },
{ Lang::German, "Komet abgewehrt" },
{ Lang::Greek, "Ο κομήτης καταστράφηκε" },
{ Lang::English, "Comet Destroyed" },
{ Lang::Spanish, "Cometa destruido" },
{ Lang::Finnish, "Komeetta tuhottu" },
{ Lang::French, "Comète détruite" },
{ Lang::Hebrew, "Comet Destroyed" },
{ Lang::Hungarian, "Az üstökös elpusztítva" },
{ Lang::Italian, "Cometa distrutta" },
{ Lang::Japanese, "遊星を粉砕!" },
{ Lang::Korean, "혜성 파괴" },
{ Lang::Norwegian, "Komet ødelagt" },
{ Lang::Dutch, "Komeet vernietigd" },
{ Lang::Polish, "Kometa zniszczona" },
{ Lang::BrazilianPortuguese, "Cometa destruído" },
{ Lang::Portuguese, "Cometa destruído" },
{ Lang::Russian, "Комета Уничтожена" },
{ Lang::Swedish, "Kometen oskadliggjord" },
{ Lang::Turkish, "Kuyruklu Yıldız Yok Edildi" },
{ Lang::SimplifiedChinese, "毁坏的彗星" },
{ Lang::TraditionalChinese, "彗星毀滅" },
},
},
{
Msg::STRING221,
{
{ Lang::Arabic, "Enter Wormhole" },
{ Lang::Czech, "Vstupte do červí díry" },
{ Lang::Danish, "Ind i ormehul" },
{ Lang::German, "Wurmloch treffen" },
{ Lang::Greek, "Είσοδος στη διαστημική σήραγγα" },
{ Lang::English, "Enter Wormhole" },
{ Lang::Spanish, "Entrar en el túnel espacial" },
{ Lang::Finnish, "Laukaise madonreikään" },
{ Lang::French, "Entrez dans le repaire du ver géant" },
{ Lang::Hebrew, "Enter Wormhole" },
{ Lang::Hungarian, "Lépjen be a féreglyukba" },
{ Lang::Italian, "Entra nel tunnel spaziale" },
{ Lang::Japanese, "ワームホールへ突入!" },
{ Lang::Korean, "웜홀에 들어감" },
{ Lang::Norwegian, "Gå inn i ormebol" },
{ Lang::Dutch, "Wormhole ingaan" },
{ Lang::Polish, "Celuj w tunel czasoprzestrzenny" },
{ Lang::BrazilianPortuguese, "Entrar na fenda espacial" },
{ Lang::Portuguese, "Entrar no túnel espacial" },
{ Lang::Russian, "Войдите в Червоточину" },
{ Lang::Swedish, "Skjut in kulan i maskhål" },
{ Lang::Turkish, "Solucan Deliğine Gir" },
{ Lang::SimplifiedChinese, "进入旋涡式星体" },
{ Lang::TraditionalChinese, "進入蟲孔" },
},
},
{
Msg::STRING222,
{
{ Lang::Arabic, "Radiation Eliminated" },
{ Lang::Czech, "Radiace omezena" },
{ Lang::Danish, "Stråling elimineret" },
{ Lang::German, "Strahlung beseitigt" },
{ Lang::Greek, "Η ακτινοβολία αντιμετωπίστηκε" },
{ Lang::English, "Radiation Eliminated" },
{ Lang::Spanish, "Radiación eliminada" },
{ Lang::Finnish, "Säteily torjuttu" },
{ Lang::French, "Rayonnement supprimé" },
{ Lang::Hebrew, "Radiation Eliminated" },
{ Lang::Hungarian, "Sugárzás közömbösítve" },
{ Lang::Italian, "Radiazione eliminata" },
{ Lang::Japanese, "放射線消滅!" },
{ Lang::Korean, "방사선 제거" },
{ Lang::Norwegian, "Eliminert stråling" },
{ Lang::Dutch, "Straling geëlimineerd" },
{ Lang::Polish, "Radiacja zlikwidowana" },
{ Lang::BrazilianPortuguese, "Radiação eliminada" },
{ Lang::Portuguese, "Radiação eliminada" },
{ Lang::Russian, "Излучение Устранено" },
{ Lang::Swedish, "Räddade från strålning" },
{ Lang::Turkish, "Radyasyon Etkisizleştirildi" },
{ Lang::SimplifiedChinese, "辐射清除" },
{ Lang::TraditionalChinese, "輻射消除" },
},
},
{
Msg::STRING223,
{
{ Lang::Arabic, "Upgrade Launch Bumpers" },
{ Lang::Czech, "Vylepšete odpalovací nárazníky" },
{ Lang::Danish, "Opgrader affyringsbump" },
{ Lang::German, "Rückstoßelemente aufwerten" },
{ Lang::Greek, "Αναβάθμιση προσκρουστήρων ράμπας εκτόξευσης" },
{ Lang::English, "Upgrade Launch Bumpers" },
{ Lang::Spanish, "Potenciar reboteadores de lanzamiento" },
{ Lang::Finnish, "Uusi lähtöpuskurit" },
{ Lang::French, "Renforcement des champignons de tir" },
{ Lang::Hebrew, "Upgrade Launch Bumpers" },
{ Lang::Hungarian, "Korszerűsítse a fellövő gombákat" },
{ Lang::Italian, "Aggiorna i respingenti della rampa di lancio" },
{ Lang::Japanese, "エンジンをアップ\nグレードせよ!" },
{ Lang::Korean, "발사 범퍼 치기" },
{ Lang::Norwegian, "Oppgrader angrepsbumpere" },
{ Lang::Dutch, "Aanvalbumpers opwaarderen" },
{ Lang::Polish, "Wymień zderzaki ładowania" },
{ Lang::BrazilianPortuguese, "Atualizar os amortecedores de lançamento" },
{ Lang::Portuguese, "Reforço dos amortecedores de tiro" },
{ Lang::Russian, "Обновите Пусковые Бамперы" },
{ Lang::Swedish, "Uppgradera ramp-bumpers" },
{ Lang::Turkish, "Kalkış Tamponlarını Yenile" },
{ Lang::SimplifiedChinese, "升级发射缓冲器" },
{ Lang::TraditionalChinese, "改善啟動緩衝器" },
},
},
{
Msg::STRING224,
{
{ Lang::Arabic, "Enter Black Hole" },
{ Lang::Czech, "Vstupte do černé díry" },
{ Lang::Danish, "Ind i det sorte hul" },
{ Lang::German, "Schwarzes Loch treffen" },
{ Lang::Greek, "Είσοδος στη μαύρη τρύπα" },
{ Lang::English, "Enter Black Hole" },
{ Lang::Spanish, "Entrar en el agujero negro" },
{ Lang::Finnish, "Siirry mustaan aukkoon" },
{ Lang::French, "Entrez dans le trou noir" },
{ Lang::Hebrew, "Enter Black Hole" },
{ Lang::Hungarian, "Lépjen be a fekete lyukba" },
{ Lang::Italian, "Entra nel buco nero" },
{ Lang::Japanese, "ブラック ホールへ突入!" },
{ Lang::Korean, "블랙홀에 들어감" },
{ Lang::Norwegian, "Gå inn i svart hull" },
{ Lang::Dutch, "Zwart gat ingaan" },
{ Lang::Polish, "Celuj w czarną dziurę" },
{ Lang::BrazilianPortuguese, "Entrar no buraco negro" },
{ Lang::Portuguese, "Entrar no buraco negro" },
{ Lang::Russian, "Войдите в Черную Дыру" },
{ Lang::Swedish, "Skjut in kulan i det svarta hålet" },
{ Lang::Turkish, "Kara Deliğe Gir" },
{ Lang::SimplifiedChinese, "进入黑洞" },
{ Lang::TraditionalChinese, "進入黑洞" },
},
},
{
Msg::STRING225,
{
{ Lang::Arabic, "Black Hole Eliminated" },
{ Lang::Czech, "Černá díra zničena" },
{ Lang::Danish, "Sort hul elimineret" },
{ Lang::German, "Schwarzes Loch überwunden" },
{ Lang::Greek, "Η μαύρη τρύπα αντιμετωπίστηκε" },
{ Lang::English, "Black Hole Eliminated" },
{ Lang::Spanish, "Agujero negro eliminado" },
{ Lang::Finnish, "Musta aukko eliminoitu" },
{ Lang::French, "Trou noir supprimé" },
{ Lang::Hebrew, "Black Hole Eliminated" },
{ Lang::Hungarian, "Fekete lyuk közömbösítve" },
{ Lang::Italian, "Buco nero eliminato" },
{ Lang::Japanese, "ブラック ホール消滅!" },
{ Lang::Korean, "블랙홀 제거" },
{ Lang::Norwegian, "Svart hull er eliminert" },
{ Lang::Dutch, "Zwart gat geëlimineerd" },
{ Lang::Polish, "Czarna dziura zniszczona" },
{ Lang::BrazilianPortuguese, "Buraco negro destruído" },
{ Lang::Portuguese, "Buraco negro eliminado" },
{ Lang::Russian, "Черная Дыра Ликвидирована" },
{ Lang::Swedish, "Räddade från svart hål" },
{ Lang::Turkish, "Kara Delik Etkisizleştirildi" },
{ Lang::SimplifiedChinese, "消除的黑洞" },
{ Lang::TraditionalChinese, "黑洞消除" },
},
},
{
Msg::STRING226,
{
{ Lang::Arabic, "Targets\nLeft: %d" },
{ Lang::Czech, "Cíle\nZbývá: %d" },
{ Lang::Danish, "Mål\nTilbage: %d" },
{ Lang::German, "Ziele\nSoll: %d" },
{ Lang::Greek, "Στόχοι\nΑπομένουν: %d" },
{ Lang::English, "Targets\nLeft: %d" },
{ Lang::Spanish, "Dianas\nRestantes: %d" },
{ Lang::Finnish, "Maalitauluja\njäljellä: %d" },
{ Lang::French, "Cibles\nrestantes : %d" },
{ Lang::Hebrew, "Targets\nLeft: %d" },
{ Lang::Hungarian, "Célpontok\nMaradt: %d" },
{ Lang::Italian, "Obiettivi\nRimasti: %d" },
{ Lang::Japanese, "ターゲット\n残り: %d" },
{ Lang::Korean, "표적\n남은 개수: %d" },
{ Lang::Norwegian, "Gjenstående\nmål: %d" },
{ Lang::Dutch, "Doelen\nresterend: %d" },
{ Lang::Polish, "Tarcze\nPozostało: %d" },
{ Lang::BrazilianPortuguese, "Alvos restantes:\n%d" },
{ Lang::Portuguese, "Alvos\nFaltam: %d" },
{ Lang::Russian, "Целей\nОсталось: %d" },
{ Lang::Swedish, "Träffa tavlor\n%d träffar kvar" },
{ Lang::Turkish, "Hedefler\nSol: %d" },
{ Lang::SimplifiedChinese, "目标\n剩余:%d" },
{ Lang::TraditionalChinese, "目標\n剩餘:%d" },
},
},
{
Msg::STRING227,
{
{ Lang::Arabic, "Xenomorphs Destroyed" },
{ Lang::Czech, "Xenomorfové zničeni" },
{ Lang::Danish, "Xenomorfer destrueret" },
{ Lang::German, "Xenomorphe abgewehrt" },
{ Lang::Greek, "Καταστροφή των Xenomorphs" },
{ Lang::English, "Xenomorphs Destroyed" },
{ Lang::Spanish, "Xenomorfos destruidos" },
{ Lang::Finnish, "Xenomorphit tuhottu" },
{ Lang::French, "Xénomorphes détruits" },
{ Lang::Hebrew, "Xenomorphs Destroyed" },
{ Lang::Hungarian, "Idegen lények elpusztítva" },
{ Lang::Italian, "Distruzione di Xenomorphs" },
{ Lang::Japanese, "Xenomorphs を全滅!" },
{ Lang::Korean, "우주 괴물 격퇴" },
{ Lang::Norwegian, "Ødelagte fremmedformer" },
{ Lang::Dutch, "Xenomorfen vernietigd" },
{ Lang::Polish, "Ksenomorfy zniszczone" },
{ Lang::BrazilianPortuguese, "Xenomorfos destruídos" },
{ Lang::Portuguese, "Xenoformas destruídas" },
{ Lang::Russian, "Ксеноморфы уничтожены" },
{ Lang::Swedish, "Fredagstomtarna nedskjutna" },
{ Lang::Turkish, "Zenomorfs Yok Edildi" },
{ Lang::SimplifiedChinese, "Xenomorphs 被摧毁" },
{ Lang::TraditionalChinese, "變形損壞" },
},
},
{
Msg::STRING228,
{
{ Lang::Arabic, "Upgrade Flags" },
{ Lang::Czech, "Vylepšete vlajky" },
{ Lang::Danish, "Opgrader flag" },
{ Lang::German, "Fahnen erneuern" },
{ Lang::Greek, "Αναβάθμιση σημαιών" },
{ Lang::English, "Upgrade Flags" },
{ Lang::Spanish, "Potenciar trampillas" },
{ Lang::Finnish, "Päivitä liput" },
{ Lang::French, "Mettre à niveau les indicateurs" },
{ Lang::Hebrew, "Upgrade Flags" },
{ Lang::Hungarian, "Korszerűsítse a zászlócélokat" },
{ Lang::Italian, "Aggiorna bandiere" },
{ Lang::Japanese, "フラグをアップグレードせよ!" },
{ Lang::Korean, "깃발 업그레이드" },
{ Lang::Norwegian, "Oppgraderte flagg" },
{ Lang::Dutch, "Poorten opwaarderen" },
{ Lang::Polish, "Wymień flagi" },
{ Lang::BrazilianPortuguese, "Atualizar as bandeiras" },
{ Lang::Portuguese, "Actualizar indicadores" },
{ Lang::Russian, "Улучшите Флаги" },
{ Lang::Swedish, "Uppgradera spinners" },
{ Lang::Turkish, "Fırıldakları Yenile" },
{ Lang::SimplifiedChinese, "升级旗帜" },
{ Lang::TraditionalChinese, "升級旗標" },
},
},
{
Msg::STRING229,
{
{ Lang::Arabic, "Hyperspace Launch" },
{ Lang::Czech, "Odpálení do hyperprostoru" },
{ Lang::Danish, "Hyperspaceaffyring" },
{ Lang::German, "Hyperspace-Start" },
{ Lang::Greek, "Εκτόξευση στο υπερδιάστημα" },
{ Lang::English, "Hyperspace Launch" },
{ Lang::Spanish, "Lanzamiento al hiperespacio" },
{ Lang::Finnish, "Laukaisu hyperavaruuteen" },
{ Lang::French, "Lancement dans l'hyper-espace" },
{ Lang::Hebrew, "Hyperspace Launch" },
{ Lang::Hungarian, "Hipertér fellövés" },
{ Lang::Italian, "Lancio nell'iperspazio" },
{ Lang::Japanese, "ハイパースペースを狙え!" },
{ Lang::Korean, "하이퍼스페이스 작동" },
{ Lang::Norwegian, "Hyperrom-start" },
{ Lang::Dutch, "Hyperspacelancering" },
{ Lang::Polish, "Przejście w hiperprzestrzeń" },
{ Lang::BrazilianPortuguese, "Lançamento ao hiperespaço" },
{ Lang::Portuguese, "Lançamento para o hiperespaço" },
{ Lang::Russian, "Запуск в Гипер Пространство" },
{ Lang::Swedish, "Skjut upp kulan i hyperspace-hålan" },
{ Lang::Turkish, "Uzay Boşluğu Kalkışı" },
{ Lang::SimplifiedChinese, "超空发射" },
{ Lang::TraditionalChinese, "超空間啟動" },
},
},
{
Msg::STRING230,
{
{ Lang::Arabic, "Survivors Rescued" },
{ Lang::Czech, "Trosečníci zachráněni" },
{ Lang::Danish, "Overlevende reddet" },
{ Lang::German, "Überlebende geborgen" },
{ Lang::Greek, "Οι επιζώντες διασώθηκαν" },
{ Lang::English, "Survivors Rescued" },
{ Lang::Spanish, "Supervivientes rescatados" },
{ Lang::Finnish, "Henkiinjääneet pelastettu" },
{ Lang::French, "Survivants" },
{ Lang::Hebrew, "Survivors Rescued" },
{ Lang::Hungarian, "A túlélők megmentve" },
{ Lang::Italian, "Sopravvissuti posti in salvo" },
{ Lang::Japanese, "生存者を救出!" },
{ Lang::Korean, "구출된 생존자" },
{ Lang::Norwegian, "Overlevende reddet" },
{ Lang::Dutch, "Overlevenden gered" },
{ Lang::Polish, "Rozbitkowie uratowani" },
{ Lang::BrazilianPortuguese, "Sobreviventes resgatados" },
{ Lang::Portuguese, "Sobreviventes salvos" },
{ Lang::Russian, "Выжившие Спасены" },
{ Lang::Swedish, "Överlevande räddade" },
{ Lang::Turkish, "Kazazedeler Kurtarıldı" },
{ Lang::SimplifiedChinese, "幸存者" },
{ Lang::TraditionalChinese, "解救生還者" },
},
},
{
Msg::STRING231,
{
{ Lang::Arabic, "Aliens Repelled" },
{ Lang::Czech, "Vetřelci odpuzeni" },
{ Lang::Danish, "Fjender slået tilbage" },
{ Lang::German, "Fremdwesen abgewehrt" },
{ Lang::Greek, "Οι εξωγήινοι απωθήθηκαν" },
{ Lang::English, "Aliens Repelled" },
{ Lang::Spanish, "Amenaza exterior expulsada" },
{ Lang::Finnish, "Ufot torjuttu" },
{ Lang::French, "Extra-terrestres repoussés" },
{ Lang::Hebrew, "Aliens Repelled" },
{ Lang::Hungarian, "Az idegenek elűzve" },
{ Lang::Italian, "Alieni respinti" },
{ Lang::Japanese, "エイリアンを撃退!" },
{ Lang::Korean, "외계인 격퇴" },
{ Lang::Norwegian, "Romvesener slått tilbake" },
{ Lang::Dutch, "Aliens teruggedreven" },
{ Lang::Polish, "Obcy odstraszeni" },
{ Lang::BrazilianPortuguese, "Alienígenas expulsos" },
{ Lang::Portuguese, "Extraterrestres expulsos" },
{ Lang::Russian, "Инопланетяне Отбиты" },
{ Lang::Swedish, "No more pigs..." },
{ Lang::Turkish, "Yaratıklar Kovuldu" },
{ Lang::SimplifiedChinese, "驱逐外星人" },
{ Lang::TraditionalChinese, "驅逐外星人" },
},
},
{
Msg::STRING232,
{
{ Lang::Arabic, "Hit Fuel Targets" },
{ Lang::Czech, "Trefte palivové cíle" },
{ Lang::Danish, "Ram brændstofmål" },
{ Lang::German, "Treibstoffobjekte treffen" },
{ Lang::Greek, "Σημαδέψτε τους στόχους καυσίμων" },
{ Lang::English, "Hit Fuel Targets" },
{ Lang::Spanish, "Golpear dianas de combustible" },
{ Lang::Finnish, "Osu polttoainekohteisiin" },
{ Lang::French, "Tirez sur les cibles de carburants" },
{ Lang::Hebrew, "Hit Fuel Targets" },
{ Lang::Hungarian, "Találja el az üzemanyag célpontokat" },
{ Lang::Italian, "Colpire il deposito di carburante" },
{ Lang::Japanese, "燃料ターゲットを狙え!" },
{ Lang::Korean, "연료 표적 맞히기" },
{ Lang::Norwegian, "Traff drivstoffmål" },
{ Lang::Dutch, "Raak brandstofdoelen" },
{ Lang::Polish, "Celuj w tarcze paliwa" },
{ Lang::BrazilianPortuguese, "Bater nos alvos de combustível" },
{ Lang::Portuguese, "Abater alvos de combustível" },
{ Lang::Russian, "Поражайте Топливные Цели" },
{ Lang::Swedish, "Träffa bränsletavlor" },
{ Lang::Turkish, "Yakıt Hedeflerini Vur" },
{ Lang::SimplifiedChinese, "击中燃料目标" },
{ Lang::TraditionalChinese, "命中燃料目標" },
},
},
{
Msg::STRING233,
{
{ Lang::Arabic, "Remote Attack Bumper Hits\nLeft: %d" },
{ Lang::Czech, "Trefa do vzdálených útočných nárazníků\nZbývá: %d" },
{ Lang::Danish, "Træfninger af fjernangrebsbump\nTilbage: %d" },
{ Lang::German, "Rückstoßtreffer\nSoll: %d" },
{ Lang::Greek, "Βολές στους προσκρουστήρες πρώτης γραμμής\nΑπομένουν: %d" },
{ Lang::English, "Remote Attack Bumper Hits\nLeft: %d" },
{ Lang::Spanish, "Golpes en reboteadores de ataque remotos\nRestantes: %d" },
{ Lang::Finnish, "Osumia etähyökkäyspuskureihin\njäljellä: %d" },
{ Lang::French, "Tirs restants sur les champignons d'attaque\ndistants : %d" },
{ Lang::Hebrew, "Remote Attack Bumper Hits\nLeft: %d" },
{ Lang::Hungarian, "Támadógomba találatok\nMaradt: %d" },
{ Lang::Italian, "Colpi ai respingenti di prima linea\nRimasti: %d" },
{ Lang::Japanese, "リモート アタック バンパー ヒット\n残り: %d" },
{ Lang::Korean, "원거리 공격 범퍼 맞히기\n남은 횟수: %d" },
{ Lang::Norwegian, "Gjenstående fjernangreps-\nbumpertreff: %d" },
{ Lang::Dutch, "Treffers op afgelegen aanvalbumper\nresterend: %d" },
{ Lang::Polish, "Trafienia odległego zderzaka ataku\nPozostało: %d" },
{ Lang::BrazilianPortuguese, "Batidas nos amortecedores de ataque remotos\nrestantes: %d" },
{ Lang::Portuguese, "Tiros restantes nos amortecedores\nRestante: %d" },
{ Lang::Russian, "Осталось Попаданий по Дальним Бамперам Атаки: %d" },
{ Lang::Swedish, "Träffa höghöjds-bumpers\n%d träffar kvar" },
{ Lang::Turkish, "Uzaktan Vuruş Tamponları Vuruşu\nSol: %d" },
{ Lang::SimplifiedChinese, "远程攻击缓冲器击中\n剩余:%d" },
{ Lang::TraditionalChinese, "遙控攻擊緩衝器命中\n剩餘:%d" },
},
},
{
Msg::STRING234,
{
{ Lang::Arabic, "Satellite Repaired" },
{ Lang::Czech, "Satelit opraven" },
{ Lang::Danish, "Satellit repareret" },
{ Lang::German, "Satellit repariert" },
{ Lang::Greek, "Ο δορυφόρος επισκευάστηκε" },
{ Lang::English, "Satellite Repaired" },
{ Lang::Spanish, "Satélite reparado" },
{ Lang::Finnish, "Satelliitti korjattu" },
{ Lang::French, "Satellite réparé" },
{ Lang::Hebrew, "Satellite Repaired" },
{ Lang::Hungarian, "A műhold kijavítva" },
{ Lang::Italian, "Satellite ripristinato" },
{ Lang::Japanese, "サテライトを修復!" },
{ Lang::Korean, "위성 복구" },
{ Lang::Norwegian, "Satellitt reparert" },
{ Lang::Dutch, "Satelliet is gerepareerd" },
{ Lang::Polish, "Satelita naprawiony" },
{ Lang::BrazilianPortuguese, "Satélite consertado" },
{ Lang::Portuguese, "Satélite reparado" },
{ Lang::Russian, "Спутник Отремонтирован" },
{ Lang::Swedish, "Satelliten reparerad" },
{ Lang::Turkish, "Uydu Onarıldı" },
{ Lang::SimplifiedChinese, "卫星已修好" },
{ Lang::TraditionalChinese, "人造衛星已修好" },
},
},
{
Msg::STRING235,
{
{ Lang::Arabic, "Lane Passes\nLeft: %d" },
{ Lang::Czech, "Překročení pruhu\nZbývá: %d" },
{ Lang::Danish, "Banegennemløb\nTilbage: %d" },
{ Lang::German, "Bahndurchläufe\nSoll: %d" },
{ Lang::Greek, "Περάσματα από αεροδιάδρομο\nΑπομένουν: %d" },
{ Lang::English, "Lane Passes\nLeft: %d" },
{ Lang::Spanish, "Pasajes\nRestantes: %d" },
{ Lang::Finnish, "Osumia kaistoihin\njäljellä: %d" },
{ Lang::French, "Accès aux couloirs\nrestants : %d" },
{ Lang::Hebrew, "Lane Passes\nLeft: %d" },
{ Lang::Hungarian, "Folyosóátlépések\nMaradt: %d" },
{ Lang::Italian, "Fortezze del valico\nSinistra: %d" },
{ Lang::Japanese, "レーン通過\n残り: %d" },
{ Lang::Korean, "레인 통과 수\n남은 횟수: %d" },
{ Lang::Norwegian, "Gjenstående\nbanepasseringer: %d" },
{ Lang::Dutch, "Door baan spelen\nresterend: %d" },
{ Lang::Polish, "Przejścia po torach\nPozostało: %d" },
{ Lang::BrazilianPortuguese, "Passagens nas pistas\nrestantes: %d" },
{ Lang::Portuguese, "Acessos ao corredor\nRestante: %d" },
{ Lang::Russian, "Проходов Дорожек\nОсталось: %d" },
{ Lang::Swedish, "Träffa gångar\n%d träffar kvar" },
{ Lang::Turkish, "Kulvar Geçişleri\nSol: %d" },
{ Lang::SimplifiedChinese, "航道通行\n剩余次数:%d" },
{ Lang::TraditionalChinese, "巷道通行\n剩餘:%d" },
},
},
{
Msg::STRING236,
{
{ Lang::Arabic, "Shoot Ball Up Fuel Chute" },
{ Lang::Czech, "Trefte míčkem palivovou klouzačku" },
{ Lang::Danish, "Skyd kugle op i brændstofslidske" },
{ Lang::German, "Kugel die Treibstofframpe hinaufschießen" },
{ Lang::Greek, "Στείλτε τη μπίλια στον αγωγό καυσίμων" },
{ Lang::English, "Shoot Ball Up Fuel Chute" },
{ Lang::Spanish, "Disparar la bola por el canal de combustible" },
{ Lang::Finnish, "Laukaise pallo polttoainekanavaan" },
{ Lang::French, "Tirez la bille dans la glissière de carburant" },
{ Lang::Hebrew, "Shoot Ball Up Fuel Chute" },
{ Lang::Hungarian, "Lője fel a golyót az üzemanyagcsatornán" },
{ Lang::Italian, "Lancia la pallina nell'iniettore del carburante" },
{ Lang::Japanese, "燃料シュートを狙え!" },
{ Lang::Korean, "연료 슈트에 구슬 집어넣기" },
{ Lang::Norwegian, "Skyt ball opp drivstoffsjakt" },
{ Lang::Dutch, "Bal de brandstofhelling op schieten" },
{ Lang::Polish, "Wprowadź kulkę w rynnę paliwa" },
{ Lang::BrazilianPortuguese, "Lançar a bola pela rampa de combustível" },
{ Lang::Portuguese, "Disparar a bola para o canal de combustível" },
{ Lang::Russian, "Запустите Шарик В Топливный Желоб" },
{ Lang::Swedish, "Skjut upp kulan i bränsledepån" },
{ Lang::Turkish, "Topu Yakıt Oluğuna Ateşle" },
{ Lang::SimplifiedChinese, "将球射到燃料斜槽" },
{ Lang::TraditionalChinese, "將球射上油道" },
},
},
{
Msg::STRING237,
{
{ Lang::Arabic, "Survey Complete" },
{ Lang::Czech, "Průzkum dokončen" },
{ Lang::Danish, "Inspektion fuldført" },
{ Lang::German, "Studie abgeschlossen" },
{ Lang::Greek, "Η έρευνα ολοκληρώθηκε" },
{ Lang::English, "Survey Complete" },
{ Lang::Spanish, "Fin de supervisión" },
{ Lang::Finnish, "Tutkimus on valmis" },
{ Lang::French, "Inspection terminée" },
{ Lang::Hebrew, "Survey Complete" },
{ Lang::Hungarian, "A felmérés befejezve" },
{ Lang::Italian, "Verifica completa" },
{ Lang::Japanese, "調査完了!" },
{ Lang::Korean, "탐사 완료" },
{ Lang::Norwegian, "Undersøkelsen fullført" },
{ Lang::Dutch, "Onderzoek voltooid" },
{ Lang::Polish, "Przegląd zakończony" },
{ Lang::BrazilianPortuguese, "Pesquisa concluída" },
{ Lang::Portuguese, "Revisão concluída" },
{ Lang::Russian, "Обследование Завершено" },
{ Lang::Swedish, "Forskningsuppdraget genomfört" },
{ Lang::Turkish, "Araştırma Tamamlandı" },
{ Lang::SimplifiedChinese, "完成勘察" },
{ Lang::TraditionalChinese, "勘查完成" },
},
},
{
Msg::STRING238,
{
{ Lang::Arabic, "Out Lane Passes\nLeft: %d" },
{ Lang::Czech, "Vystoupení z pruhu\nZbývá: %d" },
{ Lang::Danish, "Yderbanegennemløb\nTilbage: %d" },
{ Lang::German, "Ausbahndurchläufe\nSoll: %d" },
{ Lang::Greek, "Περάσματα σε εξωτερικό αεροδιάδρομο\nΑπομένουν: %d" },
{ Lang::English, "Out Lane Passes\nLeft: %d" },
{ Lang::Spanish, "Pasaje exterior\nRestantes: %d" },
{ Lang::Finnish, "Osumia ulkokaistoihin\njäljellä: %d" },
{ Lang::French, "Accès dans couloirs extérieurs\nrestants : %d" },
{ Lang::Hebrew, "Out Lane Passes\nLeft: %d" },
{ Lang::Hungarian, "Kilépő folyosóátlépések\nMaradt: %d" },
{ Lang::Italian, "Fortezze del valico esterno\nSinistra: %d" },
{ Lang::Japanese, "アウト レーン通過\n残り: %d" },
{ Lang::Korean, "외부 레인 통과\n남은 횟수: %d" },
{ Lang::Norwegian, "Gjenstående utbane-\npasseringer: %d" },
{ Lang::Dutch, "Door buitenbaan spelen\nresterend: %d" },
{ Lang::Polish, "Przejścia po torach zewn.\nPozostało: %d" },
{ Lang::BrazilianPortuguese, "Passagens pela pista de fora\nrestantes: %d" },
{ Lang::Portuguese, "Passagem exterior\nRestante: %d" },
{ Lang::Russian, "Проходов Внешних Дорожек Осталось: %d" },
{ Lang::Swedish, "Utgångar\n%d kvar" },
{ Lang::Turkish, "Dış Kulvar Geçişleri\nSol: %d" },
{ Lang::SimplifiedChinese, "出口航道通行\n剩余次数:%d" },
{ Lang::TraditionalChinese, "外巷道通行\n剩餘:%d" },
},
},
{
Msg::STRING239,
{
{ Lang::Arabic, "Doomsday Machine Destroyed" },
{ Lang::Czech, "Stroj zkázy zničen" },
{ Lang::Danish, "Dommedagsmaskine destrueret" },
{ Lang::German, "Schwadron abgewehrt" },
{ Lang::Greek, "Η συσκευή ολοκληρωτικής καταστροφής απενεργοποιήθηκε" },
{ Lang::English, "Doomsday Machine Destroyed" },
{ Lang::Spanish, "Máquina catastrófica destruida" },
{ Lang::Finnish, "Helvetinkone tuhottu" },
{ Lang::French, "Machine de la fin du monde détruite" },
{ Lang::Hebrew, "Doomsday Machine Destroyed" },
{ Lang::Hungarian, "A gyilkológép elpusztítva" },
{ Lang::Italian, "Macchina della fine del mondo distrutta" },
{ Lang::Japanese, "ドゥームズデイ マシンを破壊!" },
{ Lang::Korean, "핵무기 파괴" },
{ Lang::Norwegian, "Helvetesmaskinen ødelagt" },
{ Lang::Dutch, "Doomsday Machine vernietigd" },
{ Lang::Polish, "Maszyna zagłady zniszczona" },
{ Lang::BrazilianPortuguese, "Máquina do Juízo Final destruída" },
{ Lang::Portuguese, "Máquina Apocalíptica destruída" },
{ Lang::Russian, "Машина Судного Дня Уничтожена" },
{ Lang::Swedish, "Domedagsmaskinen nedskjuten" },
{ Lang::Turkish, "Kıyamet Makinesi Yok Edildi" },
{ Lang::SimplifiedChinese, "摧毁了世界末日机器" },
{ Lang::TraditionalChinese, "世界末日機毀損" },
},
},
{
Msg::STRING240,
{
{ Lang::Arabic, "Roll Flags: %d" },
{ Lang::Czech, "Spuštěné vlajky: %d" },
{ Lang::Danish, "Rulleflag: %d" },
{ Lang::German, "Drehfahnen: %d" },
{ Lang::Greek, "Σημαίες περιστροφής: %d" },
{ Lang::English, "Roll Flags: %d" },
{ Lang::Spanish, "Voltear trampillas: %d" },
{ Lang::Finnish, "Silmukan liput: %d" },
{ Lang::French, "Roulement des indicateurs : %d" },
{ Lang::Hebrew, "Roll Flags: %d" },
{ Lang::Hungarian, "%d pördítés" },
{ Lang::Italian, "Avvolgi bandiere: %d" },
{ Lang::Japanese, "ロール フラグ数: %d" },
{ Lang::Korean, "깃발 회전 수: %d" },
{ Lang::Norwegian, "Rulleflagg: %d" },
{ Lang::Dutch, "Poorten ronddraaien: %d" },
{ Lang::Polish, "Zwijanie flag: %d" },
{ Lang::BrazilianPortuguese, "Rolar as bandeiras: %d" },
{ Lang::Portuguese, "Rodar indicadores: %d" },
{ Lang::Russian, "Крутите Флаги: %d" },
{ Lang::Swedish, "Träffa spinners\n%d varv kvar" },
{ Lang::Turkish, "Fırıldak Dönüşü: %d" },
{ Lang::SimplifiedChinese, "滚动旗帜:%d" },
{ Lang::TraditionalChinese, "捲動旗標:%d" },
},
},
{
Msg::STRING241,
{
{ Lang::Arabic, "Hit Space Warp Rollover" },
{ Lang::Czech, "Trefte převrácení vesmírného přesunu" },
{ Lang::Danish, "Ram rumforskydningsfornyelse" },
{ Lang::German, "Warpdreher treffen" },
{ Lang::Greek, "Βολή για χρονοστρέβλωση" },
{ Lang::English, "Hit Space Warp Rollover" },
{ Lang::Spanish, "Golpear luz de salto en el espacio" },
{ Lang::Finnish, "Osu avaruushyppykytkimeen" },
{ Lang::French, "Tirez sur le roulement de distorsion spatiale" },
{ Lang::Hebrew, "Hit Space Warp Rollover" },
{ Lang::Hungarian, "Guruljon át a térugró aknán" },
{ Lang::Italian, "Colpire la gondola di curvatura temporale" },
{ Lang::Japanese, "スペース ワープ ロールオーバーを狙え!" },
{ Lang::Korean, "공간 이동 통로 맞히기" },
{ Lang::Norwegian, "Traff rulle for Romsprang" },
{ Lang::Dutch, "Raak Space Warp-rollover" },
{ Lang::Polish, "Celuj w wywrotkę zakrzywienia przestrzeni" },
{ Lang::BrazilianPortuguese, "Acerte o Space Warp Rollover" },
{ Lang::Portuguese, "Acertar no rotativo de dobra espacial" },
{ Lang::Russian, "Попадите В Искривление Пространства" },
{ Lang::Swedish, "Träffa rymdsensor" },
{ Lang::Turkish, "Uzay Sıçrama Yuvarlağını Vur" },
{ Lang::SimplifiedChinese, "击中太空扭曲得分" },
{ Lang::TraditionalChinese, "命中空間扭曲滾轉" },
},
},
{
Msg::STRING242,
{
{ Lang::Arabic, "Plague Eliminated" },
{ Lang::Czech, "Epidemie potlačena" },
{ Lang::Danish, "Pest udryddet" },
{ Lang::German, "Seuche eliminiert" },
{ Lang::Greek, "Η μάστιγα αντιμετωπίστηκε" },
{ Lang::English, "Plague Eliminated" },
{ Lang::Spanish, "Plaga eliminada" },
{ Lang::Finnish, "Rutto hävitetty" },
{ Lang::French, "Peste éliminée" },
{ Lang::Hebrew, "Plague Eliminated" },
{ Lang::Hungarian, "Pestis leküzdve" },
{ Lang::Italian, "Peste debellata" },
{ Lang::Japanese, "疫病は撲滅!" },
{ Lang::Korean, "우주 재앙 격퇴" },
{ Lang::Norwegian, "Pesten eliminert" },
{ Lang::Dutch, "Plaag geëlimineerd" },
{ Lang::Polish, "Plaga zażegnana" },
{ Lang::BrazilianPortuguese, "Peste eliminada" },
{ Lang::Portuguese, "Praga extinta" },
{ Lang::Russian, "Чума Ликвидирована" },
{ Lang::Swedish, "Räddade från pesten" },
{ Lang::Turkish, "Veba Atlatıldı" },
{ Lang::SimplifiedChinese, "消除灾难" },
{ Lang::TraditionalChinese, "消除災禍" },
},
},
{
Msg::STRING243,
{
{ Lang::Arabic, "Hit Yellow Wormhole" },
{ Lang::Czech, "Trefte žlutou červí díru" },
{ Lang::Danish, "Ram gult ormehul" },
{ Lang::German, "Gelbes Wurmloch treffen" },
{ Lang::Greek, "Βολή στην κίτρινη διαστημική σήραγγα" },
{ Lang::English, "Hit Yellow Wormhole" },
{ Lang::Spanish, "Golpear el túnel espacial amarillo" },
{ Lang::Finnish, "Osu keltaiseen madonreikään" },
{ Lang::French, "Visez le repaire jaune du ver géant" },
{ Lang::Hebrew, "Hit Yellow Wormhole" },
{ Lang::Hungarian, "Cél a sárga féreglyuk" },
{ Lang::Italian, "Colpire il tunnel spaziale giallo" },
{ Lang::Japanese, "イエロー ワームホールを狙え!" },
{ Lang::Korean, "노란 웜홀 맞히기" },
{ Lang::Norwegian, "Traff gult ormebol" },
{ Lang::Dutch, "Raak geel wormhole" },
{ Lang::Polish, "Celuj w żółty tunel" },
{ Lang::BrazilianPortuguese, "Acerte a fenda espacial amarela" },
{ Lang::Portuguese, "Abater túnel espacial amarelo" },
{ Lang::Russian, "Попадание в Желтую червоточину" },
{ Lang::Swedish, "Skjut in kulan i gult maskhål" },
{ Lang::Turkish, "Sarı Solucan Deliğini Vur" },
{ Lang::SimplifiedChinese, "击中黄色旋涡式星体" },
{ Lang::TraditionalChinese, "命中黃色蟲孔" },
},
},
{
Msg::STRING244,
{
{ Lang::Arabic, "Hit Red Wormhole" },
{ Lang::Czech, "Trefte červenou červí díru" },
{ Lang::Danish, "Ram rødt ormehul" },
{ Lang::German, "Rotes Wurmloch treffen" },
{ Lang::Greek, "Βολή στην κόκκινη διαστημική σήραγγα" },
{ Lang::English, "Hit Red Wormhole" },
{ Lang::Spanish, "Golpear el túnel espacial rojo" },
{ Lang::Finnish, "Osu punaiseen madonreikään" },
{ Lang::French, "Visez le repaire rouge du ver géant" },
{ Lang::Hebrew, "Hit Red Wormhole" },
{ Lang::Hungarian, "Cél a piros féreglyuk" },
{ Lang::Italian, "Colpire il tunnel spaziale rosso" },
{ Lang::Japanese, "レッド ワームホールを狙て!" },
{ Lang::Korean, "빨간 웜홀 맞히기" },
{ Lang::Norwegian, "Traff rødt ormebol" },
{ Lang::Dutch, "Raak rood wormhole" },
{ Lang::Polish, "Celuj w czerwony tunel" },
{ Lang::BrazilianPortuguese, "Acerte a fenda espacial vermelha" },
{ Lang::Portuguese, "Abater túnel espacial vermelho" },
{ Lang::Russian, "Попадание в Красную червоточину" },
{ Lang::Swedish, "Skjut in kulan i rött maskhål" },
{ Lang::Turkish, "Kırmızı Solucan Deliğini Vur" },
{ Lang::SimplifiedChinese, "击中红色旋涡式星体" },
{ Lang::TraditionalChinese, "命中紅色蟲孔" },
},
},
{
Msg::STRING245,
{
{ Lang::Arabic, "Hit Green Wormhole" },
{ Lang::Czech, "Trefte zelenou červí díru" },
{ Lang::Danish, "Ram grønt ormehul" },
{ Lang::German, "Grünes Wurmloch treffen" },
{ Lang::Greek, "Βολή στην πράσινη διαστημική σήραγγα" },
{ Lang::English, "Hit Green Wormhole" },
{ Lang::Spanish, "Golpear el túnel espacial verde" },
{ Lang::Finnish, "Osu vihreään madonreikään" },
{ Lang::French, "Visez le repaire vert du ver géant" },
{ Lang::Hebrew, "Hit Green Wormhole" },
{ Lang::Hungarian, "Cél a zöld féreglyuk" },
{ Lang::Italian, "Colpire il tunnel spaziale verde" },
{ Lang::Japanese, "グリーン ワームホールを狙て!" },
{ Lang::Korean, "녹색 웜홀 맞히기" },
{ Lang::Norwegian, "Traff grønt ormebol" },
{ Lang::Dutch, "Raak groen wormhole" },
{ Lang::Polish, "Celuj w zielony tunel" },
{ Lang::BrazilianPortuguese, "Acerte a fenda espacial verde" },
{ Lang::Portuguese, "Abater túnel espacial verde" },
{ Lang::Russian, "Попадание в Зеленую червоточину" },
{ Lang::Swedish, "Skjut in kulan i grönt maskhål" },
{ Lang::Turkish, "Yeşil Solucan Deliğini Vur" },
{ Lang::SimplifiedChinese, "击中绿色旋涡式星体" },
{ Lang::TraditionalChinese, "命中綠色蟲孔" },
},
},
{
Msg::STRING246,
{
{ Lang::Arabic, "Plans Recovered" },
{ Lang::Czech, "Plány zachráněny" },
{ Lang::Danish, "Planer reddet" },
{ Lang::German, "Pläne geborgen" },
{ Lang::Greek, "Τα σχέδια ανακτήθηκαν" },
{ Lang::English, "Plans Recovered" },
{ Lang::Spanish, "Planes recuperados" },
{ Lang::Finnish, "Suunnitelmat saatu takaisin" },
{ Lang::French, "Plans récupérés" },
{ Lang::Hebrew, "Plans Recovered" },
{ Lang::Hungarian, "Sikerült a terveket visszaszerezni" },
{ Lang::Italian, "Piani recuperati" },
{ Lang::Japanese, "計画書奪回!" },
{ Lang::Korean, "설계도 복구" },
{ Lang::Norwegian, "Fant planer" },
{ Lang::Dutch, "Plannen teruggevonden" },
{ Lang::Polish, "Plany odzyskane" },
{ Lang::BrazilianPortuguese, "Planos recuperados" },
{ Lang::Portuguese, "Planos recuperados" },
{ Lang::Russian, "Проекты Восстановлены" },
{ Lang::Swedish, "Ritningarna räddade" },
{ Lang::Turkish, "Planlar Kurtarıldı" },
{ Lang::SimplifiedChinese, "计划已恢复" },
{ Lang::TraditionalChinese, "回復計劃" },
},
},
{
Msg::STRING247,
{
{ Lang::Arabic, "Rebound Hits\nLeft: %d" },
{ Lang::Czech, "Odražené trefy\nZbývá: %d" },
{ Lang::Danish, "Rikochettræfninger\nTilbage: %d" },
{ Lang::German, "Abpralltreffer\nSoll: %d" },
{ Lang::Greek, "Αναπηδήσεις\nΑπομένουν: %d" },
{ Lang::English, "Rebound Hits\nLeft: %d" },
{ Lang::Spanish, "Golpes a las bandas de rebote\nRestantes: %d" },
{ Lang::Finnish, "Palautuslyöntejä\njäljellä: %d" },
{ Lang::French, "Tirs sur élastiques\nrestants : %d" },
{ Lang::Hebrew, "Rebound Hits\nLeft: %d" },
{ Lang::Hungarian, "Csúzlitalálatok\nMaradt: %d" },
{ Lang::Italian, "'Rebound Hits'\nRimasti: %d" },
{ Lang::Japanese, "リバウンド ヒット\n残り: %d" },
{ Lang::Korean, "리바운드 맞히기\n남은 횟수: %d" },
{ Lang::Norwegian, "Trampoline-\ntreff: %d" },
{ Lang::Dutch, "Reboundtreffers\nresterend: %d" },
{ Lang::Polish, "Trafienia odbicia\nPozostało: %d" },
{ Lang::BrazilianPortuguese, "Batidas de ricochete\nrestantes: %d" },
{ Lang::Portuguese, "Ricochetes\nRestante: %d" },
{ Lang::Russian, "Осталось Попаданий по Отскоку: %d" },
{ Lang::Swedish, "Träffa rebounds\n%d träffar kvar" },
{ Lang::Turkish, "Yay Vuruşları\nSol: %d" },
{ Lang::SimplifiedChinese, "弹回击中\n剩余次数:%d" },
{ Lang::TraditionalChinese, "彈回命中\n剩餘:%d" },
},
},
{
Msg::STRING248,
{
{ Lang::Arabic, "Hit Hyperspace Chute or Launch Ramp" },
{ Lang::Czech, "Trefte hyperprostorovou klouzačku nebo odpalovací rampu" },
{ Lang::Danish, "Ram Hyperspaceslidske eller affyringsrampe" },
{ Lang::German, "Hyperspace- oder Startrampe treffen" },
{ Lang::Greek, "Βολή στον αγωγό υπερδιαστήματος ή στη ράμπα εκτόξευσης" },
{ Lang::English, "Hit Hyperspace Chute or Launch Ramp" },
{ Lang::Spanish, "Golpear el canal hiperespacial o la rampa de lanzamiento" },
{ Lang::Finnish, "Osu hyperavaruuteen tai laukaisurampille" },
{ Lang::French, "Visez le gouffre de l'hyper-espace ou la rampe de lancement" },
{ Lang::Hebrew, "Hit Hyperspace Chute or Launch Ramp" },
{ Lang::Hungarian, "Cél a hipertér csatorna és kilövőállás" },
{ Lang::Italian, "Colpire l'iniettore iperspaziale o la rampa di lancio" },
{ Lang::Japanese, "ハイパースペース シュートか発射ランプを狙え!" },
{ Lang::Korean, "하이퍼스페이스 슈트 또는 발사대 맞히기" },
{ Lang::Norwegian, "Traff Hyperromsjakt eller utskytingsrampe" },
{ Lang::Dutch, "Raak hyperspacehelling of lanceerplatform" },
{ Lang::Polish, "Celuj w rynnę hiperprzestrzeni lub pomost ładowania" },
{ Lang::BrazilianPortuguese, "Acerte a rampa de hiperespaço ou de lançamento" },
{ Lang::Portuguese, "Acertar no canal hiperespacial ou na rampa de lançamento" },
{ Lang::Russian, "Попадите в Гипер Пространственный Желоб или Стартовую Рампу" },
{ Lang::Swedish, "Skjut upp kulan i hyperspace-hålan eller i rampen" },
{ Lang::Turkish, "Uzay Boşluğu Oluğu ya da Kalkış Pistini Vur" },
{ Lang::SimplifiedChinese, "击中超空间斜槽或发射坡道" },
{ Lang::TraditionalChinese, "命中超空間滑道或啟動斜道" },
},
},
{
Msg::STRING249,
{
{ Lang::Arabic, "Drop Target Hits\nLeft: %d" },
{ Lang::Czech, "Trefa zničení cíle\nZbývá: %d" },
{ Lang::Danish, "Dykkende måltræfninger\nTilbage: %d" },
{ Lang::German, "Treffer Zielkategorie 1\nSoll: %d" },
{ Lang::Greek, "Βολές σε βυθιζόμενους στόχους\nΑπομένουν: %d" },
{ Lang::English, "Drop Target Hits\nLeft: %d" },
{ Lang::Spanish, "Golpes a las dianas abatibles\nRestantes: %d" },
{ Lang::Finnish, "Osumia pudotusmaaleihin\njäljellä: %d" },
{ Lang::French, "Tirs sur cibles automatiques\nrestants : %d" },
{ Lang::Hebrew, "Drop Target Hits\nLeft: %d" },
{ Lang::Hungarian, "Dominócélok kilövése\nMaradt: %d" },
{ Lang::Italian, "Obiettivi da abbattere\nRimasti: %d" },
{ Lang::Japanese, "ドロップ ターゲット ヒット\n残り: %d" },
{ Lang::Korean, "낙하 표적 맞히기\n남은 횟수: %d" },
{ Lang::Norwegian, "Gjenstående trufne\nbombemål: %d" },
{ Lang::Dutch, "Treffers op drop targets\nresterend: %d" },
{ Lang::Polish, "Trafienia tarcz strącania\nPozostało: %d" },
{ Lang::BrazilianPortuguese, "Batidas nos alvos tipo Drop\nrestantes: %d" },
{ Lang::Portuguese, "Tiros nos alvos automáticos\nRestantes: %d" },
{ Lang::Russian, "Осталось Попаданий по Падающим Целям: %d" },
{ Lang::Swedish, "Träffa multi-, medalj-, bonus- eller uppdragstavlor\n%d träffar kvar" },
{ Lang::Turkish, "Hedef Bırakma Vuruşları\nSol: %d" },
{ Lang::SimplifiedChinese, "丢弃目标击中\n剩余次数:%d" },
{ Lang::TraditionalChinese, "命中棄置目標\n剩餘:%d" },
},
},
{
Msg::STRING250,
{
{ Lang::Arabic, "Spot Target Hits\nLeft: %d" },
{ Lang::Czech, "Trefa zobrazeného cíle\nZbývá: %d" },
{ Lang::Danish, "Tilfældige måltræfninger\nTilbage: %d" },
{ Lang::German, "Treffer Zielkategorie 2\nSoll: %d" },
{ Lang::Greek, "Βολές σε σταθερούς στόχους\nΑπομένουν: %d" },
{ Lang::English, "Spot Target Hits\nLeft: %d" },
{ Lang::Spanish, "Golpes a las dianas puntuales\nRestantes: %d" },
{ Lang::Finnish, "Osumia täplämaaleihin\njäljellä: %d" },
{ Lang::French, "Tirs sur cibles de points\nrestants : %d" },
{ Lang::Hebrew, "Spot Target Hits\nLeft: %d" },
{ Lang::Hungarian, "Vegyes célpontok kilövése\nMaradt: %d" },
{ Lang::Italian, "Vedi obiettivi\nRimasti: %d" },
{ Lang::Japanese, "スポット ターゲット ヒット\n残り: %d" },
{ Lang::Korean, "지정한 표적 맞히기\n남은 횟수: %d" },
{ Lang::Norwegian, "Gjenstående\nblinkmåltreff: %d" },
{ Lang::Dutch, "Treffers op schietschijfdoelen\nresterend: %d" },
{ Lang::Polish, "Trafienia tarcz punktowych\nPozostało: %d" },
{ Lang::BrazilianPortuguese, "Batidas nos alvos tipo Spot\nrestantes: %d" },
{ Lang::Portuguese, "Tiros nos alvos de pontuação\nRestante: %d" },
{ Lang::Russian, "Осталось Попаданий по Точечным Целям: %d" },
{ Lang::Swedish, "Träffa returtavlor\n%d träffar kvar" },
{ Lang::Turkish, "Gösterme Hedef Vuruşları\nSol: %d" },
{ Lang::SimplifiedChinese, "发现目标击中\n剩余次数:%d" },
{ Lang::TraditionalChinese, "命中偵查目標\n剩餘:%d" },
},
},
{
Msg::STRING251,
{
{ Lang::Arabic, "Lanes Passes\nLeft: %d" },
{ Lang::Czech, "Překročení pruhu\nZbývá: %d" },
{ Lang::Danish, "Baner gennemløbet\nTilbage: %d" },
{ Lang::German, "Bahndurchläufe\nSoll: %d" },
{ Lang::Greek, "Περάσματα από αεροδιάδρομο\nΑπομένουν: %d" },
{ Lang::English, "Lanes Passes\nLeft: %d" },
{ Lang::Spanish, "Pasajes\nRestantes: %d" },
{ Lang::Finnish, "Osumia kaistoihin\njäljellä: %d" },
{ Lang::French, "Accès dans couloirs\nrestants : %d" },
{ Lang::Hebrew, "Lanes Passes\nLeft: %d" },
{ Lang::Hungarian, "Belépés a folyosóba\nMaradt: %d" },
{ Lang::Italian, "Fortezze del valico\nSinistra: %d" },
{ Lang::Japanese, "レーン通過\n残り: %d" },
{ Lang::Korean, "레인 통과 수\n남은 개수: %d" },
{ Lang::Norwegian, "Gjenstående\nbanepasseringer: %d" },
{ Lang::Dutch, "Door banen spelen\nresterend: %d" },
{ Lang::Polish, "Przejścia po torach\nPozostało: %d" },
{ Lang::BrazilianPortuguese, "Passagens de pistas\nrestantes: %d" },
{ Lang::Portuguese, "Acessos ao corredor\nRestante: %d" },
{ Lang::Russian, "Проходов Дорожек Осталось: %d" },
{ Lang::Swedish, "Träffa gångar\n%d träffar kvar" },
{ Lang::Turkish, "Kulvar Geçişleri\nSol: %d" },
{ Lang::SimplifiedChinese, "航道通行\n剩余次数:%d" },
{ Lang::TraditionalChinese, "巷道通行\n剩餘:%d" },
},
},
{
Msg::STRING252,
{
{ Lang::Arabic, "Shoot Ball Up Fuel Chute" },
{ Lang::Czech, "Trefte míčkem palivovou klouzačku" },
{ Lang::Danish, "Skyd kugle op i brændstofslidske" },
{ Lang::German, "Kugel die Treibstofframpe hinaufschießen" },
{ Lang::Greek, "Στείλτε τη μπίλια στον αγωγό καυσίμων" },
{ Lang::English, "Shoot Ball Up Fuel Chute" },
{ Lang::Spanish, "Disparar la bola por el canal de combustible" },
{ Lang::Finnish, "Laukaise pallo polttoainekanavaan" },
{ Lang::French, "Tirez la bille dans la glissière de carburant" },
{ Lang::Hebrew, "Shoot Ball Up Fuel Chute" },
{ Lang::Hungarian, "Lője fel a golyót az üzemanyagcsatornán" },
{ Lang::Italian, "Lancia la pallina nell'iniettore del carburante" },
{ Lang::Japanese, "燃料シュートを狙え!" },
{ Lang::Korean, "연료 슈트에 구슬 집어넣기" },
{ Lang::Norwegian, "Skyt ball opp drivstoffsjakt" },
{ Lang::Dutch, "Bal de brandstofhelling op schieten" },
{ Lang::Polish, "Wprowadź kulkę w rynnę paliwa" },
{ Lang::BrazilianPortuguese, "Lançar a bola pela rampa de combustível" },
{ Lang::Portuguese, "Disparar a bola para o canal de combustível" },
{ Lang::Russian, "Запустите Шарик В Топливный Желоб" },
{ Lang::Swedish, "Skjut upp kulan i bränsledepån" },
{ Lang::Turkish, "Topu Yakıt Oluğuna Ateşle" },
{ Lang::SimplifiedChinese, "将球射到燃料斜槽" },
{ Lang::TraditionalChinese, "將球射上油道" },
},
},
{
Msg::STRING253,
{
{ Lang::Arabic, "Hit Launch Ramp" },
{ Lang::Czech, "Trefte odpalovací rampu" },
{ Lang::Danish, "Ram affyringsrampe" },
{ Lang::German, "Startrampe treffen" },
{ Lang::Greek, "Βολή στη ράμπα εκτόξευσης" },
{ Lang::English, "Hit Launch Ramp" },
{ Lang::Spanish, "Golpear la rampa de lanzamiento" },
{ Lang::Finnish, "Osu laukaisuramppiin" },
{ Lang::French, "Visez la rampe de lancement" },
{ Lang::Hebrew, "Hit Launch Ramp" },
{ Lang::Hungarian, "Találja el a kilövőállást" },
{ Lang::Italian, "Colpire la rampa di lancio" },
{ Lang::Japanese, "発射ランプを狙え!" },
{ Lang::Korean, "발사대 맞히기" },
{ Lang::Norwegian, "Truffet utskytingsrampe" },
{ Lang::Dutch, "Raak lanceerplatform" },
{ Lang::Polish, "Celuj w pomost ładowania" },
{ Lang::BrazilianPortuguese, "Acerte na rampa de lançamento" },
{ Lang::Portuguese, "Acertar na rampa de lançamento" },
{ Lang::Russian, "Попадите в Стартовую Рампу" },
{ Lang::Swedish, "Skjut upp kulan i rampen" },
{ Lang::Turkish, "Kalkış Pisti Vur" },
{ Lang::SimplifiedChinese, "击中发射坡道" },
{ Lang::TraditionalChinese, "命中啟動斜道" },
},
},
{
Msg::STRING254,
{
{ Lang::Arabic, "Hit Flags" },
{ Lang::Czech, "Trefte vlajky" },
{ Lang::Danish, "Ram flag" },
{ Lang::German, "Fahnen treffen" },
{ Lang::Greek, "Βολή στις σημαίες" },
{ Lang::English, "Hit Flags" },
{ Lang::Spanish, "Golpear las trampillas" },
{ Lang::Finnish, "Osu lippuihin" },
{ Lang::French, "Tirez sur les drapeaux" },
{ Lang::Hebrew, "Hit Flags" },
{ Lang::Hungarian, "Találja el a zászlócélokat" },
{ Lang::Italian, "Colpire bandiere" },
{ Lang::Japanese, "フラグを狙え!" },
{ Lang::Korean, "깃발 맞히기" },
{ Lang::Norwegian, "Traff flagg" },
{ Lang::Dutch, "Raak poorten" },
{ Lang::Polish, "Celuj we flagi" },
{ Lang::BrazilianPortuguese, "Acerte nas bandeiras" },
{ Lang::Portuguese, "Acertar nas bandeiras" },
{ Lang::Russian, "Попадите в Флаги" },
{ Lang::Swedish, "Träffa spinners" },
{ Lang::Turkish, "Fırıldak Vur" },
{ Lang::SimplifiedChinese, "击中旗帜" },
{ Lang::TraditionalChinese, "命中旗標" },
},
},
{
Msg::STRING255,
{
{ Lang::Arabic, "Hit Worm Hole" },
{ Lang::Czech, "Trefte červí díru" },
{ Lang::Danish, "Ram ormehul" },
{ Lang::German, "Wurmloch treffen" },
{ Lang::Greek, "Βολή στη διαστημική σήραγγα" },
{ Lang::English, "Hit Worm Hole" },
{ Lang::Spanish, "Golpear el túnel espacial" },
{ Lang::Finnish, "Osu madonreikään" },
{ Lang::French, "Visez le repaire du ver" },
{ Lang::Hebrew, "Hit Worm Hole" },
{ Lang::Hungarian, "Találjon el egy féreglyukat" },
{ Lang::Italian, "Colpire il tunnel spaziale" },
{ Lang::Japanese, "ワームホールを狙え!" },
{ Lang::Korean, "웜홀 맞히기" },
{ Lang::Norwegian, "Traff ormebol" },
{ Lang::Dutch, "Raak wormhole" },
{ Lang::Polish, "Celuj w tunel czasoprzestrzenny" },
{ Lang::BrazilianPortuguese, "Acerte na fenda espacial" },
{ Lang::Portuguese, "Acertar no túnel espacial" },
{ Lang::Russian, "Попадите в Червоточину" },
{ Lang::Swedish, "Skjut in kulan i ett maskhål" },
{ Lang::Turkish, "Solucan Deliği Vur" },
{ Lang::SimplifiedChinese, "击中虫孔" },
{ Lang::TraditionalChinese, "命中蟲孔" },
},
},
{
Msg::STRING256,
{
{ Lang::Arabic, "Hyperspace Chute to end Maelstrom" },
{ Lang::Czech, "Hyperprostorová klouzačka, ukončující hvězdný vír" },
{ Lang::Danish, "Hyperspaceslidske for at stoppe hvirvelstrøm" },
{ Lang::German, "Maelstrom beenden mit Hyperspace-Rampe" },
{ Lang::Greek, "Αγωγός υπερδιαστήματος για έξοδο από δίνη" },
{ Lang::English, "Hyperspace Chute to end Maelstrom" },
{ Lang::Spanish, "Canal hiperespacial para terminar vorágine" },
{ Lang::Finnish, "Lopeta Maelstrom osumalla hyperavaruusreittiin" },
{ Lang::French, "Gouffre de l'hyper-espace pour terminer Maelström" },
{ Lang::Hebrew, "Hyperspace Chute to end Maelstrom" },
{ Lang::Hungarian, "Maelström megfékezéséhez fel a hipertér csatornán" },
{ Lang::Italian, "Iniettore iperspaziale per uscire dal vortice" },
{ Lang::Japanese, "メールストロームを消滅させるにはハイパー スペース シュートを狙え!" },
{ Lang::Korean, "하이퍼스페이스 슈트를 맞혀 소용돌이 제거" },
{ Lang::Norwegian, "Hyperromsjakt for å avslutte malstrøm" },
{ Lang::Dutch, "Hyperspacehelling om Maelstrom te beëindigen" },
{ Lang::Polish, "Rynna hiperprzestrzeni zamyka Wir" },
{ Lang::BrazilianPortuguese, "Rampa do hiperespaço para acabar com o redemoinho" },
{ Lang::Portuguese, "Canal hiperespacial para terminar o redemoinho" },
{ Lang::Russian, "Гипер Пространственный Желоб Закончит Водоворот" },
{ Lang::Swedish, "Avsluta uppdraget Maelstrom genom att skjuta upp kulan i hyperspace-hålan" },
{ Lang::Turkish, "Girdabı bitirmek için Uzay Boşluğu Oluğu" },
{ Lang::SimplifiedChinese, "进入超空间斜槽,结束大旋涡" },
{ Lang::TraditionalChinese, "超空間滑道以終止動亂" },
},
},
{
Msg::TextBoxUseBitmapFont,
{
{ Lang::Arabic, "1 UseBitmapFont" },
{ Lang::Czech, "0 UseBitmapFont" },
{ Lang::Danish, "0 UseBitmapFont" },
{ Lang::German, "0 UseBitmapFont" },
{ Lang::Greek, "0 UseBitmapFont" },
{ Lang::English, "1 UseBitmapFont" },
{ Lang::Spanish, "0 UseBitmapFont" },
{ Lang::Finnish, "0 UseBitmapFont" },
{ Lang::French, "0 UseBitmapFont" },
{ Lang::Hebrew, "1 UseBitmapFont" },
{ Lang::Hungarian, "0 UseBitmapFont" },
{ Lang::Italian, "0 UseBitmapFont" },
{ Lang::Japanese, "0 UseBitmapFont" },
{ Lang::Korean, "0 UseBitmapFont" },
{ Lang::Norwegian, "0 UseBitmapFont" },
{ Lang::Dutch, "0 UseBitmapFont" },
{ Lang::Polish, "0 UseBitmapFont" },
{ Lang::BrazilianPortuguese, "0 UseBitmapFont" },
{ Lang::Portuguese, "0 UseBitmapFont" },
{ Lang::Russian, "0 UseBitmapFont" },
{ Lang::Swedish, "0 UseBitmapFont" },
{ Lang::Turkish, "0 UseBitmapFont" },
{ Lang::SimplifiedChinese, "0 UseBitmapFont" },
{ Lang::TraditionalChinese, "0 UseBitmapFont" },
},
},
{
Msg::STRING270,
{
{ Lang::Arabic, "‏‏خطأ:" },
{ Lang::Czech, "Chyba:" },
{ Lang::Danish, "Fejl:" },
{ Lang::German, "Fehler:" },
{ Lang::Greek, "Σφάλμα:" },
{ Lang::English, "Error:" },
{ Lang::Spanish, "Error:" },
{ Lang::Finnish, "Virhe:" },
{ Lang::French, "Erreur :" },
{ Lang::Hebrew, "‏‏שגיאה:" },
{ Lang::Hungarian, "Hiba:" },
{ Lang::Italian, "Errore:" },
{ Lang::Japanese, "エラー:" },
{ Lang::Korean, "오류:" },
{ Lang::Norwegian, "Feil:" },
{ Lang::Dutch, "Fout:" },
{ Lang::Polish, "Błąd:" },
{ Lang::BrazilianPortuguese, "Erro:" },
{ Lang::Portuguese, "Erro:" },
{ Lang::Russian, "Ошибка:" },
{ Lang::Swedish, "Fel:" },
{ Lang::Turkish, "Hata:" },
{ Lang::SimplifiedChinese, "错误:" },
{ Lang::TraditionalChinese, "錯誤:" },
},
},
{
Msg::STRING271,
{
{ Lang::Arabic, "‏‏لا يمكن العثور على طاولات أخرى." },
{ Lang::Czech, "Nelze nalézt další stoly." },
{ Lang::Danish, "Det er ikke muligt at finde andre borde." },
{ Lang::German, "Es wurde kein anderer Tisch gefunden." },
{ Lang::Greek, "Δεν είναι δυνατή η εύρεση άλλων πινάκων." },
{ Lang::English, "Unable to find other tables." },
{ Lang::Spanish, "No se pueden encontrar otras mesas." },
{ Lang::Finnish, "Muita pöytiä ei löytynyt." },
{ Lang::French, "Impossible de trouver d'autres flippers." },
{ Lang::Hebrew, "‏‏לא נמצאו שולחנות אחרים." },
{ Lang::Hungarian, "Nincs másik asztal." },
{ Lang::Italian, "Impossibile trovare altre tabelle." },
{ Lang::Japanese, "ほかのテーブルが見つかりません。" },
{ Lang::Korean, "다른 테이블을 찾을 수 없습니다." },
{ Lang::Norwegian, "Finner ikke andre bord." },
{ Lang::Dutch, "Kan geen andere kasten vinden." },
{ Lang::Polish, "Nie można odnaleźć innych stołów." },
{ Lang::BrazilianPortuguese, "Não é possível localizar outras máquinas." },
{ Lang::Portuguese, "Não é possível localizar outras tabelas." },
{ Lang::Russian, "Не удалось найти другие столы." },
{ Lang::Swedish, "Det går inte att hitta fler spelplaner." },
{ Lang::Turkish, "Başka masa bulunamadı." },
{ Lang::SimplifiedChinese, "无法找到其它桌面。" },
{ Lang::TraditionalChinese, "無法找到其他表格。" },
},
},
{
Msg::STRING272,
{
{ Lang::Arabic, "3D Pinball\nSpace Cadet" },
{ Lang::Czech, "3D Pinball\nSpace Cadet" },
{ Lang::Danish, "3D Pinball\nSpace Cadet" },
{ Lang::German, "3D-Pinball\nSpace Cadet" },
{ Lang::Greek, "Φλίπερ-3Δ\nSpace Cadet" },
{ Lang::English, "3D Pinball\nSpace Cadet" },
{ Lang::Spanish, "3D Pinball\nCadete Espacial" },
{ Lang::Finnish, "3D Pinball\nSpace Cadet" },
{ Lang::French, "Pinball 3D\nSpace Cadet" },
{ Lang::Hebrew, "3D Pinball\nSpace Cadet" },
{ Lang::Hungarian, "3D-flipper\nSpace Cadet" },
{ Lang::Italian, "3D Pinball\nSpace Cadet" },
{ Lang::Japanese, "3D ピンボール\nSpace Cadet" },
{ Lang::Korean, "3D 핀볼\n우주 비행 훈련" },
{ Lang::Norwegian, "3D Pinball\nRomkadett" },
{ Lang::Dutch, "3D Pinball\nSpace Cadet" },
{ Lang::Polish, "3D Pinball\nSpace Cadet" },
{ Lang::BrazilianPortuguese, "Pinball 3D\nSpace Cadet" },
{ Lang::Portuguese, "3D Pinball\nCadete espacial" },
{ Lang::Russian, "3D Пинбол\nЗвездный юнга" },
{ Lang::Swedish, "3D Pinball\nSpace Cadet" },
{ Lang::Turkish, "3D Pinball\nSpace Cadet" },
{ Lang::SimplifiedChinese, "三维弹球\n太空军校生" },
{ Lang::TraditionalChinese, "立體彈珠台\n太空軍校生" },
},
},
{
Msg::STRING273,
{
{ Lang::Arabic, "الترقية إلى %s" },
{ Lang::Czech, "Povýšení na hodnost %s" },
{ Lang::Danish, "Forfremmelse til %s" },
{ Lang::German, "Zum %s befördert" },
{ Lang::Greek, "Προαγωγή σε %s" },
{ Lang::English, "Promotion to %s" },
{ Lang::Spanish, "Ascenso a %s" },
{ Lang::Finnish, "Ylennetty arvo: %s" },
{ Lang::French, "Élévation au grade de %s" },
{ Lang::Hebrew, "Promotion to %s" },
{ Lang::Hungarian, "Előléptetés %s rangba" },
{ Lang::Italian, "Promozione a %s" },
{ Lang::Japanese, "%s に昇格" },
{ Lang::Korean, "%s(으)로 수준 올리기" },
{ Lang::Norwegian, "Forfremmelse til %s" },
{ Lang::Dutch, "Promotie naar %s" },
{ Lang::Polish, "Awans do stopnia: %s" },
{ Lang::BrazilianPortuguese, "Promovido a %s" },
{ Lang::Portuguese, "Ascender para %s" },
{ Lang::Russian, "Повышение в должности до %s" },
{ Lang::Swedish, "Befordran till %s" },
{ Lang::Turkish, "%s Terfisi" },
{ Lang::SimplifiedChinese, "升级到 %s" },
{ Lang::TraditionalChinese, "提升到 %s" },
},
},
{
Msg::STRING274,
{
{ Lang::Arabic, "خفض الرتبة إلى %s" },
{ Lang::Czech, "Degradování na hodnost %s" },
{ Lang::Danish, "Degradering til %s" },
{ Lang::German, "Zum %s degradiert" },
{ Lang::Greek, "Υποβιβασμός σε %s" },
{ Lang::English, "Demotion to %s" },
{ Lang::Spanish, "Descenso a %s" },
{ Lang::Finnish, "Alennettu arvo: %s" },
{ Lang::French, "Rétrogradé vers %s" },
{ Lang::Hebrew, "Demotion to %s" },
{ Lang::Hungarian, "Lefokozás %s rangba" },
{ Lang::Italian, "Degradato a %s" },
{ Lang::Japanese, "%s に降格" },
{ Lang::Korean, "%s로 강등" },
{ Lang::Norwegian, "Degradering til %s" },
{ Lang::Dutch, "Degradatie naar %s" },
{ Lang::Polish, "Degradacja do stopnia: %s" },
{ Lang::BrazilianPortuguese, "Rebaixado a %s" },
{ Lang::Portuguese, "Descender para %s" },
{ Lang::Russian, "Понижение в должности до %s" },
{ Lang::Swedish, "Degradering till %s" },
{ Lang::Turkish, "İndirme yeri: %s" },
{ Lang::SimplifiedChinese, "降级到 %s" },
{ Lang::TraditionalChinese, "降低到 %s" },
},
},
{
Msg::STRING275,
{
{ Lang::Arabic, "Upgrade Attack Bumpers" },
{ Lang::Czech, "Vylepšení útočných nárazníků" },
{ Lang::Danish, "Opgrader angrebsbump" },
{ Lang::German, "Rückstoßelemente aufwerten" },
{ Lang::Greek, "Αναβάθμιση προσκρουστήρων πρώτης γραμμής" },
{ Lang::English, "Upgrade Attack Bumpers" },
{ Lang::Spanish, "Actualizar reboteadores de ataque" },
{ Lang::Finnish, "Päivitä hyökkäyspuskurit" },
{ Lang::French, "Renforcement des champignons d'attaque" },
{ Lang::Hebrew, "Upgrade Attack Bumpers" },
{ Lang::Hungarian, "Korszerűsítse a támadógombákat" },
{ Lang::Italian, "Potenzia respingenti di prima linea" },
{ Lang::Japanese, "武器をアップグレードせよ!" },
{ Lang::Korean, "공격 범퍼 치기" },
{ Lang::Norwegian, "Oppgrader angrepsbumpere" },
{ Lang::Dutch, "Aanvalbumpers opwaarderen" },
{ Lang::Polish, "Wymień zderzaki ataku" },
{ Lang::BrazilianPortuguese, "Atualizar os amortecedores de ataque" },
{ Lang::Portuguese, "Reforço dos amortecedores de ataque" },
{ Lang::Russian, "Улучшите Бамперы Атаки" },
{ Lang::Swedish, "Uppgradera höghöjds-bumpers" },
{ Lang::Turkish, "Vuruş Tamponarını Yenile" },
{ Lang::SimplifiedChinese, "升级攻击缓冲器" },
{ Lang::TraditionalChinese, "改善攻擊緩衝器" },
},
},
{
Msg::STRING276,
{
{ Lang::Arabic, "Fill Left Hazard Banks" },
{ Lang::Czech, "Vyplňte levé zásobníky stavu ohrožení" },
{ Lang::Danish, "Fyld venstre risikodepoter" },
{ Lang::German, "Linke Risikoobjekte aktivieren" },
{ Lang::Greek, "Πλήρωση αριστερής ανάσχεσης" },
{ Lang::English, "Fill Left Hazard Banks" },
{ Lang::Spanish, "Llenar bancos de riesgo de la izquierda" },
{ Lang::Finnish, "Täytä vasemmanpuoleiset vaararivit" },
{ Lang::French, "Remplissez les bancs de détresse gauches" },
{ Lang::Hebrew, "Fill Left Hazard Banks" },
{ Lang::Hungarian, "Lője ki a bal vészkatapult céltáblát" },
{ Lang::Italian, "Riempimento energetico degli scudi a tribordo" },
{ Lang::Japanese, "左ハザード バンクを点灯させよ!" },
{ Lang::Korean, "왼쪽 위험물 뱅크 채우기" },
{ Lang::Norwegian, "Fyll venstre farebanker" },
{ Lang::Dutch, "Linkerrisicolampjes activeren" },
{ Lang::Polish, "Wypełnij lewy bank ryzyka" },
{ Lang::BrazilianPortuguese, "Encher os bancos perigosos da esquerda" },
{ Lang::Portuguese, "Encher os bancos de risco da esquerda" },
{ Lang::Russian, "Заполните Левые Банки Опасностей" },
{ Lang::Swedish, "Träffa returtavlor till vänster" },
{ Lang::Turkish, "Sol Hasar Bantlarını Doldur" },
{ Lang::SimplifiedChinese, "添加左边危险材料库" },
{ Lang::TraditionalChinese, "填入左側障礙帶" },
},
},
{
Msg::STRING277,
{
{ Lang::Arabic, "HIGH SCORE" },
{ Lang::Czech, "HIGH SCORE" },
{ Lang::Danish, "BEDSTE RESULTATER" },
{ Lang::German, "Bestenliste" },
{ Lang::Greek, "ΚΑΛΥΤΕΡΟΣ ΠΑΙΚΤΗΣ" },
{ Lang::English, "HIGH SCORE" },
{ Lang::Spanish, "ALTA PUNTUACIÓN" },
{ Lang::Finnish, "HYVÄ TULOS" },
{ Lang::French, "Meilleurs scores" },
{ Lang::Hebrew, "HIGH SCORE" },
{ Lang::Hungarian, "FELKERÜLT AZ EREDMÉNYJELZŐRE" },
{ Lang::Italian, "PUNTEGGIO MIGLIORE" },
{ Lang::Japanese, "ハイスコア" },
{ Lang::Korean, "고득점" },
{ Lang::Norwegian, "BESTE RESULTATER" },
{ Lang::Dutch, "TOPSCORE" },
{ Lang::Polish, "NAJLEPSZY WYNIK" },
{ Lang::BrazilianPortuguese, "RECORDE" },
{ Lang::Portuguese, "Pontuação máxima" },
{ Lang::Russian, "НОВЫЙ РЕКОРД" },
{ Lang::Swedish, "POÄNGREKORD" },
{ Lang::Turkish, "YÜKSEK PUAN" },
{ Lang::SimplifiedChinese, "高分" },
{ Lang::TraditionalChinese, "高分" },
},
},
{
Msg::STRING279,
{
{ Lang::Arabic, "‏‏لا توجد ذاكرة كافية لتشغيل 3D Pinball." },
{ Lang::Czech, "Ke spuštění hry 3D Pinball není dostatek paměti." },
{ Lang::Danish, "Der er ikke tilstrækkelig hukommelse til at køre 3D Pinball." },
{ Lang::German, "Für 3D-Pinball ist nicht genügend Arbeitsspeicher verfügbar." },
{ Lang::Greek, "Η μνήμη δεν επαρκεί για την εκτέλεση του Φλίπερ-3Δ." },
{ Lang::English, "Not enough memory to run 3D Pinball." },
{ Lang::Spanish, "Memoria insuficiente para ejecutar 3D Pinball." },
{ Lang::Finnish, "Liian vähän muistia 3D Pinballin suorittamiseen." },
{ Lang::French, "Mémoire insuffisante pour exécuter Pinball 3D." },
{ Lang::Hebrew, "‏‏אין די זיכרון להפעלת Pinball תלת-מימדי." },
{ Lang::Hungarian, "Nincs elég memória a 3D-flipper futtatásához." },
{ Lang::Italian, "Memoria insufficiente per eseguire 3D Pinball." },
{ Lang::Japanese, "メモリ不足のため 3D ピンボールを起動できません" },
{ Lang::Korean, "메모리가 부족하여 3D 핀볼을 실행할 수 없습니다." },
{ Lang::Norwegian, "Ikke nok minne til å kjøre 3D Pinball." },
{ Lang::Dutch, "Er is onvoldoende geheugen om 3D Pinball uit te kunnen voeren." },
{ Lang::Polish, "Za mało pamięci do uruchomienia gry 3D Pinball." },
{ Lang::BrazilianPortuguese, "Não há memória suficiente para executar o Pinball 3D." },
{ Lang::Portuguese, "Não existe memória suficiente para executar o 3D Pinball." },
{ Lang::Russian, "Недостаточно памяти для запуска 3D пинбола." },
{ Lang::Swedish, "Det finns inte tillräckligt med minne för att köra 3D Pinball." },
{ Lang::Turkish, "3D Pinball'ı çalıştırmak için bellek yetersiz." },
{ Lang::SimplifiedChinese, "内存不足,无法运行三维弹球游戏。" },
{ Lang::TraditionalChinese, "記憶體不足,無法執行立體彈珠台。" },
},
},
{
Msg::STRING280,
{
{ Lang::Arabic, "نقاط تسجيل اللاعب 1\n%ld" },
{ Lang::Czech, "Skóre hráče 1\n%ld" },
{ Lang::Danish, "Spiller 1's point\n%ld" },
{ Lang::German, "Wertung Spieler 1\n%ld" },
{ Lang::Greek, "Βαθμολογία παίκτη 1\n%ld" },
{ Lang::English, "Player 1's Score\n%ld" },
{ Lang::Spanish, "Puntuación jugador 1\n%ld" },
{ Lang::Finnish, "Pelaaja 1\n%ld" },
{ Lang::French, "Score du joueur 1\n%ld" },
{ Lang::Hebrew, "Player 1's Score\n%ld" },
{ Lang::Hungarian, "1. játékos eredménye: \n%ld" },
{ Lang::Italian, "Punteggio giocatore 1\n%ld" },
{ Lang::Japanese, "プレーヤー 1 のスコア\n%ld" },
{ Lang::Korean, "비행사 1의 점수\n%ld" },
{ Lang::Norwegian, "Spiller 1s resultat\n%ld" },
{ Lang::Dutch, "Score speler 1\n%ld" },
{ Lang::Polish, "Wynik gracza 1\n%ld" },
{ Lang::BrazilianPortuguese, "Pontos do jogador 1:\n%ld" },
{ Lang::Portuguese, "Pontuação do jogador 1\n%ld" },
{ Lang::Russian, "Счет Игрока 1\n%ld" },
{ Lang::Swedish, "Spelare 1 - resultat\n%ld" },
{ Lang::Turkish, "1. Oyuncunun Skoru\n%ld" },
{ Lang::SimplifiedChinese, "玩家 1 的分数\n%ld" },
{ Lang::TraditionalChinese, "玩家 1 的分數\n%ld" },
},
},
{
Msg::STRING281,
{
{ Lang::Arabic, "نقاط تسجيل اللاعب 2\n%ld" },
{ Lang::Czech, "Skóre hráče 2\n%ld" },
{ Lang::Danish, "Spiller 2's point\n%ld" },
{ Lang::German, "Wertung Spieler 2\n%ld" },
{ Lang::Greek, "Βαθμολογία παίκτη 2\n%ld" },
{ Lang::English, "Player 2's Score\n%ld" },
{ Lang::Spanish, "Puntuación jugador 2\n%ld" },
{ Lang::Finnish, "Pelaaja 2\n%ld" },
{ Lang::French, "Score du joueur 2\n%ld" },
{ Lang::Hebrew, "Player 2's Score\n%ld" },
{ Lang::Hungarian, "2. játékos eredménye: \n%ld" },
{ Lang::Italian, "Punteggio giocatore 2\n%ld" },
{ Lang::Japanese, "プレーヤー 2 のスコア\n%ld" },
{ Lang::Korean, "비행사 2의 점수\n%ld" },
{ Lang::Norwegian, "Spiller 2s resultat\n%ld" },
{ Lang::Dutch, "Score speler 2\n%ld" },
{ Lang::Polish, "Wynik gracza 2\n%ld" },
{ Lang::BrazilianPortuguese, "Pontos do jogador 2:\n%ld" },
{ Lang::Portuguese, "Pontuação do jogador 2\n%ld" },
{ Lang::Russian, "Счет Игрока 2\n%ld" },
{ Lang::Swedish, "Spelare 2 - resultat\n%ld" },
{ Lang::Turkish, "2. Oyuncunun Skoru\n%ld" },
{ Lang::SimplifiedChinese, "玩家 2 的分数\n%ld" },
{ Lang::TraditionalChinese, "玩家 2 的分數\n%ld" },
},
},
{
Msg::STRING282,
{
{ Lang::Arabic, "نقاط تسجيل اللاعب 3\n%ld" },
{ Lang::Czech, "Skóre hráče 3\n%ld" },
{ Lang::Danish, "Spiller 3's point\n%ld" },
{ Lang::German, "Wertung Spieler 3\n%ld" },
{ Lang::Greek, "Βαθμολογία παίκτη 3\n%ld" },
{ Lang::English, "Player 3's Score\n%ld" },
{ Lang::Spanish, "Puntuación jugador 3\n%ld" },
{ Lang::Finnish, "Pelaaja 3\n%ld" },
{ Lang::French, "Score du joueur 3\n%ld" },
{ Lang::Hebrew, "Player 3's Score\n%ld" },
{ Lang::Hungarian, "3. játékos eredménye: \n%ld" },
{ Lang::Italian, "Punteggio giocatore 3\n%ld" },
{ Lang::Japanese, "プレーヤー 3 のスコア\n%ld" },
{ Lang::Korean, "비행사 3의 점수\n%ld" },
{ Lang::Norwegian, "Spiller 3s resultat\n%ld" },
{ Lang::Dutch, "Score speler 3\n%ld" },
{ Lang::Polish, "Wynik gracza 3\n%ld" },
{ Lang::BrazilianPortuguese, "Pontos do jogador 3:\n%ld" },
{ Lang::Portuguese, "Pontuação do jogador 3\n%ld" },
{ Lang::Russian, "Счет Игрока 3\n%ld" },
{ Lang::Swedish, "Spelare 3 - resultat\n%ld" },
{ Lang::Turkish, "3. Oyuncunun Skoru\n%ld" },
{ Lang::SimplifiedChinese, "玩家 3 的分数\n%ld" },
{ Lang::TraditionalChinese, "玩家 3 的分數\n%ld" },
},
},
{
Msg::STRING283,
{
{ Lang::Arabic, "نقاط تسجيل اللاعب 4\n%ld" },
{ Lang::Czech, "Skóre hráče 4\n%ld" },
{ Lang::Danish, "Spiller 4's point\n%ld" },
{ Lang::German, "Wertung Spieler 4\n%ld" },
{ Lang::Greek, "Βαθμολογία παίκτη 4\n%ld" },
{ Lang::English, "Player 4's Score\n%ld" },
{ Lang::Spanish, "Puntuación jugador 4\n%ld" },
{ Lang::Finnish, "Pelaaja 4\n%ld" },
{ Lang::French, "Score du joueur 4\n%ld" },
{ Lang::Hebrew, "Player 4's Score\n%ld" },
{ Lang::Hungarian, "4. játékos eredménye: \n%ld" },
{ Lang::Italian, "Punteggio giocatore 4\n%ld" },
{ Lang::Japanese, "プレーヤー 4 のスコア\n%ld" },
{ Lang::Korean, "비행사 4의 점수\n%ld" },
{ Lang::Norwegian, "Spiller 4s resultat\n%ld" },
{ Lang::Dutch, "Score speler 4\n%ld" },
{ Lang::Polish, "Wynik gracza 4\n%ld" },
{ Lang::BrazilianPortuguese, "Pontos do jogador 4:\n%ld" },
{ Lang::Portuguese, "Pontuação do jogador 4\n%ld" },
{ Lang::Russian, "Счет Игрока 4\n%ld" },
{ Lang::Swedish, "Spelare 4 - resultat\n%ld" },
{ Lang::Turkish, "4. Oyuncunun Skoru\n%ld" },
{ Lang::SimplifiedChinese, "玩家 4 的分数\n%ld" },
{ Lang::TraditionalChinese, "玩家 4 的分數\n%ld" },
},
},
{
Msg::STRING284,
{
{ Lang::Arabic, "أفضل النتائج 1\n%ld" },
{ Lang::Czech, "Nejlepší výsledek 1\n%ld" },
{ Lang::Danish, "Point 1\n%ld" },
{ Lang::German, "Bestwertung 1\n%ld" },
{ Lang::Greek, "Καλύτερη βαθμολογία 1\n%ld" },
{ Lang::English, "High Score 1\n%ld" },
{ Lang::Spanish, "Puntuación máxima 1\n%ld" },
{ Lang::Finnish, "1. sija\n%ld" },
{ Lang::French, "Meilleur score 1\n%ld" },
{ Lang::Hebrew, "High Score 1\n%ld" },
{ Lang::Hungarian, "1. helyezett:\n%ld" },
{ Lang::Italian, "Punteggi migliori 1\n%ld" },
{ Lang::Japanese, "ハイスコア 1\n%ld" },
{ Lang::Korean, "고득점 1\n%ld" },
{ Lang::Norwegian, "Beste resultat 1\n%ld" },
{ Lang::Dutch, "Topscore 1\n%ld" },
{ Lang::Polish, "Najlepszy wynik 1\n%ld" },
{ Lang::BrazilianPortuguese, "Recorde 1\n%ld" },
{ Lang::Portuguese, "Recorde 1\n%ld" },
{ Lang::Russian, "Рекорд 1\n%ld" },
{ Lang::Swedish, "Poängrekord 1\n%ld" },
{ Lang::Turkish, "1. Yüksek Skor\n%ld" },
{ Lang::SimplifiedChinese, "高分 1\n%ld" },
{ Lang::TraditionalChinese, "高分 1\n%ld" },
},
},
{
Msg::STRING285,
{
{ Lang::Arabic, "أفضل النتائج 2\n%ld" },
{ Lang::Czech, "Nejlepší výsledek 2\n%ld" },
{ Lang::Danish, "Point 2\n%ld" },
{ Lang::German, "Bestwertung 2\n%ld" },
{ Lang::Greek, "Καλύτερη βαθμολογία 2\n%ld" },
{ Lang::English, "High Score 2\n%ld" },
{ Lang::Spanish, "Puntuación máxima 2\n%ld" },
{ Lang::Finnish, "2. sija\n%ld" },
{ Lang::French, "Meilleur score 2\n%ld" },
{ Lang::Hebrew, "High Score 2\n%ld" },
{ Lang::Hungarian, "2. helyezett:\n%ld" },
{ Lang::Italian, "Punteggi migliori 2\n%ld" },
{ Lang::Japanese, "ハイスコア 2\n%ld" },
{ Lang::Korean, "고득점 2\n%ld" },
{ Lang::Norwegian, "Beste resultat 2\n%ld" },
{ Lang::Dutch, "Topscore 2\n%ld" },
{ Lang::Polish, "Najlepszy wynik 2\n%ld" },
{ Lang::BrazilianPortuguese, "Recorde 2\n%ld" },
{ Lang::Portuguese, "Recorde 2\n%ld" },
{ Lang::Russian, "Рекорд 2\n%ld" },
{ Lang::Swedish, "Poängrekord 2\n%ld" },
{ Lang::Turkish, "2. Yüksek Skor\n%ld" },
{ Lang::SimplifiedChinese, "高分 2\n%ld" },
{ Lang::TraditionalChinese, "高分 2\n%ld" },
},
},
{
Msg::STRING286,
{
{ Lang::Arabic, "أفضل النتائج 3\n%ld" },
{ Lang::Czech, "Nejlepší výsledek 3\n%ld" },
{ Lang::Danish, "Point 3\n%ld" },
{ Lang::German, "Bestwertung 3\n%ld" },
{ Lang::Greek, "Καλύτερη βαθμολογία 3\n%ld" },
{ Lang::English, "High Score 3\n%ld" },
{ Lang::Spanish, "Puntuación máxima 3\n%ld" },
{ Lang::Finnish, "3. sija\n%ld" },
{ Lang::French, "Meilleur score 3\n%ld" },
{ Lang::Hebrew, "High Score 3\n%ld" },
{ Lang::Hungarian, "3. helyezett:\n%ld" },
{ Lang::Italian, "Punteggi migliori 3\n%ld" },
{ Lang::Japanese, "ハイスコア 3\n%ld" },
{ Lang::Korean, "고득점 3\n%ld" },
{ Lang::Norwegian, "Beste resultat 3\n%ld" },
{ Lang::Dutch, "Topscore 3\n%ld" },
{ Lang::Polish, "Najlepszy wynik 3\n%ld" },
{ Lang::BrazilianPortuguese, "Recorde 3\n%ld" },
{ Lang::Portuguese, "Recorde 3\n%ld" },
{ Lang::Russian, "Рекорд 3\n%ld" },
{ Lang::Swedish, "Poängrekord 3\n%ld" },
{ Lang::Turkish, "3. Yüksek Skor\n%ld" },
{ Lang::SimplifiedChinese, "高分 3\n%ld" },
{ Lang::TraditionalChinese, "高分 3\n%ld" },
},
},
{
Msg::STRING287,
{
{ Lang::Arabic, "أفضل النتائج 4\n%ld" },
{ Lang::Czech, "Nejlepší výsledek 4\n%ld" },
{ Lang::Danish, "Point 4\n%ld" },
{ Lang::German, "Bestwertung 4\n%ld" },
{ Lang::Greek, "Καλύτερη βαθμολογία 4\n%ld" },
{ Lang::English, "High Score 4\n%ld" },
{ Lang::Spanish, "Puntuación máxima 4\n%ld" },
{ Lang::Finnish, "4. sija\n%ld" },
{ Lang::French, "Meilleur score 4\n%ld" },
{ Lang::Hebrew, "High Score 4\n%ld" },
{ Lang::Hungarian, "4. helyezett:\n%ld" },
{ Lang::Italian, "Punteggi migliori 4\n%ld" },
{ Lang::Japanese, "ハイスコア 4\n%ld" },
{ Lang::Korean, "고득점 4\n%ld" },
{ Lang::Norwegian, "Beste resultat 4\n%ld" },
{ Lang::Dutch, "Topscore 4\n%ld" },
{ Lang::Polish, "Najlepszy wynik 4\n%ld" },
{ Lang::BrazilianPortuguese, "Recorde 4\n%ld" },
{ Lang::Portuguese, "Recorde 4\n%ld" },
{ Lang::Russian, "Рекорд 4\n%ld" },
{ Lang::Swedish, "Poängrekord 4\n%ld" },
{ Lang::Turkish, "4. Yüksek Skor\n%ld" },
{ Lang::SimplifiedChinese, "高分 4\n%ld" },
{ Lang::TraditionalChinese, "高分 4\n%ld" },
},
},
{
Msg::STRING288,
{
{ Lang::Arabic, "أفضل النتائج 5\n%ld" },
{ Lang::Czech, "Nejlepší výsledek 5\n%ld" },
{ Lang::Danish, "Point 5\n%ld" },
{ Lang::German, "Bestwertung 5\n%ld" },
{ Lang::Greek, "Καλύτερη βαθμολογία 5\n%ld" },
{ Lang::English, "High Score 5\n%ld" },
{ Lang::Spanish, "Puntuación máxima 5\n%ld" },
{ Lang::Finnish, "5. sija\n%ld" },
{ Lang::French, "Meilleur score 5\n%ld" },
{ Lang::Hebrew, "High Score 5\n%ld" },
{ Lang::Hungarian, "5. helyezett:\n%ld" },
{ Lang::Italian, "Punteggi migliori 5\n%ld" },
{ Lang::Japanese, "ハイスコア 5\n%ld" },
{ Lang::Korean, "고득점 5\n%ld" },
{ Lang::Norwegian, "Beste resultat 5\n%ld" },
{ Lang::Dutch, "Topscore 5\n%ld" },
{ Lang::Polish, "Najlepszy wynik 5\n%ld" },
{ Lang::BrazilianPortuguese, "Recorde 5\n%ld" },
{ Lang::Portuguese, "Recorde 5\n%ld" },
{ Lang::Russian, "Рекорд 5\n%ld" },
{ Lang::Swedish, "Poängrekord 5\n%ld" },
{ Lang::Turkish, "5. Yüksek Skor\n%ld" },
{ Lang::SimplifiedChinese, "高分 5\n%ld" },
{ Lang::TraditionalChinese, "高分 5\n%ld" },
},
},
{
Msg::TextBoxColor,
{
{ Lang::Arabic, "255 255 255 (R G B لون الخط الافتراضي)" },
{ Lang::Czech, "128 128 255 (R G B default font color)" },
{ Lang::Danish, "255 255 255 (R G B standardskrifttypefarve)" },
{ Lang::German, "255 000 255 (R G B default font color)" },
{ Lang::Greek, "255 255 255 (R G B προεπιλεγμένο χρώμα)" },
{ Lang::English, "255 255 255 (R G B default font color)" },
{ Lang::Spanish, "255 255 255 (Color de fuente R G B predeterminado)" },
{ Lang::Finnish, "126 153 231 (R G B oletusfonttiväri)" },
{ Lang::French, "255 255 255 (Couleur RGB de la police par défaut)" },
{ Lang::Hebrew, "255 255 255 (R G B צבע גופן המשמש כברירת מחדל)" },
{ Lang::Hungarian, "255 255 255 (R G B alapértelmezett betűszín)" },
{ Lang::Italian, "255 255 255 (R G B colore predefinito)" },
{ Lang::Japanese, "148 204 244 (R G B 既定フォント カラー)" },
{ Lang::Korean, "255 255 255 (R G B 기본 글꼴 색)" },
{ Lang::Norwegian, "255 255 255 (R G B standard skriftfarge)" },
{ Lang::Dutch, "255 255 255 (R G B standaard lettertypekleur)" },
{ Lang::Polish, "255 255 255 (kolor R G B czcionki domyślnej)" },
{ Lang::BrazilianPortuguese, "255 255 255 (cor de fonte padrão R G B)" },
{ Lang::Portuguese, "255 255 255 (cor RGB predefinida para o tipo de letra)" },
{ Lang::Russian, "255 255 255 (R G B default font color)" },
{ Lang::Swedish, "255 255 255 (R G B default font color)" },
{ Lang::Turkish, "255 255 255 (R G B varsayılan yazı tipi rengi)" },
{ Lang::SimplifiedChinese, "255 255 255 (R G B 默认字体颜色)" },
{ Lang::TraditionalChinese, "255 255 255 (R G B 預設字型色彩)" },
},
},
{
Msg::HIGHSCORES_Caption,
{
{ Lang::Arabic, "أفضل النتائج" },
{ Lang::Czech, "Nejlepší výsledky" },
{ Lang::Danish, "Point" },
{ Lang::German, "Bestenliste" },
{ Lang::Greek, "Καλύτεροι παίκτες" },
{ Lang::English, "High Scores" },
{ Lang::Spanish, "Puntuaciones más altas" },
{ Lang::Finnish, "Parhaat tulokset" },
{ Lang::French, "Meilleurs scores" },
{ Lang::Hebrew, "ניקוד גבוה" },
{ Lang::Hungarian, "Legjobb eredmények" },
{ Lang::Italian, "Punteggi migliori" },
{ Lang::Japanese, "ハイスコア" },
{ Lang::Korean, "고득점" },
{ Lang::Norwegian, "Beste resultater" },
{ Lang::Dutch, "Topscores" },
{ Lang::Polish, "Najlepsze wyniki" },
{ Lang::BrazilianPortuguese, "Recordes" },
{ Lang::Portuguese, "Pontuações máximas" },
{ Lang::Russian, "Чемпионы" },
{ Lang::Swedish, "Poängrekord" },
{ Lang::Turkish, "Yüksek Skorlar" },
{ Lang::SimplifiedChinese, "高分" },
{ Lang::TraditionalChinese, "高分記錄" },
},
},
{
Msg::HIGHSCORES_Ok,
{
{ Lang::Arabic, "موافق" },
{ Lang::Czech, "OK" },
{ Lang::Danish, "OK" },
{ Lang::German, "OK" },
{ Lang::Greek, "OK" },
{ Lang::English, "OK" },
{ Lang::Spanish, "Aceptar" },
{ Lang::Finnish, "OK" },
{ Lang::French, "OK" },
{ Lang::Hebrew, "אישור" },
{ Lang::Hungarian, "OK" },
{ Lang::Italian, "OK" },
{ Lang::Japanese, "OK" },
{ Lang::Korean, "확인" },
{ Lang::Norwegian, "OK" },
{ Lang::Dutch, "OK" },
{ Lang::Polish, "OK" },
{ Lang::BrazilianPortuguese, "OK" },
{ Lang::Portuguese, "OK" },
{ Lang::Russian, "ОК" },
{ Lang::Swedish, "OK" },
{ Lang::Turkish, "Tamam" },
{ Lang::SimplifiedChinese, "确定" },
{ Lang::TraditionalChinese, "確定" },
},
},
{
Msg::HIGHSCORES_Cancel,
{
{ Lang::Arabic, "إلغاء الأمر" },
{ Lang::Czech, "Storno" },
{ Lang::Danish, "Annuller" },
{ Lang::German, "Abbrechen" },
{ Lang::Greek, "Άκυρο" },
{ Lang::English, "Cancel" },
{ Lang::Spanish, "Cancelar" },
{ Lang::Finnish, "Peruuta" },
{ Lang::French, "Annuler" },
{ Lang::Hebrew, "ביטול" },
{ Lang::Hungarian, "Mégse" },
{ Lang::Italian, "Annulla" },
{ Lang::Japanese, "キャンセル" },
{ Lang::Korean, "취소" },
{ Lang::Norwegian, "Avbryt" },
{ Lang::Dutch, "Annuleren" },
{ Lang::Polish, "Anuluj" },
{ Lang::BrazilianPortuguese, "Cancelar" },
{ Lang::Portuguese, "Cancelar" },
{ Lang::Russian, "Отмена" },
{ Lang::Swedish, "Avbryt" },
{ Lang::Turkish, "İptal" },
{ Lang::SimplifiedChinese, "取消" },
{ Lang::TraditionalChinese, "取消" },
},
},
{
Msg::HIGHSCORES_Clear,
{
{ Lang::Arabic, "مسح" },
{ Lang::Czech, "Vymazat" },
{ Lang::Danish, "Ryd" },
{ Lang::German, "Löschen" },
{ Lang::Greek, "Απαλοιφή" },
{ Lang::English, "Clear" },
{ Lang::Spanish, "Borrar" },
{ Lang::Finnish, "Tyhjennä" },
{ Lang::French, "Effacer" },
{ Lang::Hebrew, "נקה" },
{ Lang::Hungarian, "Törlés" },
{ Lang::Italian, "Cancella" },
{ Lang::Japanese, "クリア" },
{ Lang::Korean, "지우기" },
{ Lang::Norwegian, "Nullstill" },
{ Lang::Dutch, "Wissen" },
{ Lang::Polish, "Wyczyść" },
{ Lang::BrazilianPortuguese, "Limpar" },
{ Lang::Portuguese, "Limpar" },
{ Lang::Russian, "Очистить" },
{ Lang::Swedish, "Radera" },
{ Lang::Turkish, "Temizle" },
{ Lang::SimplifiedChinese, "清除" },
{ Lang::TraditionalChinese, "清除" },
},
},
{
Msg::HIGHSCORES_Name,
{
{ Lang::Arabic, "الاسم" },
{ Lang::Czech, "Jméno" },
{ Lang::Danish, "Navn" },
{ Lang::German, "Name" },
{ Lang::Greek, "Όνομα" },
{ Lang::English, "Name" },
{ Lang::Spanish, "Nombre" },
{ Lang::Finnish, "Nimi" },
{ Lang::French, "Nom" },
{ Lang::Hebrew, "שם" },
{ Lang::Hungarian, "Név" },
{ Lang::Italian, "Nome" },
{ Lang::Japanese, "名前" },
{ Lang::Korean, "이름" },
{ Lang::Norwegian, "Navn" },
{ Lang::Dutch, "Naam" },
{ Lang::Polish, "Nazwa" },
{ Lang::BrazilianPortuguese, "Nome" },
{ Lang::Portuguese, "Nome" },
{ Lang::Russian, "Игрок" },
{ Lang::Swedish, "Namn" },
{ Lang::Turkish, "Adı" },
{ Lang::SimplifiedChinese, "姓名" },
{ Lang::TraditionalChinese, "姓名" },
},
},
{
Msg::HIGHSCORES_Score,
{
{ Lang::Arabic, "النقاط" },
{ Lang::Czech, "Skóre" },
{ Lang::Danish, "Point" },
{ Lang::German, "Punkte" },
{ Lang::Greek, "Βαθμολογία" },
{ Lang::English, "Score" },
{ Lang::Spanish, "Puntuación" },
{ Lang::Finnish, "Tulos" },
{ Lang::French, "Score" },
{ Lang::Hebrew, "תוצאה" },
{ Lang::Hungarian, "Eredmény" },
{ Lang::Italian, "Punteggio" },
{ Lang::Japanese, "スコア" },
{ Lang::Korean, "점수" },
{ Lang::Norwegian, "Poeng" },
{ Lang::Dutch, "Score" },
{ Lang::Polish, "Wynik" },
{ Lang::BrazilianPortuguese, "Pontos" },
{ Lang::Portuguese, "Pontuação" },
{ Lang::Russian, "Счет" },
{ Lang::Swedish, "Poäng" },
{ Lang::Turkish, "Sonuç" },
{ Lang::SimplifiedChinese, "得分" },
{ Lang::TraditionalChinese, "分數" },
},
},
{
Msg::HIGHSCORES_Rank,
{
{ Lang::Arabic, "المركز" },
{ Lang::Czech, "Pořadí" },
{ Lang::Danish, "Placering" },
{ Lang::German, "Rang" },
{ Lang::Greek, "Κατάταξη" },
{ Lang::English, "Rank" },
{ Lang::Spanish, "Clasificación" },
{ Lang::Finnish, "Järjestys" },
{ Lang::French, "Rang" },
{ Lang::Hebrew, "דירוג" },
{ Lang::Hungarian, "Sorrend" },
{ Lang::Italian, "Classifica" },
{ Lang::Japanese, "順位" },
{ Lang::Korean, "순위" },
{ Lang::Norwegian, "Plassering" },
{ Lang::Dutch, "Positie" },
{ Lang::Polish, "Klasyfikacja" },
{ Lang::BrazilianPortuguese, "Classificação" },
{ Lang::Portuguese, "Posição" },
{ Lang::Russian, "Место" },
{ Lang::Swedish, "Rang" },
{ Lang::Turkish, "Derece" },
{ Lang::SimplifiedChinese, "名次" },
{ Lang::TraditionalChinese, "排名" },
},
},
{
Msg::KEYMAPPER_Caption,
{
{ Lang::Arabic, "3D Pinball: عناصر تحكم اللاعب" },
{ Lang::Czech, "Ovládání hry 3D Pinball" },
{ Lang::Danish, "3D Pinball: Styreredskaber for spiller" },
{ Lang::German, "3D-Pinball: Bedienelemente" },
{ Lang::Greek, "Φλίπερ-3Δ: Στοιχεία ελέγχου του παίχτη" },
{ Lang::English, "3D Pinball: Player Controls" },
{ Lang::Spanish, "Controles 3D Pinball" },
{ Lang::Finnish, "3D Pinball: pelin ohjaimet" },
{ Lang::French, "Contrôles de jeu de Pinball 3D" },
{ Lang::Hebrew, "Pinball תלת-מימדי: מקשי משחק" },
{ Lang::Hungarian, "3D flipper: mozgató billentyűk" },
{ Lang::Italian, "3D Pinball: controlli giocatore" },
{ Lang::Japanese, "3D ピンボール: コントロールの設定" },
{ Lang::Korean, "3D 핀볼: 게임 진행키 설정" },
{ Lang::Norwegian, "3D Pinball - Spillkontroller" },
{ Lang::Dutch, "3D Pinball: spelfuncties" },
{ Lang::Polish, "3D Pinball: Sterowniki gracza" },
{ Lang::BrazilianPortuguese, "Pinball 3D: controles do jogador" },
{ Lang::Portuguese, "3D Pinball: controlos do jogador" },
{ Lang::Russian, "Пинбол: клавиши управления" },
{ Lang::Swedish, "3D Pinball: Spelkontroller" },
{ Lang::Turkish, "3D Pinball: Oyuncu Denetimleri" },
{ Lang::SimplifiedChinese, "三维弹球:玩家控制" },
{ Lang::TraditionalChinese, "立體彈珠台:玩家控制" },
},
},
{
Msg::KEYMAPPER_Ok,
{
{ Lang::Arabic, "موافق" },
{ Lang::Czech, "OK" },
{ Lang::Danish, "OK" },
{ Lang::German, "OK" },
{ Lang::Greek, "OK" },
{ Lang::English, "OK" },
{ Lang::Spanish, "Aceptar" },
{ Lang::Finnish, "OK" },
{ Lang::French, "OK" },
{ Lang::Hebrew, "אישור" },
{ Lang::Hungarian, "OK" },
{ Lang::Italian, "OK" },
{ Lang::Japanese, "OK" },
{ Lang::Korean, "확인" },
{ Lang::Norwegian, "OK" },
{ Lang::Dutch, "OK" },
{ Lang::Polish, "OK" },
{ Lang::BrazilianPortuguese, "OK" },
{ Lang::Portuguese, "OK" },
{ Lang::Russian, "ОК" },
{ Lang::Swedish, "OK" },
{ Lang::Turkish, "Tamam" },
{ Lang::SimplifiedChinese, "确定" },
{ Lang::TraditionalChinese, "確定" },
},
},
{
Msg::KEYMAPPER_Cancel,
{
{ Lang::Arabic, "إلغاء الأمر" },
{ Lang::Czech, "Storno" },
{ Lang::Danish, "Annuller" },
{ Lang::German, "Abbrechen" },
{ Lang::Greek, "Άκυρο" },
{ Lang::English, "Cancel" },
{ Lang::Spanish, "Cancelar" },
{ Lang::Finnish, "Peruuta" },
{ Lang::French, "Annuler" },
{ Lang::Hebrew, "ביטול" },
{ Lang::Hungarian, "Mégse" },
{ Lang::Italian, "Annulla" },
{ Lang::Japanese, "キャンセル" },
{ Lang::Korean, "취소" },
{ Lang::Norwegian, "Avbryt" },
{ Lang::Dutch, "Annuleren" },
{ Lang::Polish, "Anuluj" },
{ Lang::BrazilianPortuguese, "Cancelar" },
{ Lang::Portuguese, "Cancelar" },
{ Lang::Russian, "Отмена" },
{ Lang::Swedish, "Avbryt" },
{ Lang::Turkish, "İptal" },
{ Lang::SimplifiedChinese, "取消" },
{ Lang::TraditionalChinese, "取消" },
},
},
{
Msg::KEYMAPPER_FlipperL,
{
{ Lang::Arabic, "المضرب الأيسر" },
{ Lang::Czech, "Levá páka" },
{ Lang::Danish, "Venstre flipper" },
{ Lang::German, "Linker Flipper" },
{ Lang::Greek, "Αριστερή ρακέτα" },
{ Lang::English, "Left Flipper" },
{ Lang::Spanish, "Impulsor izquierdo" },
{ Lang::Finnish, "Vasen siipi" },
{ Lang::French, "Flipper gauche" },
{ Lang::Hebrew, "פליפר שמאלי" },
{ Lang::Hungarian, "Bal oldali ütő" },
{ Lang::Italian, "Flipper sinistro" },
{ Lang::Japanese, "左フリッパー" },
{ Lang::Korean, "왼쪽 공격막대" },
{ Lang::Norwegian, "Venstre flipper" },
{ Lang::Dutch, "Linker-\nflipper" },
{ Lang::Polish, "Lewe ramię" },
{ Lang::BrazilianPortuguese, "Palheta esquerda" },
{ Lang::Portuguese, "Flipper esquerdo" },
{ Lang::Russian, "Левый флиппер" },
{ Lang::Swedish, "Vänster flipper" },
{ Lang::Turkish, "Sol Kol" },
{ Lang::SimplifiedChinese, "左挡板" },
{ Lang::TraditionalChinese, "左擋板" },
},
},
{
Msg::KEYMAPPER_FlipperR,
{
{ Lang::Arabic, "المضرب الأيمن" },
{ Lang::Czech, "Pravá páka" },
{ Lang::Danish, "Højre flipper" },
{ Lang::German, "Rechter Flipper" },
{ Lang::Greek, "Δεξιά ρακέτα" },
{ Lang::English, "Right Flipper" },
{ Lang::Spanish, "Impulsor derecho" },
{ Lang::Finnish, "Oikea siipi" },
{ Lang::French, "Flipper droit" },
{ Lang::Hebrew, "פליפר ימני" },
{ Lang::Hungarian, "Jobb oldali ütő" },
{ Lang::Italian, "Flipper destro" },
{ Lang::Japanese, "右フリッパー" },
{ Lang::Korean, "오른쪽 공격막대" },
{ Lang::Norwegian, "Høyre flipper" },
{ Lang::Dutch, "Rechter-\nflipper" },
{ Lang::Polish, "Prawe ramię" },
{ Lang::BrazilianPortuguese, "Palheta direita" },
{ Lang::Portuguese, "Flipper direito" },
{ Lang::Russian, "Правый флиппер" },
{ Lang::Swedish, "Höger flipper" },
{ Lang::Turkish, "Sağ Kol" },
{ Lang::SimplifiedChinese, "右挡板" },
{ Lang::TraditionalChinese, "右擋板" },
},
},
{
Msg::KEYMAPPER_Plunger,
{
{ Lang::Arabic, "الزناد" },
{ Lang::Czech, "Píst" },
{ Lang::Danish, "Stempel" },
{ Lang::German, "Abzug" },
{ Lang::Greek, "Ελατήριο" },
{ Lang::English, "Plunger" },
{ Lang::Spanish, "Pistón" },
{ Lang::Finnish, "Vetojousi" },
{ Lang::French, "Lanceur" },
{ Lang::Hebrew, "ידית הפעלה" },
{ Lang::Hungarian, "Dugattyú" },
{ Lang::Italian, "Lanciapalline" },
{ Lang::Japanese, "プランジャー" },
{ Lang::Korean, "구슬 쏘기" },
{ Lang::Norwegian, "Utskyter" },
{ Lang::Dutch, "Lanceerknop" },
{ Lang::Polish, "Wyrzutnia" },
{ Lang::BrazilianPortuguese, "Lançador" },
{ Lang::Portuguese, "Pistão" },
{ Lang::Russian, "Рычаг запуска" },
{ Lang::Swedish, "Avfyrning" },
{ Lang::Turkish, "Fırlatıcı" },
{ Lang::SimplifiedChinese, "撞针" },
{ Lang::TraditionalChinese, "發球桿" },
},
},
{
Msg::KEYMAPPER_BumpLeft,
{
{ Lang::Arabic, "المصد الأيسر في الطاولة" },
{ Lang::Czech, "Levý nárazník" },
{ Lang::Danish, "Bump fra venstre" },
{ Lang::German, "Tischstoß links" },
{ Lang::Greek, "Αριστερό χτύπημα" },
{ Lang::English, "Left Table Bump" },
{ Lang::Spanish, "Golpear el lado izquierdo" },
{ Lang::Finnish, "Vasemman reunan tönäisy" },
{ Lang::French, "Bourrage à gauche" },
{ Lang::Hebrew, "דחיפת שולחן משמאל" },
{ Lang::Hungarian, "Asztalba rúgás balról" },
{ Lang::Italian, "Spinta da sinistra" },
{ Lang::Japanese, "左テーブル バンプ" },
{ Lang::Korean, "테이블 왼쪽 흔들기" },
{ Lang::Norwegian, "Dunk venstre bordkant" },
{ Lang::Dutch, "Duw naar rechts" },
{ Lang::Polish, "Uderzenie w stół z lewej strony" },
{ Lang::BrazilianPortuguese, "Tapa à esquerda da mesa" },
{ Lang::Portuguese, "Pancada do lado esquerdo" },
{ Lang::Russian, "Толчок стола слева" },
{ Lang::Swedish, "Vänsterstöt" },
{ Lang::Turkish, "Sol Masa Darbesi" },
{ Lang::SimplifiedChinese, "左桌凸块" },
{ Lang::TraditionalChinese, "左檯碰撞" },
},
},
{
Msg::KEYMAPPER_BumpRight,
{
{ Lang::Arabic, "المصد الأيمن في الطاولة" },
{ Lang::Czech, "Pravý nárazník" },
{ Lang::Danish, "Bump fra højre" },
{ Lang::German, "Tischstoß rechts" },
{ Lang::Greek, "Δεξιό χτύπημα" },
{ Lang::English, "Right Table Bump" },
{ Lang::Spanish, "Golpear el lado derecho" },
{ Lang::Finnish, "Oikean reunan tönäisy" },
{ Lang::French, "Bourrage à droite" },
{ Lang::Hebrew, "דחיפת שולחן מימין" },
{ Lang::Hungarian, "Asztalba rúgás jobbról" },
{ Lang::Italian, "Spinta da destra" },
{ Lang::Japanese, "右テーブル バンプ" },
{ Lang::Korean, "테이블 오른쪽 흔들기" },
{ Lang::Norwegian, "Dunk høyre bordkant" },
{ Lang::Dutch, "Duw naar links" },
{ Lang::Polish, "Uderzenie w stół z prawej strony" },
{ Lang::BrazilianPortuguese, "Tapa à direita da mesa" },
{ Lang::Portuguese, "Pancada do lado direito" },
{ Lang::Russian, "Толчок стола справа" },
{ Lang::Swedish, "Högerstöt" },
{ Lang::Turkish, "Sağ Masa Darbesi" },
{ Lang::SimplifiedChinese, "右桌凸块" },
{ Lang::TraditionalChinese, "右檯碰撞" },
},
},
{
Msg::KEYMAPPER_BumpBottom,
{
{ Lang::Arabic, "المصد السفلي في الطاولة" },
{ Lang::Czech, "Dolní nárazník" },
{ Lang::Danish, "Bump nedefra" },
{ Lang::German, "Tischstoß unten" },
{ Lang::Greek, "Χτύπημα από κάτω" },
{ Lang::English, "BottomTable Bump" },
{ Lang::Spanish, "Golpear de frente" },
{ Lang::Finnish, "Alareunan tönäisy" },
{ Lang::French, "Bourrage en bas" },
{ Lang::Hebrew, "דחיפת שולחן מלמטה" },
{ Lang::Hungarian, "Asztalba rúgás alulról" },
{ Lang::Italian, "Spinta dal basso" },
{ Lang::Japanese, "ボトムテーブル バンプ" },
{ Lang::Korean, "테이블 아래쪽 흔들기" },
{ Lang::Norwegian, "Dunk nedre kant" },
{ Lang::Dutch, "Duw van onderen" },
{ Lang::Polish, "Uderzenie w stół od dołu" },
{ Lang::BrazilianPortuguese, "Tapa frontal na mesa" },
{ Lang::Portuguese, "Pancada no fundo" },
{ Lang::Russian, "Толчок стола снизу" },
{ Lang::Swedish, "Uppåtstöt" },
{ Lang::Turkish, "Alt Masa Darbesi" },
{ Lang::SimplifiedChinese, "底桌凸块" },
{ Lang::TraditionalChinese, "底檯碰撞" },
},
},
{
Msg::KEYMAPPER_Default,
{
{ Lang::Arabic, "الافتراضي" },
{ Lang::Czech, "Výchozí" },
{ Lang::Danish, "Standard" },
{ Lang::German, "Standard" },
{ Lang::Greek, "Προεπιλογή" },
{ Lang::English, "Default" },
{ Lang::Spanish, "Predeterminados" },
{ Lang::Finnish, "Oletus" },
{ Lang::French, "Par défaut" },
{ Lang::Hebrew, "ברירת מחדל" },
{ Lang::Hungarian, "Eredeti" },
{ Lang::Italian, "Predefiniti" },
{ Lang::Japanese, "既定" },
{ Lang::Korean, "기본값" },
{ Lang::Norwegian, "Standard" },
{ Lang::Dutch, "Standaard" },
{ Lang::Polish, "Domyślne" },
{ Lang::BrazilianPortuguese, "Padrão" },
{ Lang::Portuguese, "Predefinição" },
{ Lang::Russian, "По умолчанию" },
{ Lang::Swedish, "Standard" },
{ Lang::Turkish, "Varsayılan" },
{ Lang::SimplifiedChinese, "默认值" },
{ Lang::TraditionalChinese, "預設" },
},
},
{
Msg::KEYMAPPER_Help1,
{
{ Lang::Arabic, "لتغيير عناصر التحكم باللعبة، حدد خيارات عناصر التحكم التي تريدها ثم انقر فوق أزرار الأسهم لتغيير مفاتيح محددة ثم اختر " },
{ Lang::Czech, "Ovládání hry změníte vybráním ovládacího prvku a klepnutím na tlačítka šipek, která mění ovládací klávesy. Pak klepněte na tlačítko OK." },
{ Lang::Danish, "Hvis du vil ændre styretaster, skal du markere de ønskede indstillinger, klikke på pilknapperne for at ændre tasterne og derefter klikke på OK." },
{ Lang::German, "Wählen Sie die gewünschten Optionen zum Ändern der Bedienelemente, und klicken Sie auf die Pfeile, um die Tastenbelegung zu ändern. Klicken Sie auf " },
{ Lang::Greek, "Για να αλλάξετε τα πλήκτρα ελέγχου, επιλέξτε το στοιχείο που θέλετε, χρησιμοποιήστε τα πλήκτρα βέλους για να αλλάξετε τα πλήκτρα και μετά επιλέξτε " },
{ Lang::English, "To change game controls, choose the control options you want, click the Arrow buttons to change specific keys, and then choose OK." },
{ Lang::Spanish, "Para cambiar los controles del juego, elija la opción de control deseada, haga clic en los botones de flecha y elija Aceptar." },
{ Lang::Finnish, "Muuta pelin ohjaimia valitsemalla haluamasi ohjainasetukset. Muuta näppäimistömäärityksiä nuolinäppäimillä ja valitse sitten OK." },
{ Lang::French, "Pour modifier les contrôles de jeu, choisissez les options de contrôle que vous désirez, cliquez sur les boutons de liste déroulante pour modifier des touches spécifiques et cliquez sur OK." },
{ Lang::Hebrew, "כדי לשנות את מקשי המשחק, בחר באפשרויות הבקרה הרצויות, לחץ על לחצני החיצים כדי לשנות מקשים ספציפיים ולאחר מכן לחץ על אישור." },
{ Lang::Hungarian, "Válassza ki a mozgató funkciót, a nyilak segítségével rendelje hozzá a kívánt billentyűt, és nyomja meg az OK gombot." },
{ Lang::Italian, "Per cambiare i controlli della partita, selezionare le opzioni desiderate, fare clic sulla freccia a destra della casella per cambiare specifici tasti, quindi scegliere OK." },
{ Lang::Japanese, "ゲームのコントロールを変更するには、変更したいコントロール オプションを選び、リスト ボックスの矢印ボタンをクリックして希望のキーに変えて、[OK] をクリックしてください。" },
{ Lang::Korean, "게임 진행키 설정을 변경하려면 원하는 키 설정을 선택하고 화살표 단추를 클릭하여 특정 키를 변경한 다음 [확인]을 클릭하십시오." },
{ Lang::Norwegian, "Hvis du vil endre spillkontrollene, velger du spillkontrollene du vil bruke og velger i rullegardinlisten hvilke taster som skal representere dem (du kan også bruke piltastene for å velge). Velg deretter OK." },
{ Lang::Dutch, "Als u een spelfunctie wilt wijzigen, dient u de gewenste functie te kiezen en met behulp van de pijltoetsen andere toetsen te selecteren. Klik vervolgens op OK." },
{ Lang::Polish, "Aby zmienić klawisze sterowania grą, wybierz opcję, którą chcesz zmienić, kliknij przycisk strzałki, wybierz żądany klawisz i kliknij przycisk OK." },
{ Lang::BrazilianPortuguese, "Para alterar os controles do jogo, selecione as opções desejadas, clique nas setas para alterar teclas específicas e clique em 'OK'." },
{ Lang::Portuguese, "Para alterar os controlos de jogo seleccione as opções que deseja, faça clique sobre os botões de setas para alterar as teclas específicas e, de seguida, seleccione 'OK'." },
{ Lang::Russian, "Для изменения клавиш управления выберите подходящие значения клавиш в раскрывающихся списках, а затем нажмите кнопку OK." },
{ Lang::Swedish, "Välj önskat kontrollalternativ och ange sedan tangent genom att klicka på pilknapparna. När du är klar väljer du OK." },
{ Lang::Turkish, "Oyun denetimlerini değiştirmek için, istediğiniz denetim seçeneğini seçip Ok tuşlarıyla dilediğiniz tuşu atadıktan sonra Tamam'a basın." },
{ Lang::SimplifiedChinese, "要改变游戏控制,请选择所需的控制选项,单击箭头按钮改变指定的键,然后选择“确定”。" },
{ Lang::TraditionalChinese, "若要變更遊戲控制,請選擇您要的控制選項,然後按方向按鈕來變更指定按鍵,之後選擇[確定]。" },
},
},
{
Msg::KEYMAPPER_Help2,
{
{ Lang::Arabic, "لاستعادة 3D Pinball إلى الإعدادات الأصلية، اختر " },
{ Lang::Czech, "Původní nastavení hry 3D Pinball obnovíte klepnutím na tlačítko Výchozí a poté OK. Pokud chcete používat šipkové klávesy na numerické klávesnici, musí být indikátor Num Lock vypnutý." },
{ Lang::Danish, "Hvis du vil gendanne de oprindelige indstillinger for 3D Pinball, skal du klikke på Standard og derefter på OK. Hvis du vil bruge tasterne på det numeriske tastatur, skal NumLock være slået fra." },
{ Lang::German, "Klicken Sie auf " },
{ Lang::Greek, "Γι α να επαναφέρετε τις αρχικές ρυθμίσεις του Φλίπερ- 3Δ, επιλέξτε " },
{ Lang::English, "To restore 3D Pinball to its original settings, choose Default, and then choose OK. To use the Arrow keys on the numeric keypad, make sure NUMLOCK is off." },
{ Lang::Spanish, "Para recuperar la configuración original de 3D Pinball, elija Predeterminados y luego Aceptar. Cuando utilice las teclas de dirección en el teclado numérico, compruebe que Bloq Num está desactivado." },
{ Lang::Finnish, "Palauta 3D Pinballin alkuperäiset asetukset valitsemalla Oletus ja sitten OK. Käytä numeronäppäimistön nuolinäppäimiä ja varmista, että NUM LOCK ei ole käytössä." },
{ Lang::French, "Pour restaurer les paramètres d'origine de 3D Pinball, choisissez Par défaut et cliquez sur OK. Pour utiliser les flèches du pavé numérique, vérifiez que Verr. Num. est désactivé." },
{ Lang::Hebrew, "כדי לשחזר את ההגדרות המקוריות של Pinball תלת-מימדי, לחץ על ברירת מחדל ולאחר מכן לחץ על אישור. כדי להשתמש במקשי החיצים במקלדת הנומרית, ודא כי מקש NUMLOCK אינו פעיל." },
{ Lang::Hungarian, "Ha vissza kívánja állítani a 3D-flipper eredeti beállításait, kattintson az Eredeti, majd az OK gombra. A numerikus billentyűzet nyílbillentyűinek használatához a NUMLOCK-ot ki kell kapcsolni." },
{ Lang::Italian, "Per ripristinare i controlli originali di 3D Pinball, scegliere Predefiniti, quindi OK. Per usare i tasti di direzione sul tastierino numerico, assicurarsi che BLOC NUM sia disattivato." },
{ Lang::Japanese, "3D ピンボールを元の設定に戻すには、[既定]、[OK] の順にクリックしてください。テンキー上の方向キーを使う場合は、NumLock キーがオフになっていることを確かめてください。" },
{ Lang::Korean, "3D 핀볼의 원래 설정을 복원하려면 [기본값]을 선택한 다음 [확인]을 클릭하십시오. 숫자 키패드에서 화살표를 사용하려면 <Num Lock> 키가 꺼져 있는지 확인하십시오." },
{ Lang::Norwegian, "Velg Standard hvis du vil tilbakestille 3D Pinball til originalinnstillingene. Deretter velger du OK. Hvis du vil bruke pilene på det numeriske tastaturet, må Num Lock være deaktivert." },
{ Lang::Dutch, "Klik op Standaard en vervolgens op OK als u de oorspronkelijke instellingen wilt herstellen. Controleer of NUM LOCK is uitgeschakeld als u de pijltoetsen op het numerieke toetsenblok wilt gebruiken." },
{ Lang::Polish, "Aby przywrócić oryginalne ustawienia gry 3D Pinball, kliknij przycisk Domyślne, a następnie kliknij przycisk OK. Aby używać klawiszy strzałek na klawiaturze numerycznej upewnij się, że klawisz NUMLOCK jest wyłączony." },
{ Lang::BrazilianPortuguese, "Para restaurar as configurações originais do Pinball 3D, clique em 'Padrão' e em 'OK'. Para usar as teclas de direção do teclado numérico, certifique-se de que a tecla NUMLOCK está desativada." },
{ Lang::Portuguese, "Para restaurar as definições originais do 3D Pinball, seleccione 'Predefinições' e, em seguida, seleccione 'OK'. Para usar as teclas de setas no teclado numérico, certifique-se de que o NUMLOCK está desligado." },
{ Lang::Russian, "Для восстановления стандартных значений клавиш управления нажмите кнопку " },
{ Lang::Swedish, "Om du vill återställa de ursprungliga inställningarna för 3D Pinball väljer du Standard och sedan OK. Om du vill använda piltangenterna på det numeriska tangentbordet måste NUMLOCK vara av." },
{ Lang::Turkish, "3D Pinball" },
{ Lang::SimplifiedChinese, "要将“三维弹球”还原到其原设置,请选择 “默认值”,然后选择“确定”。要使用数字键盘上的箭头键,请确认 NUMLOCK 已关闭。" },
{ Lang::TraditionalChinese, "若要將立體彈珠台還原成原始設定,請選擇[預設],然後選擇[確定]。請使用數字鍵台上的方向鍵,並確定 NUMLOCK 指示燈號在關閉狀態。" },
},
},
{
Msg::KEYMAPPER_Groupbox1,
{
{ Lang::Arabic, "خيارات التحكم" },
{ Lang::Czech, "Možnosti ovládání" },
{ Lang::Danish, "Styreindstillinger" },
{ Lang::German, "Optionen" },
{ Lang::Greek, "Επιλογές στοιχείων ελέγχου" },
{ Lang::English, "Control Options" },
{ Lang::Spanish, "Opciones de control" },
{ Lang::Finnish, "Ohjaimien asetukset" },
{ Lang::French, "Options de contrôle" },
{ Lang::Hebrew, "אפשרויות בקרה" },
{ Lang::Hungarian, "Vezérlőműveletek" },
{ Lang::Italian, "Opzioni di controllo" },
{ Lang::Japanese, "コントロール オプション" },
{ Lang::Korean, "키 설정" },
{ Lang::Norwegian, "Kontrollalternativer" },
{ Lang::Dutch, "Besturingsopties" },
{ Lang::Polish, "Opcje sterowania" },
{ Lang::BrazilianPortuguese, "Opções de controle" },
{ Lang::Portuguese, "Opções de controlo" },
{ Lang::Russian, "Выбор клавиш управления" },
{ Lang::Swedish, "Alternativ för kontroller" },
{ Lang::Turkish, "Denetim Seçenekleri" },
{ Lang::SimplifiedChinese, "控制选项" },
{ Lang::TraditionalChinese, "控制選項" },
},
},
{
Msg::KEYMAPPER_Groupbox2,
{
{ Lang::Arabic, "إرشادات" },
{ Lang::Czech, "Návod" },
{ Lang::Danish, "Vejledning" },
{ Lang::German, "Anweisungen" },
{ Lang::Greek, "Οδηγίες" },
{ Lang::English, "Instructions" },
{ Lang::Spanish, "Instrucciones" },
{ Lang::Finnish, "Ohjeet" },
{ Lang::French, "Instructions" },
{ Lang::Hebrew, "הוראות" },
{ Lang::Hungarian, "Útmutató" },
{ Lang::Italian, "Istruzioni" },
{ Lang::Japanese, "説明" },
{ Lang::Korean, "설명" },
{ Lang::Norwegian, "Instruksjoner" },
{ Lang::Dutch, "Instructies" },
{ Lang::Polish, "Instrukcje" },
{ Lang::BrazilianPortuguese, "Instruções" },
{ Lang::Portuguese, "Instruções" },
{ Lang::Russian, "Указания" },
{ Lang::Swedish, "Instruktioner" },
{ Lang::Turkish, "Yönergeler" },
{ Lang::SimplifiedChinese, "说明" },
{ Lang::TraditionalChinese, "指示" },
},
},
{
Msg::Menu1_New_Game,
{
{ Lang::Arabic, "لعبة جديدة" },
{ Lang::Czech, "Nová hra" },
{ Lang::Danish, "Nyt spil" },
{ Lang::German, "Neues Spiel" },
{ Lang::Greek, "Νέο Παιχνίδι" },
{ Lang::English, "New Game" },
{ Lang::Spanish, "Nuevo juego" },
{ Lang::Finnish, "Uusi peli" },
{ Lang::French, "Nouvelle partie" },
{ Lang::Hebrew, "משחק חדש" },
{ Lang::Hungarian, "Új játék" },
{ Lang::Italian, "Nuova partita" },
{ Lang::Japanese, "スタート" },
{ Lang::Korean, "새 게임" },
{ Lang::Norwegian, "Nytt spill" },
{ Lang::Dutch, "Nieuw spel" },
{ Lang::Polish, "Nowa gra" },
{ Lang::BrazilianPortuguese, "Novo jogo" },
{ Lang::Portuguese, "Novo jogo" },
{ Lang::Russian, "Новая игра" },
{ Lang::Swedish, "Nytt spel" },
{ Lang::Turkish, "Yeni Oyun" },
{ Lang::SimplifiedChinese, "开局" },
{ Lang::TraditionalChinese, "新遊戲" },
},
},
{
Msg::Menu1_About_Pinball,
{
{ Lang::Arabic, "حول Pinball" },
{ Lang::Czech, "O hře Pinball" },
{ Lang::Danish, "Om Pinball" },
{ Lang::German, "Info" },
{ Lang::Greek, "Πληροφορίες για το Φλίπερ" },
{ Lang::English, "About Pinball" },
{ Lang::Spanish, "Acerca de Pinball" },
{ Lang::Finnish, "Tietoja Pinballista" },
{ Lang::French, "À propos de Pinball 3D" },
{ Lang::Hebrew, "אודות Pinball" },
{ Lang::Hungarian, "Névjegy" },
{ Lang::Italian, "Informazioni su Pinball" },
{ Lang::Japanese, "バージョン情報" },
{ Lang::Korean, "핀볼 정보" },
{ Lang::Norwegian, "Om Pinball" },
{ Lang::Dutch, "Info" },
{ Lang::Polish, "Pinball - informacje" },
{ Lang::BrazilianPortuguese, "Sobre o Pinball" },
{ Lang::Portuguese, "Acerca do Pinball" },
{ Lang::Russian, "О программе" },
{ Lang::Swedish, "Om Pinball" },
{ Lang::Turkish, "Pinball Hakkında" },
{ Lang::SimplifiedChinese, "关于弹球" },
{ Lang::TraditionalChinese, "關於彈珠台" },
},
},
{
Msg::Menu1_High_Scores,
{
{ Lang::Arabic, "أفضل النتائج..." },
{ Lang::Czech, "Nejlepší výsledky..." },
{ Lang::Danish, "Point..." },
{ Lang::German, "Bestenliste..." },
{ Lang::Greek, "Καλύτεροι παίκτες..." },
{ Lang::English, "High Scores..." },
{ Lang::Spanish, "Puntuaciones más altas..." },
{ Lang::Finnish, "Parhaat tulokset..." },
{ Lang::French, "Meilleurs scores..." },
{ Lang::Hebrew, "ניקוד גבוה..." },
{ Lang::Hungarian, "Legjobb eredmények..." },
{ Lang::Italian, "Punteggi migliori..." },
{ Lang::Japanese, "ハイスコア..." },
{ Lang::Korean, "고득점..." },
{ Lang::Norwegian, "Beste resultater..." },
{ Lang::Dutch, "Topscores..." },
{ Lang::Polish, "Najlepsze wyniki..." },
{ Lang::BrazilianPortuguese, "Recordes..." },
{ Lang::Portuguese, "Pontuações máximas..." },
{ Lang::Russian, "Чемпионы..." },
{ Lang::Swedish, "Poängrekord..." },
{ Lang::Turkish, "Yüksek Skorlar..." },
{ Lang::SimplifiedChinese, "高分..." },
{ Lang::TraditionalChinese, "高分記錄..." },
},
},
{
Msg::Menu1_Exit,
{
{ Lang::Arabic, "إنهاء" },
{ Lang::Czech, "Konec" },
{ Lang::Danish, "Afslut" },
{ Lang::German, "Beenden" },
{ Lang::Greek, "Έξοδος" },
{ Lang::English, "Exit" },
{ Lang::Spanish, "Salir" },
{ Lang::Finnish, "Lopeta" },
{ Lang::French, "Quitter" },
{ Lang::Hebrew, "יציאה" },
{ Lang::Hungarian, "Kilépés" },
{ Lang::Italian, "Esci" },
{ Lang::Japanese, "3D ピンボールの終了" },
{ Lang::Korean, "끝내기" },
{ Lang::Norwegian, "Avslutt" },
{ Lang::Dutch, "Afsluiten" },
{ Lang::Polish, "Zakończ" },
{ Lang::BrazilianPortuguese, "Sair" },
{ Lang::Portuguese, "Sair" },
{ Lang::Russian, "Выход" },
{ Lang::Swedish, "Avsluta" },
{ Lang::Turkish, "Çıkış" },
{ Lang::SimplifiedChinese, "退出" },
{ Lang::TraditionalChinese, "結束" },
},
},
{
Msg::Menu1_Sounds,
{
{ Lang::Arabic, "أصوات" },
{ Lang::Czech, "Zvuky" },
{ Lang::Danish, "Lyde" },
{ Lang::German, "Sounds" },
{ Lang::Greek, "Ήχοι" },
{ Lang::English, "Sounds" },
{ Lang::Spanish, "Sonidos" },
{ Lang::Finnish, "Äänet" },
{ Lang::French, "Sons" },
{ Lang::Hebrew, "צלילים" },
{ Lang::Hungarian, "Hang" },
{ Lang::Italian, "Effetti sonori" },
{ Lang::Japanese, "サウンド" },
{ Lang::Korean, "소리" },
{ Lang::Norwegian, "Lyder" },
{ Lang::Dutch, "Geluiden" },
{ Lang::Polish, "Dźwięki" },
{ Lang::BrazilianPortuguese, "Sons" },
{ Lang::Portuguese, "Sons" },
{ Lang::Russian, "Звуковые эффекты" },
{ Lang::Swedish, "Ljud" },
{ Lang::Turkish, "Ses Efekti" },
{ Lang::SimplifiedChinese, "声音" },
{ Lang::TraditionalChinese, "音效" },
},
},
{
Msg::Menu1_Music,
{
{ Lang::Arabic, "موسيقى" },
{ Lang::Czech, "Hudba" },
{ Lang::Danish, "Musik" },
{ Lang::German, "Musik" },
{ Lang::Greek, "Μουσική" },
{ Lang::English, "Music" },
{ Lang::Spanish, "Música" },
{ Lang::Finnish, "Musiikki" },
{ Lang::French, "Musique" },
{ Lang::Hebrew, "מוסיקה" },
{ Lang::Hungarian, "Zene" },
{ Lang::Italian, "Musica" },
{ Lang::Japanese, "音楽" },
{ Lang::Korean, "음악" },
{ Lang::Norwegian, "Musikk" },
{ Lang::Dutch, "Muziek" },
{ Lang::Polish, "Muzyka" },
{ Lang::BrazilianPortuguese, "Música" },
{ Lang::Portuguese, "Música" },
{ Lang::Russian, "Музыка" },
{ Lang::Swedish, "Musik" },
{ Lang::Turkish, "Müzik" },
{ Lang::SimplifiedChinese, "音乐" },
{ Lang::TraditionalChinese, "音樂" },
},
},
{
Msg::Menu1_Help_Topics,
{
{ Lang::Arabic, "مواضيع التعليمات" },
{ Lang::Czech, "Témata nápovědy" },
{ Lang::Danish, "Emner i Hjælp" },
{ Lang::German, "Hilfethemen" },
{ Lang::Greek, "Θέματα στη Βοήθεια" },
{ Lang::English, "Help Topics" },
{ Lang::Spanish, "Temas de Ayuda" },
{ Lang::Finnish, "Ohjeen aiheet" },
{ Lang::French, "Rubriques d'aide" },
{ Lang::Hebrew, "נושאי עזרה" },
{ Lang::Hungarian, "Témakörök" },
{ Lang::Italian, "Guida in linea" },
{ Lang::Japanese, "トピックの検索" },
{ Lang::Korean, "도움말 항목" },
{ Lang::Norwegian, "Emner i Hjelp" },
{ Lang::Dutch, "Help-onderwerpen" },
{ Lang::Polish, "Tematy Pomocy" },
{ Lang::BrazilianPortuguese, "Tópicos da Ajuda" },
{ Lang::Portuguese, "Tópicos da ajuda" },
{ Lang::Russian, "Вызов справки" },
{ Lang::Swedish, "Hjälpavsnitt" },
{ Lang::Turkish, "Yardım Konuları" },
{ Lang::SimplifiedChinese, "帮助主题" },
{ Lang::TraditionalChinese, "說明主題" },
},
},
{
Msg::Menu1_Launch_Ball,
{
{ Lang::Arabic, "إطلاق الكرة" },
{ Lang::Czech, "Vystřelit kuličku" },
{ Lang::Danish, "Affyr kugle" },
{ Lang::German, "Kugel einschießen" },
{ Lang::Greek, "Εκτόξευση μπίλιας" },
{ Lang::English, "Launch Ball" },
{ Lang::Spanish, "Lanzar bola" },
{ Lang::Finnish, "Laukaise pallo" },
{ Lang::French, "Lancer la balle" },
{ Lang::Hebrew, "שגר כדור" },
{ Lang::Hungarian, "Golyó kilövése" },
{ Lang::Italian, "Gioca pallina" },
{ Lang::Japanese, "ボール発射" },
{ Lang::Korean, "구슬 쏘기" },
{ Lang::Norwegian, "Skyt ut ball" },
{ Lang::Dutch, "Bal in spel brengen" },
{ Lang::Polish, "Załaduj kulkę" },
{ Lang::BrazilianPortuguese, "Lançar bola" },
{ Lang::Portuguese, "Lançar a bola" },
{ Lang::Russian, "Запуск шарика" },
{ Lang::Swedish, "Skjut iväg kulan" },
{ Lang::Turkish, "Topu Fırlat" },
{ Lang::SimplifiedChinese, "发射球" },
{ Lang::TraditionalChinese, "發球" },
},
},
{
Msg::Menu1_Pause_Resume_Game,
{
{ Lang::Arabic, "إيقاف مؤقت/استئناف اللعبة" },
{ Lang::Czech, "Pozastavit či pokračovat ve hře" },
{ Lang::Danish, "Afbryd/Fortsæt spil" },
{ Lang::German, "Spiel anhalten/fortsetzen" },
{ Lang::Greek, "Προσωρινή παύση/Συνέχιση παρτίδας" },
{ Lang::English, "Pause/Resume Game" },
{ Lang::Spanish, "Pausar o reanudar el juego" },
{ Lang::Finnish, "Pysäytä/jatka peliä" },
{ Lang::French, "Suspendre/Reprendre la partie" },
{ Lang::Hebrew, "השהה/חדש משחק" },
{ Lang::Hungarian, "Felfüggesztés/újraindítás" },
{ Lang::Italian, "Sospendi/Riprendi partita" },
{ Lang::Japanese, "一時停止/ゲーム再開" },
{ Lang::Korean, "게임 일시 중지/계속" },
{ Lang::Norwegian, "Pause/gjenoppta spill" },
{ Lang::Dutch, "Spel onderbreken/hervatten" },
{ Lang::Polish, "Wstrzymaj/wznów grę" },
{ Lang::BrazilianPortuguese, "Pausa/continuar jogo" },
{ Lang::Portuguese, "Parar/continuar jogo" },
{ Lang::Russian, "Пауза/возобновление игры" },
{ Lang::Swedish, "Pausa/fortsätt" },
{ Lang::Turkish, "Oyunu Duraklat/Sürdür" },
{ Lang::SimplifiedChinese, "暂停/继续游戏" },
{ Lang::TraditionalChinese, "暫停/繼續" },
},
},
{
Msg::Menu1_Full_Screen,
{
{ Lang::Arabic, "ملء الشاشة" },
{ Lang::Czech, "Celá obrazovka" },
{ Lang::Danish, "Fuld skærm" },
{ Lang::German, "Vollbild" },
{ Lang::Greek, "Πλήρης οθόνη" },
{ Lang::English, "Full Screen" },
{ Lang::Spanish, "Pantalla completa" },
{ Lang::Finnish, "Koko näyttö" },
{ Lang::French, "Plein écran" },
{ Lang::Hebrew, "מסך מלא" },
{ Lang::Hungarian, "Teljes képernyő" },
{ Lang::Italian, "Schermo intero" },
{ Lang::Japanese, "全画面表示" },
{ Lang::Korean, "전체 화면" },
{ Lang::Norwegian, "Full skjerm" },
{ Lang::Dutch, "Volledig scherm" },
{ Lang::Polish, "Pełny ekran" },
{ Lang::BrazilianPortuguese, "Tela inteira" },
{ Lang::Portuguese, "Ecrã inteiro" },
{ Lang::Russian, "Во весь экран" },
{ Lang::Swedish, "Helskärm" },
{ Lang::Turkish, "Tam Ekran" },
{ Lang::SimplifiedChinese, "全屏显示" },
{ Lang::TraditionalChinese, "全螢幕" },
},
},
{
Msg::Menu1_Demo,
{
{ Lang::Arabic, "عرض" },
{ Lang::Czech, "Ukázka" },
{ Lang::Danish, "Demo" },
{ Lang::German, "Demo" },
{ Lang::Greek, "Επίδειξη" },
{ Lang::English, "Demo" },
{ Lang::Spanish, "Demostración" },
{ Lang::Finnish, "Esittely" },
{ Lang::French, "Démonstration" },
{ Lang::Hebrew, "הדגמה" },
{ Lang::Hungarian, "Bemutató játék" },
{ Lang::Italian, "Dimostrazione" },
{ Lang::Japanese, "デモンストレーション" },
{ Lang::Korean, "데모" },
{ Lang::Norwegian, "Demonstrasjon" },
{ Lang::Dutch, "Demo" },
{ Lang::Polish, "Pokaz" },
{ Lang::BrazilianPortuguese, "Demonstração" },
{ Lang::Portuguese, "Demonstração" },
{ Lang::Russian, "Демонстрация" },
{ Lang::Swedish, "Demo" },
{ Lang::Turkish, "Gösteri" },
{ Lang::SimplifiedChinese, "演示" },
{ Lang::TraditionalChinese, "示範" },
},
},
{
Msg::Menu1_Select_Table,
{
{ Lang::Arabic, "تحديد طاولة" },
{ Lang::Czech, "Vybrat stůl" },
{ Lang::Danish, "Vælg bord" },
{ Lang::German, "Tisch auswählen" },
{ Lang::Greek, "Επιλογή πίνακα" },
{ Lang::English, "Select Table" },
{ Lang::Spanish, "Seleccionar tabla" },
{ Lang::Finnish, "Valitse kenttä" },
{ Lang::French, "Sélectionner un tableau" },
{ Lang::Hebrew, "בחר שולחן" },
{ Lang::Hungarian, "Asztal választás" },
{ Lang::Italian, "Seleziona tabella" },
{ Lang::Japanese, "テーブルの選択" },
{ Lang::Korean, "테이블 선택" },
{ Lang::Norwegian, "Velg bord" },
{ Lang::Dutch, "Kast selecteren" },
{ Lang::Polish, "Wybierz stół" },
{ Lang::BrazilianPortuguese, "Selecionar tabela" },
{ Lang::Portuguese, "Seleccionar tabela" },
{ Lang::Russian, "Выбор стола" },
{ Lang::Swedish, "Välj flipperspel" },
{ Lang::Turkish, "Masa Seç" },
{ Lang::SimplifiedChinese, "选定桌面" },
{ Lang::TraditionalChinese, "選擇桌台" },
},
},
{
Msg::Menu1_Player_Controls,
{
{ Lang::Arabic, "عناصر تحكم اللاعب..." },
{ Lang::Czech, "Ovládání hry..." },
{ Lang::Danish, "Styreredskaber for spiller..." },
{ Lang::German, "Bedienung..." },
{ Lang::Greek, "Στοιχεία ελέγχου του παίχτη..." },
{ Lang::English, "Player Controls..." },
{ Lang::Spanish, "Controles..." },
{ Lang::Finnish, "Pelin ohjaimet..." },
{ Lang::French, "Contrôles de jeu..." },
{ Lang::Hebrew, "מקשי משחק..." },
{ Lang::Hungarian, "Mozgató billentyűk..." },
{ Lang::Italian, "Controlli giocatore..." },
{ Lang::Japanese, "コントロールの設定..." },
{ Lang::Korean, "게임 진행키 설정..." },
{ Lang::Norwegian, "Spillkontroller..." },
{ Lang::Dutch, "Spelfuncties..." },
{ Lang::Polish, "Sterowniki gracza..." },
{ Lang::BrazilianPortuguese, "Controles do jogador..." },
{ Lang::Portuguese, "Controlos do jogador..." },
{ Lang::Russian, "Клавиши управления..." },
{ Lang::Swedish, "Spelkontroller..." },
{ Lang::Turkish, "Oyuncu Denetimleri..." },
{ Lang::SimplifiedChinese, "玩家控制..." },
{ Lang::TraditionalChinese, "玩家控制..." },
},
},
{
Msg::Menu1_1Player,
{
{ Lang::Arabic, "لاعب واحد" },
{ Lang::Czech, "1 hráč" },
{ Lang::Danish, "1 spiller" },
{ Lang::German, "1 Spieler" },
{ Lang::Greek, "1 Παίκτης" },
{ Lang::English, "1 Player" },
{ Lang::Spanish, "1 jugador" },
{ Lang::Finnish, "1 pelaaja" },
{ Lang::French, "1 joueur" },
{ Lang::Hebrew, "שחקן אחד" },
{ Lang::Hungarian, "1 játékos" },
{ Lang::Italian, "1 giocatore" },
{ Lang::Japanese, "1 人" },
{ Lang::Korean, "1명" },
{ Lang::Norwegian, "1 spiller" },
{ Lang::Dutch, "1 speler" },
{ Lang::Polish, "1 gracz" },
{ Lang::BrazilianPortuguese, "1 jogador" },
{ Lang::Portuguese, "1 jogador" },
{ Lang::Russian, "1 игрок" },
{ Lang::Swedish, "1 spelare" },
{ Lang::Turkish, "1 Oyuncu" },
{ Lang::SimplifiedChinese, "1 个玩家" },
{ Lang::TraditionalChinese, "1 個玩家" },
},
},
{
Msg::Menu1_2Players,
{
{ Lang::Arabic, "لاعبان" },
{ Lang::Czech, "2 hráči" },
{ Lang::Danish, "2 spillere" },
{ Lang::German, "2 Spieler" },
{ Lang::Greek, "2 Παίκτες" },
{ Lang::English, "2 Players" },
{ Lang::Spanish, "2 jugadores" },
{ Lang::Finnish, "2 pelaajaa" },
{ Lang::French, "2 joueurs" },
{ Lang::Hebrew, "שני שחקנים" },
{ Lang::Hungarian, "2 játékos" },
{ Lang::Italian, "2 giocatori" },
{ Lang::Japanese, "2 人" },
{ Lang::Korean, "2명" },
{ Lang::Norwegian, "2 spillere" },
{ Lang::Dutch, "2 spelers" },
{ Lang::Polish, "2 graczy" },
{ Lang::BrazilianPortuguese, "2 jogadores" },
{ Lang::Portuguese, "2 jogadores" },
{ Lang::Russian, "2 игрока" },
{ Lang::Swedish, "2 spelare" },
{ Lang::Turkish, "2 Oyuncu" },
{ Lang::SimplifiedChinese, "2 个玩家" },
{ Lang::TraditionalChinese, "2 個玩家" },
},
},
{
Msg::Menu1_3Players,
{
{ Lang::Arabic, "ثلاثة لاعبين" },
{ Lang::Czech, "3 hráči" },
{ Lang::Danish, "3 spillere" },
{ Lang::German, "3 Spieler" },
{ Lang::Greek, "3 Παίκτες" },
{ Lang::English, "3 Players" },
{ Lang::Spanish, "3 jugadores" },
{ Lang::Finnish, "3 pelaajaa" },
{ Lang::French, "3 joueurs" },
{ Lang::Hebrew, "שלושה שחקנים" },
{ Lang::Hungarian, "3 játékos" },
{ Lang::Italian, "3 giocatori" },
{ Lang::Japanese, "3 人" },
{ Lang::Korean, "3명" },
{ Lang::Norwegian, "3 spillere" },
{ Lang::Dutch, "3 spelers" },
{ Lang::Polish, "3 graczy" },
{ Lang::BrazilianPortuguese, "3 jogadores" },
{ Lang::Portuguese, "3 jogadores" },
{ Lang::Russian, "3 игрока" },
{ Lang::Swedish, "3 spelare" },
{ Lang::Turkish, "3 Oyuncu" },
{ Lang::SimplifiedChinese, "3 个玩家" },
{ Lang::TraditionalChinese, "3 個玩家" },
},
},
{
Msg::Menu1_4Players,
{
{ Lang::Arabic, "أربعة لاعبين" },
{ Lang::Czech, "4 hráči" },
{ Lang::Danish, "4 spillere" },
{ Lang::German, "4 Spieler" },
{ Lang::Greek, "4 Παίκτες" },
{ Lang::English, "4 Players" },
{ Lang::Spanish, "4 jugadores" },
{ Lang::Finnish, "4 pelaajaa" },
{ Lang::French, "4 joueurs" },
{ Lang::Hebrew, "ארבעה שחקנים" },
{ Lang::Hungarian, "4 játékos" },
{ Lang::Italian, "4 giocatori" },
{ Lang::Japanese, "4 人" },
{ Lang::Korean, "4명" },
{ Lang::Norwegian, "4 spillere" },
{ Lang::Dutch, "4 spelers" },
{ Lang::Polish, "4 graczy" },
{ Lang::BrazilianPortuguese, "4 jogadores" },
{ Lang::Portuguese, "4 jogadores" },
{ Lang::Russian, "4 игрока" },
{ Lang::Swedish, "4 spelare" },
{ Lang::Turkish, "4 Oyuncu" },
{ Lang::SimplifiedChinese, "4 个玩家" },
{ Lang::TraditionalChinese, "4 個玩家" },
},
},
{
Msg::Menu1_WindowUniformScale,
{
{ Lang::English, "Uniform Scaling" },
{ Lang::Russian, "Сохранение Пропорций" },
{ Lang::SimplifiedChinese, "锁定宽高比缩放" },
{ Lang::TraditionalChinese, "鎖定寬高比縮放" },
},
},
{
Msg::Menu1_Game,
{
{ Lang::Arabic, "لعبة" },
{ Lang::Czech, "Hra" },
{ Lang::Danish, "Spil" },
{ Lang::German, "Spiel" },
{ Lang::Greek, "Παρτίδα" },
{ Lang::English, "Game" },
{ Lang::Spanish, "Juego" },
{ Lang::Finnish, "Peli" },
{ Lang::French, "Partie" },
{ Lang::Hebrew, "משחק" },
{ Lang::Hungarian, "Játék" },
{ Lang::Italian, "Partita" },
{ Lang::Japanese, "ゲーム" },
{ Lang::Korean, "게임" },
{ Lang::Norwegian, "Spill" },
{ Lang::Dutch, "Spel" },
{ Lang::Polish, "Gra" },
{ Lang::BrazilianPortuguese, "Jogo" },
{ Lang::Portuguese, "Jogo" },
{ Lang::Russian, "Игра" },
{ Lang::Swedish, "Spel" },
{ Lang::Turkish, "Oyun" },
{ Lang::SimplifiedChinese, "游戏" },
{ Lang::TraditionalChinese, "遊戲" },
},
},
{
Msg::Menu1_Options,
{
{ Lang::Arabic, "خيارات" },
{ Lang::Czech, "Možnosti" },
{ Lang::Danish, "Indstillinger" },
{ Lang::German, "Optionen" },
{ Lang::Greek, "Επιλογές" },
{ Lang::English, "Options" },
{ Lang::Spanish, "Opciones" },
{ Lang::Finnish, "Asetukset" },
{ Lang::French, "Options" },
{ Lang::Hebrew, "אפשרויות" },
{ Lang::Hungarian, "Beállítások" },
{ Lang::Italian, "Opzioni" },
{ Lang::Japanese, "オプション" },
{ Lang::Korean, "옵션" },
{ Lang::Norwegian, "Alternativer" },
{ Lang::Dutch, "Opties" },
{ Lang::Polish, "Opcje" },
{ Lang::BrazilianPortuguese, "Opções" },
{ Lang::Portuguese, "Opções" },
{ Lang::Russian, "Параметры" },
{ Lang::Swedish, "Alternativ" },
{ Lang::Turkish, "Seçenekler" },
{ Lang::SimplifiedChinese, "选项" },
{ Lang::TraditionalChinese, "選項" },
},
},
{
Msg::Menu1_Select_Players,
{
{ Lang::Arabic, "تحديد اللاعبين" },
{ Lang::Czech, "Počet hráčů" },
{ Lang::Danish, "Vælg spillere" },
{ Lang::German, "Spieler auswählen" },
{ Lang::Greek, "Επιλογή παικτών" },
{ Lang::English, "Select Players" },
{ Lang::Spanish, "Seleccionar jugadores" },
{ Lang::Finnish, "Valitse pelaajat" },
{ Lang::French, "Choisir les joueurs" },
{ Lang::Hebrew, "בחר שחקנים" },
{ Lang::Hungarian, "Játékosok száma" },
{ Lang::Italian, "Seleziona giocatori" },
{ Lang::Japanese, "プレーヤーの選択" },
{ Lang::Korean, "게임 인원 선택" },
{ Lang::Norwegian, "Velg spillere" },
{ Lang::Dutch, "Spelers selecteren" },
{ Lang::Polish, "Wybierz graczy" },
{ Lang::BrazilianPortuguese, "Selecionar jogadores" },
{ Lang::Portuguese, "Seleccionar jogadores" },
{ Lang::Russian, "Выбор игроков" },
{ Lang::Swedish, "Antal spelare" },
{ Lang::Turkish, "Oyuncu Sayısını Seç" },
{ Lang::SimplifiedChinese, "选定玩家" },
{ Lang::TraditionalChinese, "選擇玩家" },
},
},
{
Msg::Menu1_Table_Resolution,
{
{ Lang::English, "Table Resolution" },
{ Lang::Russian, "Разрешение Стола" },
{ Lang::SimplifiedChinese, "桌面分辨率" },
{ Lang::TraditionalChinese, "桌台解析度" },
},
},
{
Msg::Menu1_Help,
{
{ Lang::Arabic, "تعليمات" },
{ Lang::Czech, "Nápověda" },
{ Lang::Danish, "Hjælp" },
{ Lang::German, "?" },
{ Lang::Greek, "Βοήθεια" },
{ Lang::English, "Help" },
{ Lang::Spanish, "Ayuda" },
{ Lang::Finnish, "Ohje" },
{ Lang::French, "?" },
{ Lang::Hebrew, "עזרה" },
{ Lang::Hungarian, "Súgó" },
{ Lang::Italian, "?" },
{ Lang::Japanese, "ヘルプ" },
{ Lang::Korean, "도움말" },
{ Lang::Norwegian, "Hjelp" },
{ Lang::Dutch, "Help" },
{ Lang::Polish, "Pomoc" },
{ Lang::BrazilianPortuguese, "Ajuda" },
{ Lang::Portuguese, "Ajuda" },
{ Lang::Russian, "Справка" },
{ Lang::Swedish, "Hjälp" },
{ Lang::Turkish, "Yardım" },
{ Lang::SimplifiedChinese, "帮助" },
{ Lang::TraditionalChinese, "說明" },
},
},
{
Msg::Menu1_UseMaxResolution_640x480,
{
{ Lang::English, "Use Maximum Resolution (640 x 480)" },
{ Lang::Russian, "Использовать Максимальное Разрешение (640 x 480)" },
{ Lang::SimplifiedChinese, "使用最大分辨率 (640 x 480)" },
{ Lang::TraditionalChinese, "使用最大解析度 (640 x 480)" },
},
},
{
Msg::Menu1_UseMaxResolution_800x600,
{
{ Lang::English, "Use Maximum Resolution (800 x 600)" },
{ Lang::Russian, "Использовать Максимальное Разрешение (800 x 600)" },
{ Lang::SimplifiedChinese, "使用最大分辨率 (800 x 600)" },
{ Lang::TraditionalChinese, "使用最大解析度 (800 x 600)" },
},
},
{
Msg::Menu1_UseMaxResolution_1024x768,
{
{ Lang::English, "Use Maximum Resolution (1024 x 768)" },
{ Lang::Russian, "Использовать Максимальное Разрешение (1024 x 768)" },
{ Lang::SimplifiedChinese, "使用最大分辨率 (1024 x 768)" },
{ Lang::TraditionalChinese, "使用最大解析度 (1024 x 768)" },
},
},
};

View file

@ -0,0 +1,331 @@
#pragma once
enum class Msg : int
{
Min = 0,
STRING101 = 0,
STRING102,
STRING103,
STRING104,
STRING105,
STRING106,
STRING107,
STRING108,
STRING109,
STRING110,
STRING111,
STRING112,
STRING113,
STRING114,
STRING115,
STRING116,
STRING117,
STRING118,
STRING119,
STRING120,
STRING121,
STRING122,
STRING123,
STRING124,
STRING125,
STRING126,
STRING127,
STRING128,
STRING129,
STRING130,
STRING131,
STRING132,
STRING133,
STRING134,
STRING135,
STRING136,
STRING139,
STRING141,
STRING142,
STRING144,
STRING145,
STRING146,
STRING147,
STRING148,
STRING149,
STRING150,
STRING151,
STRING152,
STRING153,
STRING154,
STRING155,
STRING156,
STRING157,
STRING158,
STRING159,
STRING160,
STRING161,
STRING162,
STRING163,
STRING164,
STRING165,
STRING166,
STRING167,
STRING168,
STRING169,
STRING170,
STRING171,
STRING172,
STRING173,
STRING174,
STRING175,
STRING176,
STRING177,
STRING178,
STRING179,
STRING180,
STRING181,
STRING182,
STRING183,
STRING184,
STRING185,
STRING186,
STRING187,
STRING188,
STRING189,
STRING190,
STRING191,
STRING192,
STRING193,
STRING194,
STRING195,
STRING196,
STRING197,
STRING198,
STRING199,
STRING200,
STRING201,
STRING204,
STRING205,
STRING206,
STRING207,
STRING208,
STRING209,
STRING210,
STRING211,
STRING212,
STRING213,
STRING214,
STRING215,
STRING216,
STRING217,
STRING218,
STRING219,
STRING220,
STRING221,
STRING222,
STRING223,
STRING224,
STRING225,
STRING226,
STRING227,
STRING228,
STRING229,
STRING230,
STRING231,
STRING232,
STRING233,
STRING234,
STRING235,
STRING236,
STRING237,
STRING238,
STRING239,
STRING240,
STRING241,
STRING242,
STRING243,
STRING244,
STRING245,
STRING246,
STRING247,
STRING248,
STRING249,
STRING250,
STRING251,
STRING252,
STRING253,
STRING254,
STRING255,
STRING256,
TextBoxUseBitmapFont,
STRING270,
STRING271,
STRING272,
STRING273,
STRING274,
STRING275,
STRING276,
STRING277,
STRING279,
STRING280,
STRING281,
STRING282,
STRING283,
STRING284,
STRING285,
STRING286,
STRING287,
STRING288,
TextBoxColor,
HIGHSCORES_Caption,
HIGHSCORES_Ok,
HIGHSCORES_Cancel,
HIGHSCORES_Clear,
HIGHSCORES_Name,
HIGHSCORES_Score,
HIGHSCORES_Rank,
KEYMAPPER_Caption,
KEYMAPPER_Ok,
KEYMAPPER_Cancel,
KEYMAPPER_FlipperL,
KEYMAPPER_FlipperR,
KEYMAPPER_Plunger,
KEYMAPPER_BumpLeft,
KEYMAPPER_BumpRight,
KEYMAPPER_BumpBottom,
KEYMAPPER_Default,
KEYMAPPER_Help1,
KEYMAPPER_Help2,
KEYMAPPER_Groupbox1,
KEYMAPPER_Groupbox2,
Menu1_New_Game,
Menu1_About_Pinball,
Menu1_High_Scores,
Menu1_Exit,
Menu1_Sounds,
Menu1_Music,
Menu1_Help_Topics,
Menu1_Launch_Ball,
Menu1_Pause_Resume_Game,
Menu1_Full_Screen,
Menu1_Demo,
Menu1_Select_Table,
Menu1_Player_Controls,
Menu1_1Player,
Menu1_2Players,
Menu1_3Players,
Menu1_4Players,
Menu1_WindowUniformScale,
Menu1_Game,
Menu1_Options,
Menu1_Select_Players,
Menu1_Table_Resolution,
Menu1_Help,
Menu1_UseMaxResolution_640x480,
Menu1_UseMaxResolution_800x600,
Menu1_UseMaxResolution_1024x768,
Max,
};
enum class Lang : int
{
Min = 0,
Arabic = 0,
Czech,
Danish,
German,
Greek,
English,
Spanish,
Finnish,
French,
Hebrew,
Hungarian,
Italian,
Japanese,
Korean,
Norwegian,
Dutch,
Polish,
BrazilianPortuguese,
Portuguese,
Russian,
Swedish,
Turkish,
SimplifiedChinese,
TraditionalChinese,
Max
};
struct TextArray
{
TextArray(const std::initializer_list<std::pair<Msg, std::initializer_list<std::pair<Lang, LPCSTR>>>>& iList)
{
for (const auto& msgPair : iList)
{
for (const auto& languagePair : msgPair.second)
{
assertm(!contains(msgPair.first, languagePair.first), "Key redefinition");
Set(msgPair.first, languagePair.first, languagePair.second);
}
}
for (auto i = Msg::Min; i < Msg::Max; i = static_cast<Msg>(static_cast<int>(i) + 1))
{
assertm(contains(i, Lang::English), "English text is mandatory for all keys");
}
}
LPCSTR Get(Msg msgId, Lang langId) const
{
assertm(TextArray::contains(msgId), "Message Id out of bounds");
assertm(TextArray::contains(langId), "Language Id out of bounds");
return Store[static_cast<int>(msgId)][static_cast<int>(langId)];
}
bool contains(Msg msgId, Lang langId) const
{
return contains(msgId) && Get(msgId, langId) != nullptr;
}
static bool contains(Msg msgId)
{
return msgId >= Msg::Min && msgId < Msg::Max;
}
static bool contains(Lang langId)
{
return langId >= Lang::Min && langId < Lang::Max;
}
private:
LPCSTR Store[static_cast<int>(Msg::Max )][static_cast<int>(Lang::Max)]{ nullptr };
void Set(Msg msgId, Lang langId, LPCSTR value)
{
assertm(TextArray::contains(msgId), "Message Id out of bounds");
assertm(TextArray::contains(langId), "Language Id out of bounds");
Store[static_cast<int>(msgId)][static_cast<int>(langId)] = value;
}
};
struct LanguageInfo
{
const Lang Language;
const char* ShortName;
const char* DisplayName;
};
class translations
{
public:
static const LanguageInfo Languages[static_cast<int>(Lang::Max)];
static const char* GetTranslation(Msg id);
static void SetCurrentLanguage(const char* short_name);
static const LanguageInfo* GetCurrentLanguage();
static void GetGlyphRange(ImVector<ImWchar>* ranges);
private:
static const TextArray Translations;
static Lang CurrentLanguage;
};

View file

@ -9,6 +9,8 @@
#include "pb.h" #include "pb.h"
#include "render.h" #include "render.h"
#include "Sound.h" #include "Sound.h"
#include "translations.h"
#include "font_selection.h"
SDL_Window* winmain::MainWindow = nullptr; SDL_Window* winmain::MainWindow = nullptr;
SDL_Renderer* winmain::Renderer = nullptr; SDL_Renderer* winmain::Renderer = nullptr;
@ -64,7 +66,7 @@ int winmain::WinMain(LPCSTR lpCmdLine)
// SDL window // SDL window
SDL_Window* window = SDL_CreateWindow SDL_Window* window = SDL_CreateWindow
( (
pinball::get_rc_string(38, 0), pinball::get_rc_string(Msg::STRING139),
SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED,
800, 556, 800, 556,
SDL_WINDOW_HIDDEN | SDL_WINDOW_RESIZABLE SDL_WINDOW_HIDDEN | SDL_WINDOW_RESIZABLE
@ -106,9 +108,6 @@ int winmain::WinMain(LPCSTR lpCmdLine)
ImGui::StyleColorsDark(); ImGui::StyleColorsDark();
ImGuiIO& io = ImGui::GetIO(); ImGuiIO& io = ImGui::GetIO();
ImIO = &io; ImIO = &io;
// ImGui_ImplSDL2_Init is private, we are not actually using ImGui OpenGl backend
ImGui_ImplSDL2_InitForOpenGL(window, nullptr);
io.ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard | ImGuiConfigFlags_NavEnableGamepad;
auto prefPath = SDL_GetPrefPath(nullptr, "SpaceCadetPinball"); auto prefPath = SDL_GetPrefPath(nullptr, "SpaceCadetPinball");
auto iniPath = std::string(prefPath) + "imgui_pb.ini"; auto iniPath = std::string(prefPath) + "imgui_pb.ini";
@ -117,6 +116,40 @@ int winmain::WinMain(LPCSTR lpCmdLine)
// First step: just load the options // First step: just load the options
options::InitPrimary(); options::InitPrimary();
if(!Options.FontFileName.empty())
{
ImGuiSDL::Deinitialize();
io.Fonts->Clear();
ImVector<ImWchar> ranges;
translations::GetGlyphRange(&ranges);
ImFontConfig fontConfig{};
// ToDo: further tweak font options, maybe try imgui_freetype
fontConfig.OversampleV = 2;
fontConfig.OversampleH = 4;
// ToDo: improve font file test, checking if file exists is not enough
auto fileName = Options.FontFileName.c_str();
auto fileHandle = fopenu(fileName, "rb");
if (fileHandle)
{
fclose(fileHandle);
// ToDo: Bind font size to UI scale
if (!io.Fonts->AddFontFromFileTTF(fileName, 13.f, &fontConfig, ranges.Data))
io.Fonts->AddFontDefault();
}
else
io.Fonts->AddFontDefault();
io.Fonts->Build();
ImGuiSDL::Initialize(renderer, 0, 0);
}
// ImGui_ImplSDL2_Init is private, we are not actually using ImGui OpenGl backend
ImGui_ImplSDL2_InitForOpenGL(window, nullptr);
io.ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard | ImGuiConfigFlags_NavEnableGamepad;
// Data search order: WD, executable path, user pref path, platform specific paths. // Data search order: WD, executable path, user pref path, platform specific paths.
auto basePath = SDL_GetBasePath(); auto basePath = SDL_GetBasePath();
std::vector<const char*> searchPaths std::vector<const char*> searchPaths
@ -372,34 +405,34 @@ void winmain::RenderUi()
fullscrn::window_size_changed(); fullscrn::window_size_changed();
} }
if (ImGui::BeginMenu("Game")) if (ImGui::BeginMenu(pinball::get_rc_string(Msg::Menu1_Game)))
{ {
if (ImGui::MenuItem("New Game", "F2")) if (ImGui::MenuItem(pinball::get_rc_string(Msg::Menu1_New_Game), "F2"))
{ {
new_game(); new_game();
} }
if (ImGui::MenuItem("Launch Ball", nullptr, false, LaunchBallEnabled)) if (ImGui::MenuItem(pinball::get_rc_string(Msg::Menu1_Launch_Ball), nullptr, false, LaunchBallEnabled))
{ {
end_pause(); end_pause();
pb::launch_ball(); pb::launch_ball();
} }
if (ImGui::MenuItem("Pause/Resume Game", "F3")) if (ImGui::MenuItem(pinball::get_rc_string(Msg::Menu1_Pause_Resume_Game), "F3"))
{ {
pause(); pause();
} }
ImGui::Separator(); ImGui::Separator();
if (ImGui::MenuItem("High Scores...", nullptr, false, HighScoresEnabled)) if (ImGui::MenuItem(pinball::get_rc_string(Msg::Menu1_High_Scores), nullptr, false, HighScoresEnabled))
{ {
pause(false); pause(false);
pb::high_scores(); pb::high_scores();
} }
if (ImGui::MenuItem("Demo", nullptr, DemoActive)) if (ImGui::MenuItem(pinball::get_rc_string(Msg::Menu1_Demo), nullptr, DemoActive))
{ {
end_pause(); end_pause();
pb::toggle_demo(); pb::toggle_demo();
} }
if (ImGui::MenuItem("Exit")) if (ImGui::MenuItem(pinball::get_rc_string(Msg::Menu1_Exit)))
{ {
SDL_Event event{SDL_QUIT}; SDL_Event event{SDL_QUIT};
SDL_PushEvent(&event); SDL_PushEvent(&event);
@ -407,45 +440,58 @@ void winmain::RenderUi()
ImGui::EndMenu(); ImGui::EndMenu();
} }
if (ImGui::BeginMenu("Options")) if (ImGui::BeginMenu(pinball::get_rc_string(Msg::Menu1_Options)))
{ {
if (ImGui::MenuItem("Show Menu", "F9", Options.ShowMenu)) if (ImGui::MenuItem("Show Menu", "F9", Options.ShowMenu))
{ {
options::toggle(Menu1::Show_Menu); options::toggle(Menu1::Show_Menu);
} }
if (ImGui::MenuItem("Full Screen", "F4", Options.FullScreen)) if (ImGui::MenuItem(pinball::get_rc_string(Msg::Menu1_Full_Screen), "F4", Options.FullScreen))
{ {
options::toggle(Menu1::Full_Screen); options::toggle(Menu1::Full_Screen);
} }
if (ImGui::BeginMenu("Select Players")) if (ImGui::BeginMenu(pinball::get_rc_string(Msg::Menu1_Select_Players)))
{ {
if (ImGui::MenuItem("1 Player", nullptr, Options.Players == 1)) if (ImGui::MenuItem(pinball::get_rc_string(Msg::Menu1_1Player), nullptr, Options.Players == 1))
{ {
options::toggle(Menu1::OnePlayer); options::toggle(Menu1::OnePlayer);
new_game(); new_game();
} }
if (ImGui::MenuItem("2 Players", nullptr, Options.Players == 2)) if (ImGui::MenuItem(pinball::get_rc_string(Msg::Menu1_2Players), nullptr, Options.Players == 2))
{ {
options::toggle(Menu1::TwoPlayers); options::toggle(Menu1::TwoPlayers);
new_game(); new_game();
} }
if (ImGui::MenuItem("3 Players", nullptr, Options.Players == 3)) if (ImGui::MenuItem(pinball::get_rc_string(Msg::Menu1_3Players), nullptr, Options.Players == 3))
{ {
options::toggle(Menu1::ThreePlayers); options::toggle(Menu1::ThreePlayers);
new_game(); new_game();
} }
if (ImGui::MenuItem("4 Players", nullptr, Options.Players == 4)) if (ImGui::MenuItem(pinball::get_rc_string(Msg::Menu1_4Players), nullptr, Options.Players == 4))
{ {
options::toggle(Menu1::FourPlayers); options::toggle(Menu1::FourPlayers);
new_game(); new_game();
} }
ImGui::EndMenu(); ImGui::EndMenu();
} }
if (ImGui::MenuItem("Player Controls...", "F8")) if (ImGui::MenuItem(pinball::get_rc_string(Msg::Menu1_Player_Controls), "F8"))
{ {
pause(false); pause(false);
options::ShowControlDialog(); options::ShowControlDialog();
} }
if (ImGui::BeginMenu("Language"))
{
auto currentLanguage = translations::GetCurrentLanguage();
for (auto &item : translations::Languages)
{
if (ImGui::MenuItem(item.DisplayName, nullptr, currentLanguage->Language == item.Language))
{
translations::SetCurrentLanguage(item.ShortName);
winmain::Restart();
}
}
ImGui::EndMenu();
}
ImGui::Separator(); ImGui::Separator();
if (ImGui::BeginMenu("Audio")) if (ImGui::BeginMenu("Audio"))
@ -472,7 +518,7 @@ void winmain::RenderUi()
} }
ImGui::Separator(); ImGui::Separator();
if (ImGui::MenuItem("Music", "F6", Options.Music)) if (ImGui::MenuItem(pinball::get_rc_string(Msg::Menu1_Music), "F6", Options.Music))
{ {
options::toggle(Menu1::Music); options::toggle(Menu1::Music);
} }
@ -487,7 +533,11 @@ void winmain::RenderUi()
if (ImGui::BeginMenu("Graphics")) if (ImGui::BeginMenu("Graphics"))
{ {
if (ImGui::MenuItem("Uniform Scaling", nullptr, Options.UniformScaling)) if (ImGui::MenuItem("Change Font"))
{
font_selection::ShowDialog();
}
if (ImGui::MenuItem(pinball::get_rc_string(Msg::Menu1_WindowUniformScale), nullptr, Options.UniformScaling))
{ {
options::toggle(Menu1::WindowUniformScale); options::toggle(Menu1::WindowUniformScale);
} }
@ -543,10 +593,18 @@ void winmain::RenderUi()
ImGui::EndMenu(); ImGui::EndMenu();
} }
if (ImGui::BeginMenu("Table Resolution")) if (ImGui::BeginMenu(pinball::get_rc_string(Msg::Menu1_Table_Resolution)))
{ {
char buffer[20]{}; char buffer[20]{};
auto maxResText = pinball::get_rc_string(fullscrn::GetMaxResolution() + 2030, 0); Msg resolutionStringId = Msg::Menu1_UseMaxResolution_640x480;
switch(fullscrn::GetMaxResolution()) {
case 0: resolutionStringId = Msg::Menu1_UseMaxResolution_640x480; break;
case 1: resolutionStringId = Msg::Menu1_UseMaxResolution_800x600; break;
case 2: resolutionStringId = Msg::Menu1_UseMaxResolution_1024x768; break;
}
auto maxResText = pinball::get_rc_string(resolutionStringId);
if (ImGui::MenuItem(maxResText, nullptr, Options.Resolution == -1)) if (ImGui::MenuItem(maxResText, nullptr, Options.Resolution == -1))
{ {
options::toggle(Menu1::MaximumResolution); options::toggle(Menu1::MaximumResolution);
@ -574,7 +632,7 @@ void winmain::RenderUi()
ImGui::EndMenu(); ImGui::EndMenu();
} }
if (ImGui::BeginMenu("Help")) if (ImGui::BeginMenu(pinball::get_rc_string(Msg::Menu1_Help)))
{ {
#ifndef NDEBUG #ifndef NDEBUG
if (ImGui::MenuItem("ImGui Demo", nullptr, ShowImGuiDemo)) if (ImGui::MenuItem("ImGui Demo", nullptr, ShowImGuiDemo))
@ -633,7 +691,7 @@ void winmain::RenderUi()
} }
ImGui::Separator(); ImGui::Separator();
if (ImGui::MenuItem("About Pinball")) if (ImGui::MenuItem(pinball::get_rc_string(Msg::Menu1_About_Pinball)))
{ {
pause(false); pause(false);
ShowAboutDialog = true; ShowAboutDialog = true;
@ -648,11 +706,15 @@ void winmain::RenderUi()
a_dialog(); a_dialog();
high_score::RenderHighScoreDialog(); high_score::RenderHighScoreDialog();
font_selection::RenderDialog();
if (ShowSpriteViewer) if (ShowSpriteViewer)
render::SpriteViewer(&ShowSpriteViewer); render::SpriteViewer(&ShowSpriteViewer);
options::RenderControlDialog(); options::RenderControlDialog();
if (DispGRhistory) if (DispGRhistory)
RenderFrameTimeDialog(); RenderFrameTimeDialog();
// Print game texts on the sidebar
gdrv::grtext_draw_ttext_in_box();
} }
int winmain::event_handler(const SDL_Event* event) int winmain::event_handler(const SDL_Event* event)
@ -924,8 +986,8 @@ void winmain::memalloc_failure()
{ {
midi::music_stop(); midi::music_stop();
Sound::Close(); Sound::Close();
char* caption = pinball::get_rc_string(170, 0); const char* caption = pinball::get_rc_string(Msg::STRING270);
char* text = pinball::get_rc_string(179, 0); const char* text = pinball::get_rc_string(Msg::STRING279);
SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR, caption, text, MainWindow); SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR, caption, text, MainWindow);
std::exit(1); std::exit(1);
} }
@ -935,13 +997,13 @@ void winmain::a_dialog()
if (ShowAboutDialog == true) if (ShowAboutDialog == true)
{ {
ShowAboutDialog = false; ShowAboutDialog = false;
ImGui::OpenPopup("About"); ImGui::OpenPopup(pinball::get_rc_string(Msg::STRING204));
} }
bool unused_open = true; bool unused_open = true;
if (ImGui::BeginPopupModal("About", &unused_open, ImGuiWindowFlags_AlwaysAutoResize)) if (ImGui::BeginPopupModal(pinball::get_rc_string(Msg::STRING204), &unused_open, ImGuiWindowFlags_AlwaysAutoResize))
{ {
ImGui::TextUnformatted("3D Pinball for Windows - Space Cadet"); ImGui::TextUnformatted(pinball::get_rc_string(Msg::STRING139));
ImGui::TextUnformatted("Original game by Cinematronics, Microsoft"); ImGui::TextUnformatted("Original game by Cinematronics, Microsoft");
ImGui::Separator(); ImGui::Separator();