Merge branch 'save_ext' into enhanced_viewport_overlay-sx
This commit is contained in:
@@ -172,6 +172,7 @@ install: bundle
|
|||||||
$(Q)install -d "$(INSTALL_BINARY_DIR)"
|
$(Q)install -d "$(INSTALL_BINARY_DIR)"
|
||||||
$(Q)install -d "$(INSTALL_ICON_DIR)"
|
$(Q)install -d "$(INSTALL_ICON_DIR)"
|
||||||
$(Q)install -d "$(INSTALL_DATA_DIR)/ai"
|
$(Q)install -d "$(INSTALL_DATA_DIR)/ai"
|
||||||
|
$(Q)install -d "$(INSTALL_DATA_DIR)/game"
|
||||||
$(Q)install -d "$(INSTALL_DATA_DIR)/baseset"
|
$(Q)install -d "$(INSTALL_DATA_DIR)/baseset"
|
||||||
$(Q)install -d "$(INSTALL_DATA_DIR)/lang"
|
$(Q)install -d "$(INSTALL_DATA_DIR)/lang"
|
||||||
$(Q)install -d "$(INSTALL_DATA_DIR)/scripts"
|
$(Q)install -d "$(INSTALL_DATA_DIR)/scripts"
|
||||||
@@ -182,6 +183,7 @@ else
|
|||||||
endif
|
endif
|
||||||
$(Q)install -m 644 "$(BUNDLE_DIR)/lang/"* "$(INSTALL_DATA_DIR)/lang"
|
$(Q)install -m 644 "$(BUNDLE_DIR)/lang/"* "$(INSTALL_DATA_DIR)/lang"
|
||||||
$(Q)install -m 644 "$(BUNDLE_DIR)/ai/"* "$(INSTALL_DATA_DIR)/ai"
|
$(Q)install -m 644 "$(BUNDLE_DIR)/ai/"* "$(INSTALL_DATA_DIR)/ai"
|
||||||
|
$(Q)install -m 644 "$(BUNDLE_DIR)/game/"* "$(INSTALL_DATA_DIR)/game"
|
||||||
$(Q)install -m 644 "$(BUNDLE_DIR)/baseset/"* "$(INSTALL_DATA_DIR)/baseset"
|
$(Q)install -m 644 "$(BUNDLE_DIR)/baseset/"* "$(INSTALL_DATA_DIR)/baseset"
|
||||||
$(Q)install -m 644 "$(BUNDLE_DIR)/scripts/"* "$(INSTALL_DATA_DIR)/scripts"
|
$(Q)install -m 644 "$(BUNDLE_DIR)/scripts/"* "$(INSTALL_DATA_DIR)/scripts"
|
||||||
ifndef DO_NOT_INSTALL_DOCS
|
ifndef DO_NOT_INSTALL_DOCS
|
||||||
|
@@ -99,7 +99,7 @@ elif [ -d "$ROOT_DIR/.git" ]; then
|
|||||||
# No rev? Maybe it is a custom git-svn clone
|
# No rev? Maybe it is a custom git-svn clone
|
||||||
REV_NR=`LC_ALL=C git log --pretty=format:%b --grep="git-svn-id:.*@[0-9]*" -1 | sed "s@.*\@\([0-9]*\).*@\1@"`
|
REV_NR=`LC_ALL=C git log --pretty=format:%b --grep="git-svn-id:.*@[0-9]*" -1 | sed "s@.*\@\([0-9]*\).*@\1@"`
|
||||||
fi
|
fi
|
||||||
TAG="`git name-rev --name-only --tags --no-undefined HEAD 2>/dev/null | sed 's@\^0$@@'`"
|
TAG="`git describe --tags 2>/dev/null`"
|
||||||
if [ -n "$TAG" ]; then
|
if [ -n "$TAG" ]; then
|
||||||
BRANCH=""
|
BRANCH=""
|
||||||
REV="$TAG"
|
REV="$TAG"
|
||||||
|
@@ -886,6 +886,8 @@
|
|||||||
<ClCompile Include="..\src\saveload\town_sl.cpp" />
|
<ClCompile Include="..\src\saveload\town_sl.cpp" />
|
||||||
<ClCompile Include="..\src\saveload\vehicle_sl.cpp" />
|
<ClCompile Include="..\src\saveload\vehicle_sl.cpp" />
|
||||||
<ClCompile Include="..\src\saveload\waypoint_sl.cpp" />
|
<ClCompile Include="..\src\saveload\waypoint_sl.cpp" />
|
||||||
|
<ClInclude Include="..\src\saveload\extended_ver_sl.h" />
|
||||||
|
<ClCompile Include="..\src\saveload\extended_ver_sl.cpp" />
|
||||||
<ClInclude Include="..\src\table\airport_defaults.h" />
|
<ClInclude Include="..\src\table\airport_defaults.h" />
|
||||||
<ClInclude Include="..\src\table\airport_movement.h" />
|
<ClInclude Include="..\src\table\airport_movement.h" />
|
||||||
<ClInclude Include="..\src\table\airporttile_ids.h" />
|
<ClInclude Include="..\src\table\airporttile_ids.h" />
|
||||||
|
@@ -1836,6 +1836,12 @@
|
|||||||
<ClCompile Include="..\src\saveload\waypoint_sl.cpp">
|
<ClCompile Include="..\src\saveload\waypoint_sl.cpp">
|
||||||
<Filter>Save/Load handlers</Filter>
|
<Filter>Save/Load handlers</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClInclude Include="..\src\saveload\extended_ver_sl.h">
|
||||||
|
<Filter>Save/Load handlers</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClCompile Include="..\src\saveload\extended_ver_sl.cpp">
|
||||||
|
<Filter>Save/Load handlers</Filter>
|
||||||
|
</ClCompile>
|
||||||
<ClInclude Include="..\src\table\airport_defaults.h">
|
<ClInclude Include="..\src\table\airport_defaults.h">
|
||||||
<Filter>Tables</Filter>
|
<Filter>Tables</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
@@ -809,7 +809,7 @@ static byte AircraftGetEntryPoint(const Aircraft *v, const AirportFTAClass *apc,
|
|||||||
/* We are northwest or southeast of the airport */
|
/* We are northwest or southeast of the airport */
|
||||||
dir = delta_y < 0 ? DIAGDIR_NW : DIAGDIR_SE;
|
dir = delta_y < 0 ? DIAGDIR_NW : DIAGDIR_SE;
|
||||||
}
|
}
|
||||||
dir = ChangeDiagDir(dir, (DiagDirDiff)ReverseDiagDir(DirToDiagDir(rotation)));
|
dir = ChangeDiagDir(dir, DiagDirDifference(DIAGDIR_NE, DirToDiagDir(rotation)));
|
||||||
return apc->entry_points[dir];
|
return apc->entry_points[dir];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1764,7 +1764,8 @@ struct CompanyInfrastructureWindow : Window
|
|||||||
|
|
||||||
if (this->railtypes != RAILTYPES_NONE) {
|
if (this->railtypes != RAILTYPES_NONE) {
|
||||||
/* Draw name of each valid railtype. */
|
/* Draw name of each valid railtype. */
|
||||||
for (RailType rt = RAILTYPE_BEGIN; rt != RAILTYPE_END; rt++) {
|
RailType rt;
|
||||||
|
FOR_ALL_SORTED_RAILTYPES(rt) {
|
||||||
if (HasBit(this->railtypes, rt)) {
|
if (HasBit(this->railtypes, rt)) {
|
||||||
SetDParam(0, GetRailTypeInfo(rt)->strings.name);
|
SetDParam(0, GetRailTypeInfo(rt)->strings.name);
|
||||||
DrawString(r.left + offs_left, r.right - offs_right, y += FONT_HEIGHT_NORMAL, STR_WHITE_STRING);
|
DrawString(r.left + offs_left, r.right - offs_right, y += FONT_HEIGHT_NORMAL, STR_WHITE_STRING);
|
||||||
@@ -1781,7 +1782,8 @@ struct CompanyInfrastructureWindow : Window
|
|||||||
case WID_CI_RAIL_COUNT: {
|
case WID_CI_RAIL_COUNT: {
|
||||||
/* Draw infrastructure count for each valid railtype. */
|
/* Draw infrastructure count for each valid railtype. */
|
||||||
uint32 rail_total = c->infrastructure.GetRailTotal();
|
uint32 rail_total = c->infrastructure.GetRailTotal();
|
||||||
for (RailType rt = RAILTYPE_BEGIN; rt != RAILTYPE_END; rt++) {
|
RailType rt;
|
||||||
|
FOR_ALL_SORTED_RAILTYPES(rt) {
|
||||||
if (HasBit(this->railtypes, rt)) {
|
if (HasBit(this->railtypes, rt)) {
|
||||||
this->DrawCountLine(r, y, c->infrastructure.rail[rt], RailMaintenanceCost(rt, c->infrastructure.rail[rt], rail_total));
|
this->DrawCountLine(r, y, c->infrastructure.rail[rt], RailMaintenanceCost(rt, c->infrastructure.rail[rt], rail_total));
|
||||||
}
|
}
|
||||||
|
@@ -229,6 +229,7 @@ struct DepotWindow : Window {
|
|||||||
VehicleID vehicle_over; ///< Rail vehicle over which another one is dragged, \c INVALID_VEHICLE if none.
|
VehicleID vehicle_over; ///< Rail vehicle over which another one is dragged, \c INVALID_VEHICLE if none.
|
||||||
VehicleType type;
|
VehicleType type;
|
||||||
bool generate_list;
|
bool generate_list;
|
||||||
|
bool sell_hovered; ///< A vehicle is being dragged/hovered over the sell button.
|
||||||
VehicleList vehicle_list;
|
VehicleList vehicle_list;
|
||||||
VehicleList wagon_list;
|
VehicleList wagon_list;
|
||||||
uint unitnumber_digits;
|
uint unitnumber_digits;
|
||||||
@@ -243,6 +244,7 @@ struct DepotWindow : Window {
|
|||||||
this->sel = INVALID_VEHICLE;
|
this->sel = INVALID_VEHICLE;
|
||||||
this->vehicle_over = INVALID_VEHICLE;
|
this->vehicle_over = INVALID_VEHICLE;
|
||||||
this->generate_list = true;
|
this->generate_list = true;
|
||||||
|
this->sell_hovered = false;
|
||||||
this->type = type;
|
this->type = type;
|
||||||
this->num_columns = 1; // for non-trains this gets set in FinishInitNested()
|
this->num_columns = 1; // for non-trains this gets set in FinishInitNested()
|
||||||
this->unitnumber_digits = 2;
|
this->unitnumber_digits = 2;
|
||||||
@@ -867,11 +869,24 @@ struct DepotWindow : Window {
|
|||||||
this->sel = INVALID_VEHICLE;
|
this->sel = INVALID_VEHICLE;
|
||||||
this->vehicle_over = INVALID_VEHICLE;
|
this->vehicle_over = INVALID_VEHICLE;
|
||||||
this->SetWidgetDirty(WID_D_MATRIX);
|
this->SetWidgetDirty(WID_D_MATRIX);
|
||||||
|
|
||||||
|
if (this->sell_hovered) {
|
||||||
|
this->SetWidgetLoweredState(WID_D_SELL, false);
|
||||||
|
this->SetWidgetDirty(WID_D_SELL);
|
||||||
|
this->sell_hovered = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void OnMouseDrag(Point pt, int widget)
|
virtual void OnMouseDrag(Point pt, int widget)
|
||||||
{
|
{
|
||||||
if (this->type != VEH_TRAIN || this->sel == INVALID_VEHICLE) return;
|
if (this->sel == INVALID_VEHICLE) return;
|
||||||
|
bool is_sell_widget = widget == WID_D_SELL;
|
||||||
|
if (is_sell_widget != this->sell_hovered) {
|
||||||
|
this->sell_hovered = is_sell_widget;
|
||||||
|
this->SetWidgetLoweredState(WID_D_SELL, is_sell_widget);
|
||||||
|
this->SetWidgetDirty(WID_D_SELL);
|
||||||
|
}
|
||||||
|
if (this->type != VEH_TRAIN) return;
|
||||||
|
|
||||||
/* A rail vehicle is dragged.. */
|
/* A rail vehicle is dragged.. */
|
||||||
if (widget != WID_D_MATRIX) { // ..outside of the depot matrix.
|
if (widget != WID_D_MATRIX) { // ..outside of the depot matrix.
|
||||||
@@ -958,7 +973,9 @@ struct DepotWindow : Window {
|
|||||||
default:
|
default:
|
||||||
this->sel = INVALID_VEHICLE;
|
this->sel = INVALID_VEHICLE;
|
||||||
this->SetDirty();
|
this->SetDirty();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
this->sell_hovered = false;
|
||||||
_cursor.vehchain = false;
|
_cursor.vehchain = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -61,11 +61,11 @@ static inline Direction ReverseDir(Direction d)
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Calculate the difference between to directions
|
* Calculate the difference between two directions
|
||||||
*
|
*
|
||||||
* @param d0 The first direction as the base
|
* @param d0 The first direction as the base
|
||||||
* @param d1 The second direction as the offset from the base
|
* @param d1 The second direction as the offset from the base
|
||||||
* @return The difference how the second directions drifts of the first one.
|
* @return The difference how the second direction drifts of the first one.
|
||||||
*/
|
*/
|
||||||
static inline DirDiff DirDifference(Direction d0, Direction d1)
|
static inline DirDiff DirDifference(Direction d0, Direction d1)
|
||||||
{
|
{
|
||||||
@@ -79,7 +79,7 @@ static inline DirDiff DirDifference(Direction d0, Direction d1)
|
|||||||
/**
|
/**
|
||||||
* Applies two differences together
|
* Applies two differences together
|
||||||
*
|
*
|
||||||
* This function adds two differences together and return the resulting
|
* This function adds two differences together and returns the resulting
|
||||||
* difference. So adding two DIRDIFF_REVERSE together results in the
|
* difference. So adding two DIRDIFF_REVERSE together results in the
|
||||||
* DIRDIFF_SAME difference.
|
* DIRDIFF_SAME difference.
|
||||||
*
|
*
|
||||||
@@ -123,6 +123,20 @@ static inline DiagDirection ReverseDiagDir(DiagDirection d)
|
|||||||
return (DiagDirection)(2 ^ d);
|
return (DiagDirection)(2 ^ d);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calculate the difference between two DiagDirection values
|
||||||
|
*
|
||||||
|
* @param d0 The first direction as the base
|
||||||
|
* @param d1 The second direction as the offset from the base
|
||||||
|
* @return The difference how the second direction drifts of the first one.
|
||||||
|
*/
|
||||||
|
static inline DiagDirDiff DiagDirDifference(DiagDirection d0, DiagDirection d1)
|
||||||
|
{
|
||||||
|
assert(IsValidDiagDirection(d0));
|
||||||
|
assert(IsValidDiagDirection(d1));
|
||||||
|
/* Cast to uint so compiler can use bitmask. Result can never be negative. */
|
||||||
|
return (DiagDirDiff)((uint)(d0 - d1) % 4);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Applies a difference on a DiagDirection
|
* Applies a difference on a DiagDirection
|
||||||
|
@@ -16,7 +16,6 @@
|
|||||||
#include "fileio_func.h"
|
#include "fileio_func.h"
|
||||||
|
|
||||||
#if (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 199309L) || (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE >= 500)
|
#if (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 199309L) || (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE >= 500)
|
||||||
# define WITH_FDATASYNC
|
|
||||||
# include <unistd.h>
|
# include <unistd.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -80,7 +79,7 @@ bool IniFile::SaveToDisk(const char *filename)
|
|||||||
* APIs to do so. We only need to flush the data as the metadata itself
|
* APIs to do so. We only need to flush the data as the metadata itself
|
||||||
* (modification date etc.) is not important to us; only the real data is.
|
* (modification date etc.) is not important to us; only the real data is.
|
||||||
*/
|
*/
|
||||||
#ifdef WITH_FDATASYNC
|
#if defined(_POSIX_SYNCHRONIZED_IO) && _POSIX_SYNCHRONIZED_IO > 0
|
||||||
int ret = fdatasync(fileno(f));
|
int ret = fdatasync(fileno(f));
|
||||||
fclose(f);
|
fclose(f);
|
||||||
if (ret != 0) return false;
|
if (ret != 0) return false;
|
||||||
|
@@ -41,7 +41,7 @@ STR_CARGO_PLURAL_VALUABLES :مقتنيات
|
|||||||
STR_CARGO_PLURAL_COPPER_ORE :منجم نحاس
|
STR_CARGO_PLURAL_COPPER_ORE :منجم نحاس
|
||||||
STR_CARGO_PLURAL_MAIZE :ذرة
|
STR_CARGO_PLURAL_MAIZE :ذرة
|
||||||
STR_CARGO_PLURAL_FRUIT :فواكة
|
STR_CARGO_PLURAL_FRUIT :فواكة
|
||||||
STR_CARGO_PLURAL_DIAMONDS :جواهر
|
STR_CARGO_PLURAL_DIAMONDS :ألماس
|
||||||
STR_CARGO_PLURAL_FOOD :طعام
|
STR_CARGO_PLURAL_FOOD :طعام
|
||||||
STR_CARGO_PLURAL_PAPER :ورق
|
STR_CARGO_PLURAL_PAPER :ورق
|
||||||
STR_CARGO_PLURAL_GOLD :ذهب
|
STR_CARGO_PLURAL_GOLD :ذهب
|
||||||
@@ -97,10 +97,10 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :مشروب غا
|
|||||||
STR_QUANTITY_NOTHING :
|
STR_QUANTITY_NOTHING :
|
||||||
STR_QUANTITY_PASSENGERS :{COMMA} راكب
|
STR_QUANTITY_PASSENGERS :{COMMA} راكب
|
||||||
STR_QUANTITY_COAL :{WEIGHT_LONG} من الفحم
|
STR_QUANTITY_COAL :{WEIGHT_LONG} من الفحم
|
||||||
STR_QUANTITY_MAIL :{COMMA} صندوق من البريد
|
STR_QUANTITY_MAIL :{COMMA}{NBSP} كيس بريد
|
||||||
STR_QUANTITY_OIL :{VOLUME_LONG} من النفط
|
STR_QUANTITY_OIL :{VOLUME_LONG} من النفط
|
||||||
STR_QUANTITY_LIVESTOCK :{COMMA}راس من الماشية
|
STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}رأس ماشية
|
||||||
STR_QUANTITY_GOODS :{COMMA} قفص من البضائع
|
STR_QUANTITY_GOODS :{COMMA}{NBSP} صندوق بضائع
|
||||||
STR_QUANTITY_GRAIN :{WEIGHT_LONG} من الحبوب
|
STR_QUANTITY_GRAIN :{WEIGHT_LONG} من الحبوب
|
||||||
STR_QUANTITY_WOOD :{WEIGHT_LONG} من الخشب
|
STR_QUANTITY_WOOD :{WEIGHT_LONG} من الخشب
|
||||||
STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} من خام الحديد
|
STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} من خام الحديد
|
||||||
@@ -109,16 +109,16 @@ STR_QUANTITY_VALUABLES :{COMMA}صندو
|
|||||||
STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} من خام النحاس
|
STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} من خام النحاس
|
||||||
STR_QUANTITY_MAIZE :{WEIGHT_LONG} من الذرة
|
STR_QUANTITY_MAIZE :{WEIGHT_LONG} من الذرة
|
||||||
STR_QUANTITY_FRUIT :{WEIGHT_LONG} من الفواكة
|
STR_QUANTITY_FRUIT :{WEIGHT_LONG} من الفواكة
|
||||||
STR_QUANTITY_DIAMONDS :{COMMA}كيس من الجواهر
|
STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}كيس ألماس
|
||||||
STR_QUANTITY_FOOD :{WEIGHT_LONG} من الطعام
|
STR_QUANTITY_FOOD :{WEIGHT_LONG} من الطعام
|
||||||
STR_QUANTITY_PAPER :{WEIGHT_LONG} من الورق
|
STR_QUANTITY_PAPER :{WEIGHT_LONG} من الورق
|
||||||
STR_QUANTITY_GOLD :{COMMA}كيس من الذهب
|
STR_QUANTITY_GOLD :{COMMA}{NBSP} كيس ذهب
|
||||||
STR_QUANTITY_WATER :{VOLUME_LONG} من المياة
|
STR_QUANTITY_WATER :{VOLUME_LONG} من المياة
|
||||||
STR_QUANTITY_WHEAT :{WEIGHT_LONG} من القمح
|
STR_QUANTITY_WHEAT :{WEIGHT_LONG} من القمح
|
||||||
STR_QUANTITY_RUBBER :{VOLUME_LONG} من المطاط
|
STR_QUANTITY_RUBBER :{VOLUME_LONG} من المطاط
|
||||||
STR_QUANTITY_SUGAR :{WEIGHT_LONG} من السكر
|
STR_QUANTITY_SUGAR :{WEIGHT_LONG} من السكر
|
||||||
STR_QUANTITY_TOYS :{COMMA}الالعاب
|
STR_QUANTITY_TOYS :{COMMA}{NBSP} لعبة
|
||||||
STR_QUANTITY_SWEETS :{COMMA} كيس من الحلويات
|
STR_QUANTITY_SWEETS :{COMMA}{NBSP} كيس حلويات
|
||||||
STR_QUANTITY_COLA :{VOLUME_LONG} من الكولا
|
STR_QUANTITY_COLA :{VOLUME_LONG} من الكولا
|
||||||
STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} من الحلاوة القطنية
|
STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} من الحلاوة القطنية
|
||||||
STR_QUANTITY_BUBBLES :{COMMA}فقاعات
|
STR_QUANTITY_BUBBLES :{COMMA}فقاعات
|
||||||
@@ -165,12 +165,12 @@ STR_ABBREV_NONE :{TINY_FONT}لا
|
|||||||
STR_ABBREV_ALL :{TINY_FONT}الكل
|
STR_ABBREV_ALL :{TINY_FONT}الكل
|
||||||
|
|
||||||
# 'Mode' of transport for cargoes
|
# 'Mode' of transport for cargoes
|
||||||
STR_PASSENGERS :{COMMA} ركاب
|
STR_PASSENGERS :{COMMA}{NBSP} راكب
|
||||||
STR_BAGS :{COMMA} صناديق
|
STR_BAGS :{COMMA}{NBSP} كيس
|
||||||
STR_TONS :{COMMA} اطنان/طن
|
STR_TONS :{COMMA}{NBSP} طن
|
||||||
STR_LITERS :{COMMA} لتر
|
STR_LITERS :{COMMA}{NBSP} لتر
|
||||||
STR_ITEMS :{COMMA} وحدة
|
STR_ITEMS :{COMMA} وحدة
|
||||||
STR_CRATES :{COMMA} صناديق
|
STR_CRATES :{COMMA}{NBSP} صندوق
|
||||||
|
|
||||||
# Colours, do not shuffle
|
# Colours, do not shuffle
|
||||||
STR_COLOUR_DARK_BLUE :ازرق غامق
|
STR_COLOUR_DARK_BLUE :ازرق غامق
|
||||||
@@ -191,32 +191,32 @@ STR_COLOUR_GREY :رمادي
|
|||||||
STR_COLOUR_WHITE :ابيض
|
STR_COLOUR_WHITE :ابيض
|
||||||
|
|
||||||
# Units used in OpenTTD
|
# Units used in OpenTTD
|
||||||
STR_UNITS_VELOCITY_IMPERIAL :{COMMA}ميل/س
|
STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}ميل/س
|
||||||
STR_UNITS_VELOCITY_METRIC :{COMMA}كم/س
|
STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}كم/س
|
||||||
STR_UNITS_VELOCITY_SI :{COMMA}م/ث
|
STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}م/ث
|
||||||
|
|
||||||
STR_UNITS_POWER_IMPERIAL :{COMMA}حصان
|
STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}حصان
|
||||||
STR_UNITS_POWER_METRIC :{COMMA}حصان
|
STR_UNITS_POWER_METRIC :{COMMA}{NBSP}حصان
|
||||||
STR_UNITS_POWER_SI :{COMMA}ك واط
|
STR_UNITS_POWER_SI :{COMMA}{NBSP}ك واط
|
||||||
|
|
||||||
STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}ت
|
STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP} طن
|
||||||
STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}طن
|
STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}طن
|
||||||
STR_UNITS_WEIGHT_SHORT_SI :{COMMA}كجم
|
STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}كجم
|
||||||
|
|
||||||
STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} طن
|
STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP} طن
|
||||||
STR_UNITS_WEIGHT_LONG_SI :{COMMA}كجم
|
STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}كجم
|
||||||
|
|
||||||
STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}غال
|
STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}غال
|
||||||
STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}ل
|
STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}ل
|
||||||
STR_UNITS_VOLUME_SHORT_SI :{COMMA}م3
|
STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}م3
|
||||||
|
|
||||||
STR_UNITS_VOLUME_LONG_METRIC :{COMMA} لتر
|
STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP} لتر
|
||||||
STR_UNITS_VOLUME_LONG_SI :{COMMA}م3
|
STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}م3
|
||||||
|
|
||||||
STR_UNITS_FORCE_SI :{COMMA} كيلو نيوتن
|
STR_UNITS_FORCE_SI :{COMMA}{NBSP} كيلو نيوتن
|
||||||
|
|
||||||
STR_UNITS_HEIGHT_IMPERIAL :{COMMA} قدم
|
STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP} قدم
|
||||||
STR_UNITS_HEIGHT_SI :{COMMA} متر
|
STR_UNITS_HEIGHT_SI :{COMMA}{NBSP} متر
|
||||||
|
|
||||||
# Common window strings
|
# Common window strings
|
||||||
STR_LIST_FILTER_OSKTITLE :{BLACK} ادخل فلتر
|
STR_LIST_FILTER_OSKTITLE :{BLACK} ادخل فلتر
|
||||||
@@ -286,7 +286,7 @@ STR_SORT_BY_ENGINE_ID :نوع المح
|
|||||||
STR_SORT_BY_COST :التكلفة
|
STR_SORT_BY_COST :التكلفة
|
||||||
STR_SORT_BY_POWER :الطاقة
|
STR_SORT_BY_POWER :الطاقة
|
||||||
STR_SORT_BY_TRACTIVE_EFFORT :قوة الجذب
|
STR_SORT_BY_TRACTIVE_EFFORT :قوة الجذب
|
||||||
STR_SORT_BY_INTRO_DATE :بداية التشغيل
|
STR_SORT_BY_INTRO_DATE :بداية الإنتاج
|
||||||
STR_SORT_BY_RUNNING_COST :تكلفة التشغيل
|
STR_SORT_BY_RUNNING_COST :تكلفة التشغيل
|
||||||
STR_SORT_BY_POWER_VS_RUNNING_COST :القوة/تكلفة التشغيل
|
STR_SORT_BY_POWER_VS_RUNNING_COST :القوة/تكلفة التشغيل
|
||||||
STR_SORT_BY_CARGO_CAPACITY :سعة الشحن
|
STR_SORT_BY_CARGO_CAPACITY :سعة الشحن
|
||||||
@@ -351,6 +351,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :انهاء
|
|||||||
|
|
||||||
############ range for settings menu starts
|
############ range for settings menu starts
|
||||||
STR_SETTINGS_MENU_GAME_OPTIONS :إعدادات اللعبه
|
STR_SETTINGS_MENU_GAME_OPTIONS :إعدادات اللعبه
|
||||||
|
STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :الإعدادات
|
||||||
STR_SETTINGS_MENU_SCRIPT_SETTINGS :الذكاء الصناعي/ اعدادات اللعبة
|
STR_SETTINGS_MENU_SCRIPT_SETTINGS :الذكاء الصناعي/ اعدادات اللعبة
|
||||||
STR_SETTINGS_MENU_NEWGRF_SETTINGS :إعدادات اﻹضافات
|
STR_SETTINGS_MENU_NEWGRF_SETTINGS :إعدادات اﻹضافات
|
||||||
STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :خيارات الشفافية
|
STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :خيارات الشفافية
|
||||||
@@ -941,7 +942,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}دقة
|
|||||||
STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}اختر دقة الشاشة
|
STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}اختر دقة الشاشة
|
||||||
STR_GAME_OPTIONS_RESOLUTION_OTHER :اخرى
|
STR_GAME_OPTIONS_RESOLUTION_OTHER :اخرى
|
||||||
|
|
||||||
|
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :حجم اللوحة
|
||||||
|
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :حدد العنصر المطلوب
|
||||||
|
|
||||||
|
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_BASE_GRF :{BLACK} الواجهة الرسومية الاساسية
|
STR_GAME_OPTIONS_BASE_GRF :{BLACK} الواجهة الرسومية الاساسية
|
||||||
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK} اختر مجموعة الواجهة الرسومية
|
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK} اختر مجموعة الواجهة الرسومية
|
||||||
@@ -1036,6 +1042,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :مسطح تما
|
|||||||
STR_TERRAIN_TYPE_FLAT :مسطح
|
STR_TERRAIN_TYPE_FLAT :مسطح
|
||||||
STR_TERRAIN_TYPE_HILLY :مرتفعات - هضاب
|
STR_TERRAIN_TYPE_HILLY :مرتفعات - هضاب
|
||||||
STR_TERRAIN_TYPE_MOUNTAINOUS :جبال
|
STR_TERRAIN_TYPE_MOUNTAINOUS :جبال
|
||||||
|
STR_TERRAIN_TYPE_ALPINIST :شاهق
|
||||||
|
|
||||||
STR_CITY_APPROVAL_PERMISSIVE :متساهل
|
STR_CITY_APPROVAL_PERMISSIVE :متساهل
|
||||||
STR_CITY_APPROVAL_TOLERANT :متقبل
|
STR_CITY_APPROVAL_TOLERANT :متقبل
|
||||||
@@ -1044,6 +1051,7 @@ STR_CITY_APPROVAL_HOSTILE :معاد
|
|||||||
STR_WARNING_NO_SUITABLE_AI :{WHITE}لايوجد ذكاء اصطناعي متاح ...{}تستطيع تجميل العديد من الذكاء الاصطناعي عن طريق اللانترنت
|
STR_WARNING_NO_SUITABLE_AI :{WHITE}لايوجد ذكاء اصطناعي متاح ...{}تستطيع تجميل العديد من الذكاء الاصطناعي عن طريق اللانترنت
|
||||||
|
|
||||||
# Settings tree window
|
# Settings tree window
|
||||||
|
STR_CONFIG_SETTING_TREE_CAPTION :الإعدادات
|
||||||
STR_CONFIG_SETTING_EXPAND_ALL :مدد الكل
|
STR_CONFIG_SETTING_EXPAND_ALL :مدد الكل
|
||||||
STR_CONFIG_SETTING_COLLAPSE_ALL :إسحب الكل
|
STR_CONFIG_SETTING_COLLAPSE_ALL :إسحب الكل
|
||||||
|
|
||||||
@@ -1053,11 +1061,11 @@ STR_CONFIG_SETTING_RESTRICT_BASIC :اﻹعدادا
|
|||||||
|
|
||||||
STR_CONFIG_SETTING_TYPE_DROPDOWN_HELPTEXT :{BLACK}احصر القائمة على انواع اعدادات محددة
|
STR_CONFIG_SETTING_TYPE_DROPDOWN_HELPTEXT :{BLACK}احصر القائمة على انواع اعدادات محددة
|
||||||
STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :كل الاعدادات
|
STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :كل الاعدادات
|
||||||
STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :اعدادات العميل (غير مخزن في المحفوظات, يؤثر على كل الالعاب)
|
STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :اعدادات العميل (لا يخزن في الحفظ ؛ يطبق على كل الالعاب)
|
||||||
STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :اعدادات اللعبة (مخزن في المحفوظات, يؤثر على الالعاب الجديدة فقط)
|
STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :اعدادات اللعبة (يخزن في الحفظ ؛ يطبق على الالعاب الجديدة فقط)
|
||||||
STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :اعدادات اللعبة (مخزن في المحفوظات, يؤثر على اللعبة الحالية فقط)
|
STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :اعدادات اللعبة (يخزن في الحفظ ؛ يطبق على اللعبة الحالية فقط)
|
||||||
STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :اعدادات الشركة (مخزن في المحفوظات, يؤثر على الالعاب الجديدة فقط)
|
STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :اعدادات الشركة (يخزن في الحفظ ؛ يطبق على الالعاب الجديدة فقط)
|
||||||
STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :اعدادات الشركة (مخزن في المحفوظات: يؤثر على الشركة الحالية فقط)
|
STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :اعدادات الشركة (يخزن في الحفظ ؛ يطبق على الشركة الحالية فقط)
|
||||||
STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK}عرض جميع النتائج بالنسبة للإعداد {}{SILVER} الفئة {BLACK} إلى {WHITE}{STRING} {BLACK}و{SILVER}نوع {BLACK} إلى{WHITE} جميع انواع الإعدادات
|
STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK}عرض جميع النتائج بالنسبة للإعداد {}{SILVER} الفئة {BLACK} إلى {WHITE}{STRING} {BLACK}و{SILVER}نوع {BLACK} إلى{WHITE} جميع انواع الإعدادات
|
||||||
STR_CONFIG_SETTINGS_NONE :{WHITE} - بدون -
|
STR_CONFIG_SETTINGS_NONE :{WHITE} - بدون -
|
||||||
|
|
||||||
@@ -1078,7 +1086,7 @@ STR_CONFIG_SETTING_HORIZONTAL_POS_CENTER :متوسط
|
|||||||
STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :يمين
|
STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :يمين
|
||||||
|
|
||||||
|
|
||||||
STR_CONFIG_SETTING_AUTOSLOPE :السماح باعادة بناء التلال تحت المباني, الطرق, الخ .-الانحدار الذاتي- {STRING}
|
STR_CONFIG_SETTING_AUTOSLOPE :السماح بتحريك الأرض تحت المباني, الطرق, الخ : {STRING}
|
||||||
STR_CONFIG_SETTING_CATCHMENT :السماح بحدود اكثر واقعية للمحطات بحسب الحجم: {STRING}
|
STR_CONFIG_SETTING_CATCHMENT :السماح بحدود اكثر واقعية للمحطات بحسب الحجم: {STRING}
|
||||||
STR_CONFIG_SETTING_EXTRADYNAMITE :السماح بحذف اكثر من الطرق المملوكة للمدينة و الجسور و غيرها: {STRING}
|
STR_CONFIG_SETTING_EXTRADYNAMITE :السماح بحذف اكثر من الطرق المملوكة للمدينة و الجسور و غيرها: {STRING}
|
||||||
STR_CONFIG_SETTING_SMOKE_AMOUNT :كمية دخان/شرار القطارات:{STRING}
|
STR_CONFIG_SETTING_SMOKE_AMOUNT :كمية دخان/شرار القطارات:{STRING}
|
||||||
@@ -1204,7 +1212,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :لا تصرف
|
|||||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :الكل ما عدا عمليات البناء
|
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :الكل ما عدا عمليات البناء
|
||||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :الكل ما عدا خيارات تعديل الخريطة
|
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :الكل ما عدا خيارات تعديل الخريطة
|
||||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :كل تصرف
|
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :كل تصرف
|
||||||
STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :استخدام قائمة العربات المطورة: {STRING}
|
STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :استخدام المجموعات في قائمة العربات : {STRING}
|
||||||
STR_CONFIG_SETTING_LOADING_INDICATORS :تفعيل مؤشر التحميل: {STRING}
|
STR_CONFIG_SETTING_LOADING_INDICATORS :تفعيل مؤشر التحميل: {STRING}
|
||||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :عرض جدولة الأعمال بالمهام بدلا من الأيام: {STRING}
|
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :عرض جدولة الأعمال بالمهام بدلا من الأيام: {STRING}
|
||||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :عرض الوصول و المغادرة في جدولة الاعمال: {STRING}
|
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :عرض الوصول و المغادرة في جدولة الاعمال: {STRING}
|
||||||
@@ -1400,6 +1408,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}لعب
|
|||||||
|
|
||||||
STR_INTRO_GAME_OPTIONS :{BLACK}إعدادات اللعبه
|
STR_INTRO_GAME_OPTIONS :{BLACK}إعدادات اللعبه
|
||||||
STR_INTRO_HIGHSCORE :{BLACK}قائمه المتفوقين
|
STR_INTRO_HIGHSCORE :{BLACK}قائمه المتفوقين
|
||||||
|
STR_INTRO_CONFIG_SETTINGS_TREE :الاعدادات
|
||||||
STR_INTRO_NEWGRF_SETTINGS :{BLACK} اعدادات NewGRF
|
STR_INTRO_NEWGRF_SETTINGS :{BLACK} اعدادات NewGRF
|
||||||
STR_INTRO_ONLINE_CONTENT :{BLACK} إبحث عن المحتوى عبر الشبكه العنكبوتيه
|
STR_INTRO_ONLINE_CONTENT :{BLACK} إبحث عن المحتوى عبر الشبكه العنكبوتيه
|
||||||
STR_INTRO_SCRIPT_SETTINGS :{BLACK}إعدادات الذكاء الصناعى
|
STR_INTRO_SCRIPT_SETTINGS :{BLACK}إعدادات الذكاء الصناعى
|
||||||
@@ -1418,6 +1427,7 @@ STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}اختي
|
|||||||
STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}اختيار نمط الألعاب
|
STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}اختيار نمط الألعاب
|
||||||
|
|
||||||
STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}عرض خيارات اللعبة
|
STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}عرض خيارات اللعبة
|
||||||
|
STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :إعدادات العرض
|
||||||
STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}عرض إعدادات اﻹضافات
|
STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}عرض إعدادات اﻹضافات
|
||||||
STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK} ابحث عن محتوى جديد او تحديث
|
STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK} ابحث عن محتوى جديد او تحديث
|
||||||
STR_INTRO_TOOLTIP_QUIT :{BLACK}اغلاق'OpenTTD'
|
STR_INTRO_TOOLTIP_QUIT :{BLACK}اغلاق'OpenTTD'
|
||||||
@@ -2373,6 +2383,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}اسم
|
|||||||
STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}الحجم:
|
STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}الحجم:
|
||||||
STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} * {NUM}
|
STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} * {NUM}
|
||||||
|
|
||||||
|
STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :تغيير أعلى ارتفاع للخريطة
|
||||||
STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}غير مستوى خط الثلج
|
STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}غير مستوى خط الثلج
|
||||||
STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}غير سنة البداية
|
STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}غير سنة البداية
|
||||||
|
|
||||||
@@ -2592,8 +2603,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING
|
|||||||
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} تم توصيلة
|
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} تم توصيلة
|
||||||
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (مازال مطلوب)
|
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (مازال مطلوب)
|
||||||
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (تم توصيلة)
|
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (تم توصيلة)
|
||||||
STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}المدينة تنمو كل {ORANGE}{COMMA}{BLACK} يوم
|
STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}المدينة تنمو كل {ORANGE}{COMMA}{BLACK}{NBSP} يوم
|
||||||
STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}المدينة تنمو كل {ORANGE}{COMMA}{BLACK} يوم{} (مول)
|
STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}المدينة تنمو كل {ORANGE}{COMMA}{BLACK}{NBSP} يوم (ممول)
|
||||||
STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}المدينة {RED}لا{BLACK} تنمو
|
STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}المدينة {RED}لا{BLACK} تنمو
|
||||||
STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}حدود الضوضاء داخل المدن: {ORANGE}{COMMA}{BLACK} القصوى: {ORANGE}{COMMA}
|
STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}حدود الضوضاء داخل المدن: {ORANGE}{COMMA}{BLACK} القصوى: {ORANGE}{COMMA}
|
||||||
STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}وسط الشاشة الاساسية على موقع المدينة
|
STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}وسط الشاشة الاساسية على موقع المدينة
|
||||||
@@ -2863,7 +2874,7 @@ STR_GROUP_DEFAULT_ROAD_VEHICLES :لاتنتمي
|
|||||||
STR_GROUP_DEFAULT_SHIPS :مركبة لاتنتمي لأي مجموعة
|
STR_GROUP_DEFAULT_SHIPS :مركبة لاتنتمي لأي مجموعة
|
||||||
STR_GROUP_DEFAULT_AIRCRAFTS :طائرة لاتنتمي لأي مجموعة
|
STR_GROUP_DEFAULT_AIRCRAFTS :طائرة لاتنتمي لأي مجموعة
|
||||||
|
|
||||||
STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}المجموعات: اضغط على اي مجموعة لعرض المركبات التابعة لها
|
STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}المجموعات: اضغط على اي مجموعة لعرض مركباتها . اسحب للترتيب .
|
||||||
STR_GROUP_CREATE_TOOLTIP :{BLACK}أضغط لإنشاء مجموعة
|
STR_GROUP_CREATE_TOOLTIP :{BLACK}أضغط لإنشاء مجموعة
|
||||||
STR_GROUP_DELETE_TOOLTIP :{BLACK}أحذف المجموعة المختارة
|
STR_GROUP_DELETE_TOOLTIP :{BLACK}أحذف المجموعة المختارة
|
||||||
STR_GROUP_RENAME_TOOLTIP :{BLACK}أعد تسمية المجموعة المختارة
|
STR_GROUP_RENAME_TOOLTIP :{BLACK}أعد تسمية المجموعة المختارة
|
||||||
@@ -3158,7 +3169,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK} الس
|
|||||||
|
|
||||||
STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}مقدار التحويل: {LTBLUE}{CURRENCY_LONG}
|
STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}مقدار التحويل: {LTBLUE}{CURRENCY_LONG}
|
||||||
|
|
||||||
STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}فترات الصيانة: {LTBLUE}{COMMA} يوم {BLACK} اخر صيانة: {LTBLUE}{DATE_LONG}
|
STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}فترات الصيانة: {LTBLUE}{COMMA}{NBSP} يوم {BLACK} اخر صيانة: {LTBLUE}{DATE_LONG}
|
||||||
STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}فترات الصيانة: {LTBLUE}{COMMA}% {BLACK} الصيانة الأخيرة: {LTBLUE}{DATE_LONG}
|
STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}فترات الصيانة: {LTBLUE}{COMMA}% {BLACK} الصيانة الأخيرة: {LTBLUE}{DATE_LONG}
|
||||||
STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}زيادة فترات الصيانة بقدر 10. ومع مفتاح كنترول بمقدار 5.
|
STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}زيادة فترات الصيانة بقدر 10. ومع مفتاح كنترول بمقدار 5.
|
||||||
STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK} انقاص فترات الصيانة بمعدل 10. Ctrl+ الضغط الانقاص بمعدل 5.
|
STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK} انقاص فترات الصيانة بمعدل 10. Ctrl+ الضغط الانقاص بمعدل 5.
|
||||||
@@ -3250,8 +3261,8 @@ STR_ORDER_TOOLTIP_UNLOAD :{BLACK}غير
|
|||||||
|
|
||||||
STR_ORDER_REFIT :{BLACK}اعادة تهيئة
|
STR_ORDER_REFIT :{BLACK}اعادة تهيئة
|
||||||
STR_ORDER_REFIT_TOOLTIP :{BLACK}اختر نوع البضائع المنقولة لتهيئة العربات في هذا الامر. اضغط كنترول لازالة تعليمات التهيئة.
|
STR_ORDER_REFIT_TOOLTIP :{BLACK}اختر نوع البضائع المنقولة لتهيئة العربات في هذا الامر. اضغط كنترول لازالة تعليمات التهيئة.
|
||||||
STR_ORDER_REFIT_AUTO :{BLACK}ملائمة ذاتية
|
STR_ORDER_REFIT_AUTO :{BLACK}ملائمة في محطة
|
||||||
STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}اختر اي نوع من الحملة تريد ملائمتها ذاتيا.
|
STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}اختر اي نوع من الحمولة تريد ملائمتها . اضغط مع ctrl لإزالة الملائمة . الملائمة في المحطات لن تكون ما لم تقبل العربة ذلك .
|
||||||
STR_ORDER_DROP_REFIT_AUTO :شحنة ثابتة
|
STR_ORDER_DROP_REFIT_AUTO :شحنة ثابتة
|
||||||
STR_ORDER_DROP_REFIT_AUTO_ANY :البضائع المتاحة
|
STR_ORDER_DROP_REFIT_AUTO_ANY :البضائع المتاحة
|
||||||
|
|
||||||
@@ -3342,13 +3353,13 @@ STR_ORDER_NO_UNLOAD_FULL_LOAD :(عدم انز
|
|||||||
STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :-عدم انزال الشحنة و الانتظار للحمولة القصوى لاي شحنة-
|
STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :-عدم انزال الشحنة و الانتظار للحمولة القصوى لاي شحنة-
|
||||||
STR_ORDER_NO_UNLOAD_NO_LOAD :(لا تفريغ و لا تحميل)
|
STR_ORDER_NO_UNLOAD_NO_LOAD :(لا تفريغ و لا تحميل)
|
||||||
|
|
||||||
STR_ORDER_AUTO_REFIT :(ملائمة ذاتية ل {STRING})
|
STR_ORDER_AUTO_REFIT :(ملائمة لـ {STRING})
|
||||||
STR_ORDER_FULL_LOAD_REFIT :(تحميل كلي مع الملائمة الذاتية لـ {STRING})
|
STR_ORDER_FULL_LOAD_REFIT :(تحميل كلي مع الملائمة لـ {STRING})
|
||||||
STR_ORDER_FULL_LOAD_ANY_REFIT :(تحميل كلي لاي بضاعة مع الملائمة الذاتية لـ {STRING})
|
STR_ORDER_FULL_LOAD_ANY_REFIT :(تحميل كلي لأي بضاعة مع الملائمة لـ {STRING})
|
||||||
STR_ORDER_UNLOAD_REFIT :(تفريغ الحمولة و شحن البضائع مع الملائمة الذاتية لـ {STRING})
|
STR_ORDER_UNLOAD_REFIT :(تفريغ الحمولة و شحن البضائع مع الملائمة لـ {STRING})
|
||||||
STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(تفرغ الحمولة و الانتظار للتحميل الكلي مع الملائمة لـ {STRING})
|
STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(تفرغ الحمولة و الانتظار للتحميل الكلي مع الملائمة لـ {STRING})
|
||||||
STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(التفريغ و الانتظار للتحميل الكلي لاي بضاعة مع الملائمة الذاتية لـ {STRING})
|
STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(التفريغ و الانتظار للتحميل الكلي لأي بضاعة مع الملائمة لـ {STRING})
|
||||||
STR_ORDER_TRANSFER_REFIT :(تحويل البضاعة و اخذ البضاعة مع الملائمة الذاتية لـ {STRING})
|
STR_ORDER_TRANSFER_REFIT :(تحويل البضاعة و أخذ البضاعة مع الملائمة لـ {STRING})
|
||||||
STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(تحويل البضاعة و الانتظار للحمولة القصوى مع الملائمة الذاتية لـ {STRING})
|
STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(تحويل البضاعة و الانتظار للحمولة القصوى مع الملائمة الذاتية لـ {STRING})
|
||||||
STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(تحويل البضاعة و الانتظار لاي حمولة كاملة مع الملائمة الذاتية لـ {STRING})
|
STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(تحويل البضاعة و الانتظار لاي حمولة كاملة مع الملائمة الذاتية لـ {STRING})
|
||||||
STR_ORDER_NO_UNLOAD_REFIT :(عدم التفريغ و تحميل البضائع مع الملائمة الذاتية لـ {STRING})
|
STR_ORDER_NO_UNLOAD_REFIT :(عدم التفريغ و تحميل البضائع مع الملائمة الذاتية لـ {STRING})
|
||||||
@@ -3620,7 +3631,7 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... قر
|
|||||||
STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... قريبة جدا من مدينة أخرى
|
STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... قريبة جدا من مدينة أخرى
|
||||||
STR_ERROR_TOO_MANY_TOWNS :{WHITE}... المدن كثيرة جدا
|
STR_ERROR_TOO_MANY_TOWNS :{WHITE}... المدن كثيرة جدا
|
||||||
STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... لا يوجد فراغ في الخريطة
|
STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... لا يوجد فراغ في الخريطة
|
||||||
STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}لن تبني البلدية طرق جديدة. بامكانك تمكين البلدية من بناء الطرق الجديدة عن طريق الاعدادات المتقدمة --> الاقتصاد --> المدن
|
STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}لن تبني البلدية طرق جديدة. بإمكانك تمكين بناء الطرق الجديدة عن طريق الاعدادات --> البيئة--> المدن
|
||||||
STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}اعمال الطرق قيد التنفيذ
|
STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}اعمال الطرق قيد التنفيذ
|
||||||
STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}لا يمكن ازالة هذه المدينة {}محطة او ورشة مرتبطة بالمدينة او هناك مربع مملوك للمدينة لا يمكن لزالته
|
STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}لا يمكن ازالة هذه المدينة {}محطة او ورشة مرتبطة بالمدينة او هناك مربع مملوك للمدينة لا يمكن لزالته
|
||||||
STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... لا يوجد مكان مناسب للمجسم بداخل هذة المدينة/البلدة
|
STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... لا يوجد مكان مناسب للمجسم بداخل هذة المدينة/البلدة
|
||||||
|
@@ -1181,64 +1181,64 @@ STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL :Model d'acceler
|
|||||||
STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_HELPTEXT :Seleccioneu el model físic per l'acceleració de trens. El model «original» penalitza les pujades per igual a tots els vehicles. El model «realista» penalitza les pujades i les corbes en funció de diverses propietats del tren, com ara la longitud i la força de tracció
|
STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_HELPTEXT :Seleccioneu el model físic per l'acceleració de trens. El model «original» penalitza les pujades per igual a tots els vehicles. El model «realista» penalitza les pujades i les corbes en funció de diverses propietats del tren, com ara la longitud i la força de tracció
|
||||||
STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL :Model d'acceleració per als vehicles: {STRING}
|
STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL :Model d'acceleració per als vehicles: {STRING}
|
||||||
STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT :Seleccioneu el model físic per l'acceleració d'automòbils. El model «original» penalitza les pujades per igual a tots els vehicles. El model «realista» penalitza els pendents en funció de les diferents propietats de la màquina, com per exemple l'esforç de tracció.
|
STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT :Seleccioneu el model físic per l'acceleració d'automòbils. El model «original» penalitza les pujades per igual a tots els vehicles. El model «realista» penalitza els pendents en funció de les diferents propietats de la màquina, com per exemple l'esforç de tracció.
|
||||||
STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS :Pendent d'inclinació per als trens: {STRING}
|
STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS :Pendent de les costes per als trens: {STRING}
|
||||||
STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :La inclinació d'una cel·la en pendent per a un tren. Els valors més alts fan que sigui més difícil escalar un turó
|
STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :El pendent de les caselles amb costes per als trens. Els valors alts fan que sigui més difícil pujar els turons.
|
||||||
STR_CONFIG_SETTING_PERCENTAGE :{COMMA}%
|
STR_CONFIG_SETTING_PERCENTAGE :{COMMA}%
|
||||||
STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Pendent d'inclinació per als automòbils: {STRING}
|
STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Pendent de les costes per als vehicles de carretera: {STRING}
|
||||||
STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :La inclinació d'una cel·la amb pendent per a automòbils. Els valors més alts fan que sigui més difícil escalar un turó
|
STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :El pendent de les caselles amb costes per a vehicles de carretera. Els valors alts fan que sigui més difícil pujar els turons.
|
||||||
STR_CONFIG_SETTING_FORBID_90_DEG :Prohibeix fer girs de 90 graus als trens i vaixells: {STRING}
|
STR_CONFIG_SETTING_FORBID_90_DEG :Prohibeix fer girs de 90 graus als trens i vaixells: {STRING}
|
||||||
STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Els girs de 90 graus succeeixen quan una via horitzontal està seguida d'una vertical a la cel·la annexa, provocant que el tren giri 90 graus quan travessi la vora de la cel·la en lloc dels 45 graus usuals en les altres combinacions. Això també s'aplica al radi de gir dels vaixells
|
STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Els girs de 90 graus succeeixen quan hi ha una via horitzontal seguida d'una de vertical a la cel·la annexa, provocant que el tren giri 90 graus quan travessi la vora de la cel·la en lloc dels 45 graus usuals en les altres combinacions. Això també s'aplica al gir dels vaixells.
|
||||||
STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Permet ajuntar estacions no annexes: {STRING}
|
STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Permet ajuntar estacions no annexes: {STRING}
|
||||||
STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Permetre afegir parts a una estació sense contacte directe amb les parts existents. Fa falta Ctrl + Clic, mentre és col·loquen les peces noves
|
STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Aquesta opció permet afegir parts noves a una estació existent sense estar les parts noves en contacte directe amb les existents. Cal clicar Ctrl+Clic mentre es col·loquen les parts noves.
|
||||||
STR_CONFIG_SETTING_INFLATION :Inflació: {STRING}
|
STR_CONFIG_SETTING_INFLATION :Inflació: {STRING}
|
||||||
STR_CONFIG_SETTING_INFLATION_HELPTEXT :Habilita la inflació a l'economia, on l'augment dels costos són una mica més ràpids que els dels pagaments
|
STR_CONFIG_SETTING_INFLATION_HELPTEXT :Habilita la inflació a l'economia, on l'augment dels costos són una mica més ràpids que els dels pagaments.
|
||||||
STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Màxima longitud dels ponts: {STRING}
|
STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Longitud màxima dels ponts: {STRING}
|
||||||
STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Longitud màxima per a la construcció de ponts
|
STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Longitud màxima per a la construcció de ponts
|
||||||
STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Alçada màxima dels ponts: {STRING}
|
STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Alçada màxima dels ponts: {STRING}
|
||||||
STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Alçada màxima de construcció dels ponts
|
STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Alçada màxima de construcció dels ponts
|
||||||
STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Màxima longitud dels túnels: {STRING}
|
STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Màxima longitud dels túnels: {STRING}
|
||||||
STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Longitud màxima per a la construcció de túnels
|
STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Longitud màxima per a la construcció de túnels
|
||||||
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Mètode de construcció de la indústria primària manual: {STRING}
|
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Fundació de noves indústries primàries: {STRING}
|
||||||
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT :Mètode de finançament d'indústria primària. 'cap' significa que no serà possible fundar-ne cap, 'prospecció' significa que serà possible fundar-ne, però la construcció succeirà en un lloc aleatori del mapa i també podria passar que fracassi, 'com les altre indústries' significa que les indústries de matèries primeres poden ser construides a qualsevol lloc per les companyies igual que les indústries manufactureres
|
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT :Mètode de fundació de noves indústries primàries. «Fundació desactivada» significa que no serà possible fundar-ne cap, «Amb prospeccions» significa que serà possible fundar-ne, però la construcció succeirà en un lloc aleatori del mapa i podria fracassar. «Com les altres indústries» significa que les indústries de matèries primeres poden ser construïdes en qualsevol lloc per les companyies igual que les indústries manufactureres.
|
||||||
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE :Cap
|
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE :Fundació desactivada
|
||||||
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :Com les altres indústries
|
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :Com les altres indústries
|
||||||
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :Prospeccionant
|
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :Amb prospeccions
|
||||||
STR_CONFIG_SETTING_INDUSTRY_PLATFORM :Àrea plana al voltant de les indústries: {STRING}
|
STR_CONFIG_SETTING_INDUSTRY_PLATFORM :Àrea anivellada al voltant de les indústries: {STRING}
|
||||||
STR_CONFIG_SETTING_INDUSTRY_PLATFORM_HELPTEXT :Quantitat d'espai pla al voltant d'una indústira. Això assegura que quedarà espai buit al voltant de la indústria per a construir vies, etc.
|
STR_CONFIG_SETTING_INDUSTRY_PLATFORM_HELPTEXT :Quantitat d'espai pla al voltant d'una indústria. Això assegura que quedarà espai buit al voltant de la indústria per construir vies o altres infraestructures.
|
||||||
STR_CONFIG_SETTING_MULTIPINDTOWN :Permet vàries indústries similars a cada població: {STRING}
|
STR_CONFIG_SETTING_MULTIPINDTOWN :Permet vàries indústries similars a cada població: {STRING}
|
||||||
STR_CONFIG_SETTING_MULTIPINDTOWN_HELPTEXT :Normalment, una població no vol més d'un tipus d'indústria de cada tipus. Amb aquest paràmetre es permetrà diverses indústries del mateix tipus a la mateixa població
|
STR_CONFIG_SETTING_MULTIPINDTOWN_HELPTEXT :Normalment, una població no vol tenir més d'una indústria de cada tipus. Amb aquest paràmetre es permet la construcció de diverses indústries del mateix tipus a la mateixa població.
|
||||||
STR_CONFIG_SETTING_SIGNALSIDE :Mostra els senyals: {STRING}
|
STR_CONFIG_SETTING_SIGNALSIDE :Mostra els senyals: {STRING}
|
||||||
STR_CONFIG_SETTING_SIGNALSIDE_HELPTEXT :Selecciona a quin costat de la via s'han de posar els senyals
|
STR_CONFIG_SETTING_SIGNALSIDE_HELPTEXT :Seleccioneu a quin costat de la via s'han de posar els senyals
|
||||||
STR_CONFIG_SETTING_SIGNALSIDE_LEFT :A l'esquerra
|
STR_CONFIG_SETTING_SIGNALSIDE_LEFT :A l'esquerra
|
||||||
STR_CONFIG_SETTING_SIGNALSIDE_DRIVING_SIDE :Al costat de conducció
|
STR_CONFIG_SETTING_SIGNALSIDE_DRIVING_SIDE :Al costat de conducció
|
||||||
STR_CONFIG_SETTING_SIGNALSIDE_RIGHT :A la dreta
|
STR_CONFIG_SETTING_SIGNALSIDE_RIGHT :A la dreta
|
||||||
STR_CONFIG_SETTING_SHOWFINANCES :Mostra la finestra de balanç al finalitzar cada any: {STRING}
|
STR_CONFIG_SETTING_SHOWFINANCES :Mostra la finestra de balanç al finalitzar cada any: {STRING}
|
||||||
STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Si està activat, la finestra de finances apareix al final de cada any per permetre una inspecció fàcil de l'estat financer de la companyia
|
STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Si el paràmetre està activat, la finestra de finances apareix al final de cada any per permetre una inspecció fàcil de l'estat financer de la companyia.
|
||||||
STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Les noves ordres predeterminades són 'sense parada': {STRING}
|
STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :«Sense parada» per defecte a les noves ordres : {STRING}
|
||||||
STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normalment, un vehicle pararà a cada estació que passi. Activant aquest paràmetre no pararà a cap estació fins arribar a la seu destí. Nota, aquest paràmetre només defineix el valor predeterminat per les noves ordres. De totes maneres les ordres individuals poden establir explícitament qualsevol dels comportaments
|
STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normalment, un vehicle para a cada estació per la que passa. Activant aquest paràmetre, no pararà a cap estació fins arribar al seu destí. Nota: aquest paràmetre només defineix el valor predeterminat per a les noves ordres. Un cop creada una ordre, aquesta es pot establir manualment al comportament desitjat.
|
||||||
STR_CONFIG_SETTING_STOP_LOCATION :Noves ordres del tren: parar per defecte {STRING} de la plataforma
|
STR_CONFIG_SETTING_STOP_LOCATION :Noves ordres de trens: parar per defecte {STRING} de la plataforma
|
||||||
STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Situa en quin lloc de la plataforma el tren pararà per defecte. 'Extrem més proper' significa a prop del punt d'entrada, 'al mig' significa al mig de la plataforma, i 'extrem més llunyà' significa lluny del punt d'entrada. Nota, aquest paràmetre només defineix el valor predeterminat per les noves ordres. De totes maneres les ordres individuals poden establir explícitament qualsevol dels comportaments
|
STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Estableix en quin lloc de la plataforma els trens pararan per defecte. «Extrem més proper» significa a prop del punt d'entrada, «Al mig» significa al mig de la plataforma, i «Extrem més llunyà» significa lluny del punt d'entrada. Nota: aquest paràmetre només defineix el valor predeterminat per les noves ordres. Un cop creada una ordre, es pot modificar el comportament de forma manual.
|
||||||
STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :a l'extrem més proper
|
STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :A l'extrem més proper
|
||||||
STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :a la meitat
|
STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :Al mig
|
||||||
STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :a l'extrem més llunyà
|
STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :A l'extrem més llunyà
|
||||||
STR_CONFIG_SETTING_AUTOSCROLL :Finestra d'avís quan el ratolí és al marc del programa: {STRING}
|
STR_CONFIG_SETTING_AUTOSCROLL :Desplaça la finestra quan el ratolí sigui prop de la vora: {STRING}
|
||||||
STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Quan està activat, les vistes començaran a desplaçar-se quan el ratolí sigui a prop la vora de la finestra
|
STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Quan està activat, l'àrea de visualització començarà a desplaçar-se quan el ratolí sigui prop de la vora de la finestra.
|
||||||
STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Desactivat
|
STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Desactivat
|
||||||
STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :Vista principal, només pantalla completa
|
STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :Vista principal (només pantalla completa)
|
||||||
STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT :Vista principal
|
STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT :Vista principal
|
||||||
STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :Cada vista
|
STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :Qualsevol vista
|
||||||
STR_CONFIG_SETTING_BRIBE :Permet subornar a les autoritats locals: {STRING}
|
STR_CONFIG_SETTING_BRIBE :Permet subornar les autoritats locals: {STRING}
|
||||||
STR_CONFIG_SETTING_BRIBE_HELPTEXT :Permet a les companyies intentar subornar a l'autoritat local. Si el suborn és detectat per un inspector, la companyia no podrà actuar a la població durant sis mesos
|
STR_CONFIG_SETTING_BRIBE_HELPTEXT :Permet a les companyies intentar subornar l'autoritat local. Si el suborn és detectat per un inspector, la companyia no podrà actuar a la població durant sis mesos.
|
||||||
STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Permet comprar els drets del transport en exclusiva: {STRING}
|
STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Permet comprar els drets del transport en exclusiva: {STRING}
|
||||||
STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Si una companyia compra els drets de transport en exclusiva en una població, les estacions dels oponents (passatgers i càrrega) no rebran cap càrrega durant tot l'any
|
STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Si una companyia compra els drets de transport en exclusiva d'una població, les estacions dels oponents (passatgers i càrrega) no rebran cap càrrega durant un any sencer.
|
||||||
STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Permet finançar edificis: {STRING}
|
STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Permet finançar edificis: {STRING}
|
||||||
STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Permet a les companyies donar diners a les poblacions per a finançar nous edificis
|
STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Permet a les companyies donar diners a les poblacions per finançar nous edificis
|
||||||
STR_CONFIG_SETTING_ALLOW_FUND_ROAD :Permet finançar la reconstrucció dels carrers locals: {STRING}
|
STR_CONFIG_SETTING_ALLOW_FUND_ROAD :Permet finançar la reconstrucció dels carrers locals: {STRING}
|
||||||
STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :Permet a les companyies donar diners a les poblacions per a la reconstrucció de carrers i sabotejar-hi la circulació de vehicles
|
STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :Permet a les companyies donar diners a les poblacions per la reconstrucció de carrers i sabotejar la circulació de vehicles.
|
||||||
STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :Permet enviar diners a altres companyies: {STRING}
|
STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :Permet enviar diners a altres companyies: {STRING}
|
||||||
STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT :Permet transferir diners entre companyies en el mode multijugador
|
STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT :Permet transferir diners entre companyies en el mode multijugador
|
||||||
STR_CONFIG_SETTING_FREIGHT_TRAINS :Multiplicador de pes per contenidor per simular trens pesats: {STRING}
|
STR_CONFIG_SETTING_FREIGHT_TRAINS :Multiplicador de pes per simular trens pesats: {STRING}
|
||||||
STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT :Estableix l'impacte de transportar contenidors en trens. Un valor més alt fa que transportar contenidors sigui més exigent amb els trens, especialment als turons
|
STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT :Estableix l'impacte de transportar contenidors en trens. Els valors alts fan que transportar contenidors sigui més exigent amb els trens, especialment als turons.
|
||||||
STR_CONFIG_SETTING_PLANE_SPEED :Factor de velocitat dels avions: {STRING}
|
STR_CONFIG_SETTING_PLANE_SPEED :Factor de velocitat dels avions: {STRING}
|
||||||
STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Estableix la velocitat relativa dels avions en comparació amb els altres tipus de vehicles, per reduir la quantitat de guanys de transport dels avions
|
STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Estableix la velocitat relativa dels avions en comparació amb els altres tipus de vehicles, per reduir la quantitat de guanys de transport dels avions
|
||||||
STR_CONFIG_SETTING_PLANE_SPEED_VALUE :1 / {COMMA}
|
STR_CONFIG_SETTING_PLANE_SPEED_VALUE :1 / {COMMA}
|
||||||
|
@@ -30,7 +30,7 @@ STR_CARGO_PLURAL_NOTHING :
|
|||||||
STR_CARGO_PLURAL_PASSENGERS :Passagiers
|
STR_CARGO_PLURAL_PASSENGERS :Passagiers
|
||||||
STR_CARGO_PLURAL_COAL :Kolen
|
STR_CARGO_PLURAL_COAL :Kolen
|
||||||
STR_CARGO_PLURAL_MAIL :Post
|
STR_CARGO_PLURAL_MAIL :Post
|
||||||
STR_CARGO_PLURAL_OIL :Olie
|
STR_CARGO_PLURAL_OIL :Aardolie
|
||||||
STR_CARGO_PLURAL_LIVESTOCK :Vee
|
STR_CARGO_PLURAL_LIVESTOCK :Vee
|
||||||
STR_CARGO_PLURAL_GOODS :Goederen
|
STR_CARGO_PLURAL_GOODS :Goederen
|
||||||
STR_CARGO_PLURAL_GRAIN :Graan
|
STR_CARGO_PLURAL_GRAIN :Graan
|
||||||
@@ -64,7 +64,7 @@ STR_CARGO_SINGULAR_NOTHING :
|
|||||||
STR_CARGO_SINGULAR_PASSENGER :Passagier
|
STR_CARGO_SINGULAR_PASSENGER :Passagier
|
||||||
STR_CARGO_SINGULAR_COAL :Kolen
|
STR_CARGO_SINGULAR_COAL :Kolen
|
||||||
STR_CARGO_SINGULAR_MAIL :Post
|
STR_CARGO_SINGULAR_MAIL :Post
|
||||||
STR_CARGO_SINGULAR_OIL :Olie
|
STR_CARGO_SINGULAR_OIL :Aardolie
|
||||||
STR_CARGO_SINGULAR_LIVESTOCK :Vee
|
STR_CARGO_SINGULAR_LIVESTOCK :Vee
|
||||||
STR_CARGO_SINGULAR_GOODS :Goederen
|
STR_CARGO_SINGULAR_GOODS :Goederen
|
||||||
STR_CARGO_SINGULAR_GRAIN :Graan
|
STR_CARGO_SINGULAR_GRAIN :Graan
|
||||||
@@ -98,7 +98,7 @@ STR_QUANTITY_NOTHING :
|
|||||||
STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}passagier{P "" s}
|
STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}passagier{P "" s}
|
||||||
STR_QUANTITY_COAL :{WEIGHT_LONG} kolen
|
STR_QUANTITY_COAL :{WEIGHT_LONG} kolen
|
||||||
STR_QUANTITY_MAIL :{COMMA}{NBSP}zak{P "" ken} post
|
STR_QUANTITY_MAIL :{COMMA}{NBSP}zak{P "" ken} post
|
||||||
STR_QUANTITY_OIL :{VOLUME_LONG} olie
|
STR_QUANTITY_OIL :{VOLUME_LONG} Vaten Olie
|
||||||
STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}stuk{P "" s} vee
|
STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}stuk{P "" s} vee
|
||||||
STR_QUANTITY_GOODS :{COMMA}{NBSP}krat{P "" ten} goederen
|
STR_QUANTITY_GOODS :{COMMA}{NBSP}krat{P "" ten} goederen
|
||||||
STR_QUANTITY_GRAIN :{WEIGHT_LONG} graan
|
STR_QUANTITY_GRAIN :{WEIGHT_LONG} graan
|
||||||
@@ -168,7 +168,7 @@ STR_ABBREV_ALL :{TINY_FONT}ALLE
|
|||||||
STR_PASSENGERS :{COMMA}{NBSP}passagier{P "" s}
|
STR_PASSENGERS :{COMMA}{NBSP}passagier{P "" s}
|
||||||
STR_BAGS :{COMMA}{NBSP}zak{P "" ken}
|
STR_BAGS :{COMMA}{NBSP}zak{P "" ken}
|
||||||
STR_TONS :{COMMA}{NBSP}ton
|
STR_TONS :{COMMA}{NBSP}ton
|
||||||
STR_LITERS :{COMMA}{NBSP}liter
|
STR_LITERS :{COMMA}{NBSP}liter{P "" s}
|
||||||
STR_ITEMS :{COMMA}{NBSP}stuk{P "" s}
|
STR_ITEMS :{COMMA}{NBSP}stuk{P "" s}
|
||||||
STR_CRATES :{COMMA}{NBSP}krat{P "" ten}
|
STR_CRATES :{COMMA}{NBSP}krat{P "" ten}
|
||||||
|
|
||||||
@@ -3185,7 +3185,7 @@ STR_FINANCES_YEAR :{WHITE}{NUM}
|
|||||||
STR_FINANCES_SECTION_CONSTRUCTION :{GOLD}Bouwkosten
|
STR_FINANCES_SECTION_CONSTRUCTION :{GOLD}Bouwkosten
|
||||||
STR_FINANCES_SECTION_NEW_VEHICLES :{GOLD}Nieuwe voertuigen
|
STR_FINANCES_SECTION_NEW_VEHICLES :{GOLD}Nieuwe voertuigen
|
||||||
STR_FINANCES_SECTION_TRAIN_RUNNING_COSTS :{GOLD}Treinonderhoudskosten
|
STR_FINANCES_SECTION_TRAIN_RUNNING_COSTS :{GOLD}Treinonderhoudskosten
|
||||||
STR_FINANCES_SECTION_ROAD_VEHICLE_RUNNING_COSTS :{GOLD}Wegvoertuigbrandstofkosten
|
STR_FINANCES_SECTION_ROAD_VEHICLE_RUNNING_COSTS :{GOLD}Wegvoertuigonderhoudskosten
|
||||||
STR_FINANCES_SECTION_AIRCRAFT_RUNNING_COSTS :{GOLD}Vliegtuigonderhoudskosten
|
STR_FINANCES_SECTION_AIRCRAFT_RUNNING_COSTS :{GOLD}Vliegtuigonderhoudskosten
|
||||||
STR_FINANCES_SECTION_SHIP_RUNNING_COSTS :{GOLD}Schiponderhoudskosten
|
STR_FINANCES_SECTION_SHIP_RUNNING_COSTS :{GOLD}Schiponderhoudskosten
|
||||||
STR_FINANCES_SECTION_PROPERTY_MAINTENANCE :{GOLD}Eigendomsonderhoud
|
STR_FINANCES_SECTION_PROPERTY_MAINTENANCE :{GOLD}Eigendomsonderhoud
|
||||||
@@ -3268,7 +3268,7 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_TRAMWAY :{WHITE}Tramrail
|
|||||||
STR_COMPANY_INFRASTRUCTURE_VIEW_WATER_SECT :{GOLD}Water tegels:
|
STR_COMPANY_INFRASTRUCTURE_VIEW_WATER_SECT :{GOLD}Water tegels:
|
||||||
STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS :{WHITE}Kanalen
|
STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS :{WHITE}Kanalen
|
||||||
STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}Stations:
|
STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}Stations:
|
||||||
STR_COMPANY_INFRASTRUCTURE_VIEW_STATIONS :{WHITE}Station tegels
|
STR_COMPANY_INFRASTRUCTURE_VIEW_STATIONS :{WHITE}Stationtegels
|
||||||
STR_COMPANY_INFRASTRUCTURE_VIEW_AIRPORTS :{WHITE}Vliegvelden
|
STR_COMPANY_INFRASTRUCTURE_VIEW_AIRPORTS :{WHITE}Vliegvelden
|
||||||
STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL :{WHITE}{CURRENCY_LONG}/jr
|
STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL :{WHITE}{CURRENCY_LONG}/jr
|
||||||
|
|
||||||
@@ -3350,7 +3350,7 @@ STR_GROUP_DEFAULT_SHIPS :Niet gegroepeer
|
|||||||
STR_GROUP_DEFAULT_AIRCRAFTS :Niet gegroepeerde vliegtuigen
|
STR_GROUP_DEFAULT_AIRCRAFTS :Niet gegroepeerde vliegtuigen
|
||||||
|
|
||||||
STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Groepen - Klik op een groep voor een lijst van alle voertuigen in deze groep. Klik en sleep om hiërarchie te beheren
|
STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Groepen - Klik op een groep voor een lijst van alle voertuigen in deze groep. Klik en sleep om hiërarchie te beheren
|
||||||
STR_GROUP_CREATE_TOOLTIP :{BLACK}Klik om een groep te maken
|
STR_GROUP_CREATE_TOOLTIP :{BLACK}Klik om een groep te creëren
|
||||||
STR_GROUP_DELETE_TOOLTIP :{BLACK}Verwijder de geselecteerde groep
|
STR_GROUP_DELETE_TOOLTIP :{BLACK}Verwijder de geselecteerde groep
|
||||||
STR_GROUP_RENAME_TOOLTIP :{BLACK}Hernoem de geselecteerde groep
|
STR_GROUP_RENAME_TOOLTIP :{BLACK}Hernoem de geselecteerde groep
|
||||||
STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Klik om deze groep te beschermen tegen globaal automatisch vervangen
|
STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Klik om deze groep te beschermen tegen globaal automatisch vervangen
|
||||||
@@ -4357,7 +4357,7 @@ STR_ERROR_CAN_T_PURCHASE_THIS_LAND :{WHITE}Kan dit
|
|||||||
STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... het is al van jou!
|
STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... het is al van jou!
|
||||||
|
|
||||||
# Group related errors
|
# Group related errors
|
||||||
STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Kan groep niet maken...
|
STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Kan groep niet creëren...
|
||||||
STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Kan deze groep niet verwijderen...
|
STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Kan deze groep niet verwijderen...
|
||||||
STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Kan deze groep niet hernoemen...
|
STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Kan deze groep niet hernoemen...
|
||||||
STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Kan huidige groep niet instellen...
|
STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Kan huidige groep niet instellen...
|
||||||
|
@@ -1901,8 +1901,8 @@ STR_FACE_TIE_EARRING_TOOLTIP :{BLACK}Change t
|
|||||||
|
|
||||||
# Network server list
|
# Network server list
|
||||||
STR_NETWORK_SERVER_LIST_CAPTION :{WHITE}Multiplayer
|
STR_NETWORK_SERVER_LIST_CAPTION :{WHITE}Multiplayer
|
||||||
STR_NETWORK_SERVER_LIST_ADVERTISED :{BLACK}Advertized
|
STR_NETWORK_SERVER_LIST_ADVERTISED :{BLACK}Advertised
|
||||||
STR_NETWORK_SERVER_LIST_ADVERTISED_TOOLTIP :{BLACK}Choose between an advertized (internet) and a not advertized (Local Area Network, LAN) game
|
STR_NETWORK_SERVER_LIST_ADVERTISED_TOOLTIP :{BLACK}Choose between an advertised (internet) and a not advertised (Local Area Network, LAN) game
|
||||||
STR_NETWORK_SERVER_LIST_ADVERTISED_NO :No
|
STR_NETWORK_SERVER_LIST_ADVERTISED_NO :No
|
||||||
STR_NETWORK_SERVER_LIST_ADVERTISED_YES :Yes
|
STR_NETWORK_SERVER_LIST_ADVERTISED_YES :Yes
|
||||||
STR_NETWORK_SERVER_LIST_PLAYER_NAME :{BLACK}Player name:
|
STR_NETWORK_SERVER_LIST_PLAYER_NAME :{BLACK}Player name:
|
||||||
|
@@ -197,31 +197,31 @@ STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}me
|
|||||||
|
|
||||||
STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}dk
|
STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}dk
|
||||||
STR_UNITS_POWER_METRIC :{COMMA}{NBSP}dk
|
STR_UNITS_POWER_METRIC :{COMMA}{NBSP}dk
|
||||||
STR_UNITS_POWER_SI :{COMMA}kW
|
STR_UNITS_POWER_SI :{COMMA}{NBSP}kW
|
||||||
|
|
||||||
STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}t
|
STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t
|
||||||
STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}t
|
STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t
|
||||||
STR_UNITS_WEIGHT_SHORT_SI :{COMMA}kg
|
STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg
|
||||||
|
|
||||||
STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} ton
|
STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}ton
|
||||||
STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} ton
|
STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} ton
|
||||||
STR_UNITS_WEIGHT_LONG_SI :{COMMA} kg
|
STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg
|
||||||
|
|
||||||
STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}gal
|
STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gal
|
||||||
STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}l
|
STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l
|
||||||
STR_UNITS_VOLUME_SHORT_SI :{COMMA}m³
|
STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³
|
||||||
|
|
||||||
STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} gallon
|
STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}gallon
|
||||||
STR_UNITS_VOLUME_LONG_METRIC :{COMMA} liter
|
STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}litre
|
||||||
STR_UNITS_VOLUME_LONG_SI :{COMMA} m³
|
STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³
|
||||||
|
|
||||||
STR_UNITS_FORCE_IMPERIAL :{COMMA} lbf
|
STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf
|
||||||
STR_UNITS_FORCE_METRIC :{COMMA} kgf
|
STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kgf
|
||||||
STR_UNITS_FORCE_SI :{COMMA} kN
|
STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN
|
||||||
|
|
||||||
STR_UNITS_HEIGHT_IMPERIAL :{COMMA} ft
|
STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}kaki
|
||||||
STR_UNITS_HEIGHT_METRIC :{COMMA} m
|
STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m
|
||||||
STR_UNITS_HEIGHT_SI :{COMMA} m
|
STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m
|
||||||
|
|
||||||
# Common window strings
|
# Common window strings
|
||||||
STR_LIST_FILTER_TITLE :{BLACK}Kata penyaring:
|
STR_LIST_FILTER_TITLE :{BLACK}Kata penyaring:
|
||||||
@@ -1098,7 +1098,7 @@ STR_CONFIG_SETTING_DEFAULT_VALUE :{LTBLUE}Nilai s
|
|||||||
STR_CONFIG_SETTING_TYPE :{LTBLUE}Tipe setting: {ORANGE}{STRING}
|
STR_CONFIG_SETTING_TYPE :{LTBLUE}Tipe setting: {ORANGE}{STRING}
|
||||||
STR_CONFIG_SETTING_TYPE_CLIENT :Setting klien (tidak disimpan di penyimpanan; mempengaruhi semua permainan)
|
STR_CONFIG_SETTING_TYPE_CLIENT :Setting klien (tidak disimpan di penyimpanan; mempengaruhi semua permainan)
|
||||||
STR_CONFIG_SETTING_TYPE_GAME_MENU :Setting permainan (disimpan dalam penyimpanan; hanya mempengaruhi permainan baru)
|
STR_CONFIG_SETTING_TYPE_GAME_MENU :Setting permainan (disimpan dalam penyimpanan; hanya mempengaruhi permainan baru)
|
||||||
STR_CONFIG_SETTING_TYPE_GAME_INGAME :Setting permainan (disimpan dalam penyimpanan; hanya mempengaruhi permainan saat ini))
|
STR_CONFIG_SETTING_TYPE_GAME_INGAME :Pengaturan permainan (disimpan dalam penyimpanan; hanya mempengaruhi permainan saat ini)
|
||||||
STR_CONFIG_SETTING_TYPE_COMPANY_MENU :Setting perusahaan (disimpan dalam penyimpanan; hanya mempengaruhi permainan baru)
|
STR_CONFIG_SETTING_TYPE_COMPANY_MENU :Setting perusahaan (disimpan dalam penyimpanan; hanya mempengaruhi permainan baru)
|
||||||
STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Setting perusahaan (disimpan dalam penyimpanan; hanya mempengaruhi permainan saat ini)
|
STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Setting perusahaan (disimpan dalam penyimpanan; hanya mempengaruhi permainan saat ini)
|
||||||
|
|
||||||
@@ -1113,9 +1113,9 @@ STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Pengaturan deng
|
|||||||
|
|
||||||
STR_CONFIG_SETTING_TYPE_DROPDOWN_HELPTEXT :{BLACK}Membatasi urutan / tabel di bawah ke setting tertentu
|
STR_CONFIG_SETTING_TYPE_DROPDOWN_HELPTEXT :{BLACK}Membatasi urutan / tabel di bawah ke setting tertentu
|
||||||
STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :Semua setting
|
STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :Semua setting
|
||||||
STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Setting klien (tidak disimpan di penyimpanan; mempengaruhi semua permainan)
|
STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Pengaturan klien (tidak disimpan di penyimpanan; mempengaruhi semua permainan)
|
||||||
STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Pengaturan permainan (ikut tersimpan; hanya memiliki efek pada permainan baru)
|
STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Pengaturan permainan (ikut tersimpan; hanya memiliki efek pada permainan baru)
|
||||||
STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Pengaturan permainan (ikut tersimpan; hanya memiliki efek pada permainan aktif)
|
STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Pengaturan permainan (ikut tersimpan; hanya memiliki efek pada permainan saat ini)
|
||||||
STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Pengaturan perusahaan (ikut tersimpan; hanya memiliki efek pada permainan baru)
|
STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Pengaturan perusahaan (ikut tersimpan; hanya memiliki efek pada permainan baru)
|
||||||
STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Pengaturan perusahaan (ikut tersimpan; hanya memiliki efek pada perusahaan aktif)
|
STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Pengaturan perusahaan (ikut tersimpan; hanya memiliki efek pada perusahaan aktif)
|
||||||
STR_CONFIG_SETTING_CATEGORY_HIDES :{BLACK}Tampilkan semua pencarian berdasarkan pengaturan{}{SILVER}Kategori {BLACK}sampai {WHITE}{STRING}
|
STR_CONFIG_SETTING_CATEGORY_HIDES :{BLACK}Tampilkan semua pencarian berdasarkan pengaturan{}{SILVER}Kategori {BLACK}sampai {WHITE}{STRING}
|
||||||
@@ -1165,7 +1165,7 @@ STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Pilih seberapa
|
|||||||
STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Tinggi peta maksimum: {STRING}
|
STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Tinggi peta maksimum: {STRING}
|
||||||
STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Atur ketinggian pegunungan maksimum yang diijinkan untuk peta ini
|
STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Atur ketinggian pegunungan maksimum yang diijinkan untuk peta ini
|
||||||
STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Kamu tidak bisa mengubah ketinggian peta maksimum di angka itu. Setidaknya ada satu gunung di peta yang lebih tinggi
|
STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Kamu tidak bisa mengubah ketinggian peta maksimum di angka itu. Setidaknya ada satu gunung di peta yang lebih tinggi
|
||||||
STR_CONFIG_SETTING_AUTOSLOPE :Ijinkan pembentukan slop dibawah bangunan, rel, dsb. (otomatiskan): {STRING}
|
STR_CONFIG_SETTING_AUTOSLOPE :Ijinkan pembentukan slop dibawah bangunan, rel, dsb.: {STRING}
|
||||||
STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Ijinkan pembentukan tanah dibawah bangunan dan trek tanpa merusaknya
|
STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Ijinkan pembentukan tanah dibawah bangunan dan trek tanpa merusaknya
|
||||||
STR_CONFIG_SETTING_CATCHMENT :Ijinkan ukuran jangkauan wilayah lebih realistik: {STRING}
|
STR_CONFIG_SETTING_CATCHMENT :Ijinkan ukuran jangkauan wilayah lebih realistik: {STRING}
|
||||||
STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Gunakan area penarikan berbeda untuk tipe stasiun dan airport yang berbeda
|
STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Gunakan area penarikan berbeda untuk tipe stasiun dan airport yang berbeda
|
||||||
@@ -1281,7 +1281,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Durasi penampil
|
|||||||
STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} detik
|
STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} detik
|
||||||
STR_CONFIG_SETTING_HOVER_DELAY :Tampilkan tooltips: {STRING}
|
STR_CONFIG_SETTING_HOVER_DELAY :Tampilkan tooltips: {STRING}
|
||||||
STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Delay sebelum bantuan peralatan ditampilkan saat mouse diatas sebuah ikon. Selain itu bantuan peralatan juga dapat ditampilkan dengan klik kanan
|
STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Delay sebelum bantuan peralatan ditampilkan saat mouse diatas sebuah ikon. Selain itu bantuan peralatan juga dapat ditampilkan dengan klik kanan
|
||||||
STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Melayang untuk {COMMA} detik
|
STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Melayang untuk {COMMA} mili detik
|
||||||
STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Klik kanan
|
STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Klik kanan
|
||||||
STR_CONFIG_SETTING_POPULATION_IN_LABEL :Tampilkan populasi kota di label nama kota: {STRING}
|
STR_CONFIG_SETTING_POPULATION_IN_LABEL :Tampilkan populasi kota di label nama kota: {STRING}
|
||||||
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Tampilkan populasi kota di label nama kota pada peta
|
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Tampilkan populasi kota di label nama kota pada peta
|
||||||
@@ -1343,7 +1343,7 @@ STR_CONFIG_SETTING_SMOOTH_SCROLLING :Pergeseran pand
|
|||||||
STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Menyetel bagaimana tampilan utama menggeser posisi di peta kecil. Jika dinyalakan, peta akan bergeser secara halus. Jika dimatikan, peta langsung menuju tempat yang di klik
|
STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Menyetel bagaimana tampilan utama menggeser posisi di peta kecil. Jika dinyalakan, peta akan bergeser secara halus. Jika dimatikan, peta langsung menuju tempat yang di klik
|
||||||
STR_CONFIG_SETTING_MEASURE_TOOLTIP :Tampilkan ukuran ketika menggunakan alat pembangun: {STRING}
|
STR_CONFIG_SETTING_MEASURE_TOOLTIP :Tampilkan ukuran ketika menggunakan alat pembangun: {STRING}
|
||||||
STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Tampilkan perbedaan jarak dan tinggi ubin saat proses pembangunan
|
STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Tampilkan perbedaan jarak dan tinggi ubin saat proses pembangunan
|
||||||
STR_CONFIG_SETTING_LIVERIES :Tampilkan warna perusahaan: {STRING}
|
STR_CONFIG_SETTING_LIVERIES :Tampilkan warna tergantung jenis kendaraan: {STRING}
|
||||||
STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Kontrol penggunaan tipe kendaraan spesifik untuk kendaraan (dalam perusahaan tertentu)
|
STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Kontrol penggunaan tipe kendaraan spesifik untuk kendaraan (dalam perusahaan tertentu)
|
||||||
STR_CONFIG_SETTING_LIVERIES_NONE :Tidak ada
|
STR_CONFIG_SETTING_LIVERIES_NONE :Tidak ada
|
||||||
STR_CONFIG_SETTING_LIVERIES_OWN :Perusahaan milik sendiri
|
STR_CONFIG_SETTING_LIVERIES_OWN :Perusahaan milik sendiri
|
||||||
@@ -1390,7 +1390,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Tidak ada tinda
|
|||||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Semua tindakan kecuali pembangunan
|
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Semua tindakan kecuali pembangunan
|
||||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Semua kecuali mengubah dataran
|
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Semua kecuali mengubah dataran
|
||||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Semua tindakan
|
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Semua tindakan
|
||||||
STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Gunakan daftar kendaraan tingkat lanjut: {STRING}
|
STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Gunakan grup dalam daftar kendaraan: {STRING}
|
||||||
STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Mengaktifkan penggunaan daftar kendaraan lebih lanjut dalam pengelompokkan kendaraan
|
STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Mengaktifkan penggunaan daftar kendaraan lebih lanjut dalam pengelompokkan kendaraan
|
||||||
STR_CONFIG_SETTING_LOADING_INDICATORS :Tampilkan indikator pengangkutan: {STRING}
|
STR_CONFIG_SETTING_LOADING_INDICATORS :Tampilkan indikator pengangkutan: {STRING}
|
||||||
STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Pilih apakah petunjuk beban ditayangkan di atas kendaran yang sedang mengisi atau menurunkan beban
|
STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Pilih apakah petunjuk beban ditayangkan di atas kendaran yang sedang mengisi atau menurunkan beban
|
||||||
@@ -1405,7 +1405,7 @@ STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Jenis rel yang
|
|||||||
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :Tersedia pertama
|
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :Tersedia pertama
|
||||||
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :Tersedia terakhir
|
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :Tersedia terakhir
|
||||||
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :Sering dipakai
|
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :Sering dipakai
|
||||||
STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Sorot rel yang akan terpakai: {STRING}
|
STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Tampilkan rel yang akan terpakai: {STRING}
|
||||||
STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Beri warna yang berbeda untuk jalur-jalur yang dicadangkan untuk menolong ketika terdapat kereta yang menolak masuk ke blok menurut jalurnya
|
STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Beri warna yang berbeda untuk jalur-jalur yang dicadangkan untuk menolong ketika terdapat kereta yang menolak masuk ke blok menurut jalurnya
|
||||||
STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Toolbar tetap aktif setelah dipakai: {STRING}
|
STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Toolbar tetap aktif setelah dipakai: {STRING}
|
||||||
STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Menjagakan alat pembangunan untuk jembatan, terowongan, etc. buka setelah dipakai
|
STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Menjagakan alat pembangunan untuk jembatan, terowongan, etc. buka setelah dipakai
|
||||||
@@ -1433,11 +1433,11 @@ STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :Matikan infrast
|
|||||||
STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING_HELPTEXT :Jika diaktifkan, infrastruktur cuma tersedia jika ada kendaraan tersedia, mencegah buang waktu dan uang di infrastruktur yang tidak bisa digunakan
|
STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING_HELPTEXT :Jika diaktifkan, infrastruktur cuma tersedia jika ada kendaraan tersedia, mencegah buang waktu dan uang di infrastruktur yang tidak bisa digunakan
|
||||||
STR_CONFIG_SETTING_MAX_TRAINS :Maks. kereta tiap pemain: {STRING}
|
STR_CONFIG_SETTING_MAX_TRAINS :Maks. kereta tiap pemain: {STRING}
|
||||||
STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Batas jumlah kereta yang boleh dimiliki satu perusahaan
|
STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Batas jumlah kereta yang boleh dimiliki satu perusahaan
|
||||||
STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Maks. kendaraan jalan raya tiap pemain: {STRING}
|
STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Maks. kendaraan jalan raya tiap perusahaan: {STRING}
|
||||||
STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Batas jumlah kendaraan jalan raya yang boleh dimiliki satu perusahaan
|
STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Batas jumlah kendaraan jalan raya yang boleh dimiliki satu perusahaan
|
||||||
STR_CONFIG_SETTING_MAX_AIRCRAFT :Maks. pesawat tiap pemain: {STRING}
|
STR_CONFIG_SETTING_MAX_AIRCRAFT :Maks. pesawat tiap perusahaan: {STRING}
|
||||||
STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Batas jumlah pesawat yang boleh dimiliki satu perusahaan
|
STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Batas jumlah pesawat yang boleh dimiliki satu perusahaan
|
||||||
STR_CONFIG_SETTING_MAX_SHIPS :Maks. kapal tiap pemain: {STRING}
|
STR_CONFIG_SETTING_MAX_SHIPS :Maks. kapal tiap perusahaan: {STRING}
|
||||||
STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Jumlah maximum kapal yang boleh dimilki sebuah perusahaan
|
STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Jumlah maximum kapal yang boleh dimilki sebuah perusahaan
|
||||||
|
|
||||||
STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Non-aktifkan kereta bagi pemain komputer: {STRING}
|
STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Non-aktifkan kereta bagi pemain komputer: {STRING}
|
||||||
@@ -1464,7 +1464,7 @@ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Jangka waktu pe
|
|||||||
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Pilih apakah servis kendaraan dipicu oleh waktu terlewat sejak servis terakhir atau dari kehandalan menjatuh beberapa persentase dari kehandalan maximum
|
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Pilih apakah servis kendaraan dipicu oleh waktu terlewat sejak servis terakhir atau dari kehandalan menjatuh beberapa persentase dari kehandalan maximum
|
||||||
STR_CONFIG_SETTING_SERVINT_TRAINS :Interval dasar untuk kereta: {STRING}
|
STR_CONFIG_SETTING_SERVINT_TRAINS :Interval dasar untuk kereta: {STRING}
|
||||||
STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Setel interval dasar untuk kereta, jika tidak ada interval tetap
|
STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Setel interval dasar untuk kereta, jika tidak ada interval tetap
|
||||||
STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} hari/%
|
STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}hari/%
|
||||||
STR_CONFIG_SETTING_SERVINT_DISABLED :Di non-aktifkan
|
STR_CONFIG_SETTING_SERVINT_DISABLED :Di non-aktifkan
|
||||||
STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Interval dasar untuk kendaraan jalan raya: {STRING}
|
STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Interval dasar untuk kendaraan jalan raya: {STRING}
|
||||||
STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Setel Interval perbaikan untuk kendaraan jalan raya baru, jika tidak ada interval tetap
|
STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Setel Interval perbaikan untuk kendaraan jalan raya baru, jika tidak ada interval tetap
|
||||||
@@ -1604,9 +1604,9 @@ STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Tidak ada
|
|||||||
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Faktor kali ukuran kota awal: {STRING}
|
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Faktor kali ukuran kota awal: {STRING}
|
||||||
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Ukuran rata-rata kota besar terhadap kota kecil saat permainan dimulai
|
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Ukuran rata-rata kota besar terhadap kota kecil saat permainan dimulai
|
||||||
|
|
||||||
STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Perbarui grafik distribusi setiap {STRING} hari
|
STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Perbarui grafik distribusi setiap {STRING}{NBSP}hari
|
||||||
STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Waktu diantara dua penghitungan linkgraph berurutan. Setiap penghitungan hanya menghitung satu komponen perencanaan dari grafik. Namun, angka yang diberikan untuk seting ini bukan berarti seluruh grafik akan diperbaharui dalam angka hari yang sama, hanya beberapa bagian. Semakin sedikit semakin banyak proses CPU yang diperlukan untuk menghitung. Semakin banyak semakin lama waktu sebelum cargo distribution dimulai pada rute baru.
|
STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Waktu diantara dua penghitungan linkgraph berurutan. Setiap penghitungan hanya menghitung satu komponen perencanaan dari grafik. Namun, angka yang diberikan untuk seting ini bukan berarti seluruh grafik akan diperbaharui dalam angka hari yang sama, hanya beberapa bagian. Semakin sedikit semakin banyak proses CPU yang diperlukan untuk menghitung. Semakin banyak semakin lama waktu sebelum cargo distribution dimulai pada rute baru.
|
||||||
STR_CONFIG_SETTING_LINKGRAPH_TIME :Ambil {STRING} hari untuk menghitung grafik distribusi
|
STR_CONFIG_SETTING_LINKGRAPH_TIME :Ambil {STRING}{NBSP}hari untuk menghitung grafik distribusi
|
||||||
STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Waktu dibutuhkan untuk setiap perhitungan dari komponen 'linkgraph'. Ketika perhitungan dimulai, ada utas 'dibuat' yang boleh dijalankan untuk jumlah hari ini. Semakin pendek anda mengatur ini lebih mungkin utas ini belum selesai ketika itu seharusnya. Kemudian permainan berhenti sampai itu ("lag"). Semakin lama anda mengatur semakin lama itu untuk distribusinya untuk memperbarui ketika rute mengganti.
|
STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Waktu dibutuhkan untuk setiap perhitungan dari komponen 'linkgraph'. Ketika perhitungan dimulai, ada utas 'dibuat' yang boleh dijalankan untuk jumlah hari ini. Semakin pendek anda mengatur ini lebih mungkin utas ini belum selesai ketika itu seharusnya. Kemudian permainan berhenti sampai itu ("lag"). Semakin lama anda mengatur semakin lama itu untuk distribusinya untuk memperbarui ketika rute mengganti.
|
||||||
STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manual
|
STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manual
|
||||||
STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asimetris
|
STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asimetris
|
||||||
@@ -1618,7 +1618,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"simetris" bera
|
|||||||
STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Modus distribusi untuk kelas kargo BERLAPIS BAJA: {STRING}
|
STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Modus distribusi untuk kelas kargo BERLAPIS BAJA: {STRING}
|
||||||
STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Kelas kargo BERLAPIS BAJA meliputi barang berharga pada iklim sedang, intan pada sub tropis atau emas pada iklim sub arktik. NewGRF mungkin mengubah itu. "simetris" berarti bahwa jumlah kargo kira-kira akan terkirim sama dari stasiun A ke stasiun B sebagaimana dari B ke A. "asimetris" berarti jumlah kargo terkirim bisa berbeda pada kedua arah. "manual" berarti bahwa tidak ada distribusi otomatis akan dilakukan untuk kargo itu. Disarankan untuk memilih asimetris atau manual ketika bermain sub arktik, karena bank tidak mengirim emas kembali ke tambang emas. Untuk iklim tropis dan sub tropis anda juga bisah pilih simetris karena bank akan mengirim kembali beberapa barang berharga ke bank asalnya.
|
STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Kelas kargo BERLAPIS BAJA meliputi barang berharga pada iklim sedang, intan pada sub tropis atau emas pada iklim sub arktik. NewGRF mungkin mengubah itu. "simetris" berarti bahwa jumlah kargo kira-kira akan terkirim sama dari stasiun A ke stasiun B sebagaimana dari B ke A. "asimetris" berarti jumlah kargo terkirim bisa berbeda pada kedua arah. "manual" berarti bahwa tidak ada distribusi otomatis akan dilakukan untuk kargo itu. Disarankan untuk memilih asimetris atau manual ketika bermain sub arktik, karena bank tidak mengirim emas kembali ke tambang emas. Untuk iklim tropis dan sub tropis anda juga bisah pilih simetris karena bank akan mengirim kembali beberapa barang berharga ke bank asalnya.
|
||||||
STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Modus distribusi untuk kelas kargo yang lain: {STRING}
|
STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Modus distribusi untuk kelas kargo yang lain: {STRING}
|
||||||
STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"simetris" berarti bahwa kira-kira sama jumlah kargo akan pergi dari stasiun A ke stasiun B sebagai dari B ke A. "asimetris" berarti sewenang-wenang jumlah kargo bisa pergi di kedua arah. "manual" berarti bahwa tidak ada distribusi otomatis akan dilakukan untuk kargo. Anda mungkin mau mengaturkan ini untuk "asimetris" atau manual.
|
STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"asimetris" berarti jumlah kargo yang pergi ke kedua arah bisa berbeda-beda. "manual" berarti bahwa tidak ada distribusi otomatis akan dilakukan untuk kargo.
|
||||||
STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Ketepatan distribusi: {STRING}
|
STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Ketepatan distribusi: {STRING}
|
||||||
STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Semakin tinggi anda mengatur ini semakin banyak waktu CPU perhitungan "linkgraph" akan mengambil. Jika waktu terlalu lama anda mungkin melihat "lag".Jika anda mengatur itu ke nilai rendah, tetapi, distribusi akan menjadi tidak akurat, dan anda mungkin melihat kargo tidak dikirim ke tempat anda berharap untuk pergi.
|
STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Semakin tinggi anda mengatur ini semakin banyak waktu CPU perhitungan "linkgraph" akan mengambil. Jika waktu terlalu lama anda mungkin melihat "lag".Jika anda mengatur itu ke nilai rendah, tetapi, distribusi akan menjadi tidak akurat, dan anda mungkin melihat kargo tidak dikirim ke tempat anda berharap untuk pergi.
|
||||||
STR_CONFIG_SETTING_DEMAND_DISTANCE :Efek jarak kepada permintaan : {STRING}
|
STR_CONFIG_SETTING_DEMAND_DISTANCE :Efek jarak kepada permintaan : {STRING}
|
||||||
@@ -1666,7 +1666,7 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m)
|
|||||||
|
|
||||||
STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Lokalisasi
|
STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Lokalisasi
|
||||||
STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Grafik
|
STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Grafik
|
||||||
STR_CONFIG_SETTING_SOUND :{ORANGE}Efek suara
|
STR_CONFIG_SETTING_SOUND :{ORANGE}Suara
|
||||||
STR_CONFIG_SETTING_INTERFACE :{ORANGE}Antaramuka
|
STR_CONFIG_SETTING_INTERFACE :{ORANGE}Antaramuka
|
||||||
STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Umum
|
STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Umum
|
||||||
STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Jendela
|
STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Jendela
|
||||||
@@ -1684,7 +1684,7 @@ STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Linkung
|
|||||||
STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Berwenang
|
STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Berwenang
|
||||||
STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Kota
|
STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Kota
|
||||||
STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Industri
|
STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Industri
|
||||||
STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Distribusi Kargo
|
STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Distribusi kargo
|
||||||
STR_CONFIG_SETTING_AI :{ORANGE}Pesaing
|
STR_CONFIG_SETTING_AI :{ORANGE}Pesaing
|
||||||
STR_CONFIG_SETTING_AI_NPC :{ORANGE}Pemain Komputer
|
STR_CONFIG_SETTING_AI_NPC :{ORANGE}Pemain Komputer
|
||||||
|
|
||||||
@@ -1966,13 +1966,13 @@ STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Lindungi
|
|||||||
STR_NETWORK_START_SERVER_UNADVERTISED :Tidak
|
STR_NETWORK_START_SERVER_UNADVERTISED :Tidak
|
||||||
STR_NETWORK_START_SERVER_ADVERTISED :Ya
|
STR_NETWORK_START_SERVER_ADVERTISED :Ya
|
||||||
STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} klien
|
STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} klien
|
||||||
STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Maksimum klien:
|
STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Maksimum jumlah klien:
|
||||||
STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Pilih jumlah klien maksimal. Tidak semua slot harus diisi
|
STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Pilih jumlah klien maksimal. Tidak semua slot harus diisi
|
||||||
STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} Perusahaan
|
STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} Perusahaan
|
||||||
STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Maksimum perusahaan:
|
STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Maksimum jumlah perusahaan:
|
||||||
STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}Batasi jumlah perusahaan pada server
|
STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}Batasi jumlah perusahaan pada server
|
||||||
STR_NETWORK_START_SERVER_SPECTATORS_SELECT :{BLACK}{NUM} Penonton
|
STR_NETWORK_START_SERVER_SPECTATORS_SELECT :{BLACK}{NUM} Penonton
|
||||||
STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Maksimum penonton:
|
STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Maksimum jumlah penonton:
|
||||||
STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS_TOOLTIP :{BLACK}Batasi jumlah penonton pada server
|
STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS_TOOLTIP :{BLACK}Batasi jumlah penonton pada server
|
||||||
STR_NETWORK_START_SERVER_LANGUAGE_SPOKEN :{BLACK}Bahasa pembicaraan:
|
STR_NETWORK_START_SERVER_LANGUAGE_SPOKEN :{BLACK}Bahasa pembicaraan:
|
||||||
STR_NETWORK_START_SERVER_LANGUAGE_TOOLTIP :{BLACK}Agar pemain lain mengetahui bahasa apa yang digunakan pada sever
|
STR_NETWORK_START_SERVER_LANGUAGE_TOOLTIP :{BLACK}Agar pemain lain mengetahui bahasa apa yang digunakan pada sever
|
||||||
@@ -2986,8 +2986,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING
|
|||||||
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} terkirim
|
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} terkirim
|
||||||
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (masih dibutuhkan)
|
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (masih dibutuhkan)
|
||||||
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (terkirim)
|
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (terkirim)
|
||||||
STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Kota tumbuh setiap {ORANGE}{COMMA}{BLACK} hari
|
STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Kota tumbuh setiap {ORANGE}{COMMA}{BLACK}{NBSP}hari
|
||||||
STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Kota tumbuh setiap {ORANGE}{COMMA}{BLACK} hari (didanai)
|
STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Kota tumbuh setiap {ORANGE}{COMMA}{BLACK}{NBSP}hari (didanai)
|
||||||
STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Kota {RED}tidak{BLACK} tumbuh
|
STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Kota {RED}tidak{BLACK} tumbuh
|
||||||
STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Batas kebisingan di kota : {ORANGE}{COMMA}{BLACK} maks.: {ORANGE}{COMMA}
|
STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Batas kebisingan di kota : {ORANGE}{COMMA}{BLACK} maks.: {ORANGE}{COMMA}
|
||||||
STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Arahkan pandangan utama pada lokasi kota. Ctrl+Click akan membuka viewport baru pada lokasi kota
|
STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Arahkan pandangan utama pada lokasi kota. Ctrl+Click akan membuka viewport baru pada lokasi kota
|
||||||
@@ -3196,7 +3196,7 @@ STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURREN
|
|||||||
STR_FINANCES_TOTAL_CAPTION :{WHITE}Total:
|
STR_FINANCES_TOTAL_CAPTION :{WHITE}Total:
|
||||||
STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Saldo Bank
|
STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Saldo Bank
|
||||||
STR_FINANCES_LOAN_TITLE :{WHITE}Pinjaman
|
STR_FINANCES_LOAN_TITLE :{WHITE}Pinjaman
|
||||||
STR_FINANCES_MAX_LOAN :{WHITE}Pinjaman Maks: {BLACK}{CURRENCY_LONG}
|
STR_FINANCES_MAX_LOAN :{WHITE}Pinjaman maks.: {BLACK}{CURRENCY_LONG}
|
||||||
STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG}
|
STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG}
|
||||||
STR_FINANCES_BORROW_BUTTON :{BLACK}Pinjam {CURRENCY_LONG}
|
STR_FINANCES_BORROW_BUTTON :{BLACK}Pinjam {CURRENCY_LONG}
|
||||||
STR_FINANCES_BORROW_TOOLTIP :{BLACK}Tambah jumlah pinjaman. Tekan Ctrl+Click untuk meminjam sebanyak mungkin.
|
STR_FINANCES_BORROW_TOOLTIP :{BLACK}Tambah jumlah pinjaman. Tekan Ctrl+Click untuk meminjam sebanyak mungkin.
|
||||||
@@ -3664,7 +3664,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Daya Mua
|
|||||||
|
|
||||||
STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Nilai Transfer: {LTBLUE}{CURRENCY_LONG}
|
STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Nilai Transfer: {LTBLUE}{CURRENCY_LONG}
|
||||||
|
|
||||||
STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Jangka waktu perbaikan: {LTBLUE}{COMMA} hari{BLACK} Perbaikan terakhir: {LTBLUE}{DATE_LONG}
|
STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Jangka waktu perbaikan: {LTBLUE}{COMMA}{NBSP}hari{BLACK} Perbaikan terakhir: {LTBLUE}{DATE_LONG}
|
||||||
STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Jangka waktu perbaikan: {LTBLUE}{COMMA} %{BLACK} Perbaikan terakhir: {LTBLUE}{DATE_LONG}
|
STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Jangka waktu perbaikan: {LTBLUE}{COMMA} %{BLACK} Perbaikan terakhir: {LTBLUE}{DATE_LONG}
|
||||||
STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Tambah jarak waktu perbaikan dengan 10. Ctrl+Click menambah jarak waktu perbaikan dengan 5.
|
STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Tambah jarak waktu perbaikan dengan 10. Ctrl+Click menambah jarak waktu perbaikan dengan 5.
|
||||||
STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Kurangi jarak waktu perbaikan dengan 10. Ctrl+Click mengurangi jarak waktu perbaikan dengan 5
|
STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Kurangi jarak waktu perbaikan dengan 10. Ctrl+Click mengurangi jarak waktu perbaikan dengan 5
|
||||||
@@ -3900,8 +3900,8 @@ STR_TIMETABLE_STAY_FOR_ESTIMATED :(menetap untuk
|
|||||||
STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(perjalan untuk {STRING}, tidak berjadwal)
|
STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(perjalan untuk {STRING}, tidak berjadwal)
|
||||||
STR_TIMETABLE_STAY_FOR :dan tinggal selama {STRING}
|
STR_TIMETABLE_STAY_FOR :dan tinggal selama {STRING}
|
||||||
STR_TIMETABLE_AND_TRAVEL_FOR :dan berjalan selama {STRING}
|
STR_TIMETABLE_AND_TRAVEL_FOR :dan berjalan selama {STRING}
|
||||||
STR_TIMETABLE_DAYS :{COMMA} hari
|
STR_TIMETABLE_DAYS :{COMMA}{NBSP}hari
|
||||||
STR_TIMETABLE_TICKS :{COMMA} titik
|
STR_TIMETABLE_TICKS :{COMMA}{NBSP}titik
|
||||||
|
|
||||||
STR_TIMETABLE_TOTAL_TIME :{BLACK}Total durasi seluruh perjalanan akan memakan waktu {STRING}
|
STR_TIMETABLE_TOTAL_TIME :{BLACK}Total durasi seluruh perjalanan akan memakan waktu {STRING}
|
||||||
STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Total durasi seluruh perjalanan akan memakan waktu kurang lebih {STRING} untuk terpenuhi (blm semuanya terjadwal)
|
STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Total durasi seluruh perjalanan akan memakan waktu kurang lebih {STRING} untuk terpenuhi (blm semuanya terjadwal)
|
||||||
|
@@ -2174,7 +2174,7 @@ STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_2 :게임이 아
|
|||||||
STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_3 :게임이 아직 일시 정지된 상태입니다. ({STRING}, {STRING}, {STRING})
|
STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_3 :게임이 아직 일시 정지된 상태입니다. ({STRING}, {STRING}, {STRING})
|
||||||
STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_4 :게임이 아직 일시 정지된 상태입니다. ({STRING}, {STRING}, {STRING}, {STRING})
|
STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_4 :게임이 아직 일시 정지된 상태입니다. ({STRING}, {STRING}, {STRING}, {STRING})
|
||||||
STR_NETWORK_SERVER_MESSAGE_GAME_UNPAUSED :게임이 재개되었습니다. ({STRING})
|
STR_NETWORK_SERVER_MESSAGE_GAME_UNPAUSED :게임이 재개되었습니다. ({STRING})
|
||||||
STR_NETWORK_SERVER_MESSAGE_GAME_REASON_NOT_ENOUGH_PLAYERS :충분한 플레이어가 없습니다
|
STR_NETWORK_SERVER_MESSAGE_GAME_REASON_NOT_ENOUGH_PLAYERS :플레이하는 사람 수
|
||||||
STR_NETWORK_SERVER_MESSAGE_GAME_REASON_CONNECTING_CLIENTS :접속자와 연결중
|
STR_NETWORK_SERVER_MESSAGE_GAME_REASON_CONNECTING_CLIENTS :접속자와 연결중
|
||||||
STR_NETWORK_SERVER_MESSAGE_GAME_REASON_MANUAL :수동
|
STR_NETWORK_SERVER_MESSAGE_GAME_REASON_MANUAL :수동
|
||||||
STR_NETWORK_SERVER_MESSAGE_GAME_REASON_GAME_SCRIPT :게임 스크립트
|
STR_NETWORK_SERVER_MESSAGE_GAME_REASON_GAME_SCRIPT :게임 스크립트
|
||||||
@@ -2988,7 +2988,7 @@ STR_TOWN_VIEW_MAIL_LAST_MONTH_MAX :{BLACK}지난
|
|||||||
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}도시가 성장하기 위해 필요한 화물:
|
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}도시가 성장하기 위해 필요한 화물:
|
||||||
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED}{G 0 "이" "가"} 필요함
|
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED}{G 0 "이" "가"} 필요함
|
||||||
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :겨울에는 {ORANGE}{STRING}{BLACK}{G 0 "이" "가"} 필요함
|
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :겨울에는 {ORANGE}{STRING}{BLACK}{G 0 "이" "가"} 필요함
|
||||||
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} 수송됨
|
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN}{G 0 "이" "가"} 수송됨
|
||||||
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{1:CARGO_LONG} \ {0:CARGO_TINY}{RED} (더 필요함)
|
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{1:CARGO_LONG} \ {0:CARGO_TINY}{RED} (더 필요함)
|
||||||
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{1:CARGO_LONG} \ {0:CARGO_TINY}{GREEN} (수송됨)
|
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{1:CARGO_LONG} \ {0:CARGO_TINY}{GREEN} (수송됨)
|
||||||
STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}도시가 {ORANGE}{COMMA}{BLACK}일마다 성장합니다.
|
STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}도시가 {ORANGE}{COMMA}{BLACK}일마다 성장합니다.
|
||||||
@@ -3009,7 +3009,7 @@ STR_TOWN_VIEW_RENAME_TOWN_BUTTON :도시 이름
|
|||||||
|
|
||||||
# Town local authority window
|
# Town local authority window
|
||||||
STR_LOCAL_AUTHORITY_CAPTION :{WHITE}{TOWN} 지역 당국
|
STR_LOCAL_AUTHORITY_CAPTION :{WHITE}{TOWN} 지역 당국
|
||||||
STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}회사 운송 성취도:
|
STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}회사에 대한 이 도시의 평판:
|
||||||
STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING}
|
STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING}
|
||||||
STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}가능한 행동:
|
STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}가능한 행동:
|
||||||
STR_LOCAL_AUTHORITY_ACTIONS_TOOLTIP :{BLACK}이 도시에 할 수 있는 일 목록 - 상세 정보를 보시려면 클릭하세요
|
STR_LOCAL_AUTHORITY_ACTIONS_TOOLTIP :{BLACK}이 도시에 할 수 있는 일 목록 - 상세 정보를 보시려면 클릭하세요
|
||||||
|
@@ -512,7 +512,7 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Monstrar
|
|||||||
STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Monstrare res fiscales societatis
|
STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Monstrare res fiscales societatis
|
||||||
STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Monstrare facta generalia societatis
|
STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Monstrare facta generalia societatis
|
||||||
STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Monstrare librum fabularum
|
STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Monstrare librum fabularum
|
||||||
STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Monstrare indicem metarum
|
STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Monstrare indicem propositorum
|
||||||
STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Monstrare formulas graphicas
|
STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Monstrare formulas graphicas
|
||||||
STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Monstrare album foederis societatum
|
STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Monstrare album foederis societatum
|
||||||
STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Industriam novam condere vel monstrare indicem industriarum
|
STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Industriam novam condere vel monstrare indicem industriarum
|
||||||
@@ -526,11 +526,11 @@ STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Struere
|
|||||||
STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Struere vias
|
STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Struere vias
|
||||||
STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Struere navalia
|
STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Struere navalia
|
||||||
STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Struere aeroportus
|
STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Struere aeroportus
|
||||||
STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Monstrare terrae arcam ferramentorum qua potes terram augere/minuere, arbores serere, etc.
|
STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Monstrare terrae arcam instrumentorum qua potes terram augere/minuere, arbores serere, etc.
|
||||||
STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Monstrare fenestram soni musicaeque
|
STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Monstrare fenestram soni musicaeque
|
||||||
STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Monstrare nuntium novissimum sive optiones nuntii
|
STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Monstrare nuntium novissimum sive optiones nuntii
|
||||||
STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Indicia terrae regionis, consola, emendatio scripti, imagines conspectus, de OpenTTD
|
STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Indicia terrae regionis, consola, emendatio scripti, imagines conspectus, de OpenTTD
|
||||||
STR_TOOLBAR_TOOLTIP_SWITCH_TOOLBAR :{BLACK}Mutare inter arcas ferramentorum
|
STR_TOOLBAR_TOOLTIP_SWITCH_TOOLBAR :{BLACK}Mutare inter arcas instrumentorum
|
||||||
|
|
||||||
# Extra tooltips for the scenario editor toolbar
|
# Extra tooltips for the scenario editor toolbar
|
||||||
STR_SCENEDIT_TOOLBAR_TOOLTIP_SAVE_SCENARIO_LOAD_SCENARIO :{BLACK}Servare scaenarium, legere scaenarium, relinquere scriptorium scaenarii, exire
|
STR_SCENEDIT_TOOLBAR_TOOLTIP_SAVE_SCENARIO_LOAD_SCENARIO :{BLACK}Servare scaenarium, legere scaenarium, relinquere scriptorium scaenarii, exire
|
||||||
@@ -1507,7 +1507,7 @@ STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Originalis
|
|||||||
STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Melior
|
STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Melior
|
||||||
STR_CONFIG_SETTING_ROAD_SIDE :Vehicula viaria: {STRING}
|
STR_CONFIG_SETTING_ROAD_SIDE :Vehicula viaria: {STRING}
|
||||||
STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Eligere latus viae gubernandi
|
STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Eligere latus viae gubernandi
|
||||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Circuitus tabulae altitudinum: {STRING}
|
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Rotatio tabulae altitudinum: {STRING}
|
||||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Sinistrorsus
|
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Sinistrorsus
|
||||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Dextrorsus
|
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Dextrorsus
|
||||||
STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Altitudo scaenario plano data: {STRING}
|
STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Altitudo scaenario plano data: {STRING}
|
||||||
@@ -1518,8 +1518,8 @@ STR_CONFIG_SETTING_STATION_SPREAD :Spatium station
|
|||||||
STR_CONFIG_SETTING_STATION_SPREAD_HELPTEXT :Area maxima in qua partes stationum possunt esse sita. Cave, numeris spatii magnis, ludus lentus sit
|
STR_CONFIG_SETTING_STATION_SPREAD_HELPTEXT :Area maxima in qua partes stationum possunt esse sita. Cave, numeris spatii magnis, ludus lentus sit
|
||||||
STR_CONFIG_SETTING_SERVICEATHELIPAD :Ministrare helicoptera automatice in helicopterariis: {STRING}
|
STR_CONFIG_SETTING_SERVICEATHELIPAD :Ministrare helicoptera automatice in helicopterariis: {STRING}
|
||||||
STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT :Ministrare helicoptera post quemque appulsum, etsi non est tugurium portui
|
STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT :Ministrare helicoptera post quemque appulsum, etsi non est tugurium portui
|
||||||
STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR :Connectere terrae arcam ferramentorum arcis ferriviariae/viariae/aquariae/aeriae ferramentorum: {STRING}
|
STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR :Connectere terrae arcam instrumentorum arcis ferriviariae/viariae/aquariae/aeriae instrumentorum: {STRING}
|
||||||
STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR_HELPTEXT :Cum arca ferramentorum constructionis aperitur, etiam plasmationis terrae arca ferramentorum aperitur
|
STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR_HELPTEXT :Cum arca instrumentorum constructionis aperitur, etiam plasmationis terrae arca instrumentorum aperitur
|
||||||
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR :Color terrae in tabula adhibitus: {STRING}
|
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR :Color terrae in tabula adhibitus: {STRING}
|
||||||
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT :Color terrae in tabula geographica parva
|
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT :Color terrae in tabula geographica parva
|
||||||
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :Viridis
|
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :Viridis
|
||||||
@@ -1756,8 +1756,8 @@ STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NONE :Nulla {RED}(rum
|
|||||||
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_RAINFOREST :Modo in silvis plivualibus
|
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_RAINFOREST :Modo in silvis plivualibus
|
||||||
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_ALL :Ubique
|
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_ALL :Ubique
|
||||||
|
|
||||||
STR_CONFIG_SETTING_TOOLBAR_POS :Locus primariae arcae ferramentorum: {STRING}
|
STR_CONFIG_SETTING_TOOLBAR_POS :Locus primariae arcae instrumentorum: {STRING}
|
||||||
STR_CONFIG_SETTING_TOOLBAR_POS_HELPTEXT :Locus horizontalis arcae ferramentorum primariae apud apicem fenestrae
|
STR_CONFIG_SETTING_TOOLBAR_POS_HELPTEXT :Locus horizontalis arcae instrumentorum primariae apud apicem fenestrae
|
||||||
STR_CONFIG_SETTING_STATUSBAR_POS :Locus serae status: {STRING}
|
STR_CONFIG_SETTING_STATUSBAR_POS :Locus serae status: {STRING}
|
||||||
STR_CONFIG_SETTING_STATUSBAR_POS_HELPTEXT :Locus horizontalis serae status apud infimam partem fenestrae
|
STR_CONFIG_SETTING_STATUSBAR_POS_HELPTEXT :Locus horizontalis serae status apud infimam partem fenestrae
|
||||||
STR_CONFIG_SETTING_SNAP_RADIUS :Radius fenestrae adhaerendae: {STRING}
|
STR_CONFIG_SETTING_SNAP_RADIUS :Radius fenestrae adhaerendae: {STRING}
|
||||||
@@ -2951,7 +2951,7 @@ STR_MAPGEN_BORDER_RANDOM :{BLACK}Fortuiti
|
|||||||
STR_MAPGEN_BORDER_RANDOMIZE :{BLACK}Fortuiti
|
STR_MAPGEN_BORDER_RANDOMIZE :{BLACK}Fortuiti
|
||||||
STR_MAPGEN_BORDER_MANUAL :{BLACK}Manu
|
STR_MAPGEN_BORDER_MANUAL :{BLACK}Manu
|
||||||
|
|
||||||
STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Circuitus tabulae altitudinum:
|
STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Rotatio tabulae altitudinum:
|
||||||
STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Nomen tabulae altitudinum:
|
STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Nomen tabulae altitudinum:
|
||||||
STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Magnitudo:
|
STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Magnitudo:
|
||||||
STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM}
|
STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM}
|
||||||
@@ -3021,7 +3021,7 @@ STR_NEWGRF_SETTINGS_TOGGLE_PALETTE :{BLACK}Mutare c
|
|||||||
STR_NEWGRF_SETTINGS_TOGGLE_PALETTE_TOOLTIP :{BLACK}Mutare coloris tabulam huius NewGRF.{}Utere cum colores huius NewGRF videntur esse rosei
|
STR_NEWGRF_SETTINGS_TOGGLE_PALETTE_TOOLTIP :{BLACK}Mutare coloris tabulam huius NewGRF.{}Utere cum colores huius NewGRF videntur esse rosei
|
||||||
STR_NEWGRF_SETTINGS_APPLY_CHANGES :{BLACK}Confirmare mutationes
|
STR_NEWGRF_SETTINGS_APPLY_CHANGES :{BLACK}Confirmare mutationes
|
||||||
|
|
||||||
STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_BUTTON :{BLACK}Quaere res absentes in interrete
|
STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_BUTTON :{BLACK}Quaere res absentes in interreti
|
||||||
STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_TOOLTIP :{BLACK}Inspicere si res absentes in inventario Interretiale sunt
|
STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_TOOLTIP :{BLACK}Inspicere si res absentes in inventario Interretiale sunt
|
||||||
|
|
||||||
STR_NEWGRF_SETTINGS_FILENAME :{BLACK}Nomen fasciculi: {SILVER}{STRING}
|
STR_NEWGRF_SETTINGS_FILENAME :{BLACK}Nomen fasciculi: {SILVER}{STRING}
|
||||||
@@ -3236,16 +3236,16 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Emere m
|
|||||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Largiri auctoritatem vicinalem ut tua censio augeatur, at difficultas adest: forsitan animadvertaris et graviter puniaris.{}Pretium: {CURRENCY_LONG}
|
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Largiri auctoritatem vicinalem ut tua censio augeatur, at difficultas adest: forsitan animadvertaris et graviter puniaris.{}Pretium: {CURRENCY_LONG}
|
||||||
|
|
||||||
# Goal window
|
# Goal window
|
||||||
STR_GOALS_CAPTION :{WHITE}{COMPANY} Metae
|
STR_GOALS_CAPTION :{WHITE}{COMPANY} Proposita
|
||||||
STR_GOALS_SPECTATOR_CAPTION :{WHITE}Metae Globales
|
STR_GOALS_SPECTATOR_CAPTION :{WHITE}Proposita Universalia
|
||||||
STR_GOALS_GLOBAL_TITLE :{BLACK}Metae globales:
|
STR_GOALS_GLOBAL_TITLE :{BLACK}Proposita universalia:
|
||||||
STR_GOALS_TEXT :{ORANGE}{STRING}
|
STR_GOALS_TEXT :{ORANGE}{STRING}
|
||||||
STR_GOALS_NONE :{ORANGE}- Nullae -
|
STR_GOALS_NONE :{ORANGE}- Nullae -
|
||||||
STR_GOALS_SPECTATOR_NONE :{ORANGE}- Non applicabiles -
|
STR_GOALS_SPECTATOR_NONE :{ORANGE}- Non applicabiles -
|
||||||
STR_GOALS_PROGRESS :{ORANGE}{STRING}
|
STR_GOALS_PROGRESS :{ORANGE}{STRING}
|
||||||
STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING}
|
STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING}
|
||||||
STR_GOALS_COMPANY_TITLE :{BLACK}Metae Societatis:
|
STR_GOALS_COMPANY_TITLE :{BLACK}Proposita Societatis:
|
||||||
STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Preme in metam ut conspectus moveatur supra industriam/oppidum/tegulam. Ctrl+Preme ut nova fenestra conspectus aperiatur supra industriam/oppidum/tegulam
|
STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Preme in propositum ut conspectus moveatur supra industriam/oppidum/tegulam. Ctrl+Preme ut nova fenestra conspectus aperiatur supra industriam/oppidum/tegulam
|
||||||
|
|
||||||
# Goal question window
|
# Goal question window
|
||||||
STR_GOAL_QUESTION_CAPTION_QUESTION :Quaestio
|
STR_GOAL_QUESTION_CAPTION_QUESTION :Quaestio
|
||||||
@@ -3285,7 +3285,7 @@ STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Preme in
|
|||||||
|
|
||||||
# Story book window
|
# Story book window
|
||||||
STR_STORY_BOOK_CAPTION :{WHITE}{COMPANY} Librum Fabularum
|
STR_STORY_BOOK_CAPTION :{WHITE}{COMPANY} Librum Fabularum
|
||||||
STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Librum Fabularum Globalis
|
STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Librum Fabularum Universale
|
||||||
STR_STORY_BOOK_TITLE :{YELLOW}{STRING}
|
STR_STORY_BOOK_TITLE :{YELLOW}{STRING}
|
||||||
STR_STORY_BOOK_GENERIC_PAGE_ITEM :Pagina {NUM}
|
STR_STORY_BOOK_GENERIC_PAGE_ITEM :Pagina {NUM}
|
||||||
STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Salire ad quamdam paginam eligendo eam in hac indice
|
STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Salire ad quamdam paginam eligendo eam in hac indice
|
||||||
@@ -3293,7 +3293,7 @@ STR_STORY_BOOK_PREV_PAGE :{BLACK}Priorem
|
|||||||
STR_STORY_BOOK_PREV_PAGE_TOOLTIP :{BLACK}Ire ad paginam priorem
|
STR_STORY_BOOK_PREV_PAGE_TOOLTIP :{BLACK}Ire ad paginam priorem
|
||||||
STR_STORY_BOOK_NEXT_PAGE :{BLACK}Secundam
|
STR_STORY_BOOK_NEXT_PAGE :{BLACK}Secundam
|
||||||
STR_STORY_BOOK_NEXT_PAGE_TOOLTIP :{BLACK}Ire ad paginam secundam
|
STR_STORY_BOOK_NEXT_PAGE_TOOLTIP :{BLACK}Ire ad paginam secundam
|
||||||
STR_STORY_BOOK_INVALID_GOAL_REF :{RED}Meta irrita
|
STR_STORY_BOOK_INVALID_GOAL_REF :{RED}Propositum irritum
|
||||||
|
|
||||||
# Station list window
|
# Station list window
|
||||||
STR_STATION_LIST_TOOLTIP :{BLACK}Nomina stationum - preme in nomen ut conspectus moveatur supra stationem. Ctrl+Preme ut nova fenestra conspectus aperiatur supra stationem
|
STR_STATION_LIST_TOOLTIP :{BLACK}Nomina stationum - preme in nomen ut conspectus moveatur supra stationem. Ctrl+Preme ut nova fenestra conspectus aperiatur supra stationem
|
||||||
@@ -3555,7 +3555,7 @@ STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Greges -
|
|||||||
STR_GROUP_CREATE_TOOLTIP :{BLACK}Preme ut grex creatur
|
STR_GROUP_CREATE_TOOLTIP :{BLACK}Preme ut grex creatur
|
||||||
STR_GROUP_DELETE_TOOLTIP :{BLACK}Delere gregem electam
|
STR_GROUP_DELETE_TOOLTIP :{BLACK}Delere gregem electam
|
||||||
STR_GROUP_RENAME_TOOLTIP :{BLACK}Renominare gregem electam
|
STR_GROUP_RENAME_TOOLTIP :{BLACK}Renominare gregem electam
|
||||||
STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Preme ut vehicula huius gregis custodiantur contra autocommutationem globalem
|
STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Preme ut vehicula huius gregis custodiantur contra autocommutationem universalem
|
||||||
|
|
||||||
STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Gregem Delere
|
STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Gregem Delere
|
||||||
STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Esne certus te velle delere hanc gregem eiusque descendentes?
|
STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Esne certus te velle delere hanc gregem eiusque descendentes?
|
||||||
@@ -4374,7 +4374,7 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... nimi
|
|||||||
STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... nimis prope aliud oppidum
|
STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... nimis prope aliud oppidum
|
||||||
STR_ERROR_TOO_MANY_TOWNS :{WHITE}... nimis oppida adsunt
|
STR_ERROR_TOO_MANY_TOWNS :{WHITE}... nimis oppida adsunt
|
||||||
STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... plus spatium tabulae deest
|
STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... plus spatium tabulae deest
|
||||||
STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Oppidum non vias faciet. Potest sinere vias facere in Electionibus->Circumiecta->Oppida
|
STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Oppidum non vias struet. Potes hanc optionem mutare in Electionibus->Circumiecta->Oppida
|
||||||
STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Constructio viaria agitur
|
STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Constructio viaria agitur
|
||||||
STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Non licet oppidum delere...{}Statio receptaculumve est oppido sive non licet tegulam oppidi removere
|
STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Non licet oppidum delere...{}Statio receptaculumve est oppido sive non licet tegulam oppidi removere
|
||||||
STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... non est locus effigiei idoneus in medio oppidi
|
STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... non est locus effigiei idoneus in medio oppidi
|
||||||
|
@@ -205,16 +205,16 @@ STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t
|
|||||||
STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t
|
STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t
|
||||||
STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg
|
STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg
|
||||||
|
|
||||||
STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}tonn{P "" er}
|
STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}tonn
|
||||||
STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}tonn{P "" er}
|
STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}tonn{P "" ""}
|
||||||
STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg
|
STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg
|
||||||
|
|
||||||
STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gal
|
STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gal
|
||||||
STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l
|
STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l
|
||||||
STR_UNITS_VOLUME_SHORT_SI :{COMMA} m³
|
STR_UNITS_VOLUME_SHORT_SI :{COMMA} m³
|
||||||
|
|
||||||
STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}gallon{P "" er}
|
STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}gallon
|
||||||
STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}liter{P "" er}
|
STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}liter
|
||||||
STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³
|
STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³
|
||||||
|
|
||||||
STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf
|
STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf
|
||||||
@@ -1528,7 +1528,7 @@ STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Prosentandel av
|
|||||||
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Andel av inntekten gitt til de mellomliggende etapper i et overføringssystem, noe som gir mer kontroll over inntektene
|
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Andel av inntekten gitt til de mellomliggende etapper i et overføringssystem, noe som gir mer kontroll over inntektene
|
||||||
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Når du drar en linje, plasser signaler hver: {STRING}
|
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Når du drar en linje, plasser signaler hver: {STRING}
|
||||||
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Angi distansen for når signaler vil bli bygget på et spor frem til neste hinder (signal, kryss), hvis signaler blir dratt
|
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Angi distansen for når signaler vil bli bygget på et spor frem til neste hinder (signal, kryss), hvis signaler blir dratt
|
||||||
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} kartelement{P 0 "" s}
|
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} kartelement{P 0 "" er}
|
||||||
STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE :Når du drar en linje, oppretthold fast avstand mellom signaler: {STRING}
|
STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE :Når du drar en linje, oppretthold fast avstand mellom signaler: {STRING}
|
||||||
STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Velg oppførselen til signalplassering ved Ctrl + dragning av signaler. Hvis deaktivert, blir signaler plassert ved tunneler eller broer for å unngå lange strekninger uten signaler. Hvis aktivert, blir signalene plassert for hver N ruter, noe som gjør justering av signaler på parallelle spor enklere
|
STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Velg oppførselen til signalplassering ved Ctrl + dragning av signaler. Hvis deaktivert, blir signaler plassert ved tunneler eller broer for å unngå lange strekninger uten signaler. Hvis aktivert, blir signalene plassert for hver N ruter, noe som gjør justering av signaler på parallelle spor enklere
|
||||||
STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Bygg vingesignal automatisk før: {STRING}
|
STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Bygg vingesignal automatisk før: {STRING}
|
||||||
@@ -1577,7 +1577,7 @@ STR_CONFIG_SETTING_STATUSBAR_POS :Statusbarens po
|
|||||||
STR_CONFIG_SETTING_STATUSBAR_POS_HELPTEXT :Horisontal posisjon av status verktøylinjen på bunnen av skjermen
|
STR_CONFIG_SETTING_STATUSBAR_POS_HELPTEXT :Horisontal posisjon av status verktøylinjen på bunnen av skjermen
|
||||||
STR_CONFIG_SETTING_SNAP_RADIUS :Vinduers smekkeradius: {STRING}
|
STR_CONFIG_SETTING_SNAP_RADIUS :Vinduers smekkeradius: {STRING}
|
||||||
STR_CONFIG_SETTING_SNAP_RADIUS_HELPTEXT :Avstanden mellom vinduer før vinduet som blir flyttet automatisk tilpasset nærliggende vinduer
|
STR_CONFIG_SETTING_SNAP_RADIUS_HELPTEXT :Avstanden mellom vinduer før vinduet som blir flyttet automatisk tilpasset nærliggende vinduer
|
||||||
STR_CONFIG_SETTING_SNAP_RADIUS_VALUE :{COMMA} piksel{P 0 "" s}
|
STR_CONFIG_SETTING_SNAP_RADIUS_VALUE :{COMMA} piks{P 0 el ler}
|
||||||
STR_CONFIG_SETTING_SNAP_RADIUS_DISABLED :Deaktivert
|
STR_CONFIG_SETTING_SNAP_RADIUS_DISABLED :Deaktivert
|
||||||
STR_CONFIG_SETTING_SOFT_LIMIT :Maksimalt antall flytende vinduer: {STRING}
|
STR_CONFIG_SETTING_SOFT_LIMIT :Maksimalt antall flytende vinduer: {STRING}
|
||||||
STR_CONFIG_SETTING_SOFT_LIMIT_HELPTEXT :Antall ikke-klebrige åpne vinduer før gamle vinduer automatisk blir lukket for å gi plass til nye vinduer
|
STR_CONFIG_SETTING_SOFT_LIMIT_HELPTEXT :Antall ikke-klebrige åpne vinduer før gamle vinduer automatisk blir lukket for å gi plass til nye vinduer
|
||||||
@@ -3908,8 +3908,8 @@ STR_TIMETABLE_STAY_FOR_ESTIMATED :(opphold i {STR
|
|||||||
STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(reise for {STRING}, ikke oppsatt med rutetabell)
|
STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(reise for {STRING}, ikke oppsatt med rutetabell)
|
||||||
STR_TIMETABLE_STAY_FOR :og bli værende i {STRING}
|
STR_TIMETABLE_STAY_FOR :og bli værende i {STRING}
|
||||||
STR_TIMETABLE_AND_TRAVEL_FOR :og reis i {STRING}
|
STR_TIMETABLE_AND_TRAVEL_FOR :og reis i {STRING}
|
||||||
STR_TIMETABLE_DAYS :{COMMA}{NBSP}dag{P "" s}
|
STR_TIMETABLE_DAYS :{COMMA}{NBSP}dag{P "" er}
|
||||||
STR_TIMETABLE_TICKS :{COMMA}{NBSP}tikk{P "" s}
|
STR_TIMETABLE_TICKS :{COMMA}{NBSP}tikk
|
||||||
|
|
||||||
STR_TIMETABLE_TOTAL_TIME :{BLACK}Det vil ta {STRING} å fullføre rutetabellen
|
STR_TIMETABLE_TOTAL_TIME :{BLACK}Det vil ta {STRING} å fullføre rutetabellen
|
||||||
STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Det vil ta minst {STRING} å fullføre denne rutetabellen (rutetabell ikke fullstendig)
|
STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Det vil ta minst {STRING} å fullføre denne rutetabellen (rutetabell ikke fullstendig)
|
||||||
|
@@ -4235,10 +4235,10 @@ STR_ORDER_UNLOAD :(Rozładuj i za
|
|||||||
STR_ORDER_UNLOAD_FULL_LOAD :(Rozładuj i czekaj na pełny załadunek)
|
STR_ORDER_UNLOAD_FULL_LOAD :(Rozładuj i czekaj na pełny załadunek)
|
||||||
STR_ORDER_UNLOAD_FULL_LOAD_ANY :(Rozładuj i czekaj na pełny załadunek któregoś z towarów)
|
STR_ORDER_UNLOAD_FULL_LOAD_ANY :(Rozładuj i czekaj na pełny załadunek któregoś z towarów)
|
||||||
STR_ORDER_UNLOAD_NO_LOAD :(Rozładuj i pozostaw pusty)
|
STR_ORDER_UNLOAD_NO_LOAD :(Rozładuj i pozostaw pusty)
|
||||||
STR_ORDER_TRANSFER :(Przeładuj i zabierz ładunek)
|
STR_ORDER_TRANSFER :(Przeładunek i zabranie ładunku)
|
||||||
STR_ORDER_TRANSFER_FULL_LOAD :(Przeładuj i czekaj na pełny załadunek)
|
STR_ORDER_TRANSFER_FULL_LOAD :(Przeładunek i oczekiwanie na pełny załadunek)
|
||||||
STR_ORDER_TRANSFER_FULL_LOAD_ANY :(Przeładuj i czekaj na pełny załadunek któregoś z towarów)
|
STR_ORDER_TRANSFER_FULL_LOAD_ANY :(Przeładunek i oczekiwanie na pełny załadunek któregoś z towarów)
|
||||||
STR_ORDER_TRANSFER_NO_LOAD :(Przeładuj i pozostaw pusty)
|
STR_ORDER_TRANSFER_NO_LOAD :(Przeładunek, pozostaw pusty)
|
||||||
STR_ORDER_NO_UNLOAD :(Nie rozładowuj i zabierz ładunek)
|
STR_ORDER_NO_UNLOAD :(Nie rozładowuj i zabierz ładunek)
|
||||||
STR_ORDER_NO_UNLOAD_FULL_LOAD :(Nie rozładowuj i czekaj na pełny załadunek)
|
STR_ORDER_NO_UNLOAD_FULL_LOAD :(Nie rozładowuj i czekaj na pełny załadunek)
|
||||||
STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(Nie rozładowuj i czekaj na pełny załadunek któregoś z towarów)
|
STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(Nie rozładowuj i czekaj na pełny załadunek któregoś z towarów)
|
||||||
@@ -4250,9 +4250,9 @@ STR_ORDER_FULL_LOAD_ANY_REFIT :(Przebuduj na {
|
|||||||
STR_ORDER_UNLOAD_REFIT :(Rozładuj, przebuduj na {STRING.b} i zabierz ładunek)
|
STR_ORDER_UNLOAD_REFIT :(Rozładuj, przebuduj na {STRING.b} i zabierz ładunek)
|
||||||
STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Rozładuj, przebuduj na {STRING.b} i czekaj na pełny załadunek)
|
STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Rozładuj, przebuduj na {STRING.b} i czekaj na pełny załadunek)
|
||||||
STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Rozładuj, przebuduj na {STRING.b} i czekaj na pełny załadunek któregoś z towarów)
|
STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Rozładuj, przebuduj na {STRING.b} i czekaj na pełny załadunek któregoś z towarów)
|
||||||
STR_ORDER_TRANSFER_REFIT :(Przeładuj, przebuduj na {STRING.b} i zabierz ładunek)
|
STR_ORDER_TRANSFER_REFIT :(Przeładunek, przebudowa na {STRING.b} i zabranie ładunku)
|
||||||
STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Przeładuj, przebuduj na {STRING.b} i czekaj na pełny załadunek)
|
STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Przeładunek, przebudowa na {STRING.b} i oczekiwanie na pełny załadunek)
|
||||||
STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Przeładuj, przebuduj na {STRING.b} i czekaj na dowolny pełny załadunek)
|
STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Przeładunek, przebudowa na {STRING.b} i oczekiwanie na dowolny pełny załadunek)
|
||||||
STR_ORDER_NO_UNLOAD_REFIT :(Nie rozładowuj, przebuduj na {STRING.b} i zabierz ładunek)
|
STR_ORDER_NO_UNLOAD_REFIT :(Nie rozładowuj, przebuduj na {STRING.b} i zabierz ładunek)
|
||||||
STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Nie rozładowuj, przebuduj na {STRING.b} i czekaj na pełny załadunek)
|
STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Nie rozładowuj, przebuduj na {STRING.b} i czekaj na pełny załadunek)
|
||||||
STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Nie rozładowuj, przebuduj na {STRING.b} i czekaj na dowolny pełny załadunek)
|
STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Nie rozładowuj, przebuduj na {STRING.b} i czekaj na dowolny pełny załadunek)
|
||||||
|
@@ -327,17 +327,17 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}显示
|
|||||||
STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}显示游戏目标选单
|
STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}显示游戏目标选单
|
||||||
STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}显示图表
|
STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}显示图表
|
||||||
STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}显示公司名次表
|
STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}显示公司名次表
|
||||||
STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}建设新的工业设施
|
STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}工业设施列表/产业链/建立新工业设施
|
||||||
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}显示公司的火车列表。按住 Ctrl 键单击可以切换组群和车辆列表。
|
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}显示公司的火车列表。按住 Ctrl 键单击可以切换组群和车辆列表。
|
||||||
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}显示公司的汽车列表。按住 Ctrl 键单击可以切换组群和汽车列表。
|
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}显示公司的汽车列表。按住 Ctrl 键单击可以切换组群和汽车列表。
|
||||||
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}显示公司的船只列表。按住 Ctrl 键单击可以切换组群和船只列表。
|
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}显示公司的船只列表。按住 Ctrl 键单击可以切换组群和船只列表。
|
||||||
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}显示公司的飞机列表。按住 Ctrl 键单击可以切换组群和飞机列表。
|
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}显示公司的飞机列表。按住 Ctrl 键单击可以切换组群和飞机列表。
|
||||||
STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}放大视图
|
STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}放大视图
|
||||||
STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}缩小视图
|
STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}缩小视图
|
||||||
STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}建设铁路
|
STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}显示铁路建设工具
|
||||||
STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}建设公路
|
STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}显示公路建设工具
|
||||||
STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}建设港口
|
STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}显示水运建设工具
|
||||||
STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}建设机场
|
STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}显示机场建设工具
|
||||||
STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}打开景观美化工具栏{}以修改地形、设置地貌等
|
STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}打开景观美化工具栏{}以修改地形、设置地貌等
|
||||||
STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}显示 声音/音乐 控制菜单
|
STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}显示 声音/音乐 控制菜单
|
||||||
STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}显示最新消息新闻,消息选项,消息历史
|
STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}显示最新消息新闻,消息选项,消息历史
|
||||||
@@ -661,11 +661,11 @@ STR_MUSIC_TOOLTIP_STOP_PLAYING_MUSIC :{BLACK}停止
|
|||||||
STR_MUSIC_TOOLTIP_START_PLAYING_MUSIC :{BLACK}开始播放音乐
|
STR_MUSIC_TOOLTIP_START_PLAYING_MUSIC :{BLACK}开始播放音乐
|
||||||
STR_MUSIC_TOOLTIP_DRAG_SLIDERS_TO_SET_MUSIC :{BLACK}拖动滑块以调节音乐和音效的音量
|
STR_MUSIC_TOOLTIP_DRAG_SLIDERS_TO_SET_MUSIC :{BLACK}拖动滑块以调节音乐和音效的音量
|
||||||
STR_MUSIC_TOOLTIP_SELECT_ALL_TRACKS_PROGRAM :{BLACK}选择全部乐曲
|
STR_MUSIC_TOOLTIP_SELECT_ALL_TRACKS_PROGRAM :{BLACK}选择全部乐曲
|
||||||
STR_MUSIC_TOOLTIP_SELECT_OLD_STYLE_MUSIC :{BLACK}选择'旧的风格'音乐列表
|
STR_MUSIC_TOOLTIP_SELECT_OLD_STYLE_MUSIC :{BLACK}选择“老式音乐”列表
|
||||||
STR_MUSIC_TOOLTIP_SELECT_NEW_STYLE_MUSIC :{BLACK}选择'新的风格'音乐列表
|
STR_MUSIC_TOOLTIP_SELECT_NEW_STYLE_MUSIC :{BLACK}选择“新的风格”音乐列表
|
||||||
STR_MUSIC_TOOLTIP_SELECT_EZY_STREET_STYLE :{BLACK}选择'Ezy街头'风格的音乐列表
|
STR_MUSIC_TOOLTIP_SELECT_EZY_STREET_STYLE :{BLACK}选择“Ezy街头”风格的音乐列表
|
||||||
STR_MUSIC_TOOLTIP_SELECT_CUSTOM_1_USER_DEFINED :{BLACK}选择'自定义1'(用户定义)的列表
|
STR_MUSIC_TOOLTIP_SELECT_CUSTOM_1_USER_DEFINED :{BLACK}选择“自定义1”(用户定义)的列表
|
||||||
STR_MUSIC_TOOLTIP_SELECT_CUSTOM_2_USER_DEFINED :{BLACK}选择'自定义2'(用户定义)的列表
|
STR_MUSIC_TOOLTIP_SELECT_CUSTOM_2_USER_DEFINED :{BLACK}选择“自定义2”(用户定义)的列表
|
||||||
STR_MUSIC_TOOLTIP_TOGGLE_PROGRAM_SHUFFLE :{BLACK}开启/关闭 随机播放列表中的曲目
|
STR_MUSIC_TOOLTIP_TOGGLE_PROGRAM_SHUFFLE :{BLACK}开启/关闭 随机播放列表中的曲目
|
||||||
STR_MUSIC_TOOLTIP_SHOW_MUSIC_TRACK_SELECTION :{BLACK}打开音乐选单窗口
|
STR_MUSIC_TOOLTIP_SHOW_MUSIC_TRACK_SELECTION :{BLACK}打开音乐选单窗口
|
||||||
|
|
||||||
@@ -844,7 +844,7 @@ STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE
|
|||||||
STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE}的调度计划中有无效调度命令
|
STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE}的调度计划中有无效调度命令
|
||||||
STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} 有重复调度命令
|
STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} 有重复调度命令
|
||||||
STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE}的调度计划有无效的车站
|
STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE}的调度计划有无效的车站
|
||||||
STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} 的计划列表中有机场跑道太短不足及起降
|
STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} 的计划列表中有一个机场的跑道太短而不能起降
|
||||||
|
|
||||||
STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} 即将达到报废年限
|
STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} 即将达到报废年限
|
||||||
STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} 已经达到报废年限
|
STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} 已经达到报废年限
|
||||||
@@ -1748,10 +1748,10 @@ STR_INTRO_TOOLTIP_PLAY_SCENARIO :{BLACK}使用
|
|||||||
STR_INTRO_TOOLTIP_SCENARIO_EDITOR :{BLACK}创建自定义的游戏场景
|
STR_INTRO_TOOLTIP_SCENARIO_EDITOR :{BLACK}创建自定义的游戏场景
|
||||||
STR_INTRO_TOOLTIP_MULTIPLAYER :{BLACK}开始联机游戏
|
STR_INTRO_TOOLTIP_MULTIPLAYER :{BLACK}开始联机游戏
|
||||||
|
|
||||||
STR_INTRO_TOOLTIP_TEMPERATE :{BLACK}选择 '温带' 景观风格
|
STR_INTRO_TOOLTIP_TEMPERATE :{BLACK}选择“温带”景观风格
|
||||||
STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}选择 '寒带' 景观风格
|
STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}选择“寒带”景观风格
|
||||||
STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}选择 '沙漠' 景观风格
|
STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}选择“沙漠”景观风格
|
||||||
STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}选择 '玩具' 景观风格
|
STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}选择 “玩具”景观风格
|
||||||
|
|
||||||
STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}显示游戏选项
|
STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}显示游戏选项
|
||||||
STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}显示高分榜
|
STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}显示高分榜
|
||||||
@@ -2424,7 +2424,7 @@ STR_STATION_BUILD_CARGO_TRAM_ORIENTATION :{WHITE}货运
|
|||||||
STR_STATION_BUILD_CARGO_TRAM_ORIENTATION_TOOLTIP :{BLACK}选择货运电车车站方向
|
STR_STATION_BUILD_CARGO_TRAM_ORIENTATION_TOOLTIP :{BLACK}选择货运电车车站方向
|
||||||
|
|
||||||
# Waterways toolbar (last two for SE only)
|
# Waterways toolbar (last two for SE only)
|
||||||
STR_WATERWAYS_TOOLBAR_CAPTION :{WHITE}码头建设
|
STR_WATERWAYS_TOOLBAR_CAPTION :{WHITE}水运建设
|
||||||
STR_WATERWAYS_TOOLBAR_CAPTION_SE :{WHITE}水运
|
STR_WATERWAYS_TOOLBAR_CAPTION_SE :{WHITE}水运
|
||||||
STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}修建运河
|
STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}修建运河
|
||||||
STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}建设船闸,按住 Shift 键操作可以显示所需资金
|
STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}建设船闸,按住 Shift 键操作可以显示所需资金
|
||||||
|
@@ -434,7 +434,7 @@ STR_INDUSTRY_MENU_FUND_NEW_INDUSTRY :Fundar nueva in
|
|||||||
|
|
||||||
############ range for railway construction menu starts
|
############ range for railway construction menu starts
|
||||||
STR_RAIL_MENU_RAILROAD_CONSTRUCTION :Construcción de ferrocarril
|
STR_RAIL_MENU_RAILROAD_CONSTRUCTION :Construcción de ferrocarril
|
||||||
STR_RAIL_MENU_ELRAIL_CONSTRUCTION :Construcción ferrocarril eléctrico
|
STR_RAIL_MENU_ELRAIL_CONSTRUCTION :Construcción de ferrocarril eléctrico
|
||||||
STR_RAIL_MENU_MONORAIL_CONSTRUCTION :Construcción de monorraíl
|
STR_RAIL_MENU_MONORAIL_CONSTRUCTION :Construcción de monorraíl
|
||||||
STR_RAIL_MENU_MAGLEV_CONSTRUCTION :Construcción de maglev
|
STR_RAIL_MENU_MAGLEV_CONSTRUCTION :Construcción de maglev
|
||||||
############ range ends here
|
############ range ends here
|
||||||
@@ -625,7 +625,7 @@ STR_PERFORMANCE_DETAIL_LOAN :{BLACK}Préstam
|
|||||||
STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Total:
|
STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Total:
|
||||||
############ End of order list
|
############ End of order list
|
||||||
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_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 autobus, aeropuertos y demás son contabilizadas por separado incluso si pertenecen a la misma estación
|
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 (de entre todos los vehículos con más de 2 años)
|
STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP :{BLACK}Beneficio del vehículo con menores ingresos (de entre todos los 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_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_MAX_INCOME_TOOLTIP :{BLACK}Cantidad de dinero ganado en el trimestre con el beneficio más alto de los pasados 12 trimestres
|
||||||
@@ -645,8 +645,8 @@ STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLA
|
|||||||
STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Personal 2
|
STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Personal 2
|
||||||
STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Volumen música
|
STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Volumen música
|
||||||
STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Volumen efectos
|
STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Volumen efectos
|
||||||
STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}MIN
|
STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}MÍN
|
||||||
STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}MAX
|
STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}MÁX
|
||||||
STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}'
|
STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}'
|
||||||
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
|
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
|
||||||
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
|
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
|
||||||
@@ -656,15 +656,15 @@ STR_MUSIC_TRACK :{TINY_FONT}{BLA
|
|||||||
STR_MUSIC_XTITLE :{TINY_FONT}{BLACK}Título
|
STR_MUSIC_XTITLE :{TINY_FONT}{BLACK}Título
|
||||||
STR_MUSIC_SHUFFLE :{TINY_FONT}{BLACK}Mezclar
|
STR_MUSIC_SHUFFLE :{TINY_FONT}{BLACK}Mezclar
|
||||||
STR_MUSIC_PROGRAM :{TINY_FONT}{BLACK}Programa
|
STR_MUSIC_PROGRAM :{TINY_FONT}{BLACK}Programa
|
||||||
STR_MUSIC_TOOLTIP_SKIP_TO_PREVIOUS_TRACK :{BLACK}Pasar a pista anterior de la selección
|
STR_MUSIC_TOOLTIP_SKIP_TO_PREVIOUS_TRACK :{BLACK}Saltar a la pista anterior de la selección
|
||||||
STR_MUSIC_TOOLTIP_SKIP_TO_NEXT_TRACK_IN_SELECTION :{BLACK}Pasar a siguiente pista de la selección
|
STR_MUSIC_TOOLTIP_SKIP_TO_NEXT_TRACK_IN_SELECTION :{BLACK}Saltar a la siguiente pista de la selección
|
||||||
STR_MUSIC_TOOLTIP_STOP_PLAYING_MUSIC :{BLACK}Detener música
|
STR_MUSIC_TOOLTIP_STOP_PLAYING_MUSIC :{BLACK}Detener música
|
||||||
STR_MUSIC_TOOLTIP_START_PLAYING_MUSIC :{BLACK}Comenzar música
|
STR_MUSIC_TOOLTIP_START_PLAYING_MUSIC :{BLACK}Comenzar música
|
||||||
STR_MUSIC_TOOLTIP_DRAG_SLIDERS_TO_SET_MUSIC :{BLACK}Mueva los cursores para fijar volumen de música y efectos
|
STR_MUSIC_TOOLTIP_DRAG_SLIDERS_TO_SET_MUSIC :{BLACK}Mueva los cursores para fijar volumen de música y efectos
|
||||||
STR_MUSIC_TOOLTIP_SELECT_ALL_TRACKS_PROGRAM :{BLACK}Seleccionar programa 'todas las pistas'
|
STR_MUSIC_TOOLTIP_SELECT_ALL_TRACKS_PROGRAM :{BLACK}Seleccionar programa 'todas las pistas'
|
||||||
STR_MUSIC_TOOLTIP_SELECT_OLD_STYLE_MUSIC :{BLACK}Seleccionar programa 'estilo antiguo'
|
STR_MUSIC_TOOLTIP_SELECT_OLD_STYLE_MUSIC :{BLACK}Seleccionar programa 'estilo antiguo'
|
||||||
STR_MUSIC_TOOLTIP_SELECT_NEW_STYLE_MUSIC :{BLACK}Seleccionar programa 'estilo moderno'
|
STR_MUSIC_TOOLTIP_SELECT_NEW_STYLE_MUSIC :{BLACK}Seleccionar programa 'estilo moderno'
|
||||||
STR_MUSIC_TOOLTIP_SELECT_EZY_STREET_STYLE :{BLACK}Elegir el programa musical de estilo 'Ezy Street'
|
STR_MUSIC_TOOLTIP_SELECT_EZY_STREET_STYLE :{BLACK}Seleccionar programa 'estilo Ezy Street'
|
||||||
STR_MUSIC_TOOLTIP_SELECT_CUSTOM_1_USER_DEFINED :{BLACK}Seleccionar programa 'Personal 1' (definido por el usuario)
|
STR_MUSIC_TOOLTIP_SELECT_CUSTOM_1_USER_DEFINED :{BLACK}Seleccionar programa 'Personal 1' (definido por el usuario)
|
||||||
STR_MUSIC_TOOLTIP_SELECT_CUSTOM_2_USER_DEFINED :{BLACK}Seleccionar programa 'Personal 2' (definido por el usuario)
|
STR_MUSIC_TOOLTIP_SELECT_CUSTOM_2_USER_DEFINED :{BLACK}Seleccionar programa 'Personal 2' (definido por el usuario)
|
||||||
STR_MUSIC_TOOLTIP_TOGGLE_PROGRAM_SHUFFLE :{BLACK}Encender/apagar mezclador
|
STR_MUSIC_TOOLTIP_TOGGLE_PROGRAM_SHUFFLE :{BLACK}Encender/apagar mezclador
|
||||||
@@ -717,7 +717,7 @@ STR_SMALLMAP_TOOLTIP_SHOW_VEGETATION_ON_MAP :{BLACK}Mostrar
|
|||||||
STR_SMALLMAP_TOOLTIP_SHOW_LAND_OWNERS_ON_MAP :{BLACK}Mostrar propietarios de terrenos en el mapa
|
STR_SMALLMAP_TOOLTIP_SHOW_LAND_OWNERS_ON_MAP :{BLACK}Mostrar propietarios de terrenos en el mapa
|
||||||
STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Click en un tipo de industria para mostrarlo/ocultarlo. Ctrl+Click oculta todos los tipos excepto el seleccionado. Ctrl+Click de nuevo en el mismo tipo muestra todos los tipos de industrias
|
STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Click en un tipo de industria para mostrarlo/ocultarlo. Ctrl+Click oculta todos los tipos excepto el seleccionado. Ctrl+Click de nuevo en el mismo tipo muestra todos los tipos de industrias
|
||||||
STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Click en una empresa para mostrar/ocultar sus propiedades. Ctrl+Click oculta todas las empresas excepto la seleccionada. Ctrl+Click de nuevo en la misma empresa muestra todas las empresas
|
STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Click en una empresa para mostrar/ocultar sus propiedades. Ctrl+Click oculta todas las empresas excepto la seleccionada. Ctrl+Click de nuevo en la misma empresa muestra todas las empresas
|
||||||
STR_SMALLMAP_TOOLTIP_CARGO_SELECTION :{BLACK}Un Click en una carga permite activar o desactivar su visualización. Ctrl+Click deshabilita todas las cargas excepto la seleccionada. Un segundo Ctrl+Click habilita la visualización de todos los tipos de carga
|
STR_SMALLMAP_TOOLTIP_CARGO_SELECTION :{BLACK}Click en una carga permite activar o desactivar su visualización. Ctrl+Click deshabilita todas las cargas excepto la seleccionada. Un segundo Ctrl+Click habilita la visualización de todos los tipos de carga
|
||||||
|
|
||||||
STR_SMALLMAP_LEGENDA_ROADS :{TINY_FONT}{BLACK}Carreteras
|
STR_SMALLMAP_LEGENDA_ROADS :{TINY_FONT}{BLACK}Carreteras
|
||||||
STR_SMALLMAP_LEGENDA_RAILROADS :{TINY_FONT}{BLACK}Ferrocarriles
|
STR_SMALLMAP_LEGENDA_RAILROADS :{TINY_FONT}{BLACK}Ferrocarriles
|
||||||
@@ -759,7 +759,7 @@ STR_SMALLMAP_ENABLE_ALL :{BLACK}Activar
|
|||||||
STR_SMALLMAP_SHOW_HEIGHT :{BLACK}Mostrar altura
|
STR_SMALLMAP_SHOW_HEIGHT :{BLACK}Mostrar altura
|
||||||
STR_SMALLMAP_TOOLTIP_DISABLE_ALL_INDUSTRIES :{BLACK}No mostrar industrias en el mapa
|
STR_SMALLMAP_TOOLTIP_DISABLE_ALL_INDUSTRIES :{BLACK}No mostrar industrias en el mapa
|
||||||
STR_SMALLMAP_TOOLTIP_ENABLE_ALL_INDUSTRIES :{BLACK}Mostrar todas las industrias en el mapa
|
STR_SMALLMAP_TOOLTIP_ENABLE_ALL_INDUSTRIES :{BLACK}Mostrar todas las industrias en el mapa
|
||||||
STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Mostrar / ocultar mapa de alturas
|
STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Mostrar/ocultar mapa de alturas
|
||||||
STR_SMALLMAP_TOOLTIP_DISABLE_ALL_COMPANIES :{BLACK}No mostrar propiedades de empresas en el mapa
|
STR_SMALLMAP_TOOLTIP_DISABLE_ALL_COMPANIES :{BLACK}No mostrar propiedades de empresas en el mapa
|
||||||
STR_SMALLMAP_TOOLTIP_ENABLE_ALL_COMPANIES :{BLACK}Mostrar todas las propiedades de empresas en el mapa
|
STR_SMALLMAP_TOOLTIP_ENABLE_ALL_COMPANIES :{BLACK}Mostrar todas las propiedades de empresas en el mapa
|
||||||
STR_SMALLMAP_TOOLTIP_DISABLE_ALL_CARGOS :{BLACK}No muestra ninguna carga en el mapa
|
STR_SMALLMAP_TOOLTIP_DISABLE_ALL_CARGOS :{BLACK}No muestra ninguna carga en el mapa
|
||||||
@@ -942,7 +942,7 @@ STR_GAME_OPTIONS_TOWN_NAME_FRENCH :Francés
|
|||||||
STR_GAME_OPTIONS_TOWN_NAME_GERMAN :Alemán
|
STR_GAME_OPTIONS_TOWN_NAME_GERMAN :Alemán
|
||||||
STR_GAME_OPTIONS_TOWN_NAME_ADDITIONAL_ENGLISH :Inglés (Adicional)
|
STR_GAME_OPTIONS_TOWN_NAME_ADDITIONAL_ENGLISH :Inglés (Adicional)
|
||||||
STR_GAME_OPTIONS_TOWN_NAME_LATIN_AMERICAN :Latinoamericano
|
STR_GAME_OPTIONS_TOWN_NAME_LATIN_AMERICAN :Latinoamericano
|
||||||
STR_GAME_OPTIONS_TOWN_NAME_SILLY :Tontos
|
STR_GAME_OPTIONS_TOWN_NAME_SILLY :Tontos - Absurdos
|
||||||
STR_GAME_OPTIONS_TOWN_NAME_SWEDISH :Sueco
|
STR_GAME_OPTIONS_TOWN_NAME_SWEDISH :Sueco
|
||||||
STR_GAME_OPTIONS_TOWN_NAME_DUTCH :Holandés
|
STR_GAME_OPTIONS_TOWN_NAME_DUTCH :Holandés
|
||||||
STR_GAME_OPTIONS_TOWN_NAME_FINNISH :Finlandés
|
STR_GAME_OPTIONS_TOWN_NAME_FINNISH :Finlandés
|
||||||
@@ -990,8 +990,8 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Tamaño cuádru
|
|||||||
|
|
||||||
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Conjunto de gráficos base
|
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Conjunto de gráficos base
|
||||||
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selecciona el conjunto de gráficos base a usar
|
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selecciona el conjunto de gráficos base a usar
|
||||||
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} fichero{P "" s} perdido{P "" s} o corrupto{P "" s}
|
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} archivo{P "" s} perdido{P "" s} o corrupto{P "" s}
|
||||||
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Información adicional acerca de este fichero de gráficos
|
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Información adicional sobre el set de gráficos base
|
||||||
|
|
||||||
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Conjunto de sonidos base
|
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Conjunto de sonidos base
|
||||||
STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}Seleccionar conjunto de sonidos base a emplear
|
STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}Seleccionar conjunto de sonidos base a emplear
|
||||||
@@ -1031,7 +1031,7 @@ STR_CURRENCY_PREVIEW :{LTBLUE}Previa:
|
|||||||
STR_CURRENCY_CUSTOM_CURRENCY_PREVIEW_TOOLTIP :{BLACK}10000 Libras(£) en tu moneda
|
STR_CURRENCY_CUSTOM_CURRENCY_PREVIEW_TOOLTIP :{BLACK}10000 Libras(£) en tu moneda
|
||||||
STR_CURRENCY_CHANGE_PARAMETER :{BLACK}Cambiar parámetro de moneda personalizada
|
STR_CURRENCY_CHANGE_PARAMETER :{BLACK}Cambiar parámetro de moneda personalizada
|
||||||
|
|
||||||
STR_DIFFICULTY_LEVEL_SETTING_MAXIMUM_NO_COMPETITORS :{LTBLUE}Num. Máximo de jugadores: {ORANGE}{COMMA}
|
STR_DIFFICULTY_LEVEL_SETTING_MAXIMUM_NO_COMPETITORS :{LTBLUE}Núm. máximo de jugadores: {ORANGE}{COMMA}
|
||||||
|
|
||||||
STR_NONE :Ninguno
|
STR_NONE :Ninguno
|
||||||
STR_FUNDING_ONLY :Solo fundadas
|
STR_FUNDING_ONLY :Solo fundadas
|
||||||
@@ -1087,7 +1087,7 @@ STR_CITY_APPROVAL_PERMISSIVE :Permisiva
|
|||||||
STR_CITY_APPROVAL_TOLERANT :Tolerante
|
STR_CITY_APPROVAL_TOLERANT :Tolerante
|
||||||
STR_CITY_APPROVAL_HOSTILE :Hostil
|
STR_CITY_APPROVAL_HOSTILE :Hostil
|
||||||
|
|
||||||
STR_WARNING_NO_SUITABLE_AI :{WHITE}No se encontraron IA apropiadas...{}Puedes descargar IA a través del sistema de 'Contenido Online'
|
STR_WARNING_NO_SUITABLE_AI :{WHITE}No se encontraron IAs apropiadas...{}Puedes descargar IAs a través del sistema de 'Contenido Online'
|
||||||
|
|
||||||
# Settings tree window
|
# Settings tree window
|
||||||
STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Configuración
|
STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Configuración
|
||||||
@@ -1141,15 +1141,15 @@ STR_CONFIG_SETTING_HORIZONTAL_POS_CENTER :Centro
|
|||||||
STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :Derecha
|
STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :Derecha
|
||||||
|
|
||||||
STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Máximo préstamo inicial: {STRING}
|
STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Máximo préstamo inicial: {STRING}
|
||||||
STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Máxima cantidad que una compañía puede tomar en un préstamo (sin tener en cuenta la inflación)
|
STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Máxima cantidad que una compañía puede recibir en un préstamo (sin tener en cuenta la inflación)
|
||||||
STR_CONFIG_SETTING_INTEREST_RATE :Porcentaje de interés: {STRING}
|
STR_CONFIG_SETTING_INTEREST_RATE :Porcentaje de interés: {STRING}
|
||||||
STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Porcentaje de interés de los préstamos; también controla la inflación en el caso de que esté activada
|
STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Porcentaje de interés de los préstamos; también controla la inflación, en caso de que esté activada
|
||||||
STR_CONFIG_SETTING_RUNNING_COSTS :Costes de operación: {STRING}
|
STR_CONFIG_SETTING_RUNNING_COSTS :Costes de operación: {STRING}
|
||||||
STR_CONFIG_SETTING_RUNNING_COSTS_HELPTEXT :Permite fijar el nivel de los costes de mantenimiento y operación de vehículos e infraestructuras
|
STR_CONFIG_SETTING_RUNNING_COSTS_HELPTEXT :Permite fijar el nivel de los costes de mantenimiento y operación de vehículos e infraestructuras
|
||||||
STR_CONFIG_SETTING_CONSTRUCTION_SPEED :Velocidad de construcción: {STRING}
|
STR_CONFIG_SETTING_CONSTRUCTION_SPEED :Velocidad de construcción: {STRING}
|
||||||
STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Limita la velocidad de las acciones de construcción para las IA
|
STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Limita la velocidad de las acciones de construcción para las IA
|
||||||
STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Averías de vehículos: {STRING}
|
STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Averías de vehículos: {STRING}
|
||||||
STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS_HELPTEXT :Controla la frecuencia con la que los vehículos que no hayan tenido un mantenimiento adecuado se rompen
|
STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS_HELPTEXT :Controla la frecuencia con la que los vehículos, con mantenimiento inadecuado, se rompen
|
||||||
STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER :Multiplicador por subsidio: {STRING}
|
STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER :Multiplicador por subsidio: {STRING}
|
||||||
STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT :Permite fijar a cuanto se pagan las conexiones con subsidio
|
STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT :Permite fijar a cuanto se pagan las conexiones con subsidio
|
||||||
STR_CONFIG_SETTING_CONSTRUCTION_COSTS :Costes de construcción: {STRING}
|
STR_CONFIG_SETTING_CONSTRUCTION_COSTS :Costes de construcción: {STRING}
|
||||||
@@ -1157,11 +1157,11 @@ STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Fija el nivel d
|
|||||||
STR_CONFIG_SETTING_RECESSIONS :Recesiones: {STRING}
|
STR_CONFIG_SETTING_RECESSIONS :Recesiones: {STRING}
|
||||||
STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Si se activa, ocurrirán recesiones cada pocos años. Durante una recesión, toda la producción es significativamente menor (volverá a su nivel anterior una vez acabe la recesión)
|
STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Si se activa, ocurrirán recesiones cada pocos años. Durante una recesión, toda la producción es significativamente menor (volverá a su nivel anterior una vez acabe la recesión)
|
||||||
STR_CONFIG_SETTING_TRAIN_REVERSING :Prohibir cambio de dirección de trenes en estaciones: {STRING}
|
STR_CONFIG_SETTING_TRAIN_REVERSING :Prohibir cambio de dirección de trenes en estaciones: {STRING}
|
||||||
STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Si se activa, los trenes no se darán la vuelta en estaciones no finales en el caso de que haya un camino más cercano si se dan la vuelta
|
STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Si se activa, los trenes no se darán la vuelta en estaciones no finales, ni aún existiendo un camino más corto a su próximo destino si se dan la vuelta
|
||||||
STR_CONFIG_SETTING_DISASTERS :Desastres: {STRING}
|
STR_CONFIG_SETTING_DISASTERS :Desastres: {STRING}
|
||||||
STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Activa desastres que ocasionalmente pueden bloquear o destruir vehículos o infraestructuras
|
STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Activa desastres que ocasionalmente pueden bloquear o destruir vehículos o infraestructuras
|
||||||
STR_CONFIG_SETTING_CITY_APPROVAL :Actitud de los municipios frente a reestructuraciones en su zona: {STRING}
|
STR_CONFIG_SETTING_CITY_APPROVAL :Actitud de los municipios frente a reestructuraciones en su zona: {STRING}
|
||||||
STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Permite elegir la medida en la que el ruido y el daño ambiental causado por las compañías afecta a su calificación local en los municipios
|
STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Permite elegir en que medida el ruido y el daño ambiental causado por las compañías afecta a su calificación y nuevas acciones de construcción en los municipios
|
||||||
|
|
||||||
STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Altura máxima del mapa: {STRING}
|
STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Altura máxima del mapa: {STRING}
|
||||||
STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Establece la altura máxima permitida para las montañas en el mapa
|
STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Establece la altura máxima permitida para las montañas en el mapa
|
||||||
@@ -1173,7 +1173,7 @@ STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Permite tener d
|
|||||||
STR_CONFIG_SETTING_EXTRADYNAMITE :Permitir eliminar más propiedades de los municipios: {STRING}
|
STR_CONFIG_SETTING_EXTRADYNAMITE :Permitir eliminar más propiedades de los municipios: {STRING}
|
||||||
STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Hace que sea más fácil eliminar infraestructuras y edificios de los municipios
|
STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Hace que sea más fácil eliminar infraestructuras y edificios de los municipios
|
||||||
STR_CONFIG_SETTING_TRAIN_LENGTH :Longitud máxima de trenes: {STRING}
|
STR_CONFIG_SETTING_TRAIN_LENGTH :Longitud máxima de trenes: {STRING}
|
||||||
STR_CONFIG_SETTING_TRAIN_LENGTH_HELPTEXT :Permite cambiar la longitud máxima de trenes
|
STR_CONFIG_SETTING_TRAIN_LENGTH_HELPTEXT :Permite cambiar la longitud máxima de los trenes
|
||||||
STR_CONFIG_SETTING_TILE_LENGTH :{COMMA} casilla{P 0 "" s}
|
STR_CONFIG_SETTING_TILE_LENGTH :{COMMA} casilla{P 0 "" s}
|
||||||
STR_CONFIG_SETTING_SMOKE_AMOUNT :Cantidad de humo/chispas: {STRING}
|
STR_CONFIG_SETTING_SMOKE_AMOUNT :Cantidad de humo/chispas: {STRING}
|
||||||
STR_CONFIG_SETTING_SMOKE_AMOUNT_HELPTEXT :Permite indicar la cantidad de humo o chispas que son emitidos por vehículos
|
STR_CONFIG_SETTING_SMOKE_AMOUNT_HELPTEXT :Permite indicar la cantidad de humo o chispas que son emitidos por vehículos
|
||||||
@@ -1193,11 +1193,11 @@ STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Permite añadir
|
|||||||
STR_CONFIG_SETTING_INFLATION :Inflación: {STRING}
|
STR_CONFIG_SETTING_INFLATION :Inflación: {STRING}
|
||||||
STR_CONFIG_SETTING_INFLATION_HELPTEXT :Activa la inflación económica, lo cual hace que los costes aumenten ligeramente más rápido que los beneficios
|
STR_CONFIG_SETTING_INFLATION_HELPTEXT :Activa la inflación económica, lo cual hace que los costes aumenten ligeramente más rápido que los beneficios
|
||||||
STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Longitud máxima de puentes: {STRING}
|
STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Longitud máxima de puentes: {STRING}
|
||||||
STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Máxima longitud permitida para puentes
|
STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Longitud máxima permitida para los puentes
|
||||||
STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Altura máxima de puentes: {STRING}
|
STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Altura máxima de puentes: {STRING}
|
||||||
STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Altura máxima permitida al construir puentes
|
STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Altura máxima permitida al construir puentes
|
||||||
STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Longitud máxima de túneles: {STRING}
|
STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Longitud máxima de túneles: {STRING}
|
||||||
STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Máxima longitud permitida para túneles
|
STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Longitud máxima permitida para los túneles
|
||||||
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Método de construcción de industria primaria: {STRING}
|
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Método de construcción de industria primaria: {STRING}
|
||||||
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT :Forma de fundar industrias primarias. 'ninguno' significa que no se puede crear ninguna, 'prospeccón' significa que es posible crear nuevas industrias, pero que éstas aparecen en un lugar aleatorio del mapa y pueden fallar. 'como las otras industrias' significa que las industrias primarias pueden construirse como el resto de industrias en cualquier lugar que se quiera
|
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT :Forma de fundar industrias primarias. 'ninguno' significa que no se puede crear ninguna, 'prospeccón' significa que es posible crear nuevas industrias, pero que éstas aparecen en un lugar aleatorio del mapa y pueden fallar. 'como las otras industrias' significa que las industrias primarias pueden construirse como el resto de industrias en cualquier lugar que se quiera
|
||||||
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE :Ninguno
|
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE :Ninguno
|
||||||
@@ -1213,7 +1213,7 @@ STR_CONFIG_SETTING_SIGNALSIDE_LEFT :A la izquierda
|
|||||||
STR_CONFIG_SETTING_SIGNALSIDE_DRIVING_SIDE :En el lado de conducción
|
STR_CONFIG_SETTING_SIGNALSIDE_DRIVING_SIDE :En el lado de conducción
|
||||||
STR_CONFIG_SETTING_SIGNALSIDE_RIGHT :A la derecha
|
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 :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 inspeccionar de forma fácil el estado financiero de la compañía
|
STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Si se activa, la ventana de finanzas aparecerá al final de cada año para permitir inspeccionar fácilmente el estado financiero de la compañía
|
||||||
STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Nuevas órdenes son 'sin parada' por defecto: {STRING}
|
STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Nuevas órdenes son 'sin parada' por defecto: {STRING}
|
||||||
STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normalmente, un vehículo se detendrá en todas las estaciones por las que pase. Si se activa esta opción, pasará sin detenerse a través de todas las estaciones hasta llegar a su destino. Esta opción solamente cambia el comportamiento por defecto de las órdenes nuevas. Es posible especificar para cada orden el comportamiento que se desea
|
STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normalmente, un vehículo se detendrá en todas las estaciones por las que pase. Si se activa esta opción, pasará sin detenerse a través de todas las estaciones hasta llegar a su destino. Esta opción solamente cambia el comportamiento por defecto de las órdenes nuevas. Es posible especificar para cada orden el comportamiento que se desea
|
||||||
STR_CONFIG_SETTING_STOP_LOCATION :Nuevos trenes paran por defecto en el {STRING} de la plataforma
|
STR_CONFIG_SETTING_STOP_LOCATION :Nuevos trenes paran por defecto en el {STRING} de la plataforma
|
||||||
@@ -1236,7 +1236,7 @@ STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Permite a las c
|
|||||||
STR_CONFIG_SETTING_ALLOW_FUND_ROAD :Permitir pagar la reconstrucción de las carreteras locales: {STRING}
|
STR_CONFIG_SETTING_ALLOW_FUND_ROAD :Permitir pagar la reconstrucción de las carreteras locales: {STRING}
|
||||||
STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :Permite a las compañías dar dinero a los municipios para que reconstruyan sus carreteras, saboteando los servicios de carretera en la zona
|
STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :Permite a las compañías dar dinero a los municipios para que reconstruyan sus carreteras, saboteando los servicios de carretera en la zona
|
||||||
STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :Permitir enviar dinero a otras empresas: {STRING}
|
STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :Permitir enviar dinero a otras empresas: {STRING}
|
||||||
STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT :Permite la transferencia de dinero entre compañías en modo multijugador
|
STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT :Permite la transferencia de dinero entre compañías en el modo multijugador
|
||||||
STR_CONFIG_SETTING_FREIGHT_TRAINS :Multiplicador de peso para simular trenes pesados: {STRING}
|
STR_CONFIG_SETTING_FREIGHT_TRAINS :Multiplicador de peso para simular trenes pesados: {STRING}
|
||||||
STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT :Permite fijar el impacto de llevar mercancías en los trenes. Un valor alto hace que a los trenes les cueste más llevar carga, especialmente en colinas
|
STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT :Permite fijar el impacto de llevar mercancías en los trenes. Un valor alto hace que a los trenes les cueste más llevar carga, especialmente en colinas
|
||||||
STR_CONFIG_SETTING_PLANE_SPEED :Factor de velocidad de aeronaves: {STRING}
|
STR_CONFIG_SETTING_PLANE_SPEED :Factor de velocidad de aeronaves: {STRING}
|
||||||
@@ -1247,8 +1247,8 @@ STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Fija la probabi
|
|||||||
STR_CONFIG_SETTING_PLANE_CRASHES_NONE :Ninguno
|
STR_CONFIG_SETTING_PLANE_CRASHES_NONE :Ninguno
|
||||||
STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :Reducida
|
STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :Reducida
|
||||||
STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :Normal
|
STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :Normal
|
||||||
STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Permite construir paradas sobre carreteras de los municipios: {STRING}
|
STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Permitir construir paradas sobre carreteras de los municipios: {STRING}
|
||||||
STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Permite construir estaciones de carretera de paso en carreteras que sean propiedad de municipios
|
STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Permite construir estaciones de paso en carreteras que sean propiedad de los municipios
|
||||||
STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Permitir pasar a través de las paradas de carretera de los competidores: {STRING}
|
STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Permitir pasar a través de las paradas de carretera de los competidores: {STRING}
|
||||||
STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Permite construir estaciones de carretera de paso en carreteras que sean propiedad de otras compañías
|
STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Permite construir estaciones de carretera de paso en carreteras que sean propiedad de otras compañías
|
||||||
STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Cambiar esta opción no es posible cuando ya existen vehículos
|
STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Cambiar esta opción no es posible cuando ya existen vehículos
|
||||||
@@ -1820,14 +1820,14 @@ STR_LIVERY_PANEL_TOOLTIP :{BLACK}Seleccio
|
|||||||
|
|
||||||
STR_LIVERY_DEFAULT :Estación normal
|
STR_LIVERY_DEFAULT :Estación normal
|
||||||
STR_LIVERY_STEAM :Locomotora a Vapor
|
STR_LIVERY_STEAM :Locomotora a Vapor
|
||||||
STR_LIVERY_DIESEL :Locomotora Diesel
|
STR_LIVERY_DIESEL :Locomotora Diésel
|
||||||
STR_LIVERY_ELECTRIC :Locomotora Eléctrica
|
STR_LIVERY_ELECTRIC :Locomotora Eléctrica
|
||||||
STR_LIVERY_MONORAIL :Locomotora Monorraíl
|
STR_LIVERY_MONORAIL :Locomotora Monorraíl
|
||||||
STR_LIVERY_MAGLEV :Locomotora Maglev
|
STR_LIVERY_MAGLEV :Locomotora Maglev
|
||||||
STR_LIVERY_DMU :DMU
|
STR_LIVERY_DMU :DMU
|
||||||
STR_LIVERY_EMU :EMU
|
STR_LIVERY_EMU :EMU
|
||||||
STR_LIVERY_PASSENGER_WAGON_STEAM :Vagón Pasajeros (Vapor)
|
STR_LIVERY_PASSENGER_WAGON_STEAM :Vagón Pasajeros (Vapor)
|
||||||
STR_LIVERY_PASSENGER_WAGON_DIESEL :Vagón Pasajeros (Diesel)
|
STR_LIVERY_PASSENGER_WAGON_DIESEL :Vagón Pasajeros (Diésel)
|
||||||
STR_LIVERY_PASSENGER_WAGON_ELECTRIC :Vagón Pasajeros (Eléctrico)
|
STR_LIVERY_PASSENGER_WAGON_ELECTRIC :Vagón Pasajeros (Eléctrico)
|
||||||
STR_LIVERY_PASSENGER_WAGON_MONORAIL :Vagón Pasajeros (Monorraíl)
|
STR_LIVERY_PASSENGER_WAGON_MONORAIL :Vagón Pasajeros (Monorraíl)
|
||||||
STR_LIVERY_PASSENGER_WAGON_MAGLEV :Vagón Pasajeros (Maglev)
|
STR_LIVERY_PASSENGER_WAGON_MAGLEV :Vagón Pasajeros (Maglev)
|
||||||
@@ -2248,7 +2248,7 @@ STR_CONTENT_TYPE_GS_LIBRARY :Librería SJ
|
|||||||
|
|
||||||
# Content downloading progress window
|
# Content downloading progress window
|
||||||
STR_CONTENT_DOWNLOAD_TITLE :{WHITE}Descargando contenido...
|
STR_CONTENT_DOWNLOAD_TITLE :{WHITE}Descargando contenido...
|
||||||
STR_CONTENT_DOWNLOAD_INITIALISE :{WHITE}Solicitando ficheros...
|
STR_CONTENT_DOWNLOAD_INITIALISE :{WHITE}Solicitando archivos...
|
||||||
STR_CONTENT_DOWNLOAD_FILE :{WHITE}Descargando {STRING} ({NUM} de {NUM})
|
STR_CONTENT_DOWNLOAD_FILE :{WHITE}Descargando {STRING} ({NUM} de {NUM})
|
||||||
STR_CONTENT_DOWNLOAD_COMPLETE :{WHITE}Descarga completada
|
STR_CONTENT_DOWNLOAD_COMPLETE :{WHITE}Descarga completada
|
||||||
STR_CONTENT_DOWNLOAD_PROGRESS_SIZE :{WHITE}{BYTES} de {BYTES} descargadas ({NUM} %)
|
STR_CONTENT_DOWNLOAD_PROGRESS_SIZE :{WHITE}{BYTES} de {BYTES} descargadas ({NUM} %)
|
||||||
@@ -2257,8 +2257,8 @@ STR_CONTENT_DOWNLOAD_PROGRESS_SIZE :{WHITE}{BYTES}
|
|||||||
STR_CONTENT_ERROR_COULD_NOT_CONNECT :{WHITE}No es posible conectarse al servidor de contenidos...
|
STR_CONTENT_ERROR_COULD_NOT_CONNECT :{WHITE}No es posible conectarse al servidor de contenidos...
|
||||||
STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD :{WHITE}Descarga errónea...
|
STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD :{WHITE}Descarga errónea...
|
||||||
STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_CONNECTION_LOST :{WHITE}... conexión perdida
|
STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_CONNECTION_LOST :{WHITE}... conexión perdida
|
||||||
STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_FILE_NOT_WRITABLE :{WHITE}... no se puede escribir en el fichero
|
STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_FILE_NOT_WRITABLE :{WHITE}... no se puede escribir en el archivo
|
||||||
STR_CONTENT_ERROR_COULD_NOT_EXTRACT :{WHITE}No ha sido posible descomprimir el fichero descargado
|
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_CAPTION :{WHITE}Gráficos no encontrados
|
||||||
STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD necesita gráficos para funcionar pero no se pudo encontrar ninguno. ¿Desea permitir que OpenTTD descargue e instale dichos gráficos?
|
STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD necesita gráficos para funcionar pero no se pudo encontrar ninguno. ¿Desea permitir que OpenTTD descargue e instale dichos gráficos?
|
||||||
@@ -2802,28 +2802,28 @@ STR_NEWGRF_SETTINGS_PRESET_DELETE :{BLACK}Borrar
|
|||||||
STR_NEWGRF_SETTINGS_PRESET_DELETE_TOOLTIP :{BLACK}Borrar la programación seleccionada
|
STR_NEWGRF_SETTINGS_PRESET_DELETE_TOOLTIP :{BLACK}Borrar la programación seleccionada
|
||||||
STR_NEWGRF_SETTINGS_ADD :{BLACK}Añadir
|
STR_NEWGRF_SETTINGS_ADD :{BLACK}Añadir
|
||||||
STR_NEWGRF_SETTINGS_ADD_FILE_TOOLTIP :{BLACK}Añade el NewGRF seleccionado a tu configuración
|
STR_NEWGRF_SETTINGS_ADD_FILE_TOOLTIP :{BLACK}Añade el NewGRF seleccionado a tu configuración
|
||||||
STR_NEWGRF_SETTINGS_RESCAN_FILES :{BLACK}Actualizar ficheros
|
STR_NEWGRF_SETTINGS_RESCAN_FILES :{BLACK}Actualizar archivos
|
||||||
STR_NEWGRF_SETTINGS_RESCAN_FILES_TOOLTIP :{BLACK}Actualiza la lista de ficheros NewGRF disponibles
|
STR_NEWGRF_SETTINGS_RESCAN_FILES_TOOLTIP :{BLACK}Actualiza la lista de archivos NewGRF disponibles
|
||||||
STR_NEWGRF_SETTINGS_REMOVE :{BLACK}Retirar
|
STR_NEWGRF_SETTINGS_REMOVE :{BLACK}Retirar
|
||||||
STR_NEWGRF_SETTINGS_REMOVE_TOOLTIP :{BLACK}Retirar el NewGRF seleccionado de la lista
|
STR_NEWGRF_SETTINGS_REMOVE_TOOLTIP :{BLACK}Retirar el NewGRF seleccionado de la lista
|
||||||
STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Mover Arriba
|
STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Mover Arriba
|
||||||
STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Mueve el NewGRF seleccionado arriba en la lista
|
STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Mueve el NewGRF seleccionado arriba en la lista
|
||||||
STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Mover Abajo
|
STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Mover Abajo
|
||||||
STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Mueve el NewGRF seleccionado abajo en la lista
|
STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Mueve el NewGRF seleccionado abajo en la lista
|
||||||
STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Actualiza
|
STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Actualizar
|
||||||
STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Utiliza las versiones más nuevas de los archivos NewGRF que dispongan de diversas versiones instaladas
|
STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Actualizar a la versión más reciente de los archivos NewGRF que tengan varias instaladas
|
||||||
STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Una lista de los ficheros NewGRF instalados
|
STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Una lista de los archivos NewGRF instalados
|
||||||
|
|
||||||
STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Establecer parámetros
|
STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Establecer parámetros
|
||||||
STR_NEWGRF_SETTINGS_SHOW_PARAMETERS :{BLACK}Mostrar parámetros
|
STR_NEWGRF_SETTINGS_SHOW_PARAMETERS :{BLACK}Mostrar parámetros
|
||||||
STR_NEWGRF_SETTINGS_TOGGLE_PALETTE :{BLACK}Seleccionar paleta
|
STR_NEWGRF_SETTINGS_TOGGLE_PALETTE :{BLACK}Seleccionar paleta
|
||||||
STR_NEWGRF_SETTINGS_TOGGLE_PALETTE_TOOLTIP :{BLACK}Seleccionar la paleta del NewGRF seleccionado.{}Esto es necesario cuando los gráficos de este NewGRF se vean de color rosa
|
STR_NEWGRF_SETTINGS_TOGGLE_PALETTE_TOOLTIP :{BLACK}Cambiar la paleta del NewGRF seleccionado.{}Esto es necesario cuando los gráficos de un NewGRF se ven de color rosa durante el juego
|
||||||
STR_NEWGRF_SETTINGS_APPLY_CHANGES :{BLACK}Aplicar cambios
|
STR_NEWGRF_SETTINGS_APPLY_CHANGES :{BLACK}Aplicar cambios
|
||||||
|
|
||||||
STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_BUTTON :{BLACK}Encontrar contenido que falta en línea
|
STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_BUTTON :{BLACK}Encontrar contenido que falta en línea
|
||||||
STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_TOOLTIP :{BLACK}Comprobar si el contenido que falta puede ser encontrado en línea
|
STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_TOOLTIP :{BLACK}Comprobar si el contenido que falta puede ser encontrado en línea
|
||||||
|
|
||||||
STR_NEWGRF_SETTINGS_FILENAME :{BLACK}Fichero: {SILVER}{STRING}
|
STR_NEWGRF_SETTINGS_FILENAME :{BLACK}Archivo: {SILVER}{STRING}
|
||||||
STR_NEWGRF_SETTINGS_GRF_ID :{BLACK}GRF ID: {SILVER}{STRING}
|
STR_NEWGRF_SETTINGS_GRF_ID :{BLACK}GRF ID: {SILVER}{STRING}
|
||||||
STR_NEWGRF_SETTINGS_VERSION :{BLACK}Versión: {SILVER}{NUM}
|
STR_NEWGRF_SETTINGS_VERSION :{BLACK}Versión: {SILVER}{NUM}
|
||||||
STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Mín. versión compatible: {SILVER}{NUM}
|
STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Mín. versión compatible: {SILVER}{NUM}
|
||||||
@@ -2831,8 +2831,8 @@ STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5sum:
|
|||||||
STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Paleta: {SILVER}{STRING}
|
STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Paleta: {SILVER}{STRING}
|
||||||
STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parámetros: {SILVER}{STRING}
|
STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parámetros: {SILVER}{STRING}
|
||||||
|
|
||||||
STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}No tiene información disponible
|
STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}No hay información disponible
|
||||||
STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Fichero no encontrado
|
STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Archivo no encontrado
|
||||||
STR_NEWGRF_SETTINGS_DISABLED :{RED}Desactivado
|
STR_NEWGRF_SETTINGS_DISABLED :{RED}Desactivado
|
||||||
STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Incompatible con esta versión de OpenTTD
|
STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Incompatible con esta versión de OpenTTD
|
||||||
|
|
||||||
@@ -2898,7 +2898,7 @@ STR_NEWGRF_ERROR_INVALID_PARAMETER :Parámetro inco
|
|||||||
STR_NEWGRF_ERROR_LOAD_BEFORE :{1:STRING} debe ser cargado antes de {STRING}
|
STR_NEWGRF_ERROR_LOAD_BEFORE :{1:STRING} debe ser cargado antes de {STRING}
|
||||||
STR_NEWGRF_ERROR_LOAD_AFTER :{1:STRING} debe ser cargado después de {STRING}
|
STR_NEWGRF_ERROR_LOAD_AFTER :{1:STRING} debe ser cargado después de {STRING}
|
||||||
STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} requiere OpenTTD versión {STRING} o superior
|
STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} requiere OpenTTD versión {STRING} o superior
|
||||||
STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :El fichero GRF ha sido diseñado para ser traducido
|
STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :El archivo GRF ha sido diseñado para ser traducido
|
||||||
STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Demasiados NewGRFs han sido cargados
|
STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Demasiados NewGRFs han sido cargados
|
||||||
STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Cargar {1:STRING} como NewGRF estático con {STRING} puede causar desincronizaciones
|
STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Cargar {1:STRING} como NewGRF estático con {STRING} puede causar desincronizaciones
|
||||||
STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Sprite inesperado (sprite {3:NUM})
|
STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Sprite inesperado (sprite {3:NUM})
|
||||||
@@ -2918,19 +2918,19 @@ STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}¡Precau
|
|||||||
STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Se van a modificar los NewGRF de una partida ya comenzada. Esto puede provocar un error fatal en OpenTTD o romper la partida.{}No se deben crear reportes de bugs por problemas causados por esta acción.{}¿Está completamente seguro de esto?
|
STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Se van a modificar los NewGRF de una partida ya comenzada. Esto puede provocar un error fatal en OpenTTD o romper la partida.{}No se deben crear reportes de bugs por problemas causados por esta acción.{}¿Está completamente seguro de esto?
|
||||||
|
|
||||||
STR_NEWGRF_DUPLICATE_GRFID :{WHITE}No se puede añadir: GRF ID duplicado
|
STR_NEWGRF_DUPLICATE_GRFID :{WHITE}No se puede añadir: GRF ID duplicado
|
||||||
STR_NEWGRF_COMPATIBLE_LOADED :{ORANGE}Fichero no encontrado (GRF compatible cargado)
|
STR_NEWGRF_COMPATIBLE_LOADED :{ORANGE}Archivo no encontrado (GRF compatible cargado)
|
||||||
STR_NEWGRF_TOO_MANY_NEWGRFS :{WHITE}No se puede añadir fichero: Límite de ficheros NewGRF alcanzado
|
STR_NEWGRF_TOO_MANY_NEWGRFS :{WHITE}No se puede añadir archivo: Alcanzado el máximo de NewGRFs permitidos
|
||||||
|
|
||||||
STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}GRF(s) compatibles cargados para ficheros que faltan
|
STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}GRF(s) compatibles cargados para archivos que faltan
|
||||||
STR_NEWGRF_DISABLED_WARNING :{WHITE}Fichero(s) GRF no encontrados han sido desactivados
|
STR_NEWGRF_DISABLED_WARNING :{WHITE}Archivo(s) GRF no encontrados han sido desactivados
|
||||||
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Fichero(s) GRF no encontrados
|
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Archivo(s) GRF no encontrados
|
||||||
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Quitar la pausa puede hacer que se cierre OpenTTD. No notifique este error.{}¿Desea realmente quitar la pausa?
|
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Quitar la pausa puede hacer que se cierre OpenTTD. No notifique este error.{}¿Desea realmente quitar la pausa?
|
||||||
|
|
||||||
# NewGRF status
|
# NewGRF status
|
||||||
STR_NEWGRF_LIST_NONE :Ninguno
|
STR_NEWGRF_LIST_NONE :Ninguno
|
||||||
STR_NEWGRF_LIST_ALL_FOUND :Todos los ficheros presentes
|
STR_NEWGRF_LIST_ALL_FOUND :Todos los archivos presentes
|
||||||
STR_NEWGRF_LIST_COMPATIBLE :{YELLOW}Ficheros compatibles encontrados
|
STR_NEWGRF_LIST_COMPATIBLE :{YELLOW}Archivos compatibles encontrados
|
||||||
STR_NEWGRF_LIST_MISSING :{RED}Ficheros que faltan
|
STR_NEWGRF_LIST_MISSING :{RED}Archivos que faltan
|
||||||
|
|
||||||
# NewGRF 'it's broken' warnings
|
# NewGRF 'it's broken' warnings
|
||||||
STR_NEWGRF_BROKEN :{WHITE}Es probable que el funcionamiento del NewGRF '{0:STRING}' cause desincronizaciones o fallos
|
STR_NEWGRF_BROKEN :{WHITE}Es probable que el funcionamiento del NewGRF '{0:STRING}' cause desincronizaciones o fallos
|
||||||
@@ -2939,8 +2939,8 @@ STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Ha cambi
|
|||||||
STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Ha cambiado la capacidad del vehículo para '{1:ENGINE}' fuera de un depósito o mientras no se estaba remodelando
|
STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Ha cambiado la capacidad del vehículo para '{1:ENGINE}' fuera de un depósito o mientras no se estaba remodelando
|
||||||
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Tren '{VEHICLE}' perteneciente a '{COMPANY}' tiene una longitud incorrecta. Puede ser debido a problemas con los NewGRF. El juego puede fallar
|
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Tren '{VEHICLE}' perteneciente a '{COMPANY}' tiene una longitud incorrecta. Puede ser debido a problemas con los NewGRF. El juego puede fallar
|
||||||
|
|
||||||
STR_NEWGRF_BUGGY :{WHITE}NewGRF '{STRING}' da información incorrecta
|
STR_NEWGRF_BUGGY :{WHITE}El NewGRF '{0:STRING}' da información incorrecta
|
||||||
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Información de carga/reforma para '{1:ENGINE}' difiere tras la de la lista de compra después de la construcción. Esto puede causar que la renovación/reemplazo automáticos no reformen correctamente
|
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}La información de carga/reforma para '{1:ENGINE}' difiere de la de lista de compra después de la construcción. Esto puede causar que la renovación/reemplazo automático no haga la reforma correcta
|
||||||
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' ha causado un bucle sin fin en la 'callback' de producción
|
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' ha causado un bucle sin fin en la 'callback' de producción
|
||||||
STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}'Callback' {1:HEX} devolvió el resultado desconocido o inválido {2:HEX}
|
STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}'Callback' {1:HEX} devolvió el resultado desconocido o inválido {2:HEX}
|
||||||
|
|
||||||
@@ -3023,7 +3023,7 @@ STR_LOCAL_AUTHORITY_ACTION_ROAD_RECONSTRUCTION :Pagar la recons
|
|||||||
STR_LOCAL_AUTHORITY_ACTION_STATUE_OF_COMPANY :Poner una estatua al dueño de la empresa
|
STR_LOCAL_AUTHORITY_ACTION_STATUE_OF_COMPANY :Poner una estatua al dueño de la empresa
|
||||||
STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :Pagar la construcción de nuevos edificios
|
STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :Pagar la construcción de nuevos edificios
|
||||||
STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Comprar la exclusiva de los servicios de transporte
|
STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Comprar la exclusiva de los servicios de transporte
|
||||||
STR_LOCAL_AUTHORITY_ACTION_BRIBE :Sobornar la autoridad local
|
STR_LOCAL_AUTHORITY_ACTION_BRIBE :Sobornar a la autoridad local
|
||||||
|
|
||||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Iniciar una pequeña campaña publicitaria local para atraer más pasajeros y carga a sus servicios de transporte.{}Coste: {CURRENCY_LONG}
|
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Iniciar una pequeña campaña publicitaria local para atraer más pasajeros y carga a sus servicios de transporte.{}Coste: {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 sus servicios de transporte.{}Coste: {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 sus servicios de transporte.{}Coste: {CURRENCY_LONG}
|
||||||
@@ -3921,7 +3921,7 @@ STR_TIMETABLE_STARTING_DATE :{BLACK}Fecha de
|
|||||||
STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK}Selecciona una fecha como punto de partida de este horario. Ctrl+Click 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 una fecha como punto de partida de este horario. Ctrl+Click 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_CHANGE_TIME :{BLACK}Cambiar Horario
|
STR_TIMETABLE_CHANGE_TIME :{BLACK}Cambiar Horario
|
||||||
STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Cambia la cantidad de tiempo que debe tomar una orden marcada
|
STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Cambia la cantidad de tiempo que debe tardar una orden marcada
|
||||||
|
|
||||||
STR_TIMETABLE_CLEAR_TIME :{BLACK}Limpiar Horario
|
STR_TIMETABLE_CLEAR_TIME :{BLACK}Limpiar Horario
|
||||||
STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Limpiar la cantidad de tiempo para la orden seleccionada
|
STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Limpiar la cantidad de tiempo para la orden seleccionada
|
||||||
@@ -4068,13 +4068,13 @@ STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}El guard
|
|||||||
STR_ERROR_AUTOSAVE_FAILED :{WHITE}Error en Autoguardado
|
STR_ERROR_AUTOSAVE_FAILED :{WHITE}Error en Autoguardado
|
||||||
STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}No es posible leer la unidad
|
STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}No es posible leer la unidad
|
||||||
STR_ERROR_GAME_SAVE_FAILED :{WHITE}Error guardando juego{}{STRING}
|
STR_ERROR_GAME_SAVE_FAILED :{WHITE}Error guardando juego{}{STRING}
|
||||||
STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}No es posible borrar el fichero
|
STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}No es posible borrar el archivo
|
||||||
STR_ERROR_GAME_LOAD_FAILED :{WHITE}Carga de Juego Errónea{}{STRING}
|
STR_ERROR_GAME_LOAD_FAILED :{WHITE}Carga de Juego Errónea{}{STRING}
|
||||||
STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Error interno: {STRING}
|
STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Error interno: {STRING}
|
||||||
STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Partida guardada corrupta - {STRING}
|
STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Partida guardada corrupta - {STRING}
|
||||||
STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :La partida guardada ha sido realizada con una versión más nueva
|
STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :La partida guardada ha sido realizada con una versión más nueva
|
||||||
STR_GAME_SAVELOAD_ERROR_FILE_NOT_READABLE :No se puede leer fichero
|
STR_GAME_SAVELOAD_ERROR_FILE_NOT_READABLE :Archivo no legible
|
||||||
STR_GAME_SAVELOAD_ERROR_FILE_NOT_WRITEABLE :No se puede escribir en el fichero
|
STR_GAME_SAVELOAD_ERROR_FILE_NOT_WRITEABLE :No se puede escribir en el archivo
|
||||||
STR_GAME_SAVELOAD_ERROR_DATA_INTEGRITY_CHECK_FAILED :Comprobación de integridad de los datos fallida
|
STR_GAME_SAVELOAD_ERROR_DATA_INTEGRITY_CHECK_FAILED :Comprobación de integridad de los datos fallida
|
||||||
STR_GAME_SAVELOAD_NOT_AVAILABLE :<no disponible>
|
STR_GAME_SAVELOAD_NOT_AVAILABLE :<no disponible>
|
||||||
STR_WARNING_LOADGAME_REMOVED_TRAMS :{WHITE}El juego ha sido guardado en una versión sin soporte para tranvías. Todos los tranvías serán eliminados
|
STR_WARNING_LOADGAME_REMOVED_TRAMS :{WHITE}El juego ha sido guardado en una versión sin soporte para tranvías. Todos los tranvías serán eliminados
|
||||||
@@ -4084,7 +4084,7 @@ STR_ERROR_COULD_NOT_CREATE_TOWN :{WHITE}Generaci
|
|||||||
STR_ERROR_NO_TOWN_IN_SCENARIO :{WHITE}... no hay municipios en el escenario
|
STR_ERROR_NO_TOWN_IN_SCENARIO :{WHITE}... no hay municipios en el escenario
|
||||||
|
|
||||||
STR_ERROR_PNGMAP :{WHITE}No se pudo cargar mapa de alturas PNG...
|
STR_ERROR_PNGMAP :{WHITE}No se pudo cargar mapa de alturas PNG...
|
||||||
STR_ERROR_PNGMAP_FILE_NOT_FOUND :{WHITE}... fichero no encontrado
|
STR_ERROR_PNGMAP_FILE_NOT_FOUND :{WHITE}... archivo no encontrado
|
||||||
STR_ERROR_PNGMAP_IMAGE_TYPE :{WHITE}... no se pudo convertir tipo de imagen. Se requieren imágenes PNG de 8 o 24-bits
|
STR_ERROR_PNGMAP_IMAGE_TYPE :{WHITE}... no se pudo convertir tipo de imagen. Se requieren imágenes PNG de 8 o 24-bits
|
||||||
STR_ERROR_PNGMAP_MISC :{WHITE}... algo ha salido mal (es probable que el fichero esté corrupto)
|
STR_ERROR_PNGMAP_MISC :{WHITE}... algo ha salido mal (es probable que el fichero esté corrupto)
|
||||||
|
|
||||||
@@ -4604,7 +4604,7 @@ STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_CHANEY_JUBILEE_STEAM :Chaney 'Jubilee
|
|||||||
STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_GINZU_A4_STEAM :Ginzu 'A4' (Vapor)
|
STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_GINZU_A4_STEAM :Ginzu 'A4' (Vapor)
|
||||||
STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_8P_STEAM :SH '8P' (Vapor)
|
STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_8P_STEAM :SH '8P' (Vapor)
|
||||||
STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MANLEY_MOREL_DMU_DIESEL :Manley-Morel DMU (Diesel)
|
STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MANLEY_MOREL_DMU_DIESEL :Manley-Morel DMU (Diesel)
|
||||||
STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_DASH_DIESEL :'Dash' (Diesel)
|
STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_DASH_DIESEL :'Dash' (Diésel)
|
||||||
STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_HENDRY_25_DIESEL :SH/Hendry '25' (Diesel)
|
STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_HENDRY_25_DIESEL :SH/Hendry '25' (Diesel)
|
||||||
STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_UU_37_DIESEL :UU '37' (Diesel)
|
STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_UU_37_DIESEL :UU '37' (Diesel)
|
||||||
STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_FLOSS_47_DIESEL :Floss '47' (Diesel)
|
STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_FLOSS_47_DIESEL :Floss '47' (Diesel)
|
||||||
|
@@ -1258,7 +1258,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :By ynskeakeljen
|
|||||||
STR_CONFIG_SETTING_WARN_LOST_VEHICLE :Warskôgje as in fiertúch it paad bjuster is: {STRING}
|
STR_CONFIG_SETTING_WARN_LOST_VEHICLE :Warskôgje as in fiertúch it paad bjuster is: {STRING}
|
||||||
STR_CONFIG_SETTING_WARN_LOST_VEHICLE_HELPTEXT :Lit berjochten sjen at in fiertúch gjin paad nei syn bestimming fine kin
|
STR_CONFIG_SETTING_WARN_LOST_VEHICLE_HELPTEXT :Lit berjochten sjen at in fiertúch gjin paad nei syn bestimming fine kin
|
||||||
STR_CONFIG_SETTING_ORDER_REVIEW :Hâld fiertúchoarders yn de gaten: {STRING}
|
STR_CONFIG_SETTING_ORDER_REVIEW :Hâld fiertúchoarders yn de gaten: {STRING}
|
||||||
STR_CONFIG_SETTING_ORDER_REVIEW_HELPTEXT :By ynkeakeljen wurde de oarder fan de fiertugen sa no en dan kontrolearre en wurde flater dy't dêrby nei boppe komme melden
|
STR_CONFIG_SETTING_ORDER_REVIEW_HELPTEXT :By ynskeakeljen wurde de oarder fan de fiertugen sa no en dan kontrolearre en wurde flater dy't dêrby nei boppe komme melden
|
||||||
STR_CONFIG_SETTING_ORDER_REVIEW_OFF :Nee
|
STR_CONFIG_SETTING_ORDER_REVIEW_OFF :Nee
|
||||||
STR_CONFIG_SETTING_ORDER_REVIEW_EXDEPOT :Ja, mar slút stilsteande fiertugen út
|
STR_CONFIG_SETTING_ORDER_REVIEW_EXDEPOT :Ja, mar slút stilsteande fiertugen út
|
||||||
STR_CONFIG_SETTING_ORDER_REVIEW_ON :Fan alle fiertugen
|
STR_CONFIG_SETTING_ORDER_REVIEW_ON :Fan alle fiertugen
|
||||||
@@ -1303,7 +1303,9 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Rûch
|
|||||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Tige rûch
|
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Tige rûch
|
||||||
STR_CONFIG_SETTING_VARIETY :Fariaasjedistribusje: {STRING}
|
STR_CONFIG_SETTING_VARIETY :Fariaasjedistribusje: {STRING}
|
||||||
STR_CONFIG_SETTING_RIVER_AMOUNT :Tal rivieren: {STRING}
|
STR_CONFIG_SETTING_RIVER_AMOUNT :Tal rivieren: {STRING}
|
||||||
|
STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Kieze hoefolle rivieren generearje moatte wurde
|
||||||
STR_CONFIG_SETTING_TREE_PLACER :Algoritme foar pleatsing beamen: {STRING}
|
STR_CONFIG_SETTING_TREE_PLACER :Algoritme foar pleatsing beamen: {STRING}
|
||||||
|
STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Kies de spreding fan beammen op 'e kaart: 'Orizjineel' plantet beammen ferspreid oer de kaart, 'Ferbettere' plantet beammen yn kloften
|
||||||
STR_CONFIG_SETTING_TREE_PLACER_NONE :Gjin
|
STR_CONFIG_SETTING_TREE_PLACER_NONE :Gjin
|
||||||
STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Orizjineel
|
STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Orizjineel
|
||||||
STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Ferbettere
|
STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Ferbettere
|
||||||
@@ -1328,7 +1330,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :Grien
|
|||||||
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Donker grien
|
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Donker grien
|
||||||
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Fiolet
|
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Fiolet
|
||||||
STR_CONFIG_SETTING_REVERSE_SCROLLING :Draai scrollrjochtig om: {STRING}
|
STR_CONFIG_SETTING_REVERSE_SCROLLING :Draai scrollrjochtig om: {STRING}
|
||||||
STR_CONFIG_SETTING_REVERSE_SCROLLING_HELPTEXT :By útskeakjen beweecht de mûs de kamera. By ynskeakeljen beweecht de mûs de kaart
|
STR_CONFIG_SETTING_REVERSE_SCROLLING_HELPTEXT :By útskeakeljen beweecht de mûs de kamera. By ynskeakeljen beweecht de mûs de kaart
|
||||||
STR_CONFIG_SETTING_SMOOTH_SCROLLING :Loaitsfinster floeiend scrolle : {STRING}
|
STR_CONFIG_SETTING_SMOOTH_SCROLLING :Loaitsfinster floeiend scrolle : {STRING}
|
||||||
STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Bepaalt hoe it haadfinster scrollt. By ynskeakeljen sil dit floeiend wêze. By útskeakeljen ljept it byld direktst nei de selektearre lokaasje
|
STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Bepaalt hoe it haadfinster scrollt. By ynskeakeljen sil dit floeiend wêze. By útskeakeljen ljept it byld direktst nei de selektearre lokaasje
|
||||||
STR_CONFIG_SETTING_MEASURE_TOOLTIP :Under it gebrûk fan de ferskate bou-arken diminsjes sjen litte: {STRING}
|
STR_CONFIG_SETTING_MEASURE_TOOLTIP :Under it gebrûk fan de ferskate bou-arken diminsjes sjen litte: {STRING}
|
||||||
@@ -1446,6 +1448,7 @@ STR_CONFIG_SETTING_AI_PROFILE_MEDIUM :Middel
|
|||||||
STR_CONFIG_SETTING_AI_PROFILE_HARD :Dreech
|
STR_CONFIG_SETTING_AI_PROFILE_HARD :Dreech
|
||||||
|
|
||||||
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Stea AIs ta yn multiplayer: {STRING}
|
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Stea AIs ta yn multiplayer: {STRING}
|
||||||
|
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Kompjûterspilers tastean mei te spylje yn multyspyler spullen
|
||||||
|
|
||||||
STR_CONFIG_SETTING_SERVINT_ISPERCENT :reperaasje skemas binne yn procenten: {STRING}
|
STR_CONFIG_SETTING_SERVINT_ISPERCENT :reperaasje skemas binne yn procenten: {STRING}
|
||||||
STR_CONFIG_SETTING_SERVINT_TRAINS :Standert reparaasjeskema foar treinen: {STRING}
|
STR_CONFIG_SETTING_SERVINT_TRAINS :Standert reparaasjeskema foar treinen: {STRING}
|
||||||
@@ -1560,6 +1563,7 @@ STR_CONFIG_SETTING_TOWN_GROWTH_SLOW :langsaam
|
|||||||
STR_CONFIG_SETTING_TOWN_GROWTH_NORMAL :gewoan
|
STR_CONFIG_SETTING_TOWN_GROWTH_NORMAL :gewoan
|
||||||
STR_CONFIG_SETTING_TOWN_GROWTH_FAST :snel
|
STR_CONFIG_SETTING_TOWN_GROWTH_FAST :snel
|
||||||
STR_CONFIG_SETTING_TOWN_GROWTH_VERY_FAST :Hiel snel
|
STR_CONFIG_SETTING_TOWN_GROWTH_VERY_FAST :Hiel snel
|
||||||
|
STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 in {COMMA}
|
||||||
STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Gjin
|
STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Gjin
|
||||||
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Begjin stêdgrutte fermenigfuldiger: {STRING}
|
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Begjin stêdgrutte fermenigfuldiger: {STRING}
|
||||||
|
|
||||||
@@ -1646,6 +1650,7 @@ STR_CONFIG_SETTING_QUERY_CAPTION :{WHITE}Feroarje
|
|||||||
# Config errors
|
# Config errors
|
||||||
STR_CONFIG_ERROR_ARRAY :{WHITE}... flater in reeks '{STRING}'
|
STR_CONFIG_ERROR_ARRAY :{WHITE}... flater in reeks '{STRING}'
|
||||||
STR_CONFIG_ERROR_INVALID_VALUE :{WHITE}... ûnjildige wearde '{STRING}' foar '{STRING}'
|
STR_CONFIG_ERROR_INVALID_VALUE :{WHITE}... ûnjildige wearde '{STRING}' foar '{STRING}'
|
||||||
|
STR_CONFIG_ERROR_INVALID_GRF_NOT_FOUND :koe net fûn wurde
|
||||||
STR_CONFIG_ERROR_INVALID_GRF_INCOMPATIBLE :Dat strykt net mei dizze ferzje fan OpenTTD
|
STR_CONFIG_ERROR_INVALID_GRF_INCOMPATIBLE :Dat strykt net mei dizze ferzje fan OpenTTD
|
||||||
STR_CONFIG_ERROR_INVALID_GRF_UNKNOWN :ûnbekind
|
STR_CONFIG_ERROR_INVALID_GRF_UNKNOWN :ûnbekind
|
||||||
|
|
||||||
@@ -3293,12 +3298,23 @@ STR_ORDER_NO_UNLOAD_FULL_LOAD :(Net losse en w
|
|||||||
STR_ORDER_NO_UNLOAD_NO_LOAD :(net lade of losse)
|
STR_ORDER_NO_UNLOAD_NO_LOAD :(net lade of losse)
|
||||||
|
|
||||||
STR_ORDER_AUTO_REFIT :(Ombouwe nei {STRING})
|
STR_ORDER_AUTO_REFIT :(Ombouwe nei {STRING})
|
||||||
|
STR_ORDER_NO_UNLOAD_REFIT :(Net losse en fracht meinimme mei ombou nei {STRING})
|
||||||
|
STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Net losse en folslein lade mei ombou nei {STRING})
|
||||||
|
STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Net losse en ien fracht folslein lade mei ombou nei {STRING})
|
||||||
|
|
||||||
STR_ORDER_AUTO_REFIT_ANY :beskikbere fracht
|
STR_ORDER_AUTO_REFIT_ANY :beskikbere fracht
|
||||||
|
|
||||||
|
STR_ORDER_STOP_LOCATION_NEAR_END :[begjin]
|
||||||
|
STR_ORDER_STOP_LOCATION_MIDDLE :[midden]
|
||||||
|
STR_ORDER_STOP_LOCATION_FAR_END :[ein]
|
||||||
|
|
||||||
|
STR_ORDER_OUT_OF_RANGE :{RED} (Folgjende bestimming is bûten berik)
|
||||||
|
|
||||||
|
STR_ORDER_CONDITIONAL_UNCONDITIONAL :Ljep nei opdracht {COMMA}
|
||||||
|
STR_ORDER_CONDITIONAL_NUM :Ljep nei opdracht {COMMA} at {STRING} {STRING} {COMMA}
|
||||||
|
STR_ORDER_CONDITIONAL_TRUE_FALSE :Ljep nei opdracht {COMMA} at {STRING} {STRING}
|
||||||
|
|
||||||
|
STR_INVALID_ORDER :{RED} (Unjildige opdracht)
|
||||||
|
|
||||||
# Time table window
|
# Time table window
|
||||||
STR_TIMETABLE_ORDER_VIEW :{BLACK}Opdrachten
|
STR_TIMETABLE_ORDER_VIEW :{BLACK}Opdrachten
|
||||||
@@ -3314,6 +3330,7 @@ STR_TIMETABLE_DAYS :{COMMA}{NBSP}{P
|
|||||||
STR_TIMETABLE_TICKS :{COMMA}{NBSP}tik{P "" ken}
|
STR_TIMETABLE_TICKS :{COMMA}{NBSP}tik{P "" ken}
|
||||||
|
|
||||||
|
|
||||||
|
STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Dit fiertûg is op tiid
|
||||||
|
|
||||||
|
|
||||||
STR_TIMETABLE_CHANGE_TIME :{BLACK}Tiid Feroarje
|
STR_TIMETABLE_CHANGE_TIME :{BLACK}Tiid Feroarje
|
||||||
@@ -3326,6 +3343,7 @@ STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Feroarje
|
|||||||
STR_TIMETABLE_CLEAR_SPEED :{BLACK}Helje maksimum snelheid fuort
|
STR_TIMETABLE_CLEAR_SPEED :{BLACK}Helje maksimum snelheid fuort
|
||||||
STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Helje de maksimum reissnelheid fuort fan de opljochte oarder
|
STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Helje de maksimum reissnelheid fuort fan de opljochte oarder
|
||||||
|
|
||||||
|
STR_TIMETABLE_RESET_LATENESS :{BLACK}Fertragingsteller weromsette
|
||||||
|
|
||||||
|
|
||||||
STR_TIMETABLE_EXPECTED :{BLACK}Ferwachte
|
STR_TIMETABLE_EXPECTED :{BLACK}Ferwachte
|
||||||
@@ -3373,7 +3391,9 @@ STR_AI_CONFIG_CHANGE_GAMESCRIPT :Spulskript
|
|||||||
STR_AI_LIST_CAPTION :{WHITE}Beskikber {STRING}
|
STR_AI_LIST_CAPTION :{WHITE}Beskikber {STRING}
|
||||||
STR_AI_LIST_CAPTION_AI :AIs
|
STR_AI_LIST_CAPTION_AI :AIs
|
||||||
STR_AI_LIST_CAPTION_GAMESCRIPT :Spulskripten
|
STR_AI_LIST_CAPTION_GAMESCRIPT :Spulskripten
|
||||||
|
STR_AI_LIST_TOOLTIP :{BLACK}Klik om in skript te selektearje
|
||||||
|
|
||||||
|
STR_AI_LIST_AUTHOR :{LTBLUE}Makker: {ORANGE}{STRING}
|
||||||
STR_AI_LIST_VERSION :{LTBLUE}Ferzje: {ORANGE}{NUM}
|
STR_AI_LIST_VERSION :{LTBLUE}Ferzje: {ORANGE}{NUM}
|
||||||
STR_AI_LIST_URL :{LTBLUE}URL: {ORANGE}{STRING}
|
STR_AI_LIST_URL :{LTBLUE}URL: {ORANGE}{STRING}
|
||||||
|
|
||||||
@@ -3420,6 +3440,8 @@ STR_ERROR_GAME_SAVE_FAILED :{WHITE}Opslaan
|
|||||||
STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Kin bestân net fuortsmite
|
STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Kin bestân net fuortsmite
|
||||||
STR_ERROR_GAME_LOAD_FAILED :{WHITE}Laden Mislearre{}{STRING}
|
STR_ERROR_GAME_LOAD_FAILED :{WHITE}Laden Mislearre{}{STRING}
|
||||||
STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Interne flater: {STRING}
|
STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Interne flater: {STRING}
|
||||||
|
STR_GAME_SAVELOAD_ERROR_FILE_NOT_READABLE :Koe bestân net lêze
|
||||||
|
STR_GAME_SAVELOAD_ERROR_FILE_NOT_WRITEABLE :Koe net nei bestân skriuwe
|
||||||
STR_GAME_SAVELOAD_NOT_AVAILABLE :<net beskikber>
|
STR_GAME_SAVELOAD_NOT_AVAILABLE :<net beskikber>
|
||||||
|
|
||||||
# Map generation messages
|
# Map generation messages
|
||||||
@@ -3462,13 +3484,16 @@ STR_ERROR_NOT_ALLOWED_WHILE_PAUSED :{WHITE}Net tast
|
|||||||
# Local authority errors
|
# Local authority errors
|
||||||
STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS :{WHITE}{TOWN} gemiente stiet dit net ta
|
STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS :{WHITE}{TOWN} gemiente stiet dit net ta
|
||||||
STR_ERROR_LOCAL_AUTHORITY_REFUSES_AIRPORT :{WHITE}{TOWN} gemeente lit it net ta dat der noch in fleanfjild bout wurd yn dizze stêd
|
STR_ERROR_LOCAL_AUTHORITY_REFUSES_AIRPORT :{WHITE}{TOWN} gemeente lit it net ta dat der noch in fleanfjild bout wurd yn dizze stêd
|
||||||
|
STR_ERROR_LOCAL_AUTHORITY_REFUSES_NOISE :{WHITE}{TOWN} gemeente lit it net ta dat der in fleanfjild bout wurd fanwegen lûdoerlêst
|
||||||
|
|
||||||
# Levelling errors
|
# Levelling errors
|
||||||
STR_ERROR_CAN_T_RAISE_LAND_HERE :{WHITE}Kin it lân hjir net ferheegje...
|
STR_ERROR_CAN_T_RAISE_LAND_HERE :{WHITE}Kin it lân hjir net ferheegje...
|
||||||
STR_ERROR_CAN_T_LOWER_LAND_HERE :{WHITE}Kin it lân hjir net ferleegje...
|
STR_ERROR_CAN_T_LOWER_LAND_HERE :{WHITE}Kin it lân hjir net ferleegje...
|
||||||
|
STR_ERROR_CAN_T_LEVEL_LAND_HERE :{WHITE}Kin it lân hjir net egalisearje...
|
||||||
STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Utgrave soe tunnel beskeadigje
|
STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Utgrave soe tunnel beskeadigje
|
||||||
STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}Lân is al op seenivo
|
STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}Lân is al op seenivo
|
||||||
STR_ERROR_TOO_HIGH :{WHITE}Te heech
|
STR_ERROR_TOO_HIGH :{WHITE}Te heech
|
||||||
|
STR_ERROR_ALREADY_LEVELLED :{WHITE}... is al plat
|
||||||
|
|
||||||
# Company related errors
|
# Company related errors
|
||||||
STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Kin bedriuwsnamme net feroarje...
|
STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Kin bedriuwsnamme net feroarje...
|
||||||
@@ -3479,10 +3504,12 @@ STR_ERROR_CAN_T_BORROW_ANY_MORE_MONEY :{WHITE}Kin net
|
|||||||
STR_ERROR_LOAN_ALREADY_REPAYED :{WHITE}... gjin liening werom te betelje
|
STR_ERROR_LOAN_ALREADY_REPAYED :{WHITE}... gjin liening werom te betelje
|
||||||
STR_ERROR_CURRENCY_REQUIRED :{WHITE}...{CURRENCY_LONG} nedich
|
STR_ERROR_CURRENCY_REQUIRED :{WHITE}...{CURRENCY_LONG} nedich
|
||||||
STR_ERROR_CAN_T_REPAY_LOAN :{WHITE}Kin liening net werombetelje...
|
STR_ERROR_CAN_T_REPAY_LOAN :{WHITE}Kin liening net werombetelje...
|
||||||
|
STR_ERROR_INSUFFICIENT_FUNDS :{WHITE}Kin gjin jild dat fan de bank lient is weijaan...
|
||||||
STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Kin bedriuw net keapje...
|
STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Kin bedriuw net keapje...
|
||||||
STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Kin gjin haadkantoar boue
|
STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Kin gjin haadkantoar boue
|
||||||
STR_ERROR_CAN_T_BUY_25_SHARE_IN_THIS :{WHITE}Kin net 25% oandielen fan dit bedriuw keapje...
|
STR_ERROR_CAN_T_BUY_25_SHARE_IN_THIS :{WHITE}Kin net 25% oandielen fan dit bedriuw keapje...
|
||||||
STR_ERROR_CAN_T_SELL_25_SHARE_IN :{WHITE}Kin net 25% oandielen fan dit bedriuw ferkeapje...
|
STR_ERROR_CAN_T_SELL_25_SHARE_IN :{WHITE}Kin net 25% oandielen fan dit bedriuw ferkeapje...
|
||||||
|
STR_ERROR_PROTECTED :{WHITE}Dit bedriuw is noch net âld genoch om oandielen te ferhannelje...
|
||||||
|
|
||||||
# Town related errors
|
# Town related errors
|
||||||
STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Kin gjin stêd bouwe
|
STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Kin gjin stêd bouwe
|
||||||
@@ -3493,10 +3520,13 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... te t
|
|||||||
STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... te ticht by in oare stêd
|
STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... te ticht by in oare stêd
|
||||||
STR_ERROR_TOO_MANY_TOWNS :{WHITE}... te folle stêden
|
STR_ERROR_TOO_MANY_TOWNS :{WHITE}... te folle stêden
|
||||||
STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... der is gjin romte mear op'e kaart
|
STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... der is gjin romte mear op'e kaart
|
||||||
|
STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Wurk oan de dyk dwaande
|
||||||
|
STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Kin dizze stêd net fuorthelje...{}In stasjon of depôt ferwiist nei dizze stêd of in tegel dy't eigendom van dizze stêd is kin net fuorthelje wurde
|
||||||
STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... Gjin geskikt plak fûn foar in stânbield in dizze stêd
|
STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... Gjin geskikt plak fûn foar in stânbield in dizze stêd
|
||||||
|
|
||||||
# Industry related errors
|
# Industry related errors
|
||||||
STR_ERROR_TOO_MANY_INDUSTRIES :{WHITE}... te folle yndustryen
|
STR_ERROR_TOO_MANY_INDUSTRIES :{WHITE}... te folle yndustryen
|
||||||
|
STR_ERROR_CAN_T_GENERATE_INDUSTRIES :{WHITE}Kin gjin yndustryen generearje...
|
||||||
STR_ERROR_CAN_T_BUILD_HERE :{WHITE}Kin hjir gjin {STRING} boue...
|
STR_ERROR_CAN_T_BUILD_HERE :{WHITE}Kin hjir gjin {STRING} boue...
|
||||||
STR_ERROR_CAN_T_CONSTRUCT_THIS_INDUSTRY :{WHITE}Kin dit type yndustry hjir net boue...
|
STR_ERROR_CAN_T_CONSTRUCT_THIS_INDUSTRY :{WHITE}Kin dit type yndustry hjir net boue...
|
||||||
STR_ERROR_INDUSTRY_TOO_CLOSE :{WHITE}... te ticht by in oare yndustry
|
STR_ERROR_INDUSTRY_TOO_CLOSE :{WHITE}... te ticht by in oare yndustry
|
||||||
@@ -3506,12 +3536,15 @@ STR_ERROR_CAN_ONLY_BE_BUILT_IN_TOWNS_WITH_POPULATION_OF_1200 :{WHITE}... kin
|
|||||||
STR_ERROR_CAN_ONLY_BE_BUILT_IN_RAINFOREST :{WHITE}... kin allinnich yn in reinwâld bout wurde
|
STR_ERROR_CAN_ONLY_BE_BUILT_IN_RAINFOREST :{WHITE}... kin allinnich yn in reinwâld bout wurde
|
||||||
STR_ERROR_CAN_ONLY_BE_BUILT_IN_DESERT :{WHITE}... kin allinnich yn in woastine bout wurde
|
STR_ERROR_CAN_ONLY_BE_BUILT_IN_DESERT :{WHITE}... kin allinnich yn in woastine bout wurde
|
||||||
STR_ERROR_CAN_ONLY_BE_BUILT_IN_TOWNS :{WHITE}... kin allinnich yn in stêd bout wurde (ferfangt besteande hûzen)
|
STR_ERROR_CAN_ONLY_BE_BUILT_IN_TOWNS :{WHITE}... kin allinnich yn in stêd bout wurde (ferfangt besteande hûzen)
|
||||||
|
STR_ERROR_CAN_ONLY_BE_BUILT_NEAR_TOWN_CENTER :{WHITE}... kin allinich by it sintrum van in stêd bout wurde
|
||||||
STR_ERROR_CAN_ONLY_BE_BUILT_IN_LOW_AREAS :{WHITE}... kin allinnich yn lege plakken bout wurde
|
STR_ERROR_CAN_ONLY_BE_BUILT_IN_LOW_AREAS :{WHITE}... kin allinnich yn lege plakken bout wurde
|
||||||
STR_ERROR_CAN_ONLY_BE_POSITIONED :{WHITE}... kin allinich pleatse wurde by de rân fan'e kaart
|
STR_ERROR_CAN_ONLY_BE_POSITIONED :{WHITE}... kin allinich pleatse wurde by de rân fan'e kaart
|
||||||
STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... bosk kin allinich boppe snieline boud wurde
|
STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... bosk kin allinich boppe snieline boud wurde
|
||||||
STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... kin allinich boppe snieline boud wurde
|
STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... kin allinich boppe snieline boud wurde
|
||||||
STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... kin allinich ûnder snieline boud wurde
|
STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... kin allinich ûnder snieline boud wurde
|
||||||
|
|
||||||
|
STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Der wie gjin gaadlike plak foar '{STRING}' industryen
|
||||||
|
STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Feroarje de mapynstellings om in bettere kaart te krijen
|
||||||
|
|
||||||
# Station construction related errors
|
# Station construction related errors
|
||||||
STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Kin hjir gjin treinstasjon boue...
|
STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Kin hjir gjin treinstasjon boue...
|
||||||
@@ -3525,14 +3558,20 @@ STR_ERROR_CAN_T_BUILD_AIRPORT_HERE :{WHITE}Kin hjir
|
|||||||
STR_ERROR_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Ferbynt mear dan ien stasjon
|
STR_ERROR_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Ferbynt mear dan ien stasjon
|
||||||
STR_ERROR_STATION_TOO_SPREAD_OUT :{WHITE}... stasjon is te grut
|
STR_ERROR_STATION_TOO_SPREAD_OUT :{WHITE}... stasjon is te grut
|
||||||
STR_ERROR_TOO_MANY_STATIONS_LOADING :{WHITE}Te folle stasjons
|
STR_ERROR_TOO_MANY_STATIONS_LOADING :{WHITE}Te folle stasjons
|
||||||
|
STR_ERROR_TOO_MANY_STATION_SPECS :{WHITE}Te folle stasjonsdielen
|
||||||
STR_ERROR_TOO_MANY_BUS_STOPS :{WHITE}Te folle bushaltes
|
STR_ERROR_TOO_MANY_BUS_STOPS :{WHITE}Te folle bushaltes
|
||||||
STR_ERROR_TOO_MANY_TRUCK_STOPS :{WHITE}Te folle frachtstasjons
|
STR_ERROR_TOO_MANY_TRUCK_STOPS :{WHITE}Te folle frachtstasjons
|
||||||
STR_ERROR_TOO_CLOSE_TO_ANOTHER_STATION :{WHITE}Te ticht by in oar stasjon
|
STR_ERROR_TOO_CLOSE_TO_ANOTHER_STATION :{WHITE}Te ticht by in oar stasjon
|
||||||
STR_ERROR_TOO_CLOSE_TO_ANOTHER_DOCK :{WHITE}Te ticht by in oare haven
|
STR_ERROR_TOO_CLOSE_TO_ANOTHER_DOCK :{WHITE}Te ticht by in oare haven
|
||||||
STR_ERROR_TOO_CLOSE_TO_ANOTHER_AIRPORT :{WHITE}Te ticht by in oar fleanfjild
|
STR_ERROR_TOO_CLOSE_TO_ANOTHER_AIRPORT :{WHITE}Te ticht by in oar fleanfjild
|
||||||
STR_ERROR_CAN_T_RENAME_STATION :{WHITE}Kin namme fan stasjon net feroarje
|
STR_ERROR_CAN_T_RENAME_STATION :{WHITE}Kin namme fan stasjon net feroarje
|
||||||
|
STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... dizze dyk is eigendom fan in stêd
|
||||||
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... dyk leit in ferkearde rjochting
|
||||||
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... trochriidhaltes kinne gjin bochten hawwe
|
||||||
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... trochriidhaltes kinne gjin krusings hawwe
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Kin diel fan it stasjon net fourthelje...
|
||||||
STR_ERROR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Treinstasjon moat earst fuorthelle wurde
|
STR_ERROR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Treinstasjon moat earst fuorthelle wurde
|
||||||
STR_ERROR_CAN_T_REMOVE_BUS_STATION :{WHITE}Kin busstasjon net fuorthelje...
|
STR_ERROR_CAN_T_REMOVE_BUS_STATION :{WHITE}Kin busstasjon net fuorthelje...
|
||||||
STR_ERROR_CAN_T_REMOVE_TRUCK_STATION :{WHITE}Kin frachtstasjon net fuorthelje...
|
STR_ERROR_CAN_T_REMOVE_TRUCK_STATION :{WHITE}Kin frachtstasjon net fuorthelje...
|
||||||
|
@@ -844,6 +844,7 @@ STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE
|
|||||||
STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} chưa có lệnh
|
STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} chưa có lệnh
|
||||||
STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} có các lệnh trùng lặp
|
STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} có các lệnh trùng lặp
|
||||||
STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} có trạm bất hợp lệ trong lệnh
|
STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} có trạm bất hợp lệ trong lệnh
|
||||||
|
STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} có trong lộ trình một sân bay có đường băng quá ngắn
|
||||||
|
|
||||||
STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} đang cũ đi
|
STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} đang cũ đi
|
||||||
STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} đang xuống cấp
|
STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} đang xuống cấp
|
||||||
@@ -1287,17 +1288,28 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Hiển thị d
|
|||||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Độ đậm của đường kẻ trong đồ thị: {STRING}
|
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Độ đậm của đường kẻ trong đồ thị: {STRING}
|
||||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Độ đậm của đường vẽ trên đồ thị. Một đường mảnh sẽ chính xác hơn, trong khi đó đường đậm sẽ dễ nhìn hơn và màu sắc dễ phân biệt hơn
|
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Độ đậm của đường vẽ trên đồ thị. Một đường mảnh sẽ chính xác hơn, trong khi đó đường đậm sẽ dễ nhìn hơn và màu sắc dễ phân biệt hơn
|
||||||
|
|
||||||
|
STR_CONFIG_SETTING_LANDSCAPE :Nền đất: {STRING}
|
||||||
|
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Nền đất là định nghĩa cơ bản của các màn chơi với các kiểu hàng hóa và yêu cầu cho sự phát triển đô thị khác nhau. NewGRF và kịch bản chơi cho phép các điều chỉnh nhỏ hơn.
|
||||||
STR_CONFIG_SETTING_LAND_GENERATOR :Tạo nền đất: {STRING}
|
STR_CONFIG_SETTING_LAND_GENERATOR :Tạo nền đất: {STRING}
|
||||||
|
STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Bộ khởi tạo nguyên bản chỉ dựa vào tập hợp đồ họa đối tượng cơ bản, rồi sinh ra các dạng địa hình cố đinh. Với TerraGenesis thì dựa trên có chế nhiễu loạn (noise) kiểu Perlin và cho phép các điều chỉnh nhỏ hơn.
|
||||||
STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Nguyên Bản
|
STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Nguyên Bản
|
||||||
STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis
|
STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis
|
||||||
|
STR_CONFIG_SETTING_TERRAIN_TYPE :Kiểu nền đất: {STRING}
|
||||||
|
STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(Chỉ cho TerraGenesis) Địa hình nhiều đồi núi
|
||||||
|
STR_CONFIG_SETTING_INDUSTRY_DENSITY :Mật độ nhà máy: {STRING}
|
||||||
|
STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Thiết lập số nhà máy sẽ được tạo ra và mức độ dùy trì trong ván chơi
|
||||||
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Khoảng cách tối đa từ lề bản đồ tới nhà máy lọc dầu: {STRING}
|
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Khoảng cách tối đa từ lề bản đồ tới nhà máy lọc dầu: {STRING}
|
||||||
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Nhà máy hóa dầu chỉ có thể xây gần rìa bản đồ, tương ứng là ven biển với những bản đồ dạng đảo
|
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Nhà máy hóa dầu chỉ có thể xây gần rìa bản đồ, tương ứng là ven biển với những bản đồ dạng đảo
|
||||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Độ cao tuyết phủ: {STRING}
|
STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Độ cao tuyết phủ: {STRING}
|
||||||
|
STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Điều chỉnh độ cao của tuyết phủ đối với địa hình xứ lanh. Tuyết phủ có thể ảnh hưởng tới việc tạo ra nhà máy và các yêu cầu cho sự tăng trưởng đô thị
|
||||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Độ gồ ghề của địa chất: {STRING}
|
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Độ gồ ghề của địa chất: {STRING}
|
||||||
|
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(Chỉ cho TerraGenesis) Chọn mức độ trùng điệp của núi: địa hình bằng phẳng thì ít hơn, địa hình đồi núi thì nhiều hơn. Địa hình gồ ghề có nhiều núi và trông có vẻ lặp lại
|
||||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Rất Phẳng
|
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Rất Phẳng
|
||||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Phẳng
|
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Phẳng
|
||||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Gồ Ghề
|
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Gồ Ghề
|
||||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Rất Gồ Ghề
|
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Rất Gồ Ghề
|
||||||
|
STR_CONFIG_SETTING_VARIETY :Phân bổ sự đa dạng: {STRING}
|
||||||
|
STR_CONFIG_SETTING_VARIETY_HELPTEXT :(Chỉ cho TerraGenesis) Điều chỉnh liệu rằng bản đồ gồm cả vùng núi cao và vùng đồng bằng. Đây chỉ là điều chỉnh cho sự bằng phẳng hơn, các thiết lập khác sẽ điều chỉnh cho vùng núi.
|
||||||
STR_CONFIG_SETTING_RIVER_AMOUNT :Số lượng sông ngòi: {STRING}
|
STR_CONFIG_SETTING_RIVER_AMOUNT :Số lượng sông ngòi: {STRING}
|
||||||
STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Chọn số lượng sông ngòi được khởi tạo
|
STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Chọn số lượng sông ngòi được khởi tạo
|
||||||
STR_CONFIG_SETTING_TREE_PLACER :Thuật toán đặt cây: {STRING}
|
STR_CONFIG_SETTING_TREE_PLACER :Thuật toán đặt cây: {STRING}
|
||||||
@@ -1653,11 +1665,21 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metric (m)
|
|||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m)
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m)
|
||||||
|
|
||||||
STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Tiêu Chuẩn Đo Lường
|
STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Tiêu Chuẩn Đo Lường
|
||||||
|
STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Đồ họa
|
||||||
STR_CONFIG_SETTING_SOUND :{ORANGE}Âm thanh
|
STR_CONFIG_SETTING_SOUND :{ORANGE}Âm thanh
|
||||||
STR_CONFIG_SETTING_INTERFACE :{ORANGE}Giao Diện
|
STR_CONFIG_SETTING_INTERFACE :{ORANGE}Giao Diện
|
||||||
|
STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Tổng quát
|
||||||
|
STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Vùng nhìn
|
||||||
STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Xây Dựng
|
STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Xây Dựng
|
||||||
|
STR_CONFIG_SETTING_ADVISORS :{ORANGE}Tin tức / Cố vấn
|
||||||
|
STR_CONFIG_SETTING_COMPANY :{ORANGE}Công ty
|
||||||
|
STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Kế toán
|
||||||
STR_CONFIG_SETTING_VEHICLES :{ORANGE}Phương Tiện
|
STR_CONFIG_SETTING_VEHICLES :{ORANGE}Phương Tiện
|
||||||
|
STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Vật lý
|
||||||
STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Tìm đường
|
STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Tìm đường
|
||||||
|
STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Giới hạn
|
||||||
|
STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Thiên tai / Tai nạn
|
||||||
|
STR_CONFIG_SETTING_GENWORLD :{ORANGE}Khởi tạo bản đồ
|
||||||
STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Môi trường
|
STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Môi trường
|
||||||
STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Chính quyền
|
STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Chính quyền
|
||||||
STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Đô thị
|
STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Đô thị
|
||||||
@@ -2684,6 +2706,7 @@ STR_SAVELOAD_SAVE_BUTTON :{BLACK}Lưu
|
|||||||
STR_SAVELOAD_SAVE_TOOLTIP :{BLACK}Lưu ván chơi hiện tại, sử dụng tên đã chọn
|
STR_SAVELOAD_SAVE_TOOLTIP :{BLACK}Lưu ván chơi hiện tại, sử dụng tên đã chọn
|
||||||
STR_SAVELOAD_LOAD_BUTTON :{BLACK}Nạp
|
STR_SAVELOAD_LOAD_BUTTON :{BLACK}Nạp
|
||||||
STR_SAVELOAD_LOAD_TOOLTIP :{BLACK}Nạp ván chơi được chọn
|
STR_SAVELOAD_LOAD_TOOLTIP :{BLACK}Nạp ván chơi được chọn
|
||||||
|
STR_SAVELOAD_LOAD_HEIGHTMAP_TOOLTIP :{BLACK}Nạp bản đồ địa hình đang chọn
|
||||||
STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Chi Tiết Trò Chơi
|
STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Chi Tiết Trò Chơi
|
||||||
STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Không có thông tin gì cả.
|
STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Không có thông tin gì cả.
|
||||||
STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING}
|
STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING}
|
||||||
@@ -2852,6 +2875,10 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Sprite t
|
|||||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Xử lý sprite bình thường ở trước, bỏ qua các loại pseudo/recolour/font sprite căn theo điểm bắt đầu
|
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Xử lý sprite bình thường ở trước, bỏ qua các loại pseudo/recolour/font sprite căn theo điểm bắt đầu
|
||||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Theo những thông tin của sprite đã chọn. Thì việc căn chỉnh khi vẽ đối với sprite này sẽ bị bỏ qua
|
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Theo những thông tin của sprite đã chọn. Thì việc căn chỉnh khi vẽ đối với sprite này sẽ bị bỏ qua
|
||||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Di chuyển sprite xung quanh, thay đổi X và Y offsets
|
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Di chuyển sprite xung quanh, thay đổi X và Y offsets
|
||||||
|
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Đặt lại tương đối
|
||||||
|
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Đặt lại các dịch chuyển tương đối hiện tại
|
||||||
|
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK} dịch X: {NUM}, dịch Y: {NUM} (tuyệt đối)
|
||||||
|
STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}toạ độ X: {NUM}, toạ độ Y: {NUM} (tương đối)
|
||||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Chọn sprite
|
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Chọn sprite
|
||||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Chọn sprite ở bất cứ đâu trên màn hình
|
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Chọn sprite ở bất cứ đâu trên màn hình
|
||||||
|
|
||||||
@@ -3328,6 +3355,8 @@ STR_GROUP_DELETE_TOOLTIP :{BLACK}Xoá nh
|
|||||||
STR_GROUP_RENAME_TOOLTIP :{BLACK}Đổi tên nhóm
|
STR_GROUP_RENAME_TOOLTIP :{BLACK}Đổi tên nhóm
|
||||||
STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Không để nhóm này tự thay thế (thiết lập chung) khi hết hạn
|
STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Không để nhóm này tự thay thế (thiết lập chung) khi hết hạn
|
||||||
|
|
||||||
|
STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Xóa Nhóm
|
||||||
|
STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Bạn có chắc chắn muốn xóa nhóm này và tất cả con của nó?
|
||||||
|
|
||||||
STR_GROUP_ADD_SHARED_VEHICLE :Thêm phương tiện được chia sẻ
|
STR_GROUP_ADD_SHARED_VEHICLE :Thêm phương tiện được chia sẻ
|
||||||
STR_GROUP_REMOVE_ALL_VEHICLES :Xoá tất cả phương tiện
|
STR_GROUP_REMOVE_ALL_VEHICLES :Xoá tất cả phương tiện
|
||||||
@@ -3869,6 +3898,10 @@ STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Di chuyển (kh
|
|||||||
STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Hành trình với tốc độ tối đa là {2:VELOCITY} (chưa dựng lịch trình)
|
STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Hành trình với tốc độ tối đa là {2:VELOCITY} (chưa dựng lịch trình)
|
||||||
STR_TIMETABLE_TRAVEL_FOR :Di chuyển trong {STRING}
|
STR_TIMETABLE_TRAVEL_FOR :Di chuyển trong {STRING}
|
||||||
STR_TIMETABLE_TRAVEL_FOR_SPEED :Lộ trình {STRING} với tốc độ tối đa {VELOCITY}
|
STR_TIMETABLE_TRAVEL_FOR_SPEED :Lộ trình {STRING} với tốc độ tối đa {VELOCITY}
|
||||||
|
STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Lộ trình (cho {STRING}, chưa có lịch trình)
|
||||||
|
STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Lộ trình (cho {STRING}, chưa có lịch trình) với tốc độ đối đa {VELOCITY}
|
||||||
|
STR_TIMETABLE_STAY_FOR_ESTIMATED :(ở lại {STRING}, chưa có lịch trình)
|
||||||
|
STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(di chuyển đến {STRING}, chưa có lịch trình)
|
||||||
STR_TIMETABLE_STAY_FOR :và ở lại trong {STRING}
|
STR_TIMETABLE_STAY_FOR :và ở lại trong {STRING}
|
||||||
STR_TIMETABLE_AND_TRAVEL_FOR :và di chuyển trong {STRING}
|
STR_TIMETABLE_AND_TRAVEL_FOR :và di chuyển trong {STRING}
|
||||||
STR_TIMETABLE_DAYS :{COMMA}{NBSP}ngày
|
STR_TIMETABLE_DAYS :{COMMA}{NBSP}ngày
|
||||||
@@ -4327,6 +4360,7 @@ STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... bạ
|
|||||||
STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Không thể tạo nhóm...
|
STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Không thể tạo nhóm...
|
||||||
STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Không thể xoá bỏ nhóm...
|
STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Không thể xoá bỏ nhóm...
|
||||||
STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Không thể đổi tên nhóm...
|
STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Không thể đổi tên nhóm...
|
||||||
|
STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Không thể thiết đặt nhóm cha...
|
||||||
STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Không thể bỏ các phương tiện trong nhóm này...
|
STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Không thể bỏ các phương tiện trong nhóm này...
|
||||||
STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Không thể thêm phương tiện vào nhóm này...
|
STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Không thể thêm phương tiện vào nhóm này...
|
||||||
STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Không thể thêm phương tiện được chia sẻ vào nhóm...
|
STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Không thể thêm phương tiện được chia sẻ vào nhóm...
|
||||||
|
@@ -284,8 +284,8 @@ STR_SORT_BY_PRODUCTION :Cynyrch
|
|||||||
STR_SORT_BY_TYPE :Math
|
STR_SORT_BY_TYPE :Math
|
||||||
STR_SORT_BY_TRANSPORTED :Wedi'i gludo
|
STR_SORT_BY_TRANSPORTED :Wedi'i gludo
|
||||||
STR_SORT_BY_NUMBER :Rhif
|
STR_SORT_BY_NUMBER :Rhif
|
||||||
STR_SORT_BY_PROFIT_LAST_YEAR :Elw eleni
|
STR_SORT_BY_PROFIT_LAST_YEAR :Elw llynedd
|
||||||
STR_SORT_BY_PROFIT_THIS_YEAR :Elw llynedd
|
STR_SORT_BY_PROFIT_THIS_YEAR :Elw eleni
|
||||||
STR_SORT_BY_AGE :Oed
|
STR_SORT_BY_AGE :Oed
|
||||||
STR_SORT_BY_RELIABILITY :Dibynadwyedd
|
STR_SORT_BY_RELIABILITY :Dibynadwyedd
|
||||||
STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :Cyfanswm Gallu Cludo fesul y math o lwyth
|
STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :Cyfanswm Gallu Cludo fesul y math o lwyth
|
||||||
@@ -2875,6 +2875,10 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Corlun b
|
|||||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Mynd i'r corlun cyffredin blaenorol, gan hepgor unrhyw gorluniau ailliwio/ffont/llidgorluniau, ac amlapio o'r corlun cyntaf i'r olaf
|
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Mynd i'r corlun cyffredin blaenorol, gan hepgor unrhyw gorluniau ailliwio/ffont/llidgorluniau, ac amlapio o'r corlun cyntaf i'r olaf
|
||||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Cynrychioliad o'r corlun a ddewiswyd. Fe anwybyddir yr aliniad wrth lunio'r corlun
|
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Cynrychioliad o'r corlun a ddewiswyd. Fe anwybyddir yr aliniad wrth lunio'r corlun
|
||||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Symud y corlun, gan newid yr atredau X ac Y
|
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Symud y corlun, gan newid yr atredau X ac Y
|
||||||
|
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Ailosod perthyniad
|
||||||
|
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Ailosod y dodiadau perthynol
|
||||||
|
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}Dodiad X: {NUM}, Dodiad Y: {NUM} (Absoliwt)
|
||||||
|
STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}Dodiad X: {NUM}, Dodiad Y: {NUM} (Perthynol)
|
||||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Dewis corlun
|
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Dewis corlun
|
||||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Dewis corlun o ynrhyw fan ar y sgrïn
|
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Dewis corlun o ynrhyw fan ar y sgrïn
|
||||||
|
|
||||||
|
@@ -63,7 +63,6 @@ NetworkCompanyState *_network_company_states = NULL; ///< Statistics about some
|
|||||||
ClientID _network_own_client_id; ///< Our client identifier.
|
ClientID _network_own_client_id; ///< Our client identifier.
|
||||||
ClientID _redirect_console_to_client; ///< If not invalid, redirect the console output to a client.
|
ClientID _redirect_console_to_client; ///< If not invalid, redirect the console output to a client.
|
||||||
bool _network_need_advertise; ///< Whether we need to advertise.
|
bool _network_need_advertise; ///< Whether we need to advertise.
|
||||||
uint32 _network_last_advertise_frame; ///< Last time we did advertise.
|
|
||||||
uint8 _network_reconnect; ///< Reconnect timeout
|
uint8 _network_reconnect; ///< Reconnect timeout
|
||||||
StringList _network_bind_list; ///< The addresses to bind on.
|
StringList _network_bind_list; ///< The addresses to bind on.
|
||||||
StringList _network_host_list; ///< The servers we know.
|
StringList _network_host_list; ///< The servers we know.
|
||||||
@@ -759,7 +758,6 @@ bool NetworkServerStart()
|
|||||||
if (_network_dedicated) IConsoleCmdExec("exec scripts/on_dedicated.scr 0");
|
if (_network_dedicated) IConsoleCmdExec("exec scripts/on_dedicated.scr 0");
|
||||||
|
|
||||||
/* Try to register us to the master server */
|
/* Try to register us to the master server */
|
||||||
_network_last_advertise_frame = 0;
|
|
||||||
_network_need_advertise = true;
|
_network_need_advertise = true;
|
||||||
NetworkUDPAdvertise();
|
NetworkUDPAdvertise();
|
||||||
|
|
||||||
@@ -1076,7 +1074,6 @@ void NetworkStartUp()
|
|||||||
/* Network is available */
|
/* Network is available */
|
||||||
_network_available = NetworkCoreInitialize();
|
_network_available = NetworkCoreInitialize();
|
||||||
_network_dedicated = false;
|
_network_dedicated = false;
|
||||||
_network_last_advertise_frame = 0;
|
|
||||||
_network_need_advertise = true;
|
_network_need_advertise = true;
|
||||||
_network_advertise_retries = 0;
|
_network_advertise_retries = 0;
|
||||||
|
|
||||||
|
@@ -282,10 +282,22 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/** Filter data for NetworkContentListWindow. */
|
||||||
|
struct ContentListFilterData {
|
||||||
|
StringFilter string_filter; ///< Text filter of content list
|
||||||
|
ContentType type; ///< Content type displayed
|
||||||
|
};
|
||||||
|
|
||||||
|
/** Filter criterias for NetworkContentListWindow. */
|
||||||
|
enum ContentListFilterCriteria {
|
||||||
|
CONTENT_FILTER_TEXT = 0, ///< Filter by query sting
|
||||||
|
CONTENT_FILTER_TYPE_OR_SELECTED,///< Filter by being of displayed type or selected for download
|
||||||
|
};
|
||||||
|
|
||||||
/** Window that lists the content that's at the content server */
|
/** Window that lists the content that's at the content server */
|
||||||
class NetworkContentListWindow : public Window, ContentCallback {
|
class NetworkContentListWindow : public Window, ContentCallback {
|
||||||
/** List with content infos. */
|
/** List with content infos. */
|
||||||
typedef GUIList<const ContentInfo *, StringFilter &> GUIContentList;
|
typedef GUIList<const ContentInfo *, ContentListFilterData &> GUIContentList;
|
||||||
|
|
||||||
static const uint EDITBOX_MAX_SIZE = 50; ///< Maximum size of the editbox in characters.
|
static const uint EDITBOX_MAX_SIZE = 50; ///< Maximum size of the editbox in characters.
|
||||||
|
|
||||||
@@ -295,7 +307,7 @@ class NetworkContentListWindow : public Window, ContentCallback {
|
|||||||
static GUIContentList::FilterFunction * const filter_funcs[]; ///< Filter functions.
|
static GUIContentList::FilterFunction * const filter_funcs[]; ///< Filter functions.
|
||||||
GUIContentList content; ///< List with content
|
GUIContentList content; ///< List with content
|
||||||
bool auto_select; ///< Automatically select all content when the meta-data becomes available
|
bool auto_select; ///< Automatically select all content when the meta-data becomes available
|
||||||
StringFilter string_filter; ///< Filter for content list
|
ContentListFilterData filter_data; ///< Filter for content list
|
||||||
QueryString filter_editbox; ///< Filter editbox;
|
QueryString filter_editbox; ///< Filter editbox;
|
||||||
Dimension checkbox_size; ///< Size of checkbox/"blot" sprite
|
Dimension checkbox_size; ///< Size of checkbox/"blot" sprite
|
||||||
|
|
||||||
@@ -431,20 +443,38 @@ class NetworkContentListWindow : public Window, ContentCallback {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Filter content by tags/name */
|
/** Filter content by tags/name */
|
||||||
static bool CDECL TagNameFilter(const ContentInfo * const *a, StringFilter &filter)
|
static bool CDECL TagNameFilter(const ContentInfo * const *a, ContentListFilterData &filter)
|
||||||
{
|
{
|
||||||
filter.ResetState();
|
filter.string_filter.ResetState();
|
||||||
for (int i = 0; i < (*a)->tag_count; i++) {
|
for (int i = 0; i < (*a)->tag_count; i++) {
|
||||||
filter.AddLine((*a)->tags[i]);
|
filter.string_filter.AddLine((*a)->tags[i]);
|
||||||
}
|
}
|
||||||
filter.AddLine((*a)->name);
|
filter.string_filter.AddLine((*a)->name);
|
||||||
return filter.GetState();
|
return filter.string_filter.GetState();
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Filter content by type, but still show content selected for download. */
|
||||||
|
static bool CDECL TypeOrSelectedFilter(const ContentInfo * const *a, ContentListFilterData &filter)
|
||||||
|
{
|
||||||
|
if (filter.type == CONTENT_TYPE_END) return true;
|
||||||
|
if ((*a)->type == filter.type) return true;
|
||||||
|
return ((*a)->state == ContentInfo::SELECTED || (*a)->state == ContentInfo::AUTOSELECTED);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Filter the content list */
|
/** Filter the content list */
|
||||||
void FilterContentList()
|
void FilterContentList()
|
||||||
{
|
{
|
||||||
if (!this->content.Filter(this->string_filter)) return;
|
/* Apply filters. */
|
||||||
|
bool changed = false;
|
||||||
|
if (!this->filter_data.string_filter.IsEmpty()) {
|
||||||
|
this->content.SetFilterType(CONTENT_FILTER_TEXT);
|
||||||
|
changed |= this->content.Filter(this->filter_data);
|
||||||
|
}
|
||||||
|
if (this->filter_data.type != CONTENT_TYPE_END) {
|
||||||
|
this->content.SetFilterType(CONTENT_FILTER_TYPE_OR_SELECTED);
|
||||||
|
changed |= this->content.Filter(this->filter_data);
|
||||||
|
}
|
||||||
|
if (!changed) return;
|
||||||
|
|
||||||
/* update list position */
|
/* update list position */
|
||||||
for (ConstContentIterator iter = this->content.Begin(); iter != this->content.End(); iter++) {
|
for (ConstContentIterator iter = this->content.Begin(); iter != this->content.End(); iter++) {
|
||||||
@@ -459,6 +489,20 @@ class NetworkContentListWindow : public Window, ContentCallback {
|
|||||||
this->list_pos = 0;
|
this->list_pos = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update filter state based on current window state.
|
||||||
|
* @return true if filter state was changed, otherwise false.
|
||||||
|
*/
|
||||||
|
bool UpdateFilterState()
|
||||||
|
{
|
||||||
|
Filtering old_params = this->content.GetFiltering();
|
||||||
|
bool new_state = !this->filter_data.string_filter.IsEmpty() || this->filter_data.type != CONTENT_TYPE_END;
|
||||||
|
if (new_state != old_params.state) {
|
||||||
|
this->content.SetFilterState(new_state);
|
||||||
|
}
|
||||||
|
return new_state != old_params.state;
|
||||||
|
}
|
||||||
|
|
||||||
/** Make sure that the currently selected content info is within the visible part of the matrix */
|
/** Make sure that the currently selected content info is within the visible part of the matrix */
|
||||||
void ScrollToSelected()
|
void ScrollToSelected()
|
||||||
{
|
{
|
||||||
@@ -473,8 +517,12 @@ public:
|
|||||||
* Create the content list window.
|
* Create the content list window.
|
||||||
* @param desc the window description to pass to Window's constructor.
|
* @param desc the window description to pass to Window's constructor.
|
||||||
* @param select_all Whether the select all button is allowed or not.
|
* @param select_all Whether the select all button is allowed or not.
|
||||||
|
* @param type the main type of content to display or #CONTENT_TYPE_END.
|
||||||
|
* When a type other than #CONTENT_TYPE_END is given, dependencies of
|
||||||
|
* other types are only shown when content that depend on them are
|
||||||
|
* selected.
|
||||||
*/
|
*/
|
||||||
NetworkContentListWindow(WindowDesc *desc, bool select_all) :
|
NetworkContentListWindow(WindowDesc *desc, bool select_all, ContentType type) :
|
||||||
Window(desc),
|
Window(desc),
|
||||||
auto_select(select_all),
|
auto_select(select_all),
|
||||||
filter_editbox(EDITBOX_MAX_SIZE),
|
filter_editbox(EDITBOX_MAX_SIZE),
|
||||||
@@ -493,12 +541,14 @@ public:
|
|||||||
this->filter_editbox.cancel_button = QueryString::ACTION_CLEAR;
|
this->filter_editbox.cancel_button = QueryString::ACTION_CLEAR;
|
||||||
this->SetFocusedWidget(WID_NCL_FILTER);
|
this->SetFocusedWidget(WID_NCL_FILTER);
|
||||||
this->SetWidgetDisabledState(WID_NCL_SEARCH_EXTERNAL, this->auto_select);
|
this->SetWidgetDisabledState(WID_NCL_SEARCH_EXTERNAL, this->auto_select);
|
||||||
|
this->filter_data.type = type;
|
||||||
|
|
||||||
_network_content_client.AddCallback(this);
|
_network_content_client.AddCallback(this);
|
||||||
this->content.SetListing(this->last_sorting);
|
this->content.SetListing(this->last_sorting);
|
||||||
this->content.SetFiltering(this->last_filtering);
|
this->content.SetFiltering(this->last_filtering);
|
||||||
this->content.SetSortFuncs(this->sorter_funcs);
|
this->content.SetSortFuncs(this->sorter_funcs);
|
||||||
this->content.SetFilterFuncs(this->filter_funcs);
|
this->content.SetFilterFuncs(this->filter_funcs);
|
||||||
|
this->UpdateFilterState();
|
||||||
this->content.ForceRebuild();
|
this->content.ForceRebuild();
|
||||||
this->FilterContentList();
|
this->FilterContentList();
|
||||||
this->SortContentList();
|
this->SortContentList();
|
||||||
@@ -751,6 +801,10 @@ public:
|
|||||||
this->content.ForceResort();
|
this->content.ForceResort();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this->filter_data.type != CONTENT_TYPE_END) {
|
||||||
|
this->content.ForceRebuild();
|
||||||
|
}
|
||||||
|
|
||||||
this->InvalidateData();
|
this->InvalidateData();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -846,9 +900,13 @@ public:
|
|||||||
this->content.ForceResort();
|
this->content.ForceResort();
|
||||||
this->InvalidateData();
|
this->InvalidateData();
|
||||||
}
|
}
|
||||||
|
if (this->filter_data.type != CONTENT_TYPE_END) {
|
||||||
|
this->content.ForceRebuild();
|
||||||
|
this->InvalidateData();
|
||||||
|
}
|
||||||
return ES_HANDLED;
|
return ES_HANDLED;
|
||||||
}
|
}
|
||||||
/* FALL THROUGH, space is pressed and filter isn't focused. */
|
/* FALL THROUGH, space is pressed and filter is focused. */
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return ES_NOT_HANDLED;
|
return ES_NOT_HANDLED;
|
||||||
@@ -856,13 +914,21 @@ public:
|
|||||||
|
|
||||||
if (this->content.Length() == 0) {
|
if (this->content.Length() == 0) {
|
||||||
this->list_pos = 0; // above stuff may result in "-1".
|
this->list_pos = 0; // above stuff may result in "-1".
|
||||||
|
if (this->UpdateFilterState()) {
|
||||||
|
this->content.ForceRebuild();
|
||||||
|
this->InvalidateData();
|
||||||
|
}
|
||||||
return ES_HANDLED;
|
return ES_HANDLED;
|
||||||
}
|
}
|
||||||
|
|
||||||
this->selected = *this->content.Get(this->list_pos);
|
this->selected = *this->content.Get(this->list_pos);
|
||||||
|
|
||||||
/* scroll to the new server if it is outside the current range */
|
if (this->UpdateFilterState()) {
|
||||||
this->ScrollToSelected();
|
this->content.ForceRebuild();
|
||||||
|
} else {
|
||||||
|
/* Scroll to the new content if it is outside the current range. */
|
||||||
|
this->ScrollToSelected();
|
||||||
|
}
|
||||||
|
|
||||||
/* redraw window */
|
/* redraw window */
|
||||||
this->InvalidateData();
|
this->InvalidateData();
|
||||||
@@ -872,8 +938,8 @@ public:
|
|||||||
virtual void OnEditboxChanged(int wid)
|
virtual void OnEditboxChanged(int wid)
|
||||||
{
|
{
|
||||||
if (wid == WID_NCL_FILTER) {
|
if (wid == WID_NCL_FILTER) {
|
||||||
this->string_filter.SetFilterTerm(this->filter_editbox.text.buf);
|
this->filter_data.string_filter.SetFilterTerm(this->filter_editbox.text.buf);
|
||||||
this->content.SetFilterState(!this->string_filter.IsEmpty());
|
this->UpdateFilterState();
|
||||||
this->content.ForceRebuild();
|
this->content.ForceRebuild();
|
||||||
this->InvalidateData();
|
this->InvalidateData();
|
||||||
}
|
}
|
||||||
@@ -965,6 +1031,7 @@ NetworkContentListWindow::GUIContentList::SortFunction * const NetworkContentLis
|
|||||||
|
|
||||||
NetworkContentListWindow::GUIContentList::FilterFunction * const NetworkContentListWindow::filter_funcs[] = {
|
NetworkContentListWindow::GUIContentList::FilterFunction * const NetworkContentListWindow::filter_funcs[] = {
|
||||||
&TagNameFilter,
|
&TagNameFilter,
|
||||||
|
&TypeOrSelectedFilter,
|
||||||
};
|
};
|
||||||
|
|
||||||
char NetworkContentListWindow::content_type_strs[CONTENT_TYPE_END][64];
|
char NetworkContentListWindow::content_type_strs[CONTENT_TYPE_END][64];
|
||||||
@@ -1080,7 +1147,7 @@ void ShowNetworkContentListWindow(ContentVector *cv, ContentType type)
|
|||||||
}
|
}
|
||||||
|
|
||||||
DeleteWindowById(WC_NETWORK_WINDOW, WN_NETWORK_WINDOW_CONTENT_LIST);
|
DeleteWindowById(WC_NETWORK_WINDOW, WN_NETWORK_WINDOW_CONTENT_LIST);
|
||||||
new NetworkContentListWindow(&_network_content_list_desc, cv != NULL);
|
new NetworkContentListWindow(&_network_content_list_desc, cv != NULL, type);
|
||||||
#else
|
#else
|
||||||
ShowErrorMessage(STR_CONTENT_NO_ZLIB, STR_CONTENT_NO_ZLIB_SUB, WL_ERROR);
|
ShowErrorMessage(STR_CONTENT_NO_ZLIB, STR_CONTENT_NO_ZLIB_SUB, WL_ERROR);
|
||||||
/* Connection failed... clean up the mess */
|
/* Connection failed... clean up the mess */
|
||||||
|
@@ -34,7 +34,6 @@ extern NetworkCompanyState *_network_company_states;
|
|||||||
extern ClientID _network_own_client_id;
|
extern ClientID _network_own_client_id;
|
||||||
extern ClientID _redirect_console_to_client;
|
extern ClientID _redirect_console_to_client;
|
||||||
extern bool _network_need_advertise;
|
extern bool _network_need_advertise;
|
||||||
extern uint32 _network_last_advertise_frame;
|
|
||||||
extern uint8 _network_reconnect;
|
extern uint8 _network_reconnect;
|
||||||
extern StringList _network_bind_list;
|
extern StringList _network_bind_list;
|
||||||
extern StringList _network_host_list;
|
extern StringList _network_host_list;
|
||||||
|
@@ -1863,7 +1863,9 @@ struct NetworkClientListWindow : Window {
|
|||||||
int selected_item;
|
int selected_item;
|
||||||
|
|
||||||
uint server_client_width;
|
uint server_client_width;
|
||||||
uint company_icon_width;
|
uint line_height;
|
||||||
|
|
||||||
|
Dimension icon_size;
|
||||||
|
|
||||||
NetworkClientListWindow(WindowDesc *desc, WindowNumber window_number) :
|
NetworkClientListWindow(WindowDesc *desc, WindowNumber window_number) :
|
||||||
Window(desc),
|
Window(desc),
|
||||||
@@ -1885,7 +1887,7 @@ struct NetworkClientListWindow : Window {
|
|||||||
if (ci->client_playas != COMPANY_INACTIVE_CLIENT) num++;
|
if (ci->client_playas != COMPANY_INACTIVE_CLIENT) num++;
|
||||||
}
|
}
|
||||||
|
|
||||||
num *= FONT_HEIGHT_NORMAL;
|
num *= this->line_height;
|
||||||
|
|
||||||
int diff = (num + WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM) - (this->GetWidget<NWidgetBase>(WID_CL_PANEL)->current_y);
|
int diff = (num + WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM) - (this->GetWidget<NWidgetBase>(WID_CL_PANEL)->current_y);
|
||||||
/* If height is changed */
|
/* If height is changed */
|
||||||
@@ -1901,7 +1903,8 @@ struct NetworkClientListWindow : Window {
|
|||||||
if (widget != WID_CL_PANEL) return;
|
if (widget != WID_CL_PANEL) return;
|
||||||
|
|
||||||
this->server_client_width = max(GetStringBoundingBox(STR_NETWORK_SERVER).width, GetStringBoundingBox(STR_NETWORK_CLIENT).width) + WD_FRAMERECT_RIGHT;
|
this->server_client_width = max(GetStringBoundingBox(STR_NETWORK_SERVER).width, GetStringBoundingBox(STR_NETWORK_CLIENT).width) + WD_FRAMERECT_RIGHT;
|
||||||
this->company_icon_width = GetSpriteSize(SPR_COMPANY_ICON).width + WD_FRAMERECT_LEFT;
|
this->icon_size = GetSpriteSize(SPR_COMPANY_ICON);
|
||||||
|
this->line_height = max(this->icon_size.height + 2U, (uint)FONT_HEIGHT_NORMAL);
|
||||||
|
|
||||||
uint width = 100; // Default width
|
uint width = 100; // Default width
|
||||||
const NetworkClientInfo *ci;
|
const NetworkClientInfo *ci;
|
||||||
@@ -1909,7 +1912,7 @@ struct NetworkClientListWindow : Window {
|
|||||||
width = max(width, GetStringBoundingBox(ci->client_name).width);
|
width = max(width, GetStringBoundingBox(ci->client_name).width);
|
||||||
}
|
}
|
||||||
|
|
||||||
size->width = WD_FRAMERECT_LEFT + this->server_client_width + this->company_icon_width + width + WD_FRAMERECT_RIGHT;
|
size->width = WD_FRAMERECT_LEFT + this->server_client_width + this->icon_size.width + WD_FRAMERECT_LEFT + width + WD_FRAMERECT_RIGHT;
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void OnPaint()
|
virtual void OnPaint()
|
||||||
@@ -1925,11 +1928,13 @@ struct NetworkClientListWindow : Window {
|
|||||||
if (widget != WID_CL_PANEL) return;
|
if (widget != WID_CL_PANEL) return;
|
||||||
|
|
||||||
bool rtl = _current_text_dir == TD_RTL;
|
bool rtl = _current_text_dir == TD_RTL;
|
||||||
int icon_y_offset = 1 + (FONT_HEIGHT_NORMAL - 10) / 2;
|
int icon_offset = (this->line_height - icon_size.height) / 2;
|
||||||
|
int text_offset = (this->line_height - FONT_HEIGHT_NORMAL) / 2;
|
||||||
|
|
||||||
uint y = r.top + WD_FRAMERECT_TOP;
|
uint y = r.top + WD_FRAMERECT_TOP;
|
||||||
uint left = r.left + WD_FRAMERECT_LEFT;
|
uint left = r.left + WD_FRAMERECT_LEFT;
|
||||||
uint right = r.right - WD_FRAMERECT_RIGHT;
|
uint right = r.right - WD_FRAMERECT_RIGHT;
|
||||||
uint type_icon_width = this->server_client_width + this->company_icon_width;
|
uint type_icon_width = this->server_client_width + this->icon_size.width + WD_FRAMERECT_LEFT;
|
||||||
|
|
||||||
|
|
||||||
uint type_left = rtl ? right - this->server_client_width : left;
|
uint type_left = rtl ? right - this->server_client_width : left;
|
||||||
@@ -1943,24 +1948,24 @@ struct NetworkClientListWindow : Window {
|
|||||||
FOR_ALL_CLIENT_INFOS(ci) {
|
FOR_ALL_CLIENT_INFOS(ci) {
|
||||||
TextColour colour;
|
TextColour colour;
|
||||||
if (this->selected_item == i++) { // Selected item, highlight it
|
if (this->selected_item == i++) { // Selected item, highlight it
|
||||||
GfxFillRect(r.left + 1, y, r.right - 1, y + FONT_HEIGHT_NORMAL - 1, PC_BLACK);
|
GfxFillRect(r.left + 1, y, r.right - 1, y + this->line_height - 1, PC_BLACK);
|
||||||
colour = TC_WHITE;
|
colour = TC_WHITE;
|
||||||
} else {
|
} else {
|
||||||
colour = TC_BLACK;
|
colour = TC_BLACK;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ci->client_id == CLIENT_ID_SERVER) {
|
if (ci->client_id == CLIENT_ID_SERVER) {
|
||||||
DrawString(type_left, type_right, y, STR_NETWORK_SERVER, colour);
|
DrawString(type_left, type_right, y + text_offset, STR_NETWORK_SERVER, colour);
|
||||||
} else {
|
} else {
|
||||||
DrawString(type_left, type_right, y, STR_NETWORK_CLIENT, colour);
|
DrawString(type_left, type_right, y + text_offset, STR_NETWORK_CLIENT, colour);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Filter out spectators */
|
/* Filter out spectators */
|
||||||
if (Company::IsValidID(ci->client_playas)) DrawCompanyIcon(ci->client_playas, icon_left, y + icon_y_offset);
|
if (Company::IsValidID(ci->client_playas)) DrawCompanyIcon(ci->client_playas, icon_left, y + icon_offset);
|
||||||
|
|
||||||
DrawString(name_left, name_right, y, ci->client_name, colour);
|
DrawString(name_left, name_right, y + text_offset, ci->client_name, colour);
|
||||||
|
|
||||||
y += FONT_HEIGHT_NORMAL;
|
y += line_height;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1993,7 +1998,7 @@ struct NetworkClientListWindow : Window {
|
|||||||
pt.y -= this->GetWidget<NWidgetBase>(WID_CL_PANEL)->pos_y;
|
pt.y -= this->GetWidget<NWidgetBase>(WID_CL_PANEL)->pos_y;
|
||||||
int item = -1;
|
int item = -1;
|
||||||
if (IsInsideMM(pt.y, WD_FRAMERECT_TOP, this->GetWidget<NWidgetBase>(WID_CL_PANEL)->current_y - WD_FRAMERECT_BOTTOM)) {
|
if (IsInsideMM(pt.y, WD_FRAMERECT_TOP, this->GetWidget<NWidgetBase>(WID_CL_PANEL)->current_y - WD_FRAMERECT_BOTTOM)) {
|
||||||
item = (pt.y - WD_FRAMERECT_TOP) / FONT_HEIGHT_NORMAL;
|
item = (pt.y - WD_FRAMERECT_TOP) / this->line_height;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* It did not change.. no update! */
|
/* It did not change.. no update! */
|
||||||
|
@@ -42,9 +42,9 @@ static ThreadMutex *_network_udp_mutex = ThreadMutex::New();
|
|||||||
/** Session key to register ourselves to the master server */
|
/** Session key to register ourselves to the master server */
|
||||||
static uint64 _session_key = 0;
|
static uint64 _session_key = 0;
|
||||||
|
|
||||||
static const uint ADVERTISE_NORMAL_INTERVAL = 30000; ///< interval between advertising in ticks (15 minutes)
|
static const uint32 ADVERTISE_NORMAL_INTERVAL = 15 * 60 * 1000; ///< interval between advertising in ms (15 minutes)
|
||||||
static const uint ADVERTISE_RETRY_INTERVAL = 300; ///< re-advertise when no response after this many ticks (9 seconds)
|
static const uint32 ADVERTISE_RETRY_INTERVAL = 10 * 1000; ///< re-advertise when no response after this many ms (10 seconds)
|
||||||
static const uint ADVERTISE_RETRY_TIMES = 3; ///< give up re-advertising after this much failed retries
|
static const uint32 ADVERTISE_RETRY_TIMES = 3; ///< give up re-advertising after this much failed retries
|
||||||
|
|
||||||
NetworkUDPSocketHandler *_udp_client_socket = NULL; ///< udp client socket
|
NetworkUDPSocketHandler *_udp_client_socket = NULL; ///< udp client socket
|
||||||
NetworkUDPSocketHandler *_udp_server_socket = NULL; ///< udp server socket
|
NetworkUDPSocketHandler *_udp_server_socket = NULL; ///< udp server socket
|
||||||
@@ -616,25 +616,37 @@ static void NetworkUDPAdvertiseThread(void *pntr)
|
|||||||
*/
|
*/
|
||||||
void NetworkUDPAdvertise()
|
void NetworkUDPAdvertise()
|
||||||
{
|
{
|
||||||
|
static uint32 _last_advertisement = 0; ///< The time of the last advertisement (used to check for wrapping of time)
|
||||||
|
static uint32 _next_advertisement = 0; ///< The next time we should perform a normal advertisement.
|
||||||
|
static uint32 _next_retry = 0; ///< The next time we should perform a retry of an advertisement.
|
||||||
|
|
||||||
/* Check if we should send an advertise */
|
/* Check if we should send an advertise */
|
||||||
if (!_networking || !_network_server || !_network_udp_server || !_settings_client.network.server_advertise) return;
|
if (!_networking || !_network_server || !_network_udp_server || !_settings_client.network.server_advertise) return;
|
||||||
|
|
||||||
if (_network_need_advertise) {
|
if (_network_need_advertise || _realtime_tick < _last_advertisement) {
|
||||||
|
/* Forced advertisement, or a wrapping of time in which case we determine the advertisement/retry times again. */
|
||||||
_network_need_advertise = false;
|
_network_need_advertise = false;
|
||||||
_network_advertise_retries = ADVERTISE_RETRY_TIMES;
|
_network_advertise_retries = ADVERTISE_RETRY_TIMES;
|
||||||
} else {
|
} else {
|
||||||
/* Only send once every ADVERTISE_NORMAL_INTERVAL ticks */
|
/* Only send once every ADVERTISE_NORMAL_INTERVAL ticks */
|
||||||
if (_network_advertise_retries == 0) {
|
if (_network_advertise_retries == 0) {
|
||||||
if ((_network_last_advertise_frame + ADVERTISE_NORMAL_INTERVAL) > _frame_counter) return;
|
if (_realtime_tick <= _next_advertisement) return;
|
||||||
|
|
||||||
_network_advertise_retries = ADVERTISE_RETRY_TIMES;
|
_network_advertise_retries = ADVERTISE_RETRY_TIMES;
|
||||||
|
} else {
|
||||||
|
/* An actual retry. */
|
||||||
|
if (_realtime_tick <= _next_retry) return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((_network_last_advertise_frame + ADVERTISE_RETRY_INTERVAL) > _frame_counter) return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_network_advertise_retries--;
|
_network_advertise_retries--;
|
||||||
_network_last_advertise_frame = _frame_counter;
|
_last_advertisement = _realtime_tick;
|
||||||
|
_next_advertisement = _realtime_tick + ADVERTISE_NORMAL_INTERVAL;
|
||||||
|
_next_retry = _realtime_tick + ADVERTISE_RETRY_INTERVAL;
|
||||||
|
|
||||||
|
/* Make sure we do not have an overflow when checking these; when time wraps, we simply force an advertisement. */
|
||||||
|
if (_next_advertisement < _last_advertisement) _next_advertisement = UINT32_MAX;
|
||||||
|
if (_next_retry < _last_advertisement) _next_retry = UINT32_MAX;
|
||||||
|
|
||||||
if (!ThreadObject::New(NetworkUDPAdvertiseThread, NULL)) {
|
if (!ThreadObject::New(NetworkUDPAdvertiseThread, NULL)) {
|
||||||
NetworkUDPAdvertiseThread(NULL);
|
NetworkUDPAdvertiseThread(NULL);
|
||||||
|
@@ -526,7 +526,10 @@ static WindowDesc _build_object_desc(
|
|||||||
*/
|
*/
|
||||||
void ShowBuildObjectPicker()
|
void ShowBuildObjectPicker()
|
||||||
{
|
{
|
||||||
AllocateWindowDescFront<BuildObjectWindow>(&_build_object_desc, 0);
|
/* Don't show the place object button when there are no objects to place. */
|
||||||
|
if (ObjectClass::GetUIClassCount() > 0) {
|
||||||
|
AllocateWindowDescFront<BuildObjectWindow>(&_build_object_desc, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Reset all data of the object GUI. */
|
/** Reset all data of the object GUI. */
|
||||||
|
@@ -1750,6 +1750,12 @@ void ShowOrdersWindow(const Vehicle *v)
|
|||||||
DeleteWindowById(WC_VEHICLE_TIMETABLE, v->index, false);
|
DeleteWindowById(WC_VEHICLE_TIMETABLE, v->index, false);
|
||||||
if (BringWindowToFrontById(WC_VEHICLE_ORDERS, v->index) != NULL) return;
|
if (BringWindowToFrontById(WC_VEHICLE_ORDERS, v->index) != NULL) return;
|
||||||
|
|
||||||
|
/* Using a different WindowDescs for _local_company causes problems.
|
||||||
|
* Due to this we have to close order windows in ChangeWindowOwner/DeleteCompanyWindows,
|
||||||
|
* because we cannot change switch the WindowDescs and keeping the old WindowDesc results
|
||||||
|
* in crashed due to missing widges.
|
||||||
|
* TODO Rewrite the order GUI to not use different WindowDescs.
|
||||||
|
*/
|
||||||
if (v->owner != _local_company) {
|
if (v->owner != _local_company) {
|
||||||
new OrdersWindow(&_other_orders_desc, v);
|
new OrdersWindow(&_other_orders_desc, v);
|
||||||
} else {
|
} else {
|
||||||
|
@@ -14,13 +14,13 @@
|
|||||||
#include "../../gfx_func.h"
|
#include "../../gfx_func.h"
|
||||||
#include "../../textbuf_gui.h"
|
#include "../../textbuf_gui.h"
|
||||||
#include "../../fileio_func.h"
|
#include "../../fileio_func.h"
|
||||||
#include "../../fios.h"
|
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <regstr.h>
|
#include <regstr.h>
|
||||||
#include <shlobj.h> /* SHGetFolderPath */
|
#include <shlobj.h> /* SHGetFolderPath */
|
||||||
#include <shellapi.h>
|
#include <shellapi.h>
|
||||||
#include "win32.h"
|
#include "win32.h"
|
||||||
|
#include "../../fios.h"
|
||||||
#include "../../core/alloc_func.hpp"
|
#include "../../core/alloc_func.hpp"
|
||||||
#include "../../openttd.h"
|
#include "../../openttd.h"
|
||||||
#include "../../core/random_func.hpp"
|
#include "../../core/random_func.hpp"
|
||||||
|
@@ -144,7 +144,12 @@ struct CFollowTrackT
|
|||||||
* missing road bit, or inability to connect the
|
* missing road bit, or inability to connect the
|
||||||
* different bits due to slopes. */
|
* different bits due to slopes. */
|
||||||
if (IsRoadTT() && !IsTram() && TryReverse()) return true;
|
if (IsRoadTT() && !IsTram() && TryReverse()) return true;
|
||||||
m_err = EC_NO_WAY;
|
|
||||||
|
/* CanEnterNewTile already set a reason.
|
||||||
|
* Do NOT overwrite it (important for example for EC_RAIL_TYPE).
|
||||||
|
* Only set a reason if CanEnterNewTile was not called */
|
||||||
|
if (m_new_td_bits == TRACKDIR_BIT_NONE) m_err = EC_NO_WAY;
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (!Allow90degTurns()) {
|
if (!Allow90degTurns()) {
|
||||||
|
@@ -431,4 +431,13 @@ void ResetRailTypes();
|
|||||||
void InitRailTypes();
|
void InitRailTypes();
|
||||||
RailType AllocateRailType(RailTypeLabel label);
|
RailType AllocateRailType(RailTypeLabel label);
|
||||||
|
|
||||||
|
extern RailType _sorted_railtypes[RAILTYPE_END];
|
||||||
|
extern uint8 _sorted_railtypes_size;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Loop header for iterating over railtypes, sorted by sortorder.
|
||||||
|
* @param var Railtype.
|
||||||
|
*/
|
||||||
|
#define FOR_ALL_SORTED_RAILTYPES(var) for (uint8 index = 0; index < _sorted_railtypes_size && (var = _sorted_railtypes[index], true) ; index++)
|
||||||
|
|
||||||
#endif /* RAIL_H */
|
#endif /* RAIL_H */
|
||||||
|
@@ -44,6 +44,8 @@
|
|||||||
typedef SmallVector<Train *, 16> TrainList;
|
typedef SmallVector<Train *, 16> TrainList;
|
||||||
|
|
||||||
RailtypeInfo _railtypes[RAILTYPE_END];
|
RailtypeInfo _railtypes[RAILTYPE_END];
|
||||||
|
RailType _sorted_railtypes[RAILTYPE_END];
|
||||||
|
uint8 _sorted_railtypes_size;
|
||||||
|
|
||||||
assert_compile(sizeof(_original_railtypes) <= sizeof(_railtypes));
|
assert_compile(sizeof(_original_railtypes) <= sizeof(_railtypes));
|
||||||
|
|
||||||
@@ -109,6 +111,17 @@ void ResolveRailTypeGUISprites(RailtypeInfo *rti)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Compare railtypes based on their sorting order.
|
||||||
|
* @param first The railtype to compare to.
|
||||||
|
* @param second The railtype to compare.
|
||||||
|
* @return True iff the first should be sorted before the second.
|
||||||
|
*/
|
||||||
|
static int CDECL CompareRailTypes(const RailType *first, const RailType *second)
|
||||||
|
{
|
||||||
|
return GetRailTypeInfo(*first)->sorting_order - GetRailTypeInfo(*second)->sorting_order;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Resolve sprites of custom rail types
|
* Resolve sprites of custom rail types
|
||||||
*/
|
*/
|
||||||
@@ -118,6 +131,14 @@ void InitRailTypes()
|
|||||||
RailtypeInfo *rti = &_railtypes[rt];
|
RailtypeInfo *rti = &_railtypes[rt];
|
||||||
ResolveRailTypeGUISprites(rti);
|
ResolveRailTypeGUISprites(rti);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_sorted_railtypes_size = 0;
|
||||||
|
for (RailType rt = RAILTYPE_BEGIN; rt != RAILTYPE_END; rt++) {
|
||||||
|
if (_railtypes[rt].label != 0) {
|
||||||
|
_sorted_railtypes[_sorted_railtypes_size++] = rt;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
QSortT(_sorted_railtypes, _sorted_railtypes_size, CompareRailTypes);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -1978,17 +1978,6 @@ void InitializeRailGUI()
|
|||||||
ResetSignalVariant();
|
ResetSignalVariant();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Compare railtypes based on their sorting order.
|
|
||||||
* @param first The railtype to compare to.
|
|
||||||
* @param second The railtype to compare.
|
|
||||||
* @return True iff the first should be sorted before the second.
|
|
||||||
*/
|
|
||||||
static int CDECL CompareRailTypes(const DropDownListItem * const *first, const DropDownListItem * const *second)
|
|
||||||
{
|
|
||||||
return GetRailTypeInfo((RailType)(*first)->result)->sorting_order - GetRailTypeInfo((RailType)(*second)->result)->sorting_order;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a drop down list for all the rail types of the local company.
|
* Create a drop down list for all the rail types of the local company.
|
||||||
* @param for_replacement Whether this list is for the replacement window.
|
* @param for_replacement Whether this list is for the replacement window.
|
||||||
@@ -2011,13 +2000,12 @@ DropDownList *GetRailTypeDropDownList(bool for_replacement)
|
|||||||
|
|
||||||
const Company *c = Company::Get(_local_company);
|
const Company *c = Company::Get(_local_company);
|
||||||
DropDownList *list = new DropDownList();
|
DropDownList *list = new DropDownList();
|
||||||
for (RailType rt = RAILTYPE_BEGIN; rt != RAILTYPE_END; rt++) {
|
RailType rt;
|
||||||
|
FOR_ALL_SORTED_RAILTYPES(rt) {
|
||||||
/* If it's not used ever, don't show it to the user. */
|
/* If it's not used ever, don't show it to the user. */
|
||||||
if (!HasBit(used_railtypes, rt)) continue;
|
if (!HasBit(used_railtypes, rt)) continue;
|
||||||
|
|
||||||
const RailtypeInfo *rti = GetRailTypeInfo(rt);
|
const RailtypeInfo *rti = GetRailTypeInfo(rt);
|
||||||
/* Skip rail type if it has no label */
|
|
||||||
if (rti->label == 0) continue;
|
|
||||||
|
|
||||||
StringID str = for_replacement ? rti->strings.replace_text : (rti->max_speed > 0 ? STR_TOOLBAR_RAILTYPE_VELOCITY : STR_JUST_STRING);
|
StringID str = for_replacement ? rti->strings.replace_text : (rti->max_speed > 0 ? STR_TOOLBAR_RAILTYPE_VELOCITY : STR_JUST_STRING);
|
||||||
DropDownListParamStringItem *item = new DropDownListParamStringItem(str, rt, !HasBit(c->avail_railtypes, rt));
|
DropDownListParamStringItem *item = new DropDownListParamStringItem(str, rt, !HasBit(c->avail_railtypes, rt));
|
||||||
@@ -2025,6 +2013,5 @@ DropDownList *GetRailTypeDropDownList(bool for_replacement)
|
|||||||
item->SetParam(1, rti->max_speed);
|
item->SetParam(1, rti->max_speed);
|
||||||
*list->Append() = item;
|
*list->Append() = item;
|
||||||
}
|
}
|
||||||
QSortT(list->Begin(), list->Length(), CompareRailTypes);
|
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
57
src/road.cpp
57
src/road.cpp
@@ -57,41 +57,44 @@ RoadBits CleanUpRoadBits(const TileIndex tile, RoadBits org_rb)
|
|||||||
bool connective = false;
|
bool connective = false;
|
||||||
const RoadBits mirrored_rb = MirrorRoadBits(target_rb);
|
const RoadBits mirrored_rb = MirrorRoadBits(target_rb);
|
||||||
|
|
||||||
switch (GetTileType(neighbor_tile)) {
|
if (IsValidTile(neighbor_tile)) {
|
||||||
/* Always connective ones */
|
switch (GetTileType(neighbor_tile)) {
|
||||||
case MP_CLEAR: case MP_TREES:
|
/* Always connective ones */
|
||||||
connective = true;
|
case MP_CLEAR: case MP_TREES:
|
||||||
break;
|
connective = true;
|
||||||
|
break;
|
||||||
|
|
||||||
/* The conditionally connective ones */
|
/* The conditionally connective ones */
|
||||||
case MP_TUNNELBRIDGE:
|
case MP_TUNNELBRIDGE:
|
||||||
case MP_STATION:
|
case MP_STATION:
|
||||||
case MP_ROAD: {
|
case MP_ROAD:
|
||||||
const RoadBits neighbor_rb = GetAnyRoadBits(neighbor_tile, ROADTYPE_ROAD) | GetAnyRoadBits(neighbor_tile, ROADTYPE_TRAM);
|
if (IsNormalRoadTile(neighbor_tile)) {
|
||||||
|
/* Always connective */
|
||||||
|
connective = true;
|
||||||
|
} else {
|
||||||
|
const RoadBits neighbor_rb = GetAnyRoadBits(neighbor_tile, ROADTYPE_ROAD) | GetAnyRoadBits(neighbor_tile, ROADTYPE_TRAM);
|
||||||
|
|
||||||
/* Accept only connective tiles */
|
/* Accept only connective tiles */
|
||||||
connective = (neighbor_rb & mirrored_rb) || // Neighbor has got the fitting RoadBit
|
connective = (neighbor_rb & mirrored_rb) != ROAD_NONE;
|
||||||
HasExactlyOneBit(neighbor_rb); // Neighbor has got only one Roadbit
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
break;
|
case MP_RAILWAY:
|
||||||
|
connective = IsPossibleCrossing(neighbor_tile, DiagDirToAxis(dir));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case MP_WATER:
|
||||||
|
/* Check for real water tile */
|
||||||
|
connective = !IsWater(neighbor_tile);
|
||||||
|
break;
|
||||||
|
|
||||||
|
/* The definitely not connective ones */
|
||||||
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case MP_RAILWAY:
|
|
||||||
connective = IsPossibleCrossing(neighbor_tile, DiagDirToAxis(dir));
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MP_WATER:
|
|
||||||
/* Check for real water tile */
|
|
||||||
connective = !IsWater(neighbor_tile);
|
|
||||||
break;
|
|
||||||
|
|
||||||
/* The definitely not connective ones */
|
|
||||||
default: break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If the neighbor tile is inconnective, remove the planed road connection to it */
|
/* If the neighbor tile is inconnective, remove the planed road connection to it */
|
||||||
if (!connective) org_rb ^= target_rb;
|
if (!connective) org_rb ^= target_rb;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -16,6 +16,7 @@
|
|||||||
#include "../tunnelbridge_map.h"
|
#include "../tunnelbridge_map.h"
|
||||||
#include "../tunnelbridge.h"
|
#include "../tunnelbridge.h"
|
||||||
#include "../station_base.h"
|
#include "../station_base.h"
|
||||||
|
#include "../settings_func.h"
|
||||||
|
|
||||||
#include "saveload.h"
|
#include "saveload.h"
|
||||||
|
|
||||||
@@ -486,6 +487,7 @@ static void Load_PLYR()
|
|||||||
int index;
|
int index;
|
||||||
while ((index = SlIterateArray()) != -1) {
|
while ((index = SlIterateArray()) != -1) {
|
||||||
Company *c = new (index) Company();
|
Company *c = new (index) Company();
|
||||||
|
SetDefaultCompanySettings(c->index);
|
||||||
SaveLoad_PLYR(c);
|
SaveLoad_PLYR(c);
|
||||||
_company_colours[index] = (Colours)c->colour;
|
_company_colours[index] = (Colours)c->colour;
|
||||||
}
|
}
|
||||||
@@ -529,7 +531,25 @@ static void Ptrs_PLYR()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern void LoadSettingsPlyx(bool skip);
|
||||||
|
extern void SaveSettingsPlyx();
|
||||||
|
|
||||||
|
static void Load_PLYX()
|
||||||
|
{
|
||||||
|
LoadSettingsPlyx(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void Check_PLYX()
|
||||||
|
{
|
||||||
|
LoadSettingsPlyx(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void Save_PLYX()
|
||||||
|
{
|
||||||
|
SaveSettingsPlyx();
|
||||||
|
}
|
||||||
|
|
||||||
extern const ChunkHandler _company_chunk_handlers[] = {
|
extern const ChunkHandler _company_chunk_handlers[] = {
|
||||||
{ 'PLYR', Save_PLYR, Load_PLYR, Ptrs_PLYR, Check_PLYR, CH_ARRAY | CH_LAST},
|
{ 'PLYR', Save_PLYR, Load_PLYR, Ptrs_PLYR, Check_PLYR, CH_ARRAY },
|
||||||
|
{ 'PLYX', Save_PLYX, Load_PLYX, NULL, Check_PLYX, CH_RIFF | CH_LAST},
|
||||||
};
|
};
|
||||||
|
@@ -165,7 +165,6 @@ static void Save_SLXI()
|
|||||||
SlXvSetCurrentState();
|
SlXvSetCurrentState();
|
||||||
|
|
||||||
static const SaveLoad _xlsi_sub_chunk_desc[] = {
|
static const SaveLoad _xlsi_sub_chunk_desc[] = {
|
||||||
SLE_VAR(SlxiSubChunkInfo, save_version, SLE_UINT16),
|
|
||||||
SLE_STR(SlxiSubChunkInfo, name, SLE_STR, 0),
|
SLE_STR(SlxiSubChunkInfo, name, SLE_STR, 0),
|
||||||
SLE_END()
|
SLE_END()
|
||||||
};
|
};
|
||||||
@@ -179,9 +178,9 @@ static void Save_SLXI()
|
|||||||
chunk_counts.resize(XSLFI_SIZE);
|
chunk_counts.resize(XSLFI_SIZE);
|
||||||
const SlxiSubChunkInfo *info = _sl_xv_sub_chunk_infos;
|
const SlxiSubChunkInfo *info = _sl_xv_sub_chunk_infos;
|
||||||
for (; info->index != XSLFI_NULL; ++info) {
|
for (; info->index != XSLFI_NULL; ++info) {
|
||||||
if (info->save_version > 0) {
|
if (_sl_xv_feature_versions[info->index] > 0) {
|
||||||
item_count++;
|
item_count++;
|
||||||
length += 4;
|
length += 6;
|
||||||
length += SlCalcObjLength(info, _xlsi_sub_chunk_desc);
|
length += SlCalcObjLength(info, _xlsi_sub_chunk_desc);
|
||||||
if (info->save_proc) {
|
if (info->save_proc) {
|
||||||
uint32 extra_data_length = info->save_proc(info, true);
|
uint32 extra_data_length = info->save_proc(info, true);
|
||||||
@@ -209,7 +208,8 @@ static void Save_SLXI()
|
|||||||
// write data
|
// write data
|
||||||
info = _sl_xv_sub_chunk_infos;
|
info = _sl_xv_sub_chunk_infos;
|
||||||
for (; info->index != XSLFI_NULL; ++info) {
|
for (; info->index != XSLFI_NULL; ++info) {
|
||||||
if (info->save_version > 0) {
|
uint16 save_version = _sl_xv_feature_versions[info->index];
|
||||||
|
if (save_version > 0) {
|
||||||
SlxiSubChunkFlags flags = info->flags;
|
SlxiSubChunkFlags flags = info->flags;
|
||||||
assert(!(flags & (XSCF_EXTRA_DATA_PRESENT | XSCF_CHUNK_ID_LIST_PRESENT)));
|
assert(!(flags & (XSCF_EXTRA_DATA_PRESENT | XSCF_CHUNK_ID_LIST_PRESENT)));
|
||||||
uint32 extra_data_length = extra_data_lengths[info->index];
|
uint32 extra_data_length = extra_data_lengths[info->index];
|
||||||
@@ -217,6 +217,7 @@ static void Save_SLXI()
|
|||||||
if (extra_data_length > 0) flags |= XSCF_EXTRA_DATA_PRESENT;
|
if (extra_data_length > 0) flags |= XSCF_EXTRA_DATA_PRESENT;
|
||||||
if (chunk_count > 0) flags |= XSCF_CHUNK_ID_LIST_PRESENT;
|
if (chunk_count > 0) flags |= XSCF_CHUNK_ID_LIST_PRESENT;
|
||||||
SlWriteUint32(flags);
|
SlWriteUint32(flags);
|
||||||
|
SlWriteUint16(save_version);
|
||||||
SlObject(const_cast<SlxiSubChunkInfo *>(info), _xlsi_sub_chunk_desc);
|
SlObject(const_cast<SlxiSubChunkInfo *>(info), _xlsi_sub_chunk_desc);
|
||||||
|
|
||||||
if (extra_data_length > 0) {
|
if (extra_data_length > 0) {
|
||||||
|
@@ -566,7 +566,7 @@ void NORETURN SlError(StringID string, const char *extra_msg, bool already_mallo
|
|||||||
/**
|
/**
|
||||||
* As SlError, except that it takes a format string and additional parameters
|
* As SlError, except that it takes a format string and additional parameters
|
||||||
*/
|
*/
|
||||||
void CDECL NORETURN SlErrorFmt(StringID string, const char *msg, ...)
|
void NORETURN CDECL SlErrorFmt(StringID string, const char *msg, ...)
|
||||||
{
|
{
|
||||||
va_list va;
|
va_list va;
|
||||||
va_start(va, msg);
|
va_start(va, msg);
|
||||||
@@ -590,7 +590,7 @@ void NORETURN SlErrorCorrupt(const char *msg, bool already_malloced)
|
|||||||
/**
|
/**
|
||||||
* As SlErrorCorruptFmt, except that it takes a format string and additional parameters
|
* As SlErrorCorruptFmt, except that it takes a format string and additional parameters
|
||||||
*/
|
*/
|
||||||
void CDECL NORETURN SlErrorCorruptFmt(const char *msg, ...)
|
void NORETURN CDECL SlErrorCorruptFmt(const char *msg, ...)
|
||||||
{
|
{
|
||||||
va_list va;
|
va_list va;
|
||||||
va_start(va, msg);
|
va_start(va, msg);
|
||||||
@@ -890,9 +890,20 @@ void SlSetLength(size_t length)
|
|||||||
case CH_RIFF:
|
case CH_RIFF:
|
||||||
/* Ugly encoding of >16M RIFF chunks
|
/* Ugly encoding of >16M RIFF chunks
|
||||||
* The lower 24 bits are normal
|
* The lower 24 bits are normal
|
||||||
* The uppermost 4 bits are bits 24:27 */
|
* The uppermost 4 bits are bits 24:27
|
||||||
assert(length < (1 << 28));
|
*
|
||||||
|
* If we have more than 28 bits, use an extra uint32 and
|
||||||
|
* signal this using the extended chunk header */
|
||||||
|
assert(length < (1LL << 32));
|
||||||
|
if (length >= (1 << 28)) {
|
||||||
|
/* write out extended chunk header */
|
||||||
|
SlWriteByte(CH_EXT_HDR);
|
||||||
|
SlWriteUint32(static_cast<uint32>(SLCEHF_BIG_RIFF));
|
||||||
|
}
|
||||||
SlWriteUint32((uint32)((length & 0xFFFFFF) | ((length >> 24) << 28)));
|
SlWriteUint32((uint32)((length & 0xFFFFFF) | ((length >> 24) << 28)));
|
||||||
|
if (length >= (1 << 28)) {
|
||||||
|
SlWriteUint32(length >> 28);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case CH_ARRAY:
|
case CH_ARRAY:
|
||||||
assert(_sl.last_array_index <= _sl.array_index);
|
assert(_sl.last_array_index <= _sl.array_index);
|
||||||
@@ -1663,6 +1674,16 @@ void SlAutolength(AutolengthProc *proc, void *arg)
|
|||||||
if (offs != _sl.dumper->GetSize()) SlErrorCorrupt("Invalid chunk size");
|
if (offs != _sl.dumper->GetSize()) SlErrorCorrupt("Invalid chunk size");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Notes on extended chunk header:
|
||||||
|
*
|
||||||
|
* If the chunk type is CH_EXT_HDR (15), then a u32 flags field follows.
|
||||||
|
* This flag field may define additional fields which follow the flags field in future.
|
||||||
|
* The standard chunk header follows, though it my be modified by the flags field.
|
||||||
|
* At present SLCEHF_BIG_RIFF increases the RIFF size limit to a theoretical 60 bits,
|
||||||
|
* by adding a further u32 field for the high bits after the existing RIFF size field.
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load a chunk of data (eg vehicles, stations, etc.)
|
* Load a chunk of data (eg vehicles, stations, etc.)
|
||||||
* @param ch The chunkhandler that will be used for the operation
|
* @param ch The chunkhandler that will be used for the operation
|
||||||
@@ -1676,6 +1697,15 @@ static void SlLoadChunk(const ChunkHandler *ch)
|
|||||||
_sl.block_mode = m;
|
_sl.block_mode = m;
|
||||||
_sl.obj_len = 0;
|
_sl.obj_len = 0;
|
||||||
|
|
||||||
|
SaveLoadChunkExtHeaderFlags ext_flags = static_cast<SaveLoadChunkExtHeaderFlags>(0);
|
||||||
|
if ((m & 0xF) == CH_EXT_HDR) {
|
||||||
|
ext_flags = static_cast<SaveLoadChunkExtHeaderFlags>(SlReadUint32());
|
||||||
|
|
||||||
|
/* read in real header */
|
||||||
|
m = SlReadByte();
|
||||||
|
_sl.block_mode = m;
|
||||||
|
}
|
||||||
|
|
||||||
switch (m) {
|
switch (m) {
|
||||||
case CH_ARRAY:
|
case CH_ARRAY:
|
||||||
_sl.array_index = 0;
|
_sl.array_index = 0;
|
||||||
@@ -1691,6 +1721,10 @@ static void SlLoadChunk(const ChunkHandler *ch)
|
|||||||
/* Read length */
|
/* Read length */
|
||||||
len = (SlReadByte() << 16) | ((m >> 4) << 24);
|
len = (SlReadByte() << 16) | ((m >> 4) << 24);
|
||||||
len += SlReadUint16();
|
len += SlReadUint16();
|
||||||
|
if (ext_flags & SLCEHF_BIG_RIFF) {
|
||||||
|
len |= SlReadUint32() << 28;
|
||||||
|
}
|
||||||
|
|
||||||
_sl.obj_len = len;
|
_sl.obj_len = len;
|
||||||
endoffs = _sl.reader->GetSize() + len;
|
endoffs = _sl.reader->GetSize() + len;
|
||||||
ch->load_proc();
|
ch->load_proc();
|
||||||
@@ -1716,9 +1750,21 @@ static void SlLoadCheckChunk(const ChunkHandler *ch)
|
|||||||
_sl.block_mode = m;
|
_sl.block_mode = m;
|
||||||
_sl.obj_len = 0;
|
_sl.obj_len = 0;
|
||||||
|
|
||||||
|
SaveLoadChunkExtHeaderFlags ext_flags = static_cast<SaveLoadChunkExtHeaderFlags>(0);
|
||||||
|
if ((m & 0xF) == CH_EXT_HDR) {
|
||||||
|
ext_flags = static_cast<SaveLoadChunkExtHeaderFlags>(SlReadUint32());
|
||||||
|
|
||||||
|
/* read in real header */
|
||||||
|
m = SlReadByte();
|
||||||
|
_sl.block_mode = m;
|
||||||
|
}
|
||||||
|
|
||||||
switch (m) {
|
switch (m) {
|
||||||
case CH_ARRAY:
|
case CH_ARRAY:
|
||||||
_sl.array_index = 0;
|
_sl.array_index = 0;
|
||||||
|
if (ext_flags) {
|
||||||
|
SlErrorCorruptFmt("CH_ARRAY does not take chunk header extension flags: 0x%X", ext_flags);
|
||||||
|
}
|
||||||
if (ch && ch->load_check_proc) {
|
if (ch && ch->load_check_proc) {
|
||||||
ch->load_check_proc();
|
ch->load_check_proc();
|
||||||
} else {
|
} else {
|
||||||
@@ -1726,6 +1772,9 @@ static void SlLoadCheckChunk(const ChunkHandler *ch)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case CH_SPARSE_ARRAY:
|
case CH_SPARSE_ARRAY:
|
||||||
|
if (ext_flags) {
|
||||||
|
SlErrorCorruptFmt("CH_SPARSE_ARRAY does not take chunk header extension flags: 0x%X", ext_flags);
|
||||||
|
}
|
||||||
if (ch && ch->load_check_proc) {
|
if (ch && ch->load_check_proc) {
|
||||||
ch->load_check_proc();
|
ch->load_check_proc();
|
||||||
} else {
|
} else {
|
||||||
@@ -1734,9 +1783,19 @@ static void SlLoadCheckChunk(const ChunkHandler *ch)
|
|||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if ((m & 0xF) == CH_RIFF) {
|
if ((m & 0xF) == CH_RIFF) {
|
||||||
|
if (ext_flags != (ext_flags & SLCEHF_BIG_RIFF)) {
|
||||||
|
SlErrorCorruptFmt("Unknown chunk header extension flags for CH_RIFF: 0x%X", ext_flags);
|
||||||
|
}
|
||||||
/* Read length */
|
/* Read length */
|
||||||
len = (SlReadByte() << 16) | ((m >> 4) << 24);
|
len = (SlReadByte() << 16) | ((m >> 4) << 24);
|
||||||
len += SlReadUint16();
|
len += SlReadUint16();
|
||||||
|
if (ext_flags & SLCEHF_BIG_RIFF) {
|
||||||
|
uint64 full_len = len | (static_cast<uint64>(SlReadUint32()) << 28);
|
||||||
|
if (full_len >= (1LL << 32)) {
|
||||||
|
SlErrorCorrupt("Chunk size too large: " OTTD_PRINTFHEX64, full_len);
|
||||||
|
}
|
||||||
|
len = static_cast<size_t>(full_len);
|
||||||
|
}
|
||||||
_sl.obj_len = len;
|
_sl.obj_len = len;
|
||||||
endoffs = _sl.reader->GetSize() + len;
|
endoffs = _sl.reader->GetSize() + len;
|
||||||
if (ch && ch->load_check_proc) {
|
if (ch && ch->load_check_proc) {
|
||||||
@@ -2469,8 +2528,6 @@ static inline void ClearSaveLoadState()
|
|||||||
|
|
||||||
delete _sl.lf;
|
delete _sl.lf;
|
||||||
_sl.lf = NULL;
|
_sl.lf = NULL;
|
||||||
|
|
||||||
SlXvSetCurrentState();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -2782,6 +2839,8 @@ static SaveOrLoadResult DoLoad(LoadFilter *reader, bool load_check)
|
|||||||
GamelogStopAction();
|
GamelogStopAction();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SlXvSetCurrentState();
|
||||||
|
|
||||||
return SL_OK;
|
return SL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2841,6 +2900,7 @@ SaveOrLoadResult SaveOrLoad(const char *filename, int mode, Subdirectory sb, boo
|
|||||||
return SL_REINIT;
|
return SL_REINIT;
|
||||||
}
|
}
|
||||||
GamelogStopAction();
|
GamelogStopAction();
|
||||||
|
SlXvSetCurrentState();
|
||||||
return SL_OK;
|
return SL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -99,10 +99,17 @@ enum ChunkType {
|
|||||||
CH_ARRAY = 1,
|
CH_ARRAY = 1,
|
||||||
CH_SPARSE_ARRAY = 2,
|
CH_SPARSE_ARRAY = 2,
|
||||||
CH_TYPE_MASK = 3,
|
CH_TYPE_MASK = 3,
|
||||||
|
CH_EXT_HDR = 15, ///< Extended chunk header
|
||||||
CH_LAST = 8, ///< Last chunk in this array.
|
CH_LAST = 8, ///< Last chunk in this array.
|
||||||
CH_AUTO_LENGTH = 16,
|
CH_AUTO_LENGTH = 16,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/** Flags for chunk extended headers */
|
||||||
|
enum SaveLoadChunkExtHeaderFlags {
|
||||||
|
SLCEHF_BIG_RIFF = 1 << 0, ///< This block uses a 60-bit RIFF chunk size
|
||||||
|
};
|
||||||
|
DECLARE_ENUM_AS_BIT_SET(SaveLoadChunkExtHeaderFlags)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* VarTypes is the general bitmasked magic type that tells us
|
* VarTypes is the general bitmasked magic type that tells us
|
||||||
* certain characteristics about the variable it refers to. For example
|
* certain characteristics about the variable it refers to. For example
|
||||||
@@ -234,7 +241,7 @@ typedef SaveLoad SaveLoadGlobVarList;
|
|||||||
* @note In general, it is better to use one of the SLE_* macros below.
|
* @note In general, it is better to use one of the SLE_* macros below.
|
||||||
*/
|
*/
|
||||||
#define SLE_GENERAL_X(cmd, base, variable, type, length, from, to, extver) {false, cmd, type, length, from, to, (void*)cpp_offsetof(base, variable), cpp_sizeof(base, variable), extver}
|
#define SLE_GENERAL_X(cmd, base, variable, type, length, from, to, extver) {false, cmd, type, length, from, to, (void*)cpp_offsetof(base, variable), cpp_sizeof(base, variable), extver}
|
||||||
#define SLE_GENERAL(cmd, base, variable, type, length, from, to) SLE_GENERAL_X(cmd, base, variable, type, length, from, to, {})
|
#define SLE_GENERAL(cmd, base, variable, type, length, from, to) SLE_GENERAL_X(cmd, base, variable, type, length, from, to, SlXvFeatureTest())
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Storage of a variable in some savegame versions.
|
* Storage of a variable in some savegame versions.
|
||||||
@@ -246,7 +253,7 @@ typedef SaveLoad SaveLoadGlobVarList;
|
|||||||
* @param extver SlXvFeatureTest to test (along with from and to) which savegames have the field
|
* @param extver SlXvFeatureTest to test (along with from and to) which savegames have the field
|
||||||
*/
|
*/
|
||||||
#define SLE_CONDVAR_X(base, variable, type, from, to, extver) SLE_GENERAL_X(SL_VAR, base, variable, type, 0, from, to, extver)
|
#define SLE_CONDVAR_X(base, variable, type, from, to, extver) SLE_GENERAL_X(SL_VAR, base, variable, type, 0, from, to, extver)
|
||||||
#define SLE_CONDVAR(base, variable, type, from, to) SLE_CONDVAR_X(base, variable, type, from, to, {})
|
#define SLE_CONDVAR(base, variable, type, from, to) SLE_CONDVAR_X(base, variable, type, from, to, SlXvFeatureTest())
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Storage of a reference in some savegame versions.
|
* Storage of a reference in some savegame versions.
|
||||||
@@ -258,7 +265,7 @@ typedef SaveLoad SaveLoadGlobVarList;
|
|||||||
* @param extver SlXvFeatureTest to test (along with from and to) which savegames have the field
|
* @param extver SlXvFeatureTest to test (along with from and to) which savegames have the field
|
||||||
*/
|
*/
|
||||||
#define SLE_CONDREF_X(base, variable, type, from, to, extver) SLE_GENERAL_X(SL_REF, base, variable, type, 0, from, to, extver)
|
#define SLE_CONDREF_X(base, variable, type, from, to, extver) SLE_GENERAL_X(SL_REF, base, variable, type, 0, from, to, extver)
|
||||||
#define SLE_CONDREF(base, variable, type, from, to) SLE_CONDREF_X(base, variable, type, from, to, {})
|
#define SLE_CONDREF(base, variable, type, from, to) SLE_CONDREF_X(base, variable, type, from, to, SlXvFeatureTest())
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Storage of an array in some savegame versions.
|
* Storage of an array in some savegame versions.
|
||||||
@@ -271,7 +278,7 @@ typedef SaveLoad SaveLoadGlobVarList;
|
|||||||
* @param extver SlXvFeatureTest to test (along with from and to) which savegames have the field
|
* @param extver SlXvFeatureTest to test (along with from and to) which savegames have the field
|
||||||
*/
|
*/
|
||||||
#define SLE_CONDARR_X(base, variable, type, length, from, to, extver) SLE_GENERAL_X(SL_ARR, base, variable, type, length, from, to, extver)
|
#define SLE_CONDARR_X(base, variable, type, length, from, to, extver) SLE_GENERAL_X(SL_ARR, base, variable, type, length, from, to, extver)
|
||||||
#define SLE_CONDARR(base, variable, type, length, from, to) SLE_CONDARR_X(base, variable, type, length, from, to, {})
|
#define SLE_CONDARR(base, variable, type, length, from, to) SLE_CONDARR_X(base, variable, type, length, from, to, SlXvFeatureTest())
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Storage of a string in some savegame versions.
|
* Storage of a string in some savegame versions.
|
||||||
@@ -284,7 +291,7 @@ typedef SaveLoad SaveLoadGlobVarList;
|
|||||||
* @param extver SlXvFeatureTest to test (along with from and to) which savegames have the field
|
* @param extver SlXvFeatureTest to test (along with from and to) which savegames have the field
|
||||||
*/
|
*/
|
||||||
#define SLE_CONDSTR_X(base, variable, type, length, from, to, extver) SLE_GENERAL_X(SL_STR, base, variable, type, length, from, to, extver)
|
#define SLE_CONDSTR_X(base, variable, type, length, from, to, extver) SLE_GENERAL_X(SL_STR, base, variable, type, length, from, to, extver)
|
||||||
#define SLE_CONDSTR(base, variable, type, length, from, to) SLE_CONDSTR_X(base, variable, type, length, from, to, {})
|
#define SLE_CONDSTR(base, variable, type, length, from, to) SLE_CONDSTR_X(base, variable, type, length, from, to, SlXvFeatureTest())
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Storage of a list in some savegame versions.
|
* Storage of a list in some savegame versions.
|
||||||
@@ -296,7 +303,7 @@ typedef SaveLoad SaveLoadGlobVarList;
|
|||||||
* @param extver SlXvFeatureTest to test (along with from and to) which savegames have the field
|
* @param extver SlXvFeatureTest to test (along with from and to) which savegames have the field
|
||||||
*/
|
*/
|
||||||
#define SLE_CONDLST_X(base, variable, type, from, to, extver) SLE_GENERAL_X(SL_LST, base, variable, type, 0, from, to, extver)
|
#define SLE_CONDLST_X(base, variable, type, from, to, extver) SLE_GENERAL_X(SL_LST, base, variable, type, 0, from, to, extver)
|
||||||
#define SLE_CONDLST(base, variable, type, from, to) SLE_CONDLST_X(base, variable, type, from, to, {})
|
#define SLE_CONDLST(base, variable, type, from, to) SLE_CONDLST_X(base, variable, type, from, to, SlXvFeatureTest())
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Storage of a variable in every version of a savegame.
|
* Storage of a variable in every version of a savegame.
|
||||||
@@ -354,16 +361,16 @@ typedef SaveLoad SaveLoadGlobVarList;
|
|||||||
* @param extver SlXvFeatureTest to test (along with from and to) which savegames have empty space
|
* @param extver SlXvFeatureTest to test (along with from and to) which savegames have empty space
|
||||||
*/
|
*/
|
||||||
#define SLE_CONDNULL_X(length, from, to, extver) SLE_CONDARR_X(NullStruct, null, SLE_FILE_U8 | SLE_VAR_NULL | SLF_NOT_IN_CONFIG, length, from, to, extver)
|
#define SLE_CONDNULL_X(length, from, to, extver) SLE_CONDARR_X(NullStruct, null, SLE_FILE_U8 | SLE_VAR_NULL | SLF_NOT_IN_CONFIG, length, from, to, extver)
|
||||||
#define SLE_CONDNULL(length, from, to) SLE_CONDNULL_X(length, from, to, {})
|
#define SLE_CONDNULL(length, from, to) SLE_CONDNULL_X(length, from, to, SlXvFeatureTest())
|
||||||
|
|
||||||
/** Translate values ingame to different values in the savegame and vv. */
|
/** Translate values ingame to different values in the savegame and vv. */
|
||||||
#define SLE_WRITEBYTE(base, variable, value) SLE_GENERAL(SL_WRITEBYTE, base, variable, 0, 0, value, value)
|
#define SLE_WRITEBYTE(base, variable, value) SLE_GENERAL(SL_WRITEBYTE, base, variable, 0, 0, value, value)
|
||||||
|
|
||||||
#define SLE_VEH_INCLUDE() {false, SL_VEH_INCLUDE, 0, 0, 0, SL_MAX_VERSION, NULL, 0, {}}
|
#define SLE_VEH_INCLUDE() {false, SL_VEH_INCLUDE, 0, 0, 0, SL_MAX_VERSION, NULL, 0, SlXvFeatureTest()}
|
||||||
#define SLE_ST_INCLUDE() {false, SL_ST_INCLUDE, 0, 0, 0, SL_MAX_VERSION, NULL, 0, {}}
|
#define SLE_ST_INCLUDE() {false, SL_ST_INCLUDE, 0, 0, 0, SL_MAX_VERSION, NULL, 0, SlXvFeatureTest()}
|
||||||
|
|
||||||
/** End marker of a struct/class save or load. */
|
/** End marker of a struct/class save or load. */
|
||||||
#define SLE_END() {false, SL_END, 0, 0, 0, 0, NULL, 0, {}}
|
#define SLE_END() {false, SL_END, 0, 0, 0, 0, NULL, 0, SlXvFeatureTest()}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Storage of global simple variables, references (pointers), and arrays.
|
* Storage of global simple variables, references (pointers), and arrays.
|
||||||
@@ -376,7 +383,7 @@ typedef SaveLoad SaveLoadGlobVarList;
|
|||||||
* @note In general, it is better to use one of the SLEG_* macros below.
|
* @note In general, it is better to use one of the SLEG_* macros below.
|
||||||
*/
|
*/
|
||||||
#define SLEG_GENERAL_X(cmd, variable, type, length, from, to, extver) {true, cmd, type, length, from, to, (void*)&variable, sizeof(variable), extver}
|
#define SLEG_GENERAL_X(cmd, variable, type, length, from, to, extver) {true, cmd, type, length, from, to, (void*)&variable, sizeof(variable), extver}
|
||||||
#define SLEG_GENERAL(cmd, variable, type, length, from, to) SLEG_GENERAL_X(cmd, variable, type, length, from, to, {})
|
#define SLEG_GENERAL(cmd, variable, type, length, from, to) SLEG_GENERAL_X(cmd, variable, type, length, from, to, SlXvFeatureTest())
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Storage of a global variable in some savegame versions.
|
* Storage of a global variable in some savegame versions.
|
||||||
@@ -387,7 +394,7 @@ typedef SaveLoad SaveLoadGlobVarList;
|
|||||||
* @param extver SlXvFeatureTest to test (along with from and to) which savegames have the field
|
* @param extver SlXvFeatureTest to test (along with from and to) which savegames have the field
|
||||||
*/
|
*/
|
||||||
#define SLEG_CONDVAR_X(variable, type, from, to, extver) SLEG_GENERAL_X(SL_VAR, variable, type, 0, from, to, extver)
|
#define SLEG_CONDVAR_X(variable, type, from, to, extver) SLEG_GENERAL_X(SL_VAR, variable, type, 0, from, to, extver)
|
||||||
#define SLEG_CONDVAR(variable, type, from, to) SLEG_CONDVAR_X(variable, type, from, to, {})
|
#define SLEG_CONDVAR(variable, type, from, to) SLEG_CONDVAR_X(variable, type, from, to, SlXvFeatureTest())
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Storage of a global reference in some savegame versions.
|
* Storage of a global reference in some savegame versions.
|
||||||
@@ -398,7 +405,7 @@ typedef SaveLoad SaveLoadGlobVarList;
|
|||||||
* @param extver SlXvFeatureTest to test (along with from and to) which savegames have the field
|
* @param extver SlXvFeatureTest to test (along with from and to) which savegames have the field
|
||||||
*/
|
*/
|
||||||
#define SLEG_CONDREF_X(variable, type, from, to, extver) SLEG_GENERAL_X(SL_REF, variable, type, 0, from, to, extver)
|
#define SLEG_CONDREF_X(variable, type, from, to, extver) SLEG_GENERAL_X(SL_REF, variable, type, 0, from, to, extver)
|
||||||
#define SLEG_CONDREF(variable, type, from, to) SLEG_CONDREF_X(variable, type, from, to, {})
|
#define SLEG_CONDREF(variable, type, from, to) SLEG_CONDREF_X(variable, type, from, to, SlXvFeatureTest())
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Storage of a global array in some savegame versions.
|
* Storage of a global array in some savegame versions.
|
||||||
@@ -410,7 +417,7 @@ typedef SaveLoad SaveLoadGlobVarList;
|
|||||||
* @param extver SlXvFeatureTest to test (along with from and to) which savegames have the field
|
* @param extver SlXvFeatureTest to test (along with from and to) which savegames have the field
|
||||||
*/
|
*/
|
||||||
#define SLEG_CONDARR_X(variable, type, length, from, to, extver) SLEG_GENERAL_X(SL_ARR, variable, type, length, from, to, extver)
|
#define SLEG_CONDARR_X(variable, type, length, from, to, extver) SLEG_GENERAL_X(SL_ARR, variable, type, length, from, to, extver)
|
||||||
#define SLEG_CONDARR(variable, type, length, from, to) SLEG_CONDARR_X(variable, type, length, from, to, {})
|
#define SLEG_CONDARR(variable, type, length, from, to) SLEG_CONDARR_X(variable, type, length, from, to, SlXvFeatureTest())
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Storage of a global string in some savegame versions.
|
* Storage of a global string in some savegame versions.
|
||||||
@@ -422,7 +429,7 @@ typedef SaveLoad SaveLoadGlobVarList;
|
|||||||
* @param extver SlXvFeatureTest to test (along with from and to) which savegames have the field
|
* @param extver SlXvFeatureTest to test (along with from and to) which savegames have the field
|
||||||
*/
|
*/
|
||||||
#define SLEG_CONDSTR_X(variable, type, length, from, to, extver) SLEG_GENERAL_X(SL_STR, variable, type, length, from, to, extver)
|
#define SLEG_CONDSTR_X(variable, type, length, from, to, extver) SLEG_GENERAL_X(SL_STR, variable, type, length, from, to, extver)
|
||||||
#define SLEG_CONDSTR(variable, type, length, from, to) SLEG_CONDSTR_X(variable, type, length, from, to, {})
|
#define SLEG_CONDSTR(variable, type, length, from, to) SLEG_CONDSTR_X(variable, type, length, from, to, SlXvFeatureTest())
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Storage of a global list in some savegame versions.
|
* Storage of a global list in some savegame versions.
|
||||||
@@ -433,7 +440,7 @@ typedef SaveLoad SaveLoadGlobVarList;
|
|||||||
* @param extver SlXvFeatureTest to test (along with from and to) which savegames have the field
|
* @param extver SlXvFeatureTest to test (along with from and to) which savegames have the field
|
||||||
*/
|
*/
|
||||||
#define SLEG_CONDLST_X(variable, type, from, to, extver) SLEG_GENERAL_X(SL_LST, variable, type, 0, from, to, extver)
|
#define SLEG_CONDLST_X(variable, type, from, to, extver) SLEG_GENERAL_X(SL_LST, variable, type, 0, from, to, extver)
|
||||||
#define SLEG_CONDLST(variable, type, from, to) SLEG_CONDLST_X(variable, type, from, to, {})
|
#define SLEG_CONDLST(variable, type, from, to) SLEG_CONDLST_X(variable, type, from, to, SlXvFeatureTest())
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Storage of a global variable in every savegame version.
|
* Storage of a global variable in every savegame version.
|
||||||
@@ -477,10 +484,10 @@ typedef SaveLoad SaveLoadGlobVarList;
|
|||||||
* @param to Last savegame version that has the empty space.
|
* @param to Last savegame version that has the empty space.
|
||||||
* @param extver SlXvFeatureTest to test (along with from and to) which savegames have empty space
|
* @param extver SlXvFeatureTest to test (along with from and to) which savegames have empty space
|
||||||
*/
|
*/
|
||||||
#define SLEG_CONDNULL(length, from, to) {true, SL_ARR, SLE_FILE_U8 | SLE_VAR_NULL | SLF_NOT_IN_CONFIG, length, from, to, (void*)NULL, {}}
|
#define SLEG_CONDNULL(length, from, to) {true, SL_ARR, SLE_FILE_U8 | SLE_VAR_NULL | SLF_NOT_IN_CONFIG, length, from, to, (void*)NULL, SlXvFeatureTest()}
|
||||||
|
|
||||||
/** End marker of global variables save or load. */
|
/** End marker of global variables save or load. */
|
||||||
#define SLEG_END() {true, SL_END, 0, 0, 0, 0, NULL, 0, {}}
|
#define SLEG_END() {true, SL_END, 0, 0, 0, 0, NULL, 0, SlXvFeatureTest()}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks whether the savegame is below \a major.\a minor.
|
* Checks whether the savegame is below \a major.\a minor.
|
||||||
@@ -624,8 +631,8 @@ void SlObject(void *object, const SaveLoad *sld);
|
|||||||
bool SlObjectMember(void *object, const SaveLoad *sld);
|
bool SlObjectMember(void *object, const SaveLoad *sld);
|
||||||
void NORETURN SlError(StringID string, const char *extra_msg = NULL, bool already_malloced = false);
|
void NORETURN SlError(StringID string, const char *extra_msg = NULL, bool already_malloced = false);
|
||||||
void NORETURN SlErrorCorrupt(const char *msg, bool already_malloced = false);
|
void NORETURN SlErrorCorrupt(const char *msg, bool already_malloced = false);
|
||||||
void CDECL NORETURN SlErrorFmt(StringID string, const char *msg, ...) WARN_FORMAT(2, 3);
|
void NORETURN CDECL SlErrorFmt(StringID string, const char *msg, ...) WARN_FORMAT(2, 3);
|
||||||
void CDECL NORETURN SlErrorCorruptFmt(const char *msg, ...) WARN_FORMAT(1, 2);
|
void NORETURN CDECL SlErrorCorruptFmt(const char *msg, ...) WARN_FORMAT(1, 2);
|
||||||
|
|
||||||
bool SaveloadCrashWithMissingNewGRFs();
|
bool SaveloadCrashWithMissingNewGRFs();
|
||||||
|
|
||||||
|
298
src/settings.cpp
298
src/settings.cpp
@@ -2235,10 +2235,10 @@ static void SaveSettings(const SettingDesc *sd, void *object)
|
|||||||
*
|
*
|
||||||
* The PATX chunk contents has the following format:
|
* The PATX chunk contents has the following format:
|
||||||
*
|
*
|
||||||
* uint32 chunk flags
|
* uint32 chunk flags (unused)
|
||||||
* uint32 number of settings
|
* uint32 number of settings
|
||||||
* For each of N settings:
|
* For each of N settings:
|
||||||
* uint32 setting flags
|
* uint32 setting flags (unused)
|
||||||
* SLE_STR setting name
|
* SLE_STR setting name
|
||||||
* uint32 length of setting field
|
* uint32 length of setting field
|
||||||
* N bytes setting field
|
* N bytes setting field
|
||||||
@@ -2247,6 +2247,18 @@ static void SaveSettings(const SettingDesc *sd, void *object)
|
|||||||
/** Sorted list of PATX settings, generated by MakeSettingsPatxList */
|
/** Sorted list of PATX settings, generated by MakeSettingsPatxList */
|
||||||
static std::vector<const SettingDesc *> _sorted_patx_settings;
|
static std::vector<const SettingDesc *> _sorted_patx_settings;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Internal structure used in LoadSettingsPatx()
|
||||||
|
* placed outside for legacy compiler compatibility
|
||||||
|
* this makes me miss lambdas :/
|
||||||
|
*/
|
||||||
|
struct StringSorter {
|
||||||
|
bool operator()(const SettingDesc *a, const SettingDesc *b)
|
||||||
|
{
|
||||||
|
return strcmp(a->patx_name, b->patx_name) < 0;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Prepare a sorted list of settings to be potentially be loaded out of the PATX chunk
|
* Prepare a sorted list of settings to be potentially be loaded out of the PATX chunk
|
||||||
* This is to enable efficient lookup of settings by name
|
* This is to enable efficient lookup of settings by name
|
||||||
@@ -2257,6 +2269,7 @@ static void MakeSettingsPatxList(const SettingDesc *sd)
|
|||||||
static const SettingDesc *previous = NULL;
|
static const SettingDesc *previous = NULL;
|
||||||
|
|
||||||
if (sd == previous) return;
|
if (sd == previous) return;
|
||||||
|
previous = sd;
|
||||||
|
|
||||||
_sorted_patx_settings.clear();
|
_sorted_patx_settings.clear();
|
||||||
for (const SettingDesc *desc = sd; desc->save.cmd != SL_END; desc++) {
|
for (const SettingDesc *desc = sd; desc->save.cmd != SL_END; desc++) {
|
||||||
@@ -2264,16 +2277,60 @@ static void MakeSettingsPatxList(const SettingDesc *sd)
|
|||||||
_sorted_patx_settings.push_back(desc);
|
_sorted_patx_settings.push_back(desc);
|
||||||
}
|
}
|
||||||
|
|
||||||
// this makes me miss lambdas :/
|
|
||||||
struct StringSorter {
|
|
||||||
bool operator()(const SettingDesc *a, const SettingDesc *b)
|
|
||||||
{
|
|
||||||
return strcmp(a->patx_name, b->patx_name) < 0;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
std::sort(_sorted_patx_settings.begin(), _sorted_patx_settings.end(), StringSorter());
|
std::sort(_sorted_patx_settings.begin(), _sorted_patx_settings.end(), StringSorter());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Internal structure used in LoadSettingsPatx()
|
||||||
|
* placed outside for legacy compiler compatibility
|
||||||
|
* this is effectively a reference capture lambda
|
||||||
|
*/
|
||||||
|
struct StringSearcher {
|
||||||
|
bool &m_exact_match;
|
||||||
|
|
||||||
|
StringSearcher(bool &exact_match)
|
||||||
|
: m_exact_match(exact_match) { }
|
||||||
|
|
||||||
|
bool operator()(const SettingDesc *a, const char *b)
|
||||||
|
{
|
||||||
|
int result = strcmp(a->patx_name, b);
|
||||||
|
if (result == 0) m_exact_match = true;
|
||||||
|
return result < 0;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Internal structure used in LoadSettingsPatx() and LoadSettingsPlyx()
|
||||||
|
*/
|
||||||
|
struct SettingsExtLoad {
|
||||||
|
uint32 flags;
|
||||||
|
char name[256];
|
||||||
|
uint32 setting_length;
|
||||||
|
};
|
||||||
|
|
||||||
|
static const SaveLoad _settings_ext_load_desc[] = {
|
||||||
|
SLE_VAR(SettingsExtLoad, flags, SLE_UINT32),
|
||||||
|
SLE_STR(SettingsExtLoad, name, SLE_STRB, 256),
|
||||||
|
SLE_VAR(SettingsExtLoad, setting_length, SLE_UINT32),
|
||||||
|
SLE_END()
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Internal structure used in SaveSettingsPatx() and SaveSettingsPlyx()
|
||||||
|
*/
|
||||||
|
struct SettingsExtSave {
|
||||||
|
uint32 flags;
|
||||||
|
const char *name;
|
||||||
|
uint32 setting_length;
|
||||||
|
};
|
||||||
|
|
||||||
|
static const SaveLoad _settings_ext_save_desc[] = {
|
||||||
|
SLE_VAR(SettingsExtSave, flags, SLE_UINT32),
|
||||||
|
SLE_STR(SettingsExtSave, name, SLE_STR, 0),
|
||||||
|
SLE_VAR(SettingsExtSave, setting_length, SLE_UINT32),
|
||||||
|
SLE_END()
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load handler for settings which go in the PATX chunk
|
* Load handler for settings which go in the PATX chunk
|
||||||
* @param osd SettingDesc struct containing all information
|
* @param osd SettingDesc struct containing all information
|
||||||
@@ -2284,19 +2341,7 @@ static void LoadSettingsPatx(const SettingDesc *sd, void *object)
|
|||||||
{
|
{
|
||||||
MakeSettingsPatxList(sd);
|
MakeSettingsPatxList(sd);
|
||||||
|
|
||||||
struct SettingsPatxLoad {
|
SettingsExtLoad current_setting;
|
||||||
uint32 flags;
|
|
||||||
char name[256];
|
|
||||||
uint32 setting_length;
|
|
||||||
};
|
|
||||||
SettingsPatxLoad current_setting;
|
|
||||||
|
|
||||||
static const SaveLoad _settings_patx_desc[] = {
|
|
||||||
SLE_VAR(SettingsPatxLoad, flags, SLE_UINT32),
|
|
||||||
SLE_STR(SettingsPatxLoad, name, SLE_STRB, 256),
|
|
||||||
SLE_VAR(SettingsPatxLoad, setting_length, SLE_UINT32),
|
|
||||||
SLE_END()
|
|
||||||
};
|
|
||||||
|
|
||||||
uint32 flags = SlReadUint32();
|
uint32 flags = SlReadUint32();
|
||||||
// flags are not in use yet, reserve for future expansion
|
// flags are not in use yet, reserve for future expansion
|
||||||
@@ -2304,26 +2349,13 @@ static void LoadSettingsPatx(const SettingDesc *sd, void *object)
|
|||||||
|
|
||||||
uint32 settings_count = SlReadUint32();
|
uint32 settings_count = SlReadUint32();
|
||||||
for (uint32 i = 0; i < settings_count; i++) {
|
for (uint32 i = 0; i < settings_count; i++) {
|
||||||
SlObject(¤t_setting, _settings_patx_desc);
|
SlObject(¤t_setting, _settings_ext_load_desc);
|
||||||
|
|
||||||
// flags are not in use yet, reserve for future expansion
|
// flags are not in use yet, reserve for future expansion
|
||||||
if (current_setting.flags != 0) SlErrorCorruptFmt("PATX chunk: unknown setting header flags: 0x%X", current_setting.flags);
|
if (current_setting.flags != 0) SlErrorCorruptFmt("PATX chunk: unknown setting header flags: 0x%X", current_setting.flags);
|
||||||
|
|
||||||
// now try to find corresponding setting, this would be much easier with C++11 support...
|
// now try to find corresponding setting, this would be much easier with C++11 support...
|
||||||
bool exact_match = false;
|
bool exact_match = false;
|
||||||
struct StringSearcher {
|
|
||||||
bool &m_exact_match;
|
|
||||||
|
|
||||||
StringSearcher(bool &exact_match)
|
|
||||||
: m_exact_match(exact_match) { }
|
|
||||||
|
|
||||||
bool operator()(const SettingDesc *a, const char *b)
|
|
||||||
{
|
|
||||||
int result = strcmp(a->patx_name, b);
|
|
||||||
if (result == 0) m_exact_match = true;
|
|
||||||
return result < 0;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
std::vector<const SettingDesc *>::iterator iter = std::lower_bound(_sorted_patx_settings.begin(), _sorted_patx_settings.end(), current_setting.name, StringSearcher(exact_match));
|
std::vector<const SettingDesc *>::iterator iter = std::lower_bound(_sorted_patx_settings.begin(), _sorted_patx_settings.end(), current_setting.name, StringSearcher(exact_match));
|
||||||
|
|
||||||
if (exact_match) {
|
if (exact_match) {
|
||||||
@@ -2344,6 +2376,15 @@ static void LoadSettingsPatx(const SettingDesc *sd, void *object)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Internal structure used in SaveSettingsPatx()
|
||||||
|
* placed outside for legacy compiler compatibility
|
||||||
|
*/
|
||||||
|
struct SettingToAdd {
|
||||||
|
const SettingDesc *setting;
|
||||||
|
uint32 setting_length;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Save handler for settings which go in the PATX chunk
|
* Save handler for settings which go in the PATX chunk
|
||||||
* @param sd SettingDesc struct containing all information
|
* @param sd SettingDesc struct containing all information
|
||||||
@@ -2352,24 +2393,8 @@ static void LoadSettingsPatx(const SettingDesc *sd, void *object)
|
|||||||
*/
|
*/
|
||||||
static void SaveSettingsPatx(const SettingDesc *sd, void *object)
|
static void SaveSettingsPatx(const SettingDesc *sd, void *object)
|
||||||
{
|
{
|
||||||
struct SettingsPatxSave {
|
SettingsExtSave current_setting;
|
||||||
uint32 flags;
|
|
||||||
const char *name;
|
|
||||||
uint32 setting_length;
|
|
||||||
};
|
|
||||||
SettingsPatxSave current_setting;
|
|
||||||
|
|
||||||
static const SaveLoad _settings_patx_desc[] = {
|
|
||||||
SLE_VAR(SettingsPatxSave, flags, SLE_UINT32),
|
|
||||||
SLE_STR(SettingsPatxSave, name, SLE_STR, 0),
|
|
||||||
SLE_VAR(SettingsPatxSave, setting_length, SLE_UINT32),
|
|
||||||
SLE_END()
|
|
||||||
};
|
|
||||||
|
|
||||||
struct SettingToAdd {
|
|
||||||
const SettingDesc *setting;
|
|
||||||
uint32 setting_length;
|
|
||||||
};
|
|
||||||
std::vector<SettingToAdd> settings_to_add;
|
std::vector<SettingToAdd> settings_to_add;
|
||||||
|
|
||||||
size_t length = 8;
|
size_t length = 8;
|
||||||
@@ -2381,12 +2406,14 @@ static void SaveSettingsPatx(const SettingDesc *sd, void *object)
|
|||||||
current_setting.name = desc->patx_name;
|
current_setting.name = desc->patx_name;
|
||||||
|
|
||||||
// add length of setting header
|
// add length of setting header
|
||||||
length += SlCalcObjLength(¤t_setting, _settings_patx_desc);
|
length += SlCalcObjLength(¤t_setting, _settings_ext_save_desc);
|
||||||
|
|
||||||
// add length of actual setting
|
// add length of actual setting
|
||||||
length += setting_length;
|
length += setting_length;
|
||||||
|
|
||||||
settings_to_add.push_back({ desc, setting_length });
|
// duplicate copy made for compiler backwards compatibility
|
||||||
|
SettingToAdd new_setting = { desc, setting_length };
|
||||||
|
settings_to_add.push_back(new_setting);
|
||||||
}
|
}
|
||||||
SlSetLength(length);
|
SlSetLength(length);
|
||||||
|
|
||||||
@@ -2398,12 +2425,171 @@ static void SaveSettingsPatx(const SettingDesc *sd, void *object)
|
|||||||
current_setting.flags = 0;
|
current_setting.flags = 0;
|
||||||
current_setting.name = desc->patx_name;
|
current_setting.name = desc->patx_name;
|
||||||
current_setting.setting_length = settings_to_add[i].setting_length;
|
current_setting.setting_length = settings_to_add[i].setting_length;
|
||||||
SlObject(¤t_setting, _settings_patx_desc);
|
SlObject(¤t_setting, _settings_ext_save_desc);
|
||||||
void *ptr = GetVariableAddress(object, &desc->save);
|
void *ptr = GetVariableAddress(object, &desc->save);
|
||||||
SlObjectMember(ptr, &desc->save);
|
SlObjectMember(ptr, &desc->save);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @file
|
||||||
|
*
|
||||||
|
* The PLYX chunk stores additional company settings in an unordered
|
||||||
|
* format which is tolerant of extra, missing or reordered settings.
|
||||||
|
* The format is similar to the PATX chunk.
|
||||||
|
* Additional settings generally means those that aren't in trunk.
|
||||||
|
*
|
||||||
|
* The PLYX chunk contents has the following format:
|
||||||
|
*
|
||||||
|
* uint32 chunk flags (unused)
|
||||||
|
* uint32 number of companies
|
||||||
|
* For each of N companies:
|
||||||
|
* uint32 company ID
|
||||||
|
* uint32 company flags (unused)
|
||||||
|
* uint32 number of settings
|
||||||
|
* For each of N settings:
|
||||||
|
* uint32 setting flags (unused)
|
||||||
|
* SLE_STR setting name
|
||||||
|
* uint32 length of setting field
|
||||||
|
* N bytes setting field
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Load handler for company settings which go in the PLYX chunk
|
||||||
|
* @param check_mode Whether to skip over settings without reading
|
||||||
|
*/
|
||||||
|
void LoadSettingsPlyx(bool skip)
|
||||||
|
{
|
||||||
|
SettingsExtLoad current_setting;
|
||||||
|
|
||||||
|
uint32 chunk_flags = SlReadUint32();
|
||||||
|
// flags are not in use yet, reserve for future expansion
|
||||||
|
if (chunk_flags != 0) SlErrorCorruptFmt("PLYX chunk: unknown chunk header flags: 0x%X", chunk_flags);
|
||||||
|
|
||||||
|
uint32 company_count = SlReadUint32();
|
||||||
|
for (uint32 i = 0; i < company_count; i++) {
|
||||||
|
uint32 company_id = SlReadUint32();
|
||||||
|
if (company_id >= MAX_COMPANIES) SlErrorCorruptFmt("PLYX chunk: invalid company ID: %u", company_id);
|
||||||
|
|
||||||
|
const Company *c = NULL;
|
||||||
|
if (!skip) {
|
||||||
|
c = Company::GetIfValid(company_id);
|
||||||
|
if (c == NULL) SlErrorCorruptFmt("PLYX chunk: non-existant company ID: %u", company_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32 company_flags = SlReadUint32();
|
||||||
|
// flags are not in use yet, reserve for future expansion
|
||||||
|
if (company_flags != 0) SlErrorCorruptFmt("PLYX chunk: unknown company flags: 0x%X", company_flags);
|
||||||
|
|
||||||
|
uint32 settings_count = SlReadUint32();
|
||||||
|
for (uint32 j = 0; j < settings_count; j++) {
|
||||||
|
SlObject(¤t_setting, _settings_ext_load_desc);
|
||||||
|
|
||||||
|
// flags are not in use yet, reserve for future expansion
|
||||||
|
if (current_setting.flags != 0) SlErrorCorruptFmt("PLYX chunk: unknown setting header flags: 0x%X", current_setting.flags);
|
||||||
|
|
||||||
|
if (skip) {
|
||||||
|
SlSkipBytes(current_setting.setting_length);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
const SettingDesc *setting = NULL;
|
||||||
|
|
||||||
|
// not many company settings, so perform a linear scan
|
||||||
|
for (const SettingDesc *desc = _company_settings; desc->save.cmd != SL_END; desc++) {
|
||||||
|
if (desc->patx_name != NULL && strcmp(desc->patx_name, current_setting.name) == 0) {
|
||||||
|
setting = desc;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (setting != NULL) {
|
||||||
|
// found setting
|
||||||
|
const SaveLoad *sld = &(setting->save);
|
||||||
|
size_t read = SlGetBytesRead();
|
||||||
|
void *ptr = GetVariableAddress(&(c->settings), sld);
|
||||||
|
SlObjectMember(ptr, sld);
|
||||||
|
if (SlGetBytesRead() != read + current_setting.setting_length) {
|
||||||
|
SlErrorCorruptFmt("PLYX chunk: setting read length mismatch for setting: '%s'", current_setting.name);
|
||||||
|
}
|
||||||
|
if (IsNumericType(sld->conv)) Write_ValidateSetting(ptr, setting, ReadValue(ptr, sld->conv));
|
||||||
|
} else {
|
||||||
|
DEBUG(sl, 1, "PLYX chunk: Could not find company setting: '%s', ignoring", current_setting.name);
|
||||||
|
SlSkipBytes(current_setting.setting_length);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Save handler for settings which go in the PLYX chunk
|
||||||
|
*/
|
||||||
|
void SaveSettingsPlyx()
|
||||||
|
{
|
||||||
|
SettingsExtSave current_setting;
|
||||||
|
|
||||||
|
static const SaveLoad _settings_plyx_desc[] = {
|
||||||
|
SLE_VAR(SettingsExtSave, flags, SLE_UINT32),
|
||||||
|
SLE_STR(SettingsExtSave, name, SLE_STR, 0),
|
||||||
|
SLE_VAR(SettingsExtSave, setting_length, SLE_UINT32),
|
||||||
|
SLE_END()
|
||||||
|
};
|
||||||
|
|
||||||
|
std::vector<uint32> company_setting_counts;
|
||||||
|
|
||||||
|
size_t length = 8;
|
||||||
|
uint32 companies_count = 0;
|
||||||
|
|
||||||
|
Company *c;
|
||||||
|
FOR_ALL_COMPANIES(c) {
|
||||||
|
length += 12;
|
||||||
|
companies_count++;
|
||||||
|
uint32 setting_count = 0;
|
||||||
|
for (const SettingDesc *desc = _company_settings; desc->save.cmd != SL_END; desc++) {
|
||||||
|
if (desc->patx_name == NULL) continue;
|
||||||
|
uint32 setting_length = SlCalcObjMemberLength(&(c->settings), &desc->save);
|
||||||
|
if (!setting_length) continue;
|
||||||
|
|
||||||
|
current_setting.name = desc->patx_name;
|
||||||
|
|
||||||
|
// add length of setting header
|
||||||
|
length += SlCalcObjLength(¤t_setting, _settings_ext_save_desc);
|
||||||
|
|
||||||
|
// add length of actual setting
|
||||||
|
length += setting_length;
|
||||||
|
|
||||||
|
setting_count++;
|
||||||
|
}
|
||||||
|
company_setting_counts.push_back(setting_count);
|
||||||
|
}
|
||||||
|
SlSetLength(length);
|
||||||
|
|
||||||
|
SlWriteUint32(0); // flags
|
||||||
|
SlWriteUint32(companies_count); // companies count
|
||||||
|
|
||||||
|
size_t index = 0;
|
||||||
|
FOR_ALL_COMPANIES(c) {
|
||||||
|
length += 12;
|
||||||
|
companies_count++;
|
||||||
|
SlWriteUint32(c->index); // company ID
|
||||||
|
SlWriteUint32(0); // flags
|
||||||
|
SlWriteUint32(company_setting_counts[index]); // setting count
|
||||||
|
index++;
|
||||||
|
|
||||||
|
for (const SettingDesc *desc = _company_settings; desc->save.cmd != SL_END; desc++) {
|
||||||
|
if (desc->patx_name == NULL) continue;
|
||||||
|
uint32 setting_length = SlCalcObjMemberLength(&(c->settings), &desc->save);
|
||||||
|
if (!setting_length) continue;
|
||||||
|
|
||||||
|
current_setting.flags = 0;
|
||||||
|
current_setting.name = desc->patx_name;
|
||||||
|
current_setting.setting_length = setting_length;
|
||||||
|
SlObject(¤t_setting, _settings_plyx_desc);
|
||||||
|
void *ptr = GetVariableAddress(&(c->settings), &desc->save);
|
||||||
|
SlObjectMember(ptr, &desc->save);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void Load_OPTS()
|
static void Load_OPTS()
|
||||||
{
|
{
|
||||||
/* Copy over default setting since some might not get loaded in
|
/* Copy over default setting since some might not get loaded in
|
||||||
|
@@ -81,7 +81,7 @@ const char *SoundDriver_Win32::Start(const char * const *parm)
|
|||||||
PrepareHeader(&_wave_hdr[1]);
|
PrepareHeader(&_wave_hdr[1]);
|
||||||
|
|
||||||
if (NULL == (_thread = CreateThread(NULL, 8192, SoundThread, 0, 0, &_threadId))) throw "Failed to create thread";
|
if (NULL == (_thread = CreateThread(NULL, 8192, SoundThread, 0, 0, &_threadId))) throw "Failed to create thread";
|
||||||
} catch (char *error) {
|
} catch (const char *error) {
|
||||||
this->Stop();
|
this->Stop();
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
@@ -18,8 +18,8 @@ static const SettingDesc _company_settings[] = {
|
|||||||
[post-amble]
|
[post-amble]
|
||||||
};
|
};
|
||||||
[templates]
|
[templates]
|
||||||
SDT_BOOL = SDT_BOOL($base, $var, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat, $extver, NULL),
|
SDT_BOOL = SDT_BOOL($base, $var, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat, $extver, $patxname),
|
||||||
SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to, $cat, $extver, NULL),
|
SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to, $cat, $extver, $patxname),
|
||||||
SDT_END = SDT_END()
|
SDT_END = SDT_END()
|
||||||
|
|
||||||
[defaults]
|
[defaults]
|
||||||
@@ -34,7 +34,8 @@ load = NULL
|
|||||||
from = 0
|
from = 0
|
||||||
to = SL_MAX_VERSION
|
to = SL_MAX_VERSION
|
||||||
cat = SC_ADVANCED
|
cat = SC_ADVANCED
|
||||||
extver = {}
|
extver = SlXvFeatureTest()
|
||||||
|
patxname = NULL
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -28,7 +28,7 @@ load = NULL
|
|||||||
from = 0
|
from = 0
|
||||||
to = SL_MAX_VERSION
|
to = SL_MAX_VERSION
|
||||||
cat = SC_ADVANCED
|
cat = SC_ADVANCED
|
||||||
extver = {}
|
extver = SlXvFeatureTest()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -62,7 +62,7 @@ load = NULL
|
|||||||
from = 0
|
from = 0
|
||||||
to = SL_MAX_VERSION
|
to = SL_MAX_VERSION
|
||||||
cat = SC_ADVANCED
|
cat = SC_ADVANCED
|
||||||
extver = {}
|
extver = SlXvFeatureTest()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -35,7 +35,7 @@ load = NULL
|
|||||||
from = 0
|
from = 0
|
||||||
to = SL_MAX_VERSION
|
to = SL_MAX_VERSION
|
||||||
cat = SC_ADVANCED
|
cat = SC_ADVANCED
|
||||||
extver = {}
|
extver = SlXvFeatureTest()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -91,7 +91,7 @@ load = NULL
|
|||||||
from = 0
|
from = 0
|
||||||
to = SL_MAX_VERSION
|
to = SL_MAX_VERSION
|
||||||
cat = SC_ADVANCED
|
cat = SC_ADVANCED
|
||||||
extver = {}
|
extver = SlXvFeatureTest()
|
||||||
patxname = NULL
|
patxname = NULL
|
||||||
|
|
||||||
|
|
||||||
|
@@ -33,7 +33,7 @@ load = NULL
|
|||||||
from = 0
|
from = 0
|
||||||
to = SL_MAX_VERSION
|
to = SL_MAX_VERSION
|
||||||
cat = SC_ADVANCED
|
cat = SC_ADVANCED
|
||||||
extver = {}
|
extver = SlXvFeatureTest()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -29,7 +29,7 @@ load = NULL
|
|||||||
from = 0
|
from = 0
|
||||||
to = SL_MAX_VERSION
|
to = SL_MAX_VERSION
|
||||||
cat = SC_ADVANCED
|
cat = SC_ADVANCED
|
||||||
extver = {}
|
extver = SlXvFeatureTest()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -462,7 +462,7 @@ static const NWidgetPart _nested_scen_edit_land_gen_widgets[] = {
|
|||||||
NWidget(WWT_IMGBTN, COLOUR_GREY, WID_ETT_PLACE_DESERT), SetMinimalSize(22, 22),
|
NWidget(WWT_IMGBTN, COLOUR_GREY, WID_ETT_PLACE_DESERT), SetMinimalSize(22, 22),
|
||||||
SetFill(0, 1), SetDataTip(SPR_IMG_DESERT, STR_TERRAFORM_TOOLTIP_DEFINE_DESERT_AREA),
|
SetFill(0, 1), SetDataTip(SPR_IMG_DESERT, STR_TERRAFORM_TOOLTIP_DEFINE_DESERT_AREA),
|
||||||
EndContainer(),
|
EndContainer(),
|
||||||
NWidget(WWT_IMGBTN, COLOUR_GREY, WID_ETT_PLACE_OBJECT), SetMinimalSize(23, 22),
|
NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, WID_ETT_PLACE_OBJECT), SetMinimalSize(23, 22),
|
||||||
SetFill(0, 1), SetDataTip(SPR_IMG_TRANSMITTER, STR_SCENEDIT_TOOLBAR_PLACE_OBJECT),
|
SetFill(0, 1), SetDataTip(SPR_IMG_TRANSMITTER, STR_SCENEDIT_TOOLBAR_PLACE_OBJECT),
|
||||||
NWidget(NWID_SPACER), SetFill(1, 0),
|
NWidget(NWID_SPACER), SetFill(1, 0),
|
||||||
EndContainer(),
|
EndContainer(),
|
||||||
@@ -704,7 +704,6 @@ struct ScenarioEditorLandscapeGenerationWindow : Window {
|
|||||||
{
|
{
|
||||||
this->RaiseButtons();
|
this->RaiseButtons();
|
||||||
this->SetDirty();
|
this->SetDirty();
|
||||||
DeleteWindowById(WC_BUILD_OBJECT, 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static HotkeyList hotkeys;
|
static HotkeyList hotkeys;
|
||||||
|
@@ -1247,8 +1247,8 @@ static void GrowTownInTile(TileIndex *tile_ptr, RoadBits cur_rb, DiagDirection t
|
|||||||
/* FALL THROUGH */
|
/* FALL THROUGH */
|
||||||
|
|
||||||
case TL_2X2_GRID:
|
case TL_2X2_GRID:
|
||||||
rcmd = GetTownRoadGridElement(t1, house_tile, target_dir);
|
rcmd = GetTownRoadGridElement(t1, tile, target_dir);
|
||||||
allow_house = (rcmd == ROAD_NONE);
|
allow_house = (rcmd & DiagDirToRoadBits(target_dir)) == ROAD_NONE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TL_BETTER_ROADS: // Use original afterwards!
|
case TL_BETTER_ROADS: // Use original afterwards!
|
||||||
@@ -1378,13 +1378,12 @@ static bool GrowTownAtRoad(Town *t, TileIndex tile)
|
|||||||
|
|
||||||
/* Try to grow the town from this point */
|
/* Try to grow the town from this point */
|
||||||
GrowTownInTile(&tile, cur_rb, target_dir, t);
|
GrowTownInTile(&tile, cur_rb, target_dir, t);
|
||||||
|
if (_grow_town_result == GROWTH_SUCCEED) return true;
|
||||||
|
|
||||||
/* Exclude the source position from the bitmask
|
/* Exclude the source position from the bitmask
|
||||||
* and return if no more road blocks available */
|
* and return if no more road blocks available */
|
||||||
if (IsValidDiagDirection(target_dir)) cur_rb &= ~DiagDirToRoadBits(ReverseDiagDir(target_dir));
|
if (IsValidDiagDirection(target_dir)) cur_rb &= ~DiagDirToRoadBits(ReverseDiagDir(target_dir));
|
||||||
if (cur_rb == ROAD_NONE) {
|
if (cur_rb == ROAD_NONE) return false;
|
||||||
return _grow_town_result == GROWTH_SUCCEED;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (IsTileType(tile, MP_TUNNELBRIDGE)) {
|
if (IsTileType(tile, MP_TUNNELBRIDGE)) {
|
||||||
/* Only build in the direction away from the tunnel or bridge. */
|
/* Only build in the direction away from the tunnel or bridge. */
|
||||||
@@ -1419,7 +1418,7 @@ static bool GrowTownAtRoad(Town *t, TileIndex tile)
|
|||||||
/* Max number of times is checked. */
|
/* Max number of times is checked. */
|
||||||
} while (--_grow_town_result >= 0);
|
} while (--_grow_town_result >= 0);
|
||||||
|
|
||||||
return _grow_town_result == GROWTH_SUCCEED - 1;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -1386,13 +1386,15 @@ CommandCost CmdSellRailWagon(DoCommandFlag flags, Vehicle *t, uint16 data, uint3
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
CommandCost cost(EXPENSES_NEW_VEHICLES);
|
|
||||||
for (Train *t = sell_head; t != NULL; t = t->Next()) cost.AddCost(-t->value);
|
|
||||||
|
|
||||||
if (first->orders.list == NULL && !OrderList::CanAllocateItem()) {
|
if (first->orders.list == NULL && !OrderList::CanAllocateItem()) {
|
||||||
|
/* Restore the train we had. */
|
||||||
|
RestoreTrainBackup(original);
|
||||||
return_cmd_error(STR_ERROR_NO_MORE_SPACE_FOR_ORDERS);
|
return_cmd_error(STR_ERROR_NO_MORE_SPACE_FOR_ORDERS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CommandCost cost(EXPENSES_NEW_VEHICLES);
|
||||||
|
for (Train *t = sell_head; t != NULL; t = t->Next()) cost.AddCost(-t->value);
|
||||||
|
|
||||||
/* do it? */
|
/* do it? */
|
||||||
if (flags & DC_EXEC) {
|
if (flags & DC_EXEC) {
|
||||||
/* First normalise the sub types of the chain. */
|
/* First normalise the sub types of the chain. */
|
||||||
|
@@ -325,10 +325,10 @@ void GenerateTrees()
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Plant a tree.
|
* Plant a tree.
|
||||||
* @param tile start tile of area-drag of tree plantation
|
* @param tile end tile of area-drag
|
||||||
* @param flags type of operation
|
* @param flags type of operation
|
||||||
* @param p1 tree type, TREE_INVALID means random.
|
* @param p1 tree type, TREE_INVALID means random.
|
||||||
* @param p2 end tile of area-drag
|
* @param p2 start tile of area-drag of tree plantation
|
||||||
* @param text unused
|
* @param text unused
|
||||||
* @return the cost of this operation or an error
|
* @return the cost of this operation or an error
|
||||||
*/
|
*/
|
||||||
|
@@ -1347,6 +1347,9 @@ void AgeVehicle(Vehicle *v)
|
|||||||
* @param front The front vehicle of the consist to check.
|
* @param front The front vehicle of the consist to check.
|
||||||
* @param colour The string to show depending on if we are unloading or loading
|
* @param colour The string to show depending on if we are unloading or loading
|
||||||
* @return A percentage of how full the Vehicle is.
|
* @return A percentage of how full the Vehicle is.
|
||||||
|
* Percentages are rounded towards 50%, so that 0% and 100% are only returned
|
||||||
|
* if the vehicle is completely empty or full.
|
||||||
|
* This is useful for both display and conditional orders.
|
||||||
*/
|
*/
|
||||||
uint8 CalcPercentVehicleFilled(const Vehicle *front, StringID *colour)
|
uint8 CalcPercentVehicleFilled(const Vehicle *front, StringID *colour)
|
||||||
{
|
{
|
||||||
@@ -1394,7 +1397,13 @@ uint8 CalcPercentVehicleFilled(const Vehicle *front, StringID *colour)
|
|||||||
if (max == 0) return 100;
|
if (max == 0) return 100;
|
||||||
|
|
||||||
/* Return the percentage */
|
/* Return the percentage */
|
||||||
return (count * 100) / max;
|
if (count * 2 < max) {
|
||||||
|
/* Less than 50%; round up, so that 0% means really empty. */
|
||||||
|
return CeilDiv(count * 100, max);
|
||||||
|
} else {
|
||||||
|
/* More than 50%; round down, so that 100% means really full. */
|
||||||
|
return (count * 100) / max;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -358,8 +358,10 @@ static CommandCost RefitVehicle(Vehicle *v, bool only_this, uint8 num_vehicles,
|
|||||||
|
|
||||||
bool auto_refit_allowed;
|
bool auto_refit_allowed;
|
||||||
CommandCost refit_cost = GetRefitCost(v, v->engine_type, new_cid, actual_subtype, &auto_refit_allowed);
|
CommandCost refit_cost = GetRefitCost(v, v->engine_type, new_cid, actual_subtype, &auto_refit_allowed);
|
||||||
if (auto_refit && !auto_refit_allowed) {
|
if (auto_refit && (flags & DC_QUERY_COST) == 0 && !auto_refit_allowed) {
|
||||||
/* Sorry, auto-refitting not allowed, subtract the cargo amount again from the total. */
|
/* Sorry, auto-refitting not allowed, subtract the cargo amount again from the total.
|
||||||
|
* When querrying cost/capacity (for example in order refit GUI), we always assume 'allowed'.
|
||||||
|
* It is not predictable. */
|
||||||
total_capacity -= amount;
|
total_capacity -= amount;
|
||||||
total_mail_capacity -= mail_capacity;
|
total_mail_capacity -= mail_capacity;
|
||||||
|
|
||||||
@@ -446,8 +448,15 @@ CommandCost CmdRefitVehicle(TileIndex tile, DoCommandFlag flags, uint32 p1, uint
|
|||||||
|
|
||||||
/* Don't allow shadows and such to be refitted. */
|
/* Don't allow shadows and such to be refitted. */
|
||||||
if (v != front && (v->type == VEH_SHIP || v->type == VEH_AIRCRAFT)) return CMD_ERROR;
|
if (v != front && (v->type == VEH_SHIP || v->type == VEH_AIRCRAFT)) return CMD_ERROR;
|
||||||
|
|
||||||
/* Allow auto-refitting only during loading and normal refitting only in a depot. */
|
/* Allow auto-refitting only during loading and normal refitting only in a depot. */
|
||||||
if (!free_wagon && (!auto_refit || !front->current_order.IsType(OT_LOADING)) && !front->IsStoppedInDepot()) return_cmd_error(STR_ERROR_TRAIN_MUST_BE_STOPPED_INSIDE_DEPOT + front->type);
|
if ((flags & DC_QUERY_COST) == 0 && // used by the refit GUI, including the order refit GUI.
|
||||||
|
!free_wagon && // used by autoreplace/renew
|
||||||
|
(!auto_refit || !front->current_order.IsType(OT_LOADING)) && // refit inside stations
|
||||||
|
!front->IsStoppedInDepot()) { // refit inside depots
|
||||||
|
return_cmd_error(STR_ERROR_TRAIN_MUST_BE_STOPPED_INSIDE_DEPOT + front->type);
|
||||||
|
}
|
||||||
|
|
||||||
if (front->vehstatus & VS_CRASHED) return_cmd_error(STR_ERROR_VEHICLE_IS_DESTROYED);
|
if (front->vehstatus & VS_CRASHED) return_cmd_error(STR_ERROR_VEHICLE_IS_DESTROYED);
|
||||||
|
|
||||||
/* Check cargo */
|
/* Check cargo */
|
||||||
|
@@ -727,7 +727,10 @@ struct RefitWindow : public Window {
|
|||||||
if (_returned_mail_refit_capacity > 0) {
|
if (_returned_mail_refit_capacity > 0) {
|
||||||
SetDParam(2, CT_MAIL);
|
SetDParam(2, CT_MAIL);
|
||||||
SetDParam(3, _returned_mail_refit_capacity);
|
SetDParam(3, _returned_mail_refit_capacity);
|
||||||
if (money <= 0) {
|
if (this->order != INVALID_VEH_ORDER_ID) {
|
||||||
|
/* No predictable cost */
|
||||||
|
return STR_PURCHASE_INFO_AIRCRAFT_CAPACITY;
|
||||||
|
} else if (money <= 0) {
|
||||||
SetDParam(4, -money);
|
SetDParam(4, -money);
|
||||||
return STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT;
|
return STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT;
|
||||||
} else {
|
} else {
|
||||||
@@ -735,7 +738,11 @@ struct RefitWindow : public Window {
|
|||||||
return STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT;
|
return STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (money <= 0) {
|
if (this->order != INVALID_VEH_ORDER_ID) {
|
||||||
|
/* No predictable cost */
|
||||||
|
SetDParam(2, STR_EMPTY);
|
||||||
|
return STR_PURCHASE_INFO_CAPACITY;
|
||||||
|
} else if (money <= 0) {
|
||||||
SetDParam(2, -money);
|
SetDParam(2, -money);
|
||||||
return STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT;
|
return STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT;
|
||||||
} else {
|
} else {
|
||||||
|
@@ -1207,6 +1207,7 @@ void ChangeWindowOwner(Owner old_owner, Owner new_owner)
|
|||||||
case WC_BUY_COMPANY:
|
case WC_BUY_COMPANY:
|
||||||
case WC_COMPANY:
|
case WC_COMPANY:
|
||||||
case WC_COMPANY_INFRASTRUCTURE:
|
case WC_COMPANY_INFRASTRUCTURE:
|
||||||
|
case WC_VEHICLE_ORDERS: // Changing owner would also require changing WindowDesc, which is not possible; however keeping the old one crashes because of missing widgets etc.. See ShowOrdersWindow().
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@@ -67,7 +67,7 @@ static inline int UnScaleByZoomLower(int value, ZoomLevel zoom)
|
|||||||
/**
|
/**
|
||||||
* Short-hand to apply GUI zoom level.
|
* Short-hand to apply GUI zoom level.
|
||||||
* @param value Pixel amount at #ZOOM_LVL_BEGIN (full zoom in).
|
* @param value Pixel amount at #ZOOM_LVL_BEGIN (full zoom in).
|
||||||
* @return value Pixel amount at #ZOOM_LVL_GUI.
|
* @return Pixel amount at #ZOOM_LVL_GUI (current interface size).
|
||||||
*/
|
*/
|
||||||
static inline int UnScaleGUI(int value)
|
static inline int UnScaleGUI(int value)
|
||||||
{
|
{
|
||||||
@@ -76,8 +76,8 @@ static inline int UnScaleGUI(int value)
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Scale traditional pixel dimensions to GUI zoom level.
|
* Scale traditional pixel dimensions to GUI zoom level.
|
||||||
* @param value Pixel amount at 1x zoom level.
|
* @param value Pixel amount at #ZOOM_LVL_BASE (traditional "normal" interface size).
|
||||||
* @return value Pixel amount at #ZOOM_LVL_GUI.
|
* @return Pixel amount at #ZOOM_LVL_GUI (current interface size).
|
||||||
*/
|
*/
|
||||||
static inline int ScaleGUITrad(int value)
|
static inline int ScaleGUITrad(int value)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user