Merge branch 'master' into jgrpp

# Conflicts:
#	src/aircraft_cmd.cpp
#	src/company_gui.cpp
#	src/lang/arabic_egypt.txt
#	src/lang/czech.txt
#	src/lang/esperanto.txt
#	src/lang/faroese.txt
#	src/lang/finnish.txt
#	src/lang/german.txt
#	src/lang/korean.txt
#	src/lang/latvian.txt
#	src/lang/malay.txt
#	src/lang/polish.txt
#	src/lang/spanish.txt
#	src/lang/spanish_MX.txt
#	src/lang/unfinished/urdu.txt
#	src/main_gui.cpp
#	src/rail_cmd.cpp
#	src/rail_gui.cpp
#	src/road_cmd.cpp
#	src/settings_type.h
#	src/station_cmd.cpp
#	src/table/settings.ini
pull/217/head
Jonathan G Rennison 3 years ago
commit f9956d88c3

@ -426,7 +426,7 @@ function Regression::Company()
print(" GetCompanyHQ(): " + AICompany.GetCompanyHQ(AICompany.COMPANY_SELF));
print(" BuildCompanyHQ(): " + AICompany.BuildCompanyHQ(AIMap.GetTileIndex(129, 129)));
print(" GetCompanyHQ(): " + AICompany.GetCompanyHQ(AICompany.COMPANY_SELF));
print(" BuildCompanyHQ(): " + AICompany.BuildCompanyHQ(AIMap.GetTileIndex(129, 128)));
print(" BuildCompanyHQ(): " + AICompany.BuildCompanyHQ(AIMap.GetTileIndex(239, 76)));
print(" GetLastErrorString(): " + AIError.GetLastErrorString());
print(" GetAutoRenewStatus(); " + AICompany.GetAutoRenewStatus(AICompany.COMPANY_SELF));
print(" SetAutoRenewStatus(true); " + AICompany.SetAutoRenewStatus(true));

@ -7327,7 +7327,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
IsBuoyTile(): true
IsLockTile(): true
IsCanalTile(): true
GetBankBalance(): 1999965070
GetBankBalance(): 1999965040
--AIWaypointList(BUOY)--
Count(): 1
@ -7346,7 +7346,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
IsBuoyTile(): false
IsLockTile(): false
IsCanalTile(): false
GetBankBalance(): 1999959675
GetBankBalance(): 1999959645
BuildWaterDepot(): true
BuildDock(): true

@ -963,6 +963,9 @@ static bool AircraftController(Aircraft *v)
return false;
}
/* Vehicle is now at the airport.
* Helicopter has arrived at the target landing pad, so the current position is also where it should land.
* Except for Oilrigs which are special due to being a 1x1 station, and helicopters land outside it. */
if (st->airport.type != AT_OILRIG) {
x = v->x_pos;
y = v->y_pos;
@ -1115,8 +1118,12 @@ static bool AircraftController(Aircraft *v)
z = GetAircraftFlightLevel(v);
}
/* Some airports (like a rotated intercontinental) are non-rectangular and their primary (north-most) tile might not be at the same height as the runway.
* Therefore, as the hangar must be on flat ground (and we must have a hangar, as we're landing/braking and so not a helicopter), use that as the z position instead. */
/* NewGRF airports (like a rotated intercontinental from OpenGFX+Airports) can be non-rectangular
* and their primary (north-most) tile does not have to be part of the airport.
* As such, the height of the primary tile can be different from the rest of the airport.
* Given we are landing/breaking, and as such are not a helicopter, we know that there has to be a hangar.
* We also know that the airport itself has to be completely flat (otherwise it is not a valid airport).
* Therefore, use the height of this hangar to calculate our z-value. */
int airport_z = v->z_pos;
if ((amd.flag & (AMED_LAND | AMED_BRAKE)) && st != nullptr) {
assert(st->airport.HasHangar());
@ -1395,7 +1402,7 @@ static void CrashAirplane(Aircraft *v)
AI::NewEvent(v->owner, new ScriptEventVehicleCrashed(v->index, v->tile, st == nullptr ? ScriptEventVehicleCrashed::CRASH_AIRCRAFT_NO_AIRPORT : ScriptEventVehicleCrashed::CRASH_PLANE_LANDING));
Game::NewEvent(new ScriptEventVehicleCrashed(v->index, v->tile, st == nullptr ? ScriptEventVehicleCrashed::CRASH_AIRCRAFT_NO_AIRPORT : ScriptEventVehicleCrashed::CRASH_PLANE_LANDING));
AddVehicleNewsItem(newsitem, NT_ACCIDENT, v->index, st != nullptr ? st->index : INVALID_STATION);
AddTileNewsItem(newsitem, NT_ACCIDENT, v->tile, nullptr, st != nullptr ? st->index : INVALID_STATION);
ModifyStationRatingAround(v->tile, v->owner, -160, 30);
if (_settings_client.sound.disaster) SndPlayVehicleFx(SND_12_EXPLOSION, v);

@ -471,7 +471,7 @@ enum DoCommandFlag {
DC_AUTO = 0x002, ///< don't allow building on structures
DC_QUERY_COST = 0x004, ///< query cost only, don't build.
DC_NO_WATER = 0x008, ///< don't allow building on water
DC_NO_RAIL_OVERLAP = 0x010, ///< don't allow overlap of rails (used in buildrail)
// 0x010 is unused
DC_NO_TEST_TOWN_RATING = 0x020, ///< town rating does not disallow you from building
DC_BANKRUPT = 0x040, ///< company bankrupts, skip money check, skip vehicle on tile check in some cases
DC_AUTOREPLACE = 0x080, ///< autoreplace/autorenew is in progress, this shall disable vehicle limits when building, and ignore certain restrictions when undoing things (like vehicle attach callback)

@ -2185,30 +2185,30 @@ static const NWidgetPart _nested_company_widgets[] = {
EndContainer(),
NWidget(NWID_VERTICAL), SetPIP(4, 2, 4),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_C_SELECT_VIEW_BUILD_HQ),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_C_VIEW_HQ), SetFill(1, 0), SetDataTip(STR_COMPANY_VIEW_VIEW_HQ_BUTTON, STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_C_BUILD_HQ), SetFill(1, 0), SetDataTip(STR_COMPANY_VIEW_BUILD_HQ_BUTTON, STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_C_VIEW_HQ), SetDataTip(STR_COMPANY_VIEW_VIEW_HQ_BUTTON, STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_C_BUILD_HQ), SetDataTip(STR_COMPANY_VIEW_BUILD_HQ_BUTTON, STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP),
EndContainer(),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_C_SELECT_RELOCATE),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_C_RELOCATE_HQ), SetFill(1, 0), SetDataTip(STR_COMPANY_VIEW_RELOCATE_HQ, STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS),
NWidget(NWID_SPACER), SetMinimalSize(90, 0),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_C_RELOCATE_HQ), SetDataTip(STR_COMPANY_VIEW_RELOCATE_HQ, STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS),
NWidget(NWID_SPACER),
EndContainer(),
NWidget(NWID_SPACER), SetFill(0, 1),
EndContainer(),
EndContainer(),
NWidget(WWT_TEXT, COLOUR_GREY, WID_C_DESC_COMPANY_VALUE), SetDataTip(STR_COMPANY_VIEW_COMPANY_VALUE, STR_NULL), SetFill(1, 0),
NWidget(NWID_VERTICAL), SetPIP(4, 2, 4),
NWidget(NWID_HORIZONTAL), SetPIP(0, 4, 0),
NWidget(NWID_VERTICAL),
NWidget(WWT_TEXT, COLOUR_GREY, WID_C_DESC_INFRASTRUCTURE), SetDataTip(STR_COMPANY_VIEW_INFRASTRUCTURE, STR_NULL),
NWidget(NWID_SPACER), SetFill(0, 1),
EndContainer(),
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_C_DESC_INFRASTRUCTURE_COUNTS), SetMinimalTextLines(5, 0), SetFill(1, 0),
NWidget(NWID_VERTICAL),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_C_VIEW_INFRASTRUCTURE), SetDataTip(STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON, STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP),
NWidget(NWID_SPACER), SetFill(0, 1), SetMinimalSize(90, 0),
EndContainer(),
NWidget(NWID_VERTICAL), SetPIP(4, 2, 4),
NWidget(NWID_HORIZONTAL), SetPIP(0, 4, 0),
NWidget(NWID_VERTICAL),
NWidget(WWT_TEXT, COLOUR_GREY, WID_C_DESC_INFRASTRUCTURE), SetDataTip(STR_COMPANY_VIEW_INFRASTRUCTURE, STR_NULL),
NWidget(NWID_SPACER), SetFill(0, 1),
EndContainer(),
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_C_DESC_INFRASTRUCTURE_COUNTS), SetMinimalTextLines(5, 0), SetFill(1, 0),
NWidget(NWID_VERTICAL),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_C_VIEW_INFRASTRUCTURE), SetDataTip(STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON, STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP),
NWidget(NWID_SPACER),
EndContainer(),
EndContainer(),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_C_SELECT_DESC_OWNERS),
NWidget(NWID_VERTICAL), SetPIP(5, 5, 4),
@ -2431,6 +2431,21 @@ struct CompanyWindow : Window
break;
}
case WID_C_VIEW_HQ:
case WID_C_BUILD_HQ:
case WID_C_RELOCATE_HQ:
case WID_C_VIEW_INFRASTRUCTURE:
case WID_C_COMPANY_PASSWORD:
case WID_C_COMPANY_JOIN:
size->width = max(size->width, GetStringBoundingBox(STR_COMPANY_VIEW_VIEW_HQ_BUTTON).width);
size->width = max(size->width, GetStringBoundingBox(STR_COMPANY_VIEW_BUILD_HQ_BUTTON).width);
size->width = max(size->width, GetStringBoundingBox(STR_COMPANY_VIEW_RELOCATE_HQ).width);
size->width = max(size->width, GetStringBoundingBox(STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON).width);
size->width = max(size->width, GetStringBoundingBox(STR_COMPANY_VIEW_PASSWORD).width);
size->width = max(size->width, GetStringBoundingBox(STR_COMPANY_VIEW_JOIN).width);
break;
case WID_C_HAS_PASSWORD:
*size = maxdim(*size, GetSpriteSize(SPR_LOCK));
break;
@ -2687,7 +2702,7 @@ struct CompanyWindow : Window
default: NOT_REACHED();
case WID_C_GIVE_MONEY:
DoCommandP(0, (strtoull(str, nullptr, 10) / _currency->rate), this->window_number, CMD_GIVE_MONEY | CMD_MSG(STR_ERROR_INSUFFICIENT_FUNDS), CcGiveMoney, str);
DoCommandP(0, (strtoull(str, nullptr, 10) / _currency->rate), this->window_number, CMD_GIVE_MONEY | CMD_MSG(STR_ERROR_CAN_T_GIVE_MONEY), CcGiveMoney, str);
break;
case WID_C_PRESIDENT_NAME:

@ -265,7 +265,7 @@ static bool DisasterTick_Zeppeliner(DisasterVehicle *v)
v->age = 0;
SetDParam(0, GetStationIndex(v->tile));
AddVehicleNewsItem(STR_NEWS_DISASTER_ZEPPELIN, NT_ACCIDENT, v->index); // Delete the news, when the zeppelin is gone
AddTileNewsItem(STR_NEWS_DISASTER_ZEPPELIN, NT_ACCIDENT, v->tile);
AI::NewEvent(GetTileOwner(v->tile), new ScriptEventDisasterZeppelinerCrashed(GetStationIndex(v->tile)));
}
}
@ -400,7 +400,7 @@ static bool DisasterTick_Ufo(DisasterVehicle *v)
if (u->crashed_ctr == 0) {
u->Crash();
AddVehicleNewsItem(STR_NEWS_DISASTER_SMALL_UFO, NT_ACCIDENT, u->index); // delete the news, when the roadvehicle is gone
AddTileNewsItem(STR_NEWS_DISASTER_SMALL_UFO, NT_ACCIDENT, u->tile);
AI::NewEvent(u->owner, new ScriptEventVehicleCrashed(u->index, u->tile, ScriptEventVehicleCrashed::CRASH_RV_UFO));
Game::NewEvent(new ScriptEventVehicleCrashed(u->index, u->tile, ScriptEventVehicleCrashed::CRASH_RV_UFO));
@ -479,7 +479,7 @@ static bool DisasterTick_Aircraft(DisasterVehicle *v, uint16 image_override, boo
DestructIndustry(i);
SetDParam(0, i->town->index);
AddIndustryNewsItem(news_message, NT_ACCIDENT, i->index); // delete the news, when the industry closes
AddTileNewsItem(news_message, NT_ACCIDENT, v->dest_tile);
if (_settings_client.sound.disaster) SndPlayTileFx(SND_12_EXPLOSION, i->location.tile);
}
} else if (v->current_order.GetDestination() == 0) {

@ -2197,8 +2197,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} he
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} het 'n nuwe maatskappy gestig (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} het die spel verlaat ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} het sy/haar naam verander na {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} het jou besigheid {2:CURRENCY_LONG} gegee
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Jy het {1:STRING} {2:CURRENCY_LONG} gegee
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Die verskaffer het die sessie toegemaak
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Die verskaffer is besig om te weerbegin...{}Wag asb...
STR_NETWORK_MESSAGE_KICKED :*** {STRING} is geskop. Rede: ({STRING})

