Merge branch 'master' into jgrpp

# Conflicts:
#	src/base_station_base.h
#	src/industry.h
#	src/industry_cmd.cpp
#	src/industry_gui.cpp
#	src/lang/korean.txt
#	src/os/macosx/crashlog_osx.cpp
#	src/station_cmd.cpp
#	src/town.h
#	src/town_cmd.cpp
#	src/town_gui.cpp
pull/132/head
Jonathan G Rennison 4 years ago
commit dd99fd646d

@ -12,3 +12,4 @@ notifications:
commit-comment:
pull-request:
issue:
tag-created:

@ -0,0 +1,45 @@
name: Commit checker
on:
pull_request:
jobs:
commit-checker:
name: Commit checker
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 4
- name: Get pull-request commits
run: |
set -x
# actions/checkout did a merge checkout of the pull-request. As such, the first
# commit is the merge commit. This means that on HEAD^ is the base branch, and
# on HEAD^2 are the commits from the pull-request. We now check if those trees
# have a common parent. If not, we fetch a few more commits till we do. In result,
# the log between HEAD^ and HEAD^2 will be the commits in the pull-request.
DEPTH=4
while [ -z "$(git merge-base HEAD^ HEAD^2)" ]; do
git -c protocol.version=2 fetch --no-tags --prune --progress --no-recurse-submodules --deepen=${DEPTH} origin HEAD
DEPTH=$(( ${DEPTH} * 4 ))
done
# Just to show which commits we are going to evaluate.
git log --oneline HEAD^..HEAD^2
- name: Checkout commit-checker
uses: actions/checkout@v2
with:
repository: OpenTTD/OpenTTD-git-hooks
path: git-hooks
ref: master
- name: Check commits
run: |
set -x
HOOKS_DIR=./git-hooks/hooks GIT_DIR=.git ./git-hooks/hooks/check-commits.sh HEAD^..HEAD^2
echo "Commit checks passed"

@ -7,8 +7,8 @@
# Project related configuration options
#---------------------------------------------------------------------------
DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = OpenTTD
PROJECT_NUMBER =
PROJECT_NAME = "OpenTTD Source"
PROJECT_NUMBER = $(VERSION)
PROJECT_BRIEF =
PROJECT_LOGO =
OUTPUT_DIRECTORY = docs/source/

@ -39,8 +39,6 @@ jobs:
strategy:
matrix:
commit-checker:
Tag: 'commit-checker'
linux-amd64-clang-3.9:
Tag: 'linux-amd64-clang-3.9'
linux-amd64-gcc-6:

@ -15,7 +15,6 @@
#include "viewport_type.h"
#include "station_map.h"
#include "core/geometry_type.hpp"
#include "core/alloc_type.hpp"
#include <memory>
typedef Pool<BaseStation, StationID, 32, 64000> StationPool;
@ -59,7 +58,7 @@ struct BaseStation : StationPool::PoolItem<&_station_pool> {
char *name; ///< Custom name
StringID string_id; ///< Default name (town area) of station
std::unique_ptr<const char, FreeDeleter> cached_name; ///< NOSAVE: Cache of the resolved name of the station, if not using a custom name
mutable std::string cached_name; ///< NOSAVE: Cache of the resolved name of the station, if not using a custom name
Town *town; ///< The town this station is associated with
Owner owner; ///< The owner of this station
@ -115,8 +114,8 @@ struct BaseStation : StationPool::PoolItem<&_station_pool> {
inline const char *GetCachedName() const
{
if (this->name != nullptr) return this->name;
if (!this->cached_name) const_cast<BaseStation *>(this)->FillCachedName();
return this->cached_name.get();
if (this->cached_name.empty()) this->FillCachedName();
return this->cached_name.c_str();
}
virtual void MoveSign(TileIndex new_xy)
@ -183,8 +182,8 @@ struct BaseStation : StationPool::PoolItem<&_station_pool> {
static void PostDestructor(size_t index);
private:
void FillCachedName();
private:
void FillCachedName() const;
};
/**

@ -113,6 +113,7 @@ CommandProc CmdIncreaseLoan;
CommandProc CmdDecreaseLoan;
CommandProc CmdWantEnginePreview;
CommandProc CmdEngineCtrl;
CommandProc CmdSetVehicleUnitNumber;
@ -334,6 +335,7 @@ static const Command _command_proc_table[] = {
DEF_CMD(CmdDecreaseLoan, 0, CMDT_MONEY_MANAGEMENT ), // CMD_DECREASE_LOAN
DEF_CMD(CmdWantEnginePreview, 0, CMDT_VEHICLE_MANAGEMENT ), // CMD_WANT_ENGINE_PREVIEW
DEF_CMD(CmdEngineCtrl, CMD_DEITY, CMDT_VEHICLE_MANAGEMENT ), // CMD_ENGINE_CTRL
DEF_CMD(CmdSetVehicleUnitNumber, 0, CMDT_OTHER_MANAGEMENT ), // CMD_SET_VEHICLE_UNIT_NUMBER

@ -279,6 +279,7 @@ enum Commands {
CMD_DECREASE_LOAN, ///< decrease the loan from the bank
CMD_WANT_ENGINE_PREVIEW, ///< confirm the preview of an engine
CMD_ENGINE_CTRL, ///< control availability of the engine for companies
CMD_SET_VEHICLE_UNIT_NUMBER, ///< sets the unit number of a vehicle

@ -720,11 +720,11 @@ void StartupEngines()
}
/**
* Company \a company accepts engine \a eid for preview.
* @param eid Engine being accepted (is under preview).
* @param company Current company previewing the engine.
* Allows engine \a eid to be used by a company \a company.
* @param eid The engine to enable.
* @param company The company to allow using the engine.
*/
static void AcceptEnginePreview(EngineID eid, CompanyID company)
static void EnableEngineForCompany(EngineID eid, CompanyID company)
{
Engine *e = Engine::Get(eid);
Company *c = Company::Get(company);
@ -738,15 +738,45 @@ static void AcceptEnginePreview(EngineID eid, CompanyID company)
c->avail_roadtypes = AddDateIntroducedRoadTypes(c->avail_roadtypes | GetRoadTypeInfo(e->u.road.roadtype)->introduces_roadtypes, _date);
}
e->preview_company = INVALID_COMPANY;
e->preview_asked = (CompanyMask)-1;
if (company == _local_company) {
AddRemoveEngineFromAutoreplaceAndBuildWindows(e->type);
/* Update the toolbar. */
InvalidateWindowData(WC_MAIN_TOOLBAR, 0);
if (e->type == VEH_ROAD) InvalidateWindowData(WC_BUILD_TOOLBAR, TRANSPORT_ROAD);
if (e->type == VEH_SHIP) InvalidateWindowData(WC_BUILD_TOOLBAR, TRANSPORT_WATER);
}
}
/* Update the toolbar. */
if (e->type == VEH_ROAD) InvalidateWindowData(WC_BUILD_TOOLBAR, TRANSPORT_ROAD);
if (e->type == VEH_SHIP) InvalidateWindowData(WC_BUILD_TOOLBAR, TRANSPORT_WATER);
/**
* Forbids engine \a eid to be used by a company \a company.
* @param eid The engine to disable.
* @param company The company to forbid using the engine.
*/
static void DisableEngineForCompany(EngineID eid, CompanyID company)
{
Engine *e = Engine::Get(eid);
ClrBit(e->company_avail, company);
if (company == _local_company) {
AddRemoveEngineFromAutoreplaceAndBuildWindows(e->type);
}
}
/**
* Company \a company accepts engine \a eid for preview.
* @param eid Engine being accepted (is under preview).
* @param company Current company previewing the engine.
*/
static void AcceptEnginePreview(EngineID eid, CompanyID company)
{
Engine *e = Engine::Get(eid);
e->preview_company = INVALID_COMPANY;
e->preview_asked = (CompanyMask)-1;
EnableEngineForCompany(eid, company);
/* Notify preview window, that it might want to close.
* Note: We cannot directly close the window.
@ -901,6 +931,37 @@ CommandCost CmdWantEnginePreview(TileIndex tile, DoCommandFlag flags, uint32 p1,
return CommandCost();
}
/**
* Allow or forbid a specific company to use an engine
* @param tile unused
* @param flags operation to perform
* @param p1 engine id
* @param p2 various bitstuffed elements
* - p2 = (bit 0 - 7) - Company to allow/forbid the use of an engine.
* - p2 = (bit 31) - 0 to forbid, 1 to allow.
* @param text unused
* @return the cost of this operation or an error
*/
CommandCost CmdEngineCtrl(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
{
if (_current_company != OWNER_DEITY) return CMD_ERROR;
EngineID engine_id = (EngineID)p1;
CompanyID company_id = (CompanyID)GB(p2, 0, 8);
bool allow = HasBit(p2, 31);
if (!Engine::IsValidID(engine_id) || !Company::IsValidID(company_id)) return CMD_ERROR;
if (flags & DC_EXEC) {
if (allow) {
EnableEngineForCompany(engine_id, company_id);
} else {
DisableEngineForCompany(engine_id, company_id);
}
}
return CommandCost();
}
/**
* An engine has become available for general use.
* Also handle the exclusive engine preview contract.

@ -62,7 +62,7 @@ struct Industry : IndustryPool::PoolItem<&_industry_pool> {
PartOfSubsidy part_of_subsidy; ///< NOSAVE: is this industry a source/destination of a subsidy?
StationList stations_near; ///< NOSAVE: List of nearby stations.
std::unique_ptr<const char, FreeDeleter> cached_name; ///< NOSAVE: Cache of the resolved name of the industry
mutable std::string cached_name; ///< NOSAVE: Cache of the resolved name of the industry
Owner founder; ///< Founder of the industry
Date construction_date; ///< Date of the construction of the industry
@ -160,12 +160,12 @@ struct Industry : IndustryPool::PoolItem<&_industry_pool> {
inline const char *GetCachedName() const
{
if (!this->cached_name) const_cast<Industry *>(this)->FillCachedName();
return this->cached_name.get();
if (this->cached_name.empty()) this->FillCachedName();
return this->cached_name.c_str();
}
private:
void FillCachedName();
void FillCachedName() const;
protected:
static uint16 counts[NUM_INDUSTRYTYPES]; ///< Number of industries per type ingame

@ -2330,21 +2330,19 @@ void Industry::RecomputeProductionMultipliers()
}
}
void Industry::FillCachedName()
void Industry::FillCachedName() const
{
char buf[256];
int64 args_array[] = { this->index };
StringParameters tmp_params(args_array);
char *end = GetStringWithArgs(buf, STR_INDUSTRY_NAME, &tmp_params, lastof(buf));
char *alloced = MallocT<char>(end - buf + 1);
memcpy(alloced, buf, end - buf + 1);
this->cached_name.reset(alloced);
this->cached_name.assign(buf, end);
}
void ClearAllIndustryCachedNames()
{
for (Industry *ind : Industry::Iterate()) {
ind->cached_name.reset();
ind->cached_name.clear();
}
}

@ -1703,7 +1703,7 @@ public:
if (this->industries.SortType() == 2) this->industries.ForceResort();
break;
case IDIWD_FORCE_RESORT:
default:
this->industries.ForceResort();
break;
}

@ -235,6 +235,8 @@ STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Vælg fi
STR_BUTTON_SORT_BY :{BLACK}Sortér på
STR_BUTTON_LOCATION :{BLACK}Lokalitet
STR_BUTTON_RENAME :{BLACK}Omdøb
STR_BUTTON_CATCHMENT :{BLACK}Dækning
STR_TOOLTIP_CATCHMENT :{BLACK}Aktiver visning af dækningsområde
STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Luk vindue
STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Vinduestitel - træk her for at flytte vinduet
@ -263,6 +265,7 @@ STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Ved at a
STR_BUTTON_DEFAULT :{BLACK}Standard
STR_BUTTON_CANCEL :{BLACK}Annuller
STR_BUTTON_OK :{BLACK}OK
STR_WARNING_PASSWORD_SECURITY :{YELLOW}Advarsel: Server administratoren kan være i stand til at læse al tekst skrevet her.
# On screen keyboard window
STR_OSK_KEYBOARD_LAYOUT :`1234567890-=\qwertyuiop[]asdfghjkl;' zxcvbnm,./ .
@ -336,6 +339,7 @@ STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Zoom ind
STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Zoom ud
STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Byg jernbanespor
STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Byg veje
STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Byg sporveje
STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Byg havne
STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Byg lufthavne
STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Åbn landskabsværktøjslinjen for at hæve/sænke terræn, plante træer, osv.
@ -854,13 +858,14 @@ STR_NEWS_VEHICLE_IS_LOST :{WHITE}{VEHICLE
STR_NEWS_VEHICLE_IS_UNPROFITABLE :{WHITE}{VEHICLE}s indtjening sidste år var {CURRENCY_LONG}
STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}{VEHICLE} kan ikke nå til næste destination, da den er uden for rækkevidde
STR_NEWS_ORDER_REFIT_FAILED :{WHITE}{VEHICLE} stoppet fordi en ombygnings ordre fejlede
STR_NEWS_ORDER_REFIT_FAILED :{WHITE}{VEHICLE} stoppet fordi en tilpasningsordre fejlede
STR_NEWS_VEHICLE_AUTORENEW_FAILED :{WHITE}Automatisk fornyelse mislykkedes for {VEHICLE}{}{STRING}
STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLACK}Ny {STRING} er nu tilgængelig!
STR_NEWS_NEW_VEHICLE_TYPE :{BIG_FONT}{BLACK}{ENGINE}
STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Ny {STRING} er nu tilgængelig! - {ENGINE}
STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Åbn gruppevinduet med fokus på dette fartøjs gruppe
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO :{WHITE}{STATION} accepterer ikke længere {STRING}
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}{STATION} accepterer ikke længere {STRING} eller {STRING}
@ -928,6 +933,9 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Georgiske Lari
STR_GAME_OPTIONS_CURRENCY_IRR :Iranske Rialer (IRR)
STR_GAME_OPTIONS_CURRENCY_RUB :Ny Russisk Rubel (RUB)
STR_GAME_OPTIONS_CURRENCY_MXN :Meksikansk Peso (MXN)
STR_GAME_OPTIONS_CURRENCY_NTD :Ny Taiwan dollar (NTD)
STR_GAME_OPTIONS_CURRENCY_CNY :Kinesisk Renminbi (CNY)
STR_GAME_OPTIONS_CURRENCY_HKD :Hong Kong Dollar (HKD)
############ end of currency region
STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Vejkøretøjer
@ -1302,6 +1310,8 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL :Vis byens indby
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Vis befolkningen i byerne i deres etiket på kortet
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Linjetykkelse i grafer: {STRING}
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Bredde af linjerne i graferne. En tynd linie er mere læsbar, en tykkere linje er nemmere at se og det er lettere at skelne mellem farverne
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Vis navn på NewGRF i byg fartøj vinduet: {STRING}
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Tilføjer en linje til byg fartøj vinduet som viser, hvilken NewGRF det valgte fartøj stammer fra.
STR_CONFIG_SETTING_LANDSCAPE :Landskab: {STRING}
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Landskaber definerer grundlæggende gameplay-scenarier med forskellige laster og krav by vækst. NewGRF og spil Scripts tillader finere kontrol selv
@ -1313,8 +1323,8 @@ STR_CONFIG_SETTING_TERRAIN_TYPE :Terræn type: {
STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(TerraGenesis only) Hilliness af landskabet
STR_CONFIG_SETTING_INDUSTRY_DENSITY :Industri tæthed: {STRING}
STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Angiv hvor mange industrier skal genereres og hvilket niveau der bevares i løbet af spillet
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Max afstand fra kant til olieraffinaderier: {STRING}
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Olieraffinaderier er kun opføres nær kortets grænse, det er ved kysten for kort med øer
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maksimal afstand fra kant til olieindustrier: {STRING}
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Grænse for hvor langt fra kortets kant olieraffinaderier kan blive bygget. På ø-kort sikrer dette at de er nær kysten. På kort større end 256 felter bliver denne værdi automatisk skaleret op.
STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Snelinjehøjden: {STRING}
STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Kontrol med på hvilket højde sneen begynder i sub-arktiske landskab. Sne påvirker også industrien generation og betingelser by vækst
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Tærrenets hårdhed (kun TerraGenesis) : {STRING}
@ -1478,6 +1488,9 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Tillad computer
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Tillad computerstyrede spillere at deltage i multiplayer spil
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes før scriptet bliver stoppet: {STRING}
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Maximale nummer af udregninger et script kan eksekvere i en tur
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Maks hukommelsesforbrug per script: {STRING}
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Hvor meget hukommelse et enkelt script må anvende før det bliver tvungent afbrudt. Det kan være nødvendigt at forøge dette for spil på store kort.
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB
STR_CONFIG_SETTING_SERVINT_ISPERCENT :Service intervaller er i procent: {STRING}
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Vælg om vedligeholdelse bliver udløst af forløbet tid, eller pålideligheden som falder en givet procenttal i forhold til maximum pålideligheden
@ -1536,10 +1549,16 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Fuld
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Farvede nyheder dukker op i: {STRING}
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Året hvor nyheds-annonceringer bliver udskrevet i farver. Før dette år, bruger det sort / hvid
STR_CONFIG_SETTING_STARTING_YEAR :Start dato: {STRING}
STR_CONFIG_SETTING_ENDING_YEAR :Slutår for pointoptælling: {STRING}
STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Årstal hvor spillet slutter pointoptælling. Ved slutningen af dette år bliver selskabets point optaget, og topresultater-skærmen bliver vist. Spillerne kan fortsætte med at spille efter dette.{}Hvis dette er før spillets start år, bliver topresultater-skærmen aldrig vist.
STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM}
STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Aldrig
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Aktiver rolig økonomi (flere små ændringer): {STRING}
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Når slået til, ændre industriproduktion oftere, og i små trin. Denne indstilling har normalt ingen effekt, hvis industrityper er fastsat af NewGRF
STR_CONFIG_SETTING_ALLOW_SHARES :Tillad at købe aktier i andre selskaber: {STRING}
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Hvis aktiveret, tillades køb og salg af selskabsaktier. Aktier vil kun være tilgængelige for selskaber der er nået en hvis alder
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES :Mindste selskabsalder for aktiehandel: {STRING}
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES_HELPTEXT :Indstil mindste alder på selskaber, før andre kan købe og sælge aktier i dem.
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Procentdel af deloverskud som skal betales i hovedsystemer: {STRING}
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Procentdel af indkomst givet til de mellemliggende dele i hovedsystemer, giver mere kontrol over indkomst
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Når der trækkes, placer signaler hvert: {STRING}
@ -2423,7 +2442,10 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Byg en t
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Byg en sporvejstunnel. Shift skifter mellem at bygge og vise prisoverslag.
STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Skift mellem bygning/fjernelse af veje
STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Skift mellem bygning/fjernelse af sporveje
STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}Konverter/opgrader typen af vej. Shift skifter mellem at bygge og vise prisoverslag
STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_TRAM :{BLACK}Konverter/opgrader typen af sporvej. Shift skifter mellem at bygge og vise prisoverslag
STR_ROAD_NAME_ROAD :Vej
STR_ROAD_NAME_TRAM :Sporvej
# Road depot construction window
@ -2609,8 +2631,11 @@ STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF:
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Accepteret last: {LTBLUE}
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
STR_LANG_AREA_INFORMATION_RAIL_TYPE :{BLACK}Tog type: {LTBLUE}{STRING}
STR_LANG_AREA_INFORMATION_ROAD_TYPE :{BLACK}Vejtype: {LTBLUE}{STRING}
STR_LANG_AREA_INFORMATION_TRAM_TYPE :{BLACK}Sporvejstype: {LTBLUE}{STRING}
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Togspors hastighedsgrænse: {LTBLUE}{VELOCITY}
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Vej hastighedsbegrænsning: {LTBLUE}{VELOCITY}
STR_LANG_AREA_INFORMATION_TRAM_SPEED_LIMIT :{BLACK}Sporvogn hastighedsgrænse: {LTBLUE}{VELOCITY}
# Description of land area of different tiles
STR_LAI_CLEAR_DESCRIPTION_ROCKS :Klipper
@ -2720,6 +2745,7 @@ STR_FRAMERATE_SPEED_FACTOR :{BLACK}Aktuel s
STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Hvor hurtigt spillet aktuelt kører, i forhold til det forventede ved normal simulationshastighed.
STR_FRAMERATE_CURRENT :{WHITE}Aktuel
STR_FRAMERATE_AVERAGE :{WHITE}Gennemsnit
STR_FRAMERATE_MEMORYUSE :{WHITE}Hukommelse
STR_FRAMERATE_DATA_POINTS :{BLACK}Data baseret på {COMMA} målinger
STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL} ms
STR_FRAMERATE_MS_WARN :{YELLOW}{DECIMAL} ms
@ -2727,6 +2753,9 @@ STR_FRAMERATE_MS_BAD :{RED}{DECIMAL}
STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL} billeder/s
STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL} billeder/s
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} billeder/s
STR_FRAMERATE_BYTES_GOOD :{LTBLUE}{BYTES}
STR_FRAMERATE_BYTES_WARN :{YELLOW}{BYTES}
STR_FRAMERATE_BYTES_BAD :{RED}{BYTES}
STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA} ms
STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} s
############ Leave those lines in this order!!
@ -3023,7 +3052,7 @@ STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Det ænd
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Toget '{VEHICLE}' fra selskabet '{COMPANY}' har ugyldig længde. Det skyldes sandsynligvis at problem med en NewGRF. Risiko for at spillet mister synkronisering eller går ned.
STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' indeholder forkert information
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Fragt-/ombygningsinformation for '{1:ENGINE}' afviger fra indkøbslisten efter konstruktion. Dette kan medføre, at autofornyelse ikke fungerer korrekt.
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Fragt-/tilpasningsinformation for '{1:ENGINE}' afviger fra indkøbslisten efter konstruktion. Dette kan medføre, at autofornyelse ikke fungerer korrekt.
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' forårsagede en uendelig løkke i produktions-callback'en.
STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Callback {1:HEX} returnerede ukendt/ugyldigt resultat {2:HEX}
STR_NEWGRF_BUGGY_INVALID_CARGO_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' returnerede ugyldig godstype i produktion-callback ved {2:HEX}
@ -3093,6 +3122,8 @@ STR_TOWN_VIEW_RENAME_TOWN_BUTTON :Omdøb byen
# Town local authority window
STR_LOCAL_AUTHORITY_CAPTION :{WHITE}{TOWN} lokal myndighed
STR_LOCAL_AUTHORITY_ZONE :{BLACK}Zone
STR_LOCAL_AUTHORITY_ZONE_TOOLTIP :{BLACK}Vis zone og grænse for den lokale myndighed
STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Transportselskabsbedømmelse:
STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING}
STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Handlinger til rådighed:
@ -3352,6 +3383,7 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_CAPTION :{WHITE}Infrastr
STR_COMPANY_INFRASTRUCTURE_VIEW_RAIL_SECT :{GOLD}Spor-stykker:
STR_COMPANY_INFRASTRUCTURE_VIEW_SIGNALS :{WHITE}Signaler
STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD_SECT :{GOLD}Vej-stykker:
STR_COMPANY_INFRASTRUCTURE_VIEW_TRAM_SECT :{GOLD}Sporvejsdele:
STR_COMPANY_INFRASTRUCTURE_VIEW_WATER_SECT :{GOLD}Vand-felter:
STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS :{WHITE}Kanaler
STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}Stationer:
@ -3362,8 +3394,17 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL :{WHITE}{CURRENC
# Industry directory
STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Industrier
STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Ingen -
STR_INDUSTRY_DIRECTORY_ITEM_INFO :{BLACK}{CARGO_LONG}{STRING}{YELLOW} ({COMMA}% transporteret){BLACK}
STR_INDUSTRY_DIRECTORY_ITEM_NOPROD :{ORANGE}{INDUSTRY}
STR_INDUSTRY_DIRECTORY_ITEM_PROD1 :{ORANGE}{INDUSTRY} {STRING}
STR_INDUSTRY_DIRECTORY_ITEM_PROD2 :{ORANGE}{INDUSTRY} {STRING}, {STRING}
STR_INDUSTRY_DIRECTORY_ITEM_PROD3 :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING}
STR_INDUSTRY_DIRECTORY_ITEM_PRODMORE :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING} og {NUM} flere...
STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Industrinavne - klik på navn for at centrere visningen over en industri. Ctrl+Klik åbner et nyt vindue ved industriens lokalitet.
STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Accepteret last: {SILVER}{STRING}
STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Produceret last: {SILVER}{STRING}
STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Alle lasttyper
STR_INDUSTRY_DIRECTORY_FILTER_NONE :Ingen
# Industry view
STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY}
@ -3429,6 +3470,7 @@ STR_GROUP_DEFAULT_ROAD_VEHICLES :Ikke-grupperede
STR_GROUP_DEFAULT_SHIPS :Ikke-grupperede skibe
STR_GROUP_DEFAULT_AIRCRAFTS :Ikke-grupperede fly
STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA})
STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupper - klik på en gruppe for at vise alle køretøjer i gruppen
STR_GROUP_CREATE_TOOLTIP :{BLACK}Klik for at oprette en gruppe
@ -3457,29 +3499,34 @@ STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :Nye monorailkø
STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Nye magnetskinnekøretøjer
STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Nye køretøjer
STR_BUY_VEHICLE_TRAM_VEHICLE_CAPTION :Nye sporvogne
############ range for vehicle availability starts
STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Jernbanekøretøjer
STR_BUY_VEHICLE_ROAD_VEHICLE_ALL_CAPTION :Nye vejkøretøjer
STR_BUY_VEHICLE_SHIP_CAPTION :Nye skibe
STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Nyt fly
############ range for vehicle availability ends
STR_PURCHASE_INFO_COST_WEIGHT :{BLACK}Pris: {GOLD}{CURRENCY_LONG}{BLACK} Vægt: {GOLD}{WEIGHT_SHORT}
STR_PURCHASE_INFO_COST_REFIT_WEIGHT :{BLACK}Pris: {GOLD}{CURRENCY_LONG}{BLACK} (Pris for tilpasning: {GOLD}{CURRENCY_LONG}{BLACK}) Vægt: {GOLD}{WEIGHT_SHORT}
STR_PURCHASE_INFO_SPEED_POWER :{BLACK}Hastighed: {GOLD}{VELOCITY}{BLACK} Styrke: {GOLD}{POWER}
STR_PURCHASE_INFO_SPEED :{BLACK}Hastighed: {GOLD}{VELOCITY}
STR_PURCHASE_INFO_SPEED_OCEAN :{BLACK}Hastighed på havet: {GOLD}{VELOCITY}
STR_PURCHASE_INFO_SPEED_CANAL :{BLACK}Hastighed på kanal/flod: {GOLD}{VELOCITY}
STR_PURCHASE_INFO_RUNNINGCOST :{BLACK}Driftsomkostninger: {GOLD}{CURRENCY_LONG}/år
STR_PURCHASE_INFO_CAPACITY :{BLACK}Lasteevne: {GOLD}{CARGO_LONG} {STRING}
STR_PURCHASE_INFO_REFITTABLE :(kan ombygges)
STR_PURCHASE_INFO_REFITTABLE :(kan tilpasses)
STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Designet: {GOLD}{NUM}{BLACK} Levetid: {GOLD}{COMMA} år
STR_PURCHASE_INFO_RELIABILITY :{BLACK}Maks. pålidelighed: {GOLD}{COMMA}%
STR_PURCHASE_INFO_COST :{BLACK}Pris: {GOLD}{CURRENCY_LONG}
STR_PURCHASE_INFO_COST_REFIT :{BLACK}Pris: {GOLD}{CURRENCY_LONG}{BLACK} (Pris for tilpasning: {GOLD}{CURRENCY_LONG}{BLACK})
STR_PURCHASE_INFO_WEIGHT_CWEIGHT :{BLACK}Vægt: {GOLD}{WEIGHT_SHORT} ({WEIGHT_SHORT})
STR_PURCHASE_INFO_COST_SPEED :{BLACK}Pris: {GOLD}{CURRENCY_LONG}{BLACK} Hastighed: {GOLD}{VELOCITY}
STR_PURCHASE_INFO_COST_REFIT_SPEED :{BLACK}Pris: {GOLD}{CURRENCY_LONG}{BLACK} (Pris for tilpasning: {GOLD}{CURRENCY_LONG}{BLACK}) Hastighed: {GOLD}{VELOCITY}
STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Kapacitet: {GOLD}{CARGO_LONG}, {CARGO_LONG}
STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Motoriserede Vogne: {GOLD}+{POWER}{BLACK} Vægt: {GOLD}+{WEIGHT_SHORT}
STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Kan ombygges til: {GOLD}{STRING}
STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Kan tilpasses til: {GOLD}{STRING}
STR_PURCHASE_INFO_ALL_TYPES :Alle lasttyper
STR_PURCHASE_INFO_NONE :Ingen
STR_PURCHASE_INFO_ALL_BUT :Alle undtagen {CARGO_LIST}
@ -3497,12 +3544,20 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Køb kø
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Køb skib
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Køb et fly
STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Køb og tilpas køretøj
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Køb og tilpas køretøj
STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Køb og tilpas skib
STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Køb og tilpas fly
STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Køb det markerede lokomotiv/togvogn. Shift skifter mellem at købe og vise prisoverslag.
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Køb det markerede køretøj. Shift skifter mellem at købe og vise prisoverslag.
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Køb det markerede skib. Shift skifter mellem at købe og vise prisoverslag.
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Køb det markerede fly. Shift skifter mellem at købe og vise prisoverslag.
STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Køb og tilpas det markerede lokomotiv/togvogn. Shift+klik viser prisoverslag uden at købe
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Køb og tilpas det markerede vejkøretøj. Shift+klik viser prisoverslag uden at købe
STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Køb og tilpas det markerede skib. Shift+klik viser prisoverslag uden at købe.
STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Køb og tilpas det markerede fly. Shift+klik viser prisoverslag uden at købe.
STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Omdøb
STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_BUTTON :{BLACK}Omdøb
@ -3614,10 +3669,12 @@ STR_ENGINE_PREVIEW_CAPTION :{WHITE}Besked f
STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Vi har lige designet et nyt {STRING} - er du interesseret i et års ekslusiv testkørsel, så vi kan se hvordan det klarer sig inden vi gør det frit tilgængeligt?
STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :jernbanelokomotiv
STR_ENGINE_PREVIEW_ELRAIL_LOCOMOTIVE :elektrisk jernbanelokomotiv
STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :monoraillokomotiv
STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :magnettog
STR_ENGINE_PREVIEW_ROAD_VEHICLE :vejkøretøj
STR_ENGINE_PREVIEW_TRAM_VEHICLE :sporvogn
STR_ENGINE_PREVIEW_AIRCRAFT :fly
STR_ENGINE_PREVIEW_SHIP :skib
@ -3659,14 +3716,18 @@ STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Skift im
STR_REPLACE_ENGINES :Lokomotiver
STR_REPLACE_WAGONS :Vogne
STR_REPLACE_ALL_RAILTYPE :Alle jernbanevogne
STR_REPLACE_ALL_ROADTYPE :Alle vejkøretøjer
STR_REPLACE_HELP_RAILTYPE :{BLACK}Vælg den skinne type, du ønsker at udskifte lokomotiver til
STR_REPLACE_HELP_ROADTYPE :{BLACK}Vælg vejtypen du ønsker at udskifte køretøjer for
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Viser hvilket køretøj det valgte køretøj til venstre bliver udskiftet med, hvis det udskiftes
STR_REPLACE_RAIL_VEHICLES :Jernbane
STR_REPLACE_ELRAIL_VEHICLES :Eltog
STR_REPLACE_MONORAIL_VEHICLES :Monorail
STR_REPLACE_MAGLEV_VEHICLES :Magnetskinnetog
STR_REPLACE_ROAD_VEHICLES :Vejkøretøjer
STR_REPLACE_TRAM_VEHICLES :Sporvogne
STR_REPLACE_REMOVE_WAGON :{BLACK}Fjern vogn: {ORANGE}{STRING}
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Få autoudskift til at bevare længden af tog ved at fjerne vogne (startende fra fronten), hvis autoudskiftningen gør toget længere.
@ -3691,10 +3752,10 @@ STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Dette vi
STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}Tving toget til at fortsætte uden at vente på at signalet skifter til grønt
STR_VEHICLE_VIEW_TRAIN_REFIT_TOOLTIP :{BLACK}Ombyg toget til at køre med en anden lasttype
STR_VEHICLE_VIEW_ROAD_VEHICLE_REFIT_TOOLTIP :{BLACK}Ombyg vejkøretøj til at laste en anden type last
STR_VEHICLE_VIEW_SHIP_REFIT_TOOLTIP :{BLACK}Ombyg skibet til at sejle med en anden slags last
STR_VEHICLE_VIEW_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Ombyg flyet til at flyve med en anden slags last
STR_VEHICLE_VIEW_TRAIN_REFIT_TOOLTIP :{BLACK}Tilpas toget til at køre med en anden lasttype
STR_VEHICLE_VIEW_ROAD_VEHICLE_REFIT_TOOLTIP :{BLACK}Tilpas vejkøretøj til at køre med en anden lasttype
STR_VEHICLE_VIEW_SHIP_REFIT_TOOLTIP :{BLACK}Tilpas skibet til at sejle med en anden lasttype
STR_VEHICLE_VIEW_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Tilpas flyet til at flyve med en anden lasttype
STR_VEHICLE_VIEW_TRAIN_REVERSE_TOOLTIP :{BLACK}Vend retningen af toget
STR_VEHICLE_VIEW_ROAD_VEHICLE_REVERSE_TOOLTIP :{BLACK}Tving køretøjet til at vende
@ -3807,28 +3868,28 @@ STR_VEHICLE_DETAILS_TRAIN_TOTAL_CARGO_TOOLTIP :{BLACK}Vis tota
STR_VEHICLE_DETAILS_TRAIN_ARTICULATED_RV_CAPACITY :{BLACK}Kapacitet: {LTBLUE}
# Vehicle refit
STR_REFIT_CAPTION :{WHITE}{VEHICLE} (Ombyg)
STR_REFIT_CAPTION :{WHITE}{VEHICLE} (tilpas)
STR_REFIT_TITLE :{GOLD}Vælg den lasttype der skal transporteres:
STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Ny kapacitet: {GOLD}{CARGO_LONG}{}{BLACK}Pris for ombyggelse: {RED}{CURRENCY_LONG}
STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Ny kapacitet: {GOLD}{CARGO_LONG}{}{BLACK}Indtægt fra ombygning: {GREEN}{CURRENCY_LONG}
STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Nye kapacitet: {GOLD}{CARGO_LONG},{GOLD}{CARGO_LONG}{}{BLACK}Pris for at ombygge: {RED}{CURRENCY_LONG}
STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Ny kapacitet: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Indtægt fra ombygning: {GREEN}{CURRENCY_LONG}
STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Vælg køretøjer der skal ombygges. klik og træk med musen for at vælge flere køretøjer. Klik på et tomt felt for at vælge hele køretøjet. Ctrl + klik vælger et køretøj og den efterfølgende kæde
STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Ny kapacitet: {GOLD}{CARGO_LONG}{}{BLACK}Pris for tilpasning: {RED}{CURRENCY_LONG}
STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Ny kapacitet: {GOLD}{CARGO_LONG}{}{BLACK}Indtægt fra tilpasning: {GREEN}{CURRENCY_LONG}
STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Ny kapacitet: {GOLD}{CARGO_LONG},{GOLD}{CARGO_LONG}{}{BLACK}Pris for tilpasning: {RED}{CURRENCY_LONG}
STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Ny kapacitet: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Indtægt fra tilpasning: {GREEN}{CURRENCY_LONG}
STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Vælg køretøjer der skal tilpasses. Klik og træk med musen for at vælge flere køretøjer. Klik på et tomt felt for at vælge hele køretøjet. Ctrl+klik vælger et køretøj og den efterfølgende kæde
STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}Vælg den lasttype toget skal kører med
STR_REFIT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Vælg lasttype som lastbilen skal transportere
STR_REFIT_SHIP_LIST_TOOLTIP :{BLACK}Vælg den slags last skibet skal sejle med
STR_REFIT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Vælg den type last flyet skal flyve med
STR_REFIT_TRAIN_REFIT_BUTTON :{BLACK}Ombyg toget
STR_REFIT_ROAD_VEHICLE_REFIT_BUTTON :{BLACK}Ombyg lastbil
STR_REFIT_SHIP_REFIT_BUTTON :{BLACK}Ombyg skibet
STR_REFIT_AIRCRAFT_REFIT_BUTTON :{BLACK}Ombyg fly
STR_REFIT_TRAIN_REFIT_BUTTON :{BLACK}Tilpas tog
STR_REFIT_ROAD_VEHICLE_REFIT_BUTTON :{BLACK}Tilpas vejkøretøj
STR_REFIT_SHIP_REFIT_BUTTON :{BLACK}Tilpas skibet
STR_REFIT_AIRCRAFT_REFIT_BUTTON :{BLACK}Tilpas fly
STR_REFIT_TRAIN_REFIT_TOOLTIP :{BLACK}Ombyg toget til at køre med den markerede lasttype
STR_REFIT_ROAD_VEHICLE_REFIT_TOOLTIP :{BLACK}Ombyg vejkøretøjet til at laste den markerede type last
STR_REFIT_SHIP_REFIT_TOOLTIP :{BLACK}Ombyg skibet til den markerede slags last
STR_REFIT_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Ombyg flyet til at flyve med den markerede slags last
STR_REFIT_TRAIN_REFIT_TOOLTIP :{BLACK}Tilpas tog til at køre med den markerede lasttype
STR_REFIT_ROAD_VEHICLE_REFIT_TOOLTIP :{BLACK}Tilpas vejkøretøjet til at køre med den markerede lasttype
STR_REFIT_SHIP_REFIT_TOOLTIP :{BLACK}Tilpas skibet til den markerede lasttype
STR_REFIT_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Tilpas flyet til at flyve med den markerede lasttype
# Order view
STR_ORDERS_CAPTION :{WHITE}{VEHICLE} (Ordrer)
@ -3864,8 +3925,8 @@ STR_ORDER_DROP_TRANSFER :Overfør
STR_ORDER_DROP_NO_UNLOADING :Ingen losning
STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Ændr losseregel for den valgte ordre
STR_ORDER_REFIT :{BLACK}Ombyg
STR_ORDER_REFIT_TOOLTIP :{BLACK}Vælg hvilken lasttype, der skal ombygges til i denne ordre. CTRL-klik for at fjerne ombygningsinstruktion
STR_ORDER_REFIT :{BLACK}Tilpas
STR_ORDER_REFIT_TOOLTIP :{BLACK}Vælg hvilken lasttype, der skal tilpasses til i denne ordre. Ctrl+klik for at fjerne tilpasningsinstruktion
STR_ORDER_REFIT_AUTO :{BLACK}Auto-tilpas
STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Vælg typen af last der skal auto-tilpasses denne ordre. Ctrl+Click for at fjerne auto-tilpas-funktionen. Auto-tilpasning vil kun kunne gøres, hvis køretøjet tillader det
STR_ORDER_DROP_REFIT_AUTO :Bestemt last
@ -3935,8 +3996,8 @@ STR_ORDER_SHIP_DEPOT :Skibsdok
STR_ORDER_GO_TO_NEAREST_DEPOT_FORMAT :{STRING} {STRING} {STRING}
STR_ORDER_GO_TO_DEPOT_FORMAT :{STRING} {DEPOT}
STR_ORDER_REFIT_ORDER :(Ombyg til {STRING})
STR_ORDER_REFIT_STOP_ORDER :(Ombyg til {STRING} og stop)
STR_ORDER_REFIT_ORDER :(Tilpas til {STRING})
STR_ORDER_REFIT_STOP_ORDER :(Tilpas til {STRING} og stop)
STR_ORDER_STOP_ORDER :(Stop)
STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING}
@ -4118,6 +4179,13 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Vælg ma
STR_AI_LIST_CANCEL :{BLACK}Afbryd
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Skift ikke script'et
STR_SCREENSHOT_CAPTION :{WHITE}Tag skærmbillede
STR_SCREENSHOT_SCREENSHOT :{BLACK}Normalt skærmbillede
STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Fuldt zoomet-ind skærmbillede
STR_SCREENSHOT_DEFAULTZOOM_SCREENSHOT :{BLACK}Standard zoom skærmbillede
STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Fuldt kort skærmbillede
STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Højdekort skærmbillede
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Minikort skærmbillede
# AI Parameters
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parametre
@ -4387,10 +4455,11 @@ STR_ERROR_AUTOREPLACE_MONEY_LIMIT :(ikke penge nok
# Rail construction errors
STR_ERROR_IMPOSSIBLE_TRACK_COMBINATION :{WHITE}Umulig sporkombination
STR_ERROR_MUST_REMOVE_SIGNALS_FIRST :{WHITE}Det er nødvendigt at fjerne signalet først
STR_ERROR_NO_SUITABLE_RAILROAD_TRACK :{WHITE}Ingen brugbar jernbane
STR_ERROR_NO_SUITABLE_RAILROAD_TRACK :{WHITE}Ingen egnet jernbane
STR_ERROR_MUST_REMOVE_RAILROAD_TRACK :{WHITE}Det er nødvendigt at fjerne jernbaneskinnerne først
STR_ERROR_CROSSING_ON_ONEWAY_ROAD :{WHITE}Vejen er ensrettet eller blokeret
STR_ERROR_CROSSING_DISALLOWED_RAIL :{WHITE}Niveaukrydsning ikke tilladt for denne type skinner
STR_ERROR_CROSSING_DISALLOWED_ROAD :{WHITE}Niveaukrydsning ikke tilladt for denne type vej
STR_ERROR_CAN_T_BUILD_SIGNALS_HERE :{WHITE}Kan ikke bygge signaler her...
STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK :{WHITE}Kan ikke bygge jernbane her...
STR_ERROR_CAN_T_REMOVE_RAILROAD_TRACK :{WHITE}Kan ikke fjerne jernbane herfra...
@ -4410,6 +4479,12 @@ STR_ERROR_CAN_T_REMOVE_ROAD_FROM :{WHITE}Kan ikke
STR_ERROR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Kan ikke fjerne sporvej her...
STR_ERROR_THERE_IS_NO_ROAD :{WHITE}... der er ingen vej
STR_ERROR_THERE_IS_NO_TRAMWAY :{WHITE}... der er ikke noget spor
STR_ERROR_CAN_T_CONVERT_ROAD :{WHITE}Kan ikke konvertere vejtype her...
STR_ERROR_CAN_T_CONVERT_TRAMWAY :{WHITE}Kan ikke konvertere sporvejstype her...
STR_ERROR_NO_SUITABLE_ROAD :{WHITE}Ingen passende vej
STR_ERROR_NO_SUITABLE_TRAMWAY :{WHITE}Ingen egnet sporvej
STR_ERROR_INCOMPATIBLE_ROAD :{WHITE}... inkompatibel vej
STR_ERROR_INCOMPATIBLE_TRAMWAY :{WHITE}... inkompatibel sporvej
# Waterway construction errors
STR_ERROR_CAN_T_BUILD_CANALS :{WHITE}Kan ikke bygge en kanal her...
@ -4462,6 +4537,7 @@ STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Kan ikke
STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Kan ikke slette denne gruppe...
STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Kan ikke omdøbe gruppe...
STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Kan ikke sætte overordnede gruppe ...
STR_ERROR_GROUP_CAN_T_SET_PARENT_RECURSION :{WHITE}... løkker i gruppe-hierarkiet er ikke tilladt
STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Kan ikke fjerne alle køretøjer fra denne gruppe...
STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Kan ikke tilføje køretøjet til denne gruppe...
STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Kan ikke tilføje delte køretøjer til gruppe...
@ -4472,10 +4548,10 @@ STR_ERROR_ROAD_VEHICLE_IN_THE_WAY :{WHITE}Køretø
STR_ERROR_SHIP_IN_THE_WAY :{WHITE}Der er et skib i vejen
STR_ERROR_AIRCRAFT_IN_THE_WAY :{WHITE}Fly i vejen
STR_ERROR_CAN_T_REFIT_TRAIN :{WHITE}Kan ikke ombygge toget...
STR_ERROR_CAN_T_REFIT_ROAD_VEHICLE :{WHITE}Kan ikke ombygge vejkøretøj
STR_ERROR_CAN_T_REFIT_SHIP :{WHITE}Kan ikke ombygge skib...
STR_ERROR_CAN_T_REFIT_AIRCRAFT :{WHITE}Kan ikke ombygge fly...
STR_ERROR_CAN_T_REFIT_TRAIN :{WHITE}Kan ikke tilpasse tog...
STR_ERROR_CAN_T_REFIT_ROAD_VEHICLE :{WHITE}Kan ikke tilpasse vejkøretøj
STR_ERROR_CAN_T_REFIT_SHIP :{WHITE}Kan ikke tilpasse skib...
STR_ERROR_CAN_T_REFIT_AIRCRAFT :{WHITE}Kan ikke tilpasse fly...
STR_ERROR_CAN_T_RENAME_TRAIN :{WHITE}Kan ikke give toget navn...
STR_ERROR_CAN_T_RENAME_ROAD_VEHICLE :{WHITE}Kan ikke give køretøjet et navn...

@ -1309,6 +1309,8 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL :Inwoneraantal b
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Aantal inwoners van een stad weergeven bij naam op de kaart
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Dikte van de lijnen in grafieken: {STRING}
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Breedte van de lijnen in de grafiek. Een dunne lijn is preciezer leesbaar, een dikke lijn is makkelijker te zien en kleuren zijn makkelijker om te onderscheiden
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Naam van NewGRF weergeven in venster voor voertuigen bouwen: {STRING}
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Voeg een regel toe aan het venster voor voertuigen bouwen die aangeeft uit welke NewGRF het geselecteerde voertuig komt.
STR_CONFIG_SETTING_LANDSCAPE :Landschap: {STRING}
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Landschappen definiëren standaard spelscenario's met verschillende vracht- en stadsgroei-eisen. NewGRF en spelscripts kunnen daarentegen fijnere controle bieden.
@ -1546,6 +1548,10 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Volledig
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Kleurenfoto's verschijnen in: {STRING}
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Jaar dat de krant aankondigt in kleur te gaan afdrukken. Voor dit jaar wordt zwart-wit gebruikt
STR_CONFIG_SETTING_STARTING_YEAR :Startjaar: {STRING}
STR_CONFIG_SETTING_ENDING_YEAR :Eindjaar voor score: {STRING}
STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Jaar dat het spel eindigt ten behoeve van de score. Aan het einde van dit jaar wordt de score van het bedrijf vastgelegd en verschijnt het venster met topscores. De spelers kunnen echter doorgaan met spelen.{}Als dit voor het startjaar ligt, verschijnt het venster met topscores niet.
STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM}
STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Nooit
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Vloeiende economie inschakelen (meer, kleinere veranderingen): {STRING}
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Wanneer dit is ingeschakeld, verandert de productie van industrieën vaker en in kleinere stappen. Deze instelling heeft meestal geen effect als de industriesoorten worden geleverd door een NewGRF.
STR_CONFIG_SETTING_ALLOW_SHARES :Kopen van aandelen in andere bedrijven toestaan: {STRING}
@ -3394,6 +3400,10 @@ STR_INDUSTRY_DIRECTORY_ITEM_PROD2 :{ORANGE}{INDUST
STR_INDUSTRY_DIRECTORY_ITEM_PROD3 :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING}
STR_INDUSTRY_DIRECTORY_ITEM_PRODMORE :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING} en {NUM} meer...
STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Industrienamen - klik op een naam om het scherm te centreren op de industrie. Ctrl+klik opent een nieuw venster op de locatie van de industrie.
STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Geaccepteerde vracht: {SILVER}{STRING}
STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Geproduceerde vracht: {SILVER}{STRING}
STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Alle soorten vracht
STR_INDUSTRY_DIRECTORY_FILTER_NONE :Geen
# Industry view
STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY}
@ -4168,6 +4178,13 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Gemarkee
STR_AI_LIST_CANCEL :{BLACK}Annuleren
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Script niet wijzigen
STR_SCREENSHOT_CAPTION :{WHITE}Een schermafbeelding maken
STR_SCREENSHOT_SCREENSHOT :{BLACK}Normale schermafbeelding
STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Volledig ingezoomde schermafbeelding
STR_SCREENSHOT_DEFAULTZOOM_SCREENSHOT :{BLACK}Standaard gezoomde schermafbeelding
STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Schermafbeelding van de hele kaart
STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Schermafbeelding van de hoogtekaart
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Schermafbeelding van de minikaart
# AI Parameters
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parameters

@ -259,7 +259,7 @@ STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Näytä
STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Kun otat tämän käyttöön, myös piilotetut junat näytetään
STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Kun otat tämän käyttöön, myös piilotetut ajoneuvot näytetään
STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Kun otat tämän käyttöön, myös piilotetut laivat näytetään
STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Kun otat tämän käyttöön, myös piilotetut lentokoneet näytetään
STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Kun otat tämän käyttöön, myös piilotetut ilma-alukset näytetään
# Query window
STR_BUTTON_DEFAULT :{BLACK}Oletus
@ -334,7 +334,7 @@ STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Rahoita
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Näytä luettelo yhtiön junista. Ctrl+Klik avaa ryhmä/kulkuneuvolistan
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Näytä luettelo yhtiön ajoneuvoista. Ctrl+Klik avaa ryhmä/kulkuneuvoikkunan
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Näytä luettelo yhtiön laivoista. Ctrl+Klik avaa ryhmä/kulkuneuvoikkunan
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Näytä luettelo yhtiön lentokoneista. Ctrl+Klik avaa ryhmä/kulkuneuvoikkunan
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Näytä luettelo yhtiön ilma-aluksista. Ctrl+Klik avaa ryhmä/kulkuneuvoikkunan
STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Lähennä näkymää
STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Loitonna näkymää
STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Rakenna rautateitä
@ -616,7 +616,7 @@ STR_PERFORMANCE_DETAIL_AMOUNT_INT :{BLACK}({COMMA}
STR_PERFORMANCE_DETAIL_PERCENT :{WHITE}{NUM}%
STR_PERFORMANCE_DETAIL_SELECT_COMPANY_TOOLTIP :{BLACK}Näytä tietoja tästä yhtiöstä
############ Those following lines need to be in this order!!
STR_PERFORMANCE_DETAIL_VEHICLES :{BLACK}Liikennevälineitä:
STR_PERFORMANCE_DETAIL_VEHICLES :{BLACK}Kulkuneuvot:
STR_PERFORMANCE_DETAIL_STATIONS :{BLACK}Asemia:
STR_PERFORMANCE_DETAIL_MIN_PROFIT :{BLACK}Vähimmäistuotto:
STR_PERFORMANCE_DETAIL_MIN_INCOME :{BLACK}Vähimmäistulo:
@ -627,7 +627,7 @@ STR_PERFORMANCE_DETAIL_MONEY :{BLACK}Raha:
STR_PERFORMANCE_DETAIL_LOAN :{BLACK}Laina:
STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Yhteensä:
############ End of order list
STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP :{BLACK}Liikennevälineiden määrä. Tähän kuuluvat ajoneuvot, junat, laivat ja lentokoneet
STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP :{BLACK}Kulkuveuvojen määrä. Tähän kuuluvat ajoneuvot, junat, laivat ja ilma-alukset
STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Asemien osien määrä. Kaikki osat asemista (esim. rautatieasema, bussipysäkki, lentokenttä) lasketaan, vaikka ne olisivat yhdistettynä yhdeksi asemaksi
STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP :{BLACK}Vähätuottoisimman kulkuneuvon tulo (kaikkien yli 2 vuotta vanhojen kulkuneuvojen)
STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Viimeisen 12 neljänneksen vähätuottoisimman kuun käteistuoton määrä
@ -703,7 +703,7 @@ STR_HIGHSCORE_PRESIDENT_OF_COMPANY_ACHIEVES_STATUS :{BIG_FONT}{WHIT
STR_SMALLMAP_CAPTION :{WHITE}Kartta {STRING}
STR_SMALLMAP_TYPE_CONTOURS :Korkeuserot
STR_SMALLMAP_TYPE_VEHICLES :Liikennevälineet
STR_SMALLMAP_TYPE_VEHICLES :Kulkuneuvot
STR_SMALLMAP_TYPE_INDUSTRIES :Teollisuus
STR_SMALLMAP_TYPE_ROUTEMAP :Rahtivirta
STR_SMALLMAP_TYPE_ROUTES :Reitit
@ -724,11 +724,11 @@ STR_SMALLMAP_LEGENDA_ROADS :{TINY_FONT}{BLA
STR_SMALLMAP_LEGENDA_RAILROADS :{TINY_FONT}{BLACK}Rautatiet
STR_SMALLMAP_LEGENDA_STATIONS_AIRPORTS_DOCKS :{TINY_FONT}{BLACK}Asemat/lentokentät/satamat
STR_SMALLMAP_LEGENDA_BUILDINGS_INDUSTRIES :{TINY_FONT}{BLACK}Rakennukset/Teollisuus
STR_SMALLMAP_LEGENDA_VEHICLES :{TINY_FONT}{BLACK}Liikennevälineet
STR_SMALLMAP_LEGENDA_VEHICLES :{TINY_FONT}{BLACK}Kulkuneuvot
STR_SMALLMAP_LEGENDA_TRAINS :{TINY_FONT}{BLACK}Junat
STR_SMALLMAP_LEGENDA_ROAD_VEHICLES :{TINY_FONT}{BLACK}Ajoneuvot
STR_SMALLMAP_LEGENDA_SHIPS :{TINY_FONT}{BLACK}Laivat
STR_SMALLMAP_LEGENDA_AIRCRAFT :{TINY_FONT}{BLACK}Lentokoneet
STR_SMALLMAP_LEGENDA_AIRCRAFT :{TINY_FONT}{BLACK}Ilma-alukset
STR_SMALLMAP_LEGENDA_TRANSPORT_ROUTES :{TINY_FONT}{BLACK}Kuljetusreitit
STR_SMALLMAP_LEGENDA_FOREST :{TINY_FONT}{BLACK}Metsä
STR_SMALLMAP_LEGENDA_RAILROAD_STATION :{TINY_FONT}{BLACK}Rautatieasema
@ -789,11 +789,11 @@ STR_NEWS_FIRST_CARGO_TRAM_ARRIVAL :{BIG_FONT}{BLAC
STR_NEWS_FIRST_SHIP_ARRIVAL :{BIG_FONT}{BLACK}Asukkaat juhlivat . . .{}{STATION} vastaanottaa ensimmäisen laivan!
STR_NEWS_FIRST_AIRCRAFT_ARRIVAL :{BIG_FONT}{BLACK}Asukkaat juhlivat . . .{}{STATION} vastaanottaa ensimmäisen lentokoneen!
STR_NEWS_TRAIN_CRASH :{BIG_FONT}{BLACK}Junaonnettomuus!{}{COMMA} kuolee törmäyksen jälkeisessä tulipallossa.
STR_NEWS_ROAD_VEHICLE_CRASH_DRIVER :{BIG_FONT}{BLACK}Tasoristeysturma!{}Kuljettaja kuolee junan ja auton törmäyksen jälkeisessä tulipallossa
STR_NEWS_ROAD_VEHICLE_CRASH :{BIG_FONT}{BLACK}Tasoristeysturma!{}{COMMA} kuolee junan ja auton törmäyksen jälkeisessä tulipallossa
STR_NEWS_AIRCRAFT_CRASH :{BIG_FONT}{BLACK}Lento-onnettomuus!{}{COMMA} kuolee tulipallossa asemalla {STATION}.
STR_NEWS_PLANE_CRASH_OUT_OF_FUEL :{BIG_FONT}{BLACK}Lento-onnettomuus!{}Lentokoneelta loppui polttoaine, {COMMA} kuolee tulipallossa
STR_NEWS_TRAIN_CRASH :{BIG_FONT}{BLACK}Junaonnettomuus!{}{COMMA} kuollut törmäyksen jälkeisessä tulipallossa
STR_NEWS_ROAD_VEHICLE_CRASH_DRIVER :{BIG_FONT}{BLACK}Tasoristeysturma!{}Kuljettaja kuollut junan ja auton törmäyksen jälkeisessä tulipallossa
STR_NEWS_ROAD_VEHICLE_CRASH :{BIG_FONT}{BLACK}Tasoristeysturma!{}{COMMA} kuoli junan ja auton törmäyksen jälkeisessä tulipallossa
STR_NEWS_AIRCRAFT_CRASH :{BIG_FONT}{BLACK}Lento-onnettomuus!{}{1:STATION}: {0:COMMA} kuollut tulipallossa
STR_NEWS_PLANE_CRASH_OUT_OF_FUEL :{BIG_FONT}{BLACK}Lento-onnettomuus!{}Polttoaineen loppuminen johti {COMMA} ihmisen kuolemaan tulipallossa
STR_NEWS_DISASTER_ZEPPELIN :{BIG_FONT}{BLACK}{STATION}: Ilmalaivaonnettomuus!
STR_NEWS_DISASTER_SMALL_UFO :{BIG_FONT}{BLACK}Ajoneuvo tuhoutui törmäyksessä UFO:n kanssa!
@ -1258,7 +1258,7 @@ STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT :Sallii rahan si
STR_CONFIG_SETTING_FREIGHT_TRAINS :Rahdin painokerroin raskaiden junien simulointia varten: {STRING}
STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT :Määritä rahdin kuljettamisen vaikutus junissa. Korkeammat arvot tekevät rahdin kuljettamisesta raskaampaa junille, erityisesti mäissä
STR_CONFIG_SETTING_PLANE_SPEED :Lentokoneiden nopeuskerroin: {STRING}
STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Määritä lentokoneiden suhteellinen nopeus verrattuna toisiin kulkuneuvotyyppeihin
STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Määritä lentokoneiden suhteellinen nopeus verrattuna toisiin kulkuneuvotyyppeihin, jotta vähennetään ilma-alusksilla tehtyjen kuljetusten tuottoa
STR_CONFIG_SETTING_PLANE_SPEED_VALUE :1 / {COMMA}
STR_CONFIG_SETTING_PLANE_CRASHES :Lento-onnettomuuksien määrä: {STRING}
STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Määrittää lento-onnettomuuksien todennäköisyyden.{}¹ Isot lentokoneet voivat kuitenkin aina tuhoutua pienille lentokentille laskeutuessaan.
@ -1309,8 +1309,8 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL :Näytä kunnan
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Näytä kuntien asukasluvut kartalla
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Viivojen paksuus kuvaajissa: {STRING}
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Viivan leveys kuvaajissa. Ohut viiva on tarkasti luettavissa kun taas paksumpi viiva on helpompi nähdä ja sen värit ovat helpommin havaittavissa
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Näytä NewGRF:n nimi liikennevälineikkunassa: {STRING}
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Lisää liikennevälinevalikoimaikkunaan rivin, joka näyttää, mistä NewGRF:stä valittu liikenneväline on peräisin.
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Näytä NewGRF:n nimi kulkuneuvoikkunassa: {STRING}
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Lisää kulkuneuvovalikoimaikkunaan rivin, joka kertoo mistä NewGRF:stä valittu kulkuneuvo on peräisin.
STR_CONFIG_SETTING_LANDSCAPE :Maasto: {STRING}
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Maasto vaikuttaa useisiin pelin peruselementteihin, kuten rahtiin ja kuntien kasvuedellytyksiin. NewGRF:t ja peliskriptit voivat kuitenkin vaikuttaa tarkemmin pelin kulkuun
@ -1463,8 +1463,8 @@ STR_CONFIG_SETTING_MAX_TRAINS :Suurin sallittu
STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Yhtiön suurin sallittu junien määrä
STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Suurin sallittu ajoneuvojen määrä yhtiötä kohden: {STRING}
STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Yhtiön suurin sallittu ajoneuvojen määrä
STR_CONFIG_SETTING_MAX_AIRCRAFT :Suurin sallittu lentokoneiden määrä yhtiötä kohden: {STRING}
STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Yhtiön suurin sallittu lentokoneiden määrä
STR_CONFIG_SETTING_MAX_AIRCRAFT :Suurin sallittu ilma-alusten määrä yhtiötä kohden: {STRING}
STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Yhtiön suurin sallittu ilma-alusten määrä
STR_CONFIG_SETTING_MAX_SHIPS :Suurin sallittu laivojen määrä yhtiötä kohden: {STRING}
STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Yhtiön suurin sallittu laivojen määrä
@ -1472,8 +1472,8 @@ STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Tietokoneella e
STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT :Mikäli käytössä, junien rakentaminen ei ole mahdollista tietokonepelaajille
STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES :Tietokoneella ei ole ajoneuvoja: {STRING}
STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES_HELPTEXT :Mikäli käytössä, ajoneuvojen rakentaminen ei ole mahdollista tietokonepelaajille
STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT :Tietokoneella ei ole lentokoneita: {STRING}
STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT_HELPTEXT :Mikäli käytössä, lentokoneiden rakentaminen ei ole mahdollista tietokonepelaajille
STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT :Tietokoneella ei ole ilma-aluksia: {STRING}
STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT_HELPTEXT :Mikäli käytössä, ilma-alusten rakentaminen ei ole mahdollista tietokonepelaajille
STR_CONFIG_SETTING_AI_BUILDS_SHIPS :Tietokoneella ei ole laivoja: {STRING}
STR_CONFIG_SETTING_AI_BUILDS_SHIPS_HELPTEXT :Mikäli käytössä, laivojen rakentaminen ei ole mahdollista tietokonepelaajille
@ -1849,7 +1849,7 @@ STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Näytä
STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Näytä junien väriteemat
STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Näytä tieajoneuvojen väriteemat
STR_LIVERY_SHIP_TOOLTIP :{BLACK}Näytä laivojen väriteemat
STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Näytä lentokoneiden väriteemat
STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Näytä ilma-alusten väriteemat
STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Valitse valitulle teemalle ensisijainen väri. Ctrl+Klik asettaa tämän värin jokaiselle teemalle
STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Valitse valitulle teemalle toissijainen väri. Ctrl+Klik asettaa tämän värin jokaiselle teemalle
STR_LIVERY_PANEL_TOOLTIP :{BLACK}Valitse muutettava väriteema, tai valitse useita Ctrl pohjassa. Paina valintalaatikkoa valitaksesi teeman
@ -3284,7 +3284,7 @@ STR_STATION_VIEW_SCHEDULED_SHIPS_TOOLTIP :{BLACK}Näytä
STR_STATION_VIEW_RENAME_STATION_CAPTION :Nimeä asema/lastausalue
STR_STATION_VIEW_CLOSE_AIRPORT :{BLACK}Sulje lentokenttä
STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Estä lentokoneiden laskeutuminen tälle lentokentälle
STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Estä ilma-aluksia laskeutumasta tälle lentokentälle
# Waypoint/buoy view window
STR_WAYPOINT_VIEW_CAPTION :{WHITE}{WAYPOINT}
@ -3303,12 +3303,12 @@ STR_FINANCES_SECTION_CONSTRUCTION :{GOLD}Rakentami
STR_FINANCES_SECTION_NEW_VEHICLES :{GOLD}Uudet kulkuneuvot
STR_FINANCES_SECTION_TRAIN_RUNNING_COSTS :{GOLD}Junien käyttökustannukset
STR_FINANCES_SECTION_ROAD_VEHICLE_RUNNING_COSTS :{GOLD}Ajoneuvojen käyttökustannukset
STR_FINANCES_SECTION_AIRCRAFT_RUNNING_COSTS :{GOLD}Lentokoneiden käyttökustannukset
STR_FINANCES_SECTION_AIRCRAFT_RUNNING_COSTS :{GOLD}Ilma-alusten käyttökustannukset
STR_FINANCES_SECTION_SHIP_RUNNING_COSTS :{GOLD}Laivojen käyttökustannukset
STR_FINANCES_SECTION_PROPERTY_MAINTENANCE :{GOLD}Omaisuudenhallinta
STR_FINANCES_SECTION_TRAIN_INCOME :{GOLD}Junien tulot
STR_FINANCES_SECTION_ROAD_VEHICLE_INCOME :{GOLD}Ajoneuvojen tulot
STR_FINANCES_SECTION_AIRCRAFT_INCOME :{GOLD}Lentokoneiden tulot
STR_FINANCES_SECTION_AIRCRAFT_INCOME :{GOLD}Ilma-alusten tulot
STR_FINANCES_SECTION_SHIP_INCOME :{GOLD}Laivojen tulot
STR_FINANCES_SECTION_LOAN_INTEREST :{GOLD}Lainan korko
STR_FINANCES_SECTION_OTHER :{GOLD}Muuta
@ -3334,7 +3334,7 @@ STR_COMPANY_VIEW_COLOUR_SCHEME_TITLE :{GOLD}Väriteem
STR_COMPANY_VIEW_VEHICLES_TITLE :{GOLD}Kulkuneuvot:
STR_COMPANY_VIEW_TRAINS :{WHITE}{COMMA} juna{P "" a}
STR_COMPANY_VIEW_ROAD_VEHICLES :{WHITE}{COMMA} ajoneuvo{P "" a}
STR_COMPANY_VIEW_AIRCRAFT :{WHITE}{COMMA} lentokone{P "" tta}
STR_COMPANY_VIEW_AIRCRAFT :{WHITE}{COMMA} ilma-alus{P "" ta}
STR_COMPANY_VIEW_SHIPS :{WHITE}{COMMA} laiva{P "" a}
STR_COMPANY_VIEW_VEHICLES_NONE :{WHITE}Ei mitään
STR_COMPANY_VIEW_COMPANY_VALUE :{GOLD}Yhtiön arvo: {WHITE}{CURRENCY_LONG}
@ -3428,7 +3428,7 @@ STR_CONFIG_GAME_PRODUCTION_LEVEL :{WHITE}Muuta tu
STR_VEHICLE_LIST_TRAIN_CAPTION :{WHITE}{STRING} - {COMMA} juna{P "" a}
STR_VEHICLE_LIST_ROAD_VEHICLE_CAPTION :{WHITE}{STRING} - {COMMA} ajoneuvo{P "" a}
STR_VEHICLE_LIST_SHIP_CAPTION :{WHITE}{STRING} - {COMMA} laiva{P "" a}
STR_VEHICLE_LIST_AIRCRAFT_CAPTION :{WHITE}{STRING} - {COMMA} lentokone{P "" tta}
STR_VEHICLE_LIST_AIRCRAFT_CAPTION :{WHITE}{STRING} - {COMMA} ilma-alus{P "" ta}
STR_VEHICLE_LIST_TRAIN_LIST_TOOLTIP :{BLACK}Junat napsauta junaa saadaksesi tietoja
STR_VEHICLE_LIST_ROAD_VEHICLE_TOOLTIP :{BLACK}Ajoneuvot napsauta ajoneuvoa saadaksesi tietoja
@ -3445,7 +3445,7 @@ STR_VEHICLE_LIST_AVAILABLE_ENGINES_TOOLTIP :{BLACK}Näytä
STR_VEHICLE_LIST_MANAGE_LIST :{BLACK}Muokkaa listaa
STR_VEHICLE_LIST_MANAGE_LIST_TOOLTIP :{BLACK}Ohjaa kaikkia listan kulkuneuvoja
STR_VEHICLE_LIST_REPLACE_VEHICLES :Korvaa liikennevälineitä
STR_VEHICLE_LIST_REPLACE_VEHICLES :Korvaa kulkuneuvoja
STR_VEHICLE_LIST_SEND_FOR_SERVICING :Lähetä huoltoon
STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :Lähetä varikolle
@ -3462,12 +3462,12 @@ STR_VEHICLE_LIST_SHARED_ORDERS_LIST_CAPTION :{WHITE}{COMMA}
STR_GROUP_ALL_TRAINS :Kaikki junat
STR_GROUP_ALL_ROAD_VEHICLES :Kaikki ajoneuvot
STR_GROUP_ALL_SHIPS :Kaikki laivat
STR_GROUP_ALL_AIRCRAFTS :Kaikki lentoalukset
STR_GROUP_ALL_AIRCRAFTS :Kaikki ilma-alukset
STR_GROUP_DEFAULT_TRAINS :Muut junat
STR_GROUP_DEFAULT_ROAD_VEHICLES :Muut ajoneuvot
STR_GROUP_DEFAULT_SHIPS :Muut laivat
STR_GROUP_DEFAULT_AIRCRAFTS :Muut lentokoneet
STR_GROUP_DEFAULT_AIRCRAFTS :Muut ilma-alukset
STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA})
@ -3492,19 +3492,19 @@ STR_GROUP_OCCUPANCY :Nykyinen käytt
STR_GROUP_OCCUPANCY_VALUE :{NUM} %
# Build vehicle window
STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Uusi juna
STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Uudet junat
STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Uusi sähköjuna
STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :Uusi yksiraidejuna
STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Uusi Maglev-juna
STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Uusia ajoneuvoja
STR_BUY_VEHICLE_TRAM_VEHICLE_CAPTION :Uusia raitiovaunuja
STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Uudet ajoneuvot
STR_BUY_VEHICLE_TRAM_VEHICLE_CAPTION :Uudet raitiovaunut
############ range for vehicle availability starts
STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Uudet junat
STR_BUY_VEHICLE_ROAD_VEHICLE_ALL_CAPTION :Uusia ajoneuvoja
STR_BUY_VEHICLE_SHIP_CAPTION :Uusia laivoja
STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Uusi lentokone
STR_BUY_VEHICLE_ROAD_VEHICLE_ALL_CAPTION :Uudet ajoneuvot
STR_BUY_VEHICLE_SHIP_CAPTION :Uudet laivat
STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Uusi ilma-alus
############ range for vehicle availability ends
STR_PURCHASE_INFO_COST_WEIGHT :{BLACK}Hinta: {GOLD}{CURRENCY_LONG}{BLACK} Paino: {GOLD}{WEIGHT_SHORT}
@ -3531,32 +3531,32 @@ STR_PURCHASE_INFO_NONE :Ei mitään
STR_PURCHASE_INFO_ALL_BUT :Kaikki paitsi {CARGO_LIST}
STR_PURCHASE_INFO_MAX_TE :{BLACK}Suurin vetovoima: {GOLD}{FORCE}
STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Toimintasäde: {GOLD}{COMMA} ruutua
STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Lentokonetyyppi: {GOLD}{STRING}
STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Ilma-alustyyppi: {GOLD}{STRING}
STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Junien valintaluettelo. Lisää tietoja junaa napsauttamalla. Ctrl+Klik näyttää tai piilottaa kulkuneuvon tyypin
STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Ajoneuvojen valintaluettelo. Napsauta ajoneuvoa saadaksesi lisää tietoja. Ctrl+Klik näyttää tai piilottaa ajoneuvon tyypin
STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Laivojen valintaluettelo. Napsauta laivaa saadaksesi lisää tietoja. Ctrl+Klik näyttää tai piilottaa laivan tyypin
STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Lentokoneiden valintaluettelo. Napsauta lentokonetta saadaksesi lisää tietoja. Ctrl+Klik näyttää tai piilottaa lentokoneen tyypin
STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Ilma-alusten valintaluettelo. Napsauta ilma-alusta saadaksesi lisää tietoja. Ctrl+Klik näyttää tai piilottaa ilma-aluksen tyypin
STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Osta yksikkö
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Osta ajoneuvo
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Osta laiva
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Osta lentokone
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Osta ilma-alus
STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Osta ja sovita yksikkö
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Osta ja sovita ajoneuvo
STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Osta ja sovita laiva
STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Osta ja sovita lentokone
STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Osta ja sovita ilma-alus
STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Osta valittu yksikkö. Shift+Klik näyttää kustannusarvion ostamatta
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Osta valittu ajoneuvo. Shift+Klik näyttää kustannusarvion ostamatta
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Osta valittu laiva. Shift+Klik näyttää kustannusarvion ostamatta
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Osta korostettu lentokone. Shift+Klik näyttää kustannusarvion ostamatta
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Osta korostettu ilma-alus. Shift+Klik näyttää kustannusarvion ostamatta
STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Osta ja sovita valittu yksikkö. Shift+Klik näyttää kustannusarvion ostamatta
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Osta ja sovita valittu ajoneuvo. Shift+Klik näyttää kustannusarvion ostamatta
STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Osta ja sovita valittu laiva. Shift+Klik näyttää kustannusarvion ostamatta
STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Osta ja sovita valittu lentokone. Shift+Klik näyttää kustannusarvion ostamatta
STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Osta ja sovita valittu ilma-alus. Shift+Klik näyttää kustannusarvion ostamatta
STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Nimeä
STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_BUTTON :{BLACK}Nimeä
@ -3581,12 +3581,12 @@ STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Näytä
STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Näytä tai piilota junan tyyppi
STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Näytä tai piilota ajoneuvon tyyppi
STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Näytä tai piilota laivan tyyppi
STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Näytä tai piilota lentokoneen tyyppi
STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Näytä tai piilota ilma-aluksen tyyppi
STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Nimeä juna(vaunu)n tyyppi uudelleen.
STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Nimeä juna(vaunu)n tyyppi uudelleen
STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Nimeä ajoneuvon tyyppi uudelleen
STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Nimeä laivatyyppi uudelleen.
STR_QUERY_RENAME_AIRCRAFT_TYPE_CAPTION :{WHITE}Nimeä lentokonetyyppi uudelleen.
STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Nimeä laivatyyppi uudelleen
STR_QUERY_RENAME_AIRCRAFT_TYPE_CAPTION :{WHITE}Nimeä ilma-alustyyppi uudelleen
# Depot window
STR_DEPOT_CAPTION :{WHITE}{DEPOT}
@ -3619,22 +3619,22 @@ STR_DEPOT_SELL_ALL_BUTTON_AIRCRAFT_TOOLTIP :{BLACK}Myy kaik
STR_DEPOT_AUTOREPLACE_TRAIN_TOOLTIP :{BLACK}Korvaa kaikki veturitallilla olevat junat automaattisesti
STR_DEPOT_AUTOREPLACE_ROAD_VEHICLE_TOOLTIP :{BLACK}Korvaa kaikki varikolla olevat ajoneuvot automaattisesti
STR_DEPOT_AUTOREPLACE_SHIP_TOOLTIP :{BLACK}Korvaa kaikki telakalla olevat laivat automaattisesti
STR_DEPOT_AUTOREPLACE_AIRCRAFT_TOOLTIP :{BLACK}Korvaa kaikki hallissa olevat lento-alukset automaattisesti
STR_DEPOT_AUTOREPLACE_AIRCRAFT_TOOLTIP :{BLACK}Korvaa kaikki hallissa olevat lentokoneet automaattisesti
STR_DEPOT_TRAIN_NEW_VEHICLES_BUTTON :{BLACK}Uusia liikennevälineitä
STR_DEPOT_ROAD_VEHICLE_NEW_VEHICLES_BUTTON :{BLACK}Uusia ajoneuvoja
STR_DEPOT_SHIP_NEW_VEHICLES_BUTTON :{BLACK}Uusia laivoja
STR_DEPOT_AIRCRAFT_NEW_VEHICLES_BUTTON :{BLACK}Uusia lentokoneita
STR_DEPOT_TRAIN_NEW_VEHICLES_BUTTON :{BLACK}Uudet kulkuneuvot
STR_DEPOT_ROAD_VEHICLE_NEW_VEHICLES_BUTTON :{BLACK}Uudet ajoneuvot
STR_DEPOT_SHIP_NEW_VEHICLES_BUTTON :{BLACK}Uudet laivat
STR_DEPOT_AIRCRAFT_NEW_VEHICLES_BUTTON :{BLACK}Uudet lentokoneet
STR_DEPOT_TRAIN_NEW_VEHICLES_TOOLTIP :{BLACK}Osta uusi yksikkö
STR_DEPOT_ROAD_VEHICLE_NEW_VEHICLES_TOOLTIP :{BLACK}Osta uusi ajoneuvo
STR_DEPOT_SHIP_NEW_VEHICLES_TOOLTIP :{BLACK}Osta uusi laiva
STR_DEPOT_AIRCRAFT_NEW_VEHICLES_TOOLTIP :{BLACK}Osta uusi lentokone
STR_DEPOT_AIRCRAFT_NEW_VEHICLES_TOOLTIP :{BLACK}Osta uusi ilma-alus
STR_DEPOT_CLONE_TRAIN :{BLACK}Kloonaa juna
STR_DEPOT_CLONE_ROAD_VEHICLE :{BLACK}Kloonaa ajoneuvo
STR_DEPOT_CLONE_SHIP :{BLACK}Kloonaa laiva
STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Kloonaa lentokone
STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Kloonaa ilma-alus
STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Tämä ostaa kopion junasta ja kaikista sen vaunuista. Napsauta tätä painiketta ja sen jälkeen junaa varikon sisä- tai ulkopuolella. Ctrl+Klik jakaa komennot. Shift+Klik näyttää kustannusarvion ostamatta kopiota
STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Tämä ostaa kopion ajoneuvosta. Napsauta tätä painiketta ja sen jälkeen ajoneuvoa varikon sisä- tai ulkopuolella. Ctrl+Klik jakaa komennot. Shift+Klik näyttää kustannusarvion ostamatta kopiota
@ -3673,18 +3673,18 @@ STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :yksiraiteisen v
STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :maglev-veturin
STR_ENGINE_PREVIEW_ROAD_VEHICLE :ajoneuvon
STR_ENGINE_PREVIEW_TRAM_VEHICLE :raitiovaunu
STR_ENGINE_PREVIEW_TRAM_VEHICLE :raitiovaunun
STR_ENGINE_PREVIEW_AIRCRAFT :lentokoneen
STR_ENGINE_PREVIEW_AIRCRAFT :ilma-aluksen
STR_ENGINE_PREVIEW_SHIP :laivan
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Hinta: {CURRENCY_LONG} Paino: {WEIGHT_SHORT}{}Nopeus: {VELOCITY} Teho: {POWER}{}Käyttökustannukset: {CURRENCY_LONG}/vuosi{}Kapasiteetti: {CARGO_LONG}
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Hinta: {CURRENCY_LONG} Paino: {WEIGHT_SHORT}{}Nopeus: {VELOCITY} Teho: {POWER} Maks. vetovoima: {6:FORCE}{}Käyttökustannukset: {4:CURRENCY_LONG}/v{}Kapasiteetti: {5:CARGO_LONG}
STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Hinta: {CURRENCY_LONG} Maks. nopeus: {VELOCITY}{}Kapasiteetti: {CARGO_LONG}{}Käyttökustannukset: {CURRENCY_LONG}/v
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Hinta: {CURRENCY_LONG} Maks. nopeus: {VELOCITY}{}Lentokonetyyppi: {STRING}{}Kapasiteetti: {CARGO_LONG}, {CARGO_LONG}{}Käyttökustannukset: {CURRENCY_LONG}/v
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Hinta: {CURRENCY_LONG} Maks. nopeus: {VELOCITY}{}Lentokonetyyppi: {STRING}{}Kapasiteetti: {CARGO_LONG}{}Käyttökustannukset: {CURRENCY_LONG}/v
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Hinta: {CURRENCY_LONG} Maks. nopeus: {VELOCITY}{}Lentokonetyyppi: {STRING} Toimintamatka: {COMMA} ruutua{}Kapasiteetti: {CARGO_LONG}, {CARGO_LONG}{}Käyttökustannukset: {CURRENCY_LONG}/v
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Hinta: {CURRENCY_LONG} Maks. nopeus: {VELOCITY}{}Lentokonetyyppi: {STRING} Toimintamatka: {COMMA} ruutua{}Kapasiteetti: {CARGO_LONG}{}Käyttökustannukset: {CURRENCY_LONG}/v
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Hinta: {CURRENCY_LONG} Maks. nopeus: {VELOCITY}{}Ilma-alustyyppi: {STRING}{}Kapasiteetti: {CARGO_LONG}, {CARGO_LONG}{}Käyttökustannukset: {CURRENCY_LONG}/v
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Hinta: {CURRENCY_LONG} Maks. nopeus: {VELOCITY}{}Ilma-alustyyppi: {STRING}{}Kapasiteetti: {CARGO_LONG}{}Käyttökustannukset: {CURRENCY_LONG}/v
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Hinta: {CURRENCY_LONG} Maks. nopeus: {VELOCITY}{}Ilma-alustyyppi: {STRING} Toimintamatka: {COMMA} ruutua{}Kapasiteetti: {CARGO_LONG}, {CARGO_LONG}{}Käyttökustannukset: {CURRENCY_LONG}/v
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Hinta: {CURRENCY_LONG} Maks. nopeus: {VELOCITY}{}Ilma-alustyyppi: {STRING} Toimintamatka: {COMMA} ruutua{}Kapasiteetti: {CARGO_LONG}{}Käyttökustannukset: {CURRENCY_LONG}/v
# Autoreplace window
STR_REPLACE_VEHICLES_WHITE :{WHITE}Korvaa {STRING} {STRING}
@ -3696,17 +3696,17 @@ STR_REPLACE_VEHICLE_AIRCRAFT :lentokoneita
STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Käytössä olevat kulkuneuvot
STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Sarake kulkuneuvoille, jotka omistat
STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Saatavilla olevat kulkuneuvot
STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Sarake kulkuneuvoille, jotka voidaan uusia
STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Sarake kulkuneuvoille, jotka voidaan uudistaa
STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Valitse korvattava veturityyppi.
STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Valitse vasemmalla näkyvän veturityypinn korvaava uusi veturityyppi.
STR_REPLACE_VEHICLES_START :{BLACK}Aloita kulkuneuvojen korvaaminen
STR_REPLACE_VEHICLES_NOW :Korvaa kaikki liikennevälineet nyt
STR_REPLACE_VEHICLES_WHEN_OLD :Korvaa vain vanhat liikennevälineet
STR_REPLACE_VEHICLES_NOW :Korvaa kaikki kulkuneuvot heti
STR_REPLACE_VEHICLES_WHEN_OLD :Korvaa vain vanhat kulkuneuvot
STR_REPLACE_HELP_START_BUTTON :{BLACK}Napsauta aloittaaksesi vasemmalta valitun veturityypin korvauksen oikealta valitulla veturityypillä.
STR_REPLACE_NOT_REPLACING :{BLACK}Ei korvata
STR_REPLACE_NOT_REPLACING_VEHICLE_SELECTED :{BLACK}Ei liikennevälinettä valittuna
STR_REPLACE_NOT_REPLACING_VEHICLE_SELECTED :{BLACK}Ei kulkuneuvoa valittuna
STR_REPLACE_REPLACING_WHEN_OLD :{ENGINE} kun vanha
STR_REPLACE_VEHICLES_STOP :{BLACK}Lopeta kulkuneuvojen korvaaminen
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Napsauta pysäyttääksesi vasemmalta valitun veturityypin korvauksen.
@ -3737,12 +3737,12 @@ STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE
STR_VEHICLE_VIEW_TRAIN_LOCATION_TOOLTIP :{BLACK}Keskitä näkymä junan sijaintiin. Ctrl+Klik seuraa junaa näkymässä
STR_VEHICLE_VIEW_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Keskitä näkymä ajoneuvon sijaintiin. Ctrl+Klik seuraa ajoneuvoa päänäkymässä
STR_VEHICLE_VIEW_SHIP_LOCATION_TOOLTIP :{BLACK}Keskitä näkymä laivan sijaintiin. Ctrl+Click seuraa laivaa näkymässä
STR_VEHICLE_VIEW_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Keskitä näkymä lentokoneen sijaintiin. Ctrl+Klik seuraa lentokonetta päänäkymässä
STR_VEHICLE_VIEW_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Keskitä näkymä ilma-aluksen sijaintiin. Ctrl+Klik seuraa ilma-alusta päänäkymässä
STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Lähetä juna veturitalliin. Ctrl+Klik suorittaa vain huollon
STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Lähetä ajoneuvo varikolle. Ctrl+Klik suorittaa vain huollon
STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Lähetä laiva telakalle. Ctrl+Klik suorittaa vain huollon
STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Lähetä lentokone lentokonehalliin. Ctrl+Klik suorittaa vain huollon
STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Lähetä ilma-alus lentokonehalliin. Ctrl+Klik suorittaa vain huollon
STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Tämä ostaa kopion junasta vaunuineen. Ctrl+Klik jakaa komennot. Shift+Klik näyttää kustannusarvion ostamatta kopiota
STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Tämä ostaa kopion ajoneuvosta. Ctrl+Klik jakaa komennot. Shift+Klik näyttää kustannusarvion ostamatta kopiota
@ -3754,7 +3754,7 @@ STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}Anna jun
STR_VEHICLE_VIEW_TRAIN_REFIT_TOOLTIP :{BLACK}Sovita juna kuljettamaan muuta rahtityyppiä
STR_VEHICLE_VIEW_ROAD_VEHICLE_REFIT_TOOLTIP :{BLACK}Muuta ajoneuvo kuljettamaan muuta rahtityyppiä
STR_VEHICLE_VIEW_SHIP_REFIT_TOOLTIP :{BLACK}Sovita laiva eri rahtityypille
STR_VEHICLE_VIEW_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Sovita lentokone eri rahtityypille.
STR_VEHICLE_VIEW_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Sovita ilma-alus kuljettamaan eri rahtityyppiä
STR_VEHICLE_VIEW_TRAIN_REVERSE_TOOLTIP :{BLACK}Käännä junan suunta
STR_VEHICLE_VIEW_ROAD_VEHICLE_REVERSE_TOOLTIP :{BLACK}Pakota ajoneuvo kääntymään ympäri
@ -3762,12 +3762,12 @@ STR_VEHICLE_VIEW_ROAD_VEHICLE_REVERSE_TOOLTIP :{BLACK}Pakota a
STR_VEHICLE_VIEW_TRAIN_ORDERS_TOOLTIP :{BLACK}Näytä junan käskyt. Ctrl+Klik näyttää junan aikataulun
STR_VEHICLE_VIEW_ROAD_VEHICLE_ORDERS_TOOLTIP :{BLACK}Näytä ajoneuvon käskyt. Ctrl+Klik näyttää ajoneuvon aikataulun
STR_VEHICLE_VIEW_SHIP_ORDERS_TOOLTIP :{BLACK}Näytä laivan käskyt. Ctrl+Click näyttää laivan aikataulun
STR_VEHICLE_VIEW_AIRCRAFT_ORDERS_TOOLTIP :{BLACK}Näytä lentokoneen käskyt. Ctrl+Klik näyttää lentokoneen aikataulun
STR_VEHICLE_VIEW_AIRCRAFT_ORDERS_TOOLTIP :{BLACK}Näytä ilma-aluksen käskyt. Ctrl+Klik näyttää ilma-aluksen aikataulun
STR_VEHICLE_VIEW_TRAIN_SHOW_DETAILS_TOOLTIP :{BLACK}Näytä junan tiedot
STR_VEHICLE_VIEW_ROAD_VEHICLE_SHOW_DETAILS_TOOLTIP :{BLACK}Näytä ajoneuvon tiedot
STR_VEHICLE_VIEW_SHIP_SHOW_DETAILS_TOOLTIP :{BLACK}Näytä laivan tiedot
STR_VEHICLE_VIEW_AIRCRAFT_SHOW_DETAILS_TOOLTIP :{BLACK}Näytä lentokoneen tiedot.
STR_VEHICLE_VIEW_AIRCRAFT_SHOW_DETAILS_TOOLTIP :{BLACK}Näytä ilma-aluksen tiedot
STR_VEHICLE_VIEW_TRAIN_STATE_START_STOP_TOOLTIP :{BLACK}Valitun junan toiminnot napsauta pysäyttääksesi/käynnistääksesi junan. Ctrl+Klik vierittääksesi kohteeseen
STR_VEHICLE_VIEW_ROAD_VEHICLE_STATE_START_STOP_TOOLTIP :{BLACK}Nykyisen ajoneuvon toiminnot napsauta pysäyttääksesi/käynnistääksesi ajoneuvon. Ctrl+Klik vierittääksesi kohteeseen
@ -3804,7 +3804,7 @@ STR_VEHICLE_NAME_BUTTON :{BLACK}Nimi
STR_VEHICLE_DETAILS_TRAIN_RENAME :{BLACK}Nimeä juna
STR_VEHICLE_DETAILS_ROAD_VEHICLE_RENAME :{BLACK}Nimeä ajoneuvo
STR_VEHICLE_DETAILS_SHIP_RENAME :{BLACK}Nimeä laiva
STR_VEHICLE_DETAILS_AIRCRAFT_RENAME :{BLACK}Nimeä lentokone
STR_VEHICLE_DETAILS_AIRCRAFT_RENAME :{BLACK}Nimeä ilma-alus
STR_VEHICLE_INFO_AGE_RUNNING_COST_YR :{BLACK}Ikä: {LTBLUE}{STRING}{BLACK} Käyttökustannukset: {LTBLUE}{CURRENCY_LONG}/yr
# The next two need to stay in this order
@ -3812,8 +3812,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} vuo{P s
STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} vuo{P si tta} ({COMMA})
STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Huippunopeus: {LTBLUE}{VELOCITY}
STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Maks. nopeus: {LTBLUE}{VELOCITY} {BLACK}Lentokonetyyppi: {LTBLUE}{STRING}
STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Maks. nopeus: {LTBLUE}{VELOCITY} {BLACK}Lentokonetyyppi: {LTBLUE}{STRING} {BLACK}Toimintamatka: {LTBLUE}{COMMA} ruutua
STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Huippunopeus: {LTBLUE}{VELOCITY} {BLACK}Ilma-alustyyppi: {LTBLUE}{STRING}
STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Huippunopeus: {LTBLUE}{VELOCITY} {BLACK}Ilma-alustyyppi: {LTBLUE}{STRING} {BLACK}Toimintamatka: {LTBLUE}{COMMA} ruutua
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Paino: {LTBLUE}{WEIGHT_SHORT} {BLACK}Teho: {LTBLUE}{POWER}{BLACK} Maks. nopeus: {LTBLUE}{VELOCITY}
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Paino: {LTBLUE}{WEIGHT_SHORT} {BLACK}Teho: {LTBLUE}{POWER}{BLACK} Maks. nopeus: {LTBLUE}{VELOCITY} {BLACK}Maks. vetovoima: {LTBLUE}{FORCE}
@ -3841,7 +3841,7 @@ STR_VEHICLE_DETAILS_PERCENT :Prosentteja
STR_QUERY_RENAME_TRAIN_CAPTION :{WHITE}Nimeä juna
STR_QUERY_RENAME_ROAD_VEHICLE_CAPTION :{WHITE}Nimeä ajoneuvo
STR_QUERY_RENAME_SHIP_CAPTION :{WHITE}Nimeä laiva
STR_QUERY_RENAME_AIRCRAFT_CAPTION :{WHITE}Nimeä lentokone
STR_QUERY_RENAME_AIRCRAFT_CAPTION :{WHITE}Nimeä ilma-alus
# Extra buttons for train details windows
STR_VEHICLE_DETAILS_TRAIN_ENGINE_BUILT_AND_VALUE :{LTBLUE}{ENGINE}{BLACK} Rakennettu: {LTBLUE}{NUM}{BLACK} Arvo: {LTBLUE}{CURRENCY_LONG}
@ -3883,7 +3883,7 @@ STR_REFIT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Valitse
STR_REFIT_TRAIN_REFIT_BUTTON :{BLACK}Sovita juna
STR_REFIT_ROAD_VEHICLE_REFIT_BUTTON :{BLACK}Korjaa ajoneuvo.
STR_REFIT_SHIP_REFIT_BUTTON :{BLACK}Sovita laiva
STR_REFIT_AIRCRAFT_REFIT_BUTTON :{BLACK}Sovita lentokone
STR_REFIT_AIRCRAFT_REFIT_BUTTON :{BLACK}Sovita ilma-alus
STR_REFIT_TRAIN_REFIT_TOOLTIP :{BLACK}Sovita juna kuljettamaan valittua rahtityyppiä
STR_REFIT_ROAD_VEHICLE_REFIT_TOOLTIP :{BLACK}Muuta ajoneuvo rahtaamaan korostettua rahtityyppiä.
@ -4439,7 +4439,7 @@ STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE :{WHITE}Kulkuneu
STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE_MULTIPLE_UNITS :{WHITE}... koostuu useammista yksiköistä
STR_ERROR_INCOMPATIBLE_RAIL_TYPES :Raiteet eivät ole yhteensopivia
STR_ERROR_CAN_T_MOVE_VEHICLE :{WHITE}Liikennevälinettä ei voi poistaa...
STR_ERROR_CAN_T_MOVE_VEHICLE :{WHITE}Kulkuneuvoa ei voi siirtää...
STR_ERROR_REAR_ENGINE_FOLLOW_FRONT :{WHITE}Moottorivaunun takaosa seuraa aina etuosaansa
STR_ERROR_UNABLE_TO_FIND_ROUTE_TO :{WHITE}Reittiä paikalliselle veturitallille ei löydy.
STR_ERROR_UNABLE_TO_FIND_LOCAL_DEPOT :{WHITE}Paikallista varikkoa ei löydy.
@ -4545,47 +4545,47 @@ STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Ei voi l
STR_ERROR_TRAIN_IN_THE_WAY :{WHITE}Juna on tiellä.
STR_ERROR_ROAD_VEHICLE_IN_THE_WAY :{WHITE}Ajoneuvo tiellä.
STR_ERROR_SHIP_IN_THE_WAY :{WHITE}Laiva on tiellä.
STR_ERROR_AIRCRAFT_IN_THE_WAY :{WHITE}Lentokone on tiellä.
STR_ERROR_AIRCRAFT_IN_THE_WAY :{WHITE}Ilma-alus on tiellä
STR_ERROR_CAN_T_REFIT_TRAIN :{WHITE}Junaa ei voi sovittaa...
STR_ERROR_CAN_T_REFIT_ROAD_VEHICLE :{WHITE}Ajoneuvoa ei voida korjata.
STR_ERROR_CAN_T_REFIT_SHIP :{WHITE}Laivaa ei voi sovittaa...
STR_ERROR_CAN_T_REFIT_AIRCRAFT :{WHITE}Lentokonetta ei voi sovittaa...
STR_ERROR_CAN_T_REFIT_AIRCRAFT :{WHITE}Ilma-alusta ei voi sovittaa...
STR_ERROR_CAN_T_RENAME_TRAIN :{WHITE}Junaa ei voi nimetä...
STR_ERROR_CAN_T_RENAME_ROAD_VEHICLE :{WHITE}Ajoneuvoa ei voi nimetä...
STR_ERROR_CAN_T_RENAME_SHIP :{WHITE}Laivaa ei voi nimetä...
STR_ERROR_CAN_T_RENAME_AIRCRAFT :{WHITE}Lentokonetta ei voi nimetä...
STR_ERROR_CAN_T_RENAME_AIRCRAFT :{WHITE}Ilma-aluta ei voi nimetä...
STR_ERROR_CAN_T_STOP_START_TRAIN :{WHITE}Junaa ei voi pysäyttää/lähettää...
STR_ERROR_CAN_T_STOP_START_ROAD_VEHICLE :{WHITE}Ajoneuvoa ei voi pysäyttää/laitta liikkeelle...
STR_ERROR_CAN_T_STOP_START_SHIP :{WHITE}Laivaa ei voi pysäyttää/laittaa liikkeelle...
STR_ERROR_CAN_T_STOP_START_AIRCRAFT :{WHITE}Lentokonetta ei voi pysäyttää/laittaa liikkeelle...
STR_ERROR_CAN_T_STOP_START_AIRCRAFT :{WHITE}Ilma-alusta ei voi pysäyttää/laittaa liikkeelle...
STR_ERROR_CAN_T_SEND_TRAIN_TO_DEPOT :{WHITE}Junan lähettäminen veturitalliin ei onnistu...
STR_ERROR_CAN_T_SEND_ROAD_VEHICLE_TO_DEPOT :{WHITE}Ajoneuvon lähettäminen varikolle ei onnistu...
STR_ERROR_CAN_T_SEND_SHIP_TO_DEPOT :{WHITE}Laivaa ei voi lähettää telakalle...
STR_ERROR_CAN_T_SEND_AIRCRAFT_TO_HANGAR :{WHITE}Lentokonetta ei voi lähettää lentokonehalliin...
STR_ERROR_CAN_T_SEND_AIRCRAFT_TO_HANGAR :{WHITE}Ilma-alusta ei voi lähettää lentokonehalliin...
STR_ERROR_CAN_T_BUY_TRAIN :{WHITE}Yksikköä ei voi ostaa...
STR_ERROR_CAN_T_BUY_ROAD_VEHICLE :{WHITE}Ajoneuvoa ei voi ostaa...
STR_ERROR_CAN_T_BUY_SHIP :{WHITE}Laivaa ei voi ostaa...
STR_ERROR_CAN_T_BUY_AIRCRAFT :{WHITE}Lentokonetta ei voi ostaa...
STR_ERROR_CAN_T_BUY_AIRCRAFT :{WHITE}Ilma-alusta ei voi ostaa...
STR_ERROR_CAN_T_RENAME_TRAIN_TYPE :{WHITE}Juna(vaunu)n tyyppiä ei voi uudelleennimetä...
STR_ERROR_CAN_T_RENAME_ROAD_VEHICLE_TYPE :{WHITE}Ajoneuvotyyppiä ei voi uudelleennimetä...
STR_ERROR_CAN_T_RENAME_SHIP_TYPE :{WHITE}Laivatyyppin uudelleennimeäminen ei onnistu...
STR_ERROR_CAN_T_RENAME_AIRCRAFT_TYPE :{WHITE}Lentokonetyyppiä ei voi uudelleennimetä...
STR_ERROR_CAN_T_RENAME_AIRCRAFT_TYPE :{WHITE}Ilma-alustyyppiä ei voi uudelleennimetä...
STR_ERROR_CAN_T_SELL_TRAIN :{WHITE}Yksikköä ei voi myydä...
STR_ERROR_CAN_T_SELL_ROAD_VEHICLE :{WHITE}Ajoneuvoa ei voi myydä...
STR_ERROR_CAN_T_SELL_SHIP :{WHITE}Laivaa ei voi myydä...
STR_ERROR_CAN_T_SELL_AIRCRAFT :{WHITE}Lentokonetta ei voi myydä...
STR_ERROR_CAN_T_SELL_AIRCRAFT :{WHITE}Ilma-alusta ei voi myydä...
STR_ERROR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Juna tai vaunu ei ole saatavilla
STR_ERROR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Ajoneuvo ei ole saatavilla
STR_ERROR_SHIP_NOT_AVAILABLE :{WHITE}Laiva ei ole saatavilla
STR_ERROR_AIRCRAFT_NOT_AVAILABLE :{WHITE}Lentokone ei ole saatavilla
STR_ERROR_AIRCRAFT_NOT_AVAILABLE :{WHITE}Ilma-alus ei ole saatavilla
STR_ERROR_TOO_MANY_VEHICLES_IN_GAME :{WHITE}Liian monta kulkuneuvoa pelissä.
STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Huoltoväliä ei voi muuttaa.
@ -4604,7 +4604,7 @@ STR_ERROR_TRAIN_START_NO_POWER :Junalla ei ole
STR_ERROR_CAN_T_MAKE_ROAD_VEHICLE_TURN :{WHITE}Ajoneuvoa ei voida kääntää...
STR_ERROR_AIRCRAFT_IS_IN_FLIGHT :{WHITE}Lentokone on lennossa.
STR_ERROR_AIRCRAFT_IS_IN_FLIGHT :{WHITE}Ilma-alus on lennossa
# Order related errors
STR_ERROR_NO_MORE_SPACE_FOR_ORDERS :{WHITE}Ei enää tilaa pysähdyksille.
@ -4623,7 +4623,7 @@ STR_ERROR_CAN_T_SHARE_ORDER_LIST :{WHITE}Käskyj
STR_ERROR_CAN_T_STOP_SHARING_ORDER_LIST :{WHITE}Käskyjen jakamista ei voida lopettaa...
STR_ERROR_CAN_T_COPY_ORDER_LIST :{WHITE}Käskyjä ei voida kopioida...
STR_ERROR_TOO_FAR_FROM_PREVIOUS_DESTINATION :{WHITE}... liian kaukana edellisestä määränpäästä
STR_ERROR_AIRCRAFT_NOT_ENOUGH_RANGE :{WHITE}... lentokoneen toimintasäde ei ole tarpeeksi suuri
STR_ERROR_AIRCRAFT_NOT_ENOUGH_RANGE :{WHITE}... ilma-aluksen toimintasäde ei riitä
# Timetable related errors
STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}Ei voi asettaa aikataulua.
@ -4735,7 +4735,7 @@ STR_SV_UNNAMED :Nimetön
STR_SV_TRAIN_NAME :Juna {COMMA}
STR_SV_ROAD_VEHICLE_NAME :Ajoneuvo {COMMA}
STR_SV_SHIP_NAME :Laiva {COMMA}
STR_SV_AIRCRAFT_NAME :Lentokone {COMMA}
STR_SV_AIRCRAFT_NAME :Ilma-alus {COMMA}
STR_SV_STNAME :{STRING}
STR_SV_STNAME_NORTH :Pohjois-{STRING}

@ -866,6 +866,7 @@ STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLAC
STR_NEWS_NEW_VEHICLE_TYPE :{BIG_FONT}{BLACK}{ENGINE}
STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Nuov{G o o a} {STRING} disponibile! - {ENGINE}
STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Apri la finestra del gruppo focalizzata sul gruppo del veicolo
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO :{WHITE}{STATION} non accetta più {STRING}
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}{STATION} non accetta più {STRING} né {STRING}
@ -1332,6 +1333,8 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL :Mostra la popol
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Mosta la popolazione delle città nella loro etichetta sulla mappa
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Spessore delle linee nei grafici: {STRING}
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Larghezza delle linee nei grafici. Le linee sottili sono più leggibili, quelle più spesse sono più facili da vedere e i colori più facili da distinguere
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Mostra il nome dei NewGRF nella finestra di costruzione dei veicoli: {STRING}
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Aggiungi una linea alla finestra di costruzione dei veicoli, in modo da mostrare da quale NewGRF proviene il veicolo selezionato.
STR_CONFIG_SETTING_LANDSCAPE :Paesaggio: {STRING}
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :I paesaggi definiscono scenari di gioco di base che differiscono per i carichi disponibili e per i requisiti di crescita delle città. NewGRF e Script offrono tuttavia un controllo più fine su questi aspetti
@ -1569,10 +1572,16 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Completo
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Giornali a colori dal: {STRING}
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Anno a partire dal quale le notizie di giornale vengono stampate a colori. Prima di quest'anno, viene utilizzata la monocromia in bianco e nero
STR_CONFIG_SETTING_STARTING_YEAR :Anno di inizio: {STRING}
STR_CONFIG_SETTING_ENDING_YEAR :Punteggi a fine anno: {STRING}
STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Anno in cui il gioco finisce per poter calcolare i punteggi. Alla fine di ques'tanno il punteggio della compagnia viene registrato e viene mostrata la schermata con i punteggi più alti, ma il giocatore può continuare a giocare anche dopo.{}Se quest'anno precede quello di inizio, la schermata dei punteggi non verrà mai mostrata.
STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM}
STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Mai
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Abilita economia fluida (cambiamenti piccoli e frequenti): {STRING}
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Se abilitata, la produzione industriale cambia più spesso e a passi più piccoli. Questa impostazione non ha in genere effetto per i tipi di industria aggiunti da un NewGRF
STR_CONFIG_SETTING_ALLOW_SHARES :Permetti l'acquisto di azioni di altre compagnie: {STRING}
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Se abilitata, consente l'acquisto e la vendita di azioni delle compagnie. Le azioni sono disponibili solo per le compagnie che hanno raggiunto una certa età minima
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_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 secondari di una catena di trasferimenti. In questo viene dato un maggiore controllo sulla situazione dei ricavi
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Trascinando il cursore, piazza i segnali ogni: {STRING}
@ -3414,8 +3423,17 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL :{WHITE}{CURRENC
# Industry directory
STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Industrie
STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Nessuna -
STR_INDUSTRY_DIRECTORY_ITEM_INFO :{BLACK}{CARGO_LONG}{STRING}{YELLOW} ({COMMA}% trasportato){BLACK}
STR_INDUSTRY_DIRECTORY_ITEM_NOPROD :{ORANGE}{INDUSTRY}
STR_INDUSTRY_DIRECTORY_ITEM_PROD1 :{ORANGE}{INDUSTRY} {STRING}
STR_INDUSTRY_DIRECTORY_ITEM_PROD2 :{ORANGE}{INDUSTRY} {STRING}, {STRING}
STR_INDUSTRY_DIRECTORY_ITEM_PROD3 :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING}
STR_INDUSTRY_DIRECTORY_ITEM_PRODMORE :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING} e {NUM} ancora...
STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Nomi delle industrie - fare clic su un nome per centrare la visuale sull'industria. CTRL+clic la mostra in una mini visuale.
STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Carichi accettati: {SILVER}{STRING}
STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Carico prodotto: {SILVER}{STRING}
STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Tutti i tipi di carico
STR_INDUSTRY_DIRECTORY_FILTER_NONE :Nessuno
# Industry view
STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY}
@ -4190,6 +4208,13 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Sceglie
STR_AI_LIST_CANCEL :{BLACK}Annulla
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Non modifica lo script utilizzato
STR_SCREENSHOT_CAPTION :{WHITE}Cattura uno screenshot
STR_SCREENSHOT_SCREENSHOT :{BLACK}Screenshot normale
STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Livello di zoom massimo nello screenshot
STR_SCREENSHOT_DEFAULTZOOM_SCREENSHOT :{BLACK}Livello di zoom normale nello screenshot
STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Screenshot di tutta la mappa
STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Screenshot della heightmap
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Screenshot della minimappa
# AI Parameters
STR_AI_SETTINGS_CAPTION :{WHITE}Parametri {STRING}

@ -1340,7 +1340,7 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL :도시 이름
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :도시 이름 옆에 도시의 인구 수를 표시합니다.
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :그래프 선의 두께: {STRING}
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :그래프의 선 두께를 설정합니다. 얇으면 자세히 볼 수 있고, 두꺼우면 눈에 확 들어오며 색상을 분간하기가 편해집니다.
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :차량 구입 창에서 NewGRF의 이름을 보여주기: {STRING}
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :차량 구입 창에 NewGRF 이름 표시: {STRING}
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :차량 구입 창 맨 아래 줄에, 이 차량이 어떤 NewGRF에서 추가되는 지 해당 NewGRF의 이름을 표시해줍니다.
STR_CONFIG_SETTING_SHOW_TRAIN_LENGTH_IN_DETAILS :상세정보 화면에서 열차 길이 보이기: {STRING}
STR_CONFIG_SETTING_SHOW_TRAIN_LENGTH_IN_DETAILS_HELPTEXT :열차의 길이를 상세정보 화면에 표시할지 설정합니다.

@ -412,7 +412,7 @@ STR_SORT_BY_CAPTION_DATE :{BLACK}Дата
STR_SORT_BY_NAME :Название
STR_SORT_BY_PRODUCTION :Производительность
STR_SORT_BY_TYPE :Тип
STR_SORT_BY_TRANSPORTED :Вывоз
STR_SORT_BY_TRANSPORTED :% перевезённого
STR_SORT_BY_NUMBER :Номер
STR_SORT_BY_PROFIT_LAST_YEAR :Прибыль в прошлом году
STR_SORT_BY_PROFIT_THIS_YEAR :Прибыль в текущем году
@ -3586,6 +3586,10 @@ STR_INDUSTRY_DIRECTORY_ITEM_PROD2 :{ORANGE}{INDUST
STR_INDUSTRY_DIRECTORY_ITEM_PROD3 :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING}
STR_INDUSTRY_DIRECTORY_ITEM_PRODMORE :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING} и ещё {NUM}...
STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Список предприятий - щелчок по названию показывает предприятие в основном окне. Ctrl+щелчок показывает в дополнительном окне.
STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Принимаемый груз: {SILVER}{STRING}
STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Производимый груз: {SILVER}{STRING}
STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Любой
STR_INDUSTRY_DIRECTORY_FILTER_NONE :Отсутствует
# Industry view
STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY}
@ -4385,6 +4389,13 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Выбр
STR_AI_LIST_CANCEL :{BLACK}Отмена
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Не менять скрипт
STR_SCREENSHOT_CAPTION :{WHITE}Снимок экрана
STR_SCREENSHOT_SCREENSHOT :{BLACK}Обычный снимок
STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Видимая область в максимальном приближении
STR_SCREENSHOT_DEFAULTZOOM_SCREENSHOT :{BLACK}Видимая область в обычном масштабе
STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Снимок всей карты
STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Снимок карты высот
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Снимок миникарты
# AI Parameters
STR_AI_SETTINGS_CAPTION :{WHITE}Параметры {STRING}
@ -4469,10 +4480,10 @@ STR_WARNING_FALLBACK_SOUNDSET :{WHITE}Теку
# Screenshot related messages
STR_WARNING_SCREENSHOT_SIZE_CAPTION :{WHITE}Огромный снимок экрана
STR_WARNING_SCREENSHOT_SIZE_MESSAGE :{YELLOW}Снимок экрана будет иметь размер {COMMA} х {COMMA} пикселей. Его создание займёт некоторое время. Продолжить?
STR_WARNING_SCREENSHOT_SIZE_MESSAGE :{YELLOW}Снимок экрана будет иметь размер {COMMA}{NBSP}х{NBSP}{COMMA}{NBSP}пиксел{P ь я ей}. Его создание займёт некоторое время. Продолжить?
STR_MESSAGE_SCREENSHOT_SUCCESSFULLY :{WHITE}Снимок экрана сохранён под именем «{STRING}»
STR_ERROR_SCREENSHOT_FAILED :{WHITE}Не удалось сохранить снимок экрана
STR_ERROR_SCREENSHOT_FAILED :{WHITE}Не удалось сделать снимок экрана
# Error message titles
STR_ERROR_MESSAGE_CAPTION :{YELLOW}Сообщение

@ -1257,7 +1257,7 @@ STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :Las empresas ap
STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :Permitir enviar dinero a otras empresas: {STRING}
STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT :Permitir la transferencia de dinero entre empresas en modo multijugador
STR_CONFIG_SETTING_FREIGHT_TRAINS :Multiplicador de peso para simular trenes pesados: {STRING}
STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT :Establece el impacto de llevar cargamento en los trenes. Un valor mayor exige mayor potencia a los trenes para llevar una carga, sobretodo al subir colinas
STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT :Establece el impacto de llevar cargamento en los trenes. Un valor mayor exige mayor potencia a los trenes para llevar una carga, sobre todo al subir colinas
STR_CONFIG_SETTING_PLANE_SPEED :Factor de velocidad de aeronaves: {STRING}
STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Establece la velocidad relativa de las aeronaves comparada con la de otros vehículos para reducir las utilidades de transportación aérea
STR_CONFIG_SETTING_PLANE_SPEED_VALUE :1/{COMMA}
@ -1310,6 +1310,8 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL :Mostrar poblaci
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Mostrar en el mapa la población de los pueblos junto a sus nombres
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Grosor de las líneas en las gráficas: {STRING}
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Grosor de las líneas en las gráficas. Una línea fina es más precisa, una línea más gruesa es más fácil de distinguir
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Mostrar el nombre del GRF en la ventana de construcción de vehículo: {STRING}
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Indicar por medio de una línea adicional en la ventana de construcción de vehículo su NewGRF.
STR_CONFIG_SETTING_LANDSCAPE :Terreno: {STRING}
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Los terrenos definen mapas con diferentes tipos de carga y requisitos de crecimiento para los pueblos. Es posible modificarlos empleando NewGRF y scripts de juego
@ -3399,6 +3401,10 @@ STR_INDUSTRY_DIRECTORY_ITEM_PROD2 :{ORANGE}{INDUST
STR_INDUSTRY_DIRECTORY_ITEM_PROD3 :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING}
STR_INDUSTRY_DIRECTORY_ITEM_PRODMORE :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING} y {NUM} más...
STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Nombre de industria: Clic en un nombre para centrar la vista principal en la industria. Ctrl+Clic abre una ventana de vista en dicha ubicación
STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Cargamento aceptado: {SILVER}{STRING}
STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Cargemento producido: {SILVER}{STRING}
STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Todos los tipos
STR_INDUSTRY_DIRECTORY_FILTER_NONE :Ninguno
# Industry view
STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY}
@ -4179,6 +4185,7 @@ STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Acercami
STR_SCREENSHOT_DEFAULTZOOM_SCREENSHOT :{BLACK}Acercamiento por defecto
STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Mapa completo
STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Mapa de alturas
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Captura de minimapa
# AI Parameters
STR_AI_SETTINGS_CAPTION :{WHITE}Parámetros {STRING}

@ -136,6 +136,7 @@ void MusicDriver_FluidSynth::StopSong()
}
delete_fluid_player(_midi.player);
fluid_synth_system_reset(_midi.synth);
fluid_synth_all_sounds_off(_midi.synth, -1);
_midi.player = nullptr;
}
@ -153,7 +154,7 @@ void MusicDriver_FluidSynth::SetVolume(byte vol)
* volume". Set gain using OpenTTD's volume, as a number between 0
* and 0.2. */
double gain = (1.0 * vol) / (128.0 * 5.0);
if (fluid_settings_setnum(_midi.settings, "synth.gain", gain) != 1) {
if (fluid_settings_setnum(_midi.settings, "synth.gain", gain) != FLUID_OK) {
DEBUG(driver, 0, "Could not set volume");
}
}

@ -732,11 +732,12 @@ struct MusicWindow : public Window {
case WID_M_TRACK_NAME: {
GfxFillRect(r.left, r.top + 1, r.right - 1, r.bottom, PC_BLACK);
StringID str = STR_MUSIC_TITLE_NONE;
MusicSystem::PlaylistEntry entry(_music.GetCurrentSong());
if (BaseMusic::GetUsedSet()->num_available == 0) {
str = STR_MUSIC_TITLE_NOMUSIC;
} else if (_music.IsPlaying()) {
str = STR_MUSIC_TITLE_NAME;
SetDParamStr(0, _music.GetCurrentSong().songname);
SetDParamStr(0, entry.songname);
}
DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, r.top + WD_FRAMERECT_TOP, str, TC_FROMSTRING, SA_HOR_CENTER);
break;

@ -1688,7 +1688,20 @@ static void NetworkCheckRestartMap()
if (_settings_client.network.restart_game_year != 0 && _cur_year >= _settings_client.network.restart_game_year) {
DEBUG(net, 0, "Auto-restarting map. Year %d reached", _cur_year);
StartNewGameWithoutGUI(GENERATE_NEW_SEED);
_settings_newgame.game_creation.generation_seed = GENERATE_NEW_SEED;
switch(_file_to_saveload.abstract_ftype) {
case FT_SAVEGAME:
case FT_SCENARIO:
_switch_mode = SM_LOAD_GAME;
break;
case FT_HEIGHTMAP:
_switch_mode = SM_START_HEIGHTMAP;
break;
default:
_switch_mode = SM_NEWGAME;
}
}
}

@ -15,6 +15,7 @@
#include "../../thread.h"
#include "../../screenshot.h"
#include "../../debug.h"
#include "../../video/video_driver.hpp"
#include "macos.h"
#include <errno.h>
@ -458,7 +459,9 @@ void CDECL HandleCrash(int signum, siginfo_t *si, void *context)
CrashLogOSX log(signum, si, context);
log.MakeCrashLog();
log.DisplayCrashDialog();
if (VideoDriver::GetInstance() == nullptr || VideoDriver::GetInstance()->HasGUI()) {
log.DisplayCrashDialog();
}
CrashLog::AfterCrashLogCleanup();
abort();

@ -140,6 +140,11 @@ void CopyTempEngineData()
if (se->name != nullptr) e->name = stredup(se->name);
}
ResetTempEngineData();
}
void ResetTempEngineData()
{
/* Get rid of temporary data */
for (std::vector<Engine*>::iterator it = _temp_engine.begin(); it != _temp_engine.end(); ++it) {
FreeEngine(*it);

@ -12,6 +12,7 @@
#include "../tunnelbridge_map.h"
#include "saveload.h"
#include "saveload_internal.h"
#include "../safeguards.h"
@ -88,6 +89,11 @@ void AfterLoadLabelMaps()
}
}
ResetLabelMaps();
}
void ResetLabelMaps()
{
_railtype_list.clear();
}
@ -115,7 +121,7 @@ static void Save_RAIL()
static void Load_RAIL()
{
_railtype_list.clear();
ResetLabelMaps();
LabelObject lo;

@ -2846,6 +2846,16 @@ void InitializeGame(uint size_x, uint size_y, bool reset_date, bool reset_settin
extern bool AfterLoadGame();
extern bool LoadOldSaveGame(const char *file);
/**
* Clear temporary data that is passed between various saveload phases.
*/
static void ResetSaveloadData()
{
ResetTempEngineData();
ResetLabelMaps();
ResetOldWaypoints();
}
/**
* Clear/free saveload state.
*/
@ -3217,6 +3227,8 @@ static SaveOrLoadResult DoLoad(LoadFilter *reader, bool load_check)
_next_offs = 0;
if (!load_check) {
ResetSaveloadData();
/* Old maps were hardcoded to 256x256 and thus did not contain
* any mapsize information. Pre-initialize to 256x256 to not to
* confuse old games */
@ -3322,6 +3334,8 @@ SaveOrLoadResult SaveOrLoad(const char *filename, SaveLoadOperation fop, Detaile
try {
/* Load a TTDLX or TTDPatch game */
if (fop == SLO_LOAD && dft == DFT_OLD_GAME_FILE) {
ResetSaveloadData();
InitializeGame(256, 256, true, true); // set a mapsize of 256x256 for TTDPatch games or it might get confused
/* TTD/TTO savegames have no NewGRFs, TTDP savegame have them

@ -20,6 +20,7 @@ StringID RemapOldStringID(StringID s);
char *CopyFromOldName(StringID id);
void ResetOldNames();
void ResetOldWaypoints();
void MoveBuoysToWaypoints();
void MoveWaypointsToBaseStations();
const SaveLoad *GetBaseStationDescription();
@ -29,6 +30,7 @@ void FixupTrainLengths();
void AfterLoadTemplateVehicles();
void AfterLoadStations();
void AfterLoadRoadStops();
void ResetLabelMaps();
void AfterLoadLabelMaps();
void AfterLoadStoryBook();
void AfterLoadLinkGraphs();
@ -44,6 +46,7 @@ void ResetViewportAfterLoadGame();
void ConvertOldMultiheadToNew();
void ConnectMultiheadedTrains();
void ResetTempEngineData();
Engine *GetTempDataEngine(EngineID index);
void CopyTempEngineData();

@ -155,6 +155,11 @@ void MoveWaypointsToBaseStations()
UpdateWaypointOrder(&v->current_order);
}
ResetOldWaypoints();
}
void ResetOldWaypoints()
{
_old_waypoints.clear();
_old_waypoints.shrink_to_fit();
}
@ -182,7 +187,7 @@ static const SaveLoad _old_waypoint_desc[] = {
static void Load_WAYP()
{
/* Precaution for when loading failed and it didn't get cleared */
_old_waypoints.clear();
ResetOldWaypoints();
int index;

@ -14,6 +14,7 @@
#include "window_gui.h"
#include "screenshot.h"
#include "textbuf_gui.h"
#include "strings_func.h"
#include "widgets/screenshot_widget.h"
@ -57,6 +58,8 @@ struct ScreenshotWindow : Window {
if ((uint64)vp.width * (uint64)vp.height > 8192 * 8192) {
/* Ask for confirmation */
_screenshot_type = st;
SetDParam(0, vp.width);
SetDParam(1, vp.height);
ShowQuery(STR_WARNING_SCREENSHOT_SIZE_CAPTION, STR_WARNING_SCREENSHOT_SIZE_MESSAGE, nullptr, ScreenshotConfirmationCallback);
}
else {

@ -9,8 +9,8 @@
# Project related configuration options
#---------------------------------------------------------------------------
DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = "OpenTTD NoAI API"
PROJECT_NUMBER =
PROJECT_NAME = "OpenTTD AI API"
PROJECT_NUMBER = $(VERSION)
OUTPUT_DIRECTORY = ../../../docs/aidocs/
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English

@ -9,8 +9,8 @@
# Project related configuration options
#---------------------------------------------------------------------------
DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = "OpenTTD Game API"
PROJECT_NUMBER =
PROJECT_NAME = "OpenTTD GameScript API"
PROJECT_NUMBER = $(VERSION)
OUTPUT_DIRECTORY = ../../../docs/gamedocs/
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English

@ -46,6 +46,8 @@ void SQGSEngine_Register(Squirrel *engine)
SQGSEngine.DefSQStaticMethod(engine, &ScriptEngine::IsArticulated, "IsArticulated", 2, ".i");
SQGSEngine.DefSQStaticMethod(engine, &ScriptEngine::GetPlaneType, "GetPlaneType", 2, ".i");
SQGSEngine.DefSQStaticMethod(engine, &ScriptEngine::GetMaximumOrderDistance, "GetMaximumOrderDistance", 2, ".i");
SQGSEngine.DefSQStaticMethod(engine, &ScriptEngine::EnableForCompany, "EnableForCompany", 3, ".ii");
SQGSEngine.DefSQStaticMethod(engine, &ScriptEngine::DisableForCompany, "DisableForCompany", 3, ".ii");
SQGSEngine.PostRegister(engine);
}

@ -25,6 +25,8 @@
* \li GSRoad::RoadVehHasPowerOnRoad
* \li GSRoad::ConvertRoadType
* \li GSRoad::GetMaxSpeed
* \li GSEngine::EnableForCompany
* \li GSEngine::DisableForCompany
*
* \b 1.9.0
*

@ -276,3 +276,25 @@
return 0;
}
}
/* static */ bool ScriptEngine::EnableForCompany(EngineID engine_id, ScriptCompany::CompanyID company)
{
company = ScriptCompany::ResolveCompanyID(company);
EnforcePrecondition(false, ScriptObject::GetCompany() == OWNER_DEITY);
EnforcePrecondition(false, IsValidEngine(engine_id));
EnforcePrecondition(false, company != ScriptCompany::COMPANY_INVALID);
return ScriptObject::DoCommand(0, engine_id, (uint32)company | (1 << 31), CMD_ENGINE_CTRL);
}
/* static */ bool ScriptEngine::DisableForCompany(EngineID engine_id, ScriptCompany::CompanyID company)
{
company = ScriptCompany::ResolveCompanyID(company);
EnforcePrecondition(false, ScriptObject::GetCompany() == OWNER_DEITY);
EnforcePrecondition(false, IsValidEngine(engine_id));
EnforcePrecondition(false, company != ScriptCompany::COMPANY_INVALID);
return ScriptObject::DoCommand(0, engine_id, company, CMD_ENGINE_CTRL);
}

@ -287,6 +287,29 @@ public:
* @see ScriptOrder::GetOrderDistance
*/
static uint GetMaximumOrderDistance(EngineID engine_id);
/**
* Allows a company to use an engine before its intro date or after retirement.
* @param engine_id The engine to enable.
* @param company_id The company to allow using the engine.
* @pre IsValidEngine(engine_id).
* @pre ScriptCompany.ResolveCompanyID(company_id) != ScriptCompany::COMPANY_INVALID.
* @return True if the action succeeded.
* @api -ai
*/
static bool EnableForCompany(EngineID engine_id, ScriptCompany::CompanyID company_id);
/**
* Forbids a company to use an engine before its natural retirement.
* @param engine_id The engine to disable.
* @param company_id The company to forbid using the engine.
* @pre IsValidEngine(engine_id).
* @pre ScriptCompany.ResolveCompanyID(company_id) != ScriptCompany::COMPANY_INVALID.
* @return True if the action succeeded.
* @api -ai
*/
static bool DisableForCompany(EngineID engine_id, ScriptCompany::CompanyID company_id);
};
#endif /* SCRIPT_ENGINE_HPP */

@ -447,21 +447,19 @@ void UpdateAllStationVirtCoords()
}
}
void BaseStation::FillCachedName()
void BaseStation::FillCachedName() const
{
char buf[256];
char buf[MAX_LENGTH_STATION_NAME_CHARS * MAX_CHAR_LENGTH];
int64 args_array[] = { this->index };
StringParameters tmp_params(args_array);
char *end = GetStringWithArgs(buf, Waypoint::IsExpected(this) ? STR_WAYPOINT_NAME : STR_STATION_NAME, &tmp_params, lastof(buf));
char *alloced = MallocT<char>(end - buf + 1);
memcpy(alloced, buf, end - buf + 1);
this->cached_name.reset(alloced);
this->cached_name.assign(buf, end);
}
void ClearAllStationCachedNames()
{
for (BaseStation *st : BaseStation::Iterate()) {
st->cached_name.reset();
st->cached_name.clear();
}
}
@ -4174,7 +4172,7 @@ CommandCost CmdRenameStation(TileIndex tile, DoCommandFlag flags, uint32 p1, uin
}
if (flags & DC_EXEC) {
st->cached_name.reset();
st->cached_name.clear();
free(st->name);
st->name = reset ? nullptr : stredup(text);
@ -4259,68 +4257,109 @@ const StationList *StationFinder::GetStations()
return &this->stations;
}
static bool CanMoveGoodsToStation(const Station *st, CargoID type)
{
/* Is the station reserved exclusively for somebody else? */
if (st->owner != OWNER_NONE && st->town->exclusive_counter > 0 && st->town->exclusivity != st->owner) return false;
/* Lowest possible rating, better not to give cargo anymore. */
if (st->goods[type].rating == 0) return false;
/* Selectively servicing stations, and not this one. */
if (_settings_game.order.selectgoods && !st->goods[type].HasVehicleEverTriedLoading()) return false;
if (IsCargoInClass(type, CC_PASSENGERS)) {
/* Passengers are never served by just a truck stop. */
if (st->facilities == FACIL_TRUCK_STOP) return false;
} else {
/* Non-passengers are never served by just a bus stop. */
if (st->facilities == FACIL_BUS_STOP) return false;
}
return true;
}
uint MoveGoodsToStation(CargoID type, uint amount, SourceType source_type, SourceID source_id, const StationList *all_stations)
{
/* Return if nothing to do. Also the rounding below fails for 0. */
if (all_stations->empty()) return 0;
if (amount == 0) return 0;
Station *st1 = nullptr; // Station with best rating
Station *st2 = nullptr; // Second best station
uint best_rating1 = 0; // rating of st1
uint best_rating2 = 0; // rating of st2
Station *first_station = nullptr;
typedef std::pair<Station *, uint> StationInfo;
std::vector<StationInfo> used_stations;
for (Station *st : *all_stations) {
/* Is the station reserved exclusively for somebody else? */
if (st->owner != OWNER_NONE && st->town->exclusive_counter > 0 && st->town->exclusivity != st->owner) continue;
if (!CanMoveGoodsToStation(st, type)) continue;
if (st->goods[type].rating == 0) continue; // Lowest possible rating, better not to give cargo anymore
if (_settings_game.order.selectgoods && !st->goods[type].HasVehicleEverTriedLoading()) continue; // Selectively servicing stations, and not this one
if (IsCargoInClass(type, CC_PASSENGERS)) {
if (st->facilities == FACIL_TRUCK_STOP) continue; // passengers are never served by just a truck stop
} else {
if (st->facilities == FACIL_BUS_STOP) continue; // non-passengers are never served by just a bus stop
/* Avoid allocating a vector if there is only one station to significantly
* improve performance in this common case. */
if (first_station == nullptr) {
first_station = st;
continue;
}
/* This station can be used, add it to st1/st2 */
if (st1 == nullptr || st->goods[type].rating >= best_rating1) {
st2 = st1; best_rating2 = best_rating1; st1 = st; best_rating1 = st->goods[type].rating;
} else if (st2 == nullptr || st->goods[type].rating >= best_rating2) {
st2 = st; best_rating2 = st->goods[type].rating;
if (used_stations.empty()) {
used_stations.reserve(2);
used_stations.emplace_back(std::make_pair(first_station, 0));
}
used_stations.emplace_back(std::make_pair(st, 0));
}
/* no stations around at all? */
if (st1 == nullptr) return 0;
if (first_station == nullptr) return 0;
if (used_stations.empty()) {
/* only one station around */
amount *= first_station->goods[type].rating + 1;
return UpdateStationWaiting(first_station, type, amount, source_type, source_id);
}
uint company_best[OWNER_NONE + 1] = {}; // best rating for each company, including OWNER_NONE
uint company_sum[OWNER_NONE + 1] = {}; // sum of ratings for each company
uint best_rating = 0;
uint best_sum = 0; // sum of best ratings for each company
for (auto &p : used_stations) {
auto owner = p.first->owner;
auto rating = p.first->goods[type].rating;
if (rating > company_best[owner]) {
best_sum += rating - company_best[owner]; // it's usually faster than iterating companies later
company_best[owner] = rating;
if (rating > best_rating) best_rating = rating;
}
company_sum[owner] += rating;
}
/* From now we'll calculate with fractal cargo amounts.
/* From now we'll calculate with fractional cargo amounts.
* First determine how much cargo we really have. */
amount *= best_rating1 + 1;
amount *= best_rating + 1;
uint moving = 0;
for (auto &p : used_stations) {
uint owner = p.first->owner;
/* Multiply the amount by (company best / sum of best for each company) to get cargo allocated to a company
* and by (station rating / sum of ratings in a company) to get the result for a single station. */
p.second = amount * company_best[owner] * p.first->goods[type].rating / best_sum / company_sum[owner];
moving += p.second;
}
/* If there is some cargo left due to rounding issues distribute it among the best rated stations. */
if (amount > moving) {
std::sort(used_stations.begin(), used_stations.end(), [type] (const StationInfo &a, const StationInfo &b) {
return b.first->goods[type].rating < a.first->goods[type].rating;
});
assert(amount - moving <= used_stations.size());
for (uint i = 0; i < amount - moving; i++) {
used_stations[i].second++;
}
}
if (st2 == nullptr) {
/* only one station around */
return UpdateStationWaiting(st1, type, amount, source_type, source_id);
}
/* several stations around, the best two (highest rating) are in st1 and st2 */
assert(st1 != nullptr);
assert(st2 != nullptr);
assert(best_rating1 != 0 || best_rating2 != 0);
/* Then determine the amount the worst station gets. We do it this way as the
* best should get a bonus, which in this case is the rounding difference from
* this calculation. In reality that will mean the bonus will be pretty low.
* Nevertheless, the best station should always get the most cargo regardless
* of rounding issues. */
uint worst_cargo = amount * best_rating2 / (best_rating1 + best_rating2);
assert(worst_cargo <= (amount - worst_cargo));
/* And then send the cargo to the stations! */
uint moved = UpdateStationWaiting(st1, type, amount - worst_cargo, source_type, source_id);
/* These two UpdateStationWaiting's can't be in the statement as then the order
* of execution would be undefined and that could cause desyncs with callbacks. */
return moved + UpdateStationWaiting(st2, type, worst_cargo, source_type, source_id);
uint moved = 0;
for (auto &p : used_stations) {
moved += UpdateStationWaiting(p.first, type, p.second, source_type, source_id);
}
return moved;
}
void UpdateStationDockingTiles(Station *st)

@ -19,7 +19,6 @@
#include "openttd.h"
#include "table/strings.h"
#include "company_func.h"
#include "core/alloc_type.hpp"
#include <list>
#include <memory>
@ -65,7 +64,7 @@ struct Town : TownPool::PoolItem<&_town_pool> {
uint16 townnametype;
uint32 townnameparts;
char *name; ///< Custom town name. If nullptr, the town was not renamed and uses the generated name.
std::unique_ptr<const char, FreeDeleter> cached_name; ///< NOSAVE: Cache of the resolved name of the town, if not using a custom town name
mutable std::string cached_name; ///< NOSAVE: Cache of the resolved name of the town, if not using a custom town name
byte flags; ///< See #TownFlags.
@ -164,8 +163,8 @@ struct Town : TownPool::PoolItem<&_town_pool> {
inline const char *GetCachedName() const
{
if (this->name != nullptr) return this->name;
if (!this->cached_name) const_cast<Town *>(this)->FillCachedName();
return this->cached_name.get();
if (this->cached_name.empty()) this->FillCachedName();
return this->cached_name.c_str();
}
static inline Town *GetByTile(TileIndex tile)
@ -176,8 +175,8 @@ struct Town : TownPool::PoolItem<&_town_pool> {
static Town *GetRandom();
static void PostDestructor(size_t index);
private:
void FillCachedName();
private:
void FillCachedName() const;
};
uint32 GetWorldPopulation();

@ -225,13 +225,11 @@ void Town::UpdateLabel()
}
}
void Town::FillCachedName()
void Town::FillCachedName() const
{
char buf[MAX_LENGTH_TOWN_NAME_CHARS * MAX_CHAR_LENGTH];
char *end = GetTownName(buf, this, lastof(buf));
char *alloced = MallocT<char>(end - buf + 1);
memcpy(alloced, buf, end - buf + 1);
this->cached_name.reset(alloced);
this->cached_name.assign(buf, end);
}
/**
@ -533,7 +531,7 @@ void UpdateAllTownVirtCoords()
void ClearAllTownCachedNames()
{
for (Town *t : Town::Iterate()) {
t->cached_name.reset();
t->cached_name.clear();
}
}
@ -2985,7 +2983,7 @@ CommandCost CmdRenameTown(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32
}
if (flags & DC_EXEC) {
t->cached_name.reset();
t->cached_name.clear();
free(t->name);
t->name = reset ? nullptr : stredup(text);

@ -710,7 +710,6 @@ private:
continue;
}
this->string_filter.ResetState();
this->string_filter.AddLine(t->GetCachedName());
if (this->string_filter.GetState()) this->towns.push_back(t);
}

@ -964,7 +964,7 @@ const char *VideoDriver_SDL::Start(const char * const *parm)
return SDL_GetError();
}
const char *dname = SDL_GetVideoDriver(0);
const char *dname = SDL_GetCurrentVideoDriver();
DEBUG(driver, 1, "SDL2: using driver '%s'", dname);
MarkWholeScreenDirty();

Loading…
Cancel
Save