Merge branch 'master' into jgrpp

# Conflicts:
#	src/animated_tile.cpp
#	src/cargopacket.h
#	src/cheat_gui.cpp
#	src/company_cmd.cpp
#	src/company_gui.cpp
#	src/date.cpp
#	src/disaster_vehicle.cpp
#	src/dock_gui.cpp
#	src/economy.cpp
#	src/engine.cpp
#	src/error_gui.cpp
#	src/fontcache/spritefontcache.cpp
#	src/game/game_gui.cpp
#	src/game/game_text.cpp
#	src/gfx.cpp
#	src/graph_gui.cpp
#	src/highscore_gui.cpp
#	src/industry_cmd.cpp
#	src/lang/dutch.txt
#	src/lang/english_AU.txt
#	src/lang/english_US.txt
#	src/lang/finnish.txt
#	src/lang/french.txt
#	src/lang/italian.txt
#	src/lang/portuguese.txt
#	src/lang/russian.txt
#	src/lang/turkish.txt
#	src/lang/vietnamese.txt
#	src/main_gui.cpp
#	src/misc_gui.cpp
#	src/network/network_gui.cpp
#	src/network/network_server.cpp
#	src/newgrf.cpp
#	src/newgrf.h
#	src/newgrf_generic.cpp
#	src/news_gui.cpp
#	src/openttd.cpp
#	src/os/unix/unix.cpp
#	src/os/windows/font_win32.cpp
#	src/os/windows/win32.cpp
#	src/rail_gui.cpp
#	src/road_gui.cpp
#	src/saveload/afterload.cpp
#	src/saveload/misc_sl.cpp
#	src/saveload/oldloader_sl.cpp
#	src/saveload/saveload.cpp
#	src/saveload/saveload.h
#	src/script/script_gui.cpp
#	src/settings_table.cpp
#	src/signs_gui.cpp
#	src/smallmap_gui.cpp
#	src/smallmap_gui.h
#	src/spritecache.cpp
#	src/spritecache.h
#	src/spriteloader/grf.cpp
#	src/station_cmd.cpp
#	src/statusbar_gui.cpp
#	src/stdafx.h
#	src/strgen/strgen_base.cpp
#	src/subsidy.cpp
#	src/table/settings/difficulty_settings.ini
#	src/texteff.cpp
#	src/timetable_cmd.cpp
#	src/timetable_gui.cpp
#	src/toolbar_gui.cpp
#	src/town_cmd.cpp
#	src/town_gui.cpp
#	src/townname.cpp
#	src/vehicle.cpp
#	src/waypoint_cmd.cpp
#	src/widgets/dropdown.cpp
#	src/window.cpp
pull/544/head
Jonathan G Rennison 1 year ago
commit fd4d4d341d

@ -30,7 +30,7 @@ def check_mode_enforcement(path):
continue
if re.match(
r"\t(EnforceDeityMode|EnforceCompanyModeValid|EnforceDeityOrCompanyModeValid|EnforceDeityOrCompanyModeValid_Void)\(",
r"\t(EnforceDeityMode|EnforceCompanyModeValid|EnforceCompanyModeValid_Void|EnforceDeityOrCompanyModeValid|EnforceDeityOrCompanyModeValid_Void)\(",
line,
):
# Mode enforcement macro found

@ -332,13 +332,13 @@ foreach(LINE IN LISTS SOURCE_LINES)
endif()
string(APPEND SQUIRREL_EXPORT "\n")
string(APPEND SQUIRREL_EXPORT "\ntemplate <> const char *GetClassName<${CLS}, ST_${APIUC}>() { return \"${API_CLS}\"; }")
string(APPEND SQUIRREL_EXPORT "\ntemplate <> const char *GetClassName<${CLS}, ScriptType::${APIUC}>() { return \"${API_CLS}\"; }")
string(APPEND SQUIRREL_EXPORT "\n")
# Then do the registration functions of the class.
string(APPEND SQUIRREL_EXPORT "\nvoid SQ${API_CLS}_Register(Squirrel *engine)")
string(APPEND SQUIRREL_EXPORT "\n{")
string(APPEND SQUIRREL_EXPORT "\n DefSQClass<${CLS}, ST_${APIUC}> SQ${API_CLS}(\"${API_CLS}\");")
string(APPEND SQUIRREL_EXPORT "\n DefSQClass<${CLS}, ScriptType::${APIUC}> SQ${API_CLS}(\"${API_CLS}\");")
if("${SUPER_CLS}" STREQUAL "Text" OR "${SUPER_CLS}" STREQUAL "ScriptObject" OR "${SUPER_CLS}" STREQUAL "AIAbstractiveList::Valuator")
string(APPEND SQUIRREL_EXPORT "\n SQ${API_CLS}.PreRegister(engine);")
else()

@ -88,9 +88,9 @@
abs( 21): 21
--AIBase--
Rand(): 2232656694
Rand(): 2514636170
Rand(): 3897038727
Rand(): 2113409458
Rand(): 2000129769
Rand(): 1788051963
RandRange(0): 0
RandRange(0): 0
RandRange(0): 0
@ -99,13 +99,13 @@
RandRange(1): 0
RandRange(2): 0
RandRange(2): 0
RandRange(2): 0
RandRange(1000000): 666804
RandRange(1000000): 624059
RandRange(1000000): 697029
Chance(1, 2): true
RandRange(2): 1
RandRange(1000000): 338687
RandRange(1000000): 274895
RandRange(1000000): 217539
Chance(1, 2): false
Chance(1, 2): true
Chance(1, 2): false
--List--
IsEmpty(): true
@ -420,144 +420,144 @@
1098 => 46116
1099 => 46158
Randomize ListDump:
1 => 688298322
2 => 2585420314
1000 => 1701392078
1001 => 2664118875
1002 => 3408466361
1003 => 4098642324
1004 => 3858929894
1005 => 3774625512
1006 => 2809742492
1007 => 3983931060
1008 => 2791524857
1009 => 4184021601
1010 => 4212142121
1011 => 46859773
1012 => 3095744278
1013 => 3104411371
1014 => 326384434
1015 => 1486817960
1016 => 2883541699
1017 => 3786540442
1018 => 820019294
1019 => 710762995
1020 => 3534100264
1021 => 3585356150
1022 => 732190215
1023 => 236336673
1024 => 740596257
1025 => 1135321785
1026 => 2067474156
1027 => 2899283689
1028 => 4054438597
1029 => 928616892
1030 => 1712486685
1031 => 1994118287
1032 => 1333321243
1033 => 194124284
1034 => 615083294
1035 => 628086450
1036 => 498957825
1037 => 1359697121
1038 => 1888433963
1039 => 941623020
1040 => 2369304004
1041 => 3523427032
1042 => 3236625937
1043 => 182127597
1044 => 646955927
1045 => 2870345582
1046 => 623062612
1047 => 2308011710
1048 => 3026140316
1049 => 3838191076
1051 => 3182411967
1052 => 2762833244
1053 => 1960404034
1054 => 1573325453
1055 => 3978347993
1056 => 699712177
1057 => 863274966
1058 => 1728276475
1059 => 4048271407
1060 => 1919485436
1061 => 111273464
1062 => 125435213
1063 => 155132602
1064 => 4123293220
1065 => 655046914
1066 => 1577399562
1067 => 1028818150
1068 => 447058239
1069 => 3237047027
1070 => 2968751973
1071 => 4096278708
1072 => 1523643051
1073 => 231373233
1074 => 1121759962
1075 => 1449439846
1076 => 2679696543
1077 => 2785673432
1078 => 2116903943
1079 => 672822173
1080 => 3325393385
1081 => 1589904755
1082 => 1148782015
1083 => 663503316
1084 => 933352745
1085 => 577717039
1086 => 402172048
1087 => 1812250453
1088 => 667300501
1089 => 2456141519
1090 => 3438492520
1091 => 420696035
1092 => 2131427774
1093 => 3859663748
1094 => 4134083418
1095 => 1969629634
1096 => 3739173141
1097 => 3459847605
1098 => 2834059387
1099 => 3148043212
1 => 1667006376
2 => 814756458
1000 => 2792131700
1001 => 3417650573
1002 => 1856129988
1003 => 1800973341
1004 => 4197962148
1005 => 2463509731
1006 => 2312121797
1007 => 1357932132
1008 => 1603755907
1009 => 1718096015
1010 => 3850074449
1011 => 2711130211
1012 => 2371249199
1013 => 881020769
1014 => 3366660077
1015 => 808768948
1016 => 3035331984
1017 => 2813590961
1018 => 2745021820
1019 => 3075151719
1020 => 2553774560
1021 => 4267762096
1022 => 3863175846
1023 => 4198397908
1024 => 817599906
1025 => 3149240362
1026 => 3003005979
1027 => 1214815375
1028 => 3784363817
1029 => 3181864540
1030 => 325341059
1031 => 1011889231
1032 => 3142617173
1033 => 1197220206
1034 => 4060510885
1035 => 3596342467
1036 => 219406671
1037 => 3695508783
1038 => 2823603997
1039 => 2625659720
1040 => 4113498476
1041 => 1125297786
1042 => 671905104
1043 => 1231077134
1044 => 892292375
1045 => 2441486929
1046 => 1804593432
1047 => 2536560053
1048 => 1896826021
1049 => 1672512966
1051 => 977884299
1052 => 681948608
1053 => 3853505792
1054 => 4118706553
1055 => 3581698138
1056 => 3073782502
1057 => 1084753140
1058 => 2266056077
1059 => 1239805090
1060 => 1183528423
1061 => 501361238
1062 => 66542127
1063 => 775638990
1064 => 1111474321
1065 => 3465462871
1066 => 2317535037
1067 => 878310882
1068 => 2231368582
1069 => 2353633007
1070 => 179259867
1071 => 1322707275
1072 => 1474105363
1073 => 619989187
1074 => 3221603092
1075 => 2400416540
1076 => 3926392705
1077 => 1122978123
1078 => 3266139701
1079 => 2948697341
1080 => 3262493501
1081 => 2200252596
1082 => 4091101485
1083 => 2797438343
1084 => 2608201933
1085 => 2577605442
1086 => 1178956760
1087 => 3047709109
1088 => 1065186815
1089 => 841440515
1090 => 842182476
1091 => 289059855
1092 => 2114106829
1093 => 436435334
1094 => 111052607
1095 => 81827083
1096 => 1961213887
1097 => 1374385392
1098 => 3255118186
1099 => 2245402931
KeepTop(10):
1 => 688298322
2 => 2585420314
1000 => 1701392078
1001 => 2664118875
1002 => 3408466361
1003 => 4098642324
1004 => 3858929894
1005 => 3774625512
1006 => 2809742492
1007 => 3983931060
1 => 1667006376
2 => 814756458
1000 => 2792131700
1001 => 3417650573
1002 => 1856129988
1003 => 1800973341
1004 => 4197962148
1005 => 2463509731
1006 => 2312121797
1007 => 1357932132
KeepBottom(8):
1000 => 1701392078
1001 => 2664118875
1002 => 3408466361
1003 => 4098642324
1004 => 3858929894
1005 => 3774625512
1006 => 2809742492
1007 => 3983931060
1000 => 2792131700
1001 => 3417650573
1002 => 1856129988
1003 => 1800973341
1004 => 4197962148
1005 => 2463509731
1006 => 2312121797
1007 => 1357932132
RemoveBottom(2):
1000 => 1701392078
1001 => 2664118875
1002 => 3408466361
1003 => 4098642324
1004 => 3858929894
1005 => 3774625512
1000 => 2792131700
1001 => 3417650573
1002 => 1856129988
1003 => 1800973341
1004 => 4197962148
1005 => 2463509731
RemoveTop(2):
1002 => 3408466361
1003 => 4098642324
1004 => 3858929894
1005 => 3774625512
1002 => 1856129988
1003 => 1800973341
1004 => 4197962148
1005 => 2463509731
RemoveList({1003, 1004}):
1002 => 3408466361
1005 => 3774625512
1002 => 1856129988
1005 => 2463509731
KeepList({1003, 1004, 1005}):
1005 => 3774625512
1005 => 2463509731
AddList({1005, 4000, 4001, 4002}):
1005 => 1005
4000 => 8000
@ -588,7 +588,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
SetName(): false
GetLastErrorString(): ERR_NAME_IS_NOT_UNIQUE
GetName(): Regression
GetPresidentName(): J. Green
GetPresidentName(): F. Gribble
SetPresidentName(): true
GetPresidentName(): Regression AI
GetBankBalance(): 100000
@ -9320,12 +9320,12 @@ ERROR: IsEnd() is invalid as Begin() is never called
GetLocation(): 33417
GetEngineType(): 153
GetUnitNumber(): 1
GetAge(): 0
GetAge(): 1
GetMaxAge(): 5490
GetAgeLeft(): 5490
GetAgeLeft(): 5489
GetCurrentSpeed(): 7
GetRunningCost(): 421
GetProfitThisYear(): 0
GetProfitThisYear(): -1
GetProfitLastYear(): 0
GetCurrentValue(): 5947
GetVehicleType(): 1
@ -9335,7 +9335,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
IsInDepot(): false
GetNumWagons(): 1
GetWagonEngineType(): 153
GetWagonAge(): 0
GetWagonAge(): 1
GetLength(): 8
GetOwner(): 1
BuildVehicle(): 14
@ -9408,11 +9408,11 @@ ERROR: IsEnd() is invalid as Begin() is never called
14 => 1
12 => 1
Age ListDump:
17 => 1
16 => 1
14 => 1
13 => 1
12 => 1
17 => 0
16 => 0
MaxAge ListDump:
16 => 10980
14 => 10980
@ -9420,9 +9420,9 @@ ERROR: IsEnd() is invalid as Begin() is never called
13 => 5490
12 => 5490
AgeLeft ListDump:
16 => 10979
16 => 10980
14 => 10979
17 => 7319
17 => 7320
13 => 5489
12 => 5489
CurrentSpeed ListDump:

Binary file not shown.

@ -24,6 +24,7 @@ add_subdirectory(sound)
add_subdirectory(spriteloader)
add_subdirectory(table)
add_subdirectory(tests)
add_subdirectory(timer)
add_subdirectory(video)
add_subdirectory(widgets)