@ -1725,7 +1725,6 @@ STR_NETWORK_SERVER :خادم
STR_NETWORK_CLIENT :عميل
STR_NETWORK_SPECTATORS :المشاهدين
# Network set password
STR_COMPANY_PASSWORD_CANCEL :{BLACK}لا تحفظ كلمة المرور المدخلة
STR_COMPANY_PASSWORD_OK :{BLACK}اعط الشركة كلمة المرور الجديدة
@ -1815,8 +1814,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} ا
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} قد بدأ شركة جديدة: (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} قد غادر اللعبة : - {2:STRING}-
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} قد غير اسمه / اسمها الى {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} اعطى شركتك : {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** انت اعطيت {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}اقفل الخادم الجلسة
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}يتم بدأ الخادم من جديد ...{} الرجاء الأنتظار

@ -2066,8 +2066,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} ik
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} konpainia berria sortu du (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} jokoa utzi du ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING}-k bere izena {STRING}-ra aldatu du
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} zure empresa eman {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Zuk eman diozu {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Zebitzariak saioa itxi du
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Zerbitzaria berriro hasten ari da...{}Mesedez itxaron...

@ -2507,8 +2507,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} д
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} распачаў новую кампанію (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} выйшаў з гульні ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} зьмяніў сваё імя на {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} перадаў вашай кампаніі {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Вы перадалі {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Гэты сэрвэр закрыў сэсію
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Гэты сэрвэр перазапускаецца...{}Пачакайце, калі ласка

@ -2207,8 +2207,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} es
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} abriu uma nova companhia (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} saiu do jogo ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} mudou seu nome para {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} deu à sua companhia{2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Você deu a {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}O servidor fechou a sessão
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}O servidor está reiniciando...{}Aguarde...
STR_NETWORK_MESSAGE_KICKED :*** {STRING} foi kickado. Motivo: ({STRING})

@ -2116,8 +2116,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} с
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} създаде нова компания (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} напусна играта ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} си промени името на {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} изпрати {2:CURRENCY_LONG} на твоята компания
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Ти даде {2:CURRENCY_LONG} на {1:STRING}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Сървърът прекъсна сесията
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Сървърът се рестартира...{}Моля изчакайте...

@ -2233,8 +2233,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} s'
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} ha començat una nova companyia (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} ha deixat la partida ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} ha canviat el seu nom a {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} ha donat a la teva companyia {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Has donat {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}El servidor ha tancat la sessió
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}El servidor està reiniciant...{}Espera un moment...
STR_NETWORK_MESSAGE_KICKED :*** S'ha expulsat {STRING}. Motiu: {STRING}

@ -2302,8 +2302,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} se
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} je osnovao novu tvrtku (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} je izašao iz igre ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} je promijenio/la ime u {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} je dao vašoj tvrtki {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Dao si {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Poslužitelj je zatvorio sesiju
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Poslužitelj se ponovno pokreće...{}Molimo pričekajte...
STR_NETWORK_MESSAGE_KICKED :*** {STRING} je izbačen. Razlog: ({STRING})

@ -2554,9 +2554,9 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} se
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} zakládá novou společnost (č. {2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} opouští hru ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} si mění jméno na {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} poslal(a) tvé společnosti {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GIVE_MONEY_RECEIVE :*** {STRING} poslal(a) tvé společnosti {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Dal(a) jsi {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_MONEY_GIVEN :*** {STRING} dal {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} dal {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_MONEY_GIVE_SRC_DESCRIPTION :{STRING} ({COMPANY})
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Server ukončil relaci
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Server se restartuje...{}Počkejte prosím...

@ -2207,8 +2207,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} ha
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} har startet et nyt selskab (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} har forladt spillet ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} har ændret sit navn til {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} gav dit selskab {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Du gav {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Serveren har lukket ned for dette spil
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Serveren genstarter...{}Vent venligst...
STR_NETWORK_MESSAGE_KICKED :*** {STRING} blev sparket ud. Grund: ({STRING})

@ -2206,8 +2206,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} ki
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} heeft een nieuw bedrijf opgericht (nr. {2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} heeft het spel verlaten ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} heeft zijn/haar naam gewijzigd naar {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} gaf je bedrijf {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Je gaf {2:CURRENCY_LONG} aan {1:STRING}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}De server heeft de sessie gesloten
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}De server wordt opnieuw gestart...{}Wacht alstublieft...
STR_NETWORK_MESSAGE_KICKED :*** {STRING} is eruit geschopt. Reden: ({STRING})

@ -1622,6 +1622,8 @@ STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Keep building t
STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Keep the building tools for bridges, tunnels, etc. open after use
STR_CONFIG_SETTING_EXPENSES_LAYOUT :Group expenses in company finance window: {STRING2}
STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT :Define the layout for the company expenses window
STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Automatically remove signals during rail construction: {STRING2}
STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Automatically remove signals during rail construction if the signals are in the way. Note that this can potentially lead to train crashes.
STR_CONFIG_SETTING_ENABLE_BUILD_RIVER :Enable building rivers: {STRING2}
STR_CONFIG_SETTING_ENABLE_BUILD_RIVER_HELPTEXT :Enable building rivers outside of the scenario editor
@ -2550,9 +2552,9 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {RAW_STRING
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {RAW_STRING} has started a new company (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {RAW_STRING} has left the game ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {RAW_STRING} has changed his/her name to {RAW_STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {RAW_STRING} gave your company {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GIVE_MONEY_RECEIVE :*** {RAW_STRING} gave your company {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** You gave {1:RAW_STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_MONEY_GIVEN :*** {RAW_STRING} gave {1:RAW_STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {RAW_STRING} gave {2:CURRENCY_LONG} to {1:RAW_STRING}
STR_NETWORK_MESSAGE_MONEY_GIVE_SRC_DESCRIPTION :{RAW_STRING} ({COMPANY})
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}The server closed the session
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}The server is restarting...{}Please wait...
@ -5407,6 +5409,7 @@ STR_ERROR_LOAN_ALREADY_REPAYED :{WHITE}... no l
STR_ERROR_CURRENCY_REQUIRED :{WHITE}... {CURRENCY_LONG} required
STR_ERROR_CAN_T_REPAY_LOAN :{WHITE}Can't repay loan...
STR_ERROR_INSUFFICIENT_FUNDS :{WHITE}Can't give away money that is loaned from the bank...
STR_ERROR_CAN_T_GIVE_MONEY :{WHITE}Can't give away money to this company...
STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Can't buy company...
STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Can't build company headquarters...
STR_ERROR_CAN_T_BUY_25_SHARE_IN_THIS :{WHITE}Can't buy 25% share in this company...

@ -2124,8 +2124,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} ha
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} has started a new company (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} has left the game ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} has changed his/her name to {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} gave your company {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** You gave {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}The server closed the session
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}The server is restarting...{}Please wait...

@ -2203,8 +2203,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} ha
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} has started a new company (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} has left the game ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} has changed his/her name to {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} gave your company {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** You gave {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}The server closed the session
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}The server is restarting...{}Please wait...

@ -1705,7 +1705,6 @@ STR_NETWORK_SERVER :Servilo
STR_NETWORK_CLIENT :Kliento
STR_NETWORK_SPECTATORS :Spektantoj
# Network set password
STR_COMPANY_PASSWORD_CANCEL :{BLACK}Ne konservu la pasvorton.
STR_COMPANY_PASSWORD_OK :{BLACK}Donu la novan pasvorton al la kompanio.
@ -1793,8 +1792,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} i
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} ekis novan kompanion (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} ĉesis la ludon ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} ŝanĝis sian nomon al {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} donis al via kompanio {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Vi donis {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}La servilo fermis la seancon
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}La servilo restartiĝas...{}Bonvolu atendi...

@ -2221,8 +2221,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} li
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} alustas uue ettevõtte (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} lahkus mängust ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} uus nimi on {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} andis su ettevõttele {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Sa andsid {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Server sulges sessiooni
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Server restardib...{}Palun oota...

@ -1873,7 +1873,6 @@ STR_NETWORK_SERVER :Servari
STR_NETWORK_CLIENT :Klient
STR_NETWORK_SPECTATORS :Eygleiðarar
# Network set password
STR_COMPANY_PASSWORD_CANCEL :{BLACK}Goym ikki skrivaða loyniorðið
STR_COMPANY_PASSWORD_OK :{BLACK}Gev fyritøkuni tað nýggja loyniorðið
@ -1973,8 +1972,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} er
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} hevur stovnað eina nýggja fyritøku (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} er farin úr spælinum ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} hevur broytt sítt navn til {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} handaði tínari fyritøku {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Tú handaði {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Servarin endaði setuna
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Servarin endurbyrjar...{}Vinarliga bíða...

@ -2232,8 +2232,7 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} on
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} on aloittanut uuden yhtiön (nro {2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} on poistunut pelistä ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} on muuttanut nimekseen {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} antoi yhtiöllesi {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Annoit yhtiölle {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} antoi {2:CURRENCY_LONG} yhtiölle {1:STRING}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Palvelin sulki istunnon
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Palvelin käynnistyy uudelleen...{}Odota, ole hyvä...
STR_NETWORK_MESSAGE_KICKED :{STRING} potkaistiin ulos. Syy: ({STRING})
@ -3375,6 +3374,7 @@ STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Rakenna
STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Yksityiskohdat
STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Näytä tarkka infrastruktuurin määrä
STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Anna rahaa
STR_COMPANY_VIEW_GIVE_MONEY_TOOLTIP :{BLACK}Anna rahaa tälle yhtiölle
STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Uudet kasvot
STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Valitse uudet kasvot pääjohtajalle
@ -3392,7 +3392,7 @@ STR_COMPANY_VIEW_SELL_SHARE_TOOLTIP :{BLACK}Myy 25{N
STR_COMPANY_VIEW_COMPANY_NAME_QUERY_CAPTION :Yhtiön nimi
STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Pääjohtajan nimi
STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Syötä rahamäärä, jonka haluat antaa
STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Syötä annettava rahamäärä
STR_BUY_COMPANY_MESSAGE :{WHITE}Etsimme kuljetusyhtiötä, joka ottaisi haltuunsa yhtiömme{}{}Haluatko ostaa yhtiön {COMPANY} hintaan {CURRENCY_LONG}?
@ -4344,6 +4344,7 @@ STR_ERROR_LOAN_ALREADY_REPAYED :{WHITE}... ei l
STR_ERROR_CURRENCY_REQUIRED :{WHITE}... tarvitaan {CURRENCY_LONG}.
STR_ERROR_CAN_T_REPAY_LOAN :{WHITE}Lainaa ei voi lyhentää...
STR_ERROR_INSUFFICIENT_FUNDS :{WHITE}Pankista lainattua rahaa ei voi antaa pois...
STR_ERROR_CAN_T_GIVE_MONEY :{WHITE}Tälle yhtiölle ei voi antaa rahaa…
STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Yhtiötä ei voi ostaa...
STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Yhtiön päärakennusta ei voi rakentaa...
STR_ERROR_CAN_T_BUY_25_SHARE_IN_THIS :{WHITE}Tästä yhtiöstä ei voi ostaa 25{NBSP}%:n osuutta...

@ -2233,8 +2233,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} a
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} a lancé une nouvelle compagnie (n°{NBSP}{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} a quitté la partie ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} a changé son nom en {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} a donné {2:CURRENCY_LONG} à votre compagnie
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Vous avez donné {2:CURRENCY_LONG} à {1:STRING}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Le serveur a fermé la session
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Le serveur redémarre...{}Veuillez patienter...
STR_NETWORK_MESSAGE_KICKED :*** {STRING} a été exclu. Raison{NBSP}: ({STRING})

