Merge tag '13.0-beta2' into jgrpp

# Conflicts:
#	src/cheat_gui.cpp
#	src/company_gui.cpp
#	src/console_gui.cpp
#	src/depot_gui.cpp
#	src/error_gui.cpp
#	src/gfx.cpp
#	src/graph_gui.cpp
#	src/group_gui.cpp
#	src/lang/english.txt
#	src/lang/korean.txt
#	src/lang/polish.txt
#	src/misc_gui.cpp
#	src/network/network_content_gui.h
#	src/newgrf_debug_gui.cpp
#	src/order_gui.cpp
#	src/rail_gui.cpp
#	src/road_gui.cpp
#	src/settings_gui.cpp
#	src/settings_type.h
#	src/station_gui.cpp
#	src/subsidy_gui.cpp
#	src/table/settings/gui_settings.ini
#	src/timetable_gui.cpp
#	src/town_gui.cpp
#	src/train_cmd.cpp
#	src/vehicle_gui.cpp
#	src/viewport.cpp
#	src/water_cmd.cpp
#	src/widgets/dropdown.cpp
#	src/window_gui.h
pull/461/head
Jonathan G Rennison 2 years ago
commit 6d4474b84e

@ -10,6 +10,7 @@
- Peter Nelson (peter1138) - Spiritual descendant from newGRF gods (since 0.4.5)
- Remko Bijker (Rubidium) - Coder and way more (since 0.4.5)
- Patric Stout (TrueBrain) - NoProgrammer (since 0.3), sys op
- Tyler Trahan (2TallTyler) - General coding (since 13)
### Inactive Developers:

@ -1,3 +1,32 @@
13.0-beta2 (2022-11-27)
------------------------------------------------------------------------
Feature: Allow AI/GS to be fully modified in scenario editor (#10152)
Feature: Display power-to-weight ratio in ground vehicle details GUI (#10123)
Feature: Variable interface scaling (with chunky bevels!) (#10114)
Feature: Hotkey to honk a vehicle's horn (#10110)
Feature: Split AI/Game Script configuration windows and add them to world gen window (#10058)
Feature: [GS] Scriptable league tables (#10001)
Feature: Multi-track level crossings (#9931)
Feature: Improved local authority action window (#9928)
Feature: Automatic console command screenshot numbering with a filename ending in '#' (#9781)
Feature: Add buttons to toggle music in the Game Options menu (#9727)
Feature: Contextual actions for vehicles grouped by shared orders (#8425)
Feature: Add cargo filter support to vehicle list (#8308)
Feature: Show the cargoes the vehicles can carry in the vehicle list window (#8304)
Change: Allow building canal by area outside editor (#10173)
Change: Minor improvements to the new Finance GUI (#10168)
Change: Let AI developers edit non-editable AI/Game Script Parameters (#8895)
Change: Allow building docks on clearable watered object tiles (#8514)
Fix #8770: Center vehicle status bar icon (#10178)
Fix: Crash if error message window is too wide for screen. (#10172)
Fix #10155: Network games not syncing company settings properly (#10158)
Fix #10154: Network game desync related to setting a random company face (#10157)
Fix #10011: Incorrect infrastructure totals when overbuilding bay road stop (#10143)
Fix #10117: Object burst limit allowed one fewer object than the setting (#10120)
Fix #10023: Allow negative input in text fields when needed (#10112)
Fix #9908: Fix crash which could occur when a company was deleted when a depot window was open (#9912)
13.0-beta1 (2022-10-31)
------------------------------------------------------------------------
Feature: Airport construction GUI displays infrastructure cost (#10094)

@ -123,7 +123,7 @@ struct AIListWindow : public Window {
switch (widget) {
case WID_AIL_LIST: {
/* Draw a list of all available AIs. */
Rect tr = r.Shrink(WD_MATRIX_LEFT, WD_MATRIX_TOP, WD_MATRIX_RIGHT, WD_MATRIX_BOTTOM);
Rect tr = r.Shrink(WidgetDimensions::scaled.matrix);
/* First AI in the list is hardcoded to random */
if (this->vscroll->IsVisible(0)) {
DrawString(tr, this->slot == OWNER_DEITY ? STR_AI_CONFIG_NONE : STR_AI_CONFIG_RANDOM_AI, this->selected == -1 ? TC_WHITE : TC_ORANGE);
@ -148,17 +148,17 @@ struct AIListWindow : public Window {
}
/* Some info about the currently selected AI. */
if (selected_info != nullptr) {
Rect tr = r.Shrink(WD_FRAMETEXT_LEFT, WD_FRAMERECT_TOP, WD_FRAMETEXT_RIGHT, WD_FRAMERECT_BOTTOM);
Rect tr = r.Shrink(WidgetDimensions::scaled.frametext, WidgetDimensions::scaled.framerect);
SetDParamStr(0, selected_info->GetAuthor());
DrawString(tr, STR_AI_LIST_AUTHOR);
tr.top += FONT_HEIGHT_NORMAL + WD_PAR_VSEP_NORMAL;
tr.top += FONT_HEIGHT_NORMAL + WidgetDimensions::scaled.vsep_normal;
SetDParam(0, selected_info->GetVersion());
DrawString(tr, STR_AI_LIST_VERSION);
tr.top += FONT_HEIGHT_NORMAL + WD_PAR_VSEP_NORMAL;
tr.top += FONT_HEIGHT_NORMAL + WidgetDimensions::scaled.vsep_normal;
if (selected_info->GetURL() != nullptr) {
SetDParamStr(0, selected_info->GetURL());
DrawString(tr, STR_AI_LIST_URL);
tr.top += FONT_HEIGHT_NORMAL + WD_PAR_VSEP_NORMAL;
tr.top += FONT_HEIGHT_NORMAL + WidgetDimensions::scaled.vsep_normal;
}
SetDParamStr(0, selected_info->GetDescription());
DrawStringMultiLine(tr, STR_JUST_RAW_STRING, TC_WHITE);
@ -257,7 +257,7 @@ static const NWidgetPart _nested_ai_list_widgets[] = {
NWidget(WWT_MATRIX, COLOUR_MAUVE, WID_AIL_LIST), SetMinimalSize(188, 112), SetFill(1, 1), SetResize(1, 1), SetMatrixDataTip(1, 0, STR_AI_LIST_TOOLTIP), SetScrollbar(WID_AIL_SCROLLBAR),
NWidget(NWID_VSCROLLBAR, COLOUR_MAUVE, WID_AIL_SCROLLBAR),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_MAUVE, WID_AIL_INFO_BG), SetMinimalTextLines(8, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM), SetResize(1, 0),
NWidget(WWT_PANEL, COLOUR_MAUVE, WID_AIL_INFO_BG), SetMinimalTextLines(8, WidgetDimensions::unscaled.framerect.Vertical() + WidgetDimensions::unscaled.vsep_normal * 3), SetResize(1, 0),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
@ -363,10 +363,10 @@ struct AISettingsWindow : public Window {
int i = 0;
for (; !this->vscroll->IsVisible(i); i++) it++;
Rect ir = r.Shrink(WD_FRAMERECT_LEFT, WD_FRAMERECT_TOP, WD_FRAMERECT_RIGHT, WD_FRAMERECT_BOTTOM);
Rect ir = r.Shrink(WidgetDimensions::scaled.framerect);
bool rtl = _current_text_dir == TD_RTL;
Rect br = ir.WithWidth(SETTING_BUTTON_WIDTH, rtl);
Rect tr = ir.Indent(SETTING_BUTTON_WIDTH + 8, rtl);
Rect tr = ir.Indent(SETTING_BUTTON_WIDTH + WidgetDimensions::scaled.hsep_wide, rtl);
int y = r.top;
int button_y_offset = (this->line_height - SETTING_BUTTON_HEIGHT) / 2;
@ -430,7 +430,7 @@ struct AISettingsWindow : public Window {
{
switch (widget) {
case WID_AIS_BACKGROUND: {
Rect r = this->GetWidget<NWidgetBase>(widget)->GetCurrentRect().Shrink(WD_MATRIX_LEFT, 0, WD_MATRIX_RIGHT, 0);
Rect r = this->GetWidget<NWidgetBase>(widget)->GetCurrentRect().Shrink(WidgetDimensions::scaled.matrix, RectPadding::zero);
int num = (pt.y - r.top) / this->line_height + this->vscroll->GetPosition();
if (num >= (int)this->visible_settings.size()) break;
@ -794,7 +794,7 @@ struct AIConfigWindow : public Window {
{
switch (widget) {
case WID_AIC_LIST: {
Rect tr = r.Shrink(WD_MATRIX_LEFT, WD_MATRIX_TOP, WD_MATRIX_RIGHT, WD_MATRIX_BOTTOM);
Rect tr = r.Shrink(WidgetDimensions::scaled.matrix);
for (int i = this->vscroll->GetPosition(); this->vscroll->IsVisible(i) && i < MAX_COMPANIES; i++) {
StringID text;
@ -1045,8 +1045,8 @@ struct AIDebugWindow : public Window {
void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
{
if (widget == WID_AID_LOG_PANEL) {
resize->height = FONT_HEIGHT_NORMAL + WD_PAR_VSEP_NORMAL;
size->height = 14 * resize->height + WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM;
resize->height = FONT_HEIGHT_NORMAL + WidgetDimensions::scaled.vsep_normal;
size->height = 14 * resize->height + WidgetDimensions::scaled.framerect.Vertical();
}
}
@ -1160,8 +1160,8 @@ struct AIDebugWindow : public Window {
ScriptLog::LogData *log = this->GetLogPointer();
if (log == nullptr) return;
Rect br = r.Shrink(WD_BEVEL_LEFT, WD_BEVEL_TOP, WD_BEVEL_RIGHT, WD_BEVEL_BOTTOM);
Rect tr = r.Shrink(WD_FRAMERECT_LEFT, WD_FRAMERECT_TOP, WD_FRAMERECT_RIGHT, WD_FRAMERECT_BOTTOM);
Rect br = r.Shrink(WidgetDimensions::scaled.bevel);
Rect tr = r.Shrink(WidgetDimensions::scaled.framerect);
for (int i = this->vscroll->GetPosition(); this->vscroll->IsVisible(i) && i < log->used; i++) {
int pos = (i + log->pos + 1 - log->used + log->count) % log->count;
if (log->lines[pos] == nullptr) break;
@ -1365,7 +1365,7 @@ struct AIDebugWindow : public Window {
void OnResize() override
{
this->vscroll->SetCapacityFromWidget(this, WID_AID_LOG_PANEL);
this->vscroll->SetCapacityFromWidget(this, WID_AID_LOG_PANEL, WidgetDimensions::scaled.framerect.Vertical());
}
static HotkeyList hotkeys;

@ -247,7 +247,7 @@ void DrawAircraftEngine(int left, int right, int preferred_x, int y, EngineID en
VehicleSpriteSeq rotor_seq;
GetCustomRotorIcon(engine, image_type, &rotor_seq);
if (!rotor_seq.IsValid()) rotor_seq.Set(SPR_ROTOR_STOPPED);
rotor_seq.Draw(preferred_x, y - ScaleGUITrad(5), PAL_NONE, false);
rotor_seq.Draw(preferred_x, y - ScaleSpriteTrad(5), PAL_NONE, false);
}
}

@ -46,7 +46,7 @@ void DrawAircraftDetails(const Aircraft *v, const Rect &r)
SetDParam(3, u->Next()->cargo_cap);
SetDParam(4, GetCargoSubtypeText(u));
DrawString(r.left, r.right, y, (u->Next()->cargo_cap != 0) ? STR_VEHICLE_INFO_CAPACITY_CAPACITY : STR_VEHICLE_INFO_CAPACITY);
y += FONT_HEIGHT_NORMAL + WD_PAR_VSEP_NORMAL;
y += FONT_HEIGHT_NORMAL + WidgetDimensions::scaled.vsep_normal;
}
if (u->cargo_cap != 0) {
@ -64,7 +64,7 @@ void DrawAircraftDetails(const Aircraft *v, const Rect &r)
}
}
y += WD_PAR_VSEP_NORMAL;
y += WidgetDimensions::scaled.vsep_normal;
SetDParam(0, feeder_share);
DrawString(r.left, r.right, y, STR_VEHICLE_INFO_FEEDER_CARGO_VALUE);
}
@ -73,12 +73,10 @@ void DrawAircraftDetails(const Aircraft *v, const Rect &r)
/**
* Draws an image of an aircraft
* @param v Front vehicle
* @param left The minimum horizontal position
* @param right The maximum horizontal position
* @param y Vertical position to draw at
* @param r Rect to draw at
* @param selection Selected vehicle to draw a frame around
*/
void DrawAircraftImage(const Vehicle *v, int left, int right, int y, VehicleID selection, EngineImageType image_type)
void DrawAircraftImage(const Vehicle *v, const Rect &r, VehicleID selection, EngineImageType image_type)
{
bool rtl = _current_text_dir == TD_RTL;
@ -89,25 +87,27 @@ void DrawAircraftImage(const Vehicle *v, int left, int right, int y, VehicleID s
int width = UnScaleGUI(rect.Width());
int x_offs = UnScaleGUI(rect.left);
int x = rtl ? right - width - x_offs : left - x_offs;
int x = rtl ? r.right - width - x_offs : r.left - x_offs;
/* This magic -1 offset is related to the sprite_y_offsets in build_vehicle_gui.cpp */
int y = ScaleSpriteTrad(-1) + CenterBounds(r.top, r.bottom, 0);
bool helicopter = v->subtype == AIR_HELICOPTER;
int y_offs = ScaleGUITrad(10);
int heli_offs = 0;
PaletteID pal = (v->vehstatus & VS_CRASHED) ? PALETTE_CRASH : GetVehiclePalette(v);
seq.Draw(x, y + y_offs, pal, (v->vehstatus & VS_CRASHED) != 0);
seq.Draw(x, y, pal, (v->vehstatus & VS_CRASHED) != 0);
if (helicopter) {
const Aircraft *a = Aircraft::From(v);
VehicleSpriteSeq rotor_seq;
GetCustomRotorSprite(a, image_type, &rotor_seq);
if (!rotor_seq.IsValid()) rotor_seq.Set(SPR_ROTOR_STOPPED);
heli_offs = ScaleGUITrad(5);
rotor_seq.Draw(x, y + y_offs - heli_offs, PAL_NONE, false);
heli_offs = ScaleSpriteTrad(5);
rotor_seq.Draw(x, y - heli_offs, PAL_NONE, false);
}
if (v->index == selection) {
x += x_offs;
y += UnScaleGUI(rect.top) + y_offs - heli_offs;
DrawFrameRect(x - 1, y - 1, x + width + 1, y + UnScaleGUI(rect.Height()) + heli_offs + 1, COLOUR_WHITE, FR_BORDERONLY);
y += UnScaleGUI(rect.top) - heli_offs;
Rect hr = {x, y, x + width - 1, y + UnScaleGUI(rect.Height()) + heli_offs - 1};
DrawFrameRect(hr.Expand(WidgetDimensions::scaled.bevel), COLOUR_WHITE, FR_BORDERONLY);
}
}

@ -328,7 +328,7 @@ public:
const AirportSpec *as = AirportSpec::Get(i);
if (!as->enabled) continue;
size->width = std::max(size->width, GetStringBoundingBox(as->name).width);
size->width = std::max(size->width, GetStringBoundingBox(as->name).width + padding.width);
}
this->line_height = FONT_HEIGHT_NORMAL + padding.height;
@ -344,8 +344,8 @@ public:
SpriteID sprite = GetCustomAirportSprite(as, layout);
if (sprite != 0) {
Dimension d = GetSpriteSize(sprite);
d.width += padding.width;
d.height += padding.height;
d.width += WidgetDimensions::scaled.framerect.Horizontal();
d.height += WidgetDimensions::scaled.framerect.Vertical();
*size = maxdim(d, *size);
}
}
@ -363,8 +363,6 @@ public:
/* STR_BLACK_STRING is used to start the string with {BLACK} */
SetDParam(0, string);
Dimension d = GetStringMultiLineBoundingBox(STR_BLACK_STRING, *size);
d.width += padding.width;
d.height += padding.height;
*size = maxdim(d, *size);
}
}
@ -378,8 +376,8 @@ public:
{
switch (widget) {
case WID_AP_AIRPORT_LIST: {
Rect row = r.WithHeight(this->line_height).Shrink(WD_BEVEL_LEFT, WD_BEVEL_TOP, WD_BEVEL_RIGHT, WD_BEVEL_BOTTOM);
Rect text = r.WithHeight(this->line_height).Shrink(WD_MATRIX_LEFT, WD_MATRIX_TOP, WD_MATRIX_RIGHT, WD_MATRIX_BOTTOM);
Rect row = r.WithHeight(this->line_height).Shrink(WidgetDimensions::scaled.bevel);
Rect text = r.WithHeight(this->line_height).Shrink(WidgetDimensions::scaled.matrix);
AirportClass *apclass = AirportClass::Get(_selected_airport_class);
for (uint i = this->vscroll->GetPosition(); this->vscroll->IsVisible(i) && i < apclass->GetSpecCount(); i++) {
const AirportSpec *as = apclass->GetSpec(i);
@ -418,7 +416,7 @@ public:
this->DrawWidgets();
Rect r = this->GetWidget<NWidgetBase>(WID_AP_ACCEPTANCE)->GetCurrentRect();
int top = r.top + ScaleGUITrad(WD_PAR_VSEP_NORMAL);
int top = r.top + WidgetDimensions::scaled.vsep_normal;
if (_selected_airport_index != -1) {
const AirportSpec *as = AirportClass::Get(_selected_airport_class)->GetSpec(_selected_airport_index);
@ -429,19 +427,19 @@ public:
/* show the noise of the selected airport */
SetDParam(0, as->noise_level);
DrawString(r.left, r.right, top, STR_STATION_BUILD_NOISE);
top += FONT_HEIGHT_NORMAL + ScaleGUITrad(WD_PAR_VSEP_NORMAL);
top += FONT_HEIGHT_NORMAL + WidgetDimensions::scaled.vsep_normal;
}
if (_settings_game.economy.infrastructure_maintenance) {
Money monthly = _price[PR_INFRASTRUCTURE_AIRPORT] * as->maintenance_cost >> 3;
SetDParam(0, monthly * 12);
DrawString(r.left, r.right, top, STR_STATION_BUILD_INFRASTRUCTURE_COST);
top += FONT_HEIGHT_NORMAL + ScaleGUITrad(WD_PAR_VSEP_NORMAL);
top += FONT_HEIGHT_NORMAL + WidgetDimensions::scaled.vsep_normal;
}
/* strings such as 'Size' and 'Coverage Area' */
top = DrawStationCoverageAreaText(r.left, r.right, top, SCT_ALL, rad, false) + ScaleGUITrad(WD_PAR_VSEP_NORMAL);
top = DrawStationCoverageAreaText(r.left, r.right, top, SCT_ALL, rad, true) + ScaleGUITrad(WD_PAR_VSEP_NORMAL);
top = DrawStationCoverageAreaText(r.left, r.right, top, SCT_ALL, rad, false) + WidgetDimensions::scaled.vsep_normal;
top = DrawStationCoverageAreaText(r.left, r.right, top, SCT_ALL, rad, true) + WidgetDimensions::scaled.vsep_normal;
}
/* Resize background if the window is too small.
@ -595,7 +593,7 @@ static const NWidgetPart _nested_build_airport_widgets[] = {
EndContainer(),
/* Bottom panel. */
NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_AP_BOTTOMPANEL),
NWidget(WWT_LABEL, COLOUR_DARK_GREEN), SetPadding(WD_FRAMERECT_TOP, WD_FRAMERECT_RIGHT, WD_FRAMERECT_BOTTOM, WD_FRAMERECT_LEFT), SetDataTip(STR_STATION_BUILD_COVERAGE_AREA_TITLE, STR_NULL), SetFill(1, 0),
NWidget(WWT_LABEL, COLOUR_DARK_GREEN), SetPadding(WidgetDimensions::unscaled.framerect), SetDataTip(STR_STATION_BUILD_COVERAGE_AREA_TITLE, STR_NULL), SetFill(1, 0),
NWidget(NWID_HORIZONTAL),
NWidget(NWID_SPACER), SetMinimalSize(14, 0), SetFill(1, 0),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
@ -606,7 +604,7 @@ static const NWidgetPart _nested_build_airport_widgets[] = {
EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(14, 0), SetFill(1, 0),
EndContainer(),
NWidget(WWT_EMPTY, COLOUR_DARK_GREEN, WID_AP_ACCEPTANCE), SetPadding(0, WD_FRAMERECT_RIGHT, 0, WD_FRAMERECT_LEFT), SetResize(0, 1), SetFill(1, 0),
NWidget(WWT_EMPTY, COLOUR_DARK_GREEN, WID_AP_ACCEPTANCE), SetPadding(WidgetDimensions::unscaled.framerect), SetResize(0, 1), SetFill(1, 0),
EndContainer(),
};

@ -420,7 +420,7 @@ public:
str = STR_REPLACE_NOT_REPLACING_VEHICLE_SELECTED;
}
DrawString(r.Shrink(WD_FRAMETEXT_LEFT, WD_FRAMERECT_TOP, WD_FRAMETEXT_RIGHT, WD_FRAMERECT_BOTTOM), str, TC_BLACK, SA_HOR_CENTER);
DrawString(r.Shrink(WidgetDimensions::scaled.frametext, WidgetDimensions::scaled.framerect), str, TC_BLACK, SA_HOR_CENTER);
break;
}
@ -482,7 +482,7 @@ public:
ted.FillDefaultCapacities(e);
const Rect r = this->GetWidget<NWidgetBase>(side == 0 ? WID_RV_LEFT_DETAILS : WID_RV_RIGHT_DETAILS)->GetCurrentRect()
.Shrink(WD_FRAMETEXT_LEFT, WD_FRAMERECT_TOP, WD_FRAMETEXT_RIGHT, WD_FRAMERECT_BOTTOM);
.Shrink(WidgetDimensions::scaled.frametext, WidgetDimensions::scaled.framerect);
int text_end = DrawVehiclePurchaseInfo(r.left, r.right, r.top, this->sel_engine[side], ted);
needed_height = std::max(needed_height, (text_end - r.top) / FONT_HEIGHT_NORMAL);
}

@ -100,14 +100,14 @@ public:
{
if (widget == WID_BEM_MESSAGE) {
*size = GetStringBoundingBox(STR_MISSING_GRAPHICS_ERROR);
size->height = GetStringHeight(STR_MISSING_GRAPHICS_ERROR, size->width - WD_FRAMETEXT_LEFT - WD_FRAMETEXT_RIGHT) + WD_FRAMETEXT_BOTTOM + WD_FRAMETEXT_TOP;
size->height = GetStringHeight(STR_MISSING_GRAPHICS_ERROR, size->width - WidgetDimensions::scaled.frametext.Horizontal()) + WidgetDimensions::scaled.frametext.Vertical();
}
}
void DrawWidget(const Rect &r, int widget) const override
{
if (widget == WID_BEM_MESSAGE) {
DrawStringMultiLine(r.Shrink(WD_FRAMETEXT_LEFT, WD_FRAMETEXT_TOP, WD_FRAMETEXT_RIGHT, WD_FRAMETEXT_BOTTOM), STR_MISSING_GRAPHICS_ERROR, TC_FROMSTRING, SA_CENTER);
DrawStringMultiLine(r.Shrink(WidgetDimensions::scaled.frametext), STR_MISSING_GRAPHICS_ERROR, TC_FROMSTRING, SA_CENTER);
}
}
@ -122,8 +122,11 @@ public:
/** Nested widgets for the download window. */
static const NWidgetPart _nested_bootstrap_download_status_window_widgets[] = {
NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_CONTENT_DOWNLOAD_TITLE, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
NWidget(WWT_PANEL, COLOUR_GREY, WID_NCDS_BACKGROUND),
NWidget(NWID_SPACER), SetMinimalSize(350, 0), SetMinimalTextLines(3, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 30),
NWidget(WWT_PANEL, COLOUR_GREY),
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_wide, 0), SetPadding(WidgetDimensions::unscaled.modalpopup),
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_NCDS_PROGRESS_BAR), SetFill(1, 0),
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_NCDS_PROGRESS_TEXT), SetFill(1, 0), SetMinimalSize(350, 0),
EndContainer(),
EndContainer(),
};
@ -211,15 +214,15 @@ public:
/* We cache the button size. This is safe as no reinit can happen here. */
if (this->button_size.width == 0) {
this->button_size = maxdim(GetStringBoundingBox(STR_MISSING_GRAPHICS_YES_DOWNLOAD), GetStringBoundingBox(STR_MISSING_GRAPHICS_NO_QUIT));
this->button_size.width += WD_FRAMETEXT_LEFT + WD_FRAMETEXT_RIGHT;
this->button_size.height += WD_FRAMETEXT_TOP + WD_FRAMETEXT_BOTTOM;
this->button_size.width += WidgetDimensions::scaled.frametext.Horizontal();
this->button_size.height += WidgetDimensions::scaled.frametext.Vertical();
}
switch (widget) {
case WID_BAFD_QUESTION:
/* The question is twice as wide as the buttons, and determine the height based on the width. */
size->width = this->button_size.width * 2;
size->height = GetStringHeight(STR_MISSING_GRAPHICS_SET_MESSAGE, size->width - WD_FRAMETEXT_LEFT - WD_FRAMETEXT_RIGHT) + WD_FRAMETEXT_BOTTOM + WD_FRAMETEXT_TOP;
size->height = GetStringHeight(STR_MISSING_GRAPHICS_SET_MESSAGE, size->width - WidgetDimensions::scaled.frametext.Horizontal()) + WidgetDimensions::scaled.frametext.Vertical();
break;
case WID_BAFD_YES:
@ -233,7 +236,7 @@ public:
{
if (widget != 0) return;
DrawStringMultiLine(r.Shrink(WD_FRAMETEXT_LEFT, WD_FRAMETEXT_TOP, WD_FRAMETEXT_RIGHT, WD_FRAMETEXT_BOTTOM), STR_MISSING_GRAPHICS_SET_MESSAGE, TC_FROMSTRING, SA_CENTER);
DrawStringMultiLine(r.Shrink(WidgetDimensions::scaled.frametext), STR_MISSING_GRAPHICS_SET_MESSAGE, TC_FROMSTRING, SA_CENTER);
}
void OnClick(Point pt, int widget, int click_count) override

@ -202,10 +202,10 @@ public:
}
sprite_dim.height++; // Sprite is rendered one pixel down in the matrix field.
text_dim.height++; // Allowing the bottom row pixels to be rendered on the edge of the matrix field.
resize->height = std::max(sprite_dim.height, text_dim.height) + WD_MATRIX_TOP + WD_MATRIX_BOTTOM; // Max of both sizes + account for matrix edges.
resize->height = std::max(sprite_dim.height, text_dim.height) + padding.height; // Max of both sizes + account for matrix edges.
this->bridgetext_offset = sprite_dim.width + 1; // Left edge of text, 1 pixel distance from the sprite.
size->width = WD_MATRIX_LEFT + this->bridgetext_offset + text_dim.width + WD_MATRIX_RIGHT;
this->bridgetext_offset = sprite_dim.width + WidgetDimensions::scaled.hsep_normal; // Left edge of text, 1 pixel distance from the sprite.
size->width = this->bridgetext_offset + text_dim.width + padding.width;
size->height = 4 * resize->height; // Smallest bridge gui is 4 entries high in the matrix.
break;
}
@ -230,7 +230,7 @@ public:
break;
case WID_BBS_BRIDGE_LIST: {
Rect tr = r.WithHeight(this->resize.step_height).Shrink(WD_MATRIX_LEFT, WD_MATRIX_TOP, WD_MATRIX_RIGHT, WD_MATRIX_BOTTOM);
Rect tr = r.WithHeight(this->resize.step_height).Shrink(WidgetDimensions::scaled.matrix);
for (int i = this->vscroll->GetPosition(); this->vscroll->IsVisible(i) && i < (int)this->bridges->size(); i++) {
const BridgeSpec *b = this->bridges->at(i).spec;

@ -47,7 +47,7 @@
*/
uint GetEngineListHeight(VehicleType type)
{
return std::max<uint>(FONT_HEIGHT_NORMAL + WD_MATRIX_TOP + WD_MATRIX_BOTTOM, GetVehicleImageCellSize(type, EIT_PURCHASE).height);
return std::max<uint>(FONT_HEIGHT_NORMAL + WidgetDimensions::scaled.matrix.Vertical(), GetVehicleImageCellSize(type, EIT_PURCHASE).height);
}
/* Normal layout for roadvehicles, ships and airplanes. */
@ -1198,9 +1198,9 @@ void DrawEngineList(VehicleType type, const Rect &r, const GUIEngineList *eng_li
int sprite_right = GetVehicleImageCellSize(type, EIT_PURCHASE).extend_right;
int sprite_width = sprite_left + sprite_right;
Rect ir = r.WithHeight(step_size).Shrink(WD_MATRIX_LEFT, WD_MATRIX_TOP, WD_MATRIX_RIGHT, WD_MATRIX_BOTTOM);
Rect ir = r.WithHeight(step_size).Shrink(WidgetDimensions::scaled.matrix);
int sprite_x = ir.WithWidth(sprite_width, rtl).left + sprite_left;
int sprite_y_offset = ScaleGUITrad(sprite_y_offsets[type]) + ir.Height() / 2;
int sprite_y_offset = ScaleSpriteTrad(sprite_y_offsets[type]) + ir.Height() / 2;
Dimension replace_icon = {0, 0};
int count_width = 0;
@ -1210,10 +1210,10 @@ void DrawEngineList(VehicleType type, const Rect &r, const GUIEngineList *eng_li
count_width = GetStringBoundingBox(STR_TINY_BLACK_COMA).width;
}
Rect tr = ir.Indent(sprite_width + 6, rtl); // Name position
Rect cr = tr.Indent(replace_icon.width + 6, !rtl).WithWidth(count_width, !rtl); // Count position
Rect rr = tr.WithWidth(replace_icon.width, !rtl); // Replace icon position
if (show_count) tr = tr.Indent(count_width + 2 + replace_icon.width + 6, !rtl);
Rect tr = ir.Indent(sprite_width + WidgetDimensions::scaled.hsep_wide, rtl); // Name position
Rect cr = tr.Indent(replace_icon.width + WidgetDimensions::scaled.hsep_wide, !rtl).WithWidth(count_width, !rtl); // Count position
Rect rr = tr.WithWidth(replace_icon.width, !rtl); // Replace icon position
if (show_count) tr = tr.Indent(count_width + WidgetDimensions::scaled.hsep_normal + replace_icon.width + WidgetDimensions::scaled.hsep_wide, !rtl);
int normal_text_y_offset = (ir.Height() - FONT_HEIGHT_NORMAL) / 2;
int small_text_y_offset = ir.Height() - FONT_HEIGHT_SMALL;
@ -1838,7 +1838,7 @@ struct BuildVehicleWindow : BuildVehicleWindowBase {
case WID_BV_LIST:
resize->height = GetEngineListHeight(this->vehicle_type);
size->height = 3 * resize->height;
size->width = std::max(size->width, GetVehicleImageCellSize(this->vehicle_type, EIT_PURCHASE).extend_left + GetVehicleImageCellSize(this->vehicle_type, EIT_PURCHASE).extend_right + 165);
size->width = std::max(size->width, GetVehicleImageCellSize(this->vehicle_type, EIT_PURCHASE).extend_left + GetVehicleImageCellSize(this->vehicle_type, EIT_PURCHASE).extend_right + 165) + padding.width;
break;
case WID_BV_PANEL:
@ -1910,7 +1910,7 @@ struct BuildVehicleWindow : BuildVehicleWindowBase {
int needed_height = this->details_height;
/* Draw details panels. */
if (this->sel_engine != INVALID_ENGINE) {
const Rect r = this->GetWidget<NWidgetBase>(WID_BV_PANEL)->GetCurrentRect().Shrink(WD_FRAMETEXT_LEFT, WD_FRAMERECT_TOP, WD_FRAMETEXT_RIGHT, WD_FRAMERECT_BOTTOM);
const Rect r = this->GetWidget<NWidgetBase>(WID_BV_PANEL)->GetCurrentRect().Shrink(WidgetDimensions::scaled.frametext, WidgetDimensions::scaled.framerect);
int text_end = DrawVehiclePurchaseInfo(r.left, r.right, r.top, this->sel_engine, this->te);
needed_height = std::max(needed_height, (text_end - r.top) / FONT_HEIGHT_NORMAL);
}
@ -2188,7 +2188,7 @@ struct BuildVehicleWindowTrainAdvanced final : BuildVehicleWindowBase {
this->UpdateButtonMode();
this->loco.details_height = this->wagon.details_height = 10 * FONT_HEIGHT_NORMAL + WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM;
this->loco.details_height = this->wagon.details_height = 10 * FONT_HEIGHT_NORMAL + WidgetDimensions::scaled.framerect.Vertical();
this->FinishInitNested(this->window_number);
@ -2775,12 +2775,12 @@ struct BuildVehicleWindowTrainAdvanced final : BuildVehicleWindowBase {
/* Draw details panels. */
if (state.sel_engine != INVALID_ENGINE) {
const auto widget = this->GetWidget<NWidgetBase>(widget_id);
const int text_end = DrawVehiclePurchaseInfo(widget->pos_x + WD_FRAMETEXT_LEFT,
const int text_end = DrawVehiclePurchaseInfo(widget->pos_x + WidgetDimensions::scaled.framerect.left,
static_cast<int>(
widget->pos_x + widget->current_x -
WD_FRAMETEXT_RIGHT), widget->pos_y + WD_FRAMERECT_TOP,
WidgetDimensions::scaled.framerect.right), widget->pos_y + WidgetDimensions::scaled.framerect.top,
state.sel_engine, state.te);
needed_height = std::max(needed_height, text_end - widget->pos_y + WD_FRAMERECT_BOTTOM);
needed_height = std::max(needed_height, text_end - widget->pos_y + WidgetDimensions::scaled.framerect.bottom);
}
if (needed_height != state.details_height) { // Details window are not high enough, enlarge them.
const int resize = needed_height - state.details_height;

@ -224,7 +224,7 @@ static const NWidgetPart _nested_cheat_widgets[] = {
EndContainer(),
NWidget(WWT_PANEL, COLOUR_GREY, WID_C_PANEL), SetDataTip(0x0, STR_CHEATS_TOOLTIP), EndContainer(),
NWidget(WWT_PANEL, COLOUR_GREY),
NWidget(WWT_LABEL, COLOUR_GREY, WID_C_NOTE), SetFill(1, 1), SetDataTip(STR_CHEATS_NOTE, STR_NULL), SetPadding(WD_PAR_VSEP_NORMAL, 4, WD_PAR_VSEP_NORMAL, 4),
NWidget(WWT_LABEL, COLOUR_GREY, WID_C_NOTE), SetFill(1, 1), SetDataTip(STR_CHEATS_NOTE, STR_NULL), SetPadding(WidgetDimensions::unscaled.frametext),
EndContainer(),
};
@ -251,14 +251,14 @@ struct CheatWindow : Window {
{
if (widget != WID_C_PANEL) return;
const Rect ir = r.Shrink(WD_FRAMERECT_LEFT, WD_FRAMERECT_TOP, WD_FRAMERECT_RIGHT, WD_FRAMERECT_BOTTOM);
const Rect ir = r.Shrink(WidgetDimensions::scaled.framerect);
int y = ir.top;
bool rtl = _current_text_dir == TD_RTL;
uint box_left = rtl ? ir.right - this->box.width - 5 : ir.left + 5;
uint button_left = rtl ? ir.right - this->box.width - 10 - SETTING_BUTTON_WIDTH : ir.left + this->box.width + 10;
uint text_left = ir.left + (rtl ? 0 : 20 + this->box.width + SETTING_BUTTON_WIDTH);
uint text_right = ir.right - (rtl ? 20 + this->box.width + SETTING_BUTTON_WIDTH : 0);
uint box_left = rtl ? ir.right - this->box.width - WidgetDimensions::scaled.hsep_wide : ir.left + WidgetDimensions::scaled.hsep_wide;
uint button_left = rtl ? ir.right - this->box.width - WidgetDimensions::scaled.hsep_wide * 2 - SETTING_BUTTON_WIDTH : ir.left + this->box.width + WidgetDimensions::scaled.hsep_wide * 2;
uint text_left = ir.left + (rtl ? 0 : WidgetDimensions::scaled.hsep_wide * 4 + this->box.width + SETTING_BUTTON_WIDTH);
uint text_right = ir.right - (rtl ? WidgetDimensions::scaled.hsep_wide * 4 + this->box.width + SETTING_BUTTON_WIDTH : 0);
int text_y_offset = (this->line_height - FONT_HEIGHT_NORMAL) / 2;
int box_y_offset = (this->line_height - this->box.height) / 2;
@ -287,7 +287,7 @@ struct CheatWindow : Window {
case SLE_BOOL: {
bool on = (*(bool*)ce->variable);
DrawBoolButton(button_left, y + icon_y_offset, on, true);
DrawBoolButton(button_left, y + button_y_offset, on, true);
SetDParam(0, on ? STR_CONFIG_SETTING_ON : STR_CONFIG_SETTING_OFF);
break;
}
@ -307,8 +307,8 @@ struct CheatWindow : Window {
case STR_CHEAT_CHANGE_COMPANY: {
SetDParam(0, val + 1);
GetString(buf, STR_CHEAT_CHANGE_COMPANY, lastof(buf));
uint offset = 10 + GetStringBoundingBox(buf).width;
DrawCompanyIcon(_local_company, rtl ? text_right - offset - 10 : text_left + offset, y + icon_y_offset);
uint offset = WidgetDimensions::scaled.hsep_indent + GetStringBoundingBox(buf).width;
DrawCompanyIcon(_local_company, rtl ? text_right - offset - WidgetDimensions::scaled.hsep_indent : text_left + offset, y + icon_y_offset);
break;
}
@ -357,7 +357,7 @@ struct CheatWindow : Window {
/* Draw coloured flag for change company cheat */
case STR_CHEAT_CHANGE_COMPANY:
SetDParamMaxValue(0, MAX_COMPANIES);
width = std::max(width, GetStringBoundingBox(ce->str).width + 10 + 10);
width = std::max(width, GetStringBoundingBox(ce->str).width + WidgetDimensions::scaled.hsep_wide * 4);
break;
default:
@ -369,21 +369,21 @@ struct CheatWindow : Window {
}
}
this->line_height = std::max(GetSpriteSize(SPR_BOX_CHECKED).height, GetSpriteSize(SPR_BOX_EMPTY).height);
this->line_height = std::max(this->box.height, this->icon.height);
this->line_height = std::max<uint>(this->line_height, SETTING_BUTTON_HEIGHT);
this->line_height = std::max<uint>(this->line_height, FONT_HEIGHT_NORMAL) + WD_PAR_VSEP_NORMAL;
this->line_height = std::max<uint>(this->line_height, FONT_HEIGHT_NORMAL) + WidgetDimensions::scaled.framerect.Vertical();
size->width = width + 20 + this->box.width + SETTING_BUTTON_WIDTH /* stuff on the left */ + 10 /* extra spacing on right */;
size->height = WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + this->line_height * lines;
size->width = width + WidgetDimensions::scaled.hsep_wide * 4 + this->box.width + SETTING_BUTTON_WIDTH /* stuff on the left */ + WidgetDimensions::scaled.hsep_wide * 2 /* extra spacing on right */;
size->height = WidgetDimensions::scaled.framerect.Vertical() + this->line_height * lines;
}
void OnClick(Point pt, int widget, int click_count) override
{
const NWidgetBase *wid = this->GetWidget<NWidgetBase>(WID_C_PANEL);
uint btn = (pt.y - wid->pos_y - WD_FRAMERECT_TOP) / this->line_height;
uint x = pt.x - wid->pos_x;
Rect r = this->GetWidget<NWidgetBase>(WID_C_PANEL)->GetCurrentRect().Shrink(WidgetDimensions::scaled.framerect);
uint btn = (pt.y - r.top) / this->line_height;
uint x = pt.x - r.left;
bool rtl = _current_text_dir == TD_RTL;
if (rtl) x = wid->current_x - x;
if (rtl) x = r.Width() - 1 - x;
for (uint i = 0; i != lengthof(_cheats_ui) && i <= btn; i++) {
const CheatEntry *ce = &_cheats_ui[i];
@ -396,13 +396,13 @@ struct CheatWindow : Window {
int value = (int32)ReadValue(ce->variable, ce->type);
int oldvalue = value;
if (btn == CHT_CHANGE_DATE && x >= 20 + this->box.width + SETTING_BUTTON_WIDTH) {
if (btn == CHT_CHANGE_DATE && x >= WidgetDimensions::scaled.hsep_wide * 2 + this->box.width + SETTING_BUTTON_WIDTH) {
/* Click at the date text directly. */
clicked_widget = CHT_CHANGE_DATE;
SetDParam(0, value);
ShowQueryString(STR_JUST_INT, STR_CHEAT_CHANGE_DATE_QUERY_CAPT, 8, this, CS_NUMERAL, QSF_ACCEPT_UNCHANGED);
return;
} else if (btn == CHT_EDIT_MAX_HL && x >= 20 + this->box.width + SETTING_BUTTON_WIDTH) {
} else if (btn == CHT_EDIT_MAX_HL && x >= WidgetDimensions::scaled.hsep_wide * 2 + this->box.width + SETTING_BUTTON_WIDTH) {
clicked_widget = CHT_EDIT_MAX_HL;
SetDParam(0, value);
ShowQueryString(STR_JUST_INT, STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT, 8, this, CS_NUMERAL, QSF_ACCEPT_UNCHANGED);
@ -426,7 +426,7 @@ struct CheatWindow : Window {
}
/* Not clicking a button? */
if (!IsInsideMM(x, 10 + this->box.width, 10 + this->box.width + SETTING_BUTTON_WIDTH)) return;
if (!IsInsideMM(x, WidgetDimensions::scaled.hsep_wide * 2 + this->box.width, WidgetDimensions::scaled.hsep_wide * 2 + this->box.width + SETTING_BUTTON_WIDTH)) return;
if (!_networking) *ce->been_used = true;
@ -446,10 +446,10 @@ struct CheatWindow : Window {
default:
/* Take whatever the function returns */
value = ce->proc(value + ((x >= 10 + this->box.width + SETTING_BUTTON_WIDTH / 2) ? 1 : -1), (x >= 10 + this->box.width + SETTING_BUTTON_WIDTH / 2) ? 1 : -1);
value = ce->proc(value + ((x >= WidgetDimensions::scaled.hsep_wide * 2 + this->box.width + SETTING_BUTTON_WIDTH / 2) ? 1 : -1), (x >= WidgetDimensions::scaled.hsep_wide * 2 + this->box.width + SETTING_BUTTON_WIDTH / 2) ? 1 : -1);
/* The first cheat (money), doesn't return a different value. */
if (value != oldvalue || btn == CHT_MONEY) this->clicked = btn * 2 + 1 + ((x >= 10 + this->box.width + SETTING_BUTTON_WIDTH / 2) != rtl ? 1 : 0);
if (value != oldvalue || btn == CHT_MONEY) this->clicked = btn * 2 + 1 + ((x >= WidgetDimensions::scaled.hsep_wide * 2 + this->box.width + SETTING_BUTTON_WIDTH / 2) != rtl ? 1 : 0);
break;
}

@ -44,10 +44,7 @@
/** Company GUI constants. */
static const uint EXP_LINESPACE = 2; ///< Amount of vertical space for a horizontal (sub-)total line.
static const uint EXP_BLOCKSPACE = 10; ///< Amount of vertical space between two blocks of numbers.
static const uint EXP_SPACING = 4; ///< Amount of vertical padding between sections.
static const int EXP_INDENT = 10; ///< Amount of horizontal space for an indented line.
#define EXP_SPACING (WidgetDimensions::scaled.vsep_normal * 2)
static void DoSelectCompanyManagerFace(Window *parent);
static void ShowCompanyInfrastructure(CompanyID company);
@ -120,15 +117,15 @@ static const ExpensesList _expenses_list_types[] = {
static uint GetTotalCategoriesHeight()
{
/* There's an empty line and blockspace on the year row */
uint total_height = FONT_HEIGHT_NORMAL + EXP_BLOCKSPACE;
uint total_height = FONT_HEIGHT_NORMAL + WidgetDimensions::scaled.vsep_wide;
for (uint i = 0; i < lengthof(_expenses_list_types); i++) {
/* Title + expense list + total line + total + blockspace after category */
total_height += FONT_HEIGHT_NORMAL + _expenses_list_types[i].GetHeight() + EXP_LINESPACE + FONT_HEIGHT_NORMAL + EXP_BLOCKSPACE;
total_height += FONT_HEIGHT_NORMAL + _expenses_list_types[i].GetHeight() + WidgetDimensions::scaled.vsep_normal + FONT_HEIGHT_NORMAL + WidgetDimensions::scaled.vsep_wide;
}
/* Total income */
total_height += EXP_LINESPACE + FONT_HEIGHT_NORMAL + EXP_BLOCKSPACE;
total_height += WidgetDimensions::scaled.vsep_normal + FONT_HEIGHT_NORMAL + WidgetDimensions::scaled.vsep_wide;
return total_height;
}
@ -146,7 +143,7 @@ static uint GetMaxCategoriesWidth()
/* Title of category */
max_width = std::max(max_width, GetStringBoundingBox(STR_FINANCES_REVENUE_TITLE + i).width);
/* Entries in category */
max_width = std::max(max_width, EXP_INDENT + _expenses_list_types[i].GetListWidth());
max_width = std::max(max_width, _expenses_list_types[i].GetListWidth() + WidgetDimensions::scaled.hsep_indent);
}
return max_width;
@ -157,7 +154,7 @@ static uint GetMaxCategoriesWidth()
*/
static void DrawCategory(const Rect &r, int start_y, ExpensesList list)
{
Rect tr = r.Indent(EXP_INDENT, _current_text_dir == TD_RTL);
Rect tr = r.Indent(WidgetDimensions::scaled.hsep_indent, _current_text_dir == TD_RTL);
tr.top = start_y;
ExpensesType et;
@ -177,7 +174,7 @@ static void DrawCategory(const Rect &r, int start_y, ExpensesList list)
static void DrawCategories(const Rect &r)
{
/* Start with an empty space in the year row, plus the blockspace under the year. */
int y = r.top + FONT_HEIGHT_NORMAL + EXP_BLOCKSPACE;
int y = r.top + FONT_HEIGHT_NORMAL + WidgetDimensions::scaled.vsep_wide;
for (uint i = 0; i < lengthof(_expenses_list_types); i++) {
/* Draw category title and advance y */
@ -188,16 +185,20 @@ static void DrawCategories(const Rect &r)
DrawCategory(r, y, _expenses_list_types[i]);
y += _expenses_list_types[i].GetHeight();
/* Advance y by the height of the total and associated total line */
y += EXP_LINESPACE + FONT_HEIGHT_NORMAL;
/* Advance y by the height of the horizontal line between amounts and subtotal */
y += WidgetDimensions::scaled.vsep_normal;
/* Draw category total and advance y */
DrawString(r.left, r.right, y, STR_FINANCES_TOTAL_CAPTION, TC_FROMSTRING, SA_RIGHT);
y += FONT_HEIGHT_NORMAL;
/* Advance y by a blockspace after this category block */
y += EXP_BLOCKSPACE;
y += WidgetDimensions::scaled.vsep_wide;
}
/* Draw total profit/loss */
y += EXP_LINESPACE;
DrawString(r.left, r.right, y, STR_FINANCES_NET_PROFIT, TC_FROMSTRING, SA_LEFT);
y += WidgetDimensions::scaled.vsep_normal;
DrawString(r.left, r.right, y, STR_FINANCES_PROFIT, TC_FROMSTRING, SA_LEFT);
}
/**
@ -241,7 +242,7 @@ static Money DrawYearCategory (const Rect &r, int start_y, ExpensesList list, co
/* Draw the total at the bottom of the category. */
GfxFillRect(r.left, y, r.right, y, PC_BLACK);
y += EXP_LINESPACE;
y += WidgetDimensions::scaled.vsep_normal;
if (sum != 0) DrawPrice(sum, r.left, r.right, y, TC_WHITE);
/* Return the sum for the yearly total. */
@ -264,19 +265,19 @@ static void DrawYearColumn(const Rect &r, int year, const Money (*tbl)[EXPENSES_
/* Year header */
SetDParam(0, year);
DrawString(r.left, r.right, y, STR_FINANCES_YEAR, TC_FROMSTRING, SA_RIGHT, true);
y += FONT_HEIGHT_NORMAL + EXP_BLOCKSPACE;
y += FONT_HEIGHT_NORMAL + WidgetDimensions::scaled.vsep_wide;
/* Categories */
for (uint i = 0; i < lengthof(_expenses_list_types); i++) {
y += FONT_HEIGHT_NORMAL;
sum += DrawYearCategory(r, y, _expenses_list_types[i], tbl);
/* Expense list + expense category title + expense category total + blockspace after category */
y += _expenses_list_types[i].GetHeight() + EXP_LINESPACE + FONT_HEIGHT_NORMAL + EXP_BLOCKSPACE;
y += _expenses_list_types[i].GetHeight() + WidgetDimensions::scaled.vsep_normal + FONT_HEIGHT_NORMAL + WidgetDimensions::scaled.vsep_wide;
}
/* Total income. */
GfxFillRect(r.left, y, r.right, y, PC_BLACK);
y += EXP_LINESPACE;
y += WidgetDimensions::scaled.vsep_normal;
DrawPrice(sum, r.left, r.right, y, TC_WHITE);
}
@ -290,7 +291,7 @@ static const NWidgetPart _nested_company_finances_widgets[] = {
EndContainer(),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_CF_SEL_PANEL),
NWidget(WWT_PANEL, COLOUR_GREY),
NWidget(NWID_HORIZONTAL), SetPadding(WD_FRAMERECT_TOP, WD_FRAMERECT_RIGHT, WD_FRAMERECT_BOTTOM, WD_FRAMERECT_LEFT), SetPIP(0, 9, 0),
NWidget(NWID_HORIZONTAL), SetPadding(WidgetDimensions::unscaled.framerect), SetPIP(0, WidgetDimensions::unscaled.hsep_wide, 0),
NWidget(WWT_EMPTY, COLOUR_GREY, WID_CF_EXPS_CATEGORY), SetMinimalSize(120, 0), SetFill(0, 0),
NWidget(WWT_EMPTY, COLOUR_GREY, WID_CF_EXPS_PRICE1), SetMinimalSize(86, 0), SetFill(0, 0),
NWidget(WWT_EMPTY, COLOUR_GREY, WID_CF_EXPS_PRICE2), SetMinimalSize(86, 0), SetFill(0, 0),
@ -299,7 +300,7 @@ static const NWidgetPart _nested_company_finances_widgets[] = {
EndContainer(),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_GREY),
NWidget(NWID_HORIZONTAL), SetPadding(WD_FRAMERECT_TOP, WD_FRAMERECT_RIGHT, WD_FRAMERECT_BOTTOM, WD_FRAMERECT_LEFT),
NWidget(NWID_HORIZONTAL), SetPadding(WidgetDimensions::unscaled.framerect),
NWidget(NWID_VERTICAL), // Vertical column with 'bank balance', 'loan'
NWidget(WWT_TEXT, COLOUR_GREY), SetDataTip(STR_FINANCES_OWN_FUNDS_TITLE, STR_NULL), SetFill(1, 0),
NWidget(WWT_TEXT, COLOUR_GREY), SetDataTip(STR_FINANCES_LOAN_TITLE, STR_NULL), SetFill(1, 0),
@ -312,7 +313,7 @@ static const NWidgetPart _nested_company_finances_widgets[] = {
NWidget(WWT_TEXT, COLOUR_GREY, WID_CF_OWN_VALUE), SetDataTip(STR_FINANCES_TOTAL_CURRENCY, STR_NULL), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(WWT_TEXT, COLOUR_GREY, WID_CF_LOAN_VALUE), SetDataTip(STR_FINANCES_TOTAL_CURRENCY, STR_NULL), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(WWT_EMPTY, COLOUR_GREY, WID_CF_BALANCE_LINE), SetMinimalSize(0, 2), SetFill(1, 0),
NWidget(WWT_TEXT, COLOUR_GREY, WID_CF_BALANCE_VALUE), SetDataTip(STR_FINANCES_TOTAL_CURRENCY, STR_NULL), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(WWT_TEXT, COLOUR_GREY, WID_CF_BALANCE_VALUE), SetDataTip(STR_FINANCES_BANK_BALANCE, STR_NULL), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
EndContainer(),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_CF_SEL_MAXLOAN),
NWidget(NWID_HORIZONTAL),
@ -655,18 +656,15 @@ public:
bool rtl = _current_text_dir == TD_RTL;
int icon_y = CenterBounds(r.top, r.bottom, 0);
int text_y = CenterBounds(r.top, r.bottom, FONT_HEIGHT_NORMAL);
Rect tr = r.Shrink(WD_DROPDOWNTEXT_LEFT, WD_DROPDOWNTEXT_TOP, WD_DROPDOWNTEXT_RIGHT, WD_DROPDOWNTEXT_BOTTOM);
Rect tr = r.Shrink(WidgetDimensions::scaled.dropdowntext);
DrawSprite(SPR_VEH_BUS_SIDE_VIEW, PALETTE_RECOLOUR_START + (this->result % COLOUR_END),
rtl ? tr.right - ScaleGUITrad(14) : tr.left + ScaleGUITrad(14),
icon_y);
DrawString(rtl ? tr.left : tr.left + ScaleGUITrad(28) + 2,
rtl ? tr.right - ScaleGUITrad(28) - 2 : tr.right,
text_y, this->String(), sel ? TC_WHITE : TC_BLACK);
tr = tr.Indent(ScaleGUITrad(28) + WidgetDimensions::scaled.hsep_normal, rtl);
DrawString(tr.left, tr.right, text_y, this->String(), sel ? TC_WHITE : TC_BLACK);
}
};
static const int LEVEL_WIDTH = 10; ///< Indenting width of a sub-group in pixels
typedef GUIList<const Group*> GUIGroupList;
/* cached values for GroupNameSorter to spare many GetString() calls */
@ -879,14 +877,14 @@ public:
}
}
size->width = std::max(size->width, 5 + d.width + WD_FRAMERECT_RIGHT);
size->width = std::max(size->width, 5 + d.width + padding.width);
break;
}
case WID_SCL_MATRIX: {
/* 11 items in the default rail class */
this->square = GetSpriteSize(SPR_SQUARE);
this->line_height = std::max(this->square.height, (uint)FONT_HEIGHT_NORMAL) + 4;
this->line_height = std::max(this->square.height, (uint)FONT_HEIGHT_NORMAL) + padding.height;
size->height = 11 * this->line_height;
resize->width = 1;
@ -903,7 +901,7 @@ public:
case WID_SCL_PRI_COL_DROPDOWN: {
this->square = GetSpriteSize(SPR_SQUARE);
int string_padding = this->square.width + NWidgetScrollbar::GetVerticalDimension().width + 10;
int string_padding = this->square.width + WidgetDimensions::scaled.hsep_normal + padding.width;
for (const StringID *id = _colour_dropdown; id != endof(_colour_dropdown); id++) {
size->width = std::max(size->width, GetStringBoundingBox(*id).width + string_padding);
}
@ -975,21 +973,21 @@ public:
/* Coordinates of scheme name column. */
const NWidgetBase *nwi = this->GetWidget<NWidgetBase>(WID_SCL_SPACER_DROPDOWN);
Rect sch = nwi->GetCurrentRect().Shrink(WD_FRAMERECT_LEFT, WD_FRAMERECT_TOP, WD_FRAMERECT_RIGHT, WD_FRAMERECT_BOTTOM);
Rect sch = nwi->GetCurrentRect().Shrink(WidgetDimensions::scaled.framerect);
/* Coordinates of first dropdown. */
nwi = this->GetWidget<NWidgetBase>(WID_SCL_PRI_COL_DROPDOWN);
Rect pri = nwi->GetCurrentRect().Shrink(WD_FRAMERECT_LEFT, WD_FRAMERECT_TOP, WD_FRAMERECT_RIGHT, WD_FRAMERECT_BOTTOM);
Rect pri = nwi->GetCurrentRect().Shrink(WidgetDimensions::scaled.framerect);
/* Coordinates of second dropdown. */
nwi = this->GetWidget<NWidgetBase>(WID_SCL_SEC_COL_DROPDOWN);
Rect sec = nwi->GetCurrentRect().Shrink(WD_FRAMERECT_LEFT, WD_FRAMERECT_TOP, WD_FRAMERECT_RIGHT, WD_FRAMERECT_BOTTOM);
Rect sec = nwi->GetCurrentRect().Shrink(WidgetDimensions::scaled.framerect);
Rect pri_squ = pri.WithWidth(this->square.width, rtl);
Rect sec_squ = sec.WithWidth(this->square.width, rtl);
pri = pri.Indent(this->square.width + ScaleGUITrad(2), rtl);
sec = sec.Indent(this->square.width + ScaleGUITrad(2), rtl);
pri = pri.Indent(this->square.width + WidgetDimensions::scaled.hsep_normal, rtl);
sec = sec.Indent(this->square.width + WidgetDimensions::scaled.hsep_normal, rtl);
Rect ir = r.WithHeight(this->resize.step_height).Shrink(WD_MATRIX_LEFT, WD_MATRIX_TOP, WD_MATRIX_RIGHT, WD_MATRIX_BOTTOM);
Rect ir = r.WithHeight(this->resize.step_height).Shrink(WidgetDimensions::scaled.matrix);
int square_offs = (ir.Height() - this->square.height) / 2;
int text_offs = (ir.Height() - FONT_HEIGHT_NORMAL) / 2;
@ -1027,7 +1025,7 @@ public:
for (uint i = this->vscroll->GetPosition(); i < max; ++i) {
const Group *g = this->groups[i];
SetDParam(0, g->index);
draw_livery(STR_GROUP_NAME, g->livery, this->sel == g->index, false, this->indents[i] * LEVEL_WIDTH);
draw_livery(STR_GROUP_NAME, g->livery, this->sel == g->index, false, this->indents[i] * WidgetDimensions::scaled.hsep_indent);
}
}
}
@ -1325,81 +1323,81 @@ static const NWidgetPart _nested_select_company_manager_face_widgets[] = {
EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(0, 4),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_HAS_MOUSTACHE_EARRING_TEXT), SetFill(1, 0), SetPadding(0, WD_FRAMERECT_RIGHT, 0, WD_FRAMERECT_LEFT),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_HAS_MOUSTACHE_EARRING_TEXT), SetFill(1, 0), SetPadding(WidgetDimensions::unscaled.framerect),
SetDataTip(STR_FACE_EYECOLOUR, STR_NULL), SetTextColour(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_HAS_MOUSTACHE_EARRING), SetDataTip(STR_WHITE_STRING, STR_FACE_MOUSTACHE_EARRING_TOOLTIP),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_HAS_GLASSES_TEXT), SetFill(1, 0), SetPadding(0, WD_FRAMERECT_RIGHT, 0, WD_FRAMERECT_LEFT),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_HAS_GLASSES_TEXT), SetFill(1, 0), SetPadding(WidgetDimensions::unscaled.framerect),
SetDataTip(STR_FACE_GLASSES, STR_NULL), SetTextColour(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_HAS_GLASSES), SetDataTip(STR_WHITE_STRING, STR_FACE_GLASSES_TOOLTIP),
EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(0, 2), SetFill(1, 0),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_HAIR_TEXT), SetFill(1, 0), SetPadding(0, WD_FRAMERECT_RIGHT, 0, WD_FRAMERECT_LEFT),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_HAIR_TEXT), SetFill(1, 0), SetPadding(WidgetDimensions::unscaled.framerect),
SetDataTip(STR_FACE_HAIR, STR_NULL), SetTextColour(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_HAIR_L), SetDataTip(AWV_DECREASE, STR_FACE_HAIR_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_HAIR), SetDataTip(STR_WHITE_STRING, STR_FACE_HAIR_TOOLTIP),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_HAIR_R), SetDataTip(AWV_INCREASE, STR_FACE_HAIR_TOOLTIP),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_EYEBROWS_TEXT), SetFill(1, 0), SetPadding(0, WD_FRAMERECT_RIGHT, 0, WD_FRAMERECT_LEFT),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_EYEBROWS_TEXT), SetFill(1, 0), SetPadding(WidgetDimensions::unscaled.framerect),
SetDataTip(STR_FACE_EYEBROWS, STR_NULL), SetTextColour(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_EYEBROWS_L), SetDataTip(AWV_DECREASE, STR_FACE_EYEBROWS_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_EYEBROWS), SetDataTip(STR_WHITE_STRING, STR_FACE_EYEBROWS_TOOLTIP),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_EYEBROWS_R), SetDataTip(AWV_INCREASE, STR_FACE_EYEBROWS_TOOLTIP),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_EYECOLOUR_TEXT), SetFill(1, 0), SetPadding(0, WD_FRAMERECT_RIGHT, 0, WD_FRAMERECT_LEFT),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_EYECOLOUR_TEXT), SetFill(1, 0), SetPadding(WidgetDimensions::unscaled.framerect),
SetDataTip(STR_FACE_EYECOLOUR, STR_NULL), SetTextColour(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_EYECOLOUR_L), SetDataTip(AWV_DECREASE, STR_FACE_EYECOLOUR_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_EYECOLOUR), SetDataTip(STR_WHITE_STRING, STR_FACE_EYECOLOUR_TOOLTIP),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_EYECOLOUR_R), SetDataTip(AWV_INCREASE, STR_FACE_EYECOLOUR_TOOLTIP),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_GLASSES_TEXT), SetFill(1, 0), SetPadding(0, WD_FRAMERECT_RIGHT, 0, WD_FRAMERECT_LEFT),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_GLASSES_TEXT), SetFill(1, 0), SetPadding(WidgetDimensions::unscaled.framerect),
SetDataTip(STR_FACE_GLASSES, STR_NULL), SetTextColour(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_GLASSES_L), SetDataTip(AWV_DECREASE, STR_FACE_GLASSES_TOOLTIP_2),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_GLASSES), SetDataTip(STR_WHITE_STRING, STR_FACE_GLASSES_TOOLTIP_2),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_GLASSES_R), SetDataTip(AWV_INCREASE, STR_FACE_GLASSES_TOOLTIP_2),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_NOSE_TEXT), SetFill(1, 0), SetPadding(0, WD_FRAMERECT_RIGHT, 0, WD_FRAMERECT_LEFT),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_NOSE_TEXT), SetFill(1, 0), SetPadding(WidgetDimensions::unscaled.framerect),
SetDataTip(STR_FACE_NOSE, STR_NULL), SetTextColour(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_NOSE_L), SetDataTip(AWV_DECREASE, STR_FACE_NOSE_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_NOSE), SetDataTip(STR_WHITE_STRING, STR_FACE_NOSE_TOOLTIP),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_NOSE_R), SetDataTip(AWV_INCREASE, STR_FACE_NOSE_TOOLTIP),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_LIPS_MOUSTACHE_TEXT), SetFill(1, 0), SetPadding(0, WD_FRAMERECT_RIGHT, 0, WD_FRAMERECT_LEFT),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_LIPS_MOUSTACHE_TEXT), SetFill(1, 0), SetPadding(WidgetDimensions::unscaled.framerect),
SetDataTip(STR_FACE_MOUSTACHE, STR_NULL), SetTextColour(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_LIPS_MOUSTACHE_L), SetDataTip(AWV_DECREASE, STR_FACE_LIPS_MOUSTACHE_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_LIPS_MOUSTACHE), SetDataTip(STR_WHITE_STRING, STR_FACE_LIPS_MOUSTACHE_TOOLTIP),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_LIPS_MOUSTACHE_R), SetDataTip(AWV_INCREASE, STR_FACE_LIPS_MOUSTACHE_TOOLTIP),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_CHIN_TEXT), SetFill(1, 0), SetPadding(0, WD_FRAMERECT_RIGHT, 0, WD_FRAMERECT_LEFT),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_CHIN_TEXT), SetFill(1, 0), SetPadding(WidgetDimensions::unscaled.framerect),
SetDataTip(STR_FACE_CHIN, STR_NULL), SetTextColour(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_CHIN_L), SetDataTip(AWV_DECREASE, STR_FACE_CHIN_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_CHIN), SetDataTip(STR_WHITE_STRING, STR_FACE_CHIN_TOOLTIP),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_CHIN_R), SetDataTip(AWV_INCREASE, STR_FACE_CHIN_TOOLTIP),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_JACKET_TEXT), SetFill(1, 0), SetPadding(0, WD_FRAMERECT_RIGHT, 0, WD_FRAMERECT_LEFT),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_JACKET_TEXT), SetFill(1, 0), SetPadding(WidgetDimensions::unscaled.framerect),
SetDataTip(STR_FACE_JACKET, STR_NULL), SetTextColour(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_JACKET_L), SetDataTip(AWV_DECREASE, STR_FACE_JACKET_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_JACKET), SetDataTip(STR_WHITE_STRING, STR_FACE_JACKET_TOOLTIP),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_JACKET_R), SetDataTip(AWV_INCREASE, STR_FACE_JACKET_TOOLTIP),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_COLLAR_TEXT), SetFill(1, 0), SetPadding(0, WD_FRAMERECT_RIGHT, 0, WD_FRAMERECT_LEFT),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_COLLAR_TEXT), SetFill(1, 0), SetPadding(WidgetDimensions::unscaled.framerect),
SetDataTip(STR_FACE_COLLAR, STR_NULL), SetTextColour(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_COLLAR_L), SetDataTip(AWV_DECREASE, STR_FACE_COLLAR_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_COLLAR), SetDataTip(STR_WHITE_STRING, STR_FACE_COLLAR_TOOLTIP),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_COLLAR_R), SetDataTip(AWV_INCREASE, STR_FACE_COLLAR_TOOLTIP),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_TIE_EARRING_TEXT), SetFill(1, 0), SetPadding(0, WD_FRAMERECT_RIGHT, 0, WD_FRAMERECT_LEFT),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_TIE_EARRING_TEXT), SetFill(1, 0), SetPadding(WidgetDimensions::unscaled.framerect),
SetDataTip(STR_FACE_EARRING, STR_NULL), SetTextColour(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_TIE_EARRING_L), SetDataTip(AWV_DECREASE, STR_FACE_TIE_EARRING_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_TIE_EARRING), SetDataTip(STR_WHITE_STRING, STR_FACE_TIE_EARRING_TOOLTIP),
@ -1503,17 +1501,17 @@ public:
{
/* Size of the boolean yes/no button. */
Dimension yesno_dim = maxdim(GetStringBoundingBox(STR_FACE_YES), GetStringBoundingBox(STR_FACE_NO));
yesno_dim.width += WD_FRAMERECT_LEFT + WD_FRAMERECT_RIGHT;
yesno_dim.height += WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM;
yesno_dim.width += WidgetDimensions::scaled.framerect.Horizontal();
yesno_dim.height += WidgetDimensions::scaled.framerect.Vertical();
/* Size of the number button + arrows. */
Dimension number_dim = {0, 0};
for (int val = 1; val <= 12; val++) {
SetDParam(0, val);
number_dim = maxdim(number_dim, GetStringBoundingBox(STR_JUST_INT));
}
uint arrows_width = GetSpriteSize(SPR_ARROW_LEFT).width + GetSpriteSize(SPR_ARROW_RIGHT).width + 2 * (WD_IMGBTN_LEFT + WD_IMGBTN_RIGHT);
number_dim.width += WD_FRAMERECT_LEFT + WD_FRAMERECT_RIGHT + arrows_width;
number_dim.height += WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM;
uint arrows_width = GetSpriteSize(SPR_ARROW_LEFT).width + GetSpriteSize(SPR_ARROW_RIGHT).width + 2 * (WidgetDimensions::scaled.imgbtn.Horizontal());
number_dim.width += WidgetDimensions::scaled.framerect.Horizontal() + arrows_width;
number_dim.height += WidgetDimensions::scaled.framerect.Vertical();
/* Compute width of both buttons. */
yesno_dim.width = std::max(yesno_dim.width, number_dim.width);
number_dim.width = yesno_dim.width - arrows_width;
@ -1853,7 +1851,7 @@ static const NWidgetPart _nested_company_infrastructure_widgets[] = {
EndContainer(),
NWidget(WWT_PANEL, COLOUR_GREY),
NWidget(NWID_HORIZONTAL),
NWidget(NWID_VERTICAL), SetPIP(WD_FRAMERECT_TOP, 0, WD_FRAMETEXT_BOTTOM),
NWidget(NWID_VERTICAL), SetPIP(WidgetDimensions::unscaled.framerect.top, 0, WidgetDimensions::unscaled.framerect.bottom),
NWidget(NWID_HORIZONTAL), SetPIP(2, 4, 2),
NWidget(WWT_EMPTY, COLOUR_GREY, WID_CI_DESC), SetMinimalTextLines(2, 0), SetFill(1, 0), SetResize(0, 1), SetScrollbar(WID_CI_SCROLLBAR),
NWidget(WWT_EMPTY, COLOUR_GREY, WID_CI_COUNT), SetMinimalTextLines(2, 0), SetFill(0, 1), SetResize(0, 1), SetScrollbar(WID_CI_SCROLLBAR),
@ -1967,12 +1965,12 @@ struct CompanyInfrastructureWindow : Window
if (HasBit(this->railtypes, rt)) {
rail_lines++;
SetDParam(0, GetRailTypeInfo(rt)->strings.name);
size->width = std::max(size->width, GetStringBoundingBox(STR_WHITE_STRING).width + WD_FRAMERECT_LEFT);
size->width = std::max(size->width, GetStringBoundingBox(STR_WHITE_STRING).width + WidgetDimensions::scaled.hsep_indent);
}
}
if (this->railtypes != RAILTYPES_NONE) {
rail_lines++;
size->width = std::max(size->width, GetStringBoundingBox(STR_COMPANY_INFRASTRUCTURE_VIEW_SIGNALS).width + WD_FRAMERECT_LEFT);
size->width = std::max(size->width, GetStringBoundingBox(STR_COMPANY_INFRASTRUCTURE_VIEW_SIGNALS).width + WidgetDimensions::scaled.hsep_indent);
}
uint road_lines = 1; // Starts at 1 because a line is also required for the section title
@ -1989,21 +1987,21 @@ struct CompanyInfrastructureWindow : Window
tram_lines++;
}
SetDParam(0, GetRoadTypeInfo(rt)->strings.name);
size->width = std::max(size->width, GetStringBoundingBox(STR_WHITE_STRING).width + WD_FRAMERECT_LEFT);
size->width = std::max(size->width, GetStringBoundingBox(STR_WHITE_STRING).width + WidgetDimensions::scaled.hsep_indent);
}
}
size->width = std::max(size->width, GetStringBoundingBox(STR_COMPANY_INFRASTRUCTURE_VIEW_WATER_SECT).width);
size->width = std::max(size->width, GetStringBoundingBox(STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS).width + WD_FRAMERECT_LEFT);
size->width = std::max(size->width, GetStringBoundingBox(STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS).width + WidgetDimensions::scaled.hsep_indent);
size->width = std::max(size->width, GetStringBoundingBox(STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT).width);
size->width = std::max(size->width, GetStringBoundingBox(STR_COMPANY_INFRASTRUCTURE_VIEW_STATIONS).width + WD_FRAMERECT_LEFT);
size->width = std::max(size->width, GetStringBoundingBox(STR_COMPANY_INFRASTRUCTURE_VIEW_AIRPORTS).width + WD_FRAMERECT_LEFT);
size->width = std::max(size->width, GetStringBoundingBox(STR_COMPANY_INFRASTRUCTURE_VIEW_STATIONS).width + WidgetDimensions::scaled.hsep_indent);
size->width = std::max(size->width, GetStringBoundingBox(STR_COMPANY_INFRASTRUCTURE_VIEW_AIRPORTS).width + WidgetDimensions::scaled.hsep_indent);
uint total_height = ((rail_lines + road_lines + tram_lines + 2 + 3) * FONT_HEIGHT_NORMAL) + (4 * EXP_SPACING);
/* Set height of the total line. */
if (_settings_game.economy.infrastructure_maintenance) total_height += EXP_SPACING + EXP_LINESPACE + FONT_HEIGHT_NORMAL;
if (_settings_game.economy.infrastructure_maintenance) total_height += EXP_SPACING + WidgetDimensions::scaled.vsep_normal + FONT_HEIGHT_NORMAL;
this->vscroll->SetCount(total_height);
@ -2039,11 +2037,11 @@ struct CompanyInfrastructureWindow : Window
max_cost = std::max(max_cost, AirportMaintenanceCost(c->index));
SetDParamMaxValue(0, max_val);
uint count_width = GetStringBoundingBox(STR_WHITE_COMMA).width + 20; // Reserve some wiggle room
uint count_width = GetStringBoundingBox(STR_WHITE_COMMA).width + WidgetDimensions::scaled.hsep_indent; // Reserve some wiggle room
if (_settings_game.economy.infrastructure_maintenance) {
SetDParamMaxValue(0, this->GetTotalMaintenanceCost() * 12); // Convert to per year
this->total_width = GetStringBoundingBox(STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL).width + 20;
this->total_width = GetStringBoundingBox(STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL).width + WidgetDimensions::scaled.hsep_indent * 2;
size->width = std::max(size->width, this->total_width);
SetDParamMaxValue(0, max_cost * 12); // Convert to per year
@ -2081,8 +2079,8 @@ struct CompanyInfrastructureWindow : Window
const Company *c = Company::Get((CompanyID)this->window_number);
int offs_left = _current_text_dir == TD_LTR ? WD_FRAMERECT_LEFT : 0;
int offs_right = _current_text_dir == TD_LTR ? 0 : WD_FRAMERECT_LEFT;
int offs_left = _current_text_dir == TD_LTR ? WidgetDimensions::scaled.framerect.left : 0;
int offs_right = _current_text_dir == TD_LTR ? 0 : WidgetDimensions::scaled.framerect.right;
int width = r.right - r.left;
@ -2194,7 +2192,7 @@ struct CompanyInfrastructureWindow : Window
y += FONT_HEIGHT_NORMAL + EXP_SPACING;
int left = _current_text_dir == TD_RTL ? width - this->total_width : 0;
GfxFillRect(left, y, left + this->total_width, y, PC_WHITE);
y += EXP_LINESPACE;
y += WidgetDimensions::scaled.vsep_normal;
SetDParam(0, this->GetTotalMaintenanceCost() * 12); // Convert to per year
DrawString(left, left + this->total_width, y, STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL, TC_FROMSTRING, SA_RIGHT);
}

@ -31,7 +31,6 @@
#include "safeguards.h"
static const uint ICON_HISTORY_SIZE = 20;
static const uint ICON_LINE_SPACING = 2;
static const uint ICON_RIGHT_BORDERWIDTH = 10;
static const uint ICON_BOTTOM_BORDERWIDTH = 12;
@ -122,14 +121,18 @@ struct IConsoleWindow : Window
IConsoleWindow() : Window(&_console_window_desc)
{
_iconsole_mode = ICONSOLE_OPENED;
this->line_height = FONT_HEIGHT_NORMAL + ICON_LINE_SPACING;
this->line_offset = GetStringBoundingBox("] ").width + 5;
this->InitNested(0);
this->truncate_timer.SetInterval(3000);
ResizeWindow(this, _screen.width, _screen.height / 3);
}
void OnInit() override
{
this->line_height = FONT_HEIGHT_NORMAL + WidgetDimensions::scaled.hsep_normal;
this->line_offset = GetStringBoundingBox("] ").width + WidgetDimensions::scaled.frametext.left;
}
~IConsoleWindow()
{
_iconsole_mode = ICONSOLE_CLOSED;
@ -156,20 +159,20 @@ struct IConsoleWindow : Window
void OnPaint() override
{
const int right = this->width - 5;
const int right = this->width - WidgetDimensions::scaled.frametext.right;
GfxFillRect(0, 0, this->width - 1, this->height - 1, PC_BLACK);
int ypos = this->height - this->line_height;
for (size_t line_index = IConsoleWindow::scroll; line_index < _iconsole_buffer.size(); line_index++) {
const IConsoleLine &print = _iconsole_buffer[line_index];
SetDParamStr(0, print.buffer);
ypos = DrawStringMultiLine(5, right, -this->line_height, ypos, STR_JUST_RAW_STRING, print.colour, SA_LEFT | SA_BOTTOM | SA_FORCE) - ICON_LINE_SPACING;
ypos = DrawStringMultiLine(WidgetDimensions::scaled.frametext.left, right, -this->line_height, ypos, STR_JUST_RAW_STRING, print.colour, SA_LEFT | SA_BOTTOM | SA_FORCE) - WidgetDimensions::scaled.hsep_normal;
if (ypos < 0) break;
}
/* If the text is longer than the window, don't show the starting ']' */
int delta = this->width - this->line_offset - _iconsole_cmdline.pixels - ICON_RIGHT_BORDERWIDTH;
if (delta > 0) {
DrawString(5, right, this->height - this->line_height, "]", (TextColour)CC_COMMAND, SA_LEFT | SA_FORCE);
DrawString(WidgetDimensions::scaled.frametext.left, right, this->height - this->line_height, "]", (TextColour)CC_COMMAND, SA_LEFT | SA_FORCE);
delta = 0;
}

@ -208,6 +208,17 @@ struct Rect {
? Rect {this->left, this->bottom - height + 1, this->right, this->bottom}
: Rect {this->left, this->top, this->right, this->top + height - 1};
}
/**
* Test if a point falls inside this Rect.
* @param pt the point to test.
* @return true iif the point falls inside the Rect.
*/
inline bool Contains(const Point &pt) const
{
/* This is a local version of IsInsideMM, to avoid including math_func everywhere. */
return (uint)(pt.x - this->left) < (uint)(this->right - this->left) && (uint)(pt.y - this->top) < (uint)(this->bottom - this->top);
}
};
struct Rect16 {

@ -647,13 +647,13 @@ void DeparturesWindow<Twaypoint>::DeleteDeparturesList(DepartureList *list)
template<bool Twaypoint>
void DeparturesWindow<Twaypoint>::DrawDeparturesListItems(const Rect &r) const
{
int left = r.left + WD_MATRIX_LEFT;
int right = r.right - WD_MATRIX_RIGHT;
int left = r.left + WidgetDimensions::scaled.matrix.left;
int right = r.right - WidgetDimensions::scaled.matrix.right;
bool rtl = _current_text_dir == TD_RTL;
bool ltr = !rtl;
int text_offset = WD_FRAMERECT_RIGHT;
int text_offset = WidgetDimensions::scaled.framerect.right;
int text_left = left + (rtl ? 0 : text_offset);
int text_right = right - (rtl ? text_offset : 0);

@ -28,7 +28,9 @@
#include "infrastructure_func.h"
#include "order_backup.h"
#include "zoom_func.h"
#include "error.h"
#include "tbtr_template_vehicle.h"
#include "core/geometry_func.hpp"
#include "widgets/depot_widget.h"
@ -192,17 +194,17 @@ static void InitBlocksizeForVehicles(VehicleType type, EngineImageType image_typ
if ((int)x + x_offs > max_extend_right) max_extend_right = x + x_offs;
}
int min_extend = ScaleGUITrad(16);
int max_extend = ScaleGUITrad(98);
int min_extend = ScaleSpriteTrad(16);
int max_extend = ScaleSpriteTrad(98);
switch (image_type) {
case EIT_IN_DEPOT:
_base_block_sizes_depot[type].height = std::max<uint>(ScaleGUITrad(GetVehicleHeight(type)), max_height);
_base_block_sizes_depot[type].height = std::max<uint>(ScaleSpriteTrad(GetVehicleHeight(type)), max_height);
_base_block_sizes_depot[type].extend_left = Clamp(max_extend_left, min_extend, max_extend);
_base_block_sizes_depot[type].extend_right = Clamp(max_extend_right, min_extend, max_extend);
break;
case EIT_PURCHASE:
_base_block_sizes_purchase[type].height = std::max<uint>(ScaleGUITrad(GetVehicleHeight(type)), max_height);
_base_block_sizes_purchase[type].height = std::max<uint>(ScaleSpriteTrad(GetVehicleHeight(type)), max_height);
_base_block_sizes_purchase[type].extend_left = Clamp(max_extend_left, min_extend, max_extend);
_base_block_sizes_purchase[type].extend_right = Clamp(max_extend_right, min_extend, max_extend);
break;
@ -304,18 +306,15 @@ struct DepotWindow : Window {
/**
* Draw a vehicle in the depot window in the box with the top left corner at x,y.
* @param v Vehicle to draw.
* @param left Left side of the box to draw in.
* @param right Right side of the box to draw in.
* @param y Top of the box to draw in.
* @param r Rect to draw in.
*/
void DrawVehicleInDepot(const Vehicle *v, int left, int right, int y) const
void DrawVehicleInDepot(const Vehicle *v, const Rect &r) const
{
bool free_wagon = false;
int sprite_y = y + (this->resize.step_height - ScaleGUITrad(GetVehicleHeight(v->type))) / 2;
bool rtl = _current_text_dir == TD_RTL;
int image_left = rtl ? left + this->count_width : left + this->header_width;
int image_right = rtl ? right - this->header_width : right - this->count_width;
Rect text = r.Shrink(RectPadding::zero, WidgetDimensions::scaled.matrix); /* Ract for text elements, horizontal is already applied. */
Rect image = r.Indent(this->header_width, rtl).Indent(this->count_width, !rtl); /* Rect for vehicle images */
switch (v->type) {
case VEH_TRAIN: {
@ -323,45 +322,45 @@ struct DepotWindow : Window {
free_wagon = u->IsFreeWagon();
uint x_space = free_wagon ?
ScaleGUITrad(_consistent_train_width != 0 ? _consistent_train_width : TRAININFO_DEFAULT_VEHICLE_WIDTH) :
ScaleSpriteTrad(_consistent_train_width != 0 ? _consistent_train_width : TRAININFO_DEFAULT_VEHICLE_WIDTH) :
0;
DrawTrainImage(u, image_left + (rtl ? 0 : x_space), image_right - (rtl ? x_space : 0), sprite_y - 1,
this->sel, EIT_IN_DEPOT, free_wagon ? 0 : this->hscroll->GetPosition(), this->vehicle_over);
DrawTrainImage(u, image.Indent(x_space, rtl), this->sel, EIT_IN_DEPOT, free_wagon ? 0 : this->hscroll->GetPosition(), this->vehicle_over);
/* Length of consist in tiles with 1 fractional digit (rounded up) */
SetDParam(0, CeilDiv(u->gcache.cached_total_length * 10, TILE_SIZE));
SetDParam(1, 1);
DrawString(rtl ? left + WD_FRAMERECT_LEFT : right - this->count_width, rtl ? left + this->count_width : right - WD_FRAMERECT_RIGHT, y + (this->resize.step_height - FONT_HEIGHT_SMALL) / 2, STR_TINY_BLACK_DECIMAL, TC_FROMSTRING, SA_RIGHT); // Draw the counter
Rect count = text.WithWidth(this->count_width - WidgetDimensions::scaled.hsep_normal, !rtl);
DrawString(count.left, count.right, count.bottom - FONT_HEIGHT_SMALL + 1, STR_TINY_BLACK_DECIMAL, TC_FROMSTRING, SA_RIGHT); // Draw the counter
break;
}
case VEH_ROAD: DrawRoadVehImage( v, image_left, image_right, sprite_y, this->sel, EIT_IN_DEPOT); break;
case VEH_SHIP: DrawShipImage( v, image_left, image_right, sprite_y, this->sel, EIT_IN_DEPOT); break;
case VEH_AIRCRAFT: DrawAircraftImage(v, image_left, image_right, sprite_y, this->sel, EIT_IN_DEPOT); break;
case VEH_ROAD: DrawRoadVehImage( v, image, this->sel, EIT_IN_DEPOT); break;
case VEH_SHIP: DrawShipImage( v, image, this->sel, EIT_IN_DEPOT); break;
case VEH_AIRCRAFT: DrawAircraftImage(v, image, this->sel, EIT_IN_DEPOT); break;
default: NOT_REACHED();
}
uint diff_x, diff_y;
if (v->IsGroundVehicle()) {
/* Arrange unitnumber and flag horizontally */
diff_x = this->flag_width + WD_FRAMERECT_LEFT;
diff_y = (this->resize.step_height - this->flag_height) / 2 - 2;
diff_x = this->flag_size.width + WidgetDimensions::scaled.hsep_normal;
diff_y = WidgetDimensions::scaled.matrix.top;
} else {
/* Arrange unitnumber and flag vertically */
diff_x = WD_FRAMERECT_LEFT;
diff_y = FONT_HEIGHT_NORMAL + WD_PAR_VSEP_NORMAL;
diff_x = 0;
diff_y = WidgetDimensions::scaled.matrix.top + FONT_HEIGHT_NORMAL + WidgetDimensions::scaled.vsep_normal;
}
int text_left = rtl ? right - this->header_width - 1 : left + diff_x;
int text_right = rtl ? right - diff_x : left + this->header_width - 1;
text = text.WithWidth(this->header_width - WidgetDimensions::scaled.hsep_normal, rtl).WithHeight(FONT_HEIGHT_NORMAL).Indent(diff_x, rtl);
if (free_wagon) {
DrawString(text_left, text_right, y + 2, STR_DEPOT_NO_ENGINE);
DrawString(text, STR_DEPOT_NO_ENGINE);
} else {
DrawSprite((v->vehstatus & VS_STOPPED) ? SPR_FLAG_VEH_STOPPED : SPR_FLAG_VEH_RUNNING, PAL_NONE, rtl ? right - this->flag_width : left + WD_FRAMERECT_LEFT, y + diff_y);
Rect flag = r.WithWidth(this->flag_size.width, rtl).WithHeight(this->flag_size.height).Translate(0, diff_y);
DrawSpriteIgnorePadding((v->vehstatus & VS_STOPPED) ? SPR_FLAG_VEH_STOPPED : SPR_FLAG_VEH_RUNNING, PAL_NONE, flag, false, SA_CENTER);
SetDParam(0, v->unitnumber);
DrawString(text_left, text_right, y + 2, (uint16)(v->max_age - DAYS_IN_LEAP_YEAR) >= v->age ? STR_BLACK_COMMA : STR_RED_COMMA);
DrawString(text, (uint16)(v->max_age - DAYS_IN_LEAP_YEAR) >= v->age ? STR_BLACK_COMMA : STR_RED_COMMA);
}
}
@ -374,24 +373,28 @@ struct DepotWindow : Window {
/* Set the row and number of boxes in each row based on the number of boxes drawn in the matrix */
const NWidgetCore *wid = this->GetWidget<NWidgetCore>(WID_D_MATRIX);
/* Set up rect for each cell */
Rect ir = r.WithHeight(this->resize.step_height);
if (this->num_columns != 1) ir = ir.WithWidth(this->resize.step_width, rtl);
ir = ir.Shrink(WidgetDimensions::scaled.framerect, RectPadding::zero);
/* Draw vertical separators at whole tiles.
* This only works in two cases:
* - All vehicles use VEHICLEINFO_FULL_VEHICLE_WIDTH as reference width.
* - All vehicles are 8/8. This cannot be checked for NewGRF, so instead we check for "all vehicles are original vehicles".
*/
if (this->type == VEH_TRAIN && _consistent_train_width != 0) {
int w = ScaleGUITrad(2 * _consistent_train_width);
int w = ScaleSpriteTrad(2 * _consistent_train_width);
int col = _colour_gradient[wid->colour][4];
int image_left = rtl ? r.left + this->count_width : r.left + this->header_width;
int image_right = rtl ? r.right - this->header_width : r.right - this->count_width;
Rect image = ir.Indent(this->header_width, rtl).Indent(this->count_width, !rtl);
int first_line = w + (-this->hscroll->GetPosition()) % w;
if (rtl) {
for (int x = image_right - first_line; x >= image_left; x -= w) {
GfxDrawLine(x, r.top, x, r.bottom, col, 1, 3);
for (int x = image.right - first_line; x >= image.left; x -= w) {
GfxDrawLine(x, r.top, x, r.bottom, col, ScaleGUITrad(1), ScaleGUITrad(3));
}
} else {
for (int x = image_left + first_line; x <= image_right; x += w) {
GfxDrawLine(x, r.top, x, r.bottom, col, 1, 3);
for (int x = image.left + first_line; x <= image.right; x += w) {
GfxDrawLine(x, r.top, x, r.bottom, col, ScaleGUITrad(1), ScaleGUITrad(3));
}
}
}
@ -400,26 +403,22 @@ struct DepotWindow : Window {
uint num = this->vscroll->GetPosition() * this->num_columns;
uint maxval = static_cast<uint>(std::min<size_t>(this->vehicle_list.size(), num + (rows_in_display * this->num_columns)));
int y;
for (y = r.top + 1; num < maxval; y += this->resize.step_height) { // Draw the rows
for (; num < maxval; ir = ir.Translate(0, this->resize.step_height)) { // Draw the rows
Rect cell = ir; /* Keep track of horizontal cells */
for (uint i = 0; i < this->num_columns && num < maxval; i++, num++) {
/* Draw all vehicles in the current row */
const Vehicle *v = this->vehicle_list[num];
if (this->num_columns == 1) {
this->DrawVehicleInDepot(v, r.left, r.right, y);
} else {
int x = r.left + (rtl ? (this->num_columns - i - 1) : i) * this->resize.step_width;
this->DrawVehicleInDepot(v, x, x + this->resize.step_width - 1, y);
}
this->DrawVehicleInDepot(v, cell);
cell = cell.Translate(rtl ? -(int)this->resize.step_width : (int)this->resize.step_width, 0);
}
}
maxval = static_cast<uint>(std::min<size_t>(this->vehicle_list.size() + this->wagon_list.size(), (this->vscroll->GetPosition() * this->num_columns) + (rows_in_display * this->num_columns)));
/* Draw the train wagons without an engine in front. */
for (; num < maxval; num++, y += this->resize.step_height) {
for (; num < maxval; num++, ir = ir.Translate(0, this->resize.step_height)) {
const Vehicle *v = this->wagon_list[num - this->vehicle_list.size()];
this->DrawVehicleInDepot(v, r.left, r.right, y);
this->DrawVehicleInDepot(v, ir);
}
}
@ -485,7 +484,7 @@ struct DepotWindow : Window {
pos -= (uint)this->vehicle_list.size();
*veh = this->wagon_list[pos];
/* free wagons don't have an initial loco. */
x -= ScaleGUITrad(VEHICLEINFO_FULL_VEHICLE_WIDTH);
x -= ScaleSpriteTrad(VEHICLEINFO_FULL_VEHICLE_WIDTH);
wagon = true;
}
@ -502,12 +501,12 @@ struct DepotWindow : Window {
FALLTHROUGH;
case VEH_ROAD:
if (xm <= this->flag_width) return MODE_START_STOP;
if (xm <= this->flag_size.width) return MODE_START_STOP;
break;
case VEH_SHIP:
case VEH_AIRCRAFT:
if (xm <= this->flag_width && ym >= (uint)(FONT_HEIGHT_NORMAL + WD_PAR_VSEP_NORMAL)) return MODE_START_STOP;
if (xm <= this->flag_size.width && ym >= (uint)(FONT_HEIGHT_NORMAL + WidgetDimensions::scaled.vsep_normal)) return MODE_START_STOP;
break;
default: NOT_REACHED();
@ -644,10 +643,16 @@ struct DepotWindow : Window {
}
}
uint count_width;
uint header_width;
uint flag_width;
uint flag_height;
uint count_width; ///< Width of length count, including separator.
uint header_width; ///< Width of unit number and flag, including separator.
Dimension flag_size; ///< Size of start/stop flag.
VehicleCellSize cell_size; ///< Vehicle sprite cell size.
void OnInit() override
{
this->cell_size = GetVehicleImageCellSize(this->type, EIT_IN_DEPOT);
this->flag_size = maxdim(GetScaledSpriteSize(SPR_FLAG_VEH_STOPPED), GetScaledSpriteSize(SPR_FLAG_VEH_RUNNING));
}
void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
{
@ -658,33 +663,30 @@ struct DepotWindow : Window {
if (this->type == VEH_TRAIN) {
SetDParamMaxValue(0, 1000, 0, FS_SMALL);
SetDParam(1, 1);
this->count_width = GetStringBoundingBox(STR_TINY_BLACK_DECIMAL).width + WD_FRAMERECT_LEFT + WD_FRAMERECT_RIGHT;
this->count_width = GetStringBoundingBox(STR_TINY_BLACK_DECIMAL).width + WidgetDimensions::scaled.hsep_normal;
} else {
this->count_width = 0;
}
SetDParamMaxDigits(0, this->unitnumber_digits);
Dimension unumber = GetStringBoundingBox(STR_BLACK_COMMA);
const Sprite *spr = GetSprite(SPR_FLAG_VEH_STOPPED, ST_NORMAL);
this->flag_width = UnScaleGUI(spr->width) + WD_FRAMERECT_RIGHT;
this->flag_height = UnScaleGUI(spr->height);
if (this->type == VEH_TRAIN || this->type == VEH_ROAD) {
min_height = std::max<uint>(unumber.height + WD_MATRIX_TOP, UnScaleGUI(spr->height));
this->header_width = unumber.width + this->flag_width + WD_FRAMERECT_LEFT;
min_height = std::max<uint>(unumber.height, this->flag_size.height);
this->header_width = unumber.width + WidgetDimensions::scaled.hsep_normal + this->flag_size.width + WidgetDimensions::scaled.hsep_normal;
} else {
min_height = unumber.height + UnScaleGUI(spr->height) + WD_MATRIX_TOP + WD_PAR_VSEP_NORMAL + WD_MATRIX_BOTTOM;
this->header_width = std::max<uint>(unumber.width, this->flag_width) + WD_FRAMERECT_RIGHT;
min_height = unumber.height + WidgetDimensions::scaled.vsep_normal + this->flag_size.height;
this->header_width = std::max<uint>(unumber.width, this->flag_size.width) + WidgetDimensions::scaled.hsep_normal;
}
int base_width = this->count_width + this->header_width;
int base_width = this->count_width + this->header_width + padding.width;
resize->height = std::max<uint>(GetVehicleImageCellSize(this->type, EIT_IN_DEPOT).height, min_height);
resize->height = std::max<uint>(this->cell_size.height, min_height + padding.height);
if (this->type == VEH_TRAIN) {
resize->width = 1;
size->width = base_width + 2 * ScaleGUITrad(29); // about 2 parts
size->width = base_width + 2 * ScaleSpriteTrad(29); // about 2 parts
size->height = resize->height * 6;
} else {
resize->width = base_width + GetVehicleImageCellSize(this->type, EIT_IN_DEPOT).extend_left + GetVehicleImageCellSize(this->type, EIT_IN_DEPOT).extend_right;
resize->width = base_width + this->cell_size.extend_left + this->cell_size.extend_right;
size->width = resize->width * (this->type == VEH_ROAD ? 5 : 3);
size->height = resize->height * (this->type == VEH_ROAD ? 5 : 3);
}
@ -724,7 +726,7 @@ struct DepotWindow : Window {
/* determine amount of items for scroller */
if (this->type == VEH_TRAIN) {
uint max_width = ScaleGUITrad(VEHICLEINFO_FULL_VEHICLE_WIDTH);
uint max_width = ScaleSpriteTrad(VEHICLEINFO_FULL_VEHICLE_WIDTH);
for (uint num = 0; num < this->vehicle_list.size(); num++) {
uint width = 0;
for (const Train *v = Train::From(this->vehicle_list[num]); v != nullptr; v = v->Next()) {
@ -735,7 +737,7 @@ struct DepotWindow : Window {
/* Always have 1 empty row, so people can change the setting of the train */
this->vscroll->SetCount((uint)this->vehicle_list.size() + (uint)this->wagon_list.size() + 1);
/* Always make it longer than the longest train, so you can attach vehicles at the end, and also see the next vertical tile separator line */
this->hscroll->SetCount(max_width + ScaleGUITrad(2 * VEHICLEINFO_FULL_VEHICLE_WIDTH + 1));
this->hscroll->SetCount(max_width + ScaleSpriteTrad(2 * VEHICLEINFO_FULL_VEHICLE_WIDTH + 1));
} else {
this->vscroll->SetCount(CeilDiv((uint)this->vehicle_list.size(), this->num_columns));
}
@ -925,7 +927,7 @@ struct DepotWindow : Window {
*/
bool OnTemplateVehicleSelect(const TemplateVehicle *v) override
{
/* Copy-clone, open viewport for new vehicle, and deselect the tool (assume player wants to changs things on new vehicle) */
/* Copy-clone, open viewport for new vehicle, and deselect the tool (assume player wants to change things on new vehicle) */
if (DoCommandP(this->window_number, v->index, 0, CMD_CLONE_VEHICLE_FROM_TEMPLATE | CMD_MSG(STR_ERROR_CAN_T_BUY_TRAIN), CcCloneVehicle)) {
ResetObjectToPlace();
}
@ -933,6 +935,49 @@ struct DepotWindow : Window {
return true;
}
/**
* Clones a vehicle from a vehicle list. If this doesn't make sense (because not all vehicles in the list have the same orders), then it displays an error.
* @return This always returns true, which indicates that the contextual action handled the mouse click.
* Note that it's correct behaviour to always handle the click even though an error is displayed,
* because users aren't going to expect the default action to be performed just because they overlooked that cloning doesn't make sense.
*/
bool OnVehicleSelect(VehicleList::const_iterator begin, VehicleList::const_iterator end) override
{
if (!_ctrl_pressed) {
/* If CTRL is not pressed: If all the vehicles in this list have the same orders, then copy orders */
if (AllEqual(begin, end, [](const Vehicle *v1, const Vehicle *v2) {
return VehiclesHaveSameEngineList(v1, v2);
})) {
if (AllEqual(begin, end, [](const Vehicle *v1, const Vehicle *v2) {
return VehiclesHaveSameOrderList(v1, v2);
})) {
OnVehicleSelect(*begin);
} else {
ShowErrorMessage(STR_ERROR_CAN_T_BUY_TRAIN + (*begin)->type, STR_ERROR_CAN_T_COPY_ORDER_VEHICLE_LIST, WL_INFO);
}
} else {
ShowErrorMessage(STR_ERROR_CAN_T_BUY_TRAIN + (*begin)->type, STR_ERROR_CAN_T_CLONE_VEHICLE_LIST, WL_INFO);
}
} else {
/* If CTRL is pressed: If all the vehicles in this list share orders, then copy orders */
if (AllEqual(begin, end, [](const Vehicle *v1, const Vehicle *v2) {
return VehiclesHaveSameEngineList(v1, v2);
})) {
if (AllEqual(begin, end, [](const Vehicle *v1, const Vehicle *v2) {
return v1->FirstShared() == v2->FirstShared();
})) {
OnVehicleSelect(*begin);
} else {
ShowErrorMessage(STR_ERROR_CAN_T_BUY_TRAIN + (*begin)->type, STR_ERROR_CAN_T_SHARE_ORDER_VEHICLE_LIST, WL_INFO);
}
} else {
ShowErrorMessage(STR_ERROR_CAN_T_BUY_TRAIN + (*begin)->type, STR_ERROR_CAN_T_CLONE_VEHICLE_LIST, WL_INFO);
}
}
return true;
}
void OnPlaceObjectAbort() override
{
/* abort clone */

@ -190,7 +190,7 @@ struct BuildDocksToolbarWindow : Window {
{
switch (this->last_clicked_widget) {
case WID_DT_CANAL: // Build canal button
VpStartPlaceSizing(tile, (_game_mode == GM_EDITOR) ? VPM_X_AND_Y : VPM_X_OR_Y, DDSP_CREATE_WATER);
VpStartPlaceSizing(tile, VPM_X_AND_Y, DDSP_CREATE_WATER);
break;
case WID_DT_LOCK: // Build lock button
@ -444,9 +444,9 @@ public:
/* strings such as 'Size' and 'Coverage Area' */
Rect r = this->GetWidget<NWidgetBase>(BDSW_ACCEPTANCE)->GetCurrentRect();
int top = r.top + ScaleGUITrad(WD_PAR_VSEP_NORMAL);
top = DrawStationCoverageAreaText(r.left, r.right, top, SCT_ALL, rad, false) + ScaleGUITrad(WD_PAR_VSEP_NORMAL);
top = DrawStationCoverageAreaText(r.left, r.right, top, SCT_ALL, rad, true) + ScaleGUITrad(WD_PAR_VSEP_NORMAL);
int top = r.top + WidgetDimensions::scaled.vsep_normal;
top = DrawStationCoverageAreaText(r.left, r.right, top, SCT_ALL, rad, false) + WidgetDimensions::scaled.vsep_normal;
top = DrawStationCoverageAreaText(r.left, r.right, top, SCT_ALL, rad, true) + WidgetDimensions::scaled.vsep_normal;
/* Resize background if the window is too small.
* Never make the window smaller to avoid oscillating if the size change affects the acceptance.
* (This is the case, if making the window bigger moves the mouse into the window.) */
@ -483,12 +483,12 @@ static const NWidgetPart _nested_build_dock_station_widgets[] = {
NWidget(WWT_CAPTION, COLOUR_DARK_GREEN), SetDataTip(STR_STATION_BUILD_DOCK_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_DARK_GREEN, BDSW_BACKGROUND),
NWidget(WWT_LABEL, COLOUR_DARK_GREEN, BDSW_INFO), SetPadding(WD_FRAMERECT_TOP, WD_FRAMERECT_RIGHT, WD_FRAMERECT_BOTTOM, WD_FRAMERECT_LEFT), SetDataTip(STR_STATION_BUILD_COVERAGE_AREA_TITLE, STR_NULL), SetFill(1, 0),
NWidget(WWT_LABEL, COLOUR_DARK_GREEN, BDSW_INFO), SetPadding(WidgetDimensions::unscaled.framerect), SetDataTip(STR_STATION_BUILD_COVERAGE_AREA_TITLE, STR_NULL), SetFill(1, 0),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPIP(14, 0, 14),
NWidget(WWT_TEXTBTN, COLOUR_GREY, BDSW_LT_OFF), SetMinimalSize(60, 12), SetFill(1, 0), SetDataTip(STR_STATION_BUILD_COVERAGE_OFF, STR_STATION_BUILD_COVERAGE_AREA_OFF_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, BDSW_LT_ON), SetMinimalSize(60, 12), SetFill(1, 0), SetDataTip(STR_STATION_BUILD_COVERAGE_ON, STR_STATION_BUILD_COVERAGE_AREA_ON_TOOLTIP),
EndContainer(),
NWidget(WWT_EMPTY, COLOUR_GREY, BDSW_ACCEPTANCE), SetPadding(0, WD_FRAMERECT_RIGHT, 0, WD_FRAMERECT_LEFT), SetResize(0, 1),
NWidget(WWT_EMPTY, COLOUR_GREY, BDSW_ACCEPTANCE), SetPadding(WidgetDimensions::unscaled.framerect), SetResize(0, 1),
EndContainer(),
};
@ -528,8 +528,8 @@ public:
switch (widget) {
case WID_BDD_X:
case WID_BDD_Y:
size->width = ScaleGUITrad(96) + WD_BEVEL_LEFT + WD_BEVEL_RIGHT;
size->height = ScaleGUITrad(64) + WD_BEVEL_TOP + WD_BEVEL_BOTTOM;
size->width = ScaleGUITrad(96) + WidgetDimensions::scaled.fullbevel.Horizontal();
size->height = ScaleGUITrad(64) + WidgetDimensions::scaled.fullbevel.Vertical();
break;
}
}
@ -546,12 +546,12 @@ public:
if (FillDrawPixelInfo(&tmp_dpi, r.left, r.top, r.Width(), r.Height())) {
DrawPixelInfo *old_dpi = _cur_dpi;
_cur_dpi = &tmp_dpi;
int x = (r.Width() - ScaleGUITrad(96)) / 2;
int y = (r.Height() - ScaleGUITrad(64)) / 2;
int x1 = ScaleGUITrad(63);
int x2 = ScaleGUITrad(31);
DrawShipDepotSprite(x + (axis == AXIS_X ? x1 : x2), y + ScaleGUITrad(17), axis, DEPOT_PART_NORTH);
DrawShipDepotSprite(x + (axis == AXIS_X ? x2 : x1), y + ScaleGUITrad(33), axis, DEPOT_PART_SOUTH);
int x = (r.Width() - ScaleSpriteTrad(96)) / 2;
int y = (r.Height() - ScaleSpriteTrad(64)) / 2;
int x1 = ScaleSpriteTrad(63);
int x2 = ScaleSpriteTrad(31);
DrawShipDepotSprite(x + (axis == AXIS_X ? x1 : x2), y + ScaleSpriteTrad(17), axis, DEPOT_PART_NORTH);
DrawShipDepotSprite(x + (axis == AXIS_X ? x2 : x1), y + ScaleSpriteTrad(33), axis, DEPOT_PART_SOUTH);
_cur_dpi = old_dpi;
}
break;

@ -97,7 +97,7 @@ struct EnginePreviewWindow : Window {
size->width = std::max(size->width, x - x_offs);
SetDParam(0, GetEngineCategoryName(engine));
size->height = GetStringHeight(STR_ENGINE_PREVIEW_MESSAGE, size->width) + WD_PAR_VSEP_WIDE + FONT_HEIGHT_NORMAL + this->vehicle_space;
size->height = GetStringHeight(STR_ENGINE_PREVIEW_MESSAGE, size->width) + WidgetDimensions::scaled.vsep_wide + FONT_HEIGHT_NORMAL + this->vehicle_space;
SetDParam(0, engine);
size->height += GetStringHeight(GetEngineInfoString(engine), size->width);
}
@ -108,7 +108,7 @@ struct EnginePreviewWindow : Window {
EngineID engine = this->window_number;
SetDParam(0, GetEngineCategoryName(engine));
int y = DrawStringMultiLine(r, STR_ENGINE_PREVIEW_MESSAGE, TC_FROMSTRING, SA_HOR_CENTER | SA_TOP) + WD_PAR_VSEP_WIDE;
int y = DrawStringMultiLine(r, STR_ENGINE_PREVIEW_MESSAGE, TC_FROMSTRING, SA_HOR_CENTER | SA_TOP) + WidgetDimensions::scaled.vsep_wide;
SetDParam(0, engine);
DrawString(r.left, r.right, y, STR_ENGINE_NAME, TC_BLACK, SA_HOR_CENTER);

@ -35,7 +35,7 @@ static const NWidgetPart _nested_errmsg_widgets[] = {
NWidget(WWT_CAPTION, COLOUR_RED, WID_EM_CAPTION), SetDataTip(STR_ERROR_MESSAGE_CAPTION, STR_NULL),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_RED),
NWidget(WWT_EMPTY, COLOUR_RED, WID_EM_MESSAGE), SetPadding(WD_FRAMETEXT_TOP, WD_FRAMETEXT_RIGHT, WD_FRAMETEXT_BOTTOM, WD_FRAMETEXT_LEFT), SetFill(1, 0), SetMinimalSize(236, 0),
NWidget(WWT_EMPTY, COLOUR_RED, WID_EM_MESSAGE), SetPadding(WidgetDimensions::unscaled.modalpopup), SetFill(1, 0), SetMinimalSize(236, 0),
EndContainer(),
};
@ -54,7 +54,7 @@ static const NWidgetPart _nested_errmsg_face_widgets[] = {
NWidget(WWT_PANEL, COLOUR_RED),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_EMPTY, COLOUR_RED, WID_EM_FACE), SetPadding(2, 0, 2, 2), SetFill(0, 1), SetMinimalSize(92, 119),
NWidget(WWT_EMPTY, COLOUR_RED, WID_EM_MESSAGE), SetPadding(WD_FRAMETEXT_TOP, WD_FRAMETEXT_RIGHT, WD_FRAMETEXT_BOTTOM, WD_FRAMETEXT_LEFT), SetFill(1, 1), SetMinimalSize(236, 0),
NWidget(WWT_EMPTY, COLOUR_RED, WID_EM_MESSAGE), SetPadding(WidgetDimensions::unscaled.modalpopup), SetFill(1, 1), SetMinimalSize(236, 0),
EndContainer(),
EndContainer(),
};
@ -210,9 +210,8 @@ public:
if (this->textref_stack_size > 0) StopTextRefStackUsage();
uint panel_height = this->height_summary;
if (this->detailed_msg != INVALID_STRING_ID) panel_height += this->height_detailed + WD_PAR_VSEP_WIDE;
if (this->extra_msg != INVALID_STRING_ID) panel_height += this->height_extra + WD_PAR_VSEP_WIDE;
if (this->detailed_msg != INVALID_STRING_ID) panel_height += this->height_detailed + WidgetDimensions::scaled.vsep_wide;
if (this->extra_msg != INVALID_STRING_ID) panel_height += this->height_extra + WidgetDimensions::scaled.vsep_wide;
size->height = std::max(size->height, panel_height);
break;
}
@ -250,8 +249,8 @@ public:
pt.y = UnScaleByZoom(pt.y - vp->virtual_top, vp->zoom) + vp->top;
pt.y = (pt.y < (_screen.height >> 1)) ? scr_bot - sm_height : scr_top;
} else {
pt.x = Clamp(UnScaleByZoom(pt.x - vp->virtual_left, vp->zoom) + vp->left - (sm_width / 2), 0, _screen.width - sm_width);
pt.y = Clamp(UnScaleByZoom(pt.y - vp->virtual_top, vp->zoom) + vp->top - (sm_height / 2), scr_top, scr_bot - sm_height);
pt.x = std::min(std::max(UnScaleByZoom(pt.x - vp->virtual_left, vp->zoom) + vp->left - (sm_width / 2), 0), _screen.width - sm_width);
pt.y = std::min(std::max(UnScaleByZoom(pt.y - vp->virtual_top, vp->zoom) + vp->top - (sm_height / 2), scr_top), scr_bot - sm_height);
}
return pt;
}
@ -289,14 +288,14 @@ public:
DrawStringMultiLine(r, this->summary_msg, TC_FROMSTRING, SA_CENTER);
} else if (this->extra_msg == INVALID_STRING_ID) {
/* Extra space when message is shorter than company face window */
int extra = (r.Height() - this->height_summary - this->height_detailed - WD_PAR_VSEP_WIDE) / 2;
int extra = (r.Height() - this->height_summary - this->height_detailed - WidgetDimensions::scaled.vsep_wide) / 2;
/* Note: NewGRF supplied error message often do not start with a colour code, so default to white. */
DrawStringMultiLine(r.WithHeight(this->height_summary + extra, false), this->summary_msg, TC_WHITE, SA_CENTER);
DrawStringMultiLine(r.WithHeight(this->height_detailed + extra, true), this->detailed_msg, TC_WHITE, SA_CENTER);
} else {
/* Extra space when message is shorter than company face window */
int extra = (r.Height() - this->height_summary - this->height_detailed - this->height_extra - (WD_PAR_VSEP_WIDE * 2)) / 3;
int extra = (r.Height() - this->height_summary - this->height_detailed - this->height_extra - (WidgetDimensions::scaled.vsep_wide * 2)) / 3;
/* Note: NewGRF supplied error message often do not start with a colour code, so default to white. */
Rect top_section = r.WithHeight(this->height_summary + extra, false);

@ -85,8 +85,8 @@ static const NWidgetPart _nested_load_dialog_widgets[] = {
NWidget(NWID_VERTICAL),
/* Filter box with label */
NWidget(WWT_PANEL, COLOUR_GREY), SetFill(1, 1), SetResize(1, 1),
NWidget(NWID_HORIZONTAL), SetPadding(WD_FRAMERECT_TOP, 0, WD_FRAMERECT_BOTTOM, 0),
SetPIP(WD_FRAMETEXT_LEFT, WD_FRAMETEXT_RIGHT, 0),
NWidget(NWID_HORIZONTAL), SetPadding(WidgetDimensions::unscaled.framerect.top, 0, WidgetDimensions::unscaled.framerect.bottom, 0),
SetPIP(WidgetDimensions::unscaled.frametext.left, WidgetDimensions::unscaled.frametext.right, 0),
NWidget(WWT_TEXT, COLOUR_GREY), SetFill(0, 1), SetDataTip(STR_SAVELOAD_FILTER_TITLE , STR_NULL),
NWidget(WWT_EDITBOX, COLOUR_GREY, WID_SL_FILTER), SetFill(1, 0), SetMinimalSize(50, 12), SetResize(1, 0),
SetDataTip(STR_LIST_FILTER_OSKTITLE, STR_LIST_FILTER_TOOLTIP),
@ -143,8 +143,8 @@ static const NWidgetPart _nested_load_heightmap_dialog_widgets[] = {
/* Filter box with label */
NWidget(WWT_PANEL, COLOUR_GREY), SetFill(1, 1), SetResize(1, 1),
NWidget(NWID_HORIZONTAL), SetPadding(WD_FRAMERECT_TOP, 0, WD_FRAMERECT_BOTTOM, 0),
SetPIP(WD_FRAMETEXT_LEFT, WD_FRAMETEXT_RIGHT, 0),
NWidget(NWID_HORIZONTAL), SetPadding(WidgetDimensions::unscaled.framerect.top, 0, WidgetDimensions::unscaled.framerect.bottom, 0),
SetPIP(WidgetDimensions::unscaled.frametext.left, WidgetDimensions::unscaled.frametext.right, 0),
NWidget(WWT_TEXT, COLOUR_GREY), SetFill(0, 1), SetDataTip(STR_SAVELOAD_FILTER_TITLE , STR_NULL),
NWidget(WWT_EDITBOX, COLOUR_GREY, WID_SL_FILTER), SetFill(1, 0), SetMinimalSize(50, 12), SetResize(1, 0),
SetDataTip(STR_LIST_FILTER_OSKTITLE, STR_LIST_FILTER_TOOLTIP),
@ -190,8 +190,8 @@ static const NWidgetPart _nested_save_dialog_widgets[] = {
NWidget(NWID_VERTICAL),
/* Filter box with label */
NWidget(WWT_PANEL, COLOUR_GREY), SetFill(1, 1), SetResize(1, 1),
NWidget(NWID_HORIZONTAL), SetPadding(WD_FRAMERECT_TOP, 0, WD_FRAMERECT_BOTTOM, 0),
SetPIP(WD_FRAMETEXT_LEFT, WD_FRAMETEXT_RIGHT, 0),
NWidget(NWID_HORIZONTAL), SetPadding(WidgetDimensions::unscaled.framerect.top, 0, WidgetDimensions::unscaled.framerect.bottom, 0),
SetPIP(WidgetDimensions::unscaled.frametext.left, WidgetDimensions::unscaled.frametext.right, 0),
NWidget(WWT_TEXT, COLOUR_GREY), SetFill(0, 1), SetDataTip(STR_SAVELOAD_FILTER_TITLE , STR_NULL),
NWidget(WWT_EDITBOX, COLOUR_GREY, WID_SL_FILTER), SetFill(1, 0), SetMinimalSize(50, 12), SetResize(1, 0),
SetDataTip(STR_LIST_FILTER_OSKTITLE, STR_LIST_FILTER_TOOLTIP),
@ -225,10 +225,10 @@ static const NWidgetPart _nested_save_dialog_widgets[] = {
EndContainer(),
/* Right side : game details */
NWidget(WWT_PANEL, COLOUR_GREY),
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_SL_DETAILS), SetResize(1, 1), SetFill(1, 1),
NWidget(NWID_VERTICAL),
NWidget(WWT_PANEL, COLOUR_GREY, WID_SL_DETAILS), SetResize(1, 1), SetFill(1, 1), EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(NWID_SPACER), SetResize(1, 0), SetFill(1, 1),
NWidget(WWT_PANEL, COLOUR_GREY), SetResize(1, 0), SetFill(1, 1), EndContainer(),
NWidget(WWT_RESIZEBOX, COLOUR_GREY),
EndContainer(),
EndContainer(),
@ -440,7 +440,7 @@ public:
_fios_path_changed = false;
}
Rect ir = r.Shrink(WD_FRAMETEXT_LEFT, WD_FRAMETEXT_TOP, WD_FRAMETEXT_RIGHT, WD_FRAMETEXT_BOTTOM);
Rect ir = r.Shrink(WidgetDimensions::scaled.framerect);
if (str != STR_ERROR_UNABLE_TO_READ_DRIVE) SetDParam(0, tot);
DrawString(ir.left, ir.right, ir.top + FONT_HEIGHT_NORMAL, str);
@ -449,10 +449,10 @@ public:
}
case WID_SL_DRIVES_DIRECTORIES_LIST: {
const Rect br = r.Shrink(WD_BEVEL_LEFT, WD_BEVEL_TOP, WD_BEVEL_RIGHT, WD_BEVEL_BOTTOM);
const Rect br = r.Shrink(WidgetDimensions::scaled.bevel);
GfxFillRect(br, PC_BLACK);
Rect tr = r.Shrink(WD_INSET_LEFT, WD_INSET_TOP, WD_INSET_RIGHT, 0).WithHeight(this->resize.step_height);
Rect tr = r.Shrink(WidgetDimensions::scaled.inset).WithHeight(this->resize.step_height);
uint scroll_pos = this->vscroll->GetPosition();
for (uint row = 0; row < this->fios_items.size() && tr.top < br.bottom; row++) {
if (!this->fios_items_shown[row]) {
@ -483,14 +483,14 @@ public:
void DrawDetails(const Rect &r) const
{
/* Header panel */
int HEADER_HEIGHT = FONT_HEIGHT_NORMAL + WD_FRAMETEXT_TOP + WD_FRAMETEXT_BOTTOM;
int HEADER_HEIGHT = FONT_HEIGHT_NORMAL + WidgetDimensions::scaled.frametext.Vertical();
Rect hr = r.WithHeight(HEADER_HEIGHT).Shrink(WD_FRAMETEXT_LEFT, WD_FRAMETEXT_TOP, WD_FRAMETEXT_RIGHT, WD_FRAMETEXT_BOTTOM);
Rect tr = r.Shrink(WD_FRAMETEXT_LEFT, WD_FRAMETEXT_TOP, WD_FRAMETEXT_RIGHT, WD_FRAMETEXT_BOTTOM);
Rect hr = r.WithHeight(HEADER_HEIGHT).Shrink(WidgetDimensions::scaled.frametext);
Rect tr = r.Shrink(WidgetDimensions::scaled.frametext);
tr.top += HEADER_HEIGHT;
/* Create the nice grayish rectangle at the details top */
GfxFillRect(r.WithHeight(HEADER_HEIGHT).Shrink(WD_BEVEL_LEFT, WD_BEVEL_TOP, WD_BEVEL_RIGHT, 0), PC_GREY);
GfxFillRect(r.WithHeight(HEADER_HEIGHT).Shrink(WidgetDimensions::scaled.bevel.left, WidgetDimensions::scaled.bevel.top, WidgetDimensions::scaled.bevel.right, 0), PC_GREY);
DrawString(hr.left, hr.right, hr.top, STR_SAVELOAD_DETAIL_CAPTION, TC_FROMSTRING, SA_HOR_CENTER);
if (this->selected == nullptr) return;
@ -511,10 +511,10 @@ public:
/* Warning if save unique id differ when saving */
if (this->fop == SLO_SAVE) {
if (_load_check_data.settings.game_creation.generation_unique_id == 0) {
DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, tr.bottom - FONT_HEIGHT_NORMAL - WD_FRAMERECT_BOTTOM, STR_SAVELOAD_UNKNOWN_ID);
DrawString(tr.left, tr.right, tr.bottom - FONT_HEIGHT_NORMAL, STR_SAVELOAD_UNKNOWN_ID);
tr.bottom -= FONT_HEIGHT_NORMAL;
} else if (_load_check_data.settings.game_creation.generation_unique_id != _settings_game.game_creation.generation_unique_id) {
DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, tr.bottom - FONT_HEIGHT_NORMAL - WD_FRAMERECT_BOTTOM, STR_SAVELOAD_DIFFERENT_ID);
DrawString(tr.left, tr.right, tr.bottom - FONT_HEIGHT_NORMAL, STR_SAVELOAD_DIFFERENT_ID);
tr.bottom -= FONT_HEIGHT_NORMAL;
}
}
@ -534,7 +534,7 @@ public:
tr.top += FONT_HEIGHT_NORMAL;
}
tr.top += WD_PAR_VSEP_WIDE;
tr.top += WidgetDimensions::scaled.vsep_normal;
if (tr.top > tr.bottom) return;
/* Start date (if available) */
@ -555,7 +555,7 @@ public:
/* Hide the NewGRF stuff when saving. We also hide the button. */
if (this->fop == SLO_LOAD && (this->abstract_filetype == FT_SAVEGAME || this->abstract_filetype == FT_SCENARIO)) {
tr.top += WD_PAR_VSEP_NORMAL;
tr.top += WidgetDimensions::scaled.vsep_normal;
if (tr.top > tr.bottom) return;
/* NewGrf compatibility */
@ -568,7 +568,7 @@ public:
/* Hide the company stuff for scenarios */
if (this->abstract_filetype != FT_SCENARIO) {
tr.top += WD_PAR_VSEP_WIDE;
tr.top += WidgetDimensions::scaled.vsep_wide;
if (tr.top > tr.bottom) return;
/* Companies / AIs */
@ -594,12 +594,12 @@ public:
{
switch (widget) {
case WID_SL_BACKGROUND:
size->height = 2 * FONT_HEIGHT_NORMAL + WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM;
size->height = 2 * FONT_HEIGHT_NORMAL + padding.height;
break;
case WID_SL_DRIVES_DIRECTORIES_LIST:
resize->height = FONT_HEIGHT_NORMAL;
size->height = resize->height * 10 + WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM;
size->height = resize->height * 10 + padding.height;
break;
case WID_SL_SORT_BYNAME:
case WID_SL_SORT_BYDATE: {
@ -679,7 +679,7 @@ public:
break;
case WID_SL_DRIVES_DIRECTORIES_LIST: { // Click the listbox
int y = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_SL_DRIVES_DIRECTORIES_LIST, WD_FRAMERECT_TOP);
int y = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_SL_DRIVES_DIRECTORIES_LIST, WidgetDimensions::scaled.inset.top);
if (y == INT_MAX) return;
/* Get the corresponding non-filtered out item from the list */
@ -759,7 +759,7 @@ public:
void OnMouseOver(Point pt, int widget) override
{
if (widget == WID_SL_DRIVES_DIRECTORIES_LIST) {
int y = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_SL_DRIVES_DIRECTORIES_LIST, WD_FRAMERECT_TOP);
int y = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_SL_DRIVES_DIRECTORIES_LIST, WidgetDimensions::scaled.inset.top);
if (y == INT_MAX) return;
/* Get the corresponding non-filtered out item from the list */

@ -65,18 +65,19 @@ void FreeTypeFontCache::SetFontSize(FontSize fs, FT_Face face, int pixels)
{
if (pixels == 0) {
/* Try to determine a good height based on the minimal height recommended by the font. */
int scaled_height = ScaleFontTrad(this->GetDefaultFontHeight(this->fs));
int scaled_height = ScaleGUITrad(this->GetDefaultFontHeight(this->fs));
pixels = scaled_height;
TT_Header *head = (TT_Header *)FT_Get_Sfnt_Table(this->face, ft_sfnt_head);
if (head != nullptr) {
/* Font height is minimum height plus the difference between the default
* height for this font size and the small size. */
int diff = scaled_height - ScaleFontTrad(this->GetDefaultFontHeight(FS_SMALL));
pixels = Clamp(std::min<uint>(head->Lowest_Rec_PPEM, MAX_FONT_MIN_REC_SIZE) + diff, scaled_height, MAX_FONT_SIZE);
int diff = scaled_height - ScaleGUITrad(this->GetDefaultFontHeight(FS_SMALL));
/* Clamp() is not used as scaled_height could be greater than MAX_FONT_SIZE, which is not permitted in Clamp(). */
pixels = std::min(std::max(std::min<int>(head->Lowest_Rec_PPEM, MAX_FONT_MIN_REC_SIZE) + diff, scaled_height), MAX_FONT_SIZE);
}
} else {
pixels = ScaleFontTrad(pixels);
pixels = ScaleGUITrad(pixels);
}
this->used_size = pixels;
@ -239,9 +240,10 @@ const Sprite *FreeTypeFontCache::InternalGetGlyph(GlyphID key, bool aa)
/* Despite requesting a normal glyph, FreeType may have returned a bitmap */
aa = (slot->bitmap.pixel_mode == FT_PIXEL_MODE_GRAY);
/* Add 1 pixel for the shadow on the medium font. Our sprite must be at least 1x1 pixel */
uint width = std::max(1U, (uint)slot->bitmap.width + (this->fs == FS_NORMAL));
uint height = std::max(1U, (uint)slot->bitmap.rows + (this->fs == FS_NORMAL));
/* Add 1 scaled pixel for the shadow on the medium font. Our sprite must be at least 1x1 pixel */
uint shadow = (this->fs == FS_NORMAL) ? ScaleGUITrad(1) : 0;
uint width = std::max(1U, (uint)slot->bitmap.width + shadow);
uint height = std::max(1U, (uint)slot->bitmap.rows + shadow);
/* Limit glyph size to prevent overflows later on. */
if (width > MAX_GLYPH_DIM || height > MAX_GLYPH_DIM) usererror("Font glyph is too large");
@ -261,8 +263,8 @@ const Sprite *FreeTypeFontCache::InternalGetGlyph(GlyphID key, bool aa)
for (uint y = 0; y < (uint)slot->bitmap.rows; y++) {
for (uint x = 0; x < (uint)slot->bitmap.width; x++) {
if (HasBit(slot->bitmap.buffer[(x / 8) + y * slot->bitmap.pitch], 7 - (x % 8))) {
sprite.data[1 + x + (1 + y) * sprite.width].m = SHADOW_COLOUR;
sprite.data[1 + x + (1 + y) * sprite.width].a = 0xFF;
sprite.data[shadow + x + (shadow + y) * sprite.width].m = SHADOW_COLOUR;
sprite.data[shadow + x + (shadow + y) * sprite.width].a = 0xFF;
}
}
}

@ -28,7 +28,8 @@ static const int ASCII_LETTERSTART = 32; ///< First printable ASCII letter.
SpriteFontCache::SpriteFontCache(FontSize fs) : FontCache(fs), glyph_to_spriteid_map(nullptr)
{
this->InitializeUnicodeGlyphMap();
this->height = ScaleFontTrad(this->GetDefaultFontHeight(this->fs));
this->height = ScaleGUITrad(this->GetDefaultFontHeight(this->fs));
this->ascender = (this->height - ScaleSpriteTrad(this->GetDefaultFontHeight(this->fs))) / 2;
}
/**
@ -105,7 +106,8 @@ void SpriteFontCache::ClearGlyphToSpriteMap()
void SpriteFontCache::ClearFontCache()
{
Layouter::ResetFontCache(this->fs);
this->height = ScaleFontTrad(this->GetDefaultFontHeight(this->fs));
this->height = ScaleGUITrad(this->GetDefaultFontHeight(this->fs));
this->ascender = (this->height - ScaleSpriteTrad(this->GetDefaultFontHeight(this->fs))) / 2;
}
const Sprite *SpriteFontCache::GetGlyph(GlyphID key)
@ -119,7 +121,7 @@ uint SpriteFontCache::GetGlyphWidth(GlyphID key)
{
SpriteID sprite = this->GetUnicodeGlyph(key);
if (sprite == 0) sprite = this->GetUnicodeGlyph('?');
return SpriteExists(sprite) ? GetSprite(sprite, ST_FONT)->width + ScaleFontTrad(this->fs != FS_NORMAL ? 1 : 0) : 0;
return SpriteExists(sprite) ? GetSprite(sprite, ST_FONT)->width + ScaleSpriteTrad(this->fs != FS_NORMAL ? 1 : 0) : 0;
}
bool SpriteFontCache::GetDrawGlyphShadow()

@ -377,7 +377,7 @@ static const NWidgetPart _framerate_window_widgets[] = {
NWidget(WWT_STICKYBOX, COLOUR_GREY),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_GREY),
NWidget(NWID_VERTICAL), SetPadding(6), SetPIP(0, 3, 0),
NWidget(NWID_VERTICAL), SetPadding(WidgetDimensions::unscaled.frametext), SetPIP(0, WidgetDimensions::unscaled.vsep_normal, 0),
NWidget(WWT_TEXT, COLOUR_GREY, WID_FRW_RATE_GAMELOOP), SetDataTip(STR_FRAMERATE_RATE_GAMELOOP, STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP), SetFill(1, 0), SetResize(1, 0),
NWidget(WWT_TEXT, COLOUR_GREY, WID_FRW_RATE_DRAWING), SetDataTip(STR_FRAMERATE_RATE_BLITTER, STR_FRAMERATE_RATE_BLITTER_TOOLTIP), SetFill(1, 0), SetResize(1, 0),
NWidget(WWT_TEXT, COLOUR_GREY, WID_FRW_RATE_FACTOR), SetDataTip(STR_FRAMERATE_SPEED_FACTOR, STR_FRAMERATE_SPEED_FACTOR_TOOLTIP), SetFill(1, 0), SetResize(1, 0),
@ -385,8 +385,8 @@ static const NWidgetPart _framerate_window_widgets[] = {
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_PANEL, COLOUR_GREY),
NWidget(NWID_VERTICAL), SetPadding(6), SetPIP(0, 3, 0),
NWidget(NWID_HORIZONTAL), SetPIP(0, 8, 0),
NWidget(NWID_VERTICAL), SetPadding(WidgetDimensions::unscaled.frametext), SetPIP(0, WidgetDimensions::unscaled.vsep_wide, 0),
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_wide, 0),
NWidget(WWT_EMPTY, COLOUR_GREY, WID_FRW_TIMES_NAMES), SetScrollbar(WID_FRW_SCROLLBAR),
NWidget(WWT_EMPTY, COLOUR_GREY, WID_FRW_TIMES_CURRENT), SetScrollbar(WID_FRW_SCROLLBAR),
NWidget(WWT_EMPTY, COLOUR_GREY, WID_FRW_TIMES_AVERAGE), SetScrollbar(WID_FRW_SCROLLBAR),
@ -444,7 +444,6 @@ struct FramerateWindow : Window {
CachedDecimal times_shortterm[PFE_MAX]; ///< cached short term average times
CachedDecimal times_longterm[PFE_MAX]; ///< cached long term average times
static constexpr int VSPACING = 3; ///< space between column heading and values
static constexpr int MIN_ELEMENTS = 5; ///< smallest number of elements to display
FramerateWindow(WindowDesc *desc, WindowNumber number) : Window(desc)
@ -564,7 +563,7 @@ struct FramerateWindow : Window {
case WID_FRW_TIMES_NAMES: {
size->width = 0;
size->height = FONT_HEIGHT_NORMAL + VSPACING + MIN_ELEMENTS * FONT_HEIGHT_NORMAL;
size->height = FONT_HEIGHT_NORMAL + WidgetDimensions::scaled.vsep_normal + MIN_ELEMENTS * FONT_HEIGHT_NORMAL;
resize->width = 0;
resize->height = FONT_HEIGHT_NORMAL;
for (PerformanceElement e : DISPLAY_ORDER_PFE) {
@ -590,7 +589,7 @@ struct FramerateWindow : Window {
SetDParam(1, 2);
Dimension item_size = GetStringBoundingBox(STR_FRAMERATE_MS_GOOD);
size->width = std::max(size->width, item_size.width);
size->height += FONT_HEIGHT_NORMAL * MIN_ELEMENTS + VSPACING;
size->height += FONT_HEIGHT_NORMAL * MIN_ELEMENTS + WidgetDimensions::scaled.vsep_normal;
resize->width = 0;
resize->height = FONT_HEIGHT_NORMAL;
break;
@ -606,7 +605,7 @@ struct FramerateWindow : Window {
int drawable = this->num_displayed;
int y = r.top;
DrawString(r.left, r.right, y, heading_str, TC_FROMSTRING, SA_CENTER, true);
y += FONT_HEIGHT_NORMAL + VSPACING;
y += FONT_HEIGHT_NORMAL + WidgetDimensions::scaled.vsep_normal;
for (PerformanceElement e : DISPLAY_ORDER_PFE) {
if (_pf_data[e].num_valid == 0) continue;
if (skip > 0) {
@ -628,7 +627,7 @@ struct FramerateWindow : Window {
int drawable = this->num_displayed;
int y = r.top;
DrawString(r.left, r.right, y, STR_FRAMERATE_MEMORYUSE, TC_FROMSTRING, SA_CENTER, true);
y += FONT_HEIGHT_NORMAL + VSPACING;
y += FONT_HEIGHT_NORMAL + WidgetDimensions::scaled.vsep_normal;
for (PerformanceElement e : DISPLAY_ORDER_PFE) {
if (_pf_data[e].num_valid == 0) continue;
if (skip > 0) {
@ -660,7 +659,7 @@ struct FramerateWindow : Window {
const Scrollbar *sb = this->GetScrollbar(WID_FRW_SCROLLBAR);
uint16 skip = sb->GetPosition();
int drawable = this->num_displayed;
int y = r.top + FONT_HEIGHT_NORMAL + VSPACING; // first line contains headings in the value columns
int y = r.top + FONT_HEIGHT_NORMAL + WidgetDimensions::scaled.vsep_normal; // first line contains headings in the value columns
for (PerformanceElement e : DISPLAY_ORDER_PFE) {
if (_pf_data[e].num_valid == 0) continue;
if (skip > 0) {
@ -702,7 +701,7 @@ struct FramerateWindow : Window {
case WID_FRW_TIMES_AVERAGE: {
/* Open time graph windows when clicking detail measurement lines */
const Scrollbar *sb = this->GetScrollbar(WID_FRW_SCROLLBAR);
int line = sb->GetScrolledRowFromWidget(pt.y, this, widget, VSPACING + FONT_HEIGHT_NORMAL);
int line = sb->GetScrolledRowFromWidget(pt.y, this, widget, WidgetDimensions::scaled.vsep_normal + FONT_HEIGHT_NORMAL);
if (line != INT_MAX) {
line++;
/* Find the visible line that was clicked */
@ -722,7 +721,7 @@ struct FramerateWindow : Window {
void OnResize() override
{
auto *wid = this->GetWidget<NWidgetResizeBase>(WID_FRW_TIMES_NAMES);
this->num_displayed = (wid->current_y - wid->min_y - VSPACING) / FONT_HEIGHT_NORMAL - 1; // subtract 1 for headings
this->num_displayed = (wid->current_y - wid->min_y - WidgetDimensions::scaled.vsep_normal) / FONT_HEIGHT_NORMAL - 1; // subtract 1 for headings
this->GetScrollbar(WID_FRW_SCROLLBAR)->SetCapacity(this->num_displayed);
}
};

@ -188,7 +188,7 @@ struct GSConfigWindow : public Window {
}
/* There is only one slot, unlike with the GS GUI, so it should never be white */
DrawString(r.Shrink(WD_MATRIX_LEFT, WD_MATRIX_TOP, WD_MATRIX_RIGHT, WD_MATRIX_BOTTOM), text, (IsEditable() ? TC_ORANGE : TC_SILVER));
DrawString(r.Shrink(WidgetDimensions::scaled.matrix), text, (IsEditable() ? TC_ORANGE : TC_SILVER));
break;
}
case WID_GSC_SETTINGS: {
@ -197,10 +197,10 @@ struct GSConfigWindow : public Window {
int i = 0;
for (; !this->vscroll->IsVisible(i); i++) it++;
Rect ir = r.Shrink(WD_FRAMERECT_LEFT, WD_FRAMERECT_TOP, WD_FRAMERECT_RIGHT, WD_FRAMERECT_BOTTOM);
Rect ir = r.Shrink(WidgetDimensions::scaled.framerect);
bool rtl = _current_text_dir == TD_RTL;
Rect br = ir.WithWidth(SETTING_BUTTON_WIDTH, rtl);
Rect tr = ir.Indent(SETTING_BUTTON_WIDTH + 8, rtl);
Rect tr = ir.Indent(SETTING_BUTTON_WIDTH + WidgetDimensions::scaled.hsep_wide, rtl);
int y = r.top;
int button_y_offset = (this->line_height - SETTING_BUTTON_HEIGHT) / 2;
@ -292,7 +292,7 @@ struct GSConfigWindow : public Window {
break;
case WID_GSC_SETTINGS: {
Rect r = this->GetWidget<NWidgetBase>(widget)->GetCurrentRect().Shrink(WD_MATRIX_LEFT, 0, WD_MATRIX_RIGHT, 0);
Rect r = this->GetWidget<NWidgetBase>(widget)->GetCurrentRect().Shrink(WidgetDimensions::scaled.matrix, RectPadding::zero);
int num = (pt.y - r.top) / this->line_height + this->vscroll->GetPosition();
if (num >= (int)this->visible_settings.size()) break;

@ -1496,12 +1496,10 @@ void ShowCreateScenario()
static const NWidgetPart _nested_generate_progress_widgets[] = {
NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_GENERATION_WORLD, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
NWidget(WWT_PANEL, COLOUR_GREY),
NWidget(NWID_HORIZONTAL), SetPIP(20, 0, 20),
NWidget(NWID_VERTICAL), SetPIP(11, 8, 11),
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_GP_PROGRESS_BAR), SetFill(1, 0),
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_GP_PROGRESS_TEXT), SetFill(1, 0),
NWidget(WWT_TEXTBTN, COLOUR_WHITE, WID_GP_ABORT), SetDataTip(STR_GENERATION_ABORT, STR_NULL), SetFill(1, 0),
EndContainer(),
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_wide, 0), SetPadding(WidgetDimensions::unscaled.modalpopup),
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_GP_PROGRESS_BAR), SetFill(1, 0),
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_GP_PROGRESS_TEXT), SetFill(1, 0),
NWidget(WWT_TEXTBTN, COLOUR_WHITE, WID_GP_ABORT), SetDataTip(STR_GENERATION_ABORT, STR_NULL), SetFill(1, 0),
EndContainer(),
EndContainer(),
};
@ -1580,8 +1578,8 @@ struct GenerateProgressWindow : public Window {
SetDParamMaxValue(0, 100);
*size = GetStringBoundingBox(STR_GENERATION_PROGRESS);
/* We need some spacing for the 'border' */
size->height += 8;
size->width += 8;
size->height += WidgetDimensions::scaled.frametext.Horizontal();
size->width += WidgetDimensions::scaled.frametext.Vertical();
break;
}
@ -1589,7 +1587,7 @@ struct GenerateProgressWindow : public Window {
for (uint i = 0; i < GWP_CLASS_COUNT; i++) {
size->width = std::max(size->width, GetStringBoundingBox(_generation_class_table[i]).width);
}
size->height = FONT_HEIGHT_NORMAL * 2 + WD_PAR_VSEP_NORMAL;
size->height = FONT_HEIGHT_NORMAL * 2 + WidgetDimensions::scaled.vsep_normal;
break;
}
}
@ -1599,11 +1597,11 @@ struct GenerateProgressWindow : public Window {
switch (widget) {
case WID_GP_PROGRESS_BAR: {
/* Draw the % complete with a bar and a text */
DrawFrameRect(r, COLOUR_GREY, FR_BORDERONLY);
Rect br = r.Shrink(WD_BEVEL_LEFT, WD_BEVEL_TOP, WD_BEVEL_RIGHT, WD_BEVEL_BOTTOM);
DrawFrameRect(r, COLOUR_GREY, FR_BORDERONLY | FR_LOWERED);
Rect br = r.Shrink(WidgetDimensions::scaled.bevel);
DrawFrameRect(br.WithWidth(br.Width() * _gws.percent / 100, false), COLOUR_MAUVE, FR_NONE);
SetDParam(0, _gws.percent);
DrawString(r.left, r.right, CenterBounds(r.top, r.bottom, FONT_HEIGHT_NORMAL), STR_GENERATION_PROGRESS, TC_FROMSTRING, SA_HOR_CENTER);
DrawString(br.left, br.right, CenterBounds(br.top, br.bottom, FONT_HEIGHT_NORMAL), STR_GENERATION_PROGRESS, TC_FROMSTRING, SA_HOR_CENTER);
break;
}
@ -1614,7 +1612,7 @@ struct GenerateProgressWindow : public Window {
/* And say where we are in that class */
SetDParam(0, _gws.current);
SetDParam(1, _gws.total);
DrawString(r.left, r.right, r.top + FONT_HEIGHT_NORMAL + WD_PAR_VSEP_NORMAL, STR_GENERATION_PROGRESS_NUM, TC_FROMSTRING, SA_HOR_CENTER);
DrawString(r.left, r.right, r.top + FONT_HEIGHT_NORMAL + WidgetDimensions::scaled.vsep_normal, STR_GENERATION_PROGRESS_NUM, TC_FROMSTRING, SA_HOR_CENTER);
}
}
};

@ -101,12 +101,9 @@ static void GfxMainBlitter(const GfxBlitterCtx &ctx, const Sprite *sprite, int x
static ReusableBuffer<uint8> _cursor_backup;
ZoomLevel _gui_zoom; ///< GUI Zoom level
ZoomLevel _font_zoom; ///< Font Zoom level
int8 _gui_zoom_cfg; ///< GUI zoom level in config.
int8 _font_zoom_cfg; ///< Font zoom level in config.
ZoomLevel _gui_zoom = ZOOM_LVL_OUT_4X; ///< GUI Zoom level
int _gui_scale = MIN_INTERFACE_SCALE; ///< GUI scale, 100 is 100%.
int _gui_scale_cfg; ///< GUI scale in config.
/**
* The rect for repaint.
@ -598,6 +595,8 @@ static int DrawLayoutLine(const ParagraphLayouter::Line &line, int y, int left,
GfxBlitterCtx ctx(_cur_dpi);
const uint shadow_offset = ScaleGUITrad(1);
TextColour colour = TC_BLACK;
bool draw_shadow = false;
for (int run_index = 0; run_index < line.CountRuns(); run_index++) {
@ -633,7 +632,7 @@ static int DrawLayoutLine(const ParagraphLayouter::Line &line, int y, int left,
if (draw_shadow && (glyph & SPRITE_GLYPH) == 0) {
ctx.SetColourRemap(TC_BLACK);
GfxMainBlitter(ctx, sprite, begin_x + 1, top + 1, BM_COLOUR_REMAP);
GfxMainBlitter(ctx, sprite, begin_x + shadow_offset, top + shadow_offset, BM_COLOUR_REMAP);
ctx.SetColourRemap(colour);
}
GfxMainBlitter(ctx, sprite, begin_x, top, BM_COLOUR_REMAP);
@ -645,7 +644,7 @@ static int DrawLayoutLine(const ParagraphLayouter::Line &line, int y, int left,
for (int i = 0; i < 3; i++, x += dot_width) {
if (draw_shadow) {
ctx.SetColourRemap(TC_BLACK);
GfxMainBlitter(ctx, dot_sprite, x + 1, y + 1, BM_COLOUR_REMAP);
GfxMainBlitter(ctx, dot_sprite, x + shadow_offset, y + shadow_offset, BM_COLOUR_REMAP);
ctx.SetColourRemap(colour);
}
GfxMainBlitter(ctx, dot_sprite, x, y, BM_COLOUR_REMAP);
@ -2336,57 +2335,66 @@ void SortResolutions()
*/
void UpdateGUIZoom()
{
int old_scale = _gui_scale;
/* Determine real GUI zoom to use. */
if (_gui_zoom_cfg == ZOOM_LVL_CFG_AUTO) {
_gui_zoom = static_cast<ZoomLevel>(Clamp(VideoDriver::GetInstance()->GetSuggestedUIZoom(), _settings_client.gui.zoom_min, _settings_client.gui.zoom_max));
if (_gui_scale_cfg == -1) {
_gui_scale = VideoDriver::GetInstance()->GetSuggestedUIScale();
} else {
/* Ensure the gui_zoom is clamped between min/max. Change the
* _gui_zoom_cfg if it isn't, as this is used to visually show the
* selection in the Game Options. */
_gui_zoom_cfg = Clamp(_gui_zoom_cfg, _settings_client.gui.zoom_min, _settings_client.gui.zoom_max);
_gui_zoom = static_cast<ZoomLevel>(_gui_zoom_cfg);
_gui_scale = Clamp(_gui_scale_cfg, MIN_INTERFACE_SCALE, MAX_INTERFACE_SCALE);
}
ZoomLevel old_font_zoom = _font_zoom;
/* Determine real font zoom to use. */
if (_font_zoom_cfg == ZOOM_LVL_CFG_AUTO) {
_font_zoom = static_cast<ZoomLevel>(VideoDriver::GetInstance()->GetSuggestedUIZoom());
} else {
_font_zoom = static_cast<ZoomLevel>(_font_zoom_cfg);
}
int8 new_zoom = ScaleGUITrad(1) <= 1 ? ZOOM_LVL_OUT_4X : ScaleGUITrad(1) >= 4 ? ZOOM_LVL_MIN : ZOOM_LVL_OUT_2X;
/* Ensure the gui_zoom is clamped between min/max. */
new_zoom = Clamp(new_zoom, _settings_client.gui.zoom_min, _settings_client.gui.zoom_max);
_gui_zoom = static_cast<ZoomLevel>(new_zoom);
if (old_font_zoom != _font_zoom) {
if (old_scale != _gui_scale) {
ClearFontCache();
}
UpdateFontHeightCache();
}
/**
* Resolve GUI zoom level and adjust GUI to new zoom, if auto-suggestion is requested.
* @param automatic Set if the change is occuring due to OS DPI scaling being changed.
* @returns true when the zoom level has changed, caller must call ReInitAllWindows(true)
* after resizing the application's window/buffer.
*/
bool AdjustGUIZoom()
bool AdjustGUIZoom(bool automatic)
{
auto old_zoom = _gui_zoom;
ZoomLevel old_zoom = _gui_zoom;
int old_scale = _gui_scale;
UpdateGUIZoom();
if (old_zoom == _gui_zoom) return false;
GfxClearSpriteCache();
VideoDriver::GetInstance()->ClearSystemSprites();
if (old_scale == _gui_scale) return false;
/* Reload sprites if sprite zoom level has changed. */
if (old_zoom != _gui_zoom) {
GfxClearSpriteCache();
VideoDriver::GetInstance()->ClearSystemSprites();
UpdateCursorSize();
UpdateRouteStepSpriteSize();
}
ClearFontCache();
GfxClearSpriteCache();
UpdateFontHeightCache();
LoadStringWidthTable();
UpdateAllVirtCoords();
FixTitleGameZoom();
extern void FlushDeparturesWindowTextCaches();
FlushDeparturesWindowTextCaches();
/* Adjust all window sizes to match the new zoom level, so that they don't appear
to move around when the application is moved to a screen with different DPI. */
auto zoom_shift = old_zoom - _gui_zoom;
for (Window *w : Window::IterateFromBack()) {
w->left = AdjustByZoom(w->left, zoom_shift);
w->top = AdjustByZoom(w->top, zoom_shift);
w->width = AdjustByZoom(w->width, zoom_shift);
w->height = AdjustByZoom(w->height, zoom_shift);
if (automatic) {
w->left = (w->left * _gui_scale) / old_scale;
w->top = (w->top * _gui_scale) / old_scale;
w->width = (w->width * _gui_scale) / old_scale;
w->height = (w->height * _gui_scale) / old_scale;
}
if (w->viewport != nullptr) {
w->viewport->zoom = Clamp(ZoomLevel(w->viewport->zoom - zoom_shift), _settings_client.gui.zoom_min, _settings_client.gui.zoom_max);
}

@ -83,8 +83,7 @@ void ChangeGameSpeed(bool enable_fast_forward);
void DrawMouseCursor();
void ScreenSizeChanged();
void GameSizeChanged();
void UpdateGUIZoom();
bool AdjustGUIZoom();
bool AdjustGUIZoom(bool automatic);
void UndrawMouseCursor();
/** Size of the buffer used for drawing strings. */
@ -98,6 +97,7 @@ struct SpritePointerHolder;
void DrawSpriteViewport(const SpritePointerHolder &sprite_store, const DrawPixelInfo *dpi, SpriteID img, PaletteID pal, int x, int y, const SubSprite *sub = nullptr);
void PrepareDrawSpriteViewportSpriteStore(SpritePointerHolder &sprite_store, SpriteID img, PaletteID pal);
void DrawSprite(SpriteID img, PaletteID pal, int x, int y, const SubSprite *sub = nullptr, ZoomLevel zoom = ZOOM_LVL_GUI);
void DrawSpriteIgnorePadding(SpriteID img, PaletteID pal, const Rect &r, bool clicked, StringAlignment align); /* widget.cpp */
std::unique_ptr<uint32[]> DrawSpriteToRgbaBuffer(SpriteID spriteId, ZoomLevel zoom = ZOOM_LVL_GUI);
int DrawString(int left, int right, int top, const char *str, TextColour colour = TC_FROMSTRING, StringAlignment align = SA_LEFT, bool underline = false, FontSize fontsize = FS_NORMAL);

@ -333,18 +333,25 @@ public:
FallbackParagraphLayout::FallbackVisualRun::FallbackVisualRun(Font *font, const WChar *chars, int char_count, int x) :
font(font), glyph_count(char_count)
{
const bool isbuiltin = font->fc->IsBuiltInFont();
this->glyphs = MallocT<GlyphID>(this->glyph_count);
this->glyph_to_char = MallocT<int>(this->glyph_count);
/* Positions contains the location of the begin of each of the glyphs, and the end of the last one. */
this->positions = MallocT<float>(this->glyph_count * 2 + 2);
this->positions[0] = x;
this->positions[1] = 0;
for (int i = 0; i < this->glyph_count; i++) {
this->glyphs[i] = font->fc->MapCharToGlyph(chars[i]);
if (isbuiltin) {
this->positions[2 * i + 1] = font->fc->GetAscender(); // Apply sprite font's ascender.
} else if (chars[i] >= SCC_SPRITE_START && chars[i] <= SCC_SPRITE_END) {
this->positions[2 * i + 1] = font->fc->GetAscender() - font->fc->GetGlyph(this->glyphs[i])->height - 1; // Align sprite glyphs to font baseline.
} else {
this->positions[2 * i + 1] = 0; // No ascender adjustment.
}
this->positions[2 * i + 2] = this->positions[2 * i] + font->fc->GetGlyphWidth(this->glyphs[i]);
this->positions[2 * i + 3] = 0;
this->glyph_to_char[i] = i;
}
}

@ -75,7 +75,7 @@ struct GoalListWindow : public Window {
break;
case WID_GOAL_LIST: {
int y = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_GOAL_LIST, WD_FRAMERECT_TOP);
int y = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_GOAL_LIST, WidgetDimensions::scaled.framerect.top);
for (const Goal *s : Goal::Iterate()) {
if (s->company == this->window_number) {
if (y == 0) {
@ -173,11 +173,12 @@ struct GoalListWindow : public Window {
if (widget != WID_GOAL_LIST) return;
Dimension d = GetStringBoundingBox(STR_GOALS_NONE);
resize->width = 1;
resize->height = d.height;
d.height *= 5;
d.width += padding.width + WD_FRAMERECT_RIGHT + WD_FRAMERECT_LEFT;
d.height += padding.height + WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM;
d.width += WidgetDimensions::scaled.framerect.Horizontal();
d.height += WidgetDimensions::scaled.framerect.Vertical();
*size = maxdim(*size, d);
}
@ -191,7 +192,7 @@ struct GoalListWindow : public Window {
void DrawListColumn(GoalColumn column, NWidgetBase *wid, uint progress_col_width) const
{
/* Get column draw area. */
Rect r = wid->GetCurrentRect().Shrink(WD_FRAMERECT_LEFT, WD_FRAMERECT_TOP, WD_FRAMERECT_RIGHT, WD_FRAMERECT_BOTTOM);
Rect r = wid->GetCurrentRect().Shrink(WidgetDimensions::scaled.framerect);
bool rtl = _current_text_dir == TD_RTL;
int pos = -this->vscroll->GetPosition();
@ -205,7 +206,7 @@ struct GoalListWindow : public Window {
case GC_GOAL: {
/* Display the goal. */
SetDParamStr(0, s->text);
uint width_reduction = progress_col_width > 0 ? progress_col_width + WD_FRAMERECT_LEFT + WD_FRAMERECT_RIGHT : 0;
uint width_reduction = progress_col_width > 0 ? progress_col_width + WidgetDimensions::scaled.framerect.Horizontal() : 0;
DrawString(r.Indent(width_reduction, !rtl), STR_GOALS_TEXT);
break;
}
@ -260,7 +261,7 @@ struct GoalListWindow : public Window {
void OnResize() override
{
this->vscroll->SetCapacityFromWidget(this, WID_GOAL_LIST);
this->vscroll->SetCapacityFromWidget(this, WID_GOAL_LIST, WidgetDimensions::scaled.framerect.Vertical());
}
/**
@ -284,8 +285,8 @@ static const NWidgetPart _nested_goals_list_widgets[] = {
NWidget(WWT_CLOSEBOX, COLOUR_BROWN),
NWidget(WWT_CAPTION, COLOUR_BROWN, WID_GOAL_CAPTION), SetDataTip(STR_JUST_STRING, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_GOAL_SELECT_BUTTONS),
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_GOAL_GLOBAL_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GOALS_GLOBAL_BUTTON, STR_GOALS_GLOBAL_BUTTON_HELPTEXT),
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_GOAL_COMPANY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GOALS_COMPANY_BUTTON, STR_GOALS_COMPANY_BUTTON_HELPTEXT),
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_GOAL_GLOBAL_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WidgetDimensions::unscaled.captiontext.Vertical()), SetDataTip(STR_GOALS_GLOBAL_BUTTON, STR_GOALS_GLOBAL_BUTTON_HELPTEXT),
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_GOAL_COMPANY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WidgetDimensions::unscaled.captiontext.Vertical()), SetDataTip(STR_GOALS_COMPANY_BUTTON, STR_GOALS_COMPANY_BUTTON_HELPTEXT),
EndContainer(),
NWidget(WWT_SHADEBOX, COLOUR_BROWN),
NWidget(WWT_DEFSIZEBOX, COLOUR_BROWN),
@ -398,7 +399,7 @@ struct GoalQuestionWindow : public Window {
if (widget != WID_GQ_QUESTION) return;
SetDParamStr(0, this->question);
size->height = GetStringHeight(STR_JUST_RAW_STRING, size->width) + WD_PAR_VSEP_WIDE;
size->height = GetStringHeight(STR_JUST_RAW_STRING, size->width) + WidgetDimensions::scaled.vsep_wide;
}
void DrawWidget(const Rect &r, int widget) const override

@ -69,11 +69,11 @@ struct GraphLegendWindow : Window {
bool rtl = _current_text_dir == TD_RTL;
const Rect ir = r.Shrink(WD_FRAMERECT_LEFT, WD_FRAMERECT_TOP, WD_FRAMERECT_RIGHT, WD_FRAMERECT_BOTTOM);
const Rect ir = r.Shrink(WidgetDimensions::scaled.framerect);
Dimension d = GetSpriteSize(SPR_COMPANY_ICON);
DrawCompanyIcon(cid, rtl ? ir.right - d.width : ir.left, CenterBounds(ir.top, ir.bottom, d.height));
const Rect tr = ir.Indent(d.width + ScaleGUITrad(2), rtl);
const Rect tr = ir.Indent(d.width + WidgetDimensions::scaled.hsep_normal, rtl);
SetDParam(0, cid);
SetDParam(1, cid);
DrawString(tr.left, tr.right, CenterBounds(tr.top, tr.bottom, FONT_HEIGHT_NORMAL), STR_COMPANY_NAME_COMPANY_NUM, HasBit(_legend_excluded_companies, cid) ? TC_BLACK : TC_WHITE);
@ -122,8 +122,8 @@ static NWidgetBase *MakeNWidgetCompanyLines(int *biggest_index)
for (int widnum = WID_GL_FIRST_COMPANY; widnum <= WID_GL_LAST_COMPANY; widnum++) {
NWidgetBackground *panel = new NWidgetBackground(WWT_PANEL, COLOUR_BROWN, widnum);
panel->SetMinimalSize(246, sprite_height + WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM);
panel->SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM, FS_NORMAL);
panel->SetMinimalSize(246, sprite_height + WidgetDimensions::unscaled.framerect.Vertical());
panel->SetMinimalTextLines(1, WidgetDimensions::unscaled.framerect.Vertical(), FS_NORMAL);
panel->SetFill(1, 1);
panel->SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP);
vert->Add(panel);
@ -303,15 +303,15 @@ protected:
/* Rect r will be adjusted to contain just the graph, with labels being
* placed outside the area. */
r.top += 5 + GetCharacterHeight(FS_SMALL) / 2;
r.bottom -= (this->month == 0xFF ? 1 : 2) * GetCharacterHeight(FS_SMALL) + 4;
r.left += 9;
r.right -= 5;
r.top += ScaleGUITrad(5) + GetCharacterHeight(FS_SMALL) / 2;
r.bottom -= (this->month == 0xFF ? 1 : 2) * GetCharacterHeight(FS_SMALL) + ScaleGUITrad(4);
r.left += ScaleGUITrad(9);
r.right -= ScaleGUITrad(5);
/* Initial number of horizontal lines. */
int num_hori_lines = 160 / MIN_GRID_PIXEL_SIZE;
int num_hori_lines = 160 / ScaleGUITrad(MIN_GRID_PIXEL_SIZE);
/* For the rest of the height, the number of horizontal lines will increase more slowly. */
int resize = (r.bottom - r.top - 160) / (2 * MIN_GRID_PIXEL_SIZE);
int resize = (r.bottom - r.top - 160) / (2 * ScaleGUITrad(MIN_GRID_PIXEL_SIZE));
if (resize > 0) num_hori_lines += resize;
interval = GetValuesInterval(num_hori_lines);
@ -349,7 +349,7 @@ protected:
y = r.bottom;
for (int i = 0; i < (num_hori_lines + 1); i++) {
GfxFillRect(r.left - 3, y, r.left - 1, y, GRAPH_AXIS_LINE_COLOUR);
GfxFillRect(r.left - ScaleGUITrad(3), y, r.left - 1, y, GRAPH_AXIS_LINE_COLOUR);
GfxFillRect(r.left, y, r.right, y, GRAPH_GRID_COLOUR);
y -= y_sep;
}
@ -376,7 +376,7 @@ protected:
for (int i = 0; i < (num_hori_lines + 1); i++) {
SetDParam(0, this->format_str_y_axis);
SetDParam(1, y_label);
DrawString(r.left - label_width - 4, r.left - 4, y, STR_GRAPH_Y_LABEL, GRAPH_AXIS_LABEL_COLOUR, SA_RIGHT);
DrawString(r.left - label_width - ScaleGUITrad(4), r.left - ScaleGUITrad(4), y, STR_GRAPH_Y_LABEL, GRAPH_AXIS_LABEL_COLOUR, SA_RIGHT);
y_label -= y_label_separation;
y += y_sep;
@ -385,7 +385,7 @@ protected:
/* Draw x-axis labels and markings for graphs based on financial quarters and years. */
if (this->month != 0xFF) {
x = r.left;
y = r.bottom + 2;
y = r.bottom + ScaleGUITrad(2);
byte month = this->month;
Year year = this->year;
for (int i = 0; i < this->num_on_x_axis; i++) {
@ -406,7 +406,7 @@ protected:
} else {
/* Draw x-axis labels for graphs not based on quarterly performance (cargo payment rates). */
x = r.left;
y = r.bottom + 2;
y = r.bottom + ScaleGUITrad(2);
uint16 label = this->x_values_start;
for (int i = 0; i < this->num_on_x_axis; i++) {
@ -526,8 +526,8 @@ public:
SetDParam(1, INT64_MAX);
uint y_label_width = GetStringBoundingBox(STR_GRAPH_Y_LABEL).width;
size->width = std::max<uint>(size->width, 5 + y_label_width + this->num_on_x_axis * (x_label_width + 5) + 9);
size->height = std::max<uint>(size->height, 5 + (1 + MIN_GRAPH_NUM_LINES_Y * 2 + (this->month != 0xFF ? 3 : 1)) * FONT_HEIGHT_SMALL + 4);
size->width = std::max<uint>(size->width, ScaleGUITrad(5) + y_label_width + this->num_on_x_axis * (x_label_width + ScaleGUITrad(5)) + ScaleGUITrad(9));
size->height = std::max<uint>(size->height, ScaleGUITrad(5) + (1 + MIN_GRAPH_NUM_LINES_Y * 2 + (this->month != 0xFF ? 3 : 1)) * FONT_HEIGHT_SMALL + ScaleGUITrad(4));
size->height = std::max<uint>(size->height, size->width / 3);
}
@ -640,7 +640,7 @@ static const NWidgetPart _nested_operating_profit_widgets[] = {
NWidget(NWID_HORIZONTAL),
NWidget(WWT_CLOSEBOX, COLOUR_BROWN),
NWidget(WWT_CAPTION, COLOUR_BROWN), SetDataTip(STR_GRAPH_OPERATING_PROFIT_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_CV_KEY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_CV_KEY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WidgetDimensions::unscaled.framerect.Vertical() + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
NWidget(WWT_SHADEBOX, COLOUR_BROWN),
NWidget(WWT_DEFSIZEBOX, COLOUR_BROWN),
NWidget(WWT_STICKYBOX, COLOUR_BROWN),
@ -691,7 +691,7 @@ static const NWidgetPart _nested_income_graph_widgets[] = {
NWidget(NWID_HORIZONTAL),
NWidget(WWT_CLOSEBOX, COLOUR_BROWN),
NWidget(WWT_CAPTION, COLOUR_BROWN), SetDataTip(STR_GRAPH_INCOME_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_CV_KEY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_CV_KEY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WidgetDimensions::unscaled.framerect.Vertical() + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
NWidget(WWT_SHADEBOX, COLOUR_BROWN),
NWidget(WWT_DEFSIZEBOX, COLOUR_BROWN),
NWidget(WWT_STICKYBOX, COLOUR_BROWN),
@ -740,7 +740,7 @@ static const NWidgetPart _nested_delivered_cargo_graph_widgets[] = {
NWidget(NWID_HORIZONTAL),
NWidget(WWT_CLOSEBOX, COLOUR_BROWN),
NWidget(WWT_CAPTION, COLOUR_BROWN), SetDataTip(STR_GRAPH_CARGO_DELIVERED_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_CV_KEY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_CV_KEY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WidgetDimensions::unscaled.framerect.Vertical() + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
NWidget(WWT_SHADEBOX, COLOUR_BROWN),
NWidget(WWT_DEFSIZEBOX, COLOUR_BROWN),
NWidget(WWT_STICKYBOX, COLOUR_BROWN),
@ -795,8 +795,8 @@ static const NWidgetPart _nested_performance_history_widgets[] = {
NWidget(NWID_HORIZONTAL),
NWidget(WWT_CLOSEBOX, COLOUR_BROWN),
NWidget(WWT_CAPTION, COLOUR_BROWN), SetDataTip(STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_PHG_DETAILED_PERFORMANCE), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_PERFORMANCE_DETAIL_KEY, STR_GRAPH_PERFORMANCE_DETAIL_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_PHG_KEY), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_PHG_DETAILED_PERFORMANCE), SetMinimalSize(50, 0), SetMinimalTextLines(1, WidgetDimensions::unscaled.framerect.Vertical() + 2), SetDataTip(STR_PERFORMANCE_DETAIL_KEY, STR_GRAPH_PERFORMANCE_DETAIL_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_PHG_KEY), SetMinimalSize(50, 0), SetMinimalTextLines(1, WidgetDimensions::unscaled.framerect.Vertical() + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
NWidget(WWT_SHADEBOX, COLOUR_BROWN),
NWidget(WWT_DEFSIZEBOX, COLOUR_BROWN),
NWidget(WWT_STICKYBOX, COLOUR_BROWN),
@ -845,7 +845,7 @@ static const NWidgetPart _nested_company_value_graph_widgets[] = {
NWidget(NWID_HORIZONTAL),
NWidget(WWT_CLOSEBOX, COLOUR_BROWN),
NWidget(WWT_CAPTION, COLOUR_BROWN), SetDataTip(STR_GRAPH_COMPANY_VALUES_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_CV_KEY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_CV_KEY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WidgetDimensions::unscaled.framerect.Vertical() + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
NWidget(WWT_SHADEBOX, COLOUR_BROWN),
NWidget(WWT_DEFSIZEBOX, COLOUR_BROWN),
NWidget(WWT_STICKYBOX, COLOUR_BROWN),
@ -925,7 +925,7 @@ struct PaymentRatesGraphWindow : BaseGraphWindow {
void OnInit() override
{
/* Width of the legend blob. */
this->legend_width = (FONT_HEIGHT_SMALL - ScaleFontTrad(1)) * 8 / 5;
this->legend_width = (FONT_HEIGHT_SMALL - ScaleGUITrad(1)) * 8 / 5;
}
void UpdateExcludedData()
@ -949,9 +949,9 @@ struct PaymentRatesGraphWindow : BaseGraphWindow {
for (const CargoSpec *cs : _sorted_standard_cargo_specs) {
SetDParam(0, cs->name);
Dimension d = GetStringBoundingBox(STR_GRAPH_CARGO_PAYMENT_CARGO);
d.width += this->legend_width + 4; // colour field
d.width += WD_FRAMERECT_LEFT + WD_FRAMERECT_RIGHT;
d.height += WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM;
d.width += this->legend_width + WidgetDimensions::scaled.hsep_normal; // colour field
d.width += WidgetDimensions::scaled.framerect.Horizontal();
d.height += WidgetDimensions::scaled.framerect.Vertical();
*size = maxdim(d, *size);
}
@ -983,16 +983,16 @@ struct PaymentRatesGraphWindow : BaseGraphWindow {
/* Redraw frame if lowered */
if (lowered) DrawFrameRect(line, COLOUR_BROWN, FR_LOWERED);
const Rect text = line.Shrink(WD_FRAMERECT_LEFT, WD_FRAMERECT_TOP, WD_FRAMERECT_RIGHT, WD_FRAMERECT_BOTTOM).Translate(lowered ? 1 : 0, lowered ? 1 : 0);
const Rect text = line.Shrink(WidgetDimensions::scaled.framerect).Translate(lowered ? WidgetDimensions::scaled.pressed : 0, lowered ? WidgetDimensions::scaled.pressed : 0);
/* Cargo-colour box with outline */
const Rect cargo = text.WithWidth(this->legend_width, rtl);
GfxFillRect(cargo, PC_BLACK);
GfxFillRect(cargo.Shrink(WD_BEVEL_LEFT, WD_BEVEL_TOP, WD_BEVEL_RIGHT, WD_BEVEL_BOTTOM), cs->legend_colour);
GfxFillRect(cargo.Shrink(WidgetDimensions::scaled.bevel), cs->legend_colour);
/* Cargo name */
SetDParam(0, cs->name);
DrawString(text.Indent(this->legend_width + 4, rtl), STR_GRAPH_CARGO_PAYMENT_CARGO);
DrawString(text.Indent(this->legend_width + WidgetDimensions::scaled.hsep_normal, rtl), STR_GRAPH_CARGO_PAYMENT_CARGO);
line = line.Translate(0, this->line_height);
}
@ -1140,7 +1140,7 @@ static const NWidgetPart _nested_cargo_payment_rates_widgets[] = {
NWidget(NWID_SPACER), SetMinimalSize(5, 0), SetFill(0, 1), SetResize(0, 1),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(NWID_SPACER), SetMinimalSize(WD_RESIZEBOX_WIDTH, 0), SetFill(0, 0), SetResize(0, 0),
NWidget(NWID_SPACER), SetMinimalSize(12, 0), SetFill(0, 0), SetResize(0, 0),
NWidget(WWT_TEXT, COLOUR_BROWN, WID_CPR_FOOTER), SetMinimalSize(0, 6), SetAlignment(SA_CENTER), SetPadding(2, 0, 2, 0), SetDataTip(STR_JUST_STRING1, STR_NULL), SetFill(1, 0), SetResize(1, 0),
NWidget(WWT_RESIZEBOX, COLOUR_BROWN, WID_CPR_RESIZE),
EndContainer(),
@ -1200,18 +1200,18 @@ struct PerformanceRatingDetailWindow : Window {
{
switch (widget) {
case WID_PRD_SCORE_FIRST:
this->bar_height = FONT_HEIGHT_NORMAL + 4;
size->height = this->bar_height + 2 * WD_MATRIX_TOP;
this->bar_height = FONT_HEIGHT_NORMAL + WidgetDimensions::scaled.fullbevel.Vertical();
size->height = this->bar_height + WidgetDimensions::scaled.matrix.Vertical();
uint score_info_width = 0;
for (uint i = SCORE_BEGIN; i < SCORE_END; i++) {
score_info_width = std::max(score_info_width, GetStringBoundingBox(STR_PERFORMANCE_DETAIL_VEHICLES + i).width);
}
SetDParamMaxValue(0, 1000);
score_info_width += GetStringBoundingBox(STR_BLACK_COMMA).width + WD_FRAMERECT_LEFT;
score_info_width += GetStringBoundingBox(STR_BLACK_COMMA).width + WidgetDimensions::scaled.hsep_wide;
SetDParamMaxValue(0, 100);
this->bar_width = GetStringBoundingBox(STR_PERFORMANCE_DETAIL_PERCENT).width + 20; // Wide bars!
this->bar_width = GetStringBoundingBox(STR_PERFORMANCE_DETAIL_PERCENT).width + WidgetDimensions::scaled.hsep_indent * 2; // Wide bars!
/* At this number we are roughly at the max; it can become wider,
* but then you need at 1000 times more money. At that time you're
@ -1237,9 +1237,9 @@ struct PerformanceRatingDetailWindow : Window {
SetDParam(1, max);
uint score_detail_width = GetStringBoundingBox(STR_PERFORMANCE_DETAIL_AMOUNT_CURRENCY).width;
size->width = 7 + score_info_width + 5 + this->bar_width + 5 + score_detail_width + 7;
uint left = 7;
uint right = size->width - 7;
size->width = WidgetDimensions::scaled.frametext.Horizontal() + score_info_width + WidgetDimensions::scaled.hsep_wide + this->bar_width + WidgetDimensions::scaled.hsep_wide + score_detail_width;
uint left = WidgetDimensions::scaled.frametext.left;
uint right = size->width - WidgetDimensions::scaled.frametext.right;
bool rtl = _current_text_dir == TD_RTL;
this->score_info_left = rtl ? right - score_info_width : left;
@ -1248,8 +1248,8 @@ struct PerformanceRatingDetailWindow : Window {
this->score_detail_left = rtl ? left : right - score_detail_width;
this->score_detail_right = rtl ? left + score_detail_width : right;
this->bar_left = left + (rtl ? score_detail_width : score_info_width) + 5;
this->bar_right = this->bar_left + this->bar_width;
this->bar_left = left + (rtl ? score_detail_width : score_info_width) + WidgetDimensions::scaled.hsep_wide;
this->bar_right = this->bar_left + this->bar_width - 1;
break;
}
}
@ -1262,7 +1262,7 @@ struct PerformanceRatingDetailWindow : Window {
if (IsInsideMM(widget, WID_PRD_COMPANY_FIRST, WID_PRD_COMPANY_LAST + 1)) {
if (this->IsWidgetDisabled(widget)) return;
CompanyID cid = (CompanyID)(widget - WID_PRD_COMPANY_FIRST);
int offset = (cid == this->company) ? 1 : 0;
int offset = (cid == this->company) ? WidgetDimensions::scaled.pressed : 0;
Dimension sprite_size = GetSpriteSize(SPR_COMPANY_ICON);
DrawCompanyIcon(cid, CenterBounds(r.left, r.right, sprite_size.width) + offset, CenterBounds(r.top, r.bottom, sprite_size.height) + offset);
return;
@ -1287,8 +1287,8 @@ struct PerformanceRatingDetailWindow : Window {
needed = SCORE_MAX;
}
uint bar_top = r.top + WD_MATRIX_TOP;
uint text_top = bar_top + 2;
uint bar_top = CenterBounds(r.top, r.bottom, this->bar_height);
uint text_top = CenterBounds(r.top, r.bottom, FONT_HEIGHT_NORMAL);
DrawString(this->score_info_left, this->score_info_right, text_top, STR_PERFORMANCE_DETAIL_VEHICLES + score_type);
@ -1306,8 +1306,8 @@ struct PerformanceRatingDetailWindow : Window {
}
/* Draw the bar */
if (x != this->bar_left) GfxFillRect(this->bar_left, bar_top, x, bar_top + this->bar_height, rtl ? colour_notdone : colour_done);
if (x != this->bar_right) GfxFillRect(x, bar_top, this->bar_right, bar_top + this->bar_height, rtl ? colour_done : colour_notdone);
if (x != this->bar_left) GfxFillRect(this->bar_left, bar_top, x, bar_top + this->bar_height - 1, rtl ? colour_notdone : colour_done);
if (x != this->bar_right) GfxFillRect(x, bar_top, this->bar_right, bar_top + this->bar_height - 1, rtl ? colour_done : colour_notdone);
/* Draw it */
SetDParam(0, Clamp<int64>(val, 0, needed) * 100 / needed);
@ -1438,7 +1438,7 @@ static const NWidgetPart _nested_performance_rating_detail_widgets[] = {
NWidget(WWT_STICKYBOX, COLOUR_BROWN),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_BROWN),
NWidgetFunction(MakeCompanyButtonRowsGraphGUI), SetPadding(0, 1, 1, 2),
NWidgetFunction(MakeCompanyButtonRowsGraphGUI), SetPadding(2),
EndContainer(),
NWidgetFunction(MakePerformanceDetailPanels),
};
@ -1495,7 +1495,7 @@ struct StationCargoGraphWindow final : BaseGraphWindow {
void OnInit() override
{
/* Width of the legend blob. */
this->legend_width = (FONT_HEIGHT_SMALL - ScaleFontTrad(1)) * 8 / 5;
this->legend_width = (FONT_HEIGHT_SMALL - ScaleGUITrad(1)) * 8 / 5;
this->legend_excluded_cargo = 0;
}
@ -1532,8 +1532,8 @@ struct StationCargoGraphWindow final : BaseGraphWindow {
SetDParam(0, cs->name);
Dimension d = GetStringBoundingBox(STR_GRAPH_CARGO_PAYMENT_CARGO);
d.width += this->legend_width + 4; // color field
d.width += WD_FRAMERECT_LEFT + WD_FRAMERECT_RIGHT;
d.height += WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM;
d.width += WidgetDimensions::scaled.framerect.Horizontal();
d.height += WidgetDimensions::scaled.framerect.Vertical();
*size = maxdim(d, *size);
}
@ -1550,12 +1550,14 @@ struct StationCargoGraphWindow final : BaseGraphWindow {
return;
}
Rect ir = r.Shrink(WidgetDimensions::scaled.framerect);
const bool rtl = _current_text_dir == TD_RTL;
int x = r.left + WD_FRAMERECT_LEFT;
int y = r.top;
int x = ir.left;
int y = ir.top;
const uint row_height = FONT_HEIGHT_SMALL;
const int padding = ScaleFontTrad(1);
const int padding = ScaleGUITrad(1);
int pos = this->vscroll->GetPosition();
int max = pos + this->vscroll->GetCapacity();
@ -1571,12 +1573,12 @@ struct StationCargoGraphWindow final : BaseGraphWindow {
if (lowered) DrawFrameRect(r.left, y, r.right, y + this->line_height - 1, COLOUR_BROWN, lowered ? FR_LOWERED : FR_NONE);
const byte clk_dif = lowered ? 1 : 0;
const int rect_x = clk_dif + (rtl ? r.right - this->legend_width - WD_FRAMERECT_RIGHT : r.left + WD_FRAMERECT_LEFT);
const int rect_x = clk_dif + (rtl ? ir.right - this->legend_width : ir.left);
GfxFillRect(rect_x, y + padding + clk_dif, rect_x + this->legend_width, y + row_height - 1 + clk_dif, PC_BLACK);
GfxFillRect(rect_x + 1, y + padding + 1 + clk_dif, rect_x + this->legend_width - 1, y + row_height - 2 + clk_dif, cs->legend_colour);
SetDParam(0, cs->name);
DrawString(rtl ? r.left : x + this->legend_width + 4 + clk_dif, (rtl ? r.right - this->legend_width - 4 + clk_dif : r.right), y + clk_dif, STR_GRAPH_CARGO_PAYMENT_CARGO);
DrawString(rtl ? ir.left : x + this->legend_width + 4 + clk_dif, (rtl ? ir.right - this->legend_width - 4 + clk_dif : ir.right), y + clk_dif, STR_GRAPH_CARGO_PAYMENT_CARGO);
y += this->line_height;
}
@ -1707,7 +1709,7 @@ static const NWidgetPart _nested_station_cargo_widgets[] = {
NWidget(NWID_SPACER), SetMinimalSize(5, 0), SetFill(0, 1), SetResize(0, 1),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(NWID_SPACER), SetMinimalSize(WD_RESIZEBOX_WIDTH, 0), SetFill(1, 0), SetResize(1, 0),
NWidget(NWID_SPACER), SetMinimalSize(WidgetDimensions::unscaled.resizebox.Horizontal(), 0), SetFill(1, 0), SetResize(1, 0),
NWidget(WWT_TEXT, COLOUR_GREY, WID_SCG_FOOTER), SetMinimalSize(0, 6), SetPadding(2, 0, 2, 0), SetDataTip(STR_GRAPH_STATION_CARGO_X_LABEL, STR_NULL),
NWidget(NWID_SPACER), SetFill(1, 0), SetResize(1, 0),
NWidget(WWT_RESIZEBOX, COLOUR_GREY, WID_SCG_RESIZE),

@ -35,8 +35,6 @@
#include "safeguards.h"
static const int LEVEL_WIDTH = 10; ///< Indenting width of a sub-group in pixels
typedef GUIList<const Group*> GUIGroupList;
static const NWidgetPart _nested_group_widgets[] = {
@ -57,7 +55,7 @@ static const NWidgetPart _nested_group_widgets[] = {
SetFill(1, 0), SetResize(0, 1), SetScrollbar(WID_GL_LIST_GROUP_SCROLLBAR),
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, WID_GL_LIST_GROUP_SCROLLBAR),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_GREY, WID_GL_INFO), SetFill(1, 1), SetMinimalTextLines(3, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM), EndContainer(),
NWidget(WWT_PANEL, COLOUR_GREY, WID_GL_INFO), SetFill(1, 1), SetMinimalTextLines(3, WidgetDimensions::unscaled.framerect.Vertical()), EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, WID_GL_CREATE_GROUP),
SetDataTip(SPR_GROUP_CREATE_TRAIN, STR_GROUP_CREATE_TOOLTIP),
@ -241,7 +239,7 @@ private:
this->tiny_step_height = this->column_size[VGC_FOLD].height;
this->column_size[VGC_NAME] = maxdim(GetStringBoundingBox(STR_GROUP_DEFAULT_TRAINS + this->vli.vtype), GetStringBoundingBox(STR_GROUP_ALL_TRAINS + this->vli.vtype));
this->column_size[VGC_NAME].width = std::max((170u * FONT_HEIGHT_NORMAL) / 10u, this->column_size[VGC_NAME].width);
this->column_size[VGC_NAME].width = std::max((170u * FONT_HEIGHT_NORMAL) / 10u, this->column_size[VGC_NAME].width) + WidgetDimensions::scaled.hsep_indent;
this->tiny_step_height = std::max(this->tiny_step_height, this->column_size[VGC_NAME].height);
this->column_size[VGC_PROTECT] = GetSpriteSize(SPR_GROUP_REPLACE_PROTECT);
@ -265,16 +263,16 @@ private:
this->column_size[VGC_NUMBER] = GetStringBoundingBox(STR_GROUP_COUNT_WITH_SUBGROUP);
this->tiny_step_height = std::max(this->tiny_step_height, this->column_size[VGC_NUMBER].height);
this->tiny_step_height += WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 1;
this->tiny_step_height += WidgetDimensions::scaled.framerect.Vertical() + 1;
return WD_FRAMERECT_LEFT + 8 +
this->column_size[VGC_FOLD].width + 2 +
this->column_size[VGC_NAME].width + 8 +
this->column_size[VGC_PROTECT].width + 2 +
this->column_size[VGC_AUTOREPLACE].width + 2 +
this->column_size[VGC_PROFIT].width + 2 +
this->column_size[VGC_NUMBER].width + 2 +
WD_FRAMERECT_RIGHT;
return WidgetDimensions::scaled.framerect.left +
this->column_size[VGC_FOLD].width + WidgetDimensions::scaled.hsep_normal +
this->column_size[VGC_NAME].width + WidgetDimensions::scaled.hsep_wide +
this->column_size[VGC_PROTECT].width + WidgetDimensions::scaled.hsep_normal +
this->column_size[VGC_AUTOREPLACE].width + WidgetDimensions::scaled.hsep_normal +
this->column_size[VGC_PROFIT].width + WidgetDimensions::scaled.hsep_normal +
this->column_size[VGC_NUMBER].width +
WidgetDimensions::scaled.framerect.right;
}
/**
@ -291,7 +289,7 @@ private:
{
/* Highlight the group if a vehicle is dragged over it */
if (g_id == this->group_over) {
GfxFillRect(left + WD_FRAMERECT_LEFT, y + WD_FRAMERECT_TOP + 1, right - WD_FRAMERECT_RIGHT, y + this->tiny_step_height - WD_FRAMERECT_BOTTOM - 1, _colour_gradient[COLOUR_GREY][7]);
GfxFillRect(left + WidgetDimensions::scaled.bevel.left, y + WidgetDimensions::scaled.framerect.top, right - WidgetDimensions::scaled.bevel.right, y + this->tiny_step_height - 1 - WidgetDimensions::scaled.framerect.bottom, _colour_gradient[COLOUR_GREY][7]);
}
if (g_id == NEW_GROUP) return;
@ -302,7 +300,7 @@ private:
bool rtl = _current_text_dir == TD_RTL;
/* draw fold / unfold button */
int x = rtl ? right - WD_FRAMERECT_RIGHT - 8 - this->column_size[VGC_FOLD].width + 1 : left + WD_FRAMERECT_LEFT + 8;
int x = rtl ? right - WidgetDimensions::scaled.framerect.right - this->column_size[VGC_FOLD].width + 1 : left + WidgetDimensions::scaled.framerect.left;
if (has_children) {
DrawSprite(Group::Get(g_id)->folded ? SPR_CIRCLE_FOLDED : SPR_CIRCLE_UNFOLDED, PAL_NONE, rtl ? x - indent : x + indent, y + (this->tiny_step_height - this->column_size[VGC_FOLD].height) / 2);
}
@ -317,19 +315,19 @@ private:
SetDParam(0, g_id);
str = STR_GROUP_NAME;
}
x = rtl ? x - 2 - this->column_size[VGC_NAME].width : x + 2 + this->column_size[VGC_FOLD].width;
x = rtl ? x - WidgetDimensions::scaled.hsep_normal - this->column_size[VGC_NAME].width : x + WidgetDimensions::scaled.hsep_normal + this->column_size[VGC_FOLD].width;
DrawString(x + (rtl ? 0 : indent), x + this->column_size[VGC_NAME].width - 1 - (rtl ? indent : 0), y + (this->tiny_step_height - this->column_size[VGC_NAME].height) / 2, str, colour);
/* draw autoreplace protection */
x = rtl ? x - 2 - this->column_size[VGC_PROTECT].width : x + 2 + this->column_size[VGC_NAME].width;
x = rtl ? x - WidgetDimensions::scaled.hsep_wide - this->column_size[VGC_PROTECT].width : x + WidgetDimensions::scaled.hsep_wide + this->column_size[VGC_NAME].width;
if (protection) DrawSprite(SPR_GROUP_REPLACE_PROTECT, PAL_NONE, x, y + (this->tiny_step_height - this->column_size[VGC_PROTECT].height) / 2);
/* draw autoreplace status */
x = rtl ? x - 2 - this->column_size[VGC_AUTOREPLACE].width : x + 2 + this->column_size[VGC_PROTECT].width;
x = rtl ? x - WidgetDimensions::scaled.hsep_normal - this->column_size[VGC_AUTOREPLACE].width : x + WidgetDimensions::scaled.hsep_normal + this->column_size[VGC_PROTECT].width;
if (stats.autoreplace_defined) DrawSprite(SPR_GROUP_REPLACE_ACTIVE, stats.autoreplace_finished ? PALETTE_CRASH : PAL_NONE, x, y + (this->tiny_step_height - this->column_size[VGC_AUTOREPLACE].height) / 2);
/* draw the profit icon */
x = rtl ? x - 2 - this->column_size[VGC_PROFIT].width : x + 2 + this->column_size[VGC_AUTOREPLACE].width;
x = rtl ? x - WidgetDimensions::scaled.hsep_normal - this->column_size[VGC_PROFIT].width : x + WidgetDimensions::scaled.hsep_normal + this->column_size[VGC_AUTOREPLACE].width;
SpriteID spr;
uint num_profit_vehicle = GetGroupNumProfitVehicle(this->vli.company, g_id, this->vli.vtype);
Money profit_last_year = GetGroupProfitLastYear(this->vli.company, g_id, this->vli.vtype);
@ -345,7 +343,7 @@ private:
DrawSprite(spr, PAL_NONE, x, y + (this->tiny_step_height - this->column_size[VGC_PROFIT].height) / 2);
/* draw the number of vehicles of the group */
x = rtl ? x - 2 - this->column_size[VGC_NUMBER].width : x + 2 + this->column_size[VGC_PROFIT].width;
x = rtl ? x - WidgetDimensions::scaled.hsep_normal - this->column_size[VGC_NUMBER].width : x + WidgetDimensions::scaled.hsep_normal + this->column_size[VGC_PROFIT].width;
int num_vehicle_with_subgroups = GetGroupNumVehicle(this->vli.company, g_id, this->vli.vtype);
int num_vehicle = GroupStatistics::Get(this->vli.company, g_id, this->vli.vtype).num_vehicle;
if (IsAllGroupID(g_id) || IsDefaultGroupID(g_id) || num_vehicle_with_subgroups == num_vehicle) {
@ -623,16 +621,16 @@ public:
{
switch (widget) {
case WID_GL_ALL_VEHICLES:
DrawGroupInfo(r.top + WD_FRAMERECT_TOP, r.left, r.right, ALL_GROUP);
DrawGroupInfo(r.top + WidgetDimensions::scaled.framerect.top, r.left, r.right, ALL_GROUP);
break;
case WID_GL_DEFAULT_VEHICLES:
DrawGroupInfo(r.top + WD_FRAMERECT_TOP, r.left, r.right, DEFAULT_GROUP);
DrawGroupInfo(r.top + WidgetDimensions::scaled.framerect.top, r.left, r.right, DEFAULT_GROUP);
break;
case WID_GL_INFO: {
const int left = r.left + WD_FRAMERECT_LEFT + 8;
const int right = r.right - WD_FRAMERECT_RIGHT - 8;
const int left = r.left + WidgetDimensions::scaled.framerect.left + WidgetDimensions::scaled.vsep_wide;
const int right = r.right - WidgetDimensions::scaled.framerect.right - WidgetDimensions::scaled.vsep_wide;
int y = r.top + (1 + r.bottom - r.top - (3 * FONT_HEIGHT_NORMAL)) / 2;
DrawString(left, right, y, STR_GROUP_PROFIT_THIS_YEAR, TC_BLACK);
@ -655,14 +653,14 @@ public:
}
case WID_GL_LIST_GROUP: {
int y1 = r.top + WD_FRAMERECT_TOP;
int y1 = r.top + WidgetDimensions::scaled.framerect.top;
int max = std::min<size_t>(this->group_sb->GetPosition() + this->group_sb->GetCapacity(), this->groups.size());
for (int i = this->group_sb->GetPosition(); i < max; ++i) {
const Group *g = this->groups[i];
assert(g->owner == this->owner);
DrawGroupInfo(y1, r.left, r.right, g->index, this->indents[i] * LEVEL_WIDTH, HasBit(g->flags, GroupFlags::GF_REPLACE_PROTECTION), g->folded || (i + 1 < (int)this->groups.size() && indents[i + 1] > this->indents[i]));
DrawGroupInfo(y1, r.left, r.right, g->index, this->indents[i] * WidgetDimensions::scaled.hsep_indent, HasBit(g->flags, GroupFlags::GF_REPLACE_PROTECTION), g->folded || (i + 1 < (int)this->groups.size() && indents[i + 1] > this->indents[i]));
y1 += this->tiny_step_height;
}
@ -684,7 +682,7 @@ public:
for (uint i = this->vscroll->GetPosition(); i < max; ++i) {
const Vehicle *v = this->vehgroups[i].GetSingleVehicle();
if (v->group_id != this->vli.index) {
GfxFillRect(mr.Shrink(WD_BEVEL_LEFT, WD_BEVEL_TOP, WD_BEVEL_RIGHT, WD_BEVEL_BOTTOM), _colour_gradient[COLOUR_GREY][3], FILLRECT_CHECKER);
GfxFillRect(mr.Shrink(WidgetDimensions::scaled.bevel), _colour_gradient[COLOUR_GREY][3], FILLRECT_CHECKER);
}
mr = mr.Translate(0, this->resize.step_height);
}
@ -749,8 +747,8 @@ public:
/* The group has children, check if the user clicked the fold / unfold button. */
NWidgetCore *group_display = this->GetWidget<NWidgetCore>(widget);
int x = _current_text_dir == TD_RTL ?
group_display->pos_x + group_display->current_x - WD_FRAMERECT_RIGHT - 8 - this->indents[id_g] * LEVEL_WIDTH - this->column_size[VGC_FOLD].width :
group_display->pos_x + WD_FRAMERECT_LEFT + 8 + this->indents[id_g] * LEVEL_WIDTH;
group_display->pos_x + group_display->current_x - WidgetDimensions::scaled.framerect.right - this->indents[id_g] * WidgetDimensions::scaled.hsep_indent - this->column_size[VGC_FOLD].width :
group_display->pos_x + WidgetDimensions::scaled.framerect.left + this->indents[id_g] * WidgetDimensions::scaled.hsep_indent;
if (click_count > 1 || (pt.x >= x && pt.x < (int)(x + this->column_size[VGC_FOLD].width))) {
GroupID g = this->vli.index;
@ -978,14 +976,14 @@ public:
}
case GB_SHARED_ORDERS: {
const Vehicle *v = vehgroup.vehicles_begin[0];
/* We do not support VehicleClicked() here since the contextual action may only make sense for individual vehicles */
if (vindex == v->index) {
if (vehgroup.NumVehicles() == 1) {
ShowVehicleViewWindow(v);
} else {
ShowVehicleListWindow(v);
if (!VehicleClicked(vehgroup)) {
const Vehicle* v = vehgroup.vehicles_begin[0];
if (vindex == v->index) {
if (vehgroup.NumVehicles() == 1) {
ShowVehicleViewWindow(v);
} else {
ShowVehicleListWindow(v);
}
}
}
break;

@ -131,7 +131,7 @@ struct EndGameWindow : EndGameHighScoreBaseWindow {
void OnPaint() override
{
this->SetupHighScoreEndWindow();
Point pt = this->GetTopLeft(ScaleGUITrad(640), ScaleGUITrad(480));
Point pt = this->GetTopLeft(ScaleSpriteTrad(640), ScaleSpriteTrad(480));
const Company *c = Company::GetIfValid(_local_company);
if (c == nullptr) return;
@ -142,11 +142,11 @@ struct EndGameWindow : EndGameHighScoreBaseWindow {
SetDParam(0, c->index);
SetDParam(1, c->index);
SetDParam(2, EndGameGetPerformanceTitleFromValue(c->old_economy[0].performance_history));
DrawStringMultiLine(pt.x + ScaleGUITrad(15), pt.x + ScaleGUITrad(640) - ScaleGUITrad(25), pt.y + ScaleGUITrad(90), pt.y + ScaleGUITrad(160), STR_HIGHSCORE_PRESIDENT_OF_COMPANY_ACHIEVES_STATUS, TC_FROMSTRING, SA_CENTER);
DrawStringMultiLine(pt.x + ScaleSpriteTrad(15), pt.x + ScaleSpriteTrad(640) - ScaleSpriteTrad(25), pt.y + ScaleSpriteTrad(90), pt.y + ScaleSpriteTrad(160), STR_HIGHSCORE_PRESIDENT_OF_COMPANY_ACHIEVES_STATUS, TC_FROMSTRING, SA_CENTER);
} else {
SetDParam(0, c->index);
SetDParam(1, EndGameGetPerformanceTitleFromValue(c->old_economy[0].performance_history));
DrawStringMultiLine(pt.x + ScaleGUITrad(36), pt.x + ScaleGUITrad(640), pt.y + ScaleGUITrad(140), pt.y + ScaleGUITrad(206), STR_HIGHSCORE_COMPANY_ACHIEVES_STATUS, TC_FROMSTRING, SA_CENTER);
DrawStringMultiLine(pt.x + ScaleSpriteTrad(36), pt.x + ScaleSpriteTrad(640), pt.y + ScaleSpriteTrad(140), pt.y + ScaleSpriteTrad(206), STR_HIGHSCORE_COMPANY_ACHIEVES_STATUS, TC_FROMSTRING, SA_CENTER);
}
}
};
@ -181,24 +181,24 @@ struct HighScoreWindow : EndGameHighScoreBaseWindow {
const HighScore *hs = _highscore_table[this->window_number];
this->SetupHighScoreEndWindow();
Point pt = this->GetTopLeft(ScaleGUITrad(640), ScaleGUITrad(480));
Point pt = this->GetTopLeft(ScaleSpriteTrad(640), ScaleSpriteTrad(480));
SetDParam(0, _settings_game.game_creation.ending_year);
DrawStringMultiLine(pt.x + ScaleGUITrad(70), pt.x + ScaleGUITrad(570), pt.y, pt.y + ScaleGUITrad(140), !_networking ? STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED : STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME, TC_FROMSTRING, SA_CENTER);
DrawStringMultiLine(pt.x + ScaleSpriteTrad(70), pt.x + ScaleSpriteTrad(570), pt.y, pt.y + ScaleSpriteTrad(140), !_networking ? STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED : STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME, TC_FROMSTRING, SA_CENTER);
/* Draw Highscore peepz */
for (uint8 i = 0; i < lengthof(_highscore_table[0]); i++) {
SetDParam(0, i + 1);
DrawString(pt.x + ScaleGUITrad(40), pt.x + ScaleGUITrad(600), pt.y + ScaleGUITrad(140 + i * 55), STR_HIGHSCORE_POSITION);
DrawString(pt.x + ScaleSpriteTrad(40), pt.x + ScaleSpriteTrad(600), pt.y + ScaleSpriteTrad(140 + i * 55), STR_HIGHSCORE_POSITION);
if (hs[i].company[0] != '\0') {
TextColour colour = (this->rank == i) ? TC_RED : TC_BLACK; // draw new highscore in red
SetDParamStr(0, hs[i].company);
DrawString(pt.x + ScaleGUITrad(71), pt.x + ScaleGUITrad(569), pt.y + ScaleGUITrad(140 + i * 55), STR_JUST_BIG_RAW_STRING, colour);
DrawString(pt.x + ScaleSpriteTrad(71), pt.x + ScaleSpriteTrad(569), pt.y + ScaleSpriteTrad(140 + i * 55), STR_JUST_BIG_RAW_STRING, colour);
SetDParam(0, hs[i].title);
SetDParam(1, hs[i].score);
DrawString(pt.x + ScaleGUITrad(71), pt.x + ScaleGUITrad(569), pt.y + ScaleGUITrad(140) + FONT_HEIGHT_LARGE + ScaleGUITrad(i * 55), STR_HIGHSCORE_STATS, colour);
DrawString(pt.x + ScaleSpriteTrad(71), pt.x + ScaleSpriteTrad(569), pt.y + ScaleSpriteTrad(140) + FONT_HEIGHT_LARGE + ScaleSpriteTrad(i * 55), STR_HIGHSCORE_STATS, colour);
}
}
}

@ -445,7 +445,7 @@ public:
d = maxdim(d, GetStringBoundingBox(GetIndustrySpec(this->index[i])->name));
}
resize->height = std::max<uint>(this->legend.height, FONT_HEIGHT_NORMAL) + padding.height;
d.width += this->legend.width + ScaleFontTrad(7) + padding.width;
d.width += this->legend.width + WidgetDimensions::scaled.hsep_wide + padding.width;
d.height = 5 * resize->height;
*size = maxdim(*size, d);
break;
@ -536,9 +536,9 @@ public:
switch (widget) {
case WID_DPI_MATRIX_WIDGET: {
bool rtl = _current_text_dir == TD_RTL;
Rect text = r.WithHeight(this->resize.step_height).Shrink(WD_MATRIX_LEFT, WD_MATRIX_TOP, WD_MATRIX_RIGHT, WD_MATRIX_BOTTOM);
Rect text = r.WithHeight(this->resize.step_height).Shrink(WidgetDimensions::scaled.matrix);
Rect icon = text.WithWidth(this->legend.width, rtl);
text = text.Indent(this->legend.width + ScaleFontTrad(7), rtl);
text = text.Indent(this->legend.width + WidgetDimensions::scaled.hsep_wide, rtl);
/* Vertical offset for legend icon. */
icon.top = r.top + (this->resize.step_height - this->legend.height + 1) / 2;
@ -555,7 +555,7 @@ public:
/* Draw the name of the industry in white is selected, otherwise, in orange */
DrawString(text, indsp->name, selected ? TC_WHITE : TC_ORANGE);
GfxFillRect(icon, selected ? PC_WHITE : PC_BLACK);
GfxFillRect(icon.Shrink(WD_BEVEL_LEFT, WD_BEVEL_TOP, WD_BEVEL_RIGHT, WD_BEVEL_BOTTOM), indsp->map_colour);
GfxFillRect(icon.Shrink(WidgetDimensions::scaled.bevel), indsp->map_colour);
}
text = text.Translate(0, this->resize.step_height);
@ -565,7 +565,7 @@ public:
}
case WID_DPI_INFOPANEL: {
Rect ir = r.Shrink(WD_FRAMERECT_LEFT, WD_FRAMERECT_TOP, WD_FRAMERECT_RIGHT, WD_FRAMERECT_BOTTOM);
Rect ir = r.Shrink(WidgetDimensions::scaled.framerect);
if (this->selected_type == INVALID_INDUSTRYTYPE) {
DrawStringMultiLine(ir, STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_TOOLTIP);
@ -836,6 +836,7 @@ class IndustryViewWindow : public Window
byte clicked_button; ///< The button that has been clicked (to raise)
int production_offset_y; ///< The offset of the production texts/buttons
int info_height; ///< Height needed for the #WID_IV_INFO panel
int cheat_line_height; ///< Height of each line for the #WID_IV_INFO panel
public:
IndustryViewWindow(WindowDesc *desc, WindowNumber window_number) : Window(desc)
@ -844,7 +845,7 @@ public:
this->editbox_line = IL_NONE;
this->clicked_line = IL_NONE;
this->clicked_button = 0;
this->info_height = WD_FRAMERECT_TOP + 2 * FONT_HEIGHT_NORMAL + WD_FRAMERECT_BOTTOM + 1; // Info panel has at least two lines text.
this->info_height = WidgetDimensions::scaled.framerect.Vertical() + 2 * FONT_HEIGHT_NORMAL; // Info panel has at least two lines text.
this->InitNested(window_number);
NWidgetViewport *nvp = this->GetWidget<NWidgetViewport>(WID_IV_VIEWPORT);
@ -853,6 +854,12 @@ public:
this->InvalidateData();
}
void OnInit() override
{
/* This only used when the cheat to alter industry production is enabled */
this->cheat_line_height = std::max(SETTING_BUTTON_HEIGHT + WidgetDimensions::scaled.vsep_normal, FONT_HEIGHT_NORMAL);
}
void OnPaint() override
{
this->DrawWidgets();
@ -861,7 +868,7 @@ public:
const Rect r = this->GetWidget<NWidgetBase>(WID_IV_INFO)->GetCurrentRect();
int expected = this->DrawInfo(r);
if (expected > r.bottom) {
if (expected != r.bottom) {
this->info_height = expected - r.top + 1;
this->ReInit();
return;
@ -870,22 +877,21 @@ public:
/**
* Draw the text in the #WID_IV_INFO panel.
* @param left Left edge of the panel.
* @param right Right edge of the panel.
* @param top Top edge of the panel.
* @param r Rectangle of the panel.
* @return Expected position of the bottom edge of the panel.
*/
int DrawInfo(const Rect &r)
{
bool rtl = _current_text_dir == TD_RTL;
Industry *i = Industry::Get(this->window_number);
const IndustrySpec *ind = GetIndustrySpec(i->type);
Rect ir = r.Shrink(WD_FRAMERECT_LEFT, WD_FRAMERECT_TOP, WD_FRAMERECT_RIGHT, WD_FRAMERECT_BOTTOM);
Rect ir = r.Shrink(WidgetDimensions::scaled.framerect);
bool first = true;
bool has_accept = false;
if (i->prod_level == PRODLEVEL_CLOSURE) {
DrawString(ir, STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE);
ir.top += 2 * FONT_HEIGHT_NORMAL;
ir.top += FONT_HEIGHT_NORMAL + WidgetDimensions::scaled.vsep_wide;
}
CargoSuffix cargo_suffix[lengthof(i->accepts_cargo)];
@ -923,16 +929,19 @@ public:
default:
NOT_REACHED();
}
DrawString(ir.Indent(10, _current_text_dir == TD_RTL), str);
DrawString(ir.Indent(WidgetDimensions::scaled.hsep_indent, rtl), str);
ir.top += FONT_HEIGHT_NORMAL;
}
GetAllCargoSuffixes(CARGOSUFFIX_OUT, CST_VIEW, i, i->type, ind, i->produced_cargo, cargo_suffix);
int line_height = this->editable == EA_RATE ? this->cheat_line_height : FONT_HEIGHT_NORMAL;
int text_y_offset = (line_height - FONT_HEIGHT_NORMAL) / 2;
int button_y_offset = (line_height - SETTING_BUTTON_HEIGHT) / 2;
first = true;
for (byte j = 0; j < lengthof(i->produced_cargo); j++) {
if (i->produced_cargo[j] == CT_INVALID) continue;
if (first) {
if (has_accept) ir.top += WD_PAR_VSEP_WIDE;
if (has_accept) ir.top += WidgetDimensions::scaled.vsep_wide;
DrawString(ir, STR_INDUSTRY_VIEW_PRODUCTION_LAST_MONTH_TITLE);
ir.top += FONT_HEIGHT_NORMAL;
if (this->editable == EA_RATE) this->production_offset_y = ir.top;
@ -943,24 +952,27 @@ public:
SetDParam(1, i->last_month_production[j]);
SetDParamStr(2, cargo_suffix[j].text);
SetDParam(3, ToPercent8(i->last_month_pct_transported[j]));
DrawString(ir.Indent(this->editable == EA_RATE ? SETTING_BUTTON_WIDTH + 10 : 0, false), STR_INDUSTRY_VIEW_TRANSPORTED);
DrawString(ir.Indent(WidgetDimensions::scaled.hsep_indent + (this->editable == EA_RATE ? SETTING_BUTTON_WIDTH + WidgetDimensions::scaled.hsep_normal : 0), rtl).Translate(0, text_y_offset), STR_INDUSTRY_VIEW_TRANSPORTED);
/* Let's put out those buttons.. */
if (this->editable == EA_RATE) {
DrawArrowButtons(ir.left, ir.top, COLOUR_YELLOW, (this->clicked_line == IL_RATE1 + j) ? this->clicked_button : 0,
DrawArrowButtons(ir.Indent(WidgetDimensions::scaled.hsep_indent, rtl).WithWidth(SETTING_BUTTON_WIDTH, rtl).left, ir.top + button_y_offset, COLOUR_YELLOW, (this->clicked_line == IL_RATE1 + j) ? this->clicked_button : 0,
i->production_rate[j] > 0, i->production_rate[j] < 255);
}
ir.top += FONT_HEIGHT_NORMAL;
ir.top += line_height;
}
/* Display production multiplier if editable */
if (this->editable == EA_MULTIPLIER) {
ir.top += WD_PAR_VSEP_WIDE;
line_height = this->cheat_line_height;
text_y_offset = (line_height - FONT_HEIGHT_NORMAL) / 2;
button_y_offset = (line_height - SETTING_BUTTON_HEIGHT) / 2;
ir.top += WidgetDimensions::scaled.vsep_wide;
this->production_offset_y = ir.top;
SetDParam(0, RoundDivSU(i->prod_level * 100, PRODLEVEL_DEFAULT));
DrawString(ir.Indent(SETTING_BUTTON_WIDTH + 10, false), STR_INDUSTRY_VIEW_PRODUCTION_LEVEL);
DrawArrowButtons(ir.left, ir.top, COLOUR_YELLOW, (this->clicked_line == IL_MULTIPLIER) ? this->clicked_button : 0,
DrawString(ir.Indent(WidgetDimensions::scaled.hsep_indent + SETTING_BUTTON_WIDTH + WidgetDimensions::scaled.hsep_normal, rtl).Translate(0, text_y_offset), STR_INDUSTRY_VIEW_PRODUCTION_LEVEL);
DrawArrowButtons(ir.Indent(WidgetDimensions::scaled.hsep_indent, rtl).WithWidth(SETTING_BUTTON_WIDTH, rtl).left, ir.top + button_y_offset, COLOUR_YELLOW, (this->clicked_line == IL_MULTIPLIER) ? this->clicked_button : 0,
i->prod_level > PRODLEVEL_MINIMUM, i->prod_level < PRODLEVEL_MAXIMUM);
ir.top += FONT_HEIGHT_NORMAL;
ir.top += line_height;
}
/* Get the extra message for the GUI */
@ -972,7 +984,7 @@ public:
} else {
StringID message = GetGRFStringID(ind->grf_prop.grffile->grfid, 0xD000 + callback_res);
if (message != STR_NULL && message != STR_UNDEFINED) {
ir.top += WD_PAR_VSEP_WIDE;
ir.top += WidgetDimensions::scaled.vsep_wide;
StartTextRefStackUsage(ind->grf_prop.grffile, 6);
/* Use all the available space left from where we stand up to the
@ -987,11 +999,12 @@ public:
if (!i->text.empty()) {
SetDParamStr(0, i->text);
ir.top += WD_PAR_VSEP_WIDE;
ir.top += WidgetDimensions::scaled.vsep_wide;
ir.top = DrawStringMultiLine(ir.left, ir.right, ir.top, UINT16_MAX, STR_JUST_RAW_STRING, TC_BLACK);
}
return ir.top - 1 + WD_FRAMERECT_BOTTOM;
/* Return required bottom position, the last pixel row plus some padding. */
return ir.top - 1 + WidgetDimensions::scaled.framerect.bottom;
}
void SetStringParameters(int widget) const override
@ -1015,12 +1028,12 @@ public:
case EA_NONE: break;
case EA_MULTIPLIER:
if (IsInsideBS(pt.y, this->production_offset_y, FONT_HEIGHT_NORMAL)) line = IL_MULTIPLIER;
if (IsInsideBS(pt.y, this->production_offset_y, this->cheat_line_height)) line = IL_MULTIPLIER;
break;
case EA_RATE:
if (pt.y >= this->production_offset_y) {
int row = (pt.y - this->production_offset_y) / FONT_HEIGHT_NORMAL;
int row = (pt.y - this->production_offset_y) / this->cheat_line_height;
for (uint j = 0; j < lengthof(i->produced_cargo); j++) {
if (i->produced_cargo[j] == CT_INVALID) continue;
row--;
@ -1034,15 +1047,15 @@ public:
}
if (line == IL_NONE) return;
NWidgetBase *nwi = this->GetWidget<NWidgetBase>(widget);
int left = nwi->pos_x + WD_FRAMETEXT_LEFT;
int right = nwi->pos_x + nwi->current_x - 1 - WD_FRAMERECT_RIGHT;
if (IsInsideMM(pt.x, left, left + SETTING_BUTTON_WIDTH)) {
bool rtl = _current_text_dir == TD_RTL;
Rect r = this->GetWidget<NWidgetBase>(widget)->GetCurrentRect().Shrink(WidgetDimensions::scaled.framerect).Indent(WidgetDimensions::scaled.hsep_indent, rtl);
if (r.WithWidth(SETTING_BUTTON_WIDTH, rtl).Contains(pt)) {
/* Clicked buttons, decrease or increase production */
byte button = (pt.x < left + SETTING_BUTTON_WIDTH / 2) ? 1 : 2;
bool decrease = r.WithWidth(SETTING_BUTTON_WIDTH / 2, rtl).Contains(pt);
switch (this->editable) {
case EA_MULTIPLIER:
if (button == 1) {
if (decrease) {
if (i->prod_level <= PRODLEVEL_MINIMUM) return;
i->prod_level = std::max<uint>(i->prod_level / 2, PRODLEVEL_MINIMUM);
} else {
@ -1052,7 +1065,7 @@ public:
break;
case EA_RATE:
if (button == 1) {
if (decrease) {
if (i->production_rate[line - IL_RATE1] <= 0) return;
i->production_rate[line - IL_RATE1] = std::max(i->production_rate[line - IL_RATE1] / 2, 0);
} else {
@ -1070,8 +1083,8 @@ public:
this->SetDirty();
this->SetTimeout();
this->clicked_line = line;
this->clicked_button = button;
} else if (IsInsideMM(pt.x, left + SETTING_BUTTON_WIDTH + 10, right)) {
this->clicked_button = (decrease ^ rtl) ? 1 : 2;
} else if (r.Indent(SETTING_BUTTON_WIDTH + WidgetDimensions::scaled.hsep_normal, rtl).Contains(pt)) {
/* clicked the text */
this->editbox_line = line;
switch (this->editable) {
@ -1203,7 +1216,7 @@ static const NWidgetPart _nested_industry_view_widgets[] = {
NWidget(NWID_VIEWPORT, INVALID_COLOUR, WID_IV_VIEWPORT), SetMinimalSize(254, 86), SetFill(1, 0), SetResize(1, 1),
EndContainer(),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_CREAM, WID_IV_INFO), SetMinimalSize(260, 2), SetResize(1, 0),
NWidget(WWT_PANEL, COLOUR_CREAM, WID_IV_INFO), SetMinimalSize(260, 0), SetMinimalTextLines(2, WidgetDimensions::unscaled.framerect.Vertical()), SetResize(1, 0),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_PUSHTXTBTN, COLOUR_CREAM, WID_IV_DISPLAY), SetFill(1, 0), SetResize(1, 0), SetDataTip(STR_INDUSTRY_DISPLAY_CHAIN, STR_INDUSTRY_DISPLAY_CHAIN_TOOLTIP),
@ -1669,7 +1682,7 @@ public:
case WID_ID_INDUSTRY_LIST: {
int n = 0;
Rect ir = r.Shrink(WD_FRAMERECT_LEFT, WD_FRAMERECT_TOP, WD_FRAMERECT_RIGHT, WD_FRAMERECT_BOTTOM);
Rect ir = r.Shrink(WidgetDimensions::scaled.framerect);
if (this->industries.size() == 0) {
DrawString(ir, STR_INDUSTRY_DIRECTORY_NONE);
break;
@ -1723,8 +1736,8 @@ public:
}
resize->height = d.height;
d.height *= 5;
d.width += padding.width + WD_FRAMERECT_LEFT + WD_FRAMERECT_RIGHT;
d.height += padding.height + WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM;
d.width += padding.width;
d.height += padding.height;
*size = maxdim(*size, d);
break;
}
@ -1753,7 +1766,7 @@ public:
break;
case WID_ID_INDUSTRY_LIST: {
uint p = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_ID_INDUSTRY_LIST, WD_FRAMERECT_TOP);
uint p = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_ID_INDUSTRY_LIST, WidgetDimensions::scaled.framerect.top);
if (p < this->industries.size()) {
if (_ctrl_pressed) {
ShowExtraViewportWindow(this->industries[p]->location.tile);
@ -1919,8 +1932,8 @@ static const uint MAX_CARGOES = 16; ///< Maximum number of cargoes carried in a
/** Data about a single field in the #IndustryCargoesWindow panel. */
struct CargoesField {
static const int VERT_INTER_INDUSTRY_SPACE;
static const int BLOB_DISTANCE;
static int vert_inter_industry_space;
static int blob_distance;
static Dimension legend;
static Dimension cargo_border;
@ -2110,8 +2123,8 @@ struct CargoesField {
break;
case CFT_INDUSTRY: {
int ypos1 = ypos + VERT_INTER_INDUSTRY_SPACE / 2;
int ypos2 = ypos + normal_height - 1 - VERT_INTER_INDUSTRY_SPACE / 2;
int ypos1 = ypos + vert_inter_industry_space / 2;
int ypos2 = ypos + normal_height - 1 - vert_inter_industry_space / 2;
int xpos2 = xpos + industry_width - 1;
GfxDrawLine(xpos, ypos1, xpos2, ypos1, INDUSTRY_LINE_COLOUR);
GfxDrawLine(xpos, ypos1, xpos, ypos2, INDUSTRY_LINE_COLOUR);
@ -2125,14 +2138,14 @@ struct CargoesField {
/* Draw the industry legend. */
int blob_left, blob_right;
if (_current_text_dir == TD_RTL) {
blob_right = xpos2 - BLOB_DISTANCE;
blob_right = xpos2 - blob_distance;
blob_left = blob_right - CargoesField::legend.width;
} else {
blob_left = xpos + BLOB_DISTANCE;
blob_left = xpos + blob_distance;
blob_right = blob_left + CargoesField::legend.width;
}
GfxFillRect(blob_left, ypos2 - BLOB_DISTANCE - CargoesField::legend.height, blob_right, ypos2 - BLOB_DISTANCE, PC_BLACK); // Border
GfxFillRect(blob_left + 1, ypos2 - BLOB_DISTANCE - CargoesField::legend.height + 1, blob_right - 1, ypos2 - BLOB_DISTANCE - 1, indsp->map_colour);
GfxFillRect(blob_left, ypos2 - blob_distance - CargoesField::legend.height, blob_right, ypos2 - blob_distance, PC_BLACK); // Border
GfxFillRect(blob_left + 1, ypos2 - blob_distance - CargoesField::legend.height + 1, blob_right - 1, ypos2 - blob_distance - 1, indsp->map_colour);
} else {
DrawString(xpos, xpos2, ypos, STR_INDUSTRY_CARGOES_HOUSES, TC_FROMSTRING, SA_HOR_CENTER);
}
@ -2167,8 +2180,8 @@ struct CargoesField {
case CFT_CARGO: {
int cargo_base = this->GetCargoBase(xpos);
int top = ypos + (this->u.cargo.top_end ? VERT_INTER_INDUSTRY_SPACE / 2 + 1 : 0);
int bot = ypos - (this->u.cargo.bottom_end ? VERT_INTER_INDUSTRY_SPACE / 2 + 1 : 0) + normal_height - 1;
int top = ypos + (this->u.cargo.top_end ? vert_inter_industry_space / 2 + 1 : 0);
int bot = ypos - (this->u.cargo.bottom_end ? vert_inter_industry_space / 2 + 1 : 0) + normal_height - 1;
int colpos = cargo_base;
for (int i = 0; i < this->u.cargo.num_cargoes; i++) {
if (this->u.cargo.top_end) GfxDrawLine(colpos, top - 1, colpos + CargoesField::cargo_line.width - 1, top - 1, CARGO_LINE_COLOUR);
@ -2190,7 +2203,7 @@ struct CargoesField {
hor_left = this->u.cargo.supp_cargoes;
hor_right = this->u.cargo.cust_cargoes;
}
ypos += CargoesField::cargo_border.height + VERT_INTER_INDUSTRY_SPACE / 2 + (FONT_HEIGHT_NORMAL - CargoesField::cargo_line.height) / 2;
ypos += CargoesField::cargo_border.height + vert_inter_industry_space / 2 + (FONT_HEIGHT_NORMAL - CargoesField::cargo_line.height) / 2;
for (uint i = 0; i < MAX_CARGOES; i++) {
if (hor_left[i] != INVALID_CARGO) {
int col = hor_left[i];
@ -2220,11 +2233,11 @@ struct CargoesField {
}
case CFT_CARGO_LABEL:
ypos += CargoesField::cargo_border.height + VERT_INTER_INDUSTRY_SPACE / 2;
ypos += CargoesField::cargo_border.height + vert_inter_industry_space / 2;
for (uint i = 0; i < MAX_CARGOES; i++) {
if (this->u.cargo_label.cargoes[i] != INVALID_CARGO) {
const CargoSpec *csp = CargoSpec::Get(this->u.cargo_label.cargoes[i]);
DrawString(xpos + WD_FRAMERECT_LEFT, xpos + industry_width - 1 - WD_FRAMERECT_RIGHT, ypos, csp->name, TC_WHITE,
DrawString(xpos + WidgetDimensions::scaled.framerect.left, xpos + industry_width - 1 - WidgetDimensions::scaled.framerect.right, ypos, csp->name, TC_WHITE,
(this->u.cargo_label.left_align) ? SA_LEFT : SA_RIGHT);
}
ypos += FONT_HEIGHT_NORMAL + CargoesField::cargo_space.height;
@ -2257,7 +2270,7 @@ struct CargoesField {
}
/* col = 0 -> left of first col, 1 -> left of 2nd col, ... this->u.cargo.num_cargoes right of last-col. */
int vpos = VERT_INTER_INDUSTRY_SPACE / 2 + CargoesField::cargo_border.width;
int vpos = vert_inter_industry_space / 2 + CargoesField::cargo_border.width;
uint row;
for (row = 0; row < MAX_CARGOES; row++) {
if (pt.y < vpos) return INVALID_CARGO;
@ -2304,7 +2317,7 @@ struct CargoesField {
{
assert(this->type == CFT_CARGO_LABEL);
int vpos = VERT_INTER_INDUSTRY_SPACE / 2 + CargoesField::cargo_border.height;
int vpos = vert_inter_industry_space / 2 + CargoesField::cargo_border.height;
uint row;
for (row = 0; row < MAX_CARGOES; row++) {
if (pt.y < vpos) return INVALID_CARGO;
@ -2345,9 +2358,9 @@ int CargoesField::normal_height; ///< Height of the non-header rows.
int CargoesField::industry_width; ///< Width of an industry field.
int CargoesField::cargo_field_width; ///< Width of a cargo field.
uint CargoesField::max_cargoes; ///< Largest number of cargoes actually on any industry.
const int CargoesField::VERT_INTER_INDUSTRY_SPACE = 6; ///< Amount of space between two industries in a column.
int CargoesField::vert_inter_industry_space; ///< Amount of space between two industries in a column.
const int CargoesField::BLOB_DISTANCE = 5; ///< Distance of the industry legend colour from the edge of the industry box.
int CargoesField::blob_distance; ///< Distance of the industry legend colour from the edge of the industry box.
const int CargoesField::INDUSTRY_LINE_COLOUR = PC_YELLOW; ///< Line colour of the industry type box.
const int CargoesField::CARGO_LINE_COLOUR = PC_YELLOW; ///< Line colour around the cargo.
@ -2490,8 +2503,6 @@ next_cargo: ;
* customer industries). The remaining two columns are set to #CFT_EMPTY with a width equal to the average of a cargo and an industry column.
*/
struct IndustryCargoesWindow : public Window {
static const int HOR_TEXT_PADDING, VERT_TEXT_PADDING;
typedef std::vector<CargoesRow> Fields;
Fields fields; ///< Fields to display in the #WID_IC_PANEL.
@ -2514,8 +2525,8 @@ struct IndustryCargoesWindow : public Window {
/* Initialize static CargoesField size variables. */
Dimension d = GetStringBoundingBox(STR_INDUSTRY_CARGOES_PRODUCERS);
d = maxdim(d, GetStringBoundingBox(STR_INDUSTRY_CARGOES_CUSTOMERS));
d.width += WD_FRAMETEXT_LEFT + WD_FRAMETEXT_RIGHT;
d.height += WD_FRAMETEXT_TOP + WD_FRAMETEXT_BOTTOM;
d.width += WidgetDimensions::scaled.frametext.Horizontal();
d.height += WidgetDimensions::scaled.frametext.Vertical();
CargoesField::small_height = d.height;
/* Size of the legend blob -- slightly larger than the smallmap legend blob. */
@ -2523,7 +2534,7 @@ struct IndustryCargoesWindow : public Window {
CargoesField::legend.width = CargoesField::legend.height * 8 / 5;
/* Size of cargo lines. */
CargoesField::cargo_line.width = FONT_HEIGHT_NORMAL;
CargoesField::cargo_line.width = ScaleGUITrad(6);
CargoesField::cargo_line.height = CargoesField::cargo_line.width;
/* Size of border between cargo lines and industry boxes. */
@ -2538,6 +2549,9 @@ struct IndustryCargoesWindow : public Window {
CargoesField::cargo_stub.width = CargoesField::cargo_line.width / 2;
CargoesField::cargo_stub.height = CargoesField::cargo_line.height; /* Unused */
CargoesField::vert_inter_industry_space = WidgetDimensions::scaled.vsep_wide;
CargoesField::blob_distance = WidgetDimensions::scaled.hsep_normal;
/* Decide about the size of the box holding the text of an industry type. */
this->ind_textsize.width = 0;
this->ind_textsize.height = 0;
@ -2564,13 +2578,13 @@ struct IndustryCargoesWindow : public Window {
d = maxdim(d, this->cargo_textsize); // Box must also be wide enough to hold any cargo label.
this->cargo_textsize = maxdim(this->cargo_textsize, GetStringBoundingBox(STR_INDUSTRY_CARGOES_SELECT_CARGO));
d.width += 2 * HOR_TEXT_PADDING;
d.width += WidgetDimensions::scaled.frametext.Horizontal();
/* Ensure the height is enough for the industry type text, for the horizontal connections, and for the cargo labels. */
uint min_ind_height = CargoesField::cargo_border.height * 2 + CargoesField::max_cargoes * FONT_HEIGHT_NORMAL + (CargoesField::max_cargoes - 1) * CargoesField::cargo_space.height;
d.height = std::max(d.height + 2 * VERT_TEXT_PADDING, min_ind_height);
d.height = std::max(d.height + WidgetDimensions::scaled.frametext.Vertical(), min_ind_height);
CargoesField::industry_width = d.width;
CargoesField::normal_height = d.height + CargoesField::VERT_INTER_INDUSTRY_SPACE;
CargoesField::normal_height = d.height + CargoesField::vert_inter_industry_space;
/* Width of a #CFT_CARGO field. */
CargoesField::cargo_field_width = CargoesField::cargo_border.width * 2 + CargoesField::cargo_line.width * CargoesField::max_cargoes + CargoesField::cargo_space.width * (CargoesField::max_cargoes - 1);
@ -2581,8 +2595,8 @@ struct IndustryCargoesWindow : public Window {
switch (widget) {
case WID_IC_PANEL:
resize->height = CargoesField::normal_height;
size->width = WD_FRAMETEXT_LEFT + CargoesField::industry_width * 3 + CargoesField::cargo_field_width * 2 + WD_FRAMETEXT_RIGHT;
size->height = WD_FRAMETEXT_TOP + CargoesField::small_height + 2 * resize->height + WD_FRAMETEXT_BOTTOM;
size->width = CargoesField::industry_width * 3 + CargoesField::cargo_field_width * 2 + WidgetDimensions::scaled.frametext.Horizontal();
size->height = CargoesField::small_height + 2 * resize->height + WidgetDimensions::scaled.frametext.Vertical();
break;
case WID_IC_IND_DROPDOWN:
@ -2941,7 +2955,7 @@ struct IndustryCargoesWindow : public Window {
{
if (widget != WID_IC_PANEL) return;
Rect ir = r.Shrink(WD_FRAMERECT_LEFT, WD_FRAMERECT_TOP, WD_FRAMERECT_RIGHT, WD_FRAMERECT_BOTTOM);
Rect ir = r.Shrink(WidgetDimensions::scaled.framerect);
DrawPixelInfo tmp_dpi, *old_dpi;
if (!FillDrawPixelInfo(&tmp_dpi, ir.left, ir.top, ir.Width(), ir.Height())) return;
old_dpi = _cur_dpi;
@ -2991,7 +3005,7 @@ struct IndustryCargoesWindow : public Window {
pt.x -= nw->pos_x;
pt.y -= nw->pos_y;
int vpos = WD_FRAMERECT_TOP + CargoesField::small_height - this->vscroll->GetPosition() * nw->resize_y;
int vpos = WidgetDimensions::scaled.framerect.top + CargoesField::small_height - this->vscroll->GetPosition() * nw->resize_y;
if (pt.y < vpos) return false;
int row = (pt.y - vpos) / CargoesField::normal_height; // row is relative to row 1.
@ -2999,7 +3013,7 @@ struct IndustryCargoesWindow : public Window {
vpos = pt.y - vpos - row * CargoesField::normal_height; // Position in the row + 1 field
row++; // rebase row to match index of this->fields.
int xpos = 2 * WD_FRAMERECT_LEFT + ((this->ind_cargo < NUM_INDUSTRYTYPES) ? 0 : (CargoesField::industry_width + CargoesField::cargo_field_width) / 2);
int xpos = 2 * WidgetDimensions::scaled.framerect.left + ((this->ind_cargo < NUM_INDUSTRYTYPES) ? 0 : (CargoesField::industry_width + CargoesField::cargo_field_width) / 2);
if (pt.x < xpos) return false;
int column;
for (column = 0; column <= 5; column++) {
@ -3178,7 +3192,7 @@ struct IndustryCargoesWindow : public Window {
void OnResize() override
{
this->vscroll->SetCapacityFromWidget(this, WID_IC_PANEL, WD_FRAMERECT_TOP + CargoesField::small_height);
this->vscroll->SetCapacityFromWidget(this, WID_IC_PANEL, WidgetDimensions::scaled.framerect.top + CargoesField::small_height);
}
bool IsNewGRFInspectable() const override
@ -3196,9 +3210,6 @@ struct IndustryCargoesWindow : public Window {
}
};
const int IndustryCargoesWindow::HOR_TEXT_PADDING = 5; ///< Horizontal padding around the industry type text.
const int IndustryCargoesWindow::VERT_TEXT_PADDING = 5; ///< Vertical padding around the industry type text.
/**
* Open the industry and cargoes window.
* @param id Industry type to display, \c NUM_INDUSTRYTYPES selects a default industry type.

@ -980,18 +980,8 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :ander
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK} Koppelvlak groote
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK} Kies die koppelvlak element groote om te gebruik
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normaal
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dubbel groote
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Quad grootte
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Skrifgrootte
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normaal
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Dubbele grootte
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Quad grootte
@ -4726,6 +4716,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Kan nie
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... voertuig is vernietig
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Geen voertuie gaan beskikbaar wees nie
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Verander jou NewGRF stellings
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Geen voertuie is op die oomblik beskikbaar nie

@ -973,20 +973,8 @@ STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}لن ي
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}حجم اللوحة
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}حدد العنصر المطلوب
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :تقريب عادي
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :تقريب ×2
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :تقريب ×4
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}حجم الخط
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}حدد حجم خط الواجهة المراد استخدامه
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(كشف أوتوماتيكي)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :عادي
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :حجم مزدوج
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :حجم رباعي
STR_GAME_OPTIONS_GRAPHICS :{BLACK}الرسومات
@ -4359,6 +4347,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}لا ي
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... العربة تحطمت
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}لن تتوافر اى وسائل نقل على اﻹطلاق
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}لا تتوافر اى آليه نقل بعد

@ -951,11 +951,6 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :besteak
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Interfaze tamaina
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normala
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Tamaina doblea
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Tamaina laukoitza
@ -4455,6 +4450,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Ezin da
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... garraioa suntsituta
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Ez da ibilgailu erabilgarririk egongo
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Aldatu zure NewGRF konfigurazioa
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Ez dago ibilgailu erabilgarririk oraindik

@ -1289,18 +1289,8 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :Iншае
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Памер элементаў інтэрфейсу
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Выберыце памер элементаў інтэрфейсу
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Звычайны
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Падвоены
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Пачацвяроны
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Памер шрыфта
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Абярыце памер шрыфта, выкарыстоўванага ў гульні
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Звычайны
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Падвоены
STR_GAME_OPTIONS_REFRESH_RATE :{BLACK}Чашчыня абнаўлення экрана
@ -5079,6 +5069,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Не а
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... транспартны сродак зьнішчаны
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Усе транспартныя сродкі будуць недаступныя
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Зьмяніце канфігурацыю модуля NewGRF
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Няма даступных транспартных сродкаў

@ -1010,21 +1010,8 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Marque e
STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Motorista atual: {STRING}
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Tamanho da interface
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Selecione o tamanho de elemento de interface a ser usado
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(detecção automática)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dobro
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Quádruplo
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Tamanho da fonte
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Selecione o tamanho da fonte da interface a ser usado
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(detecção automática)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Tamanho duplo
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Tamanho quádruplo
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Gráficos
@ -3656,7 +3643,6 @@ STR_FINANCES_SECTION_OTHER :{GOLD}Outros
STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG}
STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG}
STR_FINANCES_NET_PROFIT :{WHITE}Lucro Líquido
STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Balanço Bancário
STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}Fundos Próprios
STR_FINANCES_LOAN_TITLE :{WHITE}Empréstimo
@ -5009,6 +4995,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Impossí
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... veículo está destruído
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Não haverá nenhum veículo disponível
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Altere sua configuração de NewGRF
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Não há veículos disponíveis ainda

@ -955,12 +955,6 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :друго
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Интерфейс размер
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Изберете размера на интерфейс елемент за използване
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Нормално
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Двукратно
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Четирикратно
@ -4537,6 +4531,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Инте
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... машината е унищожена
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Никакви превозни средства няма да бъдат налични
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Промени своята NewGRF конфигурация
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Няма налични превозни средства все още

@ -1010,21 +1010,8 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Seleccio
STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Controlador actual: {STRING}
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Mida de la interfície
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Escull la mida dels elements de la interfície
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(detecta automàticament)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Doble
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Quàdruple
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Mida de la lletra
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Seleccioneu la mida de les fonts de la interfície.
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(detecta automàticament)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Doble
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Quàdruple
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Gràfics
@ -3661,7 +3648,6 @@ STR_FINANCES_SECTION_OTHER :{GOLD}Altres
STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG}
STR_FINANCES_ZERO_INCOME :{CURRENCY_LONG}
STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG}
STR_FINANCES_NET_PROFIT :{WHITE}Benefici net
STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Balanç bancari
STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}Fons propis
STR_FINANCES_LOAN_TITLE :{WHITE}Préstec
@ -5015,6 +5001,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}No es po
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... vehicle està destruït
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}No hi haurà cap vehicle disponible
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Canvia la teva configuració dels NewGRF
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Encara no hi ha vehicles disponibles

@ -521,7 +521,6 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :расна
# Custom currency window
@ -1707,6 +1706,7 @@ STR_ERROR_OBJECT_IN_THE_WAY :{WHITE}Ҫул
# Specific vehicle errors

@ -1082,19 +1082,8 @@ STR_GAME_OPTIONS_RESOLUTION_ITEM :{NUM}x{NUM}
STR_GAME_OPTIONS_VIDEO_VSYNC :{BLACK}VSync
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Veličina sučelja
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Odaberite koju ćete veličinu elementa sučelja koristiti
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normalno
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dvostruka veličina
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Četvorostruka veličina
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Veličina fonta
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Odaberite veličinu fonta za sučelje
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normalno
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Dvostruka veličina
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Četvorostruka veličina
@ -4914,6 +4903,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Nije mog
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... vozilo je uništeno
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Neće biti dostupno nijedno vozilo
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Promijenite konfiguraciju NewGRF-a
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Još nema dostupnih vozila

@ -1104,21 +1104,8 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Zaškrtn
STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Aktuální ovladač: {STRING}
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Velikost rozhraní
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Zvolit velikost prvků uživatelského rozhraní
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(zjistit automaticky)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normální
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dvojnásobná velikost
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Čtyřnásobná velikost
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Velikost písma
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Zvolit velikost písma
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(zjistit automaticky)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Běžné
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Dvojnásobná velikost
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Čtyřnásobná velikost
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Grafiky
@ -4282,7 +4269,6 @@ STR_FINANCES_SECTION_OTHER :{GOLD}Další
STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG}
STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG}
STR_FINANCES_NET_PROFIT :{WHITE}Čistý zisk
STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Stav na účtu
STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}Vlastní Prostředky
STR_FINANCES_LOAN_TITLE :{WHITE}Půjčka
@ -5645,6 +5631,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Nelze zm
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... vozidlo bylo zničeno
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Žádná vozidla nejsou dostupná
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Zmeň nastavení NewGRF
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Zatím nejsou dostupná žádná vozidla

@ -1008,21 +1008,8 @@ STR_GAME_OPTIONS_VIDEO_VSYNC :{BLACK}VSync
STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Afmærk dette felt for at v-synkronisere skærmen. Ændringer af indstillingen er først effektiv efter spillet er genstartet. Fungerer kun med hardware-acceleration aktiveret.
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}grænseflade størrelse
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Vælg den grænseflade størrelse du ønsker at benytte
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(auto-bestem)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dobbelt størrelse
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Quad (4x) størrelse
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Skriftstørrelse
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Vælg skriftstørrelsen du ønsker i grænsefladen
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(auto-bestem)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Dobbelt størrelse
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Quad (4x) størrelse
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Grafik
@ -4989,6 +4976,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Kan ikke
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... fartøjet er ødelagt
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Ingen køretøjer vil være tilgængelige overhovedet
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Skift din NewGRF-konfiguration
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Ingen køretøjer er tilgængelige endnu

@ -410,6 +410,8 @@ STR_SCENEDIT_FILE_MENU_QUIT :Afsluiten
###length 15
STR_SETTINGS_MENU_GAME_OPTIONS :Spelopties
STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Instellingen
STR_SETTINGS_MENU_AI_SETTINGS :AI-instellingen
STR_SETTINGS_MENU_GAMESCRIPT_SETTINGS :Spelscript-instellingen
STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF-instellingen
STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Doorzichtigheidsopties
STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Plaatsnamen weergeven
@ -1018,21 +1020,19 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Selectee
STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Huidige driver: {STRING}
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Formaat bedieningselementen
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Selecteer de grootte van bedieningselementen
STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}Grootte gebruikersscherm
STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Sleep de schuif om de grootte van het gebruikersscherm in te stellen. Hou Ctrl ingedrukt voor geleidelijke aanpassing
STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}Grootte automatisch detecteren
STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Vink dit vakje aan om de grootte van het gebruikersscherm automatisch te detecteren
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(automatische detectie)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normaal
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dubbele grootte
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :4x Grootte
STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Randen schalen
STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Vink dit vakje aan om randen te schalen op grootte van gebruikersscherm
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Lettergrootte
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Selecteer de grootte van de letters
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(automatische detectie)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normaal
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Dubbele grootte
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Viervoudige grootte
STR_GAME_OPTIONS_GUI_SCALE_1X :1x
STR_GAME_OPTIONS_GUI_SCALE_2X :2x
STR_GAME_OPTIONS_GUI_SCALE_3X :3x
STR_GAME_OPTIONS_GUI_SCALE_4X :4x
STR_GAME_OPTIONS_GUI_SCALE_5X :5x
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Weergave
@ -2079,6 +2079,8 @@ STR_INTRO_HIGHSCORE :{BLACK}Scoretab
STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Instellingen
STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF-instellingen
STR_INTRO_ONLINE_CONTENT :{BLACK}Online inhoud zoeken
STR_INTRO_AI_SETTINGS :{BLACK}AI-instellingen
STR_INTRO_GAMESCRIPT_SETTINGS :{BLACK}Spelscript-instellingen
STR_INTRO_QUIT :{BLACK}Afsluiten
STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Start een nieuw spel. Ctrl+klik slaat de kaartconfiguratie over
@ -2098,6 +2100,8 @@ STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Scoretab
STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Scherminstellingen
STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}NewGRF-instellingen weergeven
STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Zoeken naar nieuwe en aangepaste inhoud om te downloaden
STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}AI-instellingen weergeven
STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Spelscript-instellingen weergeven
STR_INTRO_TOOLTIP_QUIT :{BLACK}'OpenTTD' afsluiten
STR_INTRO_BASESET :{BLACK}De huidige gekozen set grafische elementen mist {NUM} sprite{P "" s}. Controleer of er updates zijn voor deze basisset.
@ -3161,6 +3165,12 @@ STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Rivieren
STR_MAPGEN_SMOOTHNESS :{BLACK}Gladheid:
STR_MAPGEN_VARIETY :{BLACK}Landschapsvariatie:
STR_MAPGEN_GENERATE :{WHITE}Maken
STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}NewGRF-instellingen
STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}NewGRF-instellingen weergeven
STR_MAPGEN_AI_SETTINGS :{BLACK}AI-instellingen
STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}AI-instellingen weergeven
STR_MAPGEN_GS_SETTINGS :{BLACK}Spelscript-instellingen
STR_MAPGEN_GS_SETTINGS_TOOLTIP :{BLACK}Spelscript-instellingen weergeven
###length 21
STR_MAPGEN_TOWN_NAME_ORIGINAL_ENGLISH :Engels (Origineel)
@ -3487,14 +3497,14 @@ STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Exclusieve tran
STR_LOCAL_AUTHORITY_ACTION_BRIBE :Gemeentebestuur omkopen
###length 8
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Begin een kleine reclamecampagne om meer passagiers en vracht naar jouw transportdiensten te trekken.{}Zorgt voor een tijdelijk hogere stationswaardering in een klein gebied rondom het centrum.{}Kosten: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Begin een middelgrote reclamecampagne om meer passagiers en vracht naar jouw transportdiensten te trekken.{}Zorgt voor een tijdelijk hogere stationswaardering in een middelgroot gebied rondom het centrum.{}Kosten: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Begin een grote reclamecampagne om meer passagiers en vracht naar jouw transportdiensten te trekken.{}Zorgt voor een tijdelijk hogere stationswaardering in een groot gebied rondom het centrum.{}Kosten: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Financier een reconstructie van het wegennetwerk.{}Veroorzaakt tot 6 maanden lang een aanzienlijke verstoring van het wegverkeer.{}Kosten: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Een standbeeld bouwen ter ere van jouw bedrijf.{}Zorgt voor een blijvend hogere stationswaardering in deze stad.{}Kosten: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}De bouw van nieuwe gebouwen in de stad financieren.{}Zorgt voor een tijdelijk hogere groei van deze stad.{}Kosten: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}1 jaar exclusieve transportrechten kopen in deze plaats.{}Het gemeentebestuur staat alleen passagiers en vracht toe bij jouw stations.{}Kosten: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Koop het plaatselijk gezag om om je reputatie te verhogen met het risico op een strenge sanctie wanneer je gepakt wordt.{}Kosten: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{PUSH_COLOUR}{YELLOW}Begin een kleine reclamecampagne om meer passagiers en vracht naar jouw transportdiensten te trekken.{}Zorgt voor een tijdelijk hogere stationswaardering in een klein gebied rondom het centrum.{}{POP_COLOUR}Kosten: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{YELLOW}Begin een middelgrote reclamecampagne om meer passagiers en vracht naar jouw transportdiensten te trekken.{}Zorgt voor een tijdelijk hogere stationswaardering in een middelgroot gebied rondom het centrum.{}{POP_COLOUR}Kosten: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Begin een grote reclamecampagne om meer passagiers en vracht naar jouw transportdiensten te trekken.{}Zorgt voor een tijdelijk hogere stationswaardering in een groot gebied rondom het centrum.{}{POP_COLOUR}Kosten: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{PUSH_COLOUR}{YELLOW}Financier een reconstructie van het wegennetwerk.{}Veroorzaakt tot 6 maanden lang een aanzienlijke verstoring van het wegverkeer.{}{POP_COLOUR}Kosten: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Bouw een standbeeld ter ere van jouw bedrijf.{}Zorgt voor een blijvend hogere stationswaardering in deze stad.{}{POP_COLOUR}Kosten: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}Financier de bouw van nieuwe gebouwen in de stad.{}Zorgt voor een tijdelijk hogere groei van deze stad.{}{POP_COLOUR}Kosten: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{PUSH_COLOUR}{YELLOW}1 jaar exclusieve transportrechten kopen in deze plaats.{}Het gemeentebestuur staat alleen passagiers en vracht toe bij jouw stations.{}{POP_COLOUR}Kosten: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}Koop het plaatselijk gezag om om je reputatie te verhogen met het risico op een ernstige sanctie wanneer je gepakt wordt.{}{POP_COLOUR}Kosten: {CURRENCY_LONG}
# Goal window
STR_GOALS_CAPTION :{WHITE}{COMPANY} Doelen
@ -3667,16 +3677,18 @@ STR_FINANCES_SECTION_SHIP_REVENUE :{GOLD}Schepen
STR_FINANCES_SECTION_LOAN_INTEREST :{GOLD} Rente van lening
STR_FINANCES_SECTION_OTHER :{GOLD}Overig
STR_FINANCES_TOTAL_CAPTION :{WHITE}Totaal
STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG}
STR_FINANCES_ZERO_INCOME :{CURRENCY_LONG}
STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG}
STR_FINANCES_NET_PROFIT :{WHITE}Nettowinst
STR_FINANCES_PROFIT :{WHITE}Winst
STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Banksaldo
STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}Eigen kapitaal
STR_FINANCES_LOAN_TITLE :{WHITE}Lening
STR_FINANCES_INTEREST_RATE :{WHITE}Rente op lening: {BLACK}{NUM}%
STR_FINANCES_MAX_LOAN :{WHITE}Maximale lening: {BLACK}{CURRENCY_LONG}
STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG}
STR_FINANCES_BANK_BALANCE :{WHITE}{CURRENCY_LONG}
STR_FINANCES_BORROW_BUTTON :{BLACK}{CURRENCY_LONG} lenen
STR_FINANCES_BORROW_TOOLTIP :{BLACK}Vergroot lening. Ctrl+klik om zoveel als mogelijk te lenen
STR_FINANCES_REPAY_BUTTON :{BLACK}{CURRENCY_LONG} terugbetalen
@ -4231,6 +4243,7 @@ STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Gewicht:
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Gewicht: {LTBLUE}{WEIGHT_SHORT} {BLACK}Vermogen: {LTBLUE}{POWER}{BLACK} Max.snelheid: {LTBLUE}{VELOCITY} {BLACK}Max. tr.kr.: {LTBLUE}{FORCE}
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Winst dit jaar: {LTBLUE}{CURRENCY_LONG} (vorig jaar: {CURRENCY_LONG})
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Winst dit jaar: {LTBLUE}{CURRENCY_LONG} (vorig jaar: {CURRENCY_LONG}) {BLACK}Min. prestatie: {LTBLUE}{POWER_TO_WEIGHT}
STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Betrouwbaarheid: {LTBLUE}{COMMA}% {BLACK}Aantal keren motorpech sinds laatste onderhoud: {LTBLUE}{COMMA}
STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Gebouwd: {LTBLUE}{NUM}{BLACK} Waarde: {LTBLUE}{CURRENCY_LONG}
@ -4544,7 +4557,7 @@ STR_AI_DEBUG :{WHITE}Probleem
STR_AI_DEBUG_NAME_AND_VERSION :{BLACK}{STRING} (v{NUM})
STR_AI_DEBUG_NAME_TOOLTIP :{BLACK}Naam van het script
STR_AI_DEBUG_SETTINGS :{BLACK}Instellingen
STR_AI_DEBUG_SETTINGS_TOOLTIP :{BLACK}Instellingen van script wijzigen
STR_AI_DEBUG_SETTINGS_TOOLTIP :{BLACK}Script-instellingen wijzigen
STR_AI_DEBUG_RELOAD :{BLACK}Computerspeler opnieuw laden
STR_AI_DEBUG_RELOAD_TOOLTIP :{BLACK}Computerspeler verwijderen, script opnieuw laden en computerspeler opnieuw starten
STR_AI_DEBUG_BREAK_STR_ON_OFF_TOOLTIP :{BLACK}Afbreken in-uitschakelen als een AI-logbericht overeenstemt met de afbreektekst
@ -4564,6 +4577,8 @@ STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Eén van
STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}AI-/spelscript-probleemvenster is alleen beschikbaar voor de server
# AI configuration window
STR_AI_CONFIG_CAPTION_AI :{WHITE}Configuratie AI
STR_AI_CONFIG_CAPTION_GAMESCRIPT :{WHITE}Configuratie spelscript
STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}Het spelscript dat in het volgende spel geladen wordt
STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}De AI's die in het volgende spel geladen worden
STR_AI_CONFIG_HUMAN_PLAYER :Menselijke speler
@ -4577,10 +4592,11 @@ STR_AI_CONFIG_MOVE_DOWN :{BLACK}Omlaag v
STR_AI_CONFIG_MOVE_DOWN_TOOLTIP :{BLACK}Geselecteerde AI naar omlaag verplaatsen in de lijst
STR_AI_CONFIG_GAMESCRIPT :{SILVER}Spelscript
STR_AI_CONFIG_GAMESCRIPT_PARAM :{SILVER}Parameters
STR_AI_CONFIG_AI :{SILVER}AI's
STR_AI_CONFIG_CHANGE_AI :AI
STR_AI_CONFIG_CHANGE_GAMESCRIPT :Spelscript
STR_AI_CONFIG_CHANGE_AI :{BLACK}AI selecteren
STR_AI_CONFIG_CHANGE_GAMESCRIPT :{BLACK}Spelscript selecteren
STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Ander script laden
STR_AI_CONFIG_CONFIGURE :{BLACK}Configureren
STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}De parameters van het script configureren
@ -4609,7 +4625,7 @@ STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Schermaf
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Schermafbeelding van de minikaart
# AI Parameters
STR_AI_SETTINGS_CAPTION_AI :AI
STR_AI_SETTINGS_CAPTION_AI :{WHITE}AI-parameters
STR_AI_SETTINGS_CLOSE :{BLACK}Sluiten
STR_AI_SETTINGS_RESET :{BLACK}Terugstellen
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
@ -5027,6 +5043,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Kan onde
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... voertuig is vernietigd
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Er zullen geen voertuigen beschikbaar zijn
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Pas je NewGRF-configuratie aan
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Nog geen voertuigen beschikbaar

@ -1057,21 +1057,19 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Check th
STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Current driver: {RAW_STRING}
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Interface size
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Select the interface element size to use
STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}Interface size
STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Drag slider to set interface size. Hold Ctrl for continuous adjustment
STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}Auto-detect size
STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Check this box to detect interface size automatically
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(auto-detect)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Double size
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Quad size
STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Scale bevels
STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Check this box to scale bevels by interface size
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Font size
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Select the interface font size to use
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(auto-detect)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Double size
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Quad size
STR_GAME_OPTIONS_GUI_SCALE_1X :1x
STR_GAME_OPTIONS_GUI_SCALE_2X :2x
STR_GAME_OPTIONS_GUI_SCALE_3X :3x
STR_GAME_OPTIONS_GUI_SCALE_4X :4x
STR_GAME_OPTIONS_GUI_SCALE_5X :5x
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Graphics
@ -1552,6 +1550,10 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Width of the li
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Show the NewGRF's name in the build vehicle window: {STRING2}
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Add a line to the build vehicle window, showing which NewGRF the selected vehicle comes from.
STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Show the cargoes the vehicles can carry in the list windows {STRING2}
STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :If enabled, the vehicle's transportable load will appear above it in the vehicle lists
STR_CONFIG_SETTING_SHOW_WAGON_INTRO_YEAR :Show wagon introduction year in the build vehicle window: {STRING2}
STR_CONFIG_SETTING_SHOW_WAGON_INTRO_YEAR_HELPTEXT :Add a line to the build vehicle window, showing the introduction year for train wagons.
STR_CONFIG_SETTING_SHOW_TRAIN_LENGTH_IN_DETAILS :Show train length in details: {STRING2}
@ -4807,16 +4809,18 @@ STR_FINANCES_SECTION_OTHER :{GOLD}Other
STR_FINANCES_SECTION_INFRASTRUCTURE_COSTS :{GOLD}Infrastructure Sharing
STR_FINANCES_SECTION_INFRASTRUCTURE_INCOME :{GOLD}Infrastructure Sharing
STR_FINANCES_TOTAL_CAPTION :{WHITE}Total
STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG}
STR_FINANCES_ZERO_INCOME :{CURRENCY_LONG}
STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG}
STR_FINANCES_NET_PROFIT :{WHITE}Net Profit
STR_FINANCES_PROFIT :{WHITE}Profit
STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Bank Balance
STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}Own Funds
STR_FINANCES_LOAN_TITLE :{WHITE}Loan
STR_FINANCES_INTEREST_RATE :{WHITE}Loan Interest: {BLACK}{NUM}%
STR_FINANCES_MAX_LOAN :{WHITE}Maximum Loan: {BLACK}{CURRENCY_LONG}
STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG}
STR_FINANCES_BANK_BALANCE :{WHITE}{CURRENCY_LONG}
STR_FINANCES_BORROW_BUTTON :{BLACK}Borrow {CURRENCY_LONG}
STR_FINANCES_BORROW_TOOLTIP :{BLACK}Increase size of loan. Ctrl+Click borrows as much as possible
STR_FINANCES_REPAY_BUTTON :{BLACK}Repay {CURRENCY_LONG}
@ -4948,7 +4952,7 @@ STR_VEHICLE_LIST_AIRCRAFT_TOOLTIP :{BLACK}Aircraft
STR_VEHICLE_LIST_AGE :{STRING2}, Age: {COMMA} year{P "" s} ({COMMA})
STR_VEHICLE_LIST_AGE_RED :{STRING2}, Age: {RED}{COMMA} {BLACK}year{P "" s} ({COMMA})
STR_VEHICLE_LIST_CARGO :{STRING2}, Cargoes: {CARGO_LIST}
STR_VEHICLE_LIST_CARGO_LIST :{STRING2}, Cargoes: {CARGO_LIST}
STR_VEHICLE_LIST_RELIABILITY :{STRING2}, Reliability: {COMMA}%
STR_VEHICLE_LIST_RELIABILITY_RED :{STRING2}, Reliability: {RED}{COMMA}%
STR_VEHICLE_LIST_MAX_SPEED :{STRING2}, Max. speed: {VELOCITY}
@ -4976,6 +4980,8 @@ STR_VEHICLE_LIST_SEND_FOR_SERVICING :Send for Servic
STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Profit this year: {CURRENCY_LONG} (last year: {CURRENCY_LONG})
STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR_LIFETIME :{STRING2} (lifetime: {CURRENCY_LONG})
STR_VEHICLE_LIST_CANCEL_DEPOT_SERVICE :Cancel Servicing/Send to
STR_VEHICLE_LIST_CARGO :{TINY_FONT}{BLACK}[{CARGO_LIST}]
STR_VEHICLE_LIST_NAME_AND_CARGO :{TINY_FONT}{BLACK}{STRING1} {STRING1}
STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :Send to Depot
STR_VEHICLE_LIST_SEND_ROAD_VEHICLE_TO_DEPOT :Send to Depot
@ -6550,6 +6556,8 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Can't ch
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... vehicle is destroyed
STR_ERROR_CAN_T_CLONE_VEHICLE_LIST :{WHITE}... not all vehicles are identical
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}No vehicles will be available at all
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Change your NewGRF configuration
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}No vehicles are available yet
@ -6581,6 +6589,8 @@ STR_ERROR_CAN_T_SKIP_TO_ORDER :{WHITE}Can't sk
STR_ERROR_CAN_T_COPY_SHARE_ORDER :{WHITE}... vehicle can't go to all stations
STR_ERROR_CAN_T_ADD_ORDER :{WHITE}... vehicle can't go to that station
STR_ERROR_CAN_T_ADD_ORDER_SHARED :{WHITE}... a vehicle sharing this order can't go to that station
STR_ERROR_CAN_T_COPY_ORDER_VEHICLE_LIST :{WHITE}... not all vehicles have the same orders
STR_ERROR_CAN_T_SHARE_ORDER_VEHICLE_LIST :{WHITE}... not all vehicles are sharing orders
STR_ERROR_CAN_T_SHARE_ORDER_LIST :{WHITE}Can't share order list...
STR_ERROR_CAN_T_STOP_SHARING_ORDER_LIST :{WHITE}Can't stop sharing order list...

@ -409,6 +409,8 @@ STR_SCENEDIT_FILE_MENU_QUIT :Exit
###length 15
STR_SETTINGS_MENU_GAME_OPTIONS :Game options
STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Settings
STR_SETTINGS_MENU_AI_SETTINGS :AI settings
STR_SETTINGS_MENU_GAMESCRIPT_SETTINGS :Game script settings
STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF settings
STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Transparency options
STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Town names displayed
@ -1017,21 +1019,19 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Check th
STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Current driver: {STRING}
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Interface size
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Select the interface element size to use
STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}Interface size
STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Drag slider to set interface size. Hold Ctrl for continuous adjustment
STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}Auto-detect size
STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Check this box to detect interface size automatically
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(auto-detect)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Double size
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Quad size
STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Scale bevels
STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Check this box to scale bevels by interface size
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Font size
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Select the interface font size to use
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(auto-detect)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Double size
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Quad size
STR_GAME_OPTIONS_GUI_SCALE_1X :1x
STR_GAME_OPTIONS_GUI_SCALE_2X :2x
STR_GAME_OPTIONS_GUI_SCALE_3X :3x
STR_GAME_OPTIONS_GUI_SCALE_4X :4x
STR_GAME_OPTIONS_GUI_SCALE_5X :5x
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Graphics
@ -1443,6 +1443,8 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Width of the li
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Show the NewGRF's name in the build vehicle window: {STRING}
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Add a line to the build vehicle window, showing which NewGRF the selected vehicle comes from.
STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Show the cargoes the vehicles can carry in the list windows {STRING}
STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :If enabled, the vehicle's transportable load will appear above it in the vehicle lists
STR_CONFIG_SETTING_LANDSCAPE :Landscape: {STRING}
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Landscapes define basic gameplay scenarios with different cargoes and town growth requirements. NewGRF and Game Scripts allow finer control though
@ -2104,6 +2106,8 @@ STR_INTRO_HIGHSCORE :{BLACK}Highscor
STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Settings
STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF Settings
STR_INTRO_ONLINE_CONTENT :{BLACK}Check Online Content
STR_INTRO_AI_SETTINGS :{BLACK}AI Settings
STR_INTRO_GAMESCRIPT_SETTINGS :{BLACK}Game Script Settings
STR_INTRO_QUIT :{BLACK}Exit
STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Start a new game. Ctrl+Click skips map configuration
@ -2123,6 +2127,8 @@ STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Display
STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Display settings
STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Display NewGRF settings
STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Check for new and updated content to download
STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Display AI settings
STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Display Game script settings
STR_INTRO_TOOLTIP_QUIT :{BLACK}Exit 'OpenTTD'
STR_INTRO_BASESET :{BLACK}The currently selected base graphics set is missing {NUM} sprite{P "" s}. Please check for updates for the baseset.
@ -3186,6 +3192,12 @@ STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Rivers:
STR_MAPGEN_SMOOTHNESS :{BLACK}Smoothness:
STR_MAPGEN_VARIETY :{BLACK}Variety distribution:
STR_MAPGEN_GENERATE :{WHITE}Generate
STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}NewGRF Settings
STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Display NewGRF settings
STR_MAPGEN_AI_SETTINGS :{BLACK}AI Settings
STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}Display AI settings
STR_MAPGEN_GS_SETTINGS :{BLACK}Game Script Settings
STR_MAPGEN_GS_SETTINGS_TOOLTIP :{BLACK}Display game script settings
###length 21
STR_MAPGEN_TOWN_NAME_ORIGINAL_ENGLISH :English (Original)
@ -3512,14 +3524,14 @@ STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Buy exclusive t
STR_LOCAL_AUTHORITY_ACTION_BRIBE :Bribe the local authority
###length 8
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Initiate a small local advertising campaign, to attract more passengers and cargo to your transport services.{}Provides a temporary boost to station rating in a small radius around the town centre.{}Cost: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Initiate a medium local advertising campaign, to attract more passengers and cargo to your transport services.{}Provides a temporary boost to station rating in a medium radius around the town centre.{}Cost: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Initiate a large local advertising campaign, to attract more passengers and cargo to your transport services.{}Provides a temporary boost to station rating in a large radius around the town centre.{}Cost: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Fund the reconstruction of the urban road network.{}Causes considerable disruption to road traffic for up to 6 months.{}Cost: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Build a statue in honour of your company.{}Provides a permanent boost to station rating in this town.{}Cost: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Fund the construction of new buildings in the town.{}Provides a temporary boost to town growth in this town.{}Cost: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Buy 1 year's exclusive transport rights in town.{}Town authority will not allow passengers and cargo to use your competitors' stations.{}Cost: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Bribe the local authority to increase your rating, at the risk of a severe penalty if caught.{}Cost: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{PUSH_COLOUR}{YELLOW}Initiate a small local advertising campaign, to attract more passengers and cargo to your transport services.{}Provides a temporary boost to station rating in a small radius around the town centre.{}{POP_COLOUR}Cost: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{YELLOW}Initiate a medium local advertising campaign, to attract more passengers and cargo to your transport services.{}Provides a temporary boost to station rating in a medium radius around the town centre.{}{POP_COLOUR}Cost: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Initiate a large local advertising campaign, to attract more passengers and cargo to your transport services.{}Provides a temporary boost to station rating in a large radius around the town centre.{}{POP_COLOUR}Cost: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{PUSH_COLOUR}{YELLOW}Fund the reconstruction of the urban road network.{}Causes considerable disruption to road traffic for up to 6 months.{}{POP_COLOUR}Cost: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Build a statue in honour of your company.{}Provides a permanent boost to station rating in this town.{}{POP_COLOUR}Cost: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}Fund the construction of new buildings in the town.{}Provides a temporary boost to town growth in this town.{}{POP_COLOUR}Cost: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{PUSH_COLOUR}{YELLOW}Buy 1 year's exclusive transport rights in town.{}Town authority will not allow passengers and cargo to use your competitors' stations.{}{POP_COLOUR}Cost: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}Bribe the local authority to increase your rating, at the risk of a severe penalty if caught.{}{POP_COLOUR}Cost: {CURRENCY_LONG}
# Goal window
STR_GOALS_CAPTION :{WHITE}{COMPANY} Goals
@ -3692,16 +3704,18 @@ STR_FINANCES_SECTION_SHIP_REVENUE :{GOLD}Ships
STR_FINANCES_SECTION_LOAN_INTEREST :{GOLD}Loan Interest
STR_FINANCES_SECTION_OTHER :{GOLD}Other
STR_FINANCES_TOTAL_CAPTION :{WHITE}Total
STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG}
STR_FINANCES_ZERO_INCOME :{CURRENCY_LONG}
STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG}
STR_FINANCES_NET_PROFIT :{WHITE}Net Profit
STR_FINANCES_PROFIT :{WHITE}Profit
STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Bank Balance
STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}Own Funds
STR_FINANCES_LOAN_TITLE :{WHITE}Loan
STR_FINANCES_INTEREST_RATE :{WHITE}Loan Interest: {BLACK}{NUM}%
STR_FINANCES_MAX_LOAN :{WHITE}Maximum Loan: {BLACK}{CURRENCY_LONG}
STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG}
STR_FINANCES_BANK_BALANCE :{WHITE}{CURRENCY_LONG}
STR_FINANCES_BORROW_BUTTON :{BLACK}Borrow {CURRENCY_LONG}
STR_FINANCES_BORROW_TOOLTIP :{BLACK}Increase size of loan. Ctrl+Click borrows as much as possible
STR_FINANCES_REPAY_BUTTON :{BLACK}Repay {CURRENCY_LONG}
@ -3832,6 +3846,8 @@ STR_VEHICLE_LIST_MANAGE_LIST_TOOLTIP :{BLACK}Send ins
STR_VEHICLE_LIST_REPLACE_VEHICLES :Replace vehicles
STR_VEHICLE_LIST_SEND_FOR_SERVICING :Send for Servicing
STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Profit this year: {CURRENCY_LONG} (last year: {CURRENCY_LONG})
STR_VEHICLE_LIST_CARGO :{TINY_FONT}{BLACK}[{CARGO_LIST}]
STR_VEHICLE_LIST_NAME_AND_CARGO :{TINY_FONT}{BLACK}{STRING} {STRING}
STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :Send to Depot
STR_VEHICLE_LIST_SEND_ROAD_VEHICLE_TO_DEPOT :Send to Depot
@ -4256,6 +4272,7 @@ STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Weight:
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Weight: {LTBLUE}{WEIGHT_SHORT} {BLACK}Power: {LTBLUE}{POWER}{BLACK} Max. speed: {LTBLUE}{VELOCITY} {BLACK}Max. T.E.: {LTBLUE}{FORCE}
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Profit this year: {LTBLUE}{CURRENCY_LONG} (last year: {CURRENCY_LONG})
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Profit this year: {LTBLUE}{CURRENCY_LONG} (last year: {CURRENCY_LONG}) {BLACK}Min. performance: {LTBLUE}{POWER_TO_WEIGHT}
STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Reliability: {LTBLUE}{COMMA}% {BLACK}Breakdowns since last service: {LTBLUE}{COMMA}
STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Built: {LTBLUE}{NUM}{BLACK} Value: {LTBLUE}{CURRENCY_LONG}
@ -4589,6 +4606,8 @@ STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}One of t
STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}AI / GameScript Debug window is only available for the server
# AI configuration window
STR_AI_CONFIG_CAPTION_AI :{WHITE}AI Configuration
STR_AI_CONFIG_CAPTION_GAMESCRIPT :{WHITE}Game Script Configuration
STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}The Game Script that will be loaded in the next game
STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}The AIs that will be loaded in the next game
STR_AI_CONFIG_HUMAN_PLAYER :Human player
@ -4602,10 +4621,11 @@ STR_AI_CONFIG_MOVE_DOWN :{BLACK}Move Dow
STR_AI_CONFIG_MOVE_DOWN_TOOLTIP :{BLACK}Move selected AI down in the list
STR_AI_CONFIG_GAMESCRIPT :{SILVER}Game Script
STR_AI_CONFIG_GAMESCRIPT_PARAM :{SILVER}Parameters
STR_AI_CONFIG_AI :{SILVER}AIs
STR_AI_CONFIG_CHANGE_AI :AI
STR_AI_CONFIG_CHANGE_GAMESCRIPT :Game Script
STR_AI_CONFIG_CHANGE_AI :{BLACK}Select AI
STR_AI_CONFIG_CHANGE_GAMESCRIPT :{BLACK}Select Game Script
STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Load another script
STR_AI_CONFIG_CONFIGURE :{BLACK}Configure
STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Configure the parameters of the Script
@ -4634,7 +4654,7 @@ STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Heightma
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Minimap screenshot
# AI Parameters
STR_AI_SETTINGS_CAPTION_AI :AI
STR_AI_SETTINGS_CAPTION_AI :{WHITE}AI Parameters
STR_AI_SETTINGS_CLOSE :{BLACK}Close
STR_AI_SETTINGS_RESET :{BLACK}Reset
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
@ -5052,6 +5072,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Can't ch
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... vehicle is destroyed
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}No vehicles will be available at all
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Change your NewGRF configuration
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}No vehicles are available yet

@ -410,6 +410,8 @@ STR_SCENEDIT_FILE_MENU_QUIT :Quit
###length 15
STR_SETTINGS_MENU_GAME_OPTIONS :Game options
STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Settings
STR_SETTINGS_MENU_AI_SETTINGS :AI settings
STR_SETTINGS_MENU_GAMESCRIPT_SETTINGS :Game script settings
STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF settings
STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Transparency options
STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Town names displayed
@ -1018,21 +1020,19 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Check th
STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Current driver: {STRING}
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Interface size
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Select the interface element size to use
STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}Interface size
STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Drag slider to set interface size. Hold Ctrl for continuous adjustment
STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}Auto-detect size
STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Check this box to detect interface size automatically
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(auto-detect)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Double size
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Quad size
STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Scale bevels
STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Check this box to scale bevels by interface size
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Font size
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Select the interface font size to use
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(auto-detect)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Double size
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Quad size
STR_GAME_OPTIONS_GUI_SCALE_1X :1x
STR_GAME_OPTIONS_GUI_SCALE_2X :2x
STR_GAME_OPTIONS_GUI_SCALE_3X :3x
STR_GAME_OPTIONS_GUI_SCALE_4X :4x
STR_GAME_OPTIONS_GUI_SCALE_5X :5x
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Graphics
@ -1539,7 +1539,7 @@ STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_BLUE :Green to blue
STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREY_TO_RED :Gray to red
STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREYSCALE :Grayscale
STR_CONFIG_SETTING_SCROLLMODE :Viewport scroll behaviour: {STRING}
STR_CONFIG_SETTING_SCROLLMODE :Viewport scroll behavior: {STRING}
STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Behavior when scrolling the map
###length 4
STR_CONFIG_SETTING_SCROLLMODE_DEFAULT :Move viewport with RMB, mouse position locked
@ -2105,6 +2105,8 @@ STR_INTRO_HIGHSCORE :{BLACK}Highscor
STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Settings
STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF Settings
STR_INTRO_ONLINE_CONTENT :{BLACK}Check Online Content
STR_INTRO_AI_SETTINGS :{BLACK}AI Settings
STR_INTRO_GAMESCRIPT_SETTINGS :{BLACK}Game Script Settings
STR_INTRO_QUIT :{BLACK}Quit
STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Start a new game. Ctrl+Click skips map configuration
@ -2124,6 +2126,8 @@ STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Display
STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Display settings
STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Display NewGRF settings
STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Check for new and updated content to download
STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Display AI settings
STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Display Game script settings
STR_INTRO_TOOLTIP_QUIT :{BLACK}Quit 'OpenTTD'
STR_INTRO_BASESET :{BLACK}The currently selected base graphics set is missing {NUM} sprite{P "" s}. Please check for updates for the baseset.
@ -3187,6 +3191,12 @@ STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Rivers:
STR_MAPGEN_SMOOTHNESS :{BLACK}Smoothness:
STR_MAPGEN_VARIETY :{BLACK}Variety distribution:
STR_MAPGEN_GENERATE :{WHITE}Generate
STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}NewGRF Settings
STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Display NewGRF settings
STR_MAPGEN_AI_SETTINGS :{BLACK}AI Settings
STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}Display AI settings
STR_MAPGEN_GS_SETTINGS :{BLACK}Game Script Settings
STR_MAPGEN_GS_SETTINGS_TOOLTIP :{BLACK}Display game script settings
###length 21
STR_MAPGEN_TOWN_NAME_ORIGINAL_ENGLISH :English (Original)
@ -3513,14 +3523,14 @@ STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Buy exclusive t
STR_LOCAL_AUTHORITY_ACTION_BRIBE :Bribe the local authority
###length 8
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Initiate a small local advertising campaign, to attract more passengers and cargo to your transport services.{}Provides a temporary boost to station rating in a small radius around the town center.{}Cost: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{PUSH_COLOUR}{YELLOW}Initiate a small local advertising campaign, to attract more passengers and cargo to your transport services.{}Provides a temporary boost to station rating in a small radius around the town center.{}{POP_COLOUR}Cost: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Initiate a medium local advertising campaign, to attract more passengers and cargo to your transport services.{}Provides a temporary boost to station rating in a medium radius around the town center.{}Cost: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Initiate a large local advertising campaign, to attract more passengers and cargo to your transport services.{}Provides a temporary boost to station rating in a large radius around the town center.{}Cost: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Fund the reconstruction of the urban road network.{}Causes considerable disruption to road traffic for up to 6 months.{}Cost: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Build a statue in honor of your company.{}Provides a permanent boost to station rating in this town.{}Cost: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Fund the construction of new buildings in the town.{}Provides a temporary boost to town growth in this town.{}Cost: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Buy 1 year's exclusive transport rights in town.{}Town authority will not allow passengers and cargo to use your competitors' stations.{}Cost: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Bribe the local authority to increase your rating, at the risk of a severe penalty if caught.{}Cost: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Initiate a large local advertising campaign, to attract more passengers and cargo to your transport services.{}Provides a temporary boost to station rating in a large radius around the town center.{}{POP_COLOUR}Cost: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{PUSH_COLOUR}{YELLOW}Fund the reconstruction of the urban road network.{}Causes considerable disruption to road traffic for up to 6 months.{}{POP_COLOUR}Cost: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Build a statue in honor of your company.{}Provides a permanent boost to station rating in this town.{}{POP_COLOUR}Cost: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}Fund the construction of new buildings in the town.{}Provides a temporary boost to town growth in this town.{}{POP_COLOUR}Cost: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{PUSH_COLOUR}{YELLOW}Buy 1 year's exclusive transport rights in town.{}Town authority will not allow passengers and cargo to use your competitors' stations.{}{POP_COLOUR}Cost: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}Bribe the local authority to increase your rating, at the risk of a severe penalty if caught.{}{POP_COLOUR}Cost: {CURRENCY_LONG}
# Goal window
STR_GOALS_CAPTION :{WHITE}{COMPANY} Goals
@ -3693,16 +3703,18 @@ STR_FINANCES_SECTION_SHIP_REVENUE :{GOLD}Ships
STR_FINANCES_SECTION_LOAN_INTEREST :{GOLD}Loan Interest
STR_FINANCES_SECTION_OTHER :{GOLD}Other
STR_FINANCES_TOTAL_CAPTION :{WHITE}Total
STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG}
STR_FINANCES_ZERO_INCOME :{CURRENCY_LONG}
STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG}
STR_FINANCES_NET_PROFIT :{WHITE}Net Profit
STR_FINANCES_PROFIT :{WHITE}Profit
STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Bank Balance
STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}Own Funds
STR_FINANCES_LOAN_TITLE :{WHITE}Loan
STR_FINANCES_INTEREST_RATE :{WHITE}Loan Interest: {BLACK}{NUM}%
STR_FINANCES_MAX_LOAN :{WHITE}Maximum Loan: {BLACK}{CURRENCY_LONG}
STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG}
STR_FINANCES_BANK_BALANCE :{WHITE}{CURRENCY_LONG}
STR_FINANCES_BORROW_BUTTON :{BLACK}Borrow {CURRENCY_LONG}
STR_FINANCES_BORROW_TOOLTIP :{BLACK}Increase size of loan. Ctrl+Click borrows as much as possible
STR_FINANCES_REPAY_BUTTON :{BLACK}Repay {CURRENCY_LONG}
@ -4257,6 +4269,7 @@ STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Weight:
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Weight: {LTBLUE}{WEIGHT_SHORT} {BLACK}Power: {LTBLUE}{POWER}{BLACK} Max. speed: {LTBLUE}{VELOCITY} {BLACK}Max. T.E.: {LTBLUE}{FORCE}
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Profit this year: {LTBLUE}{CURRENCY_LONG} (last year: {CURRENCY_LONG})
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Profit this year: {LTBLUE}{CURRENCY_LONG} (last year: {CURRENCY_LONG}) {BLACK}Min. performance: {LTBLUE}{POWER_TO_WEIGHT}
STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Reliability: {LTBLUE}{COMMA}% {BLACK}Breakdowns since last maintenance: {LTBLUE}{COMMA}
STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Built: {LTBLUE}{NUM}{BLACK} Value: {LTBLUE}{CURRENCY_LONG}
@ -4590,6 +4603,8 @@ STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}One of t
STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}AI/Game Script Debug window is only available for the server
# AI configuration window
STR_AI_CONFIG_CAPTION_AI :{WHITE}AI Configuration
STR_AI_CONFIG_CAPTION_GAMESCRIPT :{WHITE}Game Script Configuration
STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}The Game Script that will be loaded in the next game
STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}The AIs that will be loaded in the next game
STR_AI_CONFIG_HUMAN_PLAYER :Human player
@ -4603,10 +4618,11 @@ STR_AI_CONFIG_MOVE_DOWN :{BLACK}Move Dow
STR_AI_CONFIG_MOVE_DOWN_TOOLTIP :{BLACK}Move selected AI down in the list
STR_AI_CONFIG_GAMESCRIPT :{SILVER}Game Script
STR_AI_CONFIG_GAMESCRIPT_PARAM :{SILVER}Parameters
STR_AI_CONFIG_AI :{SILVER}AIs
STR_AI_CONFIG_CHANGE_AI :AI
STR_AI_CONFIG_CHANGE_GAMESCRIPT :Game Script
STR_AI_CONFIG_CHANGE_AI :{BLACK}Select AI
STR_AI_CONFIG_CHANGE_GAMESCRIPT :{BLACK}Select Game Script
STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Load another script
STR_AI_CONFIG_CONFIGURE :{BLACK}Configure
STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Configure the parameters of the Script
@ -4635,7 +4651,7 @@ STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Heightma
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Minimap screenshot
# AI Parameters
STR_AI_SETTINGS_CAPTION_AI :AI
STR_AI_SETTINGS_CAPTION_AI :{WHITE}AI Parameters
STR_AI_SETTINGS_CLOSE :{BLACK}Close
STR_AI_SETTINGS_RESET :{BLACK}Reset
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
@ -5053,6 +5069,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Can't ch
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... vehicle is destroyed
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}No vehicles will be available at all
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Change your NewGRF configuration
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}No vehicles are available yet

@ -943,11 +943,6 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :alia
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Interfacgrandeco
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normala
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Duobla grandeco
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Kvaroble grandeco
@ -3964,6 +3959,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Ne povas
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... veturilo estas detrua
# Specific vehicle errors
STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Ne povas igi trajnon transiri signalon je danĝero...
STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Ne povas inversigi direkton de trajno...

@ -1057,21 +1057,8 @@ STR_GAME_OPTIONS_VIDEO_VSYNC :{BLACK}VSync
STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Märgi, et ekraani v-sync sisse lülitada. Seade kohaldub alles pärast mängu taaskäivitust. Töötab vaid, kui riistvarakiirendus on peal
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Liidese suurus
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Vali kasutatav liideseelementide suurus
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(automaattuvastus)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Tavaline
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Topeltsuurus
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Neljakordne suurus
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Kirja suurus
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Vali kasutatav liideseelementide suurus
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(automaattuvastus)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Tavaline
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Topeltsuurus
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Neljakordne suurus
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Graafika
@ -4990,6 +4977,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Hooldusv
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... sõiduk hävitatud
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Ühtegi sõidukit ei ole saadaval
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Muuda NewGRF-i seadistust
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Sõidukeid ei ole veel saadaval

@ -936,7 +936,6 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :annað
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Base grafikk sett
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Vel ta base grafikk setti tú vil brúka
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} vantandi/oyðiløgd fíl{P a ir}
@ -4103,6 +4102,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Kann ikk
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... akfar smildra sundur
# Specific vehicle errors
STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Kann ikki fáa tok at fara framvið jarnbreytatekin tá vandi er...
STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Kann ikki venda toki vi...

@ -1009,21 +1009,8 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Valitse
STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Nykyinen ajuri: {STRING}
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Käyttöliittymän koko
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Valitse käyttöliittymäelementtien koko
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(tunnista automaattisesti)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Tavallinen
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Kaksinkertainen
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Nelinkertainen
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Kirjasinkoko
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Valitse käyttöliittymän kirjasinkoko
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(tunnista automaattisesti)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normaali
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Kaksinkertainen koko
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Nelinkertainen koko
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Grafiikka
@ -3655,7 +3642,6 @@ STR_FINANCES_SECTION_OTHER :{GOLD}Muut
STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG}
STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG}
STR_FINANCES_NET_PROFIT :{WHITE}Puhdas voitto
STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Tilin saldo
STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}Omat varat
STR_FINANCES_LOAN_TITLE :{WHITE}Laina
@ -5008,6 +4994,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Huoltov
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... kulkuneuvo on tuhoutunut
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Yhtään kulkuneuvoa ei ole saatavilla
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Muuta NewGRF-asetuksiasi
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Kulkuneuvoja ei ole vielä saatavilla

@ -206,6 +206,15 @@ STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}hp
STR_UNITS_POWER_METRIC :{COMMA}{NBSP}ch
STR_UNITS_POWER_SI :{COMMA}{NBSP}kW
STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}hp/t
STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}hp/t
STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_SI :{DECIMAL}{NBSP}hp/Mg
STR_UNITS_POWER_METRIC_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}hp/t
STR_UNITS_POWER_METRIC_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}hp/t
STR_UNITS_POWER_METRIC_TO_WEIGHT_SI :{DECIMAL}{NBSP}hp/Mg
STR_UNITS_POWER_SI_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}kW/t
STR_UNITS_POWER_SI_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}kW/t
STR_UNITS_POWER_SI_TO_WEIGHT_SI :{DECIMAL}{NBSP}W/kg
STR_UNITS_WEIGHT_SHORT_IMPERIAL :{G=f}{COMMA}{NBSP}t
STR_UNITS_WEIGHT_SHORT_METRIC :{G=f}{COMMA}{NBSP}t
@ -402,6 +411,8 @@ STR_SCENEDIT_FILE_MENU_QUIT :Quitter
###length 15
STR_SETTINGS_MENU_GAME_OPTIONS :Options du Jeu
STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Paramètres
STR_SETTINGS_MENU_AI_SETTINGS :Configuration des IAs
STR_SETTINGS_MENU_GAMESCRIPT_SETTINGS :Configuration du script de jeu
STR_SETTINGS_MENU_NEWGRF_SETTINGS :Paramètres NewGRF
STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Options de transparence
STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Afficher le nom des villes
@ -1010,21 +1021,19 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Cochez c
STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Pilote actif{NBSP}: {STRING}
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Taille d'interface
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Choisir la taille d'élément d'interface à utiliser
STR_GAME_OPTIONS_GUI_SCALE_FRAME :Taille de l'interface
STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Faites glisser la souris pour définir la taille de l'interface. Maintenir Ctrl pour un réglage en continu
STR_GAME_OPTIONS_GUI_SCALE_AUTO :détection automatique de la taille
STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Cochez cette case pour détecter automatiquement la taille de l'interface
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(auto-détection)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Taille double
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Taille quadruple
STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Mettre à léchelle les bordures
STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Cochez cette case pour mettre les bordures à l'échelle avec la taille de l'interface
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Taille de police
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Choisir la taille de police d'interface à utiliser
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(auto-détection)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Taille double
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Taille quadruple
STR_GAME_OPTIONS_GUI_SCALE_1X :1x
STR_GAME_OPTIONS_GUI_SCALE_2X :2x
STR_GAME_OPTIONS_GUI_SCALE_3X :3x
STR_GAME_OPTIONS_GUI_SCALE_4X :4x
STR_GAME_OPTIONS_GUI_SCALE_5X :x5
STR_GAME_OPTIONS_GRAPHICS :{BLACK} Graphiques
@ -2071,6 +2080,8 @@ STR_INTRO_HIGHSCORE :{BLACK}Meilleur
STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Paramètres
STR_INTRO_NEWGRF_SETTINGS :{BLACK}Paramètres NewGRF
STR_INTRO_ONLINE_CONTENT :{BLACK}Vérifier le contenu en ligne
STR_INTRO_AI_SETTINGS :{BLACK}Configuration des IAs
STR_INTRO_GAMESCRIPT_SETTINGS :{BLACK}Configuration du script de jeu
STR_INTRO_QUIT :{BLACK}Quitter
STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Démarrer une nouvelle partie. Ctrl-clic pour passer outre la configuration du terrain.
@ -2090,6 +2101,8 @@ STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Afficher
STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Afficher les paramètres
STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Afficher la configuration des NewGRF
STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Vérifier les contenus nouveaux ou mis à jour téléchargeables
STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Afficher la configuration des IAs
STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Afficher la configuration du script de jeu
STR_INTRO_TOOLTIP_QUIT :{BLACK}Quitter OpenTTD
STR_INTRO_BASESET :{BLACK}{NUM} sprite{P "" s} manque{P "" "nt"} dans les graphiques de base actuellement sélectionnés. Veuillez vérifier les mises à jours pour les graphiques de base.
@ -3153,6 +3166,12 @@ STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Nb. de r
STR_MAPGEN_SMOOTHNESS :{BLACK}Lissage{NBSP}:
STR_MAPGEN_VARIETY :{BLACK}Variété de distribution{NBSP}:
STR_MAPGEN_GENERATE :{WHITE}Créer
STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}Paramètres NewGRF
STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Afficher la configuration des NewGRF
STR_MAPGEN_AI_SETTINGS :{BLACK}Paramètres des IAs
STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}Afficher la configuration des IAs
STR_MAPGEN_GS_SETTINGS :{BLACK}Configuration du script de jeu
STR_MAPGEN_GS_SETTINGS_TOOLTIP :{BLACK}Afficher la configuration du script de jeu
###length 21
STR_MAPGEN_TOWN_NAME_ORIGINAL_ENGLISH :Anglais (originaux)
@ -3479,14 +3498,14 @@ STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Acheter les dro
STR_LOCAL_AUTHORITY_ACTION_BRIBE :Corrompre la municipalité
###length 8
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Lancez une petite campagne de publicité locale pour attirer plus de passagers et de marchandises vers vos services de transport.{} Augmente temporairement le classement des gares dans un petit rayon autour du centre-ville.{}Coût: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Lancer une campagne de publicité moyenne, pour attirer plus de voyageurs et de marchandises sur vos lignes.{}Augmente temporairement le classement de vos gares dans un rayon moyen autour du centre-ville.{}Coût:{CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Lancer une grande campagne de publicité, pour attirer plus de voyageurs et de marchandises sur vos lignes.{}Augmente temporairement le classement des gares dans un rayon important autour du centre-ville.{}Coût: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Financer la reconstruction du réseau routier local. Provoque de nombreux problèmes de trafic routier pendant 6 mois.{}Coût: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Construire une statue en l'honneur de votre compagnie.{}Augmente en permanence le classement de vos stations dans cette ville.{}Coût:{CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Financer la construction de nouveaux immeubles commerciaux.{}Stimule temporairement la croissance dans cette ville.{}Coût:{CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Achetez les droits de transport exclusifs d'un an pour la ville.{} La municipalité n'autorisera pas les passagers et les marchandises à utiliser les gares de vos concurrents.{} Coût: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Corrompre la municipalité pour améliorer votre réputation. Risque de pénalisation si le pot-de-vin est dévoilé.{}Coût{NBSP}: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{PUSH_COLOUR}{YELLOW}Lancez une petite campagne de publicité locale pour attirer plus de passagers et de marchandises vers vos services de transport.{}Fournit une amélioration temporaire de la note des gares dans un petit rayon autour du centre-ville.{}{POP_COLOUR}Coût{NBSP}: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{YELLOW}Lancer une campagne de publicité moyenne, pour attirer plus de voyageurs et de marchandises sur vos lignes.{}Augmente temporairement le classement de vos gares dans un rayon moyen autour du centre-ville.{}{POP_COLOUR}Coût{NBSP}:{CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Lancer une grande campagne de publicité, pour attirer plus de voyageurs et de marchandises sur vos lignes.{}Augmente temporairement le classement des gares dans un rayon important autour du centre-ville.{}{POP_COLOUR}Coût{NBSP}: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{PUSH_COLOUR}{YELLOW}Financer la reconstruction du réseau routier.{}Provoque une perturbation considérable du trafic pendant 6 mois au maximum.{}{POP_COLOUR}Coût : {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Construire une statue en l'honneur de votre compagnie.{}Augmente en permanence le classement de vos stations dans cette ville.{}{POP_COLOUR}Coût{NBSP}:{CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}Financer la construction de nouveaux immeubles commerciaux.{}Stimule temporairement la croissance dans cette ville.{}{POP_COLOUR}Coût{NBSP}:{CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{PUSH_COLOUR}{YELLOW}Achetez les droits de transport exclusifs d'un an pour la ville.{} La municipalité n'autorisera pas les passagers et les marchandises à utiliser les gares de vos concurrents.{}{POP_COLOUR}Coût{NBSP}: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}Corrompre la municipalité pour améliorer votre réputation. Risque de pénalisation si le pot-de-vin est dévoilé.{}{POP_COLOUR}Coût{NBSP}: {CURRENCY_LONG}
# Goal window
STR_GOALS_CAPTION :{WHITE}Objectifs de {COMPANY}
@ -3659,16 +3678,18 @@ STR_FINANCES_SECTION_SHIP_REVENUE :{GOLD}Navires
STR_FINANCES_SECTION_LOAN_INTEREST :{GOLD}Intérêts du prêt
STR_FINANCES_SECTION_OTHER :{GOLD}Autres
STR_FINANCES_TOTAL_CAPTION :{WHITE}Total
STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG}
STR_FINANCES_ZERO_INCOME :{CURRENCY_LONG}
STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG}
STR_FINANCES_NET_PROFIT :{WHITE}Bénéfice net
STR_FINANCES_PROFIT :{WHITE}Profit
STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Solde bancaire
STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}Fonds propres
STR_FINANCES_LOAN_TITLE :{WHITE}Emprunt
STR_FINANCES_INTEREST_RATE :{WHITE}Taux d'intérêt de l'emprunt{NBSP}: {BLACK}{NUM}%
STR_FINANCES_MAX_LOAN :{WHITE}Emprunt maximum{NBSP}: {BLACK}{CURRENCY_LONG}
STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG}
STR_FINANCES_BANK_BALANCE :{WHITE}{CURRENCY_LONG}
STR_FINANCES_BORROW_BUTTON :{BLACK}Emprunter {CURRENCY_LONG}
STR_FINANCES_BORROW_TOOLTIP :{BLACK}Augmenter l'emprunt. Ctrl-clic pour emprunter autant que possible.
STR_FINANCES_REPAY_BUTTON :{BLACK}Rembourser {CURRENCY_LONG}
@ -3892,7 +3913,9 @@ STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Rayon d'
STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Type d'aéronef{NBSP}: {GOLD}{STRING}
###length 3
STR_CARGO_TYPE_FILTER_ALL :Tous les types de cargaison
STR_CARGO_TYPE_FILTER_FREIGHT :Fret
STR_CARGO_TYPE_FILTER_NONE :Aucun
###length VEHICLE_TYPES
STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Choix du véhicule. Cliquer sur un véhicule pour obtenir des informations. Ctrl-clic pour basculer le masquage du type de véhicule
@ -4221,6 +4244,7 @@ STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Poids{NB
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Poids{NBSP}: {LTBLUE}{WEIGHT_SHORT}{BLACK} Puissance{NBSP}: {LTBLUE}{POWER}{BLACK} Vitesse max.{NBSP}: {LTBLUE}{VELOCITY}{BLACK} E.T. max.{NBSP}: {LTBLUE}{FORCE}
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Profit cette année{NBSP}: {LTBLUE}{CURRENCY_LONG} (année précédente{NBSP}: {CURRENCY_LONG})
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Profit cette année{NBSP}: {LTBLUE}{CURRENCY_LONG} (année précédente{NBSP}: {CURRENCY_LONG}) {BLACK}Performance min.{NBSP}: {LTBLUE}{POWER_TO_WEIGHT}
STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Fiabilité{NBSP}: {LTBLUE}{COMMA}{NBSP}%{BLACK} Pannes depuis le dernier entretien{NBSP}: {LTBLUE}{COMMA}
STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE}{BLACK} Construit en{NBSP}: {LTBLUE}{NUM}{BLACK} Valeur{NBSP}: {LTBLUE}{CURRENCY_LONG}
@ -4547,13 +4571,15 @@ STR_AI_DEBUG_CONTINUE :{BLACK}Continue
STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Reprendre la partie et continuer l'IA
STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Afficher la sortie de débogage de cette IA
STR_AI_GAME_SCRIPT :{BLACK}Script de jeu
STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Examiner le journal des scripts de jeu
STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Examiner le journal du script de jeu
STR_ERROR_AI_NO_AI_FOUND :Aucune IA n'a été trouvée.{}Cette IA est factice et ne fera rien.{}Vous pouvez télécharger diverses IA via le système de «{NBSP}Contenu en ligne{NBSP}».
STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}L'un des scripts a rencontré un problème. Merci de rapporter ceci à l'auteur du script avec une capture d'écran de la fenêtre de débogage de scripts.
STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}La fenêtre de débogage de scripts n'est disponible que pour le serveur
# AI configuration window
STR_AI_CONFIG_CAPTION_AI :{WHITE}Configuration d'IA
STR_AI_CONFIG_CAPTION_GAMESCRIPT :{WHITE}Configuration du script de jeu
STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}Le script de jeu qui sera chargé dans la prochaine partie
STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}Les IAs qui seront chargées dans la prochaine partie
STR_AI_CONFIG_HUMAN_PLAYER :Joueur humain
@ -4567,10 +4593,11 @@ STR_AI_CONFIG_MOVE_DOWN :{BLACK}Déplace
STR_AI_CONFIG_MOVE_DOWN_TOOLTIP :{BLACK}Déplacer l'IA sélectionnée vers le bas
STR_AI_CONFIG_GAMESCRIPT :{SILVER}Script de jeu
STR_AI_CONFIG_GAMESCRIPT_PARAM :{SILVER}Paramètres
STR_AI_CONFIG_AI :{SILVER}IA
STR_AI_CONFIG_CHANGE_AI :IA
STR_AI_CONFIG_CHANGE_GAMESCRIPT :Script de jeu
STR_AI_CONFIG_CHANGE_AI :{BLACK}Sélectionner une IA
STR_AI_CONFIG_CHANGE_GAMESCRIPT :{BLACK}Sélectionner le script de jeu
STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Charger un autre script
STR_AI_CONFIG_CONFIGURE :{BLACK}Configurer
STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Configurer les paramètres du script
@ -4599,7 +4626,7 @@ STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Capture
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Capture d'écran de la mini-carte
# AI Parameters
STR_AI_SETTINGS_CAPTION_AI :IA
STR_AI_SETTINGS_CAPTION_AI :{WHITE}Paramètres de l'IA
STR_AI_SETTINGS_CLOSE :{BLACK}Fermer
STR_AI_SETTINGS_RESET :{BLACK}Réinitialiser
STR_AI_SETTINGS_SETTING :{STRING}{NBSP}: {ORANGE}{STRING}
@ -5017,6 +5044,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Impossib
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... véhicule détruit
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Aucun véhicule ne sera disponible
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Modifier votre configuration NewGRF
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Il n'y a pas encore de véhicules disponibles

@ -977,19 +977,8 @@ STR_GAME_OPTIONS_RESOLUTION_ITEM :{NUM}x{NUM}
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Interfacegrutte
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(automatysk)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normaal
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dûbele grutte
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Fjouwerdûbele grutte
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Lettergrutte
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(automatysk)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normaal
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Dûbele grutte
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Fjouwerdûbele grutte
STR_GAME_OPTIONS_REFRESH_RATE :{BLACK}Byldferfaskingssnelheid
@ -4293,6 +4282,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Kin tiid
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... wein verneatige
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Hielendal gjin fiertugen talitten
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Feroarje jo NewGRF-konfiguraasje
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Der binne noch gjin fiertugen beskikber

@ -1164,12 +1164,6 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :Gnàthaichte
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Meud na h-eadar-aghaidh
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Tagh am meud airson rud san eadar-aghaidh
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Àbhaisteach
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dà uiread a mheud
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Ceithir uiread a mheud
@ -4857,6 +4851,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Cha ghab
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... chaidh an carbad a mhilleadh
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Cha bhi carbad sam bith ri làimh
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Atharraich an rèiteachadh NewGRF agad
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Chan eil carbad ri fhaighinn fhathast

@ -1009,21 +1009,8 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Marca es
STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Controlador actual: {STRING}
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Tamaño da interface
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Seleciona o tamaño de elementos da interface a usar
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(auto-detectar)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dobre tamaño
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Tamaño do cadro
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Tamaño da letra
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Escoller o tamaño de fonte da interfaz
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(auto-detectar)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Tamaño doble
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Tamaño do cadro
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Gráficos
@ -3655,7 +3642,6 @@ STR_FINANCES_SECTION_OTHER :{GOLD}Outros
STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG}
STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG}
STR_FINANCES_NET_PROFIT :{WHITE}Beneficio neto
STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Balance bancario
STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}Fondos propios
STR_FINANCES_LOAN_TITLE :{WHITE}Préstamo
@ -5008,6 +4994,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Non se p
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... o vehículo está destruído
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Non haberá vehículos dispoñibles
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Cambia a túa configuración NewGRF
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Aínda non hai vehículos dispoñíbeis
@ -6499,7 +6486,7 @@ STR_INDUSTRY_VIEW_TRANSPORTED_TOOLTIP_EXTENSION :{}{BLACK}{CARGO
STR_TOWN_NAME_TOOLTIP :{BLACK}{TOWN}
STR_VEHICLE_LIST_AGE :{STRING}, Idade: {COMMA} ano{P "" s} ({COMMA})
STR_VEHICLE_LIST_AGE_RED :{STRING}, Idade: {RED}{COMMA} {BLACK}ano{P "" s} ({COMMA})
STR_VEHICLE_LIST_CARGO :{STRING}, Cargas: {CARGO_LIST}
STR_VEHICLE_LIST_CARGO_LIST :{STRING}, Cargas: {CARGO_LIST}
STR_VEHICLE_LIST_RELIABILITY :{STRING}, Fiabilidade: {COMMA}%
STR_VEHICLE_LIST_RELIABILITY_RED :{STRING}, Fiabilidade: {RED}{COMMA}%
STR_VEHICLE_LIST_MAX_SPEED :{STRING}, Velocidade máxima: {VELOCITY}

@ -1045,21 +1045,8 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Dieses K
STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Aktueller Treiber: {STRING}
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Größe der Bedienelemente
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Wähle die Größe der Bedienelemente
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(automatisch erkennen)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Doppelt
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Vierfach
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Schriftgröße
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Die Schriftgröße der Spieloberfläche auswählen
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(automatisch erkennen)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Doppelt
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Vierfach
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Grafik
@ -4726,7 +4713,6 @@ STR_FINANCES_SECTION_INFRASTRUCTURE_INCOME :{GOLD}Einnahmen
STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG}
STR_FINANCES_ZERO_INCOME :{CURRENCY_LONG}
STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG}
STR_FINANCES_NET_PROFIT :{WHITE}Reingewinn
STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Kontostand
STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}Eigenes Kapital
STR_FINANCES_LOAN_TITLE :{WHITE}Kredit
@ -4864,7 +4850,7 @@ STR_VEHICLE_LIST_AIRCRAFT_TOOLTIP :{BLACK}Flugzeug
STR_VEHICLE_LIST_AGE :{STRING}, Alter: {COMMA} Jahr{P "" e} ({COMMA})
STR_VEHICLE_LIST_AGE_RED :{STRING}, Alter: {RED}{COMMA} {BLACK}Jahr{P "" e} ({COMMA})
STR_VEHICLE_LIST_CARGO :{STRING}, Fracht: {CARGO_LIST}
STR_VEHICLE_LIST_CARGO_LIST :{STRING}, Fracht: {CARGO_LIST}
STR_VEHICLE_LIST_RELIABILITY :{STRING}, Zuverlässigkeit: {COMMA}%
STR_VEHICLE_LIST_RELIABILITY_RED :{STRING}, Zuverlässigkeit: {RED}{COMMA}%
STR_VEHICLE_LIST_MAX_SPEED :{STRING}, Max. Geschwindigkeit: {VELOCITY}
@ -6446,6 +6432,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Das Wart
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... Fahrzeug ist zerstört
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Es sind keine Fahrzeuge verfügbar!
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Bitte die NewGRF-Einstellungen ändern, damit Fahrzeuge früher verfügbar sind
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Noch keine Fahrzeuge verfügbar

@ -1114,21 +1114,8 @@ STR_GAME_OPTIONS_VIDEO_VSYNC :{BLACK}VSync
STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Τσεκάρετε αυτό το κουτί για να ενεργοποιήσετε το v-sync στην οθόνη. Η αλλαγή αυτή θα εφαρμοστεί μετά από επανεκκίνηση του παιχνιδιού. Λειτουργεί μόνο με ενεργοποιημένη την επιτάχυνση υλικού
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Μέγεθος διεπαφής
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Επιλέξτε το μέγεθος στοιχείου διεπαφής
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(αυτόματη ανίχνευση)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Κανονικό
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Διπλό μέγεθος
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Τετραπλό μέγεθος
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Μέγεθος γραμματοσειράς
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Επιλέξτε το μέγεθος της γραμματοσειράς διεπαφής
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(αυτόματη ανίχνευση)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Κανονικό
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Διπλό μέγεθος
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Τετραπλό μέγεθος
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Γραφικά
@ -5101,6 +5088,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Δεν
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... το όχημα καταστράφηκε
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Δεν θα είναι κανένα όχημα διαθέσιμο
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Αλλάξτε τις ρύθμισεις NewGRF σας
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Κανένα όχημα δεν είναι διαθέσιμο ακόμη

@ -978,12 +978,6 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :אחר
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}גודל ממשק
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}בחר את ממשק גודל העצם לשימוש
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :רגיל
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :גודל כפול
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :גודל מרובע
@ -4636,6 +4630,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}לא נ
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... הרכב נהרס
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}כלי תחבורה לא יהיו זמינים
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}שנה הגדרות NewGRF
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}כלי תחבורה עדיין לא זמינים

@ -288,8 +288,6 @@ STR_GAME_OPTIONS_LANGUAGE_PERCENTAGE :{STRING} ({NUM}
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :सामान्य
@ -1372,6 +1370,7 @@ STR_ERROR_CAN_T_SELL_TRAIN :{WHITE}रे
# Specific vehicle errors

@ -1073,21 +1073,8 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Jelöld
STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Jelenlegi meghajtó: {STRING}
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Felület mérete
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Használni kívánt felületméret kiválasztása
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(automatikus)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normál
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dupla méret
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Négyszeres méret
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Betűméret
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Használni kívánt betűméret kiválasztása
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(automatikus)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normál
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Dupla méret
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Négyszeres méret
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Grafika
@ -3725,7 +3712,6 @@ STR_FINANCES_SECTION_OTHER :{GOLD}Egyéb
STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG}
STR_FINANCES_ZERO_INCOME :{CURRENCY_LONG}
STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG}
STR_FINANCES_NET_PROFIT :{WHITE}Nettó Profit
STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Banki egyenleg
STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}Saját források
STR_FINANCES_LOAN_TITLE :{WHITE}Kölcsön
@ -5079,6 +5065,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Nem vál
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... jármű megsemmisült
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Egyáltalán nincsenek elérhető járművek
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Változtasd meg a NewGRF konfigurációdat!
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Még nincsenek elérhető járművek

@ -935,7 +935,6 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :annað
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Grunngrafík
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Nota grunngrafíkina
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} týnd{P "" ar} eða ónýt{P "" ar} skrá{P "" r}
@ -4336,6 +4335,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Get ekki
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... ökutæki er eyðilagt
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Engin farartæki verða í boði
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Breyta NewGRF stillingunum þínum

@ -504,7 +504,6 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :altra
# Custom currency window
@ -1581,6 +1580,7 @@ STR_ERROR_TOO_MANY_VEHICLES_IN_GAME :{WHITE}Tro mult
# Specific vehicle errors

@ -1009,21 +1009,8 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Centang
STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Pengendali piranti: {STRING}
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Ukuran antarmuka
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Pilih ukuran elemen antarmuka yang akan digunakan
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(deteksi-otomatis)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Kali dua
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Kali empat
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Ukuran font
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Pilih ukuran font antarmuka yang akan digunakan
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(deteksi-otomatis)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Kali dua
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :4 kali
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Grafik
@ -3655,7 +3642,6 @@ STR_FINANCES_SECTION_OTHER :{GOLD}Lainnya
STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG}
STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG}
STR_FINANCES_NET_PROFIT :{WHITE}Laba bersih
STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Saldo Bank
STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}Dana Pribadi
STR_FINANCES_LOAN_TITLE :{WHITE}Pinjaman
@ -5008,6 +4994,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Tidak da
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... kendaraan hancur
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Tak satupun kendaraan tersedia
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Tukarkan konfigurasi NewGRF anda
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Belum ada kendaraan yang tersedia saat ini

@ -1007,21 +1007,8 @@ STR_GAME_OPTIONS_VIDEO_VSYNC :{BLACK}VSync
STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Cuir tic sa bhosca seo chun v-shioncronú (v-sync) a úsáid ar an scáileán. Má athraítear an socrú seo, ní chuirfear i bhfeidhm é ach tar éis an cluiche a atosú. Ní oibríonn seo ach amháin má tá luasghéarú crua-earraí cumasaithe
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Méid an chomhéadain
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Roghnaigh méid na heiliminte comhéadain a úsáidfear
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(uath-aimsiú)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Gnáth
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Méid dúbailte
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Méid 4x
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Méid na clófhoirne
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Roghnaigh méid na clófhoirne don chomhéadan a úsáidfear
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(uath-aimsiú)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Gnáthmhéid
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Méid dúbailte
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :4x
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Grafaicí
@ -4978,6 +4965,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Ní féi
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... tá an fheithicil scriosta
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Ní bheidh aon fheithicil ar fáil ar chor ar bith
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Athraigh do chumraíocht NewGRF
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Níl aon fheithicil ar fáil fós

@ -207,6 +207,15 @@ STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}hp
STR_UNITS_POWER_METRIC :{COMMA}{NBSP}hp
STR_UNITS_POWER_SI :{COMMA}{NBSP}kW
STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}hp/t
STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}hp/t
STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_SI :{DECIMAL}{NBSP}hp/Mg
STR_UNITS_POWER_METRIC_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}hp/t
STR_UNITS_POWER_METRIC_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}hp/t
STR_UNITS_POWER_METRIC_TO_WEIGHT_SI :{DECIMAL}{NBSP}hp/Mg
STR_UNITS_POWER_SI_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}kW/t
STR_UNITS_POWER_SI_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}kW/t
STR_UNITS_POWER_SI_TO_WEIGHT_SI :{DECIMAL}{NBSP}W/kg
STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t
STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t
@ -387,7 +396,7 @@ STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Costruzi
STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Costruzione tranvie
STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Pianta alberi. MAIUSC alterna fra costruzione e stima dei costi
STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Posiziona cartello
STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Posiziona oggetto. MAIUSC alterna fra costruzione e stima dei costi
STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Posizionare l'oggetto. Ctrl seleziona l'area in diagonale. Maiuscole alterna la costruzione/visualizzazione della stima dei costi.
# Scenario editor file menu
###length 7
@ -403,6 +412,8 @@ STR_SCENEDIT_FILE_MENU_QUIT :Esci
###length 15
STR_SETTINGS_MENU_GAME_OPTIONS :Opzioni gioco
STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Impostazioni
STR_SETTINGS_MENU_AI_SETTINGS :Impostazioni IA
STR_SETTINGS_MENU_GAMESCRIPT_SETTINGS :Impostazioni script di gioco
STR_SETTINGS_MENU_NEWGRF_SETTINGS :Impostazioni NewGRF
STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Opzioni trasparenza
STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Mostra nomi città
@ -1011,21 +1022,19 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Selezion
STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Driver attuale: {STRING}
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Dimensione interfaccia
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Seleziona la dimensione deglie elementi dell'interfaccia grafica
STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}Dimensione dell'interfaccia
STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Trascinare il cursore per impostare le dimensioni dell'interfaccia. Tenere premuto Ctrl per una regolazione permanente
STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}Rileva automaticamente le dimensioni
STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Seleziona questa casella per rilevare automaticamente le dimensioni dell'interfaccia
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(rileva automaticamente)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normale
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Doppia
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Quadrupla
STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Scala smussature
STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Seleziona questa casella per ridimensionare le smussature in base alle dimensioni dell'interfaccia
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Dimensione caratteri
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Seleziona la dimensione dei caratteri dell'interfaccia
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(rileva automaticamente)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normale
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Doppia
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Quadrupla
STR_GAME_OPTIONS_GUI_SCALE_1X :1x
STR_GAME_OPTIONS_GUI_SCALE_2X :2x
STR_GAME_OPTIONS_GUI_SCALE_3X :3x
STR_GAME_OPTIONS_GUI_SCALE_4X :4x
STR_GAME_OPTIONS_GUI_SCALE_5X :5x
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Grafica
@ -2105,6 +2114,8 @@ STR_INTRO_HIGHSCORE :{BLACK}Punteggi
STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Impostazioni
STR_INTRO_NEWGRF_SETTINGS :{BLACK}Impostazioni NewGRF
STR_INTRO_ONLINE_CONTENT :{BLACK}Contenuti online
STR_INTRO_AI_SETTINGS :{BLACK}Impostazioni IA
STR_INTRO_GAMESCRIPT_SETTINGS :{BLACK}Impostazioni script di gioco
STR_INTRO_QUIT :{BLACK}Esci
STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Inizia una nuova partita. CTRL salta la configurazione della mappa.
@ -2124,6 +2135,8 @@ STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Mostra l
STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Mostra le impostazioni
STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Mostra le impostazioni NewGRF
STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Controlla la disponibilità di contenuti nuovi o aggiornati da scaricare
STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Mostra impostazioni IA
STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Visualizza le impostazioni dello script di gioco
STR_INTRO_TOOLTIP_QUIT :{BLACK}Esci da OpenTTD
STR_INTRO_BASESET :{BLACK}Nel pacchetto grafico di base attualmente selezionato mancano {NUM} sprite. È consigliabile controllare gli aggiornamenti del pacchetto.
@ -2514,13 +2527,13 @@ STR_NETWORK_SERVER_MESSAGE_GAME_REASON_LINK_GRAPH :in attesa di ag
STR_NETWORK_MESSAGE_CLIENT_LEAVING :abbandono della partita
STR_NETWORK_MESSAGE_CLIENT_JOINED :*** {STRING} è entrato nella partita
STR_NETWORK_MESSAGE_CLIENT_JOINED_ID :*** {STRING} è entrato nella partita (Client #{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_COMPANY_JOIN :*** {STRING} ha iniziato a controllare la compagnia #{2:NUM}
STR_NETWORK_MESSAGE_CLIENT_JOINED_ID :*** {0:STRING} è entrato nella partita (Client #{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_COMPANY_JOIN :*** {0:STRING} è entrato a far parte della compagnia #{2:NUM}
STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} è diventato spettatore
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_CLIENT_COMPANY_NEW :*** {0:STRING} ha fondato una nuova compagnia (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {0:STRING} ha abbandonato la partita ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} ha cambiato il loro nome in {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} ha dato {2:CURRENCY_LONG} a {1:STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {0:STRING} ha dato {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})
@ -2637,6 +2650,9 @@ STR_LINKGRAPH_LEGEND_SATURATED :{TINY_FONT}{BLA
STR_LINKGRAPH_LEGEND_OVERLOADED :{TINY_FONT}{BLACK}sovraccarica
# Linkgraph tooltip
STR_LINKGRAPH_STATS_TOOLTIP :{BLACK}{CARGO_LONG} da trasportare al mese da {STATION} a {STATION} ({COMMA}% di capacità){STRING}
STR_LINKGRAPH_STATS_TOOLTIP_RETURN_EXTENSION :{}{CARGO_LONG} da trasportare indietro ({COMMA}% di capacità)
STR_LINKGRAPH_STATS_TOOLTIP_TIME_EXTENSION :{}tempo medio di percorrenza: {NUM}{NBSP}giorn{P "o" i}
# Base for station construction window(s)
STR_STATION_BUILD_COVERAGE_AREA_TITLE :{BLACK}Evidenzia area coperta
@ -2646,6 +2662,7 @@ STR_STATION_BUILD_COVERAGE_AREA_OFF_TOOLTIP :{BLACK}Non evid
STR_STATION_BUILD_COVERAGE_AREA_ON_TOOLTIP :{BLACK}Evidenzia l'area di copertura del sito proposto
STR_STATION_BUILD_ACCEPTS_CARGO :{BLACK}Accetta: {GOLD}{CARGO_LIST}
STR_STATION_BUILD_SUPPLIES_CARGO :{BLACK}Fornisce: {GOLD}{CARGO_LIST}
STR_STATION_BUILD_INFRASTRUCTURE_COST :{BLACK}Costi di manutenzione: {GOLD}{CURRENCY_SHORT}/anno
# Join station window
STR_JOIN_STATION_CAPTION :{WHITE}Unisci stazione
@ -2837,11 +2854,11 @@ STR_LANDSCAPING_TOOLBAR :{WHITE}Modellaz
STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Abbassa un angolo di terreno. Trascinando, l'area selezionata viene livellata alla nuova quota del primo angolo. CTRL seleziona l'area diagonalmente. MAIUSC alterna fra costruzione e stima dei costi
STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Alza un angolo di terreno. Trascinando, l'area selezionata viene livellata alla nuova quota del primo angolo. CTRL seleziona l'area diagonalmente. MAIUSC alterna fra costruzione e stima dei costi
STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Livella un'area di terreno alla quota del primo angolo selezionato. CTRL seleziona l'area diagonalmente. MAIUSC alterna fra costruzione e stima dei costi
STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Acquista terreno per usi futuri. MAIUSC alterna fra costruzione e stima dei costi
STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Acquista terreno per usi futuri. Ctrl seleziona l'area in diagonale. MAIUSC alterna la costruzione/visualizzazione della stima dei costi.
# Object construction window
STR_OBJECT_BUILD_CAPTION :{WHITE}Selezione oggetto
STR_OBJECT_BUILD_TOOLTIP :{BLACK}Seleziona l'oggetto da costruire. MAIUSC alterna fra costruzione e stima dei costi
STR_OBJECT_BUILD_TOOLTIP :{BLACK}Seleziona l'oggetto da costruire. Ctrl seleziona l'area in diagonale. MAIUSC alterna la costruzione/visualizzazione della stima dei costi
STR_OBJECT_BUILD_CLASS_TOOLTIP :{BLACK}Seleziona la classe dell'oggetto da costruire
STR_OBJECT_BUILD_PREVIEW_TOOLTIP :{BLACK}Anteprima dell'oggetto
STR_OBJECT_BUILD_SIZE :{BLACK}Dimensione: {GOLD}{NUM} x {NUM} caselle
@ -3188,6 +3205,12 @@ STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Fiumi:
STR_MAPGEN_SMOOTHNESS :{BLACK}Levigatezza:
STR_MAPGEN_VARIETY :{BLACK}Varietà del terreno:
STR_MAPGEN_GENERATE :{WHITE}Genera
STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}Impostazioni NewGRF
STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Mostra impostazioni NewGRF
STR_MAPGEN_AI_SETTINGS :{BLACK}Impostazioni IA
STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}Mostra impostazioni IA
STR_MAPGEN_GS_SETTINGS :{BLACK}Impostazioni script di gioco
STR_MAPGEN_GS_SETTINGS_TOOLTIP :BLACK}Visualizza le impostazioni dello script di gioco
###length 21
STR_MAPGEN_TOWN_NAME_ORIGINAL_ENGLISH :Inglesi (originali)
@ -3374,15 +3397,15 @@ STR_NEWGRF_ERROR_MSG_FATAL :{RED}Errore irr
STR_NEWGRF_ERROR_FATAL_POPUP :{WHITE}Si è verificato un errore irreversibile nel NewGRF:{}{STRING}
STR_NEWGRF_ERROR_POPUP :{WHITE}Si è verificato un errore in un NewGRF:{}{STRING}
STR_NEWGRF_ERROR_VERSION_NUMBER :{1:STRING} non funziona con la versione di TTDPatch riferita da OpenTTD
STR_NEWGRF_ERROR_DOS_OR_WINDOWS :{1:STRING} è per la versione {STRING} di TTD
STR_NEWGRF_ERROR_UNSET_SWITCH :{1:STRING} è progettato per essere usato con {STRING}
STR_NEWGRF_ERROR_INVALID_PARAMETER :Parametro non valido per {1:STRING}: parametro {STRING} ({NUM})
STR_NEWGRF_ERROR_LOAD_BEFORE :{1:STRING} deve essere caricato prima di {STRING}
STR_NEWGRF_ERROR_LOAD_AFTER :{1:STRING} deve essere caricato dopo {STRING}
STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} richiede OpenTTD versione {STRING} o superiore
STR_NEWGRF_ERROR_DOS_OR_WINDOWS :{1:STRING} è per la versione {2:STRING} di TTD
STR_NEWGRF_ERROR_UNSET_SWITCH :{1:STRING} è progettato per essere usato con {2:STRING}
STR_NEWGRF_ERROR_INVALID_PARAMETER :Parametro non valido per {1:STRING}: parametro {2:STRING} ({3:NUM})
STR_NEWGRF_ERROR_LOAD_BEFORE :{1:STRING} deve essere caricato prima di {2:STRING}
STR_NEWGRF_ERROR_LOAD_AFTER :{1:STRING} deve essere caricato dopo {2:STRING}
STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} richiede la versione {2:STRING} o superiore di OpenTTD
STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :il file GRF che era progettato per tradurre
STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Troppi NewGRF caricati
STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Caricare {1:STRING} come NewGRF statico insieme a {STRING} può causare errori di sincronizzazione
STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Caricare {1:STRING} come NewGRF statico insieme a {2:STRING} può causare errori di sincronizzazione
STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Sprite inatteso (sprite {3:NUM})
STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Proprietà {4:HEX} sconosciuta per l'azione 0 (sprite {3:NUM})
STR_NEWGRF_ERROR_INVALID_ID :Tentativo di utilizzare un ID non valido (sprite {3:NUM})
@ -3514,14 +3537,14 @@ STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Acquista esclus
STR_LOCAL_AUTHORITY_ACTION_BRIBE :Corrompi l'autorità locale
###length 8
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Inizia una piccola campagna pubblicitaria, per attirare più passeggeri e merci ai servizi di trasporto della compagnia.{}Fornisce un aumento temporaneo della valutazione delle stazioni in un piccolo raggio dal centro della città.{}Costo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Inizia una campagna pubblicitaria moderata, per attirare più passeggeri e merci ai servizi di trasporto della compagnia.{}Fornisce un aumento temporaneo della valutazione delle stazioni in un moderato raggio dal centro della città.{}Costo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Inizia una grande campagna pubblicitaria locale, per attirare più passeggeri e merci ai servizi di trasporto della compagnia.{}Fornisce un aumento temporaneo della valutazione delle stazioni in un grande raggio dal centro della città.{}Costo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Finanzia la ricostruzione della rete stradale cittadina.{}Causa un considerevole disagio al traffico stradale per 6 mesi.{}Costo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Costruisci una statua in onore della compagnia.{}Fornisce un aumento permanente della valutazione delle stazioni in questa città.{}Costo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Finanzia la costruzione di nuovi edifici nella città.{}Fornisce un aumento temporaneo della crescita della città.{}Costo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Acquista un anno di diritti di trasporto esclusivi in città. L'autorità cittadina non permetterà a passeggeri e merci di usare le stazioni dei tuoi avversari.{}Costo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Corrompi l'autorità locale per aumentare la tua valutazione, con il rischio di una severa multa se scoperto.{}Costo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniziate una piccola campagna pubblicitaria locale per attirare più passeggeri e merci sui vostri servizi di trasporto..{}Fornisce un incremento temporane alla valutazione delle stazioni in un piccolo raggio intorno al centro città..{}{POP_COLOUR}Costo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{YELLOW}Avvia una campagna pubblicitaria a livello locale per attirare un maggior numero di passeggeri e merci sui vostri servizi di trasporto..{}Fornisce un incremento temporaneo alla valutazione delle stazioni in un raggio medio intorno al centro città..{}{POP_COLOUR}Costo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Avvia una vasta campagna pubblicitaria locale, per attirare più passeggeri e merci sui vostri servizi di trasporto.{}Fornisce un incremento temporaneo alla valutazione delle stazioni in un ampio raggio intorno al centro città..{}{POP_COLOUR}Costo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{PUSH_COLOUR}{YELLOW}Finanziare la ricostruzione della rete stradale urbana.{}Provoca notevoli disagi al traffico stradale per un periodo fino a 6 mesi.{}{POP_COLOUR}Costo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Costruite una statua in onore della vostra compagnia.{}Fornisce un aumento permanente della valutazione della stazione in questa città..{}{POP_COLOUR}Costo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}Finanziare la costruzione di nuovi edifici in città.{}Fornisce un incremento temporaneo alla crescita di questa città.{}{POP_COLOUR}Costo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{PUSH_COLOUR}{YELLOW}Acquistate 1 anno di diritti esclusivi di trasporto in città..{}Le autorità cittadine non permetteranno a passeggeri e merci di utilizzare le stazioni dei vostri concorrenti..{}{POP_COLOUR}Costo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}Corrompere l'autorità locale per aumentare la valutazione, con il rischio di una severa sanzione se si viene scoperti.{}{POP_COLOUR}Costo: {CURRENCY_LONG}
# Goal window
STR_GOALS_CAPTION :{WHITE}Obiettivi della {COMPANY}
@ -3694,16 +3717,18 @@ STR_FINANCES_SECTION_SHIP_REVENUE :{GOLD}Navi
STR_FINANCES_SECTION_LOAN_INTEREST :{GOLD}Int. sul prestito
STR_FINANCES_SECTION_OTHER :{GOLD}Altro
STR_FINANCES_TOTAL_CAPTION :{WHITE}Totale
STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG}
STR_FINANCES_ZERO_INCOME :{CURRENCY_LONG}
STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG}
STR_FINANCES_NET_PROFIT :{WHITE}Profitto netto
STR_FINANCES_PROFIT :{WHITE}Profitto
STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Saldo bancario
STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}Capitale netto
STR_FINANCES_LOAN_TITLE :{WHITE}Prestito
STR_FINANCES_INTEREST_RATE :{WHITE}Interesse sul prestito: {BLACK}{NUM}%
STR_FINANCES_MAX_LOAN :{WHITE}Prestito massimo: {BLACK}{CURRENCY_LONG}
STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG}
STR_FINANCES_BANK_BALANCE :{WHITE}{CURRENCY_LONG}
STR_FINANCES_BORROW_BUTTON :{BLACK}Chiedi in prestito {CURRENCY_LONG}
STR_FINANCES_BORROW_TOOLTIP :{BLACK}Aumenta l'ammontare del prestito, CTRL+clic chiede in prestito il più possibile
STR_FINANCES_REPAY_BUTTON :{BLACK}Ripaga {CURRENCY_LONG}
@ -3803,7 +3828,7 @@ STR_INDUSTRY_VIEW_PRODUCES_N_CARGO :{BLACK}Produce:
STR_INDUSTRY_VIEW_CARGO_LIST_EXTENSION :, {STRING}{STRING}
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Richiede:
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING}
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{0:STRING}{BLACK}{3:STRING}
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} in attesa{STRING}
STR_CONFIG_GAME_PRODUCTION :{WHITE}Cambia produzione (multiplo di 8, fino a 2040)
@ -3926,6 +3951,9 @@ STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Autonomi
STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Tipo di aeromobile: {GOLD}{STRING}
###length 3
STR_CARGO_TYPE_FILTER_ALL :Tutti i tipi di carico
STR_CARGO_TYPE_FILTER_FREIGHT :Merci
STR_CARGO_TYPE_FILTER_NONE :Nessuno
###length VEHICLE_TYPES
STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Elenco di selezione dei veicoli ferroviari - fare clic su un veicolo per informazioni. CTRL+clic mostra/nasconde il tipo di veicolo
@ -4095,7 +4123,7 @@ STR_ENGINE_PREVIEW_AIRCRAFT :{G=m}aeromobile
STR_ENGINE_PREVIEW_SHIP :{G=f}nave
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Costo: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Velocità: {VELOCITY} Potenza: {POWER}{}Costo di esercizio: {CURRENCY_LONG}/anno{}Capacità: {CARGO_LONG}
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Costo: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Velocità: {VELOCITY} Potenza: {POWER} S.T. max.: {6:FORCE}{}Costo di esercizio: {4:CURRENCY_LONG}/anno{}Capacità: {5:CARGO_LONG}
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Costo: {0:CURRENCY_LONG} Peso: {1:WEIGHT_SHORT}{}Velocità: {2:VELOCITY} Potenza: {3:POWER} S.T. Max.: {6:FORCE}{}Costo di esercizio: {4:CURRENCY_LONG}/anno{}Capacità: {5:CARGO_LONG}
STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Costo: {CURRENCY_LONG} Velocità max.: {VELOCITY}{}Capacità: {CARGO_LONG}{}Costo di esercizio: {CURRENCY_LONG}/anno
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Costo: {CURRENCY_LONG} Velocità max.: {VELOCITY}{}Tipo aeromobile: {STRING}{}Capacità: {CARGO_LONG}, {CARGO_LONG}{}Costo di esercizio: {CURRENCY_LONG}/anno
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Costo: {CURRENCY_LONG} Velocità max.: {VELOCITY}{}Tipo aeromobile: {STRING}{}Capacità: {CARGO_LONG}{}Costo di esercizio: {CURRENCY_LONG}/anno
@ -4254,12 +4282,13 @@ STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Peso: {L
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potenza: {LTBLUE}{POWER}{BLACK} Velocità max.: {LTBLUE}{VELOCITY} {BLACK}S.T. max.: {LTBLUE}{FORCE}
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Profitto quest'anno: {LTBLUE}{CURRENCY_LONG} (anno scorso: {CURRENCY_LONG})
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Profitti anno corrente: {LTBLUE}{CURRENCY_LONG} (anno scorso: {CURRENCY_LONG}) {BLACK}Min. rendimento: {LTBLUE}{POWER_TO_WEIGHT}
STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Affidabilità: {LTBLUE}{COMMA}% {BLACK}Guasti dall'ultima manutenzione: {LTBLUE}{COMMA}
STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Costruito nel: {LTBLUE}{NUM}{BLACK} Valore: {LTBLUE}{CURRENCY_LONG}
STR_VEHICLE_INFO_NO_CAPACITY :{BLACK}Capacità: {LTBLUE}Nessuna{STRING}
STR_VEHICLE_INFO_CAPACITY :{BLACK}Capacità: {LTBLUE}{CARGO_LONG}{3:STRING}
STR_VEHICLE_INFO_CAPACITY_MULT :{BLACK}Capacità: {LTBLUE}{CARGO_LONG}{3:STRING} (x{4:NUM})
STR_VEHICLE_INFO_CAPACITY :{BLACK}Capacità: {LTBLUE}{0:CARGO_LONG}{3:STRING}
STR_VEHICLE_INFO_CAPACITY_MULT :{BLACK}Capacità: {LTBLUE}{0:CARGO_LONG}{3:STRING} (x{4:NUM})
STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Capacità: {LTBLUE}{CARGO_LONG}, {CARGO_LONG}{STRING}
STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Crediti di trasferimento: {LTBLUE}{CURRENCY_LONG}
@ -4587,6 +4616,8 @@ STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Uno degl
STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}La finestra di debug IA/Script è disponibile soltanto per il server
# AI configuration window
STR_AI_CONFIG_CAPTION_AI :{WHITE}Configurazione IA
STR_AI_CONFIG_CAPTION_GAMESCRIPT :{WHITE}Configurazione script di gioco
STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}Lista degli Script che saranno caricati nella prossima partita
STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}Lista delle IA che saranno caricate nella prossima partita
STR_AI_CONFIG_HUMAN_PLAYER :Giocatore umano
@ -4600,10 +4631,11 @@ STR_AI_CONFIG_MOVE_DOWN :{BLACK}Sposta g
STR_AI_CONFIG_MOVE_DOWN_TOOLTIP :{BLACK}Sposta l'IA selezionata più in basso nell'elenco
STR_AI_CONFIG_GAMESCRIPT :{SILVER}Script
STR_AI_CONFIG_GAMESCRIPT_PARAM :{SILVER}Parametri
STR_AI_CONFIG_AI :{SILVER}IA
STR_AI_CONFIG_CHANGE_AI :IA
STR_AI_CONFIG_CHANGE_GAMESCRIPT :Script
STR_AI_CONFIG_CHANGE_AI :{BLACK}Seleziona IA
STR_AI_CONFIG_CHANGE_GAMESCRIPT :{BLACK}Seleziona lo script di gioco
STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Carica un altro script
STR_AI_CONFIG_CONFIGURE :{BLACK}Configura
STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Configura i parametri dello script
@ -4632,7 +4664,7 @@ STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Screensh
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Screenshot della minimappa
# AI Parameters
STR_AI_SETTINGS_CAPTION_AI :AI
STR_AI_SETTINGS_CAPTION_AI :{WHITE}Parametri IA
STR_AI_SETTINGS_CLOSE :{BLACK}Chiudi
STR_AI_SETTINGS_RESET :{BLACK}Reimposta
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
@ -4977,6 +5009,7 @@ STR_ERROR_OBJECT_IN_THE_WAY :{WHITE}Oggetto
STR_ERROR_COMPANY_HEADQUARTERS_IN :{WHITE}... sede della compagnia di mezzo
STR_ERROR_CAN_T_PURCHASE_THIS_LAND :{WHITE}Impossibile acquistare quest'area di terreno...
STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... già posseduto!
STR_ERROR_BUILD_OBJECT_LIMIT_REACHED :{WHITE}... limite di costruzione dell'oggetto raggiunto
# Group related errors
STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Impossibile creare il gruppo...
@ -5049,6 +5082,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Impossib
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... il veicolo è distrutto
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Non sarà disponibile alcun veicolo
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Cambiare i NewGRF configurati
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Non sono ancora disponibili veicoli

@ -1008,21 +1008,8 @@ STR_GAME_OPTIONS_VIDEO_VSYNC :{BLACK} 垂直
STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}ここをチェックして垂直同期を有効にします。設定はゲームを再起動した後に適用されます。ハードウェアアクセラレーションが有効な環境でしか機能しません。
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}インターフェイスのサイズ
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}インターフェイス上の単位サイズを指定します
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(自動検出)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :ノーマル
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :2倍
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :4倍
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}フォントサイズ
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}使用するインターフェースのフォントサイズを選択します
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(自動検出)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :ノーマル
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :ダブルサイズ
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :4倍
STR_GAME_OPTIONS_GRAPHICS :{BLACK}グラフィクス
@ -5092,6 +5079,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}点検
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}輸送機器が破壊されます
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}利用できる輸送機器が全くなくなります
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}NewGRFの設定を変更してください
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}利用可能な輸送機器がありません

@ -1058,21 +1058,19 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}화면
STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}현재 드라이버: {STRING}
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}인터페이스 크기
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}인터페이스의 크기를 선택합니다.
STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}인터페이스 크기
STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}인터페이스 크기를 설정하려면 슬라이더를 드래그하세요. CTRL 키를 누르고 있으면 미세 조정이 가능합니다
STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}크기 자동 탐지
STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}인터페이스 크기를 자동으로 탐지하려면 이 박스에 체크하세요
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(자동 탐지)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :기본 크기
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :2배 크기
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :4배 크기
STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}크기 조절
STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}인터페이스 크기를 슬라이더로 조절하려면 이 박스에 체크하세요
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}글씨 크기
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}인터페이스에서 사용할 글씨 크기를 선택하세요
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(자동 탐지)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :기본 크기
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :2배 크기
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :4배 크기
STR_GAME_OPTIONS_GUI_SCALE_1X :1x
STR_GAME_OPTIONS_GUI_SCALE_2X :2x
STR_GAME_OPTIONS_GUI_SCALE_3X :3x
STR_GAME_OPTIONS_GUI_SCALE_4X :4x
STR_GAME_OPTIONS_GUI_SCALE_5X :5x
STR_GAME_OPTIONS_GRAPHICS :{BLACK}그래픽
@ -2015,7 +2013,7 @@ STR_CONFIG_SETTING_AI_BUILDS_SHIPS :컴퓨터의
STR_CONFIG_SETTING_AI_BUILDS_SHIPS_HELPTEXT :이 설정을 켜면, 컴퓨터 플레이어가 선박을 사용할 수 없게 됩니다.
STR_CONFIG_SETTING_AI_PROFILE :기본 설정 난이도: {STRING}
STR_CONFIG_SETTING_AI_PROFILE_HELPTEXT :무작위 인공지능이 사용할 난이도 설정이나, 인공지능 또는 게임 스크립트를 추가할 때의 난이도 초기값을 고르십시오.
STR_CONFIG_SETTING_AI_PROFILE_HELPTEXT :무작위 인공지능이 사용할 난이도 설정이나 인공지능 또는 게임 스크립트를 추가할 때 사용할 난이도 초기값을 고르십시오
###length 3
STR_CONFIG_SETTING_AI_PROFILE_EASY :쉬움
STR_CONFIG_SETTING_AI_PROFILE_MEDIUM :중간
@ -2623,8 +2621,8 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}장난
STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}게임 기본 설정 창을 보여줍니다.
STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}고득점 순위표를 보여줍니다.
STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}설정 창을 엽니다.
STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}NewGRF 설정 창을 엽니다.
STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}설정 창을 엽니다
STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}NewGRF 설정 창을 엽니다
STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}새로 나왔거나 업데이트된 콘텐츠를 체크하여 다운로드합니다.
STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}인공지능 설정 창을 엽니다
STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}게임 스크립트 설정 창을 엽니다
@ -4505,14 +4503,14 @@ STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :수송 권한
STR_LOCAL_AUTHORITY_ACTION_BRIBE :지역 당국에게 뇌물 주기
###length 8
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}더 많은 승객과 화물을 유치하기 위해 소규모의 광고 캠페인을 시작합니다.{}도시 중심 주위의 좁은 반경 안에 있는 역 등급을 일시적으로 올려줍니다.{}가격: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}더 많은 승객과 화물을 유치하기 위해 중간 규모의 광고 캠페인을 시작합니다.{}도시 중심 주위의 적당한 반경 안에 있는 역 등급을 일시적으로 올려줍니다.{}가격: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}더 많은 승객과 화물을 유치하기 위해 대규모의 광고 캠페인을 시작합니다.{}도시 중심 주위의 넓은 반경 안에 있는 역 등급을 일시적으로 올려줍니다.{}가격: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}도시 도로망 보수공사를 시행합니다.{}앞으로 6개월간 극심한 도로 혼잡을 일으킵니다.{}가격: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}당신의 회사를 대표하는 '명예의 동상'을 건설합니다.{}이 도시에 있는 역 등급을 영구적으로 올려줍니다.{}가격: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}도시 상업 건물의 건설에 투자합니다.{}도시의 성장을 일시적으로 빠르게 만들어줍니다.{}가격: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}1년 간 수송 권한 독점권을 구입합니다.{}도시 당국은 오직 당신 회사의 역에만 승객과 화물을 실을 것입니다.{}가격: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}성취도를 올리기 위해 처벌을 감수하고 지역 당국에 뇌물을 줍니다.{}가격: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{PUSH_COLOUR}{YELLOW}더 많은 승객과 화물을 유치하기 위해 소규모의 광고 캠페인을 시작합니다.{}도시 중심 주위의 좁은 반경 안에 있는 역 등급을 일시적으로 올려줍니다.{}{POP_COLOUR}가격: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{YELLOW}더 많은 승객과 화물을 유치하기 위해 중간 규모의 광고 캠페인을 시작합니다.{}도시 중심 주위의 적당한 반경 안에 있는 역 등급을 일시적으로 올려줍니다.{}{POP_COLOUR}가격: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}더 많은 승객과 화물을 유치하기 위해 대규모의 광고 캠페인을 시작합니다.{}도시 중심 주위의 넓은 반경 안에 있는 역 등급을 일시적으로 올려줍니다.{}{POP_COLOUR}가격: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{PUSH_COLOUR}{YELLOW}도시 도로망 보수공사를 시행합니다.{}앞으로 6개월간 극심한 도로 혼잡을 일으킵니다.{}{POP_COLOUR}가격: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}당신의 회사를 대표하는 '명예의 동상'을 건설합니다.{}이 도시에 있는 역 등급을 영구적으로 올려줍니다.{}{POP_COLOUR}가격: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}도시 상업 건물의 건설에 투자합니다.{}도시의 성장을 일시적으로 빠르게 만들어줍니다.{}가격: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{PUSH_COLOUR}{YELLOW}1년 간 수송 권한 독점권을 구입합니다.{}도시 당국은 오직 당신 회사의 역에만 승객과 화물을 실을 것입니다.{}{POP_COLOUR}가격: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}성취도를 올리기 위해 처벌을 감수하고 지역 당국에 뇌물을 줍니다.{}{POP_COLOUR}가격: {CURRENCY_LONG}
###length 4
STR_LOCAL_AUTHORITY_SETTING_OVERRIDE_ALLOW_ROADS :도로 건설
@ -4804,16 +4802,18 @@ STR_FINANCES_SECTION_OTHER :{GOLD}기타
STR_FINANCES_SECTION_INFRASTRUCTURE_COSTS :{GOLD}타사 시설 사용비
STR_FINANCES_SECTION_INFRASTRUCTURE_INCOME :{GOLD}시설 공유 수익
STR_FINANCES_TOTAL_CAPTION :{WHITE}종합
STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG}
STR_FINANCES_ZERO_INCOME :{CURRENCY_LONG}
STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG}
STR_FINANCES_NET_PROFIT :{WHITE}이익
STR_FINANCES_PROFIT :{WHITE}이익
STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}현 보유 금액
STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}보유 자금
STR_FINANCES_LOAN_TITLE :{WHITE}대출
STR_FINANCES_INTEREST_RATE :{WHITE}대출 금리: {BLACK}{NUM}%
STR_FINANCES_MAX_LOAN :{WHITE}최대 대출: {BLACK}{CURRENCY_LONG}
STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG}
STR_FINANCES_BANK_BALANCE :{WHITE}{CURRENCY_LONG}
STR_FINANCES_BORROW_BUTTON :{BLACK}{CURRENCY_LONG} 빌리기
STR_FINANCES_BORROW_TOOLTIP :{BLACK}돈을 빌립니다. CTRL+클릭하면 빌릴 수 있는 만큼 빌립니다
STR_FINANCES_REPAY_BUTTON :{BLACK}{CURRENCY_LONG} 갚기
@ -4945,7 +4945,7 @@ STR_VEHICLE_LIST_AIRCRAFT_TOOLTIP :{BLACK}항공
STR_VEHICLE_LIST_AGE :{STRING}, 연령: {COMMA}년 ({COMMA})
STR_VEHICLE_LIST_AGE_RED :{STRING}, 연령: {RED}{COMMA} {BLACK}년 ({COMMA})
STR_VEHICLE_LIST_CARGO :{STRING}, 화물: {CARGO_LIST}
STR_VEHICLE_LIST_CARGO_LIST :{STRING}, 화물: {CARGO_LIST}
STR_VEHICLE_LIST_RELIABILITY :{STRING}, 신뢰도: {COMMA}%
STR_VEHICLE_LIST_RELIABILITY_RED :{STRING}, 신뢰도: {RED}{COMMA}%
STR_VEHICLE_LIST_MAX_SPEED :{STRING}, 최고 속력: {VELOCITY}
@ -5086,7 +5086,7 @@ STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}항공
###length 3
STR_CARGO_TYPE_FILTER_ALL :모든 화물 종류
STR_CARGO_TYPE_FILTER_FREIGHT :화물
STR_CARGO_TYPE_FILTER_FREIGHT :무게
STR_CARGO_TYPE_FILTER_NONE :없음
###length VEHICLE_TYPES
@ -5472,7 +5472,6 @@ STR_VEHICLE_INFO_MAX_SPEED_LOADED :{BLACK}가득
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}올해 이익: {LTBLUE}{CURRENCY_LONG} (작년: {CURRENCY_LONG})
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_LIFETIME :{STRING} (평생: {CURRENCY_LONG})
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}올해 이익: {LTBLUE}{CURRENCY_LONG} (작년: {CURRENCY_LONG}) {BLACK}최소 성취도: {LTBLUE}{POWER_TO_WEIGHT}
STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}신뢰도: {LTBLUE}{COMMA}% {BLACK}최근 점검 이후 고장 횟수: {LTBLUE}{COMMA}
STR_VEHICLE_INFO_GROUP :{BLACK}그룹: {LTBLUE}{GROUP}
@ -6034,8 +6033,8 @@ STR_AI_CONFIG_GAMESCRIPT :{SILVER}게임
STR_AI_CONFIG_GAMESCRIPT_PARAM :{SILVER}매개 변수
STR_AI_CONFIG_AI :{SILVER}인공지능
STR_AI_CONFIG_CHANGE_AI :인공지능
STR_AI_CONFIG_CHANGE_GAMESCRIPT :게임 스크립트
STR_AI_CONFIG_CHANGE_AI :{BLACK}인공지능을 선택하세요
STR_AI_CONFIG_CHANGE_GAMESCRIPT :{BLACK}게임 스크립트를 선택하세요
STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}다른 스크립트 불러오기
STR_AI_CONFIG_CONFIGURE :{BLACK}설정
STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}인공지능의 매개 변수를 설정합니다
@ -6067,7 +6066,7 @@ STR_SCREENSHOT_TOPOGRAPHY_SCREENSHOT :{BLACK}지형
STR_SCREENSHOT_INDUSTRY_SCREENSHOT :{BLACK}산업시설 스크린 샷
# AI Parameters
STR_AI_SETTINGS_CAPTION_AI :인공지능
STR_AI_SETTINGS_CAPTION_AI :{WHITE}인공지능 매개 변수
STR_AI_SETTINGS_CLOSE :{BLACK}닫기
STR_AI_SETTINGS_RESET :{BLACK}초기화
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
@ -6547,6 +6546,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}점검
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... 차량이 파괴되었습니다
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}사용할 수 있는 차량이 모두 없어질 것입니다
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}NewGRF 설정을 변경하십시오
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}사용할 수 있는 차량이 하나도 없습니다

@ -1156,19 +1156,8 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :alia
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Magnitudo interfaciei
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Eligere magnitudinem interfaciei adhibendam
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Simplex
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Duplex
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Quadruplex
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Magnitudo Litterarum
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Eligere magnitudinem litterarum adhibendam
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Simplex
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Duplex
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Quadruplex
@ -4855,6 +4844,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Non lice
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... vehiculum est destructum!
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Nulla vehicula omnino parabilia erunt
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Muta configurationem NewGRF tuam
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Nulla vehicula adhuc parabilia sunt

@ -1011,21 +1011,8 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Atzīmē
STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Esošais vadītājs: {STRING}
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Lietotāja saskarnes lielums
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Lietotāja saskarnes elementu lieluma izvēle
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(automātiski noteikt)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Parasts
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Divkāršs
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Četrkāršs
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Fonta izmērs
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Izvēlieties saskarnes fonta izmēru
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(automātiski noteikt)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normāls
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Divkāršs izmērs
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Četrkāršs izmērs
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Grafika
@ -3665,7 +3652,6 @@ STR_FINANCES_SECTION_OTHER :{GOLD}Citi
STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG}
STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG}
STR_FINANCES_NET_PROFIT :{WHITE}Tīrā peļņa
STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Bankas bilance
STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}Pašu līdzekļi
STR_FINANCES_LOAN_TITLE :{WHITE}Aizdevums
@ -5019,6 +5005,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Nevar ma
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... transportlīdzeklis ir iznīcināts
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Vispār nebūs pieejami transporta līdzekļi
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Mainiet jūsu NewGRF konfogurāciju
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Transportlīdzekļi vēl nav pieejami

@ -1209,21 +1209,8 @@ STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}Kad pake
STR_GAME_OPTIONS_VIDEO_VSYNC :{BLACK}Vertikalioji sinchronizacija (VSync)
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Sąsajos elementų dydis
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Pasirinkite vartotojo sąsajos elementų santykinį dydį
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(aptikti automatiškai)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normalus
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dvigubas
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Keturgubas
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Šrifto dydis
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Pasirinkite vartotojo sąsajos šrifto dydį
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(aptikti automatiškai)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normalus
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Dvigubas
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Keturgubas
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Grafika
@ -5198,6 +5185,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Aptarnav
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... automobilis sunaikintas
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Nebus įmanoma įsigyti jokių transporto priemonių
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Pakeiskite plėtinių nuostatas
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Kol kas negalima įsigyti jokių transporto priemonių

@ -1008,21 +1008,8 @@ STR_GAME_OPTIONS_VIDEO_VSYNC :{BLACK}VSync
STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Wiel des Optioun fir de V-Sync unzeman. Des gëtt eréit no engem Neistart benotzt. Funktionéiert nëmmen wann Hardwarebeschleunigung un ass
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Interfacegréisst
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Wiel d'Gréisst déi fir den Interface soll benotzt ginn
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(auto-Detekt.)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Duebel
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Véierfach
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Schrëftgréisst
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Wiel d'Interface-Schrëftgréisst aus
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(auto-Detekt.)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Duebel Gréisst
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Véierfach
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Graphik
@ -4985,6 +4972,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}De Servi
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... Gefier ass zerstéiert
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Keng Gefierer verfügbar
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Änner d'NewGRF Konfiguratioun
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Nach keng Gefierer verfügbar

@ -823,7 +823,6 @@ STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Секој ме
# Custom currency window
@ -2125,6 +2124,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Не м
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... возилото е уништено
# Specific vehicle errors

@ -934,12 +934,6 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :lain
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Saiz Antaramuka
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Sila pilih saiz elemen antara muka untuk digunakan
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Biasa
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Saiz berganda
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Saiz kuad
@ -4248,6 +4242,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Tidak bo
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... kenderaan sudah musnah
STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Mulakan permainan baru selepas {DATE_SHORT} atau gunakan NewGRF yang digunakan kenderaan terdahulu
# Specific vehicle errors

@ -431,7 +431,6 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :oħrajn
# Custom currency window
@ -1443,6 +1442,7 @@ STR_ERROR_TOO_MANY_VEHICLES_IN_GAME :{WHITE}Hemm wis
# Specific vehicle errors
STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Ma tistax tbiddel id-direzzjoni tal-ferrovija...

@ -754,7 +754,6 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :अन्य
# Custom currency window
@ -1869,6 +1868,7 @@ STR_ERROR_BRIDGE_THROUGH_MAP_BORDER :{WHITE}पू
# Specific vehicle errors

@ -1010,21 +1010,8 @@ STR_GAME_OPTIONS_VIDEO_VSYNC :{BLACK}VSync
STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Merk av i denne boksen for å v-synkronisere skjermen. Endring av innstillinger krever omstart av spillet. Fungerer bare med maskinvareakselerasjon aktivert
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Grensesnitt-størrelse
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Velg grensesnitt-størrelsen som skal benyttes
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(finn automatisk)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :2 ganger størrelse
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :4 ganger størrelse
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Skriftstørrelse
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Velg skriftstørrelse for grensesnitt
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(finn automatisk)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Dobbel størrelse
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Firedobbel størrelse
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Grafikk
@ -4993,6 +4980,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Kan ikke
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}...{NBSP}kjøretøy er ødelagt
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Ingen kjøretøyer vil være tilgjengelig i det hele tatt
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Endre din NewGRF konfigurasjon
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Ingen kjøretøyer er tilgjengelig ennå

@ -961,12 +961,6 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :anna
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Grensesnittstorleik
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Vel storleik å bruke på grensesnittet
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dobbel størrelse
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Firedobbel størrelse
@ -4481,6 +4475,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Kan ikkj
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... køyretøy er øydelagd
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Ingen køyretøy vert tilgjengelege
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Byt NewGRF-innstillingar
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Det finst ikkje nokon køyretøy enno

@ -952,8 +952,6 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :دیگر
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :دو برابر
@ -3777,6 +3775,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}امکا
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... وسیله نقلیه منهدم شد
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}بطور کلی هیچ خودرویی در دسترس نخواهد بود
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}تنظیمات مربوط به NewGRF را تغییر دهید
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}هنوز خودرویی در دسترس نیست

@ -580,10 +580,19 @@ STR_UNIT_NAME_VELOCITY_METRIC :km/h
STR_UNIT_NAME_VELOCITY_SI :m/s
STR_UNIT_NAME_VELOCITY_GAMEUNITS :pola/dzień
STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}KM
STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}hp
STR_UNITS_POWER_METRIC :{COMMA}{NBSP}KM
STR_UNITS_POWER_SI :{COMMA}{NBSP}kW
STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}hp/t
STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}hp/t
STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_SI :{DECIMAL}{NBSP}hp/Mg
STR_UNITS_POWER_METRIC_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}KM/t
STR_UNITS_POWER_METRIC_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}KM/t
STR_UNITS_POWER_METRIC_TO_WEIGHT_SI :{DECIMAL}{NBSP}KM/Mg
STR_UNITS_POWER_SI_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}kW/t
STR_UNITS_POWER_SI_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}kW/t
STR_UNITS_POWER_SI_TO_WEIGHT_SI :{DECIMAL}{NBSP}W/kg
STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t
STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t
@ -780,6 +789,8 @@ STR_SCENEDIT_FILE_MENU_QUIT :Wyjście
###length 15
STR_SETTINGS_MENU_GAME_OPTIONS :Opcje gry
STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Ustawienia
STR_SETTINGS_MENU_AI_SETTINGS :Ustawienia SI
STR_SETTINGS_MENU_GAMESCRIPT_SETTINGS :Ustawienia Game Script
STR_SETTINGS_MENU_NEWGRF_SETTINGS :Ustawienia NewGRF
STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Opcje przeźroczystości
STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Wyświetlanie nazw miast
@ -1373,7 +1384,7 @@ STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Wybierz
STR_GAME_OPTIONS_LANGUAGE_PERCENTAGE :{STRING} (ukończono {NUM}%)
STR_GAME_OPTIONS_FULLSCREEN :{BLACK}Pełny ekran
STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Zaznacz, jeśli chcesz grać w OpenTTD w trybie pełnoekranowym
STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Zaznacz to pole, jeśli chcesz grać w OpenTTD w trybie pełnoekranowym
STR_GAME_OPTIONS_RESOLUTION :{BLACK}Rozdzielczość ekranu
STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Wybierz rozdzielczość ekranu
@ -1389,21 +1400,19 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Zaznacz
STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Bieżący sterownik: {STRING}
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Rozmiar interfejsu
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Wybierz rozmiar elementów interfejsu
STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}Rozmiar interfejsu
STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Przeciągnij suwak, aby ustawić rozmiar interfejsu. Przytrzymaj Ctrl, aby uzyskać płynną regulację
STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}Wykryj rozmiar automatycznie
STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Zaznacz to pole, aby rozmiar interfejsu był wykrywany automatycznie
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(wykryj automatycznie)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normalny
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Podwójny
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Poczwórny
STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Skaluj fazy krawędzi
STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Zaznacz to pole, aby skalować fazy krawędzi zgodnie z rozmiarem interfejsu
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Wielkość czcionki
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Wybierz wielkość czcionki interfejsu
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(wykryj automatycznie)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normalna
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Podwójna
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Poczwórna
STR_GAME_OPTIONS_GUI_SCALE_1X :1x
STR_GAME_OPTIONS_GUI_SCALE_2X :2x
STR_GAME_OPTIONS_GUI_SCALE_3X :3x
STR_GAME_OPTIONS_GUI_SCALE_4X :4x
STR_GAME_OPTIONS_GUI_SCALE_5X :5x
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Grafika
@ -2082,7 +2091,7 @@ STR_CONFIG_SETTING_AI_PROFILE_HARD :Trudny
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Pozwól na SI w grze wieloosobowej: {STRING}
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Pozwól komputerowym graczom SI na udział w grach dla wielu graczy
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :ilość #opcodes przed uśpieniem skryptu: {STRING}
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :Liczba wysyłanych kodów instrukcji przed zawieszeniem skryptów: {STRING}
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Maksymalna liczba kroków obliczeniowych, jakie skrypt może zrobić w jednej kolejce
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Maksymalne zużycie pamięci na skrypt: {STRING}
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Ilość pamięci jaką może zużywać pojedynczy skrypt zanim zostanie przymusowo zakończony. Może wymagać zwiększenia dla większych map.
@ -2341,7 +2350,7 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Jednostka mocy
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_HELPTEXT :Kiedy moc pojazdu jest pokazywana w interfejsie użytkownika, wyświetl ją w wybranych jednostkach
###length 3
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_IMPERIAL :Imperialne (hp)
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :Metryczne (hp)
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :Metryczne (KM)
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_SI :SI (kW)
STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Jednostki wagi: {STRING}
@ -2450,6 +2459,8 @@ STR_INTRO_HIGHSCORE :{BLACK}Tabela w
STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Ustawienia
STR_INTRO_NEWGRF_SETTINGS :{BLACK}Ustawienia NewGRF
STR_INTRO_ONLINE_CONTENT :{BLACK}Sprawdź dodatki online
STR_INTRO_AI_SETTINGS :{BLACK}Ustawienia SI
STR_INTRO_GAMESCRIPT_SETTINGS :{BLACK}Ustawienia Game Script
STR_INTRO_QUIT :{BLACK}Wyjście
STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Rozpocznij nową grę. Ctrl+klik pomija konfigurowanie mapy
@ -2469,6 +2480,8 @@ STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Wyświet
STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Wyświetl ustawienia gry
STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Wyświetl ustawienia NewGRF
STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Poszukaj nowych lub zaktualizowanych dodatków do pobrania
STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Wyświetl ustawienia SI
STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Wyświetl ustawienia Game Script
STR_INTRO_TOOLTIP_QUIT :{BLACK}Wyjdź z „OpenTTD”
STR_INTRO_BASESET :{BLACK}Aktualnie używany podstawowy zestaw graficzny nie posiada {NUM} wymagan{P ego ych ych} sprite{P 'u 'ów 'ów}. Proszę poszukać aktualizacji dla zestawu podstawowego.
@ -3532,6 +3545,12 @@ STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Liczba r
STR_MAPGEN_SMOOTHNESS :{BLACK}Gładkość:
STR_MAPGEN_VARIETY :{BLACK}Różnorodność:
STR_MAPGEN_GENERATE :{WHITE}Stwórz
STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}Ustawienia NewGRF
STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Wyświetl ustawienia NewGRF
STR_MAPGEN_AI_SETTINGS :{BLACK}Ustawienia SI
STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}Wyświetl ustawienia SI
STR_MAPGEN_GS_SETTINGS :{BLACK}Ustawienia Game Script
STR_MAPGEN_GS_SETTINGS_TOOLTIP :{BLACK}Wyświetl ustawienia Game Script
###length 21
STR_MAPGEN_TOWN_NAME_ORIGINAL_ENGLISH :Angielskie (Oryginalne)
@ -3858,14 +3877,14 @@ STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Kup wyłączno
STR_LOCAL_AUTHORITY_ACTION_BRIBE :Daj łapówkę lokalnym władzom
###length 8
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Rozpocznij małą kampanię reklamową aby zachęcić trochę pasażerów i fabryk do korzystania z Twoich usług transportowych.{}Zapewnia tymczasowy wzrost oceny stacji w małym promieniu wokół centrum miasta.{}Koszt: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Rozpocznij średnią kampanię reklamową, aby zachęcić więcej pasażerów i fabryk do korzystania z Twoich usług transportowych.{}Zapewnia tymczasowy wzrost oceny stacji w średnim promieniu wokół centrum miasta.{}Koszt: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Rozpocznij dużą kampanię reklamową aby zachęcić mnóstwo pasażerów i fabryk do korzystania z Twoich usług transportowych.{}Zapewnia tymczasowy wzrost oceny stacji w dużym promieniu wokół centrum miasta.{}Koszt: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Ufunduj remont sieci dróg.{}Spowoduje to zakłócenia w ruchu ulicznym do 6 miesięcy.{}Koszt: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Zbuduj pomnik dla uczczenia twojej firmy.{}Trwale podniesie to ocenę twoich stacji w pobliżu tego miasta.{}Koszt: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Ufunduj nowe budynki komercyjne w mieście.{}Daje jednorazowy impuls do szybszego wzrostu miasta.{}Koszt: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Kup roczną wyłączność na prawa transportowe w mieście.{} Lokalne władze nie pozwolą pasażerom ani przedsiębiorstwom korzystać z usług innych firm.{}Koszt: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Daj łapówkę lokalnym władzom. Powiększ swoją ocenę, ryzykując poważne kary w razie złapania.{}Koszt: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{PUSH_COLOUR}{YELLOW}Rozpocznij małą lokalną kampanię reklamową, aby przyciągnąć więcej pasażerów i ładunków do twoich usług transportowych.{}Zapewnia tymczasowe zwiększenie oceny stacji w małym promieniu wokół centrum miasta.{}{POP_COLOUR}Koszt: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{YELLOW}Rozpocznij średnią lokalną kampanię reklamową, aby przyciągnąć więcej pasażerów i ładunków do twoich usług transportowych.{}Zapewnia tymczasowe zwiększenie oceny stacji w umiarkowanym promieniu wokół centrum miasta.{}{POP_COLOUR}Koszt: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Rozpocznij dużą lokalną kampanię reklamową, aby przyciągnąć więcej pasażerów i ładunków do twoich usług transportowych.{}Zapewnia tymczasowe zwiększenie oceny stacji w dużym promieniu wokół centrum miasta.{}{POP_COLOUR}Koszt: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{PUSH_COLOUR}{YELLOW}Ufunduj remont sieci dróg.{}Spowoduje to zakłócenia w ruchu ulicznym do 6 miesięcy.{}{POP_COLOUR}Koszt: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Zbuduj statuę dla uczczenia swojej firmy.{}Trwale podniesie to ocenę twoich stacji w pobliżu tego miasta.{}{POP_COLOUR}Koszt: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}Ufunduj nowe budynki w mieście.{}Zapewnia tymczasowe przyspieszenie rozwoju tego miasta.{}{POP_COLOUR}Koszt: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{PUSH_COLOUR}{YELLOW}Kup roczną wyłączność na prawa transportowe w mieście.{}Lokalne władze nie pozwolą pasażerom ani przedsiębiorstwom korzystać z usług innych firm.{}{POP_COLOUR}Koszt: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}Przekup lokalne władze, aby zwiększyć swoją ocenę, ryzykując surową karę w przypadku przyłapania.{}{POP_COLOUR}Koszt: {CURRENCY_LONG}
# Goal window
STR_GOALS_CAPTION :{WHITE}Cele firmy {COMPANY}
@ -4038,16 +4057,18 @@ STR_FINANCES_SECTION_SHIP_REVENUE :{GOLD}Statki
STR_FINANCES_SECTION_LOAN_INTEREST :{GOLD}Odsetki od pożyczki
STR_FINANCES_SECTION_OTHER :{GOLD}Inne
STR_FINANCES_TOTAL_CAPTION :{WHITE}Łącznie
STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG}
STR_FINANCES_ZERO_INCOME :{CURRENCY_LONG}
STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG}
STR_FINANCES_NET_PROFIT :{WHITE}Zysk netto
STR_FINANCES_PROFIT :{WHITE}Zysk
STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Bilans bankowy
STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}Środki własne
STR_FINANCES_LOAN_TITLE :{WHITE}Pożyczka
STR_FINANCES_INTEREST_RATE :{WHITE}Oprocentowanie pożyczki: {BLACK}{NUM}%
STR_FINANCES_MAX_LOAN :{WHITE}Maksymalna pożyczka: {BLACK}{CURRENCY_LONG}
STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG}
STR_FINANCES_BANK_BALANCE :{WHITE}{CURRENCY_LONG}
STR_FINANCES_BORROW_BUTTON :{BLACK}Pożyczka {CURRENCY_LONG}
STR_FINANCES_BORROW_TOOLTIP :{BLACK}Zwiększ wielkość pożyczki. Ctrl+klik pożycza największą możliwą kwotę
STR_FINANCES_REPAY_BUTTON :{BLACK}Zwrot {CURRENCY_LONG}
@ -4132,7 +4153,7 @@ STR_INDUSTRY_DIRECTORY_ITEM_PRODMORE :{ORANGE}{INDUST
STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Nazwy przedsiębiorstw - kliknij na nazwę przedsiębiorstwa, aby wyśrodkować na nim widok główny. Ctrl+klik otwiera nowy podgląd na lokalizację przedsiębiorstwa
STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Akceptowany ładunek: {SILVER}{STRING}
STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Produkowany ładunek: {SILVER}{STRING}
STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Wszystkie typy ładunku
STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Wszystkie typy ładunków
STR_INDUSTRY_DIRECTORY_FILTER_NONE :Żadne
# Industry view
@ -4262,7 +4283,7 @@ STR_PURCHASE_INFO_COST_REFIT_SPEED :{BLACK}Koszt: {
STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Ładowność: {GOLD}{CARGO_LONG}, {CARGO_LONG}
STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Moc: {GOLD}+{POWER}{BLACK} Masa: {GOLD}+{WEIGHT_SHORT}
STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Można przystosować do: {GOLD}{STRING}
STR_PURCHASE_INFO_ALL_TYPES :wszystkie typy ładunków
STR_PURCHASE_INFO_ALL_TYPES :Wszystkie typy ładunków
STR_PURCHASE_INFO_NONE :Żadne
STR_PURCHASE_INFO_ENGINES_ONLY :Tylko lokomotywy
STR_PURCHASE_INFO_ALL_BUT :wszystko oprócz {CARGO_LIST}
@ -4271,6 +4292,9 @@ STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Zasięg:
STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Typ samolotu: {GOLD}{STRING}
###length 3
STR_CARGO_TYPE_FILTER_ALL :Wszystkie typy ładunków
STR_CARGO_TYPE_FILTER_FREIGHT :Fracht
STR_CARGO_TYPE_FILTER_NONE :Żaden
###length VEHICLE_TYPES
STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Lista wyboru pociągów - kliknij na pojazd, aby uzyskać informacje. Ctrl+klik przełącza ukrywanie typu pojazdu
@ -4604,7 +4628,8 @@ STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Max. pr
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Masa: {LTBLUE}{WEIGHT_SHORT} {BLACK}Moc: {LTBLUE}{POWER}{BLACK} Prędkość maksymalna: {LTBLUE}{VELOCITY}
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Masa: {LTBLUE}{WEIGHT_SHORT} {BLACK}Moc: {LTBLUE}{POWER}{BLACK} Prędkość maksymalna: {LTBLUE}{VELOCITY} {BLACK}Maksymalna siła pociągowa: {LTBLUE}{FORCE}
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Zysk w tym roku: {LTBLUE}{CURRENCY_LONG} (w zeszłym roku: {CURRENCY_LONG})
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Zysk w tym roku: {LTBLUE}{CURRENCY_LONG} (ostatni rok: {CURRENCY_LONG})
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Zysk w tym roku: {LTBLUE}{CURRENCY_LONG} (ostatni rok: {CURRENCY_LONG}) {BLACK}Min. wydajność: {LTBLUE}{POWER_TO_WEIGHT}
STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Niezawodność: {LTBLUE}{COMMA}% {BLACK}Awarie od ostatniego serwisowania: {LTBLUE}{COMMA}
STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Zakupiony: {LTBLUE}{NUM}{BLACK} Wartość: {LTBLUE}{CURRENCY_LONG}
@ -4938,6 +4963,8 @@ STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Jeden z
STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}Okno debugowania SI / Game Script jest dostępne tylko na serwerze
# AI configuration window
STR_AI_CONFIG_CAPTION_AI :{WHITE}Konfiguracja SI
STR_AI_CONFIG_CAPTION_GAMESCRIPT :{WHITE}Konfiguracja Game Script
STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}Game Script, który zostanie załadowany podczas kolejnej gry
STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}SI, które zostaną załadowane podczas kolejnej gry
STR_AI_CONFIG_HUMAN_PLAYER :Ludzki gracz
@ -4951,17 +4978,18 @@ STR_AI_CONFIG_MOVE_DOWN :{BLACK}Przesuń
STR_AI_CONFIG_MOVE_DOWN_TOOLTIP :{BLACK}Przesuń wybraną SI w dół listy
STR_AI_CONFIG_GAMESCRIPT :{SILVER}Game Script
STR_AI_CONFIG_GAMESCRIPT_PARAM :{SILVER}Parametry
STR_AI_CONFIG_AI :{SILVER}SI
STR_AI_CONFIG_CHANGE_AI :SI
STR_AI_CONFIG_CHANGE_GAMESCRIPT :Game Script
STR_AI_CONFIG_CHANGE_AI :{BLACK}Wybierz SI
STR_AI_CONFIG_CHANGE_GAMESCRIPT :{BLACK}Wybierz Game Script
STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Wczytaj kolejny skrypt
STR_AI_CONFIG_CONFIGURE :{BLACK}Konfiguruj
STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Konfiguruj parametry skryptu
# Available AIs window
STR_AI_LIST_CAPTION :{WHITE}Dostępne {STRING}
STR_AI_LIST_CAPTION_AI :Gracze SI
STR_AI_LIST_CAPTION_AI :SI
STR_AI_LIST_CAPTION_GAMESCRIPT :Game Scripty
STR_AI_LIST_TOOLTIP :{BLACK}Kliknij, aby wybrać skrypt
@ -4983,7 +5011,7 @@ STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Zrzut ek
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Zrzut ekranu minimapy
# AI Parameters
STR_AI_SETTINGS_CAPTION_AI :SI
STR_AI_SETTINGS_CAPTION_AI :{WHITE}Parametry SI
STR_AI_SETTINGS_CLOSE :{BLACK}Zamknij
STR_AI_SETTINGS_RESET :{BLACK}Resetuj
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
@ -5401,6 +5429,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Nie moż
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... pojazd jest zniszczony
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Żadne pojazdy nie będą dostępne
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Zmień konfigurację swoich NewGRF-ów
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Obecnie żaden pojazd nie jest dostępny

@ -274,10 +274,10 @@ STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Mostrar
STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Mostrar escondido
###length VEHICLE_TYPES
STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Ao activar este botão, os veículos ferroviários ocultos também serão exibidos
STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Ao activar este botão, os veículos rodoviários ocultos também serão exibidos
STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Ao activar este botão, os navios ocultos também serão exibidos
STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Ao activar este botão, os aviões ocultos também serão exibidos
STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Ao ativar este botão, os veículos ferroviários ocultos também serão exibidos
STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Ao ativar este botão, os veículos rodoviários ocultos também serão exibidos
STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Ao ativar este botão, os navios ocultos também serão exibidos
STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Ao ativar este botão, os aviões ocultos também serão exibidos
# Query window
STR_BUTTON_DEFAULT :{BLACK}Padrão
@ -324,7 +324,7 @@ STR_SORT_BY_RATING_MIN :Menor carga
STR_SORT_BY_ENGINE_ID :EngineID (ordem clássica)
STR_SORT_BY_COST :Custo
STR_SORT_BY_POWER :Potência
STR_SORT_BY_TRACTIVE_EFFORT :Força de Tracção
STR_SORT_BY_TRACTIVE_EFFORT :Esforço de tração
STR_SORT_BY_INTRO_DATE :Data de Introdução
STR_SORT_BY_RUNNING_COST :Custo de circulação
STR_SORT_BY_POWER_VS_RUNNING_COST :Potência/Custo de circulação
@ -411,6 +411,8 @@ STR_SCENEDIT_FILE_MENU_QUIT :Sair
###length 15
STR_SETTINGS_MENU_GAME_OPTIONS :Opções do Jogo
STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Definições
STR_SETTINGS_MENU_AI_SETTINGS :Definições de IA
STR_SETTINGS_MENU_GAMESCRIPT_SETTINGS :Definições de script de jogo
STR_SETTINGS_MENU_NEWGRF_SETTINGS :Definições NewGRF
STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Opções de Transparência
STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Mostrar nomes de localidades
@ -619,8 +621,8 @@ STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Valor da
STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION :{WHITE}Tarifas por carga
STR_GRAPH_CARGO_PAYMENT_RATES_X_LABEL :{TINY_FONT}{BLACK}Dias em trânsito
STR_GRAPH_CARGO_PAYMENT_RATES_TITLE :{TINY_FONT}{BLACK}Pagamento por entregar 10 unidades (ou 10 000 litros) de carga numa distância de 20 quadrados
STR_GRAPH_CARGO_ENABLE_ALL :{TINY_FONT}{BLACK}Activar tudo
STR_GRAPH_CARGO_DISABLE_ALL :{TINY_FONT}{BLACK}Desactivar tudo
STR_GRAPH_CARGO_ENABLE_ALL :{TINY_FONT}{BLACK}Ativar tudo
STR_GRAPH_CARGO_DISABLE_ALL :{TINY_FONT}{BLACK}Desativar tudo
STR_GRAPH_CARGO_TOOLTIP_ENABLE_ALL :{BLACK}Mostrar todas as cargas no gráfico de tarifas por carga
STR_GRAPH_CARGO_TOOLTIP_DISABLE_ALL :{BLACK}Não mostrar carga no gráfico de tarifas por carga
STR_GRAPH_CARGO_PAYMENT_TOGGLE_CARGO :{BLACK}Mostrar/ocultar gráfico para o tipo de carga
@ -797,8 +799,8 @@ STR_SMALLMAP_INDUSTRY :{TINY_FONT}{STR
STR_SMALLMAP_LINKSTATS :{TINY_FONT}{STRING}
STR_SMALLMAP_COMPANY :{TINY_FONT}{COMPANY}
STR_SMALLMAP_TOWN :{TINY_FONT}{WHITE}{TOWN}
STR_SMALLMAP_DISABLE_ALL :{BLACK}Desactivar tudo
STR_SMALLMAP_ENABLE_ALL :{BLACK}Activar tudo
STR_SMALLMAP_DISABLE_ALL :{BLACK}Desativar tudo
STR_SMALLMAP_ENABLE_ALL :{BLACK}Ativar tudo
STR_SMALLMAP_SHOW_HEIGHT :{BLACK}Mostrar altura
STR_SMALLMAP_TOOLTIP_DISABLE_ALL_INDUSTRIES :{BLACK}Não mostrar indústrias no mapa
STR_SMALLMAP_TOOLTIP_ENABLE_ALL_INDUSTRIES :{BLACK}Mostrar todas as indústrias no mapa
@ -992,7 +994,7 @@ STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Seleccio
# Autosave dropdown
###length 5
STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Desactivado
STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Desativado
STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Cada mês
STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Cada 3 meses
STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Cada 6 meses
@ -1019,21 +1021,19 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Marque e
STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}"Driver" atual: {STRING}
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Tamanho interface
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Seleccionar tamanho do elemento de interface a usar
STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}Tamanho do interface
STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Arraste o controle deslizante para definir o tamanho do interface. Mantenha pressionada a tecla Ctrl para um ajuste contínuo
STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}Auto-detetar o tamanho
STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Marque esta caixa para detetar automaticamente o tamanho do interface
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(auto-detetar)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dobro do tamanho
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Quádruplo do tamanho
STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Escalar chanfros
STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Marque esta caixa para dimensionar os chanfros por tamanho de interface
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Tamanho da fonte
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Seleccionar tamanho da fonte de interface a usar
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(auto-detetar)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Dobro do tamanho
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Quádruplo do tamanho
STR_GAME_OPTIONS_GUI_SCALE_1X :1x
STR_GAME_OPTIONS_GUI_SCALE_2X :2x
STR_GAME_OPTIONS_GUI_SCALE_3X :3x
STR_GAME_OPTIONS_GUI_SCALE_4X :4x
STR_GAME_OPTIONS_GUI_SCALE_5X :5x
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Gráficos
@ -1200,7 +1200,7 @@ STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK}Mostrar
###length 3
STR_CONFIG_SETTING_OFF :Desligado
STR_CONFIG_SETTING_ON :Ligado
STR_CONFIG_SETTING_DISABLED :Desactivado
STR_CONFIG_SETTING_DISABLED :Desativado
###length 3
STR_CONFIG_SETTING_COMPANIES_OFF :Desligado
@ -1221,7 +1221,7 @@ STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Valor máximo d
STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Quantia máxima que uma companhia pode pedir (sem ter em conta a inflação)
STR_CONFIG_SETTING_INTEREST_RATE :Taxa de juro: {STRING}
STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Taxa de juro do empréstimo; também controla a inflacção, se activo
STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Taxa de juro do empréstimo; também controla a inflação, se ativo
STR_CONFIG_SETTING_RUNNING_COSTS :Custos operacionais: {STRING}
STR_CONFIG_SETTING_RUNNING_COSTS_HELPTEXT :Configurar nível de manutenção e custos operacionais de veículos e infraestrutura
@ -1246,13 +1246,13 @@ STR_CONFIG_SETTING_CONSTRUCTION_COSTS :Custos de const
STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Configurar o nível de construção e custos de compra
STR_CONFIG_SETTING_RECESSIONS :Recessões: {STRING}
STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Se activo, podem ocorrer recessões em intervalos de poucos anos. Durante uma recessão a produção em geral é mais baixa (volta aos níveis anteriores quando termina)
STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Se ativo, podem ocorrer recessões em intervalos de poucos anos. Durante uma recessão a produção em geral é mais baixa (volta aos níveis anteriores quando termina)
STR_CONFIG_SETTING_TRAIN_REVERSING :Desabilitar inversão de combóios nas estações: {STRING}
STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Quando activo, os combóios não podem inverter marcha em estações não-terminais, mesmo se existir um caminho mais curto para o destino seguinte com inversão
STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Quando ativo, os comboios não podem inverter marcha em estações não-terminais, mesmo se existir um caminho mais curto para o próximo destino ao inverter
STR_CONFIG_SETTING_DISASTERS :Desastres: {STRING}
STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Activa desastres que podem ocasionalmente bloquear ou destruir veículos ou infraestruturas
STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Ativa desastres que podem ocasionalmente bloquear ou destruir veículos ou infraestruturas
STR_CONFIG_SETTING_CITY_APPROVAL :Atitude da autoridade local: {STRING}
STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Escolha de que forma o ruído e dano ambiental causado pelas empresas afeta o rating da povoação e futuras ações de construção nessa povoação
@ -1271,7 +1271,7 @@ STR_CONFIG_SETTING_CATCHMENT :Dimensionamento
STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Haver diferentes áreas de cobertura para diferentes tipos de estações e aeroportos
STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES :Estações da companhia podem servir industrias equipadas com estações neutras: {STRING}
STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT :Quando activo, industrias com estações incluídas (com as Petrolíferas) podem ser servidas por estações da companhia construídas nas redondezas. Quando inactivo, estas industrias só podem ser servidas pela sua própria estação. Qualquer estação da companhia não poderá servir a industria, nem a estação incluída poder servir outra entidade senão a própria industria
STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT :Quando ativo, industrias com estações incluídas (com as Petrolíferas) podem ser servidas por estações da companhia construídas nas redondezas. Quando inativo, estas industrias só podem ser servidas pela sua própria estação. Qualquer estação da companhia não poderá servir a industria, nem a estação incluída pode servir outra entidade senão a própria industria
STR_CONFIG_SETTING_EXTRADYNAMITE :Permite remover mais estradas, pontes e túneis detidos pela cidade: {STRING}
STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Facilitar a remoçar de edifícios e infraestruturas detidas pela localidade
@ -1284,10 +1284,10 @@ STR_CONFIG_SETTING_SMOKE_AMOUNT :Quantidade de f
STR_CONFIG_SETTING_SMOKE_AMOUNT_HELPTEXT :Assignar quanto fumo ou quantas faíscas são emitidas pelos veículos
STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL :Modelo de aceleração de comboios: {STRING}
STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_HELPTEXT :Escolha o modelo de física para a aceleração de comboios. O modelo "original" penalisa as inclinações para todos os veículos. O modelo "realista" penalisa as curvas e inclinações tendo em conta várias propriedades do objecto, como o tamanho e esforço tractivo
STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_HELPTEXT :Escolha o modelo de física para a aceleração de comboios. O modelo "original" penaliza as inclinações para todos os veículos. O modelo "realista" penaliza as curvas e inclinações tendo em conta várias propriedades do comboio, tais como o comprimento e o esforço de tração
STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL :Tipo de aceleração dos veículos rodoviários: {STRING}
STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT :Escolha o modelo de física para a aceleração de veículos de estrada. O modelo "original" penalisa as inclinações para todos os veículos. O modelo "realista" penalisa as curvas e inclinações tendo em conta várias propriedades do motor, como o esforço tractivo
STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT :Escolha o modelo de física para a aceleração de veículos de estrada. O modelo "original" penaliza as inclinações para todos os veículos. O modelo "realista" penaliza as curvas e inclinações tendo em conta várias propriedades do motor, tais como o esforço de tração
STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS :Ângulo de inclinação para comboios: {STRING}
STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :Ângulo de inclinação de um quadrado para um comboio. Valores mais elevados tornam a subida mais difícil
@ -1348,7 +1348,7 @@ STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :no meio
STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :no extremo longe
STR_CONFIG_SETTING_AUTOSCROLL :Deslocar janela quando o rato está na borda do mapa: {STRING}
STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Quando activo, os visualizadores começam a deslocar-se logo que o rato esteja no extremo da janela
STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Quando ativo, os visualizadores começam a deslocar-se logo que o rato esteja no extremo da janela
###length 4
STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Desligado
STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :Visualizador principal, só ecrã cheio
@ -1391,13 +1391,13 @@ STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Permite constru
STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Não é possível mudar quando já existem veículos.
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Manutenção de infraestruturas: {STRING}
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Quando activo, as infraestruturas têm custos de manutenção. O custo cresce mais do que proporcionalmente com o tamanho da rede e com isso afecta mais as companhias maiores comparado com as mais pequeneas
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Quando ativo, as infraestruturas têm custos de manutenção. O custo cresce mais do que proporcionalmente com o tamanho da rede e com isso afeta mais as companhias maiores comparando com as mais pequenas
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Côr de inicio da empresa: {STRING}
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Escolher côr de inicio da empresa
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Aeroportos nunca expiram: {STRING}
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Activar esta preferência torna cada tipo de aeroporto disponível para sempre após a sua introdução
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Ativar esta preferência torna cada tipo de aeroporto disponível para sempre após a sua introdução
STR_CONFIG_SETTING_WARN_LOST_VEHICLE :Avisar se o veículo está perdido: {STRING}
STR_CONFIG_SETTING_WARN_LOST_VEHICLE_HELPTEXT :Mostrar mensagens sobre veículos que não conseguem encontrar o caminho para o seu próximo destino.
@ -1410,13 +1410,13 @@ STR_CONFIG_SETTING_ORDER_REVIEW_EXDEPOT :Sim, mas exclui
STR_CONFIG_SETTING_ORDER_REVIEW_ON :De todos os veículos
STR_CONFIG_SETTING_WARN_INCOME_LESS :Avisar se o lucro de um veiculo for negativo: {STRING}
STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Quando activo, uma notícia é enviada quando um veículo não deu lucro durante um ano
STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Quando ativo, uma notícia é enviada quando um veículo não deu lucro durante um ano
STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Veículos nunca expiram: {STRING}
STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Quando activo, todos os modelos de veículos permanecerão disponíveis para sempre após a sua introdução
STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Quando ativo, todos os modelos de veículos permanecerão disponíveis para sempre após a sua introdução
STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Auto-renovação de veículos quando ficam velhos: {STRING}
STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Quando activo, um veículo a chegar ao fim de vida é automaticamente substituído quando as condições de renovação estão reunidas
STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Quando ativo, um veículo a chegar ao fim de vida é automaticamente substituído quando as condições de renovação estão reunidas
STR_CONFIG_SETTING_AUTORENEW_MONTHS :Renovar automaticamente quando um veículo chega a {STRING} a idade máxima
STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Idade relativa a partir da qual um veículo deva ser indicado para auto-renovação
@ -1445,6 +1445,8 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Largura da linh
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Exibir o nome do "NewGRF" na janela de compra de veículos: {STRING}
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Adiciona uma linha à janela de compra de veículos, mostrando a qual "NewGRF" pertence o veículo selecionado.
STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Mostrar as cargas que os veículos podem transportar nas janelas de listagem {STRING}
STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Quando ativo, a carga transportável do veículo aparecerá acima nas listas de veículos
STR_CONFIG_SETTING_LANDSCAPE :Cenário: {STRING}
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Os climas definem a jogabilidade base dos cenários com diferentes cargas e requisitos de crescimento das localidades. Os "NewGRF" e "Scripts" de Jogo permitem um controlo mais preciso.
@ -1546,7 +1548,7 @@ STR_CONFIG_SETTING_SCROLLMODE_RMB :Mover mapa com
STR_CONFIG_SETTING_SCROLLMODE_LMB :Mover mapa com Botão Esquerdo Rato
STR_CONFIG_SETTING_SMOOTH_SCROLLING :Suavizar deslocamento da navegação no mapa: {STRING}
STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Controla como a vista principal navega para uma posição específica ao clicar no mapa pequeno ou ao dar um comando para navegar para um objecto específico no mapa. Se activo, a vista principal navega suavemente, se inactivo a vista salta directamente para o destino.
STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Controla como a vista principal navega para uma posição específica ao clicar no mapa pequeno ou ao dar um comando para navegar para um objeto específico no mapa. Se ativo, a vista principal navega suavemente, se inativo a vista salta diretamente para o destino.
STR_CONFIG_SETTING_MEASURE_TOOLTIP :Mostrar medidas nas várias ferramentas de construção: {STRING}
STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Mostrar distâncias em quadrados e diferenças de altura enquanto arrasta o rato durante tarefas de construção
@ -1565,7 +1567,7 @@ STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER :Velocidade da r
STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER_HELPTEXT :Controlo de sensibilidade da roda de rolagem do rato
STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING :Função da roda do rato: {STRING}
STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING_HELPTEXT :Activar navegação com rodas de scroll bidimensional
STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING_HELPTEXT :Ativar "scroll" com rodas de rato bidimensionais
###length 3
STR_CONFIG_SETTING_SCROLLWHEEL_ZOOM :Ampliar mapa
STR_CONFIG_SETTING_SCROLLWHEEL_SCROLL :Percorrer mapa
@ -1574,7 +1576,7 @@ STR_CONFIG_SETTING_SCROLLWHEEL_OFF :Desligado
STR_CONFIG_SETTING_OSK_ACTIVATION :Teclado no ecrã: {STRING}
STR_CONFIG_SETTING_OSK_ACTIVATION_HELPTEXT :Selecione o método de abertura de teclado virtual para escrita de texto em caixas, usando apenas o cursor. Esta opção destina-se principalmente para equipamentos pequenos sem teclado físico.
###length 4
STR_CONFIG_SETTING_OSK_ACTIVATION_DISABLED :Desactivado
STR_CONFIG_SETTING_OSK_ACTIVATION_DISABLED :Desativado
STR_CONFIG_SETTING_OSK_ACTIVATION_DOUBLE_CLICK :Duplo clique
STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK_FOCUS :Clique simples (quando em foco)
STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK :Clique (imediatamente)
@ -1594,7 +1596,7 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_CONTROL :<CTRL> + clique
STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Desligado
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Fechar janelas ao fazer clique direito: {STRING}
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Fecha uma janela ao fazer clique direito dentro dela. Desactiva os textos de ajuda ao fazer clique direito!
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Fecha uma janela ao fazer clique direito dentro dela. Desativa os textos de ajuda ao fazer clique direito!
STR_CONFIG_SETTING_AUTOSAVE :Guardar automaticamente: {STRING}
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Seleccione o intervalo entre gravações automáticas
@ -1607,7 +1609,7 @@ STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :curto (31-12-20
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31)
STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Pausa automática ao iniciar um novo jogo: {STRING}
STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Quando activo, o jogo ficará em pausa automaticamente num novo jogo, permitindo o estudo ao pormenor do mapa
STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Quando ativo, o jogo ficará em pausa automaticamente num novo jogo, permitindo o estudo ao pormenor do mapa
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Durante pausa permitir: {STRING}
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_HELPTEXT :Seleccionar que acções podem ser feitas enquanto o jogo está em pausa
@ -1618,7 +1620,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Todas expecto a
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Todas as acções
STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Usar a lista avançada de veículos: {STRING}
STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Activar a utilização de listas avançadas de veículos para o agrupamento de veículos
STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Ativar a utilização de listas avançadas de veículos para o agrupamento de veículos
STR_CONFIG_SETTING_LOADING_INDICATORS :Usar indicadores de carga: {STRING}
STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Seleccionar se os indicadores de carga são mostrados acima de veículos em carga ou descarga
@ -1642,7 +1644,7 @@ STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :Mais utilizado
STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Mostrar caminho de ferro reservado: {STRING}
STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Dar cores diferentes aos carris reservados para ajudar a detectar problemas com combóios que recusam entrar em bloqueios baseados em caminhos
STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Deixar ferramentas de construção activas depois de usadas: {STRING}
STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Deixar ferramentas de construção ativas depois de usadas: {STRING}
STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Manter as ferramentas de construção de pontes, túneis, etc. abertas após uso
STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Remover automaticamente os sinais durante a construção de vias férreas: {STRING}
@ -1690,20 +1692,20 @@ STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Número máximo
STR_CONFIG_SETTING_MAX_SHIPS :Máximo de navios por empresa: {STRING}
STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Número máximo de navios que uma companhia pode ter
STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Desactivar comboios para o computador: {STRING}
STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT :Activar esta preferência impossibilita a criação de comboios por jogadores controlados pelo computador
STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Desativar comboios para o computador: {STRING}
STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT :Ativar esta preferência impossibilita a criação de comboios por jogadores controlados pelo computador
STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES :Desactivar veículos rodoviários para o computador: {STRING}
STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES_HELPTEXT :Activar esta preferência impossibilita a construção de veículos de estrada por um jogador controlado pelo computador
STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES :Desativar veículos rodoviários para o computador: {STRING}
STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES_HELPTEXT :Ativar esta preferência impossibilita a construção de veículos de estrada por um jogador controlado pelo computador
STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT :Desactivar aeronaves para o computador: {STRING}
STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT_HELPTEXT :Activar esta preferência impossibilita a construção de aeronaves por um jogador controlado pelo computador
STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT :Desativar aeronaves para o computador: {STRING}
STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT_HELPTEXT :Ativar esta preferência impossibilita a construção de aeronaves por um jogador controlado pelo computador
STR_CONFIG_SETTING_AI_BUILDS_SHIPS :Desactivar navios para o computador: {STRING}
STR_CONFIG_SETTING_AI_BUILDS_SHIPS_HELPTEXT :Activar esta preferência impossibilita a construção de navios por um jogador controlado pelo computador
STR_CONFIG_SETTING_AI_BUILDS_SHIPS :Desativar navios para o computador: {STRING}
STR_CONFIG_SETTING_AI_BUILDS_SHIPS_HELPTEXT :Ativar esta preferência impossibilita a construção de navios por um jogador controlado pelo computador
STR_CONFIG_SETTING_AI_PROFILE :Perfil de preferências por omissão: {STRING}
STR_CONFIG_SETTING_AI_PROFILE_HELPTEXT :Escolher o perfil de preferências a usar para AIs aleatórias ou para valores iniciais ao adicionar uma nova AI ou Script de Jogo
STR_CONFIG_SETTING_AI_PROFILE_HELPTEXT :Escolher o perfil de preferências a usar para IAs aleatórias ou para valores iniciais ao adicionar uma nova IA ou Script de Jogo
###length 3
STR_CONFIG_SETTING_AI_PROFILE_EASY :Fácil
STR_CONFIG_SETTING_AI_PROFILE_MEDIUM :Média
@ -1719,7 +1721,7 @@ STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Definir o volum
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB
STR_CONFIG_SETTING_SERVINT_ISPERCENT :Os intervalos de serviço são em percentagem: {STRING}
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Escolher se a manutenção de veículos é activada pelo tempo passado deste a última manutenção, ou pela fiabilidade abaixo de uma certa percentagem da fiabilidade máxima
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Escolher se a manutenção de veículos é ativada pelo tempo decorrido deste a última manutenção, ou pela fiabilidade abaixo de uma certa percentagem da fiabilidade máxima
STR_CONFIG_SETTING_SERVINT_TRAINS :Intervalo de serviço para comboios por omissão: {STRING}
STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Definir o intervalo de manutenção por omissão para novos veículos sobre carris, se não for configurado um intervalo de manutenção explícito para o veículo
@ -1737,10 +1739,10 @@ STR_CONFIG_SETTING_NOSERVICE :Não fazer manu
STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Quando ativo, os veículos não farão manutenção se não puderem avariar
STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Ativar limites de velocidade para vagões: {STRING}
STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Quando activo, usar também os limites de velocidade das carruagens para decidir a velocidade máxima de um comboio
STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Quando ativo, aplica também os limites de velocidade dos vagões para decidir a velocidade máxima do comboio
STR_CONFIG_SETTING_DISABLE_ELRAILS :Desactivar carris electrificados: {STRING}
STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT :Activar esta preferência desactiva o requisito de electrificar carris para que composições eléctricas os possam utilizar
STR_CONFIG_SETTING_DISABLE_ELRAILS :Desativar carris eletrificados: {STRING}
STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT :Ativar esta preferência desativa o requisito de eletrificar carris para que composições elétricas os possam utilizar
STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN :Chegada do primeiro veículo à estação do jogador: {STRING}
STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN_HELPTEXT :Mostrar um jornal na chegada do primeiro veículo a uma estação nova do jogador
@ -1812,7 +1814,7 @@ STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Suave
STR_CONFIG_SETTING_ECONOMY_TYPE_FROZEN :Congelada
STR_CONFIG_SETTING_ALLOW_SHARES :Permite comprar acções de outras empresas: {STRING}
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Quando activo, permite a compra e venda de acções de companhias. As acções apenas estarão disponíveis quando a companhia atinge uma determinada idade.
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Quando ativo, permite a compra e venda de ações de companhias. As ações apenas estarão disponíveis quando a companhia atinge uma determinada idade.
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES :Idade mínima da empresa para negociar ações: {STRING}
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES_HELPTEXT :Definir a idade mínima de uma companhia a partir da qual outros jogadores poderão comprar ou vender ações da mesma.
@ -1824,7 +1826,7 @@ STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Ao arrastar, co
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Define a distância a que os sinais serão construídos num carril até ao próximo obstáculo (sinal, junção), se os sinais são arrastados
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} quadrado{P 0 "" s}
STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE :Ao arrastar, manter distância fixa entre sinais: {STRING}
STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Seleccionar o comportamento da colocação de sinais ao usar Ctrl+arrasto. Se desactivado, sinais são colocados à volta de túneis ou pontes para evitar longos trajectos sem sinais. Se activo, sinais são colocados a cada N mosaicos, facilitando o alinhamento de sinais em linhas paralelas
STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Selecionar o comportamento da colocação de sinais ao usar Ctrl+arrasto. Se desativado, os sinais são colocados à volta de túneis ou pontes para evitar longos trajetos sem sinais. Se ativo, os sinais são colocados a cada N mosaicos, facilitando o alinhamento de sinais em linhas paralelas
STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Usar automaticamente sinais clássicos antes de: {STRING}
STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Configurar o ano em que sinais eléctricos podem ser usados para os carris. Antes deste ano, sinais não-eléctricos serão usados (que têm a mesma funcionalidade, mas aspecto diferente)
@ -1851,15 +1853,15 @@ STR_CONFIG_SETTING_TOWN_LAYOUT_3X3_GRID :grelha 3x3
STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :Aleatório
STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :As localidades têm permissão para construir estradas: {STRING}
STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Permite às localidades a construção de estradas para crescimento. Desactivar para não permitir às autoridades a construção de estradas
STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Permite às localidades a construção de estradas para crescimento. Desativar para prevenir a construção de estradas pelas autoridades locais.
STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Localidades podem construir passagens de nível: {STRING}
STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Activar esta preferência permite às localidades construir cruzamentos nivelados
STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Ativar esta preferência permite às localidades construir cruzamentos nivelados
STR_CONFIG_SETTING_NOISE_LEVEL :Permitir que a localidade controle o nível de ruído dos aeroportos: {STRING}
STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Com esta preferência desactivada, podem haver dois aeroportos em cada localidade. Com esta preferência activa, o número de aeroportos numa localidade é limitado pela aceitação do ruído na mesma, que depende da população, do tamanho do aeroporto e da sua distância
STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Com esta preferência desativada, podem haver dois aeroportos em cada localidade. Com esta preferência ativa, o número de aeroportos numa localidade é limitado pela aceitação do ruído na mesma, que depende da população, do tamanho do aeroporto e da sua distância
STR_CONFIG_SETTING_TOWN_FOUNDING :Fundar localidades no jogo: {STRING}
STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Activar esta preferência permite aos jogadores fundar novas povoações no jogo
STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Ativar esta preferência permite aos jogadores fundar novas povoações no jogo
###length 3
STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Proibido
STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Permitido
@ -2078,8 +2080,10 @@ STR_INTRO_MULTIPLAYER :{BLACK}Multi-jo
STR_INTRO_GAME_OPTIONS :{BLACK}Opções de jogo
STR_INTRO_HIGHSCORE :{BLACK}Tabela de classificações
STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Definições
STR_INTRO_NEWGRF_SETTINGS :{BLACK}Definições NewGRF
STR_INTRO_NEWGRF_SETTINGS :{BLACK}Definições de NewGRF
STR_INTRO_ONLINE_CONTENT :{BLACK}Verificar conteúdo online
STR_INTRO_AI_SETTINGS :{BLACK}Definições de IA
STR_INTRO_GAMESCRIPT_SETTINGS :{BLACK}Definições de Script de Jogo
STR_INTRO_QUIT :{BLACK}Sair
STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Iniciar um novo jogo. Ctrl+Clique salta a configuração do mapa
@ -2099,6 +2103,8 @@ STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Mostrar
STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Mostrar definições
STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Mostrar definições de NewGRF
STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Verificar conteúdo novo e actualizado para descarga
STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Mostrar definições de IA
STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Mostrar definições de Script de Jogo
STR_INTRO_TOOLTIP_QUIT :{BLACK}Sair de 'OpenTTD'
STR_INTRO_BASESET :{BLACK}O conjunto de gráficos base seleccionado tem {NUM} sprite{P "" s} em falta. Por favor verifique se existem atualizações para o conjunto.
@ -2128,7 +2134,7 @@ STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Editar
STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Editar altura máxima de montanhas no mapa
STR_CHEAT_CHANGE_DATE :{LTBLUE}Alterar data: {ORANGE}{DATE_SHORT}
STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Alterar ano actual
STR_CHEAT_SETUP_PROD :{LTBLUE}Activar modificação de valores de produção: {ORANGE}{STRING}
STR_CHEAT_SETUP_PROD :{LTBLUE}Ativar modificação de valores de produção: {ORANGE}{STRING}
# Livery window
STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Novo Esquema de Cores
@ -2200,7 +2206,7 @@ STR_FACE_AFRICAN :{BLACK}Africano
STR_FACE_SELECT_AFRICAN :{BLACK}Seleccionar Caras Africanas
STR_FACE_YES :Sim
STR_FACE_NO :Não
STR_FACE_MOUSTACHE_EARRING_TOOLTIP :{BLACK}Activar bigode ou brinco
STR_FACE_MOUSTACHE_EARRING_TOOLTIP :{BLACK}Ativar bigode ou brinco
STR_FACE_HAIR :Cabelo:
STR_FACE_HAIR_TOOLTIP :{BLACK}Mudar cabelo
STR_FACE_EYEBROWS :Sobrancelhas:
@ -2208,7 +2214,7 @@ STR_FACE_EYEBROWS_TOOLTIP :{BLACK}Mudar so
STR_FACE_EYECOLOUR :Cor dos olhos:
STR_FACE_EYECOLOUR_TOOLTIP :{BLACK}Mudar cor dos olhos
STR_FACE_GLASSES :Óculos:
STR_FACE_GLASSES_TOOLTIP :{BLACK}Activar óculos
STR_FACE_GLASSES_TOOLTIP :{BLACK}Ativar óculos
STR_FACE_GLASSES_TOOLTIP_2 :{BLACK}Mudar óculos
STR_FACE_NOSE :Nariz:
STR_FACE_NOSE_TOOLTIP :{BLACK}Mudar nariz
@ -2731,7 +2737,7 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Construi
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Construir paragem de eléctricos para passageiros. Ctrl permite juntar estações. Shift alterna contruir/mostrar custo estimado
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Construir área de carregamento de camiões. Ctrl permite juntar estações. Shift alterna contruir/mostrar custo estimado
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Construir paragem de eléctricos para carga. Ctrl permite juntar estações. Shift alterna contruir/mostrar custo estimado
STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Activar/Desactivar estradas de sentido único
STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Ativar/Desativar estradas de sentido único
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Construir ponte de estrada. Shift alterna contruir/mostrar custo estimado
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Construir ponte para eléctricos. Shift alterna contruir/mostrar custo estimado
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Construir túnel de estrada. Shift alterna contruir/mostrar custo estimado
@ -3079,9 +3085,9 @@ STR_FRAMERATE_DRAWING :{BLACK}Renderiz
STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Janelas de exibição do mundo:
STR_FRAMERATE_VIDEO :{BLACK}Saída de video:
STR_FRAMERATE_SOUND :{BLACK}Mistura de Som:
STR_FRAMERATE_ALLSCRIPTS :{BLACK} GS/AI total:
STR_FRAMERATE_ALLSCRIPTS :{BLACK} SJ/IA total:
STR_FRAMERATE_GAMESCRIPT :{BLACK} Script de jogo:
STR_FRAMERATE_AI :{BLACK} AI {NUM} {STRING}
STR_FRAMERATE_AI :{BLACK} IA {NUM} {STRING}
###length 15
STR_FRAMETIME_CAPTION_GAMELOOP :Loop de jogo
@ -3098,7 +3104,7 @@ STR_FRAMETIME_CAPTION_VIDEO :Saída de video
STR_FRAMETIME_CAPTION_SOUND :Mistura de Som
STR_FRAMETIME_CAPTION_ALLSCRIPTS :total scripts GS/AI
STR_FRAMETIME_CAPTION_GAMESCRIPT :Script de jogo
STR_FRAMETIME_CAPTION_AI :AI {NUM} {STRING}
STR_FRAMETIME_CAPTION_AI :IA {NUM} {STRING}
# Save/load game/scenario
@ -3162,6 +3168,12 @@ STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Rios:
STR_MAPGEN_SMOOTHNESS :{BLACK}Suavidade:
STR_MAPGEN_VARIETY :{BLACK}Variedade da distribuição:
STR_MAPGEN_GENERATE :{WHITE}Gerar
STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}Definições de NewGRF
STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Mostrar definições de NewGRF
STR_MAPGEN_AI_SETTINGS :{BLACK}Definições de IA
STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}Mostrar definições de IA
STR_MAPGEN_GS_SETTINGS :{BLACK}Definições de Script de Jogo
STR_MAPGEN_GS_SETTINGS_TOOLTIP :{BLACK}Mostrar definições de script de jogo
###length 21
STR_MAPGEN_TOWN_NAME_ORIGINAL_ENGLISH :Inglês
@ -3241,8 +3253,8 @@ STR_GENERATION_PREPARING_GAME :{BLACK}A prepar
# NewGRF settings
STR_NEWGRF_SETTINGS_CAPTION :{WHITE}Definições NewGRF
STR_NEWGRF_SETTINGS_INFO_TITLE :{WHITE}Informação detalhada do NewGRF
STR_NEWGRF_SETTINGS_ACTIVE_LIST :{WHITE}Ficheiros NewGRF activos
STR_NEWGRF_SETTINGS_INACTIVE_LIST :{WHITE}Ficheiros NewGRF inactivos
STR_NEWGRF_SETTINGS_ACTIVE_LIST :{WHITE}Ficheiros NewGRF ativos
STR_NEWGRF_SETTINGS_INACTIVE_LIST :{WHITE}Ficheiros NewGRF inativos
STR_NEWGRF_SETTINGS_SELECT_PRESET :{ORANGE}Seleccionar predefinição:
STR_NEWGRF_FILTER_TITLE :{ORANGE}Filtro:
STR_NEWGRF_SETTINGS_PRESET_LIST_TOOLTIP :{BLACK}Carrega a predefinição seleccionada
@ -3288,7 +3300,7 @@ STR_NEWGRF_SETTINGS_PARAMETER_NONE :Nenhum
STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}Sem informação disponível
STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Ficheiro correspondente não encontrado
STR_NEWGRF_SETTINGS_DISABLED :{RED}Desactivado
STR_NEWGRF_SETTINGS_DISABLED :{RED}Desativado
STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Incompatível com esta versão do OpenTTD
# NewGRF save preset window
@ -3302,7 +3314,7 @@ STR_SAVE_PRESET_SAVE :{BLACK}Grava
STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Grava a predefinição com o nome seleccionado
# NewGRF parameters window
STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Alterar parâmetros NewGRF
STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Alterar parâmetros de NewGRF
STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Fechar
STR_NEWGRF_PARAMETERS_RESET :{BLACK}Repor
STR_NEWGRF_PARAMETERS_RESET_TOOLTIP :{BLACK}Retorna todos os parâmetros ao seu valor padrão
@ -3364,7 +3376,7 @@ STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Contém múltiplas entradas Action 8 - (sprite {3:NUM})
STR_NEWGRF_ERROR_READ_BOUNDS :Leitura além dos limites do pseudo-sprite (sprite {3:NUM})
STR_NEWGRF_ERROR_GRM_FAILED :Recursos GRF pedidos não disponíveis (sprite {3:NUM})
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} foi desactivado por {STRING}
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} foi desativado por {STRING}
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Formato de Gráfico Inválido ou desconhecido (sprite {3:NUM})
STR_NEWGRF_ERROR_LIST_PROPERTY_TOO_LONG :Demasiados elementos na lista de valores de propriedade (sprite {3:NUM}, propriedade {4:HEX})
STR_NEWGRF_ERROR_INDPROD_CALLBACK :Revogação da produção industrial inválida (sprite {3:NUM}, "{2:STRING}")
@ -3378,7 +3390,7 @@ STR_NEWGRF_COMPATIBLE_LOADED :{ORANGE}Ficheir
STR_NEWGRF_TOO_MANY_NEWGRFS :{WHITE}Impossivel adicionar ficheiro: alcançado limite de ficheiros NewGRF
STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}GRF(s) compatíveis carregados para ficheiros em falta
STR_NEWGRF_DISABLED_WARNING :{WHITE}Ficheiro(s) GRF em falta foram desactivados
STR_NEWGRF_DISABLED_WARNING :{WHITE}Ficheiro(s) GRF em falta foram desativados
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Ficheiro(s) GRF em falta
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Sair da pausa pode causar problemas ao OpenTTD. Não envie informações sobre este tipo de problemas.{}Deseja realmente sair da pausa?
@ -3488,14 +3500,14 @@ STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Comprar exclusi
STR_LOCAL_AUTHORITY_ACTION_BRIBE :Subornar a autoridade local
###length 8
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Iniciar uma campanha local publicitária pequena, para atrair mais passageiros e carga à sua empresa.{}Providencia um incremento temporário na avaliação das estações num raio pequeno à volta do centro da localidade.{}Custo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Iniciar uma campanha local publicitária média, para atrair mais passageiros e carga à sua empresa.{}Providencia um incremento temporário na avaliação das estações num raio médio à volta do centro da localidade.{}Custo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Iniciar uma campanha local publicitária grande, para atrair mais passageiros e carga à sua empresa.{}Providencia um incremento temporário na avaliação das estações num raio grande à volta do centro da localidade.{}Custo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Financiar a reconstrução da rede rodoviária urbana.{}Causa engarrafamentos consideráveis ao tráfego rodoviário até 6 meses.{}Custo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Construir uma estátua em honra da sua empresa.{}Providencia um incremento permanente na avaliação das estações nesta localidade.{}Custo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Financiar a construção de novos edifícios na localidade.{}Providencia um incremento temporário no crescimento desta localidade.{}Custo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Comprar 1 ano de direitos exclusivos de transportes nesta localidade.{}A autoridade local não permitirá que os passageiros e a carga usem as estações dos seus concorrentes.{}Custo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Subornar a autoridade local para aumentar a sua avaliação, correndo o risco de uma penalidade severa se apanhado.{}Custo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar uma campanha local publicitária pequena, para atrair mais passageiros e carga à sua empresa.{}Providencia um incremento temporário na avaliação das estações num raio pequeno à volta do centro da localidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar uma campanha local publicitária média, para atrair mais passageiros e carga à sua empresa.{}Providencia um incremento temporário na avaliação das estações num raio médio à volta do centro da localidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar uma campanha local publicitária grande, para atrair mais passageiros e carga à sua empresa.{}Providencia um incremento temporário na avaliação das estações num raio grande à volta do centro da localidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{PUSH_COLOUR}{YELLOW}Financiar a reconstrução da rede rodoviária urbana.{}Causa engarrafamentos consideráveis ao tráfego rodoviário até 6 meses.{}{POP_COLOUR}Custo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Construir uma estátua em honra da sua empresa.{}Providencia um incremento permanente na avaliação das estações nesta localidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}Financiar a construção de novos edifícios na localidade.{}Providencia um incremento temporário no crescimento desta localidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{PUSH_COLOUR}{YELLOW}Comprar 1 ano de direitos exclusivos de transportes nesta localidade.{}A autoridade local não permitirá que os passageiros e a carga usem as estações dos seus concorrentes.{}{POP_COLOUR}Custo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}Subornar a autoridade local para aumentar a sua avaliação, correndo o risco de uma penalidade severa se for apanhado.{}{POP_COLOUR}Custo: {CURRENCY_LONG}
# Goal window
STR_GOALS_CAPTION :{WHITE}{COMPANY} Objectivos
@ -3668,16 +3680,18 @@ STR_FINANCES_SECTION_SHIP_REVENUE :{GOLD}Navios
STR_FINANCES_SECTION_LOAN_INTEREST :{GOLD}Juros do Empréstimo
STR_FINANCES_SECTION_OTHER :{GOLD}Outros
STR_FINANCES_TOTAL_CAPTION :{WHITE}Total
STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG}
STR_FINANCES_ZERO_INCOME :{CURRENCY_LONG}
STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG}
STR_FINANCES_NET_PROFIT :{WHITE}Lucro Líquido
STR_FINANCES_PROFIT :{WHITE}Lucro
STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Balanço bancário
STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}Fundos Próprios
STR_FINANCES_LOAN_TITLE :{WHITE}Empréstimo
STR_FINANCES_INTEREST_RATE :{WHITE}Juro do Empréstimo: {BLACK}{NUM}%
STR_FINANCES_MAX_LOAN :{WHITE}Empréstimo Máximo: {BLACK}{CURRENCY_LONG}
STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG}
STR_FINANCES_BANK_BALANCE :{WHITE}{CURRENCY_LONG}
STR_FINANCES_BORROW_BUTTON :{BLACK}Pedir empréstimo {CURRENCY_LONG}
STR_FINANCES_BORROW_TOOLTIP :{BLACK}Aumentar empréstimo. Ctrl+Clique aumenta tanto empréstimo quanto possível
STR_FINANCES_REPAY_BUTTON :{BLACK}Pagar empréstimo {CURRENCY_LONG}
@ -3808,6 +3822,8 @@ STR_VEHICLE_LIST_MANAGE_LIST_TOOLTIP :{BLACK}Enviar i
STR_VEHICLE_LIST_REPLACE_VEHICLES :Substituir Veículos
STR_VEHICLE_LIST_SEND_FOR_SERVICING :Enviar para Serviço
STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Lucro deste ano: {CURRENCY_LONG} (último ano: {CURRENCY_LONG})
STR_VEHICLE_LIST_CARGO :{TINY_FONT}{BLACK}[{CARGO_LIST}]
STR_VEHICLE_LIST_NAME_AND_CARGO :{TINY_FONT}{BLACK}{STRING} {STRING}
STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :Enviar para Depósito
STR_VEHICLE_LIST_SEND_ROAD_VEHICLE_TO_DEPOT :Enviar para Depósito
@ -4232,6 +4248,7 @@ STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Peso: {L
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potência: {LTBLUE}{POWER}{BLACK} Velocidade máx.: {LTBLUE}{VELOCITY} {BLACK}Tração Máx.: {LTBLUE}{FORCE}
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Lucro neste ano: {LTBLUE}{CURRENCY_LONG} (último ano: {CURRENCY_LONG})
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Lucro deste ano: {LTBLUE}{CURRENCY_LONG} (último ano: {CURRENCY_LONG}) {BLACK}Performance min.: {LTBLUE}{POWER_TO_WEIGHT}
STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Fiabilidade: {LTBLUE}{COMMA}% {BLACK}Avarias desde o último serviço: {LTBLUE}{COMMA}
STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Construído: {LTBLUE}{NUM}{BLACK} Valor: {LTBLUE}{CURRENCY_LONG}
@ -4565,6 +4582,8 @@ STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Houve um
STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}A janela de Depuração de IA/Scripts de jogo está disponível apenas para o servidor
# AI configuration window
STR_AI_CONFIG_CAPTION_AI :{WHITE}Configuração de IA
STR_AI_CONFIG_CAPTION_GAMESCRIPT :{WHITE}Configuração de Script de Jogo
STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}O Script de jogo que será carregado no próximo jogo
STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}As IAs que serão carregadas no próximo jogo
STR_AI_CONFIG_HUMAN_PLAYER :Jogador humano
@ -4578,10 +4597,11 @@ STR_AI_CONFIG_MOVE_DOWN :{BLACK}Mover pa
STR_AI_CONFIG_MOVE_DOWN_TOOLTIP :{BLACK}Move a IA seleccionada para baixo
STR_AI_CONFIG_GAMESCRIPT :{SILVER}Script de jogo
STR_AI_CONFIG_GAMESCRIPT_PARAM :{SILVER}Parâmetros
STR_AI_CONFIG_AI :{SILVER}IAs
STR_AI_CONFIG_CHANGE_AI :IA
STR_AI_CONFIG_CHANGE_GAMESCRIPT :Script de jogo
STR_AI_CONFIG_CHANGE_AI :{BLACK}Selecionar IA
STR_AI_CONFIG_CHANGE_GAMESCRIPT :{BLACK}Selecionar Script de Jogo
STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Carregar outro script
STR_AI_CONFIG_CONFIGURE :{BLACK}Configurar
STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Configurar os parâmetros do script
@ -4610,7 +4630,7 @@ STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Mapa de
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Minimap screenshot
# AI Parameters
STR_AI_SETTINGS_CAPTION_AI :IA
STR_AI_SETTINGS_CAPTION_AI :{WHITE}Parâmetros de IA
STR_AI_SETTINGS_CLOSE :{BLACK}Fechar
STR_AI_SETTINGS_RESET :{BLACK}Repor
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
@ -5028,6 +5048,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Não é
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... o veículo está destruido
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Nenhum veículo estará disponível
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Mudar a sua configuração NewGRF
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Nenhum veículo ainda disponível

@ -1009,21 +1009,8 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Bifați
STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Driver curent: {STRING}
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Mărime interfată
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Alege mărimea elementelor de interfaţa
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(auto-detecție)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normală
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Mărime dublă
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Mărime cvadruplă
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Dimensiune font
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Alege dimensiunea fontului pentru interfață
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(auto-detecție)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Mărime dublă
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Mărime cvadruplă
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Grafică
@ -3655,7 +3642,6 @@ STR_FINANCES_SECTION_OTHER :{GOLD}Altele
STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG}
STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG}
STR_FINANCES_NET_PROFIT :{WHITE}Profit Net
STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Balanţă curentă
STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}Fonduri proprii
STR_FINANCES_LOAN_TITLE :{WHITE}Credite
@ -5008,6 +4994,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Nu se po
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... vehiculul este distrus
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Niciun vehicul nu va fi disponibil
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Schimbă configuraţia NewGRF
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Niciun vehicul nu este disponibil încă

@ -537,6 +537,8 @@ STR_SCENEDIT_FILE_MENU_QUIT :Выход
###length 15
STR_SETTINGS_MENU_GAME_OPTIONS :Основные настройки
STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Расширенные настройки
STR_SETTINGS_MENU_AI_SETTINGS :Настройки ИИ
STR_SETTINGS_MENU_GAMESCRIPT_SETTINGS :Настройки игровых скриптов
STR_SETTINGS_MENU_NEWGRF_SETTINGS :Настройки NewGRF
STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Настройки прозрачности
STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Показывать названия городов
@ -1164,21 +1166,19 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Вклю
STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Видеодрайвер: {STRING}
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Размер элементов интерфейса
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Выберите размер элементов интерфейса
STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}Масштаб интерфейса
STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Изменяйте масштаб интерфейса с помощью ползунка. Удерживайте Ctrl для тонкой настройки.
STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}Автоопределение
STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Нажмите для автоматической установки масштаба интерфейса
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(Автовыбор)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Обычный
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Удвоенный
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Учетверённый
STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Масштабировать рельеф
STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Масштабировать рельефные элементы интерфейса
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Размер шрифта
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Выберите размер шрифта, используемого в игре
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(Автовыбор)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Нормальный
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Двукратный
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Четырёхкратный
STR_GAME_OPTIONS_GUI_SCALE_1X :1x
STR_GAME_OPTIONS_GUI_SCALE_2X :2x
STR_GAME_OPTIONS_GUI_SCALE_3X :3x
STR_GAME_OPTIONS_GUI_SCALE_4X :4x
STR_GAME_OPTIONS_GUI_SCALE_5X :5x
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Настройки графики
@ -2234,6 +2234,8 @@ STR_INTRO_HIGHSCORE :{BLACK}Табл
STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Расширенные настройки
STR_INTRO_NEWGRF_SETTINGS :{BLACK}Настройки NewGRF
STR_INTRO_ONLINE_CONTENT :{BLACK}Проверить онлайн-контент
STR_INTRO_AI_SETTINGS :{BLACK}Настройки ИИ
STR_INTRO_GAMESCRIPT_SETTINGS :{BLACK}Настройки игровых скриптов
STR_INTRO_QUIT :{BLACK}Выход
STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Начать новую игру. Ctrl+щелчок пропускает этап настройки карты.
@ -2253,6 +2255,8 @@ STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Пока
STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Изменить расширенные настройки игры
STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Показать настройки NewGRF
STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Найти новый и обновлённый контент для загрузки
STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Показать настройки ИИ
STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Показать настройки игровых скриптов
STR_INTRO_TOOLTIP_QUIT :{BLACK}Выйти из OpenTTD
STR_INTRO_BASESET :{BLACK}В выбранном наборе базовой графики отсутству{P 0 е ю ю}т {NUM} спрайт{P "" а ов}. Пожалуйста, обновите набор графики.
@ -3343,6 +3347,12 @@ STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Коли
STR_MAPGEN_SMOOTHNESS :{BLACK}Грубость ландшафта:
STR_MAPGEN_VARIETY :{BLACK}Разнообразие ландшафта:
STR_MAPGEN_GENERATE :{WHITE}Создать
STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}Настройки NewGRF
STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Показать настройки NewGRF
STR_MAPGEN_AI_SETTINGS :{BLACK}Настройки ИИ
STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}Показать настройки ИИ
STR_MAPGEN_GS_SETTINGS :{BLACK}Настройки игровых скриптов
STR_MAPGEN_GS_SETTINGS_TOOLTIP :{BLACK}Показать настройки игровых скриптов
###length 21
STR_MAPGEN_TOWN_NAME_ORIGINAL_ENGLISH :Английские
@ -3669,14 +3679,14 @@ STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Купить э
STR_LOCAL_AUTHORITY_ACTION_BRIBE :Взятка местной администрации
###length 8
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Провести малую рекламную кампанию для увеличения грузо- и пассажиропотока на ваших станциях.{}Она временно повысит рейтинг ваших станций, построенных рядом с центром города.{}Стоимость: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Провести среднюю рекламную кампанию для увеличения грузо- и пассажиропотока на ваших станциях.{}Она временно повысит рейтинг ваших станций, находящихся не очень далеко от центра города.{}Стоимость: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Провести большую рекламную кампанию для увеличения грузо- и пассажиропотока на ваших станциях.{}Она временно повысит рейтинг ваших станций на значительной площади в городе и окрестностях.{}Стоимость: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Профинансировать реконструкцию городских дорог.{}Вызывает большие нарушения движения на срок до 6 месяцев.{}Стоимость: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Установить статую в честь вашей компании.{}Она добавит рейтинг вашим станциям.{}Стоимость: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Профинансировать строительство новых зданий.{}Это временно ускорит рост города.{}Стоимость: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Купить годовые эксклюзивные права на транспортные перевозки в городе.{}Администрация разрешит пользоваться ТОЛЬКО вашими станциями.{}Стоимость: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Дать взятку городской администрации для повышения рейтинга. Существует риск санкций, если факт подкупа раскроется.{}Цена: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{PUSH_COLOUR}{YELLOW}Провести малую рекламную кампанию для увеличения грузо- и пассажиропотока на ваших станциях.{}Она временно повысит рейтинг ваших станций, построенных рядом с центром города.{}{POP_COLOUR}Стоимость: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{YELLOW}Провести среднюю рекламную кампанию для увеличения грузо- и пассажиропотока на ваших станциях.{}Она временно повысит рейтинг ваших станций, находящихся не очень далеко от центра города.{}{POP_COLOUR}Стоимость: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Провести большую рекламную кампанию для увеличения грузо- и пассажиропотока на ваших станциях.{}Она временно повысит рейтинг ваших станций на значительной площади в городе и окрестностях.{}{POP_COLOUR}Стоимость: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{PUSH_COLOUR}{YELLOW}Профинансировать реконструкцию городских дорог.{}Вызывает большие нарушения движения на срок до 6 месяцев.{}{POP_COLOUR}Стоимость: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Установить статую в честь вашей компании.{}Она добавит рейтинг вашим станциям.{}{POP_COLOUR}Стоимость: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}Профинансировать строительство новых зданий.{}Это временно ускорит рост города.{}{POP_COLOUR}Стоимость: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{PUSH_COLOUR}{YELLOW}Приобрести годовые эксклюзивные права на транспортные перевозки в городе.{}Городская администрация разрешит пользоваться ТОЛЬКО вашими станциями.{}{POP_COLOUR}Стоимость: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}Дать взятку городской администрации для повышения рейтинга. Существует риск санкций, если факт подкупа раскроется.{}{POP_COLOUR}Цена: {CURRENCY_LONG}
# Goal window
STR_GOALS_CAPTION :{WHITE}Задачи компании «{COMPANY}»
@ -3829,8 +3839,8 @@ STR_FINANCES_CAPTION :{WHITE}Фина
STR_FINANCES_YEAR :{WHITE}{NUM}
###length 3
STR_FINANCES_REVENUE_TITLE :{WHITE}Доход
STR_FINANCES_OPERATING_EXPENSES_TITLE :{WHITE}Эксплуатационные расходы
STR_FINANCES_REVENUE_TITLE :{WHITE}Доходы
STR_FINANCES_OPERATING_EXPENSES_TITLE :{WHITE}Операционные расходы
STR_FINANCES_CAPITAL_EXPENSES_TITLE :{WHITE}Капитальные расходы
@ -3849,16 +3859,18 @@ STR_FINANCES_SECTION_SHIP_REVENUE :{GOLD}Суда
STR_FINANCES_SECTION_LOAN_INTEREST :{GOLD}Платёж по кредиту
STR_FINANCES_SECTION_OTHER :{GOLD}Прочие расходы
STR_FINANCES_TOTAL_CAPTION :{WHITE}Всего
STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG}
STR_FINANCES_ZERO_INCOME :{CURRENCY_LONG}
STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG}
STR_FINANCES_NET_PROFIT :{WHITE}Чистая прибыль
STR_FINANCES_PROFIT :{WHITE}Прибыль
STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Баланс:
STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}Собственные средства
STR_FINANCES_LOAN_TITLE :{WHITE}Взято в кредит
STR_FINANCES_INTEREST_RATE :{WHITE}Проценты по кредиту: {BLACK}{NUM}%
STR_FINANCES_MAX_LOAN :{WHITE}Макс. сумма кредита: {BLACK}{CURRENCY_LONG}
STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG}
STR_FINANCES_BANK_BALANCE :{WHITE}{CURRENCY_LONG}
STR_FINANCES_BORROW_BUTTON :{BLACK}Занять {CURRENCY_LONG}
STR_FINANCES_BORROW_TOOLTIP :{BLACK}Взять деньги в кредит. Ctrl+щелчок - взять максимально возможную сумму.
STR_FINANCES_REPAY_BUTTON :{BLACK}Отдать {CURRENCY_LONG}
@ -4428,6 +4440,7 @@ STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Масс
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Масса: {LTBLUE}{WEIGHT_SHORT} {BLACK}Мощность: {LTBLUE}{POWER}{BLACK} Макс. скорость: {LTBLUE}{VELOCITY} {BLACK}Макс. ТУ: {LTBLUE}{FORCE}
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Прибыль в этом году: {LTBLUE}{CURRENCY_LONG} (в прошлом году: {CURRENCY_LONG})
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Прибыль в этом году: {LTBLUE}{CURRENCY_LONG} (в прошлом году: {CURRENCY_LONG}) {BLACK}Мин. удельная мощн.: {LTBLUE}{POWER_TO_WEIGHT}
STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Надёжность: {LTBLUE}{COMMA}% {BLACK}Поломок после ТО: {LTBLUE}{COMMA}
STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Построен в {LTBLUE}{NUM} г.{BLACK} Стоимость: {LTBLUE}{CURRENCY_LONG}
@ -4771,6 +4784,8 @@ STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Один
STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}Окно отладки ИИ / скрипта доступно только для сервера
# AI configuration window
STR_AI_CONFIG_CAPTION_AI :{WHITE}Настройки ИИ
STR_AI_CONFIG_CAPTION_GAMESCRIPT :{WHITE}Настройки игровых скриптов
STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}Игровой скрипт, который будет загружен в следующей игре
STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}Модули ИИ, которые будут загружены в следующей игре
STR_AI_CONFIG_HUMAN_PLAYER :Человек
@ -4784,10 +4799,11 @@ STR_AI_CONFIG_MOVE_DOWN :{BLACK}Вниз
STR_AI_CONFIG_MOVE_DOWN_TOOLTIP :{BLACK}Переместить этот модуль ИИ вниз по списку
STR_AI_CONFIG_GAMESCRIPT :{SILVER}Игровой скрипт
STR_AI_CONFIG_GAMESCRIPT_PARAM :{SILVER}Параметры
STR_AI_CONFIG_AI :{SILVER}ИИ
STR_AI_CONFIG_CHANGE_AI :ИИ
STR_AI_CONFIG_CHANGE_GAMESCRIPT :Игровой скрипт
STR_AI_CONFIG_CHANGE_AI :{BLACK}ИИ
STR_AI_CONFIG_CHANGE_GAMESCRIPT :{BLACK}Игровой скрипт
STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Загрузить другой скрипт
STR_AI_CONFIG_CONFIGURE :{BLACK}Конфигурация
STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Настроить параметры скрипта
@ -4816,7 +4832,7 @@ STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Сним
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Снимок миникарты
# AI Parameters
STR_AI_SETTINGS_CAPTION_AI :ИИ
STR_AI_SETTINGS_CAPTION_AI :{WHITE}Параметры ИИ
STR_AI_SETTINGS_CLOSE :{BLACK}Закрыть
STR_AI_SETTINGS_RESET :{BLACK}Сброс
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
@ -5234,6 +5250,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Нево
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... транспортное средство уничтожено
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Все транспортные средства будут недоступны
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Измените конфигурацию модуля NewGRF
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Нет доступных транспортных средств

@ -1203,21 +1203,8 @@ STR_GAME_OPTIONS_VIDEO_VSYNC :{BLACK}VSync
STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Štikliranjem se uključuje v-sync. Promena ovog podešavanja će biti vidljiva tek nakon ponovnog pokretanja igre. Radi jedino sa uključenim hardverskim ubrzanjem.
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Veličina interfejsa
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Izaberite većinu elementa koja će se koristiti
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(automatska detekcija)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normalna veličina
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Uvećavajte veličinu dva puta
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Uvećavajte veličinu četiri puta
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Veličina fonta
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Izaberi veličinu fonta za interfejs
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(automatska detekcija)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Uobičajen
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Dvostruka veličina
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Četvorostruka veličina
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Grafike
@ -5196,6 +5183,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Servisni
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... vozilo je uništeno
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Nijedno vozilo neće biti dostupno
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Promenite konfiguraciju za NewGRF
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Nijedno vozilo još uvek nije dostupno

@ -1009,21 +1009,8 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}点击
STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}使用中的驱动程序: {STRING}
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}界面大小
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}选择使用的界面元素大小
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(自动检测)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :正常大小
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :两倍大小
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :四倍大小
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}字体大小
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}选择此字体大小
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(自动检测)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :正常
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :两倍大小
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :四倍大小
STR_GAME_OPTIONS_GRAPHICS :{BLACK}图像
@ -3656,7 +3643,6 @@ STR_FINANCES_SECTION_OTHER :{GOLD}其他费
STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG}
STR_FINANCES_ZERO_INCOME :{CURRENCY_LONG}
STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG}
STR_FINANCES_NET_PROFIT :{WHITE}净利润
STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}流动资金
STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}自有资金
STR_FINANCES_LOAN_TITLE :{WHITE}已贷款额
@ -5009,6 +4995,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}不能
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... 运具已撞毁
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}没有可用的运输工具
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}请改动您的 NewGRF 设置
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}暂时沒有可用的运输工具

@ -269,6 +269,15 @@ STR_UNITS_POWER_IMPERIAL :{COMMA}hp
STR_UNITS_POWER_METRIC :{COMMA}hp
STR_UNITS_POWER_SI :{COMMA}kW
STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}hp/t
STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}hp/t
STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_SI :{DECIMAL}{NBSP}hp/Mg
STR_UNITS_POWER_METRIC_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}hp/t
STR_UNITS_POWER_METRIC_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}hp/t
STR_UNITS_POWER_METRIC_TO_WEIGHT_SI :{DECIMAL}{NBSP}hp/Mg
STR_UNITS_POWER_SI_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}kW/t
STR_UNITS_POWER_SI_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}kW/t
STR_UNITS_POWER_SI_TO_WEIGHT_SI :{DECIMAL}{NBSP}W/kg
STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}t
STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}t
@ -359,8 +368,8 @@ STR_SORT_BY_PRODUCTION :Produkcia
STR_SORT_BY_TYPE :Typ
STR_SORT_BY_TRANSPORTED :Prepravené
STR_SORT_BY_NUMBER :Číslo
STR_SORT_BY_PROFIT_LAST_YEAR :Profit v minulom roku
STR_SORT_BY_PROFIT_THIS_YEAR :Profit v tomto roku
STR_SORT_BY_PROFIT_LAST_YEAR :Zisk v minulom roku
STR_SORT_BY_PROFIT_THIS_YEAR :Zisk v tomto roku
STR_SORT_BY_AGE :Vek
STR_SORT_BY_RELIABILITY :Spoľahlivosť
STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :Kapacita podľa typu nákladu
@ -387,10 +396,10 @@ STR_SORT_BY_RANGE :Rozsah
STR_SORT_BY_POPULATION :Populácia
STR_SORT_BY_RATING :Hodnotenie
STR_SORT_BY_NUM_VEHICLES :Počet vozidiel
STR_SORT_BY_TOTAL_PROFIT_LAST_YEAR :Celkový profit v minulom roku
STR_SORT_BY_TOTAL_PROFIT_THIS_YEAR :Celkový profit v tomto roku
STR_SORT_BY_AVERAGE_PROFIT_LAST_YEAR :Priemerný profit v minulom roku
STR_SORT_BY_AVERAGE_PROFIT_THIS_YEAR :Priemerný profit v tomto roku
STR_SORT_BY_TOTAL_PROFIT_LAST_YEAR :Celkový zisk v minulom roku
STR_SORT_BY_TOTAL_PROFIT_THIS_YEAR :Celkový zisk v tomto roku
STR_SORT_BY_AVERAGE_PROFIT_LAST_YEAR :Priemerný zisk v minulom roku
STR_SORT_BY_AVERAGE_PROFIT_THIS_YEAR :Priemerný zisk v tomto roku
# Group by options for vehicle list
STR_GROUP_BY_NONE :Žiadne
@ -465,6 +474,8 @@ STR_SCENEDIT_FILE_MENU_QUIT :Ukončiť
###length 15
STR_SETTINGS_MENU_GAME_OPTIONS :Možnosti hry
STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Nastavenia
STR_SETTINGS_MENU_AI_SETTINGS :Nastavenia AI
STR_SETTINGS_MENU_GAMESCRIPT_SETTINGS :Nastavenia skriptu
STR_SETTINGS_MENU_NEWGRF_SETTINGS :Nastavenia NewGRF
STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Nastavenia priehľadnosti
STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Zobraziť názvy miest
@ -503,7 +514,7 @@ STR_SUBSIDIES_MENU_SUBSIDIES :Dotácie
# Graph menu
###length 6
STR_GRAPH_MENU_OPERATING_PROFIT_GRAPH :Graf prevádzkového profitu
STR_GRAPH_MENU_OPERATING_PROFIT_GRAPH :Graf prevádzkového zisku
STR_GRAPH_MENU_INCOME_GRAPH :Graf tržieb
STR_GRAPH_MENU_DELIVERED_CARGO_GRAPH :Graf prepraveného nákladu
STR_GRAPH_MENU_PERFORMANCE_HISTORY_GRAPH :Graf hodnotenia výkonu
@ -664,7 +675,7 @@ STR_GRAPH_X_LABEL_MONTH_YEAR :{TINY_FONT}{STR
STR_GRAPH_Y_LABEL :{TINY_FONT}{STRING}
STR_GRAPH_Y_LABEL_NUMBER :{TINY_FONT}{COMMA}
STR_GRAPH_OPERATING_PROFIT_CAPTION :{WHITE}Graf prevádzkového profitu
STR_GRAPH_OPERATING_PROFIT_CAPTION :{WHITE}Graf prevádzkového zisku
STR_GRAPH_INCOME_CAPTION :{WHITE}Graf tržieb
STR_GRAPH_CARGO_DELIVERED_CAPTION :{WHITE}Graf prepraveného nákladu (jednotiek nákladu)
STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION :{WHITE}Graf hodnotenia výkonu (najvyššie hodnotenie je 1000)
@ -710,7 +721,7 @@ STR_PERFORMANCE_DETAIL_SELECT_COMPANY_TOOLTIP :{BLACK}Ukázať
###length 10
STR_PERFORMANCE_DETAIL_VEHICLES :{BLACK}Vozidlá:
STR_PERFORMANCE_DETAIL_STATIONS :{BLACK}Stanice:
STR_PERFORMANCE_DETAIL_MIN_PROFIT :{BLACK}Min. profit:
STR_PERFORMANCE_DETAIL_MIN_PROFIT :{BLACK}Min. zisk:
STR_PERFORMANCE_DETAIL_MIN_INCOME :{BLACK}Min. príjem:
STR_PERFORMANCE_DETAIL_MAX_INCOME :{BLACK}Max. príjem:
STR_PERFORMANCE_DETAIL_DELIVERED :{BLACK}Prepravené:
@ -722,7 +733,7 @@ STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Spolu:
###length 10
STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP :{BLACK}Počet vozidiel, ktoré dosiahli v minulom roku zisk. Patria sem cestné vozidlá, vlaky, lode a lietadlá
STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Počet nedávno obsluhovaných staníc. Železničné stanice, autobusové zastávky, letiská a pod. sa počítajú oddelene aj keď patria do rovnakej stanice
STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP :{BLACK}Profit vozidla s najnižšími tržbami (zo všetkých vozidiel starších ako 2 roky)
STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP :{BLACK}Zisk vozidla s najnižšími tržbami (zo všetkých vozidiel starších ako 2 roky)
STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Množstvo peňazí zarobených v kvartáli s najmenším ziskom v posledných 12 kvartáloch
STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}Množstvo peňazí zarobených v kvartáli s najväčším ziskom v posledných 12 kvartáloch
STR_PERFORMANCE_DETAIL_DELIVERED_TOOLTIP :{BLACK}Počet jednotiek nákladu prepravených v posledných štyroch kvartáloch
@ -894,9 +905,9 @@ STR_NEWS_FIRST_AIRCRAFT_ARRIVAL :{BIG_FONT}{BLAC
STR_NEWS_TRAIN_CRASH :{BIG_FONT}{BLACK}Vlakové nešťastie!{}{COMMA} mŕtv{P i i ych} pri požiari po kolízii
STR_NEWS_ROAD_VEHICLE_CRASH_DRIVER :{BIG_FONT}{BLACK}Dopravná nehoda!{}Vodič zomrel po kolízii s vlakom
STR_NEWS_ROAD_VEHICLE_CRASH :{BIG_FONT}{BLACK}Dopravná nehoda!{}{COMMA} mŕtvych po kolízii s vlakom
STR_NEWS_ROAD_VEHICLE_CRASH :{BIG_FONT}{BLACK}Dopravná nehoda!{}{COMMA} mŕtv{P i i ych} po kolízii s vlakom
STR_NEWS_AIRCRAFT_CRASH :{BIG_FONT}{BLACK}Letecké nešťastie!{}{COMMA} mŕtv{P y i ych} po požiari na {STATION}
STR_NEWS_PLANE_CRASH_OUT_OF_FUEL :{BIG_FONT}{BLACK}Letecké nešťastie!{}Lietadlu došlo palivo, {COMMA} mŕtvych pri požiari
STR_NEWS_PLANE_CRASH_OUT_OF_FUEL :{BIG_FONT}{BLACK}Letecké nešťastie!{}Lietadlu došlo palivo, {COMMA} mŕtv{P y i ych} pri požiari
STR_NEWS_DISASTER_ZEPPELIN :{BIG_FONT}{BLACK}Zeppelin zničený pri nehode na {STATION}!
STR_NEWS_DISASTER_SMALL_UFO :{BIG_FONT}{BLACK}Cestné vozidlo bolo zničené pri kolízii s 'UFO'
@ -904,7 +915,7 @@ STR_NEWS_DISASTER_AIRPLANE_OIL_REFINERY :{BIG_FONT}{BLAC
STR_NEWS_DISASTER_HELICOPTER_FACTORY :{BIG_FONT}{BLACK}Za nejasných okolností bola zničená továreň neďaleko mesta {TOWN}!
STR_NEWS_DISASTER_BIG_UFO :{BIG_FONT}{BLACK}'UFO' pristálo neďaleko mesta {TOWN}!
STR_NEWS_DISASTER_COAL_MINE_SUBSIDENCE :{BIG_FONT}{BLACK}Zával v uhoľnej bani neďaleko mesta {TOWN}!
STR_NEWS_DISASTER_FLOOD_VEHICLE :{BIG_FONT}{BLACK}Povodeň!{}Najmenej {COMMA} ľudí je nezvestných alebo mŕtvych po obrovských záplavách!
STR_NEWS_DISASTER_FLOOD_VEHICLE :{BIG_FONT}{BLACK}Povodeň!{}Najmenej {COMMA} {P človek ľudia ľudí} {P je sú je} nezvestn{P ý í ých} alebo mŕtv{P y i ych} po obrovských záplavách!
STR_NEWS_COMPANY_IN_TROUBLE_TITLE :{BIG_FONT}{BLACK}Dopravná spoločnosť má problémy!
STR_NEWS_COMPANY_IN_TROUBLE_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} bude predaná alebo vyhlási bankrot pokiaľ čoskoro nezvýši produktivitu!
@ -1077,21 +1088,19 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Zaškrtn
STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Aktuálny ovládač: {STRING}
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Veľkosť rozhrania
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Výber veľkosti prvkov rozhrania
STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}Veľkosť rozhrania
STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Potiahnutím posúvača nastavte veľkosť rozhrania. Pre plynulé nastavenie podržte Ctrl
STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}Detekovať rozmery automaticky
STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Začiarknutím tohto políčka automaticky zistiť veľkosť rozhrania
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(automaticky zistené)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normálna
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dvojnásobná veľkosť
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Štvornásobná veľkosť
STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Mierkové úkosy
STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Začiarknutím tohto políčka zmeníte úkosy podľa veľkosti rozhrania
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Veľkosť písma
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Výber veľkosti písma v rozhraní
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(automaticky zistené)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normálna
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Dvojnásobná veľkosť
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Štvornásobná veľkosť
STR_GAME_OPTIONS_GUI_SCALE_1X :1x
STR_GAME_OPTIONS_GUI_SCALE_2X :2x
STR_GAME_OPTIONS_GUI_SCALE_3X :3x
STR_GAME_OPTIONS_GUI_SCALE_4X :4x
STR_GAME_OPTIONS_GUI_SCALE_5X :5x
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Grafika
@ -1875,7 +1884,7 @@ STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Ak je zapnuté,
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES :Minimálny vek spoločnosti na obchodovanie s podielmi: {STRING}
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES_HELPTEXT :Určuje minimálny vek spoločnosti na to, aby od nej mohli ostatné spoločnosti kupovať a predavať podiely.
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Percentáž profitu na zaplatenie podávacieho systému: {STRING}
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Percentáž zisku na zaplatenie podávacieho systému: {STRING}
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Percento príjmov dať na strednú ´nohu´ vo feeder systémoch, získate väčšiu kontrolu nad príjmamy
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Pri ťahaní, umiestni návestidlo každé: {STRING}
@ -2138,6 +2147,8 @@ STR_INTRO_HIGHSCORE :{BLACK}Najvyš
STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Nastavenia
STR_INTRO_NEWGRF_SETTINGS :{BLACK}Nastavenia NewGRF
STR_INTRO_ONLINE_CONTENT :{BLACK}Skontrolovať online obsah
STR_INTRO_AI_SETTINGS :{BLACK}Nastavenia AI
STR_INTRO_GAMESCRIPT_SETTINGS :{BLACK}Nastavenia skriptu
STR_INTRO_QUIT :{BLACK}Ukončiť
STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Spustiť novú hru. Ctrl+klik preskočí nastavenie mapy
@ -2157,6 +2168,8 @@ STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Zobrazi
STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Zobraziť nastavenia
STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Zobraziť nastavenia NewGRF
STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Skontrolovať nový a aktualizovaný obsah pre stiahnutie
STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Zobraziť AI nastavenia
STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Zobraz nastavenia skriptu
STR_INTRO_TOOLTIP_QUIT :{BLACK}Ukončiť 'OpenTTD'
STR_INTRO_BASESET :{BLACK}Vo vybranej základnej sade grafiky chýba {NUM} prv{P ok ky kov}. Prosím skontrolujte aktualizácie sady grafiky.
@ -3219,6 +3232,12 @@ STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Rieky:
STR_MAPGEN_SMOOTHNESS :{BLACK}Členitosť:
STR_MAPGEN_VARIETY :{BLACK}Rozmanitosť distribúcie:
STR_MAPGEN_GENERATE :{WHITE}Generovať
STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}Nastavenia NewGRF
STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Zobraziť nastavenia NewGRF
STR_MAPGEN_AI_SETTINGS :{BLACK}Nastavenia AI
STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}Zobraziť AI nastavenia
STR_MAPGEN_GS_SETTINGS :{BLACK}Nastavenia skriptu
STR_MAPGEN_GS_SETTINGS_TOOLTIP :{BLACK}Zobraz nastavenia skriptu
###length 21
STR_MAPGEN_TOWN_NAME_ORIGINAL_ENGLISH :Anglické (pôvodné)
@ -3545,14 +3564,14 @@ STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Zakúpiť exklu
STR_LOCAL_AUTHORITY_ACTION_BRIBE :Podplatiť miestnu správu
###length 8
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Spustiť malú reklamnú kampaň, ktorá priláka viac cestujúcich a nákladu k vašej spoločnosti.{}Zabezpečí dočasné zvýšenie hodnotenia staníc v malom okruhu okolo centra mesta.{}Cena: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Spustiť strednú reklamnú kampaň, ktorá priláka viac cestujúcich a nákladu k vašej spoločnosti.{}Zabezpečí dočasné zvýšenie hodnotenia staníc v stredne veľkom okruhu okolo centra mesta.{}Cena: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Spustiť veľkú reklamnú kampaň, ktorá priláka viac cestujúcich a nákladu k vašej spoločnosti.{}Zabezpečí dočasné zvýšenie hodnotenia staníc vo veľkom okruhu okolo centra mesta.{}Cena: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Financovať rekonštrukciu mestskej cestnej siete.{}Spôsobí dopravný chaos a zápchy trvajúce ďalších 6 mesiacov.{}Cena: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Postaviť sochu na počesť vašej spoločnosti.{}Zabezpečí trvalé zvýšenie hodnotenia staníc v tomto meste.{}Cena: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Financovať výstavbu nových budov v meste.{}Zabezpečí dočasné zrýchlenie rastu tohto mesta.{}Cena: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Zakúpiť exkluzívne dopravné práva v meste na 1 rok.{}Miestna správa nedovolí cestujúcim a nákladu používať stanice konkurentov.{}Cena: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Podplatiť miestnu správu pre zvýšenie hodnotenia vašej spoločnosti, s rizikom ťažkého postihu pri odhalení.{}Cena: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{PUSH_COLOUR}{YELLOW}Spustiť malú reklamnú kampaň, ktorá priláka viac cestujúcich a nákladu k vašej spoločnosti.{}Zabezpečí dočasné zvýšenie hodnotenia staníc v malom okruhu okolo centra mesta.{}{POP_COLOUR}Cena: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{YELLOW}Spustiť strednú reklamnú kampaň, ktorá priláka viac cestujúcich a nákladu k vašej spoločnosti.{}Zabezpečí dočasné zvýšenie hodnotenia staníc v stredne veľkom okruhu okolo centra mesta.{}{POP_COLOUR}Cena: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Spustiť veľkú reklamnú kampaň, ktorá priláka viac cestujúcich a nákladu k vašej spoločnosti.{}Zabezpečí dočasné zvýšenie hodnotenia staníc vo veľkom okruhu okolo centra mesta.{}{POP_COLOUR}Cena: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{PUSH_COLOUR}{YELLOW}Financovať rekonštrukciu mestskej cestnej siete.{}Spôsobí dopravný chaos a zápchy trvajúce ďalších 6 mesiacov.{}{POP_COLOUR}Cena: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Postaviť sochu na počesť vašej spoločnosti.{}Zabezpečí trvalé zvýšenie hodnotenia staníc v tomto meste.{}{POP_COLOUR}Cena: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}Financovať výstavbu nových budov v meste.{}Zabezpečí dočasné zrýchlenie rastu tohto mesta.{}{POP_COLOUR}Cena: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{PUSH_COLOUR}{YELLOW}Zakúpiť exkluzívne dopravné práva v meste na 1 rok.{}Miestna správa nedovolí cestujúcim a nákladu používať stanice konkurentov.{}{POP_COLOUR}Cena: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}Podplatiť miestnu správu pre zvýšenie hodnotenia vašej spoločnosti, s rizikom ťažkého postihu pri odhalení.{}{POP_COLOUR}Cena: {CURRENCY_LONG}
# Goal window
STR_GOALS_CAPTION :{WHITE}{COMPANY} Ciele
@ -3705,7 +3724,7 @@ STR_FINANCES_CAPTION :{WHITE}Financie
STR_FINANCES_YEAR :{WHITE}{NUM}
###length 3
STR_FINANCES_REVENUE_TITLE :Výnosy
STR_FINANCES_REVENUE_TITLE :{WHITE}Výnosy
STR_FINANCES_OPERATING_EXPENSES_TITLE :{WHITE}Prevádzkové náklady
STR_FINANCES_CAPITAL_EXPENSES_TITLE :{WHITE}Kapitálové výdavky
@ -3725,16 +3744,18 @@ STR_FINANCES_SECTION_SHIP_REVENUE :{GOLD}Lode
STR_FINANCES_SECTION_LOAN_INTEREST :{GOLD}Úroky
STR_FINANCES_SECTION_OTHER :{GOLD}Ostatné
STR_FINANCES_TOTAL_CAPTION :{WHITE}Spolu
STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG}
STR_FINANCES_ZERO_INCOME :{CURRENCY_LONG}
STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG}
STR_FINANCES_NET_PROFIT :{WHITE}Čistý zisk
STR_FINANCES_PROFIT :{WHITE}Zisk
STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Zostatok na účte v banke
STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}Vlastné prostriedky
STR_FINANCES_LOAN_TITLE :{WHITE}Úver
STR_FINANCES_INTEREST_RATE :{WHITE}Úroky: {BLACK}{NUM}%
STR_FINANCES_MAX_LOAN :{WHITE}Maximálny úver: {BLACK}{CURRENCY_LONG}
STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG}
STR_FINANCES_BANK_BALANCE :{WHITE}{CURRENCY_LONG}
STR_FINANCES_BORROW_BUTTON :{BLACK}Požičať {CURRENCY_LONG}
STR_FINANCES_BORROW_TOOLTIP :{BLACK}Zvýšiť veľkosť úveru. Crtl+klik požičia koľko sa dá
STR_FINANCES_REPAY_BUTTON :{BLACK}Splatiť {CURRENCY_LONG}
@ -3864,7 +3885,7 @@ STR_VEHICLE_LIST_MANAGE_LIST :{BLACK}Možnost
STR_VEHICLE_LIST_MANAGE_LIST_TOOLTIP :{BLACK}Zadať príkazy všetkým vozidlám v zozname
STR_VEHICLE_LIST_REPLACE_VEHICLES :Vymeniť vozidlá
STR_VEHICLE_LIST_SEND_FOR_SERVICING :Vykonať servis
STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Profit tento rok: {CURRENCY_LONG} (minulý rok: {CURRENCY_LONG})
STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Zisk tento rok: {CURRENCY_LONG} (minulý rok: {CURRENCY_LONG})
STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :Poslať do depa
STR_VEHICLE_LIST_SEND_ROAD_VEHICLE_TO_DEPOT :Poslať do garáže
@ -3907,8 +3928,8 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Odstrániť vš
STR_GROUP_RENAME_CAPTION :{BLACK}Premenovať skupinu
STR_GROUP_PROFIT_THIS_YEAR :Profit v tomto roku:
STR_GROUP_PROFIT_LAST_YEAR :Profit v minulom roku:
STR_GROUP_PROFIT_THIS_YEAR :Zisk v tomto roku:
STR_GROUP_PROFIT_LAST_YEAR :Zisk v minulom roku:
STR_GROUP_OCCUPANCY :Súčasné využitie:
STR_GROUP_OCCUPANCY_VALUE :{NUM}%
@ -3958,6 +3979,9 @@ STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Dolet: {
STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Typ lietadla: {GOLD}{STRING}
###length 3
STR_CARGO_TYPE_FILTER_ALL :Všetky druhy nákladu
STR_CARGO_TYPE_FILTER_FREIGHT :Nákladné
STR_CARGO_TYPE_FILTER_NONE :Žiadne
###length VEHICLE_TYPES
STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Výber vlakov. Pre získanie informácií klikni na vlak. CTRL+klik prepne skrytie typu vlaku.
@ -4285,7 +4309,8 @@ STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Rýchlos
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Hmotnosť: {LTBLUE}{WEIGHT_SHORT} {BLACK}Sila: {LTBLUE}{POWER}{BLACK} Max. rýchlosť: {LTBLUE}{VELOCITY}
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Hmotnosť: {LTBLUE}{WEIGHT_SHORT} {BLACK}Sila: {LTBLUE}{POWER}{BLACK} Max. rýchlosť: {LTBLUE}{VELOCITY} {BLACK}Max. T.E.: {LTBLUE}{FORCE}
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Profit tento rok: {LTBLUE}{CURRENCY_LONG} (minulý rok: {CURRENCY_LONG})
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Zisk v tomto roku: {LTBLUE}{CURRENCY_LONG} (minulý rok: {CURRENCY_LONG})
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Zisk v tomto roku: {LTBLUE}{CURRENCY_LONG} (minulý rok: {CURRENCY_LONG}) {BLACK}Min. výkon: {LTBLUE}{POWER_TO_WEIGHT}
STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Spoľahlivosť: {LTBLUE}{COMMA}% {BLACK}Poruchy od posledného servisu: {LTBLUE}{COMMA}
STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Vyrobený: {LTBLUE}{NUM}{BLACK} Cena: {LTBLUE}{CURRENCY_LONG}
@ -4619,6 +4644,8 @@ STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Jeden z
STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}Okno ladenia AI/skriptu je dostupné len pre server
# AI configuration window
STR_AI_CONFIG_CAPTION_AI :{WHITE}Konfigurácia AI
STR_AI_CONFIG_CAPTION_GAMESCRIPT :{WHITE}Konfigurácia skriptu
STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}Skript, ktorý bude načítaný v ďalšej hre
STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}AI, ktoré budú načítané v ďalšiej hre
STR_AI_CONFIG_HUMAN_PLAYER :Človek
@ -4632,10 +4659,11 @@ STR_AI_CONFIG_MOVE_DOWN :{BLACK}Posunú
STR_AI_CONFIG_MOVE_DOWN_TOOLTIP :{BLACK}Posunúť nižšie vybrané AI v zozname
STR_AI_CONFIG_GAMESCRIPT :{SILVER}Herný skript
STR_AI_CONFIG_GAMESCRIPT_PARAM :{SILVER}Parametre
STR_AI_CONFIG_AI :{SILVER}AI (umelá inteligencia)
STR_AI_CONFIG_CHANGE_AI :AI
STR_AI_CONFIG_CHANGE_GAMESCRIPT :Skript
STR_AI_CONFIG_CHANGE_AI :{BLACK}Vyber AI
STR_AI_CONFIG_CHANGE_GAMESCRIPT :{BLACK}Vyber skript
STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Spusti ďalší skript
STR_AI_CONFIG_CONFIGURE :{BLACK}Nastaviť
STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Nastaviť parametre skriptu
@ -4664,7 +4692,7 @@ STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Snímka
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Snímka minimapy
# AI Parameters
STR_AI_SETTINGS_CAPTION_AI :Umelá inteligencia
STR_AI_SETTINGS_CAPTION_AI :{WHITE}Parametre AI
STR_AI_SETTINGS_CLOSE :{BLACK}Zavrieť
STR_AI_SETTINGS_RESET :{BLACK}Resetovať
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
@ -5082,6 +5110,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Nemožno
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... vozidlo je zničené
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Žiadne vozidlá nebudú k dispozícii
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Zmena vašej konfigurácie NewGRF
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Zatiaľ nie sú dostupné žiadne vozidlá

@ -1116,16 +1116,9 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :drugo
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Velikost vmesnika
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Izberi velikost elementa vmesnika
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normalno
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dvojna velikost
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Velikost kvadrata
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(samodejno zaznaj)
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Osnovni komplet grafik
@ -4740,6 +4733,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Ni mogo
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... vozilo je uničeno
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Sploh ni razpoložljivih vozil
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Zamenjaj svojo NewGRF konfiguracijo
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Ni še vozil na razpolago.

@ -206,6 +206,15 @@ STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}hp
STR_UNITS_POWER_METRIC :{COMMA}{NBSP}cv
STR_UNITS_POWER_SI :{COMMA}{NBSP}kW
STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}hp/t
STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}hp/t
STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_SI :{DECIMAL}{NBSP}hp/Mg
STR_UNITS_POWER_METRIC_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}cv/t
STR_UNITS_POWER_METRIC_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}cv/t
STR_UNITS_POWER_METRIC_TO_WEIGHT_SI :{DECIMAL}{NBSP}cv/Mg
STR_UNITS_POWER_SI_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}kW/t
STR_UNITS_POWER_SI_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}kW/t
STR_UNITS_POWER_SI_TO_WEIGHT_SI :{DECIMAL}{NBSP}W/kg
STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t
STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t
@ -232,9 +241,9 @@ STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m
STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m
# Common window strings
STR_LIST_FILTER_TITLE :{BLACK}Patrón de filtrado:
STR_LIST_FILTER_OSKTITLE :{BLACK}Escribe un patrón de filtrado
STR_LIST_FILTER_TOOLTIP :{BLACK}Introduzca una o varias palabras clave para filtrar la lista
STR_LIST_FILTER_TITLE :{BLACK}Filtro:
STR_LIST_FILTER_OSKTITLE :{BLACK}Introduce texto para filtrar
STR_LIST_FILTER_TOOLTIP :{BLACK}Introduce una o varias palabras clave para filtrar la lista
STR_TOOLTIP_GROUP_ORDER :{BLACK}Selecciona la orden de agrupamiento
STR_TOOLTIP_SORT_ORDER :{BLACK}Selecciona el orden de clasificación (descendiente/ascendiente)
@ -324,7 +333,7 @@ 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 vehículos
STR_SORT_BY_TOTAL_PROFIT_LAST_YEAR :Beneficio total del último año
STR_SORT_BY_TOTAL_PROFIT_LAST_YEAR :Beneficio total del año anterior
STR_SORT_BY_TOTAL_PROFIT_THIS_YEAR :Beneficio total este año
STR_SORT_BY_AVERAGE_PROFIT_LAST_YEAR :Beneficio medio el año pasado
STR_SORT_BY_AVERAGE_PROFIT_THIS_YEAR :Beneficio medio este año
@ -402,6 +411,8 @@ STR_SCENEDIT_FILE_MENU_QUIT :Salir
###length 15
STR_SETTINGS_MENU_GAME_OPTIONS :Opciones de juego
STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Configuración
STR_SETTINGS_MENU_AI_SETTINGS :Configuración de IA
STR_SETTINGS_MENU_GAMESCRIPT_SETTINGS :{BLACK}Configuración de script de juego
STR_SETTINGS_MENU_NEWGRF_SETTINGS :Configuración NewGRF
STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Opciones de transparencia
STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Ver nombres de municipios
@ -443,14 +454,14 @@ STR_SUBSIDIES_MENU_SUBSIDIES :Subvenciones
STR_GRAPH_MENU_OPERATING_PROFIT_GRAPH :Gráfica de beneficio operativo
STR_GRAPH_MENU_INCOME_GRAPH :Gráfica de ingresos
STR_GRAPH_MENU_DELIVERED_CARGO_GRAPH :Gráfica de carga entregada
STR_GRAPH_MENU_PERFORMANCE_HISTORY_GRAPH :Gráfica de rendimiento
STR_GRAPH_MENU_PERFORMANCE_HISTORY_GRAPH :Gráfica de desempeño
STR_GRAPH_MENU_COMPANY_VALUE_GRAPH :Gráfica del valor de la empresa
STR_GRAPH_MENU_CARGO_PAYMENT_RATES :Tarifas de pagos por carga
STR_GRAPH_MENU_CARGO_PAYMENT_RATES :Tarifas de pago de cargas
# Company league menu
###length 3
STR_GRAPH_MENU_COMPANY_LEAGUE_TABLE :Tabla de clasificación de empresas
STR_GRAPH_MENU_DETAILED_PERFORMANCE_RATING :Detalles del rendimiento
STR_GRAPH_MENU_DETAILED_PERFORMANCE_RATING :Calificación detallada de desempeño
STR_GRAPH_MENU_HIGHSCORE :Tabla de puntuaciones
# Industry menu
@ -500,7 +511,7 @@ STR_NEWS_MENU_DELETE_ALL_MESSAGES :Borrar todos lo
STR_ABOUT_MENU_LAND_BLOCK_INFO :Información del terreno
STR_ABOUT_MENU_SEPARATOR :
STR_ABOUT_MENU_TOGGLE_CONSOLE :Activar consola
STR_ABOUT_MENU_AI_DEBUG :Depuración de Script de juego / IA
STR_ABOUT_MENU_AI_DEBUG :Depuración de script de juego/IA
STR_ABOUT_MENU_SCREENSHOT :Captura de pantalla
STR_ABOUT_MENU_SHOW_FRAMERATE :Mostrar fotogramas por segundo - FPS
STR_ABOUT_MENU_ABOUT_OPENTTD :Acerca de 'OpenTTD'
@ -604,20 +615,20 @@ STR_GRAPH_Y_LABEL_NUMBER :{TINY_FONT}{COM
STR_GRAPH_OPERATING_PROFIT_CAPTION :{WHITE}Gráfica de Beneficio Operativo
STR_GRAPH_INCOME_CAPTION :{WHITE}Gráfica de Ingresos
STR_GRAPH_CARGO_DELIVERED_CAPTION :{WHITE}Unidades de carga entregadas
STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION :{WHITE}Calificaciones de rendimiento de empresas (máximo=1000)
STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION :{WHITE}Nivel de desempeño de empresas (máximo=1000)
STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Valor de la empresa
STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION :{WHITE}Tarifa de pago por carga
STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION :{WHITE}Tarifas de pago de cargas
STR_GRAPH_CARGO_PAYMENT_RATES_X_LABEL :{TINY_FONT}{BLACK}Días en tránsito
STR_GRAPH_CARGO_PAYMENT_RATES_TITLE :{TINY_FONT}{BLACK}Pago por entregar 10 unidades (o 1,000 litros) de carga a una distancia de 20 casillas
STR_GRAPH_CARGO_PAYMENT_RATES_TITLE :{TINY_FONT}{BLACK}Pago por entregar 10 unidades (o 10 000 litros) de carga a una distancia de 20 casillas
STR_GRAPH_CARGO_ENABLE_ALL :{TINY_FONT}{BLACK}Activar todos
STR_GRAPH_CARGO_DISABLE_ALL :{TINY_FONT}{BLACK}Desactivar todos
STR_GRAPH_CARGO_TOOLTIP_ENABLE_ALL :{BLACK}Mostrar todos los tipos de carga en la gráfica de tarifas de pagos por carga
STR_GRAPH_CARGO_TOOLTIP_DISABLE_ALL :{BLACK}Ocultar todos los tipos de carga en la gráfica de tarifas de pagos por carga
STR_GRAPH_CARGO_PAYMENT_TOGGLE_CARGO :{BLACK}Mostrar/Ocultar gráfica para este tipo de carga
STR_GRAPH_CARGO_TOOLTIP_ENABLE_ALL :{BLACK}Muestra todos los tipos de carga en la gráfica de tarifas de pago de cargas
STR_GRAPH_CARGO_TOOLTIP_DISABLE_ALL :{BLACK}Oculta todos los tipos de carga en la gráfica de tarifas de pago de cargas
STR_GRAPH_CARGO_PAYMENT_TOGGLE_CARGO :{BLACK}Alterna entre mostrar/ocultar la gráfica para este tipo de carga
STR_GRAPH_CARGO_PAYMENT_CARGO :{TINY_FONT}{BLACK}{STRING}
STR_GRAPH_PERFORMANCE_DETAIL_TOOLTIP :{BLACK}Muestra detalles del rendimiento
STR_GRAPH_PERFORMANCE_DETAIL_TOOLTIP :{BLACK}Muestra detalles del nivel de desempeño
# Graph key window
STR_GRAPH_KEY_CAPTION :{WHITE}Leyenda de las gráficas
@ -637,21 +648,21 @@ STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_PRESIDENT :Presidente
STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TYCOON :Magnate
# Performance detail window
STR_PERFORMANCE_DETAIL :{WHITE}Detalle de rendimiento
STR_PERFORMANCE_DETAIL :{WHITE}Detalle de nivel de desempeño
STR_PERFORMANCE_DETAIL_KEY :{BLACK}Detalle
STR_PERFORMANCE_DETAIL_AMOUNT_CURRENCY :{BLACK}({CURRENCY_SHORT}/{CURRENCY_SHORT})
STR_PERFORMANCE_DETAIL_AMOUNT_INT :{BLACK}({COMMA}/{COMMA})
STR_PERFORMANCE_DETAIL_PERCENT :{WHITE}{NUM}%
STR_PERFORMANCE_DETAIL_SELECT_COMPANY_TOOLTIP :{BLACK}Mostrar detalles de esta empresa
STR_PERFORMANCE_DETAIL_SELECT_COMPANY_TOOLTIP :{BLACK}Muestra detalles para esta empresa
###length 10
STR_PERFORMANCE_DETAIL_VEHICLES :{BLACK}Vehículos:
STR_PERFORMANCE_DETAIL_STATIONS :{BLACK}Estaciones:
STR_PERFORMANCE_DETAIL_MIN_PROFIT :{BLACK}Beneficio Mín.:
STR_PERFORMANCE_DETAIL_MIN_INCOME :{BLACK}Ingreso Mín.:
STR_PERFORMANCE_DETAIL_MAX_INCOME :{BLACK}Ingreso Máx.:
STR_PERFORMANCE_DETAIL_MIN_INCOME :{BLACK}Beneficio Mín.:
STR_PERFORMANCE_DETAIL_MAX_INCOME :{BLACK}Beneficio Máx.:
STR_PERFORMANCE_DETAIL_DELIVERED :{BLACK}Entregado:
STR_PERFORMANCE_DETAIL_CARGO :{BLACK}Carga:
STR_PERFORMANCE_DETAIL_CARGO :{BLACK}Cargas:
STR_PERFORMANCE_DETAIL_MONEY :{BLACK}Dinero:
STR_PERFORMANCE_DETAIL_LOAN :{BLACK}Préstamo:
STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Total:
@ -659,14 +670,14 @@ STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Total:
###length 10
STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP :{BLACK}Cantidad de vehículos que obtuvieron beneficios el año pasado. Incluye vehículos de carretera, trenes, barcos y aeronaves
STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Cantidad de partes de estación que han tenido servicio. Las estaciones de tren, paradas de autobús, aeropuertos y demás son contabilizadas por separado, incluso si pertenecen a la misma estación
STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP :{BLACK}Beneficio del vehículo con menores ingresos (considerando sólo vehículos con más de 2 años)
STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Cantidad de dinero ganado en el trimestre con el beneficio más bajo de los pasados 12 trimestres
STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}Cantidad de dinero ganado en el trimestre con el beneficio más alto de los pasados 12 trimestres
STR_PERFORMANCE_DETAIL_DELIVERED_TOOLTIP :{BLACK}Unidades de carga entregadas en los pasados cuatro trimestres
STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP :{BLACK}Beneficio del vehículo menos rentable (considerando sólo vehículos con más de 2 años)
STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Cantidad de dinero ganado en el trimestre con el menor beneficio de los últimos 12 trimestres
STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}Cantidad de dinero ganado en el trimestre con el mayor beneficio de los últimos 12 trimestres
STR_PERFORMANCE_DETAIL_DELIVERED_TOOLTIP :{BLACK}Unidades de carga entregadas en los cuatro últimos trimestres
STR_PERFORMANCE_DETAIL_CARGO_TOOLTIP :{BLACK}Número de tipos de carga entregados en el último trimestre
STR_PERFORMANCE_DETAIL_MONEY_TOOLTIP :{BLACK}Cantidad de dinero que esta empresa tiene en el banco
STR_PERFORMANCE_DETAIL_LOAN_TOOLTIP :{BLACK}Cantidad de dinero que esta empresa ha recibido como préstamo
STR_PERFORMANCE_DETAIL_TOTAL_TOOLTIP :{BLACK}Total de puntos ganados del máximo posible
STR_PERFORMANCE_DETAIL_TOTAL_TOOLTIP :{BLACK}Total de puntos obtenidos del máximo posible
# Music window
STR_MUSIC_JAZZ_JUKEBOX_CAPTION :{WHITE}Selección de Jazz
@ -994,7 +1005,7 @@ STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Seleccio
STR_GAME_OPTIONS_LANGUAGE_PERCENTAGE :{STRING} ({NUM}% completo)
STR_GAME_OPTIONS_FULLSCREEN :{BLACK}Pantalla completa
STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Marca esta opción para jugar OpenTTD a pantalla completa
STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Marca esta casilla para jugar OpenTTD a pantalla completa
STR_GAME_OPTIONS_RESOLUTION :{BLACK}Resolución de pantalla
STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Selecciona la resolución de pantalla a usar
@ -1010,21 +1021,19 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Marca es
STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Controlador actual: {STRING}
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Tamaño de la interfaz
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Selecciona el tamaño de los elementos de la interfaz a usar
STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}Tamaño de la interfaz
STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Mueve el control deslizante para seleccionar el tamaño de la interfaz. Presiona Ctrl para seleccionar de forma continua
STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}Autodetectar tamaño
STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Marca esta casilla para detectar automáticamente el tamaño de la interfaz
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(autodetectar)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Tamaño doble
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Tamaño cuádruple
STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Escalar bordes
STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Marca esta casilla para escalar los bordes según el tamaño de la interfaz
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Tamaño de fuente
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Selecciona el tamaño de fuente a utilizar en la interfaz
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(autodetectar)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Tamaño doble
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Tamaño cuádruple
STR_GAME_OPTIONS_GUI_SCALE_1X :1x
STR_GAME_OPTIONS_GUI_SCALE_2X :2x
STR_GAME_OPTIONS_GUI_SCALE_3X :3x
STR_GAME_OPTIONS_GUI_SCALE_4X :4x
STR_GAME_OPTIONS_GUI_SCALE_5X :5x
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Gráficos
@ -1141,7 +1150,7 @@ STR_TERRAIN_TYPE_CUSTOM :Altura personal
STR_TERRAIN_TYPE_CUSTOM_VALUE :Altura personalizada ({NUM})
###length 4
STR_CITY_APPROVAL_LENIENT :Tolerante
STR_CITY_APPROVAL_LENIENT :Indulgente
STR_CITY_APPROVAL_TOLERANT :Tolerante
STR_CITY_APPROVAL_HOSTILE :Hostil
STR_CITY_APPROVAL_PERMISSIVE :Permisiva (sin efecto sobre las acciones de las compañías)
@ -1150,7 +1159,7 @@ STR_WARNING_NO_SUITABLE_AI :{WHITE}No se ha
# Settings tree window
STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Configuración
STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Patrón de filtrado:
STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filtro:
STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Expandir todos
STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Colapsar todos
STR_CONFIG_SETTING_RESET_ALL :{BLACK}Restablecer valores
@ -1436,6 +1445,8 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Grosor de las l
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Mostrar el nombre del NewGRF en la ventana de compra de vehículos: {STRING}
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Añade una línea a la ventana de compra de vehículos, mostrando a qué NewGRF pertenece el vehículo seleccionado.
STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Mostrar las cargas que pueden llevar los vehículos en las ventanas con listas {STRING}
STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Si se activa, las cargas que los vehículos pueden transportar aparecerán encima de éstos en las listas de vehículos
STR_CONFIG_SETTING_LANDSCAPE :Terreno: {STRING}
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Los terrenos definen escenarios con diferentes tipos de carga y requisitos de crecimiento de municipios. Es posible modificarlos empleando NewGRF y scripts de juego
@ -1618,7 +1629,7 @@ STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Mostrar horario
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Muestra los tiempos de viaje en los horarios en tics en lugar de en días
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Mostrar salidas y llegadas en los horarios: {STRING}
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Muestra tiempos de llegada y salida adelantados en los horarios
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Muestra fechas de llegada y salida previstas en los horarios
STR_CONFIG_SETTING_QUICKGOTO :Creación rápida de órdenes para vehículos: {STRING}
STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT :Preselecciona el cursor "Ir a" al abrir la ventana de órdenes
@ -1694,7 +1705,7 @@ STR_CONFIG_SETTING_AI_BUILDS_SHIPS :Desactivar barc
STR_CONFIG_SETTING_AI_BUILDS_SHIPS_HELPTEXT :Activa esta opción para deshabilitar la construcción de barcos para las IA
STR_CONFIG_SETTING_AI_PROFILE :Perfil por defecto: {STRING}
STR_CONFIG_SETTING_AI_PROFILE_HELPTEXT :Selecciona el perfil a usar para IA aleatorias o para los valores iniciales cuando se añade una nueva IA o un Script de juego
STR_CONFIG_SETTING_AI_PROFILE_HELPTEXT :Selecciona el perfil a usar para IA aleatorias o para los valores iniciales cuando se añade una nueva IA o un script de juego
###length 3
STR_CONFIG_SETTING_AI_PROFILE_EASY :Fácil
STR_CONFIG_SETTING_AI_PROFILE_MEDIUM :Intermedio
@ -1994,7 +2005,7 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Métrico (m)
STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m)
STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Localización
STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Gráficas
STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Gráficos
STR_CONFIG_SETTING_SOUND :{ORANGE}Efectos de sonido
STR_CONFIG_SETTING_INTERFACE :{ORANGE}Interfaz
STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}General
@ -2071,6 +2082,8 @@ STR_INTRO_HIGHSCORE :{BLACK}Tabla de
STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Configuración
STR_INTRO_NEWGRF_SETTINGS :{BLACK}Configuración NewGRF
STR_INTRO_ONLINE_CONTENT :{BLACK}Contenido Online
STR_INTRO_AI_SETTINGS :{BLACK}Configuración de IA
STR_INTRO_GAMESCRIPT_SETTINGS :{BLACK}Scripts de juego
STR_INTRO_QUIT :{BLACK}Salir
STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Comeenza una partida nueva. Ctrl+clic omite la configuración del escenario
@ -2088,8 +2101,10 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Seleccio
STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Muestra las opciones de juego
STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Muestra la tabla de puntuaciones
STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Muestra la configuración
STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Muestra los ajustes de NewGRF
STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Muestra la configuración de NewGRF
STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Comprueba si hay contenidos nuevos y actualizados para descargar
STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Muestra la configuración de IA
STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Muestra la configuración de script de juego
STR_INTRO_TOOLTIP_QUIT :{BLACK}Salir de 'OpenTTD'
STR_INTRO_BASESET :{BLACK}El conjunto de gráficos base actualmente seleccionado no encuentra {NUM} sprite{P "" s}. Comprueba si hay actualizaciones para el conjunto base, o usa otro totalmente actualizado.
@ -2513,7 +2528,7 @@ STR_CONTENT_SEARCH_EXTERNAL :{BLACK}Buscar e
STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Busca contenido no disponible en el servicio de contenido de OpenTTD en páginas externas no asociadas con OpenTTD
STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}¡Estás abandonando OpenTTD!
STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}Los términos y condiciones para descargar contenido de páginas externas varían.{}Será necesario consultar dichas páginas para obtener instrucciones de cómo instalar el contenido en OpenTTD.{}¿Desea continuar?
STR_CONTENT_FILTER_TITLE :{BLACK}Etiqueta/nombre del filtro
STR_CONTENT_FILTER_TITLE :{BLACK}Filtro de etiqueta/nombre:
STR_CONTENT_OPEN_URL :{BLACK}Visitar web
STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Visitar la página web de este contenido
STR_CONTENT_DOWNLOAD_CAPTION :{BLACK}Descargar
@ -2601,7 +2616,9 @@ STR_LINKGRAPH_LEGEND_SATURATED :{TINY_FONT}{BLA
STR_LINKGRAPH_LEGEND_OVERLOADED :{TINY_FONT}{BLACK}sobrecargado
# Linkgraph tooltip
STR_LINKGRAPH_STATS_TOOLTIP_TIME_EXTENSION :{}Tiempo medio de viaje: {NUM}{NBSP}día{P "" s}
STR_LINKGRAPH_STATS_TOOLTIP :{BLACK}{CARGO_LONG} para ser transportad{G 0 o a}{P 0 "" s} al mes desde {STATION} a {STATION} ({COMMA}% de la capacidad){STRING}
STR_LINKGRAPH_STATS_TOOLTIP_RETURN_EXTENSION :{}{CARGO_LONG} para ser transportad{G 0 o a}{P 0 "" s} de vuelta ({COMMA}% de la capacidad)
STR_LINKGRAPH_STATS_TOOLTIP_TIME_EXTENSION :{}Tiempo de viaje promedio: {NUM}{NBSP}día{P "" s}
# Base for station construction window(s)
STR_STATION_BUILD_COVERAGE_AREA_TITLE :{BLACK}Mostrar área de cobertura
@ -2891,14 +2908,14 @@ STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_QUERY :{YELLOW}¿Está
STR_INDUSTRY_CARGOES_INDUSTRY_CAPTION :{WHITE}Cadena de industrias para la industria {STRING}
STR_INDUSTRY_CARGOES_CARGO_CAPTION :{WHITE}Cadena de industrias para la carga {STRING}
STR_INDUSTRY_CARGOES_PRODUCERS :{WHITE}Industrias proveedoras
STR_INDUSTRY_CARGOES_CUSTOMERS :{WHITE}Industrias clientes
STR_INDUSTRY_CARGOES_CUSTOMERS :{WHITE}Industrias consumidoras
STR_INDUSTRY_CARGOES_HOUSES :{WHITE}Casas
STR_INDUSTRY_CARGOES_INDUSTRY_TOOLTIP :{BLACK}Clica en la industria para ver sus proveedores y clientes
STR_INDUSTRY_CARGOES_CARGO_TOOLTIP :{BLACK}{STRING}{}Clica en la carga para mostrar sus proveedores y clientes
STR_INDUSTRY_CARGOES_CARGO_TOOLTIP :{BLACK}{STRING}{}Clica en la carga para mostrar sus proveedores y consumidores
STR_INDUSTRY_DISPLAY_CHAIN :{BLACK}Mostrar cadena
STR_INDUSTRY_DISPLAY_CHAIN_TOOLTIP :{BLACK}Muestra industrias que suministran o aceptan la carga
STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP :{BLACK}Enlazar al mapa
STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP_TOOLTIP :{BLACK}Muestra las industrias seleccionadas también en el minimapa
STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP :{BLACK}Mostran en el minimapa
STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP_TOOLTIP :{BLACK}Muestra las industrias seleccionadas en el minimapa
STR_INDUSTRY_CARGOES_SELECT_CARGO :{BLACK}Seleccionar carga
STR_INDUSTRY_CARGOES_SELECT_CARGO_TOOLTIP :{BLACK}Selecciona el tipo de carga a mostrar
STR_INDUSTRY_CARGOES_SELECT_INDUSTRY :{BLACK}Seleccionar industria
@ -3111,7 +3128,7 @@ STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Detalles
STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}No hay información disponible
STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING}
STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING}
STR_SAVELOAD_FILTER_TITLE :{BLACK}Patrón de filtrado:
STR_SAVELOAD_FILTER_TITLE :{BLACK}Filtro:
STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Sobrescribir Archivo
STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}¿Estás seguro de que quieres sobrescribir el archivo existente?
STR_SAVELOAD_DIRECTORY :{STRING} (Directorio)
@ -3150,6 +3167,12 @@ STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Ríos:
STR_MAPGEN_SMOOTHNESS :{BLACK}Uniformidad:
STR_MAPGEN_VARIETY :{BLACK}Variedad:
STR_MAPGEN_GENERATE :{WHITE}Generar
STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}Configuración de NewGRF
STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Muestra la configuración de NewGRF
STR_MAPGEN_AI_SETTINGS :{BLACK}Configuración de IA
STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}Muestra la configuración de IA
STR_MAPGEN_GS_SETTINGS :{BLACK}Configuración de script de juego
STR_MAPGEN_GS_SETTINGS_TOOLTIP :{BLACK}Muestra la configuración de script de juego
###length 21
STR_MAPGEN_TOWN_NAME_ORIGINAL_ENGLISH :Inglés
@ -3232,7 +3255,7 @@ STR_NEWGRF_SETTINGS_INFO_TITLE :{WHITE}Informac
STR_NEWGRF_SETTINGS_ACTIVE_LIST :{WHITE}Archivos NewGRF activos
STR_NEWGRF_SETTINGS_INACTIVE_LIST :{WHITE}Archivos NewGRF inactivos
STR_NEWGRF_SETTINGS_SELECT_PRESET :{ORANGE}Seleccionar configuración:
STR_NEWGRF_FILTER_TITLE :{ORANGE}Patrón de filtrado:
STR_NEWGRF_FILTER_TITLE :{ORANGE}Filtro:
STR_NEWGRF_SETTINGS_PRESET_LIST_TOOLTIP :{BLACK}Cargar la configuración seleccionada
STR_NEWGRF_SETTINGS_PRESET_SAVE :{BLACK}Guardar
STR_NEWGRF_SETTINGS_PRESET_SAVE_TOOLTIP :{BLACK}Guardar la lista actual como configuración
@ -3476,14 +3499,14 @@ STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Comprar derecho
STR_LOCAL_AUTHORITY_ACTION_BRIBE :Sobornar a la autoridad local
###length 8
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Inicia una campaña publicitaria local pequeña para atraer más pasajeros y carga a sus servicios de transporte.{}Proporciona un incremento temporal en la calificación de las estaciones en un radio pequeño alrededor del centro del municipio.{}Coste: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Inicia una campaña publicitaria local mediana para atraer más pasajeros y carga a sus servicios de transporte.{}Proporciona un incremento temporal en la calificación de las estaciones en un radio mediano alrededor del centro del municipio.{}Coste: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Inicia una campaña publicitaria local grande para atraer más pasajeros y carga a sus servicios de transporte.{}Proporciona un incremento temporal en la calificación de las estaciones en un radio grande alrededor del centro del municipio.{}Coste: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Paga la reconstrucción de las carreteras locales.{}Provoca considerables complicaciones de tráfico durante 6 meses.{}Coste: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Construye una estatua en honor a su empresa.{}Proporciona un incremento permanente en la calificación de las estaciones de este municipio.{}Coste: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Paga la construcción de nuevos edificios comerciales en el municipio.{}Proporciona un incremento temporal en el crecimiento del municipio.{}Coste: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Compra derechos de transporte exclusivos en este municipio durante un año.{}Las autoridades no permitirán el uso de las estaciones de la competencia.{}Coste: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Soborna a las autoridades locales para aumentar su calificación, con el riesgo de sufrir una penalización severa si es descubierto.{}Coste: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{PUSH_COLOUR}{YELLOW}Inicia una campaña publicitaria local pequeña para atraer más pasajeros y carga a sus servicios de transporte.{}Proporciona un incremento temporal en la calificación de las estaciones en un radio pequeño alrededor del centro del municipio.{}{POP_COLOUR}Coste: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{YELLOW}Inicia una campaña publicitaria local mediana para atraer más pasajeros y carga a sus servicios de transporte.{}Proporciona un incremento temporal en la calificación de las estaciones en un radio mediano alrededor del centro del municipio.{}{POP_COLOUR}Coste: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Inicia una campaña publicitaria local grande para atraer más pasajeros y carga a sus servicios de transporte.{}Proporciona un incremento temporal en la calificación de las estaciones en un radio grande alrededor del centro del municipio.{}{POP_COLOUR}Coste: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{PUSH_COLOUR}{YELLOW}Paga la reconstrucción de las carreteras locales.{}Provoca considerables complicaciones de tráfico durante 6 meses.{}{POP_COLOUR}Coste: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Construye una estatua en honor a su empresa.{}Proporciona un incremento permanente en la calificación de las estaciones de este municipio.{}{POP_COLOUR}Coste: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}Paga la construcción de nuevos edificios comerciales en el municipio.{}Proporciona un incremento temporal en el crecimiento del municipio.{}{POP_COLOUR}Coste: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{PUSH_COLOUR}{YELLOW}Compra derechos de transporte exclusivos en este municipio durante un año.{}Las autoridades no permitirán el uso de las estaciones de la competencia.{}{POP_COLOUR}Coste: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}Soborna a las autoridades locales para aumentar su calificación, con el riesgo de sufrir una penalización severa si es descubierto.{}{POP_COLOUR}Coste: {CURRENCY_LONG}
# Goal window
STR_GOALS_CAPTION :{WHITE}Objetivos de {COMPANY}
@ -3612,10 +3635,10 @@ STR_CARGO_RATING_OUTSTANDING :Excepcional
STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}Centrar vista en la posición de la estación. Ctrl+clic abre un punto de vista en dicha posición
STR_STATION_VIEW_RENAME_TOOLTIP :{BLACK}Cambia el nombre de la estación
STR_STATION_VIEW_SCHEDULED_TRAINS_TOOLTIP :{BLACK}Muestra todos los trenes que tienen esta estación en su horario
STR_STATION_VIEW_SCHEDULED_ROAD_VEHICLES_TOOLTIP :{BLACK}Muestra todos los vehículos de carretera que tienen esta estación en su horario
STR_STATION_VIEW_SCHEDULED_AIRCRAFT_TOOLTIP :{BLACK}Muestra todas las aeronaves que tienen esta estación en su horario
STR_STATION_VIEW_SCHEDULED_SHIPS_TOOLTIP :{BLACK}Muestra todos los barcos que tienen esta estación en su horario
STR_STATION_VIEW_SCHEDULED_TRAINS_TOOLTIP :{BLACK}Muestra todos los trenes que tienen esta estación en sus órdenes
STR_STATION_VIEW_SCHEDULED_ROAD_VEHICLES_TOOLTIP :{BLACK}Muestra todos los vehículos de carretera que tienen esta estación en sus órdenes
STR_STATION_VIEW_SCHEDULED_AIRCRAFT_TOOLTIP :{BLACK}Muestra todas las aeronaves que tienen esta estación en sus órdenes
STR_STATION_VIEW_SCHEDULED_SHIPS_TOOLTIP :{BLACK}Muestra todos los barcos que tienen esta estación en sus órdenes
STR_STATION_VIEW_RENAME_STATION_CAPTION :Renombrar estación/zona de carga
@ -3656,16 +3679,18 @@ STR_FINANCES_SECTION_SHIP_REVENUE :{GOLD}Barcos
STR_FINANCES_SECTION_LOAN_INTEREST :{GOLD}Intereses de Préstamo
STR_FINANCES_SECTION_OTHER :{GOLD}Otros
STR_FINANCES_TOTAL_CAPTION :{WHITE}Total
STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG}
STR_FINANCES_ZERO_INCOME :{CURRENCY_LONG}
STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG}
STR_FINANCES_NET_PROFIT :{WHITE}Beneficio neto
STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Saldo en Banco
STR_FINANCES_PROFIT :{WHITE}Beneficio
STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Saldo bancario
STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}Fondos propios
STR_FINANCES_LOAN_TITLE :{WHITE}Préstamo
STR_FINANCES_INTEREST_RATE :{WHITE}Tipo de interés del préstamo: {BLACK}{NUM}%
STR_FINANCES_MAX_LOAN :{WHITE}Préstamo Máximo: {BLACK}{CURRENCY_LONG}
STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG}
STR_FINANCES_BANK_BALANCE :{WHITE}{CURRENCY_LONG}
STR_FINANCES_BORROW_BUTTON :{BLACK}Pedir Préstamo {CURRENCY_LONG}
STR_FINANCES_BORROW_TOOLTIP :{BLACK}Incrementa el préstamo. Ctrl+clic solicita todo el préstamo posible
STR_FINANCES_REPAY_BUTTON :{BLACK}Pagar Préstamo {CURRENCY_LONG}
@ -3795,7 +3820,9 @@ STR_VEHICLE_LIST_MANAGE_LIST :{BLACK}Administ
STR_VEHICLE_LIST_MANAGE_LIST_TOOLTIP :{BLACK}Envia instrucciones a todos los vehículos de la lista
STR_VEHICLE_LIST_REPLACE_VEHICLES :Reemplazar vehículos
STR_VEHICLE_LIST_SEND_FOR_SERVICING :Enviar para Mantenimiento
STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Beneficio este año: {CURRENCY_LONG} (último año: {CURRENCY_LONG})
STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Beneficio este año: {CURRENCY_LONG} (año anterior: {CURRENCY_LONG})
STR_VEHICLE_LIST_CARGO :{TINY_FONT}{BLACK}[{CARGO_LIST}]
STR_VEHICLE_LIST_NAME_AND_CARGO :{TINY_FONT}{BLACK}{STRING} {STRING}
STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :Enviar a Depósito
STR_VEHICLE_LIST_SEND_ROAD_VEHICLE_TO_DEPOT :Enviar a Depósito
@ -3839,7 +3866,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Quitar todos lo
STR_GROUP_RENAME_CAPTION :{BLACK}Renombrar un grupo
STR_GROUP_PROFIT_THIS_YEAR :Beneficio este año:
STR_GROUP_PROFIT_LAST_YEAR :Beneficio del año pasado:
STR_GROUP_PROFIT_LAST_YEAR :Beneficio del año anterior:
STR_GROUP_OCCUPANCY :Utilización actual:
STR_GROUP_OCCUPANCY_VALUE :{NUM}%
@ -3889,6 +3916,9 @@ STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Alcance:
STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Tipo de aeronave: {GOLD}{STRING}
###length 3
STR_CARGO_TYPE_FILTER_ALL :Todos los tipos
STR_CARGO_TYPE_FILTER_FREIGHT :Carga
STR_CARGO_TYPE_FILTER_NONE :Ninguno
###length VEHICLE_TYPES
STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Lista de selección de los vehículos de ferrocarril. Clica en el vehículo para más información. Pulsa Ctrl+clic para mostrar/ocultar el tipo del vehículo
@ -4216,7 +4246,8 @@ STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Velocida
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potencia: {LTBLUE}{POWER}{BLACK} Velocidad Máx.: {LTBLUE}{VELOCITY}
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potencia: {LTBLUE}{POWER}{BLACK} Velocidad Máx.: {LTBLUE}{VELOCITY} {BLACK}F.T. Máx.: {LTBLUE}{FORCE}
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Beneficio este año: {LTBLUE}{CURRENCY_LONG} (último año: {CURRENCY_LONG})
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Beneficio este año: {LTBLUE}{CURRENCY_LONG} (año anterior: {CURRENCY_LONG})
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Beneficio este año: {LTBLUE}{CURRENCY_LONG} (año anterior: {CURRENCY_LONG}) {BLACK}Potencia específica mín.: {LTBLUE}{POWER_TO_WEIGHT}
STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Fiabilidad: {LTBLUE}{COMMA}% {BLACK}Averías desde el último mantenimiento: {LTBLUE}{COMMA}
STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Construido: {LTBLUE}{NUM}{BLACK} Valor: {LTBLUE}{CURRENCY_LONG}
@ -4383,7 +4414,7 @@ STR_ORDER_CONDITIONAL :Salto de orden
STR_ORDER_SHARE :Compartir órdenes
STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Añade una nueva orden antes de la orden resaltada, o la añade al final de la lista. Ctrl sobre estaciones ordena 'Carga completa de cualquier carga', sobre puntos de ruta ordena 'sin paradas' y sobre depósitos ordena 'mantenimiento'. Ctrl o Compartir órdenes permite a este vehículo compartir órdenes con el vehículo seleccionado. Clica sobre un vehículo copia las órdenes. Una órden de depósito desactiva el mantenimiento automático del vehículo
STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Muestra todos los vehículos con el mismo horario
STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Muestra todos los vehículos que comparten estas órdenes y este horario
# String parts to build the order string
STR_ORDER_GO_TO_WAYPOINT :Ir vía {WAYPOINT}
@ -4463,54 +4494,54 @@ STR_TIMETABLE_ORDER_VIEW_TOOLTIP :{BLACK}Cambia a
STR_TIMETABLE_TOOLTIP :{BLACK}Horario - Clica en una orden para resaltarla
STR_TIMETABLE_NO_TRAVEL :Sin viaje
STR_TIMETABLE_NO_TRAVEL :No viajar
STR_TIMETABLE_NOT_TIMETABLEABLE :Viajar (automático; programado por la próxima orden manual)
STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Viajar (sin programar)
STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Viajar (sin programar) a {2:VELOCITY} como máximo
STR_TIMETABLE_TRAVEL_FOR :Viajar durante {STRING}
STR_TIMETABLE_TRAVEL_FOR_SPEED :Viajar durante {STRING} a {VELOCITY} como máximo
STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Viajando (durante {STRING}, sin programar)
STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Viajando (durante {STRING}, sin programar) a {VELOCITY} como máximo
STR_TIMETABLE_STAY_FOR_ESTIMATED :(permaneciendo {STRING}, sin programar)
STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(viajando durante {STRING}, sin programar)
STR_TIMETABLE_STAY_FOR :y esperar {STRING}
STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Viajar (durante {STRING}, sin programar)
STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Viajar (durante {STRING}, sin programar) a {VELOCITY} como máximo
STR_TIMETABLE_STAY_FOR_ESTIMATED :(permanecer {STRING}, sin programar)
STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(viajar durante {STRING}, sin programar)
STR_TIMETABLE_STAY_FOR :y permanecer {STRING}
STR_TIMETABLE_AND_TRAVEL_FOR :y viajar durante {STRING}
STR_TIMETABLE_DAYS :{COMMA}{NBSP}día{P "" s}
STR_TIMETABLE_TICKS :{COMMA}{NBSP}tic{P "" s}
STR_TIMETABLE_TOTAL_TIME :{BLACK}El horario tardará {STRING} en completarse
STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}El horario tardará al menos {STRING} en completarse (no todas las órdenes)
STR_TIMETABLE_TOTAL_TIME :{BLACK}El horario tardará {STRING} en recorrerse
STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}El horario tardará al menos {STRING} en recorrerse (no todas las órdenes)
STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Este vehículo está actualmente en hora
STR_TIMETABLE_STATUS_LATE :{BLACK}Este vehículo está actualmente retrasado {STRING}
STR_TIMETABLE_STATUS_EARLY :{BLACK}Este vehículo está actualmente adelantado {STRING}
STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Este vehículo actualmente es puntual
STR_TIMETABLE_STATUS_LATE :{BLACK}Este vehículo actualmente está retrasado {STRING}
STR_TIMETABLE_STATUS_EARLY :{BLACK}Este vehículo actualmente está adelantado {STRING}
STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Este horario no ha comenzado
STR_TIMETABLE_STATUS_START_AT :{BLACK}Este horario comenzará el {STRING}
STR_TIMETABLE_STARTING_DATE :{BLACK}Fecha de inicio
STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK}Selecciona una fecha como punto de partida de este horario. Ctrl+clic permite fijar el punto de partida de este horario y distribuye todos los vehículos que lo compartan siempre y cuando el horario esté completo
STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK}Selecciona la fecha de inicio del horario. Ctrl+click distribuye uniformemente todos los vehículos que compartan este horario a partir de la fecha proporcionada, basados en su orden relativo, siempre que el horario esté completamente rellenado
STR_TIMETABLE_CHANGE_TIME :{BLACK}Cambiar duración
STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Cambia la duración de la orden seleccionada
STR_TIMETABLE_CHANGE_TIME :{BLACK}Modificar duración
STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Modifica la duración de la orden seleccionada
STR_TIMETABLE_CLEAR_TIME :{BLACK}Borrar duración
STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Borra la duración de la orden resaltada
STR_TIMETABLE_CHANGE_SPEED :{BLACK}Cambiar límite de velocidad
STR_TIMETABLE_CHANGE_SPEED :{BLACK}Modificar límite de velocidad
STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Cambia el límite de velocidad de la orden resaltada
STR_TIMETABLE_CLEAR_SPEED :{BLACK}Borrar límite de velocidad
STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Borra el límite de velocidad de la orden resaltada
STR_TIMETABLE_RESET_LATENESS :{BLACK}Reiniciar retrasos
STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Pone a cero el retraso del vehículo, así el vehículo estará en hora
STR_TIMETABLE_RESET_LATENESS :{BLACK}Reiniciar retraso
STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Establece en cero el retraso acumulado del vehículo para que sea puntual
STR_TIMETABLE_AUTOFILL :{BLACK}Rellenar automáticamente
STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Rellena la tabla de horarios automáticamente con los valores de la siguiente jornada (Ctrl+clic para tratar de mantener los tiempos de espera)
STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Rellena el horario automáticamente con los valores del siguiente recorrido (Ctrl+clic para intentar mantener los tiempos de permanencia en estación)
STR_TIMETABLE_EXPECTED :{BLACK}Esperado
STR_TIMETABLE_EXPECTED :{BLACK}Previsto
STR_TIMETABLE_SCHEDULED :{BLACK}Programado
STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Alterna entre esperado y programado
STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Alterna entre fechas previstas y programadas
STR_TIMETABLE_ARRIVAL_ABBREVIATION :Ll:
STR_TIMETABLE_DEPARTURE_ABBREVIATION :S:
@ -4519,14 +4550,14 @@ STR_TIMETABLE_DEPARTURE_ABBREVIATION :S:
# Date window (for timetable)
STR_DATE_CAPTION :{WHITE}Seleccionar fecha
STR_DATE_SET_DATE :{BLACK}Seleccionar fecha
STR_DATE_SET_DATE_TOOLTIP :{BLACK}Usar la fecha seleccionada como punto de inicio del horario
STR_DATE_SET_DATE_TOOLTIP :{BLACK}Usa la fecha seleccionada como punto de inicio del horario
STR_DATE_DAY_TOOLTIP :{BLACK}Selecciona el día
STR_DATE_MONTH_TOOLTIP :{BLACK}Selecciona el mes
STR_DATE_YEAR_TOOLTIP :{BLACK}Selecciona el año
# AI debug window
STR_AI_DEBUG :{WHITE}Depuración de Scripts de juego/IA
STR_AI_DEBUG :{WHITE}Depuración de scripts de juego/IA
STR_AI_DEBUG_NAME_AND_VERSION :{BLACK}{STRING} (v{NUM})
STR_AI_DEBUG_NAME_TOOLTIP :{BLACK}Nombre del script
STR_AI_DEBUG_SETTINGS :{BLACK}Configuración
@ -4543,13 +4574,15 @@ STR_AI_DEBUG_CONTINUE :{BLACK}Continua
STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Quita la pausa y hace que la IA continúe
STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Mostrar salida de depuración de esta IA
STR_AI_GAME_SCRIPT :{BLACK}Script de juego
STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Comprobar el registro del Script de juego
STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Analizar el registro del script de juego
STR_ERROR_AI_NO_AI_FOUND :No se encontró ninguna IA apropiada para cargar.{}Ésta es una IA por defecto que no realiza acción alguna.{}Puedes descargar nuevas IA mediante el sistema de 'Contenido Online'
STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Uno de los scripts ejecutados ha fallado. Por favor, informa del fallo al autor del script con una captura de la ventana de depuración de Script / IA
STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}La ventana de depuración de Scripts solo está disponible para el servidor
STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Uno de los scripts ejecutados ha fallado. Por favor, informa del fallo al autor del script con una captura de la ventana de depuración de script/IA
STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}La ventana de depuración de scripts solo está disponible para el servidor
# AI configuration window
STR_AI_CONFIG_CAPTION_AI :{WHITE}Configuración de IA
STR_AI_CONFIG_CAPTION_GAMESCRIPT :{WHITE}Configuración de scripts de juego
STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}Script de juego que será cargado en la próxima partida
STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}IA que serán cargadas en la próxima partida
STR_AI_CONFIG_HUMAN_PLAYER :Jugador humano
@ -4563,10 +4596,11 @@ STR_AI_CONFIG_MOVE_DOWN :{BLACK}Mover ha
STR_AI_CONFIG_MOVE_DOWN_TOOLTIP :{BLACK}Mover la IA seleccionada hacia abajo
STR_AI_CONFIG_GAMESCRIPT :{SILVER}Script de juego
STR_AI_CONFIG_GAMESCRIPT_PARAM :{SILVER}Parámetros
STR_AI_CONFIG_AI :{SILVER}IA
STR_AI_CONFIG_CHANGE_AI :IA
STR_AI_CONFIG_CHANGE_GAMESCRIPT :Script de juego
STR_AI_CONFIG_CHANGE_AI :{BLACK}Seleccionar IA
STR_AI_CONFIG_CHANGE_GAMESCRIPT :{BLACK}Selecciona script de juego
STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Cargar otro script
STR_AI_CONFIG_CONFIGURE :{BLACK}Configurar
STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Configura los parámetros del script
@ -4595,7 +4629,7 @@ STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Mapa de
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Minimapa
# AI Parameters
STR_AI_SETTINGS_CAPTION_AI :IA
STR_AI_SETTINGS_CAPTION_AI :{WHITE}Parámetros de IA
STR_AI_SETTINGS_CLOSE :{BLACK}Cerrar
STR_AI_SETTINGS_RESET :{BLACK}Reiniciar
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
@ -4916,7 +4950,7 @@ STR_ERROR_CAN_T_PLANT_TREE_HERE :{WHITE}No se pu
STR_ERROR_CAN_T_BUILD_BRIDGE_HERE :{WHITE}No puede construirse un puente aquí...
STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Primero debe demolerse el puente
STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}No se puede comenzar y acabar en la misma posición
STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Las cabeceras del puente no están al mismo nivel
STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Los estribos del puente no están al mismo nivel
STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}El puente es demasiado bajo para el terreno
STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}El puente es demasiado alto para este terreno.
STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Comienzo y final deben estar en línea
@ -5013,6 +5047,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}No se pu
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... el vehículo está destruido
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Ningún vehículo estará disponible
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Es necesario modificar la configuración NewGRF
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}En esta fecha no hay vehículos disponibles
@ -5049,7 +5084,7 @@ STR_ERROR_AIRCRAFT_NOT_ENOUGH_RANGE :{WHITE}... la a
# Timetable related errors
STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}No se puede asignar horario al vehículo...
STR_ERROR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}Los vehículos sólo pueden esperar en estaciones
STR_ERROR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}Este vehículo no va a detenerse en esta estación
STR_ERROR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}Este vehículo no se detendrá en esta estación
# Sign related errors
STR_ERROR_TOO_MANY_SIGNS :{WHITE}... demasiados letreros

@ -208,8 +208,13 @@ STR_UNITS_POWER_SI :{COMMA}{NBSP}kW
STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}hp/t
STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}hp/t
STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_SI :{DECIMAL}{NBSP}hp/Mg
STR_UNITS_POWER_METRIC_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}hp/t
STR_UNITS_POWER_METRIC_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}hp/t
STR_UNITS_POWER_METRIC_TO_WEIGHT_SI :{DECIMAL}{NBSP}hp/Mg
STR_UNITS_POWER_SI_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}kW/t
STR_UNITS_POWER_SI_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}kW/t
STR_UNITS_POWER_SI_TO_WEIGHT_SI :{DECIMAL}{NBSP}W/kg
STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t
STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t
@ -316,7 +321,7 @@ STR_SORT_BY_WAITING_TOTAL :Carga total en
STR_SORT_BY_WAITING_AVAILABLE :Carga disponible en espera
STR_SORT_BY_RATING_MAX :Mayor índice de carga
STR_SORT_BY_RATING_MIN :Menor índice de carga
STR_SORT_BY_ENGINE_ID :Id. locomotora (orden clásico)
STR_SORT_BY_ENGINE_ID :ID de vehículo (orden clásico)
STR_SORT_BY_COST :Costo
STR_SORT_BY_POWER :Potencia
STR_SORT_BY_TRACTIVE_EFFORT :Fuerza de tracción
@ -406,6 +411,8 @@ STR_SCENEDIT_FILE_MENU_QUIT :Salir
###length 15
STR_SETTINGS_MENU_GAME_OPTIONS :Opciones de juego
STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Configuración
STR_SETTINGS_MENU_AI_SETTINGS :Configuración de IA
STR_SETTINGS_MENU_GAMESCRIPT_SETTINGS :Configuración de scripts de juego
STR_SETTINGS_MENU_NEWGRF_SETTINGS :Configuración de NewGRF
STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Opciones de transparencia
STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Mostrar nombres de localidades
@ -661,7 +668,7 @@ STR_PERFORMANCE_DETAIL_LOAN :{BLACK}Préstam
STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Total:
###length 10
STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP :{BLACK}Cuántos vehículos tuvieron ganancias el último año, contando los de carretera, trenes, barcos y aeronaves
STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP :{BLACK}Cuántos vehículos tuvieron ganancias el último año, contando los autotransportes, trenes, barcos y aeronaves
STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Número de estaciones abastecidas recientemente. Las estaciones de tren, paradas de autobuses, aeropuertos y demás se contabilizan aparte, aun si pertenecen a la misma estación
STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP :{BLACK}Utilidad del vehículo con menores ingresos (de entre aquellos con más de 2 años)
STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Cantidad de efectivo ganado en el trimestre con la utilidad más baja de los últimos 12 trimestres
@ -795,12 +802,12 @@ STR_SMALLMAP_TOWN :{TINY_FONT}{WHI
STR_SMALLMAP_DISABLE_ALL :{BLACK}Ocultar todo
STR_SMALLMAP_ENABLE_ALL :{BLACK}Mostrar todo
STR_SMALLMAP_SHOW_HEIGHT :{BLACK}Mostrar relieve
STR_SMALLMAP_TOOLTIP_DISABLE_ALL_INDUSTRIES :{BLACK}No mostrar industrias en el mapa
STR_SMALLMAP_TOOLTIP_DISABLE_ALL_INDUSTRIES :{BLACK}Ocultar del mapa las industrias
STR_SMALLMAP_TOOLTIP_ENABLE_ALL_INDUSTRIES :{BLACK}Mostrar todas las industrias en el mapa
STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Alternar vista de relieve
STR_SMALLMAP_TOOLTIP_DISABLE_ALL_COMPANIES :{BLACK}No mostrar propiedades de empresas en el mapa
STR_SMALLMAP_TOOLTIP_DISABLE_ALL_COMPANIES :{BLACK}Ocultar del mapa las propiedades de las empresas
STR_SMALLMAP_TOOLTIP_ENABLE_ALL_COMPANIES :{BLACK}Mostrar todas las propiedades de empresas en el mapa
STR_SMALLMAP_TOOLTIP_DISABLE_ALL_CARGOS :{BLACK}Ocultar todas las cargas del mapa
STR_SMALLMAP_TOOLTIP_DISABLE_ALL_CARGOS :{BLACK}Ocultar del mapa las cargas
STR_SMALLMAP_TOOLTIP_ENABLE_ALL_CARGOS :{BLACK}Mostrar todas las cargas en el mapa
# Status bar messages
@ -836,7 +843,7 @@ STR_NEWS_AIRCRAFT_CRASH :{BIG_FONT}{BLAC
STR_NEWS_PLANE_CRASH_OUT_OF_FUEL :{BIG_FONT}{BLACK}¡Accidente aéreo!{}Avión se queda sin combustible, ¡{COMMA} personas mueren en explosión!
STR_NEWS_DISASTER_ZEPPELIN :{BIG_FONT}{BLACK}¡Desastre de zepelín en {STATION}!
STR_NEWS_DISASTER_SMALL_UFO :{BIG_FONT}{BLACK}¡Vehículo destruido en la carretara al impactar con ovni!
STR_NEWS_DISASTER_SMALL_UFO :{BIG_FONT}{BLACK}¡Vehículo destruido en la carretera al impactar con ovni!
STR_NEWS_DISASTER_AIRPLANE_OIL_REFINERY :{BIG_FONT}{BLACK}¡Explota refinería de petróleo cerca de {TOWN}!
STR_NEWS_DISASTER_HELICOPTER_FACTORY :{BIG_FONT}{BLACK}¡Fábrica destruida misteriosamente cerca de {TOWN}!
STR_NEWS_DISASTER_BIG_UFO :{BIG_FONT}{BLACK}¡Ovni aterriza cerca de {TOWN}!
@ -936,7 +943,7 @@ STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Copiar u
# Game options window
STR_GAME_OPTIONS_CAPTION :{WHITE}Opciones de juego
STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Divisa
STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Selección de divisa
STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Elegir divisa
###length 42
STR_GAME_OPTIONS_CURRENCY_GBP :Libra británica (GBP)
@ -1014,21 +1021,19 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Activar
STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Controlador actual: {STRING}
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Tamaño de la interfaz
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Elegir el tamaño de los elementos de la interfaz
STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}Tamaño de la interfaz
STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Mover el deslizador para cambiar el tamaño de la interfaz. Mantener pulsado Ctrl para un control fino
STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}Detectar automáticamente
STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Detectar tamaño de la interfaz automáticamente
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(detectar)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Doble
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Cuádruple
STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Ajustar biseles
STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Ajustar los biseles de la interfaz según el tamaño
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Tamaño de texto
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Elegir el tamaño de letra de la interfaz
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(detectar)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Doble
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Cuádruple
STR_GAME_OPTIONS_GUI_SCALE_1X :1x
STR_GAME_OPTIONS_GUI_SCALE_2X :2x
STR_GAME_OPTIONS_GUI_SCALE_3X :3x
STR_GAME_OPTIONS_GUI_SCALE_4X :4x
STR_GAME_OPTIONS_GUI_SCALE_5X :5x
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Gráficos
@ -1260,16 +1265,16 @@ STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT_AUTO :(automático)
STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}No se puede establecer el límite de elevación del mapa en el valor indicado. Al menos una montaña ya es más alta
STR_CONFIG_SETTING_AUTOSLOPE :Alterar terreno debajo de edificios, vías férreas, etc.: {STRING}
STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Permitir la alteración del terreno debajo de infraestructura sin tener que retirarla
STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Permitir alteración de terreno debajo de infraestructura sin tener que retirarla
STR_CONFIG_SETTING_CATCHMENT :Permitir cambiar el tamaño del área de recolección a una forma más real: {STRING}
STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Las áreas de recolección se adecúan a diferentes tamaños, según los tipos de estaciones y aeropuertos
STR_CONFIG_SETTING_CATCHMENT :Permitir áreas de recolección más realistas: {STRING}
STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Las áreas de recolección se ajustarán a los tamaños de los tipos de estaciones y aeropuertos
STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES :Las estaciones privadas pueden dar servicio a industrias con estaciones neutrales: {STRING}
STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT :Al activarse, las industrias con estaciones integradas (ej. plataformas petrolíferas) podrán aceptar carga de estaciones aledañas. Al desactivarse, tales industrias solo recibirán carga en sus propias estaciones y no aceptarán de otras estaciones, ni la estación integrada brindará servicio a nada más que su industria
STR_CONFIG_SETTING_EXTRADYNAMITE :Permitir mayor eliminación de carreteras, puentes y túneles: {STRING}
STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Hacer más fácil eliminar infraestructura y edificios que sean propiedad de las localidades
STR_CONFIG_SETTING_EXTRADYNAMITE :Permitir eliminación más fácil de propiedades de localidades: {STRING}
STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Hacer más fácil la eliminación de la infraestructura y los edificios que sean propiedad de las localidades
STR_CONFIG_SETTING_TRAIN_LENGTH :Longitud máxima de trenes: {STRING}
STR_CONFIG_SETTING_TRAIN_LENGTH_HELPTEXT :Longitud máxima permitida para los trenes
@ -1294,8 +1299,8 @@ STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Grado de inclin
STR_CONFIG_SETTING_FORBID_90_DEG :Prohibir a trenes realizar giros de 90°: {STRING}
STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Los giros de 90° ocurren en vías férreas perpendiculares donde el tren gira 90° al pasar de una casilla a otra, en lugar de los 45° habituales en otras combinaciones de vías.
STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Permitir la ampliación de estaciones no adyacentes: {STRING}
STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Permitir añadir de partes a una estación sin tener que estar en contacto directo con las partes existentes. Se debe pulsar Ctrl+Clic para añadir las nuevas partes
STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Permitir ampliación de estaciones no adyacentes: {STRING}
STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Se podrán añadir partes a una estación sin que tengan que estar una al lado de la otra. Ctrl+Clic para añadir las nuevas partes
STR_CONFIG_SETTING_INFLATION :Inflación: {STRING}
STR_CONFIG_SETTING_INFLATION_HELPTEXT :Activar inflación en la economía, lo que hace que los costos aumenten ligeramente más rápido que los ingresos
@ -1320,7 +1325,7 @@ STR_CONFIG_SETTING_INDUSTRY_PLATFORM :Área plana alr
STR_CONFIG_SETTING_INDUSTRY_PLATFORM_HELPTEXT :Cantidad de espacio plano alrededor de las industrias. Esto asegura que haya espacio libre alrededor de las industrias para construir vías férreas, etc.
STR_CONFIG_SETTING_MULTIPINDTOWN :Permitir varias industrias similares por localidad: {STRING}
STR_CONFIG_SETTING_MULTIPINDTOWN_HELPTEXT :En general, una localidad admite un solo tipo de industria a la vez, pero con esta opción varias industrias del mismo tipo en una localidad son posibles
STR_CONFIG_SETTING_MULTIPINDTOWN_HELPTEXT :En general, una localidad admite un solo tipo de industria a la vez, pero con esta opción varias industrias del mismo tipo en una localidad serán posibles
STR_CONFIG_SETTING_SIGNALSIDE :Mostrar señales: {STRING}
STR_CONFIG_SETTING_SIGNALSIDE_HELPTEXT :Elegir el lado de las vías donde se construirán las señales
@ -1330,7 +1335,7 @@ STR_CONFIG_SETTING_SIGNALSIDE_DRIVING_SIDE :En el lado de c
STR_CONFIG_SETTING_SIGNALSIDE_RIGHT :A la derecha
STR_CONFIG_SETTING_SHOWFINANCES :Mostrar ventana de finanzas al final del año: {STRING}
STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Si se activa, la ventana de finanzas aparecerá al final de cada año para permitir realizar una inspección más fácil del estado financiero de la empresa
STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Al activarse, la ventana de finanzas aparecerá al final de cada año para permitir la inspección más sencilla del estado financiero de la empresa
STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Todo nuevo recorrido es 'Sin paradas' por defecto: {STRING}
STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Cada vehículo hace parada en cada estación por la que pasa, pero al activar esta opción el vehículo seguirá de largo hasta llegar a su destino. Esta opción solo define el valor por defecto para nuevos recorridos, pero cada recorrido individual puede ajustarse independientemente
@ -1343,7 +1348,7 @@ STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :mitad
STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :final
STR_CONFIG_SETTING_AUTOSCROLL :Recorrer vista cuando se mueva el cursor a los bordes: {STRING}
STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Al activarse, las vistas se desplazarán cuando el ratón se acarque a los bordes de la ventana
STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Al activarse, las vistas se desplazarán cuando el ratón se acerque a los bordes de la ventana
###length 4
STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Desactivado
STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :Vista principal, solo en pantalla completa
@ -1351,19 +1356,19 @@ STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT :Vista principal
STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :Todas las vistas
STR_CONFIG_SETTING_BRIBE :Permitir sobornos al ayuntamiento: {STRING}
STR_CONFIG_SETTING_BRIBE_HELPTEXT :Las empresas intentan sobornar a los ayuntamientos. Si un inspector lo descubre, la empresa no podrá operar en la localidad seis meses
STR_CONFIG_SETTING_BRIBE_HELPTEXT :Las empresas podrán sobornar a los ayuntamientos, pero si un inspector lo descubre, la empresa no podrá operar en la localidad durante seis meses
STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Permitir adquirir los derechos de transporte exclusivos: {STRING}
STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Si una empresa compra los derechos de transporte exclusivos en una localidad, las estaciones de la competencia no recibirán carga nada todo un año
STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Permitir adquisición de derechos de transporte exclusivos: {STRING}
STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Si una empresa compra los derechos de transporte exclusivos en una localidad, las estaciones de la competencia no recibirán carga todo un año
STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Permitir la construcción de nuevos edificios: {STRING}
STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Permitir construcción de nuevos edificios: {STRING}
STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Las empresas aportan dinero a los ayuntamientos para que construyan nuevas casas y edificios
STR_CONFIG_SETTING_ALLOW_FUND_ROAD :Permitir el pago de la reconstrucción de las carreteras locales: {STRING}
STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :Las empresas aportan dinero a los ayuntamientos para que reconstruyan sus carreteras y así sabotear a otros servicios de transporte por carretera que operen en la zona
STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :Las empresas aportan dinero a los ayuntamientos para reconstruir sus carreteras, lo que perjudicando otros servicios de transporte en la zona
STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :Permitir enviar dinero a otras empresas: {STRING}
STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT :Permitir la transferencia de dinero entre empresas en modo multijugador
STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :Permitir envío de dinero a otras empresas: {STRING}
STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT :En modo multijugador, las empresas podrán transferirse dinero
STR_CONFIG_SETTING_FREIGHT_TRAINS :Multiplicador de peso para simular trenes pesados: {STRING}
STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT :Impacto de llevar carga en los trenes. Un valor mayor exige mayor potencia a los trenes para llevar carga, sobre todo al subir colinas
@ -1373,16 +1378,16 @@ STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Establece la ve
STR_CONFIG_SETTING_PLANE_SPEED_VALUE :1/{COMMA}
STR_CONFIG_SETTING_PLANE_CRASHES :Cantidad de accidentes aéreos: {STRING}
STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Probabilidad de que ocurran accidentes aéreos.{}* Las aeronaves grandes son más propensas a accidentes en areopuertos pequeños
STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Probabilidad de que ocurran accidentes aéreos.{}* Las aeronaves grandes son más propensas a accidentes en aeropuertos pequeños
###length 3
STR_CONFIG_SETTING_PLANE_CRASHES_NONE :Ninguno*
STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :Reducida
STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :Normal
STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Permitir la construcción de paradas de paso en localidades: {STRING}
STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Permitir la construcción de paradas de paso en carreteras que sean propiedad de las localidades
STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Permitir la construcción de paradas paradas de paso en carreteras de la competencia: {STRING}
STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Construir paradas de autobuses de paso en carreteras que sean propiedad de otras empresas
STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Permitir construcción de paradas de paso en localidades: {STRING}
STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Se podrán construir paradas de paso en las carreteras que sean propiedad de las localidades
STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Permitir construcción de paradas de paso en carreteras de la competencia: {STRING}
STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Se podrán construir paradas de paso en las carreteras que sean propiedad de otras empresas
STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}No se puede cambiar esta opción si ya existen vehículos
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Mantenimiento de infraestructura: {STRING}
@ -1410,7 +1415,7 @@ STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Mostrar un mens
STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Vehículos siempre disponibles: {STRING}
STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Todos los modelos de vehículos estarán disponibles para siempre tras haber sido introducidos
STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Renovar automáticamente vehículos anicuados: {STRING}
STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Renovar automáticamente vehículos viejos: {STRING}
STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Los vehículos próximos al final de su vida útil serán renovados automáticamente, siempre y cuando se cumplan las condiciones de renovación
STR_CONFIG_SETTING_AUTORENEW_MONTHS :Renovar automáticamente el vehículo cumpla {STRING}
@ -1553,8 +1558,8 @@ STR_CONFIG_SETTING_LIVERIES_NONE :Ninguno
STR_CONFIG_SETTING_LIVERIES_OWN :Mi empresa
STR_CONFIG_SETTING_LIVERIES_ALL :Todas las empresas
STR_CONFIG_SETTING_PREFER_TEAMCHAT :Activar chat de equipo con <ENTER>: {STRING}
STR_CONFIG_SETTING_PREFER_TEAMCHAT_HELPTEXT :Cambiar el acceso al chat interno de la empresa y al chat público entre <ENTER> y <Ctrl+ENTER>
STR_CONFIG_SETTING_PREFER_TEAMCHAT :Activar chat de equipo con la tecla Intro: {STRING}
STR_CONFIG_SETTING_PREFER_TEAMCHAT_HELPTEXT :Cambiar el acceso al chat interno de la empresa y al chat público entre Intro y Ctrl+Intro
STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER :Velocidad de la rueda del ratón sobre el mapa: {STRING}
STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER_HELPTEXT :Controlar la sensibilidad de la rueda del ratón
@ -1602,7 +1607,7 @@ STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :corto (31-12-20
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31)
STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Pausar la partida automáticamente al comenzar: {STRING}
STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Al activarse, el juego se detendrá automáticamente al comenzar nuevas partidas para permitir revisar el mapa
STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Al activarse, en cada inicio de partida el juego se detendrá automáticamente, para permitir la inspección del mapa
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Al pausar, permitir: {STRING}
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_HELPTEXT :Acciones se pueden realizar mientras el juego está en pausa.
@ -1691,7 +1696,7 @@ STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT :Activar esta op
STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES :Desactivar autotransportes para la computadora: {STRING}
STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES_HELPTEXT :Activar esta opción deshabilita la construcción de autotransportes por jugadores no humanos
STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT :Desactivar aeroplanos para la computadora: {STRING}
STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT :Desactivar aeronaves para la computadora: {STRING}
STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT_HELPTEXT :Activar esta opción deshabilita la construcción de aeronaves por jugadores no humanos
STR_CONFIG_SETTING_AI_BUILDS_SHIPS :Desactivar barcos para la computadora: {STRING}
@ -1705,7 +1710,7 @@ STR_CONFIG_SETTING_AI_PROFILE_MEDIUM :Intermedio
STR_CONFIG_SETTING_AI_PROFILE_HARD :Difícil
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Permitir jugadores no humanos en modo multijugador: {STRING}
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Permitir a los jugadores controlados por la computadora participar en partidas de varios jugadores
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Los jugadores controlados por la computadora podrán participar en partidas de varios jugadores
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes disponibles antes de que los scripts sean suspendidos: {STRING}
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Número máximo de operaciones que un script puede realizar por turno
@ -1714,7 +1719,7 @@ STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Cantidad de mem
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB
STR_CONFIG_SETTING_SERVINT_ISPERCENT :Intervalo de mantenimiento en porcentajes: {STRING}
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Escoger si el mantenimiento de vehículos comenzará debido al tiempo pasado desde el último mantenimiento o por una reducción de la fiabilidad menor de un porcentaje determinado
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Elegir si el mantenimiento de vehículos se da por días o por fiabilidad menor a un porcentaje específico
STR_CONFIG_SETTING_SERVINT_TRAINS :Intervalo de mantenimiento por defecto para trenes: {STRING}
STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Intervalo de mantenimiento por defecto para nuevos trenes, en caso de no definirse otro explícitamente
@ -1724,7 +1729,7 @@ STR_CONFIG_SETTING_SERVINT_AIRCRAFT :Intervalo de ma
STR_CONFIG_SETTING_SERVINT_AIRCRAFT_HELPTEXT :Intervalo de mantenimiento por defecto para nuevas aeronaves, en caso de no definirse otro explícitamente
STR_CONFIG_SETTING_SERVINT_SHIPS :Intervalo de mantenimiento por defecto para barcos: {STRING}
STR_CONFIG_SETTING_SERVINT_SHIPS_HELPTEXT :Intervalo de mantenimiento por defecto para nuevos barcos, en caso de no definirse otro explícitamente
STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}día{P 0 "" s}/%
STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}día{P 0 "" s} o %
###setting-zero-is-special
STR_CONFIG_SETTING_SERVINT_DISABLED :Deshabilitado
@ -1790,11 +1795,11 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_SUMMARY :Resumen
STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Completo
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Noticias a color aparecen en el año: {STRING}
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Año en el que los periódicos comenzarán a imprimirse a color. Antes de ese año, apacerán en blanco y negro
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Año en el que los periódicos se imprimirán a color. Antes de ese año, saldrán en blanco y negro
STR_CONFIG_SETTING_STARTING_YEAR :Fecha de inicio: {STRING}
STR_CONFIG_SETTING_ENDING_YEAR :Año de fin de juego: {STRING}
STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Año en el que se termina el juego para registrar la puntuación de la empresa y mostrar la tabla de puntuaciones, aunque el jugador puede continuar el juego.{}Cualquier fecha anterior al año de incio hará que la tabla de puntuaciones nunca se muestre.
STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Año en el que se termina el juego para registrar la puntuación de la empresa y mostrar la tabla de puntuaciones, aunque el jugador puede continuar el juego.{}Cualquier fecha anterior al año de inicio hará que la tabla de puntuaciones nunca se muestre.
STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM}
###setting-zero-is-special
STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Nunca
@ -1806,11 +1811,11 @@ STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :Original
STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Estable
STR_CONFIG_SETTING_ECONOMY_TYPE_FROZEN :Rígida
STR_CONFIG_SETTING_ALLOW_SHARES :Permitir comprar acciones de otras empresas: {STRING}
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Al activarse, se pueden comprar y vender acciones de otras empresas. Las acciones de una empresa solamente estarán disponibles cuando la empresa cumpla una edad determinada
STR_CONFIG_SETTING_ALLOW_SHARES :Permitir compra de acciones de otras empresas: {STRING}
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Al activarse, se pueden comprar y vender las acciones de otras empresas, aunque solo estarán disponibles a partir de una edad determinada de las empresas
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES :Edad mínima de la empresa para intercambiar acciones: {STRING}
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES_HELPTEXT :Estabelcer la edad mínima que debe tener una empresa para que otros puedan comprarle y venderle acciones.
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES_HELPTEXT :Establecer la edad mínima que debe tener una empresa para que otros puedan comprarle y venderle acciones.
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Porcentaje de la utilidad total a pagar por transferencias de carga: {STRING}
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Porcentaje de utilidad cedida a los transportes intermedios en sistemas de transferencia de carga, dando un mayor control sobre la utilidad de cada vehículo
@ -1822,7 +1827,7 @@ STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE :Al arrastrar, m
STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Forma en que se colocan las señales con Ctrl+Arrastrar. Al desactivarse, se colocan señales cerca de túneles y puentes para evitar tramos largos sin señales. Al activarse, se colocan señales cada tanto de casillas, con lo que alinear señales en vías paralelas es más fácil
STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Señales mecánicas por defecto antes de: {STRING}
STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Año a partir del cual se usarán señales eléctricas. Antes de ese año se usarán señales mecánicas, las cuales funcionan igual pero tienen distinto aspecto
STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Año a partir del cual se usarán señales eléctricas. Antes de ese año se usarán señales mecánicas, las cuales funcionan igual, pero tienen distinto aspecto
STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :Cambiar entre tipos de señales: {STRING}
STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Elegir la alternación entre señales al usar Ctrl+Clic con la herramienta de señales
@ -1848,10 +1853,10 @@ STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :Aleatorio
STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :Permitir a las localidades construir carreteras: {STRING}
STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Los ayuntamientos construyen carreteras para que las localidades se expandan. Desactivar para impedirlo
STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Permitir a las localidades construir pasos a nivel: {STRING}
STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Activar esta opción permite a las localidades construir pasos a nivel
STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Permite a las localidades construir pasos a nivel
STR_CONFIG_SETTING_NOISE_LEVEL :Permitir el ruido de aeropuertos controlado por localidades: {STRING}
STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Al desactivarse, puede haber hasta dos aeropuertos por localidad. Al activarse, el número de aeropuertos por localidad depende de su nivel de ruido permitido, el cual depende de la población, el tamaño de cada aeropuerto y la distancia
STR_CONFIG_SETTING_NOISE_LEVEL :Permitir que localidades controlen ruido de aeropuertos: {STRING}
STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Al desactivarse, solo podrá haber dos aeropuertos por localidad. Al activarse, el número de aeropuertos por localidad se limitará por su nivel de ruido permitido, el cual dependerá de la población, el tamaño del aeropuerto y la distancia
STR_CONFIG_SETTING_TOWN_FOUNDING :Fundar localidades: {STRING}
STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Activar esta opción permite a los jugadores funda nuevas localidades durante la partida
@ -1869,8 +1874,8 @@ STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Lineal
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT :Crecimiento de árboles durante la partida: {STRING}
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Controlar la aparición aleatoria de árboles durante la partida. Esto puede afectar industrias que dependen del crecimiento de árboles, como los aserraderos
###length 4
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NO_SPREAD :Crecer pero no expandir {RED}(rompe el aserradero)
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_SPREAD_RAINFOREST :Crecer pero solo expandir en bosques
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NO_SPREAD :Crecer, pero no expandir {RED}(rompe el aserradero)
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_SPREAD_RAINFOREST :Crecer, pero solo expandir en bosques
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_SPREAD_ALL :Crecer y expandir por todos lados
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NO_GROWTH_NO_SPREAD :No crecer ni expandir {RED}(rompe el aserradero)
@ -1965,7 +1970,7 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_GAMEUNITS :Unidades del ju
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Unidades de potencia de vehículos: {STRING}
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_HELPTEXT :Cada vez que se muestre la potencia de un vehículo en la interfaz de usuario, se emplearán las unidades elegidas
###length 3
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_IMPERIAL :Imperial (cv)
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_IMPERIAL :Imperial (hp)
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :Métrico (cv)
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_SI :SI (kW)
@ -1997,7 +2002,7 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Imperial (pies)
STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Métrico (m)
STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m)
STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Localización
STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Adaptación local
STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Gráficos
STR_CONFIG_SETTING_SOUND :{ORANGE}Sonido
STR_CONFIG_SETTING_INTERFACE :{ORANGE}Interfaz
@ -2010,7 +2015,7 @@ STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Contabi
STR_CONFIG_SETTING_VEHICLES :{ORANGE}Vehículos
STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Leyes físicas
STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Enrutamiento
STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Limitaciones
STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Restricciones
STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Desastres y accidentes
STR_CONFIG_SETTING_GENWORLD :{ORANGE}Generación de mapa
STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Entorno
@ -2075,6 +2080,8 @@ STR_INTRO_HIGHSCORE :{BLACK}Tabla de
STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Configuración
STR_INTRO_NEWGRF_SETTINGS :{BLACK}Config. NewGRF
STR_INTRO_ONLINE_CONTENT :{BLACK}Contenido en línea
STR_INTRO_AI_SETTINGS :{BLACK}Configuración de IA
STR_INTRO_GAMESCRIPT_SETTINGS :{BLACK}Scripts de juego
STR_INTRO_QUIT :{BLACK}Salir
STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Comenzar una nueva partida. Ctrl+Clic omite la configuración del mapa
@ -2094,10 +2101,12 @@ STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Mostrar
STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Mostrar configuración
STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Mostrar configuración de NewGRF
STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Revisar si hay nuevos contenidos actualizados para descargar
STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Mostrar configuración de IA
STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Mostrar configuración de scripts de juego
STR_INTRO_TOOLTIP_QUIT :{BLACK}Salir de 'OpenTTD'
STR_INTRO_BASESET :{BLACK}A los gráficos base elegidos les hace falta {NUM} spirte{P "" s}. Necesitan actualizarse.
STR_INTRO_TRANSLATION :{BLACK}Este idioma tiene {NUM} cadena{P "" s} de texto sin traducir todavía. Ayudar a mejorar OpenTTD siriviendo como traductor. Consulta el archivo readme.txt para más detalles.
STR_INTRO_TRANSLATION :{BLACK}Este idioma tiene {NUM} cadena{P "" s} de texto sin traducir todavía. Ayudar a mejorar OpenTTD registrándote como traductor. Consulta el archivo readme.txt para más detalles.
# Quit window
STR_QUIT_CAPTION :{WHITE}Salir
@ -2123,7 +2132,7 @@ STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Cambiar
STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Cambiar la elevación máxima de las montañas en el mapa
STR_CHEAT_CHANGE_DATE :{LTBLUE}Cambiar fecha: {ORANGE} {DATE_SHORT}
STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Cambiar año actual
STR_CHEAT_SETUP_PROD :{LTBLUE}Permitir cambiar los valores de producción: {ORANGE}{STRING}
STR_CHEAT_SETUP_PROD :{LTBLUE}Permitir cambio de valores de producción: {ORANGE}{STRING}
# Livery window
STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Cromática
@ -2372,7 +2381,7 @@ STR_NETWORK_CLIENT_LIST_ADMIN_CLIENT_BAN :Bloquear acceso
STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_RESET :Eliminar
STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_UNLOCK :Restablecer contraseña
STR_NETWORK_CLIENT_LIST_ASK_CAPTION :{WHITE}Acción de aministrador
STR_NETWORK_CLIENT_LIST_ASK_CAPTION :{WHITE}Acción de administrador
STR_NETWORK_CLIENT_LIST_ASK_CLIENT_KICK :{YELLOW}¿Sacar al jugador "{STRING}"?
STR_NETWORK_CLIENT_LIST_ASK_CLIENT_BAN :{YELLOW}¿Bloquear acceso al jugador "{STRING}"?
STR_NETWORK_CLIENT_LIST_ASK_COMPANY_RESET :{YELLOW}¿Eliminar la empresa "{COMPANY}"?
@ -2571,7 +2580,7 @@ STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_FILE_NOT_WRITABLE :{WHITE}... no s
STR_CONTENT_ERROR_COULD_NOT_EXTRACT :{WHITE}No ha sido posible descomprimir el archivo descargado
STR_MISSING_GRAPHICS_SET_CAPTION :{WHITE}Gráficos no encontrados
STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD requiere gráficos para funcionar pero no se pudo encontrar ninguno. ¿Permitir que OpenTTD descargue e instale dichos gráficos?
STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD requiere gráficos para funcionar pero no se encontró ninguno. ¿Permitir que se descarguen e instalen automáticamente?
STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Sí, descargar los gráficos
STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}No, salir de OpenTTD
@ -2720,7 +2729,7 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Construi
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Construir sección de tranvía. Ctrl quita los carriles de tranvía. Mayús muestra un costo estimado
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Construir carretera con orientación automática. Ctrl quita carreteras. Mayús muestra un costo estimado
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Construir tranvías con orientación automática. Ctrl quita los carriles de tranvía. Mayús muestra un costo estimado
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Construir depósito de carretera (para comprar y dar mantenimiento a vehículos). Mayús muestra un costo estimado
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Construir depósito de autotransportes (para comprar y dar mantenimiento a vehículos). Mayús muestra un costo estimado
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Construir depósito de tranvías (para comprar y dar mantenimiento a tranvías). Mayús muestra un costo estimado
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Construir parada de autobús. Ctrl activa la ampliación de estaciones. Mayús muestra un costo estimado
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Construir estación de tranvía de pasajeros. Ctrl activa la ampliación de estaciones. Mayús muestra un costo estimado
@ -2913,7 +2922,7 @@ STR_INDUSTRY_CARGOES_SELECT_INDUSTRY_TOOLTIP :{BLACK}Elegir l
# Land area window
STR_LAND_AREA_INFORMATION_CAPTION :{WHITE}Información sobre área de terreno
STR_LAND_AREA_INFORMATION_LOCATION_TOOLTIP :{BLACK}Centrar la vista en la casilla.Ctrl+Clic abre una vista aparte
STR_LAND_AREA_INFORMATION_LOCATION_TOOLTIP :{BLACK}Centrar la vista en la casilla. Ctrl+Clic abre una vista aparte
STR_LAND_AREA_INFORMATION_COST_TO_CLEAR_N_A :{BLACK}Costo por despejar: {LTBLUE}N/D
STR_LAND_AREA_INFORMATION_COST_TO_CLEAR :{BLACK}Costo por despejar: {RED}{CURRENCY_LONG}
STR_LAND_AREA_INFORMATION_REVENUE_WHEN_CLEARED :{BLACK}Ingreso por despejar: {LTBLUE}{CURRENCY_LONG}
@ -3086,7 +3095,7 @@ STR_FRAMETIME_CAPTION_GL_ROADVEHS :Ticks de autotr
STR_FRAMETIME_CAPTION_GL_SHIPS :Ticks de barcos
STR_FRAMETIME_CAPTION_GL_AIRCRAFT :Ticks de areonaves
STR_FRAMETIME_CAPTION_GL_LANDSCAPE :Ticks de mapa
STR_FRAMETIME_CAPTION_GL_LINKGRAPH :Retraro en gráfica de distribución
STR_FRAMETIME_CAPTION_GL_LINKGRAPH :Retraso en gráfica de distribución
STR_FRAMETIME_CAPTION_DRAWING :Presentación de gráficos
STR_FRAMETIME_CAPTION_DRAWING_VIEWPORTS :Presentación de ventanas de vista generales
STR_FRAMETIME_CAPTION_VIDEO :Salida de video
@ -3157,6 +3166,12 @@ STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Ríos:
STR_MAPGEN_SMOOTHNESS :{BLACK}Suavidad:
STR_MAPGEN_VARIETY :{BLACK}Variedad:
STR_MAPGEN_GENERATE :{WHITE}Generar
STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}Configuración de NewGRF
STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Mostrar configuración de NewGRF
STR_MAPGEN_AI_SETTINGS :{BLACK}Configuración de IA
STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}Mostrar configuración de IA
STR_MAPGEN_GS_SETTINGS :{BLACK}Configuración de scripts de juego
STR_MAPGEN_GS_SETTINGS_TOOLTIP :{BLACK}Mostrar configuración de scripts de juego
###length 21
STR_MAPGEN_TOWN_NAME_ORIGINAL_ENGLISH :Inglés
@ -3357,7 +3372,7 @@ STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Propiedad de Ac
STR_NEWGRF_ERROR_INVALID_ID :Intento de usar una ID no válida (sprite {3:NUM})
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} contiene un sprite con errores. Todos los sprites con errores se muestran como un símbolo de interrogación rojo (?)
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Contiene múltiples entradas de Acción 8 (sprite {3:NUM})
STR_NEWGRF_ERROR_READ_BOUNDS :La lectura excedió el límite de pseudo-sprite (sprite {3:NUM})
STR_NEWGRF_ERROR_READ_BOUNDS :La lectura excedió el límite de un pseudosprite (sprite {3:NUM})
STR_NEWGRF_ERROR_GRM_FAILED :Recursos GRF solicitados no disponibles (sprite {3:NUM})
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} fue desactivado por {STRING}
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Formato de colocación de sprites no válido o desconocido (sprite {3:NUM})
@ -3483,14 +3498,14 @@ STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Comprar los der
STR_LOCAL_AUTHORITY_ACTION_BRIBE :Sobornar al ayuntamiento
###length 8
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Iniciar una pequeña campaña publicitaria local para atraer más pasajeros y carga a tus servicios de transporte.{}Otorga un aumento temporal a la evaluación de estaciones en un radio pequeño alrededor del centro de la localidad.{}Costo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Iniciar una campaña publicitaria local mediana para atraer más pasajeros y carga a tus servicios de transporte.{}Otorga un aumento temporal a la evaluación de estaciones en un radio mediano alrededor del centro de la localidad.{}Costo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Iniciar una gran campaña publicitaria local para atraer más pasajeros y carga a tus servicios de transporte.{}Otorga un aumento temporal a la evaluación de estaciones en un radio grande alrededor del centro de la localidad.{}Costo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Pagar la reconstrucción de las carreteras locales.{}Provoca considerables complicaciones al tráfico hasta por 6 meses.{}Costo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Construir una estatua en honor a tu empresa.{}Otorga un aumento permanente a la evaluación estaciones en esta localidad.{}Costo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Pagar la construcción de nuevos edificios comerciales en la localidad.{}Otorga un aumento temporal a su crecimiento.{}Costo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Comprar los derechos exclusivos de transporte en esta localidad por un año.{}El ayuntamiento solo permitirá el uso de estaciones que sean de tu empresa.{}Costo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Sobornar al ayuntamiento para aumentar mejorar tu evaluación, con el riesgo de una severa penalización si llegas a ser descubierto.{}Costo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar una pequeña campaña publicitaria local para atraer más pasajeros y carga a tus servicios de transporte.{}Otorga un aumento temporal a la evaluación de estaciones en un radio pequeño alrededor del centro de la localidad.{}{POP_COLOUR}Costo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar una campaña publicitaria local mediana para atraer más pasajeros y carga a tus servicios de transporte.{}Otorga un aumento temporal a la evaluación de estaciones en un radio mediano alrededor del centro de la localidad.{}{POP_COLOUR}Costo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar una gran campaña publicitaria local para atraer más pasajeros y carga a tus servicios de transporte.{}Otorga un aumento temporal a la evaluación de estaciones en un radio grande alrededor del centro de la localidad.{}{POP_COLOUR}Costo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{PUSH_COLOUR}{YELLOW}Pagar la reconstrucción de las carreteras locales.{}Provoca considerables complicaciones al tráfico hasta por 6 meses.{}{POP_COLOUR}Costo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Construir una estatua en honor a tu empresa.{}Otorga un aumento permanente a la evaluación estaciones en esta localidad.{}Costo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}Pagar la construcción de nuevos edificios comerciales en la localidad.{}Otorga un aumento temporal a su crecimiento.{}{POP_COLOUR}Costo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{PUSH_COLOUR}{YELLOW}Comprar los derechos exclusivos de transporte en esta localidad por un año.{}El ayuntamiento solo permitirá el uso de estaciones que sean de tu empresa.{}{POP_COLOUR}Costo: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}Sobornar al ayuntamiento para aumentar mejorar tu evaluación, con el riesgo de una severa penalización si llegas a ser descubierto.{}{POP_COLOUR}Costo: {CURRENCY_LONG}
# Goal window
STR_GOALS_CAPTION :{WHITE}Metas de {COMPANY}
@ -3548,11 +3563,11 @@ STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Historia
STR_STORY_BOOK_SPECTATOR :Historial global
STR_STORY_BOOK_TITLE :{YELLOW}{STRING}
STR_STORY_BOOK_GENERIC_PAGE_ITEM :Página {NUM}
STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Permitir ir a una página específica al elegirla en esta lista desplegable
STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Pasar a una página específica al elegirla de esta lista
STR_STORY_BOOK_PREV_PAGE :{BLACK}Anterior
STR_STORY_BOOK_PREV_PAGE_TOOLTIP :{BLACK}Ir a la página anterior
STR_STORY_BOOK_NEXT_PAGE :{BLACK}Siguiente
STR_STORY_BOOK_NEXT_PAGE_TOOLTIP :{BLACK}Ir a la siguiente página
STR_STORY_BOOK_NEXT_PAGE_TOOLTIP :{BLACK}Ir a la página siguiente
STR_STORY_BOOK_INVALID_GOAL_REF :{RED}Referencia a objetivos no válida
# Station list window
@ -3627,7 +3642,7 @@ STR_STATION_VIEW_SCHEDULED_SHIPS_TOOLTIP :{BLACK}Mostrar
STR_STATION_VIEW_RENAME_STATION_CAPTION :Cambiar nombre de estación
STR_STATION_VIEW_CLOSE_AIRPORT :{BLACK}Cerrar aeropuerto
STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}No permitir que aterricen aviones en este aeropuerto
STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Evita el aterrizaje de aeronaves en este aeropuerto
# Waypoint/buoy view window
STR_WAYPOINT_VIEW_CAPTION :{WHITE}{WAYPOINT}
@ -3663,16 +3678,18 @@ STR_FINANCES_SECTION_SHIP_REVENUE :{GOLD}Barcos
STR_FINANCES_SECTION_LOAN_INTEREST :{GOLD}T. de interés del préstamo
STR_FINANCES_SECTION_OTHER :{GOLD}Otros
STR_FINANCES_TOTAL_CAPTION :{WHITE}Total
STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG}
STR_FINANCES_ZERO_INCOME :{CURRENCY_LONG}
STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG}
STR_FINANCES_NET_PROFIT :{WHITE}Utilidad neta
STR_FINANCES_PROFIT :{WHITE}Ganancias
STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Saldo en banco
STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}Fondos propios
STR_FINANCES_LOAN_TITLE :{WHITE}Préstamo
STR_FINANCES_INTEREST_RATE :{WHITE}T. de interés del préstamo: {BLACK}{NUM}%
STR_FINANCES_MAX_LOAN :{WHITE}Préstamo máximo: {BLACK}{CURRENCY_LONG}
STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG}
STR_FINANCES_BANK_BALANCE :{WHITE}{CURRENCY_LONG}
STR_FINANCES_BORROW_BUTTON :{BLACK}Pedir préstamo de {CURRENCY_LONG}
STR_FINANCES_BORROW_TOOLTIP :{BLACK}Incrementar préstamo. Ctrl+Clic solicita todo el préstamo posible
STR_FINANCES_REPAY_BUTTON :{BLACK}Abonar {CURRENCY_LONG} del préstamo
@ -3687,7 +3704,7 @@ STR_COMPANY_VIEW_INAUGURATED_TITLE :{GOLD}Inaugurac
STR_COMPANY_VIEW_COLOUR_SCHEME_TITLE :{GOLD}Cromática:
STR_COMPANY_VIEW_VEHICLES_TITLE :{GOLD}Vehículos:
STR_COMPANY_VIEW_TRAINS :{WHITE}{COMMA} tren{P "" es}
STR_COMPANY_VIEW_ROAD_VEHICLES :{WHITE}{COMMA} vehículo{P "" s} de carretera
STR_COMPANY_VIEW_ROAD_VEHICLES :{WHITE}{COMMA} autotransporte{P "" s}
STR_COMPANY_VIEW_AIRCRAFT :{WHITE}{COMMA} aeronave{P "" s}
STR_COMPANY_VIEW_SHIPS :{WHITE}{COMMA} barco{P "" s}
STR_COMPANY_VIEW_VEHICLES_NONE :{WHITE}Ninguno
@ -3756,7 +3773,7 @@ STR_INDUSTRY_DIRECTORY_ITEM_PROD3 :{ORANGE}{INDUST
STR_INDUSTRY_DIRECTORY_ITEM_PRODMORE :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING} y {NUM} más...
STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Nombres de industrias. Clic para centrar la vista en la industria. Ctrl+Clic abre una vista aparte
STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Carga aceptada: {SILVER}{STRING}
STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Cargemento producido: {SILVER}{STRING}
STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Carga producida: {SILVER}{STRING}
STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Todos los tipos
STR_INDUSTRY_DIRECTORY_FILTER_NONE :Ninguno
@ -3782,7 +3799,7 @@ STR_CONFIG_GAME_PRODUCTION_LEVEL :{WHITE}Cambiar
# Vehicle lists
###length VEHICLE_TYPES
STR_VEHICLE_LIST_TRAIN_CAPTION :{WHITE}{STRING}: {COMMA} tren{P "" es}
STR_VEHICLE_LIST_ROAD_VEHICLE_CAPTION :{WHITE}{STRING}: {COMMA} vehículo{P "" s} de carretera
STR_VEHICLE_LIST_ROAD_VEHICLE_CAPTION :{WHITE}{STRING}: {COMMA} autotransporte{P "" s}
STR_VEHICLE_LIST_SHIP_CAPTION :{WHITE}{STRING}: {COMMA} barco{P "" s}
STR_VEHICLE_LIST_AIRCRAFT_CAPTION :{WHITE}{STRING}: {COMMA} aeronave{P "" s}
@ -3904,7 +3921,7 @@ STR_CARGO_TYPE_FILTER_NONE :Ninguno
STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Lista de selección trenes. Clic en un tren para más información. Ctrl+Clic para mostrar u ocultar el tipo de tren
STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Lista de selección de autotransportes. Clic en un vehículo para más información. Ctrl+Clic para mostrar u ocultar el tipo del vehículo
STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Lista de selección de barcos. Clic en un barco para más información. Ctrl+Clic para mostrar u ocultar el tipo de barco
STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Lista de selección de aeronaves. Clic en un aeronave para más información. Ctrl+Clic para mostrar u ocultar el tipo de aeronave
STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Lista de selección de aeronaves. Clic en una aeronave para más información. Ctrl+Clic para mostrar u ocultar el tipo de aeronave
###length VEHICLE_TYPES
STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Comprar
@ -3928,7 +3945,7 @@ STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Comprar
STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Comprar y reformar el tren elegido. Mayús+Clic muestra un precio estimado de compra
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Comprar y reformar el autotransporte elegido. Mayús+Clic muestra un precio estimado de compra
STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Comprar y reformar el barco elegido. Mayús+Clic muestra un precio estimado de compra
STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Comprar y reformar la areonave seleccionada. Mayús+Clic muestra un costo estimado de compra
STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Comprar y reformar la aeronave seleccionada. Mayús+Clic muestra un costo estimado de compra
###length VEHICLE_TYPES
STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Cambiar nombre
@ -3975,7 +3992,7 @@ STR_DEPOT_RENAME_DEPOT_CAPTION :Cambiar nombre
STR_DEPOT_NO_ENGINE :{BLACK}-
STR_DEPOT_VEHICLE_TOOLTIP :{BLACK}{ENGINE}{STRING}
STR_DEPOT_VEHICLE_TOOLTIP_CHAIN :{BLACK}{NUM} vehículo{P "" s}{STRING}
STR_DEPOT_VEHICLE_TOOLTIP_CARGO :{}{CARGO_LONG} ({CARGO_SHORT})
STR_DEPOT_VEHICLE_TOOLTIP_CARGO :{}{CARGO_LONG} (capacidad: {CARGO_SHORT})
###length VEHICLE_TYPES
STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Trenes: arrastrar vehículos de ferrocarril con Clic izquierdo para añadirlos o quitarlos del tren. Clic derecho para más información. Mantener pulsado Ctrl para usar estos comandos con el resto del tren
@ -4109,8 +4126,8 @@ STR_REPLACE_ALL_RAILTYPE :Todos los vehí
STR_REPLACE_ALL_ROADTYPE :Todos los autotransportes
###length 2
STR_REPLACE_HELP_RAILTYPE :{BLACK}Elegir el tipo de vías férreas para las que se desea reemplazar locomotoras
STR_REPLACE_HELP_ROADTYPE :{BLACK}Elegir el tipo de carretera para el que se desea reemplazar locomotoras
STR_REPLACE_HELP_RAILTYPE :{BLACK}Elegir el tipo de vías férreas según el vehículo ferroviario a reemplazar
STR_REPLACE_HELP_ROADTYPE :{BLACK}Elegir el tipo de carretera según el autotransporte a reemplazar
###next-name-looks-similar
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Mostrar el vehículo que reemplazará al otro de la izquierda
@ -4122,7 +4139,7 @@ STR_REPLACE_MAGLEV_VEHICLES :Trenes maglev
STR_REPLACE_ROAD_VEHICLES :Autotransportes
STR_REPLACE_TRAM_VEHICLES :Vehículos de tranvía
STR_REPLACE_REMOVE_WAGON :{BLACK}Quitar vagó ({STRING}): {ORANGE}{STRING}
STR_REPLACE_REMOVE_WAGON :{BLACK}Quitar vagones ({STRING}): {ORANGE}{STRING}
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Hacer que el reemplazo automático mantenga la longitud del tren quitando vagones (empezando por el frente), si el cambio de locomotora produce un tren más largo
STR_REPLACE_REMOVE_WAGON_GROUP_HELP :{STRING}. Ctrl+Clic para incluir subgrupos
@ -4227,6 +4244,7 @@ STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Peso: {L
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potencia: {LTBLUE}{POWER}{BLACK} Velocidad máx.: {LTBLUE}{VELOCITY} {BLACK}F.T. máx.: {LTBLUE}{FORCE}
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Ganancias este año: {LTBLUE}{CURRENCY_LONG} (último año: {CURRENCY_LONG})
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Ganancias este año: {LTBLUE}{CURRENCY_LONG} (último año: {CURRENCY_LONG}) {BLACK}Mín. rendimiento: {LTBLUE}{POWER_TO_WEIGHT}
STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Fiabilidad: {LTBLUE}{COMMA}% {BLACK}Averías desde el último mantenimiento: {LTBLUE}{COMMA}
STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Construido: {LTBLUE}{NUM}{BLACK} Valor: {LTBLUE}{CURRENCY_LONG}
@ -4361,7 +4379,7 @@ STR_ORDER_CONDITIONAL_AGE :Edad (años)
STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Requiere mantenimiento
STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Siempre
STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Vida útil restante (años)
STR_ORDER_CONDITIONAL_MAX_RELIABILITY :Fabilidad máxima
STR_ORDER_CONDITIONAL_MAX_RELIABILITY :Fiabilidad máxima
###next-name-looks-similar
STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Comparación de los datos del vehículo respecto al valor dado
@ -4560,6 +4578,8 @@ STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Uno de l
STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}La ventana de depuración de scripts solo está disponible para el servidor
# AI configuration window
STR_AI_CONFIG_CAPTION_AI :{WHITE}Configuración de IA
STR_AI_CONFIG_CAPTION_GAMESCRIPT :Configuración de scripts de juego
STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}Script de juego que será cargado en la próxima partida
STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}Scripts de IA que serán cargados la próxima partida
STR_AI_CONFIG_HUMAN_PLAYER :Jugador humano
@ -4573,10 +4593,11 @@ STR_AI_CONFIG_MOVE_DOWN :{BLACK}Mover ha
STR_AI_CONFIG_MOVE_DOWN_TOOLTIP :{BLACK}Mover la IA elegida una posición hacia abajo
STR_AI_CONFIG_GAMESCRIPT :{SILVER}Script de juego
STR_AI_CONFIG_GAMESCRIPT_PARAM :{SILVER}Parámetros
STR_AI_CONFIG_AI :{SILVER}IA
STR_AI_CONFIG_CHANGE_AI :IA
STR_AI_CONFIG_CHANGE_GAMESCRIPT :Script de juego
STR_AI_CONFIG_CHANGE_AI :{BLACK}Elegir IA
STR_AI_CONFIG_CHANGE_GAMESCRIPT :{BLACK}Elegir script de juego
STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Cargar otro script
STR_AI_CONFIG_CONFIGURE :{BLACK}Configurar
STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Configurar los parámetros del script
@ -4605,7 +4626,7 @@ STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Mapa de
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Captura de minimapa
# AI Parameters
STR_AI_SETTINGS_CAPTION_AI :IA
STR_AI_SETTINGS_CAPTION_AI :{WHITE}Parámetros de IA
STR_AI_SETTINGS_CLOSE :{BLACK}Cerrar
STR_AI_SETTINGS_RESET :{BLACK}Reiniciar
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
@ -4926,7 +4947,7 @@ STR_ERROR_CAN_T_PLANT_TREE_HERE :{WHITE}No se pu
STR_ERROR_CAN_T_BUILD_BRIDGE_HERE :{WHITE}No se puede construir puente aquí...
STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Primero se debe demoler el puente
STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}No se puede comenzar y acabar en la misma posición
STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Las estribos del puente no están al mismo nivel
STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Los estribos del puente no están al mismo nivel
STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}El puente es demasiado bajo para este terreno
STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}El puente es demasiado alto para este terreno
STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Principio y final deben estar alineados
@ -4998,7 +5019,7 @@ STR_ERROR_CAN_T_STOP_START_AIRCRAFT :{WHITE}No se pu
STR_ERROR_CAN_T_SEND_TRAIN_TO_DEPOT :{WHITE}No se puede enviar el tren al depósito...
STR_ERROR_CAN_T_SEND_ROAD_VEHICLE_TO_DEPOT :{WHITE}No se puede enviar el vehículo al depósito...
STR_ERROR_CAN_T_SEND_SHIP_TO_DEPOT :{WHITE}No se puede enviar el barco a astillero...
STR_ERROR_CAN_T_SEND_AIRCRAFT_TO_HANGAR :{WHITE}No se puede enviar el aeronave al hangar
STR_ERROR_CAN_T_SEND_AIRCRAFT_TO_HANGAR :{WHITE}No se puede enviar la aeronave al hangar
###length VEHICLE_TYPES
STR_ERROR_CAN_T_BUY_TRAIN :{WHITE}No se puede comprar tren...
@ -5023,6 +5044,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}No se pu
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... el vehículo está destruido
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}No habrá vehículos disponibles
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Se debe modificar la configuración de NewGRF
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Todavía no hay vehículos disponibles
@ -5107,7 +5129,7 @@ STR_TOWN_BUILDING_NAME_MODERN_OFFICE_BUILDING_1 :Edificio de ofi
STR_TOWN_BUILDING_NAME_WAREHOUSE_1 :Almacén
STR_TOWN_BUILDING_NAME_OFFICE_BLOCK_3 :Edificio de oficinas
STR_TOWN_BUILDING_NAME_STADIUM_1 :Estadio
STR_TOWN_BUILDING_NAME_OLD_HOUSES_1 :Casas antiguass
STR_TOWN_BUILDING_NAME_OLD_HOUSES_1 :Casas antiguas
STR_TOWN_BUILDING_NAME_COTTAGES_1 :Casas rurales
STR_TOWN_BUILDING_NAME_HOUSES_1 :Casas
STR_TOWN_BUILDING_NAME_FLATS_1 :Departamentos

@ -1009,21 +1009,8 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Markera
STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Nuvarande drivrutin: {STRING}
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Gränssnittstorlek
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Välj vilken gränssnittsstorlek som ska användas
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(Upptäck automatiskt)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dubbel storlek
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Fyrdubbel storlek
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Storlek på typsnitt
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Välj vilken storlek som ska användas på gränssnittets typsnitt
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(Upptäck automatiskt)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Dubbel storlek
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Kvadrupel storlek
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Grafik
@ -3655,7 +3642,6 @@ STR_FINANCES_SECTION_OTHER :{GOLD}Övrigt
STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG}
STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG}
STR_FINANCES_NET_PROFIT :{WHITE}Nettoförtjänst
STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Banksaldo
STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}Egna medel
STR_FINANCES_LOAN_TITLE :{WHITE}Lån
@ -5008,6 +4994,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Kan inte
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... fordonet är förstört
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Inga fordon alls kommer att vara tillgängliga
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Ändra din konfiguration av NewGRF:er
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Inga fordon är tillgängliga än

@ -972,19 +972,8 @@ STR_GAME_OPTIONS_RESOLUTION_ITEM :{NUM}x{NUM}
STR_GAME_OPTIONS_VIDEO_VSYNC :{BLACK}VSync
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}இடைமுக அளவு
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}பயன்படுத்த இடைமுக உறுப்பு அளவை தேர்ந்தெடுக்கவும்
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(தானாக கண்டறி)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :சராசரி
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :இரண்டு மடங்கு
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :நான்கு மடங்கு
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}எழுத்துரு அளவு
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :இயல்பான
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :இரண்டு மடங்கு
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :நான்கு மடங்கு
STR_GAME_OPTIONS_REFRESH_RATE_ITEM :{NUM}Hz
@ -4528,6 +4517,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}சர
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... வாகனம் அழிக்கப்பட்டுள்ளது
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}எந்த வாகனங்களும் தற்போது கிடையாது
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}தங்களது NewGRF அமைப்பினை மாற்றவும்
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}தற்போது எந்த வாகனங்களும் கிடையாது

@ -976,15 +976,8 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :อื่นๆ
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}ขนาดของแผงควบคุม
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :ปกติ
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :คูณสี่
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}ขนาดตัวอักษร
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :ปกติ
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :ขนาดใหญ่คูณสอง
STR_GAME_OPTIONS_REFRESH_RATE :{BLACK}รีเฟรชเรทของหน้าจอ
@ -4700,6 +4693,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}ไม
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... ยานพาหนะถูกทำลาย
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}ไม่มียานพาหานะให้เลือก
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}เปลี่ยนการกำหนดค่าสำหรับ NewGRF
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}ยังไม่มียานพาหานะให้เลือก

@ -1008,21 +1008,8 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}勾選
STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}使用中的驅動程式: {STRING}
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}介面大小
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}選擇使用的介面元素大小
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(自動偵測)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :正常大小
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :兩倍大小
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :四倍大小
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}字體大小
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}選擇此字體大小
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(自動偵測)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :正常
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :兩倍大小
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :四倍大小
STR_GAME_OPTIONS_GRAPHICS :{BLACK}圖形
@ -3654,7 +3641,6 @@ STR_FINANCES_SECTION_OTHER :{GOLD}其他
STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG}
STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG}
STR_FINANCES_NET_PROFIT :{WHITE}淨收益
STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}銀行餘額
STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}自有資金
STR_FINANCES_LOAN_TITLE :{WHITE}貸款
@ -5007,6 +4993,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}不能
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... 車輛已被摧毀
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}沒有可用的車輛
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}請修改您的 NewGRF 設定
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}未有可用的車輛

@ -205,6 +205,15 @@ STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}bg
STR_UNITS_POWER_METRIC :{COMMA}{NBSP}bg
STR_UNITS_POWER_SI :{COMMA}{NBSP}kW
STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}bg/t
STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}bg/t
STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_SI :{DECIMAL}{NBSP}bg/Mg
STR_UNITS_POWER_METRIC_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}bg/t
STR_UNITS_POWER_METRIC_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}bg/t
STR_UNITS_POWER_METRIC_TO_WEIGHT_SI :{DECIMAL}{NBSP}hp/Mg
STR_UNITS_POWER_SI_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}kW/t
STR_UNITS_POWER_SI_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}kW/t
STR_UNITS_POWER_SI_TO_WEIGHT_SI :{DECIMAL}{NBSP}W/kg
STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t
STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t
@ -385,7 +394,7 @@ STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Yol yap
STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK} Tramvay yapımı
STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Ağaç dik. Shift ile tıklama maliyet tahminini gösterir
STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Tabela koy
STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Nesneyi yerleştirin. Shift ile tıklama maliyet tahminini gösterir
STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Nesneyi yerleştirin. Ctrl alanı çapraz olarak seçer. Shift inşa etme/değerini gösterme arasında geçiş yapar
# Scenario editor file menu
###length 7
@ -401,6 +410,8 @@ STR_SCENEDIT_FILE_MENU_QUIT :Oyundan Çık
###length 15
STR_SETTINGS_MENU_GAME_OPTIONS :Seçenekler
STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Ayarlar
STR_SETTINGS_MENU_AI_SETTINGS :YZ ayarları
STR_SETTINGS_MENU_GAMESCRIPT_SETTINGS :Oyun betiği ayarları
STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF ayarları
STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Şeffaflık seçenekleri
STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Şehir isimlerini göster
@ -1009,21 +1020,19 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Dikey se
STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Geçerli sürücü: {STRING}
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Arayüz boyutu
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Kullanmak üzere arayüz bileşen boyutunu seçin
STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}Arayüz büyüklüğü
STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Arayüz büyüklüğünü ayarlamak için kaydırın. Sürekli ayarlama için Ctrl tuşunu basılı tutun
STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}Büyüklüğü otomatik algıla
STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Arayüz boyutunu otomatik ayarlamak için bu kutucuğu işaretleyin
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(otomatik-tespit)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :İki kat büyük
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Dört kat büyük
STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Eğimi ayarla
STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Eğimi arayüz boyutuna göre ayarlamak için bu kutucuğu işaretleyin
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Yazı boyutu
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :Arayüz boyutunu seç
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(otomatik-tespit)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Yazı iki kat büyük
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Dört kat büyük
STR_GAME_OPTIONS_GUI_SCALE_1X :1x
STR_GAME_OPTIONS_GUI_SCALE_2X :2x
STR_GAME_OPTIONS_GUI_SCALE_3X :3x
STR_GAME_OPTIONS_GUI_SCALE_4X :4x
STR_GAME_OPTIONS_GUI_SCALE_5X :5x
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Grafikler
@ -2070,6 +2079,8 @@ STR_INTRO_HIGHSCORE :{BLACK}Puan Tab
STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Ayarlar
STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF Ayarları
STR_INTRO_ONLINE_CONTENT :{BLACK}Çevrimiçi İçeriği Kontrol Et
STR_INTRO_AI_SETTINGS :{BLACK}YZ Ayarları
STR_INTRO_GAMESCRIPT_SETTINGS :{BLACK}Oyun Betiği Ayarları
STR_INTRO_QUIT :{BLACK}Çıkış
STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Yeni oyuna başla. Ctrl+Tıklama harita ayarlamasını atlar.
@ -2089,6 +2100,8 @@ STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Puan tab
STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Görüntü ayarları
STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}NewGRF ayarlarını göster
STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}İndirilecek yeni ve güncellenmiş içeriği kontrol et
STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}YZ ayarlarını göster
STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Oyun betiği ayarlarını göster
STR_INTRO_TOOLTIP_QUIT :{BLACK}'OpenTTD' den çık
STR_INTRO_BASESET :{BLACK}Geçerli seçimdeki temel grafik setinin {NUM} örneği eksik. Lütfen temel setin güncellemelerini kontrol edin.
@ -2479,13 +2492,13 @@ STR_NETWORK_SERVER_MESSAGE_GAME_REASON_LINK_GRAPH :bağlantı graf
STR_NETWORK_MESSAGE_CLIENT_LEAVING :ayrılıyor
STR_NETWORK_MESSAGE_CLIENT_JOINED :*** {STRING} oyuna katıldı
STR_NETWORK_MESSAGE_CLIENT_JOINED_ID :*** {STRING} oyuna katıldı (İstemci #{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_COMPANY_JOIN :*** {STRING} #{2:NUM} numaralı şirkete katıldı
STR_NETWORK_MESSAGE_CLIENT_JOINED_ID :*** {0:STRING} oyuna katıldı (İstemci #{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_COMPANY_JOIN :*** {0:STRING} #{2:NUM} numaralı şirkete katıldı
STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} gözlemcilere katıldı
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_CLIENT_COMPANY_NEW :*** {0:STRING} yeni bir şirket kurdu (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {0:STRING} oyunu terketti ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} adını {STRING} olarak değiştirdi
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} {1:STRING} adlı şirkete {2:CURRENCY_LONG} verdi
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {0:STRING} {1:STRING} adlı şirkete {2:CURRENCY_LONG} verdi
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})
@ -2600,6 +2613,9 @@ STR_LINKGRAPH_LEGEND_SATURATED :{TINY_FONT}{BLA
STR_LINKGRAPH_LEGEND_OVERLOADED :{TINY_FONT}{BLACK}aşırı dolu
# Linkgraph tooltip
STR_LINKGRAPH_STATS_TOOLTIP :{BLACK}{CARGO_LONG} aylık nakledilecek {STATION} istasyonundan {STATION} istasyonuna ({COMMA}% kapasite ile){STRING}
STR_LINKGRAPH_STATS_TOOLTIP_RETURN_EXTENSION :{}{CARGO_LONG} geri nakledilecek ({COMMA}% kapasite ile)
STR_LINKGRAPH_STATS_TOOLTIP_TIME_EXTENSION :{}Ortalama seyahat süresi: {NUM}{NBSP}gün
# Base for station construction window(s)
STR_STATION_BUILD_COVERAGE_AREA_TITLE :{BLACK}Kapsama alanı
@ -2609,6 +2625,7 @@ STR_STATION_BUILD_COVERAGE_AREA_OFF_TOOLTIP :{BLACK}Kapsama
STR_STATION_BUILD_COVERAGE_AREA_ON_TOOLTIP :{BLACK}Kapsama alanını göster
STR_STATION_BUILD_ACCEPTS_CARGO :{BLACK}İstenen: {GOLD}{CARGO_LIST}
STR_STATION_BUILD_SUPPLIES_CARGO :{BLACK}Sağladıkları: {GOLD}{CARGO_LIST}
STR_STATION_BUILD_INFRASTRUCTURE_COST :{BLACK}Bakım maliyeti: {GOLD}{CURRENCY_SHORT}/yıl
# Join station window
STR_JOIN_STATION_CAPTION :{WHITE}İstasyonu birleştir
@ -2796,11 +2813,11 @@ STR_LANDSCAPING_TOOLBAR :{WHITE}Arazi d
STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Arazinin bir köşesini alçalt. Sürükleme ilk seçilen köşeyi alçaltır ve seçilen araziyi yeni yüksekliğe indirir. Ctrl bir alanı köşeden köşeye seçer. Shift ile tıklama maliyet tahminini gösterir
STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Arazinin bir köşesini yükselt. Sürükleme ilk seçilen köşeyi yükseltir ve seçilen araziyi yeni yüksekliğe çıkarır. Ctrl bir alanı köşeden köşeye seçer. Shift ile tıklama maliyet tahminini gösterir
STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Bir alanı ilk seçilen köşenin yüksekliğine düzle. Ctrl ile alanı köşeden köşeye seçer. Shift ile tıklama maliyet tahminini gösterir
STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Gelecekte kullanım için arazi satın al. Shift ile tıklama maliyet tahminini gösterir
STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Gelecekte kullanım için arazi satın al. Ctrl alanı çapraz olarak seçer. Shift ile tıklama maliyet tahminini gösterir
# Object construction window
STR_OBJECT_BUILD_CAPTION :{WHITE}Nesne Seçimi
STR_OBJECT_BUILD_TOOLTIP :{BLACK}Yapılacak nesneyi seçin. Shift ile tıklama maliyet tahminini gösterir
STR_OBJECT_BUILD_TOOLTIP :{BLACK}Yapılacak nesneyi seçin. Ctrl alanı çapraz olarak seçer. Shift ile tıklama maliyet tahminini gösterir
STR_OBJECT_BUILD_CLASS_TOOLTIP :{BLACK}İnşa edilecek nesnenin sınıfını seçin
STR_OBJECT_BUILD_PREVIEW_TOOLTIP :{BLACK}Nesnenin önizlemesi
STR_OBJECT_BUILD_SIZE :{BLACK}Boyut: {GOLD}{NUM} x {NUM} kare
@ -3147,6 +3164,12 @@ STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Nehirler
STR_MAPGEN_SMOOTHNESS :{BLACK}Düzlük seviyesi:
STR_MAPGEN_VARIETY :{BLACK}Çeşitlilik dağılımı:
STR_MAPGEN_GENERATE :{WHITE}Oluştur
STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}NewGRF Ayarları
STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}NewGRF ayarlarını göster
STR_MAPGEN_AI_SETTINGS :{BLACK}YZ Ayarları
STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}YZ ayarlarını göster
STR_MAPGEN_GS_SETTINGS :{BLACK}Oyun Betiği Ayarları
STR_MAPGEN_GS_SETTINGS_TOOLTIP :{BLACK}Oyun betiği ayarlarını göster
###length 21
STR_MAPGEN_TOWN_NAME_ORIGINAL_ENGLISH :İngiliz (Özgün)
@ -3333,15 +3356,15 @@ STR_NEWGRF_ERROR_MSG_FATAL :{RED}Ölümcül
STR_NEWGRF_ERROR_FATAL_POPUP :{WHITE}Ölümcül bir NewGRF hatası oluştu:{}{STRING}
STR_NEWGRF_ERROR_POPUP :{WHITE}NewGRF hatası oluştu:{}{STRING}
STR_NEWGRF_ERROR_VERSION_NUMBER :{1:STRING} OpenTTD tarafından belirtilen TTDPatch sürümüyle çalışmayacaktır
STR_NEWGRF_ERROR_DOS_OR_WINDOWS :{1:STRING}, TTD'nin {STRING} sürümü içindir
STR_NEWGRF_ERROR_UNSET_SWITCH :{1:STRING}, {STRING} ile kullanılmak için tasarlanmıştır
STR_NEWGRF_ERROR_INVALID_PARAMETER :{1:STRING} için geçersiz parametre: {STRING} ({NUM})
STR_NEWGRF_ERROR_LOAD_BEFORE :{1:STRING} önce, {STRING} ondan sonra yüklenmeli
STR_NEWGRF_ERROR_LOAD_AFTER :{1:STRING} sonra, {STRING} ondan önce yüklenmeli
STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} OpenTTD {STRING} veya daha yüksek bir sürüm gerektirir
STR_NEWGRF_ERROR_DOS_OR_WINDOWS :{1:STRING}, TTD'nin {2:STRING} sürümü içindir
STR_NEWGRF_ERROR_UNSET_SWITCH :{1:STRING}, {2:STRING} ile kullanılmak için tasarlanmıştır
STR_NEWGRF_ERROR_INVALID_PARAMETER :{1:STRING} için geçersiz parametre: {2:STRING} ({3:NUM})
STR_NEWGRF_ERROR_LOAD_BEFORE :{1:STRING} önce, {2:STRING} ondan sonra yüklenmeli
STR_NEWGRF_ERROR_LOAD_AFTER :Önce {1:STRING}, sonra {2:STRING} yüklenmeli.
STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} OpenTTD {2:STRING} veya daha yüksek bir sürüm gerektirir
STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :GRF dosyası çeviri için yapılmış
STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Çok fazla NewGRF yüklendi
STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :{1:STRING} adlı NewGRF'yi {STRING} ile birlikte kullanmak senkronizasyon sorunu oluşturabilir
STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :{1:STRING} adlı NewGRF'yi {2:STRING} ile birlikte kullanmak senkronizasyon sorunu oluşturabilir
STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Beklenmedik nesne (nesne {3:NUM})
STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Bilinmeyen Action 0 özelliği {4:HEX} (nesne {3:NUM})
STR_NEWGRF_ERROR_INVALID_ID :Geçersiz ID kullanım girişimi (nesne {3:NUM})
@ -3473,14 +3496,14 @@ STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Ayrıcalıklı
STR_LOCAL_AUTHORITY_ACTION_BRIBE :Belediyeye rüşvet ver
###length 8
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW} Müsteri çekmek için duvarlara poster yapıştır.{}Şehir merkezinin etrafında küçük bir çapta istasyon derecelendirmesinde geçici bir yükseltme sağlar.{}Fiyat: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW} Müsteri çekmek için radyoya reklam ver.{}Şehir merkezinin etrafında orta bir çapta istasyon derecelendirmesinde geçici bir yükseltme sağlar.{}Fiyat: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW} Müsteri çekmek için televizyona reklam ver.{}Şehir merkezinin etrafında büyük bir çapta istasyon derecelendirmesinde geçici bir yükseltme sağlar.{}Fiyat: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW} Yol tamirleri için belediyeye bağış yap.{}6 ay boyunca şehrin yolları kullanılamaz.{}Fiyat: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Şirket sahibinin heykelini dik.{}Şehirdeki istasyon derecelendirmesinde kalıcı bir yükseltme sağlar.{}Fiyatı: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Şehirde ticari binaların yapımı için bağış yap.{}Bu kasabanın büyümesine geçici bir yükseltme sağlar.{}Fiyatı: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW} Bir yıllık ayrıcalıklı nakliyat haklarını satın al.{} Belediye, rakip istasyonların yolcu ve kargo taşımasına izin vermez.{} Fiyat: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Yakalanma riskini göze alarak belediyeye rüşvet ver.{}Fiyat: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{PUSH_COLOUR}{YELLOW} Müsteri çekmek için küçük reklam kampanyası düzenle.{}Şehir merkezinin etrafında küçük bir alanda istasyon derecelendirmesinde geçici bir yükseltme sağlar.{}{POP_COLOUR}Fiyat: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{YELLOW} Müsteri çekmek için radyoya reklam ver.{}Şehir merkezinin etrafında orta bir çapta istasyon derecelendirmesinde geçici bir yükseltme sağlar.{}{POP_COLOUR}Fiyat: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW} Müsteri çekmek için televizyona reklam ver.{}Şehir merkezinin etrafında büyük bir çapta istasyon derecelendirmesinde geçici bir yükseltme sağlar.{}{POP_COLOUR}Fiyat: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{PUSH_COLOUR}{YELLOW} Yol tamirleri için belediyeye bağış yap.{}6 ay boyunca şehrin yollarında önemli aksamalara sebep olur.{}{POP_COLOUR}Fiyat: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Şirket sahibinin heykelini dik.{}Şehirdeki istasyon derecelendirmesinde kalıcı bir yükseltme sağlar.{}{POP_COLOUR}Fiyatı: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}Şehirde ticari binaların yapımı için bağış yap.{}Bu kasabanın büyümesine geçici bir yükseltme sağlar.{}{POP_COLOUR}Fiyatı: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{PUSH_COLOUR}{YELLOW} Bir yıllık ayrıcalıklı nakliyat haklarını satın al.{} Belediye, rakip istasyonların yolcu ve kargo taşımasına izin vermez.{}{POP_COLOUR} Fiyat: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}Yakalanırsan şiddetli bir ceza alma riskini göze alarak yerel yönetime bölge derecelendirmesini arttırmak için rüşvet ver.{}{POP_COLOUR}Fiyat: {CURRENCY_LONG}
# Goal window
STR_GOALS_CAPTION :{WHITE}{COMPANY} Hedefler
@ -3653,16 +3676,18 @@ STR_FINANCES_SECTION_SHIP_REVENUE :{GOLD}Gemiler
STR_FINANCES_SECTION_LOAN_INTEREST :{GOLD}Kredi Faizi
STR_FINANCES_SECTION_OTHER :{GOLD}Diğer
STR_FINANCES_TOTAL_CAPTION :{WHITE}Toplam
STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG}
STR_FINANCES_ZERO_INCOME :{CURRENCY_LONG}
STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG}
STR_FINANCES_NET_PROFIT :{WHITE}Net Kâr
STR_FINANCES_PROFIT :{WHITE}Kâr
STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Banka Hesabı
STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}Kendi Sermayem
STR_FINANCES_LOAN_TITLE :{WHITE}Kredi
STR_FINANCES_INTEREST_RATE :{WHITE}Kredi Faizi: {BLACK}%{NUM}
STR_FINANCES_MAX_LOAN :{WHITE}Azami Kredi: {BLACK}{CURRENCY_LONG}
STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG}
STR_FINANCES_BANK_BALANCE :{WHITE}{CURRENCY_LONG}
STR_FINANCES_BORROW_BUTTON :{BLACK}{CURRENCY_LONG} Kredi Al
STR_FINANCES_BORROW_TOOLTIP :{BLACK}Borcu arttır. Ctrl+Tıklama alınabilen en yüksek borcu alır
STR_FINANCES_REPAY_BUTTON :{BLACK}{CURRENCY_LONG} Geri Öde
@ -3763,7 +3788,7 @@ STR_INDUSTRY_VIEW_PRODUCES_N_CARGO :{BLACK}Üretile
STR_INDUSTRY_VIEW_CARGO_LIST_EXTENSION :, {STRING}{STRING}
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Gereken:
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING}
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{0:STRING}{BLACK}{3:STRING}
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} bekliyor{STRING}
STR_CONFIG_GAME_PRODUCTION :{WHITE}Üretimi değiştir (8'in katı, 2040'a kadar)
@ -3886,6 +3911,9 @@ STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Menzil:
STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Uçak türü: {GOLD}{STRING}
###length 3
STR_CARGO_TYPE_FILTER_ALL :Tüm kargo tipleri
STR_CARGO_TYPE_FILTER_FREIGHT :Nakliye
STR_CARGO_TYPE_FILTER_NONE :Hiçbiri
###length VEHICLE_TYPES
STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Tren seçim listesi. Bilgi için araç tıklayın. Ctrl+Tıklama araç türünün gizlenmesini açar/kapatır
@ -4055,7 +4083,7 @@ STR_ENGINE_PREVIEW_AIRCRAFT :uçak
STR_ENGINE_PREVIEW_SHIP :gemi
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Fiyat: {CURRENCY_LONG} Ağırlık: {WEIGHT_SHORT}{}Hız: {VELOCITY} Güç: {POWER}{}İşletme Gideri: {CURRENCY_LONG}/yıl{}Kapasite: {CARGO_LONG}
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Maliyet: {CURRENCY_LONG} Ağırlık: {WEIGHT_SHORT}{}Hız: {VELOCITY} Güç: {POWER} Azami Tork: {6:FORCE}{}İşletme Gideri: {4:CURRENCY_LONG}/yıl{}Kapasite: {5:CARGO_LONG}
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Maliyet: {0:CURRENCY_LONG} Ağırlık: {1:WEIGHT_SHORT}{}Hız: {2:VELOCITY} Güç: {3:POWER} Azami Tork: {6:FORCE}{}İşletme Gideri: {4:CURRENCY_LONG}/yıl{}Kapasite: {5:CARGO_LONG}
STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Maliyet: {CURRENCY_LONG} Azami Hız: {VELOCITY}{}Kapasite: {CARGO_LONG}{}İşletme Gideri: {CURRENCY_LONG}/yıl
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Maliyet: {CURRENCY_LONG} Azami Hız: {VELOCITY}{}Uçak türü: {STRING}{}Kapasite: {CARGO_LONG}, {CARGO_LONG}{}İşletme Gideri: {CURRENCY_LONG}/yıl
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Maliyet: {CURRENCY_LONG} Azami Hız: {VELOCITY}{}Uçak türü: {STRING}{}Kapasite: {CARGO_LONG}{}İşletme Gideri: {CURRENCY_LONG}//yıl
@ -4214,12 +4242,13 @@ STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Ağırl
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Ağırlık: {LTBLUE}{WEIGHT_SHORT} {BLACK}Güç: {LTBLUE}{POWER}{BLACK} Azami Hız: {LTBLUE}{VELOCITY} {BLACK}Azami Tork: {LTBLUE}{FORCE}
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Bu yılki kar: {LTBLUE}{CURRENCY_LONG} (geçen yıl: {CURRENCY_LONG})
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Bu yıl kâr: {LTBLUE}{CURRENCY_LONG} (geçen sene: {CURRENCY_LONG}) {BLACK}Min. performans: {LTBLUE}{POWER_TO_WEIGHT}
STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Güvenilirlik: {LTBLUE}{COMMA}% {BLACK}Son bakımdan beri bozulma sayısı: {LTBLUE}{COMMA}
STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Üretim: {LTBLUE}{NUM}{BLACK} Değer: {LTBLUE}{CURRENCY_LONG}
STR_VEHICLE_INFO_NO_CAPACITY :{BLACK}Kapasite: {LTBLUE}Yok{STRING}
STR_VEHICLE_INFO_CAPACITY :{BLACK}Kapasite: {LTBLUE}{CARGO_LONG}{3:STRING}
STR_VEHICLE_INFO_CAPACITY_MULT :{BLACK}Kapasite: {LTBLUE}{CARGO_LONG}{3:STRING} (x{4:NUM})
STR_VEHICLE_INFO_CAPACITY :{BLACK}Kapasite: {LTBLUE}{0:CARGO_LONG}{3:STRING}
STR_VEHICLE_INFO_CAPACITY_MULT :{BLACK}Kapasite: {LTBLUE}{0:CARGO_LONG}{3:STRING} (x{4:NUM})
STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Kapasite: {LTBLUE}{CARGO_LONG}, {CARGO_LONG}{STRING}
STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Aktarma Maliyeti: {LTBLUE}{CURRENCY_LONG}
@ -4547,6 +4576,8 @@ STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Çalış
STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}YZ Hata Ayıklama penceresi sadece sunucu içindir
# AI configuration window
STR_AI_CONFIG_CAPTION_AI :{WHITE}YZ Konfigürasyonu
STR_AI_CONFIG_CAPTION_GAMESCRIPT :{WHITE}Oyun Betiği Konfigürasyonu
STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}Bir sonraki oyunda yüklenecek Oyun Betiği
STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}Bir sonraki oyunda yüklenecek YZ'ler
STR_AI_CONFIG_HUMAN_PLAYER :İnsan oyuncu
@ -4560,10 +4591,11 @@ STR_AI_CONFIG_MOVE_DOWN :{BLACK}Aşağı
STR_AI_CONFIG_MOVE_DOWN_TOOLTIP :{BLACK}Seçilen YZ'yi listede aşağı taşı
STR_AI_CONFIG_GAMESCRIPT :{SILVER}Oyun Betiği
STR_AI_CONFIG_GAMESCRIPT_PARAM :{SILVER}Parametreler
STR_AI_CONFIG_AI :{SILVER}YZ'ler
STR_AI_CONFIG_CHANGE_AI :YZ
STR_AI_CONFIG_CHANGE_GAMESCRIPT :Oyun Betiği
STR_AI_CONFIG_CHANGE_AI :{BLACK}YZ Seç
STR_AI_CONFIG_CHANGE_GAMESCRIPT :{BLACK}Oyun Betiği Seç
STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Başka bir betik yükle
STR_AI_CONFIG_CONFIGURE :{BLACK}Yapılandır
STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Betik parametrelerini yapılandır
@ -4592,7 +4624,7 @@ STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Yüksekl
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Küçük harita ekran görüntüsü
# AI Parameters
STR_AI_SETTINGS_CAPTION_AI :YZ
STR_AI_SETTINGS_CAPTION_AI :{WHITE}YZ Parametreleri
STR_AI_SETTINGS_CLOSE :{BLACK}Kapat
STR_AI_SETTINGS_RESET :{BLACK}Yeniden başlat
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
@ -4937,6 +4969,7 @@ STR_ERROR_OBJECT_IN_THE_WAY :{WHITE}Yolda ne
STR_ERROR_COMPANY_HEADQUARTERS_IN :{WHITE}... yolda şirket binası var
STR_ERROR_CAN_T_PURCHASE_THIS_LAND :{WHITE}Burası satın alınamaz...
STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... zaten senin!
STR_ERROR_BUILD_OBJECT_LIMIT_REACHED :{WHITE}... Nesne oluşturma sınırına ulaştınız
# Group related errors
STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Grup oluşturulamıyor...
@ -5009,6 +5042,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Servis a
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... araç imha edilmiş
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Hiçbir araç kullanılabilir olmayacak
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Yeni NewGRF yapılandırmanızı değiştirin
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Henüz hiçbir araç kullanılabilir değil

@ -1136,21 +1136,8 @@ STR_GAME_OPTIONS_VIDEO_VSYNC :Вертика
STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Увімкнутий прапорець дозволить вертикальну синхронізацію екрану. Налаштування запрацює тільки після перезапуску гри. Працює тільки за увімкнутого прискорення апаратного забезпечення.
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Розмір інтерфейсу
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Оберіть розмір елементів інтерфейсу
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(автоматичо)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Нормальний розмір
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Подвійний розмір
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Почетверний розмір
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Розмір шрифту
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Виберть розмір шрифту інтерфейсу
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(автоматичо)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Нормальний
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Подвійний розмір
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Почетверний розмір
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Графіка
@ -5121,6 +5108,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Не м
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... транспорт знищено
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Недоступний жоден транспортний засіб
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Змінити налаштування встановленого NewGRF
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Жоден вид транспорту ще не став доступним

@ -931,7 +931,6 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :دیگر
STR_GAME_OPTIONS_BASE_GRF :{BLACK}بُنیادی گرافک سیٹ
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}بُنیادی گرافک سیٹ اختیار کریں
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} missing/corrupted file{P "" s}
@ -2914,6 +2913,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}مرمت
# Specific vehicle errors

@ -1009,21 +1009,8 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Đánh d
STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Trình điều khiển hiện tại: {STRING}
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Kích thước giao diện
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Chọn kích thước của các đối tượng trên giao diện
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(nhận diện tự động)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Bình thường
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Gấp 2 lần
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Gấp 4 lần
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Cỡ chữ
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Chọn cỡ chữ trong giao diện
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(nhận diện tự động)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Bình thường
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Phóng to gấp đôi
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Phóng nhân bốn
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Hình ảnh
@ -3661,7 +3648,6 @@ STR_FINANCES_SECTION_OTHER :{GOLD}Khác
STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG}
STR_FINANCES_ZERO_INCOME :{CURRENCY_LONG}
STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG}
STR_FINANCES_NET_PROFIT :{WHITE}Lợi Nhuận Ròng
STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Số dư hiện có
STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}Nguồn Vốn Riêng
STR_FINANCES_LOAN_TITLE :{WHITE}Đi vay
@ -5015,6 +5001,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Không t
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... xe đã bị phá hủy
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Không có phương tiện nào sẵn sàng cả
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Thay đổi tham số NewGRF
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Chưa có phương tiện nào có sẵn

@ -963,12 +963,6 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :arall
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Maint rhyngwyneb
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Dewis maint yr elfennau rhyngwyneb i'w defnyddio
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Arferol
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dyblyg
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Pedwarplyg
@ -4606,6 +4600,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Methu ne
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... cerbyd wedi ei ddinistrio
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Ni fydd cerbydau ar gael o gwbl
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Newid eich ffurfweddiad NewGRF
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Dim cerbydau ar gael eto

@ -656,13 +656,11 @@ static const NWidgetPart _nested_linkgraph_legend_widgets[] = {
NWidget(WWT_STICKYBOX, COLOUR_DARK_GREEN),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_DARK_GREEN),
NWidget(NWID_HORIZONTAL),
NWidget(NWID_HORIZONTAL), SetPadding(WidgetDimensions::unscaled.framerect), SetPIP(0, WidgetDimensions::unscaled.framerect.Horizontal(), 0),
NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_LGL_SATURATION),
SetPadding(WD_FRAMERECT_TOP, 0, WD_FRAMERECT_BOTTOM, WD_CAPTIONTEXT_LEFT),
NWidgetFunction(MakeSaturationLegendLinkGraphGUI),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_LGL_COMPANIES),
SetPadding(WD_FRAMERECT_TOP, 0, WD_FRAMERECT_BOTTOM, WD_CAPTIONTEXT_LEFT),
NWidget(NWID_VERTICAL, NC_EQUALSIZE),
NWidgetFunction(MakeCompanyButtonRowsLinkGraphGUI),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_LGL_COMPANIES_ALL), SetDataTip(STR_LINKGRAPH_LEGEND_ALL, STR_NULL),
@ -670,7 +668,6 @@ static const NWidgetPart _nested_linkgraph_legend_widgets[] = {
EndContainer(),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_LGL_CARGOES),
SetPadding(WD_FRAMERECT_TOP, WD_FRAMERECT_RIGHT, WD_FRAMERECT_BOTTOM, WD_CAPTIONTEXT_LEFT),
NWidget(NWID_VERTICAL, NC_EQUALSIZE),
NWidgetFunction(MakeCargoesLegendLinkGraphGUI),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_LGL_CARGOES_ALL), SetDataTip(STR_LINKGRAPH_LEGEND_ALL, STR_NULL),
@ -757,8 +754,8 @@ void LinkGraphLegendWindow::UpdateWidgetSize(int widget, Dimension *size, const
void LinkGraphLegendWindow::DrawWidget(const Rect &r, int widget) const
{
Rect br = r.Shrink(WD_BEVEL_LEFT, WD_BEVEL_TOP, WD_BEVEL_RIGHT, WD_BEVEL_BOTTOM);
if (this->IsWidgetLowered(widget)) br = br.Translate(1, 1);
Rect br = r.Shrink(WidgetDimensions::scaled.bevel);
if (this->IsWidgetLowered(widget)) br = br.Translate(WidgetDimensions::scaled.pressed, WidgetDimensions::scaled.pressed);
if (IsInsideMM(widget, WID_LGL_COMPANY_FIRST, WID_LGL_COMPANY_LAST + 1)) {
if (this->IsWidgetDisabled(widget)) return;
CompanyID cid = (CompanyID)(widget - WID_LGL_COMPANY_FIRST);

@ -76,10 +76,10 @@ public:
{
if (widget != WID_LI_BACKGROUND) return;
Rect ir = r.Shrink(WD_FRAMETEXT_LEFT, WD_TEXTPANEL_TOP, WD_FRAMETEXT_RIGHT, WD_TEXTPANEL_BOTTOM);
Rect ir = r.Shrink(WidgetDimensions::scaled.frametext);
for (size_t i = 0; i < this->landinfo_data.size(); i++) {
DrawString(ir, this->landinfo_data[i], i == 0 ? TC_LIGHT_BLUE : TC_FROMSTRING, SA_HOR_CENTER);
ir.top += FONT_HEIGHT_NORMAL + (i == 0 ? WD_PAR_VSEP_WIDE : WD_PAR_VSEP_NORMAL);
ir.top += FONT_HEIGHT_NORMAL + (i == 0 ? WidgetDimensions::scaled.vsep_wide : WidgetDimensions::scaled.vsep_normal);
}
if (!this->cargo_acceptance.empty()) {
@ -92,19 +92,19 @@ public:
{
if (widget != WID_LI_BACKGROUND) return;
size->height = WD_TEXTPANEL_TOP + WD_TEXTPANEL_BOTTOM;
size->height = WidgetDimensions::scaled.frametext.Vertical();
for (size_t i = 0; i < this->landinfo_data.size(); i++) {
uint width = GetStringBoundingBox(this->landinfo_data[i]).width + WD_FRAMETEXT_LEFT + WD_FRAMETEXT_RIGHT;
uint width = GetStringBoundingBox(this->landinfo_data[i]).width + WidgetDimensions::scaled.frametext.Horizontal();
size->width = std::max(size->width, width);
size->height += FONT_HEIGHT_NORMAL + (i == 0 ? WD_PAR_VSEP_WIDE : WD_PAR_VSEP_NORMAL);
size->height += FONT_HEIGHT_NORMAL + (i == 0 ? WidgetDimensions::scaled.vsep_wide : WidgetDimensions::scaled.vsep_normal);
}
if (!this->cargo_acceptance.empty()) {
uint width = GetStringBoundingBox(this->cargo_acceptance).width + WD_FRAMETEXT_LEFT + WD_FRAMETEXT_RIGHT;
uint width = GetStringBoundingBox(this->cargo_acceptance).width + WidgetDimensions::scaled.frametext.Horizontal();
size->width = std::max(size->width, std::min(300u, width));
SetDParamStr(0, cargo_acceptance);
size->height += GetStringHeight(STR_JUST_RAW_STRING, size->width - WD_FRAMETEXT_LEFT - WD_FRAMETEXT_RIGHT);
size->height += GetStringHeight(STR_JUST_RAW_STRING, size->width - WidgetDimensions::scaled.frametext.Horizontal());
}
}
@ -454,6 +454,7 @@ static const char * const _credits[] = {
u8" Peter Nelson (peter1138) - Spiritual descendant from NewGRF gods (since 0.4.5)",
u8" Remko Bijker (Rubidium) - Coder and way more (since 0.4.5)",
u8" Patric Stout (TrueBrain) - NoProgrammer (since 0.3), sys op",
u8" Tyler Trahan (2TallTyler) - General coding (since 13)",
u8"",
u8"Inactive Developers:",
u8" Grzegorz Duczy\u0144ski (adf88) - General coding (1.7 - 1.8)",
@ -776,23 +777,23 @@ struct TooltipsWindow : public Window
}
/* Increase slightly to have some space around the box. */
size->width += 2 + padding.width;
size->height += 2 + padding.height;
size->width += padding.width + WidgetDimensions::scaled.fullbevel.Horizontal();
size->height += padding.height + WidgetDimensions::scaled.fullbevel.Vertical();
}
void DrawWidget(const Rect &r, int widget) const override
{
/* There is only one widget. */
GfxFillRect(r, PC_BLACK);
GfxFillRect(r.Shrink(WD_BEVEL_LEFT, WD_BEVEL_TOP, WD_BEVEL_RIGHT, WD_BEVEL_BOTTOM), PC_LIGHT_YELLOW);
GfxFillRect(r.Shrink(WidgetDimensions::scaled.bevel), PC_LIGHT_YELLOW);
if (this->paramcount == 0) {
DrawStringMultiLine(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, r.top + WD_FRAMERECT_TOP, r.bottom - WD_FRAMERECT_BOTTOM, this->buffer, TC_FROMSTRING, SA_CENTER);
DrawStringMultiLine(r.Shrink(WidgetDimensions::scaled.framerect), this->buffer, TC_FROMSTRING, SA_CENTER);
} else {
for (uint arg = 0; arg < this->paramcount; arg++) {
SetDParam(arg, this->params[arg]);
}
DrawStringMultiLine(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, r.top + WD_FRAMERECT_TOP, r.bottom - WD_FRAMERECT_BOTTOM, this->string_id, TC_FROMSTRING, SA_CENTER);
DrawStringMultiLine(r.Shrink(WidgetDimensions::scaled.framerect), this->string_id, TC_FROMSTRING, SA_CENTER);
}
}
@ -869,20 +870,20 @@ void QueryString::DrawEditBox(const Window *w, int wid) const
bool rtl = _current_text_dir == TD_RTL;
Dimension sprite_size = GetSpriteSize(rtl ? SPR_IMG_DELETE_RIGHT : SPR_IMG_DELETE_LEFT);
int clearbtn_width = sprite_size.width + WD_IMGBTN_LEFT + WD_IMGBTN_RIGHT;
int clearbtn_width = sprite_size.width + WidgetDimensions::scaled.imgbtn.Horizontal();
Rect r = wi->GetCurrentRect();
Rect cr = r.WithWidth(clearbtn_width, !rtl);
Rect fr = r.Indent(clearbtn_width, !rtl);
DrawFrameRect(cr, wi->colour, wi->IsLowered() ? FR_LOWERED : FR_NONE);
DrawSprite(rtl ? SPR_IMG_DELETE_RIGHT : SPR_IMG_DELETE_LEFT, PAL_NONE, cr.left + WD_IMGBTN_LEFT + (wi->IsLowered() ? 1 : 0), CenterBounds(r.top, r.bottom, sprite_size.height) + (wi->IsLowered() ? 1 : 0));
if (this->text.bytes == 1) GfxFillRect(cr.Shrink(WD_BEVEL_LEFT, WD_BEVEL_TOP, WD_BEVEL_RIGHT, WD_BEVEL_BOTTOM), _colour_gradient[wi->colour & 0xF][2], FILLRECT_CHECKER);
DrawSprite(rtl ? SPR_IMG_DELETE_RIGHT : SPR_IMG_DELETE_LEFT, PAL_NONE, cr.left + WidgetDimensions::scaled.imgbtn.left + (wi->IsLowered() ? 1 : 0), CenterBounds(r.top, r.bottom, sprite_size.height) + (wi->IsLowered() ? 1 : 0));
if (this->text.bytes == 1) GfxFillRect(cr.Shrink(WidgetDimensions::scaled.bevel), _colour_gradient[wi->colour & 0xF][2], FILLRECT_CHECKER);
DrawFrameRect(fr, wi->colour, FR_LOWERED | FR_DARKENED);
GfxFillRect(fr.Shrink(WD_BEVEL_LEFT, WD_BEVEL_TOP, WD_BEVEL_RIGHT, WD_BEVEL_BOTTOM), PC_BLACK);
GfxFillRect(fr.Shrink(WidgetDimensions::scaled.bevel), PC_BLACK);
fr = fr.Shrink(WD_FRAMERECT_LEFT, WD_FRAMERECT_TOP, WD_FRAMERECT_RIGHT, WD_FRAMERECT_BOTTOM);
fr = fr.Shrink(WidgetDimensions::scaled.framerect);
/* Limit the drawing of the string inside the widget boundaries */
DrawPixelInfo dpi;
if (!FillDrawPixelInfo(&dpi, fr.left, fr.top, fr.Width(), fr.Height())) return;
@ -924,9 +925,9 @@ Point QueryString::GetCaretPosition(const Window *w, int wid) const
bool rtl = _current_text_dir == TD_RTL;
Dimension sprite_size = GetSpriteSize(rtl ? SPR_IMG_DELETE_RIGHT : SPR_IMG_DELETE_LEFT);
int clearbtn_width = sprite_size.width + WD_IMGBTN_LEFT + WD_IMGBTN_RIGHT;
int clearbtn_width = sprite_size.width + WidgetDimensions::scaled.imgbtn.Horizontal();
Rect r = wi->GetCurrentRect().Indent(clearbtn_width, !rtl).Shrink(WD_FRAMERECT_LEFT, WD_FRAMERECT_TOP, WD_FRAMERECT_RIGHT, WD_FRAMERECT_BOTTOM);
Rect r = wi->GetCurrentRect().Indent(clearbtn_width, !rtl).Shrink(WidgetDimensions::scaled.framerect);
/* Clamp caret position to be inside out current width. */
const Textbuf *tb = &this->text;
@ -953,9 +954,9 @@ Rect QueryString::GetBoundingRect(const Window *w, int wid, const char *from, co
bool rtl = _current_text_dir == TD_RTL;
Dimension sprite_size = GetSpriteSize(rtl ? SPR_IMG_DELETE_RIGHT : SPR_IMG_DELETE_LEFT);
int clearbtn_width = sprite_size.width + WD_IMGBTN_LEFT + WD_IMGBTN_RIGHT;
int clearbtn_width = sprite_size.width + WidgetDimensions::scaled.imgbtn.Horizontal();
Rect r = wi->GetCurrentRect().Indent(clearbtn_width, !rtl).Shrink(WD_FRAMERECT_LEFT, WD_FRAMERECT_TOP, WD_FRAMERECT_RIGHT, WD_FRAMERECT_BOTTOM);
Rect r = wi->GetCurrentRect().Indent(clearbtn_width, !rtl).Shrink(WidgetDimensions::scaled.framerect);
/* Clamp caret position to be inside our current width. */
const Textbuf *tb = &this->text;
@ -984,9 +985,9 @@ const char *QueryString::GetCharAtPosition(const Window *w, int wid, const Point
bool rtl = _current_text_dir == TD_RTL;
Dimension sprite_size = GetSpriteSize(rtl ? SPR_IMG_DELETE_RIGHT : SPR_IMG_DELETE_LEFT);
int clearbtn_width = sprite_size.width + WD_IMGBTN_LEFT + WD_IMGBTN_RIGHT;
int clearbtn_width = sprite_size.width + WidgetDimensions::scaled.imgbtn.Horizontal();
Rect r = wi->GetCurrentRect().Indent(clearbtn_width, !rtl).Shrink(WD_FRAMERECT_LEFT, WD_FRAMERECT_TOP, WD_FRAMERECT_RIGHT, WD_FRAMERECT_BOTTOM);
Rect r = wi->GetCurrentRect().Indent(clearbtn_width, !rtl).Shrink(WidgetDimensions::scaled.framerect);
if (!IsInsideMM(pt.y, r.top, r.bottom)) return nullptr;
@ -1071,9 +1072,9 @@ struct QueryStringWindow : public Window
{
if (this->flags & QSF_PASSWORD) {
assert(this->nested_root->smallest_x > 0);
this->warning_size.width = this->nested_root->current_x - (WD_FRAMETEXT_LEFT + WD_FRAMETEXT_RIGHT + WD_FRAMERECT_LEFT + WD_FRAMERECT_RIGHT);
this->warning_size.width = this->nested_root->current_x - WidgetDimensions::scaled.frametext.Horizontal() - WidgetDimensions::scaled.framerect.Horizontal();
this->warning_size.height = GetStringHeight(STR_WARNING_PASSWORD_SECURITY, this->warning_size.width);
this->warning_size.height += WD_FRAMETEXT_TOP + WD_FRAMETEXT_BOTTOM + WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM;
this->warning_size.height += WidgetDimensions::scaled.frametext.Vertical() + WidgetDimensions::scaled.framerect.Vertical();
} else {
this->warning_size = Dimension{ 0, 0 };
}
@ -1100,7 +1101,7 @@ struct QueryStringWindow : public Window
if (widget != WID_QS_WARNING) return;
if (this->flags & QSF_PASSWORD) {
DrawStringMultiLine(r.Shrink(WD_FRAMERECT_LEFT + WD_FRAMETEXT_LEFT, WD_FRAMERECT_TOP + WD_FRAMETEXT_TOP, WD_FRAMERECT_RIGHT + WD_FRAMETEXT_RIGHT, WD_FRAMERECT_BOTTOM + WD_FRAMETEXT_BOTTOM),
DrawStringMultiLine(r.Shrink(WidgetDimensions::scaled.framerect).Shrink(WidgetDimensions::scaled.frametext),
STR_WARNING_PASSWORD_SECURITY, TC_FROMSTRING, SA_CENTER);
}
}
@ -1244,8 +1245,8 @@ struct QueryWindow : public Window {
if (widget != WID_Q_TEXT) return;
Dimension d = GetStringMultiLineBoundingBox(this->message, *size);
d.width += WD_FRAMETEXT_LEFT + WD_FRAMETEXT_RIGHT;
d.height += WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM;
d.width += WidgetDimensions::scaled.frametext.Horizontal();
d.height += WidgetDimensions::scaled.framerect.Vertical();
*size = d;
}
@ -1253,7 +1254,7 @@ struct QueryWindow : public Window {
{
if (widget != WID_Q_TEXT) return;
DrawStringMultiLine(r.Shrink(WD_FRAMETEXT_LEFT, WD_FRAMERECT_TOP, WD_FRAMETEXT_RIGHT, WD_FRAMERECT_BOTTOM),
DrawStringMultiLine(r.Shrink(WidgetDimensions::scaled.frametext, WidgetDimensions::scaled.framerect),
this->message, TC_FROMSTRING, SA_CENTER);
}
@ -1305,11 +1306,13 @@ static const NWidgetPart _nested_query_widgets[] = {
NWidget(WWT_CLOSEBOX, COLOUR_RED),
NWidget(WWT_CAPTION, COLOUR_RED, WID_Q_CAPTION), SetDataTip(STR_JUST_STRING, STR_NULL),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_RED), SetPIP(8, 15, 8),
NWidget(WWT_TEXT, COLOUR_RED, WID_Q_TEXT), SetMinimalSize(200, 12),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPIP(20, 29, 20),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_Q_NO), SetMinimalSize(71, 12), SetFill(1, 1), SetDataTip(STR_QUIT_NO, STR_NULL),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_Q_YES), SetMinimalSize(71, 12), SetFill(1, 1), SetDataTip(STR_QUIT_YES, STR_NULL),
NWidget(WWT_PANEL, COLOUR_RED),
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_wide, 0), SetPadding(WidgetDimensions::unscaled.modalpopup),
NWidget(WWT_TEXT, COLOUR_RED, WID_Q_TEXT), SetMinimalSize(200, 12),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPIP(WidgetDimensions::unscaled.hsep_indent, WidgetDimensions::unscaled.hsep_indent, WidgetDimensions::unscaled.hsep_indent),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_Q_NO), SetMinimalSize(71, 12), SetFill(1, 1), SetDataTip(STR_QUIT_NO, STR_NULL),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_Q_YES), SetMinimalSize(71, 12), SetFill(1, 1), SetDataTip(STR_QUIT_YES, STR_NULL),
EndContainer(),
EndContainer(),
EndContainer(),
};

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save