Compare commits

...

177 Commits

Author SHA1 Message Date
Charles Pigott
430ce20f8d Doc: 1.10.2 release 2020-06-01 22:16:57 +01:00
Charles Pigott
20007fd1f4 Update: Backport languages 2020-06-01 22:16:57 +01:00
Niels Martin Hansen
02980119e4 Fix #8066: Try another fallback colourspace if first one fails 2020-06-01 22:16:57 +01:00
Yexo
dd4aae830d Fix #8166: don't crash on loading an invalid roadtype newgrf
Initialization code for GRFFile::roadtype_map was copied from
railtype_map. But while RailType is a byte-sized enum and could thus
be initialized via memset, RoadType doesn't have a defined size.
2020-06-01 22:16:57 +01:00
Yexo
f4ed770cff Fix #8024: make online content gui more responsive while loading
Previously the internal content list was invalidated and sorted for
every new item added. Now the sorting is delayed until the GUI is
drawn, which means we only sort once per GUI tick.

Since the amount of incoming items per GUI tick is not controlled by
the GUI but rather by network speed, we were previously doing a lot
of duplicate work per tick, causing the mouse cursor to lag while
the list was initialized.
2020-06-01 22:16:57 +01:00
glx
89c8215b79 Fix: [Win32] Crash message not fitting in crash dialog 2020-06-01 22:16:57 +01:00
glx
911f9165cf Fix #7970: [Win32] Disable event loop on crash to prevent recursive faults 2020-06-01 22:16:57 +01:00
glx
2748a90bc9 Fix: Inconsistency in handling of SDL2 in source.list 2020-06-01 22:16:57 +01:00
glx
583a2221ca Fix: VS 2019 16.6 doesn't like newlines in <SettingsCommandLine> 2020-06-01 22:16:57 +01:00
glx22
86113008ab Fix e3511ec: [AzurePipeline] Don't loop infinitely on errors (#8165) 2020-06-01 22:16:57 +01:00
dP
31a9f549fb Fix: Trees disappear completely after a few years when they're not allowed to spread 2020-06-01 22:16:57 +01:00
glx22
8203adecb5 Fix #8161, e31def197: Lang files may have LF EOL (#8163) 2020-06-01 22:16:57 +01:00
Yexo
3d8e68f966 Fix #8155: Roadtype speed limit in toolbar dropdown in scenario editor was doubled 2020-06-01 22:16:57 +01:00
glx22
aca5d97a68 Fix: properly support utf-8 in baseset translation vbscript (#8154) 2020-06-01 22:16:57 +01:00
dP
fd8ca95947 Fix: Desync after house replacement 2020-06-01 22:16:57 +01:00
Matthijs Kooijman
9617fa727d Fix: sdl2-config would always be detected as present
The presence of sdl2-config is used go determine whether to look for
sdl2 first, or just sdl1. However, when sdl2-config is *not* present,
`which` returns an empty string. Due to lack of quoting, this produces
`[ -x ]`, rather than `[ -x "" ]` and it turns out the former actually
has a succesful exit status for some reason.

This was not a problem when just running configure, because it would
then just fail to detect sdl2 and fall back to sdl1. However, when
passing `--with-sdl` (without specifying a version), this would only
attempt to detect sdl2, even when sdl2-config was not present, but sdl1
is.

Adding quotes makes the check work as intended.
2020-06-01 22:16:57 +01:00
glx22
74b591c2e9 Fix #8142, 5aa6351: Buoy owner and tile owner can be different (#8143) 2020-06-01 22:16:57 +01:00
dP
78e558717c Fix #8137: New clients can't join (desync) after funding an industry 2020-06-01 22:16:57 +01:00
dP
cb9c4bf4a0 Codechange: Refactor FindStationsAroundTiles to avoid code duplication 2020-06-01 22:16:57 +01:00
glx22
e39c5829a2 Add: stations_near and industries_near cache check (#8139) 2020-06-01 22:16:57 +01:00
glx
a089c876ab Fix #8132: Corrupted savegame crashing OpenTTD on load 2020-06-01 22:16:57 +01:00
glx
1072c74bc4 Fix: Stop any gamelog action when recovering from SlError() 2020-06-01 22:16:57 +01:00
glx
bb251f45fc Fix #8119: Update docking area when clearing a shore rail tile 2020-06-01 22:16:57 +01:00
Charles Pigott
21aa339901 Add: [AzurePipelines] Ubuntu Focal (20.04) 64bit build for releases 2020-06-01 22:16:57 +01:00
Niels Martin Hansen
3132d29805 Fix: Two issues in MIDI file writer
Variable-length values would write threshold values with a byte too many.
System Exclusive messages would cause write to fail since the end byte was treated as part of next message.
2020-06-01 22:16:57 +01:00
SamuXarick
94581d352a Fix #8119, f538179: Update docking tile area when placing a diagonal rail next to a dock end (#8124) 2020-06-01 22:16:57 +01:00
glx22
cf27deb675 Fix #8117: Memory leak in admin port (#8122) 2020-06-01 22:16:57 +01:00
glx22
40d68273aa Add: docking tiles cache check (#8120) 2020-06-01 22:16:57 +01:00
glx
2cc244bde0 Fix #8021: limit savegame range for docking tiles fixing 2020-06-01 22:16:57 +01:00
duck
7872b1e0b5 Fix #8102: Update Windows installer strings to reference newer Windows version (#8114)
* Fix #8102: Update Windows installer strings to reference versions newer than 7

* Fix 2c53390: Version strings incorrectly capitalised
2020-06-01 22:16:57 +01:00
glx
22519b3b0d Update: Lang files 2020-06-01 22:16:57 +01:00
glx
5b2447e10c Codechange: Use a dynamic copyright year 2020-06-01 22:16:57 +01:00
Yexo
e0680c9ede Fix: reset roadtype/streetcartype info for non-road bridges 2020-06-01 22:16:57 +01:00
Yexo
ea895f05eb Fix #8108: always update tile_hash after updating v->tile 2020-06-01 22:16:57 +01:00
SamuXarick
37187df7ef Fix c01a2e2: crash on loading old savegames with invalid animated tile information 2020-06-01 22:16:57 +01:00
frosch
2faa89a98e Fix: OpenGFX download link did no longer work. (#8105) 2020-06-01 22:16:57 +01:00
frosch
4297cc5f21 Fix #8093: Build+Refit changed game-state in command test run, and thus caused desyncs.
Use DC_AUTOREPLACE for actions that shall be reversibe, in this case:
- Do not rearrange free wagons in test-run.
- Do not discard OrderBackups.
The latter was not triggered by actual auto-replace, since it does not set a 'user'.
2020-06-01 22:16:57 +01:00
frosch
591ca82845 Fix: When build+refit an engine, do not refit any free wagons that may get attached. 2020-06-01 22:16:57 +01:00
frosch
e90322f6e9 Codechange: Unify the tests whether build+refit is in simulation-test or real-run. 2020-06-01 22:16:57 +01:00
SamuXarick
978cc774ec Fix: [Script] ScriptMarine::AreWaterTilesConnected failed for aqueducts (#8074) 2020-06-01 22:16:57 +01:00
Charles Pigott
7f77b8c1e2 Doc: Prepare for 1.10.1 release 2020-04-13 18:39:51 +01:00
glx
2bf936bbbc Fix #8081: Check for waypoints when removing docking tiles 2020-04-13 18:39:51 +01:00
Pavel Stupnikov
eb8d79f41f Fix a5681d3e: Make goal question ID use 16 bits again (#8072) 2020-04-13 18:39:51 +01:00
glx
0737458ec4 Fix #8064: Incorrect display of refit capacity 2020-04-13 18:39:51 +01:00
frosch
7e659bc3da Fix #8060, 5880f14: Restore admin network API compatibility. 2020-04-13 18:39:51 +01:00
stormcone
612c912144 Fix #8055, c02ef3e: Crash when roadtype availability changed with the road toolbar open (#8058) 2020-04-13 18:39:51 +01:00
Charles Pigott
c8cd5f7f3a Doc: Prepare for 1.10.0 release 2020-03-31 23:08:53 +01:00
Charles Pigott
0c87ae1875 Update: Translations 2020-03-31 23:08:53 +01:00
Charles Pigott
cc458c9559 Add: Titlegame for 1.10 branch by ALEXbr 2020-03-31 23:08:53 +01:00
Charles Pigott
9f0371117b Codechange: Disable asserts for release 2020-03-31 23:08:53 +01:00
SamuXarick
b6d409f8a7 Fix: [Script] Random deviation upper bound range should be inclusive 2020-03-31 23:08:53 +01:00
SamuXarick
d0613bad11 Doc: [Script] Make it clear random_deviation and CONFIG_RANDOM range upper bounds are inclusive 2020-03-31 23:08:53 +01:00
Jonathan G Rennison
27cbee76b4 Codechange: Don't fail configure if SDL2 is not detected 2020-03-31 23:08:53 +01:00
glx
7e3eabdaae Fix #8043, c02ef3e4: Incorrect handling of global road/tram hotkeys 2020-03-31 23:08:53 +01:00
Sebastian Pauka
a4d73d74a2 Fix #7644: [Cocoa] Manually set colorspace to sRGB 2020-03-31 23:08:53 +01:00
SamuXarick
d4bd17d443 Fix #8020: Add missing docking tiles around industry neutral stations 2020-03-31 23:08:53 +01:00
SamuXarick
a82dca883f Fix #8039: [AI/GS] SetOrderFlags and GetOrderDestination didn't work for oil rigs 2020-03-31 23:08:53 +01:00
SamuXarick
18ad0fa983 Change: Open company window when clicking on a company goal (#8033) 2020-03-31 23:08:53 +01:00
SamuXarick
fd64c62bcd Fix: Ignore clicks on non-applicable global goals (#8035) 2020-03-31 23:08:53 +01:00
SamuXarick
b542ebfb52 Fix: [AI/GS] Consider neutral station setting when creating tile lists 2020-03-31 23:08:53 +01:00
SamuXarick
318b51c58a Fix: [AI/GS] CanBuildConnectedRoadPartsHere neighbours tiles were at times incorrect 2020-03-31 23:08:53 +01:00
Charles Pigott
df7f642a02 Codechange: [AzurePipelines] Update MacOS image to 10.14 2020-03-31 23:08:53 +01:00
Charles Pigott
a0dc9ef847 Change: Keep News Window usable by only storing the 1024 latest news messages 2020-03-31 23:08:53 +01:00
Andy
8b4501604c Fix: Provide two sets of tram tracks not one in the GUI icon for building tramway 2020-03-31 23:08:53 +01:00
SamuXarick
4082121511 Fix f5381798: Station::GetTileArea reduced docks to a single tile (#8014) 2020-03-31 23:08:53 +01:00
glx
40b3bc6f1a Fix #8011, f5381798: Dock tile in TTD savegame was only 2 bytes 2020-03-31 23:08:53 +01:00
frosch
b5a8510b9b Fix #7998: Crash when scripts tried to access companies with invalid IDs. 2020-03-31 23:08:53 +01:00
glx
aa7dbdc42e Fix: Ignore non-printable characters when layouting a string 2020-03-31 23:08:53 +01:00
LCD 47
2f57d65575 Fix: [SDL2] Support pasting from clipboard on Linux 2020-03-31 23:08:53 +01:00
Charles Pigott
ceae49a1d8 Fix #6399: Create parent directories if they don't already exist 2020-03-31 23:08:53 +01:00
Charles Pigott
dc2f10bf11 Doc: [Script] Add a note about how wagon connectivity works for scripts 2020-03-31 23:08:53 +01:00
Charlène
0643a3627f Fix: OpenBSD endianness detection 2020-03-31 23:08:53 +01:00
Charles Pigott
fd106cf67b Fix #7993: Compile warning in kick/ban debug messages 2020-03-31 23:08:53 +01:00
Niels Martin Hansen
3d5b729290 Fix #7958: Use NewGRF provided catenary sprites when either front or back is overridden 2020-03-31 23:08:53 +01:00
Niels Martin Hansen
81ed69d8d4 Codechange: Refactor road bridge catenary drawing 2020-03-31 23:08:53 +01:00
Samu
bd3ba91181 Fix #7944: Demolishing locks built on rivers didn't always restore the river 2020-03-31 23:08:53 +01:00
Charles Pigott
49d2a07f66 Fix #7988: Memory leak when using custom depot names 2020-02-09 12:02:32 +00:00
Charles Pigott
887dce4655 Update: Prepare for 1.10.0-RC1 2020-02-09 12:02:32 +00:00
translators
a499e9acdd Update: Translations from eints
russian: 2 changes by Lone_Wolf
2020-02-08 19:45:39 +01:00
glx
2b1a7ceb4e Fix #7976: Don't kick the client doing the rcon 2020-02-08 09:03:14 +01:00
Jonathan G Rennison
1a88fb5c91 Fix #7592: Do not cache road vehicle path within 8 tiles of destination with multiple entrances
Ported from jgrpp commit 79d5be7e265df3be8b73d484f0c7261b3c23229d
2020-02-07 23:02:10 +01:00
Niels Martin Hansen
9e632355f1 Fix #7525: Move autorenew setting to Basic category 2020-02-07 22:05:34 +01:00
Niels Martin Hansen
04ce1f0713 Fix #7885: [Fluidsynth] Use recommended method of setting sample rate 2020-02-07 21:01:11 +01:00
Johannes E. Krause
107283748a Feature: SLF_HEX to print hexadecimal numbers in the config file 2020-02-06 21:00:30 +00:00
Johannes E. Krause
f389d66e36 Fix: Loading SDT_INTLIST similar to loading SDT_NUMX 2020-02-06 21:00:30 +00:00
Johannes E. Krause
76eab18f02 Fix: Saving SDT_INTLIST handle unsigned values properly 2020-02-06 21:00:30 +00:00
Samu
3089c625e4 Fix #7088: close AI/GS textfile window when their data are invalid 2020-02-06 20:58:11 +00:00
stormcone
492d2704f1 Fix #7974: Crash when CTRL+click to show a vehicle group that is collapsed 2020-02-06 16:10:46 +00:00
Niels Martin Hansen
805ecd32be Fix 5880f147: Integer width warnings 2020-02-06 16:09:36 +00:00
Niels Martin Hansen
3fcb240f8e Fix d84b67e5: Station rating effects affecting too large area 2020-02-06 16:39:25 +01:00
translators
58c8ff456e Update: Translations from eints
korean: 2 changes by telk5093
2020-02-05 19:45:39 +01:00
Bjarni Thor
5880f1479f Feature #7756: Allow server to supply a reason to kicked/banned clients
This commit adds the missing feature of allowing the server owner to
    provide a reason for kicking/banning a client, which the client sees in
    a pop-up window after being kicked. The implementation extends the
    network protocol by adding a new network action called
    NETWORK_ACTION_KICKED that is capable of having an error string, unlike
    the other network error packages.  Additionally, the kick function
    broadcasts a message to all clients about the kicked client and the
    reason for the kick.
2020-02-04 22:17:39 +00:00
glx
b5d56559d2 Fix #7969: limit recursion during alias execution 2020-02-04 18:41:38 +01:00
translators
ac7cc18ab9 Update: Translations from eints
czech: 22 changes by djst
2020-02-02 19:45:40 +01:00
Jonathan G Rennison
14af8701df Fix #6566: Fix signed integer overflow in viewport draw area chunking
This caused drawing areas larger than 2097151 pixels at 8x zoom to
not be subdivided into smaller chunks as required.
This resulted in pathological performance issues in the sprite sorter.
2020-02-02 15:37:14 +01:00
glx
196157b29e Fix #7966: SQInteger is 64-bit, print it as 64-bit 2020-02-01 10:14:51 +00:00
translators
be9ca4689e Update: Translations from eints
korean: 4 changes by telk5093
2020-01-30 19:45:39 +01:00
kiwitreekor
5df01bf95e Add: [NewGRF] Station variable 6A, querying GRFID of nearby station tiles (#7956) 2020-01-29 21:23:23 +01:00
Jonathan G Rennison
2fee030a26 Change: Algorithm for transfer feeder payments
The original algorithm pays intermediate legs in feeder systems based
on the start and end stations of that particular leg.
This tends to result in large negative payments on the final leg for
journeys with many feeder legs, as the overall feeder payment increases
with the number of legs, and the final leg is penalised for discrepancies
between the previous leg payments and the actual payment for delivery
from the source to the destination.
The feeder share setting is a partial mitigation, however it is difficult
to tune as a suitable value depends on the number of legs and the network
topology, which are often not the same for all vehicles.

The new incremental algorithm pays the cargo payment from the source
station to the end station of the current leg, minus any previous
transfer feeder payments for each leg.
This prevents unbounded increase of feeder payments and therefore avoids
the issue of excessive negative payments on the final leg.
Feeder payments may be negative, e.g. in the case of poorly performing
or highly indirect legs. This is better than penalising the final leg.
This mode reduces the need to tune the feeder shares setting to the
current network.

The feeder share setting applies in the existing way.
2020-01-28 23:37:16 +01:00
Patric Stout
a38122e6f2 Fix: [AzurePipelines] the changelog-generation-script was mixing UTC and non-UTC
'date -u' returns the time in UTC. 'git log' uses local time. In
result, when a machine is on for example +0100, it would generate
the changelog of 7 days 1 hour, instead of 7 days. This is a silly
oversight.
2020-01-26 21:11:47 +00:00
translators
791eaedb64 Update: Translations from eints
tamil: 13 changes by aswn
2020-01-26 19:45:44 +01:00
PeterN
fff05cf117 Fix #7868: Missing override attribute. (#7963) 2020-01-26 16:19:04 +00:00
JMcKiern
2158e26b9e Fix #7950: Incorrect setup of normal screenshot viewport 2020-01-26 14:48:35 +00:00
glx
bf4672864d Fix #7960: use the same method as findversion.sh to determine tag 2020-01-26 14:47:54 +00:00
Niels Martin Hansen
c8779fb311 Feature: NewGRF callback profiling (#7868)
Adds a console command newgrf_profile to collect some profiling data about NewGRF action 2 callbacks and produce a CSV file.
2020-01-26 13:45:51 +01:00
translators
f88ac83408 Update: Translations from eints
indonesian: 1 change by fanioz
2020-01-24 19:45:40 +01:00
glx
341941af85 Fix #7952: don't try to access destroyed QueryStrings 2020-01-22 19:53:27 +00:00
glx
9d5dd893cd Codechange: [AzurePipelines] remove commit-checker 2020-01-19 09:05:20 +00:00
glx
fb3de33a38 Add: [Actions] commit-checker workflow 2020-01-19 09:05:20 +00:00
JMcKiern
6dfe5c852e Fix #7927: Incorrect resolution shown in "Huge screenshot" query window. (#7949) 2020-01-18 23:05:51 +01:00
Patric Stout
3b177af826 Add: [Doxygen] Add the current version of documentation in header (#7940)
While at it, renamed the project names to reflect how we currently
refer to them.
2020-01-15 23:07:37 +01:00
xdavidwu
8fe38afd2b Fix: [SDL2] Correct name of the video driver in debug log
SDL_GetVideoDriver(0) returns name of first video driver included in
the library, not the driver currently used.
SDL_GetCurrentVideoDriver() does what we want here.
2020-01-15 20:16:53 +00:00
Pavel Stupnikov
d7a928a08b Feature: GS method to control engine availability for a specific company (#7791)
* Feature: GS method to allow company to use an engine before its introduction date

* Feature: GS method to retire an engine early for a specific company
2020-01-15 18:46:26 +01:00
translators
4366f8e46a Update: Translations from eints
finnish: 8 changes by ln
italian: 25 changes by AlphaJack
2020-01-14 19:45:39 +01:00
translators
5a4b27d73a Update: Translations from eints
finnish: 54 changes by ln
2020-01-13 19:45:41 +01:00
Berbe
2fc2058b3b Feature: Auto-restart loads the original resources again
If the game was started loading a savegame or scenario, auto-restart will load a new random map.
This is inconsistent with the case in which a heightmap was loaded, as in that case the heightmap is kept as a basis for a new game.
This proposal solves this heterogeneity be considering the originally loaded resource shall be kept, hence savegames & scenarios shall be reloaded
2020-01-12 23:47:19 +01:00
glx
dbbd0f5ddc Fix: [OSX] Don't show a crash/assertion message box for a GUI-less video driver. 2020-01-12 22:02:10 +01:00
Jonathan G Rennison
87700bfe0e Codechange: Use cached town name for town list window filtering 2020-01-12 19:37:43 +00:00
Jonathan G Rennison
d35f35a968 Codechange: Use cached town, station, industry names for list window sorting
This is to avoid needing to expensively regenerate name strings on
every comparison when sorting by name in the town/station/industry
list windows.
2020-01-12 19:37:43 +00:00
Jonathan G Rennison
c3223903ed Codechange: Cache resolved town, station and industry name strings 2020-01-12 19:37:43 +00:00
Jonathan G Rennison
f1734e7815 Change: Only resort industry directory window on production change if necessary 2020-01-12 19:37:43 +00:00
Jonathan G Rennison
22ba048c89 Change: Only resort town directory window on population change if necessary 2020-01-12 19:37:43 +00:00
translators
f2d230d91c Update: Translations from eints
russian: 14 changes by Lone_Wolf
2020-01-12 19:45:41 +01:00
frosch
a4be4514c9 Fix #7925: Reset temporary saveload data at the start of loading a savegame instead of at the end.
Otherwise temporary data may be passed from an aborted load action to the next load action.
2020-01-12 19:08:38 +01:00
Milek7
41163331aa Fix: Silence all notes when stopping song in fluidsynth 2020-01-12 16:19:02 +00:00
Patric Stout
1ab3fe6b85 Add: [DorpsGek] announce new tags on IRC (#7931) 2020-01-12 17:01:17 +01:00
Milek7
823333c4b0 Fix: correct checking of fluid_settings_setnum return code 2020-01-12 14:55:20 +00:00
Milek7
a411ce18c9 Fix: avoid using string pointer after scope end 2020-01-12 15:20:08 +01:00
dP
1225693b9c Feature: Improved logic of sharing industry production between 3 or more stations 2020-01-12 14:01:12 +00:00
translators
b144258bf0 Update: Translations from eints
finnish: 19 changes by ln
dutch: 17 changes by JanWillem
danish: 109 changes by nielsmh
spanish (mexican): 1 change by Absay
korean: 1 change by telk5093
2020-01-11 19:45:38 +01:00
translators
34b7cb6c03 Update: Translations from eints
finnish: 3 changes by ln
spanish (mexican): 7 changes by Absay
2020-01-10 19:45:40 +01:00
Samu
8b0e4bb101 Codechange: Use const instead of magic number for vehicle profit threshold 2020-01-09 13:51:58 +00:00
Jonathan G Rennison
6e7117e04c Codechange: [Linkgraph] Skip MCF source node Dijkstra when all demand satisfied
MCF Dijkstra iterations are executed for all source nodes in a round-robin order.
Source nodes typically require different numbers of MCF Dijkstra iterations
to satisfy all of their demand.
This change is to avoid performing MCF Dijkstra iterations on source nodes which
have already been fully satisfied.
2020-01-08 22:49:53 +01:00
translators
190e074287 Update: Translations from eints
russian: 2 changes by Lone_Wolf
2020-01-08 19:45:41 +01:00
translators
5a31efd98d Update: Translations from eints
finnish: 1 change by hpiirai
2020-01-07 19:45:39 +01:00
Niels Martin Hansen
7413d65c2a Cleanup: Unused music GUI strings 2020-01-07 18:13:58 +01:00
Niels Martin Hansen
f02b643a44 Change: Show volume sliders with wedges instead of boxy slider 2020-01-07 18:13:58 +01:00
Niels Martin Hansen
35c55dfe70 Add: Filled polygon drawing function 2020-01-07 18:13:58 +01:00
SamuXarick
fa71375ec2 Fix e04ca90: squirrel export script got forgotten 2020-01-07 15:07:24 +00:00
glx
5c10c426fe Fix 196d5868: Always apply filter on town directory rebuild 2020-01-07 14:21:35 +00:00
Jonathan G Rennison
150dfba95b Codechange: Remove std::function from Pool iteration wrapper
Add a separate template wrapper for filtered iteration
2020-01-07 09:00:45 +00:00
Jonathan G Rennison
4cc1420beb Fix: Non-deterministic name sorting in industry directory window
In the case where multiple industries have the same name, sorting
in the industry directory window is non-deterministic.
This results in the order changing on each re-sort, and is noticeable
when the industries have different production or transported values.
2020-01-07 09:03:36 +01:00
Samu
a0066ebca1 Cleanup: Remove unused parameter 2020-01-06 23:20:35 +00:00
stormcone
eb07e174f1 Fix #7908, b524f1a: "Show the NewGRF name in the build vehicle window" is missing the "On/Off" display. 2020-01-06 19:22:42 +00:00
translators
1812b0cf49 Update: Translations from eints
finnish: 4 changes by hpiirai
english (us): 20 changes by Supercheese
french: 7 changes by glx
korean: 7 changes by telk5093
2020-01-06 19:45:41 +01:00
Charles Pigott
5b52f25902 Fix e558aa8: Compiler warning about unused value (and move some variable declarations to where they're used) 2020-01-05 23:31:20 +00:00
glx
39e6247bec Fix #7899, 196d5868: don't trigger filter changes more than expected 2020-01-05 22:51:27 +00:00
Niels Martin Hansen
ac3bc30a30 Add: Highlight item under mouse in file browser 2020-01-05 23:50:00 +01:00
Niels Martin Hansen
838117b05e Doc: Missing member description 2020-01-05 23:50:00 +01:00
stormcone
596fb5d54a Change: In the industry directory window an industry will be greyed out if it temporarily does not accept the cargo selected by the acceptance cargo filter. 2020-01-05 20:52:17 +00:00
stormcone
808253c29c Change: Move the filtered cargo to the first place in the industry directory window's cargo lists 2020-01-05 20:52:17 +00:00
stormcone
70f9c3c655 Feature: Industry directory cargo filtering 2020-01-05 20:52:17 +00:00
Charles Pigott
ab9042145e Fix #6667: Also recalculate bridge costs for 'spectated' AI companies 2020-01-05 20:51:45 +00:00
Charles Pigott
d1cead7f25 Fix: When loading old timetabled saves, also reset cached timetable duration 2020-01-05 20:51:26 +00:00
Charles Pigott
cddb8a4605 Fix #7587: Crash when loading saves with waypoints with invalid locations 2020-01-05 20:51:26 +00:00
Jonathan G Rennison
12380fc1bb Fix: Assertion failure when post road-works cleanup removes all road pieces 2020-01-05 20:44:07 +00:00
translators
12f4602f57 Update: Translations from eints
finnish: 3 changes by hpiirai
2020-01-05 19:45:40 +01:00
translators
7be9c28037 Update: Translations from eints
korean: 2 changes by telk5093
2020-01-04 19:45:39 +01:00
Niels Martin Hansen
f401622149 Feature: Script API to change town rating of companies 2020-01-04 19:07:13 +01:00
stormcone
b524f1ae21 Feature: Show the name of the NewGRF in the build vehicle window. 2020-01-04 18:42:35 +01:00
TELK
e04ca904a9 Feature: Minimap screenshot 2020-01-04 18:21:38 +01:00
translators
e7922cd078 Update: Translations from eints
spanish (mexican): 18 changes by Absay
2020-01-03 19:45:40 +01:00
SamuXarick
9e7c5235e8 Fix #7891: Actually check the vehicle type before casting 2020-01-03 00:04:39 +00:00
translators
9e4533dc8f Update: Translations from eints
luxembourgish: 131 changes by Phreeze
french: 6 changes by arikover
spanish (mexican): 20 changes by Absay
2020-01-02 19:45:39 +01:00
translators
3a557b0336 Update: Translations from eints
finnish: 11 changes by hpiirai
korean: 6 changes by telk5093
2020-01-01 19:45:41 +01:00
pnda
e558aa8ff4 Feature: Screenshot window 2020-01-01 10:19:12 +00:00
glx
90f4abe03f Fix #7887: missing beep for some main toolbar buttons 2020-01-01 10:34:26 +01:00
Daniel Lee
24bace32ba Fix #7625: Road infrastructure cost is correctly updated on upgrading your own roads. 2019-12-31 19:17:56 +00:00
translators
f6ce5c4563 Update: Translations from eints
french: 4 changes by arikover
korean: 5 changes by telk5093
2019-12-30 19:45:44 +01:00
Niels Martin Hansen
86107028a4 Fix: Allow old NewGRF industries to blank out in/out cargo slots (#7882) 2019-12-29 14:36:45 +01:00
translators
e18f1703d2 Update: Translations from eints
spanish (mexican): 1 change by Absay
russian: 4 changes by Lone_Wolf
2019-12-28 19:45:41 +01:00
Niels Martin Hansen
2fd871e2af Feature: Configurable game ending year
Functionally reverts 683b65ee1
2019-12-28 12:27:39 +01:00
Konstantin Gribov
69f9529ba3 Add: Missing keycodes for hotkeys.cfg (#7850)
Added missing keycodes mapping to `_keycode_to_name` array
to allow their use in `hotkeys.cfg`.

Also reordered them according to `WindowKeyCodes` order.

Signed-off-by: Konstantin Gribov <grossws@gmail.com>
2019-12-27 08:32:34 +00:00
Niels Martin Hansen
0e78393774 Fix: Reference correct section in README file for baseset info 2019-12-26 19:50:07 +01:00
Niels Martin Hansen
7f25032766 Fix: Let bootstrap GUI work on Win32 with Uniscribe but no Freetype 2019-12-26 19:50:07 +01:00
translators
a6901f8ae8 Update: Translations from eints
russian: 1 change by Lone_Wolf
2019-12-26 19:45:41 +01:00
translators
16537b472c Update: Translations from eints
dutch: 1 change by JanWillem
2019-12-25 19:45:40 +01:00
275 changed files with 4461 additions and 1478 deletions

View File

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

45
.github/workflows/commit-checker.yml vendored Normal file
View File

@@ -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"

View File

@@ -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/

View File

@@ -91,6 +91,7 @@ ISODATE := $(shell echo "$(VERSIONS)" | cut -f 2 -d' ')
GITHASH := $(shell echo "$(VERSIONS)" | cut -f 4 -d' ')
ISTAG := $(shell echo "$(VERSIONS)" | cut -f 5 -d' ')
ISSTABLETAG := $(shell echo "$(VERSIONS)" | cut -f 6 -d' ')
YEAR := $(shell echo "$(VERSIONS)" | cut -f 7 -d' ')
# Make sure we have something in VERSION and ISODATE
ifeq ($(VERSION),)
@@ -272,10 +273,10 @@ endif
# Revision files
$(SRC_DIR)/rev.cpp: $(CONFIG_CACHE_VERSION) $(SRC_DIR)/rev.cpp.in
$(Q)cat $(SRC_DIR)/rev.cpp.in | sed "s@\!\!ISODATE\!\!@$(ISODATE)@g;s@!!VERSION!!@$(VERSION)@g;s@!!MODIFIED!!@$(MODIFIED)@g;s@!!DATE!!@`date +%d.%m.%y`@g;s@!!GITHASH!!@$(GITHASH)@g;s@!!ISTAG!!@$(ISTAG)@g;s@!!ISSTABLETAG!!@$(ISSTABLETAG)@g" > $(SRC_DIR)/rev.cpp
$(Q)cat $(SRC_DIR)/rev.cpp.in | sed "s@\!\!ISODATE\!\!@$(ISODATE)@g;s@!!VERSION!!@$(VERSION)@g;s@!!MODIFIED!!@$(MODIFIED)@g;s@!!DATE!!@`date +%d.%m.%y`@g;s@!!GITHASH!!@$(GITHASH)@g;s@!!ISTAG!!@$(ISTAG)@g;s@!!ISSTABLETAG!!@$(ISSTABLETAG)@g;s@!!YEAR!!@$(YEAR)@g" > $(SRC_DIR)/rev.cpp
$(SRC_DIR)/os/windows/ottdres.rc: $(CONFIG_CACHE_VERSION) $(SRC_DIR)/os/windows/ottdres.rc.in
$(Q)cat $(SRC_DIR)/os/windows/ottdres.rc.in | sed "s@\!\!ISODATE\!\!@$(ISODATE)@g;s@!!VERSION!!@$(VERSION)@g;s@!!DATE!!@`date +%d.%m.%y`@g;s@!!GITHASH!!@$(GITHASH)@g;s@!!ISTAG!!@$(ISTAG)@g;s@!!ISSTABLETAG!!@$(ISSTABLETAG)@g" > $(SRC_DIR)/os/windows/ottdres.rc
$(Q)cat $(SRC_DIR)/os/windows/ottdres.rc.in | sed "s@\!\!ISODATE\!\!@$(ISODATE)@g;s@!!VERSION!!@$(VERSION)@g;s@!!DATE!!@`date +%d.%m.%y`@g;s@!!GITHASH!!@$(GITHASH)@g;s@!!ISTAG!!@$(ISTAG)@g;s@!!ISSTABLETAG!!@$(ISSTABLETAG)@g;s@!!YEAR!!@$(YEAR)@g" > $(SRC_DIR)/os/windows/ottdres.rc
FORCE:

View File

@@ -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:
@@ -60,7 +58,7 @@ jobs:
- job: macos
displayName: 'MacOS'
pool:
vmImage: 'macOS-10.13'
vmImage: 'macOS-10.14'
variables:
MACOSX_DEPLOYMENT_TARGET: 10.9

View File

@@ -1,6 +1,6 @@
#!/bin/sh
tag=$(git describe --tags 2>/dev/null)
tag=$(git name-rev --name-only --tags --no-undefined HEAD 2>/dev/null | sed 's@\^0$@@')
# If we are a tag, show the part of the changelog till (but excluding) the last stable
if [ -n "$tag" ]; then
@@ -12,5 +12,5 @@ fi
# In all other cases, show the git log of the last 7 days
revdate=$(git log -1 --pretty=format:"%ci")
last_week=$(date -u -d "$revdate -7days" +"%Y-%m-%d %H:%M")
last_week=$(date -d "$revdate -7days" +"%Y-%m-%d %H:%M")
git log --after="${last_week}" --pretty=fuller

View File

@@ -65,6 +65,7 @@ output_files() {
if [ ! -e ${FOLDER}/${filename}.md5sum ] || [ ! -e ${FOLDER}/${filename}.sha1sum ] || [ ! -e ${FOLDER}/${filename}.sha256sum ]; then
echo "ERROR: missing checksum file for ${filename}" 1>&2
error="y"
shift
continue
fi

View File

@@ -2,7 +2,7 @@ steps:
- bash: |
set -ex
cd bin/baseset
curl -L https://binaries.openttd.org/extra/opengfx/0.5.2/opengfx-0.5.2-all.zip > opengfx-0.5.2-all.zip
unzip opengfx-0.5.2-all.zip
rm -f opengfx-0.5.2-all.zip
curl -L https://cdn.openttd.org/opengfx-releases/0.6.0/opengfx-0.6.0-all.zip > opengfx-all.zip
unzip opengfx-all.zip
rm -f opengfx-all.zip
displayName: 'Install OpenGFX'

View File

@@ -119,6 +119,8 @@ jobs:
Tag: 'linux-ubuntu-bionic-i386-gcc'
linux-ubuntu-bionic-amd64-gcc:
Tag: 'linux-ubuntu-bionic-amd64-gcc'
linux-ubuntu-focal-amd64-gcc:
Tag: 'linux-ubuntu-focal-amd64-gcc'
linux-debian-stretch-i386-gcc:
Tag: 'linux-debian-stretch-i386-gcc'
linux-debian-stretch-amd64-gcc:
@@ -141,7 +143,7 @@ jobs:
- job: macos
displayName: 'MacOS'
pool:
vmImage: 'macOS-10.13'
vmImage: 'macOS-10.14'
dependsOn: source
variables:

View File

@@ -1690,6 +1690,9 @@ function Regression::Vehicle()
print(" BuildVehicle(): " + AIVehicle.BuildVehicle(10008, 9));
print(" BuildVehicle(): " + AIVehicle.BuildVehicle(10008, 27));
print(" BuildVehicle(): " + AIVehicle.BuildVehicle(10008, 27));
print(" IsValidVehicle(17): " + AIVehicle.IsValidVehicle(17));
print(" IsValidVehicle(18): " + AIVehicle.IsValidVehicle(18));
print(" IsValidVehicle(19): " + AIVehicle.IsValidVehicle(19)); // 19 is immediately joined to 18
print(" MoveWagonChain(): " + AIVehicle.MoveWagonChain(18, 0, 17, 0));
print(" GetNumWagons(): " + AIVehicle.GetNumWagons(17));
print(" GetLength(): " + AIVehicle.GetLength(17));

View File

@@ -9115,6 +9115,9 @@ ERROR: IsEnd() is invalid as Begin() is never called
BuildVehicle(): 17
BuildVehicle(): 18
BuildVehicle(): 19
IsValidVehicle(17): true
IsValidVehicle(18): true
IsValidVehicle(19): false
MoveWagonChain(): true
GetNumWagons(): 3
GetLength(): 24

Binary file not shown.

Binary file not shown.

View File

@@ -1,3 +1,102 @@
1.10.2 (2020-06-01)
------------------------------------------------------------------------
Add: Ubuntu 20.04 packages (#8127)
Fix: [OSX] Possible crash on failure to set colourspace (#8181)
Fix #8166: Prevent crash from a NewGRF with an invalid RoadType (#8180)
Fix #8024: Make Online Content GUI more responsive while loading (#8179)
Fix #7970: Disable event loop when generating crash dump (#8176)
Fix: [Build] Compatibility with modern Visual Studio (#8170)
Fix: Trees would disappear completely after a few years if tree spread was disabled (#8160)
Fix #8155: Roadtype speed limit in scenario editor toolbar dropdown was doubled (#8156)
Fix: Desync after house replacement (#8151)
Fix #8137: New clients can't join (desync) after funding an industry (#8140)
Fix #8132: Corrupted savegame with station with multiple owners caused a crash (#8134, #8142)
Fix: Stop gamelog when recovering from a savegame load error (#8133)
Fix: Exceptionally unlikely issue when reading MIDI files (#8125)
Fix #8119: Docking areas were not properly updated when clearing, causing desyncs (#8124, #8130)
Fix #8117: Memory leak for incoming admin port packets (#8122)
Fix: Non-roadbridges potentially had roadtype information set (#8111)
Fix #8108: Possible crash on loading TTD savegames with phantom oil rigs (#8109, #8110)
Fix #8093: Build & refit test run changed game state and could cause desyncs (#8103)
Fix: [Script] AreWaterTilesConnected did not handle aqueducts properly (#8074)
1.10.1 (2020-04-13)
------------------------------------------------------------------------
Fix #8081: Crash when placing a ship depot next to a dock (#8082)
Fix: [GS] A Goal's QuestionID was getting truncated (#8072)
Fix #8064: Refit capacity could be displayed incorrectly in extreme edgecases (#8065)
Fix #8060: Restore admin network API compatibility (#8061)
Fix #8055: Crash when roadtype availability changes with the road construction toolbar open (#8058)
1.10.0 (2020-04-01)
------------------------------------------------------------------------
Change: Open company window when clicking on a company goal (#8033)
Change: [SDL2] Support pasting from clipboard on Linux (#8004)
Fix: [Script] Random deviation upper bound range should be inclusive (#8052)
Fix #8043: Incorrect handling of global road/tram hotkeys caused a crash (#8044)
Fix #8039: [Script] SetOrderFlags and GetOrderDestination didn't work for oil rigs (#8040)
Fix: [Script] CanBuildConnectedRoadPartsHere neighbours tiles were incorrect if you started a new game with a different world size (#8036)
Fix: Ignore clicks on non-applicable global goals (#8035)
Fix #7613: Limit News Window to 1024 messages to keep it usable and avoid overflowing scrollbars (#8026)
Fix #7644: [OSX] Hopefully improve performance by manually set colorspace to sRGB (#8023)
Fix #8020: Add missing docking tiles around industry neutral stations (#8021)
Fix: GUI tramway icon only contained a single set of tram tracks (#8015)
Fix: Station with multiple docks had the wrong tile area (#8014)
Fix #8011: Crash when loading TTD scenario containing a dock (#8012)
Fix #7998: Crash when scripts tried to access companies with invalid IDs (#8010)
Fix: Crash when attempting to draw a string containing nonprintable characters (#8005)
Fix #6399: Directory ~/.local/share not created if it didn't already exist (#8003)
Fix #7958: Custom catenary missing on road bridges (#7991)
Fix #7944: Demolishing locks built on rivers didn't always restore the river (#7946)
1.10.0-RC1 (2020-02-09)
------------------------------------------------------------------------
Feature: Allow server to supply a reason to kicked/banned clients (#7859)
Feature: [NewGRF] Station variable 6A, querying GRFID of nearby station tiles (#7956)
Feature: Improved logic of sharing industry production between 3 or more stations (#7922)
Feature: Highlight the item under mouse cursor in file browser (#7900)
Feature: [GS] Methods to change town rating of companies (#7898)
Feature: [NewGRF] Callback profiling command (#7868)
Feature: Add a setting to show the name of the NewGRF of a vehicle in the build window (#7852)
Feature: Ability to filter industry directory window by cargo (#7843)
Feature: Minimap screenshot type (#7817)
Feature: [GS] Methods to control engine availability of a specific company (#7791)
Feature: Configurable game ending year (#7747)
Feature: Separate window for taking screenshots (#7550)
Change: Move autorenew setting to basic category (#7984)
Change: Improved algorithm for transfer feeder payments (#7935)
Change: Show volume sliders with wedges instead of boxy slider (#7902)
Change: Auto-restart loads the original resources (e.g. save or scenario) again (#7688)
Change: Improve readability of integer lists saved to config files (#7396)
Fix #7976: Crash when attempting to kick the host via rcon (#7985)
Fix #7592: Road vehicles no longer balanced between multiple road stop stations (#7979)
Fix: Station rating effects affecting too large area (#7977)
Fix #7974: Crash when Ctrl+click to show a collapsed vehicle group (#7975)
Fix #7969: Crash when executing a recursive console alias (#7973)
Fix #6566: Very long loading of the maximum "zoom out" level at high resolutions (#7968)
Fix #7952: Crash when switching input languages (#7953)
Fix: [OSX] Don't show a crash/assertion message box for a GUI-less video driver (#7934)
Fix #7925: Corrupt savegames could lead to corruption of the titlegame (#7932)
Fix: [Fluidsynth] Music notes from previous song were not properly reset (#7930)
Fix: Invalid string usage within music window (#7928)
Fix: Non-deterministic name sorting in industry directory window (#7915)
Fix #7899: Various issues with town list window sorting (#7906, #7916)
Fix #7587: Fix possible crashes when loading old save games with invalid waypoint positions (#7894)
Fix: Avoid a crash by properly resetting timetable duration when loading old savegames (#7894)
Fix: Possible crash when post road-works cleanup removes all road pieces (#7903)
Fix #7891: Fix crash when loading save from 1.7.2 (#7892)
Fix #7887: Missing sound effects for some main toolbar buttons (#7888)
Fix #6667: Avoid confusion by also recalculating bridge costs for 'spectated' AI companies (#7884)
Fix: Allow old NewGRF industries to hide in/out cargo slots (#7882)
Fix: [Windows] Fix bootstrap GUI with Uniscribe but no Freetype (#7878)
Fix: Missing keycodes for hotkeys.cfg (#7850)
Fix #7625: Ensure road infrastructure cost is correctly updated when upgrading your own roads (#7628)
Fix #7088: Avoid crash by closing AI/GS textfile windows when changing their in-game slot (#7094)
1.10.0-beta2 (2019-12-25)
------------------------------------------------------------------------
- Feature: [Script] More error mappings (#7857)

View File

@@ -54,8 +54,8 @@ set_default() {
enable_translator="0"
enable_unicode="1"
enable_console="1";
enable_assert="1"
enable_strip="0"
enable_assert="0"
enable_strip="1"
enable_universal="0"
enable_osx_g5="0"
enable_cocoa_quartz="1"
@@ -2405,16 +2405,17 @@ detect_sdl() {
log 1 "checking SDL... disabled"
sdl_config=""
sdl2_config=""
return 0
fi
if [ "$with_sdl" = "2" ] && [ "$with_cocoa" = "2" ]; then
if [ "$with_sdl" != "1" ] && [ "$with_cocoa" = "2" ]; then
log 1 "configure: error: it is impossible to compile both SDL and COCOA"
log 1 "configure: error: please deselect one of them and try again"
exit 1
fi
if [ "$with_sdl" = "2" ] && [ "$enable_dedicated" != "0" ]; then
if [ "$with_sdl" != "1" ] && [ "$enable_dedicated" != "0" ]; then
log 1 "configure: error: it is impossible to compile a dedicated with SDL"
log 1 "configure: error: please deselect one of them and try again"
exit 1
@@ -2424,6 +2425,7 @@ detect_sdl() {
log 1 "checking SDL... dedicated server, skipping"
sdl_config=""
sdl2_config=""
return 0
fi
@@ -2443,10 +2445,16 @@ detect_sdl() {
if [ $with_sdl = "sdl1" ]; then
detect_pkg_config "2" "sdl" "sdl_config" "1.2"
elif [ $with_sdl = "sdl2" ] || [ -x `which sdl2-config` ]; then
elif [ $with_sdl = "sdl2" ]; then
detect_pkg_config "2" "sdl2" "sdl2_config" "2.0"
else
detect_pkg_config "$with_sdl" "sdl" "sdl_config" "1.2"
sdl2_config=""
if [ -x "`which sdl2-config`" ]; then
detect_pkg_config "$with_sdl" "sdl2" "sdl2_config" "2.0"
fi
if [ -z "$sdl2_config" ]; then
detect_pkg_config "$with_sdl" "sdl" "sdl_config" "1.2"
fi
fi
}

View File

@@ -99,3 +99,43 @@ The following is an explanation of the different statistics:
If the frame rate window is shaded, the title bar will instead show just the
current simulation rate and the game speed factor.
## 3.0) NewGRF callback profiling
NewGRF developers can profile callback chains via the `newgrf_profile`
console command. The command controls a profiling mode where every sprite
request is measured and logged, and written to a CSV file in the end.
The NewGRF developer tools need to be enabled for the command to function.
View the syntax for the command in-game with the console command
`help newgrf_profile`.
Profiling only works during game or in the editor, it's not possible to
profile across the main menu, world generation, or loading savegames.
The CSV files contain one line per sprite request during the profiling.
They can get very large, especially on large games with many objects from
the GRF. Start profiling short periods such as 3 or 7 days, and watch the
file sizes.
The produced CSV file contains the following fields:
- *Tick* - Game tick counter, this may wrap to zero during recording.
Mainly useful to distinguish events from separate ticks.
- *Sprite* - Index of the root Action 2 sprite in the GRF file. This is
the sprite group being resolved.
- *Feature* - NewGRF feature number the sprite group is being resolved for.
This will be 0xFF for AI purchase selection and ambient sound callbacks.
- *Item* - The id of the item within the GRF. For cargotypes, railtypes,
roadtypes, and tramtypes, this is the integer representation of the label.
- *CallbackID* - The type of callback being resolved. ID 0 is regular graphics
lookup. See the `newgrf_callbacks.h` file in the OpenTTD source code for the
full list of callback IDs.
- *Microseconds* - Total time spent to resolve the Action 2, in microseconds.
- *Depth* - Number of recursive Action 2 lookups were made during resolution.
Value zero means the sprite group resolved directly.
- *Result* - Result of the callback resolution. For lookups that result in
a sprite, this is the index of the base action 2 in the GRF file. For
callbacks that give a numeric result, this is the callback result value.
For lookups that result in an industry production or tilelayout, this
is the sprite index of the action 2 defining the production/tilelayout.

View File

@@ -67,6 +67,7 @@ if [ -d "$ROOT_DIR/.git" ] || [ -f "$ROOT_DIR/.git" ]; then
HASH=`LC_ALL=C git rev-parse --verify HEAD 2>/dev/null`
SHORTHASH=`echo ${HASH} | cut -c1-10`
ISODATE=`LC_ALL=C git show -s --pretty='format:%ci' HEAD | "$AWK" '{ gsub("-", "", $1); print $1 }'`
YEAR=`echo ${ISODATE} | cut -c1-4`
BRANCH="`git symbolic-ref -q HEAD 2>/dev/null | sed 's@.*/@@'`"
TAG="`git name-rev --name-only --tags --no-undefined HEAD 2>/dev/null | sed 's@\^0$@@'`"
@@ -103,10 +104,11 @@ else
SHORTHASH=""
BRANCH=""
ISODATE=""
YEAR=""
TAG=""
VERSION=""
ISTAG="0"
ISSTABLETAG="0"
fi
echo "$VERSION $ISODATE $MODIFIED $HASH $ISTAG $ISSTABLETAG"
echo "$VERSION $ISODATE $MODIFIED $HASH $ISTAG $ISSTABLETAG $YEAR"

View File

@@ -1,6 +1,6 @@
OpenTTD's known bugs
Last updated: 2019-12-25
Release version: 1.10.0-beta2
Last updated: 2020-06-01
Release version: 1.10.2
------------------------------------------------------------------------

View File

@@ -63,10 +63,14 @@ Sub Lookup(ini_key, str_id, outfile)
For Each file In folder.Files
If UCase(FSO.GetExtensionName(file.Name)) = "TXT" Then
Dim f
Set f = FSO.OpenTextFile(file.Path)
Set f = CreateObject("ADODB.Stream")
f.Charset = "utf-8"
f.LineSeparator = 10 ' Assume lines end with \n even for \r\n files
f.Open
f.LoadFromFile(file.Path)
Do Until f.atEndOfStream
line = f.ReadLine()
Do Until f.EOS
line = Replace(f.ReadText(-2), Chr(13), "") ' Read a line and remove any \r
If InStr(1, line, "##isocode ") = 1 Then
p = Split(line)
@@ -80,8 +84,9 @@ Sub Lookup(ini_key, str_id, outfile)
End If
i = i + 1
End If
Loop
f.Close
End If
Next
@@ -89,7 +94,7 @@ Sub Lookup(ini_key, str_id, outfile)
ISort output
For Each line In output
outfile.Write line & vbCrLf
outfile.WriteText line, 1
Next
End Sub
@@ -100,7 +105,9 @@ Dim infile
Set infile = FSO.OpenTextFile(inputfile)
Dim outfile
Set outfile = FSO.CreateTextFile(outputfile, True)
Set outfile = CreateObject("ADODB.Stream")
outfile.Charset = "utf-8"
outfile.Open
Do Until infile.atEndOfStream
@@ -109,15 +116,30 @@ Do Until infile.atEndOfStream
If InStr(1, line, "ORIG_EXTRA.GRF ") = 1 Then
p = Split(line, "=")
If Trim(p(1)) = "" Then
outfile.Write("ORIG_EXTRA.GRF = " & GetExtraGrfHash() & vbCrLf)
outfile.WriteText "ORIG_EXTRA.GRF = " & GetExtraGrfHash(), 1
Else
outfile.Write(line & vbCrLf)
outfile.WriteText line, 1
End If
ElseIf InStr(1, line, "!! ") = 1 Then
p = Split(line)
Lookup p(1), p(2), outfile
Else
outfile.Write(line & vbCrLf)
outfile.WriteText line, 1
End If
Loop
' UTF-8 Text ADO Stream includes BOM, so we need to remove it
Dim outfile_noBOM
Set outfile_noBOM = CreateObject("ADODB.Stream")
outfile_noBOM.Type = 1
outfile_noBOM.Open
' Copy Text stream to Binary stream, skiping the BOM
outfile.Position = 3
outfile.CopyTo outfile_noBOM
outfile.Close
' Write the Binary stream
outfile_noBOM.SaveToFile outputfile, 2
outfile_noBOM.Close

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1017 B

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -1,3 +1,27 @@
openttd (1.10.2-0) unstable; urgency=low
* New upstream release 1.10.2
-- OpenTTD <info@openttd.org> Mon, 01 Jun 2020 22:00:00 +0100
openttd (1.10.1-0) unstable; urgency=low
* New upstream release 1.10.1
-- OpenTTD <info@openttd.org> Mon, 13 Apr 2020 21:00:00 +0100
openttd (1.10.0-0) unstable; urgency=low
* New upstream release 1.10.0
-- OpenTTD <info@openttd.org> Wed, 01 Apr 2020 12:00:00 +0000
openttd (1.10.0~RC1-0) unstable; urgency=low
* New upstream release 1.10.0-RC1
-- OpenTTD <info@openttd.org> Sun, 09 Feb 2020 12:00:00 +0000
openttd (1.10.0~beta2-0) unstable; urgency=low
* New upstream release 1.10.0-beta2

View File

@@ -1,6 +1,6 @@
@echo off
set OPENTTD_VERSION=1.10.0
set OPENTTD_VERSION=1.10.2
set OPENSFX_VERSION=0.8.0
set NOSOUND_VERSION=0.8.0
set OPENGFX_VERSION=1.2.0

View File

@@ -17,9 +17,9 @@
#
Name: openttd
Version: 1.10.beta2
Version: 1.10.2
Release: 0
%define srcver 1.10.0-beta2
%define srcver 1.10.2
Summary: An open source reimplementation of Chris Sawyer's Transport Tycoon Deluxe
License: GPL-2.0
Group: Amusements/Games/Strategy/Other

View File

@@ -1,9 +1,9 @@
# Version numbers to update
!define APPV_MAJOR 1
!define APPV_MINOR 10
!define APPV_MAINT 0
!define APPV_BUILD 1
!define APPV_EXTRA "-beta2"
!define APPV_MAINT 2
!define APPV_BUILD 0
!define APPV_EXTRA ""
!define APPNAME "OpenTTD" ; Define application name
!define APPVERSION "${APPV_MAJOR}.${APPV_MINOR}.${APPV_MAINT}${APPV_EXTRA}" ; Define application version
@@ -599,12 +599,12 @@ Function CheckWindowsVersion
StrCmp $R0 "win9x" 0 WinNT
ClearErrors
StrCmp ${APPARCH} "win9x" Done 0
MessageBox MB_YESNO|MB_ICONSTOP "You are trying to install the Windows XP SP3, Vista and 7 version on Windows 95, 98, ME, 2000 and XP without SP3. This is will not work. Please download the correct version. Do you really want to continue?" IDYES Done IDNO Abort
MessageBox MB_YESNO|MB_ICONSTOP "You are trying to install the Windows XP SP3 and newer version on Windows 95, 98, ME, 2000, or XP without SP3. This will not work - please download the correct version. Do you really want to continue?" IDYES Done IDNO Abort
GoTo Done
WinNT:
ClearErrors
StrCmp ${APPARCH} "win9x" 0 Done
MessageBox MB_YESNO|MB_ICONEXCLAMATION "You are trying to install the Windows 95, 98, 2000 and XP without SP3 version on Windows XP SP3, Vista or 7. This is not advised, but will work with reduced capabilities. We suggest that you download the correct version. Do you really want to continue?" IDYES Done IDNO Abort
MessageBox MB_YESNO|MB_ICONEXCLAMATION "You are trying to install the Windows 95, 98, 2000 and XP without SP3 version on Windows XP SP3 or newer. This is not advised, but will work with reduced capabilities. We suggest that you download the correct version. Do you really want to continue?" IDYES Done IDNO Abort
Abort:
Quit
Done:

View File

@@ -1,5 +1,5 @@
!define APPBITS 32 ; Define number of bits for the architecture
!define EXTRA_VERSION "XP SP3, Vista and 7"
!define EXTRA_VERSION "XP SP3 and newer"
!define APPARCH "win32" ; Define the application architecture
!define BINARY_DIR "${PATH_ROOT}objs\win32\Release"
InstallDir "$PROGRAMFILES32\OpenTTD\"

View File

@@ -1,5 +1,5 @@
!define APPBITS 64 ; Define number of bits for the architecture
!define EXTRA_VERSION "XP, Vista and 7"
!define EXTRA_VERSION "XP and newer"
!define APPARCH "win64" ; Define the application architecture
!define BINARY_DIR "${PATH_ROOT}objs\x64\Release"
InstallDir "$PROGRAMFILES64\OpenTTD\"

View File

@@ -1,5 +1,5 @@
!define APPBITS 32 ; Define number of bits for the architecture
!define EXTRA_VERSION "95, 98, ME, 2000 and XP without SP3"
!define EXTRA_VERSION "95, 98, ME, 2000 and XP SP2 or older"
!define APPARCH "win9x" ; Define the application architecture
!define BINARY_DIR "${PATH_ROOT}objs\release"
InstallDir "$PROGRAMFILES32\OpenTTD\"

View File

@@ -19,7 +19,7 @@ Sub FindReplaceInFile(filename, to_find, replacement)
file.Close
End Sub
Sub UpdateFile(modified, isodate, version, cur_date, githash, istag, isstabletag, filename)
Sub UpdateFile(modified, isodate, version, cur_date, githash, istag, isstabletag, year, filename)
FSO.CopyFile filename & ".in", filename
FindReplaceInFile filename, "!!MODIFIED!!", modified
FindReplaceInFile filename, "!!ISODATE!!", isodate
@@ -28,10 +28,11 @@ Sub UpdateFile(modified, isodate, version, cur_date, githash, istag, isstabletag
FindReplaceInFile filename, "!!GITHASH!!", githash
FindReplaceInFile filename, "!!ISTAG!!", istag
FindReplaceInFile filename, "!!ISSTABLETAG!!", isstabletag
FindReplaceInFile filename, "!!YEAR!!", year
End Sub
Sub UpdateFiles(version)
Dim modified, isodate, cur_date, githash, istag, isstabletag
Dim modified, isodate, cur_date, githash, istag, isstabletag, year
cur_date = DatePart("D", Date) & "." & DatePart("M", Date) & "." & DatePart("YYYY", Date)
If InStr(version, Chr(9)) Then
@@ -41,26 +42,29 @@ Sub UpdateFiles(version)
githash = Mid(modified, InStr(modified, Chr(9)) + 1)
istag = Mid(githash, InStr(githash, Chr(9)) + 1)
isstabletag = Mid(istag, InStr(istag, Chr(9)) + 1)
year = Mid(isstabletag, InStr(isstabletag, Chr(9)) + 1)
' Remove tails from fields
version = Mid(version, 1, InStr(version, Chr(9)) - 1)
isodate = Mid(isodate, 1, InStr(isodate, Chr(9)) - 1)
modified = Mid(modified, 1, InStr(modified, Chr(9)) - 1)
githash = Mid(githash, 1, InStr(githash, Chr(9)) - 1)
istag = Mid(istag, 1, InStr(istag, Chr(9)) - 1)
isstabletag = Mid(isstabletag, 1, InStr(isstabletag, Chr(9)) - 1)
Else
isodate = 0
modified = 1
githash = ""
istag = 0
isstabletag = 0
year = ""
End If
UpdateFile modified, isodate, version, cur_date, githash, istag, isstabletag, "../src/rev.cpp"
UpdateFile modified, isodate, version, cur_date, githash, istag, isstabletag, "../src/os/windows/ottdres.rc"
UpdateFile modified, isodate, version, cur_date, githash, istag, isstabletag, year, "../src/rev.cpp"
UpdateFile modified, isodate, version, cur_date, githash, istag, isstabletag, year, "../src/os/windows/ottdres.rc"
End Sub
Function DetermineVersion()
Dim WshShell, branch, tag, modified, isodate, oExec, line, hash, shorthash
Dim WshShell, branch, tag, modified, isodate, oExec, line, hash, shorthash, year
Set WshShell = CreateObject("WScript.Shell")
On Error Resume Next
@@ -70,6 +74,7 @@ Function DetermineVersion()
branch = ""
isodate = ""
tag = ""
year = ""
' Set the environment to english
WshShell.Environment("PROCESS")("LANG") = "en"
@@ -108,6 +113,7 @@ Function DetermineVersion()
if Err.Number = 0 Then
isodate = Mid(oExec.StdOut.ReadLine(), 1, 10)
isodate = Replace(isodate, "-", "")
year = Mid(isodate, 1, 4)
End If ' Err.Number = 0
' Check branch
@@ -171,7 +177,7 @@ Function DetermineVersion()
isstabletag = 0
End If
DetermineVersion = version & Chr(9) & isodate & Chr(9) & modified & Chr(9) & hash & Chr(9) & istag & Chr(9) & isstabletag
DetermineVersion = version & Chr(9) & isodate & Chr(9) & modified & Chr(9) & hash & Chr(9) & istag & Chr(9) & isstabletag & Chr(9) & year
End If
End Function

View File

@@ -69,6 +69,7 @@ fi
# First, collect the list of Windows files
allegro_config=""
sdl_config="1"
sdl2_config="1"
png_config="1"
os="MSVC"
enable_dedicated="0"
@@ -123,6 +124,7 @@ load_main_data() {
if ($0 == "ALLEGRO" && "'$allegro_config'" == "") { next; }
if ($0 == "SDL" && "'$sdl_config'" == "") { next; }
if ($0 == "SDL2" && "'$sdl2_config'" == "") { next; }
if ($0 == "PNG" && "'$png_config'" == "") { next; }
if ($0 == "OSX" && "'$os'" != "OSX") { next; }
if ($0 == "OS2" && "'$os'" != "OS2") { next; }
@@ -263,19 +265,22 @@ generate() {
echo "Generating $2..."
# Everything above the !!FILTERS!! marker
cat "$ROOT_DIR/projects/$2".in | ${AWK} -v BINMODE=1 -v FILTERS="$3" -v FILES="$1" '
{ CR = (match($0, "\\r$") > 0 ? "\r" : "") }
/^$/ { next }
/!!FILTERS!!/ {
split(FILTERS, filters, "\n");
for (i = 1; filters[i] != ""; i++) {
print filters[i] CR;
line = $0
gsub(/!!FILTERS!!/, filters[i], line);
print line;
}
next;
}
/!!FILES!!/ {
split(FILES, files, "\n");
for (i = 1; files[i] != ""; i++) {
print files[i] CR;
line = $0
gsub(/!!FILES!!/, files[i], line);
print line;
}
next;
}

View File

@@ -172,6 +172,7 @@ Sub load_main_data(filename, ByRef vcxproj, ByRef filters, ByRef files)
line = Replace(line, "#if ", "")
If deep = skip And ( _
line = "SDL" Or _
line = "SDL2" Or _
line = "PNG" Or _
line = "WIN32" Or _
line = "MSVC" Or _
@@ -321,21 +322,26 @@ Sub load_baseset_data(dir, langdir, ByRef vcxproj, ByRef files, ByRef langs)
End Sub
Sub generate(data, dest, data2)
Dim srcfile, destfile, line
Dim srcfile, destfile, line, regexp
WScript.Echo "Generating " & FSO.GetFileName(dest) & "..."
Set srcfile = FSO.OpenTextFile(dest & ".in", 1, 0, 0)
Set destfile = FSO.CreateTextFile(dest, -1, 0)
If Not IsNull(data2) Then
' Everything above the !!FILTERS!! marker
Set regexp = New RegExp
regexp.Pattern = "!!FILTERS!!"
regexp.Global = True
line = srcfile.ReadLine()
While line <> "!!FILTERS!!"
While Not regexp.Test(line)
If len(line) > 0 Then destfile.WriteLine(line)
line = srcfile.ReadLine()
Wend
' Our generated content
destfile.WriteLine(data2)
line = regexp.Replace(line, data2)
destfile.WriteLine(line)
End If
' Everything above the !!FILES!! marker

View File

@@ -107,7 +107,7 @@
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<ExceptionHandling>Sync</ExceptionHandling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -230,7 +230,7 @@
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<ExceptionHandling>Sync</ExceptionHandling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -409,6 +409,7 @@
<ClCompile Include="..\src\rev.cpp" />
<ClCompile Include="..\src\road.cpp" />
<ClCompile Include="..\src\roadstop.cpp" />
<ClCompile Include="..\src\screenshot_gui.cpp" />
<ClCompile Include="..\src\screenshot.cpp" />
<ClCompile Include="..\src\settings.cpp" />
<ClCompile Include="..\src\signal.cpp" />
@@ -582,6 +583,7 @@
<ClInclude Include="..\src\newgrf_industries.h" />
<ClInclude Include="..\src\newgrf_industrytiles.h" />
<ClInclude Include="..\src\newgrf_object.h" />
<ClInclude Include="..\src\newgrf_profiling.h" />
<ClInclude Include="..\src\newgrf_properties.h" />
<ClInclude Include="..\src\newgrf_railtype.h" />
<ClInclude Include="..\src\newgrf_roadtype.h" />
@@ -625,8 +627,10 @@
<ClInclude Include="..\src\roadveh.h" />
<ClInclude Include="..\src\safeguards.h" />
<ClInclude Include="..\src\screenshot.h" />
<ClInclude Include="..\src\screenshot_gui.h" />
<ClInclude Include="..\src\sound\sdl_s.h" />
<ClInclude Include="..\src\video\sdl_v.h" />
<ClInclude Include="..\src\video\sdl2_v.h" />
<ClInclude Include="..\src\settings_func.h" />
<ClInclude Include="..\src\settings_gui.h" />
<ClInclude Include="..\src\settings_internal.h" />
@@ -845,6 +849,7 @@
<ClInclude Include="..\src\widgets\osk_widget.h" />
<ClInclude Include="..\src\widgets\rail_widget.h" />
<ClInclude Include="..\src\widgets\road_widget.h" />
<ClInclude Include="..\src\widgets\screenshot_widget.h" />
<ClInclude Include="..\src\widgets\settings_widget.h" />
<ClInclude Include="..\src\widgets\sign_widget.h" />
<ClInclude Include="..\src\widgets\smallmap_widget.h" />
@@ -1232,6 +1237,7 @@
<ClCompile Include="..\src\newgrf_industries.cpp" />
<ClCompile Include="..\src\newgrf_industrytiles.cpp" />
<ClCompile Include="..\src\newgrf_object.cpp" />
<ClCompile Include="..\src\newgrf_profiling.cpp" />
<ClCompile Include="..\src\newgrf_railtype.cpp" />
<ClCompile Include="..\src\newgrf_roadtype.cpp" />
<ClCompile Include="..\src\newgrf_sound.cpp" />
@@ -1326,6 +1332,7 @@
<ClCompile Include="..\src\video\dedicated_v.cpp" />
<ClCompile Include="..\src\video\null_v.cpp" />
<ClCompile Include="..\src\video\sdl_v.cpp" />
<ClCompile Include="..\src\video\sdl2_v.cpp" />
<ClCompile Include="..\src\video\win32_v.cpp" />
<ClCompile Include="..\src\music\dmusic.cpp" />
<ClCompile Include="..\src\music\null_m.cpp" />
@@ -1333,6 +1340,7 @@
<ClCompile Include="..\src\music\win32_m.cpp" />
<ClCompile Include="..\src\sound\null_s.cpp" />
<ClCompile Include="..\src\sound\sdl_s.cpp" />
<ClCompile Include="..\src\sound\sdl2_s.cpp" />
<ClCompile Include="..\src\sound\win32_s.cpp" />
<ClCompile Include="..\src\sound\xaudio2_s.cpp" />
<ClCompile Include="..\src\os\windows\crashlog_win.cpp" />

View File

@@ -315,6 +315,9 @@
<ClCompile Include="..\src\roadstop.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\screenshot_gui.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\screenshot.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@@ -834,6 +837,9 @@
<ClInclude Include="..\src\newgrf_object.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\newgrf_profiling.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\newgrf_properties.h">
<Filter>Header Files</Filter>
</ClInclude>
@@ -963,12 +969,18 @@
<ClInclude Include="..\src\screenshot.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\screenshot_gui.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\sound\sdl_s.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\video\sdl_v.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\video\sdl2_v.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\settings_func.h">
<Filter>Header Files</Filter>
</ClInclude>
@@ -1623,6 +1635,9 @@
<ClInclude Include="..\src\widgets\road_widget.h">
<Filter>Widgets</Filter>
</ClInclude>
<ClInclude Include="..\src\widgets\screenshot_widget.h">
<Filter>Widgets</Filter>
</ClInclude>
<ClInclude Include="..\src\widgets\settings_widget.h">
<Filter>Widgets</Filter>
</ClInclude>
@@ -2784,6 +2799,9 @@
<ClCompile Include="..\src\newgrf_object.cpp">
<Filter>NewGRF</Filter>
</ClCompile>
<ClCompile Include="..\src\newgrf_profiling.cpp">
<Filter>NewGRF</Filter>
</ClCompile>
<ClCompile Include="..\src\newgrf_railtype.cpp">
<Filter>NewGRF</Filter>
</ClCompile>
@@ -3066,6 +3084,9 @@
<ClCompile Include="..\src\video\sdl_v.cpp">
<Filter>Video</Filter>
</ClCompile>
<ClCompile Include="..\src\video\sdl2_v.cpp">
<Filter>Video</Filter>
</ClCompile>
<ClCompile Include="..\src\video\win32_v.cpp">
<Filter>Video</Filter>
</ClCompile>
@@ -3087,6 +3108,9 @@
<ClCompile Include="..\src\sound\sdl_s.cpp">
<Filter>Sound</Filter>
</ClCompile>
<ClCompile Include="..\src\sound\sdl2_s.cpp">
<Filter>Sound</Filter>
</ClCompile>
<ClCompile Include="..\src\sound\win32_s.cpp">
<Filter>Sound</Filter>
</ClCompile>

View File

@@ -107,7 +107,7 @@
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<ExceptionHandling>Sync</ExceptionHandling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -230,7 +230,7 @@
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<ExceptionHandling>Sync</ExceptionHandling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>

View File

@@ -107,7 +107,7 @@
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<ExceptionHandling>Sync</ExceptionHandling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -230,7 +230,7 @@
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<ExceptionHandling>Sync</ExceptionHandling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -409,6 +409,7 @@
<ClCompile Include="..\src\rev.cpp" />
<ClCompile Include="..\src\road.cpp" />
<ClCompile Include="..\src\roadstop.cpp" />
<ClCompile Include="..\src\screenshot_gui.cpp" />
<ClCompile Include="..\src\screenshot.cpp" />
<ClCompile Include="..\src\settings.cpp" />
<ClCompile Include="..\src\signal.cpp" />
@@ -582,6 +583,7 @@
<ClInclude Include="..\src\newgrf_industries.h" />
<ClInclude Include="..\src\newgrf_industrytiles.h" />
<ClInclude Include="..\src\newgrf_object.h" />
<ClInclude Include="..\src\newgrf_profiling.h" />
<ClInclude Include="..\src\newgrf_properties.h" />
<ClInclude Include="..\src\newgrf_railtype.h" />
<ClInclude Include="..\src\newgrf_roadtype.h" />
@@ -625,8 +627,10 @@
<ClInclude Include="..\src\roadveh.h" />
<ClInclude Include="..\src\safeguards.h" />
<ClInclude Include="..\src\screenshot.h" />
<ClInclude Include="..\src\screenshot_gui.h" />
<ClInclude Include="..\src\sound\sdl_s.h" />
<ClInclude Include="..\src\video\sdl_v.h" />
<ClInclude Include="..\src\video\sdl2_v.h" />
<ClInclude Include="..\src\settings_func.h" />
<ClInclude Include="..\src\settings_gui.h" />
<ClInclude Include="..\src\settings_internal.h" />
@@ -845,6 +849,7 @@
<ClInclude Include="..\src\widgets\osk_widget.h" />
<ClInclude Include="..\src\widgets\rail_widget.h" />
<ClInclude Include="..\src\widgets\road_widget.h" />
<ClInclude Include="..\src\widgets\screenshot_widget.h" />
<ClInclude Include="..\src\widgets\settings_widget.h" />
<ClInclude Include="..\src\widgets\sign_widget.h" />
<ClInclude Include="..\src\widgets\smallmap_widget.h" />
@@ -1232,6 +1237,7 @@
<ClCompile Include="..\src\newgrf_industries.cpp" />
<ClCompile Include="..\src\newgrf_industrytiles.cpp" />
<ClCompile Include="..\src\newgrf_object.cpp" />
<ClCompile Include="..\src\newgrf_profiling.cpp" />
<ClCompile Include="..\src\newgrf_railtype.cpp" />
<ClCompile Include="..\src\newgrf_roadtype.cpp" />
<ClCompile Include="..\src\newgrf_sound.cpp" />
@@ -1326,6 +1332,7 @@
<ClCompile Include="..\src\video\dedicated_v.cpp" />
<ClCompile Include="..\src\video\null_v.cpp" />
<ClCompile Include="..\src\video\sdl_v.cpp" />
<ClCompile Include="..\src\video\sdl2_v.cpp" />
<ClCompile Include="..\src\video\win32_v.cpp" />
<ClCompile Include="..\src\music\dmusic.cpp" />
<ClCompile Include="..\src\music\null_m.cpp" />
@@ -1333,6 +1340,7 @@
<ClCompile Include="..\src\music\win32_m.cpp" />
<ClCompile Include="..\src\sound\null_s.cpp" />
<ClCompile Include="..\src\sound\sdl_s.cpp" />
<ClCompile Include="..\src\sound\sdl2_s.cpp" />
<ClCompile Include="..\src\sound\win32_s.cpp" />
<ClCompile Include="..\src\sound\xaudio2_s.cpp" />
<ClCompile Include="..\src\os\windows\crashlog_win.cpp" />

View File

@@ -315,6 +315,9 @@
<ClCompile Include="..\src\roadstop.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\screenshot_gui.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\screenshot.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@@ -834,6 +837,9 @@
<ClInclude Include="..\src\newgrf_object.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\newgrf_profiling.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\newgrf_properties.h">
<Filter>Header Files</Filter>
</ClInclude>
@@ -963,12 +969,18 @@
<ClInclude Include="..\src\screenshot.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\screenshot_gui.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\sound\sdl_s.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\video\sdl_v.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\video\sdl2_v.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\settings_func.h">
<Filter>Header Files</Filter>
</ClInclude>
@@ -1623,6 +1635,9 @@
<ClInclude Include="..\src\widgets\road_widget.h">
<Filter>Widgets</Filter>
</ClInclude>
<ClInclude Include="..\src\widgets\screenshot_widget.h">
<Filter>Widgets</Filter>
</ClInclude>
<ClInclude Include="..\src\widgets\settings_widget.h">
<Filter>Widgets</Filter>
</ClInclude>
@@ -2784,6 +2799,9 @@
<ClCompile Include="..\src\newgrf_object.cpp">
<Filter>NewGRF</Filter>
</ClCompile>
<ClCompile Include="..\src\newgrf_profiling.cpp">
<Filter>NewGRF</Filter>
</ClCompile>
<ClCompile Include="..\src\newgrf_railtype.cpp">
<Filter>NewGRF</Filter>
</ClCompile>
@@ -3066,6 +3084,9 @@
<ClCompile Include="..\src\video\sdl_v.cpp">
<Filter>Video</Filter>
</ClCompile>
<ClCompile Include="..\src\video\sdl2_v.cpp">
<Filter>Video</Filter>
</ClCompile>
<ClCompile Include="..\src\video\win32_v.cpp">
<Filter>Video</Filter>
</ClCompile>
@@ -3087,6 +3108,9 @@
<ClCompile Include="..\src\sound\sdl_s.cpp">
<Filter>Sound</Filter>
</ClCompile>
<ClCompile Include="..\src\sound\sdl2_s.cpp">
<Filter>Sound</Filter>
</ClCompile>
<ClCompile Include="..\src\sound\win32_s.cpp">
<Filter>Sound</Filter>
</ClCompile>

View File

@@ -107,7 +107,7 @@
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<ExceptionHandling>Sync</ExceptionHandling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -230,7 +230,7 @@
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<ExceptionHandling>Sync</ExceptionHandling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>

View File

@@ -107,7 +107,7 @@
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<ExceptionHandling>Sync</ExceptionHandling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -230,7 +230,7 @@
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<ExceptionHandling>Sync</ExceptionHandling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -409,6 +409,7 @@
<ClCompile Include="..\src\rev.cpp" />
<ClCompile Include="..\src\road.cpp" />
<ClCompile Include="..\src\roadstop.cpp" />
<ClCompile Include="..\src\screenshot_gui.cpp" />
<ClCompile Include="..\src\screenshot.cpp" />
<ClCompile Include="..\src\settings.cpp" />
<ClCompile Include="..\src\signal.cpp" />
@@ -582,6 +583,7 @@
<ClInclude Include="..\src\newgrf_industries.h" />
<ClInclude Include="..\src\newgrf_industrytiles.h" />
<ClInclude Include="..\src\newgrf_object.h" />
<ClInclude Include="..\src\newgrf_profiling.h" />
<ClInclude Include="..\src\newgrf_properties.h" />
<ClInclude Include="..\src\newgrf_railtype.h" />
<ClInclude Include="..\src\newgrf_roadtype.h" />
@@ -625,8 +627,10 @@
<ClInclude Include="..\src\roadveh.h" />
<ClInclude Include="..\src\safeguards.h" />
<ClInclude Include="..\src\screenshot.h" />
<ClInclude Include="..\src\screenshot_gui.h" />
<ClInclude Include="..\src\sound\sdl_s.h" />
<ClInclude Include="..\src\video\sdl_v.h" />
<ClInclude Include="..\src\video\sdl2_v.h" />
<ClInclude Include="..\src\settings_func.h" />
<ClInclude Include="..\src\settings_gui.h" />
<ClInclude Include="..\src\settings_internal.h" />
@@ -845,6 +849,7 @@
<ClInclude Include="..\src\widgets\osk_widget.h" />
<ClInclude Include="..\src\widgets\rail_widget.h" />
<ClInclude Include="..\src\widgets\road_widget.h" />
<ClInclude Include="..\src\widgets\screenshot_widget.h" />
<ClInclude Include="..\src\widgets\settings_widget.h" />
<ClInclude Include="..\src\widgets\sign_widget.h" />
<ClInclude Include="..\src\widgets\smallmap_widget.h" />
@@ -1232,6 +1237,7 @@
<ClCompile Include="..\src\newgrf_industries.cpp" />
<ClCompile Include="..\src\newgrf_industrytiles.cpp" />
<ClCompile Include="..\src\newgrf_object.cpp" />
<ClCompile Include="..\src\newgrf_profiling.cpp" />
<ClCompile Include="..\src\newgrf_railtype.cpp" />
<ClCompile Include="..\src\newgrf_roadtype.cpp" />
<ClCompile Include="..\src\newgrf_sound.cpp" />
@@ -1326,6 +1332,7 @@
<ClCompile Include="..\src\video\dedicated_v.cpp" />
<ClCompile Include="..\src\video\null_v.cpp" />
<ClCompile Include="..\src\video\sdl_v.cpp" />
<ClCompile Include="..\src\video\sdl2_v.cpp" />
<ClCompile Include="..\src\video\win32_v.cpp" />
<ClCompile Include="..\src\music\dmusic.cpp" />
<ClCompile Include="..\src\music\null_m.cpp" />
@@ -1333,6 +1340,7 @@
<ClCompile Include="..\src\music\win32_m.cpp" />
<ClCompile Include="..\src\sound\null_s.cpp" />
<ClCompile Include="..\src\sound\sdl_s.cpp" />
<ClCompile Include="..\src\sound\sdl2_s.cpp" />
<ClCompile Include="..\src\sound\win32_s.cpp" />
<ClCompile Include="..\src\sound\xaudio2_s.cpp" />
<ClCompile Include="..\src\os\windows\crashlog_win.cpp" />

View File

@@ -315,6 +315,9 @@
<ClCompile Include="..\src\roadstop.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\screenshot_gui.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\screenshot.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@@ -834,6 +837,9 @@
<ClInclude Include="..\src\newgrf_object.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\newgrf_profiling.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\newgrf_properties.h">
<Filter>Header Files</Filter>
</ClInclude>
@@ -963,12 +969,18 @@
<ClInclude Include="..\src\screenshot.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\screenshot_gui.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\sound\sdl_s.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\video\sdl_v.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\video\sdl2_v.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\settings_func.h">
<Filter>Header Files</Filter>
</ClInclude>
@@ -1623,6 +1635,9 @@
<ClInclude Include="..\src\widgets\road_widget.h">
<Filter>Widgets</Filter>
</ClInclude>
<ClInclude Include="..\src\widgets\screenshot_widget.h">
<Filter>Widgets</Filter>
</ClInclude>
<ClInclude Include="..\src\widgets\settings_widget.h">
<Filter>Widgets</Filter>
</ClInclude>
@@ -2784,6 +2799,9 @@
<ClCompile Include="..\src\newgrf_object.cpp">
<Filter>NewGRF</Filter>
</ClCompile>
<ClCompile Include="..\src\newgrf_profiling.cpp">
<Filter>NewGRF</Filter>
</ClCompile>
<ClCompile Include="..\src\newgrf_railtype.cpp">
<Filter>NewGRF</Filter>
</ClCompile>
@@ -3066,6 +3084,9 @@
<ClCompile Include="..\src\video\sdl_v.cpp">
<Filter>Video</Filter>
</ClCompile>
<ClCompile Include="..\src\video\sdl2_v.cpp">
<Filter>Video</Filter>
</ClCompile>
<ClCompile Include="..\src\video\win32_v.cpp">
<Filter>Video</Filter>
</ClCompile>
@@ -3087,6 +3108,9 @@
<ClCompile Include="..\src\sound\sdl_s.cpp">
<Filter>Sound</Filter>
</ClCompile>
<ClCompile Include="..\src\sound\sdl2_s.cpp">
<Filter>Sound</Filter>
</ClCompile>
<ClCompile Include="..\src\sound\win32_s.cpp">
<Filter>Sound</Filter>
</ClCompile>

View File

@@ -107,7 +107,7 @@
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<ExceptionHandling>Sync</ExceptionHandling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -230,7 +230,7 @@
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<ExceptionHandling>Sync</ExceptionHandling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>

View File

@@ -23,9 +23,7 @@
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros">
<SettingsCommandLine>
..\objs\settings\settings_gen.exe -o ..\objs\settings\table\settings.h -b ..\src\table\settings.h.preamble -a ..\src\table\settings.h.postamble ..\src\table\company_settings.ini ..\src\table\currency_settings.ini ..\src\table\gameopt_settings.ini ..\src\table\misc_settings.ini ..\src\table\settings.ini ..\src\table\win32_settings.ini ..\src\table\window_settings.ini
</SettingsCommandLine>
<SettingsCommandLine>..\objs\settings\settings_gen.exe -o ..\objs\settings\table\settings.h -b ..\src\table\settings.h.preamble -a ..\src\table\settings.h.postamble ..\src\table\company_settings.ini ..\src\table\currency_settings.ini ..\src\table\gameopt_settings.ini ..\src\table\misc_settings.ini ..\src\table\settings.ini ..\src\table\win32_settings.ini ..\src\table\window_settings.ini</SettingsCommandLine>
</PropertyGroup>
<PropertyGroup>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\objs\settings\table\</OutDir>

View File

@@ -23,9 +23,7 @@
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros">
<SettingsCommandLine>
!!FILTERS!!
</SettingsCommandLine>
<SettingsCommandLine>!!FILTERS!!</SettingsCommandLine>
</PropertyGroup>
<PropertyGroup>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\objs\settings\table\</OutDir>

View File

@@ -23,9 +23,7 @@
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros">
<SettingsCommandLine>
..\objs\settings\settings_gen.exe -o ..\objs\settings\table\settings.h -b ..\src\table\settings.h.preamble -a ..\src\table\settings.h.postamble ..\src\table\company_settings.ini ..\src\table\currency_settings.ini ..\src\table\gameopt_settings.ini ..\src\table\misc_settings.ini ..\src\table\settings.ini ..\src\table\win32_settings.ini ..\src\table\window_settings.ini
</SettingsCommandLine>
<SettingsCommandLine>..\objs\settings\settings_gen.exe -o ..\objs\settings\table\settings.h -b ..\src\table\settings.h.preamble -a ..\src\table\settings.h.postamble ..\src\table\company_settings.ini ..\src\table\currency_settings.ini ..\src\table\gameopt_settings.ini ..\src\table\misc_settings.ini ..\src\table\settings.ini ..\src\table\win32_settings.ini ..\src\table\window_settings.ini</SettingsCommandLine>
</PropertyGroup>
<PropertyGroup>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\objs\settings\table\</OutDir>

View File

@@ -23,9 +23,7 @@
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros">
<SettingsCommandLine>
!!FILTERS!!
</SettingsCommandLine>
<SettingsCommandLine>!!FILTERS!!</SettingsCommandLine>
</PropertyGroup>
<PropertyGroup>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\objs\settings\table\</OutDir>

View File

@@ -23,9 +23,7 @@
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros">
<SettingsCommandLine>
..\objs\settings\settings_gen.exe -o ..\objs\settings\table\settings.h -b ..\src\table\settings.h.preamble -a ..\src\table\settings.h.postamble ..\src\table\company_settings.ini ..\src\table\currency_settings.ini ..\src\table\gameopt_settings.ini ..\src\table\misc_settings.ini ..\src\table\settings.ini ..\src\table\win32_settings.ini ..\src\table\window_settings.ini
</SettingsCommandLine>
<SettingsCommandLine>..\objs\settings\settings_gen.exe -o ..\objs\settings\table\settings.h -b ..\src\table\settings.h.preamble -a ..\src\table\settings.h.postamble ..\src\table\company_settings.ini ..\src\table\currency_settings.ini ..\src\table\gameopt_settings.ini ..\src\table\misc_settings.ini ..\src\table\settings.ini ..\src\table\win32_settings.ini ..\src\table\window_settings.ini</SettingsCommandLine>
</PropertyGroup>
<PropertyGroup>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\objs\settings\table\</OutDir>

View File

@@ -23,9 +23,7 @@
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros">
<SettingsCommandLine>
!!FILTERS!!
</SettingsCommandLine>
<SettingsCommandLine>!!FILTERS!!</SettingsCommandLine>
</PropertyGroup>
<PropertyGroup>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\objs\settings\table\</OutDir>

View File

@@ -70,6 +70,7 @@ rail.cpp
rev.cpp
road.cpp
roadstop.cpp
screenshot_gui.cpp
screenshot.cpp
settings.cpp
signal.cpp
@@ -269,6 +270,7 @@ newgrf_house.h
newgrf_industries.h
newgrf_industrytiles.h
newgrf_object.h
newgrf_profiling.h
newgrf_properties.h
newgrf_railtype.h
newgrf_roadtype.h
@@ -312,6 +314,7 @@ roadstop_base.h
roadveh.h
safeguards.h
screenshot.h
screenshot_gui.h
sound/sdl_s.h
video/sdl_v.h
video/sdl2_v.h
@@ -555,6 +558,7 @@ widgets/order_widget.h
widgets/osk_widget.h
widgets/rail_widget.h
widgets/road_widget.h
widgets/screenshot_widget.h
widgets/settings_widget.h
widgets/sign_widget.h
widgets/smallmap_widget.h
@@ -983,6 +987,7 @@ newgrf_house.cpp
newgrf_industries.cpp
newgrf_industrytiles.cpp
newgrf_object.cpp
newgrf_profiling.cpp
newgrf_railtype.cpp
newgrf_roadtype.cpp
newgrf_sound.cpp

View File

@@ -38,7 +38,7 @@ void sqstd_printcallstack(HSQUIRRELVM v)
src = si.source;
}
}
pf(v,"*FUNCTION [%s()] %s line [%d]\n",fn,src,si.line);
pf(v,"*FUNCTION [%s()] %s line [" OTTD_PRINTF64 "]\n",fn,src,si.line);
level++;
}
level=0;
@@ -56,7 +56,7 @@ void sqstd_printcallstack(HSQUIRRELVM v)
break;
case OT_INTEGER:
sq_getinteger(v,-1,&i);
pf(v,"[%s] %d\n",name,i);
pf(v,"[%s] " OTTD_PRINTF64 "\n",name,i);
break;
case OT_FLOAT:
sq_getfloat(v,-1,&f);
@@ -134,7 +134,7 @@ void _sqstd_compiler_error(HSQUIRRELVM v,const SQChar *sErr,const SQChar *sSourc
{
SQPRINTFUNCTION pf = sq_getprintfunc(v);
if(pf) {
pf(v,"%s line = (%d) column = (%d) : error %s\n",sSource,line,column,sErr);
pf(v,"%s line = (" OTTD_PRINTF64 ") column = (" OTTD_PRINTF64 ") : error %s\n",sSource,line,column,sErr);
}
}

View File

@@ -219,7 +219,7 @@ static SQInteger base_array(HSQUIRRELVM v)
SQInteger nInitialSize = tointeger(stack_get(v,2));
SQInteger ret = 1;
if (nInitialSize < 0) {
v->Raise_Error("can't create/resize array with/to size %d", nInitialSize);
v->Raise_Error("can't create/resize array with/to size " OTTD_PRINTF64, nInitialSize);
nInitialSize = 0;
ret = -1;
}

View File

@@ -122,5 +122,5 @@ void SQVM::Raise_ParamTypeError(SQInteger nparam,SQInteger typemask,SQInteger ty
StringCat(exptypes,SQString::Create(_ss(this), IdType2Name((SQObjectType)mask), -1), exptypes);
}
}
Raise_Error("parameter %d has an invalid type '%s' ; expected: '%s'", nparam, IdType2Name((SQObjectType)type), _stringval(exptypes));
Raise_Error("parameter " OTTD_PRINTF64 " has an invalid type '%s' ; expected: '%s'", nparam, IdType2Name((SQObjectType)type), _stringval(exptypes));
}

View File

@@ -179,6 +179,7 @@ struct AIListWindow : public Window {
InvalidateWindowData(WC_GAME_OPTIONS, WN_GAME_OPTIONS_AI);
InvalidateWindowClassesData(WC_AI_SETTINGS);
DeleteWindowByClass(WC_QUERY_STRING);
InvalidateWindowClassesData(WC_TEXTFILE);
}
void OnClick(Point pt, int widget, int click_count) override
@@ -640,15 +641,24 @@ struct ScriptTextfileWindow : public TextfileWindow {
ScriptTextfileWindow(TextfileType file_type, CompanyID slot) : TextfileWindow(file_type), slot(slot)
{
const char *textfile = GetConfig(slot)->GetTextfile(file_type, slot);
this->LoadTextfile(textfile, (slot == OWNER_DEITY) ? GAME_DIR : AI_DIR);
this->OnInvalidateData();
}
void SetStringParameters(int widget) const override
{
if (widget == WID_TF_CAPTION) {
SetDParam(0, (slot == OWNER_DEITY) ? STR_CONTENT_TYPE_GAME_SCRIPT : STR_CONTENT_TYPE_AI);
SetDParamStr(1, GetConfig(slot)->GetName());
SetDParamStr(1, GetConfig(slot)->GetInfo()->GetName());
}
}
void OnInvalidateData(int data = 0, bool gui_scope = true) override
{
const char *textfile = GetConfig(slot)->GetTextfile(file_type, slot);
if (textfile == nullptr) {
delete this;
} else {
this->LoadTextfile(textfile, (slot == OWNER_DEITY) ? GAME_DIR : AI_DIR);
}
}
};

View File

@@ -169,7 +169,7 @@ CargoArray GetCapacityOfArticulatedParts(EngineID engine)
* @param cargo_type Selected refitted cargo type
* @param cargo_capacity Capacity of selected refitted cargo type
*/
void GetArticulatedVehicleCargoesAndRefits(EngineID engine, CargoArray *cargoes, CargoTypes *refits, CargoID cargo_type, uint16 cargo_capacity)
void GetArticulatedVehicleCargoesAndRefits(EngineID engine, CargoArray *cargoes, CargoTypes *refits, CargoID cargo_type, uint cargo_capacity)
{
cargoes->Clear();
*refits = 0;

View File

@@ -56,6 +56,7 @@ struct BaseStation : StationPool::PoolItem<&_station_pool> {
char *name; ///< Custom name
StringID string_id; ///< Default name (town area) of station
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
@@ -108,6 +109,13 @@ struct BaseStation : StationPool::PoolItem<&_station_pool> {
*/
virtual void UpdateVirtCoord() = 0;
inline const char *GetCachedName() const
{
if (this->name != nullptr) return this->name;
if (this->cached_name.empty()) this->FillCachedName();
return this->cached_name.c_str();
}
virtual void MoveSign(TileIndex new_xy)
{
this->xy = new_xy;
@@ -161,6 +169,9 @@ struct BaseStation : StationPool::PoolItem<&_station_pool> {
}
static void PostDestructor(size_t index);
private:
void FillCachedName() const;
};
/**

View File

@@ -11,7 +11,7 @@
#include "base_media_base.h"
#include "blitter/factory.hpp"
#if defined(WITH_FREETYPE)
#if defined(WITH_FREETYPE) || defined(WITH_UNISCRIBE)
#include "core/geometry_func.hpp"
#include "fontcache.h"
@@ -218,7 +218,7 @@ bool HandleBootstrap()
if (BlitterFactory::GetCurrentBlitter()->GetScreenDepth() == 0) goto failure;
/* If there is no network or no freetype, then there is nothing we can do. Go straight to failure. */
#if defined(WITH_FREETYPE) && (defined(WITH_FONTCONFIG) || defined(_WIN32) || defined(__APPLE__))
#if (defined(_WIN32) && defined(WITH_UNISCRIBE)) || (defined(WITH_FREETYPE) && (defined(WITH_FONTCONFIG) || defined(__APPLE__)))
if (!_network_available) goto failure;
/* First tell the game we're bootstrapping. */
@@ -262,6 +262,6 @@ bool HandleBootstrap()
/* Failure to get enough working to get a graphics set. */
failure:
usererror("Failed to find a graphics set. Please acquire a graphics set for OpenTTD. See section 4.1 of README.md.");
usererror("Failed to find a graphics set. Please acquire a graphics set for OpenTTD. See section 1.4 of README.md.");
return false;
}

View File

@@ -928,6 +928,14 @@ int DrawVehiclePurchaseInfo(int left, int right, int y, EngineID engine_number,
/* Additional text from NewGRF */
y = ShowAdditionalText(left, right, y, engine_number);
/* The NewGRF's name which the vehicle comes from */
const GRFConfig *config = GetGRFConfig(e->GetGRFID());
if (_settings_client.gui.show_newgrf_name && config != nullptr)
{
DrawString(left, right, y, config->GetName(), TC_BLACK);
y += FONT_HEIGHT_NORMAL;
}
return y;
}

View File

@@ -105,6 +105,7 @@ CommandProc CmdIncreaseLoan;
CommandProc CmdDecreaseLoan;
CommandProc CmdWantEnginePreview;
CommandProc CmdEngineCtrl;
CommandProc CmdRenameVehicle;
CommandProc CmdRenameEngine;
@@ -130,6 +131,7 @@ CommandProc CmdFoundTown;
CommandProc CmdRenameTown;
CommandProc CmdDoTownAction;
CommandProc CmdTownGrowthRate;
CommandProc CmdTownRating;
CommandProc CmdTownCargoGoal;
CommandProc CmdTownSetText;
CommandProc CmdExpandTown;
@@ -269,6 +271,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(CmdRenameVehicle, 0, CMDT_OTHER_MANAGEMENT ), // CMD_RENAME_VEHICLE
DEF_CMD(CmdRenameEngine, CMD_SERVER, CMDT_OTHER_MANAGEMENT ), // CMD_RENAME_ENGINE
@@ -295,6 +298,7 @@ static const Command _command_proc_table[] = {
DEF_CMD(CmdDoTownAction, 0, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_DO_TOWN_ACTION
DEF_CMD(CmdTownCargoGoal, CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_TOWN_CARGO_GOAL
DEF_CMD(CmdTownGrowthRate, CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_TOWN_GROWTH_RATE
DEF_CMD(CmdTownRating, CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_TOWN_RATING
DEF_CMD(CmdTownSetText, CMD_STR_CTRL | CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_TOWN_SET_TEXT
DEF_CMD(CmdExpandTown, CMD_DEITY, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_EXPAND_TOWN
DEF_CMD(CmdDeleteTown, CMD_OFFLINE, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_DELETE_TOWN

View File

@@ -238,6 +238,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_RENAME_VEHICLE, ///< rename a whole vehicle
CMD_RENAME_ENGINE, ///< rename a engine (in the engine list)
@@ -262,6 +263,7 @@ enum Commands {
CMD_DO_TOWN_ACTION, ///< do a action from the town detail window (like advertises or bribe)
CMD_TOWN_CARGO_GOAL, ///< set the goal of a cargo for a town
CMD_TOWN_GROWTH_RATE, ///< set the town growth rate
CMD_TOWN_RATING, ///< set rating of a company in a town
CMD_TOWN_SET_TEXT, ///< set the custom text of a town
CMD_EXPAND_TOWN, ///< expand a town
CMD_DELETE_TOWN, ///< delete a town

View File

@@ -21,6 +21,7 @@
#include "safeguards.h"
static const uint ICON_TOKEN_COUNT = 20; ///< Maximum number of tokens in one command
static const uint ICON_MAX_RECURSE = 10; ///< Maximum number of recursion
/* console parser */
IConsoleCmd *_iconsole_cmds; ///< list of registered commands
@@ -316,13 +317,18 @@ IConsoleAlias *IConsoleAliasGet(const char *name)
* @param tokencount the number of parameters passed
* @param *tokens are the parameters given to the original command (0 is the first param)
*/
static void IConsoleAliasExec(const IConsoleAlias *alias, byte tokencount, char *tokens[ICON_TOKEN_COUNT])
static void IConsoleAliasExec(const IConsoleAlias *alias, byte tokencount, char *tokens[ICON_TOKEN_COUNT], const uint recurse_count)
{
char alias_buffer[ICON_MAX_STREAMSIZE] = { '\0' };
char *alias_stream = alias_buffer;
DEBUG(console, 6, "Requested command is an alias; parsing...");
if (recurse_count > ICON_MAX_RECURSE) {
IConsoleError("Too many alias expansions, recursion limit reached. Aborting");
return;
}
for (const char *cmdptr = alias->cmdline; *cmdptr != '\0'; cmdptr++) {
switch (*cmdptr) {
case '\'': // ' will double for ""
@@ -330,7 +336,7 @@ static void IConsoleAliasExec(const IConsoleAlias *alias, byte tokencount, char
break;
case ';': // Cmd separator; execute previous and start new command
IConsoleCmdExec(alias_buffer);
IConsoleCmdExec(alias_buffer, recurse_count);
alias_stream = alias_buffer;
*alias_stream = '\0'; // Make sure the new command is terminated.
@@ -390,7 +396,7 @@ static void IConsoleAliasExec(const IConsoleAlias *alias, byte tokencount, char
}
}
IConsoleCmdExec(alias_buffer);
IConsoleCmdExec(alias_buffer, recurse_count);
}
/**
@@ -398,7 +404,7 @@ static void IConsoleAliasExec(const IConsoleAlias *alias, byte tokencount, char
* individual tokens (separated by spaces), then execute it if possible
* @param cmdstr string to be parsed and executed
*/
void IConsoleCmdExec(const char *cmdstr)
void IConsoleCmdExec(const char *cmdstr, const uint recurse_count)
{
const char *cmdptr;
char *tokens[ICON_TOKEN_COUNT], tokenstream[ICON_MAX_STREAMSIZE];
@@ -504,7 +510,7 @@ void IConsoleCmdExec(const char *cmdstr)
t_index--;
IConsoleAlias *alias = IConsoleAliasGet(tokens[0]);
if (alias != nullptr) {
IConsoleAliasExec(alias, t_index, &tokens[1]);
IConsoleAliasExec(alias, t_index, &tokens[1], recurse_count + 1);
return;
}

View File

@@ -33,6 +33,7 @@
#include "ai/ai.hpp"
#include "ai/ai_config.hpp"
#include "newgrf.h"
#include "newgrf_profiling.h"
#include "console_func.h"
#include "engine_base.h"
#include "game/game.hpp"
@@ -469,7 +470,7 @@ DEF_CONSOLE_CMD(ConClearBuffer)
* Network Core Console Commands
**********************************/
static bool ConKickOrBan(const char *argv, bool ban)
static bool ConKickOrBan(const char *argv, bool ban, const char *reason)
{
uint n;
@@ -493,14 +494,14 @@ static bool ConKickOrBan(const char *argv, bool ban)
if (!ban) {
/* Kick only this client, not all clients with that IP */
NetworkServerKickClient(client_id);
NetworkServerKickClient(client_id, reason);
return true;
}
/* When banning, kick+ban all clients with that IP */
n = NetworkServerKickOrBanIP(client_id, ban);
n = NetworkServerKickOrBanIP(client_id, ban, reason);
} else {
n = NetworkServerKickOrBanIP(argv, ban);
n = NetworkServerKickOrBanIP(argv, ban, reason);
}
if (n == 0) {
@@ -515,28 +516,48 @@ static bool ConKickOrBan(const char *argv, bool ban)
DEF_CONSOLE_CMD(ConKick)
{
if (argc == 0) {
IConsoleHelp("Kick a client from a network game. Usage: 'kick <ip | client-id>'");
IConsoleHelp("Kick a client from a network game. Usage: 'kick <ip | client-id> [<kick-reason>]'");
IConsoleHelp("For client-id's, see the command 'clients'");
return true;
}
if (argc != 2) return false;
if (argc != 2 && argc != 3) return false;
return ConKickOrBan(argv[1], false);
/* No reason supplied for kicking */
if (argc == 2) return ConKickOrBan(argv[1], false, nullptr);
/* Reason for kicking supplied */
size_t kick_message_length = strlen(argv[2]);
if (kick_message_length >= 255) {
IConsolePrintF(CC_ERROR, "ERROR: Maximum kick message length is 254 characters. You entered " PRINTF_SIZE " characters.", kick_message_length);
return false;
} else {
return ConKickOrBan(argv[1], false, argv[2]);
}
}
DEF_CONSOLE_CMD(ConBan)
{
if (argc == 0) {
IConsoleHelp("Ban a client from a network game. Usage: 'ban <ip | client-id>'");
IConsoleHelp("Ban a client from a network game. Usage: 'ban <ip | client-id> [<ban-reason>]'");
IConsoleHelp("For client-id's, see the command 'clients'");
IConsoleHelp("If the client is no longer online, you can still ban his/her IP");
return true;
}
if (argc != 2) return false;
if (argc != 2 && argc != 3) return false;
return ConKickOrBan(argv[1], true);
/* No reason supplied for kicking */
if (argc == 2) return ConKickOrBan(argv[1], true, nullptr);
/* Reason for kicking supplied */
size_t kick_message_length = strlen(argv[2]);
if (kick_message_length >= 255) {
IConsolePrintF(CC_ERROR, "ERROR: Maximum kick message length is 254 characters. You entered " PRINTF_SIZE " characters.", kick_message_length);
return false;
} else {
return ConKickOrBan(argv[1], true, argv[2]);
}
}
DEF_CONSOLE_CMD(ConUnBan)
@@ -1349,10 +1370,11 @@ DEF_CONSOLE_CMD(ConAlias)
DEF_CONSOLE_CMD(ConScreenShot)
{
if (argc == 0) {
IConsoleHelp("Create a screenshot of the game. Usage: 'screenshot [big | giant | no_con] [file name]'");
IConsoleHelp("Create a screenshot of the game. Usage: 'screenshot [big | giant | no_con | minimap] [file name]'");
IConsoleHelp("'big' makes a zoomed-in screenshot of the visible area, 'giant' makes a screenshot of the "
"whole map, 'no_con' hides the console to create the screenshot. 'big' or 'giant' "
"screenshots are always drawn without console");
"screenshots are always drawn without console. "
"'minimap' makes a top-viewed minimap screenshot of whole world which represents one tile by one pixel.");
return true;
}
@@ -1370,6 +1392,10 @@ DEF_CONSOLE_CMD(ConScreenShot)
/* screenshot giant [filename] */
type = SC_WORLD;
if (argc > 2) name = argv[2];
} else if (strcmp(argv[1], "minimap") == 0) {
/* screenshot minimap [filename] */
type = SC_MINIMAP;
if (argc > 2) name = argv[2];
} else if (strcmp(argv[1], "no_con") == 0) {
/* screenshot no_con [filename] */
IConsoleClose();
@@ -1872,6 +1898,135 @@ DEF_CONSOLE_CMD(ConNewGRFReload)
return true;
}
DEF_CONSOLE_CMD(ConNewGRFProfile)
{
if (argc == 0) {
IConsoleHelp("Collect performance data about NewGRF sprite requests and callbacks. Sub-commands can be abbreviated.");
IConsoleHelp("Usage: newgrf_profile [list]");
IConsoleHelp(" List all NewGRFs that can be profiled, and their status.");
IConsoleHelp("Usage: newgrf_profile select <grf-num>...");
IConsoleHelp(" Select one or more GRFs for profiling.");
IConsoleHelp("Usage: newgrf_profile unselect <grf-num>...");
IConsoleHelp(" Unselect one or more GRFs from profiling. Use the keyword \"all\" instead of a GRF number to unselect all. Removing an active profiler aborts data collection.");
IConsoleHelp("Usage: newgrf_profile start [<num-days>]");
IConsoleHelp(" Begin profiling all selected GRFs. If a number of days is provided, profiling stops after that many in-game days.");
IConsoleHelp("Usage: newgrf_profile stop");
IConsoleHelp(" End profiling and write the collected data to CSV files.");
IConsoleHelp("Usage: newgrf_profile abort");
IConsoleHelp(" End profiling and discard all collected data.");
return true;
}
extern const std::vector<GRFFile *> &GetAllGRFFiles();
const std::vector<GRFFile *> &files = GetAllGRFFiles();
/* "list" sub-command */
if (argc == 1 || strncasecmp(argv[1], "lis", 3) == 0) {
IConsolePrint(CC_INFO, "Loaded GRF files:");
int i = 1;
for (GRFFile *grf : files) {
auto profiler = std::find_if(_newgrf_profilers.begin(), _newgrf_profilers.end(), [&](NewGRFProfiler &pr) { return pr.grffile == grf; });
bool selected = profiler != _newgrf_profilers.end();
bool active = selected && profiler->active;
TextColour tc = active ? TC_LIGHT_BLUE : selected ? TC_GREEN : CC_INFO;
const char *statustext = active ? " (active)" : selected ? " (selected)" : "";
IConsolePrintF(tc, "%d: [%08X] %s%s", i, BSWAP32(grf->grfid), grf->filename, statustext);
i++;
}
return true;
}
/* "select" sub-command */
if (strncasecmp(argv[1], "sel", 3) == 0 && argc >= 3) {
for (size_t argnum = 2; argnum < argc; ++argnum) {
int grfnum = atoi(argv[argnum]);
if (grfnum < 1 || grfnum > (int)files.size()) { // safe cast, files.size() should not be larger than a few hundred in the most extreme cases
IConsolePrintF(CC_WARNING, "GRF number %d out of range, not added.", grfnum);
continue;
}
GRFFile *grf = files[grfnum - 1];
if (std::any_of(_newgrf_profilers.begin(), _newgrf_profilers.end(), [&](NewGRFProfiler &pr) { return pr.grffile == grf; })) {
IConsolePrintF(CC_WARNING, "GRF number %d [%08X] is already selected for profiling.", grfnum, BSWAP32(grf->grfid));
continue;
}
_newgrf_profilers.emplace_back(grf);
}
return true;
}
/* "unselect" sub-command */
if (strncasecmp(argv[1], "uns", 3) == 0 && argc >= 3) {
for (size_t argnum = 2; argnum < argc; ++argnum) {
if (strcasecmp(argv[argnum], "all") == 0) {
_newgrf_profilers.clear();
break;
}
int grfnum = atoi(argv[argnum]);
if (grfnum < 1 || grfnum > (int)files.size()) {
IConsolePrintF(CC_WARNING, "GRF number %d out of range, not removing.", grfnum);
continue;
}
GRFFile *grf = files[grfnum - 1];
auto pos = std::find_if(_newgrf_profilers.begin(), _newgrf_profilers.end(), [&](NewGRFProfiler &pr) { return pr.grffile == grf; });
if (pos != _newgrf_profilers.end()) _newgrf_profilers.erase(pos);
}
return true;
}
/* "start" sub-command */
if (strncasecmp(argv[1], "sta", 3) == 0) {
std::string grfids;
size_t started = 0;
for (NewGRFProfiler &pr : _newgrf_profilers) {
if (!pr.active) {
pr.Start();
started++;
if (!grfids.empty()) grfids += ", ";
char grfidstr[12]{ 0 };
seprintf(grfidstr, lastof(grfidstr), "[%08X]", BSWAP32(pr.grffile->grfid));
grfids += grfidstr;
}
}
if (started > 0) {
IConsolePrintF(CC_DEBUG, "Started profiling for GRFID%s %s", (started > 1) ? "s" : "", grfids.c_str());
if (argc >= 3) {
int days = max(atoi(argv[2]), 1);
_newgrf_profile_end_date = _date + days;
char datestrbuf[32]{ 0 };
SetDParam(0, _newgrf_profile_end_date);
GetString(datestrbuf, STR_JUST_DATE_ISO, lastof(datestrbuf));
IConsolePrintF(CC_DEBUG, "Profiling will automatically stop on game date %s", datestrbuf);
} else {
_newgrf_profile_end_date = MAX_DAY;
}
} else if (_newgrf_profilers.empty()) {
IConsolePrintF(CC_WARNING, "No GRFs selected for profiling, did not start.");
} else {
IConsolePrintF(CC_WARNING, "Did not start profiling for any GRFs, all selected GRFs are already profiling.");
}
return true;
}
/* "stop" sub-command */
if (strncasecmp(argv[1], "sto", 3) == 0) {
NewGRFProfiler::FinishAll();
return true;
}
/* "abort" sub-command */
if (strncasecmp(argv[1], "abo", 3) == 0) {
for (NewGRFProfiler &pr : _newgrf_profilers) {
pr.Abort();
}
_newgrf_profile_end_date = MAX_DAY;
return true;
}
return false;
}
#ifdef _DEBUG
/******************
* debug commands
@@ -2051,4 +2206,5 @@ void IConsoleStdLibRegister()
/* NewGRF development stuff */
IConsoleCmdRegister("reload_newgrfs", ConNewGRFReload, ConHookNewGRFDeveloperTool);
IConsoleCmdRegister("newgrf_profile", ConNewGRFProfile, ConHookNewGRFDeveloperTool);
}

View File

@@ -28,7 +28,7 @@ void IConsoleWarning(const char *string);
void IConsoleError(const char *string);
/* Parser */
void IConsoleCmdExec(const char *cmdstr);
void IConsoleCmdExec(const char *cmdstr, const uint recurse_count = 0);
bool IsValidConsoleColour(TextColour c);

View File

@@ -33,6 +33,13 @@
# else
# define TTD_ENDIAN TTD_BIG_ENDIAN
# endif
#elif defined(__OpenBSD__)
# include <endian.h>
# if BYTE_ORDER == LITTLE_ENDIAN
# define TTD_ENDIAN TTD_LITTLE_ENDIAN
# else
# define TTD_ENDIAN TTD_BIG_ENDIAN
# endif
#elif !defined(TESTING)
# include <sys/param.h>
# if __BYTE_ORDER == __LITTLE_ENDIAN

View File

@@ -12,7 +12,6 @@
#include "smallvec_type.hpp"
#include "enum_type.hpp"
#include <functional>
/** Various types of a pool. */
enum PoolType {
@@ -149,9 +148,8 @@ struct Pool : PoolBase {
typedef size_t difference_type;
typedef std::forward_iterator_tag iterator_category;
explicit PoolIterator(size_t index, std::function<bool(size_t)> filter = nullptr) : index(index), filter(filter)
explicit PoolIterator(size_t index) : index(index)
{
if (this->filter == nullptr) this->filter = [](size_t) { return true; };
this->ValidateIndex();
};
@@ -162,8 +160,7 @@ struct Pool : PoolBase {
private:
size_t index;
std::function<bool(size_t)> filter;
void ValidateIndex() { while (this->index < T::GetPoolSize() && !(T::IsValidID(this->index) && this->filter(this->index))) this->index++; }
void ValidateIndex() { while (this->index < T::GetPoolSize() && !(T::IsValidID(this->index))) this->index++; }
};
/*
@@ -173,13 +170,54 @@ struct Pool : PoolBase {
template <class T>
struct IterateWrapper {
size_t from;
std::function<bool(size_t)> filter;
IterateWrapper(size_t from = 0, std::function<bool(size_t)> filter = nullptr) : from(from), filter(filter) {}
PoolIterator<T> begin() { return PoolIterator<T>(this->from, this->filter); }
IterateWrapper(size_t from = 0) : from(from) {}
PoolIterator<T> begin() { return PoolIterator<T>(this->from); }
PoolIterator<T> end() { return PoolIterator<T>(T::GetPoolSize()); }
bool empty() { return this->begin() == this->end(); }
};
/**
* Iterator to iterate all valid T of a pool
* @tparam T Type of the class/struct that is going to be iterated
*/
template <class T, class F>
struct PoolIteratorFiltered {
typedef T value_type;
typedef T* pointer;
typedef T& reference;
typedef size_t difference_type;
typedef std::forward_iterator_tag iterator_category;
explicit PoolIteratorFiltered(size_t index, F filter) : index(index), filter(filter)
{
this->ValidateIndex();
};
bool operator==(const PoolIteratorFiltered &other) const { return this->index == other.index; }
bool operator!=(const PoolIteratorFiltered &other) const { return !(*this == other); }
T * operator*() const { return T::Get(this->index); }
PoolIteratorFiltered & operator++() { this->index++; this->ValidateIndex(); return *this; }
private:
size_t index;
F filter;
void ValidateIndex() { while (this->index < T::GetPoolSize() && !(T::IsValidID(this->index) && this->filter(this->index))) this->index++; }
};
/*
* Iterable ensemble of all valid T
* @tparam T Type of the class/struct that is going to be iterated
*/
template <class T, class F>
struct IterateWrapperFiltered {
size_t from;
F filter;
IterateWrapperFiltered(size_t from, F filter) : from(from), filter(filter) {}
PoolIteratorFiltered<T, F> begin() { return PoolIteratorFiltered<T, F>(this->from, this->filter); }
PoolIteratorFiltered<T, F> end() { return PoolIteratorFiltered<T, F>(T::GetPoolSize(), this->filter); }
bool empty() { return this->begin() == this->end(); }
};
/**
* Base class for all PoolItems
* @tparam Tpool The pool this item is going to be part of

View File

@@ -18,6 +18,7 @@
#include "rail_gui.h"
#include "linkgraph/linkgraph.h"
#include "saveload/saveload.h"
#include "newgrf_profiling.h"
#include "safeguards.h"
@@ -27,6 +28,8 @@ Date _date; ///< Current date in days (day counter)
DateFract _date_fract; ///< Fractional part of the day.
uint16 _tick_counter; ///< Ever incrementing (and sometimes wrapping) tick counter for setting off various events
int32 _old_ending_year_slv_105; ///< Old ending year for savegames before SLV_105
/**
* Set the date.
* @param date New date
@@ -197,8 +200,8 @@ static void OnNewYear()
if (_cur_year == _settings_client.gui.semaphore_build_before) ResetSignalVariant();
/* check if we reached end of the game */
if (_cur_year == ORIGINAL_END_YEAR) {
/* check if we reached end of the game (end of ending year) */
if (_cur_year == _settings_game.game_creation.ending_year + 1) {
ShowEndGameChart();
/* check if we reached the maximum year, decrement dates by a year */
} else if (_cur_year == MAX_YEAR + 1) {
@@ -243,6 +246,10 @@ static void OnNewMonth()
*/
static void OnNewDay()
{
if (!_newgrf_profilers.empty() && _newgrf_profile_end_date <= _date) {
NewGRFProfiler::FinishAll();
}
if (_network_server) NetworkServerDailyLoop();
DisasterDailyLoop();

View File

@@ -84,6 +84,8 @@ static const Year MIN_YEAR = 0;
/** The default starting year */
static const Year DEF_START_YEAR = 1950;
/** The default scoring end year */
static const Year DEF_END_YEAR = ORIGINAL_END_YEAR - 1;
/**
* MAX_YEAR, nicely rounded value of the number of years that can

View File

@@ -27,6 +27,8 @@ INSTANTIATE_POOL_METHODS(Depot)
*/
Depot::~Depot()
{
free(this->name);
if (CleaningPool()) return;
if (!IsDepotTile(this->xy) || GetDepotIndex(this->xy) != this->index) {

View File

@@ -1216,10 +1216,11 @@ void CargoPayment::PayFinalDelivery(const CargoPacket *cp, uint count)
*/
Money CargoPayment::PayTransfer(const CargoPacket *cp, uint count)
{
Money profit = GetTransportedGoodsIncome(
Money profit = -cp->FeederShare(count) + GetTransportedGoodsIncome(
count,
/* pay transfer vehicle for only the part of transfer it has done: ie. cargo_loaded_at_xy to here */
DistanceManhattan(cp->LoadedAtXY(), Station::Get(this->current_station)->xy),
/* pay transfer vehicle the difference between the payment for the journey from
* the source to the current point, and the sum of the previous transfer payments */
DistanceManhattan(cp->SourceStationXY(), Station::Get(this->current_station)->xy),
cp->DaysInTransit(),
this->ct);

View File

@@ -710,11 +710,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);
@@ -728,15 +728,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);
}
}
/**
* 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);
}
}
/* 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);
/**
* 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.
@@ -891,6 +921,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.

View File

@@ -142,15 +142,21 @@ struct Engine : EnginePool::PoolItem<&_engine_pool> {
uint32 GetGRFID() const;
struct EngineTypeFilter {
VehicleType vt;
bool operator() (size_t index) { return Engine::Get(index)->type == this->vt; }
};
/**
* Returns an iterable ensemble of all valid engines of the given type
* @param vt the VehicleType for engines to be valid
* @param from index of the first engine to consider
* @return an iterable ensemble of all valid engines of the given type
*/
static Pool::IterateWrapper<Engine> IterateType(VehicleType vt, size_t from = 0)
static Pool::IterateWrapperFiltered<Engine, EngineTypeFilter> IterateType(VehicleType vt, size_t from = 0)
{
return Pool::IterateWrapper<Engine>(from, [vt](size_t index) { return Engine::Get(index)->type == vt; });
return Pool::IterateWrapperFiltered<Engine, EngineTypeFilter>(from, EngineTypeFilter{ vt });
}
};

View File

@@ -24,7 +24,7 @@ extern const uint8 _engine_offsets[4];
bool IsEngineBuildable(EngineID engine, VehicleType type, CompanyID company);
bool IsEngineRefittable(EngineID engine);
void GetArticulatedVehicleCargoesAndRefits(EngineID engine, CargoArray *cargoes, CargoTypes *refits, CargoID cargo_type, uint16 cargo_capacity);
void GetArticulatedVehicleCargoesAndRefits(EngineID engine, CargoArray *cargoes, CargoTypes *refits, CargoID cargo_type, uint cargo_capacity);
void SetYearEngineAgingStops();
void StartupOneEngine(Engine *e, Date aging_date);

View File

@@ -527,10 +527,24 @@ FILE *FioFOpenFile(const char *filename, const char *mode, Subdirectory subdir,
/**
* Create a directory with the given name
* If the parent directory does not exist, it will try to create that as well.
* @param name the new name of the directory
*/
void FioCreateDirectory(const char *name)
{
char dirname[MAX_PATH];
strecpy(dirname, name, lastof(dirname));
char *p = strrchr(dirname, PATHSEPCHAR);
if (p != nullptr) {
*p = '\0';
DIR *dir = ttd_opendir(dirname);
if (dir == nullptr) {
FioCreateDirectory(dirname); // Try creating the parent directory, if we couldn't open it
} else {
closedir(dir);
}
}
/* Ignore directory creation errors; they'll surface later on, and most
* of the time they are 'directory already exists' errors anyhow. */
#if defined(_WIN32)

View File

@@ -269,8 +269,9 @@ private:
AbstractFileType abstract_filetype; /// Type of file to select.
SaveLoadOperation fop; ///< File operation to perform.
FileList fios_items; ///< Save game list.
FiosItem o_dir;
FiosItem o_dir; ///< Original dir (home dir for this browser)
const FiosItem *selected; ///< Selected game in #fios_items, or \c nullptr.
const FiosItem *highlighted; ///< Item in fios_items highlighted by mouse pointer, or \c nullptr.
Scrollbar *vscroll;
StringFilter string_filter; ///< Filter for available games.
@@ -445,6 +446,8 @@ public:
if (item == this->selected) {
GfxFillRect(r.left + 1, y, r.right, y + this->resize.step_height, PC_DARK_BLUE);
} else if (item == this->highlighted) {
GfxFillRect(r.left + 1, y, r.right, y + this->resize.step_height, PC_VERY_DARK_BLUE);
}
DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, item->title, _fios_colours[GetDetailedFileType(item->type)]);
y += this->resize.step_height;
@@ -714,6 +717,33 @@ public:
}
}
void OnMouseLoop() override
{
const Point pt{ _cursor.pos.x - this->left, _cursor.pos.y - this->top };
const int widget = GetWidgetFromPos(this, pt.x, pt.y);
if (widget == WID_SL_DRIVES_DIRECTORIES_LIST) {
int y = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_SL_DRIVES_DIRECTORIES_LIST, WD_FRAMERECT_TOP);
if (y == INT_MAX) return;
/* Get the corresponding non-filtered out item from the list */
int i = 0;
while (i <= y) {
if (!this->fios_items_shown[i]) y++;
i++;
}
const FiosItem *file = this->fios_items.Get(y);
if (file != this->highlighted) {
this->highlighted = file;
this->SetWidgetDirty(WID_SL_DRIVES_DIRECTORIES_LIST);
}
} else if (this->highlighted != nullptr) {
this->highlighted = nullptr;
this->SetWidgetDirty(WID_SL_DRIVES_DIRECTORIES_LIST);
}
}
EventState OnKeyPress(WChar key, uint16 keycode) override
{
if (keycode == WKC_ESC) {

View File

@@ -87,6 +87,11 @@ void GamelogStopAction()
if (print) GamelogPrintDebug(5);
}
void GamelogStopAnyAction()
{
if (_gamelog_action_type != GLAT_NONE) GamelogStopAction();
}
/**
* Frees the memory allocated by a gamelog
*/

View File

@@ -27,6 +27,7 @@ enum GamelogActionType {
void GamelogStartAction(GamelogActionType at);
void GamelogStopAction();
void GamelogStopAnyAction();
void GamelogFree(struct LoggedAction *gamelog_action, uint gamelog_actions);
void GamelogReset();

View File

@@ -154,6 +154,144 @@ void GfxFillRect(int left, int top, int right, int bottom, int colour, FillRectM
}
}
typedef std::pair<Point, Point> LineSegment;
/**
* Make line segments from a polygon defined by points, translated by an offset.
* Entirely horizontal lines (start and end at same Y coordinate) are skipped, as they are irrelevant to scanline conversion algorithms.
* Generated line segments always have the lowest Y coordinate point first, i.e. original direction is lost.
* @param shape The polygon to convert.
* @param offset Offset vector subtracted from all coordinates in the shape.
* @return Vector of undirected line segments.
*/
static std::vector<LineSegment> MakePolygonSegments(const std::vector<Point> &shape, Point offset)
{
std::vector<LineSegment> segments;
if (shape.size() < 3) return segments; // fewer than 3 will always result in an empty polygon
segments.reserve(shape.size());
/* Connect first and last point by having initial previous point be the last */
Point prev = shape.back();
prev.x -= offset.x;
prev.y -= offset.y;
for (Point pt : shape) {
pt.x -= offset.x;
pt.y -= offset.y;
/* Create segments for all non-horizontal lines in the polygon.
* The segments always have lowest Y coordinate first. */
if (prev.y > pt.y) {
segments.emplace_back(pt, prev);
} else if (prev.y < pt.y) {
segments.emplace_back(prev, pt);
}
prev = pt;
}
return segments;
}
/**
* Fill a polygon with colour.
* The odd-even winding rule is used, i.e. self-intersecting polygons will have holes in them.
* Left and top edges are inclusive, right and bottom edges are exclusive.
* @note For rectangles the GfxFillRect function will be faster.
* @pre dpi->zoom == ZOOM_LVL_NORMAL
* @param shape List of points on the polygon.
* @param colour An 8 bit palette index (FILLRECT_OPAQUE and FILLRECT_CHECKER) or a recolour spritenumber (FILLRECT_RECOLOUR).
* @param mode
* FILLRECT_OPAQUE: Fill the polygon with the specified colour.
* FILLRECT_CHECKER: Fill every other pixel with the specified colour, in a checkerboard pattern.
* FILLRECT_RECOLOUR: Apply a recolour sprite to every pixel in the polygon.
*/
void GfxFillPolygon(const std::vector<Point> &shape, int colour, FillRectMode mode)
{
Blitter *blitter = BlitterFactory::GetCurrentBlitter();
const DrawPixelInfo *dpi = _cur_dpi;
if (dpi->zoom != ZOOM_LVL_NORMAL) return;
std::vector<LineSegment> segments = MakePolygonSegments(shape, Point{ dpi->left, dpi->top });
/* Remove segments appearing entirely above or below the clipping area. */
segments.erase(std::remove_if(segments.begin(), segments.end(), [dpi](const LineSegment &s) { return s.second.y <= 0 || s.first.y >= dpi->height; }), segments.end());
/* Check that this wasn't an empty shape (all points on a horizontal line or outside clipping.) */
if (segments.empty()) return;
/* Sort the segments by first point Y coordinate. */
std::sort(segments.begin(), segments.end(), [](const LineSegment &a, const LineSegment &b) { return a.first.y < b.first.y; });
/* Segments intersecting current scanline. */
std::vector<LineSegment> active;
/* Intersection points with a scanline.
* Kept outside loop to avoid repeated re-allocations. */
std::vector<int> intersections;
/* Normal, reasonable polygons don't have many intersections per scanline. */
active.reserve(4);
intersections.reserve(4);
/* Scan through the segments and paint each scanline. */
int y = segments.front().first.y;
std::vector<LineSegment>::iterator nextseg = segments.begin();
while (!active.empty() || nextseg != segments.end()) {
/* Clean up segments that have ended. */
active.erase(std::remove_if(active.begin(), active.end(), [y](const LineSegment &s) { return s.second.y == y; }), active.end());
/* Activate all segments starting on this scanline. */
while (nextseg != segments.end() && nextseg->first.y == y) {
active.push_back(*nextseg);
++nextseg;
}
/* Check clipping. */
if (y < 0) {
++y;
continue;
}
if (y >= dpi->height) return;
/* Intersect scanline with all active segments. */
intersections.clear();
for (const LineSegment &s : active) {
const int sdx = s.second.x - s.first.x;
const int sdy = s.second.y - s.first.y;
const int ldy = y - s.first.y;
const int x = s.first.x + sdx * ldy / sdy;
intersections.push_back(x);
}
/* Fill between pairs of intersections. */
std::sort(intersections.begin(), intersections.end());
for (size_t i = 1; i < intersections.size(); i += 2) {
/* Check clipping. */
const int x1 = max(0, intersections[i - 1]);
const int x2 = min(intersections[i], dpi->width);
if (x2 < 0) continue;
if (x1 >= dpi->width) continue;
/* Fill line y from x1 to x2. */
void *dst = blitter->MoveTo(dpi->dst_ptr, x1, y);
switch (mode) {
default: // FILLRECT_OPAQUE
blitter->DrawRect(dst, x2 - x1, 1, (uint8)colour);
break;
case FILLRECT_RECOLOUR:
blitter->DrawColourMappingRect(dst, x2 - x1, 1, GB(colour, 0, PALETTE_WIDTH));
break;
case FILLRECT_CHECKER:
/* Fill every other pixel, offset such that the sum of filled pixels' X and Y coordinates is odd.
* This creates a checkerboard effect. */
for (int x = (x1 + y) & 1; x < x2 - x1; x += 2) {
blitter->SetPixel(dst, x, 0, (uint8)colour);
}
break;
}
}
/* Next line */
++y;
}
}
/**
* Check line clipping by using a linear equation and draw the visible part of
* the line given by x/y and x2/y2.

View File

@@ -115,6 +115,7 @@ int DrawStringMultiLine(int left, int right, int top, int bottom, StringID str,
void DrawCharCentered(uint32 c, int x, int y, TextColour colour);
void GfxFillRect(int left, int top, int right, int bottom, int colour, FillRectMode mode = FILLRECT_OPAQUE);
void GfxFillPolygon(const std::vector<Point> &shape, int colour, FillRectMode mode = FILLRECT_OPAQUE);
void GfxDrawLine(int left, int top, int right, int bottom, int colour, int width = 1, int dash = 0);
void DrawBox(int x, int y, int dx1, int dy1, int dx2, int dy2, int dx3, int dy3);
@@ -219,7 +220,14 @@ static const uint8 PC_VERY_LIGHT_YELLOW = 0x45; ///< Almost-white yel
static const uint8 PC_GREEN = 0xD0; ///< Green palette colour.
static const uint8 PC_VERY_DARK_BLUE = 0x9A; ///< Almost-black blue palette colour.
static const uint8 PC_DARK_BLUE = 0x9D; ///< Dark blue palette colour.
static const uint8 PC_LIGHT_BLUE = 0x98; ///< Light blue palette colour.
static const uint8 PC_ROUGH_LAND = 0x52; ///< Dark green palette colour for rough land.
static const uint8 PC_GRASS_LAND = 0x54; ///< Dark green palette colour for grass land.
static const uint8 PC_BARE_LAND = 0x37; ///< Brown palette colour for bare land.
static const uint8 PC_FIELDS = 0x25; ///< Light brown palette colour for fields.
static const uint8 PC_TREES = 0x57; ///< Green palette colour for trees.
static const uint8 PC_WATER = 0xC9; ///< Dark blue palette colour for water.
#endif /* GFX_FUNC_H */

View File

@@ -631,6 +631,8 @@ static inline void GetLayouter(Layouter::LineCacheItem &line, const char *&str,
} else if (c >= SCC_FIRST_FONT && c <= SCC_LAST_FONT) {
state.SetFontSize((FontSize)(c - SCC_FIRST_FONT));
} else {
/* Filter out non printable characters */
if (!IsPrintable(c)) continue;
/* Filter out text direction characters that shouldn't be drawn, and
* will not be handled in the fallback non ICU case because they are
* mostly needed for RTL languages which need more ICU support. */

View File

@@ -244,7 +244,7 @@ CommandCost CmdSetGoalCompleted(TileIndex tile, DoCommandFlag flags, uint32 p1,
*/
CommandCost CmdGoalQuestion(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
{
uint16 uniqueid = (GoalType)GB(p1, 0, 16);
uint16 uniqueid = (uint16)GB(p1, 0, 16);
CompanyID company = (CompanyID)GB(p1, 16, 8);
ClientID client = (ClientID)GB(p1, 16, 16);

View File

@@ -19,6 +19,7 @@
#include "core/geometry_func.hpp"
#include "company_func.h"
#include "company_base.h"
#include "company_gui.h"
#include "story_base.h"
#include "command_func.h"
#include "string_func.h"
@@ -86,7 +87,7 @@ struct GoalListWindow : public Window {
if (y < 0) return;
for (const Goal *s : Goal::Iterate()) {
if (s->company == this->window_number) {
if (s->company == this->window_number && s->company != INVALID_COMPANY) {
y--;
if (y == 0) {
this->HandleClick(s);
@@ -106,7 +107,12 @@ struct GoalListWindow : public Window {
TileIndex xy;
switch (s->type) {
case GT_NONE: return;
case GT_COMPANY: return;
case GT_COMPANY:
/* s->dst here is not a tile, but a CompanyID.
* Show the window with the overview of the company instead. */
ShowCompany((CompanyID)s->dst);
return;
case GT_TILE:
if (!IsValidTile(s->dst)) return;

View File

@@ -299,7 +299,7 @@ private:
spr = SPR_PROFIT_NA;
} else if (profit_last_year < 0) {
spr = SPR_PROFIT_NEGATIVE;
} else if (profit_last_year < (Money)10000 * num_profit_vehicle) { // TODO magic number
} else if (profit_last_year < VEHICLE_PROFIT_THRESHOLD * num_profit_vehicle) {
spr = SPR_PROFIT_SOME;
} else {
spr = SPR_PROFIT_LOT;
@@ -1017,6 +1017,7 @@ public:
}
this->groups.ForceRebuild();
this->BuildGroupList(this->owner);
this->group_sb->SetCount((uint)this->groups.size());
id_g = find_index(this->groups, g);
}
this->group_sb->ScrollTowards(id_g);

View File

@@ -38,10 +38,15 @@ static const KeycodeNames _keycode_to_name[] = {
{"META", WKC_META},
{"GLOBAL", WKC_GLOBAL_HOTKEY},
{"ESC", WKC_ESC},
{"DEL", WKC_DELETE},
{"BACKSPACE", WKC_BACKSPACE},
{"INS", WKC_INSERT},
{"DEL", WKC_DELETE},
{"PAGEUP", WKC_PAGEUP},
{"PAGEDOWN", WKC_PAGEDOWN},
{"END", WKC_END},
{"HOME", WKC_HOME},
{"RETURN", WKC_RETURN},
{"BACKQUOTE", WKC_BACKQUOTE},
{"SPACE", WKC_SPACE},
{"F1", WKC_F1},
{"F2", WKC_F2},
{"F3", WKC_F3},
@@ -54,11 +59,24 @@ static const KeycodeNames _keycode_to_name[] = {
{"F10", WKC_F10},
{"F11", WKC_F11},
{"F12", WKC_F12},
{"BACKQUOTE", WKC_BACKQUOTE},
{"PAUSE", WKC_PAUSE},
{"COMMA", WKC_COMMA},
{"NUM_PLUS", WKC_NUM_PLUS},
{"NUM_DIV", WKC_NUM_DIV},
{"NUM_MUL", WKC_NUM_MUL},
{"NUM_MINUS", WKC_NUM_MINUS},
{"NUM_PLUS", WKC_NUM_PLUS},
{"NUM_ENTER", WKC_NUM_ENTER},
{"NUM_DOT", WKC_NUM_DECIMAL},
{"/", WKC_SLASH},
{";", WKC_SEMICOLON},
{"=", WKC_EQUALS},
{"[", WKC_L_BRACKET},
{"\\", WKC_BACKSLASH},
{"]", WKC_R_BRACKET},
{"'", WKC_SINGLEQUOTE},
{",", WKC_COMMA},
{"COMMA", WKC_COMMA}, // legacy variant, should be below ","
{".", WKC_PERIOD},
{"-", WKC_MINUS},
};

View File

@@ -62,6 +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.
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
@@ -157,10 +158,21 @@ struct Industry : IndustryPool::PoolItem<&_industry_pool> {
memset(&counts, 0, sizeof(counts));
}
inline const char *GetCachedName() const
{
if (this->cached_name.empty()) this->FillCachedName();
return this->cached_name.c_str();
}
private:
void FillCachedName() const;
protected:
static uint16 counts[NUM_INDUSTRYTYPES]; ///< Number of industries per type ingame
};
void ClearAllIndustryCachedNames();
void PlantRandomFarmField(const Industry *i);
void ReleaseDisastersTargetingIndustry(IndustryID);
@@ -197,4 +209,12 @@ struct IndustryBuildData {
extern IndustryBuildData _industry_builder;
/** Special values for the industry list window for the data parameter of #InvalidateWindowData. */
enum IndustryDirectoryInvalidateWindowData {
IDIWD_FORCE_REBUILD,
IDIWD_PRODUCTION_CHANGE,
IDIWD_FORCE_RESORT,
};
#endif /* INDUSTRY_H */

View File

@@ -204,7 +204,7 @@ Industry::~Industry()
*/
void Industry::PostDestructor(size_t index)
{
InvalidateWindowData(WC_INDUSTRY_DIRECTORY, 0, 0);
InvalidateWindowData(WC_INDUSTRY_DIRECTORY, 0, IDIWD_FORCE_REBUILD);
}
@@ -1697,20 +1697,12 @@ static void PopulateStationsNearby(Industry *ind)
return;
}
/* Get our list of nearby stations. */
FindStationsAroundTiles(ind->location, &ind->stations_near, false);
/* Test if industry can accept cargo */
uint cargo_index;
for (cargo_index = 0; cargo_index < lengthof(ind->accepts_cargo); cargo_index++) {
if (ind->accepts_cargo[cargo_index] != CT_INVALID) break;
}
if (cargo_index >= lengthof(ind->accepts_cargo)) return;
/* Cargo is accepted, add industry to nearby stations nearby industry list. */
for (Station *st : ind->stations_near) {
st->industries_near.insert(ind);
}
ForAllStationsAroundTiles(ind->location, [ind](Station *st, TileIndex tile) {
if (!IsTileType(tile, MP_INDUSTRY) || GetIndustryIndex(tile) != ind->index) return false;
ind->stations_near.insert(st);
st->AddIndustryToDeliver(ind);
return true;
});
}
/**
@@ -1822,6 +1814,11 @@ static void DoCreateNewIndustry(Industry *i, TileIndex tile, IndustryType type,
break;
}
CargoID cargo = GetCargoTranslation(GB(res, 0, 8), indspec->grf_prop.grffile);
/* Industries without "unlimited" cargo types support depend on the specific order/slots of cargo types.
* They need to be able to blank out specific slots without aborting the callback sequence,
* and solve this by returning undefined cargo indexes. Skip these. */
if (cargo == CT_INVALID && !(indspec->behaviour & INDUSTRYBEH_CARGOTYPES_UNLIMITED)) continue;
/* Verify valid cargo */
if (std::find(indspec->accepts_cargo, endof(indspec->accepts_cargo), cargo) == endof(indspec->accepts_cargo)) {
/* Cargo not in spec, error in NewGRF */
ErrorUnknownCallbackResult(indspec->grf_prop.grffile->grfid, CBID_INDUSTRY_INPUT_CARGO_TYPES, res);
@@ -1849,6 +1846,9 @@ static void DoCreateNewIndustry(Industry *i, TileIndex tile, IndustryType type,
break;
}
CargoID cargo = GetCargoTranslation(GB(res, 0, 8), indspec->grf_prop.grffile);
/* Allow older GRFs to skip slots. */
if (cargo == CT_INVALID && !(indspec->behaviour & INDUSTRYBEH_CARGOTYPES_UNLIMITED)) continue;
/* Verify valid cargo */
if (std::find(indspec->produced_cargo, endof(indspec->produced_cargo), cargo) == endof(indspec->produced_cargo)) {
/* Cargo not in spec, error in NewGRF */
ErrorUnknownCallbackResult(indspec->grf_prop.grffile->grfid, CBID_INDUSTRY_OUTPUT_CARGO_TYPES, res);
@@ -1892,7 +1892,7 @@ static void DoCreateNewIndustry(Industry *i, TileIndex tile, IndustryType type,
if (GetIndustrySpec(i->type)->behaviour & INDUSTRYBEH_PLANT_ON_BUILT) {
for (uint j = 0; j != 50; j++) PlantRandomFarmField(i);
}
InvalidateWindowData(WC_INDUSTRY_DIRECTORY, 0, 0);
InvalidateWindowData(WC_INDUSTRY_DIRECTORY, 0, IDIWD_FORCE_REBUILD);
if (!_generating_world) PopulateStationsNearby(i);
}
@@ -2311,6 +2311,21 @@ void Industry::RecomputeProductionMultipliers()
}
}
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));
this->cached_name.assign(buf, end);
}
void ClearAllIndustryCachedNames()
{
for (Industry *ind : Industry::Iterate()) {
ind->cached_name.clear();
}
}
/**
* Set the #probability and #min_number fields for the industry type \a it for a running game.
@@ -2821,7 +2836,7 @@ void IndustryDailyLoop()
cur_company.Restore();
/* production-change */
InvalidateWindowData(WC_INDUSTRY_DIRECTORY, 0, 1);
InvalidateWindowData(WC_INDUSTRY_DIRECTORY, 0, IDIWD_PRODUCTION_CHANGE);
}
void IndustryMonthlyLoop()
@@ -2843,7 +2858,7 @@ void IndustryMonthlyLoop()
cur_company.Restore();
/* production-change */
InvalidateWindowData(WC_INDUSTRY_DIRECTORY, 0, 1);
InvalidateWindowData(WC_INDUSTRY_DIRECTORY, 0, IDIWD_PRODUCTION_CHANGE);
}

View File

@@ -1167,6 +1167,8 @@ static const NWidgetPart _nested_industry_directory_widgets[] = {
NWidget(NWID_HORIZONTAL),
NWidget(WWT_TEXTBTN, COLOUR_BROWN, WID_ID_DROPDOWN_ORDER), SetDataTip(STR_BUTTON_SORT_BY, STR_TOOLTIP_SORT_ORDER),
NWidget(WWT_DROPDOWN, COLOUR_BROWN, WID_ID_DROPDOWN_CRITERIA), SetDataTip(STR_JUST_STRING, STR_TOOLTIP_SORT_CRITERIA),
NWidget(WWT_DROPDOWN, COLOUR_BROWN, WID_ID_FILTER_BY_ACC_CARGO), SetMinimalSize(225, 12), SetFill(0, 1), SetDataTip(STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER, STR_TOOLTIP_FILTER_CRITERIA),
NWidget(WWT_DROPDOWN, COLOUR_BROWN, WID_ID_FILTER_BY_PROD_CARGO), SetMinimalSize(225, 12), SetFill(0, 1), SetDataTip(STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER, STR_TOOLTIP_FILTER_CRITERIA),
NWidget(WWT_PANEL, COLOUR_BROWN), SetResize(1, 0), EndContainer(),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_BROWN, WID_ID_INDUSTRY_LIST), SetDataTip(0x0, STR_INDUSTRY_DIRECTORY_LIST_CAPTION), SetResize(1, 1), SetScrollbar(WID_ID_SCROLLBAR), EndContainer(),
@@ -1178,7 +1180,68 @@ static const NWidgetPart _nested_industry_directory_widgets[] = {
EndContainer(),
};
typedef GUIList<const Industry*> GUIIndustryList;
typedef GUIList<const Industry *, const std::pair<CargoID, CargoID> &> GUIIndustryList;
/** Special cargo filter criteria */
enum CargoFilterSpecialType {
CF_ANY = CT_NO_REFIT, ///< Show all industries (i.e. no filtering)
CF_NONE = CT_INVALID, ///< Show only industries which do not produce/accept cargo
};
/** Cargo filter functions */
/**
* Check whether an industry accepts and produces a certain cargo pair.
* @param industry The industry whose cargoes will being checked.
* @param cargoes The accepted and produced cargo pair to look for.
* @return bool Whether the given cargoes accepted and produced by the industry.
*/
static bool CDECL CargoFilter(const Industry * const *industry, const std::pair<CargoID, CargoID> &cargoes)
{
auto accepted_cargo = cargoes.first;
auto produced_cargo = cargoes.second;
bool accepted_cargo_matches;
switch (accepted_cargo) {
case CF_ANY:
accepted_cargo_matches = true;
break;
case CF_NONE:
accepted_cargo_matches = std::all_of(std::begin((*industry)->accepts_cargo), std::end((*industry)->accepts_cargo), [](CargoID cargo) {
return cargo == CT_INVALID;
});
break;
default:
const auto &ac = (*industry)->accepts_cargo;
accepted_cargo_matches = std::find(std::begin(ac), std::end(ac), accepted_cargo) != std::end(ac);
break;
}
bool produced_cargo_matches;
switch (produced_cargo) {
case CF_ANY:
produced_cargo_matches = true;
break;
case CF_NONE:
produced_cargo_matches = std::all_of(std::begin((*industry)->produced_cargo), std::end((*industry)->produced_cargo), [](CargoID cargo) {
return cargo == CT_INVALID;
});
break;
default:
const auto &pc = (*industry)->produced_cargo;
produced_cargo_matches = std::find(std::begin(pc), std::end(pc), produced_cargo) != std::end(pc);
break;
}
return accepted_cargo_matches && produced_cargo_matches;
}
static GUIIndustryList::FilterFunction * const _filter_funcs[] = { &CargoFilter };
/**
@@ -1188,7 +1251,6 @@ class IndustryDirectoryWindow : public Window {
protected:
/* Runtime saved values */
static Listing last_sorting;
static const Industry *last_industry;
/* Constants for sorting stations */
static const StringID sorter_names[];
@@ -1197,6 +1259,82 @@ protected:
GUIIndustryList industries;
Scrollbar *vscroll;
CargoID cargo_filter[NUM_CARGO + 2]; ///< Available cargo filters; CargoID or CF_ANY or CF_NONE
StringID cargo_filter_texts[NUM_CARGO + 3]; ///< Texts for filter_cargo, terminated by INVALID_STRING_ID
CargoID produced_cargo_filter_criteria; ///< Selected produced cargo filter
CargoID accepted_cargo_filter_criteria; ///< Selected accepted cargo filter
/**
* Set cargo filter list item index.
* @param index The index of the cargo to be set
*/
void SetProducedCargoFilterIndex(int index)
{
if (this->produced_cargo_filter_criteria != index) {
this->produced_cargo_filter_criteria = index;
/* deactivate filter if criteria is 'Show All', activate it otherwise */
bool is_filtering_necessary = this->cargo_filter[this->produced_cargo_filter_criteria] != CF_ANY || this->cargo_filter[this->accepted_cargo_filter_criteria] != CF_ANY;
this->industries.SetFilterState(is_filtering_necessary);
this->industries.SetFilterType(0);
this->industries.ForceRebuild();
}
}
/**
* Set cargo filter list item index.
* @param index The index of the cargo to be set
*/
void SetAcceptedCargoFilterIndex(int index)
{
if (this->accepted_cargo_filter_criteria != index) {
this->accepted_cargo_filter_criteria = index;
/* deactivate filter if criteria is 'Show All', activate it otherwise */
bool is_filtering_necessary = this->cargo_filter[this->produced_cargo_filter_criteria] != CF_ANY || this->cargo_filter[this->accepted_cargo_filter_criteria] != CF_ANY;
this->industries.SetFilterState(is_filtering_necessary);
this->industries.SetFilterType(0);
this->industries.ForceRebuild();
}
}
/**
* Populate the filter list and set the cargo filter criteria.
*/
void SetCargoFilterArray()
{
uint filter_items = 0;
/* Add item for disabling filtering. */
this->cargo_filter[filter_items] = CF_ANY;
this->cargo_filter_texts[filter_items] = STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES;
this->produced_cargo_filter_criteria = filter_items;
this->accepted_cargo_filter_criteria = filter_items;
filter_items++;
/* Add item for industries not producing anything, e.g. power plants */
this->cargo_filter[filter_items] = CF_NONE;
this->cargo_filter_texts[filter_items] = STR_INDUSTRY_DIRECTORY_FILTER_NONE;
filter_items++;
/* Collect available cargo types for filtering. */
const CargoSpec *cs;
FOR_ALL_SORTED_STANDARD_CARGOSPECS(cs) {
this->cargo_filter[filter_items] = cs->Index();
this->cargo_filter_texts[filter_items] = cs->name;
filter_items++;
}
/* Terminate the filter list. */
this->cargo_filter_texts[filter_items] = INVALID_STRING_ID;
this->industries.SetFilterFuncs(_filter_funcs);
bool is_filtering_necessary = this->cargo_filter[this->produced_cargo_filter_criteria] != CF_ANY || this->cargo_filter[this->accepted_cargo_filter_criteria] != CF_ANY;
this->industries.SetFilterState(is_filtering_necessary);
}
/** (Re)Build industries list */
void BuildSortIndustriesList()
{
@@ -1209,12 +1347,17 @@ protected:
this->industries.shrink_to_fit();
this->industries.RebuildDone();
this->vscroll->SetCount((uint)this->industries.size()); // Update scrollbar as well.
}
if (!this->industries.Sort()) return;
IndustryDirectoryWindow::last_industry = nullptr; // Reset name sorter sort cache
this->SetWidgetDirty(WID_ID_INDUSTRY_LIST); // Set the modified widget dirty
auto filter = std::make_pair(this->cargo_filter[this->accepted_cargo_filter_criteria],
this->cargo_filter[this->produced_cargo_filter_criteria]);
this->industries.Filter(filter);
this->industries.Sort();
this->vscroll->SetCount((uint)this->industries.size()); // Update scrollbar as well.
this->SetDirty();
}
/**
@@ -1252,19 +1395,9 @@ protected:
/** Sort industries by name */
static bool IndustryNameSorter(const Industry * const &a, const Industry * const &b)
{
static char buf_cache[96];
static char buf[96];
SetDParam(0, a->index);
GetString(buf, STR_INDUSTRY_NAME, lastof(buf));
if (b != last_industry) {
last_industry = b;
SetDParam(0, b->index);
GetString(buf_cache, STR_INDUSTRY_NAME, lastof(buf_cache));
}
return strnatcmp(buf, buf_cache) < 0; // Sort by name (natural sorting).
int r = strnatcmp(a->GetCachedName(), b->GetCachedName()); // Sort by name (natural sorting).
if (r == 0) return a->index < b->index;
return r < 0;
}
/** Sort industries by type and name */
@@ -1329,6 +1462,18 @@ protected:
return std::get<3>(a) > std::get<3>(b);
});
/* If the produced cargo filter is active then move the filtered cargo to the beginning of the list,
* because this is the one the player interested in, and that way it is not hidden in the 'n' more cargos */
const CargoID cid = this->cargo_filter[this->produced_cargo_filter_criteria];
if (cid != CF_ANY && cid != CF_NONE) {
auto filtered_ci = std::find_if(cargos.begin(), cargos.end(), [cid](const CargoInfo& ci) -> bool {
return std::get<0>(ci) == cid;
});
if (filtered_ci != cargos.end()) {
std::rotate(cargos.begin(), filtered_ci, filtered_ci + 1);
}
}
/* Display first 3 cargos */
for (size_t j = 0; j < min<size_t>(3, cargos.size()); j++) {
CargoInfo ci = cargos[j];
@@ -1371,9 +1516,26 @@ public:
this->last_sorting = this->industries.GetListing();
}
void OnInit() override
{
this->SetCargoFilterArray();
}
void SetStringParameters(int widget) const override
{
if (widget == WID_ID_DROPDOWN_CRITERIA) SetDParam(0, IndustryDirectoryWindow::sorter_names[this->industries.SortType()]);
switch (widget) {
case WID_ID_DROPDOWN_CRITERIA:
SetDParam(0, IndustryDirectoryWindow::sorter_names[this->industries.SortType()]);
break;
case WID_ID_FILTER_BY_ACC_CARGO:
SetDParam(0, this->cargo_filter_texts[this->accepted_cargo_filter_criteria]);
break;
case WID_ID_FILTER_BY_PROD_CARGO:
SetDParam(0, this->cargo_filter_texts[this->produced_cargo_filter_criteria]);
break;
}
}
void DrawWidget(const Rect &r, int widget) const override
@@ -1390,8 +1552,17 @@ public:
DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, STR_INDUSTRY_DIRECTORY_NONE);
break;
}
TextColour tc;
const CargoID acf_cid = this->cargo_filter[this->accepted_cargo_filter_criteria];
for (uint i = this->vscroll->GetPosition(); i < this->industries.size(); i++) {
DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, this->GetIndustryString(this->industries[i]));
tc = TC_FROMSTRING;
if (acf_cid != CF_ANY && acf_cid != CF_NONE) {
Industry *ind = const_cast<Industry *>(this->industries[i]);
if (IndustryTemporarilyRefusesCargo(ind, acf_cid)) {
tc = TC_GREY | TC_FORCED;
}
}
DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, this->GetIndustryString(this->industries[i]), tc);
y += this->resize.step_height;
if (++n == this->vscroll->GetCapacity()) break; // max number of industries in 1 window
@@ -1451,6 +1622,14 @@ public:
ShowDropDownMenu(this, IndustryDirectoryWindow::sorter_names, this->industries.SortType(), WID_ID_DROPDOWN_CRITERIA, 0, 0);
break;
case WID_ID_FILTER_BY_ACC_CARGO: // Cargo filter dropdown
ShowDropDownMenu(this, this->cargo_filter_texts, this->accepted_cargo_filter_criteria, WID_ID_FILTER_BY_ACC_CARGO, 0, 0);
break;
case WID_ID_FILTER_BY_PROD_CARGO: // Cargo filter dropdown
ShowDropDownMenu(this, this->cargo_filter_texts, this->produced_cargo_filter_criteria, WID_ID_FILTER_BY_PROD_CARGO, 0, 0);
break;
case WID_ID_INDUSTRY_LIST: {
uint p = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_ID_INDUSTRY_LIST, WD_FRAMERECT_TOP);
if (p < this->industries.size()) {
@@ -1467,9 +1646,26 @@ public:
void OnDropdownSelect(int widget, int index) override
{
if (this->industries.SortType() != index) {
this->industries.SetSortType(index);
this->BuildSortIndustriesList();
switch (widget) {
case WID_ID_DROPDOWN_CRITERIA: {
if (this->industries.SortType() != index) {
this->industries.SetSortType(index);
this->BuildSortIndustriesList();
}
break;
}
case WID_ID_FILTER_BY_ACC_CARGO: {
this->SetAcceptedCargoFilterIndex(index);
this->BuildSortIndustriesList();
break;
}
case WID_ID_FILTER_BY_PROD_CARGO: {
this->SetProducedCargoFilterIndex(index);
this->BuildSortIndustriesList();
break;
}
}
}
@@ -1497,17 +1693,24 @@ public:
*/
void OnInvalidateData(int data = 0, bool gui_scope = true) override
{
if (data == 0) {
/* This needs to be done in command-scope to enforce rebuilding before resorting invalid data */
this->industries.ForceRebuild();
} else {
this->industries.ForceResort();
switch (data) {
case IDIWD_FORCE_REBUILD:
/* This needs to be done in command-scope to enforce rebuilding before resorting invalid data */
this->industries.ForceRebuild();
break;
case IDIWD_PRODUCTION_CHANGE:
if (this->industries.SortType() == 2) this->industries.ForceResort();
break;
default:
this->industries.ForceResort();
break;
}
}
};
Listing IndustryDirectoryWindow::last_sorting = {false, 0};
const Industry *IndustryDirectoryWindow::last_industry = nullptr;
/* Available station sorting functions. */
GUIIndustryList::SortFunction * const IndustryDirectoryWindow::sorter_funcs[] = {

View File

@@ -188,6 +188,8 @@ STR_COLOUR_ORANGE :Oranje
STR_COLOUR_BROWN :Bruin
STR_COLOUR_GREY :Grys
STR_COLOUR_WHITE :Wit
STR_COLOUR_RANDOM :Lukraak
STR_COLOUR_DEFAULT :Default
# Units used in OpenTTD
STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mpu
@@ -234,6 +236,8 @@ STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Kies kri
STR_BUTTON_SORT_BY :{BLACK}Sorteer volgens
STR_BUTTON_LOCATION :{BLACK}Ligging
STR_BUTTON_RENAME :{BLACK}Hernoem
STR_BUTTON_CATCHMENT :{BLACK}Dekking
STR_TOOLTIP_CATCHMENT :{BLACK}Wissel dekking van die vertoonarea
STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Maak venster toe
STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Venster titel - sleep om venster te beweeg
@@ -262,6 +266,7 @@ STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Deur hie
STR_BUTTON_DEFAULT :{BLACK}Gewone
STR_BUTTON_CANCEL :{BLACK}Kanselleer
STR_BUTTON_OK :{BLACK}OK
STR_WARNING_PASSWORD_SECURITY :{YELLOW}Waarskuwing: bedieneradministrateurs kan moontlik die teks wat hier ingevoer is, lees.
# On screen keyboard window
STR_OSK_KEYBOARD_LAYOUT :`1234567890-=\qwertyuiop[]asdfghjkl;' zxcvbnm,./ .
@@ -335,6 +340,7 @@ STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Vergroot
STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Verklein die skerm
STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Bou spoorweg spoor
STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Bou paaie
STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Bou trempaaie
STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Bou skip hawe
STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Bou lughawens
STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Maak die landargitektuur nutsbalk oop om, land te verhoog/verlaag, boome beplant, ens.
@@ -355,6 +361,7 @@ STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Landskap
STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Dorp generasie
STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Nywerheid generasie
STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Pad konstruksie
STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Tremweg konstruksie
STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Plant bome. Shift skakel gebou/wys koste beraaming
STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Plaas teken
STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Plaas voorwerp. Shift skakel tussen bou/aanduiding koste beraming
@@ -463,6 +470,7 @@ STR_TOOLBAR_SOUND_MUSIC :Klank/musiek
############ range for message menu starts
STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Laaste boodskap/nuus verslag
STR_NEWS_MENU_MESSAGE_HISTORY_MENU :Boodskapgeskiedenis
STR_NEWS_MENU_DELETE_ALL_MESSAGES :Vee alle boodskappe uit
############ range ends here
############ range for about menu starts
@@ -471,9 +479,7 @@ STR_ABOUT_MENU_SEPARATOR :
STR_ABOUT_MENU_TOGGLE_CONSOLE :Skakel terminaal
STR_ABOUT_MENU_AI_DEBUG :AI/Spel skript ontfout
STR_ABOUT_MENU_SCREENSHOT :Skermskoot
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Ten volle vergrote skermskoot
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Basiese groote skermskoot
STR_ABOUT_MENU_GIANT_SCREENSHOT :Hele kaart Skermkiekie (Ctrl+G)
STR_ABOUT_MENU_SHOW_FRAMERATE :Wys raamkoers
STR_ABOUT_MENU_ABOUT_OPENTTD :Oor 'OpenTTD'
STR_ABOUT_MENU_SPRITE_ALIGNER :"Sprite" rigter
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :skakel beperkte bokse
@@ -643,12 +649,10 @@ STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLA
STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Op Bestelling 2
STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Musiek Volume
STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Effek Volume
STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}MIN
STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}MAKS
STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}'
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
STR_MUSIC_TITLE_NOMUSIC :{TINY_FONT}{DKGREEN}Geen musiek beskikbaar
STR_MUSIC_TITLE_NAME :{TINY_FONT}{DKGREEN}"{STRING}"
STR_MUSIC_TRACK :{TINY_FONT}{BLACK}Liedjie
STR_MUSIC_XTITLE :{TINY_FONT}{BLACK}Titel
@@ -669,11 +673,14 @@ STR_MUSIC_TOOLTIP_TOGGLE_PROGRAM_SHUFFLE :{BLACK}Skakel m
STR_MUSIC_TOOLTIP_SHOW_MUSIC_TRACK_SELECTION :{BLACK}Vertoon musiek snit keuse venster
# Playlist window
STR_PLAYLIST_MUSIC_SELECTION_SETNAME :{WHITE}Musiek Program - '{STRING}'
STR_PLAYLIST_TRACK_NAME :{TINY_FONT}{LTBLUE}{ZEROFILL_NUM} "{STRING}"
STR_PLAYLIST_TRACK_INDEX :{TINY_FONT}{BLACK}Liedjie Indeks
STR_PLAYLIST_PROGRAM :{TINY_FONT}{BLACK}Program - '{STRING}'
STR_PLAYLIST_CLEAR :{TINY_FONT}{BLACK}Maak skoon
STR_PLAYLIST_CHANGE_SET :{BLACK}Verander stel
STR_PLAYLIST_TOOLTIP_CLEAR_CURRENT_PROGRAM_CUSTOM1 :{BLACK}Maak huidige musiek keuse skoon (slegs Bestelling1 of Bestelling2)
STR_PLAYLIST_TOOLTIP_CHANGE_SET :{BLACK}Verander musiekkeuse na 'n ander geïnstalleerde stel
STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Klik op 'n liedjie om by huidige musieklys by te sit (slegs Bestelling1 of Bestelling2)
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Klik op musiek lied om te verwyder van huidige program (Slegs Gewoonte1 of Gewoonte2)
@@ -809,6 +816,7 @@ STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLAC
STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(Bestuurder)
STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}{STRING} borg konstruksie van nuwe dorp {TOWN}!
STR_NEWS_NEW_TOWN_UNSPONSORED :{BLACK}{BIG_FONT}'n Nuwe dorp genaamd {TOWN} is gebou!
STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}'n Nuwe {STRING} word naby {TOWN} gebou!
STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}Nuwe {STRING} word naby {TOWN} beplant!
@@ -857,6 +865,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}Nuwe {STRING} nou beskikbaar! - {ENGINE}
STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Maak die groepvenster oop en fokus op die voertuiggroep
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO :{WHITE}{STATION} aanvaar nie meer {STRING} nie
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}{STATION} aanvaar nie meer {STRING} of {STRING} nie
@@ -877,9 +886,9 @@ STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLAC
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Toonvenster {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Kopie na toonvenster
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Verander toonvenster
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Dupliseer die ligging van die hooftoonvenster na die toonvenster
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Plak vanaf toonvenster
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Verander hoofaansig
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Plak die lokasie van die gesigspunt na die hoofskerm
# Game options window
@@ -922,6 +931,11 @@ STR_GAME_OPTIONS_CURRENCY_ZAR :Suid Afrikaanse
STR_GAME_OPTIONS_CURRENCY_CUSTOM :Pasmaak...
STR_GAME_OPTIONS_CURRENCY_GEL :Georgiaanse Lari (GEL)
STR_GAME_OPTIONS_CURRENCY_IRR :Iraanse Rial (IRR)
STR_GAME_OPTIONS_CURRENCY_RUB :Nuwe Russiese Ruble (RUB)
STR_GAME_OPTIONS_CURRENCY_MXN :Mexikaanse peso (MXN)
STR_GAME_OPTIONS_CURRENCY_NTD :Nuwe Taiwan dollar (NTD)
STR_GAME_OPTIONS_CURRENCY_CNY :Chinese Renminbi (CNY)
STR_GAME_OPTIONS_CURRENCY_HKD :Hong Kong Dollar (HKD)
############ end of currency region
STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Pad voertuie
@@ -984,7 +998,11 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normaal
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dubbel groote
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Quad grootte
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Skrifgrootte
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normaal
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Dubbele grootte
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Quad grootte
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Basis-grafikastel
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Kies die basis-grafikastel stel om te gebruik
@@ -1168,6 +1186,8 @@ STR_CONFIG_SETTING_AUTOSLOPE :Laat landargite
STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Laat Landargitektuur onder geboue en spore sonder om dit te verwyder
STR_CONFIG_SETTING_CATCHMENT :Laat meer realisties groote opvangsgebied toe: {STRING}
STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Laat verskillende groote opvang gebiede toe vir verskillende tipes stasies en lughawens
STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES :Maatskappy stasies kan industriëe bedien met aangehegte neutrale stasies: {STRING}
STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT :Indien gekies, kan industrieë met aangeslote stasies (soos Olie Rigs) ook bedien word deur maatskappybesitte stasies wat in die omgewing gebou word. As dit af is, mag hierdie industrieë slegs deur hul aangeslote stasies bedien word. Enige nabygeleë maatskappystasies sal dit nie kan bedien nie, en die aangehegte stasie sal ook niks anders as die industrie bedien nie
STR_CONFIG_SETTING_EXTRADYNAMITE :Laat verwydering van meer stad-besite paaie, bruge, ens toe: {STRING}
STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Maak dit makliker om dorps eiendom en infrastruktuur te verwyder
STR_CONFIG_SETTING_TRAIN_LENGTH :Maximum lengte van treine: {STRING}
@@ -1184,8 +1204,8 @@ STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :Die steilte van
STR_CONFIG_SETTING_PERCENTAGE :{COMMA}%
STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Krans helling vir pad vervoer: {STRING}
STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Die steilte van die helling vir 'n pad voertuig. Hoër waardes maak dit moeliker om teen die helling uit te klim
STR_CONFIG_SETTING_FORBID_90_DEG :Verbied triene en skepe om 90 graad draaie te maak: {STRING}
STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 grade draaie kom voor wanneer 'n horisontale spoor direk gevolg deur 'n vertikale spoor op die aangrensende teël, dus waardeur die trein 'n 90 grade draai maak deur die teël rand in plaas van die gewone 45 grade vir 'n ander spoor kombinasies. Dit geld ook vir die draai radius van skepe
STR_CONFIG_SETTING_FORBID_90_DEG :Verbied treine om 90° draaie te maak: {STRING}
STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 grade draaie kom voor wanneer 'n horisontale spoor direk gevolg deur 'n vertikale spoor op die aangrensende teël, dus waardeur die trein 'n 90 grade draai maak deur die teël rand in plaas van die gewone 45 grade vir 'n ander spoor kombinasies.
STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Laat toe dat stasies lanks mekaar gebind kan word: {STRING}
STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Laat die toevoeging van dele van 'n stasie sonder om direk aan die bestaande dele te raak toe. Ctrl+klik om die nuwe dele te plaas
STR_CONFIG_SETTING_INFLATION :Inflasie: {STRING}
@@ -1241,7 +1261,7 @@ STR_CONFIG_SETTING_PLANE_SPEED :Vlegtuig spoed
STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Stel die relatiewe spoed van vliegtuie, met vergelyking van ander voertuig tipes, om so die bedrag van die inkomste van vliegtuie te verminder.
STR_CONFIG_SETTING_PLANE_SPEED_VALUE :1 / {COMMA}
STR_CONFIG_SETTING_PLANE_CRASHES :Aantal vliegtuig botsings: {STRING}
STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Stel die kans van 'n vliegtuig ongeluk om te gebeur
STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Stel die kans van 'n vliegtuig ongeluk om te gebeur.{}* Groot vliegtuie het altyd risiko om neer te stort wanneer hulle op klein lughawens beland
STR_CONFIG_SETTING_PLANE_CRASHES_NONE :Geen
STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :Verminderd
STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :Normaal
@@ -1253,6 +1273,8 @@ STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Verander
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Infrastruktuur onderhoud: {STRING}
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :As dit geaktiveer is sal dit veroorsaak dat infrastruktuur onderhoudskoste verhoog. Die koste groei oor-proporsioneel met die netwerk grootte, wat groter maatskappye meer as kleiner maatskappye benadeel
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Maatskappy beginkleur: {STRING}
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Kies beginkleur vir die maatskappy
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Lughawes verval nooit nie: {STRING}
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Wanner hierdie stelling geaktiveer is, maak dit dat alle lughawens ewig beskikbaar bly, na hul bekendstelling datum
@@ -1287,6 +1309,8 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL :Toon stadsbevol
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Vertoon die bevolking van 'n stad in die naametiket op die kaart
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Dikte van lyn in grafieke: {STRING}
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Wydte van kaartlyne. A dun lyn is meer akkuraat om te lees, maar 'n dikker lyn is makliker om te sien en te onderskei van ander lyne.
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Toon die NewGRF se naam in die bou van voertuie skerm: {STRING}
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Voeg 'n lyn by die venster vir die bou van voertuie wat wys uit watter NewGRF die geselekteerde voertuig kom.
STR_CONFIG_SETTING_LANDSCAPE :Landskap: {STRING}
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Die landskap beheer die basies spelopsies vir verskillende vrag en hoe dorpe groei. NewGRF en spelskrips gee meer opsies.
@@ -1298,7 +1322,7 @@ STR_CONFIG_SETTING_TERRAIN_TYPE :Tipe terrein: {
STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(Slegs TerraGenesis) Bergagtigheid van die land
STR_CONFIG_SETTING_INDUSTRY_DENSITY :Nywerheidsdigtheid: {STRING}
STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Kies hoeveel nywerhede geskep gaan word en hoeveel gedurende die spel te handhaaf
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maksimum afstand vanaf rand vir olieraffinaderye: {STRING}
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maksimum afstand vanaf rand vir olie industrieë: {STRING}
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Olieraffinaderye word net naby die kaart kant gebou, dit is, teen die kus vir eiland kaarte
STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Sneeu lyn hoogte: {STRING}
STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Beheer die hoogte van die sneeuvlak. Die sneeuvlak bepaal ook hoeveel nywerhede geskep word en hoe vinnig dorpe groei.
@@ -1337,6 +1361,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT :Kleur van die t
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :Groen
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Donkergroen
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Violet
STR_CONFIG_SETTING_SCROLLMODE_RMB :Skuif kaart met RMB
STR_CONFIG_SETTING_SMOOTH_SCROLLING :Maak kykpoort beweegings glad: {STRING}
STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Beheer hoe die hoofvertoonvenster skuif na 'n spesifieke posisie - as dit geaktiveer is, dan skuif die venster glad na die posisie toe, andersins skuif die venster direk na die posisie toe.
STR_CONFIG_SETTING_MEASURE_TOOLTIP :Toon 'n meting wanneer jy verskeie bou-gereedskap gebruik: {STRING}
@@ -1368,6 +1393,7 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_COMMAND :Command-klik
STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_CONTROL :Ctrl-klik
STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Af
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Maak venster toe met regter-klik: {STRING}
STR_CONFIG_SETTING_AUTOSAVE :Outostoor: {STRING}
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Tyd tussen outomatiese spelstore
@@ -1455,6 +1481,8 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Laat AI in mult
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Laat AI Rekenaaar spelers by 'n multi-speler spel toe
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes voor die skripte gestaak word: {STRING}
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Die maksimum hoeveelheid berekeningstappe wat 'n skrip kan vat in een beurt
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Maksimum geheueverbruik per skript: {STRING}
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Hoeveel geheue 'n enkele skrif kan verbruik voordat dit met geweld beëindig word. Dit kan moontlik vergroot word vir groot kaarte.
STR_CONFIG_SETTING_SERVINT_ISPERCENT :Diens pouse is in persente: {STRING}
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Kies of voertuie gediens word gebasseer op tydsduur vanaf vorige diens of as die voertuig se betroubaarheid met 'n sekere persentasie geval het van die maksimum
@@ -1513,10 +1541,16 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Vol
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Gekleurde nuus verskyn in: {STRING}
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :In watter jaar begin koerante in kleur vertoon. Voor dit is hulle swart en wit.
STR_CONFIG_SETTING_STARTING_YEAR :Jaar om te begin: {STRING}
STR_CONFIG_SETTING_ENDING_YEAR :Telling jaareinde: {STRING}
STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Die jaar wat die speletjie eindig vir telling doeleindes. Aan die einde van hierdie jaar word die maatskappy se telling aangeteken en die skerm met 'n hoogste telling word vertoon, maar die spelers kan daarna speel.{} As dit voor die beginjaar is, word die skerm met 'n hoogste telling nooit vertoon nie.
STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM}
STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Nooit
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Aktiveer geleike ekonomie (meer, kleiner veranderings): {STRING}
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :As dit geaktiveer is sal nywerheidsvervaarding meer gereeld verander met kleiner veranderinge elke keer. Hierdie stelling het gewoonlik geen effek met nywerhede van NewGRFs nie.
STR_CONFIG_SETTING_ALLOW_SHARES :Laat die koop van aandeele van ander maatskappye toe: {STRING}
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :As dit geaktiveer is, kan aandele in maatskappye gekoop en verkoop word. Aandele is net in maatskappye beskikbaar na 'n sekere aantal jaar.
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES :Minimum maatskappyouderdom om aandele te verhandel: {STRING}
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES_HELPTEXT :Stel die minimum ouderdom van 'n maatskappy in vir ander om aandele by hulle te kan koop en verkoop.
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Persentasie van wins om te betaal in voerder systeem: {STRING}
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Persentasie wins wat gedeel word met die tussengangerstasies in oordragstelsels vir beter beheer oor die wins
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Wanneer die muis gesleep word, plaas 'n sein elke: {STRING}
@@ -1557,6 +1591,10 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Aktiveering van
STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Verbode
STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Toegelaat
STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Toegelaat, eie dorp uitleg
STR_CONFIG_SETTING_TOWN_CARGOGENMODE :Stad-vragproduksie: {STRING}
STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Hoeveel vrag word deur huise in dorpe geproduseer, relatief tot die algemene bevolking van die stad.{} Kwadratiese groei: 'n Dorp wat twee keer so groot is, genereer vier keer soveel passasiers.{} Lineêre groei: 'n Stad twee keer so groot, genereer twee keer soveel passasiers.
STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :Kwadraties (oorspronklik)
STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Lineêre
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT :Binne speletjie plasing van bome: {STRING}
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Beheer die ewekansige voorkoms van bome tydens die spel. Dit kan 'n invloed op nywerhede hê wat staatmaak op die groei van bome, byvoorbeeld hout meulens
@@ -1797,6 +1835,7 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Verander
STR_CHEAT_SETUP_PROD :{LTBLUE}Aktiveer modifisering van produksie waardes: {ORANGE}{STRING}
# Livery window
STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Kleur Skema
STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Toon algemene kleurskemas
STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Wys trein kleur skemas
@@ -2056,6 +2095,7 @@ STR_NETWORK_CONNECTION_DISCONNECT :{BLACK}Loskoppe
STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Verskaffer is beskerm. Voer wagwoord in
STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Maatskappy is beskerm. Voer wagwoord in
STR_NETWORK_COMPANY_LIST_CLIENT_LIST_CAPTION :{WHITE}Kliëntelys
# Network company list added strings
STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Klient Lys
@@ -2104,7 +2144,7 @@ STR_NETWORK_CHAT_ALL :[Almal] {STRING
STR_NETWORK_CHAT_OSKTITLE :{BLACK}Tik boodskap vir klets
# Network messages
STR_NETWORK_ERROR_NOTAVAILABLE :{WHITE}Geen netwerk ontwerp gevind of voldoen sonder ENABLE_NETWORK
STR_NETWORK_ERROR_NOTAVAILABLE :{WHITE}Geen netwerk toestelle gevind
STR_NETWORK_ERROR_NOSERVER :{WHITE}Kan nie enige netwerk speletjies vind nie
STR_NETWORK_ERROR_NOCONNECTION :{WHITE}Die verskaffer het nie die versoek geantwoord nie
STR_NETWORK_ERROR_NEWGRF_MISMATCH :{WHITE}Kan nie konnekteer te danke aan newgrf mispas nie
@@ -2120,6 +2160,7 @@ STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Verkeerd
STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Die verskaffer is vol
STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Jy is verban op hierdie server
STR_NETWORK_ERROR_KICKED :{WHITE}Jy is van die spel geskop
STR_NETWORK_ERROR_KICK_MESSAGE :{WHITE}Rede: {STRING}
STR_NETWORK_ERROR_CHEATER :{WHITE}Kullery word nie toegelaat op hierdie bediener
STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Jy het te veel opdragte na die bediener gestuur
STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE} Jy het te lank gevat om die wagwoord in te sleutel
@@ -2179,6 +2220,7 @@ STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} he
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Jy het {1:STRING} {2:CURRENCY_LONG} gegee
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Die verskaffer het die sessie toegemaak
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Die verskaffer is besig om te weerbegin...{}Wag asb...
STR_NETWORK_MESSAGE_KICKED :*** {STRING} is geskop. Rede: ({STRING})
# Content downloading window
STR_CONTENT_TITLE :{WHITE}Laai Inhoud af
@@ -2271,6 +2313,7 @@ STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}Vragvers
STR_LINKGRAPH_LEGEND_ALL :{BLACK}Almal
STR_LINKGRAPH_LEGEND_NONE :{BLACK}Geen
STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Kies maatskappye om te ws
STR_LINKGRAPH_LEGEND_COMPANY_TOOLTIP :{BLACK}{STRING}{}{COMPANY}
# Linkgraph legend window and linkgraph legend in smallmap
STR_LINKGRAPH_LEGEND_UNUSED :{TINY_FONT}{BLACK}ongebruik
@@ -2355,9 +2398,9 @@ STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Kombinas
STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Pad aanwyser (robot){}Laat meer as een trein per blok toe solank die trein 'n bestemming veilig kan bereik. Gewone pad aanwysers word geïgnoreer as 'n trein in die teenoorgestelde rigting ry
STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Een-rigting pad aanwyser (robot){}Laat meer as een trein per blok toe solank die trein 'n bestemming veilig kan bereik. 'n Een-rigting pad aanwysers laat verkeer slegs in een rigting toe
STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Verander Sinjaal{}Klik op 'n bestaande sinjaal om dit na die verkose tipe te verander, Ctrl+klik om na die bestaande tipe te verander. Shift+klik vir kwotasie
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Sein sleep digtheid
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Verminder sein sleep digtheid
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Verhoog sein sleep digtheid
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Sein sleep afstand
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Verminder sein sleep afstand
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Verhoog sein sleep afstand
# Bridge selection window
STR_SELECT_RAIL_BRIDGE_CAPTION :{WHITE}Kies Spoor Brug
@@ -2395,7 +2438,11 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Bou pad
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Bou tonnel. Shift kies tussen bou/kwotasie
STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Skakel bou/verwydering van pad konstruksie
STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Skakel bou/verwyder vir tremweg konstruksie
STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}Skakel om / opgradeer die tipe pad. Shift wissel tussen gebou / toon kosteberaming
STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_TRAM :{BLACK}Die tipe tram omskakel / opgradeer. Shift wissel tussen gebou/toon kosteberaming
STR_ROAD_NAME_ROAD :Pad
STR_ROAD_NAME_TRAM :Tremweg
# Road depot construction window
STR_BUILD_DEPOT_ROAD_ORIENTATION_CAPTION :{WHITE}Pad Depot Oriëntering
@@ -2579,8 +2626,12 @@ STR_LAND_AREA_INFORMATION_AIRPORTTILE_NAME :{BLACK}Lughawe
STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NuweGRF: {LTBLUE}{STRING}
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Vrag aangeneem: {LTBLUE}
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
STR_LANG_AREA_INFORMATION_RAIL_TYPE :{BLACK}Spoor tipe: {LTBLUE}{STRING}
STR_LANG_AREA_INFORMATION_ROAD_TYPE :{BLACK}Padtipe: {LTBLUE}{STRING}
STR_LANG_AREA_INFORMATION_TRAM_TYPE :{BLACK}Tremtipe: {LTBLUE}{STRING}
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Spoorlyn spoed limiet: {LTBLUE}{VELOCITY}
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Pad spoedgrens: {LTBLUE}{VELOCITY}
STR_LANG_AREA_INFORMATION_TRAM_SPEED_LIMIT :{BLACK}Trem spoedgrens: {LTBLUE}{VELOCITY}
# Description of land area of different tiles
STR_LAI_CLEAR_DESCRIPTION_ROCKS :Rotse
@@ -2677,12 +2728,47 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Maatskappy-besi
STR_ABOUT_OPENTTD :{WHITE}Oor OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Oorspronklike kopiereg {COPYRIGHT} 1995 Chris Sawyer, Alle regte voorbehou
STR_ABOUT_VERSION :{BLACK}OpenTTD uitgawe {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 Die OpenTTD span
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} Die OpenTTD span
# Framerate display window
STR_FRAMERATE_CAPTION :{WHITE}Raamkoers
STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x)
STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Simulasietempo: {STRING}
STR_FRAMERATE_RATE_BLITTER :{BLACK}Grafiekraamkoers: {STRING}
STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Aantal videorame per sekonde gelewer.
STR_FRAMERATE_SPEED_FACTOR :{BLACK}Huidige spel spoed faktor: {DECIMAL}x
STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Hoe vinnig die spel tans werk, in vergelyking met die verwagte snelheid teen normale simulasietempo.
STR_FRAMERATE_CURRENT :{WHITE}Huidig
STR_FRAMERATE_AVERAGE :{WHITE}Gemiddeld
STR_FRAMERATE_MEMORYUSE :{WHITE}Geheue
STR_FRAMERATE_DATA_POINTS :{BLACK}Data gebaseer op metings van {COMMA}
STR_FRAMERATE_MS_BAD :{RED}{DECIMAL} ms
STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL} rame
STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL} rame
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} rame
STR_FRAMERATE_BYTES_GOOD :{LTBLUE}{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!!
STR_FRAMERATE_GAMELOOP :{BLACK}Speletjie lus totaal:
STR_FRAMERATE_GL_ECONOMY :{BLACK} Vraghantering
STR_FRAMERATE_GL_LINKGRAPH :{BLACK} Skakel grafiekvertraging
STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Wêreld toonvensters:
STR_FRAMERATE_VIDEO :{BLACK}Video-afvoer:
STR_FRAMERATE_SOUND :{BLACK}Klankvermenging:
STR_FRAMERATE_ALLSCRIPTS :{BLACK} GS/AI totaal:
STR_FRAMERATE_GAMESCRIPT :{BLACK} Speletjieskrif
STR_FRAMERATE_AI :{BLACK} AI {NUM} {STRING}
############ End of leave-in-this-order
############ Leave those lines in this order!!
STR_FRAMETIME_CAPTION_GAMELOOP :Speletjie lus
STR_FRAMETIME_CAPTION_GL_ECONOMY :Vraghantering
STR_FRAMETIME_CAPTION_VIDEO :Video-uitset
STR_FRAMETIME_CAPTION_SOUND :Klankvermenging
STR_FRAMETIME_CAPTION_ALLSCRIPTS :GS/AI skrip totaal
STR_FRAMETIME_CAPTION_GAMESCRIPT :Speletjie skrip
STR_FRAMETIME_CAPTION_AI :AI {NUM} {STRING}
############ End of leave-in-this-order
@@ -2708,6 +2794,9 @@ STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Spel Bes
STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Geen inligting beskikbaar
STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING}
STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING}
STR_SAVELOAD_FILTER_TITLE :{BLACK}Filter string:
STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Oorskryf lêer
STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}Is u seker dat u die bestaande lêer wil oorskryf?
STR_SAVELOAD_OSKTITLE :{BLACK}Tik 'n naam in vir die stoor-speeletjie
@@ -2825,7 +2914,10 @@ STR_NEWGRF_SETTINGS_VERSION :{BLACK}Weergawe
STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Min. versoenbare weergawe: {SILVER}{NUM}
STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5sum: {SILVER}{STRING}
STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Palet: {SILVER}{STRING}
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT :Default (D)
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT_32BPP :Default (D) / 32 bpp
STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parameters: {SILVER}{STRING}
STR_NEWGRF_SETTINGS_PARAMETER_NONE :Geen
STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}Geen informasie beskikbaar
STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Gelyke lêer nie gevind nie
@@ -2970,6 +3062,7 @@ STR_EDIT_SIGN_SIGN_OSKTITLE :{BLACK}Tik 'n n
STR_TOWN_DIRECTORY_CAPTION :{WHITE}Dorpe
STR_TOWN_DIRECTORY_NONE :{ORANGE}- Geen -
STR_TOWN_DIRECTORY_TOWN :{ORANGE}{TOWN}{BLACK} ({COMMA})
STR_TOWN_DIRECTORY_CITY :{ORANGE}{TOWN}{YELLOW} (Stad){BLACK} ({COMMA})
STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Dorpname - klik op 'n naam om skerm daarna te skuif. Ctrl+klik om 'n nuwe venster vir die dorp oop te maak
STR_TOWN_POPULATION :{BLACK}Wêreldbevolking: {COMMA}
@@ -2977,6 +3070,7 @@ STR_TOWN_POPULATION :{BLACK}Wêreldb
STR_TOWN_VIEW_TOWN_CAPTION :{WHITE}{TOWN}
STR_TOWN_VIEW_CITY_CAPTION :{WHITE}{TOWN} (City)
STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}Bevolking: {ORANGE}{COMMA}{BLACK} Huise: {ORANGE}{COMMA}
STR_TOWN_VIEW_CARGO_LAST_MONTH_MAX :{BLACK}{CARGO_LIST} laas maand: {ORANGE}{COMMA}{BLACK} maks: {ORANGE}{COMMA}
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Vrag nodig om dorp te laat groei:
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} vereis
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} vereis in winter
@@ -3001,6 +3095,8 @@ STR_TOWN_VIEW_RENAME_TOWN_BUTTON :Hernoem Dorp
# Town local authority window
STR_LOCAL_AUTHORITY_CAPTION :{WHITE}{TOWN} plaaslike raad
STR_LOCAL_AUTHORITY_ZONE :{BLACK}Zone
STR_LOCAL_AUTHORITY_ZONE_TOOLTIP :{BLACK}Toon sone binne die plaaslike owerheidsgrense
STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Vervoer maatskappy graderings:
STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING}
STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Aksies beskikbaar:
@@ -3029,6 +3125,7 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Koop di
# Goal window
STR_GOALS_CAPTION :{WHITE}{COMPANY} Doelwitte
STR_GOALS_SPECTATOR_CAPTION :{WHITE}Globale Doelwitte
STR_GOALS_SPECTATOR :Globale doelwitte
STR_GOALS_GLOBAL_TITLE :{BLACK}Globale doelwitte:
STR_GOALS_TEXT :{ORANGE}{STRING}
STR_GOALS_NONE :{ORANGE}- Geen -
@@ -3077,6 +3174,7 @@ STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klik op
# Story book window
STR_STORY_BOOK_CAPTION :{WHITE}{COMPANY} Storieboek
STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Globale Storieboek
STR_STORY_BOOK_SPECTATOR :Globale Storieboek
STR_STORY_BOOK_TITLE :{YELLOW}{STRING}
STR_STORY_BOOK_GENERIC_PAGE_ITEM :Bladsy {NUM}
STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Kies 'n bladsy om na toe te gaan in hierdie lys
@@ -3256,6 +3354,7 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_CAPTION :{WHITE}{COMPANY
STR_COMPANY_INFRASTRUCTURE_VIEW_RAIL_SECT :{GOLD}Spoorstukke:
STR_COMPANY_INFRASTRUCTURE_VIEW_SIGNALS :{WHITE}Seine
STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD_SECT :{GOLD}Padstukke:
STR_COMPANY_INFRASTRUCTURE_VIEW_TRAM_SECT :{GOLD}Trem stukke:
STR_COMPANY_INFRASTRUCTURE_VIEW_WATER_SECT :{GOLD}Waterteëls:
STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS :{WHITE}Kanale
STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}Stasies:
@@ -3266,8 +3365,17 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL :{WHITE}{CURRENC
# Industry directory
STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Nywerhede
STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Geen -
STR_INDUSTRY_DIRECTORY_ITEM_INFO :{BLACK}{CARGO_LONG}{STRING}{YELLOW} ({COMMA}% vervoer){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} en {NUM} meer...
STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Nywerheidsname - klik op 'n naam om skerm na nywerheid te skuif. Ctrl+klik maak 'n nuwe venster vir die nywerheid oop
STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Aanvaarde vrag: {SILVER}{STRING}
STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Vervaardigde vrag: {SILVER}{STRING}
STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Alle vragtipes
STR_INDUSTRY_DIRECTORY_FILTER_NONE :Geen
# Industry view
STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY}
@@ -3277,7 +3385,13 @@ STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Skuif sk
STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Produksie vlak: {YELLOW}{COMMA}%
STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}Die nywerheid het aangekondig dat dit binnekort gaan sluit!
STR_INDUSTRY_VIEW_REQUIRES_N_CARGO :{BLACK}Benodig: {YELLOW}{STRING}{STRING}
STR_INDUSTRY_VIEW_PRODUCES_N_CARGO :{BLACK}Produseer: {YELLOW}{STRING}{STRING}
STR_INDUSTRY_VIEW_CARGO_LIST_EXTENSION :, {STRING}{STRING}
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Benodig:
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING}
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} wagtend{STRING}
STR_CONFIG_GAME_PRODUCTION :{WHITE}Verander produksie (veelvoude van 8, tot en met 2040)
STR_CONFIG_GAME_PRODUCTION_LEVEL :{WHITE}Verander produksie vlakke (persentasie, tot 800%)
@@ -3327,6 +3441,7 @@ STR_GROUP_DEFAULT_ROAD_VEHICLES :Ongegroepeerde
STR_GROUP_DEFAULT_SHIPS :Ongegroepeerde skepe
STR_GROUP_DEFAULT_AIRCRAFTS :Ongegroepeerde vliegtuig
STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA})
STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Groepe - klik op 'n groep om alle voertuie in hierdie groep te lys. Sleep en los om te rangskik volgens hiërargie.
STR_GROUP_CREATE_TOOLTIP :{BLACK}Klik om groep te skep
@@ -3342,6 +3457,10 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Verwyder alle v
STR_GROUP_RENAME_CAPTION :{BLACK}Hernoem 'n groep
STR_GROUP_PROFIT_THIS_YEAR :Wins hierdie jaar:
STR_GROUP_PROFIT_LAST_YEAR :Wins verlede jaar:
STR_GROUP_OCCUPANCY :Huidige verbruik:
STR_GROUP_OCCUPANCY_VALUE :{NUM}%
# Build vehicle window
STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nuwe treine
@@ -3350,9 +3469,11 @@ STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :Nuwe monospoor
STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Nuwe Maglev Voertuie
STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Nuwe Pad Voertuie
STR_BUY_VEHICLE_TRAM_VEHICLE_CAPTION :Nuwe Trem Voertuie
############ range for vehicle availability starts
STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Spoorweg Voertuie
STR_BUY_VEHICLE_ROAD_VEHICLE_ALL_CAPTION :Nuwe Padvoertuie
STR_BUY_VEHICLE_SHIP_CAPTION :Nuwe Skepe
STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Nuwe Vliegtuig
############ range for vehicle availability ends
@@ -3368,15 +3489,19 @@ STR_PURCHASE_INFO_REFITTABLE :(herboubaar)
STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Ontwerp: {GOLD}{NUM}{BLACK} Leeftyd: {GOLD}{COMMA} jaar
STR_PURCHASE_INFO_RELIABILITY :{BLACK}Maks. betroubaarheid: {GOLD}{COMMA}%
STR_PURCHASE_INFO_COST :{BLACK}Kos: {GOLD}{CURRENCY_LONG}
STR_PURCHASE_INFO_COST_REFIT :{BLACK}Koste: {GOLD}{CURRENCY_LONG}{BLACK} (Herbou Koste: {GOLD}{CURRENCY_LONG}{BLACK})
STR_PURCHASE_INFO_WEIGHT_CWEIGHT :{BLACK}Massa: {GOLD}{WEIGHT_SHORT} ({WEIGHT_SHORT})
STR_PURCHASE_INFO_COST_SPEED :{BLACK}Kos: {GOLD}{CURRENCY_LONG}{BLACK} Spoed: {GOLD}{VELOCITY}
STR_PURCHASE_INFO_COST_REFIT_SPEED :{BLACK}Koste: {GOLD}{CURRENCY_LONG}{BLACK} (Herbou Koste: {GOLD}{CURRENCY_LONG}{BLACK}) Spoed: {GOLD}{VELOCITY}
STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Kapasiteit: {GOLD}{CARGO_LONG}, {CARGO_LONG}
STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Self Krag Waens: {GOLD}+{POWER}{BLACK} Gewig: {GOLD}+{WEIGHT_SHORT}
STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Herboubaar na: {GOLD}{STRING}
STR_PURCHASE_INFO_ALL_TYPES :Alle vrag tipes
STR_PURCHASE_INFO_NONE :Geen
STR_PURCHASE_INFO_ALL_BUT :Alles behalwe {CARGO_LIST}
STR_PURCHASE_INFO_MAX_TE :{BLACK}Maks. Traktiewe Poging: {GOLD}{FORCE}
STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Afstand: {GOLD}{COMMA} teëls
STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Vliegtuig tipe: {GOLD}{STRING}
STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Trein kieslys - klik op voertuig vir inligting. CTRL+kliek vir wegsteek van die voertuig tipe
STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Pad voertuig kieslys - klik op voertuig vir inligting. CTRL+kliek vir wegsteek van die voertuig tipe
@@ -3388,12 +3513,19 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Koop Voe
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Bou skip
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Koop vliegtuig
STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Koop en Herbou Voertuig
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Koop en herbou voertuig
STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Koop en herbou skip
STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Koop en Herbou Vliegtuig
STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Koop die gekose lokomotief/wa. Shift+klik vir kwotasie
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Koop die gekose voertuig. Shift+klik vir kwotasie
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Koop die gekose skip. Shift+klik vir kwotasie
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Koop die gekose vliegtuig. Shift+klik vir kwotasie
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Koop en monteer die gemerkte voertuig. Shift+Click toon geskatte koste sonder aankoopkoste
STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK} Koop en herbou die gemerkte skip. Shift+Click toon geskatte koste sonder aankoopkoste
STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Koop en monteer die gemerkte vliegtuig. Shift+Click toon geskatte koste sonder aankoopkoste
STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Hernoem
STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_BUTTON :{BLACK}Hernoem
@@ -3505,10 +3637,12 @@ STR_ENGINE_PREVIEW_CAPTION :{WHITE}Boodskap
STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Ons het sopas 'n nuwe {STRING} ontwerp, sal jy belangstel om hierdie voertuig eksklusief vir 'n jaar te gebruik. Hierdie word gedoen om te kyk hoe die voertuig doen voordat hy wereld wyd in produksie gesit word?
STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :spoorweg lokomotief
STR_ENGINE_PREVIEW_ELRAIL_LOCOMOTIVE :geëlektrifiseerde spoorweglokomotief
STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :monospoor lokomotief
STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :maglev lokomotief
STR_ENGINE_PREVIEW_ROAD_VEHICLE :padvoertuig
STR_ENGINE_PREVIEW_TRAM_VEHICLE :tremweg voertuie
STR_ENGINE_PREVIEW_AIRCRAFT :vliegtuig
STR_ENGINE_PREVIEW_SHIP :skip
@@ -3516,6 +3650,10 @@ STR_ENGINE_PREVIEW_SHIP :skip
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Koste: {CURRENCY_LONG} Massa: {WEIGHT_SHORT}{}Spoed: {VELOCITY} Krag: {POWER}{}Loopkoste: {CURRENCY_LONG}/jr{}Kapasitiet: {CARGO_LONG}
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Koste: {CURRENCY_LONG} Gewig: {WEIGHT_SHORT}{}Spoed: {VELOCITY} Krag: {POWER} Maks. Treg Krag: {6:FORCE}{}Lopende Koste: {4:CURRENCY_LONG}/jaar{}Kapasitiet: {5:CARGO_LONG}
STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Koste: {CURRENCY_LONG} Maks. Spoed: {VELOCITY}{}Kapasiteit: {CARGO_LONG}{}Lopende Koste: {CURRENCY_LONG}/jaar
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Koste: {CURRENCY_LONG} Maks. Spoed: {VELOCITY}{}Vliegtuig Tipe: {STRING}{}Kapasiteit: {CARGO_LONG}, {CARGO_LONG}{}Lopende Koste: {CURRENCY_LONG}/jr
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Koste: {CURRENCY_LONG} Maks. Spoed: {VELOCITY}{}Vliegtuig tipe: {STRING}{}Kapasiteit: {CARGO_LONG}{}Lopende koste: {CURRENCY_LONG}/jr
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Koste: {CURRENCY_LONG} Maks. Spoed: {VELOCITY}{}Vliegtuig tipe: {STRING} Afstand: {COMMA} tiles{}Kapasiteit: {CARGO_LONG}, {CARGO_LONG}{}Lopende Koste: {CURRENCY_LONG}/jr
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Koste: {CURRENCY_LONG} Maks. Spoed: {VELOCITY}{}Vliegtuig tipe: {STRING} Afstand: {COMMA} teëls{}Kapasiteit: {CARGO_LONG}{}Lopende Koste: {CURRENCY_LONG}/jr
# Autoreplace window
STR_REPLACE_VEHICLES_WHITE :{WHITE}Vervang {STRING} - {STRING}
@@ -3545,14 +3683,19 @@ STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Druk om
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Skakel tussen enjin en wa vervang vensters
STR_REPLACE_ENGINES :Enjin
STR_REPLACE_WAGONS :Waens
STR_REPLACE_ALL_RAILTYPE :Alle spoorvoertuie
STR_REPLACE_ALL_ROADTYPE :Alle padvoertuie
STR_REPLACE_HELP_RAILTYPE :{BLACK}Kies die soort spoor waarvoor lokomotiewe vervang moet word
STR_REPLACE_HELP_ROADTYPE :{BLACK}Kies die padtipe waarvoor u enjins wil vervang
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Toon aan watter enjin die linker gekose enjin mee vervang moet word , indien enige
STR_REPLACE_RAIL_VEHICLES :Treine
STR_REPLACE_ELRAIL_VEHICLES :Elektriese treine
STR_REPLACE_MONORAIL_VEHICLES :Monospoor voertuie
STR_REPLACE_MAGLEV_VEHICLES :Maglev Voertuie
STR_REPLACE_ROAD_VEHICLES :Padvoertuie
STR_REPLACE_TRAM_VEHICLES :Tremweg voertuie
STR_REPLACE_REMOVE_WAGON :{BLACK}Wa verwydering: {ORANGE}{STRING}
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Maak autovervanging die lengte van 'n trein dieselfde hou deur verwydering waens (deur voor te begin), indien die enjin vervanging die trein langer sal maak
@@ -3638,6 +3781,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} ja{P ar
STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} ja{P ar re} ({COMMA})
STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Maks. spoed: {LTBLUE}{VELOCITY}
STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Maks. spoed: {LTBLUE}{VELOCITY} {BLACK}Vliegtuig tipe: {LTBLUE}{STRING}
STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Maks. spoed: {LTBLUE}{VELOCITY} {BLACK}Vliegtuig tipe: {LTBLUE}{STRING} {BLACK}Afstand: {LTBLUE}{COMMA}teëls
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Gewig: {LTBLUE}{WEIGHT_SHORT} {BLACK}Krag: {LTBLUE}{POWER}{BLACK} Maks. spoed: {LTBLUE}{VELOCITY}
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Massa: {LTBLUE}{WEIGHT_SHORT} {BLACK}Krag: {LTBLUE}{POWER}{BLACK} Maks. spoed: {LTBLUE}{VELOCITY} {BLACK}Maks. T.E.: {LTBLUE}{FORCE}
@@ -3771,6 +3916,7 @@ STR_ORDER_CONDITIONAL_AGE :Ouderdom (jare)
STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Benodig diens
STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Altyd
STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Oorblywende leeftyd (jare)
STR_ORDER_CONDITIONAL_MAX_RELIABILITY :Maksimum betroubaarheid
STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Hoe om die voertuig data te vergelyk met die gegeewe waarde
STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :is gelyk aan
@@ -4001,6 +4147,14 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Kies bel
STR_AI_LIST_CANCEL :{BLACK}Kanseleer
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Moenie skrif verander nie
STR_SCREENSHOT_CAPTION :{WHITE}Neem 'n skermkiekie
STR_SCREENSHOT_SCREENSHOT :{BLACK}Normale skermkiekie
STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Skermkiekie volledig ingezoom
STR_SCREENSHOT_DEFAULTZOOM_SCREENSHOT :{BLACK}Verstek zoomkiekie
STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Volledige kiekie van die kaart
STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Hoogtekaart-skermkiekie
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Minimap-skermkiekie
# AI Parameters
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parameters
STR_AI_SETTINGS_CAPTION_AI :AI
@@ -4273,6 +4427,7 @@ STR_ERROR_NO_SUITABLE_RAILROAD_TRACK :{WHITE}Geen ges
STR_ERROR_MUST_REMOVE_RAILROAD_TRACK :{WHITE}Moet eers spoor verwyder
STR_ERROR_CROSSING_ON_ONEWAY_ROAD :{WHITE}Pad is een rigting of geblok
STR_ERROR_CROSSING_DISALLOWED_RAIL :{WHITE}Vlak kruisings word nie toegelaat vir die spoor tipe nie
STR_ERROR_CROSSING_DISALLOWED_ROAD :{WHITE}Vlakoorgange nie toegelaat vir hierdie padtipe nie
STR_ERROR_CAN_T_BUILD_SIGNALS_HERE :{WHITE}Kan nie seinligte hier bou nie...
STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK :{WHITE}Kan nie spore hier bou nie...
STR_ERROR_CAN_T_REMOVE_RAILROAD_TRACK :{WHITE}Kan nie spore hier verwyder nie...
@@ -4292,6 +4447,12 @@ STR_ERROR_CAN_T_REMOVE_ROAD_FROM :{WHITE}Kan nie
STR_ERROR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Kan nie tremweg van hier af verwyder nie...
STR_ERROR_THERE_IS_NO_ROAD :{WHITE}... daar is geen pad nie
STR_ERROR_THERE_IS_NO_TRAMWAY :{WHITE}... daar is geen tremweg nie
STR_ERROR_CAN_T_CONVERT_ROAD :{WHITE}kan nie padtipe hier verander nie...
STR_ERROR_CAN_T_CONVERT_TRAMWAY :{WHITE}Kan nie tremtipe hier omskakel nie ...
STR_ERROR_NO_SUITABLE_ROAD :{WHITE}Geen geskikte pad
STR_ERROR_NO_SUITABLE_TRAMWAY :{WHITE}Geen geskikte tremweg nie
STR_ERROR_INCOMPATIBLE_ROAD :{WHITE}... onverenigbare pad
STR_ERROR_INCOMPATIBLE_TRAMWAY :{WHITE}... onversoenbare tremweg
# Waterway construction errors
STR_ERROR_CAN_T_BUILD_CANALS :{WHITE}Kan nie kanaale hier bou nie...
@@ -4344,6 +4505,7 @@ STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Kan nie
STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Kan nie groep uitvee nie...
STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Kan nie groep hernoem nie...
STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Kan nie die huidige groep instel nie
STR_ERROR_GROUP_CAN_T_SET_PARENT_RECURSION :{WHITE}... lusse in die groephiërargie word nie toegelaat nie
STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Kan nie alle voertuie van groep verwyder nie...
STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Kan nie die voertuig tot hierdie groep voeg nie...
STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Kan nie gedeelde voertuie by groep voeg nie...
@@ -4454,6 +4616,8 @@ STR_BASESOUNDS_DOS_DESCRIPTION :Oorspronklike T
STR_BASESOUNDS_WIN_DESCRIPTION :Oorspronklike Transport Tycoon Deluxe Windows uitgawe klanke.
STR_BASESOUNDS_NONE_DESCRIPTION :'n Klank stel sonder enige klanke.
STR_BASEMUSIC_WIN_DESCRIPTION :Oorspronklike Transport Tycoon Deluxe Windows uitgawe musiek.
STR_BASEMUSIC_DOS_DESCRIPTION :Oorspronklike Transport Tycoon Deluxe DOS-uitgawe musiek.
STR_BASEMUSIC_TTO_DESCRIPTION :Oorspronklike Transport Tycoon (Original/World Editor) musiek van die DOS-uitgawe.
STR_BASEMUSIC_NONE_DESCRIPTION :'n Musiek stel sonder enige musiek.
##id 0x2000

View File

@@ -446,9 +446,6 @@ STR_ABOUT_MENU_SEPARATOR :
STR_ABOUT_MENU_TOGGLE_CONSOLE :توقل كونسول
STR_ABOUT_MENU_AI_DEBUG :مكتشف اخطاء الذكاء الصناعي
STR_ABOUT_MENU_SCREENSHOT :صورة من الشاشة - Ctrl-S -
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :صورة للشاشة مصغرة
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :تقريب الشاشة القياسي
STR_ABOUT_MENU_GIANT_SCREENSHOT :صورة كبيرة لكامل الخريطة -Ctrl-G -
STR_ABOUT_MENU_ABOUT_OPENTTD :حول 'OpenTTD'
STR_ABOUT_MENU_SPRITE_ALIGNER :موائم العفريتات
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :اضهار /اخفاء مربح الحوارات/الخيارات
@@ -617,9 +614,6 @@ STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLA
STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}معدل2
STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}مستوى الصوت
STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}مؤثرات الصوت
STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}منخفض
STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}مرتفع
STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}'
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}-----
@@ -2312,7 +2306,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :ارض مملو
STR_ABOUT_OPENTTD :{WHITE}حول النسخة المفتوحة
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}الحقوق الاصلية {COPYRIGHT} كريس سوير 1995 , جميع الحقوق محفوظة
STR_ABOUT_VERSION :{BLACK}النسخة المفتوحة رقم {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}النسخة المفتوحة {COPYRIGHT}2002-2019 فريق النسخة المفتوحة
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}النسخة المفتوحة {COPYRIGHT}2002-{STRING} فريق النسخة المفتوحة
# Framerate display window
############ Leave those lines in this order!!
@@ -3487,6 +3481,7 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK} اخت
STR_AI_LIST_CANCEL :{BLACK} الغاء
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK} لا تغير الذكاء الصناعي
# AI Parameters
STR_AI_SETTINGS_CLOSE :{BLACK} اغلاق
STR_AI_SETTINGS_RESET :{BLACK} اعادة ضبط

View File

@@ -187,6 +187,7 @@ STR_COLOUR_ORANGE :Laranja
STR_COLOUR_BROWN :Marroia
STR_COLOUR_GREY :Grisa
STR_COLOUR_WHITE :Zuria
STR_COLOUR_DEFAULT :Lehenetsia
# Units used in OpenTTD
STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph
@@ -252,6 +253,7 @@ STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Ezkutuak
STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Ezkutuak erakutsi
STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Botoi hau gaituz, ezkutuak dauden trenak erakusten dira
STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Botoi hau gaituz, ezkutuko itsasontziak ere erakusten dira
# Query window
STR_BUTTON_DEFAULT :{BLACK}Lehenetsia
@@ -464,9 +466,6 @@ STR_ABOUT_MENU_SEPARATOR :
STR_ABOUT_MENU_TOGGLE_CONSOLE :Konsola aktibatu
STR_ABOUT_MENU_AI_DEBUG :IA/Joko script-aren garbitzailea
STR_ABOUT_MENU_SCREENSHOT :Pantailan dagoenaren argazkia hartu (Ctrl+S)
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Pantailan dagoenaren argazkia hartu zoom-a guztiz erabiliz
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :zoom lehenetsikoarekin pantaila-argazkia
STR_ABOUT_MENU_GIANT_SCREENSHOT :Mapa osoaren argazkia hartu (Ctrl+G)
STR_ABOUT_MENU_ABOUT_OPENTTD :'OpenTTD'-ri buruz
STR_ABOUT_MENU_SPRITE_ALIGNER :"Sprit" lerrokatzailea
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Kaxen neurriak aldatu
@@ -636,9 +635,6 @@ STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLA
STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Pertsonalizatua 2
STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Musikaren Bolumena
STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Efektuen Bolumena
STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}MIN
STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}MAX
STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}'
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
@@ -966,6 +962,7 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Pantaila
STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Pantailaren resulozioa aukeratu
STR_GAME_OPTIONS_RESOLUTION_OTHER :besteak
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Interfaze tamaina
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normala
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Tamaina doblea
@@ -1097,6 +1094,7 @@ STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Ezarpenak lehen
STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Balio ezberdinak dituzten ezarpenak zure joko berriaren ezarpenekin alderatuta
STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Bezero ezarpenak (ez dira partidatan gordetzen; joko guztiei eragiten die)
STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Jokoaren ezarpenak (gordetako partidetan bilduta; bakarrik partida berriei eragiten die)
STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Enpresa ezarpenak (partidan gordeta; bakarrik uneko enpresari eragiten dio)
STR_CONFIG_SETTINGS_NONE :{WHITE}- Ezer ez -
@@ -1276,6 +1274,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Zakarra
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Oso Zakarra
STR_CONFIG_SETTING_VARIETY :Barietateen distribuzioa: {STRING}
STR_CONFIG_SETTING_RIVER_AMOUNT :Ibai kantitatea: {STRING}
STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Aukeratu zenbat ibai sortuko diren
STR_CONFIG_SETTING_TREE_PLACER :Zuhaitz kokatzeko algoritmoa: {STRING}
STR_CONFIG_SETTING_TREE_PLACER_NONE :Ezer ez
STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Jatorrizkoa
@@ -1452,6 +1451,7 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Betea
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Kolorezko albisteak {STRING}. urtean agertzen dira
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Egunkarien mezuak kolorean imprimatuko diren urtea. Urte hau baino lehenago txuri/beltz monokromoa erabiliko da
STR_CONFIG_SETTING_STARTING_YEAR :Hasierako urtea: {STRING}
STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM}
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Gaitu ekonomia leuna (aldaketa gehiago baina txikiagoak): {STRING}
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Gaitua dagoenean, industrien ekoizpena gehiagotan aldatuko da baina urrats txikiagotan. Aukera honek gehienetan ez du eraginik izango industriak NewGRF batek ezartzen baditu
STR_CONFIG_SETTING_ALLOW_SHARES :Beste konpainien akzioak erostea baimendu: {STRING}
@@ -1557,6 +1557,7 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :Metrikoa (zp)
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_SI :SI (kW)
STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Pisu unitateak: {STRING}
STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Pisu bat erabiltzaile interfazean erakusten denean, aukeratutako unitateetan erakutsi
STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :Imperial (ton/tona)
STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_METRIC :Metrikoa (t/tona)
STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_SI :SI (kg)
@@ -1582,6 +1583,7 @@ STR_CONFIG_SETTING_INTERFACE :{ORANGE}Interfa
STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Orokorra
STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Leihoak
STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Eraikuntza
STR_CONFIG_SETTING_ADVISORS :{ORANGE}Albisteak / Aholkulariak
STR_CONFIG_SETTING_COMPANY :{ORANGE}Konpainia
STR_CONFIG_SETTING_VEHICLES :{ORANGE}Ibilgailuak
STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Fisika
@@ -2259,7 +2261,7 @@ STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Bide sei
STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Norabide bakarreko bide seinalea (elektrikoa){}Norabide bakarreko bide seinalea bloke berdinean tren bat baino gehiago egotea ahalbidetzen du, trenak gelditzeko tokia aurkitu badezake. Ezin dira atzekaldetik pasa
STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Seinaleak aldatu{}Aukeratua dagoenean, aukeratutako seinalea aldatuko da hautatutako seinale motagatik. Krtl+Klik mota aldatuko du, Shift+Klik gutxi gora beherako kostea erakutsiko du
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Arrastratzerakoan seinale dentsitatea
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Seinale dentsitatea jeitsi
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Seinale distantzia jaitsi
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Seinale dentsitatea igo
# Bridge selection window
@@ -2581,14 +2583,18 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Konpainia jabe
STR_ABOUT_OPENTTD :{WHITE}OpenTTD-ri buruz
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
STR_ABOUT_VERSION :{BLACK}OpenTTD bertsioa {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 The OpenTTD team
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} The OpenTTD team
# Framerate display window
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} koadroak/s
STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA} ms
############ Leave those lines in this order!!
STR_FRAMERATE_GL_ECONOMY :{BLACK} Zama kudeaketa:
STR_FRAMERATE_GL_TRAINS :{WHITE} Trenen tick-ak:
STR_FRAMERATE_GL_SHIPS :{WHITE} Itsasontzien tick-ak:
############ End of leave-in-this-order
############ Leave those lines in this order!!
STR_FRAMETIME_CAPTION_GAMESCRIPT :Jokoaren scripta
############ End of leave-in-this-order
@@ -2653,6 +2659,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Garaiera
STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Tamaina:
STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM}
STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Aldatu maparen garaiera maximoa
STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Elur garaiera aldatu
STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Hasierako urtea aldatu
@@ -2724,6 +2731,7 @@ STR_NEWGRF_SETTINGS_VERSION :{BLACK}Bertsioa
STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Gutxienezko bertsio bateragarria: {SILVER}{NUM}
STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5sum: {SILVER}{STRING}
STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Paleta: {SILVER}{STRING}
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT_32BPP :Aurrezarria (D) / 32 bpp
STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parametroak: {SILVER}{STRING}
STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}Ez dago informaziorik
@@ -3434,6 +3442,7 @@ STR_REPLACE_ELRAIL_VEHICLES :Tren ibilgailu
STR_REPLACE_MONORAIL_VEHICLES :Monorail trenak
STR_REPLACE_MAGLEV_VEHICLES :Tren magnetikoak
STR_REPLACE_TRAM_VEHICLES :Tranbia ibilgailuak
STR_REPLACE_REMOVE_WAGON :{BLACK}Bagoiak ezabatu: {ORANGE}{STRING}
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Ordezkatze automatikoari agindu trenaren luzera errespetatzea, bagoiak ezabatuz luzera handitzen badute (trenaren hasierako bagoietik hasita)
@@ -3876,6 +3885,7 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Piztutak
STR_AI_LIST_CANCEL :{BLACK}Ezeztatu
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Ez aldatu script-a
# AI Parameters
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parametroak
STR_AI_SETTINGS_CAPTION_AI :IA
@@ -4164,6 +4174,7 @@ STR_ERROR_CAN_T_REMOVE_ROAD_FROM :{WHITE}Ezin da
STR_ERROR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Ezin da hemen tranbiarik ezabatu...
STR_ERROR_THERE_IS_NO_ROAD :{WHITE}... ez dago biderik
STR_ERROR_THERE_IS_NO_TRAMWAY :{WHITE}... ez dago tranbia biderik
STR_ERROR_INCOMPATIBLE_ROAD :{WHITE}... errepidea ez da bateragarria
# Waterway construction errors
STR_ERROR_CAN_T_BUILD_CANALS :{WHITE}Ezin dira hemen urbideak eraiki...

View File

@@ -783,9 +783,6 @@ STR_ABOUT_MENU_SEPARATOR :
STR_ABOUT_MENU_TOGGLE_CONSOLE :Кансоль
STR_ABOUT_MENU_AI_DEBUG :Наладка штучнага інтэлекту (ШІ/AI) / скрыптоў
STR_ABOUT_MENU_SCREENSHOT :Здымак экрана (Ctrl+S)
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Здымак экрана ў макс. набліжэньні
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Павялiчаны здымак экрана па змоўчаньнi
STR_ABOUT_MENU_GIANT_SCREENSHOT :Здымак усёй мапы (Ctrl+G)
STR_ABOUT_MENU_ABOUT_OPENTTD :Аб гульні OpenTTD
STR_ABOUT_MENU_SPRITE_ALIGNER :Выраўноўваньне спрайтаў
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Пераключыць абмежавальныя рамкі
@@ -955,9 +952,6 @@ STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLA
STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Уласны 2
STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Гучнасьць музыкі
STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Гучнасьць эфэктаў
STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}МІН
STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}МАКС
STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}'
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
@@ -3024,7 +3018,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Зямля на
STR_ABOUT_OPENTTD :{WHITE}Аб OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Арыґінальныя аўтарскія правы {COPYRIGHT} 1995 Chris Sawyer. Усе правы абароненыя.
STR_ABOUT_VERSION :{BLACK}OpenTTD вэрсія {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 20022019 Каманда распрацоўнікаў OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002{STRING} Каманда распрацоўнікаў OpenTTD
# Framerate display window
############ Leave those lines in this order!!
@@ -4385,6 +4379,7 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Выбр
STR_AI_LIST_CANCEL :{BLACK}Скасаваць
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Не змяняць скрыпт
# AI Parameters
STR_AI_SETTINGS_CAPTION :{WHITE}Параметры {STRING}
STR_AI_SETTINGS_CAPTION_AI :ШI

View File

@@ -471,9 +471,6 @@ STR_ABOUT_MENU_SEPARATOR :
STR_ABOUT_MENU_TOGGLE_CONSOLE :Alternar console
STR_ABOUT_MENU_AI_DEBUG :Depurar IA/Script do jogo
STR_ABOUT_MENU_SCREENSHOT :Captura de tela
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Ampliado em captura de tela
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Captura de tela em ampliação padrão
STR_ABOUT_MENU_GIANT_SCREENSHOT :Captura de tela do mapa inteiro
STR_ABOUT_MENU_SHOW_FRAMERATE :Exibir taxa de quadros
STR_ABOUT_MENU_ABOUT_OPENTTD :Sobre 'OpenTTD'
STR_ABOUT_MENU_SPRITE_ALIGNER :Alinhador de "sprites"
@@ -644,9 +641,6 @@ STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLA
STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Personalizado 2
STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Volume da Música
STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Volume dos Efeitos
STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}MIN
STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}MAX
STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}'
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
@@ -2695,7 +2689,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :O terreno é pr
STR_ABOUT_OPENTTD :{WHITE}Sobre o OpenTTD...
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer, Todos os direitos reservados
STR_ABOUT_VERSION :{BLACK}OpenTTD versão {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 A equipe do OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} A equipe do OpenTTD
# Framerate display window
STR_FRAMERATE_CAPTION :{WHITE}Taxa de quadros
@@ -4075,6 +4069,7 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Selecion
STR_AI_LIST_CANCEL :{BLACK}Cancelar
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Não mudar o script
# AI Parameters
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parâmetros
STR_AI_SETTINGS_CAPTION_AI :{G=f}IA

View File

@@ -471,9 +471,6 @@ STR_ABOUT_MENU_SEPARATOR :
STR_ABOUT_MENU_TOGGLE_CONSOLE :Показване/скриване на конзола
STR_ABOUT_MENU_AI_DEBUG :ИИ дебъг
STR_ABOUT_MENU_SCREENSHOT :Screenshot
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Напълно увеличен в кадъра.
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Увеличение по подразбиране
STR_ABOUT_MENU_GIANT_SCREENSHOT :Огромен Screenshot
STR_ABOUT_MENU_SHOW_FRAMERATE :Показване на честотата на кадрите
STR_ABOUT_MENU_ABOUT_OPENTTD :Относно 'OpenTTD'
STR_ABOUT_MENU_SPRITE_ALIGNER :Подравнител на спрайтове
@@ -644,9 +641,6 @@ STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLA
STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Персонален 2
STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Сила на музиката
STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Сила на ефектите
STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}MIN
STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}MAX
STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}'
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
@@ -2642,7 +2636,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Земя, пр
STR_ABOUT_OPENTTD :{WHITE}Относно OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Авторски права {COPYRIGHT} 1995 Крис Сойер (Chris Sawyer), Всички права са запазени
STR_ABOUT_VERSION :{BLACK}OpenTTD версия {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2019 The OpenTTD team
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-{STRING} The OpenTTD team
# Framerate display window
STR_FRAMERATE_CAPTION :{WHITE}Скорост на кадрите
@@ -3978,6 +3972,7 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Избе
STR_AI_LIST_CANCEL :{BLACK}Отмени
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Не променяй AI
# AI Parameters
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Параметри
STR_AI_SETTINGS_CAPTION_AI :AI

View File

@@ -236,6 +236,7 @@ STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Filtra p
STR_BUTTON_SORT_BY :{BLACK}Ordena per:
STR_BUTTON_LOCATION :{G=Masculin}{BLACK}Lloc
STR_BUTTON_RENAME :{BLACK}Canvia el nom
STR_TOOLTIP_CATCHMENT :{BLACK}Mostra/Amaga l'àrea de cobertura
STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Tanca la finestra
STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Títol de la finestra: arrossegueu el títol per desplaçar la finestra.
@@ -264,6 +265,7 @@ STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Activant
STR_BUTTON_DEFAULT :{BLACK}Predeterminat
STR_BUTTON_CANCEL :{BLACK}Cancel·la
STR_BUTTON_OK :{BLACK}D'acord
STR_WARNING_PASSWORD_SECURITY :{YELLOW}Avís: Els administradors del servidor potser poden llegir el que escriviu aquí.
# On screen keyboard window
STR_OSK_KEYBOARD_LAYOUT :`1234567890-=\qwertyuiop[]asdfghjkl;' zxcvbnm,./ .
@@ -474,9 +476,6 @@ STR_ABOUT_MENU_SEPARATOR :
STR_ABOUT_MENU_TOGGLE_CONSOLE :Commuta la consola
STR_ABOUT_MENU_AI_DEBUG :Depuració de les IA i l'script de partida
STR_ABOUT_MENU_SCREENSHOT :Captura de pantalla
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Captura de pantalla amb el zoom màxim
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Captura de pantalla amb el zoom predeterminat
STR_ABOUT_MENU_GIANT_SCREENSHOT :Captura de pantalla de tot el mapa
STR_ABOUT_MENU_SHOW_FRAMERATE :Mostra els fotogrames per segon
STR_ABOUT_MENU_ABOUT_OPENTTD :Quant a l'OpenTTD
STR_ABOUT_MENU_SPRITE_ALIGNER :Alineador de sprites
@@ -647,9 +646,6 @@ STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLA
STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Personalitzat 2
STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Volum de la música
STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Volum dels efectes
STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}MÍN
STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}MÀX
STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}'
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
@@ -933,6 +929,7 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Lari georgià (
STR_GAME_OPTIONS_CURRENCY_IRR :Rial iranià (IRR)
STR_GAME_OPTIONS_CURRENCY_RUB :Ruble rus modern (RUB)
STR_GAME_OPTIONS_CURRENCY_MXN :Peso mexicà (MXN)
STR_GAME_OPTIONS_CURRENCY_CNY :Renminbi xinès (CNY)
############ end of currency region
STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Vehicles de carretera
@@ -1184,6 +1181,7 @@ STR_CONFIG_SETTING_AUTOSLOPE :Permet la modif
STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Permet modelar el terreny sota les vies, els edificis i altres elements sense eliminar-los.
STR_CONFIG_SETTING_CATCHMENT :Estableix una mida més real de l'àrea d'influència: {STRING}
STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Permet tenir diferents mides de zones de captació de càrrega per diferents tipus d'estacions (aeroports, estacions de tren, etc.).
STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES :Les estacions de la companyia poden donar servei a industries amb estacions neutrals: {STRING}
STR_CONFIG_SETTING_EXTRADYNAMITE :Permet l'esborrat de carreteres, ponts i túnels propietat de les poblacions: {STRING}
STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Aquesta opció permet fer més fàcil l'esborrat d'infraestructures i construccions propietat de la població
STR_CONFIG_SETTING_TRAIN_LENGTH :Longitud màxima dels trens: {STRING}
@@ -1305,6 +1303,8 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL :Mostra els habi
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Mostra els habitants a les etiquetes dels noms de les poblacions al mapa
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Gruix de les línies dels gràfics: {STRING}
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Gruix de la línia als gràfics. Una línia més fina és més llegible, una línia més gruixuda és més fàcil de veure i els colors són més fàcils de distingir
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Mostra el nom del NewGRF a la finestra de construcció de vehicles: {STRING}
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Afegeix una línia a la finestra de construcció de vehicles que mostri de quin NewGRF és el vehicle seleccionat.
STR_CONFIG_SETTING_LANDSCAPE :Paisatge: {STRING}
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :El tipus de paisatge defineix escenaris amb diferents tipus de càrrega i requisits per al creixement de les poblacions. Els NewGRF i l'script de la partida poden modificar-ne l'aparença i el comportament
@@ -1481,6 +1481,7 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Permet IA en mu
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Permet a les IA participar en partides multijugador.
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes abans de suspendre els scripts: {STRING}
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Màxim nombre de passos de càlcul que un script pot fer en un torn
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Ús de memòria màxim per script: {STRING}
STR_CONFIG_SETTING_SERVINT_ISPERCENT :Els intervals de revisions es mostren en percentatges: {STRING}
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Escull si les revisions dels vehicles depenen del temps passat des de la darrera revisió o de la caiguda d'un cert percentatge de la fiabilitat màxima
@@ -1539,10 +1540,12 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Complet
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Les notícies en color apareixen el: {STRING}
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Any en què els diaris comencen a fer anuncis en color. Abans d'aquest any, imprimiran en blanc i negre.
STR_CONFIG_SETTING_STARTING_YEAR :Any d'inici: {STRING}
STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Mai
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Activa economia suau (més canvis però més petits): {STRING}
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Quan està activat, els canvis de producció de la indústria són més habituals, i en passos més petits. Aquest paràmetre usualment no té efecte, si el tipus d'indústria estan proveïts per un NewGRF
STR_CONFIG_SETTING_ALLOW_SHARES :Permet comprar participacions d'altres companyies: {STRING}
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Permet comprar i vendre accions de les companyies. Les accions només estan disponibles per companyies d'una certa edat.
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES :Edat mínima de la companyia per negociar participacions: {STRING}
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Percentatge del benefici total a pagar en transferències: {STRING}
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Percentatge del benefici donat a branques intermediàries dins els sistemes, donant més control sobre els beneficis
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :En arrossegar, col·locar senyals cada: {STRING}
@@ -2429,7 +2432,10 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Construe
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Construeix un túnel per a tramvies. Shift commuta construeix/mostra el cost estimat
STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Intercanvia funció construeix/treu per la construcció de carreteres
STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Canvia construeix/treu de la construcció de vies de tramvia
STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}Converteix/Millora el tipus de carretera. Shift commuta entre construir o mostrar-ne el cost estimat.
STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_TRAM :{BLACK}Converteix/Millora el tipus de tramvia. Shift commuta construeix/mostra el cost estimat.
STR_ROAD_NAME_ROAD :Carretera
# Road depot construction window
STR_BUILD_DEPOT_ROAD_ORIENTATION_CAPTION :{WHITE}Orientació de la cotxera
@@ -2712,7 +2718,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :terreny propiet
STR_ABOUT_OPENTTD :{WHITE}Quant a l'OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer. Tots els drets reservats.
STR_ABOUT_VERSION :{BLACK}Versió {REV} de l'OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 L'equip de l'OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} L'equip de l'OpenTTD
# Framerate display window
STR_FRAMERATE_CAPTION :{WHITE}Fotogrames per segon
@@ -2732,6 +2738,7 @@ STR_FRAMERATE_MS_BAD :{RED}{DECIMAL}{
STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL}{NBSP}fps
STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL}{NBSP}fps
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL}{NBSP}fps
STR_FRAMERATE_BYTES_WARN :{YELLOW}{BYTES}
STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA}{NBSP}ms
STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA}{NBSP}s
############ Leave those lines in this order!!
@@ -3097,6 +3104,7 @@ STR_TOWN_VIEW_RENAME_TOWN_BUTTON :Canvia el nom d
# Town local authority window
STR_LOCAL_AUTHORITY_CAPTION :{WHITE}{TOWN} autoritat local
STR_LOCAL_AUTHORITY_ZONE :{BLACK}Zona
STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Ratis de la companyia de transports:
STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING}
STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Accions disponibles:
@@ -3354,6 +3362,7 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_CAPTION :{WHITE}Infraest
STR_COMPANY_INFRASTRUCTURE_VIEW_RAIL_SECT :{GOLD}Trossos de vies:
STR_COMPANY_INFRASTRUCTURE_VIEW_SIGNALS :{WHITE}Senyals
STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD_SECT :{GOLD}Trossos de carretera:
STR_COMPANY_INFRASTRUCTURE_VIEW_TRAM_SECT :{GOLD}Trossos de tramvia:
STR_COMPANY_INFRASTRUCTURE_VIEW_WATER_SECT :{GOLD}Cel·les d'aigua:
STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS :{WHITE}Canals
STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}Estacions:
@@ -3364,8 +3373,10 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL :{WHITE}{CURRENC
# Industry directory
STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Indústries
STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Cap -
STR_INDUSTRY_DIRECTORY_ITEM_INFO :{BLACK}{CARGO_LONG}{STRING}{YELLOW} (transportat: {COMMA}{NBSP}%){BLACK}
STR_INDUSTRY_DIRECTORY_ITEM_NOPROD :{ORANGE}{INDUSTRY}
STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Nom de les indústries - clica al nom per centrar la vista en la indústria. Ctrl+Clic obre una nova vista al lloc de la indústria
STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Tots els tipus de càrrega
# Industry view
STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY}
@@ -3462,6 +3473,7 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Compra de nous
############ range for vehicle availability starts
STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Compra de nous vehicles sobre vies
STR_BUY_VEHICLE_ROAD_VEHICLE_ALL_CAPTION :Automòbils nous
STR_BUY_VEHICLE_SHIP_CAPTION :Compra de nous vaixells
STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Compra de noves aeronaus
############ range for vehicle availability ends
@@ -3477,6 +3489,7 @@ STR_PURCHASE_INFO_REFITTABLE :(remodelable)
STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Dissenyat: {GOLD}{NUM}{BLACK} Vida: {GOLD}{COMMA} any{P "" s}
STR_PURCHASE_INFO_RELIABILITY :{BLACK}Fiabilitat màxima: {GOLD}{COMMA}%
STR_PURCHASE_INFO_COST :{BLACK}Cost: {GOLD}{CURRENCY_LONG}
STR_PURCHASE_INFO_COST_REFIT :{BLACK}Cost: {GOLD}{CURRENCY_LONG}{BLACK} (Cost del remodelat: {GOLD}{CURRENCY_LONG}{BLACK})
STR_PURCHASE_INFO_WEIGHT_CWEIGHT :{BLACK}Pes: {GOLD}{WEIGHT_SHORT} ({WEIGHT_SHORT})
STR_PURCHASE_INFO_COST_SPEED :{BLACK}Cost: {GOLD}{CURRENCY_LONG}{BLACK} Velocitat: {GOLD}{VELOCITY}
STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Capacitat: {GOLD}{CARGO_LONG}, {CARGO_LONG}
@@ -3499,6 +3512,7 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Compra e
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Compra el vaixell
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Compra l'aeronau
STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Compra i remodela vehicles
STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Compra el tren/vagó seleccionat. Amb Maj+Clic, mostra el cost estimat sense comprar-lo.
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Compra el vehicle marcat. Amb Maj+Clic, mostra el cost estimat sense comprar-lo.
@@ -3620,6 +3634,7 @@ STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :{G=Femenin}loco
STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :{G=Femenin}locomotora de maglev
STR_ENGINE_PREVIEW_ROAD_VEHICLE :{G=Masculin}automòbil
STR_ENGINE_PREVIEW_TRAM_VEHICLE :tramvia
STR_ENGINE_PREVIEW_AIRCRAFT :{G=Masculin}avió
STR_ENGINE_PREVIEW_SHIP :{G=Masculin}vaixell
@@ -3669,6 +3684,8 @@ STR_REPLACE_ELRAIL_VEHICLES :Trens Elèctric
STR_REPLACE_MONORAIL_VEHICLES :Trens monorail
STR_REPLACE_MAGLEV_VEHICLES :Trens maglev
STR_REPLACE_ROAD_VEHICLES :Automòbils
STR_REPLACE_TRAM_VEHICLES :Tramvies
STR_REPLACE_REMOVE_WAGON :{BLACK}Treure vagons: {ORANGE}{STRING}
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Fer que la substitució automàtica mantingui la llargada del tren eliminant vagons (començant pel front), si substituint la màquina el tren es fa més llarg
@@ -4120,6 +4137,11 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Seleccio
STR_AI_LIST_CANCEL :{BLACK}Cancel·la
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}No canviïs l'script.
STR_SCREENSHOT_SCREENSHOT :{BLACK}Captura de pantalla normal
STR_SCREENSHOT_DEFAULTZOOM_SCREENSHOT :{BLACK}Zoom de la captura de pantalla per defecte
STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Captura de pantalla del mapa d'alçades
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Captura de pantalla del minimapa
# AI Parameters
STR_AI_SETTINGS_CAPTION :{WHITE}Paràmetres {STRING}
STR_AI_SETTINGS_CAPTION_AI :de la IA
@@ -4392,6 +4414,7 @@ STR_ERROR_NO_SUITABLE_RAILROAD_TRACK :{WHITE}Via de t
STR_ERROR_MUST_REMOVE_RAILROAD_TRACK :{WHITE}...abans s'ha de treure la via.
STR_ERROR_CROSSING_ON_ONEWAY_ROAD :{WHITE}La carretera és un d'un sol sentit o està bloquejada
STR_ERROR_CROSSING_DISALLOWED_RAIL :{WHITE}Els passos a nivell no estan permesos en aquest tipus de via
STR_ERROR_CROSSING_DISALLOWED_ROAD :{WHITE}No s'admeten passos a nivell en aquest tipus de carretera.
STR_ERROR_CAN_T_BUILD_SIGNALS_HERE :{WHITE}Aquí no es poden construir senyals...
STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK :{WHITE}Aquí no es pot construir la via de tren...
STR_ERROR_CAN_T_REMOVE_RAILROAD_TRACK :{WHITE}Aquí no es pot treure la via de tren...
@@ -4411,6 +4434,8 @@ STR_ERROR_CAN_T_REMOVE_ROAD_FROM :{WHITE}Aquí no
STR_ERROR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}No puc treure la via de tramvia d'aquí...
STR_ERROR_THERE_IS_NO_ROAD :{WHITE}... no hi ha carretera
STR_ERROR_THERE_IS_NO_TRAMWAY :{WHITE}... no hi ha via de tramvia
STR_ERROR_INCOMPATIBLE_ROAD :{WHITE}... la carretera és incompatible.
STR_ERROR_INCOMPATIBLE_TRAMWAY :{WHITE}... El tipus de tramvia és incompatible.
# Waterway construction errors
STR_ERROR_CAN_T_BUILD_CANALS :{WHITE}Aquí no es poden construir canals...

View File

@@ -574,9 +574,6 @@ STR_ABOUT_MENU_SEPARATOR :
STR_ABOUT_MENU_TOGGLE_CONSOLE :Otvori konzolu
STR_ABOUT_MENU_AI_DEBUG :Debugiranje UI-ja/Skripte igre
STR_ABOUT_MENU_SCREENSHOT :Slika zaslona
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Zumirano do kraja na slici zaslona
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Standardno zumiranje slike zaslona
STR_ABOUT_MENU_GIANT_SCREENSHOT :Slika zaslona cijele karte
STR_ABOUT_MENU_SHOW_FRAMERATE :Prikaži broj sličica u sekundi
STR_ABOUT_MENU_ABOUT_OPENTTD :O 'OpenTTD'
STR_ABOUT_MENU_SPRITE_ALIGNER :Poravnanje spritea
@@ -747,9 +744,6 @@ STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLA
STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Proizvoljno 2
STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Glasnoća glazbe
STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Glasnoća zvukova
STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}MIN
STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}MAX
STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}'
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
@@ -966,6 +960,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}Novi {STRING} je sada dostupan! - {ENGINE}
STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Otvori prozor grupe fokusiran na grupu odabranog vozila
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO :{WHITE}{STATION} više ne prihvaća {STRING.aku}
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}{STATION} više ne prihvaća {STRING.aku} ili {STRING.aku}
@@ -1410,6 +1405,8 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL :Prikaži broj s
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Prikaži broj stanovnika uz nazive gradova na karti
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Debljina linija u grafikonima: {STRING}
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Debljina linije u grafikonima. Tanja linija je preciznija za čitanje, deblja linija je lakša za vidjeti i boje su lakše za razabrati
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Prikaži ime NewGRF-a u prozoru za izgradnju vozila: {STRING}
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Dodaj redak u prozor izgradnje vozila koji će pokazati iz kojeg NewGRF-a dolazi odabrano vozilo.
STR_CONFIG_SETTING_LANDSCAPE :Krajolik: {STRING}
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Tereni određuju osnovne scenarije za igru s različitim teretima i preduvjetima za rast gradova. NewGRF-ovi i Skripte Igre omogućavaju detaljnije kontrole i postavke.
@@ -1647,6 +1644,10 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Sve
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Vijesti u boji pojavljuju se: {STRING}
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Godina u kojoj će se novine početi izdavati u boji. Prije ove godine, koriste se crno/bijele novine
STR_CONFIG_SETTING_STARTING_YEAR :Početna godina: {STRING}
STR_CONFIG_SETTING_ENDING_YEAR :Godina kraja bodovanja: {STRING}
STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Godina koje igra završava u smislu bodovanja. Na kraju ove godine, bilježe se bodovi kompanije i prikazuje se tablica najviših bodova ali igrači mogu nastaviti igru.{}Ako je ovo prije početne godine, tablica najviših bodova se nikada neće prikazati.
STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM}
STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Nikada
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Uključi stabilno gospodarstvo (više manjih izazova): {STRING}
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Kada je uključeno, promjene u industrijskoj proizvodnji su češće ali u manjim rasponima. Ova postavka obično nema efekta ukoliko su industrije postavljene iz nekog NewGRF-a
STR_CONFIG_SETTING_ALLOW_SHARES :Dopusti kupovanje udjela u drugim tvrtkama: {STRING}
@@ -2263,6 +2264,7 @@ STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Pogrešn
STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Poslužitelj je pun
STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Zabranjen ti je pristup ovom poslužitelju
STR_NETWORK_ERROR_KICKED :{WHITE}Izbačen si iz igre
STR_NETWORK_ERROR_KICK_MESSAGE :{WHITE}Razlog: {STRING}
STR_NETWORK_ERROR_CHEATER :{WHITE}Na ovome poslužitelju varanje nije dopušteno
STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Slali ste previše naredbi na server
STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}Trebalo vam je previše vremena za unošenje lozinke
@@ -2322,6 +2324,7 @@ STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} je
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Dao si {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Poslužitelj je zatvorio sesiju
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Poslužitelj se ponovno pokreće...{}Molimo pričekajte...
STR_NETWORK_MESSAGE_KICKED :*** {STRING} je izbačen. Razlog: ({STRING})
# Content downloading window
STR_CONTENT_TITLE :{WHITE}Preuzimanje sadržaja
@@ -2829,7 +2832,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Zemlja u posjed
STR_ABOUT_OPENTTD :{WHITE}O OpenTTD-u
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Izvorno autorsko pravo {COPYRIGHT} 1995 Chris Sawyer, sva prava pridržana
STR_ABOUT_VERSION :{BLACK}OpenTTD verzija {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 OpenTTD tim
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} OpenTTD tim
# Framerate display window
STR_FRAMERATE_CAPTION :{WHITE}Broj sličica
@@ -3496,6 +3499,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} i {NUM} više...
STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Imena industrija - za centriranje pogleda klikni na ime. Ctrl+klik otvara novi prozor sa lokacijom industrije
STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Prihvaćeni teret: {SILVER}{STRING}
STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Proizvedeni teret: {SILVER}{STRING}
STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Sve vrste tereta
STR_INDUSTRY_DIRECTORY_FILTER_NONE :Ništa
# Industry view
STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY}
@@ -4270,6 +4277,14 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Odaberi
STR_AI_LIST_CANCEL :{BLACK}Odustani
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Nemoj mijenjati skriptu
STR_SCREENSHOT_CAPTION :{WHITE}Napravi sliku zaslova
STR_SCREENSHOT_SCREENSHOT :{BLACK}Normalna snimka zaslona
STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Maksimalno zumirana slika zaslona
STR_SCREENSHOT_DEFAULTZOOM_SCREENSHOT :{BLACK}Snimka ekrana sa zumom osnovne postavke
STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Slika cijele mape
STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Slika visinske mape
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Slika mini-mape
# AI Parameters
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parametri
STR_AI_SETTINGS_CAPTION_AI :UI

View File

@@ -553,9 +553,6 @@ STR_ABOUT_MENU_SEPARATOR :
STR_ABOUT_MENU_TOGGLE_CONSOLE :Zobrazit nebo skrýt konzoli
STR_ABOUT_MENU_AI_DEBUG :Ladění AI / herních skriptů
STR_ABOUT_MENU_SCREENSHOT :Screenshot
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Screenshot v plném přiblížení
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Screenshot ve výchozím přiblížení
STR_ABOUT_MENU_GIANT_SCREENSHOT :Screenshot celé mapy
STR_ABOUT_MENU_SHOW_FRAMERATE :Zobrazit počet snímků za sekundu
STR_ABOUT_MENU_ABOUT_OPENTTD :O 'OpenTTD'
STR_ABOUT_MENU_SPRITE_ALIGNER :Zarovnávání spritů
@@ -738,9 +735,6 @@ STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLA
STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Volba 2
STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Hlasitost hudby
STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Hlasitost efektů
STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}MIN
STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}MAX
STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}'
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
@@ -1401,6 +1395,8 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL :Zobrazovat popu
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Zobrazovat městskou populaci u názvu města na mapě
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Tloušťky čar v grafech: {STRING}
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Tloušťka čáry v grafech. Tenká čára se čte přesněji, silnější je lépe viditelná a barva je snadněji rozpoznatelná.
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Zobrazovat název NewGRF v okně nákupu vozidel: {STRING}
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Přidá řádek do okna nákupu vozidel informující, ze které NewGRF vybrané vozidlo pochází.
STR_CONFIG_SETTING_LANDSCAPE :Klima: {STRING}
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Klima určuje základy herního scénáře s rozdílnými druhy nákladu a požadavky na růst měst. Nové GRaFiky a Herní Skripty umožní ještě jemnější kontrolu
@@ -1638,6 +1634,10 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Plná
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Barevné noviny se objeví v roce: {STRING}
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Rok od kterého budou novinová oznámeni zobrazena v barvách. Před tímto rokem jsou černobílá.
STR_CONFIG_SETTING_STARTING_YEAR :Počáteční datum: {STRING}
STR_CONFIG_SETTING_ENDING_YEAR :Rok vyhodnocení: {STRING}
STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Rok, kdy je ve hře uzavřeno hodnocení společností. Na konci tohoto roku je zaznamenáno skóre společností a je zobrazena tabulka nejlepších společností, ale ve hře je možné pokračovat i dál.{}Pokud je nastaven rok před rokem počátku hry, tabulka s hodnocením nebude zobrazena nikdy.
STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM}
STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Nikdy
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Plynulé změny ekonomiky (více menších změn): {STRING}
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Pokud je zapnuto, produkce průmyslu se mění častěji ale změny jsou menší. Toto nastavení většinou nemá vliv na průmysl, který je přidaný novou grafikou
STR_CONFIG_SETTING_ALLOW_SHARES :Povolit kupování podílu z ostatních společností: {STRING}
@@ -2826,7 +2826,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Půda vlastněn
STR_ABOUT_OPENTTD :{WHITE}O OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Původní copyright: {COPYRIGHT} 1995 Chris Sawyer, všechna práva vyhrazena
STR_ABOUT_VERSION :{BLACK}OpenTTD verze {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 Tým OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} Tým OpenTTD
# Framerate display window
STR_FRAMERATE_CAPTION :{WHITE}Počet snímků za sekundu
@@ -3484,8 +3484,17 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL :{WHITE}{CURRENC
# Industry directory
STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Průmysl
STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Nic -
STR_INDUSTRY_DIRECTORY_ITEM_INFO :{BLACK}{CARGO_LONG}{STRING}{YELLOW} ({COMMA}% přepraveno){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} a {NUM} další...
STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Název průmyslu - pohled na něj zaměříš kliknutím na jeho jméno. Při stisknutém Ctrl otevřeš nový pohled
STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Přijímá náklad: {SILVER}{STRING}
STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Produkuje náklad: {SILVER}{STRING}
STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Všechny druhy nákladu
STR_INDUSTRY_DIRECTORY_FILTER_NONE :Žádný
# Industry view
STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY}
@@ -4263,6 +4272,14 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Vybrat o
STR_AI_LIST_CANCEL :{BLACK}Zrušit
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Neměňte skript
STR_SCREENSHOT_CAPTION :{WHITE}Pořídit snímek obrazovky
STR_SCREENSHOT_SCREENSHOT :{BLACK}Běžný snímek obrazovky
STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Snímek obrazovky v úplném přiblížení
STR_SCREENSHOT_DEFAULTZOOM_SCREENSHOT :{BLACK}Snímek obrazovky ve výchozím přiblížení
STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Snímek celé mapy
STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Snímek výškové mapy
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Snímek (náhledové) mapy světa
# AI Parameters
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parametry
STR_AI_SETTINGS_CAPTION_AI :AI

View File

@@ -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.
@@ -474,9 +478,6 @@ STR_ABOUT_MENU_SEPARATOR :
STR_ABOUT_MENU_TOGGLE_CONSOLE :Tænd/Sluk konsol
STR_ABOUT_MENU_AI_DEBUG :Computerspiller/spilscript debug
STR_ABOUT_MENU_SCREENSHOT :Skærmbillede (Ctrl-S)
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Fuldt zoomet skærmbillede
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Standard zoom skærmbillede
STR_ABOUT_MENU_GIANT_SCREENSHOT :Kæmpe skærmbillede (Ctrl-G)
STR_ABOUT_MENU_SHOW_FRAMERATE :Vis spilhastighed
STR_ABOUT_MENU_ABOUT_OPENTTD :Om 'OpenTTD'
STR_ABOUT_MENU_SPRITE_ALIGNER :Spritejustering
@@ -647,9 +648,6 @@ STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLA
STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Custom 2
STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Musik lydstyrke
STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Effekt lydstyrke
STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}MIN
STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}MAKS
STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}'
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
@@ -859,13 +857,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}
@@ -933,6 +932,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
@@ -1307,6 +1309,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
@@ -1318,8 +1322,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}
@@ -1483,6 +1487,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
@@ -1541,10 +1548,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}
@@ -2155,6 +2168,7 @@ STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Forkert
STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Serveren er fuld
STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Du er bandlyst fra denne server
STR_NETWORK_ERROR_KICKED :{WHITE}Du blev smidt ud af spillet
STR_NETWORK_ERROR_KICK_MESSAGE :{WHITE}Grund: {STRING}
STR_NETWORK_ERROR_CHEATER :{WHITE}Snyderi er ikke tilladt på denne server
STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Du sendte for mange kommandoer til serveren
STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}Du tog for lang tid om at indtaste adgangskoden
@@ -2214,6 +2228,7 @@ STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} ga
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Du gav {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Serveren har lukket ned for dette spil
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Serveren genstarter...{}Vent venligst...
STR_NETWORK_MESSAGE_KICKED :*** {STRING} blev sparket ud. Grund: ({STRING})
# Content downloading window
STR_CONTENT_TITLE :{WHITE}Download af indhold
@@ -2431,7 +2446,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
@@ -2617,8 +2635,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
@@ -2715,7 +2736,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Land ejet af se
STR_ABOUT_OPENTTD :{WHITE}Om OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, Alle rettigheder reserveret
STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 OpenTTD teamet
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} OpenTTD teamet
# Framerate display window
STR_FRAMERATE_CAPTION :{WHITE}Spilhastighed
@@ -2728,6 +2749,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
@@ -2735,6 +2757,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!!
@@ -3031,7 +3056,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}
@@ -3101,6 +3126,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:
@@ -3358,6 +3385,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:
@@ -3368,8 +3396,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}
@@ -3435,6 +3472,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
@@ -3463,29 +3501,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}
@@ -3503,12 +3546,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
@@ -3620,10 +3671,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
@@ -3665,14 +3718,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.
@@ -3697,10 +3754,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
@@ -3813,28 +3870,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)
@@ -3870,8 +3927,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
@@ -3941,8 +3998,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}
@@ -4124,6 +4181,14 @@ 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
STR_AI_SETTINGS_CAPTION_AI :AI
@@ -4392,10 +4457,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...
@@ -4415,6 +4481,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...
@@ -4467,6 +4539,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...
@@ -4477,10 +4550,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...

View File

@@ -478,9 +478,6 @@ STR_ABOUT_MENU_SEPARATOR :
STR_ABOUT_MENU_TOGGLE_CONSOLE :Console in-uitschakelen
STR_ABOUT_MENU_AI_DEBUG :Probleemoplossing AI/spelscript
STR_ABOUT_MENU_SCREENSHOT :Schermfoto
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Ingezoomde schermfoto
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Schermfoto met standaardzoom
STR_ABOUT_MENU_GIANT_SCREENSHOT :Schermfoto van de hele kaart
STR_ABOUT_MENU_SHOW_FRAMERATE :Framesnelheid weergeven
STR_ABOUT_MENU_ABOUT_OPENTTD :Over 'OpenTTD'
STR_ABOUT_MENU_SPRITE_ALIGNER :Sprite-uitlijner
@@ -651,9 +648,6 @@ STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLA
STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Aangepast 2
STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Muziekvolume
STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Effectenvolume
STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}MIN
STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}MAX
STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}'
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
@@ -870,6 +864,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}Nieuw {STRING} nu beschikbaar! - {ENGINE}
STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Groepsvenster openen met focus op groep van voertuig
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO :{WHITE}{STATION} accepteert geen {STRING} meer
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}{STATION} accepteert geen {STRING} of {STRING} meer
@@ -1314,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.
@@ -1551,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}
@@ -2167,6 +2168,7 @@ STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Ongeldig
STR_NETWORK_ERROR_SERVER_FULL :{WHITE}De server is vol
STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Je bent verbannen van deze server
STR_NETWORK_ERROR_KICKED :{WHITE}Je bent van de server geschopt
STR_NETWORK_ERROR_KICK_MESSAGE :{WHITE}Reden: {STRING}
STR_NETWORK_ERROR_CHEATER :{WHITE}Valsspelen is niet toegestaan op deze server
STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Je stuurde te veel commando's naar de server
STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}Het invoeren van het wachtwoord duurde te lang
@@ -2226,6 +2228,7 @@ STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} ga
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Je gaf {2:CURRENCY_LONG} aan {1:STRING}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}De server heeft de sessie gesloten
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}De server wordt opnieuw gestart...{}Wacht alstublieft...
STR_NETWORK_MESSAGE_KICKED :*** {STRING} is eruit geschopt. Reden: ({STRING})
# Content downloading window
STR_CONTENT_TITLE :{WHITE}Download extra inhoud
@@ -2733,7 +2736,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terrein in bedr
STR_ABOUT_OPENTTD :{WHITE}Over OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Originele auteursrecht {COPYRIGHT} 1995 Chris Sawyer, alle rechten voorbehouden
STR_ABOUT_VERSION :{BLACK}OpenTTD-versie {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 Het OpenTTD-team
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} Het OpenTTD-team
# Framerate display window
STR_FRAMERATE_CAPTION :{WHITE}Framesnelheid
@@ -3400,6 +3403,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}
@@ -4174,6 +4181,14 @@ 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
STR_AI_SETTINGS_CAPTION_AI :AI

View File

@@ -478,9 +478,6 @@ STR_ABOUT_MENU_SEPARATOR :
STR_ABOUT_MENU_TOGGLE_CONSOLE :Toggle console
STR_ABOUT_MENU_AI_DEBUG :AI/Game script debug
STR_ABOUT_MENU_SCREENSHOT :Screenshot
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Fully zoomed in screenshot
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Default zoom screenshot
STR_ABOUT_MENU_GIANT_SCREENSHOT :Whole map screenshot
STR_ABOUT_MENU_SHOW_FRAMERATE :Show frame rate
STR_ABOUT_MENU_ABOUT_OPENTTD :About 'OpenTTD'
STR_ABOUT_MENU_SPRITE_ALIGNER :Sprite aligner
@@ -651,9 +648,6 @@ STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLA
STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Custom 2
STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Music Volume
STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Effects Volume
STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}MIN
STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}MAX
STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}'
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
@@ -1315,6 +1309,8 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL :Show town popul
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Display the population of towns in their label on the map
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Thickness of lines in graphs: {STRING2}
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Width of the line in the graphs. A thin line is more precisely readable, a thicker line is easier to see and colours are easier to distinguish
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Show the NewGRF's name in the build vehicle window: {STRING2}
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Add a line to the build vehicle window, showing which NewGRF the selected vehicle comes from.
STR_CONFIG_SETTING_LANDSCAPE :Landscape: {STRING2}
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Landscapes define basic gameplay scenarios with different cargos and town growth requirements. NewGRF and Game Scripts allow finer control though
@@ -1552,6 +1548,10 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Full
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Coloured news appears in: {STRING2}
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Year that the newspaper announcements get printed in colour. Before this year, it uses monochrome black/white
STR_CONFIG_SETTING_STARTING_YEAR :Starting year: {STRING2}
STR_CONFIG_SETTING_ENDING_YEAR :Scoring end year: {STRING2}
STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Year the game ends for scoring purposes. At the end of this year, the company's score is recorded and the high-score screen is displayed, but the players can continue playing after that.{}If this is before the starting year, the high-score screen is never displayed.
STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM}
STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Never
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Enable smooth economy (more, smaller changes): {STRING2}
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :When enabled, industry production changes more often, and in smaller steps. This setting has usually no effect, if industry types are provided by a NewGRF
STR_CONFIG_SETTING_ALLOW_SHARES :Allow buying shares from other companies: {STRING2}
@@ -2168,6 +2168,7 @@ STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Wrong pa
STR_NETWORK_ERROR_SERVER_FULL :{WHITE}The server is full
STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}You are banned from this server
STR_NETWORK_ERROR_KICKED :{WHITE}You were kicked out of the game
STR_NETWORK_ERROR_KICK_MESSAGE :{WHITE}Reason: {RAW_STRING}
STR_NETWORK_ERROR_CHEATER :{WHITE}Cheating is not allowed on this server
STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}You were sending too many commands to the server
STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}You took too long to enter the password
@@ -2227,6 +2228,7 @@ STR_NETWORK_MESSAGE_GIVE_MONEY :*** {RAW_STRING
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** You gave {1:RAW_STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}The server closed the session
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}The server is restarting...{}Please wait...
STR_NETWORK_MESSAGE_KICKED :*** {RAW_STRING} was kicked. Reason: ({RAW_STRING})
# Content downloading window
STR_CONTENT_TITLE :{WHITE}Content downloading
@@ -2734,7 +2736,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Company-owned l
STR_ABOUT_OPENTTD :{WHITE}About OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 The OpenTTD team
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{RAW_STRING} The OpenTTD team
# Framerate display window
STR_FRAMERATE_CAPTION :{WHITE}Frame rate
@@ -3401,6 +3403,10 @@ STR_INDUSTRY_DIRECTORY_ITEM_PROD2 :{ORANGE}{INDUST
STR_INDUSTRY_DIRECTORY_ITEM_PROD3 :{ORANGE}{INDUSTRY} {STRING4}, {STRING4}, {STRING4}
STR_INDUSTRY_DIRECTORY_ITEM_PRODMORE :{ORANGE}{INDUSTRY} {STRING4}, {STRING4}, {STRING4} and {NUM} more...
STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Industry names - click on name to centre main view on industry. Ctrl+Click opens a new viewport on industry location
STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Accepted cargo: {SILVER}{STRING}
STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Produced cargo: {SILVER}{STRING}
STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :All cargo types
STR_INDUSTRY_DIRECTORY_FILTER_NONE :None
# Industry view
STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY}
@@ -4175,6 +4181,14 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Select h
STR_AI_LIST_CANCEL :{BLACK}Cancel
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Don't change the script
STR_SCREENSHOT_CAPTION :{WHITE}Take a screenshot
STR_SCREENSHOT_SCREENSHOT :{BLACK}Normal screenshot
STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Fully zoomed in screenshot
STR_SCREENSHOT_DEFAULTZOOM_SCREENSHOT :{BLACK}Default zoom screenshot
STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Whole map screenshot
STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Heightmap screenshot
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Minimap screenshot
# AI Parameters
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parameters
STR_AI_SETTINGS_CAPTION_AI :AI

View File

@@ -461,9 +461,6 @@ STR_ABOUT_MENU_SEPARATOR :
STR_ABOUT_MENU_TOGGLE_CONSOLE :Toggle console
STR_ABOUT_MENU_AI_DEBUG :AI/Game script debug
STR_ABOUT_MENU_SCREENSHOT :Screenshot
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Zoomed in screenshot
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Default zoom screenshot
STR_ABOUT_MENU_GIANT_SCREENSHOT :Whole map screenshot
STR_ABOUT_MENU_ABOUT_OPENTTD :About 'OpenTTD'
STR_ABOUT_MENU_SPRITE_ALIGNER :Sprite aligner
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Toggle bounding boxes
@@ -633,9 +630,6 @@ STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLA
STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Custom 2
STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Music Volume
STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Effects Volume
STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}MIN
STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}MAX
STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}'
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
@@ -2651,7 +2645,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Company-owned l
STR_ABOUT_OPENTTD :{WHITE}About OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 The OpenTTD team
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} The OpenTTD team
# Framerate display window
############ Leave those lines in this order!!
@@ -3951,6 +3945,7 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Select h
STR_AI_LIST_CANCEL :{BLACK}Cancel
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Don't change the script
# AI Parameters
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parameters
STR_AI_SETTINGS_CAPTION_AI :AI

View File

@@ -478,9 +478,6 @@ STR_ABOUT_MENU_SEPARATOR :
STR_ABOUT_MENU_TOGGLE_CONSOLE :Toggle console
STR_ABOUT_MENU_AI_DEBUG :AI/Game script debug
STR_ABOUT_MENU_SCREENSHOT :Screenshot
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Fully zoomed in screenshot
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Default zoom screenshot
STR_ABOUT_MENU_GIANT_SCREENSHOT :Whole map screenshot
STR_ABOUT_MENU_SHOW_FRAMERATE :Show frame rate
STR_ABOUT_MENU_ABOUT_OPENTTD :About 'OpenTTD'
STR_ABOUT_MENU_SPRITE_ALIGNER :Sprite aligner
@@ -651,9 +648,6 @@ STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLA
STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Custom 2
STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Music Volume
STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Effects Volume
STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}MIN
STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}MAX
STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}'
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
@@ -870,6 +864,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}New {STRING} now available! - {ENGINE}
STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Open the group window focused on the vehicle's group
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO :{WHITE}{STATION} no longer accepts {STRING}
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}{STATION} no longer accepts {STRING} or {STRING}
@@ -1314,6 +1309,7 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL :Show town popul
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Display the population of towns in their label on the map
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Thickness of lines in graphs: {STRING}
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Width of the line in the graphs. A thin line is more precisely readable, a thicker line is easier to see and colors are easier to distinguish
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Add a line to the build vehicle window, showing which NewGRF the selected vehicle comes from.
STR_CONFIG_SETTING_LANDSCAPE :Landscape: {STRING}
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Landscapes define basic gameplay scenarios with different cargos and town growth requirements. NewGRF and Game Scripts allow finer control though
@@ -1325,8 +1321,8 @@ STR_CONFIG_SETTING_TERRAIN_TYPE :Terrain type: {
STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(TerraGenesis only) Hilliness of the landscape
STR_CONFIG_SETTING_INDUSTRY_DENSITY :Industry density: {STRING}
STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Set how many industries should be generated and what level should be maintained during the game
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maximum distance from edge for Oil refineries: {STRING}
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Oil refineries are only constructed near the map border, that is at the coast for island maps
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maximum distance from edge for Oil industries: {STRING}
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Limit for how far from the map border oil refineries and oil rigs can be constructed. On island maps this ensures they are near the coast. On maps larger than 256 tiles, this value is scaled up.
STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Snow line height: {STRING}
STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Control at what height snow starts in sub-arctic landscape. Snow also affects industry generation and town growth requirements
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Roughness of terrain: {STRING}
@@ -1551,10 +1547,16 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Full
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Colored news appears in: {STRING}
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Year that the newspaper announcements get printed in color. Before this year, it uses monochrome black/white
STR_CONFIG_SETTING_STARTING_YEAR :Starting year: {STRING}
STR_CONFIG_SETTING_ENDING_YEAR :Scoring end year: {STRING}
STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Year the game ends for scoring purposes. At the end of this year, the company's score is recorded and the high-score screen is displayed, but the players can continue playing after that.{}If this is before the starting year, the high-score screen is never displayed.
STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM}
STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Never
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Enable smooth economy (more, smaller changes): {STRING}
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :When enabled, industry production changes more often, and in smaller steps. This setting has usually no effect, if industry types are provided by a NewGRF
STR_CONFIG_SETTING_ALLOW_SHARES :Allow buying shares from other companies: {STRING}
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :When enabled, allow buying and selling of company shares. Shares will only be available for companies reaching a certain age
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES :Minimum company age to trade shares: {STRING}
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES_HELPTEXT :Set the minimum age of a company for others to be able to buy and sell shares from them.
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Percentage of leg profit to pay in feeder systems: {STRING}
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Percentage of income given to the intermediate legs in feeder systems, giving more control over the income
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :When dragging, place signals every: {STRING}
@@ -2731,7 +2733,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Company-owned l
STR_ABOUT_OPENTTD :{WHITE}About OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 The OpenTTD team
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} The OpenTTD team
# Framerate display window
STR_FRAMERATE_CAPTION :{WHITE}Frame rate
@@ -3121,6 +3123,8 @@ STR_TOWN_VIEW_RENAME_TOWN_BUTTON :Rename Town
# Town local authority window
STR_LOCAL_AUTHORITY_CAPTION :{WHITE}{TOWN} local authority
STR_LOCAL_AUTHORITY_ZONE :{BLACK}Zone
STR_LOCAL_AUTHORITY_ZONE_TOOLTIP :{BLACK}Show zone within local authority boundaries
STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Transport company ratings:
STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING}
STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Actions available:
@@ -4165,6 +4169,14 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Select h
STR_AI_LIST_CANCEL :{BLACK}Cancel
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Don't change the script
STR_SCREENSHOT_CAPTION :{WHITE}Take a screenshot
STR_SCREENSHOT_SCREENSHOT :{BLACK}Normal screenshot
STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Fully zoomed in screenshot
STR_SCREENSHOT_DEFAULTZOOM_SCREENSHOT :{BLACK}Default zoom screenshot
STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Whole map screenshot
STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Heightmap screenshot
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Minimap screenshot
# AI Parameters
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parameters
STR_AI_SETTINGS_CAPTION_AI :AI

View File

@@ -464,9 +464,6 @@ STR_ABOUT_MENU_SEPARATOR :
STR_ABOUT_MENU_TOGGLE_CONSOLE :Baskuligi Konzolon
STR_ABOUT_MENU_AI_DEBUG :AI/Ludo skripto sencimigo
STR_ABOUT_MENU_SCREENSHOT :Ekranfoto
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Pligrandiga ekranfoto
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Ekranfoto defaŭlte zoma
STR_ABOUT_MENU_GIANT_SCREENSHOT :Tuta karto ekranfoto
STR_ABOUT_MENU_ABOUT_OPENTTD :Pri 'OpenTTD'
STR_ABOUT_MENU_SPRITE_ALIGNER :Bildeto-liniigilo
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Montri/ne montri limigujo
@@ -636,9 +633,6 @@ STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLA
STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Propra 2
STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Muzika Volumeno
STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Efekta Volumeno
STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}MIN
STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}MAKS
STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}'
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
@@ -2257,7 +2251,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Kompanie poseda
STR_ABOUT_OPENTTD :{WHITE}Pri OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Origina kopirajto {COPYRIGHT} 1995 Chris Sawyer, Ĉiuj rajtoj rezervitaj
STR_ABOUT_VERSION :{BLACK}OpenTTD-versio {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2019 La teamo de OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-{STRING} La teamo de OpenTTD
# Framerate display window
############ Leave those lines in this order!!
@@ -3387,6 +3381,7 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Elekti e
STR_AI_LIST_CANCEL :{BLACK}Nuligi
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Ne ŝanĝu AI-on
# AI Parameters
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parametroj
STR_AI_SETTINGS_CAPTION_AI :AI

View File

@@ -318,6 +318,7 @@ STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Selle nu
STR_BUTTON_DEFAULT :{BLACK}Esialgne
STR_BUTTON_CANCEL :{BLACK}Tühista
STR_BUTTON_OK :{BLACK}OK
STR_WARNING_PASSWORD_SECURITY :{YELLOW}Hoiatus: Serveriadministraatorid võivad olla võimelised lugema siinset teksti.
# On screen keyboard window
STR_OSK_KEYBOARD_LAYOUT :`1234567890-=\qwertyuiop[]asdfghjkl;' zxcvbnm,./ .
@@ -411,6 +412,7 @@ STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Maastiku
STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Linnade tekitamine
STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Tööstuste tekitamine
STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Maanteede ehitamine
STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Trammiteede ehitamine
STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Istuta puid. Shift valib ehitamise/hinna kuvamise režiimi
STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Paigalda silt
STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Paigalda objekt. Shift valib ehitamise/hinna kuvamise režiimi
@@ -526,10 +528,7 @@ STR_ABOUT_MENU_LAND_BLOCK_INFO :Maa-ala andmed
STR_ABOUT_MENU_SEPARATOR :
STR_ABOUT_MENU_TOGGLE_CONSOLE :Lülita konsool sisse/välja
STR_ABOUT_MENU_AI_DEBUG :Arvutivea otsing
STR_ABOUT_MENU_SCREENSHOT :Ekraanitõmmis
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Suurendatud ekraanitõmmis
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Tavasuurendusega ekraanitõmmis
STR_ABOUT_MENU_GIANT_SCREENSHOT :Terve kaardi ekraanitõmmis
STR_ABOUT_MENU_SCREENSHOT :Kuvapaugutus
STR_ABOUT_MENU_SHOW_FRAMERATE :Näita kaadrisagedust
STR_ABOUT_MENU_ABOUT_OPENTTD :'OpenTTD' kohta
STR_ABOUT_MENU_SPRITE_ALIGNER :Sprite aligner
@@ -700,9 +699,6 @@ STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLA
STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Omatehtud 2
STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Muusika helitugevus
STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Efektide helitugevus
STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}VÄHIM
STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}SUURIM
STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}'
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
@@ -936,7 +932,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLAC
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Vaateaken {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Kopeeri vaateaknasse
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Kopeeri praegune vaade vaateaknasse
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Kleebi vaateaknast
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Muuda peamist vaadet
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Vaateala koha võtmine peamiseks vaateks
# Game options window
@@ -1519,6 +1515,7 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Tehismõistus m
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Võimaldab arvutil osaleda mitmikmängudes
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcode-d ennem skripte on peatatud: {STRING}
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Maksimaalne arv arvutamise käike mida skript võib teha ühel sammul
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB
STR_CONFIG_SETTING_SERVINT_ISPERCENT :Hooldusvälp protsentides: {STRING}
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Vali kas sõiduki hooldus käivitub vastavalt ajale mis on möödunud viimasest hooldusest või kui sõiduki usaldusväärsus langeb allapoole lubatud piiri sõiduki maksimaalsest usaldusväärsuse protsendist
@@ -2122,6 +2119,7 @@ STR_NETWORK_CONNECTION_DISCONNECT :{BLACK}Katkesta
STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Server on kaitstud. Sisesta salasõna
STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Ettevõte on kaitstud. Sisesta salasõna
STR_NETWORK_COMPANY_LIST_CLIENT_LIST_CAPTION :{WHITE}Klientide nimekiri
# Network company list added strings
STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Klientide nimekiri
@@ -2186,6 +2184,7 @@ STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Vale sal
STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Server on täis
STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Sinu sisenemine siia serverisse on keelatud
STR_NETWORK_ERROR_KICKED :{WHITE}Sind visati mängust välja
STR_NETWORK_ERROR_KICK_MESSAGE :{WHITE}Põhjus: {STRING}
STR_NETWORK_ERROR_CHEATER :{WHITE}Selles serveris on petmine keelatud
STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Sa saatsid serverile liiga palju käsklusi korraga
STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}Sisestasid salasõna liiga kaua
@@ -2421,7 +2420,7 @@ STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Kombinee
STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Täiustatud signaal (elektriline){}Kui rongide tee kahe signaali vahel kordagi ei ristu, siis täiustatud signaalidega saab signaalivahedesse siseneda korraga mitu rongi. Täiustatud signaalidest saab tagant mööduda
STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Ühesuunaline täiustatud signaal (elektriline){}Kui rongide tee kahe signaali vahel kordagi ei ristu, siis täiustatud signaalidega saab signaalivahedesse siseneda korraga mitu rongi. Ühesuunalistest täiustatud signaalidest ei saa tagant mööduda
STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Signaalide teisendamine{}Kui see on valitud, siis olemasoleval signaalil klõpsates teisendatakse see määratud signaalitüübiks ja -variandiks. Samal ajal Ctrl klahvi all hoides lülitutakse olemasoleva variandi vahel. Shift+klõps näitab teisendamise eeldatavat maksumust
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Signaalide paigaldustihedus
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Signaalide paigalduskaugus
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Kahanda signaalide paigaldustihedust
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Suurenda signaalide paigaldustihedust
@@ -2462,6 +2461,7 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Ehita tr
STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Lülitu maanteede ehitamise ja lammutamise vahel
STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Lülitu trammitee ehitamise ja lammutamise vahel
STR_ROAD_NAME_ROAD :Sõidutee
# Road depot construction window
STR_BUILD_DEPOT_ROAD_ORIENTATION_CAPTION :{WHITE}Depoo suund
@@ -2658,7 +2658,7 @@ STR_LAI_CLEAR_DESCRIPTION_FIELDS :Põllud
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Lumine maa
STR_LAI_CLEAR_DESCRIPTION_DESERT :Kõrb
STR_LAI_RAIL_DESCRIPTION_TRACK :Raudtee rööbas
STR_LAI_RAIL_DESCRIPTION_TRACK :Raudteerööbas
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Raudtee rööpad koos blokksignaalidega
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Raudtee rööpad koos eelsignaalidega
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Raudtee rööpad väljasõidusignaalidega
@@ -2680,7 +2680,7 @@ STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Raudtee rööpa
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Raudtee rööpad koos komineeriutd ja täiustatud signaalidega
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Raudtee rööpad koos komineeritud ja ühesuunaliste täiustatud signaalidega
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Raudtee rööpad koos täisutatud ja ühesuunaliste täiustatud signaalidega
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Raudtee Rongidepoo
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Raudteedepoo
STR_LAI_ROAD_DESCRIPTION_ROAD :Sõidutee
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Valgustatud sõidutee
@@ -2744,7 +2744,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Ettevõtte maa
STR_ABOUT_OPENTTD :{WHITE}OpenTTD lisainfo
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Algne autorikaitse {COPYRIGHT} 1995 Chris Sawyer, kõik õigused kaitstud
STR_ABOUT_VERSION :{BLACK}OpenTTD osa {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2019 OpenTTD meeskond
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-{STRING} OpenTTD meeskond
# Framerate display window
STR_FRAMERATE_CAPTION :{WHITE}Kaadrisagedus
@@ -2762,9 +2762,11 @@ STR_FRAMERATE_GAMELOOP :{BLACK}Mänguts
STR_FRAMERATE_GL_AIRCRAFT :{BLACK} Õhusõiduki sammud:
STR_FRAMERATE_GL_LINKGRAPH :{BLACK} Ahelgraafiku viide:
STR_FRAMERATE_DRAWING :{BLACK}Graafika renderdamine:
STR_FRAMERATE_VIDEO :{BLACK}Videoväljund:
############ End of leave-in-this-order
############ Leave those lines in this order!!
STR_FRAMETIME_CAPTION_GL_AIRCRAFT :Õhusõiduki sammud
STR_FRAMETIME_CAPTION_DRAWING :Graafika renderdamine
############ End of leave-in-this-order
@@ -2907,6 +2909,7 @@ STR_NEWGRF_SETTINGS_VERSION :{BLACK}Versioon
STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Min. ühilduv versioon: {SILVER}{NUM}
STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5sum: {SILVER}{STRING}
STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Palett: {SILVER}{STRING}
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT :Vaikimisi (D)
STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parameetrid: {SILVER}{STRING}
STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}Andmed puuduvad
@@ -2953,7 +2956,7 @@ STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Mine ett
STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Eelmine spait
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Proceed to the previous normal sprite, skipping any pseudo/recolour/font sprites and wrapping around at the begin
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representation of the currently selected sprite. The alignment is ignored when drawing this sprite
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Liiguta spraiti , muutes X ja Y tasakaalu
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Liiguta spraiti, muutes X ja Y tasakaalu. Ctrl+klõps, et liigutada kaheksa ühiku võrra korraga
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Lähtesta suhteline
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Lähtesta praegused suhtelised kõrvalekalded
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X kõrvalekalle: {NUM}, Y kõrvalekalle: {NUM} (Absoluutne)
@@ -3085,6 +3088,7 @@ STR_TOWN_VIEW_RENAME_TOWN_BUTTON :Linna nime vahe
# Town local authority window
STR_LOCAL_AUTHORITY_CAPTION :{WHITE}{TOWN} kohalik omavalitsus
STR_LOCAL_AUTHORITY_ZONE_TOOLTIP :{BLACK}Näita kohaliku omavalitsuse haldusala
STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Ettevõtete hinnangud:
STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING}
STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Pakutavad toimingud:
@@ -3361,6 +3365,8 @@ STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Vaate ke
STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Tootlikkuse tase: {YELLOW}{COMMA}%
STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}Tööstus teatab kohesest sulgemisest!
STR_INDUSTRY_VIEW_REQUIRES_N_CARGO :{BLACK}Vajab: {YELLOW}{STRING}{STRING}
STR_INDUSTRY_VIEW_CARGO_LIST_EXTENSION :, {STRING}{STRING}
STR_CONFIG_GAME_PRODUCTION :{WHITE}Tootlikuse muutmine (kaheksaga jaguv, kuni 2040)
@@ -3475,6 +3481,7 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Ehita ve
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Ehita laev
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Ehita lennuk
STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Osta ja seadista lennuk ümber
STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Osta valitud raudteesõiduk. Shift+klõpsuga kuvatakse eeldatav ostuhind
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Osta valitud mootorsõiduk. Shift+klõpsuga kuvatakse eeldatav ostuhind
@@ -4051,7 +4058,7 @@ STR_AI_GAME_SCRIPT :{BLACK}Mängu S
STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Vaata Mängu Skripti logi
STR_ERROR_AI_NO_AI_FOUND :Laadimiseks sobivat tehismõistust ei leitud.{}See on asendustehismõistus, ning ei tee midagi.{}Tehismõistuseid saab laadida kasutades 'Internetisisu' süsteemi.
STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Tõrge ühe töötava tehismõistusega. Palun teavitage sellest tehismõistuse autorit koos ekraanitõmmisega tehismõistuse tõrkeotsingu aknast.
STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Tõrge ühe töötava tehismõistusega. Palun teavitage sellest tehismõistuse autorit koos kuvapaugutusega tehismõistuse tõrkeotsingu aknast.
STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}Tehismõistuse / GameScript-i silumise akent saab vaadata ainult server
# AI configuration window
@@ -4093,6 +4100,14 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Vali esi
STR_AI_LIST_CANCEL :{BLACK}Loobu
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Ära skripti muuda
STR_SCREENSHOT_CAPTION :{WHITE}Tee kuvapaugutus
STR_SCREENSHOT_SCREENSHOT :{BLACK}Tavaline kuvapaugutus
STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Täiesti sisse suumitud kuvapaugutus
STR_SCREENSHOT_DEFAULTZOOM_SCREENSHOT :{BLACK}Vaikimisi kuvapaugutuse suum
STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Terve kaardi kuvapaugutus
STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Kõrguskaardi kuvapaugutus
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Väikese kaardi kuvapaugutus
# AI Parameters
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parameetrid
STR_AI_SETTINGS_CAPTION_AI :Tehismõistus
@@ -4140,7 +4155,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Eeldatav
# Saveload messages
STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Ikka salvestamisel,{}palun oota salvestuse lõpuni!
STR_ERROR_AUTOSAVE_FAILED :{WHITE}Isesalvestamine ebaõnnestus
STR_ERROR_AUTOSAVE_FAILED :{WHITE}Automaatsalvestus ebaõnnestus
STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Ei suuda kettalt lugeda
STR_ERROR_GAME_SAVE_FAILED :{WHITE}Mängu salvestamine nurjus{}{STRING}
STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Faili ei saa kustutada
@@ -4175,11 +4190,11 @@ STR_WARNING_HEIGHTMAP_SCALE_MESSAGE :{YELLOW}Kaardi
STR_WARNING_FALLBACK_SOUNDSET :{WHITE}Mäng ei leidnud helisid. Helid saad paigaldada Internetisisu laadimise aknast
# Screenshot related messages
STR_WARNING_SCREENSHOT_SIZE_CAPTION :{WHITE}Hiiglaslik pilt
STR_WARNING_SCREENSHOT_SIZE_MESSAGE :{YELLOW}Ekraanitõmmise mõõtmed saavad olema {COMMA} x {COMMA} pikslit. Ekraanitõmmise tegemine võib võtta mõne aja. Kas sa oled kindel, et sa soovid jätkata
STR_WARNING_SCREENSHOT_SIZE_CAPTION :{WHITE}Hiiglaslik kuvapaugutus
STR_WARNING_SCREENSHOT_SIZE_MESSAGE :{YELLOW}Kuvapaugutuse mõõtmed saavad olema {COMMA} x {COMMA} pikslit. Kuvapaugutuse tegemine võib võtta tükk aega. Kas sa oled kindel, et sa soovid jätkata?
STR_MESSAGE_SCREENSHOT_SUCCESSFULLY :{WHITE}Ekraanitõmmis edukalt salvestatud nimega '{STRING}'
STR_ERROR_SCREENSHOT_FAILED :{WHITE}Ekraanitõmmise võtmine nurjus!
STR_MESSAGE_SCREENSHOT_SUCCESSFULLY :{WHITE}Kuvapaugutus on edukalt salvestatud nimega '{STRING}'
STR_ERROR_SCREENSHOT_FAILED :{WHITE}Kuvapaugutuse tegemine nurjus!
# Error message titles
STR_ERROR_MESSAGE_CAPTION :{YELLOW}Sõnum

View File

@@ -448,9 +448,6 @@ STR_ABOUT_MENU_SEPARATOR :
STR_ABOUT_MENU_TOGGLE_CONSOLE :Console opið ella lukka
STR_ABOUT_MENU_AI_DEBUG :AI/Spæl script debug
STR_ABOUT_MENU_SCREENSHOT :Skermmynd
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Suma in skermmynd
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Vanliga suma skermmynd
STR_ABOUT_MENU_GIANT_SCREENSHOT :Skermmynd av øllum kortinum
STR_ABOUT_MENU_SHOW_FRAMERATE :Vís mynda títtleika
STR_ABOUT_MENU_ABOUT_OPENTTD :Um 'OpenTTD'
STR_ABOUT_MENU_SPRITE_ALIGNER :Sprite aligner
@@ -621,9 +618,6 @@ STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLA
STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Sjálvgjørdur 2
STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Tónleika ljóðstyrki
STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Effekt ljóðstyrki
STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}MIN
STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}MAX
STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}:
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
@@ -2418,7 +2412,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Ogn hjá fyrit
STR_ABOUT_OPENTTD :{WHITE}Um OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Upprunalig upphavsrættindi {COPYRIGHT} 1995 Chris Sawyer, Øll rættindi umbiðin
STR_ABOUT_VERSION :{BLACK}OpenTTD útgáva {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 OpenTTD toymi
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} OpenTTD toymi
# Framerate display window
############ Leave those lines in this order!!
@@ -3527,6 +3521,7 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Vel undi
STR_AI_LIST_CANCEL :{BLACK}Angra
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Ikki broyta scripti
# AI Parameters
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parametur
STR_AI_SETTINGS_CAPTION_AI :AI

View File

@@ -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ä
@@ -478,9 +478,6 @@ STR_ABOUT_MENU_SEPARATOR :
STR_ABOUT_MENU_TOGGLE_CONSOLE :Konsoli
STR_ABOUT_MENU_AI_DEBUG :Tekoälyn/peliskriptin virheenjäljitys
STR_ABOUT_MENU_SCREENSHOT :Kuvakaappaus
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Täysin lähennetty kuvakaappaus
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Kuvakaappaus oletuslähennystasolla
STR_ABOUT_MENU_GIANT_SCREENSHOT :Koko kartan kuvakaappaus
STR_ABOUT_MENU_SHOW_FRAMERATE :Näytä kuvataajuus
STR_ABOUT_MENU_ABOUT_OPENTTD :Tietoja OpenTTD:stä
STR_ABOUT_MENU_SPRITE_ALIGNER :Sprite-kohdistaja
@@ -619,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:
@@ -630,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ä
@@ -651,9 +648,6 @@ STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLA
STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Oma 2
STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Musiikin voimakkuus
STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Äänitehosteiden voimakkuus
STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}MIN
STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}MAX
STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}'
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
@@ -709,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
@@ -730,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
@@ -795,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!
@@ -870,6 +864,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}Uusi {STRING} on nyt saatavilla! {ENGINE}
STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Avaa ryhmäikkuna kulkuneuvon ryhmään kohdistettuna
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO :{WHITE}{STATION} ei ota enää vastaan {STRING}.
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}{STATION} ei ota enää vastaan {STRING} tai {STRING}.
@@ -1263,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.
@@ -1314,6 +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 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
@@ -1466,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ä
@@ -1475,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
@@ -1551,6 +1548,10 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Täysi
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Värilliset uutiset ilmestyvät: {STRING}
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Vuosi, jonka jälkeen sanomalehdet ovat värillisiä. Ennen tätä vuotta sanomalehdet käyttävät mustavalkoisia kuvia
STR_CONFIG_SETTING_STARTING_YEAR :Aloitusvuosi: {STRING}
STR_CONFIG_SETTING_ENDING_YEAR :Pistelaskun päättymisvuosi: {STRING}
STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Pelin päättymisvuosi pisteiden laskemista varten. Tämän vuoden lopussa talletetaan yhtiön pistemäärä ja näytetään ennätysluettelo; pelaajat voivat jatkaa pelaamista tämän jälkeenkin.{}Jos päättymisvuosi on ennen alkamisvuotta, ennätyksiä ei näytetä koskaan.
STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM}
STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Ei koskaan
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Tasainen talous (enemmän pieniä muutoksia): {STRING}
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Mikäli käytössä, teollisuuden tuotanto muuttuu useammin ja vähemmän kerrallaan. Tällä asetuksella ei ole yleensä vaikutusta mikäli teollisuustyypit ovat NewGRF:n tarjoamia
STR_CONFIG_SETTING_ALLOW_SHARES :Salli toisten yhtiöiden osakkeiden ostaminen: {STRING}
@@ -1848,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
@@ -2733,7 +2734,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Yhtiön omistam
STR_ABOUT_OPENTTD :{WHITE}Tietoja OpenTTD:stä
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Alkuperäiset oikeudet {COPYRIGHT} 1995 Chris Sawyer, kaikki oikeudet pidätetään
STR_ABOUT_VERSION :{BLACK}OpenTTD-versio {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 The OpenTTD team
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} The OpenTTD team
# Framerate display window
STR_FRAMERATE_CAPTION :{WHITE}Kuvataajuus
@@ -3286,7 +3287,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}
@@ -3305,12 +3306,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
@@ -3336,7 +3337,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}
@@ -3400,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} ja {NUM} muuta
STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Teollisuusmuotojen nimet - kohdista päänäkymä teollisuuslaitokseen napsauttamalla nimeä. Ctrl+Klik avaa uuden näkymäikkunan teollisuuslaitoksen sijaintiin
STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Vastaanotettava rahti: {SILVER}{STRING}
STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Tuotettu rahti: {SILVER}{STRING}
STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Kaikki rahtityypit
STR_INDUSTRY_DIRECTORY_FILTER_NONE :Ei mitään
# Industry view
STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY}
@@ -3424,7 +3429,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
@@ -3441,7 +3446,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
@@ -3458,12 +3463,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})
@@ -3488,19 +3493,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}
@@ -3527,32 +3532,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ä
@@ -3577,12 +3582,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}
@@ -3615,22 +3620,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
@@ -3669,18 +3674,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}
@@ -3692,17 +3697,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.
@@ -3733,12 +3738,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
@@ -3750,7 +3755,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
@@ -3758,12 +3763,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
@@ -3800,7 +3805,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
@@ -3808,8 +3813,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}
@@ -3837,7 +3842,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}
@@ -3879,7 +3884,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ä.
@@ -4174,6 +4179,14 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Valitse
STR_AI_LIST_CANCEL :{BLACK}Peruuta
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Älä vaihda skriptiä
STR_SCREENSHOT_CAPTION :{WHITE}Ota kuvakaappaus
STR_SCREENSHOT_SCREENSHOT :{BLACK}Tavallinen kuvakaappaus
STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Täysin lähennetty kuvakaappaus
STR_SCREENSHOT_DEFAULTZOOM_SCREENSHOT :{BLACK}Kuvakaappaus oletuslähennyksellä
STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Koko kartan kuvakaappaus
STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Korkeuskartan kuvakaappaus
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Pienoiskartan kuvakaappaus
# AI Parameters
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parametrit
STR_AI_SETTINGS_CAPTION_AI :Tekoäly
@@ -4427,7 +4440,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.
@@ -4533,47 +4546,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.
@@ -4592,7 +4605,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.
@@ -4611,7 +4624,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.
@@ -4723,7 +4736,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}

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