@ -2361,8 +2361,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** Ghabh {STRI
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** Stèidhich {STRING} companaidh ùr ({2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** Dh'fhalbh {STRING} an geama ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** Dh'atharraich {0:STRING} (a h-)ainm gu {1:STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** Thug {STRING} {2:CURRENCY_LONG} dhan chompanaidh agad
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Thug thu {2:CURRENCY_LONG} dha {1:STRING}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Dhùin am frithealaiche an seisean
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Tha am frithealaiche ag ath-thòiseachadh...{}Fuirich greis...

@ -2198,8 +2198,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} un
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} comezou unha nova compañía (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} saiu da partida ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} cambiou o seu nome a {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} deu á túa companía {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Diches a {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}O servidor pechou a sesión
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}O servidor estase a reiniciar...{}Agarda por favor...

@ -2535,9 +2535,9 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} is
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} hat eine neue Firma gegründet (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} hat das Spiel verlassen ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} hat seinen/ihren Namen in {STRING} geändert
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} gab der eigenen Firma {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GIVE_MONEY_RECEIVE :*** {STRING} gab der eigenen Firma {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Die eigene Firma übergab {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_MONEY_GIVEN :*** {STRING} gab {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} gab {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_MONEY_GIVE_SRC_DESCRIPTION :{STRING} ({COMPANY})
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Der Server hat das Spiel beendet
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Der Server startet neu...{}Bitte warten...

@ -2291,8 +2291,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} σ
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} ξεκίνησε μια νέα εταιρία (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} αποχώρησε από το παιχνίδι ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} άλλαξαν το όνομά τους σε {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} έδωσαν στην εταιρία σας {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Δώσατε {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Ο διακομιστής έκλεισε την συνεδρία
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Ο διακομιστής επανεκκινεί...{}Παρακαλώ περιμένετε...

@ -2175,8 +2175,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :.הצטרף ל
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :{2:NUM} הקים חברה חדשה {NBSP}{0:STRING} ***
STR_NETWORK_MESSAGE_CLIENT_LEFT :({2:STRING}) עזב את המשחק {NBSP}{0:STRING} ***
STR_NETWORK_MESSAGE_NAME_CHANGE :{STRING} שינה את שמו ל {STRING} ***
STR_NETWORK_MESSAGE_GIVE_MONEY :{2:CURRENCY_LONG} נתן לחברתך {NBSP}{0:STRING} ***
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :{2:CURRENCY_LONG} {1:STRING} נתת ל ***
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}השרת סגר את המשחק
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}השרת מופעל מחדש...{}אנא המתן...

@ -2270,8 +2270,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} cs
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} új vállalatot alapított (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} kilépett a játékból ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} nevet változtatott. Új neve: {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} a következő összeget utalta vállalatodnak: {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** {1:STRING} vállalatnak sikeresen átutaltál {2:CURRENCY_LONG}-t
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}A szerver leállította a játékot
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}A szerver újraindul...{}Türelem...
STR_NETWORK_MESSAGE_KICKED :*** {STRING} ki lett rúgva. Oka: ({STRING})

@ -2008,8 +2008,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} ho
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} stofnaði nýtt fyrirtæki (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} yfirgefur leikinn ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} heitir nú {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} sendi þér {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Þú gafst {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Þjónninn sleit tengingunni
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Verið er að endurræsa þjóninn...{}Vinsamlega bíðið...

@ -2206,8 +2206,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} be
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} mulai mendirikan perusahaan (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} meninggalkan permainan ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} telah mengganti namanya menjadi {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} telah memberi perusahaanmu {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Anda telah memberi {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Server menutup sesi
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Server memulai ulang...{}Tunggulah...
STR_NETWORK_MESSAGE_KICKED :*** {STRING} telah dikeluarkan. Alasan: ({STRING})

@ -2149,8 +2149,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** Tá {STRING
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** Thosaigh {STRING} cuideachta nua (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** D'fhág {STRING} an cluiche ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** D'athraigh {STRING} a (h)ainm go {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** Thug {STRING} {2:CURRENCY_LONG} dod' chuideachta
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Thug tú {2:CURRENCY_LONG} do {1:STRING}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Dhún an freastalaí an seisiún
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Tá an freastalaí á atosú...{}Fan go fóill...

@ -2230,8 +2230,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} è
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} ha avviato una nuova compagnia (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} ha abbandonato la partita ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} ha cambiato nome in {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} ha donato alla tua compagnia {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Hai donato {2:CURRENCY_LONG} a {1:STRING}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Il server ha chiuso la sessione
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Il server si sta riavviando...{}Attendere prego...
STR_NETWORK_MESSAGE_KICKED :*** {STRING} è stato espulso. Motivo: ({STRING})

@ -2157,8 +2157,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING}
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} が新会社 (#{2:NUM}) を設立しました
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} が退出しました({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} は名前を {STRING} に変更しました
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} が {2:CURRENCY_LONG} を送金してくれました
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** {1:STRING} に {2:CURRENCY_LONG} を送金しました
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}サーバがセッションを終了しました
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}このサーバーは再起動中です…{}しばらくお待ちください…

@ -2542,9 +2542,9 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING}
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} 님이 새로운 회사({2:NUM}번)를 창설하셨습니다
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} 님이 퇴장하셨습니다 (사유: {2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} 님의 이름이 {STRING}(으)로 바뀌었습니다
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} 님이 당신에게 {2:CURRENCY_LONG}만큼의 돈을 보내셨습니다
STR_NETWORK_MESSAGE_GIVE_MONEY_RECEIVE :*** {STRING} 님이 당신에게 {2:CURRENCY_LONG}만큼의 돈을 보내셨습니다
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** {1:STRING} 님에게 {2:CURRENCY_LONG}만큼의 돈을 보냈습니다
STR_NETWORK_MESSAGE_MONEY_GIVEN :*** {STRING} 님이 {1:STRING}에게 {2:CURRENCY_LONG}만큼의 돈을 보내셨습니다.
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {0:STRING} 님이 {1:STRING}에게 {2:CURRENCY_LONG}만큼의 돈을 보내셨습니다
STR_NETWORK_MESSAGE_MONEY_GIVE_SRC_DESCRIPTION :{STRING} ({COMPANY})
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}서버가 게임을 종료하였습니다
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}서버가 재시작되고 있습니다...{}기다려주세요...
@ -4174,7 +4174,7 @@ STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}회사
STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}상세정보
STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}기반시설 상세정보 창을 엽니다
STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}돈 보내기
STR_COMPANY_VIEW_GIVE_MONEY_TOOLTIP :{BLACK}다른 회사에 돈 보내기
STR_COMPANY_VIEW_GIVE_MONEY_TOOLTIP :{BLACK}이 회사에 돈을 보냅니다
STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}새 얼굴
STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}사장의 얼굴을 선택합니다
@ -4192,7 +4192,7 @@ STR_COMPANY_VIEW_SELL_SHARE_TOOLTIP :{BLACK}이 회
STR_COMPANY_VIEW_COMPANY_NAME_QUERY_CAPTION :회사 이름
STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :사장 이름
STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :송금하고 싶은 양을 입력하세요.
STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :보내고자 하는 돈의 액수를 입력하세요
STR_BUY_COMPANY_MESSAGE :{WHITE}저희 회사를 거두어주실 운송 회사를 찾고있습니다.{}{}저희 {COMPANY} 회사를 {CURRENCY_LONG}의 가격으로 인수합병하시겠습니까?
@ -5399,6 +5399,7 @@ STR_ERROR_LOAN_ALREADY_REPAYED :{WHITE}... 값
STR_ERROR_CURRENCY_REQUIRED :{WHITE}... {CURRENCY_LONG} 만큼의 돈이 필요합니다
STR_ERROR_CAN_T_REPAY_LOAN :{WHITE}대출금을 갚을 수 없습니다...
STR_ERROR_INSUFFICIENT_FUNDS :{WHITE}은행에서 빌린 돈은 송금할 수 없습니다...
STR_ERROR_CAN_T_GIVE_MONEY :{WHITE}이 회사에 돈을 보낼 수 없습니다...
STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}회사를 인수할 수 없습니다...
STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}본사를 건설할 수 없습니다...
STR_ERROR_CAN_T_BUY_25_SHARE_IN_THIS :{WHITE}이 회사 지분의 25%를 매입할 수 없습니다...

@ -2369,8 +2369,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} sp
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} novam societatem incipit (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} ludum disiungit ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} nomen suum mutat ad {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} tuae societati largitur {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Largiris {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Servatrum iam clausum est
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Servatrum resumit...{}Maneas...

@ -2236,8 +2236,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} ir
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} ir nodibinājis jaunu uzņēmumu (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} ir pametis spēli ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} ir nomainījis savu nosaukumu uz {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} iedeva jūsu uzņēmumam {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Jūs iedevāt {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Serveris beidza sesiju
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Serveris pārstartējas...{}Lūdzu uzgaidiet...
STR_NETWORK_MESSAGE_KICKED :*** {STRING} tika izmests. Iemesls: ({STRING})
@ -2550,6 +2548,12 @@ STR_TREES_RANDOM_TYPE :{BLACK}Nejauši
STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Izvietot nejaušus kokus. Shift pārslēdz būve/rādīt izmaksu tāmi
STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Nejauši koki
STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Stādīt nejaušus kokus visā ainavā
STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Normāls
STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Stādiet atsevišķus kokus, velkot pāri ainavai.
STR_TREES_MODE_FOREST_SM_BUTTON :{BLACK}Birze
STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Stādiet mazus mežus, velkot pāri ainavai.
STR_TREES_MODE_FOREST_LG_BUTTON :{BLACK}Mežs
STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Stādiet lielos mežus, velkot pāri ainavai.
# Land generation window (SE)
STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Zemes radīšana
@ -3183,10 +3187,10 @@ STR_GOALS_COMPANY_TITLE :{BLACK}Uzņēmu
STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klikšķināt uz mērķa, lai centrētu galveno skatu uz ražotni/pilsētu/lauciņu. Ctrl+klikšķis atver jaunu skatvietu uz ražotni/pilsētu/lauciņu
# Goal question window
STR_GOAL_QUESTION_CAPTION_QUESTION :Jautājums
STR_GOAL_QUESTION_CAPTION_INFORMATION :Informācija
STR_GOAL_QUESTION_CAPTION_WARNING :Brīdinājums
STR_GOAL_QUESTION_CAPTION_ERROR :Kļūda
STR_GOAL_QUESTION_CAPTION_QUESTION :{BLACK}Jautājums
STR_GOAL_QUESTION_CAPTION_INFORMATION :{BLACK}Informācija
STR_GOAL_QUESTION_CAPTION_WARNING :{BLACK}Brīdinājums
STR_GOAL_QUESTION_CAPTION_ERROR :{YELLOW}Kļūda
############ Start of Goal Question button list
STR_GOAL_QUESTION_BUTTON_CANCEL :Atcelt
@ -3379,6 +3383,7 @@ STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Pārcelt
STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Sīkāk
STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Skatīt detalizētāku infrastruktūras uzskaiti
STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Iedot naudu
STR_COMPANY_VIEW_GIVE_MONEY_TOOLTIP :{BLACK}Iedot naudu šai kompānijai
STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Jauna seja
STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Izvēlēties jaunu seju vadītājam
@ -3396,7 +3401,7 @@ STR_COMPANY_VIEW_SELL_SHARE_TOOLTIP :{BLACK}Pārdot
STR_COMPANY_VIEW_COMPANY_NAME_QUERY_CAPTION :Uzņēmuma nosaukums
STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Vadītāja vārds
STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Ievadiet cik daudz naudas vēlaties dot
STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Ievadiet naudas daudzumu, kuru vēlaties atdot
STR_BUY_COMPANY_MESSAGE :{WHITE}Mēs meklējam transporta uzņēmumu, kurš vēlētos pārņemt mūsējo.{}{}Vai Jūs vēlaties pirkt {COMPANY} par {CURRENCY_LONG}?
@ -4349,6 +4354,7 @@ STR_ERROR_LOAN_ALREADY_REPAYED :{WHITE}... nav
STR_ERROR_CURRENCY_REQUIRED :{WHITE}...{CURRENCY_LONG} nepieciešams
STR_ERROR_CAN_T_REPAY_LOAN :{WHITE}Nevar atmaksāt aizdevumu...
STR_ERROR_INSUFFICIENT_FUNDS :{WHITE}Bankas aizdoto naudu nevar dot projām...
STR_ERROR_CAN_T_GIVE_MONEY :{WHITE}Nav iespējams atdot naudu šai kompānijai...
STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Nevar nopirkt uzņēmumu...
STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Nevar uzbūvēt uzņēmuma biroju...
STR_ERROR_CAN_T_BUY_25_SHARE_IN_THIS :{WHITE}Nevar nopirkt 25% daļu šajā uzņēmumā...

@ -2378,8 +2378,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} pr
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} pradėjo naują kompaniją (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} paliko žaidimą ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} pasikeitė vardą į {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} turi savo kompaniją {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Jūs gavote {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Serveris užsidarė
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Serveris persikrauna...{}Prašau palaukti...

@ -2205,8 +2205,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} as
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} huet eng nei Firma gegrënnt (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} huet d'Spill verlooss ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} huet säin Numm op {STRING} gewiesselt
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} huet ärer Firma {2:CURRENCY_LONG} ginn
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Du hues dem {1:STRING} {2:CURRENCY_LONG} ginn
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}De Server huet d'Sessioun zougemaach
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}De Server gëtt nei gestart...{}W.e.g. waarden...
STR_NETWORK_MESSAGE_KICKED :*** {STRING} gouf gekickt. Grond: ({STRING})