@ -19,18 +19,6 @@
*/
class AI {
public:
/**
* The default months AIs start after each other.
*/
enum StartNext {
START_NEXT_EASY = DAYS_IN_YEAR * 2,
START_NEXT_MEDIUM = DAYS_IN_YEAR,
START_NEXT_HARD = DAYS_IN_YEAR / 2,
START_NEXT_MIN = 0,
START_NEXT_MAX = 3600,
START_NEXT_DEVIATION = 60,
};
/**
* Is it possible to start a new AI company?
* @return True if a new AI company can be started.
@ -124,11 +112,6 @@ public:
*/
static void Save(CompanyID company);
/**
* Get the number of days before the next AI should start.
*/
static int GetStartNextTime();
/** Wrapper function for AIScanner::GetAIConsoleList */
static std::string GetConsoleList(bool newest_only = false);
/** Wrapper function for AIScanner::GetAIConsoleLibraryList */

@ -16,32 +16,6 @@
#include "../safeguards.h"
/** Configuration for AI start date, every AI has this setting. */
ScriptConfigItem _start_date_config = {
"start_date",
"", // STR_AI_SETTINGS_START_DELAY
AI::START_NEXT_MIN,
AI::START_NEXT_MAX,
AI::START_NEXT_MEDIUM,
AI::START_NEXT_EASY,
AI::START_NEXT_MEDIUM,
AI::START_NEXT_HARD,
AI::START_NEXT_DEVIATION,
30,
SCRIPTCONFIG_NONE,
nullptr,
false
};
AIConfig::AIConfig(const AIConfig *config) : ScriptConfig(config)
{
/* Override start_date as per AIConfig::AddRandomDeviation().
* This is necessary because the ScriptConfig constructor will instead call
* ScriptConfig::AddRandomDeviation(). */
int start_date = config->GetSetting("start_date");
this->SetSetting("start_date", start_date != 0 ? std::max(1, this->GetSetting("start_date")) : 0);
}
/* static */ AIConfig *AIConfig::GetConfig(CompanyID company, ScriptSettingSource source)
{
AIConfig **config;
@ -69,70 +43,3 @@ bool AIConfig::ResetInfo(bool force_exact_match)
this->info = (ScriptInfo *)AI::FindInfo(this->name, force_exact_match ? this->version : -1, force_exact_match);
return this->info != nullptr;
}
void AIConfig::PushExtraConfigList()
{
this->config_list->push_back(_start_date_config);
}
void AIConfig::ClearConfigList()
{
/* The special casing for start_date is here to ensure that the
* start_date setting won't change even if you chose another Script. */
int start_date = this->GetSetting("start_date");
ScriptConfig::ClearConfigList();
this->SetSetting("start_date", start_date);
}
int AIConfig::GetSetting(const char *name) const
{
if (this->info == nullptr) {
SettingValueList::const_iterator it = this->settings.find(name);
if (it == this->settings.end()) {
assert(strcmp("start_date", name) == 0);
switch (GetGameSettings().script.settings_profile) {
case SP_EASY: return AI::START_NEXT_EASY;
case SP_MEDIUM: return AI::START_NEXT_MEDIUM;
case SP_HARD: return AI::START_NEXT_HARD;
case SP_CUSTOM: return AI::START_NEXT_MEDIUM;
default: NOT_REACHED();
}
}
return (*it).second;
}
return ScriptConfig::GetSetting(name);
}
void AIConfig::SetSetting(const char *name, int value)
{
if (this->info == nullptr) {
if (strcmp("start_date", name) != 0) return;
value = Clamp(value, AI::START_NEXT_MIN, AI::START_NEXT_MAX);
SettingValueList::iterator it = this->settings.find(name);
if (it != this->settings.end()) {
(*it).second = value;
} else {
this->settings[stredup(name)] = value;
}
return;
}
ScriptConfig::SetSetting(name, value);
}
void AIConfig::AddRandomDeviation()
{
int start_date = this->GetSetting("start_date");
ScriptConfig::AddRandomDeviation();
/* start_date = 0 is a special case, where random deviation does not occur.
* If start_date was not already 0, then a minimum value of 1 must apply. */
this->SetSetting("start_date", start_date != 0 ? std::max(1, this->GetSetting("start_date")) : 0);
}

@ -24,14 +24,12 @@ public:
ScriptConfig()
{}
AIConfig(const AIConfig *config);
AIConfig(const AIConfig *config) :
ScriptConfig(config)
{}
class AIInfo *GetInfo() const;
int GetSetting(const char *name) const override;
void SetSetting(const char *name, int value) override;
void AddRandomDeviation() override;
/**
* When ever the AI Scanner is reloaded, all infos become invalid. This
* function tells AIConfig about this.
@ -43,8 +41,6 @@ public:
bool ResetInfo(bool force_exact_match);
protected:
void PushExtraConfigList() override;
void ClearConfigList() override;
ScriptInfo *FindInfo(const char *name, int version, bool force_exact_match) override;
};

@ -287,17 +287,6 @@
}
}
/* static */ int AI::GetStartNextTime()
{
/* Find the first company which doesn't exist yet */
for (CompanyID c = COMPANY_FIRST; c < MAX_COMPANIES; c++) {
if (!Company::IsValidID(c)) return AIConfig::GetConfig(c, AIConfig::SSS_FORCE_GAME)->GetSetting("start_date");
}
/* Currently no AI can be started, check again in a year. */
return DAYS_IN_YEAR;
}
/* static */ std::string AI::GetConsoleList(bool newest_only)
{
return AI::scanner_info->GetConsoleList(newest_only);

@ -34,11 +34,17 @@ static const NWidgetPart _nested_ai_config_widgets[] = {
NWidget(WWT_PANEL, COLOUR_MAUVE, WID_AIC_BACKGROUND),
NWidget(NWID_VERTICAL), SetPIP(4, 4, 4),
NWidget(NWID_HORIZONTAL), SetPIP(7, 0, 7),
NWidget(WWT_PUSHARROWBTN, COLOUR_YELLOW, WID_AIC_DECREASE), SetDataTip(AWV_DECREASE, STR_NULL),
NWidget(WWT_PUSHARROWBTN, COLOUR_YELLOW, WID_AIC_INCREASE), SetDataTip(AWV_INCREASE, STR_NULL),
NWidget(WWT_PUSHARROWBTN, COLOUR_YELLOW, WID_AIC_DECREASE_NUMBER), SetDataTip(AWV_DECREASE, STR_NULL),
NWidget(WWT_PUSHARROWBTN, COLOUR_YELLOW, WID_AIC_INCREASE_NUMBER), SetDataTip(AWV_INCREASE, STR_NULL),
NWidget(NWID_SPACER), SetMinimalSize(6, 0),
NWidget(WWT_TEXT, COLOUR_MAUVE, WID_AIC_NUMBER), SetDataTip(STR_AI_CONFIG_MAX_COMPETITORS, STR_NULL), SetFill(1, 0),
EndContainer(),
NWidget(NWID_HORIZONTAL), SetPIP(7, 0, 7),
NWidget(WWT_PUSHARROWBTN, COLOUR_YELLOW, WID_AIC_DECREASE_INTERVAL), SetDataTip(AWV_DECREASE, STR_NULL),
NWidget(WWT_PUSHARROWBTN, COLOUR_YELLOW, WID_AIC_INCREASE_INTERVAL), SetDataTip(AWV_INCREASE, STR_NULL),
NWidget(NWID_SPACER), SetMinimalSize(6, 0),
NWidget(WWT_TEXT, COLOUR_MAUVE, WID_AIC_INTERVAL), SetDataTip(STR_AI_CONFIG_COMPETITORS_INTERVAL, STR_NULL), SetFill(1, 0),
EndContainer(),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPIP(7, 0, 7),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_MOVE_UP), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_AI_CONFIG_MOVE_UP, STR_AI_CONFIG_MOVE_UP_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_MOVE_DOWN), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_AI_CONFIG_MOVE_DOWN, STR_AI_CONFIG_MOVE_DOWN_TOOLTIP),
@ -104,14 +110,20 @@ struct AIConfigWindow : public Window {
case WID_AIC_NUMBER:
SetDParam(0, GetGameSettings().difficulty.max_no_competitors);
break;
case WID_AIC_INTERVAL:
SetDParam(0, GetGameSettings().difficulty.competitors_interval);
break;
}
}
void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
{
switch (widget) {
case WID_AIC_DECREASE:
case WID_AIC_INCREASE:
case WID_AIC_DECREASE_NUMBER:
case WID_AIC_INCREASE_NUMBER:
case WID_AIC_DECREASE_INTERVAL:
case WID_AIC_INCREASE_INTERVAL:
*size = maxdim(*size, NWidgetScrollbar::GetHorizontalDimension());
break;
@ -177,10 +189,10 @@ struct AIConfigWindow : public Window {
}
switch (widget) {
case WID_AIC_DECREASE:
case WID_AIC_INCREASE: {
case WID_AIC_DECREASE_NUMBER:
case WID_AIC_INCREASE_NUMBER: {
int new_value;
if (widget == WID_AIC_DECREASE) {
if (widget == WID_AIC_DECREASE_NUMBER) {
new_value = std::max(0, GetGameSettings().difficulty.max_no_competitors - 1);
} else {
new_value = std::min(MAX_COMPANIES - 1, GetGameSettings().difficulty.max_no_competitors + 1);
@ -189,6 +201,18 @@ struct AIConfigWindow : public Window {
break;
}
case WID_AIC_DECREASE_INTERVAL:
case WID_AIC_INCREASE_INTERVAL: {
int new_value;
if (widget == WID_AIC_DECREASE_INTERVAL) {
new_value = std::max(static_cast<int>(MIN_COMPETITORS_INTERVAL), GetGameSettings().difficulty.competitors_interval - 1);
} else {
new_value = std::min(static_cast<int>(MAX_COMPETITORS_INTERVAL), GetGameSettings().difficulty.competitors_interval + 1);
}
IConsoleSetSetting("difficulty.competitors_interval", new_value);
break;
}
case WID_AIC_LIST: { // Select a slot
this->selected_slot = (CompanyID)this->vscroll->GetScrolledRowFromWidget(pt.y, this, widget);
this->InvalidateData();
@ -249,8 +273,10 @@ struct AIConfigWindow : public Window {
if (!gui_scope) return;
this->SetWidgetDisabledState(WID_AIC_DECREASE, GetGameSettings().difficulty.max_no_competitors == 0);
this->SetWidgetDisabledState(WID_AIC_INCREASE, GetGameSettings().difficulty.max_no_competitors == MAX_COMPANIES - 1);
this->SetWidgetDisabledState(WID_AIC_DECREASE_NUMBER, GetGameSettings().difficulty.max_no_competitors == 0);
this->SetWidgetDisabledState(WID_AIC_INCREASE_NUMBER, GetGameSettings().difficulty.max_no_competitors == MAX_COMPANIES - 1);
this->SetWidgetDisabledState(WID_AIC_DECREASE_INTERVAL, GetGameSettings().difficulty.competitors_interval == MIN_COMPETITORS_INTERVAL);
this->SetWidgetDisabledState(WID_AIC_INCREASE_INTERVAL, GetGameSettings().difficulty.competitors_interval == MAX_COMPETITORS_INTERVAL);
this->SetWidgetDisabledState(WID_AIC_CHANGE, this->selected_slot == INVALID_COMPANY);
this->SetWidgetDisabledState(WID_AIC_CONFIGURE, this->selected_slot == INVALID_COMPANY || AIConfig::GetConfig(this->selected_slot)->GetConfigList()->size() == 0);
this->SetWidgetDisabledState(WID_AIC_MOVE_UP, this->selected_slot == INVALID_COMPANY || !IsEditable((CompanyID)(this->selected_slot - 1)));

@ -32,12 +32,12 @@ static bool CheckAPIVersion(const char *api_version)
#if defined(_WIN32)
#undef GetClassName
#endif /* _WIN32 */
template <> const char *GetClassName<AIInfo, ST_AI>() { return "AIInfo"; }
template <> const char *GetClassName<AIInfo, ScriptType::AI>() { return "AIInfo"; }
/* static */ void AIInfo::RegisterAPI(Squirrel *engine)
{
/* Create the AIInfo class, and add the RegisterAI function */
DefSQClass<AIInfo, ST_AI> SQAIInfo("AIInfo");
DefSQClass<AIInfo, ScriptType::AI> SQAIInfo("AIInfo");
SQAIInfo.PreRegister(engine);
SQAIInfo.AddConstructor<void (AIInfo::*)(), 1>(engine, "x");
SQAIInfo.DefSQAdvancedMethod(engine, &AIInfo::AddSetting, "AddSetting");
@ -69,11 +69,6 @@ template <> const char *GetClassName<AIInfo, ST_AI>() { return "AIInfo"; }
SQInteger res = ScriptInfo::Constructor(vm, info);
if (res != 0) return res;
ScriptConfigItem config = _start_date_config;
config.name = stredup(config.name);
config.description = stredup(config.description);
info->config_list.push_front(config);
if (info->engine->MethodExists(*info->SQ_instance, "MinVersionToLoad")) {
if (!info->engine->CallIntegerMethod(*info->SQ_instance, "MinVersionToLoad", &info->min_loadable_version, MAX_GET_OPS)) return SQ_ERROR;
} else {

@ -33,7 +33,7 @@
#include "../safeguards.h"
AIInstance::AIInstance() :
ScriptInstance("AI", ST_AI)
ScriptInstance("AI", ScriptType::AI)
{}
void AIInstance::Initialize(AIInfo *info)

@ -304,7 +304,7 @@ template <bool Tpal_to_rgb> Sprite *Blitter_32bppOptimized::EncodeInternal(const
ZoomLevel zoom_min;
ZoomLevel zoom_max;
if (sprite->type == ST_FONT) {
if (sprite->type == SpriteType::Font) {
zoom_min = ZOOM_LVL_NORMAL;
zoom_max = ZOOM_LVL_NORMAL;
} else {

@ -28,7 +28,7 @@ Sprite *Blitter_32bppSSE_Base::Encode(const SpriteLoader::Sprite *sprite, Alloca
*/
ZoomLevel zoom_min = ZOOM_LVL_NORMAL;
ZoomLevel zoom_max = ZOOM_LVL_NORMAL;
if (sprite->type != ST_FONT) {
if (sprite->type != SpriteType::Font) {
zoom_min = _settings_client.gui.zoom_min;
zoom_max = _settings_client.gui.zoom_max;
if (zoom_max == zoom_min) zoom_max = ZOOM_LVL_MAX;

@ -431,7 +431,7 @@ void Blitter_40bppAnim::DrawColourMappingRect(void *dst, int width, int height,
anim = anim - width + _screen.pitch;
} while (--height);
} else if (pal == PALETTE_NEWSPAPER) {
const uint8 *remap = GetNonSprite(pal, ST_RECOLOUR) + 1;
const uint8 *remap = GetNonSprite(pal, SpriteType::Recolour) + 1;
do {
for (int i = 0; i != width; i++) {
if (*anim == 0) *udst = MakeGrey(*udst);
@ -443,7 +443,7 @@ void Blitter_40bppAnim::DrawColourMappingRect(void *dst, int width, int height,
anim = anim - width + _screen.pitch;
} while (--height);
} else {
const uint8 *remap = GetNonSprite(pal, ST_RECOLOUR) + 1;
const uint8 *remap = GetNonSprite(pal, SpriteType::Recolour) + 1;
do {
for (int i = 0; i != width; i++) {
*anim = remap[*anim];

@ -16,7 +16,7 @@
void Blitter_8bppBase::DrawColourMappingRect(void *dst, int width, int height, PaletteID pal)
{
const uint8 *ctab = GetNonSprite(pal, ST_RECOLOUR) + 1;
const uint8 *ctab = GetNonSprite(pal, SpriteType::Recolour) + 1;
do {
for (int i = 0; i != width; i++) *((uint8 *)dst + i) = ctab[((uint8 *)dst)[i]];

@ -128,7 +128,7 @@ Sprite *Blitter_8bppOptimized::Encode(const SpriteLoader::Sprite *sprite, Alloca
ZoomLevel zoom_min;
ZoomLevel zoom_max;
if (sprite->type == ST_FONT) {
if (sprite->type == SpriteType::Font) {
zoom_min = ZOOM_LVL_NORMAL;
zoom_max = ZOOM_LVL_NORMAL;
} else {

@ -144,10 +144,10 @@ public:
/** Types of cargo source and destination */
enum SourceType : byte {
ST_INDUSTRY, ///< Source/destination is an industry
ST_TOWN, ///< Source/destination is a town
ST_HEADQUARTERS, ///< Source/destination are company headquarters
enum class SourceType : byte {
Industry, ///< Source/destination is an industry
Town, ///< Source/destination is a town
Headquarters, ///< Source/destination are company headquarters
};
typedef uint16 SourceID; ///< Contains either industry ID, town ID or company ID (or INVALID_SOURCE)

@ -123,13 +123,13 @@ void AddCargoDelivery(CargoID cargo_type, CompanyID company, uint32 amount, Sour
if (src != INVALID_SOURCE) {
/* Handle pickup update. */
switch (src_type) {
case ST_INDUSTRY: {
case SourceType::Industry: {
CargoMonitorID num = EncodeCargoIndustryMonitor(company, cargo_type, src);
CargoMonitorMap::iterator iter = _cargo_pickups.find(num);
if (iter != _cargo_pickups.end()) iter->second += amount;
break;
}
case ST_TOWN: {
case SourceType::Town: {
CargoMonitorID num = EncodeCargoTownMonitor(company, cargo_type, src);
CargoMonitorMap::iterator iter = _cargo_pickups.find(num);
if (iter != _cargo_pickups.end()) iter->second += amount;

@ -101,7 +101,7 @@ void DumpCargoPacketDeferredPaymentStats(char *buffer, const char *last)
*/
CargoPacket::CargoPacket()
{
this->source_type = ST_INDUSTRY;
this->source_type = SourceType::Industry;
this->source_id = INVALID_SOURCE;
}

@ -84,7 +84,7 @@ public:
CargoPacket();
CargoPacket(StationID source, TileIndex source_xy, uint16 count, SourceType source_type, SourceID source_id);
CargoPacket(uint16 count, uint16 days_in_transit, StationID source, TileIndex source_xy, TileIndex loaded_at_xy, Money feeder_share = 0, SourceType source_type = ST_INDUSTRY, SourceID source_id = INVALID_SOURCE);
CargoPacket(uint16 count, uint16 days_in_transit, StationID source, TileIndex source_xy, TileIndex loaded_at_xy, Money feeder_share = 0, SourceType source_type = SourceType::Industry, SourceID source_id = INVALID_SOURCE);
~CargoPacket();
CargoPacket *Split(uint new_size);

@ -181,7 +181,6 @@ struct Company : CompanyPool::PoolItem<&_company_pool>, CompanyProperties {
Money CalculateCompanyValue(const Company *c, bool including_loan = true);
Money CalculateCompanyValueExcludingShares(const Company *c, bool including_loan = true);
extern uint _next_competitor_start;
extern uint _cur_company_tick_index;
#endif /* COMPANY_BASE_H */

@ -39,6 +39,8 @@
#include "widgets/statusbar_widget.h"
#include "core/backup_type.hpp"
#include "debug_desync.h"
#include "timer/timer.h"
#include "timer/timer_game_tick.h"
#include "table/strings.h"
@ -54,7 +56,6 @@ CompanyID _current_company; ///< Company currently doing an action.
CompanyID _loaded_local_company; ///< Local company in loaded savegame
Colours _company_colours[MAX_COMPANIES]; ///< NOSAVE: can be determined from company structs.
CompanyManagerFace _company_manager_face; ///< for company manager face storage in openttd.cfg
uint _next_competitor_start; ///< the number of ticks before the next AI is started
uint _cur_company_tick_index; ///< used to generate a name for one company that doesn't have a name yet per tick
CompanyMask _saved_PLYP_invalid_mask;
@ -622,16 +623,10 @@ Company *DoStartupNewCompany(DoStartupNewCompanyFlag flags, CompanyID company)
return c;
}
/** Start the next competitor now. */
void StartupCompanies()
{
_next_competitor_start = 0;
}
/** Start a new competitor company if possible. */
static bool MaybeStartNewCompany()
{
if (_networking && Company::GetNumItems() >= _settings_client.network.max_companies) return false;
TimeoutTimer<TimerGameTick> _new_competitor_timeout(0, []() {
if (_game_mode == GM_MENU || !AI::CanStartNew()) return;
if (_networking && Company::GetNumItems() >= _settings_client.network.max_companies) return;
/* count number of competitors */
uint n = 0;
@ -639,13 +634,26 @@ static bool MaybeStartNewCompany()
if (c->is_ai) n++;
}
if (n < (uint)_settings_game.difficulty.max_no_competitors) {
/* Send a command to all clients to start up a new AI.
* Works fine for Multiplayer and Singleplayer */
return DoCommandP(0, CCA_NEW_AI | INVALID_COMPANY << 16, 0, CMD_COMPANY_CTRL);
}
if (n >= (uint)_settings_game.difficulty.max_no_competitors) return;
return false;
/* Send a command to all clients to start up a new AI.
* Works fine for Multiplayer and Singleplayer */
DoCommandP(0, CCA_NEW_AI | INVALID_COMPANY << 16, 0, CMD_COMPANY_CTRL);
});
/** Start of a new game. */
void StartupCompanies()
{
/* Ensure the timeout is aborted, so it doesn't fire based on information of the last game. */
_new_competitor_timeout.Abort();
/* If there is no delay till the start of the next competitor, start all competitors at the start of the game. */
if (_settings_game.difficulty.competitors_interval == 0 && _game_mode != GM_MENU && AI::CanStartNew()) {
for (auto i = 0; i < _settings_game.difficulty.max_no_competitors; i++) {
if (_networking && Company::GetNumItems() >= _settings_client.network.max_companies) break;
DoCommandP(0, CCA_NEW_AI | INVALID_COMPANY << 16, 0, CMD_COMPANY_CTRL);
}
}
}
static void ClearSavedPLYP()
@ -786,20 +794,15 @@ void OnTick_Companies(bool main_tick)
if (c->bankrupt_asked != 0 && c->bankrupt_timeout == 0) HandleBankruptcyTakeover(c);
}
if (_next_competitor_start == 0) {
/* AI::GetStartNextTime() can return 0. */
_next_competitor_start = std::max(1, AI::GetStartNextTime() * DAY_TICKS);
}
if (_new_competitor_timeout.HasFired() && _game_mode != GM_MENU && AI::CanStartNew()) {
int32 timeout = _settings_game.difficulty.competitors_interval * 60 * TICKS_PER_SECOND;
/* If the interval is zero, check every ~10 minutes if a company went bankrupt and needs replacing. */
if (timeout == 0) timeout = 10 * 60 * TICKS_PER_SECOND;
if (_game_mode != GM_MENU && AI::CanStartNew() && --_next_competitor_start == 0) {
/* Allow multiple AIs to possibly start in the same tick. */
do {
if (!MaybeStartNewCompany()) break;
/* Randomize a bit when the AI is actually going to start; ranges from 87.5% .. 112.5% of indicated value. */
timeout += ScriptObject::GetRandomizer(OWNER_NONE).Next(timeout / 4) - timeout / 8;
/* In networking mode, we can only send a command to start but it
* didn't execute yet, so we cannot loop. */
if (_networking) break;
} while (AI::GetStartNextTime() == 0);
_new_competitor_timeout.Reset(std::max(1, timeout));
}
}

@ -1235,13 +1235,17 @@ void ShowCompanyLiveryWindow(CompanyID company, GroupID group)
* Draws the face of a company manager's face.
* @param cmf the company manager's face
* @param colour the (background) colour of the gradient
* @param x x-position to draw the face
* @param y y-position to draw the face
* @param r position to draw the face
*/
void DrawCompanyManagerFace(CompanyManagerFace cmf, int colour, int x, int y)
void DrawCompanyManagerFace(CompanyManagerFace cmf, int colour, const Rect &r)
{
GenderEthnicity ge = (GenderEthnicity)GetCompanyManagerFaceBits(cmf, CMFV_GEN_ETHN, GE_WM);
/* Determine offset from centre of drawing rect. */
Dimension d = GetSpriteSize(SPR_GRADIENT);
int x = CenterBounds(r.left, r.right, d.width);
int y = CenterBounds(r.top, r.bottom, d.height);
bool has_moustache = !HasBit(ge, GENDER_FEMALE) && GetCompanyManagerFaceBits(cmf, CMFV_HAS_MOUSTACHE, ge) != 0;
bool has_tie_earring = !HasBit(ge, GENDER_FEMALE) || GetCompanyManagerFaceBits(cmf, CMFV_HAS_TIE_EARRING, ge) != 0;
bool has_glasses = GetCompanyManagerFaceBits(cmf, CMFV_HAS_GLASSES, ge) != 0;
@ -1544,7 +1548,7 @@ public:
break;
case WID_SCMF_FACE: {
Dimension face_size = GetSpriteSize(SPR_GRADIENT);
Dimension face_size = GetScaledSpriteSize(SPR_GRADIENT);
size->width = std::max(size->width, face_size.width);
size->height = std::max(size->height, face_size.height);
break;
@ -1696,7 +1700,7 @@ public:
{
switch (widget) {
case WID_SCMF_FACE:
DrawCompanyManagerFace(this->face, Company::Get((CompanyID)this->window_number)->colour, r.left, r.top);
DrawCompanyManagerFace(this->face, Company::Get((CompanyID)this->window_number)->colour, r);
break;
}
}
@ -2481,7 +2485,7 @@ struct CompanyWindow : Window
{
switch (widget) {
case WID_C_FACE: {
Dimension face_size = GetSpriteSize(SPR_GRADIENT);
Dimension face_size = GetScaledSpriteSize(SPR_GRADIENT);
size->width = std::max(size->width, face_size.width);
size->height = std::max(size->height, face_size.height);
break;
@ -2618,7 +2622,7 @@ struct CompanyWindow : Window
const Company *c = Company::Get((CompanyID)this->window_number);
switch (widget) {
case WID_C_FACE:
DrawCompanyManagerFace(c->face, c->colour, r.left, r.top);
DrawCompanyManagerFace(c->face, c->colour, r);
break;
case WID_C_FACE_TITLE:
@ -2910,7 +2914,7 @@ struct BuyCompanyWindow : Window {
{
switch (widget) {
case WID_BC_FACE:
*size = GetSpriteSize(SPR_GRADIENT);
*size = GetScaledSpriteSize(SPR_GRADIENT);
break;
case WID_BC_QUESTION:
@ -2937,7 +2941,7 @@ struct BuyCompanyWindow : Window {
switch (widget) {
case WID_BC_FACE: {
const Company *c = Company::Get((CompanyID)this->window_number);
DrawCompanyManagerFace(c->face, c->colour, r.left, r.top);
DrawCompanyManagerFace(c->face, c->colour, r);
break;
}

@ -236,6 +236,6 @@ static inline SpriteID GetCompanyManagerFaceSprite(CompanyManagerFace cmf, Compa
return _cmf_info[cmfv].first_sprite[ge] + GB(cmf, _cmf_info[cmfv].offset, _cmf_info[cmfv].length);
}
void DrawCompanyManagerFace(CompanyManagerFace face, int colour, int x, int y);
void DrawCompanyManagerFace(CompanyManagerFace face, int colour, const Rect &r);
#endif /* COMPANY_MANAGER_FACE_H */

@ -42,6 +42,9 @@ static const uint MAX_LENGTH_COMPANY_NAME_CHARS = 32; ///< The maximum length
static const uint MAX_HISTORY_QUARTERS = 24; ///< The maximum number of quarters kept as performance's history
static const uint MAX_COMPANY_SHARE_OWNERS = 4; ///< The maximum number of shares of a company that can be owned by another company.
static const uint MIN_COMPETITORS_INTERVAL = 0; ///< The minimum interval (in minutes) between competitors.
static const uint MAX_COMPETITORS_INTERVAL = 500; ///< The maximum interval (in minutes) between competitors.
/** Define basic enum properties */
template <> struct EnumPropsT<Owner> : MakeEnumPropsT<Owner, byte, OWNER_BEGIN, OWNER_END, INVALID_OWNER> {};

@ -1151,7 +1151,7 @@ uint DeliverGoodsToIndustryNearestFirst(const Station *st, CargoID cargo_type, u
accepted += amount;
/* Update the cargo monitor. */
AddCargoDelivery(cargo_type, company, amount, ST_INDUSTRY, source, st, ind->index);
AddCargoDelivery(cargo_type, company, amount, SourceType::Industry, source, st, ind->index);
return num_pieces != 0;
});
@ -1192,7 +1192,7 @@ uint DeliverGoodsToIndustryEqually(const Station *st, CargoID cargo_type, uint n
include(_cargo_delivery_destinations, e.ind);
e.ind->incoming_cargo_waiting[e.cargo_index] += e.delivered;
e.ind->last_cargo_accepted_at[e.cargo_index] = _date;
AddCargoDelivery(cargo_type, company, e.delivered, ST_INDUSTRY, source, st, e.ind->index);
AddCargoDelivery(cargo_type, company, e.delivered, SourceType::Industry, source, st, e.ind->index);
};
if (acceptingIndustries.size() == 1) {
@ -1293,7 +1293,7 @@ static Money DeliverGoods(int num_pieces, CargoID cargo_type, StationID dest, Ti
Station *st = Station::Get(dest);
/* Give the goods to the industry. */
uint accepted_ind = DeliverGoodsToIndustry(st, cargo_type, num_pieces, src_type == ST_INDUSTRY ? src : INVALID_INDUSTRY, company->index);
uint accepted_ind = DeliverGoodsToIndustry(st, cargo_type, num_pieces, src_type == SourceType::Industry ? src : INVALID_INDUSTRY, company->index);
/* If this cargo type is always accepted, accept all */
uint accepted_total = HasBit(st->always_accepted, cargo_type) ? num_pieces : accepted_ind;

@ -1339,6 +1339,9 @@ void CheckEngines()
for (const Engine *e : Engine::Iterate()) {
if (!e->IsEnabled()) continue;
/* Don't consider train wagons, we need a powered engine available. */
if (e->type == VEH_TRAIN && e->u.rail.railveh_type == RAILVEH_WAGON) continue;
/* We have an available engine... yay! */
if ((e->flags & ENGINE_AVAILABLE) != 0 && e->company_avail != 0) return;

@ -214,7 +214,7 @@ public:
break;
}
case WID_EM_FACE: {
Dimension face_size = GetSpriteSize(SPR_GRADIENT);
Dimension face_size = GetScaledSpriteSize(SPR_GRADIENT);
size->width = std::max(size->width, face_size.width);
size->height = std::max(size->height, face_size.height);
break;
@ -274,7 +274,7 @@ public:
switch (widget) {
case WID_EM_FACE: {
const Company *c = Company::Get(this->face);
DrawCompanyManagerFace(c->face, c->colour, r.left, r.top);
DrawCompanyManagerFace(c->face, c->colour, r);
break;
}

@ -243,7 +243,7 @@ const Sprite *FreeTypeFontCache::InternalGetGlyph(GlyphID key, bool aa)
/* FreeType has rendered the glyph, now we allocate a sprite and copy the image into it */
SpriteLoader::Sprite sprite;
sprite.AllocateData(ZOOM_LVL_NORMAL, static_cast<size_t>(width) * height);
sprite.type = ST_FONT;
sprite.type = SpriteType::Font;
sprite.colours = (aa ? SCC_PAL | SCC_ALPHA : SCC_PAL);
sprite.width = width;
sprite.height = height;

@ -124,14 +124,14 @@ const Sprite *SpriteFontCache::GetGlyph(GlyphID key)
{
SpriteID sprite = this->GetUnicodeGlyph(key);
if (sprite == 0) sprite = this->GetUnicodeGlyph('?');
return GetSprite(sprite, ST_FONT);
return GetSprite(sprite, SpriteType::Font);
}
uint SpriteFontCache::GetGlyphWidth(GlyphID key)
{
SpriteID sprite = this->GetUnicodeGlyph(key);
if (sprite == 0) sprite = this->GetUnicodeGlyph('?');
return SpriteExists(sprite) ? GetSprite(sprite, ST_FONT)->width + ScaleFontTrad(this->fs != FS_NORMAL ? 1 : 0) : 0;
return SpriteExists(sprite) ? GetSprite(sprite, SpriteType::Font)->width + ScaleFontTrad(this->fs != FS_NORMAL ? 1 : 0) : 0;
}
bool SpriteFontCache::GetDrawGlyphShadow()

@ -141,7 +141,7 @@ const Sprite *TrueTypeFontCache::GetGlyph(GlyphID key)
8, // width
0, // x_offs
0, // y_offs
ST_FONT,
SpriteType::Font,
SCC_PAL,
builtin_questionmark_data
};

@ -30,12 +30,12 @@ static bool CheckAPIVersion(const char *api_version)
#if defined(_WIN32)
#undef GetClassName
#endif /* _WIN32 */
template <> const char *GetClassName<GameInfo, ST_GS>() { return "GSInfo"; }
template <> const char *GetClassName<GameInfo, ScriptType::GS>() { return "GSInfo"; }
/* static */ void GameInfo::RegisterAPI(Squirrel *engine)
{
/* Create the GSInfo class, and add the RegisterGS function */
DefSQClass<GameInfo, ST_GS> SQGSInfo("GSInfo");
DefSQClass<GameInfo, ScriptType::GS> SQGSInfo("GSInfo");
SQGSInfo.PreRegister(engine);
SQGSInfo.AddConstructor<void (GameInfo::*)(), 1>(engine, "x");
SQGSInfo.DefSQAdvancedMethod(engine, &GameInfo::AddSetting, "AddSetting");

@ -27,7 +27,7 @@
GameInstance::GameInstance() :
ScriptInstance("GS", ST_GS)
ScriptInstance("GS", ScriptType::GS)
{}
void GameInstance::Initialize(GameInfo *info)

@ -91,7 +91,7 @@ byte _colour_value[COLOUR_END] = {
struct GfxBlitterCtx {
const DrawPixelInfo *dpi;
const byte *colour_remap_ptr = nullptr;
byte string_colourremap[3]; ///< Recoloursprite for stringdrawing. The grf loader ensures that #ST_FONT sprites only use colours 0 to 2.
byte string_colourremap[3]; ///< Recoloursprite for stringdrawing. The grf loader ensures that #SpriteType::Font sprites only use colours 0 to 2.
int sprite_brightness_adjust = 0;
GfxBlitterCtx(const DrawPixelInfo *dpi) : dpi(dpi) {}
@ -1031,7 +1031,7 @@ void DrawCharCentered(WChar c, const Rect &r, TextColour colour)
*/
Dimension GetSpriteSize(SpriteID sprid, Point *offset, ZoomLevel zoom)
{
const Sprite *sprite = GetSprite(sprid, ST_NORMAL);
const Sprite *sprite = GetSprite(sprid, SpriteType::Normal);
if (offset != nullptr) {
offset->x = UnScaleByZoom(sprite->x_offs, zoom);
@ -1077,7 +1077,7 @@ void DrawSpriteViewport(const SpritePointerHolder &sprite_store, const DrawPixel
SpriteID real_sprite = GB(img, 0, SPRITE_WIDTH);
if (HasBit(img, PALETTE_MODIFIER_TRANSPARENT)) {
ctx.colour_remap_ptr = sprite_store.GetRecolourSprite(GB(pal, 0, PALETTE_WIDTH)) + 1;
GfxMainBlitterViewport(ctx, sprite_store.GetSprite(real_sprite, ST_NORMAL), x, y, BM_TRANSPARENT, sub, real_sprite);
GfxMainBlitterViewport(ctx, sprite_store.GetSprite(real_sprite, SpriteType::Normal), x, y, BM_TRANSPARENT, sub, real_sprite);
} else if (pal != PAL_NONE) {
if (HasBit(pal, PALETTE_TEXT_RECOLOUR)) {
ctx.SetColourRemap((TextColour)GB(pal, 0, PALETTE_WIDTH));
@ -1090,21 +1090,21 @@ void DrawSpriteViewport(const SpritePointerHolder &sprite_store, const DrawPixel
int sign_bit = 1 << (PALETTE_BRIGHTNESS_WIDTH - 1);
ctx.sprite_brightness_adjust = (adjust ^ sign_bit) - sign_bit;
}
GfxMainBlitterViewport(ctx, sprite_store.GetSprite(real_sprite, ST_NORMAL), x, y, GetBlitterMode(pal), sub, real_sprite);
GfxMainBlitterViewport(ctx, sprite_store.GetSprite(real_sprite, SpriteType::Normal), x, y, GetBlitterMode(pal), sub, real_sprite);
} else {
GfxMainBlitterViewport(ctx, sprite_store.GetSprite(real_sprite, ST_NORMAL), x, y, BM_NORMAL, sub, real_sprite);
GfxMainBlitterViewport(ctx, sprite_store.GetSprite(real_sprite, SpriteType::Normal), x, y, BM_NORMAL, sub, real_sprite);
}
}
void PrepareDrawSpriteViewportSpriteStore(SpritePointerHolder &sprite_store, SpriteID img, PaletteID pal)
{
SpriteID real_sprite = GB(img, 0, SPRITE_WIDTH);
sprite_store.CacheSprite(real_sprite, ST_NORMAL);
sprite_store.CacheSprite(real_sprite, SpriteType::Normal);
if (HasBit(img, PALETTE_MODIFIER_TRANSPARENT)) {
sprite_store.CacheSprite(GB(pal, 0, PALETTE_WIDTH), ST_RECOLOUR);
sprite_store.CacheSprite(GB(pal, 0, PALETTE_WIDTH), SpriteType::Recolour);
} else if (pal != PAL_NONE) {
if (!HasBit(pal, PALETTE_TEXT_RECOLOUR) && GB(pal, 0, PALETTE_WIDTH) != PAL_NONE) {
sprite_store.CacheSprite(GB(pal, 0, PALETTE_WIDTH), ST_RECOLOUR);
sprite_store.CacheSprite(GB(pal, 0, PALETTE_WIDTH), SpriteType::Recolour);
}
}
}
@ -1123,17 +1123,17 @@ void DrawSprite(SpriteID img, PaletteID pal, int x, int y, const SubSprite *sub,
GfxBlitterCtx ctx(_cur_dpi);
SpriteID real_sprite = GB(img, 0, SPRITE_WIDTH);
if (HasBit(img, PALETTE_MODIFIER_TRANSPARENT)) {
ctx.colour_remap_ptr = GetNonSprite(GB(pal, 0, PALETTE_WIDTH), ST_RECOLOUR) + 1;
GfxMainBlitter(ctx, GetSprite(real_sprite, ST_NORMAL), x, y, BM_TRANSPARENT, sub, real_sprite, zoom);
ctx.colour_remap_ptr = GetNonSprite(GB(pal, 0, PALETTE_WIDTH), SpriteType::Recolour) + 1;
GfxMainBlitter(ctx, GetSprite(real_sprite, SpriteType::Normal), x, y, BM_TRANSPARENT, sub, real_sprite, zoom);
} else if (pal != PAL_NONE) {
if (HasBit(pal, PALETTE_TEXT_RECOLOUR)) {
ctx.SetColourRemap((TextColour)GB(pal, 0, PALETTE_WIDTH));
} else {
ctx.colour_remap_ptr = GetNonSprite(GB(pal, 0, PALETTE_WIDTH), ST_RECOLOUR) + 1;
ctx.colour_remap_ptr = GetNonSprite(GB(pal, 0, PALETTE_WIDTH), SpriteType::Recolour) + 1;
}
GfxMainBlitter(ctx, GetSprite(real_sprite, ST_NORMAL), x, y, GetBlitterMode(pal), sub, real_sprite, zoom);
GfxMainBlitter(ctx, GetSprite(real_sprite, SpriteType::Normal), x, y, GetBlitterMode(pal), sub, real_sprite, zoom);
} else {
GfxMainBlitter(ctx, GetSprite(real_sprite, ST_NORMAL), x, y, BM_NORMAL, sub, real_sprite, zoom);
GfxMainBlitter(ctx, GetSprite(real_sprite, SpriteType::Normal), x, y, BM_NORMAL, sub, real_sprite, zoom);
}
}
@ -1283,7 +1283,7 @@ std::unique_ptr<uint32[]> DrawSpriteToRgbaBuffer(SpriteID spriteId, ZoomLevel zo
/* Gather information about the sprite to write, reserve memory */
const SpriteID real_sprite = GB(spriteId, 0, SPRITE_WIDTH);
const Sprite *sprite = GetSprite(real_sprite, ST_NORMAL);
const Sprite *sprite = GetSprite(real_sprite, SpriteType::Normal);
Dimension dim = GetSpriteSize(real_sprite, nullptr, zoom);
size_t dim_size = static_cast<size_t>(dim.width) * dim.height;
std::unique_ptr<uint32[]> result(new uint32[dim_size]);
@ -2155,7 +2155,7 @@ void UpdateCursorSize()
static_assert(lengthof(_cursor.sprite_seq) == lengthof(_cursor.sprite_pos));
assert(_cursor.sprite_count <= lengthof(_cursor.sprite_seq));
for (uint i = 0; i < _cursor.sprite_count; ++i) {
const Sprite *p = GetSprite(GB(_cursor.sprite_seq[i].sprite, 0, SPRITE_WIDTH), ST_NORMAL);
const Sprite *p = GetSprite(GB(_cursor.sprite_seq[i].sprite, 0, SPRITE_WIDTH), SpriteType::Normal);
Point offs, size;
offs.x = UnScaleGUI(p->x_offs) + _cursor.sprite_pos[i].x;
offs.y = UnScaleGUI(p->y_offs) + _cursor.sprite_pos[i].y;

@ -309,12 +309,12 @@ enum PaletteType {
};
/** Types of sprites that might be loaded */
enum SpriteType : byte {
ST_NORMAL = 0, ///< The most basic (normal) sprite
ST_MAPGEN = 1, ///< Special sprite for the map generator
ST_FONT = 2, ///< A sprite used for fonts
ST_RECOLOUR = 3, ///< Recolour sprite
ST_INVALID = 4, ///< Pseudosprite or other unusable sprite, used only internally
enum class SpriteType : byte {
Normal = 0, ///< The most basic (normal) sprite
MapGen = 1, ///< Special sprite for the map generator
Font = 2, ///< A sprite used for fonts
Recolour = 3, ///< Recolour sprite
Invalid = 4, ///< Pseudosprite or other unusable sprite, used only internally
};
/**

@ -74,21 +74,16 @@ IndustryBuildData _industry_builder; ///< In-game manager of industries.
*/
void ResetIndustries()
{
for (IndustryType i = 0; i < NUM_INDUSTRYTYPES; i++) {
/* Reset the spec to default */
if (i < lengthof(_origin_industry_specs)) {
_industry_specs[i] = _origin_industry_specs[i];
} else {
_industry_specs[i] = IndustrySpec{};
}
auto industry_insert = std::copy(std::begin(_origin_industry_specs), std::end(_origin_industry_specs), std::begin(_industry_specs));
std::fill(industry_insert, std::end(_industry_specs), IndustrySpec{});
for (IndustryType i = 0; i < lengthof(_origin_industry_specs); i++) {
/* Enable only the current climate industries */
_industry_specs[i].enabled = i < NEW_INDUSTRYOFFSET &&
HasBit(_origin_industry_specs[i].climate_availability, _settings_game.game_creation.landscape);
_industry_specs[i].enabled = HasBit(_industry_specs[i].climate_availability, _settings_game.game_creation.landscape);
}
memset(&_industry_tile_specs, 0, sizeof(_industry_tile_specs));
memcpy(&_industry_tile_specs, &_origin_industry_tile_specs, sizeof(_origin_industry_tile_specs));
auto industry_tile_insert = std::copy(std::begin(_origin_industry_tile_specs), std::end(_origin_industry_tile_specs), std::begin(_industry_tile_specs));
std::fill(industry_tile_insert, std::end(_industry_tile_specs), IndustryTileSpec{});
/* Reset any overrides that have been set. */
_industile_mngr.ResetOverride();
@ -195,8 +190,8 @@ Industry::~Industry()
DeleteWindowById(WC_INDUSTRY_VIEW, this->index);
DeleteNewGRFInspectWindow(GSF_INDUSTRIES, this->index);
DeleteSubsidyWith(ST_INDUSTRY, this->index);
CargoPacket::InvalidateAllFrom(ST_INDUSTRY, this->index);
DeleteSubsidyWith(SourceType::Industry, this->index);
CargoPacket::InvalidateAllFrom(SourceType::Industry, this->index);
for (Station *st : this->stations_near) {
st->RemoveIndustryToDeliver(this);
@ -546,7 +541,7 @@ static bool TransportIndustryGoods(TileIndex tile)
i->this_month_production[j] = std::min<uint>(i->this_month_production[j] + cw, 0xFFFF);
uint am = MoveGoodsToStation(i->produced_cargo[j], cw, ST_INDUSTRY, i->index, &i->stations_near, i->exclusive_consumer);
uint am = MoveGoodsToStation(i->produced_cargo[j], cw, SourceType::Industry, i->index, &i->stations_near, i->exclusive_consumer);
i->this_month_transported[j] += am;
moved_cargo |= (am != 0);

@ -899,7 +899,7 @@ static void GenerateTerrain(int type, uint flag)
uint32 r = Random();
/* Choose one of the templates from the graphics file. */
const Sprite *templ = GetSprite((((r >> 24) * _genterrain_tbl_1[type]) >> 8) + _genterrain_tbl_2[type] + SPR_MAPGEN_BEGIN, ST_MAPGEN);
const Sprite *templ = GetSprite((((r >> 24) * _genterrain_tbl_1[type]) >> 8) + _genterrain_tbl_2[type] + SPR_MAPGEN_BEGIN, SpriteType::MapGen);
if (templ == nullptr) usererror("Map generator sprites could not be loaded");
/* Chose a random location to apply the template to. */

@ -4287,7 +4287,6 @@ STR_AI_SETTINGS_CAPTION_AI :AI
STR_AI_SETTINGS_CLOSE :{BLACK}Maak toe
STR_AI_SETTINGS_RESET :{BLACK}Herstel
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Aantal Dae om die AI te begin na die vorige een (omenby): {ORANGE}{STRING}
# Textfile window
@ -5146,10 +5145,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Powernaut Helik
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Company {COMMA})
STR_FORMAT_GROUP_NAME :Groep {COMMA}

@ -4842,10 +4842,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :باور هيل
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :شركة {COMMA}
STR_FORMAT_GROUP_NAME :مجموعة{COMMA}

@ -4036,7 +4036,6 @@ STR_AI_SETTINGS_CAPTION_AI :IA
STR_AI_SETTINGS_CLOSE :{BLACK}Itxi
STR_AI_SETTINGS_RESET :{BLACK}Berrabiarazi
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :IA hau abiarazteko pasa beharko diren egunak (gutxi gora behera): {ORANGE}{STRING}
# Textfile window
@ -4878,10 +4877,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Powernaut Helik
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :({COMMA} Konpainia)
STR_FORMAT_GROUP_NAME :Taldea {COMMA}

@ -4643,7 +4643,6 @@ STR_AI_SETTINGS_CAPTION_AI :ШI
STR_AI_SETTINGS_CLOSE :{BLACK}Закрыць
STR_AI_SETTINGS_RESET :{BLACK}Ськід
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Колькасьць дзён да старту гэтага AI/ШI пасьля папярэдняга: {ORANGE}{STRING}
# Textfile window
@ -5618,10 +5617,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Шрубалё
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}.{STRING}.{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}.{ZEROFILL_NUM}.{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM} г.
STR_FORMAT_DATE_LONG :{STRING} {STRING.gen} {NUM} г.
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Кампанiя {COMMA})
STR_FORMAT_GROUP_NAME :Група {COMMA}

@ -4635,7 +4635,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Script de Jogo
STR_AI_SETTINGS_CLOSE :{BLACK}Fechar
STR_AI_SETTINGS_RESET :{BLACK}Resetar
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Número de dias para começar esta IA após a última: {ORANGE}{STRING}
# Textfile window
@ -5518,10 +5517,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Helicóptero Po
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Companhia {COMMA})
STR_FORMAT_GROUP_NAME :Agrupar {COMMA}

@ -4114,7 +4114,6 @@ STR_AI_SETTINGS_CAPTION_AI :AI
STR_AI_SETTINGS_CLOSE :{BLACK}Затвори
STR_AI_SETTINGS_RESET :{BLACK}Рестартиране
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Броят дни докато този ИИ бъде стартиран след предишния (give or take): {ORANGE}{STRING}
# Textfile window
@ -4967,10 +4966,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Пауерна
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Компания {COMMA})
STR_FORMAT_GROUP_NAME :Група {COMMA}

@ -4635,7 +4635,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Script de la pa
STR_AI_SETTINGS_CLOSE :{BLACK}Tanca
STR_AI_SETTINGS_RESET :{BLACK}Restableix
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Dies des de l'inici de la IA prèvia fins que s'inicia aquesta: {ORANGE}{STRING}
# Textfile window
@ -5518,10 +5517,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :{G=Masculin}Hel
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :{G=Femenin}(Companyia {COMMA})
STR_FORMAT_GROUP_NAME :{G=Masculin}Grup {COMMA}

@ -1757,10 +1757,10 @@ STR_SV_STNAME_WAYPOINT :{STRING}
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}.{STRING}.{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}.{ZEROFILL_NUM}.{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
###length 2

@ -4473,7 +4473,6 @@ STR_AI_SETTINGS_CAPTION_AI :UI
STR_AI_SETTINGS_CLOSE :{BLACK}Zatvori
STR_AI_SETTINGS_RESET :{BLACK}Resetiraj
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Broj dana za start ovog UI-ja nakon prethodnog (otprilike): {ORANGE}{STRING}
# Textfile window
@ -5371,10 +5370,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Helikopter Powe
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Tvrtka {COMMA})
STR_FORMAT_GROUP_NAME :Groupa {COMMA}

@ -4724,7 +4724,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Herní skript
STR_AI_SETTINGS_CLOSE :{BLACK}Zavřít
STR_AI_SETTINGS_RESET :{BLACK}Obnovit nastavení
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Počet dní kdy se spustí tato AI po předchozí (plus/mínus): {ORANGE}{STRING}
# Textfile window
@ -5725,11 +5724,11 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Vrtulník Power
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_SHORT.gen :{STRING.gen} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(společnost {COMMA})
STR_FORMAT_GROUP_NAME :Skupina {COMMA}

@ -4634,7 +4634,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Spil Script
STR_AI_SETTINGS_CLOSE :{BLACK}Luk
STR_AI_SETTINGS_RESET :{BLACK}Nulstil
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Antal dage denne AI skal starte efter den forrige (plus/minus): {ORANGE}{STRING}
# Textfile window
@ -5517,10 +5516,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Powernaut Helik
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Firma {COMMA})
STR_FORMAT_GROUP_NAME :Gruppe {COMMA}

@ -1926,6 +1926,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Geen
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Beginfactor voor stadsgroei: {STRING}
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Gemiddelde grootte van steden in vergelijking tot normale steden bij het begin van het spel.
STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Distributiegrafiek elke {STRING}{NBSP}second{P 0:2 "" en} bijwerken
STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :De tijd tussen opeenvolgende herberekeningen van de koppeling-grafiek. Elke berekening berekent de plannen voor één component van de grafiek. Dat betekent dat een waarde X voor deze instelling niet betekent dat de hele grafiek elke X seconden wordt bijgewerkt. Dat geldt alleen voor één component. Hoe korter je deze waarde instelt, hoe meer CPU-tijd er nodig is voor de berekening. Hoe langer je deze waarde instelt, hoe langer het duurt voordat de vrachtdistributie start op nieuwe routes.
STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Besteed {STRING}{NBSP}second{P 0:2 "" en} per herberekening van de distributiegrafiek
STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :De benodigde tijd voor een herbereking van een koppeling-grafiekcomponent. Wanneer een herberekening wordt gestart, start een draad die dit aantal seconden mag lopen. Hoe korter je deze waarde maakt, hoe groter de kans dat de draad is niet op tijd is afgelopen. Het spel stopt dan totdat dit alsnog gebeurt (het 'hikt'). Hoe langer je deze waarde maakt, hoe langer het duurt voor de distributie wordt bijgewerkt wanneer een route wijzigt.
STR_CONFIG_SETTING_DISTRIBUTION_PAX :Distributiemodus voor passagiers: {STRING}
STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :'Symmetrisch' betekent dat ongeveer hetzelfde aantal passagiers van station A naar station B gaat als van B naar A. 'Asymmetrisch' betekent dat willekeurige aantallen passagiers reizen in beide richtingen. 'Handmatig' betekent dat er geen automatische distributie plaatsvindt voor passagiers.
@ -4588,6 +4592,7 @@ STR_AI_CONFIG_RANDOM_AI :Willekeurige AI
STR_AI_CONFIG_NONE :(geen)
STR_AI_CONFIG_NAME_VERSION :{STRING} {YELLOW}v{NUM}
STR_AI_CONFIG_MAX_COMPETITORS :{LTBLUE}Maximaal aantal tegenstanders: {ORANGE}{COMMA}
STR_AI_CONFIG_COMPETITORS_INTERVAL :{LTBLUE}Tijdsduur tussen starts van concurrenten: {ORANGE}{COMMA} minu{P "ut" "ten"}
STR_AI_CONFIG_MOVE_UP :{BLACK}Omhoog verplaatsen
STR_AI_CONFIG_MOVE_UP_TOOLTIP :{BLACK}Geselecteerde AI omhoog verplaatsen in de lijst
@ -4634,7 +4639,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Spelscript
STR_AI_SETTINGS_CLOSE :{BLACK}Sluiten
STR_AI_SETTINGS_RESET :{BLACK}Terugstellen
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Aantal dagen dat deze AI start na de vorige (ongeveer): {ORANGE}{STRING}
# Textfile window
@ -5517,10 +5521,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Powernaut-helik
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Bedrijf {COMMA})
STR_FORMAT_GROUP_NAME :Groep {COMMA}

@ -1712,7 +1712,7 @@ STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :How much memory
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB
STR_CONFIG_SETTING_SERVINT_ISPERCENT :Service intervals are in percents: {STRING2}
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Choose whether servicing of vehicles is triggered by the time passed since last service or by reliability dropping by a certain percentage of the maximum reliability
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :When enabled, vehicles try to service when their reliability drops by a given percentage of the maximum reliability.{}{}For example, if a vehicle's maximum reliability is 90% and the service interval is 20%, the vehicle will try to service when it reaches 72% reliability.
STR_CONFIG_SETTING_SERVINT_TRAINS :Default service interval for trains: {STRING2}
STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Set the default service interval for new rail vehicles, if no explicit service interval is set for the vehicle
@ -4592,6 +4592,7 @@ STR_AI_CONFIG_RANDOM_AI :Random AI
STR_AI_CONFIG_NONE :(none)
STR_AI_CONFIG_NAME_VERSION :{RAW_STRING} {YELLOW}v{NUM}
STR_AI_CONFIG_MAX_COMPETITORS :{LTBLUE}Maximum no. competitors: {ORANGE}{COMMA}
STR_AI_CONFIG_COMPETITORS_INTERVAL :{LTBLUE}Interval between starting of competitors: {ORANGE}{COMMA} minute{P "" s}
STR_AI_CONFIG_MOVE_UP :{BLACK}Move Up
STR_AI_CONFIG_MOVE_UP_TOOLTIP :{BLACK}Move selected AI up in the list
@ -4638,7 +4639,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Game Script
STR_AI_SETTINGS_CLOSE :{BLACK}Close
STR_AI_SETTINGS_RESET :{BLACK}Reset
STR_AI_SETTINGS_SETTING :{RAW_STRING}: {ORANGE}{STRING1}
STR_AI_SETTINGS_START_DELAY :Number of days to start this AI after the previous one (give or take): {ORANGE}{STRING1}
# Textfile window
@ -5110,6 +5110,7 @@ STR_ERROR_NO_BUOY :{WHITE}There is
STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}Can't timetable vehicle...
STR_ERROR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}Vehicles can only wait at stations
STR_ERROR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}This vehicle is not stopping at this station
STR_ERROR_TIMETABLE_INCOMPLETE :{WHITE}... timetable is incomplete
# Sign related errors
STR_ERROR_TOO_MANY_SIGNS :{WHITE}... too many signs
@ -5521,10 +5522,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Powernaut Helic
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{RAW_STRING}-{RAW_STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:RAW_STRING}-{0:RAW_STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Company {COMMA})
STR_FORMAT_GROUP_NAME :Group {COMMA}

@ -1712,7 +1712,7 @@ STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :How much memory
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB
STR_CONFIG_SETTING_SERVINT_ISPERCENT :Service intervals are in percents: {STRING}
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Choose whether servicing of vehicles is triggered by the time passed since last service or by reliability dropping by a certain percentage of the maximum reliability
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :When enabled, vehicles try to service when their reliability drops by a given percentage of the maximum reliability.{}{}For example, if a vehicle's maximum reliability is 90% and the service interval is 20%, the vehicle will try to service when it reaches 72% reliability.
STR_CONFIG_SETTING_SERVINT_TRAINS :Default service interval for trains: {STRING}
STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Set the default service interval for new rail vehicles, if no explicit service interval is set for the vehicle
@ -1926,6 +1926,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :None
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Initial city size multiplier: {STRING}
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Average size of cities relative to normal towns at start of the game
STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Update distribution graph every {STRING}{NBSP}second{P 0:2 "" s}
STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Time between subsequent recalculations of the link graph. Each recalculation calculates the plans for one component of the graph. That means that a value X for this setting does not mean the whole graph will be updated every X seconds. Only some component will. The shorter you set it the more CPU time will be necessary to calculate it. The longer you set it the longer it will take until the cargo distribution starts on new routes.
STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Take {STRING}{NBSP}second{P 0:2 "" s} for recalculation of distribution graph
STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Time taken for each recalculation of a link graph component. When a recalculation is started, a thread is spawned which is allowed to run for this number of seconds. The shorter you set this the more likely it is that the thread is not finished when it's supposed to. Then the game stops until it is ("lag"). The longer you set it the longer it takes for the distribution to be updated when routes change.
STR_CONFIG_SETTING_DISTRIBUTION_PAX :Distribution mode for passengers: {STRING}
STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Symmetric" means that roughly the same number of passengers will go from a station A to a station B as from B to A. "Asymmetric" means that arbitrary numbers of passengers can go in either direction. "Manual" means that no automatic distribution will take place for passengers.
@ -4588,6 +4592,7 @@ STR_AI_CONFIG_RANDOM_AI :Random AI
STR_AI_CONFIG_NONE :(none)
STR_AI_CONFIG_NAME_VERSION :{STRING} {YELLOW}v{NUM}
STR_AI_CONFIG_MAX_COMPETITORS :{LTBLUE}Maximum no. competitors: {ORANGE}{COMMA}
STR_AI_CONFIG_COMPETITORS_INTERVAL :{LTBLUE}Interval between starting of competitors: {ORANGE}{COMMA} minute{P "" s}
STR_AI_CONFIG_MOVE_UP :{BLACK}Move Up
STR_AI_CONFIG_MOVE_UP_TOOLTIP :{BLACK}Move selected AI up in the list
@ -4634,7 +4639,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Game Script
STR_AI_SETTINGS_CLOSE :{BLACK}Close
STR_AI_SETTINGS_RESET :{BLACK}Reset
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Number of days to start this AI after the previous one (give or take): {ORANGE}{STRING}
# Textfile window
@ -5517,10 +5521,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Powernaut Helic
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Company {COMMA})
STR_FORMAT_GROUP_NAME :Group {COMMA}

@ -1712,7 +1712,7 @@ STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :How much memory
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB
STR_CONFIG_SETTING_SERVINT_ISPERCENT :Maintenance intervals are in percents: {STRING}
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Choose whether maintenance of vehicles is triggered by the time passed since last maintenance or by reliability dropping by a certain percentage of the maximum reliability
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :When enabled, vehicles try to service when their reliability drops by a given percentage of the maximum reliability.{}{}For example, if a vehicle's maximum reliability is 90% and the service interval is 20%, the vehicle will try to service when it reaches 72% reliability.
STR_CONFIG_SETTING_SERVINT_TRAINS :Default maintenance interval for trains: {STRING}
STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Set the default maintenance interval for new rail vehicles, if no explicit maintenance interval is set for the vehicle
@ -1926,6 +1926,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :None
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Initial city size multiplier: {STRING}
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Average size of cities relative to normal towns at start of the game
STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Update distribution graph every {STRING}{NBSP}second{P 0:2 "" s}
STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Time between subsequent recalculations of the link graph. Each recalculation calculates the plans for one component of the graph. That means that a value X for this setting does not mean the whole graph will be updated every X seconds. Only some component will. The shorter you set it the more CPU time will be necessary to calculate it. The longer you set it the longer it will take until the cargo distribution starts on new routes.
STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Take {STRING}{NBSP}second{P 0:2 "" s} for recalculation of distribution graph
STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Time taken for each recalculation of a link graph component. When a recalculation is started, a thread is spawned which is allowed to run for this number of seconds. The shorter you set this the more likely it is that the thread is not finished when it's supposed to. Then the game stops until it is ("lag"). The longer you set it the longer it takes for the distribution to be updated when routes change.
STR_CONFIG_SETTING_DISTRIBUTION_PAX :Distribution mode for passengers: {STRING}
STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Symmetric" means that roughly the same number of passengers will go from a station A to a station B as from B to A. "Asymmetric" means that arbitrary numbers of passengers can go in either direction. "Manual" means that no automatic distribution will take place for passengers.
@ -4588,6 +4592,7 @@ STR_AI_CONFIG_RANDOM_AI :Random AI
STR_AI_CONFIG_NONE :(none)
STR_AI_CONFIG_NAME_VERSION :{STRING} {YELLOW}v{NUM}
STR_AI_CONFIG_MAX_COMPETITORS :{LTBLUE}Maximum no. competitors: {ORANGE}{COMMA}
STR_AI_CONFIG_COMPETITORS_INTERVAL :{LTBLUE}Interval between starting of competitors: {ORANGE}{COMMA} minute{P "" s}
STR_AI_CONFIG_MOVE_UP :{BLACK}Move Up
STR_AI_CONFIG_MOVE_UP_TOOLTIP :{BLACK}Move selected AI up in the list
@ -4634,7 +4639,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Game Script
STR_AI_SETTINGS_CLOSE :{BLACK}Close
STR_AI_SETTINGS_RESET :{BLACK}Reset
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Number of days to start this AI after the previous one (give or take): {ORANGE}{STRING}
# Textfile window
@ -5517,10 +5521,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Powernaut Helic
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{1:STRING}/{0:STRING}/{2:NUM}
STR_FORMAT_DATE_TINY :{1:ZEROFILL_NUM}/{0:ZEROFILL_NUM}/{2:NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{1:STRING} {0:STRING}, {2:NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Company {COMMA})
STR_FORMAT_GROUP_NAME :Group {COMMA}

@ -4378,10 +4378,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Helikoptero "Po
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Kompanio {COMMA})
STR_FORMAT_GROUP_NAME :Group {COMMA}

@ -4684,7 +4684,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :GameScript
STR_AI_SETTINGS_CLOSE :{BLACK}Sulge
STR_AI_SETTINGS_RESET :{BLACK}Nulli
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Päevade arv pärast eelmise AI lõpetamist, millal see AI käivitub (umbkaudselt): {ORANGE}{STRING}
# Textfile window
@ -5555,10 +5554,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Powernaut helik
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{1:NUM}. {0:STRING}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Ettevõte {COMMA})
STR_FORMAT_GROUP_NAME :Jagu {COMMA}

@ -3690,7 +3690,6 @@ STR_AI_SETTINGS_CAPTION_AI :AI
STR_AI_SETTINGS_CLOSE :{BLACK}Lat aftur
STR_AI_SETTINGS_RESET :{BLACK}Endurstilla
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Tali av døgum til hetta AI byrjar aftaná tað fyrra (umleið): {ORANGE}{STRING}
# Textfile window
@ -4522,10 +4521,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Powernaut Tyrla
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Fyritøka {COMMA})
STR_FORMAT_GROUP_NAME :Bólkur {COMMA}

@ -1926,6 +1926,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Ei yhtään
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Kasvukerroin alussa: {STRING}
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Kaupunkien keskimääräinen koko suhteessa muihin kuntiin pelin alussa
STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Päivitä yhteyskuvaaja {STRING}{NBSP}sekunnin välein
STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Yhteyskuvaajan uudelleenlaskentojen välinen aika. Jokainen uudelleenlaskenta laskee suunnitelmat kuvaajan yhdelle osalle. Tämän asetuksen arvo X ei siis tarkoita, että koko kuvaaja päivittyisi X sekunnin välein, vaan ainoastaan sen yksi osa. Mitä lyhyemmäksi asetat tämän ajan, sitä enemmän suoritinaikaa kuluu laskentaan. Mitä pitemmäksi asetat ajan, sitä pitempään kestää rahdin jakautumisen alkaminen uusille reiteille.
STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Käytä {STRING}{NBSP}sekunti{P 0:2 "" a} yhteyskuvaajan uudelleenlaskentaan
STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Yhteyskuvaajan kunkin osan uudelleenlaskentaan käytettävä aika. Uudelleenlaskennan alkaessa käynnistetään säie, jonka annetaan toimia näin monta sekuntia. Mitä lyhyemmäksi asetat tämän ajan, sitä todennäköisemmin säie ei ehdi päättymään ajoissa, jolloin peli pysähtyy (”jumii”) säikeen valmistumiseen asti. Mitä pitemmäksi asetat ajan, sitä pitempään rahdin jakautumisen päivittyminen kestää reittien muuttuessa.
STR_CONFIG_SETTING_DISTRIBUTION_PAX :Matkustajien jakautuminen: {STRING}
STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :”Symmetrinen” tarkoittaa, että suunnilleen sama määrä matkustajia kulkee asemalta A asemalle B kuin asemalta B asemalle A. ”Epäsymmetrinen” tarkoittaa, että matkustajia voi kulkea mielivaltainen määrä kumpaankin suuntaan. ”Manuaalinen” tarkoittaa, että automaattista jakautumista ei sovelleta matkustajiin.
@ -4588,6 +4592,7 @@ STR_AI_CONFIG_RANDOM_AI :Sattumanvaraine
STR_AI_CONFIG_NONE :(ei mitään)
STR_AI_CONFIG_NAME_VERSION :{STRING} {YELLOW}v{NUM}
STR_AI_CONFIG_MAX_COMPETITORS :{LTBLUE}Vastustajien enimmäismäärä: {ORANGE}{COMMA}
STR_AI_CONFIG_COMPETITORS_INTERVAL :{LTBLUE}Kilpailijoiden käynnistämisen välinen aika: {ORANGE}{COMMA} minuutti{P "" a}
STR_AI_CONFIG_MOVE_UP :{BLACK}Siirrä ylöspäin
STR_AI_CONFIG_MOVE_UP_TOOLTIP :{BLACK}Siirrä valittua tekoälyä ylöspäin listalla
@ -4634,7 +4639,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Peliskripti
STR_AI_SETTINGS_CLOSE :{BLACK}Sulje
STR_AI_SETTINGS_RESET :{BLACK}Palauta
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Päiviä edellisen tekoälyn aloittamisesta tämän tekoälyn aloittamiseen (arvio): {ORANGE}{STRING}
# Textfile window
@ -5517,10 +5521,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Powernaut-helik
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(yhtiö {COMMA})
STR_FORMAT_GROUP_NAME :Ryhmä {COMMA}

@ -1927,6 +1927,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Aucune
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Multiplicateur initial pour la taille des métropoles{NBSP}: {STRING}
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Taille moyenne des métropoles par rapport aux villes normales au début de la partie
STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Mise à jour le graphe de distribution toutes les {STRING}{NBSP}seconde{P 0:2 "" s}
STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Intervalle entre les recalculs successifs du graphe de liaison. Chaque recalcul planifie un composant du graphe. Cela signifie qu'une valeur X pour ce paramètre ne signifie pas que l'ensemble du graphe sera mis à jour toutes les X secondes. Seul un composant le sera. Plus vous définissez cet intervalle court, plus le temps de processeur nécessaire pour le calcul sera important. Plus vous définissez cet intervalle long, plus il faudra de temps pour que la distribution de marchandises commence sur de nouveaux itinéraires.
STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Prend {STRING}{NBSP}seconde{P 0:2 "" s} pour le recalcul du graphe de distribution
STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Temps pris pour chaque recalcul d'un composant du graphe de liaison. Lorsqu'un recalcul est lancé, un fil d'exécution est créé et autorisé à fonctionner pendant ce nombre de secondes. Plus vous définissez cette durée courte, plus il est probable que le fil ne soit pas terminé lorsqu'il est censé l'être. Ensuite, le jeu s'arrête jusqu'à ce qu'il le soit ("lag"). Plus vous définissez cette durée longue, plus il faut de temps pour que la distribution soit mise à jour lorsque les itinéraires changent.
STR_CONFIG_SETTING_DISTRIBUTION_PAX :Type de distribution pour les passagers{NBSP}: {STRING}
STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Symétrique" signifie qu'autant de passagers iront d'une station A vers une station B, que de la station B vers la station A. "Asymétrique" signifie qu'un nombre arbitraire de passagers peut être envoyé dans les deux directions. "Manuel" signifie qu'aucune distribution n'est mise en place pour les passagers.
@ -4589,6 +4593,7 @@ STR_AI_CONFIG_RANDOM_AI :IA aléatoire
STR_AI_CONFIG_NONE :(aucun)
STR_AI_CONFIG_NAME_VERSION :{STRING} {YELLOW}v{NUM}
STR_AI_CONFIG_MAX_COMPETITORS :{LTBLUE}Nombre maximal de concurrents{NBSP}: {ORANGE}{COMMA}
STR_AI_CONFIG_COMPETITORS_INTERVAL :{LTBLUE}Intervalle entre le démarrage des concurrents : {ORANGE}{COMMA} minute{P "" s}
STR_AI_CONFIG_MOVE_UP :{BLACK}Déplacer vers le haut
STR_AI_CONFIG_MOVE_UP_TOOLTIP :{BLACK}Déplacer l'IA sélectionnée vers le haut
@ -4635,7 +4640,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :du script de je
STR_AI_SETTINGS_CLOSE :{BLACK}Fermer
STR_AI_SETTINGS_RESET :{BLACK}Réinitialiser
STR_AI_SETTINGS_SETTING :{STRING}{NBSP}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Nombre de jours avant de démarrer cette IA après la précédente (approximativement){NBSP}: {ORANGE}{STRING}
# Textfile window
@ -5518,10 +5522,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Hélicoptère P
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}/{STRING}/{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}/{ZEROFILL_NUM}/{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Compagnie {COMMA})
STR_FORMAT_GROUP_NAME :Groupe {COMMA}

@ -4714,10 +4714,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Powernaut Helik
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Bedriuw {COMMA})
STR_FORMAT_GROUP_NAME :Klobke {COMMA}

@ -4428,7 +4428,6 @@ STR_AI_SETTINGS_CAPTION_AI :IF
STR_AI_SETTINGS_CLOSE :{BLACK}Dùin
STR_AI_SETTINGS_RESET :{BLACK}Ath-shuidhich
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :An àireamh dhe làithean mus tèid an IF seo a thòiseachadh an dèidh an tè mu dheireadh (mu thimcheall): {ORANGE}{STRING}
# Textfile window
@ -5428,10 +5427,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :{G=m}Heileacopt
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Companaidh {COMMA})
STR_FORMAT_GROUP_NAME :Buidheann {COMMA}

@ -4627,7 +4627,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Script do xogo
STR_AI_SETTINGS_CLOSE :{BLACK}Pechar
STR_AI_SETTINGS_RESET :{BLACK}Restablecer
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Número de días para iniciar esta IA despois da anterior: {ORANGE}{STRING}
# Textfile window
@ -5498,10 +5497,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Helicóptero Po
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Compañía {COMMA})
STR_FORMAT_GROUP_NAME :Grupo {COMMA}

@ -4583,6 +4583,7 @@ STR_AI_CONFIG_HUMAN_PLAYER :Menschlicher Sp
STR_AI_CONFIG_RANDOM_AI :Zufällige KI
STR_AI_CONFIG_NONE :-
STR_AI_CONFIG_MAX_COMPETITORS :{LTBLUE}Max. Mitbewerber-Zahl: {ORANGE}{COMMA}
STR_AI_CONFIG_COMPETITORS_INTERVAL :{LTBLUE}Intervall zwischen Start von Wettbewerbern: {ORANGE}{COMMA} minute{P "" n}
STR_AI_CONFIG_MOVE_UP :{BLACK}Nach oben verschieben
STR_AI_CONFIG_MOVE_UP_TOOLTIP :{BLACK}Die ausgewählte KI in der Liste nach oben verschieben
@ -4629,7 +4630,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Spielskript
STR_AI_SETTINGS_CLOSE :{BLACK}Schließen
STR_AI_SETTINGS_RESET :{BLACK}Zurücksetzen
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Wartezeit in Tagen zwischen dem Starten dieser KI und dem der vorherigen: {ORANGE}{STRING}
# Textfile window
@ -5512,10 +5512,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Powernaut-Hubsc
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}.{STRING}.{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}.{ZEROFILL_NUM}.{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Firma {COMMA})
STR_FORMAT_GROUP_NAME :Gruppe {COMMA}

@ -4729,7 +4729,6 @@ STR_AI_SETTINGS_CAPTION_AI :AI
STR_AI_SETTINGS_CLOSE :{BLACK}Κλείσιμο
STR_AI_SETTINGS_RESET :{BLACK}Επαναφορά
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Αριθμός ημερών για την εκκίνηση της επόμενης AI μετά από τη προηγούμενη (περίπου): {ORANGE}{STRING}
# Textfile window
@ -5603,10 +5602,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Ελικόπτ
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING.date} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Εταιρία {COMMA})
STR_FORMAT_GROUP_NAME :Ομάδα {COMMA}

@ -4332,7 +4332,6 @@ STR_AI_SETTINGS_CAPTION_AI :שחקן מחש
STR_AI_SETTINGS_CLOSE :{BLACK}סגור
STR_AI_SETTINGS_RESET :{BLACK}אתחל
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :מספר הימים להתחלת שחקן מחשב זה אחרי הקודם (פחות או יותר): {ORANGE}{STRING}
# Textfile window
@ -5194,10 +5193,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :הליקופט
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{2:NUM} ב{1:STRING} {LRM}{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :({COMMA} חברה)
STR_FORMAT_GROUP_NAME :{COMMA} קבוצה

@ -4680,7 +4680,6 @@ STR_AI_SETTINGS_CAPTION_AI :{WHITE}MI param
STR_AI_SETTINGS_CLOSE :{BLACK}Bezárás
STR_AI_SETTINGS_RESET :{BLACK}Visszaállítás
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Az előző MI indításától eltelt napok száma ezen MI indításáig (megközelítőleg): {ORANGE}{STRING}
# Textfile window
@ -5588,10 +5587,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :SemmiErő Helik
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :({COMMA}. vállalat)
STR_FORMAT_GROUP_NAME :{COMMA} csoport

@ -3923,7 +3923,6 @@ STR_AI_SETTINGS_CAPTION_AI :Gervigreindar
STR_AI_SETTINGS_CLOSE :{BLACK}Loka
STR_AI_SETTINGS_RESET :{BLACK}Frumstilla
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Hversu mörgum dögum eftir síðustu gervigreind á að hlaða þessari (sirka): {ORANGE}{STRING}
# Textfile window
@ -4765,10 +4764,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Powernaut Þyrl
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Fyrirtæki {COMMA})
STR_FORMAT_GROUP_NAME :Hópur {COMMA}

@ -1627,10 +1627,10 @@ STR_SV_STNAME_WAYPOINT :{STRING}
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
###length 2

@ -4616,7 +4616,6 @@ STR_AI_SETTINGS_CAPTION_AI :{WHITE}Paramete
STR_AI_SETTINGS_CLOSE :{BLACK}Tutup
STR_AI_SETTINGS_RESET :{BLACK}Reset
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Jalankan AI setelah berapa hari : {ORANGE}{STRING}
# Textfile window
@ -5487,10 +5486,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Helikopter Powe
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Perusahaan {COMMA})
STR_FORMAT_GROUP_NAME :Kelompok {COMMA}

@ -4532,7 +4532,6 @@ STR_AI_SETTINGS_CAPTION_AI :AI
STR_AI_SETTINGS_CLOSE :{BLACK}Dún
STR_AI_SETTINGS_RESET :{BLACK}Athshocraigh
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Líon na laethanta a thógfaidh sé chun an AI seo a thosú tar éis an ceann roimhe (a bheag nó a mhór): {ORANGE}{STRING}
# Textfile window
@ -5396,10 +5395,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Héileacaptar P
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Cuideachta {COMMA})
STR_FORMAT_GROUP_NAME :Grúpa {COMMA}

@ -197,6 +197,7 @@ STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mp
STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/h
STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s
STR_UNITS_VELOCITY_GAMEUNITS :{DECIMAL}{NBSP}caselle/giorno
STR_UNITS_VELOCITY_KNOTS :{COMMA}{NBSP}nodi
STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}hp
STR_UNITS_POWER_METRIC :{COMMA}{NBSP}hp
@ -345,9 +346,9 @@ STR_GOTO_ORDER_VIEW_TOOLTIP :{BLACK}Apri la
###length 31
STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Pausa
STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Aumenta la velocità di gioco
STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Opzioni
STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Salva la partita, abbandona la partita, esci
STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Mostra la mappa, apre una mini visuale extra o mostra l'elenco dei cartelli
STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Opzioni e impostazioni
STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Salvare, caricare o abbandonare il gioco, uscire dal programma
STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Visualizzazione di una mappa, di una finestra supplementare, di un flusso di carico o di un elenco di segnali.
STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Mostra l'elenco delle città
STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Mostra i sussidi
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Mostra l'elenco delle stazioni di una compagnia
@ -355,9 +356,9 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Mostra i
STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Mostra informazioni generali sulle compagnie
STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Mostra la storia delle compagnie
STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Mostra le liste degli obiettivi
STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Mostra i grafici
STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Visualizzare i grafici aziendali e i tassi di pagamento del carico
STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Mostra la classifica delle compagnie
STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Finanzia la costruzione di una nuova industria o mostra l'elenco delle industrie
STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Esaminare le industrie o finanziare la costruzione di una nuova industria
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Mostra l'elenco dei treni di una compagnia. CTRL+clic non apre la lista gruppi.
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Mostra l'elenco degli automezzi di una compagnia. CTRL+clic non apre la lista gruppi.
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Mostra l'elenco delle navi di una compagnia. CTRL+clic non apre la lista gruppi.
@ -371,8 +372,8 @@ STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Costruzi
STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Costruzione aeroporti
STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Apre la barra di modellazione del terreno per alzare/abbassare il terreno, piantare alberi, etc.
STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Mostra la finestra suoni/musica
STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Mostra l'ultimo messaggio/notizia, mostra le opzioni dei messaggi
STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Informazioni area terreno, console, debug degli script, screenshot, informazioni su OpenTTD
STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Mostra l'ultimo messaggio/notizia, la cronologia dei messaggi o cancella tutti i messaggi
STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Informazioni sull'area del terreno, screenshot, su OpenTTD e sugli strumenti per gli sviluppatori
STR_TOOLBAR_TOOLTIP_SWITCH_TOOLBAR :{BLACK}Alterna barre degli strumenti
# Extra tooltips for the scenario editor toolbar
@ -1746,7 +1747,7 @@ STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Quantità massi
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB
STR_CONFIG_SETTING_SERVINT_ISPERCENT :Gli intervalli di manutenzione sono in percentuale: {STRING}
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Determina se la manutenzione dei veicoli è controllata dal tempo trascorso dall'ultima manutenzione piuttosto che dalla riduzione dell'affidabilità di una certa frazione di quella massima
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Quando è abilitata, i veicoli tentano la manutenzione quando la loro affidabilità scende di una determinata percentuale dell'affidabilità massima.{}{}Ad esempio, se l'affidabilità massima di un veicolo è del 90% e l'intervallo di manutenzione è del 20%, il veicolo tenterà la manutenzione quando raggiunge il 72% di affidabilità.
STR_CONFIG_SETTING_SERVINT_TRAINS :Intervallo manutenzione predefinito treni: {STRING}
STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Imposta l'intervallo di manutenzione predefinito per i nuovi veicoli ferroviari, quando non viene impostato nessun intervallo esplicito
@ -1843,7 +1844,9 @@ STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Se abilitata, c
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES :Età minima della compagnia per lo scambio delle sue azioni: {STRING}
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES_HELPTEXT :Imposta l'età minima di una compagnia affinchè sia possibile acquistarne o venderne le azioni.
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES_VALUE :{COMMA} {P "anno" anni}
###setting-zero-is-special
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES_NO_MIN :Nessun minimo
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Percentuale profitto da pagare per una tappa di trasferimento: {STRING}
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Percentuale di ricavi assegnata ai tratti intermedi di una catena di trasferimenti, in questo si conferisce un maggiore controllo sul reddito.
@ -1958,6 +1961,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Nessuna
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Moltiplicatore iniziale dimensioni metropoli: {STRING}
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Dimensione media delle metropoli in rapporto alle normali città all'inizio della partita.
STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Aggiornare il grafico di distribuzione ogni {STRING}{NBSP}{P 0:2 "secondo" secondi}
STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Tempo tra i successivi ricalcoli del grafico dei collegamenti. Ogni ricalcolo calcola i piani per un componente del grafico. Ciò significa che un valore X per questa impostazione non significa che l'intero grafico verrà aggiornato ogni X secondi. Solo alcuni componenti lo saranno. Quanto più breve è l'impostazione, tanto più tempo di CPU sarà necessario per il calcolo. Più lungo è il valore impostato, più tempo ci vorrà prima che la distribuzione del carico inizi su nuove rotte.
STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Prendere {STRING}{NBSP}{P 0:2 "secondo" secondi} per il ricalcolo del grafico di distribuzione
STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tempo necessario per ogni ricalcolo di un componente del grafo dei collegamenti. Quando viene avviato un ricalcolo, viene generato un thread che può essere eseguito per questo numero di secondi. Quanto più breve è il tempo impostato, tanto più è probabile che il thread non finisca quando dovrebbe. In questo caso il gioco si ferma finché non viene terminato ("lag"). Più lungo è il valore impostato, più tempo ci vuole per aggiornare la distribuzione quando i percorsi cambiano.
STR_CONFIG_SETTING_DISTRIBUTION_PAX :Modalità di distribuzione dei passeggeri: {STRING}
STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :In modalità "Simmetrica" il numero di passeggeri che viaggiano da una stazione A ad una stazione B è approssimativamente lo stesso di quelli che viaggiano da B ad A. In modalità "Asimmetrica" è consentito il viaggio di un numero di passeggeri arbitrario in entrambe le direzioni. In modalità "Manuale" non viene effettuata alcuna distribuzione automatica dei passeggeri.
@ -1983,13 +1990,15 @@ STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Impostarla a me
STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Saturazione dei percorsi corti prima di utilizzare quelli a più alta capacità: {STRING}
STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :È frequente che esistano più percorsi fra due stazioni. L'algoritmo Cargodist cercherà di saturare innanzi tutto il percorso più corto, quindi il secondo più corto fino a saturazione e così via. Il grado di saturazione è determinato dalla stima della capacità e dell'utilizo programmato. Se con tutti i percorsi saturi permane ancora domanda, l'algoritmo sovraccaricherà i percorsi indipendentemente dalla lunghezza, preferendo quelli a più alta capacità. Tuttavia, il più delle volte l'algoritmo non stimerà la capacità in modo accurato. Questa impostazione permette di specificare fino a quale percentuale saturare un percorso corto durante il primo passaggio dell'algoritmo prima di sceglierne uno più lungo. Impostarlo a meno di 100% in modo da evitare sovraffollamento delle stazioni in caso di capacità sovrastimata.
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Unità di velocità: {STRING}
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Unità di velocità (terrestre): {STRING}
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Unità di velocità (nautica): {STRING}
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :Seleziona le unità di misura da utilizzare per mostrare le velocità nell'interfaccia utente
###length 5
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_IMPERIAL :Imperiali (mph)
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_METRIC :Metriche (km/h)
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_SI :SI (m/s)
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_GAMEUNITS :Unità di gioco (caselle/giorno)
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_KNOTS :Nodi
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Unità di potenza veicoli: {STRING}
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_HELPTEXT :Seleziona le unità di misura da utilizzare per mostrare i valori di potenza dei veicoli nell'interfaccia utente
@ -4622,7 +4631,9 @@ STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}Lista de
STR_AI_CONFIG_HUMAN_PLAYER :Giocatore umano
STR_AI_CONFIG_RANDOM_AI :IA casuale
STR_AI_CONFIG_NONE :(nessuno)
STR_AI_CONFIG_NAME_VERSION :{STRING} {YELLOW}v{NUM}
STR_AI_CONFIG_MAX_COMPETITORS :{LTBLUE}Numero massimo di avversari: {ORANGE}{COMMA}
STR_AI_CONFIG_COMPETITORS_INTERVAL :{LTBLUE}Intervallo tra l'inizio dei concorrenti: {ORANGE}{COMMA} {P minuto minuti}
STR_AI_CONFIG_MOVE_UP :{BLACK}Sposta su
STR_AI_CONFIG_MOVE_UP_TOOLTIP :{BLACK}Sposta l'IA selezionata più in alto nell'elenco
@ -4635,7 +4646,7 @@ STR_AI_CONFIG_AI :{SILVER}IA
STR_AI_CONFIG_CHANGE_AI :{BLACK}Seleziona IA
STR_AI_CONFIG_CHANGE_GAMESCRIPT :{BLACK}Seleziona lo script di gioco
STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Carica un altro script
STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Carica un altro script. Ctrl+clic per visualizzare tutte le versioni disponibili
STR_AI_CONFIG_CONFIGURE :{BLACK}Configura
STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Configura i parametri dello script
@ -4669,7 +4680,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Script di gioco
STR_AI_SETTINGS_CLOSE :{BLACK}Chiudi
STR_AI_SETTINGS_RESET :{BLACK}Reimposta
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Giorni da attendere per l'avvio di questa IA dopo la precedente (approssimativo): {ORANGE}{STRING}
# Textfile window
@ -5552,10 +5562,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Elicottero Powe
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Compagnia {COMMA})
STR_FORMAT_GROUP_NAME :Gruppo {COMMA}

@ -4628,7 +4628,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :ゲームスク
STR_AI_SETTINGS_CLOSE :{BLACK}閉じる
STR_AI_SETTINGS_RESET :{BLACK}リセット
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :AI企業の設立間隔(倒産/買収後): {ORANGE}{STRING}
# Textfile window
@ -5511,10 +5510,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :パワーノー
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_TINY :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_DATE_SHORT :{1:NUM}年{0:STRING}月
STR_FORMAT_DATE_LONG :{2:NUM}年{1:STRING}月{0:STRING}日
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(会社{COMMA})
STR_FORMAT_GROUP_NAME :グループ {COMMA}

@ -4635,7 +4635,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :게임 스크
STR_AI_SETTINGS_CLOSE :{BLACK}닫기
STR_AI_SETTINGS_RESET :{BLACK}초기화
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :이전 인공지능 이후 이 인공지능이 나타나기 위한 날짜수: {ORANGE}약 {STRING}일
# Textfile window
@ -5518,10 +5517,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Powernaut 헬
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{2:NUM}.{1:STRING}.{0:STRING}
STR_FORMAT_DATE_TINY :{2:NUM}.{1:ZEROFILL_NUM}.{0:ZEROFILL_NUM}
STR_FORMAT_DATE_SHORT :{1:NUM}년 {0:STRING}
STR_FORMAT_DATE_LONG :{2:NUM}년 {1:STRING}월 {0:STRING}일
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(회사 {COMMA})
STR_FORMAT_GROUP_NAME :그룹 {COMMA}

@ -4421,7 +4421,6 @@ STR_AI_SETTINGS_CAPTION_AI :IA
STR_AI_SETTINGS_CLOSE :{BLACK}Claudere
STR_AI_SETTINGS_RESET :{BLACK}Revertere
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Quot dies post IA priorem haec IA incipiet (plus minusve): {ORANGE}{STRING}
# Textfile window
@ -5385,10 +5384,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Helicopterum Po
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Societas {COMMA})
STR_FORMAT_GROUP_NAME :Grex {COMMA}

@ -4633,7 +4633,6 @@ STR_AI_SETTINGS_CAPTION_AI :{WHITE}MI Param
STR_AI_SETTINGS_CLOSE :{BLACK}Aizvērt
STR_AI_SETTINGS_RESET :{BLACK}Atiestatīt
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Aptuvenais dienu skaits, līdz palaist šo MI pēc iepriekšējā: {ORANGE}{STRING}
# Textfile window
@ -5504,10 +5503,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Powernaut helik
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :({COMMA}. uzņēmums)
STR_FORMAT_GROUP_NAME :Grupa {COMMA}

@ -4827,7 +4827,6 @@ STR_AI_SETTINGS_CAPTION_AI :DI
STR_AI_SETTINGS_CLOSE :{BLACK}Uždaryti
STR_AI_SETTINGS_RESET :{BLACK}Atstatyti
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Dienų skaičius po kurio šitas DI bus paleistas po paskutiniojo (maždaug): {ORANGE}{STRING}
# Textfile window
@ -5955,10 +5954,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Powernaut malun
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Kompanija {COMMA})
STR_FORMAT_GROUP_NAME :Grupė {COMMA}

@ -4626,7 +4626,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Spill-Script
STR_AI_SETTINGS_CLOSE :{BLACK}Zoumaachen
STR_AI_SETTINGS_RESET :{BLACK}Reset
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Unzuel un Deeg wou des KI gestart gëtt no der leschter: {ORANGE}{STRING}
# Textfile window
@ -5497,10 +5496,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Powernaut Helik
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Firma {COMMA})
STR_FORMAT_GROUP_NAME :Grupp {COMMA}

@ -1964,7 +1964,6 @@ STR_AI_LIST_CAPTION_GAMESCRIPT :GameScripts
# Script Parameters
STR_AI_SETTINGS_CAPTION_AI :АИ
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Број на денови за да започнете оваа Пи по претходниот (се дава или зема): {ORANGE}{STRING}
# Textfile window
@ -2175,10 +2174,10 @@ STR_SV_STNAME_WAYPOINT :{STRING}
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
###length 2

@ -3833,7 +3833,6 @@ STR_AI_SETTINGS_CAPTION_AI :AI
STR_AI_SETTINGS_CLOSE :{BLACK}Tutup
STR_AI_SETTINGS_RESET :{BLACK}Semula
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Bilangan hari Kepintaran Tiruan dimulakan selepas yang terdahulu (lebih kurang): {ORANGE}{STRING}
# Textfile window
@ -4671,10 +4670,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Helikopter Powe
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Company {COMMA})
STR_FORMAT_GROUP_NAME :Group {COMMA}

@ -1671,10 +1671,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Ħelikopter Pow
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_INDUSTRY_NAME :{TOWN} {STRING}

@ -2038,10 +2038,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :पॉवरन
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_GROUP_NAME :गट्टा {COMMA}
STR_FORMAT_INDUSTRY_NAME :{TOWN} {STRING}

@ -4554,7 +4554,6 @@ STR_AI_SETTINGS_CAPTION_AI :AI
STR_AI_SETTINGS_CLOSE :{BLACK}Lukk
STR_AI_SETTINGS_RESET :{BLACK}Tilbakestill
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Antall dager denne AIen skal starte etter den forrige (ca): {ORANGE}{STRING}
# Textfile window
@ -5418,10 +5417,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Powernaut-helik
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Firma {COMMA})
STR_FORMAT_GROUP_NAME :Gruppe {COMMA}

@ -4056,7 +4056,6 @@ STR_AI_SETTINGS_CAPTION_AI :AI
STR_AI_SETTINGS_CLOSE :{BLACK}Lukk
STR_AI_SETTINGS_RESET :{BLACK}Tilbakestill
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Antall dagar denne AIen skal starte etter den førre (ca): {ORANGE}{STRING}
# Textfile window
@ -4907,10 +4906,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Powernaut-helik
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Firma {COMMA})
STR_FORMAT_GROUP_NAME :Gruppe {COMMA}

@ -3480,7 +3480,6 @@ STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}کد ر
STR_AI_SETTINGS_CAPTION_AI :هوش مصنوعی(AI)
STR_AI_SETTINGS_CLOSE :{BLACK}بستن
STR_AI_SETTINGS_RESET :{BLACK}بازنشاندن
STR_AI_SETTINGS_START_DELAY :تعداد روزهایی که این بازیگر هوش مصنوعی پس از بازیگر هوش مصنوعی قبلی قبل از اتصال صبر می کند(کم و بیش): {ORANGE}{STRING}
# Textfile window
@ -4207,10 +4206,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :هلیکوپت
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(شرکت {COMMA})
STR_FORMAT_GROUP_NAME :گروه {COMMA}

@ -5020,7 +5020,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Game Script
STR_AI_SETTINGS_CLOSE :{BLACK}Zamknij
STR_AI_SETTINGS_RESET :{BLACK}Resetuj
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Liczba dni do aktywowania tej SI po uruchomieniu poprzedniej (zwiększ lub zmniejsz): {ORANGE}{STRING}
# Textfile window
@ -5940,10 +5939,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Helikopter Powe
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Firma {COMMA})
STR_FORMAT_GROUP_NAME :Grupa {COMMA}

@ -1713,7 +1713,7 @@ STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Definir o volum
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB
STR_CONFIG_SETTING_SERVINT_ISPERCENT :Os intervalos de serviço são em percentagem: {STRING}
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Escolher se a manutenção de veículos é ativada pelo tempo decorrido deste a última manutenção, ou pela fiabilidade abaixo de uma certa percentagem da fiabilidade máxima
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Quando ativado, os veículos procuram fazer a manutenção quando sua fiabilidade reduz para uma determinada percentagem da fiabilidade máxima.{}{}Por exemplo, se a fiabilidade máxima de um veículo for 90% e o intervalo de manutenção for 20%, o veículo tentará fazer a manutenção quando atinge 72% de fiabilidade.
STR_CONFIG_SETTING_SERVINT_TRAINS :Intervalo de serviço para comboios por omissão: {STRING}
STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Definir o intervalo de manutenção por omissão para novos veículos sobre carris, se não for configurado um intervalo de manutenção explícito para o veículo
@ -1927,6 +1927,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Nenhum
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Multiplicador inicial para a dimensão das metrópoles: {STRING}
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Tamanho relativo das cidades em relação ao tamanho normal das localidades aquando o início do jogo
STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Atualizar o gráfico de distribuição a cada {STRING}{NBSP}segundo{P 0:2 "" s}
STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Tempo de intervalo entre recalculos subsequentes do gráfico de ligações. Cada recalculo calcula os planos para um componente do gráfico. Isso significa que um valor X para esta configuração não significa que todo o gráfico será atualizado a cada X segundos. Apenas algum componente será. Quanto mais curto escolher, mais tempo de CPU será necessário para calcular. Quanto mais tempo for definido, mais tempo levará até que a distribuição de carga inicie nas novas rotas.
STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Usar {STRING}{NBSP}segundo{P 0:2 "" s} para recalcular o gráfico de distribuição
STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tempo gasto para cada recalculo de um componente de gráfico de ligação. Quando um recalculo é iniciado, um encadeamento é gerado e pode ser executado nesse número de segundos. Quanto mais curto você definir, mais provável será que o encadeamento não seja concluído quando deveria. Então o jogo pára até que seja ("lag"). Quanto mais tempo você definir, mais tempo levará para a distribuição ser atualizada quando as rotas mudarem.
STR_CONFIG_SETTING_DISTRIBUTION_PAX :Modo de distribuição para os passageiros: {STRING}
STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Simétrico" significa que aproximadamente o mesmo numero de passageiros irá de uma estação A para uma estação B e de B para A. "Assimétrico" significa que um numero arbitrário de passageiros poderá seguir em qualquer direção. "Manual" significa que nenhuma distribuição automática terá lugar para passageiros.
@ -4589,6 +4593,7 @@ STR_AI_CONFIG_RANDOM_AI :IA aleatória
STR_AI_CONFIG_NONE :(nenhum)
STR_AI_CONFIG_NAME_VERSION :{STRING} {YELLOW}v{NUM}
STR_AI_CONFIG_MAX_COMPETITORS :{LTBLUE}Número máximo de oponentes: {ORANGE}{COMMA}
STR_AI_CONFIG_COMPETITORS_INTERVAL :{LTBLUE}Intervalo entre o arranque dos competidores: {ORANGE}{COMMA} minuto{P "" s}
STR_AI_CONFIG_MOVE_UP :{BLACK}Mover para cima
STR_AI_CONFIG_MOVE_UP_TOOLTIP :{BLACK}Move a IA seleccionada para cima
@ -4635,7 +4640,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Script de Jogo
STR_AI_SETTINGS_CLOSE :{BLACK}Fechar
STR_AI_SETTINGS_RESET :{BLACK}Repor
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Número de dias para iniciar esta IA depois da anterior (aproximadamente): {ORANGE}{STRING}
# Textfile window
@ -5518,10 +5522,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Helicóptero Po
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Empresa {COMMA})
STR_FORMAT_GROUP_NAME :Grupo {COMMA}

@ -4627,7 +4627,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Script de joc
STR_AI_SETTINGS_CLOSE :{BLACK}Închide
STR_AI_SETTINGS_RESET :{BLACK}Resetează
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Perioada (în zile) după care această librărie IA va fi activată, după cea anterioară (valoare aproximativă): {ORANGE}{STRING}
# Textfile window
@ -5510,10 +5509,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Elicopter Power
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Companie {COMMA})
STR_FORMAT_GROUP_NAME :Grup {COMMA}

@ -1863,7 +1863,7 @@ STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Объём па
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} МиБ
STR_CONFIG_SETTING_SERVINT_ISPERCENT :Интервал тех. обслуживания в процентах: {STRING}
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Выберите, должно ли техническое обслуживание транспорта выполняться через определённые промежутки времени, либо при снижении надёжности транспортного средства на определённый процент от максимума
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :При включении транспортные средства будут отправляться на техническое обслуживание после падения надёжности на указанный процент от максимальной.{}Например, при максимальной надёжности 90% и указанном интервале ТО 20% транспортное средство уйдёт на обслуживание при падении надёжности до 72%.
STR_CONFIG_SETTING_SERVINT_TRAINS :Интервал ТО по умолчанию для поездов: {STRING}
STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Настройка периодичности технического обслуживания для новых поездов
@ -2077,6 +2077,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :нет
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Стартовый множитель размера мегаполисов: {STRING}
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Средний размер мегаполисов по сравнению с остальными городами в начале игры
STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Обновлять граф распределения кажд{P 0:2 ую ые ые} {STRING}{NBSP}секунд{P 0:2 у ы ""}
STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Интервалы между перерасчётами графов распределения грузов. Каждый перерасчёт обновляет один компонент графа. То есть, по истечении указанного здесь времени будет обновлён не весь граф, а только один из его компонентов. Чем ниже значение, тем выше нагрузка на процессор. Чем выше значение, тем дольше не будет работать распределение грузов на новых маршрутах.
STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Продолжительность перерасчёта графа распределения: {STRING}{NBSP}секунд{P 0:2 а ы ""}
STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Время, выделяемое на каждый перерасчёт одного из компонентов графа распределения грузов. Расчёт выполняется в отдельном вычислительном потоке. Чем ниже значение, тем выше вероятность того, что расчёт не будет выполнен за указанное время; в таком случае игра будет приостановлена до завершения расчёта. Чем выше значение, тем медленнее будет обновляться граф распределения в случае изменения маршрутов.
STR_CONFIG_SETTING_DISTRIBUTION_PAX :Распределение пассажиров: {STRING}
STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :«Симметричное» означает, что примерно одинаковое количество пассажиров будет направляться по прямому и обратному маршрутам.{}«Несимметричное» означает, что пассажиропотоки в любых направлениях не будут зависеть друг от друга.{}«Вручную» - не использовать автоматическое распределение для пассажиров.
@ -4775,6 +4779,7 @@ STR_AI_CONFIG_RANDOM_AI :Случайн
STR_AI_CONFIG_NONE :(нет)
STR_AI_CONFIG_NAME_VERSION :{STRING} {YELLOW}v{NUM}
STR_AI_CONFIG_MAX_COMPETITORS :{LTBLUE}Максимальное количество конкурентов: {ORANGE}{COMMA}
STR_AI_CONFIG_COMPETITORS_INTERVAL :{LTBLUE}Интервал между запуском конкурентов: {ORANGE}{COMMA} минут{P а ы ""}
STR_AI_CONFIG_MOVE_UP :{BLACK}Вверх
STR_AI_CONFIG_MOVE_UP_TOOLTIP :{BLACK}Переместить этот модуль ИИ вверх по списку
@ -4821,7 +4826,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :игровых
STR_AI_SETTINGS_CLOSE :{BLACK}Закрыть
STR_AI_SETTINGS_RESET :{BLACK}Сброс
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Запускать этот ИИ через {ORANGE}{STRING} д{P 0:1 ень ня ней} после предыдущего
# Textfile window
@ -5741,10 +5745,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Вертолё
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}.{STRING}.{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}.{ZEROFILL_NUM}.{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM} г.
STR_FORMAT_DATE_LONG :{STRING} {STRING.gen} {NUM} г.
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Компания {COMMA})
STR_FORMAT_GROUP_NAME :Группа {COMMA}

@ -4827,7 +4827,6 @@ STR_AI_SETTINGS_CAPTION_AI :{WHITE}Parametr
STR_AI_SETTINGS_CLOSE :{BLACK}Zatvori
STR_AI_SETTINGS_RESET :{BLACK}Poništi
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Broj dana za pokretanje ove VI posle prethodne (otprilike): {ORANGE}{STRING}
# Textfile window
@ -5698,10 +5697,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Powernaut helik
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Preduzeće {COMMA})
STR_FORMAT_GROUP_NAME :Grupa {COMMA}

@ -4626,7 +4626,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :游戏脚本
STR_AI_SETTINGS_CLOSE :{BLACK}关闭
STR_AI_SETTINGS_RESET :{BLACK}重设
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :当前AI在前一个AI运行 {ORANGE}{STRING}天之后开始运行
# Textfile window
@ -5507,10 +5506,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Powernaut 直
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(公司 {COMMA})
STR_FORMAT_GROUP_NAME :组 {COMMA}

@ -259,6 +259,7 @@ STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mph
STR_UNITS_VELOCITY_METRIC :{COMMA} km/h
STR_UNITS_VELOCITY_SI :{COMMA} m/s
STR_UNITS_VELOCITY_GAMEUNITS :{DECIMAL}{NBSP}políč{P ko ka ok}/deň
STR_UNITS_VELOCITY_KNOTS :{COMMA}{NBSP}uzlov
STR_UNITS_POWER_IMPERIAL :{COMMA}hp
STR_UNITS_POWER_METRIC :{COMMA}hp
@ -407,9 +408,9 @@ STR_GOTO_ORDER_VIEW_TOOLTIP :{BLACK}Otvoriť
###length 31
STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Pozastaviť hru
STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Zrýchliť priebeh hry
STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Nastavenia
STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Uložiť hru, opustiť hru, ukončiť
STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Zobraziť mapu
STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Možnosti a nastavenia
STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Uložiť, načítať alebo opustiť hru, ukončiť program
STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Zobraziť mapu, extra výrez, tok nákladu alebo zoznam značiek
STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Zobraziť zoznam miest
STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Zobraziť dotácie
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Zoznam staníc spoločnosti
@ -417,9 +418,9 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Finančn
STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Informácie o spoločnosti
STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Zobraziť knihu príbehov
STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Zobraziť zoznam cieľov
STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Grafy
STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Zobrazte firemné grafy a sadzby platieb za náklad
STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Hodnotenie spoločností
STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Financovať výstavbu nového priemyslu
STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Preskúmať odvetvia alebo zafinancovať výstavbu nového odvetvia
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Zoznam vlakov spoločnosti. Ctrl+klik prepína zoznam skupín/vozidiel
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Zoznam cestných vozidiel spoločnosti. Ctrl+klik prepína zoznam skupín/vozidiel
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Zoznam lodí spoločnosti. Ctrl+klik prepína zoznam skupín/vozidiel
@ -433,8 +434,8 @@ STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Výstavb
STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Výstavba letísk
STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Otvoriť panel nástrojov pre úpravy terénu, výsadbu stromov, a pod.
STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Zobraziť okno zvuku a hudby
STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Zobraziť poslednú správu/novinku, nastavenia správ
STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Informácie o pozemku, konzola, ladenie skriptu, snímky obrazovky, o OpenTTD
STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Zobraziť poslednú správu/novinku, históriu správ alebo vymazať všetky správy
STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Informácie o pozemku, snímka obrazovky, o OpenTTD a nástrojoch pre vývojárov
STR_TOOLBAR_TOOLTIP_SWITCH_TOOLBAR :{BLACK}Prepnúť panely nástrojov
# Extra tooltips for the scenario editor toolbar
@ -1876,7 +1877,9 @@ STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Ak je zapnuté,
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES :Minimálny vek spoločnosti na obchodovanie s podielmi: {STRING}
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES_HELPTEXT :Určuje minimálny vek spoločnosti na to, aby od nej mohli ostatné spoločnosti kupovať a predavať podiely.
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES_VALUE :{COMMA} rok{P "" "y" "ov"}
###setting-zero-is-special
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES_NO_MIN :Žiadne minimum
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Percentáž zisku na zaplatenie podávacieho systému: {STRING}
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Percento príjmov dať na strednú ´nohu´ vo feeder systémoch, získate väčšiu kontrolu nad príjmami
@ -2016,13 +2019,15 @@ STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Nastavením na
STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Vyťaženie krátkych ciest pred použitím vysokokapacitných ciest: {STRING}
STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Často je viac ciest medzi dvoma stanicami. Cargodist vyťaží najprv najkratšiu cestu, potom využije druhú najkratšiu cestu až kým nebude vyťažená atď. Vyťaženie je určené podľa odhadu kapacity a plánovaného využitia. Ak sú vyťažené všetky trasy a nepostačuje to, preťaží všetky trasy, s preferenciou najkapacitnejšej. Väčšinou algoritmus neodhadne kapacitu presne. Toto nastavenie umožňuje určiť na koľko percent musí byť vyťažená prvá pred výberom nasledujúcej dlhšej. Nastavte na menej ako 100%, aby sa zabránilo preplneniu staníc v prípade nadhodnotenia kapacity.
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Jednotky rýchlosti: {STRING}
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Jednotky rýchlosti (pozemné): {STRING}
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Jednotky rýchlosti (námorné): {STRING}
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :Vždy, keď sa zobrazí rýchlosť v užívateľskom rozhraní, zobrazí sa vo vybraných jednotkách
###length 5
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_IMPERIAL :Imperiálne (mph)
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_METRIC :Metrické (km/h)
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_SI :SI (m/s)
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_GAMEUNITS :Jednotky v hre (políčka/deň)
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_KNOTS :Uzle
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Jednotky výkonu vozidiel: {STRING}
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_HELPTEXT :Vždy, keď sa zobrazí výkon vozidla v užívateľskom rozhraní, zobrazí sa vo vybraných jednotkách
@ -4649,6 +4654,7 @@ STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}AI, ktor
STR_AI_CONFIG_HUMAN_PLAYER :Človek
STR_AI_CONFIG_RANDOM_AI :Náhodná AI
STR_AI_CONFIG_NONE :(žiadne)
STR_AI_CONFIG_NAME_VERSION :{STRING} {YELLOW}v{NUM}
STR_AI_CONFIG_MAX_COMPETITORS :{LTBLUE}Maximálny počet konkurentov: {ORANGE}{COMMA}
STR_AI_CONFIG_MOVE_UP :{BLACK}Posunúť vyššie
@ -4662,7 +4668,7 @@ STR_AI_CONFIG_AI :{SILVER}AI (ume
STR_AI_CONFIG_CHANGE_AI :{BLACK}Vyber AI
STR_AI_CONFIG_CHANGE_GAMESCRIPT :{BLACK}Vyber skript
STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Spusti ďalší skript
STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Spusti ďalší skript. Ctrl+klik zobrazí všetky dostupné verzie
STR_AI_CONFIG_CONFIGURE :{BLACK}Nastaviť
STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Nastaviť parametre skriptu
@ -4696,7 +4702,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Herný skript
STR_AI_SETTINGS_CLOSE :{BLACK}Zavrieť
STR_AI_SETTINGS_RESET :{BLACK}Resetovať
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Koľko dní prejde od spustenia predchádzajúcej umelej inteligencie k naštartovaniu novej: {ORANGE}{STRING}
# Textfile window
@ -5579,10 +5584,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Powernaut Helic
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Spoločnosť {COMMA})
STR_FORMAT_GROUP_NAME :Skupina {COMMA}

@ -4310,7 +4310,6 @@ STR_AI_SETTINGS_CAPTION_AI :UI
STR_AI_SETTINGS_CLOSE :{BLACK}Zapri
STR_AI_SETTINGS_RESET :{BLACK}Resetiraj
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Število dni zamika med zagonom sledeče po predhodni UI: {ORANGE}{STRING}
# Textfile window
@ -5207,10 +5206,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Powernaut helik
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Podjetje {COMMA})
STR_FORMAT_GROUP_NAME :Skupina {COMMA}

@ -4623,7 +4623,6 @@ STR_AI_SETTINGS_CAPTION_AI :{WHITE}Parámet
STR_AI_SETTINGS_CLOSE :{BLACK}Cerrar
STR_AI_SETTINGS_RESET :{BLACK}Reiniciar
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Número de días (aproximados) de espera antes de comenzar esta IA desde el momento en el que empezó la anterior: {ORANGE}{STRING}
# Textfile window
@ -5494,10 +5493,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Helicóptero Po
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Empresa {COMMA})
STR_FORMAT_GROUP_NAME :Grupo {COMMA}

@ -4624,7 +4624,6 @@ STR_AI_SETTINGS_CAPTION_AI :{WHITE}Parámet
STR_AI_SETTINGS_CLOSE :{BLACK}Cerrar
STR_AI_SETTINGS_RESET :{BLACK}Reiniciar
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Número de días a esperar antes de comenzar esta IA desde el momento en el que empezó la anterior: {ORANGE}{STRING}
# Textfile window
@ -5497,10 +5496,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Helicóptero Po
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{0:STRING}/{1:STRING}/{2:NUM}
STR_FORMAT_DATE_TINY :{0:ZEROFILL_NUM}/{1:ZEROFILL_NUM}/{2:NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{0:STRING} {1:STRING} {2:NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Empresa {COMMA})
STR_FORMAT_GROUP_NAME :Grupo {COMMA}

@ -4628,7 +4628,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Spelskript
STR_AI_SETTINGS_CLOSE :{BLACK}Stäng
STR_AI_SETTINGS_RESET :{BLACK}Återställ
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Ungefärligt antal dagar som denna datorspelare startar efter föregående datorspelare: {ORANGE}{STRING}
# Textfile window
@ -5511,10 +5510,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Powernaut helik
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Företag {COMMA})
STR_FORMAT_GROUP_NAME :Grupp {COMMA}

@ -4129,7 +4129,6 @@ STR_AI_SETTINGS_CAPTION_AI :AI
STR_AI_SETTINGS_CLOSE :{BLACK}மூடு
STR_AI_SETTINGS_RESET :{BLACK}முன்னிருந்தமாதிரி மாற்று
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :இந்த AI-இனை தொடங்குவதற்கான நாட்கள், முந்தின AI-இற்கு பிறகு: {ORANGE}{STRING}
# Textfile window
@ -4984,10 +4983,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :பவர்ன
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(நிறுவனம் {COMMA})
STR_FORMAT_GROUP_NAME :குழு {COMMA}

@ -4271,7 +4271,6 @@ STR_AI_SETTINGS_CAPTION_AI :AI
STR_AI_SETTINGS_CLOSE :{BLACK}ปิด
STR_AI_SETTINGS_RESET :{BLACK}เริ่มใหม่
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :จำนวนที่จะให้เริ่มต้น AI นี้หลังจากที่มีการเริ่มต้น AI ก่อนหน้านี้ไป: {ORANGE}{STRING}
# Textfile window
@ -5123,10 +5122,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Powernaut Helic
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(บริษัท {COMMA})
STR_FORMAT_GROUP_NAME :กลุ่ม {COMMA}

@ -4628,7 +4628,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :遊戲腳本
STR_AI_SETTINGS_CLOSE :{BLACK}關閉
STR_AI_SETTINGS_RESET :{BLACK}重設
STR_AI_SETTINGS_SETTING :{STRING}{ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :此 AI 與上一個 AI 的啟動時間相隔天數 (近似值){ORANGE}{STRING}
# Textfile window
@ -5511,10 +5510,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Powernaut 直
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{2:NUM} 年 {1:STRING} 月 {0:STRING} 日
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(公司 {COMMA})
STR_FORMAT_GROUP_NAME :群組 {COMMA}

@ -157,7 +157,7 @@ STR_ABBREV_COLA :{TINY_FONT}KO
STR_ABBREV_CANDYFLOSS :{TINY_FONT}PŞ
STR_ABBREV_BUBBLES :{TINY_FONT}BA
STR_ABBREV_TOFFEE :{TINY_FONT}ŞL
STR_ABBREV_BATTERIES :{TINY_FONT}Pİ
STR_ABBREV_BATTERIES :{TINY_FONT}PİL
STR_ABBREV_PLASTIC :{TINY_FONT}PL
STR_ABBREV_FIZZY_DRINKS :{TINY_FONT}İÇ
STR_ABBREV_NONE :{TINY_FONT}YO
@ -196,6 +196,7 @@ STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mi
STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/s
STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s
STR_UNITS_VELOCITY_GAMEUNITS :{DECIMAL}{NBSP}karo/gün
STR_UNITS_VELOCITY_KNOTS :{COMMA}{NBSP}hava hızı
STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}bg
STR_UNITS_POWER_METRIC :{COMMA}{NBSP}bg
@ -344,9 +345,9 @@ STR_GOTO_ORDER_VIEW_TOOLTIP :{BLACK}Emir gö
###length 31
STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Oyunu durdur
STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Oyunu hızlandır
STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Seçenekler
STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Kaydet, oyunu terk et, çık
STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Haritayı göster
STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Seçenekler ve ayarlar
STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Kaydet, oyunu yükle veya terk et, program'dan çık
STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Haritayı, ekstra vitrini, kargo akşını veya işaret listesini görüntüleyin
STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Şehir listesini göster
STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Teşvikleri göster
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Şirkete ait istasyonları listele
@ -354,9 +355,9 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Şirketi
STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Şirketin genel durumunu göster
STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Hikaye kitabını görüntüle
STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Amaç listesini görüntüle
STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Grafikleri göster
STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Şirket grafiğini ve kargo ödeme oranlarını görüntüleyin
STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Şirketler ligini göster
STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Yeni fabrika kur veya tüm fabrikaları listele
STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Endüstrileri inceleyin veya yeni endüstri inşasını fonlayın
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Şirkete ait trenleri listele. Ctrl+Sol tıklama ile grup/araç listesini açar veya kapatır
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Şirkete ait karayolu taşıtlarını listele. Ctrl+Sol tıklama ile grup/araç listesini açıp kapatır
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Şirkete ait gemileri listele. Ctrl+Sol tık ile grup/araç listesini açar veya kapatır
@ -370,8 +371,8 @@ STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Rıhtım
STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Havalimanı yapımı
STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Arazi düzenleme araç çubuğunu aç (ağaç dikme, alçaltma/yükseltme vb. için).
STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Ses/müzik penceresini göster
STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Son mesajı/haberi göster, mesaj ayarlarını göster
STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Arazi bilgisi, konsol, betik hata ayıklama, ekran görüntüleri, OpenTTD hakkında
STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Son mesajı/haberi göster, mesaj geçmişini göster veya tüm mesajları sil
STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Arazi bilgisi, ekran görüntüsü, OpenTTD ve geliştirici araçları hakkında
STR_TOOLBAR_TOOLTIP_SWITCH_TOOLBAR :{BLACK}Araç çubuklarını değiştir
# Extra tooltips for the scenario editor toolbar
@ -1712,7 +1713,7 @@ STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Tek bir betiği
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB
STR_CONFIG_SETTING_SERVINT_ISPERCENT :Servis gecikmeleri yüzde ile: {STRING}
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Araçlara bakım yapılmasına bir önceki bakımın üzerinden geçen zamana göre mi, yoksa aracın güvenilirlik değerinin azami güvenilirliğe kıyasla belli bir yüzde oranında düşmesine bağlı olarak mı karar verileceğini seçin
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Etkinleştirildiğinde, araçların güvenilirlik değerinin azami güvenilirliğe kıyasla belli bir yüzde oranında düşmesine bağlı olarak bakım yapar.{}{}Örneğin, eğer aracın azami güvenirliği %90 ve bakım aralığı %20 ise araç %72 güvenilirliğe ulaştığında bakım yapmayı dener.
STR_CONFIG_SETTING_SERVINT_TRAINS :Trenler için varsayılan bakım aralığı: {STRING}
STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Yeni tren yolu araçları için varsayılan bakım aralığını ayarlar, eğer araç için özel bir bakım aralığı belirtilmemişse geçerlidir
@ -1809,7 +1810,9 @@ STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Etkinleştirild
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES :Hisse satmak için gerekli minimum şirket yaşı: {STRING}
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES_HELPTEXT :Bir şirketin hisselerinin satılabileceği ve diğer şirketlerin alabileceği minimum şirket yaşını belirleyin.
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES_VALUE :{COMMA} yıl{P ""}
###setting-zero-is-special
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES_NO_MIN :Minimum yok
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Besleme sistemlerinde, bölümlerden elde edilen kardan ödenecek yüzde: {STRING}
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Besleme sistemlerinde, sistemi oluşturan ara bölümlere verilen kar yüzdesi. Böylece kar miktarı üzerinde daha fazla kontrol elde edilmiş olur
@ -1924,6 +1927,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Hiçbiri
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Birincil şehir büyüklüğü çarpanı: {STRING}
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Oyun başlangıcında şehirlerin normal kasabalara kıyasla ortalama büyüklüğü
STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Dağıtım grafiğini her {STRING}{NBSP}saniyede{P 0:2 ""} güncelle
STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Bağlantı grafiğinin sonraki yeniden hesaplamaları arasındaki süre. Her yeniden hesaplama, grafiğin bir bileşeni için planları hesaplar. Bu, bu ayar için bir X değerinin tüm grafiğin her X saniyede bir güncelleneceği anlamına gelmediği anlamına gelir. Sadece bazı bileşenler olacaktır. Ne kadar kısa ayarlarsanız, hesaplamak için o kadar fazla CPU süresi gerekir. Ne kadar uzun ayarlarsanız, kargo dağıtımının yeni rotalarda başlaması o kadar uzun sürer.
STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Dağıtım grafiğinin yeniden hesaplanması için {STRING}{NBSP}saniye{P 0:2 ""} bekleyin
STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Bir bağlantı grafiği bileşeninin her yeniden hesaplanması için geçen süre. Bir yeniden hesaplama başlatıldığında, bu sayıda saniye boyunca çalışmasına izin verilen bir iş parçacığı oluşturulur. Bunu ne kadar kısa ayarlarsanız, iş parçacığının olması gerektiği zamanda bitmemiş olma olasılığı o kadar artar. Ardından oyun ("gecikme") olana kadar durur. Ne kadar uzun ayarlarsanız, rotalar değiştiğinde dağıtımın güncellenmesi o kadar uzun sürer.
STR_CONFIG_SETTING_DISTRIBUTION_PAX :Yolcular için dağıtım kipi: {STRING}
STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Simetrik" seçildiğinde A durağından B durağına taşınan ile B'den A'ya taşınan yolcu miktarı kabaca eşit olur. "Asimetrik" seçildiğinde iki yönde de rastgele miktarda yolcu gönderilebilir. "el ile" seçildiğinde yolcular için otomatik dağıtım yapılmaz.
@ -1949,13 +1956,15 @@ STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Buraya %100'den
STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Yüksek kapasiteli güzergahları kullanmadan önce daha kısa güzergah doygunluğu: {STRING}
STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Sıklıkla iki durak arasında birden fazla güzergah bulunur. Kargo dağıtımı önce en kısa güzergahı doygunluğa ulaştırır, ardından ikinci en kısa güzergahı doygunluğa ulaşana kadar kullanır ve böyle devam eder. Doygunluk, kapasite tahmini ve planlanan kullanım miktarına göre hesaplanır. Tüm güzergahlar doygunluğa ulaştığında eğer hala talep varsa, yüksek kapasiteli olan güzergahları tercih ederek tüm güzergahlarıırı yükler. Fakat çoğu zaman algoritma kapasiteyi isabetli olarak hesaplayamaz. Bu değer, daha kısa bir güzergahın yüzde kaç oranında doygunluğa ulaştığı zaman bir sonraki güzergahın seçileceğini ayarlamanızı sağlar. Yanlış (büyük) kapasite tahmini ihtimaline karşıırı dolu durakları önlemek için %100'den daha düşük bir değer seçin.
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Hız birimi: {STRING}
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Hız birimi (kara): {STRING}
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Hız birimleri (denizcilik): {STRING}
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :Kullanıcı arayüzünde hız görüntülendiğinde, bunu seçili birimde göster.
###length 5
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_IMPERIAL :Imperial (İngiliz ölçü birimleri) (mph)
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_METRIC :Metrik (km/s)
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_SI :SI (Uluslararası Ölçüm Sistemi) (m/s)
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_GAMEUNITS :Oyun birimleri (karo/gün)
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_KNOTS :Hava hızı
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Araç gücü ölçü birimi: {STRING}
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_HELPTEXT :Kullanıcı arayüzünde bir aracın gücü görüntülendiğinde, bunu seçili ölçü biriminde göster.
@ -4582,7 +4591,9 @@ STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}Bir sonr
STR_AI_CONFIG_HUMAN_PLAYER :İnsan oyuncu
STR_AI_CONFIG_RANDOM_AI :Rastgele YZ
STR_AI_CONFIG_NONE :(hiçbiri)
STR_AI_CONFIG_NAME_VERSION :{STRING} {YELLOW}v{NUM}
STR_AI_CONFIG_MAX_COMPETITORS :{LTBLUE}En fazla yarışmacı sayısı: {ORANGE}{COMMA}
STR_AI_CONFIG_COMPETITORS_INTERVAL :{LTBLUE}Yarışmacıların başlama arasındaki aralık: {ORANGE}{COMMA} dakika {P ""}
STR_AI_CONFIG_MOVE_UP :{BLACK}Yukarı taşı
STR_AI_CONFIG_MOVE_UP_TOOLTIP :{BLACK}Seçilen YZ'yi listede yukarı taşı
@ -4595,7 +4606,7 @@ STR_AI_CONFIG_AI :{SILVER}YZ'ler
STR_AI_CONFIG_CHANGE_AI :{BLACK}YZ Seç
STR_AI_CONFIG_CHANGE_GAMESCRIPT :{BLACK}Oyun Betiği Seç
STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Başka bir betik yükle
STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Başka bir betik yükle. Kullanılabilir tüm sürümleri göstermek için Ctrl+Tıkla
STR_AI_CONFIG_CONFIGURE :{BLACK}Yapılandır
STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Betik parametrelerini yapılandır
@ -4629,7 +4640,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Oyun Betiği
STR_AI_SETTINGS_CLOSE :{BLACK}Kapat
STR_AI_SETTINGS_RESET :{BLACK}Yeniden başlat
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Bu YZ bir öncekinden kaç gün sonra başlayacak (yaklaşık): {ORANGE}{STRING}
# Textfile window
@ -5084,6 +5094,18 @@ STR_ERROR_TOO_FAR_FROM_PREVIOUS_DESTINATION :{WHITE}... önc
STR_ERROR_AIRCRAFT_NOT_ENOUGH_RANGE :{WHITE}... uçağın menzili yeterli değil
# Extra messages which go on the third line of errors, explaining why orders failed
STR_ERROR_NO_RAIL_STATION :{WHITE} Tren istasyonu yok
STR_ERROR_NO_BUS_STATION :{WHITE}Otobüs istasyonu yok
STR_ERROR_NO_TRUCK_STATION :{WHITE} Kamyon istasyonu yok
STR_ERROR_NO_DOCK :{WHITE}Liman yok
STR_ERROR_NO_AIRPORT :{WHITE}Havalimanı/Helikopter pisti yok
STR_ERROR_NO_STOP_COMPATIBLE_ROAD_TYPE :{WHITE}Uyumlu bir yol tipine sahip durak yok
STR_ERROR_NO_STOP_COMPATIBLE_TRAM_TYPE :{WHITE}Uyumlu bir tramvay tipine sahip durak yok
STR_ERROR_NO_STOP_ARTICULATED_VEHICLE :{WHITE} Körüklü karayolu taşıtları için uygun durak yoktur.{}Körüklü karayolu taşıtları üzerinden geçme durağı gerektirir, körfez durağı değil
STR_ERROR_AIRPORT_NO_PLANES :{WHITE}Bu uçak bu helikopter pistine inemez
STR_ERROR_AIRPORT_NO_HELICOPTERS :{WHITE}Helikopter bu havalimanı'na inemez
STR_ERROR_NO_RAIL_WAYPOINT :{WHITE} Demiryolu ara noktası yok
STR_ERROR_NO_BUOY :{WHITE}Şamandıra yok
# Timetable related errors
STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}Aracın zaman çizelgesi oluşturulamıyor...
@ -5510,10 +5532,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Powernaut Helik
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Company {COMMA})
STR_FORMAT_GROUP_NAME :Grup {COMMA}

@ -4749,7 +4749,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Ігровий
STR_AI_SETTINGS_CLOSE :{BLACK}Закрити
STR_AI_SETTINGS_RESET :{BLACK}Скидання
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Кількість днів до запуску цього АІ після запуску попереднього АІ: {ORANGE}{STRING}
# Textfile window
@ -5657,10 +5656,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Гелікоп
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(Компанія {COMMA})
STR_FORMAT_GROUP_NAME :Група {COMMA}

@ -3099,10 +3099,10 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Powernaut ہی
##id 0x8800
# Formatting of some strings
STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM}
STR_FORMAT_DATE_TINY :{ZEROFILL_NUM}-{ZEROFILL_NUM}-{NUM}
STR_FORMAT_DATE_SHORT :{STRING} {NUM}
STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM}
STR_FORMAT_COMPANY_NUM :(کمپنی {COMMA})
STR_FORMAT_GROUP_NAME :گروہ {COMMA}

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

Loading…
Cancel
Save