@ -1809,7 +1809,6 @@ STR_NETWORK_SERVER :Pelayan
STR_NETWORK_CLIENT :Klien
STR_NETWORK_SPECTATORS :Penyaksi
# Network set password
STR_COMPANY_PASSWORD_CANCEL :{BLACK}Jangan simpan kata laluan ini
STR_COMPANY_PASSWORD_OK :{BLACK}Berikan syarikat kata laluan yang baru
@ -1909,8 +1908,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} te
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} telah menubuhkan syarikat baru (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} sudah meninggalkan permainan ini ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} telah menukar namanya kepada {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} telah memberi syarikat anda {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Anda memberi {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Pelayan telah menutup sesi ini
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Pelayan sedang dimulakan semula...{}Harap bersabar...

@ -2208,8 +2208,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} ha
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} har startet et nytt firma (nr. {2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} har forlatt spillet ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} har forandret sitt navn til {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} ga {2:CURRENCY_LONG} til ditt firma
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Du ga {2:CURRENCY_LONG} til {1:STRING}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Tjeneren avsluttet spillet
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Tjeneren starter på nytt...{}Vennligst vent...

@ -2073,8 +2073,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} ha
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} har starta eit nytt firma (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} har forlatt spelet ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} har endra namnet sitt til {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} gav firmaet ditt {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Du gav {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Tenaren avslutta spelet
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Tenaren startar om att...{}Vær venleg og vent...

@ -2612,8 +2612,7 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} do
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} założył nową firmę (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} opuścił grę ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} zmienił/zmieniła swoje imię na {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} dał/dała twojemu przedsiębiorstwu {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Dałeś {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** Firma {STRING} przekazała firmie {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Serwer zamknął sesję
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Restart serwera...{}Proszę czekać...
STR_NETWORK_MESSAGE_KICKED :*** {STRING} został wyrzucony. Powód: ({STRING})
@ -3048,23 +3047,23 @@ STR_LAI_RAIL_DESCRIPTION_TRACK :{G=m}Tor kolejo
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Tor kolejowy z semaforam blokowymi
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Tor kolejowy z semaforami wejściowymi
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Tor kolejowy z semaforem wyjściowym
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Tor kolejowy z semaforami złożonymi (combo)
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Tor kolejowy z semaforami złożonymi
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Tor kolejowy z semaforami trasy
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Tor kolejowy z jednokierunkowymi semaforami trasy
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Tor kolejowy z semaforami blokowymi i semaforami wejścia
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Tor kolejowy z semaforami blokowymi i semaforami wyjścia
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Tor kolejowy z semaforami blokowymi i semaforami złożonymi (combo)
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Tor kolejowy z semaforami blokowymi i semaforami złożonymi
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Tor kolejowy z semaforami blokowymi i semaforami trasy
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Tor kolejowy z semaforami blokowymi i jednokierunkowymi semaforami trasy
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Tor kolejowy z semaforami wejścia i wyjścia
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Tor kolejowy z semaforami wejścia i semaforami złożonymi (combo)
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Tor kolejowy z semaforami wejścia i semaforami złożonymi
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Tor kolejowy z semaforami wejścia i semaforami trasy
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :Tor kolejowy z semaforami wejścia i jednokierunkowymi semaforami trasy
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Tor kolejowy z semaforami wyjścia i semaforami złożonymi (combo)
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Tor kolejowy z semaforami wyjścia i semaforami złożonymi
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Tor kolejowy z semaforami wyjścia i semaforami trasy
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Tor kolejowy z semaforami wyjścia i jednokierunkowymi semaforami trasy
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Tor kolejowy z semaforami złożonymi (combo) i semaforami trasy
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Tor kolejowy z semaforami złożonymi (combo) i jednokierunkowymi semaforami trasy
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Tor kolejowy z semaforami złożonymi i semaforami trasy
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Tor kolejowy z semaforami złożonymi i jednokierunkowymi semaforami trasy
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Tor kolejowy z semaforami trasy i jednokierunkowymi semaforami trasy
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :{G=f}Warsztaty kolejowe
@ -3447,7 +3446,7 @@ STR_NEWGRF_BROKEN :{WHITE}Zachowan
STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Zmieniony stan wagonu silnikowego '{1:ENGINE}', gdy był poza halą warsztatów
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Zmiana długości pojazdu '{1:ENGINE}' , który nie jest zatrzymany w hali
STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Zmieniono ładowność pojazdu na '{1:ENGINE}', kiedy nie był w hali warsztatów lub w trakcie przebudowy
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Pociąg '{VEHICLE}' należący do '{COMPANY}' ma niepoprawną długość. Prawdopodobnie spowodowane jest to problemami z NewGRF'ami. Gra może się odsychronizować lub się zawiesić
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Pociąg '{VEHICLE}' należący do '{COMPANY}' ma niepoprawną długość. Prawdopodobnie spowodowane jest to problemami z NewGRF'ami. Gra może się odsychronizować lub zawiesić
STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' dostarcza niepoprawnych danych
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Informacje o ładunku/naprawie dla '{1:ENGINE}' różnią się od listy zakupu po zbudowaniu. Może to spowodować, że autoodnowienie/-zamiana nie wykona remontu poprawnie
@ -3754,7 +3753,8 @@ STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Przenie
STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Zbuduj siedzibę główną w innym miejscu za cenę 1% wartości firmy. Shift+klik pokazuje szacunkowy koszt bez przenoszenia siedziby
STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Szczegóły
STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Zobacz szczegółowe wartości infrastruktury
STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Przekazanie pieniędzy
STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Przekaż pieniądze
STR_COMPANY_VIEW_GIVE_MONEY_TOOLTIP :{BLACK}Przekaż część pieniędzy tej firmie
STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Nowa twarz
STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Wybierz nową twarz prezesa
@ -3772,7 +3772,7 @@ STR_COMPANY_VIEW_SELL_SHARE_TOOLTIP :{BLACK}Sprzedaj
STR_COMPANY_VIEW_COMPANY_NAME_QUERY_CAPTION :Nazwa firmy
STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Nazwisko prezesa
STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Wprowadź ilość pieniędzy, które chcesz przekazać
STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Wpisz kwotę, jaką chcesz przekazać
STR_BUY_COMPANY_MESSAGE :{WHITE}Szukamy firmy transportowej, która przejęłaby naszą firmę.{}{}Chcesz zakupić {COMPANY} za {CURRENCY_LONG}?
@ -4730,6 +4730,7 @@ STR_ERROR_LOAN_ALREADY_REPAYED :{WHITE}... poż
STR_ERROR_CURRENCY_REQUIRED :{WHITE}...{CURRENCY_LONG} wymagane
STR_ERROR_CAN_T_REPAY_LOAN :{WHITE}Nie można zwrócić pożyczki...
STR_ERROR_INSUFFICIENT_FUNDS :{WHITE}Nie możesz wydać pieniędzy, które są pożyczone z banku...
STR_ERROR_CAN_T_GIVE_MONEY :{WHITE}Nie możesz przekazać pieniędzy tej firmie...
STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Nie można kupić firmy...
STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Nie można zbudować siedziby firmy...
STR_ERROR_CAN_T_BUY_25_SHARE_IN_THIS :{WHITE}Nie można kupić 25% udziałów w tej firmie...

@ -2193,8 +2193,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} en
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} iniciou uma nova empresa (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} deixou o jogo ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} mudou o seu nome para {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} deu à sua empresa {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Deu {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}O servidor fechou a sessão
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}O servidor está a reiniciar...{}Por favor espere...

@ -2142,8 +2142,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} a
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} a început o companie nouă (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} a ieşit din joc ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} şi-a schimbat numele în {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} a dat companiei tale {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Ai dat {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Serverul a închis conexiunea
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Serverul este repornit...{}Vă rugăm aşteptaţi...

@ -2387,8 +2387,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} п
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} основал новую компанию (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} покинул игру ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} изменил имя на {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} передал вашей компании {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Вы передали {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Сервер закрыл сессию
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Сервер перезапускается...{}Пожалуйста, подождите...
STR_NETWORK_MESSAGE_KICKED :*** {STRING} был исключён из игры. Причина: ({STRING})

@ -2356,8 +2356,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} se
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} je osnovao novo preduzeće (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} je napustio partiju ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} je promenio/la ime u {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} je dao vašem preduzeću {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Dali ste {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Server je zatvorio sesiju
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Server se ponovo pokreće...{}Molimo sačekajte...

@ -2206,8 +2206,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING}
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} 成立了新公司 (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} 已离开游戏 ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} 已更改姓名为 {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} 送给您的公司 {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** 您送了 {2:CURRENCY_LONG} 给 {1:STRING}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}服务器关闭了进程
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}服务器正在重新启动。{}请等待……
STR_NETWORK_MESSAGE_KICKED :*** {STRING} 被踢出服务器。原因:({STRING})

@ -2300,8 +2300,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} sa
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} založil novú spoločnosť (č. {2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} opustil hru ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} zmenil/-a svoje meno na {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} dal ti spoločnosť {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Dal si {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Server ukoncil relaciu
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Server sa reštartuje...{}Čakajte prosím...
STR_NETWORK_MESSAGE_KICKED :*** Hráč {STRING} bol vyhodený. Dôvod: ({STRING})

@ -2305,8 +2305,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} se
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} na novo ustvarja podjetje (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} odstopa od igre ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} je opravil/a spremembo imena v {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} je podarilo tvojemu podjetju {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Podjetju {1:STRING} je bil podarjen znesek {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Strežnik je zaprl sejo
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Strežnik se zaganja...{}Prosim počakaj...

@ -315,8 +315,15 @@ STR_SORT_BY_CARGO_CAPACITY :Capacidad de ca
STR_SORT_BY_RANGE :Alcance
STR_SORT_BY_POPULATION :Población
STR_SORT_BY_RATING :Calificación
STR_SORT_BY_NUM_VEHICLES :Número de automóviles
STR_SORT_BY_TOTAL_PROFIT_LAST_YEAR :Beneficios total del último año
STR_SORT_BY_TOTAL_PROFIT_THIS_YEAR :Beneficio total este año
STR_SORT_BY_AVERAGE_PROFIT_LAST_YEAR :Beneficios medio el año pasado
STR_SORT_BY_AVERAGE_PROFIT_THIS_YEAR :Beneficios medio este año
# Group by options for vehicle list
STR_GROUP_BY_NONE :Ninguna
STR_GROUP_BY_SHARED_ORDERS :Órdenes compartidas
# Tooltips for the main toolbar
STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Pausar juego
@ -773,6 +780,7 @@ STR_SMALLMAP_TOOLTIP_ENABLE_ALL_CARGOS :{BLACK}Muestra
STR_STATUSBAR_TOOLTIP_SHOW_LAST_NEWS :{BLACK}Mostrar último mensaje/noticia
STR_STATUSBAR_COMPANY_NAME :{SILVER}- - {COMPANY} - -
STR_STATUSBAR_PAUSED :{YELLOW}* * PAUSADO * *
STR_STATUSBAR_PAUSED_LINK_GRAPH :{ORANGE} * * EN PAUSA (esperando la actualización del gráfico de vínculos) * *
STR_STATUSBAR_AUTOSAVE :{RED}AUTOGUARDADO
STR_STATUSBAR_SAVING_GAME :{RED}* * GUARDANDO JUEGO * *
@ -1556,6 +1564,10 @@ STR_CONFIG_SETTING_ENDING_YEAR :Año de clasifi
STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Año en el que finaliza el juego para establecer la clasificación. Al final de este año se guarda la puntuación de las empresas y se muestra la pantalla de las puntuaciones más altas, aunque se puede continuar jugando la partida.{}Si este año es posterior al año de comienzo, la pantalla de puntuaciones más altas no se mostrará nunca.
STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM}
STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Nunca
STR_CONFIG_SETTING_ECONOMY_TYPE :Tipo de economía: {STRING}
STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :La economía fluida hace que los cambios de producción sean más frecuentes y en pasos más pequeños. La economía congelada detiene los cambios de producción y los cierres de industrias. Esta configuración puede no tener efecto si los tipos de industria los proporciona un NewGRF.
STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Suave
STR_CONFIG_SETTING_ECONOMY_TYPE_FROZEN :Congelado
STR_CONFIG_SETTING_ALLOW_SHARES :Permitir comprar acciones de otras empresas: {STRING}
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Cuando se activa, permite comprar y vender acciones de empresas. Las acciones de una empresa solamente estarán disponibles cuando la empresa cumpla una edad determinada
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES :Edad mínima de una empresa para comerciar con sus acciones: {STRING}
@ -1607,6 +1619,9 @@ STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Lineal
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT :Crecimiento de árboles durante el juego: {STRING}
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Controla la aparición aleatoria de árboles durante la partida. Esto puede afectar a industrias que dependen del crecimiento de árboles, como los aserraderos
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NO_SPREAD :Crecer, pero no extienda {RED}(rompe al aserradero)
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_SPREAD_ALL :Crece y difunde por todas partes
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NO_GROWTH_NO_SPREAD :No crezcas, no te extiendas {RED}(rompe el aserradero)
STR_CONFIG_SETTING_TOOLBAR_POS :Posición de la barra de herramientas principal: {STRING}
STR_CONFIG_SETTING_TOOLBAR_POS_HELPTEXT :Posicionamiento horizontal de la barra de herramientas principal en la parte superior de la pantalla
@ -1673,6 +1688,7 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :Cada vez que se
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_IMPERIAL :Imperial (mph)
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_METRIC :Métrico (km/h)
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_SI :SI (m/s)
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_GAMEUNITS :Unidades de juego (fichas/día)
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Unidades de potencia de vehículos: {STRING}
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_HELPTEXT :Cada vez que se muestra la potencia de un vehículo en la interfaz de usuario, se emplean las unidades seleccionadas
@ -1968,6 +1984,10 @@ STR_NETWORK_SERVER_LIST_JOIN_GAME :{BLACK}Unirme a
STR_NETWORK_SERVER_LIST_REFRESH :{BLACK}Recargar servidor
STR_NETWORK_SERVER_LIST_REFRESH_TOOLTIP :{BLACK}Recargar información del servidor
STR_NETWORK_SERVER_LIST_SEARCH_SERVER_INTERNET :Buscar en línea
STR_NETWORK_SERVER_LIST_SEARCH_SERVER_INTERNET_TOOLTIP :{BLACK} Buscar servidores públicos en Internet
STR_NETWORK_SERVER_LIST_SEARCH_SERVER_LAN :{BLACK}Buscar en LAN
STR_NETWORK_SERVER_LIST_SEARCH_SERVER_LAN_TOOLTIP :{BLACK}Buscar en LAN para los servidores
STR_NETWORK_SERVER_LIST_ADD_SERVER :{BLACK}Añadir servidor
STR_NETWORK_SERVER_LIST_ADD_SERVER_TOOLTIP :{BLACK}Añade el servidor a una lista que siempre será comprobada para buscar juegos en marcha
STR_NETWORK_SERVER_LIST_START_SERVER :{BLACK}Comenzar servidor
@ -2193,11 +2213,13 @@ STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_1 :Juego todavía
STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_2 :Juego todavía pausado ({STRING}, {STRING})
STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_3 :Juego todavía pausado ({STRING}, {STRING}, {STRING})
STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_4 :Juego todavía pausado ({STRING}, {STRING}, {STRING}, {STRING})
STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_5 :Juego todavia pausado ({STRING}, {STRING}, {STRING}, {STRING}, {STRING})
STR_NETWORK_SERVER_MESSAGE_GAME_UNPAUSED :Juego reanudado ({STRING})
STR_NETWORK_SERVER_MESSAGE_GAME_REASON_NOT_ENOUGH_PLAYERS :número de jugadores
STR_NETWORK_SERVER_MESSAGE_GAME_REASON_CONNECTING_CLIENTS :clientes conectándose
STR_NETWORK_SERVER_MESSAGE_GAME_REASON_MANUAL :manual
STR_NETWORK_SERVER_MESSAGE_GAME_REASON_GAME_SCRIPT :script de juego
STR_NETWORK_SERVER_MESSAGE_GAME_REASON_LINK_GRAPH :Esperando por actualizacion del link graph
############ End of leave-in-this-order
STR_NETWORK_MESSAGE_CLIENT_LEAVING :abandonando
STR_NETWORK_MESSAGE_CLIENT_JOINED :*** {STRING} se ha unido al juego
@ -2207,8 +2229,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} se
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} ha creado una nueva empresa (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} ha abandonado el juego ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} ha cambiado su nombre a {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} da a tu empresa {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Entregas a la empresa {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}El servidor ha cerrado la sesión
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Se está reiniciando el servidor...{}Espere por favor...
STR_NETWORK_MESSAGE_KICKED :*** {STRING} ha sido expulsado. Razón: ({STRING})
@ -2521,6 +2541,12 @@ STR_TREES_RANDOM_TYPE :{BLACK}Tipo ale
STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Colocar distintos árboles al azar. Mayús permite mostrar una estimación del precio
STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Árboles al azar
STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Planta árboles al azar sobre el terreno
STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Normal
STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK} Plantar árboles solteros por arrastrando sobre el paisaje.
STR_TREES_MODE_FOREST_SM_BUTTON :{BLACK}Falta
STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Plante pequeños bosques arrastrándolo por el paisaje.
STR_TREES_MODE_FOREST_LG_BUTTON :{BLACK}Bosque
STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Plantar bosques grandes por arrastrando sobre el paisaje.
# Land generation window (SE)
STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Generación de terrenos
@ -3361,7 +3387,7 @@ STR_COMPANY_VIEW_SELL_SHARE_TOOLTIP :{BLACK}Vender 2
STR_COMPANY_VIEW_COMPANY_NAME_QUERY_CAPTION :Nombre Empresa
STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Nombre del Presidente
STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Introduce la cantidad de dinero que deseas dar
STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Entrar el cantidad de dinero que quieres dar
STR_BUY_COMPANY_MESSAGE :{WHITE}Estamos buscando una empresa de transportes para adquirir la nuestra{}{}¿Desea comprar {COMPANY} por {CURRENCY_LONG}?
@ -4232,6 +4258,7 @@ STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :La partida guar
STR_GAME_SAVELOAD_ERROR_FILE_NOT_READABLE :Archivo no legible
STR_GAME_SAVELOAD_ERROR_FILE_NOT_WRITEABLE :No se puede escribir en el archivo
STR_GAME_SAVELOAD_ERROR_DATA_INTEGRITY_CHECK_FAILED :Comprobación de integridad de los datos fallida
STR_GAME_SAVELOAD_ERROR_PATCHPACK :La partida guardada ha sido realizada cona una versión modificada..
STR_GAME_SAVELOAD_NOT_AVAILABLE :<no disponible>
STR_WARNING_LOADGAME_REMOVED_TRAMS :{WHITE}El juego se ha guardado en una versión sin soporte para tranvías. Todos los tranvías han sido eliminados
@ -4312,6 +4339,7 @@ STR_ERROR_LOAN_ALREADY_REPAYED :{WHITE}... no h
STR_ERROR_CURRENCY_REQUIRED :{WHITE}... {CURRENCY_LONG} requerido
STR_ERROR_CAN_T_REPAY_LOAN :{WHITE}No es posible pagar préstamo...
STR_ERROR_INSUFFICIENT_FUNDS :{WHITE}No se puede dar dinero que ha sido prestado de un banco...
STR_ERROR_CAN_T_GIVE_MONEY :{WHITE}No se puede dar dinero a este empresa...
STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}No se puede comprar la empresa...
STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}No puede construirse la sede de la empresa...
STR_ERROR_CAN_T_BUY_25_SHARE_IN_THIS :{WHITE}No se puede comprar el 25% de acciones...
@ -5029,6 +5057,7 @@ STR_FORMAT_BUOY_NAME :Boya {TOWN}
STR_FORMAT_BUOY_NAME_SERIAL :Boya {TOWN} #{COMMA}
STR_FORMAT_COMPANY_NUM :(Empresa {COMMA})
STR_FORMAT_GROUP_NAME :Grupo {COMMA}
STR_FORMAT_GROUP_VEHICLE_NAME :{GROUP} #{COMMA}
STR_FORMAT_INDUSTRY_NAME :{TOWN}, {STRING}
STR_FORMAT_WAYPOINT_NAME :Punto de ruta {TOWN}
STR_FORMAT_WAYPOINT_NAME_SERIAL :Punto de ruta {TOWN} #{COMMA}

@ -2233,8 +2233,7 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} se
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} creó una nueva empresa (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} salió de la partida ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} cambió su nombre a {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} le dio a tu empresa {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** {2:CURRENCY_LONG} cedidos a la empresa {1:STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} le transfirió {2:CURRENCY_LONG} a {1:STRING}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}El servidor ha cerrado la sesión
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Se está reiniciando el servidor...{}Espera por favor...
STR_NETWORK_MESSAGE_KICKED :*** {STRING} ha sido expulsado. Razón: ({STRING})
@ -3375,7 +3374,8 @@ STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Reubicar
STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Reubicar la sede de la empresa a cualquier otro lugar con el costo del 1% del valor total de la empresa. Mayús+Clic muestra una estimación del precio sin mover la sede
STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Detalles
STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Ver informe detallado de infraestructura
STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Dar dinero
STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Transferir capital
STR_COMPANY_VIEW_GIVE_MONEY_TOOLTIP :{BLACK}Transferir capital a esta empresa
STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Nueva cara
STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Elegir nueva cara para el presidente
@ -3393,7 +3393,7 @@ STR_COMPANY_VIEW_SELL_SHARE_TOOLTIP :{BLACK}Vender 2
STR_COMPANY_VIEW_COMPANY_NAME_QUERY_CAPTION :Nombre de la empresa
STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Nombre del presidente
STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Introducir la cantidad de dinero a dar
STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Cantidad de dinero a transferir
STR_BUY_COMPANY_MESSAGE :{WHITE}Buscamos una empresa de transportes que quiera adquirir la nuestra.{}{}¿Comprar {COMPANY} por {CURRENCY_LONG}?
@ -4345,6 +4345,7 @@ STR_ERROR_LOAN_ALREADY_REPAYED :{WHITE}... no h
STR_ERROR_CURRENCY_REQUIRED :{WHITE}... se requieren {CURRENCY_LONG}
STR_ERROR_CAN_T_REPAY_LOAN :{WHITE}No se puede pagar préstamo...
STR_ERROR_INSUFFICIENT_FUNDS :{WHITE}No se puede regalar dinero que fue prestado de un banco...
STR_ERROR_CAN_T_GIVE_MONEY :{WHITE}No se puede transferir capital a esta empresa...
STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}No se puede comprar la empresa...
STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}No se puede construir la sede de la empresa...
STR_ERROR_CAN_T_BUY_25_SHARE_IN_THIS :{WHITE}No se puede comprar el 25% de acciones...

@ -2206,8 +2206,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} ha
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} har startat ett nytt företag (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} har lämnat spelet ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} har ändrat hans/hennes namn till {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} gav ditt företag {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** You gave {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Servern avslutade sessionen
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Servern startar om...{}Var vänlig vänta...
STR_NETWORK_MESSAGE_KICKED :*** {STRING} kastades ut. Orsak: ({STRING})

@ -1983,8 +1983,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING}
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} புதிய நிறுவனம் (#{2:NUM})வை துவக்கி உள்ளார்
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} ஆட்டத்தை விட்டு வெளியேரினார் ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} அவரது/அவளது பெயரினை {STRING} என்று மாற்றினார்
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} தங்கள் நிறுவனத்திற்கு {2:CURRENCY_LONG} கொடுத்தார்
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** நீங்கள் கொடுத்தீற்கள் {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}சர்வர் ஆட்டத்தினை முடித்தது
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}சர்வர் மீண்டும் தொடங்குகிறது...{}சற்று பொறுக்கவும்...
STR_NETWORK_MESSAGE_KICKED :*** {STRING} வெளியேற்றப்பட்டார். காரணம்: ({STRING})

@ -2098,8 +2098,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING}
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} ได้ทำการสร้างบริษัทใหม่ (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} ได้ออกจากเกม ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} ได้ทำการเปลี่ยนชื่อเป็น {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} ยกบริษัทให้คุณ {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** คุณให้ {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}เซิฟเวอร์ปืดเซสซั่นนี้
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}เซิฟเวอร์กำลังทำการเริ่มต้นใหม่...{}กรุณารอซักครู่...

@ -2152,8 +2152,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING}
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} 已建立新公司 (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} 已離開遊戲 ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} 已修改其名稱為 {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} 付給你的公司 {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** 你付給 {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}伺服器關閉連線
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}伺服器重新啟動中...{}請稍候...

@ -2207,8 +2207,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} g
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} yeni bir şirket kurdu (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} oyunu terketti ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} adını {STRING} olarak değiştirdi
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} şirketinize {2:CURRENCY_LONG} verdi
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** {1:STRING} oyuncusuna {2:CURRENCY_LONG} verdiniz
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Sunucu kapandı
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Sunucu baştan başlatılıyor...{}Lütfen bekleyin...
STR_NETWORK_MESSAGE_KICKED :*** {STRING} atıldı. Sebep: ({STRING})

@ -2334,8 +2334,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} с
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} заснував нову компанію (№{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} покинув гру ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} змінив(-ла) своє ім'я на {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} дав Вашій компанії {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Ви дали {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Сервер закрив сеанс
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Перезавантаження сервера...{}Зачекайте...
STR_NETWORK_MESSAGE_KICKED :*** {STRING} відключено. Причина: ({STRING})

@ -787,7 +787,6 @@ STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}Вырн
# Network client list
# Network set password
# Network company info join/password

@ -1943,7 +1943,6 @@ STR_NETWORK_COMPANY_LIST_NEW_COMPANY :{WHITE}Nei Bedr
# Network client list
STR_NETWORK_CLIENTLIST_KICK :Skoppe
STR_NETWORK_CLIENTLIST_GIVE_MONEY :Jouw jild
STR_NETWORK_CLIENTLIST_SPEAK_TO_ALL :Tsjin elkenien prate
STR_NETWORK_CLIENTLIST_SPEAK_TO_COMPANY :Praat mei bedriuw
STR_NETWORK_CLIENTLIST_SPEAK_TO_CLIENT :Priveeberjocht
@ -1952,7 +1951,6 @@ STR_NETWORK_SERVER :Tsjinner
STR_NETWORK_CLIENT :Kliïnt
STR_NETWORK_SPECTATORS :Taskôgers
# Network set password
STR_COMPANY_PASSWORD_OK :{BLACK}Jou it bedriuw it nije wachtwurd
STR_COMPANY_PASSWORD_CAPTION :{WHITE}Bedriuwswachtwurd

@ -636,7 +636,6 @@ STR_NETWORK_SERVER_LIST_MAP_SIZE_SHORT :{BLACK}{COMMA}x
# Network client list
# Network set password
# Network company info join/password

@ -994,7 +994,6 @@ STR_NETWORK_SERVER_LIST_MAP_SIZE_SHORT :{BLACK}{COMMA}x
# Network client list
# Network set password
# Network company info join/password

@ -564,7 +564,6 @@ STR_NETWORK_CONNECTING_DOWNLOADING_2 :{BLACK}{BYTES}
# Network client list
# Network set password
# Network company info join/password

@ -961,7 +961,6 @@ STR_NETWORK_CONNECTING_DOWNLOADING_2 :{BLACK}{BYTES}
# Network client list
# Network set password
# Network company info join/password

@ -225,6 +225,7 @@ STR_TOOLTIP_FILTER_CRITERIA :{BLACK}انتخ
STR_BUTTON_SORT_BY :{BLACK}مرتب کردن بر اساس
STR_BUTTON_LOCATION :{BLACK}مختصات
STR_BUTTON_RENAME :{BLACK}نام گزاری
STR_BUTTON_CATCHMENT :{BLACK}تحت پوشش
STR_TOOLTIP_CLOSE_WINDOW :{BLACK}بستن پنجره
STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}عنوان پنجره - پرای جابجا کردن پنجره این قسمت را بکشید.
@ -299,6 +300,7 @@ STR_SORT_BY_CARGO_CAPACITY :ظرفیت مح
STR_SORT_BY_RANGE :بازه
STR_SORT_BY_POPULATION :جمعیت
STR_SORT_BY_RATING :نرخ
STR_SORT_BY_AVERAGE_PROFIT_LAST_YEAR :میانگین سود سال گذشته
# Group by options for vehicle list
@ -461,6 +463,7 @@ STR_ABOUT_MENU_SEPARATOR :
STR_ABOUT_MENU_TOGGLE_CONSOLE :باز و بسته کردن کنسول
STR_ABOUT_MENU_AI_DEBUG :خطایابی هوش مصنوعی
STR_ABOUT_MENU_SCREENSHOT :تصویر از بازی
STR_ABOUT_MENU_SHOW_FRAMERATE :نمایش دادن frame rate
STR_ABOUT_MENU_ABOUT_OPENTTD :'OpenTTD' درباره
STR_ABOUT_MENU_SPRITE_ALIGNER :تراز کردن تصویر گرافیکی
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :باز/بسته کردن محدوده جعبه ها
@ -1459,6 +1462,7 @@ STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}انتخ
STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}انتخاب «سرزمین اسباب بازی‌ها» برای سبک بازی
STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}نشان دادن تنظیمات بازی
STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}نمایش جدول بالاترین امتیازات
STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}نمایش تنظیمات NewGRF
STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}بررسی وجود مجموعه ها و به روز رسانی های جدید در اینترنت
STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}نمایش تنظیمات هوش مصنوعی و اسکریپت های بازی
@ -1468,6 +1472,7 @@ STR_INTRO_TRANSLATION :{BLACK}این
# Quit window
STR_QUIT_CAPTION :{WHITE}خروج
STR_QUIT_ARE_YOU_SURE_YOU_WANT_TO_EXIT_OPENTTD :{YELLOW}آیا مطمئن هستی که میخواهی از OpenTTD خارج شوی؟
STR_QUIT_YES :{BLACK}بله
STR_QUIT_NO :{BLACK}خیر
@ -1863,8 +1868,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} ب
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} یک شرکت جدید آغاز کرد (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} از بازی بیرون رفت ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} نامش را به {STRING} تغییر داد
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} به شرکت شما {2:CURRENCY_LONG} پول داد
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** شما {1:STRING}به شرکت {2:CURRENCY_LONG} دادید
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}سرویس دهنده جلسه را تعطیل کرد
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}راه اندازی مجدد سرویس دهنده...{}لطفا صبر کنید...
@ -2359,6 +2362,8 @@ STR_ABOUT_VERSION :{BLACK}OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-{STRING} The OpenTTD team
# Framerate display window
STR_FRAMERATE_MEMORYUSE :{WHITE}حافظه
STR_FRAMERATE_MS_BAD :{RED}{DECIMAL} ms
############ Leave those lines in this order!!
############ End of leave-in-this-order
############ Leave those lines in this order!!
@ -2699,7 +2704,7 @@ STR_GOALS_COMPANY_TITLE :{BLACK}اهدا
STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}روی هدف کلیک کنید تا نمای اصلی را به مرکز صنایع/شهر/قطعه ببرد. Ctrl+Click یک نمای جدید از محل صنایع/شهر قطعه باز می کند
# Goal question window
STR_GOAL_QUESTION_CAPTION_QUESTION :سوال
STR_GOAL_QUESTION_CAPTION_QUESTION :{BLACK}سوال
############ Start of Goal Question button list
STR_GOAL_QUESTION_BUTTON_CANCEL :لغو
@ -2733,6 +2738,7 @@ STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}روی
# Story book window
STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}کتابچه راهنمای عمومی
STR_STORY_BOOK_SPECTATOR :کتاب داستان جهانی
STR_STORY_BOOK_INVALID_GOAL_REF :{RED}رجوع به هدف نامعتبر
# Station list window
@ -2762,6 +2768,7 @@ STR_STATION_VIEW_SUPPLY_RATINGS_TITLE :{BLACK}تولی
STR_STATION_VIEW_CARGO_SUPPLY_RATING :{WHITE}{STRING}: {YELLOW}{COMMA} / {STRING} ({COMMA}%)
STR_STATION_VIEW_GROUP :{BLACK}همگروه با
STR_STATION_VIEW_WAITING_STATION :ایستگاه: منتظر است
STR_STATION_VIEW_FROM :{YELLOW}{CARGO_SHORT} از {STATION}
STR_STATION_VIEW_VIA :{YELLOW}{CARGO_SHORT} ازطریق {STATION}
STR_STATION_VIEW_TO :{YELLOW}{CARGO_SHORT} به {STATION}
@ -2923,6 +2930,7 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :ماشین ها
############ range for vehicle availability starts
STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :وسایل ریل خط آهن
STR_BUY_VEHICLE_SHIP_CAPTION :کشتی های جدید
STR_BUY_VEHICLE_AIRCRAFT_CAPTION :هواپیمای جدید
############ range for vehicle availability ends
@ -2937,6 +2945,7 @@ STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}لیست
STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}ساخت وسیله نقلیه
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}خرید وسیله نقلیه
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}خرید کشتی
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}خرید هواپیما
@ -3040,6 +3049,7 @@ STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK} ستو
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}برای توقف جایگزین کردن برای نوع انتخاب شده در سمت چپ کلیک کنید
STR_REPLACE_ENGINES :موتور ها
STR_REPLACE_ELRAIL_VEHICLES :وسایل نقلیه ریلی برقی
@ -3226,9 +3236,11 @@ STR_TIMETABLE_CLEAR_TIME :{BLACK}پاک
# AI debug window
STR_AI_DEBUG :{WHITE}رفع اشکالات کد هوش مصنوعی
STR_AI_DEBUG_NAME_TOOLTIP :{BLACK}نام کد
STR_AI_DEBUG_SETTINGS :{BLACK}تنظیمات
STR_AI_DEBUG_RELOAD :{BLACK}بازگشایی مجدد هوش مصنوعی
STR_AI_DEBUG_RELOAD_TOOLTIP :{BLACK}از بین بردن هوش مصنوعی. بازگشایی اسکریپت. و شروع مجدد هوش مصنوعی
STR_AI_DEBUG_BREAK_STR_ON_OFF_TOOLTIP :{BLACK}فعالسازی/غیر فعال سازی توقف هنگامی که هوش مصنوعی گزارشی با متن توقف تولید می کند
STR_AI_DEBUG_CONTINUE :{BLACK}ادامه
STR_AI_GAME_SCRIPT :{BLACK}کدبازی
STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}دیدن گزارش های کد بازی
@ -3242,6 +3254,10 @@ STR_AI_CONFIG_HUMAN_PLAYER :بازیکن آ
STR_AI_CONFIG_RANDOM_AI :انتخاب هوش مصنوعی به صورت اتفاقی
STR_AI_CONFIG_NONE :(هیچکدام)
STR_AI_CONFIG_MOVE_UP :حرکت به بالا
STR_AI_CONFIG_MOVE_UP_TOOLTIP :{BLACK}حرکت دادن AI انتخاب شده به سمت بالا در لیست
STR_AI_CONFIG_MOVE_DOWN :{BLACK}حرکت به پایین
STR_AI_CONFIG_MOVE_DOWN_TOOLTIP :{BLACK}حرکت دادن AI انتخاب شده به سمت پایین در لیست
STR_AI_CONFIG_GAMESCRIPT :{SILVER}کدبازی
STR_AI_CONFIG_AI :{SILVER}هوشهای مصنوعی
@ -3315,6 +3331,7 @@ STR_ERROR_HEIGHTMAP_TOO_LARGE :{WHITE}تصوی
# Soundset messages
# Screenshot related messages
STR_WARNING_SCREENSHOT_SIZE_CAPTION :{WHITE}اسکرین شات بزرگ
STR_MESSAGE_SCREENSHOT_SUCCESSFULLY :{WHITE}تصویر با موفقیت در {STRING} ذخیره شد
STR_ERROR_SCREENSHOT_FAILED :{WHITE}تصویر از بازی ذخیره نشد
@ -3681,10 +3698,10 @@ STR_INDUSTRY_NAME_SUGAR_MINE :معدن شکر
##id 0x6000
STR_SV_EMPTY :
STR_SV_UNNAMED :بی نام
STR_SV_TRAIN_NAME :قطار {COMMA}
STR_SV_ROAD_VEHICLE_NAME :خودرو جاده ای {COMMA}
STR_SV_SHIP_NAME :کشتی {COMMA}
STR_SV_AIRCRAFT_NAME :هواپیما {COMMA}
STR_SV_TRAIN_NAME :قطار #{COMMA}
STR_SV_ROAD_VEHICLE_NAME :خودرو جاده ای #{COMMA}
STR_SV_SHIP_NAME :کشتی #{COMMA}
STR_SV_AIRCRAFT_NAME :هواپیما #{COMMA}
STR_SV_STNAME :{STRING}
STR_SV_STNAME_NORTH :{STRING} شمال

@ -1657,7 +1657,6 @@ STR_NETWORK_SERVER :سرور
STR_NETWORK_CLIENT :کلائینٹ
STR_NETWORK_SPECTATORS :ناظرین
# Network set password
STR_COMPANY_PASSWORD_CANCEL :{BLACK}بتایا گیا پاس ورڈ محفوظ نہ کریں
STR_COMPANY_PASSWORD_OK :{BLACK}کمپنی کا نیا پاس ورڈ رکھیں
@ -1757,8 +1756,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} ن
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} نے نئی کمپنی شروع کی ہے (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} نے کھیل چھوڑ دیا ہے ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} نے اپنا نام بدل کر {STRING} رکھ لیا ہے
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} نے آپ کی کمپنی کو {2:CURRENCY_LONG} دئیے ہیں
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** آپ نے {1:STRING} کو {2:CURRENCY_LONG} دئیے ہیں
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}سرور نے سیشن بند کر دیا
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}سرور دوبارہ سے سٹارٹ ہو رہا ہے - - -{}برائے مہربانی انتظار فرمائیے ۔ ۔ ۔

@ -2208,8 +2208,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} v
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} khai trương công ty mới (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} rời bỏ ván chơi ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} đổi tên thành {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} tặng công ty bạn {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Bạn cho {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Server kết thúc phiên
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Server khởi động lại...{}Xin chờ...
STR_NETWORK_MESSAGE_KICKED :*** {STRING} đã bị đá khỏi ván chơi. Lý do: ({STRING})

@ -2157,8 +2157,6 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** Mae {STRING
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** Mae {STRING} wedi dechrau cwmni newydd (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** Mae {STRING} wedi gadael y gêm ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** Mae {STRING} wedi newid ei (h)enw i {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** Rhoddodd {STRING} {2:CURRENCY_LONG} i'ch cwmni
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Fe roddoch chi {2:CURRENCY_LONG} {1:STRING}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Fe gaewyd y sesiwn gan y gweinydd
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Mae'r gweinydd yn ailgychwyn...{}Arhoswch...

@ -258,9 +258,9 @@ void NetworkTextMessage(NetworkAction action, TextColour colour, bool self_send,
if (self_send) {
strid = STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY;
} else if ((CompanyID) (data.auxdata & 0xFFFF) == _local_company) {
strid = STR_NETWORK_MESSAGE_GIVE_MONEY;
strid = STR_NETWORK_MESSAGE_GIVE_MONEY_RECEIVE;
} else {
strid = STR_NETWORK_MESSAGE_MONEY_GIVEN;
strid = STR_NETWORK_MESSAGE_GIVE_MONEY;
SetDParam(3, data.auxdata & 0xFFFF);
}
break;

@ -42,9 +42,9 @@ static inline void AddVehicleAdviceNewsItem(StringID string, VehicleID vehicle)
AddNewsItem(string, NT_ADVICE, NF_INCOLOUR | NF_SMALL | NF_VEHICLE_PARAM0, NR_VEHICLE, vehicle);
}
static inline void AddTileNewsItem(StringID string, NewsType type, TileIndex tile, void *free_data = nullptr)
static inline void AddTileNewsItem(StringID string, NewsType type, TileIndex tile, void *free_data = nullptr, StationID station = INVALID_STATION)
{
AddNewsItem(string, type, NF_NO_TRANSPARENT | NF_SHADE | NF_THIN, NR_TILE, tile, NR_NONE, UINT32_MAX, free_data);
AddNewsItem(string, type, NF_NO_TRANSPARENT | NF_SHADE | NF_THIN, NR_TILE, tile, station == INVALID_STATION ? NR_NONE : NR_STATION, station, free_data);
}
static inline void AddIndustryNewsItem(StringID string, NewsType type, IndustryID industry)

@ -251,7 +251,14 @@ CommandCost CmdBuildObject(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3
} else {
if (!allow_ground) return_cmd_error(STR_ERROR_MUST_BE_BUILT_ON_WATER);
/* For non-water tiles, we'll have to clear it before building. */
cost.AddCost(DoCommand(t, 0, 0, flags & ~DC_EXEC, CMD_LANDSCAPE_CLEAR));
/* When relocating HQ, allow it to be relocated (partial) on itself. */
if (!(type == OBJECT_HQ &&
IsTileType(t, MP_OBJECT) &&
IsTileOwner(t, _current_company) &&
IsObjectType(t, OBJECT_HQ))) {
cost.AddCost(DoCommand(t, 0, 0, flags & ~DC_EXEC, CMD_LANDSCAPE_CLEAR));
}
}
}

@ -303,15 +303,6 @@ static CommandCost CheckTrackCombination(TileIndex tile, TrackBits to_build, Rai
return CommandCost();
}
/* Let's see if we may build this */
if ((flags & DC_NO_RAIL_OVERLAP) || HasSignals(tile)) {
/* If we are not allowed to overlap (flag is on for ai companies or we have
* signals on the tile), check that */
if (future != TRACK_BIT_HORZ && future != TRACK_BIT_VERT) {
return_cmd_error((flags & DC_NO_RAIL_OVERLAP) ? STR_ERROR_IMPOSSIBLE_TRACK_COMBINATION : STR_ERROR_MUST_REMOVE_SIGNALS_FIRST);
}
}
RailType rt = INVALID_RAILTYPE;
if (current == TRACK_BIT_HORZ || current == TRACK_BIT_VERT) {
RailType rt1 = GetRailType(tile);
@ -561,7 +552,9 @@ static inline bool ValParamTrackOrientation(Track track)
* @param tile tile to build on
* @param flags operation to perform
* @param p1 railtype of being built piece (normal, mono, maglev)
* @param p2 rail track to build
* @param p2 various bitstuffed elements
* - (bit 0- 2) - track-orientation, valid values: 0-5 (@see Track)
* - (bit 3) - 0 = error on signal in the way, 1 = auto remove signals when in the way
* @param text unused
* @return the cost of this operation or an error
*/
@ -569,6 +562,7 @@ CommandCost CmdBuildSingleRail(TileIndex tile, DoCommandFlag flags, uint32 p1, u
{
RailType railtype = Extract<RailType, 0, 6>(p1);
Track track = Extract<Track, 0, 3>(p2);
bool auto_remove_signals = HasBit(p2, 3);
bool disable_custom_bridge_heads = HasBit(p2, 4);
bool disable_dual_rail_type = HasBit(p2, 5);
CommandCost cost(EXPENSES_CONSTRUCTION);
@ -606,6 +600,19 @@ CommandCost CmdBuildSingleRail(TileIndex tile, DoCommandFlag flags, uint32 p1, u
return ret;
}
if (HasSignals(tile) && TracksOverlap(GetTrackBits(tile) | TrackToTrackBits(track))) {
/* If adding the new track causes any overlap, all signals must be removed first */
if (!auto_remove_signals) return_cmd_error(STR_ERROR_MUST_REMOVE_SIGNALS_FIRST);
for (Track track_it = TRACK_BEGIN; track_it < TRACK_END; track_it++) {
if (HasTrack(tile, track_it) && HasSignalOnTrack(tile, track_it)) {
CommandCost ret_remove_signals = DoCommand(tile, track_it, 0, flags, CMD_REMOVE_SIGNALS);
if (ret_remove_signals.Failed()) return ret_remove_signals;
cost.AddCost(ret_remove_signals);
}
}
}
ret = CheckRailSlope(tileh, trackbit, GetTrackBits(tile), tile);
if (ret.Failed()) return ret;
cost.AddCost(ret);
@ -658,9 +665,9 @@ CommandCost CmdBuildSingleRail(TileIndex tile, DoCommandFlag flags, uint32 p1, u
if (existing == future) return_cmd_error(STR_ERROR_ALREADY_BUILT);
if (flags & DC_NO_RAIL_OVERLAP || IsTunnelBridgeWithSignalSimulation(tile)) {
if (IsTunnelBridgeWithSignalSimulation(tile)) {
if (future != TRACK_BIT_HORZ && future != TRACK_BIT_VERT) {
return_cmd_error((flags & DC_NO_RAIL_OVERLAP) ? STR_ERROR_IMPOSSIBLE_TRACK_COMBINATION : STR_ERROR_MUST_REMOVE_SIGNALS_FIRST);
return_cmd_error(STR_ERROR_MUST_REMOVE_SIGNALS_FIRST);
}
}
@ -1147,6 +1154,7 @@ static CommandCost ValidateAutoDrag(Trackdir *trackdir, TileIndex start, TileInd
* - p2 = (bit 6-8) - track-orientation, valid values: 0-5 (Track enum)
* - p2 = (bit 9) - 0 = build, 1 = remove tracks
* - p2 = (bit 10) - 0 = build up to an obstacle, 1 = fail if an obstacle is found (used for AIs).
* - p2 = (bit 13) - 0 = error on signal in the way, 1 = auto remove signals when in the way
* @param text unused
* @return the cost of this operation or an error
*/
@ -1159,6 +1167,7 @@ static CommandCost CmdRailTrackHelper(TileIndex tile, DoCommandFlag flags, uint3
bool fail_if_obstacle = HasBit(p2, 10);
bool no_custom_bridge_heads = HasBit(p2, 11);
bool no_dual_rail_type = HasBit(p2, 12);
bool auto_remove_signals = HasBit(p2, 13);
_rail_track_endtile = INVALID_TILE;
@ -1174,7 +1183,7 @@ static CommandCost CmdRailTrackHelper(TileIndex tile, DoCommandFlag flags, uint3
CommandCost last_error = CMD_ERROR;
for (;;) {
TileIndex last_endtile = _rail_track_endtile;
CommandCost ret = DoCommand(tile, remove ? 0 : railtype, TrackdirToTrack(trackdir) | (no_custom_bridge_heads ? 1 << 4 : 0) | (no_dual_rail_type ? 1 << 5 : 0), flags, remove ? CMD_REMOVE_SINGLE_RAIL : CMD_BUILD_SINGLE_RAIL);
CommandCost ret = DoCommand(tile, remove ? 0 : railtype, TrackdirToTrack(trackdir) | (auto_remove_signals << 3) | (no_custom_bridge_heads ? 1 << 4 : 0) | (no_dual_rail_type ? 1 << 5 : 0), flags, remove ? CMD_REMOVE_SINGLE_RAIL : CMD_BUILD_SINGLE_RAIL);
if (ret.Failed()) {
last_error = ret;

@ -104,7 +104,7 @@ static CommandContainer GenericPlaceRailCmd(TileIndex tile, Track track)
CommandContainer ret = NewCommandContainerBasic(
tile, // tile
_cur_railtype, // p1
track, // p2
track | (_settings_client.gui.auto_remove_signals << 3), // p2
(uint32) (_remove_button_clicked ?
CMD_REMOVE_SINGLE_RAIL | CMD_MSG(STR_ERROR_CAN_T_REMOVE_RAILROAD_TRACK) :
CMD_BUILD_SINGLE_RAIL | CMD_MSG(STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK)), // cmd
@ -123,10 +123,11 @@ static CommandContainer GenericPlaceRailCmd(TileIndex tile, Track track)
*/
static void PlaceExtraDepotRail(TileIndex tile, DiagDirection dir, Track track)
{
if (GetRailTileType(tile) != RAIL_TILE_NORMAL) return;
if (GetRailTileType(tile) == RAIL_TILE_DEPOT) return;
if (GetRailTileType(tile) == RAIL_TILE_SIGNALS && !_settings_client.gui.auto_remove_signals) return;
if ((GetTrackBits(tile) & DiagdirReachesTracks(dir)) == 0) return;
DoCommandP(tile, _cur_railtype, track, CMD_BUILD_SINGLE_RAIL);
DoCommandP(tile, _cur_railtype, track | (_settings_client.gui.auto_remove_signals << 3), CMD_BUILD_SINGLE_RAIL);
}
/** Additional pieces of track to add at the entrance of a depot. */
@ -388,7 +389,7 @@ static CommandContainer DoRailroadTrackCmd(TileIndex start_tile, TileIndex end_t
CommandContainer ret = NewCommandContainerBasic(
start_tile, // tile
end_tile, // p1
(uint32) (_cur_railtype | (track << 6)), // p2
(uint32) (_cur_railtype | (track << 6) | (_settings_client.gui.auto_remove_signals << 13)), // p2
(uint32) (_remove_button_clicked ?
CMD_REMOVE_RAILROAD_TRACK | CMD_MSG(STR_ERROR_CAN_T_REMOVE_RAILROAD_TRACK) :
CMD_BUILD_RAILROAD_TRACK | CMD_MSG(STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK)), // cmd

@ -1609,7 +1609,8 @@ CommandCost CmdRemoveLongRoad(TileIndex start_tile, DoCommandFlag flags, uint32
FlushDeferredUpdateRoadCachedOneWayStates();
});
Money money = GetAvailableMoneyForCommand();
Money money_available = GetAvailableMoneyForCommand();
Money money_spent = 0;
TileIndex tile = start_tile;
CommandCost last_error = CMD_ERROR;
bool had_success = false;
@ -1626,8 +1627,8 @@ CommandCost CmdRemoveLongRoad(TileIndex start_tile, DoCommandFlag flags, uint32
CommandCost ret = RemoveRoad(tile, flags & ~DC_EXEC, bits, rtt, true);
if (ret.Succeeded()) {
if (flags & DC_EXEC) {
money -= ret.GetCost();
if (money < 0) {
money_spent += ret.GetCost();
if (money_spent > 0 && money_spent > money_available) {
_additional_cash_required = DoCommand(start_tile, end_tile, p2, flags & ~DC_EXEC, CMD_REMOVE_LONG_ROAD).GetCost();
return cost;
}
@ -2939,6 +2940,17 @@ CommandCost CmdConvertRoad(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3
}
}
/* Base the ability to replace town roads and bridges on the town's
* acceptance of destructive actions. */
if (owner == OWNER_TOWN) {
Town *t = ClosestTownFromTile(tile, _settings_game.economy.dist_local_authority);
CommandCost ret = CheckforTownRating(DC_NONE, t, tt == MP_TUNNELBRIDGE ? TUNNELBRIDGE_REMOVE : ROAD_REMOVE);
if (ret.Failed()) {
error = ret;
continue;
}
}
/* Vehicle on the tile when not converting normal <-> powered
* Tunnels and bridges have special check later */
if (tt != MP_TUNNELBRIDGE) {

@ -616,12 +616,8 @@ static void RoadVehCrash(RoadVehicle *v)
Game::NewEvent(new ScriptEventVehicleCrashed(v->index, v->tile, ScriptEventVehicleCrashed::CRASH_RV_LEVEL_CROSSING));
SetDParam(0, pass);
AddVehicleNewsItem(
(pass == 1) ?
STR_NEWS_ROAD_VEHICLE_CRASH_DRIVER : STR_NEWS_ROAD_VEHICLE_CRASH,
NT_ACCIDENT,
v->index
);
StringID newsitem = (pass == 1) ? STR_NEWS_ROAD_VEHICLE_CRASH_DRIVER : STR_NEWS_ROAD_VEHICLE_CRASH;
AddTileNewsItem(newsitem, NT_ACCIDENT, v->tile);
ModifyStationRatingAround(v->tile, v->owner, -160, 22);
if (_settings_client.sound.disaster) SndPlayVehicleFx(SND_12_EXPLOSION, v);

@ -1770,6 +1770,7 @@ static SettingsContainer &GetSettingsTree()
company->Add(new SettingEntry("gui.default_signal_type"));
company->Add(new SettingEntry("gui.cycle_signal_types"));
company->Add(new SettingEntry("gui.drag_signals_fixed_distance"));
company->Add(new SettingEntry("gui.auto_remove_signals"));
company->Add(new SettingEntry("gui.new_nonstop"));
company->Add(new SettingEntry("gui.stop_location"));
company->Add(new SettingEntry("gui.starting_colour"));

@ -196,6 +196,7 @@ struct GUISettings : public TimeSettings {
uint8 osk_activation; ///< Mouse gesture to trigger the OSK.
byte starting_colour; ///< default color scheme for the company to start a new game with
bool show_newgrf_name; ///< Show the name of the NewGRF in the build vehicle window
bool auto_remove_signals; ///< automatically remove signals when in the way during rail construction
bool show_vehicle_route_steps; ///< when a window related to a specific vehicle is focused, show route steps
bool show_vehicle_list_company_colour; ///< show the company colour of vehicles which have an owner different to the owner of the vehicle list
bool enable_single_veh_shared_order_gui; ///< enable showing a single vehicle in the shared order GUI window

@ -2766,8 +2766,10 @@ CommandCost CmdBuildDock(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32
if (IsBridgeAbove(slope_tile) && !_settings_game.construction.allow_docks_under_bridges) return_cmd_error(STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST);
CommandCost cost(EXPENSES_CONSTRUCTION, _price[PR_BUILD_STATION_DOCK]);
ret = DoCommand(slope_tile, 0, 0, flags, CMD_LANDSCAPE_CLEAR);
if (ret.Failed()) return ret;
cost.AddCost(ret);
if (!IsTileType(flat_tile, MP_WATER) || !IsTileFlat(flat_tile)) {
return_cmd_error(STR_ERROR_SITE_UNSUITABLE);
@ -2821,7 +2823,7 @@ CommandCost CmdBuildDock(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32
ZoningMarkDirtyStationCoverageArea(st);
}
return CommandCost(EXPENSES_CONSTRUCTION, _price[PR_BUILD_STATION_DOCK]);
return cost;
}
void RemoveDockingTile(TileIndex t)

@ -4143,6 +4143,14 @@ str = STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR
strhelp = STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT
strval = STR_COLOUR_DARK_BLUE
[SDTC_BOOL]
var = gui.auto_remove_signals
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def = false
str = STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS
strhelp = STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT
cat = SC_ADVANCED
[SDTC_BOOL]
var = gui.prefer_teamchat
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC

@ -768,7 +768,28 @@ static void TileLoop_Town(TileIndex tile)
ClearTownHouse(t, tile);
/* Rebuild with another house? */
if (GB(r, 24, 8) >= 12) BuildTownHouse(t, tile);
if (GB(r, 24, 8) >= 12) {
/* If we are multi-tile houses, make sure to replace the house
* closest to city center. If we do not do this, houses tend to
* wander away from roads and other houses. */
if (hs->building_flags & BUILDING_HAS_2_TILES) {
/* House tiles are always the most north tile. Move the new
* house to the south if we are north of the city center. */
TileIndexDiffC grid_pos = TileIndexToTileIndexDiffC(t->xy, tile);
int x = Clamp(grid_pos.x, 0, 1);
int y = Clamp(grid_pos.y, 0, 1);
if (hs->building_flags & TILE_SIZE_2x2) {
tile = TILE_ADDXY(tile, x, y);
} else if (hs->building_flags & TILE_SIZE_1x2) {
tile = TILE_ADDXY(tile, 0, y);
} else if (hs->building_flags & TILE_SIZE_2x1) {
tile = TILE_ADDXY(tile, x, 0);
}
}
BuildTownHouse(t, tile);
}
}
cur_company.Restore();
@ -1311,10 +1332,15 @@ static bool GrowTownWithBridge(const Town *t, const TileIndex tile, const DiagDi
const int delta = TileOffsByDiagDir(bridge_dir);
/* To prevent really small towns from building disproportionately
* long bridges, make the max a function of its population. */
int base_bridge_length = 5;
int max_bridge_length = t->cache.population / 1000 + base_bridge_length;
if (slope == SLOPE_FLAT) {
/* Bridges starting on flat tiles are only allowed when crossing rivers, rails or one-way roads. */
do {
if (bridge_length++ >= 4) {
if (bridge_length++ >= base_bridge_length) {
/* Allow to cross rivers, not big lakes, nor large amounts of rails or one-way roads. */
return false;
}
@ -1322,8 +1348,8 @@ static bool GrowTownWithBridge(const Town *t, const TileIndex tile, const DiagDi
} while (IsValidTile(bridge_tile) && ((IsWaterTile(bridge_tile) && !IsSea(bridge_tile)) || IsPlainRailTile(bridge_tile) || (IsNormalRoadTile(bridge_tile) && GetDisallowedRoadDirections(bridge_tile) != DRD_NONE)));
} else {
do {
if (bridge_length++ >= 11) {
/* Max 11 tile long bridges */
if (bridge_length++ >= max_bridge_length) {
/* Ensure the bridge is not longer than the max allowed length. */
return false;
}
bridge_tile += delta;

@ -4580,7 +4580,7 @@ static bool CheckTrainCollision(Train *v)
if (tcc.num == 0) return false;
SetDParam(0, tcc.num);
AddVehicleNewsItem(STR_NEWS_TRAIN_CRASH, NT_ACCIDENT, v->index);
AddTileNewsItem(STR_NEWS_TRAIN_CRASH, NT_ACCIDENT, v->tile);
ModifyStationRatingAround(v->tile, v->owner, -160, 30);
if (_settings_client.sound.disaster) SndPlayVehicleFx(SND_13_BIG_CRASH, v);

@ -1510,7 +1510,12 @@ CommandCost CmdCloneVehicle(TileIndex tile, DoCommandFlag flags, uint32 p1, uint
* the vehicle refitted before doing this, otherwise the moved
* cargo types might not match (passenger vs non-passenger)
*/
DoCommand(0, w_front->index | (p2 & 1 ? CO_SHARE : CO_COPY) << 30, v_front->index, flags, CMD_CLONE_ORDER);
CommandCost result = DoCommand(0, w_front->index | (p2 & 1 ? CO_SHARE : CO_COPY) << 30, v_front->index, flags, CMD_CLONE_ORDER);
if (result.Failed()) {
/* The vehicle has already been bought, so now it must be sold again. */
DoCommand(w_front->tile, w_front->index | 1 << 20, 0, flags, GetCmdSellVeh(w_front));
return result;
}
/* Now clone the vehicle's name, if it has one. */
if (!v_front->name.empty()) CloneVehicleName(v_front, w_front);

@ -18,7 +18,6 @@ extern bool _cocoa_video_started;
class VideoDriver_Cocoa : public VideoDriver {
private:
bool fullscreen_on_mainloop; ///< Switch to fullscreen once the main loop is running?
Dimension orig_res; ///< Saved window size for non-fullscreen mode.
public:

@ -156,6 +156,7 @@ static void QZ_UpdateVideoModes()
static CocoaSubdriver *QZ_CreateSubdriver(int width, int height, int bpp, bool fullscreen, bool fallback)
{
CocoaSubdriver *ret = QZ_CreateWindowQuartzSubdriver(width, height, bpp);
if (ret != nullptr && fullscreen) ret->ToggleFullscreen(fullscreen);
if (ret != nullptr) return ret;
if (!fallback) return nullptr;
@ -209,9 +210,6 @@ const char *VideoDriver_Cocoa::Start(const StringList &parm)
return "The cocoa quartz subdriver only supports 8 and 32 bpp.";
}
/* Defer fullscreen toggle until the main loop is running,
* as otherwise a grey bar will be stuck on top of the window. */
this->fullscreen_on_mainloop = _fullscreen;
_cocoa_subdriver = QZ_CreateSubdriver(width, height, bpp, _fullscreen, true);
if (_cocoa_subdriver == NULL) {
Stop();
@ -569,7 +567,8 @@ bool WindowQuartzSubdriver::SetVideoMode(int width, int height, int bpp)
[ this->window setContentSize:contentRect.size ];
/* Ensure frame height - title bar height >= view height */
contentRect.size.height = Clamp(height, 0, (int)[ this->window frame ].size.height - 22 /* 22 is the height of title bar of window*/);
float content_height = [ this->window contentRectForFrameRect:[ this->window frame ] ].size.height;
contentRect.size.height = Clamp(height, 0, (int)content_height);
if (this->cocoaview != nil) {
height = (int)contentRect.size.height;

@ -655,12 +655,6 @@ void VideoDriver_Cocoa::GameLoop()
while (QZ_PollEvent()) {}
/* If we do that right after window creation, a grey bar will be left at the top. */
if (this->fullscreen_on_mainloop) {
this->fullscreen_on_mainloop = false;
_cocoa_subdriver->ToggleFullscreen(true);
}
if (_exit_game) {
/* Restore saved resolution if in fullscreen mode. */
if (_cocoa_subdriver->IsFullscreen()) _cur_resolution = this->orig_res;

@ -1005,7 +1005,7 @@ static void FloodVehicle(Vehicle *v)
AI::NewEvent(v->owner, new ScriptEventVehicleCrashed(v->index, v->tile, ScriptEventVehicleCrashed::CRASH_FLOODED));
Game::NewEvent(new ScriptEventVehicleCrashed(v->index, v->tile, ScriptEventVehicleCrashed::CRASH_FLOODED));
SetDParam(0, pass);
AddVehicleNewsItem(STR_NEWS_DISASTER_FLOOD_VEHICLE, NT_ACCIDENT, v->index);
AddTileNewsItem(STR_NEWS_DISASTER_FLOOD_VEHICLE, NT_ACCIDENT, v->tile);
CreateEffectVehicleRel(v, 4, 4, 8, EV_EXPLOSION_LARGE);
if (_settings_client.sound.disaster) SndPlayVehicleFx(SND_12_EXPLOSION, v);
}

Loading…
Cancel
Save