diff --git a/.changelog b/.changelog index 5e3742b4..104add03 100644 --- a/.changelog +++ b/.changelog @@ -1,422 +1,17 @@ -14.0 (2024-04-13) +14.1 (2024-05-03) ------------------------------------------------------------------------ -Update: New title game for 14.0 -Fix #12477: Crash when launching OpenTTD from within a Dropbox folder (#12478) -Fix #12233: Mini order list overlaps vehicle group name (#12423) -Fix #12114: Viewport coords of crashed aircraft not updated when falling (#12424) -Fix #12395: Ensure president name widget is tall enough (#12419) -Fix #12415: Incorrect payment for aircraft secondary cargo (#12416) -Fix #12387: [NewGRF] Wrong tile offset passed to rail station CB 149 (slope check) -Fix #12388: Autoreplacing train heads slowly made the unit number grow (#12389) -Fix #12368: Incorrect offset for click position within industry chain window (#12370) -Fix: Aircraft can float above the ground when crashed (#12425) -Fix: Segfault when using -q without providing a . character (#12418) -Fix: Wrong scrolling dropdown list position with RTL (#12412) -Fix: [Win32] Force font mapper to only use TrueType fonts (#12406) -Fix: "-q" displays NewGRF IDs in the wrong byte-order (#12397) -Fix: Do not send chat to clients that have not authorized yet (#12377) -Fix: [NewGRF] Label for fruit incorrectly changed to `FRUI` from `FRUT` (#12367) -Fix: [Script] ScriptSubsidy::GetExpireDate should return an economy-date (#12372) -Revert #11603: [Script] AI/GSTimeMode was not the best solution for economy/calendar support (#12362) - - -14.0-RC3 (2024-03-23) ------------------------------------------------------------------------- -Fix #12347: Crash attempting to find catchment tiles of a station with no catchment area (#12348) -Fix #12319: Some SSE blitters were broken due to ODR violations (#12322) -Fix #12302: Allow empty train engines to use an invalid cargo type (#12325) -Fix #12305: Crash with large positive sprite x offset in engine preview window (#12313) -Fix #12166: Crash when opening tram road stop build window (#12168) -Fix #12092: Incorrect x-axis in cargo payment graph window (#12359) -Fix: Crash when attempting to join a company while not joined (#12353) -Change: Show unbunching action in timetable window (#12351) -Change: [Windows] Switch to Microsoft Azure code signing certificate (#12292) - - -14.0-RC2 (2024-03-16) ------------------------------------------------------------------------- -Update: Bump bundled OpenTTD TTF fonts to version v0.6 (#12276) -Update: Developer credits (#12173, #12235) -Change: Use (at least) standard toolbar button size for signal selection buttons (#12265) -Change: [Script] Match FormatString behaviour more closely (#12205) -Fix #12236: Ship pathfinder causes crash when ship is already at destination (#12238) -Fix #12225: [Script] Missing AI::ResetConfig support for running AI config (#12226) -Fix #12203: When unbunching at a depot, don't overlook implicit orders (#12220) -Fix #12196: Always show selected content, even when filtering and disable "select upgrade" button when filtering (#12201) -Fix #12195: Reset cursor when no Object is selected (#12207) -Fix #12176: Ships are circling in one place (#12181) -Fix #12154: Incorrect calendar day lengths with minutes per year setting (#12158) -Fix #12148: Do not draw decimals when number of digits is 0 (#12150) -Fix #12147: Reset all saved settings to their default before loading a game (#12210) -Fix #12145: Incorrect date handling in date cheat in wallclock time-keeping mode (#12146) -Fix #12134: Use correct error messages if clearing drive-through road stops fails (#12139) -Fix #12133: [Script] Don't crash when emergency saving (#12138) -Fix #12127: Truncation ellipses rendered shadows even for black font without shadows (#12132) -Fix #12119: Remove red warning text when maximum loan is zero (#12141) -Fix #12118: When adding an unbunching order, properly check for unsafe conditions (#12136) -Fix #12076: Do not allow 'join' command on dedicated servers (#12208) -Fix #12010: Use economy timer for vehicle stats minimum age, not calendar (#12142) -Fix: Improved ship movement when no path to destination is found (#12285, #12286) -Fix: Initialize _switch_mode_time so crash-logs before first game have a realistic time (#12184) -Fix: [Script] Only show debug script window at the end of savegame loading (#12135) -Fix: [Script] Broken ScriptText circular reference detection (#12187) -Fix: Ordering of command per tick limit and pause mode filtering (#12126) -Fix: Only reset unbunching departure data in the correct depot (#12155) -Fix: Off by one in TimerGameEconomy::ConvertDateToYMD in wallclock mode (#12143) -Fix: Missing savegame conversion for current_order (#12188) -Fix: Helptext for timekeeping unit setting erroneously refers to vehicle movement (#12172) -Fix: Don't show "insert order" errors in the console (#12245) -Fix: Don't defer OnResize() after ReInit() (#12174) -Remove: [Script] random_deviation from setting description table (#12221) -Revert #11993: New number format system does not and cannot work for CJK languages (#12157) -Revert #11606: Don't auto-build past tunnelbridge ends (#12244) - - -14.0-RC1 (2024-02-18) ------------------------------------------------------------------------- -Feature: Fully user configurable number format and abbreviations (#11993) -Add: Show cargo icons on subsidy list window (#12079) -Add: [Script] GetAirportNumHelipads (#12085) -Change: Show 6 or 2 orientation buttons in NewGRF road stop picker as appropriate (#12090) -Change: Show cargo icons on Industry View window (#12071) -Change: Improve performance of finding free pool slots (#12055) -Change: Draw north-side farm fences/hedges/walls on tile edge, instead of 1/16th in (#12048) -Change: When adding orders, Ctrl+Click on a depot to unbunch, instead of service if required (#12023) -Change: Store running AI config inside Company (#12003) -Change: Show speed before destination in vehicle status bar (#11932) -Change: Replace long list of cargo filter buttons with a multi-select dropdown list (#11552) -Change: [Script] Use company randomizer when adding random deviation (#12065) -Fix #12074: Don't allow "part" command for dedicated servers (#12075) -Fix #12052: NewGRFs clearing industry cargo slots could fallback to default instead of empty (#12053) -Fix #12050: Add default size, shade and pin control buttons to company livery widget (#12080) -Fix #12041: Tarball extraction failing due to incorrect filename (#12044) -Fix #12037: Blurry OpenTTD font on Mac OS (#12047) -Fix #12029: Don't show Sandbox Options in multiplayer (#12032) -Fix #12024: Autoreplace failed news message for trains must go to lead engine (#12025) -Fix #12022: Adjust economy date when changing timekeeping units in Scenario Editor (#12042) -Fix #12020: Unbunch and service if needed should be mutually exclusive depot order types (#12021) -Fix #12019: Correctly highlight depot unbunch action in dropdown (#12021) -Fix #12014: Remove water when area clearing ship depot (#12030) -Fix #11840: Ship pathfinder always returns a valid trackdir if one is available (#12031) -Fix #10983: [AdminPort] Correct order of messages (#11140) -Fix #10405: [Script] Test engine and vehicle type validity for ScriptGroup::GetNumEngines (#11887) -Fix #10079: Don't render at 1000fps if HW acceleration + vsync is requested but not active (#12067) -Fix: Shadows of individual character glyphs could be drawn over other characters (#12115) -Fix: Don't invalidate station list on vehicle load/unload (#12112) -Fix: NewGRF roadstops were ignored if only in default class (#12089) -Fix: Visually also disable vsync when not using HW acceleration (#12066) -Fix: Industry tiles and houses could accept incorrect cargo types (#12062) -Fix: Redraw orders when a station feature is added/removed (#12061) -Fix: For content service, fallback to TCP downloads when HTTP stalls (#12056) -Fix: Don't issue autoreplace failed news message for command test mode (#12026) -Remove: Setting "no_http_content_downloads" (#12058) - - -14.0-beta3 (2024-02-06) ------------------------------------------------------------------------- -Add: [Script] ScriptTileList_StationCoverage to get station coverage area (#12015) -Change: Update OpenTTD TTF fonts to v0.5 (#11994) -Fix #12012: Crash when opening orders of another company (#12013) -Fix #12001: Use correct valid cargo check for old-style NewGRF town house 3rd cargo set up (#12006) -Fix #11997: Adjust economy date by 1920 when loading TTD/TTO savegames (#12007) -Fix: Focus hotkey in road/tram stop building window (#12008) -Fix: Signals were incorrectly shifted by 1 pixel when selected (#12005) -Fix: Missing default vehicles and industry acceptance/production (#12000) -Fix: [Script] Avoid overflow in scripts when infinite money is enabled (#12016) -Fix: [Script] Don't kill GS misusing GSText (#12009) - - -14.0-beta2 (2024-02-04) ------------------------------------------------------------------------- -Change: [NewGRF] Improved support for redefining default cargo types (#11719) -Fix #11982: Crash when trying to place signals on things other than plain rails (#11977) -Fix #11975: Inconsistent behaviour when changing first AI company settings (#11976) -Fix #11972: Year cut off in graph windows (#11974) -Fix #11968: Crash when opening orders window of new vehicles (#11973) -Fix #11966: Monospace text in windows may not have been fully scrollable (#11981) -Fix #11802: Made determining water region edge traversability more robust (#11986) -Fix: Second colour vehicle-type default liveries were not being updated (#11971) - - -14.0-beta1 (2024-02-03) ------------------------------------------------------------------------- -Feature: Order option to unbunch vehicles at depot (#11945) -Feature: Infinite money mode (#11902) -Feature: Setting to disable the loading speed penalty for trains longer than the station (#11682) -Feature: Plugin framework for Social Integration with Steam, Discord, GOG, etc (#11628) -Feature: Scalable OpenTTD TrueType font made by Zephyris (#11593) -Feature: Toyland-specific river graphics (#11523) -Feature: Add zoom level buttons to sprite aligner (#11518) -Feature: Add shading to river slopes (#11491) -Feature: Place cargo icon on cargo filter dropdowns (#11487) -Feature: Mode to display timetable in seconds (#11435) -Feature: Setting to influence how many minutes a calendar year takes (#11428) -Feature: Base graphics can offer parameters for additional settings (#11347) -Feature: Sandbox option to lock station ratings at 100% (#11346) -Feature: Setting to use real-time "wallclock" as timekeeping units (#11341) -Feature: Setting to automatically restart server based on hours played (#11142) -Feature: Add config option to set default company secondary colour for new games (#11068) -Feature: Transparency option for cost and income indicators (#11001) -Feature: Create group of vehicles from manage vehicle list button (#10890) -Feature: Show coverage highlight the same as stations when adding waypoints (#10875) -Feature: Show the number of industries already built in the Fund New Industry window (#10806) -Feature: Add search filter and name text to build waypoint window (#10786) -Feature: Setting to disallow level crossings with competitors (#10755) -Feature: Opt-in survey when leaving a game (#10719) -Feature: Replace buying/selling company shares with hostile takeovers of AI companies (#10709, #10914) -Feature: Settings to scale cargo production of towns and industries (#10606) -Feature: Separate rail/road and sea/air velocity units, and add knots (#10594) -Feature: Region-based pathfinder for ships (#10543) -Feature: Filter engine build menu by name and NewGRF extra text (#10519) -Feature: Industry directory text filter (#10518) -Feature: Ctrl+Click to reset late counter for the entire vehicle group (#10464) -Feature: Orientation of rail and road depots can be changed (#9642) -Feature: Display help and manuals in-game (#7786) -Feature: [NewGRF] Town production effect and multiplier (#11947) -Feature: [NewGRF] Randomize direction of rail vehicle on build based on probability callback (#11489) -Feature: [NewGRF] Related Act2 objects for airports and airport tiles (#11282) -Feature: [NewGRF] Allow higher max speeds for ships (#10734) -Feature: [NewGRF] Increase limit of objects/stations/roadstops per NewGRF (#10672) -Feature: [NewGRF] Road stops (#10144) -Feature: [Script] Goal destination can be updated (#10817) -Add: Argument for console command "restart" to use either current or newgame settings (#11962, #11963) -Add: {CURRENCY_SHORT} only did k / m suffix. Add bn / tn and make translatable (#11921) -Add: Show in multiplayer the amount of hours a game has been unpaused (#11886) -Add: Allow loading heightmaps from command-line (#11870) -Add: List_[scenario|heightmap] and load_[scenario|height] console commands (#11867) -Add: Latvian Lats currency (#11691) -Add: Horizontal scroll for script debug log (#11597) -Add: GUI options to select sprite font and AA mode for all fonts (#11593) -Add: Website button for basesets in Game Options window, the Game Script settings window and AI settings window (#11512) -Add: [Emscripten] Support for bootstrapping (#11109) -Add: Hotkey to focus town / industry directory filter box (#11030) -Add: Maximum number of companies allowed to the client list (#10523) -Add: Use specific error message when vehicle cannot go to station/waypoint (#10494) -Add: Show NewGRF name in NewGRF-created errors (#10457) -Add: Alternative setting for right-click close window option to exclude pinned windows (#10204) -Add: Allow autoreplace with same model vehicle (#7729) -Add: [NewGRF] Allow inspection of road tiles and airports (#11282, #11323) -Add: [NewGRF] Station variable 6B to get extended station id of nearby tiles (#10953) -Add: [NewGRF] String code "9A 21" to display force from textstack (#10782) -Add: [NewGRF] Station property 1C/1D to set name/classname (#10672) -Add: [Script] Optional filter parameter to ScriptXXXList constructors (#11698,#11663) -Add: [Script] AI/GS Time Mode to choose between economy (default) and calendar time (#11603) -Add: [Script] Allow to set max loan for each company separately (#11224) -Add: [Script] GSIndustry.GetConstructionDate() method (#11145) -Add: [Script] Game script control of industry production level and news messages (#11141) -Add: [Script] GSAsyncMode to set async mode of gamescript commands (#10913) -Add: [Script] GSCompanyMode::IsValid and IsDeity, and enforce valid company/deity mode where applicable (#10536, #10529) -Add: [Script] Allow GS to found town with random road layout (#10442) -Add: [Script] Create own Randomizer per instance (#10349) -Change: Better handle different GUI sizes for most windows, and squash inconsistencies between windows -Change: Allow configuring AI slots above the current maximum number of competitors (#11961) -Change: Forcefully enable prefixing logs with date (#11930) -Change: Position error window closer to cursor on large screens (#11923) -Change: Only open story-book in center when a GS does it (#11916) -Change: Rebrand Cheats as Sandbox Options (#11874) -Change: Make smooth-scrolling based on actual time (#11865) -Change: Set smooth-scrolling on by default (#11860) -Change: Disable building rail infrastructure if train build limit is zero (#11847) -Change: Invalidate music volume when restarting music playback on Windows (#11836) -Change: Make street lights transparent with houses (#11828) -Change: Redesign script debug window (#11782) -Change: Reorganize Settings menu items (#11683) -Change: Set amount of smoke/sparks to "realistic" by default (#11624) -Change: Show a message in livery window if vehicle type has no groups (#11617) -Change: Add distinct tooltips for vehicle group colour schemes (#11617) -Change: Move colour selection dropdowns to bottom of window (#11617) -Change: Support custom transparency remaps with 32bpp blitters (#11616) -Change: Make "middle" the default stopping location for trains in platforms (#11605) -Change: Scale sprites to requested highest resolution level (#11600) -Change: Allow opening multiple script debug windows by holding Ctrl (#11592) -Change: Don't show scoring year in high score table (#11546) -Change: Revert pressed-button content shifting introduced in r2161 (#11542) -Change: Show rating in station list even with no cargo waiting (#11540) -Change: Hide unused cargos from vehicle cargo filter (#11533) -Change: Don't restart playback when toggling playlist shuffle (#11504) -Change: Increase finance window lines (and underlines) with interface scale (#11459) -Change: Move baseset missing/corrupted files label to list item (#11455) -Change: Add horizontal scrollbar to Industry Directory window (#11434) -Change: Improve layout of airport, dock, object, road/tram stop, train station pickers (#11430) -Change: Display cargo lists in sorted cargo order (#11383) -Change: Link houses production on industry chain graph by TPE_PASSENGERS or TPE_MAIL cargo (#11378) -Change: Passenger subsidies are generated for any TPE_PASSENGER cargo type (#11378) -Change: Towns generate cargo based on town production effect (#11378) -Change: Always allow expanding towns in Scenario Editor to build new roads (#11377) -Change: Don't set vehicle on time if timetable not started (#11359) -Change: Store station blocked/wires/pylons flags in map (#11337) -Change: Recover when possible from crashes during a crash (#11238) -Change: Store crash logs in JSON format (#11232) -Change: Remove autosave from settings window; it is already in the Game Options (#11218) -Change: Enable "Forbid 90 degree turns" setting by default (#11160) -Change: Do not allow mixing road/tram types in powered road type list (#11148) -Change: Only show platform stopping location in orders when other than default (#11102) -Change: Autorail / autoroad tools can start dragging from invalid tiles (#11089) -Change: Only allow buying Exclusive Transport Rights when no one has them (#11076) -Change: Remove currency code/symbol suffix from language files (#11061) -Change: Add separate setting for server sent commands per frame limit (#11023) -Change: Cargo flow legend only shows defined cargo (#10872) -Change: Use "Via-Destination-Source" as default station cargodist display (#10851) -Change: Preserve orders and related settings where possible when moving engines around in a train (#10799) -Change: Standardise unit conversions and allow decimal places (#10795) -Change: Use separate names for default stations/roadstops (#10786) -Change: [MacOS] Require at least 10.15 to run the game (#10745) -Change: Hide all variants from UI when (display) parent is hidden (#10708) -Change: Split Game options into General, Graphics and Sound tabs (#10674) -Change: Extend entity override manager and station spec lists to support 16 bit IDs (#10672) -Change: Base autosaves intervals on real time (instead of game time) (#10655) -Change: Allow overbuilding station and waypoint tiles (#10618) -Change: Use realtime for Linkgraph update settings (#10610) -Change: Make tick length 27 milliseconds (#10607) -Change: Increase max cargo age and let min cargo payment approach zero (#10596) -Change: Show buy company dialog window even when playing in the AI company (#10459) -Change: Use HTTPS for content-service connections (#10448) -Change: Big UFO disaster targets current location of a random train (#10290) -Change: Remove land generator setting from World Generation GUI (#10093) -Change: Build signals to the next junction when dragging regardless of the Ctrl state (#9637) -Change: Allow dedicated server to use threaded saves (#10787) -Change: [NewGRF] Increase vehicle random data from 8 to 16 bits (#10701) -Change: [NewGRF] Read Action 3 IDs as extended-bytes for all features (#10672) -Change: [NewGRF] Make Action 3 debug messages more consistent (#10672) -Change: [NewGRF] Extend callback 161 (engine name) with bit 0x22 for context 'Autoreplace - Vehicles in use' (#10666) -Change: [Script] Replace easy/medium/hard values with default value (#11959) -Change: [Script] Limit total script ops that can be consumed by a list valuate (#11670) -Change: [Script] Allow GS access to ScriptGroup, ScriptGameSettings.IsDisabledVehicleType, more ScriptCompany and more ScriptOrder functions (#10642) -Change: [Script] Improve ScriptText validation error messages (#10545) -Change: [Script] Restore support of {RAW_STRING} in ScriptText (#10492) -Change: [Script] Validate ScriptText parameters type and amount (#10492) -Change: [Script] Automate the ScriptObject reference counting (#10492) -Change: [Script] Extract params info from GS strings (#10492) -Change: [Script] A ScriptText with too many parameters is now a fatal error (#10483) -Change: [Script] Log AI/GS Squirrel crashes in white text for readability (#10375) -Fix #11918: Houses should only build next to road stops, not any station type (#11919) -Fix #11827: Make text layouter aware of ligatures (#11831) -Fix #11752: Characters could be repeated when wrapping multi-line text (#11761) -Fix #11748: Decreasing service interval value sufficiently would result in it wrapping around (#11749) -Fix #11629: Crash when getting the nearest town for rotated airports (#11631) -Fix #11516: Adjust window size by interface scale during ReInit (#11517) -Fix #11515: Changing interface scale could have unintended effects on zoom level (#11615) -Fix #11442: "Default" colour in group colour window is not updated when changing master colour (#11614) -Fix #11437: Flipped shorter rail vehicles disappear in windows (#11446) -Fix #11413: Incorrect sorting by industry production (#11414) -Fix #11407: Don't steal focus from dropdown menus (#11484) -Fix #11402: Make string filter locale-aware (#11426) -Fix #11329: Don't assert vehicle list length is non-zero when only asked to set string parameter (#11330) -Fix #11315: Sort industries and cargoes by name in industry chain window (#11317) -Fix #11307: Incorrect GroupStatistics after selling leading wagon (#11311) -Fix #11261: Airport menu selectability after closing window on a class with no available airports (#11344) -Fix #11230: Sort by button in group list window could be misaligned (#11231) -Fix #11215: Assert in NewGRF parameters window (manual parameter mode) (#11217) -Fix #11203: [Linux] Crash when editing CJK characters in edit box (#11204) -Fix #11180: Aircraft crashes could point to the wrong tile (#11184) -Fix #11164: Don't create duplicate town names when using 'Many random towns' in the scenario editor (#11165) -Fix #11162: Second company colour was not consistently applied to articulated vehicles (#11163) -Fix #11115: Focus the abandon game/exit game windows (#11125) -Fix #11096: Increase priority of error and confirmation windows (#11104) -Fix #11087: Disable base graphics/sound dropdown outside main menu (#11091) -Fix #11054: Prevent translation of currency codes (#11061) -Fix #11026: Use real engine name instead of default name for filtering (#11033) -Fix #10982: No help text for gamelog command (#10984) -Fix #10880: Crash in object window due to incorrect parameter order (#10881) -Fix #10868: Crash when Script tries to load large savegame data (#11029) -Fix #10811: Allow dragging vehicle in depot to any free row (#11508) -Fix #10660: Sprite Font scale affected by viewport zoom level limits (#10668) -Fix #10619: Crash loading linkgraph for older savegames (#10620) -Fix #10600: 'Replace Vehicles' didn't show numbers >999 (#10680) -Fix #10578: Allow to select any version of AI/GS from GUI (#10604) -Fix #10522: Link graph tooltip vertical lines were not handled correctly (#10524) -Fix #10511: Don't search for depot every tick if one cannot be found (#11548) -Fix #10478: Clarify airport noise control setting texts (#11169) -Fix #10452: Prevent long stalls during river generation (#11544) -Fix #10430: Display chain window causing assert (#10431) -Fix #10343: Don't extend town-disallowed roadtypes (#10347) -Fix #10251: [MacOS] Screen looks blue-ish when using newer SDKs (#11207) -Fix #10222: Adjust line drawing algorithm (#10491) -Fix #10131: Actually cancel downloads when pressing cancel (#10485) -Fix #10118: Cycle through current signal group, not just path signals (#11798) -Fix #10439: [Script] Validate story page button colour, flags, cursor and vehicle type (#11892) -Fix #10438: [Script] Validate story page element type for ScriptStoryPage::NewElement (#11888) -Fix #9865: Removing files with the console always failed -Fix #9810: Rebuilding a through road stop costs money (#9852) -Fix #9722: Crash when pressing hotkeys early in world generation (#11858) -Fix #9697: Limit the default width of the Online Players window (#11936) -Fix #9642: Keep infrastructure totals when overbuilding road depots (#11229) -Fix #9545: Crash when all cargo types are disabled (#11432) -Fix #8846: When upgrading NewGRF presets, copy NewGRF parameters only if the NewGRF are compatible (#11348) -Fix #8253: Improve profit graph when having lots of money (#11915) -Fix #6377: Two tarballs with the same folder in them were considered as one (#11855) -Fix #5713: Ships could be sent to unreachable depots (#11768) -Fix #4575: Use Latin 'l' in English translation of zloty (#11090) -Fix #4415: Land info build date is also renovation date (#11759) -Fix: Display rank correctly with more than 15 companies in a league table (#11940) -Fix: Extra refit button when train/RV is in a depot (#11904) -Fix: Update server listing as offline when unexpected disconnect during refresh (#11891) -Fix: Horizontal scale of framerate window switched excessively (#11813) -Fix: [Linux] Various issues with resolutions and fullscreen in multi-display setups (#11778, #11779) -Fix: Build button text when train purchase window using "Engines" filter (#11755) -Fix: One-way state remained after removing road from road and tram tile (#11745) -Fix: Draw video driver info at the correct size and text wrap (#10716) -Fix: Language genders could not be applied to SCC_INDUSTRY_NAME (#11697) -Fix: Spurious cancellations of HTTP content downloads (#11668) -Fix: Calculation of initial engine age was inaccurate (#11660) -Fix: Prevent underflow if engine base life is less than 8 years (#11635) -Fix: Changing default livery did not propagate to group liveries (#11633) -Fix: Window width/height was doubly-scaled with automatic DPI switch (#11598) -Fix: Don't crash when saving a crashlog save with no main window open (#11586) -Fix: Prevent overflow when calculating max town noise (#11564) -Fix: Deleting towns did not check for waypoints referencing the town (#11513) -Fix: Invalidate playlist window when (un)shuffling playlist (#11504) -Fix: Restore original cargo legend 'blob' dimensions (#11480) -Fix: Extmidi did not move on to next song after playing ends (#11469) -Fix: Server password length in the UI was unnecessarily limited (#11408) -Fix: OpenTTD can fail to exit on an error due to mutex locks in threads (#11398) -Fix: Scale minimum width for server name by interface scale (#11381) -Fix: Server connection was not closed when relay window was closed (#11366) -Fix: Upgrading NewGRF presets could result in incomplete display of NewGRF parameters until restart (#11348) -Fix: Check for engine variant loops during NewGRF initialization (#11343) -Fix: Don't allow industries to produce invalid cargo (#11314) -Fix: Also apply cargo filters on shared groups in vehicle listing (#11294) -Fix: Only count distance traveled in vehicles for cargo payment (#11283) -Fix: Base cargo payment on load/unload tile, instead of station sign location (#11281) -Fix: Crash when opening a damaged base-graphics (#11275) -Fix: Trivial autoreplace of mixed cargo articulated engines (#11253) -Fix: [Emscripten] Config not saved on exit (#11248) -Fix: Inaccurate waiting cargo total in station window when using cargodist (#11213) -Fix: No fast forward in network was ensured only from GUI side (#11206) -Fix: Crash when not passing command-line parameter for -n (#11153) -Fix: [Bootstrap] Don't crash when failing to connect to content server (#11122) -Fix: Crash when failing to load a game into a dedicated server at startup (#11021) -Fix: Don't allow changing settings over the network that are marked as local settings (#11009) -Fix: Move no_http_content_downloads and use_relay_service to private settings (#10762) -Fix: Extra viewport could not be scrolled with right-click-close (#10644) -Fix: Specify units for value of share trading age setting (#10612) -Fix: Road type is not available before its introduction date (#10585) -Fix: Do not update a RV's Z-position when stationary while turning (#10570) -Fix: Don't (briefly) switch from title-only playlist on menu screen (#10553) -Fix: Reset content download progress to zero if falling back to TCP (#10485) -Fix: Make script goals work with the whole range of ClientIDs (#10435) -Fix: [NewGRF] Tile slope missing from road stops varact2 variable 0x42 (#11373) -Fix: [NewGRF] House class mappings were not reset between games (#11279) -Fix: [NewGRF] Profile didn't stop if there were no events yet (#10816) -Fix: [NewGRF] Support more than 256 stations/waypoints/roadstops per class (#10793) -Fix: [NewGRF] Var68 for station and roadstop was broken (#10784) -Fix: [NewGRF] Object and road stop ignore property handlers (#10525) -Fix: [Script] Apply random deviation to settings only at script start (#11944) -Fix: [Script] Improve ScriptText validation (#11721) -Fix: [Script] GSAdmin.Send() could generate invalid JSON (#11250) -Fix: [Script] Crash if squirrel compatibility scripts cannot be parsed (#11589) -Fix: [Script] Don't list unavailable road types for game scripts (#10585) -Fix: [Script] Game scripts were able to build with non-existing road types (#10539) -Fix: [Script] Inconsistent precondition failure return values (#10533) -Fix: [Script] Crash when companies disappear (#10529) -Fix: [Script] ScriptBase::Rand() return value could return negative values (#10443) -Fix: [Script] Incorrect value for GOAL_INVALID (#10436) -Fix: [Script] Extend Script::IsValidVehicle to check for primary vehicles (#10386) -Remove: "generation_seed" from config, as it was a write-only value (#11927) -Remove: Debug redirect over network (#11776) -Remove: Officially mark Vista as no longer supported (#11531) -Remove: OS/2 and SunOS ports (#11018, #11210) -Remove: Obsolete NewGRF text unprinting (#10884) -Remove: [Script] CONFIG_RANDOM from AddSetting flags (#11942) +Add: Check that towns can build roads before generating map (#12503) +Fix #12228: Ships could get lost due to pathfinder not considering reversing in some cases (#12474) +Fix #12433: Width of unit number display was too narrow (#12534) +Fix #12502: Desync related to vehicle replacement (#12512) +Fix #12506: Desync after new oil rig is constructed (#12511) +Fix #12584: Crash on some tar files during tar scan (#12586) +Fix: [SDL2] Keypad numbers did not function (#12596) +Fix: Houses and industry tiles could accept incorrect cargo (#12547) +Fix: Map generation stage strings were incorrect (#12549) +Fix: [Script] Allow only 255 league tables, as 255 itself is the invalid id sentinel (#12545) +Fix: Mark vehicle status bars dirty when a vehicle leaves unbunching depot (#12516) +Fix: Do not show train waiting for unbunching as waiting for free path (#12515) +Fix: Smooth outliers in unbunching round trip calculations (#12513) diff --git a/.ottdrev b/.ottdrev index 8cdcfec6..695a33e3 100644 --- a/.ottdrev +++ b/.ottdrev @@ -1 +1 @@ -14.0 20240413 0 b3c704a6306027de4aad575c8e394a2d8a1878f9 1 1 2024 +14.1 20240503 0 61342620bc4c0971b28b3578379b53d04d2f11f1 1 1 2024 diff --git a/.release_date b/.release_date index 4561c33f..ee6772ad 100644 --- a/.release_date +++ b/.release_date @@ -1 +1 @@ -2024-04-13 12:55 UTC +2024-05-03 20:51 UTC diff --git a/.version b/.version index ed9d00f9..9dc0691c 100644 --- a/.version +++ b/.version @@ -1 +1 @@ -14.0 +14.1 diff --git a/CMakeLists.txt b/CMakeLists.txt index fe1652d6..9e5b6698 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -343,7 +343,7 @@ if(NOT OPTION_DEDICATED) endif() endif() -include(CheckAtomic) +include(3rdparty/llvm/CheckAtomic) if(APPLE) link_package(Iconv TARGET Iconv::Iconv) diff --git a/COMPILING.md b/COMPILING.md index dfdcd4ea..74e81625 100644 --- a/COMPILING.md +++ b/COMPILING.md @@ -29,7 +29,7 @@ open most older savegames or use the content downloading system. ## Windows -You need Microsoft Visual Studio 2017 or more recent. +You need Microsoft Visual Studio 2022 or more recent. You can download the free Visual Studio Community Edition from Microsoft at https://visualstudio.microsoft.com/vs/community/. @@ -65,7 +65,7 @@ To install both the x64 (64bit) and x86 (32bit) variants (though only one is nec You can open the folder (as a CMake project). CMake will be detected, and you can compile from there. If libraries are installed but not found, you need to set VCPKG_TARGET_TRIPLET in CMake parameters. -For Visual Studio 2017 you also need to set CMAKE_TOOLCHAIN_FILE. +For Visual Studio 2022 you also need to set CMAKE_TOOLCHAIN_FILE. (Typical values are shown in the MSVC project file command line example) Alternatively, you can create a MSVC project file via CMake. For this @@ -75,7 +75,7 @@ that comes with vcpkg. After that, you can run something similar to this: ```powershell mkdir build cd build -cmake.exe .. -G"Visual Studio 16 2019" -DCMAKE_TOOLCHAIN_FILE="\vcpkg\scripts\buildsystems\vcpkg.cmake" -DVCPKG_TARGET_TRIPLET="x64-windows-static" +cmake.exe .. -G"Visual Studio 17 2022" -DCMAKE_TOOLCHAIN_FILE="\vcpkg\scripts\buildsystems\vcpkg.cmake" -DVCPKG_TARGET_TRIPLET="x64-windows-static" ``` Change `` to where you have installed vcpkg. After this @@ -83,7 +83,7 @@ in the build folder are MSVC project files. MSVC can rebuild the project files himself via the `ZERO_CHECK` project. ## All other platforms -Minimum required version of CMake is 3.9. +Minimum required version of CMake is 3.16. By default this produces a Debug build with assertations enabled. This is a far slower build than release builds. @@ -115,9 +115,9 @@ builds. ## Supported compilers -Every compiler that is supported by CMake and supports C++17, should be +Every compiler that is supported by CMake and supports C++20, should be able to compile OpenTTD. As the exact list of compilers changes constantly, -we refer to the compiler manual to see if it supports C++17, and to CMake +we refer to the compiler manual to see if it supports C++20, and to CMake to see if it supports your compiler. ## Compilation of base sets diff --git a/README.md b/README.md index 1943ed6b..96a3a6eb 100644 --- a/README.md +++ b/README.md @@ -212,6 +212,9 @@ See `src/3rdparty/monocypher/LICENSE.md` for the complete license text. The OpenTTD Social Integration API in `src/3rdparty/openttd_social_integration_api` is licensed under the MIT license. See `src/3rdparty/openttd_social_integration_api/LICENSE` for the complete license text. +The atomic datatype support detection in `cmake/3rdparty/llvm/CheckAtomic.cmake` is licensed under the Apache 2.0 license. +See `cmake/3rdparty/llvm/LICENSE.txt` for the complete license text. + ## 4.0 Credits See [CREDITS.md](./CREDITS.md) diff --git a/changelog.txt b/changelog.txt index 87f2bf8f..2b0ca754 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,20 @@ +14.1 (2024-05-03) +------------------------------------------------------------------------ +Add: Check that towns can build roads before generating map (#12503) +Fix #12228: Ships could get lost due to pathfinder not considering reversing in some cases (#12474) +Fix #12433: Width of unit number display was too narrow (#12534) +Fix #12502: Desync related to vehicle replacement (#12512) +Fix #12506: Desync after new oil rig is constructed (#12511) +Fix #12584: Crash on some tar files during tar scan (#12586) +Fix: [SDL2] Keypad numbers did not function (#12596) +Fix: Houses and industry tiles could accept incorrect cargo (#12547) +Fix: Map generation stage strings were incorrect (#12549) +Fix: [Script] Allow only 255 league tables, as 255 itself is the invalid id sentinel (#12545) +Fix: Mark vehicle status bars dirty when a vehicle leaves unbunching depot (#12516) +Fix: Do not show train waiting for unbunching as waiting for free path (#12515) +Fix: Smooth outliers in unbunching round trip calculations (#12513) + + 14.0 (2024-04-13) ------------------------------------------------------------------------ Update: New title game for 14.0 diff --git a/cmake/CheckAtomic.cmake b/cmake/3rdparty/llvm/CheckAtomic.cmake similarity index 84% rename from cmake/CheckAtomic.cmake rename to cmake/3rdparty/llvm/CheckAtomic.cmake index 990c52c3..86ab2ab1 100644 --- a/cmake/CheckAtomic.cmake +++ b/cmake/3rdparty/llvm/CheckAtomic.cmake @@ -1,3 +1,11 @@ +# +# This was originally part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +# See (https://llvm.org/)LICENSE.txt for license information. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# +# Modifications have been made to suit building OpenTTD. +# + # atomic builtins are required for threading support. INCLUDE(CheckCXXSourceCompiles) @@ -48,6 +56,8 @@ else() check_working_cxx_atomics(HAVE_CXX_ATOMICS_WITHOUT_LIB) # If not, check if the library exists, and atomics work with it. if(NOT HAVE_CXX_ATOMICS_WITHOUT_LIB) + # check_library_exists requires the C-compiler as the atomic functions are built-in declared. + enable_language(C) check_library_exists(atomic __atomic_fetch_add_4 "" HAVE_LIBATOMIC) if(HAVE_LIBATOMIC) list(APPEND CMAKE_REQUIRED_LIBRARIES "atomic") @@ -69,6 +79,8 @@ else() check_working_cxx_atomics64(HAVE_CXX_ATOMICS64_WITHOUT_LIB) # If not, check if the library exists, and atomics work with it. if(NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB) + # check_library_exists requires the C-compiler as the atomic functions are built-in declared. + enable_language(C) check_library_exists(atomic __atomic_load_8 "" HAVE_CXX_LIBATOMICS64) if(HAVE_CXX_LIBATOMICS64) list(APPEND CMAKE_REQUIRED_LIBRARIES "atomic") diff --git a/cmake/3rdparty/llvm/LICENSE.txt b/cmake/3rdparty/llvm/LICENSE.txt new file mode 100644 index 00000000..fa6ac540 --- /dev/null +++ b/cmake/3rdparty/llvm/LICENSE.txt @@ -0,0 +1,279 @@ +============================================================================== +The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: +============================================================================== + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +---- LLVM Exceptions to the Apache 2.0 License ---- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into an Object form of such source code, you +may redistribute such embedded portions in such Object form without complying +with the conditions of Sections 4(a), 4(b) and 4(d) of the License. + +In addition, if you combine or link compiled forms of this Software with +software that is licensed under the GPLv2 ("Combined Software") and if a +court of competent jurisdiction determines that the patent provision (Section +3), the indemnity provision (Section 9) or other Section of the License +conflicts with the conditions of the GPLv2, you may retroactively and +prospectively choose to deem waived or otherwise exclude such Section(s) of +the License, but only in their entirety and only with respect to the Combined +Software. + +============================================================================== +Software from third parties included in the LLVM Project: +============================================================================== +The LLVM Project contains third party software which is under different license +terms. All such code will be identified clearly using at least one of two +mechanisms: +1) It will be in a separate directory tree with its own `LICENSE.txt` or + `LICENSE` file at the top containing the specific license and restrictions + which apply to that software, or +2) It will contain specific license and restriction terms at the top of every + file. + +============================================================================== +Legacy LLVM License (https://llvm.org/docs/DeveloperPolicy.html#legacy): +============================================================================== +University of Illinois/NCSA +Open Source License + +Copyright (c) 2003-2019 University of Illinois at Urbana-Champaign. +All rights reserved. + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + diff --git a/docs/desync.md b/docs/desync.md index 20003c98..afbebb11 100644 --- a/docs/desync.md +++ b/docs/desync.md @@ -195,10 +195,11 @@ Last updated: 2014-02-23 'src/network/network_func.h'. (DEBUG_FAILED_DUMP_COMMANDS is explained later) - Put the 'commands-out.log' into the root save folder, and rename - it to 'commands.log'. - - Run 'openttd -D -d desync=3 -g startsavegame.sav'. - This replays the server log and creates new 'commands-out.log' - and 'dmp_cmds_*.sav' in your autosave folder. + it to 'commands.log'. Strip everything and including the "newgame" + entry from the log. + - Run 'openttd -D -d desync=0 -g startsavegame.sav'. + This replays the server log. Use "-d desync=3" to also create a + new 'commands-out.log' and 'dmp_cmds_*.sav' in your autosave folder. ## 3.2) Evaluation of the replay @@ -226,7 +227,7 @@ Last updated: 2014-02-23 savegames with your own ones from the replay. You can also comment/disable the 'NOT_REACHED' mentioned above, to get another 'dmp_cmds_*.sav' from the replay after the mismatch has already been detected. - See Section 3.2 on how to compare savegames. + See Section 3.3 on how to compare savegames. If the saves differ you have located the Desync between the last dmp_cmds that match and the first one that does not. The difference of the saves may point you in the direction of what causes it. @@ -252,16 +253,14 @@ Last updated: 2014-02-23 are replayed. Their internal state will thus not change in the replay and will differ. - To compare savegame more semantically, there exist some ugly hackish - tools at: - http://devs.openttd.org/~frosch/texts/zpipe.c - http://devs.openttd.org/~frosch/texts/printhunk.c + To compare savegame more semantically, easiest is to first export them + to a JSON format with for example: - The first one decompresses OpenTTD savegames. The second one creates - a textual representation of an uncompressed savegame, by parsing hunks - and arrays and such. With both tools you need to be a bit careful - since they work on stdin and stdout, which may not deal well with - binary data. + https://github.com/TrueBrain/OpenTTD-savegame-reader - If you have the textual representation of the savegames, you can - compare them with regular diff tools. + By running: + + python -m savegame_reader --export-json dmp_cmds_NNN.sav | jq . > NNN.json + + Now you can use any (JSON) diff tool to compare the two savegames in a + somewhat human readable way. diff --git a/src/company_cmd.cpp b/src/company_cmd.cpp index f26e01e2..3ffd4e43 100644 --- a/src/company_cmd.cpp +++ b/src/company_cmd.cpp @@ -635,7 +635,7 @@ Company *DoStartupNewCompany(bool is_ai, CompanyID company = INVALID_COMPANY) } /** Start a new competitor company if possible. */ -TimeoutTimer _new_competitor_timeout(0, []() { +TimeoutTimer _new_competitor_timeout({ TimerGameTick::Priority::COMPETITOR_TIMEOUT, 0 }, []() { if (_game_mode == GM_MENU || !AI::CanStartNew()) return; if (_networking && Company::GetNumItems() >= _settings_client.network.max_companies) return; @@ -776,7 +776,7 @@ void OnTick_Companies() /* Randomize a bit when the AI is actually going to start; ranges from 87.5% .. 112.5% of indicated value. */ timeout += ScriptObject::GetRandomizer(OWNER_NONE).Next(timeout / 4) - timeout / 8; - _new_competitor_timeout.Reset(std::max(1, timeout)); + _new_competitor_timeout.Reset({ TimerGameTick::Priority::COMPETITOR_TIMEOUT, static_cast(std::max(1, timeout)) }); } _cur_company_tick_index = (_cur_company_tick_index + 1) % MAX_COMPANIES; diff --git a/src/core/random_func.cpp b/src/core/random_func.cpp index 7b605501..41b599d8 100644 --- a/src/core/random_func.cpp +++ b/src/core/random_func.cpp @@ -113,7 +113,7 @@ void RandomBytesWithFallback(std::span buf) #if defined(_WIN32) auto res = BCryptGenRandom(nullptr, static_cast(buf.data()), static_cast(buf.size()), BCRYPT_USE_SYSTEM_PREFERRED_RNG); if (res >= 0) return; -#elif defined(__APPLE__) || defined(__NetBSD__) || defined(__FreeBSD__) +#elif defined(__APPLE__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) arc4random_buf(buf.data(), buf.size()); return; #elif defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 25))) diff --git a/src/debug.cpp b/src/debug.cpp index 7cc28e42..1306f436 100644 --- a/src/debug.cpp +++ b/src/debug.cpp @@ -110,7 +110,7 @@ void DumpDebugFacilityNames(std::back_insert_iterator &output_itera */ void DebugPrint(const char *category, int level, const std::string &message) { - if (strcmp(category, "desync") == 0) { + if (strcmp(category, "desync") == 0 && level != 0) { static FILE *f = FioFOpenFile("commands-out.log", "wb", AUTOSAVE_DIR); if (f == nullptr) return; diff --git a/src/fileio.cpp b/src/fileio.cpp index fc892ed2..15c519bd 100644 --- a/src/fileio.cpp +++ b/src/fileio.cpp @@ -24,6 +24,7 @@ #include #include #endif +#include #include #include #include @@ -570,7 +571,16 @@ bool TarScanner::AddFile(const std::string &filename, size_t, [[maybe_unused]] c /* The size of the file, for some strange reason, this is stored as a string in octals. */ std::string size = ExtractString(th.size, lengthof(th.size)); - size_t skip = size.empty() ? 0 : std::stoul(size, nullptr, 8); + size_t skip = 0; + if (!size.empty()) { + StrTrimInPlace(size); + auto [_, err] = std::from_chars(size.data(), size.data() + size.size(), skip, 8); + if (err != std::errc()) { + Debug(misc, 0, "The file '{}' has an invalid size for '{}'", filename, name); + fclose(f); + return false; + } + } switch (th.typeflag) { case '\0': diff --git a/src/genworld.cpp b/src/genworld.cpp index b657273f..c594da8d 100644 --- a/src/genworld.cpp +++ b/src/genworld.cpp @@ -102,6 +102,10 @@ static void _GenerateWorld() IncreaseGeneratingWorldProgress(GWP_MAP_INIT); /* Must start economy early because of the costs. */ StartupEconomy(); + if (!CheckTownRoadTypes()) { + HandleGeneratingWorldAbortion(); + return; + } bool landscape_generated = false; diff --git a/src/genworld_gui.cpp b/src/genworld_gui.cpp index c8956407..1593c132 100644 --- a/src/genworld_gui.cpp +++ b/src/genworld_gui.cpp @@ -1358,11 +1358,11 @@ static GenWorldStatus _gws; static const StringID _generation_class_table[] = { STR_GENERATION_WORLD_GENERATION, - STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION, + STR_GENERATION_LANDSCAPE_GENERATION, STR_GENERATION_RIVER_GENERATION, STR_GENERATION_CLEARING_TILES, - STR_SCENEDIT_TOOLBAR_TOWN_GENERATION, - STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION, + STR_GENERATION_TOWN_GENERATION, + STR_GENERATION_INDUSTRY_GENERATION, STR_GENERATION_OBJECT_GENERATION, STR_GENERATION_TREE_GENERATION, STR_GENERATION_SETTINGUP_GAME, diff --git a/src/lang/afrikaans.txt b/src/lang/afrikaans.txt index 2490b8d3..e99b311f 100644 --- a/src/lang/afrikaans.txt +++ b/src/lang/afrikaans.txt @@ -2913,9 +2913,9 @@ STR_GENERATION_PROGRESS :{WHITE}{NUM}% k STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Wêreld generasie STR_GENERATION_RIVER_GENERATION :{BLACK}Rivier generasie -STR_GENERATION_TREE_GENERATION :{BLACK}Boom generasie -STR_GENERATION_OBJECT_GENERATION :{BLACK}Onbeweegbaar generasie STR_GENERATION_CLEARING_TILES :{BLACK}Ru en rotserig area generasie +STR_GENERATION_OBJECT_GENERATION :{BLACK}Onbeweegbaar generasie +STR_GENERATION_TREE_GENERATION :{BLACK}Boom generasie STR_GENERATION_SETTINGUP_GAME :{BLACK}Stel speletjie op STR_GENERATION_PREPARING_TILELOOP :{BLACK}Hardloop teël-herhaling STR_GENERATION_PREPARING_SCRIPT :{BLACK}Lopende skrif @@ -4628,6 +4628,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Verander STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Geen voertuie is op die oomblik beskikbaar nie STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Begin na {DATE_SHORT} of gebruik 'n NewGRF wat voertuie vroeër beskikbaar stel + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Kan nie trein forseer om sein te vermy op gevaar... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Kan nie rigting van trein verander nie... diff --git a/src/lang/arabic_egypt.txt b/src/lang/arabic_egypt.txt index ca295297..96004793 100644 --- a/src/lang/arabic_egypt.txt +++ b/src/lang/arabic_egypt.txt @@ -2774,9 +2774,9 @@ STR_GENERATION_PROGRESS :{WHITE}{NUM}% STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK} مولد الخريطة STR_GENERATION_RIVER_GENERATION :{BLACK}مولد الانهار -STR_GENERATION_TREE_GENERATION :{BLACK} مولد الشجر -STR_GENERATION_OBJECT_GENERATION :{BLACK}صانع الخامات STR_GENERATION_CLEARING_TILES :{BLACK}مولد المناطق الخشنة والصخرية +STR_GENERATION_OBJECT_GENERATION :{BLACK}صانع الخامات +STR_GENERATION_TREE_GENERATION :{BLACK} مولد الشجر STR_GENERATION_SETTINGUP_GAME :{BLACK}تجهيز لعبة STR_GENERATION_PREPARING_TILELOOP :{BLACK} تشغيل المتكررة STR_GENERATION_PREPARING_GAME :{BLACK}يُجَهِز اللعبه @@ -4422,6 +4422,7 @@ STR_ERROR_CAN_T_CLONE_VEHICLE_LIST :{WHITE}... لي STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}لن تتوافر اى وسائل نقل على اﻹطلاق STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}لا تتوافر اى آليه نقل بعد + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}لا يمكن السماح للقطار بالعبور من الاشارة في وضع الخطر STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}لا يمكن عكس اتجاة القطار... diff --git a/src/lang/basque.txt b/src/lang/basque.txt index 4a51da72..a4c72d4d 100644 --- a/src/lang/basque.txt +++ b/src/lang/basque.txt @@ -93,7 +93,7 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :Edari Burbuilat # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}bidaiari{P "" ak} +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}bidaiari STR_QUANTITY_COAL :{WEIGHT_LONG} ikatz STR_QUANTITY_MAIL :{COMMA}{NBSP}posta zaku STR_QUANTITY_OIL :{VOLUME_LONG} petroleo @@ -162,23 +162,23 @@ STR_ABBREV_FIZZY_DRINKS :EB STR_ABBREV_ALL :DEN # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA}{NBSP}bidaiari{P "" ak} -STR_BAGS :{COMMA}{NBSP}zaku{P "" ak} -STR_TONS :{COMMA}{NBSP}tona{P "" k} -STR_LITERS :{COMMA}{NBSP}litro{P "" ak} -STR_ITEMS :{COMMA}{NBSP}objektu{P "" ak} -STR_CRATES :{COMMA}{NBSP}kaxa{P "" k} +STR_PASSENGERS :{COMMA}{NBSP}bidaiari +STR_BAGS :{COMMA}{NBSP}zaku +STR_TONS :{COMMA}{NBSP}tona +STR_LITERS :{COMMA}{NBSP}litro +STR_ITEMS :{COMMA}{NBSP}objektu +STR_CRATES :{COMMA}{NBSP}kaxa STR_COLOUR_DEFAULT :Lehenetsia ###length 17 -STR_COLOUR_DARK_BLUE :Urdin Iluna -STR_COLOUR_PALE_GREEN :Berde Zurbila +STR_COLOUR_DARK_BLUE :Urdin iluna +STR_COLOUR_PALE_GREEN :Berde zurbila STR_COLOUR_PINK :Larrosa STR_COLOUR_YELLOW :Horia STR_COLOUR_RED :Gorria -STR_COLOUR_LIGHT_BLUE :Urdin Argia +STR_COLOUR_LIGHT_BLUE :Urdin argia STR_COLOUR_GREEN :Berdea -STR_COLOUR_DARK_GREEN :Berde Iluna +STR_COLOUR_DARK_GREEN :Berde iluna STR_COLOUR_BLUE :Urdina STR_COLOUR_CREAM :Krema STR_COLOUR_MAUVE :Malba @@ -205,16 +205,16 @@ STR_UNITS_WEIGHT_SHORT_IMPERIAL :{DECIMAL}{NBSP} STR_UNITS_WEIGHT_SHORT_METRIC :{DECIMAL}{NBSP}t STR_UNITS_WEIGHT_SHORT_SI :{DECIMAL}{NBSP}kg -STR_UNITS_WEIGHT_LONG_IMPERIAL :{DECIMAL}{NBSP}tona{P "" k} -STR_UNITS_WEIGHT_LONG_METRIC :{DECIMAL}{NBSP}tona{P "" k} +STR_UNITS_WEIGHT_LONG_IMPERIAL :{DECIMAL}{NBSP}tona +STR_UNITS_WEIGHT_LONG_METRIC :{DECIMAL}{NBSP}tona STR_UNITS_WEIGHT_LONG_SI :{DECIMAL}{NBSP}kg STR_UNITS_VOLUME_SHORT_IMPERIAL :{DECIMAL}{NBSP}gal STR_UNITS_VOLUME_SHORT_METRIC :{DECIMAL}{NBSP}l STR_UNITS_VOLUME_SHORT_SI :{DECIMAL}{NBSP}m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{DECIMAL}{NBSP}galoi{P "" ak} -STR_UNITS_VOLUME_LONG_METRIC :{DECIMAL}{NBSP}litro{P "" ak} +STR_UNITS_VOLUME_LONG_IMPERIAL :{DECIMAL}{NBSP}galoi +STR_UNITS_VOLUME_LONG_METRIC :{DECIMAL}{NBSP}litro STR_UNITS_VOLUME_LONG_SI :{DECIMAL}{NBSP}m³ STR_UNITS_FORCE_IMPERIAL :{DECIMAL}{NBSP}lbf @@ -230,9 +230,9 @@ STR_UNITS_HEIGHT_SI :{DECIMAL}{NBSP} # Common window strings -STR_LIST_FILTER_TITLE :{BLACK}Lokarri iragazkia: -STR_LIST_FILTER_OSKTITLE :{BLACK}Sartu lokarri iragazkia -STR_LIST_FILTER_TOOLTIP :{BLACK}Sartu hitz bat iragazkian zerrendan aurkitzeko +STR_LIST_FILTER_TITLE :{BLACK}Iragazi: +STR_LIST_FILTER_OSKTITLE :{BLACK}Idatzi hitzen bat zerrenda iragazteko +STR_LIST_FILTER_TOOLTIP :{BLACK}Idatzi hitzen bat zerrenda iragazteko STR_TOOLTIP_GROUP_ORDER :{BLACK}Aukeratu taldekatzeko ordena STR_TOOLTIP_SORT_ORDER :{BLACK}Hautatu agertze ordena (deszendientea/aszendientea) @@ -240,7 +240,7 @@ STR_TOOLTIP_SORT_CRITERIA :{BLACK}Aukeratu STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Aukeratu iragazki irizpideak STR_BUTTON_SORT_BY :{BLACK}Ordenatu -STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Lehioa itxi +STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Itxi leihoa STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Leiho izena - Arrastatu hau leihoa mugitzeko STR_TOOLTIP_SHADE :{BLACK}Itzal leihoa - titulu barra bakarrik ikusten da STR_TOOLTIP_DEBUG :{BLACK}NewGRF garbiketa informazioa ikusi @@ -253,14 +253,14 @@ STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Eraikina # Show engines button ###length VEHICLE_TYPES -STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Ezkutuak erakutsi -STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Ezkutuak erakutsi -STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Ezkutuak erakutsi -STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Ezkutuak erakutsi +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Erakutsi ezkutukoak +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Erakutsi ezkutukoak +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Erakutsi ezkutukoak +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Erakutsi ezkutukoak ###length VEHICLE_TYPES -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 +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Botoi hau sakatuz, ezkutuko trenak erakusten dira +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Botoi hau sakatuz, ezkutuko itsasontziak ere erakusten dira # Query window STR_BUTTON_DEFAULT :{BLACK}Lehenetsia @@ -275,7 +275,7 @@ STR_OSK_KEYBOARD_LAYOUT_CAPS :ª!"·$%&/()=? STR_MEASURE_LENGTH :{BLACK}Luzera: {NUM} STR_MEASURE_AREA :{BLACK}Area: {NUM} x {NUM} STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Luzera: {NUM}{}Garaiera diferentzia: {HEIGHT} -STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Area: {NUM} x {NUM}{}Goratasun diferentzia: {HEIGHT} +STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Area: {NUM} x {NUM}{}Garaiera diferentzia: {HEIGHT} # These are used in buttons @@ -321,11 +321,11 @@ STR_SORT_BY_RATING :Balorazioa # Tooltips for the main toolbar ###length 31 -STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Jokoa pausatu -STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Jokoa bizkortu +STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Pausatu jokoa +STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Bizkortu jokoa STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Ezarpenak -STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Jokoa gorde, joko honetatik irten, jokotik irten -STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Erakutsi mapa, ikuspegi extra edo kartelen zerrenda +STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Gorde, kargatu edo utzi jokoa, irten programatik +STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Mapa, ikuspegi gehigarria, zama-mugimenduak edo kartelen zerrenda ikusi STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Erakutsi herri zerrenda STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Subsidioak erakutsi STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Erakutsi konpainien geltokien zerrenda @@ -395,7 +395,7 @@ STR_SETTINGS_MENU_TRANSPARENT_SIGNS :Geltoki errotul # File menu STR_FILE_MENU_SAVE_GAME :Jokoa gorde -STR_FILE_MENU_LOAD_GAME :Jokoa kargatu +STR_FILE_MENU_LOAD_GAME :Kargatu joko bat STR_FILE_MENU_QUIT_GAME :Jokoa utzi STR_FILE_MENU_EXIT :Irten @@ -1783,8 +1783,8 @@ STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Memoriaz # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} -STR_INTRO_NEW_GAME :{BLACK}Joko Berria -STR_INTRO_LOAD_GAME :{BLACK}Jokoa Kargatu +STR_INTRO_NEW_GAME :{BLACK}Joko berria +STR_INTRO_LOAD_GAME :{BLACK}Kargatu joko bat STR_INTRO_PLAY_SCENARIO :{BLACK}Eszenarioa Jokatu STR_INTRO_PLAY_HEIGHTMAP :{BLACK}Garaiera mapa jokatu STR_INTRO_SCENARIO_EDITOR :{BLACK}Eszenario Editorea @@ -1795,6 +1795,7 @@ STR_INTRO_HIGHSCORE :{BLACK}Puntuazi STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Ezarpenak STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF-ren Ezarpenak STR_INTRO_ONLINE_CONTENT :{BLACK}Edukiak Online Kontsultatu +STR_INTRO_AI_SETTINGS :{BLACK}AAren ezarpenak STR_INTRO_QUIT :{BLACK}Irten STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Joko berria hasi. Krtl+klik mapa konfigurazioa desgaitzen du @@ -2752,9 +2753,9 @@ STR_GENERATION_PROGRESS :{WHITE} %{NUM} STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Mundua sortu STR_GENERATION_RIVER_GENERATION :{BLACK}Erreka sorkuntza -STR_GENERATION_TREE_GENERATION :{BLACK} Zuhaitzak sortu -STR_GENERATION_OBJECT_GENERATION :{BLACK}Objektu sorkuntza STR_GENERATION_CLEARING_TILES :{BLACK}Eremu zakarra eta haitzez beteta sortu +STR_GENERATION_OBJECT_GENERATION :{BLACK}Objektu sorkuntza +STR_GENERATION_TREE_GENERATION :{BLACK} Zuhaitzak sortu STR_GENERATION_SETTINGUP_GAME :{BLACK}Jokoaren ezarpenak STR_GENERATION_PREPARING_TILELOOP :{BLACK}Lauki buelta abiarazten STR_GENERATION_PREPARING_SCRIPT :{BLACK}Scripta abiarazten @@ -3294,6 +3295,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Ibilgailu guzti STR_GROUP_RENAME_CAPTION :{BLACK}Taldea berrizendatu +STR_GROUP_PROFIT_THIS_YEAR :Aurtengo irabaziak: # Build vehicle window ###length 4 @@ -3911,7 +3913,7 @@ STR_DATE_YEAR_TOOLTIP :{BLACK}Urtea au STR_AI_DEBUG :{WHITE}IA/Joko Script Garbitzailea STR_AI_DEBUG_NAME_AND_VERSION :{BLACK}{STRING} (v{NUM}) STR_AI_DEBUG_NAME_TOOLTIP :{BLACK}Script-aren izena -STR_AI_DEBUG_SETTINGS :{BLACK}IA-ren Ezarpenak +STR_AI_DEBUG_SETTINGS :{BLACK}AAren ezarpenak STR_AI_DEBUG_SETTINGS_TOOLTIP :{BLACK}IA-ren hautaketak aldatu STR_AI_DEBUG_RELOAD :{BLACK}IA birkargatu STR_AI_DEBUG_RELOAD_TOOLTIP :{BLACK}IA kendu, script-a birkargatu, eta IA berrabiarazi @@ -4373,6 +4375,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Ez da ib STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Aldatu zure NewGRF konfigurazioa STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Ez dago ibilgailu erabilgarririk oraindik + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Ezin da trena seinalea pasatzera behartu, istripu arriskua... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Ezin da trenaren norabidea aldatu... diff --git a/src/lang/belarusian.txt b/src/lang/belarusian.txt index 878cb8d1..f4e1edd7 100644 --- a/src/lang/belarusian.txt +++ b/src/lang/belarusian.txt @@ -3724,9 +3724,9 @@ STR_GENERATION_PROGRESS :{WHITE}{NUM}% STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Стварэньне сусьвету STR_GENERATION_RIVER_GENERATION :{BLACK}Стварэньне рэк -STR_GENERATION_TREE_GENERATION :{BLACK}Высаджваньне лясоў -STR_GENERATION_OBJECT_GENERATION :{BLACK}Ґенэрацыя нерухомасьці STR_GENERATION_CLEARING_TILES :{BLACK}Расстаноўка дэкарацыяў і камянёў +STR_GENERATION_OBJECT_GENERATION :{BLACK}Ґенэрацыя нерухомасьці +STR_GENERATION_TREE_GENERATION :{BLACK}Высаджваньне лясоў STR_GENERATION_SETTINGUP_GAME :{BLACK}Наладка гульні STR_GENERATION_PREPARING_TILELOOP :{BLACK}Падрыхтоўка да запуску... STR_GENERATION_PREPARING_SCRIPT :{BLACK}Выконваецца скрыпт @@ -5635,6 +5635,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Зьмя STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Няма даступных транспартных сродкаў STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Пачніце гульню пасьля {DATE_SHORT} або падключыце NewGRF з транспартам адпаведных часоў. + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Немагчыма іґнараваць сыґнал. Небясьпечна... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Не атрымалася завярнуць цягнік... diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index 2304cc75..dc52189d 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -278,7 +278,7 @@ STR_TOOLTIP_SORT_CRITERIA :{BLACK}Escolher STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Escolher o critério de seleção STR_BUTTON_SORT_BY :{BLACK}Ordenar por STR_BUTTON_CATCHMENT :{BLACK}Cobertura -STR_TOOLTIP_CATCHMENT :{BLACK}Mostrar/Ocultar área de cobertura +STR_TOOLTIP_CATCHMENT :{BLACK}Mostrar área de cobertura STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Fechar janela STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Título da janela - arraste isto para mover a janela @@ -446,7 +446,7 @@ STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Configurações STR_SETTINGS_MENU_AI_SETTINGS :Configurações de IA STR_SETTINGS_MENU_GAMESCRIPT_SETTINGS :Configurações de Script de Jogo STR_SETTINGS_MENU_NEWGRF_SETTINGS :Configurações de NewGRF -STR_SETTINGS_MENU_SANDBOX_OPTIONS :Opções de trapaças +STR_SETTINGS_MENU_SANDBOX_OPTIONS :Opções da sandbox STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Opções de transparência STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Mostrar nomes de localidades STR_SETTINGS_MENU_STATION_NAMES_DISPLAYED :Mostrar nomes de estações @@ -792,7 +792,7 @@ STR_SMALLMAP_LEGENDA_INDUSTRIES :{TINY_FONT}{BLA STR_SMALLMAP_LEGENDA_DESERT :{TINY_FONT}{BLACK}Deserto STR_SMALLMAP_LEGENDA_SNOW :{TINY_FONT}{BLACK}Neve -STR_SMALLMAP_TOOLTIP_TOGGLE_TOWN_NAMES_ON_OFF :{BLACK}Mostrar/Ocultar nomes das localidades no mapa +STR_SMALLMAP_TOOLTIP_TOGGLE_TOWN_NAMES_ON_OFF :{BLACK}Mostrar nomes das localidades no mapa STR_SMALLMAP_CENTER :{BLACK}Centralizar o minimapa na localização atual STR_SMALLMAP_INDUSTRY :{TINY_FONT}{STRING} ({NUM}) STR_SMALLMAP_LINKSTATS :{TINY_FONT}{STRING} @@ -803,7 +803,7 @@ STR_SMALLMAP_ENABLE_ALL :{BLACK}Ativar t STR_SMALLMAP_SHOW_HEIGHT :{BLACK}Mostrar altitudes STR_SMALLMAP_TOOLTIP_DISABLE_ALL_INDUSTRIES :{BLACK}Não mostrar indústrias no mapa STR_SMALLMAP_TOOLTIP_ENABLE_ALL_INDUSTRIES :{BLACK}Mostrar todas as indústrias no mapa -STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Mostrar/Ocultar mapa de altitudes +STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Mostrar mapa de altitudes STR_SMALLMAP_TOOLTIP_DISABLE_ALL_COMPANIES :{BLACK}Mostrar no mapa as propriedades que não pertencem às empresas STR_SMALLMAP_TOOLTIP_ENABLE_ALL_COMPANIES :{BLACK}Mostrar no mapa as propriedades de todas as empresas STR_SMALLMAP_TOOLTIP_DISABLE_ALL_CARGOS :{BLACK}Não mostrar as cargas no mapa @@ -2169,7 +2169,7 @@ STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Falha ao # Video initalization errors STR_VIDEO_DRIVER_ERROR :{WHITE}Erro nas configurações de vídeo... STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION :{WHITE}... nenhuma GPU compatível encontrada. Aceleração por hardware desativada -STR_VIDEO_DRIVER_ERROR_HARDWARE_ACCELERATION_CRASH :{WHITE}... controlador gráfico (GPU) travou o jogo. Aceleração por hardware desativada +STR_VIDEO_DRIVER_ERROR_HARDWARE_ACCELERATION_CRASH :{WHITE}... controlador gráfico travou o jogo. Aceleração por hardware desativada # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2241,7 +2241,7 @@ STR_HELP_WINDOW_BUGTRACKER :{BLACK}Relatar STR_HELP_WINDOW_COMMUNITY :{BLACK}Comunidade # Cheat window -STR_CHEATS :{WHITE}Trapaças +STR_CHEATS :{WHITE}Opções da Sandbox STR_CHEAT_MONEY :{LTBLUE}Aumentar dinheiro em {CURRENCY_LONG} STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Jogando como empresa: {ORANGE}{COMMA} STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Escavadeira mágica (remove indústrias, objetos estáticos): {ORANGE}{STRING} @@ -2322,7 +2322,7 @@ STR_FACE_FACECODE :{BLACK}Número STR_FACE_FACECODE_TOOLTIP :{BLACK}Ver e/ou definir o número de face do presidente da empresa STR_FACE_FACECODE_CAPTION :{WHITE}Ver e/ou definir número de face do presidente STR_FACE_FACECODE_SET :{WHITE}Novo código de número de face foi definido -STR_FACE_FACECODE_ERR :{WHITE}Não foi possível alterar o número de face do presidente - deve ser um número entre 0 e 4,294,967,295! +STR_FACE_FACECODE_ERR :{WHITE}Não foi possível definir o número de face do presidente - deve ser um número entre 0 e 4,294,967,295! STR_FACE_SAVE :{BLACK}Salvar STR_FACE_SAVE_TOOLTIP :{BLACK}Salvar face favorita STR_FACE_SAVE_DONE :{WHITE}Esta face será armazenada como sua favorita no arquivo de configuração do OpenTTD @@ -2372,7 +2372,7 @@ STR_NETWORK_SERVER_LIST_GAME_NAME :{BLACK}Nome STR_NETWORK_SERVER_LIST_GAME_NAME_TOOLTIP :{BLACK}Nome do jogo STR_NETWORK_SERVER_LIST_GENERAL_ONLINE :{BLACK}{COMMA}/{COMMA} - {COMMA}/{COMMA} STR_NETWORK_SERVER_LIST_CLIENTS_CAPTION :{BLACK}Clientes -STR_NETWORK_SERVER_LIST_CLIENTS_CAPTION_TOOLTIP :{BLACK}Clientes conectados / máx. clientes{}Empresas / máx. empresas +STR_NETWORK_SERVER_LIST_CLIENTS_CAPTION_TOOLTIP :{BLACK}Clientes conectados / máx. clientes{}Empresas ativas / máx. empresas STR_NETWORK_SERVER_LIST_MAP_SIZE_SHORT :{BLACK}{COMMA}x{COMMA} STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION :{BLACK}Tamanho do mapa STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION_TOOLTIP :{BLACK}Tamanho do mapa do jogo{}Clique para ordenar por área @@ -2728,15 +2728,15 @@ STR_MISSING_GRAPHICS_ERROR_QUIT :{BLACK}Sair do # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Opções de Transparência -STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Ativar/Desativar transparência para placas. Ctrl+Clique para travar -STR_TRANSPARENT_TREES_TOOLTIP :{BLACK}Ativar/Desativar transparência para árvores. Ctrl+Clique para travar -STR_TRANSPARENT_HOUSES_TOOLTIP :{BLACK}Ativar/Desativar transparência para casas. Ctrl+Clique para travar -STR_TRANSPARENT_INDUSTRIES_TOOLTIP :{BLACK}Ativar/Desativar transparência para indústrias. Ctrl+Clique para travar -STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Ativar/Desativar transparência para construções como estações, depósitos e pontos de controle. Ctrl+Clique para travar -STR_TRANSPARENT_BRIDGES_TOOLTIP :{BLACK}Ativar/Desativar transparência para pontes. Ctrl+Clique para travar -STR_TRANSPARENT_STRUCTURES_TOOLTIP :{BLACK}Ativar/Desativar transparência para estruturas como faróis e antenas. Ctrl+Clique para travar -STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}Ativar/Desativar transparência para catenária. Ctrl+Clique para travar -STR_TRANSPARENT_TEXT_TOOLTIP :{BLACK}Ativar/Desativar transparência para textos de carregamento e custo/receita. Ctrl+Clique para travar +STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Ativar transparência para placas. Ctrl+Clique para travar +STR_TRANSPARENT_TREES_TOOLTIP :{BLACK}Ativar transparência para árvores. Ctrl+Clique para travar +STR_TRANSPARENT_HOUSES_TOOLTIP :{BLACK}Ativar transparência para casas. Ctrl+Clique para travar +STR_TRANSPARENT_INDUSTRIES_TOOLTIP :{BLACK}Ativar transparência para indústrias. Ctrl+Clique para travar +STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Ativar transparência para construções como estações, depósitos e pontos de controle. Ctrl+Clique para travar +STR_TRANSPARENT_BRIDGES_TOOLTIP :{BLACK}Ativar transparência para pontes. Ctrl+Clique para travar +STR_TRANSPARENT_STRUCTURES_TOOLTIP :{BLACK}Ativar transparência para estruturas como faróis e antenas. Ctrl+Clique para travar +STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}Ativar transparência para catenária. Ctrl+Clique para travar +STR_TRANSPARENT_TEXT_TOOLTIP :{BLACK}Ativar transparência para textos de carregamento e custo/receita. Ctrl+Clique para travar STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Definir objetos como invisíveis ao invés de transparentes # Linkgraph legend window @@ -3390,10 +3390,13 @@ STR_GENERATION_ABORT_MESSAGE :{YELLOW}Você q STR_GENERATION_PROGRESS :{WHITE}{NUM}% completo STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Geração de mundo +STR_GENERATION_LANDSCAPE_GENERATION :{BLACK}Geração de paisagem STR_GENERATION_RIVER_GENERATION :{BLACK}Geração de rios -STR_GENERATION_TREE_GENERATION :{BLACK}Geração de árvores -STR_GENERATION_OBJECT_GENERATION :{BLACK}Geração de objetos STR_GENERATION_CLEARING_TILES :{BLACK}Geração de áreas irregulares e rochosas +STR_GENERATION_TOWN_GENERATION :{BLACK}Geração de localidades +STR_GENERATION_INDUSTRY_GENERATION :{BLACK}Geração de indústrias +STR_GENERATION_OBJECT_GENERATION :{BLACK}Geração de objetos +STR_GENERATION_TREE_GENERATION :{BLACK}Geração de árvores STR_GENERATION_SETTINGUP_GAME :{BLACK}Configurando o jogo STR_GENERATION_PREPARING_TILELOOP :{BLACK}Preparando o terreno STR_GENERATION_PREPARING_SCRIPT :{BLACK}Executando o script @@ -3454,7 +3457,7 @@ STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Incompatí # NewGRF save preset window STR_SAVE_PRESET_CAPTION :{WHITE}Salvar predefinição -STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Lista de predefinições disponíveis, selecione uma para copiar o nome e usar na gravação abaixo +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Lista de predefinições disponíveis, selecione uma para usar o nome na gravação abaixo STR_SAVE_PRESET_TITLE :{BLACK}Introduza um nome para a predefinição STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Nome que está selecionado para salvar a predefinição STR_SAVE_PRESET_CANCEL :{BLACK}Cancelar @@ -3654,7 +3657,7 @@ STR_LOCAL_AUTHORITY_ACTION_MEDIUM_ADVERTISING_CAMPAIGN :Campanha public STR_LOCAL_AUTHORITY_ACTION_LARGE_ADVERTISING_CAMPAIGN :Campanha publicitária grande STR_LOCAL_AUTHORITY_ACTION_ROAD_RECONSTRUCTION :Financiar a reconstrução das estradas locais STR_LOCAL_AUTHORITY_ACTION_STATUE_OF_COMPANY :Construir estátua do proprietário da empresa -STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :Financiar novos edifícios +STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :Financiar novas construções STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Comprar direitos exclusivos de transporte STR_LOCAL_AUTHORITY_ACTION_BRIBE :Subornar a autoridade local ###next-name-looks-similar @@ -4006,7 +4009,7 @@ STR_VEHICLE_LIST_SEND_AIRCRAFT_TO_HANGAR :Enviar para um STR_VEHICLE_LIST_MASS_STOP_LIST_TOOLTIP :{BLACK}Clique para parar todos os veículos desta lista STR_VEHICLE_LIST_MASS_START_LIST_TOOLTIP :{BLACK}Clique para iniciar todos os veículos desta lista -STR_VEHICLE_LIST_AVAILABLE_ENGINES_TOOLTIP :{BLACK}Ver a lista de modelos disponíveis para esta classe de veículo +STR_VEHICLE_LIST_AVAILABLE_ENGINES_TOOLTIP :{BLACK}Ver lista de modelos disponíveis para esta classe de veículo STR_VEHICLE_LIST_SHARED_ORDERS_LIST_CAPTION :{WHITE}Ordens compartilhadas de {COMMA} Veículo{P "" s} @@ -4254,11 +4257,11 @@ STR_ENGINE_PREVIEW_CAPTION :{WHITE}Mensagem STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Desenvolvemos um novo modelo de {STRING} - você gostaria de ter um ano de uso exclusivo deste veículo, para que possamos avaliar o desempenho dele antes de ser globalmente disponibilizado? STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :{G=f}locomotiva ferroviária -STR_ENGINE_PREVIEW_ELRAIL_LOCOMOTIVE :{G=f}locomotiva ferroviária elétrica +STR_ENGINE_PREVIEW_ELRAIL_LOCOMOTIVE :{G=f}locomotiva elétrica STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :{G=f}locomotiva monotrilho STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :{G=f}locomotiva maglev -STR_ENGINE_PREVIEW_ROAD_VEHICLE :{G=m}veículo rodoviário +STR_ENGINE_PREVIEW_ROAD_VEHICLE :{G=m}veículo STR_ENGINE_PREVIEW_TRAM_VEHICLE :{G=m}bonde STR_ENGINE_PREVIEW_AIRCRAFT :{G=f}aeronave @@ -4522,7 +4525,7 @@ STR_REFIT_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Adaptar # Order view STR_ORDERS_CAPTION :{WHITE}{VEHICLE} (Ordens) STR_ORDERS_TIMETABLE_VIEW :{BLACK}Horários -STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}Mudar para a visualização de horários +STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}Mudar para visualização de horários STR_ORDERS_LIST_TOOLTIP :{BLACK}Lista de ordens - clique numa ordem para selecioná-la. Ctrl+Clique para mostrar o destino da ordem STR_ORDER_INDEX :{COMMA}:{NBSP} @@ -4694,7 +4697,7 @@ STR_INVALID_ORDER :{RED} (Ordem In # Time table window STR_TIMETABLE_TITLE :{WHITE}{VEHICLE} (Horários) STR_TIMETABLE_ORDER_VIEW :{BLACK}Ordens -STR_TIMETABLE_ORDER_VIEW_TOOLTIP :{BLACK}Mudar para a visualização de ordens +STR_TIMETABLE_ORDER_VIEW_TOOLTIP :{BLACK}Mudar para visualização de ordens STR_TIMETABLE_TOOLTIP :{BLACK}Horários - clique numa ordem para selecioná-la @@ -4739,7 +4742,7 @@ STR_TIMETABLE_CLEAR_SPEED :{BLACK}Remover STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Apagar a velocidade máxima de viagem da ordem selecionada. Ctrl+Clique para apagar a velocidade de todas as ordens STR_TIMETABLE_RESET_LATENESS :{BLACK}Reiniciar Contador de Atrasos -STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Reiniciar o contador de atrasos para o veículo ficar pontual. Ctrl+Clique para reiniciar todo o grupo e, com isso, fazer o veículo mais atrasado ficar no horário e todos os outros ficarem adiantados +STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Reiniciar o contador de atrasos para o veículo ficar pontual. Ctrl+Clique para reiniciar todo o grupo e, com isso, fazer o veículo mais atrasado ficar pontual e todos os outros ficarem adiantados STR_TIMETABLE_AUTOFILL :{BLACK}Preencher automaticamente STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Preencher o horário automaticamente com os valores da próxima viagem. Ctrl+Clique para tentar manter os tempos de espera @@ -4914,8 +4917,8 @@ STR_ERROR_COULD_NOT_CREATE_TOWN :{WHITE}Geraçã STR_ERROR_NO_TOWN_IN_SCENARIO :{WHITE}... não existem localidades neste cenário STR_ERROR_PNGMAP :{WHITE}Não foi possível carregar paisagem de PNG... -STR_ERROR_PNGMAP_FILE_NOT_FOUND :{WHITE}... arquivo não encontrado -STR_ERROR_PNGMAP_IMAGE_TYPE :{WHITE}... não foi possível converter o tipo de imagem. A imagem deve ser PNG de 8 ou 24-bit +STR_ERROR_PNGMAP_FILE_NOT_FOUND :{WHITE}... arquivo não foi encontrado +STR_ERROR_PNGMAP_IMAGE_TYPE :{WHITE}... não foi possível converter o tipo de imagem. A imagem precisa ser PNG de 8 ou 24-bit STR_ERROR_PNGMAP_MISC :{WHITE}... alguma coisa deu errado (provavelmente arquivo corrompido) STR_ERROR_BMPMAP :{WHITE}Não foi possível carregar paisagem de BMP... @@ -4945,10 +4948,10 @@ STR_ERROR_MESSAGE_CAPTION_OTHER_COMPANY :{YELLOW}Mensage STR_ERROR_OFF_EDGE_OF_MAP :{WHITE}Fora do mapa STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Muito perto da borda do mapa STR_ERROR_NOT_ENOUGH_CASH_REQUIRES_CURRENCY :{WHITE}Dinheiro insuficiente - é necessário {CURRENCY_LONG} -STR_ERROR_FLAT_LAND_REQUIRED :{WHITE}O terreno deve ser plano +STR_ERROR_FLAT_LAND_REQUIRED :{WHITE}O terreno precisa ser plano STR_ERROR_LAND_SLOPED_IN_WRONG_DIRECTION :{WHITE}Terreno inclinado na direção errada STR_ERROR_CAN_T_DO_THIS :{WHITE}Não é possível fazer isto... -STR_ERROR_BUILDING_MUST_BE_DEMOLISHED :{WHITE}A construção deve ser demolida primeiro +STR_ERROR_BUILDING_MUST_BE_DEMOLISHED :{WHITE}A construção precisa ser demolida primeiro STR_ERROR_CAN_T_CLEAR_THIS_AREA :{WHITE}Não é possível limpar esta área... STR_ERROR_SITE_UNSUITABLE :{WHITE}... local não adequado STR_ERROR_ALREADY_BUILT :{WHITE}... já construído @@ -5275,11 +5278,16 @@ STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... veí STR_ERROR_CAN_T_CLONE_VEHICLE_LIST :{WHITE}... nem todos os veículos são idênticos -STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Não haverá veículos disponíveis +STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Nenhum veículo estará disponível STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Modifique a sua configuração de NewGRF STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Não existem veículos disponíveis ainda STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Inicie um novo jogo depois de {DATE_SHORT} ou utilize um NewGRF que forneça veículos iniciais +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL :{WHITE}Nenhum tipo de estrada urbana está disponível +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Modifique a sua configuração de NewGRF +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET :{WHITE}Não existem tipos de estrada urbana disponíveis ainda +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET_EXPLANATION :{WHITE}Inicie um novo jogo depois de {DATE_SHORT} ou utilize um NewGRF que forneça estradas urbanas iniciais + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Não é possível fazer o trem passar o sinal em perigo... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Não é possível inverter a direção do trem... diff --git a/src/lang/bulgarian.txt b/src/lang/bulgarian.txt index b03fd337..e8976e6b 100644 --- a/src/lang/bulgarian.txt +++ b/src/lang/bulgarian.txt @@ -2964,9 +2964,9 @@ STR_GENERATION_PROGRESS :{WHITE}{NUM}% STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Генерация на свят STR_GENERATION_RIVER_GENERATION :{BLACK}Създаване на река -STR_GENERATION_TREE_GENERATION :{BLACK}Генерация на дърва -STR_GENERATION_OBJECT_GENERATION :{BLACK}Генерация на статични STR_GENERATION_CLEARING_TILES :{BLACK}Създаване на твърда и скална повърност +STR_GENERATION_OBJECT_GENERATION :{BLACK}Генерация на статични +STR_GENERATION_TREE_GENERATION :{BLACK}Генерация на дърва STR_GENERATION_SETTINGUP_GAME :{BLACK}Настройка на играта STR_GENERATION_PREPARING_TILELOOP :{BLACK}Изпълняване цикъл на плочките STR_GENERATION_PREPARING_SCRIPT :{BLACK}Пускане на програмен език @@ -4658,6 +4658,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Пром STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Няма налични превозни средства все още STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Започни нова игра след {DATE_SHORT} или използвай NewGRF , който показва ранни превозни средства + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Влака не може да пропусне сигнала при опасност... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Не може да обърне посоката на влак... diff --git a/src/lang/catalan.txt b/src/lang/catalan.txt index d884e8d3..a7185a24 100644 --- a/src/lang/catalan.txt +++ b/src/lang/catalan.txt @@ -3390,10 +3390,13 @@ STR_GENERATION_ABORT_MESSAGE :{YELLOW}Realmen STR_GENERATION_PROGRESS :{WHITE}{NUM}{NBSP}% complet STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Generació del món +STR_GENERATION_LANDSCAPE_GENERATION :{BLACK}Generació del terreny STR_GENERATION_RIVER_GENERATION :{BLACK}Generació de rius -STR_GENERATION_TREE_GENERATION :{BLACK}Generació d'arbres -STR_GENERATION_OBJECT_GENERATION :{BLACK}Generació inamovible STR_GENERATION_CLEARING_TILES :{BLACK}Generació d'una àrea escarpada i rocosa +STR_GENERATION_TOWN_GENERATION :{BLACK}Generació de poblacions +STR_GENERATION_INDUSTRY_GENERATION :{BLACK}Generació d'indústries +STR_GENERATION_OBJECT_GENERATION :{BLACK}Generació inamovible +STR_GENERATION_TREE_GENERATION :{BLACK}Generació d'arbres STR_GENERATION_SETTINGUP_GAME :{BLACK}Configurant la partida STR_GENERATION_PREPARING_TILELOOP :{BLACK}Passant el bucle de cel·les STR_GENERATION_PREPARING_SCRIPT :{BLACK}Executant l'script @@ -5280,6 +5283,11 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Canvia l STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Encara no hi ha vehicles disponibles STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Inicieu una partida nova després de {DATE_SHORT} o useu un NewGRF que proporcioni vehicles primerencs. +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL :{WHITE}Les poblacions no disposen de tipus de carretera que puguin construir. +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Canvieu la configuració dels NewGRF +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET :{WHITE}Encara no hi ha tipus de carretera disponibles per a les poblacions. +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET_EXPLANATION :{WHITE}Comenceu una partida nova després del {DATE_SHORT} o feu servir un NewGRF que proporcioni tipus de carretera que puguin construir les poblacions. + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}No pots fer que un tren passi d'una senyal amb perill... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}No es pot invertir la direcció del tren... diff --git a/src/lang/chuvash.txt b/src/lang/chuvash.txt index 112ae79f..9df5c0b9 100644 --- a/src/lang/chuvash.txt +++ b/src/lang/chuvash.txt @@ -1709,6 +1709,7 @@ STR_ERROR_OBJECT_IN_THE_WAY :{WHITE}Ҫул + # Specific vehicle errors diff --git a/src/lang/croatian.txt b/src/lang/croatian.txt index 269aef57..d9dc1fe8 100644 --- a/src/lang/croatian.txt +++ b/src/lang/croatian.txt @@ -3081,9 +3081,9 @@ STR_GENERATION_PROGRESS :{WHITE}{NUM}% g STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Izrada svijeta STR_GENERATION_RIVER_GENERATION :{BLACK}Generiranje rijeka -STR_GENERATION_TREE_GENERATION :{BLACK}Generiranje drveća -STR_GENERATION_OBJECT_GENERATION :{BLACK}Nepomično generiranje STR_GENERATION_CLEARING_TILES :{BLACK}Generiranje grubog i stjenovitog područja +STR_GENERATION_OBJECT_GENERATION :{BLACK}Nepomično generiranje +STR_GENERATION_TREE_GENERATION :{BLACK}Generiranje drveća STR_GENERATION_SETTINGUP_GAME :{BLACK}Pripremam igru STR_GENERATION_PREPARING_TILELOOP :{BLACK}Izvršavam tile-petlju STR_GENERATION_PREPARING_SCRIPT :{BLACK}Izvođenje skripte u tijeku @@ -4816,6 +4816,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Promijen STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Još nema dostupnih vozila STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Pokreni novu igru nakon {DATE_SHORT} ili upotrijebi NewGRF koji daje vrlo rana vozila + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Nije moguće natjerati vlak da ignorira signale dok traje opasnost... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Nije moguće promijeniti smjer vlaka... diff --git a/src/lang/czech.txt b/src/lang/czech.txt index 22db11ad..17a057af 100644 --- a/src/lang/czech.txt +++ b/src/lang/czech.txt @@ -3481,9 +3481,9 @@ STR_GENERATION_PROGRESS :{WHITE}Z{NBSP}{ STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Tvorba krajiny STR_GENERATION_RIVER_GENERATION :{BLACK}Generování řek -STR_GENERATION_TREE_GENERATION :{BLACK}Výsadba stromů -STR_GENERATION_OBJECT_GENERATION :{BLACK}Výstavba nepřesunutelných objektů STR_GENERATION_CLEARING_TILES :{BLACK}Tvorba členitého a kamenitého území +STR_GENERATION_OBJECT_GENERATION :{BLACK}Výstavba nepřesunutelných objektů +STR_GENERATION_TREE_GENERATION :{BLACK}Výsadba stromů STR_GENERATION_SETTINGUP_GAME :{BLACK}Nastavování hry STR_GENERATION_PREPARING_TILELOOP :{BLACK}Spouštění tile-loopu (cyklus na dílcích mapy) STR_GENERATION_PREPARING_SCRIPT :{BLACK}Rozbíhání skriptu @@ -5380,6 +5380,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Zmeň na STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Zatím nejsou dostupná žádná vozidla STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Začít hru po {DATE_SHORT} nebo použít NewGRF, která zajistí dřívější vozidla + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Nelze nechat vlak projet semafory v nebezpečí... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Nelze obrátit vlak... diff --git a/src/lang/danish.txt b/src/lang/danish.txt index bcc8111f..8c84bbc8 100644 --- a/src/lang/danish.txt +++ b/src/lang/danish.txt @@ -3389,10 +3389,13 @@ STR_GENERATION_ABORT_MESSAGE :{YELLOW}Vil du STR_GENERATION_PROGRESS :{WHITE}{NUM}% færdig STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Verdensgenerering +STR_GENERATION_LANDSCAPE_GENERATION :{BLACK}Landskabs generering STR_GENERATION_RIVER_GENERATION :{BLACK}Flod-generering -STR_GENERATION_TREE_GENERATION :{BLACK}Trægenerering -STR_GENERATION_OBJECT_GENERATION :{BLACK}Ikke-flytbar generering STR_GENERATION_CLEARING_TILES :{BLACK}Generer råt og stenet område +STR_GENERATION_TOWN_GENERATION :{BLACK}By generation +STR_GENERATION_INDUSTRY_GENERATION :{BLACK}Industri generation +STR_GENERATION_OBJECT_GENERATION :{BLACK}Ikke-flytbar generering +STR_GENERATION_TREE_GENERATION :{BLACK}Trægenerering STR_GENERATION_SETTINGUP_GAME :{BLACK}Klargør spil STR_GENERATION_PREPARING_TILELOOP :{BLACK}Kører felt-løkken STR_GENERATION_PREPARING_SCRIPT :{BLACK}Kørende script @@ -5279,6 +5282,11 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Skift di STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Ingen køretøjer er tilgængelige endnu STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Start et nyt spil efter {DATE_SHORT} eller brug en NewGRF der giver tidlige køretøjer +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL :{WHITE}Der findes ingen vejtyper, der kan bygges i by +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Skift din NewGRF konfiguration +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET :{WHITE}Der er endnu ingen tilgængelige vejtyper, der kan bygges i byer +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET_EXPLANATION :{WHITE}Start et nyt spil efter{DATE_SHORT} eller brug en NewGRF, der leverer vejtyper, der kan bygges tidligt i byen + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Kan ikke få toget til at passere signalet... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Kan ikke vende retningen af toget... diff --git a/src/lang/dutch.txt b/src/lang/dutch.txt index 4ee6d829..11171a87 100644 --- a/src/lang/dutch.txt +++ b/src/lang/dutch.txt @@ -3389,10 +3389,13 @@ STR_GENERATION_ABORT_MESSAGE :{YELLOW}Weet je STR_GENERATION_PROGRESS :{WHITE}{NUM}% compleet STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Wereldontwikkeling +STR_GENERATION_LANDSCAPE_GENERATION :{BLACK}Landschap genereren STR_GENERATION_RIVER_GENERATION :{BLACK}Rivierplaatsing -STR_GENERATION_TREE_GENERATION :{BLACK}Bosplaatsing -STR_GENERATION_OBJECT_GENERATION :{BLACK}Ontwikkeling van onverplaatsbare objecten STR_GENERATION_CLEARING_TILES :{BLACK}Ontwikkeling van ruig en rotsachtig gebied +STR_GENERATION_TOWN_GENERATION :{BLACK}Steden genereren +STR_GENERATION_INDUSTRY_GENERATION :{BLACK}Industrieën genereren +STR_GENERATION_OBJECT_GENERATION :{BLACK}Ontwikkeling van onverplaatsbare objecten +STR_GENERATION_TREE_GENERATION :{BLACK}Bosplaatsing STR_GENERATION_SETTINGUP_GAME :{BLACK}Spel wordt geconfigureerd STR_GENERATION_PREPARING_TILELOOP :{BLACK}Bezig met tile-loop STR_GENERATION_PREPARING_SCRIPT :{BLACK}Script loopt @@ -5279,6 +5282,11 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Pas je N STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Nog geen voertuigen beschikbaar STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE} Start een nieuw spel na {DATE_SHORT} of gebruik een NewGRF dat in vroege voertuigen voorziet +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL :{WHITE}Geen wegtypen beschikbaar voor in de stad +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Wijzig je NewGRF-configuratie +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET :{WHITE}Er zijn nog geen wegtypen beschikbaar voor steden +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET_EXPLANATION :{WHITE}Start een nieuw spel na {DATE_SHORT} of gebruik een NewGRF met wegtypen die al vroeg in steden gebruikt kunnen worden + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Kan trein niet het sein laten passeren bij gevaar... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Kan de richting van de trein niet omdraaien... diff --git a/src/lang/english.txt b/src/lang/english.txt index e2b59a57..f68bd6ef 100644 --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -3389,10 +3389,13 @@ STR_GENERATION_ABORT_MESSAGE :{YELLOW}Do you STR_GENERATION_PROGRESS :{WHITE}{NUM}% complete STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}World generation +STR_GENERATION_LANDSCAPE_GENERATION :{BLACK}Landscape generation STR_GENERATION_RIVER_GENERATION :{BLACK}River generation -STR_GENERATION_TREE_GENERATION :{BLACK}Tree generation -STR_GENERATION_OBJECT_GENERATION :{BLACK}Object generation STR_GENERATION_CLEARING_TILES :{BLACK}Rough and rocky area generation +STR_GENERATION_TOWN_GENERATION :{BLACK}Town generation +STR_GENERATION_INDUSTRY_GENERATION :{BLACK}Industry generation +STR_GENERATION_OBJECT_GENERATION :{BLACK}Object generation +STR_GENERATION_TREE_GENERATION :{BLACK}Tree generation STR_GENERATION_SETTINGUP_GAME :{BLACK}Setting up game STR_GENERATION_PREPARING_TILELOOP :{BLACK}Running tile-loop STR_GENERATION_PREPARING_SCRIPT :{BLACK}Running script @@ -5279,6 +5282,11 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Change y STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}No vehicles are available yet STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Start a new game after {DATE_SHORT} or use a NewGRF that provides early vehicles +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL :{WHITE}No town-buildable road types are available +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Change your NewGRF configuration +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET :{WHITE}No town-buildable road types are available yet +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET_EXPLANATION :{WHITE}Start a new game after {DATE_SHORT} or use a NewGRF that provides early town-buildable road types + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Can't make train pass signal at danger... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Can't reverse direction of train... diff --git a/src/lang/english_AU.txt b/src/lang/english_AU.txt index a2a39d02..d748ed56 100644 --- a/src/lang/english_AU.txt +++ b/src/lang/english_AU.txt @@ -3389,10 +3389,13 @@ STR_GENERATION_ABORT_MESSAGE :{YELLOW}Do you STR_GENERATION_PROGRESS :{WHITE}{NUM}% complete STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}World generation +STR_GENERATION_LANDSCAPE_GENERATION :{BLACK}Landscape generation STR_GENERATION_RIVER_GENERATION :{BLACK}River generation -STR_GENERATION_TREE_GENERATION :{BLACK}Tree generation -STR_GENERATION_OBJECT_GENERATION :{BLACK}Object generation STR_GENERATION_CLEARING_TILES :{BLACK}Rough and rocky area generation +STR_GENERATION_TOWN_GENERATION :{BLACK}Town generation +STR_GENERATION_INDUSTRY_GENERATION :{BLACK}Industry generation +STR_GENERATION_OBJECT_GENERATION :{BLACK}Object generation +STR_GENERATION_TREE_GENERATION :{BLACK}Tree generation STR_GENERATION_SETTINGUP_GAME :{BLACK}Setting up game STR_GENERATION_PREPARING_TILELOOP :{BLACK}Running tile-loop STR_GENERATION_PREPARING_SCRIPT :{BLACK}Running script @@ -5279,6 +5282,11 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Change y STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}No vehicles are available yet STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Start a new game after {DATE_SHORT} or use a NewGRF which provides early vehicles +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL :{WHITE}No town-buildable road types are available +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Change your NewGRF configuration +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET :{WHITE}No town-buildable road types are available yet +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET_EXPLANATION :{WHITE}Start a new game after {DATE_SHORT} or use a NewGRF that provides early town-buildable road types + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Can't make train pass signal at danger... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Can't reverse direction of train... diff --git a/src/lang/english_US.txt b/src/lang/english_US.txt index c6b593f5..ecb94106 100644 --- a/src/lang/english_US.txt +++ b/src/lang/english_US.txt @@ -3389,10 +3389,13 @@ STR_GENERATION_ABORT_MESSAGE :{YELLOW}Do you STR_GENERATION_PROGRESS :{WHITE}{NUM}% complete STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}World generation +STR_GENERATION_LANDSCAPE_GENERATION :{BLACK}Landscape generation STR_GENERATION_RIVER_GENERATION :{BLACK}River generation -STR_GENERATION_TREE_GENERATION :{BLACK}Tree generation -STR_GENERATION_OBJECT_GENERATION :{BLACK}Object generation STR_GENERATION_CLEARING_TILES :{BLACK}Rough and rocky area generation +STR_GENERATION_TOWN_GENERATION :{BLACK}Town generation +STR_GENERATION_INDUSTRY_GENERATION :{BLACK}Industry generation +STR_GENERATION_OBJECT_GENERATION :{BLACK}Object generation +STR_GENERATION_TREE_GENERATION :{BLACK}Tree generation STR_GENERATION_SETTINGUP_GAME :{BLACK}Setting up game STR_GENERATION_PREPARING_TILELOOP :{BLACK}Running tile-loop STR_GENERATION_PREPARING_SCRIPT :{BLACK}Running script @@ -5279,6 +5282,11 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Change y STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}No vehicles are available yet STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Start a new game after {DATE_SHORT} or use a NewGRF that provides early vehicles +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL :{WHITE}No town-buildable road types are available +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Change your NewGRF configuration +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET :{WHITE}No town-buildable road types are available yet +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET_EXPLANATION :{WHITE}Start a new game after {DATE_SHORT} or use a NewGRF that provides early town-buildable road types + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Can't make train pass signal at danger... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Can't reverse direction of train... diff --git a/src/lang/esperanto.txt b/src/lang/esperanto.txt index d8a4b347..54537d78 100644 --- a/src/lang/esperanto.txt +++ b/src/lang/esperanto.txt @@ -3332,9 +3332,9 @@ STR_GENERATION_PROGRESS :{WHITE}{NUM}% k STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Mondgenerado STR_GENERATION_RIVER_GENERATION :{BLACK}Rivergenerado -STR_GENERATION_TREE_GENERATION :{BLACK}Arba generado -STR_GENERATION_OBJECT_GENERATION :{BLACK}Nemoveblaĵa generado STR_GENERATION_CLEARING_TILES :{BLACK}Generado de malglataj kaj rokaj regionoj +STR_GENERATION_OBJECT_GENERATION :{BLACK}Nemoveblaĵa generado +STR_GENERATION_TREE_GENERATION :{BLACK}Arba generado STR_GENERATION_SETTINGUP_GAME :{BLACK}Agordante ludon STR_GENERATION_PREPARING_TILELOOP :{BLACK}Trakurante kvadratojn STR_GENERATION_PREPARING_SCRIPT :{BLACK}Ruligas la skripton @@ -5145,6 +5145,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Ŝanĝu STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Neniuj veturiloj dume haveblas STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Komencu novan ludon post {DATE_SHORT} aŭ uzu NewGRF-on kiu havebligas frutempajn veturilojn + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Ne povas igi vagonaron transiri signalon je danĝero... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Ne povas inversigi direkton de vagonaro... diff --git a/src/lang/estonian.txt b/src/lang/estonian.txt index 0ade0d1b..fc8b791e 100644 --- a/src/lang/estonian.txt +++ b/src/lang/estonian.txt @@ -3448,9 +3448,9 @@ STR_GENERATION_PROGRESS :{WHITE}{NUM}% v STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Maailma tekitamine STR_GENERATION_RIVER_GENERATION :{BLACK}Jõgede tekitamine -STR_GENERATION_TREE_GENERATION :{BLACK}Puude tekitamine -STR_GENERATION_OBJECT_GENERATION :{BLACK}Objekti tekitamine STR_GENERATION_CLEARING_TILES :{BLACK}Mägise ja kivise maa-ala tekitamine +STR_GENERATION_OBJECT_GENERATION :{BLACK}Objekti tekitamine +STR_GENERATION_TREE_GENERATION :{BLACK}Puude tekitamine STR_GENERATION_SETTINGUP_GAME :{BLACK}Mängu seadistamine STR_GENERATION_PREPARING_TILELOOP :{BLACK}Ruudustiku töötlemine STR_GENERATION_PREPARING_SCRIPT :{BLACK}Täitmisel olev skript @@ -5338,6 +5338,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Muuda Ne STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Sõidukeid ei ole veel saadaval STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Alusta mängu pärast {DATE_SHORT} või kasuta NewGRF-i, milles on varasemaid sõidukeid + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Rongi ei saa ohu korral sundida signaale eirama... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Ei saa rongi ümber pöörata. diff --git a/src/lang/faroese.txt b/src/lang/faroese.txt index a655a316..f6b134f9 100644 --- a/src/lang/faroese.txt +++ b/src/lang/faroese.txt @@ -2584,9 +2584,9 @@ STR_GENERATION_PROGRESS :{WHITE}{NUM}% l STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Heims framleiðsla STR_GENERATION_RIVER_GENERATION :{BLACK}Løks framleiðsla -STR_GENERATION_TREE_GENERATION :{BLACK}Træ framleiðsla -STR_GENERATION_OBJECT_GENERATION :{BLACK}Luta framleiðsla STR_GENERATION_CLEARING_TILES :{BLACK}Framleiðsa av harrendum og grýtutum øki +STR_GENERATION_OBJECT_GENERATION :{BLACK}Luta framleiðsla +STR_GENERATION_TREE_GENERATION :{BLACK}Træ framleiðsla STR_GENERATION_SETTINGUP_GAME :{BLACK}Ger spæli klárt STR_GENERATION_PREPARING_TILELOOP :{BLACK}Koyrir punta sloyfu STR_GENERATION_PREPARING_SCRIPT :{BLACK}Koyrir skript @@ -4028,6 +4028,7 @@ STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... akfa + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Kann ikki fáa tok at fara framvið jarnbreytatekin tá vandi er... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Kann ikki venda toki vi... diff --git a/src/lang/finnish.txt b/src/lang/finnish.txt index d892a1e2..736ebfc5 100644 --- a/src/lang/finnish.txt +++ b/src/lang/finnish.txt @@ -1310,7 +1310,7 @@ STR_CONFIG_SETTING_RECESSIONS :Lamat: {STRING} STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Mikäli käytössä, taloudellinen lama voi ilmaantua ajoittain. Laman aikana kaikki tuotanto on huomattavasti alhaisempaa (palautuu normaalille tasolle laman päätyttyä) STR_CONFIG_SETTING_TRAIN_REVERSING :Estä junien kääntyminen asemilla: {STRING} -STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Mikäli käytössä, junat eivät käänny läpiajettavilla asemilla vaikka kääntymisen jälkeen saatavilla olisi lyhempi reitti +STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Mikäli käytössä, junat eivät käänny läpiajettavilla asemilla vaikka kääntymisen jälkeen tarjolla olisi lyhempi reitti STR_CONFIG_SETTING_DISASTERS :Onnettomuudet: {STRING} STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Ottaa käyttöön onnettomuudet jotka saattavat ajoittain estää tai tuhota liikennettä tai infrastruktuuria @@ -1525,7 +1525,7 @@ STR_CONFIG_SETTING_AUTORENEW_MONEY :Vähimmäisraha STR_CONFIG_SETTING_AUTORENEW_MONEY_HELPTEXT :Vähimmäisrahamäärä, jonka on jäätävä pankkiin kulkuneuvoja automaattisesti uudistettaessa STR_CONFIG_SETTING_ERRMSG_DURATION :Virheilmoitusten näyttöaika: {STRING} -STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Aika virheilmoitusten näyttämiseen punaisessa ikkunassa. Huomaa, että jotkut (kriittiset) virheilmoitukset eivät sulkeudu automaattisesti tämän ajan jälkeen, vaan ne on suljettava käsin +STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Aika virheilmoitusten näyttämiseen punaisessa ikkunassa. Huomaa, että jotkin (kriittiset) virheilmoitukset eivät sulkeudu automaattisesti tämän ajan jälkeen, vaan ne on suljettava käsin STR_CONFIG_SETTING_HOVER_DELAY :Näytä työkaluvihjeet: {STRING} STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Viive ennen työkaluvihjeen näyttämistä, kun hiiren osoitinta pidetään käyttöliittymäelementin päällä. Vaihtoehtoisesti työkaluvihjeen saa myös näkyviin painamalla hiiren oikeaa painiketta, kun arvoksi on määritetty 0 @@ -2365,7 +2365,7 @@ STR_NETWORK_SERVER_VISIBILITY_INVITE_ONLY :Vain kutsutut # Network server list STR_NETWORK_SERVER_LIST_CAPTION :{WHITE}Moninpeli STR_NETWORK_SERVER_LIST_PLAYER_NAME :{BLACK}Pelaajan nimi -STR_NETWORK_SERVER_LIST_ENTER_NAME_TOOLTIP :{BLACK}Pelaajat tunnistetaan ja erotetaan toisistaan nimien avulla +STR_NETWORK_SERVER_LIST_ENTER_NAME_TOOLTIP :{BLACK}Nimi, jolla muut pelaajat tunnistavat sinut STR_NETWORK_SERVER_LIST_GAME_NAME :{BLACK}Nimi STR_NETWORK_SERVER_LIST_GAME_NAME_TOOLTIP :{BLACK}Pelin nimi @@ -2377,9 +2377,9 @@ STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION :{BLACK}Kartan k STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION_TOOLTIP :{BLACK}Kartan koko{}Valitse lajitellaksesi koon mukaan STR_NETWORK_SERVER_LIST_DATE_CAPTION :{BLACK}Päiväys STR_NETWORK_SERVER_LIST_DATE_CAPTION_TOOLTIP :{BLACK}Nykyinen päivämäärä -STR_NETWORK_SERVER_LIST_PLAY_TIME_SHORT :{BLACK}{NUM}h {NUM}min +STR_NETWORK_SERVER_LIST_PLAY_TIME_SHORT :{BLACK}{NUM}{NBSP}h {NUM}{NBSP}min STR_NETWORK_SERVER_LIST_PLAY_TIME_CAPTION :{BLACK}Peliaika -STR_NETWORK_SERVER_LIST_PLAY_TIME_CAPTION_TOOLTIP :{BLACK}Peliaika, kun peli{}ei ollut pysäytettynä +STR_NETWORK_SERVER_LIST_PLAY_TIME_CAPTION_TOOLTIP :{BLACK}Pelaamisaika, kun{}peli ei ole ollut pysäytettynä STR_NETWORK_SERVER_LIST_INFO_ICONS_TOOLTIP :{BLACK}Kieli, palvelimen versio, jne. STR_NETWORK_SERVER_LIST_CLICK_GAME_TO_SELECT :{BLACK}Napsauta peliä luettelossa valitaksesi @@ -2395,7 +2395,7 @@ STR_NETWORK_SERVER_LIST_SERVER_ADDRESS :{SILVER}Palveli STR_NETWORK_SERVER_LIST_INVITE_CODE :{SILVER}Kutsukoodi: {WHITE}{STRING} STR_NETWORK_SERVER_LIST_START_DATE :{SILVER}Aloitusvuosi: {WHITE}{DATE_SHORT} STR_NETWORK_SERVER_LIST_CURRENT_DATE :{SILVER}Päivämäärä: {WHITE}{DATE_SHORT} -STR_NETWORK_SERVER_LIST_PLAY_TIME :{SILVER}Peliaika: {WHITE}{NUM}h {NUM}min +STR_NETWORK_SERVER_LIST_PLAY_TIME :{SILVER}Peliaika: {WHITE}{NUM}{NBSP}h {NUM}{NBSP}min STR_NETWORK_SERVER_LIST_GAMESCRIPT :{SILVER}Peliskripti: {WHITE}{STRING} (v.{NBSP}{NUM}) STR_NETWORK_SERVER_LIST_PASSWORD :{SILVER}Salasanasuojattu! STR_NETWORK_SERVER_LIST_SERVER_OFFLINE :{SILVER}PALVELIN KIINNI @@ -3389,10 +3389,13 @@ STR_GENERATION_ABORT_MESSAGE :{YELLOW}Haluatk STR_GENERATION_PROGRESS :{WHITE}{NUM}{NBSP}% valmiina STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM}/{NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Maailman luominen +STR_GENERATION_LANDSCAPE_GENERATION :{BLACK}Maaston luominen STR_GENERATION_RIVER_GENERATION :{BLACK}Jokien luominen -STR_GENERATION_TREE_GENERATION :{BLACK}Puiden luominen -STR_GENERATION_OBJECT_GENERATION :{BLACK}Siirtämättömän luominen STR_GENERATION_CLEARING_TILES :{BLACK}Karun ja kivisen alueen luominen +STR_GENERATION_TOWN_GENERATION :{BLACK}Kuntien luominen +STR_GENERATION_INDUSTRY_GENERATION :{BLACK}Tuotantolaitosten luominen +STR_GENERATION_OBJECT_GENERATION :{BLACK}Siirtämättömän luominen +STR_GENERATION_TREE_GENERATION :{BLACK}Puiden luominen STR_GENERATION_SETTINGUP_GAME :{BLACK}Valmistellaan peliä STR_GENERATION_PREPARING_TILELOOP :{BLACK}Ajetaan tile-loop STR_GENERATION_PREPARING_SCRIPT :{BLACK}Suoritetaan skriptiä @@ -4458,7 +4461,7 @@ STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Lyhennä STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Muuta huoltovälien tyyppiä STR_VEHICLE_DETAILS_DEFAULT :Oletus -STR_VEHICLE_DETAILS_DAYS :Päiviä +STR_VEHICLE_DETAILS_DAYS :Vuorokausia STR_VEHICLE_DETAILS_MINUTES :Minuutteja STR_VEHICLE_DETAILS_PERCENT :Prosentteja @@ -4909,7 +4912,7 @@ STR_GAME_SAVELOAD_NOT_AVAILABLE : STR_WARNING_LOADGAME_REMOVED_TRAMS :{WHITE}Peli tallennettiin versiossa, joka ei tue raitiovaunuja. Kaikki raitiovaunut on poistettu # Map generation messages -STR_ERROR_COULD_NOT_CREATE_TOWN :{WHITE}Kartan generointi peruutettu...{}... ei kelvollisia kuntien sijainteja +STR_ERROR_COULD_NOT_CREATE_TOWN :{WHITE}Kartan luominen peruutettu…{}… ei kelvollisia kuntien sijainteja STR_ERROR_NO_TOWN_IN_SCENARIO :{WHITE}... tässä skenaariossa ei ole yhtään kuntaa STR_ERROR_PNGMAP :{WHITE}Maastoa ei voida ladata PNG-tiedostosta... @@ -5274,10 +5277,15 @@ STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... kulk STR_ERROR_CAN_T_CLONE_VEHICLE_LIST :{WHITE}… kaikki kulkuneuvot eivät ole identtisiä -STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Yhtään kulkuneuvoa ei ole saatavilla +STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Yhtään kulkuneuvoa ei ole käytettävissä STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Muuta NewGRF-asetuksiasi STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Kulkuneuvoja ei ole vielä saatavilla -STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Aloita peli {DATE_SHORT} jälkeen tai käytä NewGRF:ää joka tarjoaa aikaisempia kulkuneuvoja +STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Aloita uusi peli {DATE_SHORT} jälkeen tai käytä NewGRF:ää, joka tarjoaa varhaisia kulkuneuvoja + +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL :{WHITE}Yhtään kunnan rakennettavissa olevaa tietyyppiä ei ole käytettävissä +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Muuta NewGRF-asetuksia +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET :{WHITE}Kunnan rakennettavissa olevia tietyyppejä ei ole vielä saatavilla +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET_EXPLANATION :{WHITE}Aloita uusi peli {DATE_SHORT} jälkeen tai käytä NewGRF:ää, joka tarjoaa varhaisia kunnan rakennettavissa olevia tietyyppejä # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Junaa ei voi pakottaa jatkamaan punaisen opastimen ohi... diff --git a/src/lang/french.txt b/src/lang/french.txt index 9eac1b4a..eb787d9b 100644 --- a/src/lang/french.txt +++ b/src/lang/french.txt @@ -3390,10 +3390,13 @@ STR_GENERATION_ABORT_MESSAGE :{YELLOW}Voulez- STR_GENERATION_PROGRESS :{WHITE}{NUM}{NBSP}% réalisé{P "" s} STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Création du monde +STR_GENERATION_LANDSCAPE_GENERATION :{BLACK}Génération du terrain STR_GENERATION_RIVER_GENERATION :{BLACK}Création des rivières -STR_GENERATION_TREE_GENERATION :{BLACK}Création des arbres -STR_GENERATION_OBJECT_GENERATION :{BLACK}Création des objets inamovibles STR_GENERATION_CLEARING_TILES :{BLACK}Création des zones rugueuses et rocheuses +STR_GENERATION_TOWN_GENERATION :{BLACK}Génération des villes +STR_GENERATION_INDUSTRY_GENERATION :{BLACK}Génération des industries +STR_GENERATION_OBJECT_GENERATION :{BLACK}Création des objets inamovibles +STR_GENERATION_TREE_GENERATION :{BLACK}Création des arbres STR_GENERATION_SETTINGUP_GAME :{BLACK}Configuration du jeu STR_GENERATION_PREPARING_TILELOOP :{BLACK}Rafraîchissement du terrain STR_GENERATION_PREPARING_SCRIPT :{BLACK}Exécution du script @@ -5280,6 +5283,11 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Modifier STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Il n'y a pas encore de véhicules disponibles STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Commencer un nouvelle partie après {DATE_SHORT} ou utiliser un NewGRF qui propose des véhicules plus tôt +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL :{WHITE}Aucun type de route disponible pour les villes +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Modifiez votre configuration NewGRF +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET :{WHITE}Aucun type de route pour les villes disponible pour le moment +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET_EXPLANATION :{WHITE}Commencez une nouvelle partie après {DATE_SHORT} ou utilisez un NewGRF pourvoyant des routes plus tôt pour les villes. + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Impossible de forcer le train à avancer sous le danger... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Impossible de faire faire demi-tour... diff --git a/src/lang/frisian.txt b/src/lang/frisian.txt index b5f91b8a..e5cb598b 100644 --- a/src/lang/frisian.txt +++ b/src/lang/frisian.txt @@ -2719,9 +2719,9 @@ STR_GENERATION_PROGRESS :{WHITE}{NUM}% k STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Wrâldgeneraasje STR_GENERATION_RIVER_GENERATION :{BLACK}Riviergeneraasje -STR_GENERATION_TREE_GENERATION :{BLACK}Bostgeneraasje -STR_GENERATION_OBJECT_GENERATION :{BLACK}Objekt meitsje STR_GENERATION_CLEARING_TILES :{BLACK}Rûchtes en rotsen generearje +STR_GENERATION_OBJECT_GENERATION :{BLACK}Objekt meitsje +STR_GENERATION_TREE_GENERATION :{BLACK}Bostgeneraasje STR_GENERATION_SETTINGUP_GAME :{BLACK}Set spul klear STR_GENERATION_PREPARING_TILELOOP :{BLACK}Trochrint tegellus STR_GENERATION_PREPARING_SCRIPT :{BLACK}Fiert skript út @@ -4208,6 +4208,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Feroarje STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Der binne noch gjin fiertugen beskikber STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Begjin in nij spul nei {DATE_SHORT} of brûk in NewGRF dy't earder fiertugen beskikber stelt + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Kin trein gjin sein foarby ride litte at dizze gefaar oanjout... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Kin rydrjochting fan de trein net oanpasse diff --git a/src/lang/gaelic.txt b/src/lang/gaelic.txt index 299cc438..97b3492d 100644 --- a/src/lang/gaelic.txt +++ b/src/lang/gaelic.txt @@ -3098,9 +3098,9 @@ STR_GENERATION_PROGRESS :{WHITE}{NUM}% c STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Gin saoghal STR_GENERATION_RIVER_GENERATION :{BLACK}Gin aibhnichean -STR_GENERATION_TREE_GENERATION :{BLACK}Gin craobhan -STR_GENERATION_OBJECT_GENERATION :{BLACK}Gin oibseactan STR_GENERATION_CLEARING_TILES :{BLACK}Gin raon garbh is creagach +STR_GENERATION_OBJECT_GENERATION :{BLACK}Gin oibseactan +STR_GENERATION_TREE_GENERATION :{BLACK}Gin craobhan STR_GENERATION_SETTINGUP_GAME :{BLACK}A' suidheachadh a' gheama STR_GENERATION_PREPARING_TILELOOP :{BLACK}A' ruith lùb-lice STR_GENERATION_PREPARING_SCRIPT :{BLACK}A' ruith sgriobt @@ -4765,6 +4765,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Atharrai STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Chan eil carbad ri fhaighinn fhathast STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Tòisich geama ùr às dèidh {DATE_SHORT} no chleachd NewGRF a bheir carbadan tràtha dhut + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Chan urrainn dhut toirt air trèanaichean dol seachad air comharra fo chunnart... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Chan urrainn dhan trèana tilleadh... diff --git a/src/lang/galician.txt b/src/lang/galician.txt index f6aa34b3..8efda2b8 100644 --- a/src/lang/galician.txt +++ b/src/lang/galician.txt @@ -1054,9 +1054,9 @@ STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Escalar STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Marca esta caixa para escalar os biseles segundo o tamaño da interface STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Usar a fonte tradicional dos sprites -STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Marca esta opción se prefires usar a fonte tradicional de tamaño fixo dos sprites. +STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Marca esta opción se prefires usar a fonte tradicional de tamaño fixo dos sprites STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Suavizar fontes -STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Marca esta opción para suavizar as fontes redimensionables. +STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Marca esta opción para suavizar as fontes redimensionables STR_GAME_OPTIONS_GUI_SCALE_1X :1x STR_GAME_OPTIONS_GUI_SCALE_2X :2x @@ -1275,7 +1275,7 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Cartos infinito STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Permite o gasto ilimitado e desactiva a bancarrota das compañías STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Crédito máximo inicial: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Cantidade máxima de cartos que unha compañía pode pedir (sen ter en conta a inflación). Se se configura "Sen prestamo", non haberá cartos dispoñibles a non ser que os proporcione un script de xogo ou a configuración de "cartos infinitos". +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Cantidade máxima de cartos que unha compañía pode pedir (sen ter en conta a inflación). Se se configura "Sen prestamo", non haberá cartos dispoñibles a non ser que os proporcione un script de xogo ou a configuración de "cartos infinitos" STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Sen empréstitos. @@ -1359,7 +1359,7 @@ STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Inclinación da STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Inclinación dun cadro en pendente para un vehículo de carretera. Valores máis elevados dificultan ascender unha colina STR_CONFIG_SETTING_FORBID_90_DEG :Prohibir xiros de 90° a trens: {STRING} -STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Os xiros de 90 graos ocorren cando unha vía horizontal vai seguida directamente dun tramo vertical no cadro adxancete, facendo que o tren vire 90 graos cando pasa o límite do cadro en vez dos 45 graos habituais noutras combinacións de vías. +STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Os xiros de 90 graos ocorren cando unha vía horizontal vai seguida directamente dun tramo vertical no cadro adxancete, facendo que o tren vire 90 graos cando pasa o límite do cadro en vez dos 45 graos habituais noutras combinacións de vías STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Permitir a unión de estacións non adxacentes {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Permite engadir partes a unha estación sen que estén en contacto directo coas partes existente facendo Ctrl+Clic ao colocar as partes novas @@ -1471,7 +1471,7 @@ STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Cor inicial da STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Escolle a cor inicial da túa compañía STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Cor secundaria inicial da compañía: {STRING} -STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Escoller a cor secundaria de inicio da compañía, se utilizas un NewGRF que o permita. +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Escoller a cor secundaria de inicio da compañía, se utilizas un NewGRF que o permita STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Os aeroportos nunca caducan: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Activar esta opción fai que cada tipo de aeroporto siga estando dispoñíbel para sempre dende a súa aparición @@ -1495,22 +1495,22 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Os vehículos n STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Cando se activa, tódolos modelos de vehículos seguen a estar dispoñíbeis para sempre dende a súa aparición STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Cronometraxe: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Selecciona as unidades de cronometraxe do xogo. Isto non se pode mudar despois.{}{}A experiencia clásica de OpenTTD é basada en calendario, cun ano que consite de 12 meses e cada mes ten 28-31 días.{}{}No tempo baseado no reloxo, a producción de mercadorías e as finanzas baseanse en minutos, sendo o que dura aproximadamente un mes de 30 días no modo de Calendario. Estes agrúpanse en períodos de 12 minutos, equivalente o ano no modo de Calendario.{}{}En ambos modos hai sempre un calendario clásico, que se utiliza para a data de introdución de vehículos, casas e outras infraestruturas. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Selecciona as unidades de cronometraxe do xogo. Isto non se pode mudar despois.{}{}A experiencia clásica de OpenTTD é basada en calendario, cun ano que consite de 12 meses e cada mes ten 28-31 días.{}{}No tempo baseado no reloxo, a producción de mercadorías e as finanzas baseanse en minutos, sendo o que dura aproximadamente un mes de 30 días no modo de Calendario. Estes agrúpanse en períodos de 12 minutos, equivalente o ano no modo de Calendario.{}{}En ambos modos hai sempre un calendario clásico, que se utiliza para a data de introdución de vehículos, casas e outras infraestruturas ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Calendario STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Reloxo STR_CONFIG_SETTING_MINUTES_PER_YEAR :Minutos por ano: {STRING} -STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Selecciona o número de minutos dun ano do calendario. Por defecto son 12 minutos. Fíxao en 0 para para conxelar o calendario. Este axuste non afecta a simulación da economía do xogo, e só está dispoñible cando se usa o modo reloxo de cronometraxe. +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Selecciona o número de minutos dun ano do calendario. Por defecto son 12 minutos. Fíxao en 0 para para conxelar o calendario. Este axuste non afecta a simulación da economía do xogo, e só está dispoñible cando se usa o modo reloxo de cronometraxe STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (calendario conxelado) STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Escala da produción de mercadorías das vilas: {STRING} -STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Escala a produción de mercadorías das vilas nesta porcentaxe. +STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Escala a produción de mercadorías das vilas nesta porcentaxe STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Escala da produción industrial de mercadorías: {STRING} -STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Escala a produción de mercadorías das industrias nesta porcentaxe. +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Escala a produción de mercadorías das industrias nesta porcentaxe STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Autorenova-los vehículos cando vaian vellos: {STRING} @@ -1541,8 +1541,8 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Grosor das liñ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Ancho de liña nos gráficos. Unha liña fina lese con máis precisión, unha liña grosa é máis doada de ver e as cores son máis fáciles de distinguir STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Amosar o nome do NewGRF na fiestra de comprar vehículos: {STRING} -STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Engade unha liña a fiestra de compra de vehículos, amosando de que NewGRF ven o vehículo. -STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Amosa as cargas que os vehículos poden levar nas fiestras de listas {STRING} +STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Engade unha liña a fiestra de compra de vehículos, amosando de que NewGRF ven o vehículo +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Amosa as cargas que os vehículos poden levar nas fiestras de listas: {STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Cando se activa, a carga transportable polo vehículo aparece enriba súa na lista de vehículos STR_CONFIG_SETTING_LANDSCAPE :Paisaxe: {STRING} @@ -1561,13 +1561,13 @@ STR_CONFIG_SETTING_INDUSTRY_DENSITY :Densidade indus STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Establece cantas industrias deben xerarse e que nivel se debe manter durante o xogo STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Distancia máxima das refinarías ao borde do mundo: {STRING} -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Limita a qué distancia dos bordes do mundo as refinerías e pozos petrolíferos poden construirse. En mapas con illas asegura que estean situadas preto da costa. En mapas maiores de 256 unidades, o valor escálase acorde ao tamaño do mapa. +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Limita a qué distancia dos bordes do mundo as refinerías e pozos petrolíferos poden construirse. En mapas con illas asegura que estean situadas preto da costa. En mapas maiores de 256 unidades, o valor escálase acorde ao tamaño do mapa STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Cota de neve: {STRING} STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Escolle a que altitude comeza a nevar en paisaxes subárticas. A neve afecta tamén á xeración industrial e aos requirimentos de crecemento dos pobos. Só se pode modificar no Editor de Escenarios ou se non calcúlase a través da "cobertura de neve". STR_CONFIG_SETTING_SNOW_COVERAGE :Cobertura de neve: {STRING} -STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Escolle a cantidade aproximada de neve nas paisaxes subárticas. A neve afecta tamén á xeración industrial e aos requirimentos de crecemento dos pobos. Só se usa durante a xeración do mapa. O terreo costeiro e o nivel do mar nunca ten neve. +STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Escolle a cantidade aproximada de neve nas paisaxes subárticas. A neve afecta tamén á xeración industrial e aos requirimentos de crecemento dos pobos. Só se usa durante a xeración do mapa. O terreo costeiro e o nivel do mar nunca ten neve STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_DESERT_COVERAGE :Cobertura do deserto: {STRING} @@ -1575,7 +1575,7 @@ STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Controla a cant STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Desigualdade do terreo (só TerraGenesis) : {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Escolle a forma e frequencia de montes: As paixases suaves teñen menos montes e máis españñados, mentres que as escarpadas teñen máis e pequenos outeiros. +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Escolle a forma e frequencia de montes: As paixases suaves teñen menos montes e máis españñados, mentres que as escarpadas teñen máis e pequenos outeiros ###length 4 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Moi suave STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Suave @@ -1583,7 +1583,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Escabroso STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Moi escabroso STR_CONFIG_SETTING_VARIETY :Distribución da variedade: {STRING} -STR_CONFIG_SETTING_VARIETY_HELPTEXT :Escolle se o mapa contén áreas montañosas ou chás. Canta máis variedade, maiores diferencias en elevación entre as zonas montañosas e chás. +STR_CONFIG_SETTING_VARIETY_HELPTEXT :Escolle se o mapa contén áreas montañosas ou chás. Canta máis variedade, maiores diferencias en elevación entre as zonas montañosas e chás STR_CONFIG_SETTING_RIVER_AMOUNT :Cantidade de ríos: {STRING} STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Escolle cantos ríos xerar @@ -1630,7 +1630,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Verde escuro STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Violeta STR_CONFIG_SETTING_LINKGRAPH_COLOURS :Cores superpostas do fluxo de carga: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Fixa o esquema de cor utilizado para a superposición do fluxo de carga. +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Fixa o esquema de cor utilizado para a superposición do fluxo de carga ###length 4 STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_RED :Verde a vermello(orixinal) STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_BLUE :Verde a azul @@ -1751,10 +1751,10 @@ STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Mante-las ferra STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Mante-las ferramentas de construción abertas para pontes, túneis, etc. tralo uso STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :orrar automáticamente as sinais durante a construción de ferrocarrís: {STRING} -STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Borrar automáticamente as sinais durante a construción de ferrocarrís se as sinais están no medio. Teña en conta que isto pode levar a accidentes de tren. +STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Borrar automáticamente as sinais durante a construción de ferrocarrís se as sinais están no medio. Teña en conta que isto pode levar a accidentes de tren STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Límite de velocidade do avance rápido: {STRING} -STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Limite o rápido que vai o xogo cando se activa o avance rápido. 0 = sen límite (tanto como permita o teu equipo). Os valores por debaixo do 100% ralentizan o xogo. O límite superior depende das especificacións do teu ordenador e pode variar dependendo do xogo. +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Limite o rápido que vai o xogo cando se activa o avance rápido. 0 = sen límite (tanto como permita o teu equipo). Os valores por debaixo do 100% ralentizan o xogo. O límite superior depende das especificacións do teu ordenador e pode variar dependendo do xogo STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% velocidade normal de xogo ###setting-zero-is-special STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :Sen límite (tan rápido como permita o teu equipo) @@ -1840,7 +1840,7 @@ STR_CONFIG_SETTING_NOSERVICE :Deshabilita-lo STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Cando estea activado, os vehículos non teñen mantemento no caso de que non poidan ter avarías STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Penalización na velocidade de carga dos trens máis longos que a estación: {STRING} -STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Cando se habilita, os trens que son demasiados longos para a estación cargaranse máis lentamente que un tren que entra na estación. Este axuste non afecta a búsqueda de rutas. +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Cando se habilita, os trens que son demasiados longos para a estación cargaranse máis lentamente que un tren que entra na estación. Este axuste non afecta a búsqueda de rutas STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Activa-los límites de velocidade dos vagóns: {STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Cando estea activado, usar tamén os límites de velocidade dos vagóns para decidir a máxima velocidade do tren @@ -1905,13 +1905,13 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Ano no que os a STR_CONFIG_SETTING_STARTING_YEAR :Data de comezo: {STRING} STR_CONFIG_SETTING_ENDING_YEAR :Ano da puntuación final: {STRING} -STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :O ano no que remate o xogo a efectos de puntiacións. Ao final deste ano, gárdase cal é a compañía con máis puntuación e amosase a pantalla de puntuacións, pero os xogadores poden seguir xogando despois disto.{}Se é anterior a data de inicio, a pantalla de puntuacións nunca se amosa. +STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :O ano no que remate o xogo a efectos de puntiacións. Ao final deste ano, gárdase cal é a compañía con máis puntuación e amosase a pantalla de puntuacións, pero os xogadores poden seguir xogando despois disto.{}Se é anterior a data de inicio, a pantalla de puntuacións nunca se amosa STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Nunca STR_CONFIG_SETTING_ECONOMY_TYPE :Tipo de economía: {STRING} -STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :A economía suave fai cambios de produción máis a miúdo, e en pequenos pasos. As economías conxeladas paran os cambios de produción e as industrias pechan. Esta configuración non ten efecto se non se provén industrias por un NewGRF. +STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :A economía suave fai cambios de produción máis a miúdo, e en pequenos pasos. As economías conxeladas paran os cambios de produción e as industrias pechan. Esta configuración non ten efecto se non se provén industrias por un NewGRF ###length 3 STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :Orixinal STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Suave @@ -1966,7 +1966,7 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Permitido STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Permitido, patrón de estradas personalizado STR_CONFIG_SETTING_TOWN_CARGOGENMODE :Xeración de mercadorías da vila: {STRING} -STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Cantidade de mercadorías producidas nas casas da vila, segundo a poboación total da mesma.{}Crecemento cadrático: Unha vila o dobre de grande produce catro veces máis pasaxeiros.{}Linear growth: Unha vila o dobre de grande produce dúas veces máis pasaxeiros. +STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Cantidade de mercadorías producidas nas casas da vila, segundo a poboación total da mesma.{}Crecemento cadrático: Unha vila o dobre de grande produce catro veces máis pasaxeiros.{}Linear growth: Unha vila o dobre de grande produce dúas veces máis pasaxeiros ###length 2 STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :Cadrático (orixinal) STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Lineal @@ -2007,7 +2007,7 @@ STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :4x STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :8x STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :Resolución máis alta a usar nos sprites: {STRING} -STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Limite a resolución máxima a usar nos sprites. Limitar a resolución dos sprites impide que se usen os gráficos de alta resolución incluso cando están dispoñibles. Isto axuda o xogo a manter unha apariencia unificada cando se usan distintos arquivos GRF con e sen gráficos de alta resolución. +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Limite a resolución máxima a usar nos sprites. Limitar a resolución dos sprites impide que se usen os gráficos de alta resolución incluso cando están dispoñibles. Isto axuda o xogo a manter unha apariencia unificada cando se usan distintos arquivos GRF con e sen gráficos de alta resolución ###length 3 STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x @@ -2031,33 +2031,33 @@ STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Multiplicador i STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Relación entre o tamaño medio das cidades e o dos pobos ao inicio da partida STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Actualizar o grafo de distribución cada {STRING} -STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Tempo entre recálculos sucesivos do grafo de ligazóns. Cada recálculo calcula os plans para un compoñente do grafo. Iso significa que un valor X para esta configuración non significa que o grafo completo sexa actualizado cada X segundos. Só algúns compoñentes o serán. Canto máis curto sexa o tempo establecido, máis tempo de CPU será necesario para calculalo. Canto máis longo sexa o tempo establecido, máis tempo levará ata que a distribución de carga comece a percorrer novas rutas. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Tempo entre recálculos sucesivos do grafo de ligazóns. Cada recálculo calcula os plans para un compoñente do grafo. Iso significa que un valor X para esta configuración non significa que o grafo completo sexa actualizado cada X segundos. Só algúns compoñentes o serán. Canto máis curto sexa o tempo establecido, máis tempo de CPU será necesario para calculalo. Canto máis longo sexa o tempo establecido, máis tempo levará ata que a distribución de carga comece a percorrer novas rutas STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Toma {STRING} para o recálculo do gráfico de distribución. -STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tempo necesario para cada recalculación dun compoñente do grafo de ligazóns. Cando se inicia unha recalculación, abrese un fío que se pode executar durante este número de segundos. Canto máis curto o establezas, máis probable é que o fío non remate cando se supón que debe facelo. Entón, o xogo detense ata que o fío remata («lag»). Canto máis longo o estabelezas, máis tempo levará actualizar a distribución cando cambien as rutas. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tempo necesario para cada recalculación dun compoñente do grafo de ligazóns. Cando se inicia unha recalculación, abrese un fío que se pode executar durante este número de segundos. Canto máis curto o establezas, máis probable é que o fío non remate cando se supón que debe facelo. Entón, o xogo detense ata que o fío remata («lag»). Canto máis longo o estabelezas, máis tempo levará actualizar a distribución cando cambien as rutas STR_CONFIG_SETTING_DISTRIBUTION_PAX :Modo de distribución para pasaxeiros: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Simétrico" significa que máis ou menos o mesmo número de pasaxeiros irán dende a estación A cada a estación B e tamén da B cara a A. "Asimétrico" significa que calquera número de pasaxeiros pode ir en calquera dirección. "manual" significa que non haberá distribución automática para os pasaxeiros. +STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Simétrico" significa que máis ou menos o mesmo número de pasaxeiros irán dende a estación A cada a estación B e tamén da B cara a A. "Asimétrico" significa que calquera número de pasaxeiros pode ir en calquera dirección. "manual" significa que non haberá distribución automática para os pasaxeiros STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Modo de distribución para correo: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Simétrico" significa que máis ou menos a mesma cantidade de correo vai ser enviada da estación A cara a estación B como da estación B cara a A. "Asimétrico" signigica que calquera cantidade de correo pode ser enviado en calquera dirección. "Manual" significa que non hai distribución automática para o correo. +STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Simétrico" significa que máis ou menos a mesma cantidade de correo vai ser enviada da estación A cara a estación B como da estación B cara a A. "Asimétrico" signigica que calquera cantidade de correo pode ser enviado en calquera dirección. "Manual" significa que non hai distribución automática para o correo STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Modo de disitribución para o tipo de mercadoría BLINDADO: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :A clase de mercadoría BLINDADA contén obxectos de valor nos clima morno, diamantes no subtropical ou ouro no clima subártico. Os NewGRFs poden cambiar isto. "Simétrico" significa que máis ou menos a mesma cantidade de esta mercadoría será enviadas dende a estación A cara a estación B así como da estación B para a A. "Asimétrico" significa que calquera cantidade de esta mercadoría pode ser enviada en calquera dirección. "manual" significa que non haberá distribución automática para esta mercadoría. Recoméndase elixir asimétrico ou manual cando se xoguen mapas subárticos ou subtropicais, xa que os bancos só reciben carga nestos climas. Para os climas mornos podes escoller simétrico xa que os bancos enviarán carga de volta o banco orixinal. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :A clase de mercadoría BLINDADA contén obxectos de valor nos clima morno, diamantes no subtropical ou ouro no clima subártico. Os NewGRFs poden cambiar isto. "Simétrico" significa que máis ou menos a mesma cantidade de esta mercadoría será enviadas dende a estación A cara a estación B así como da estación B para a A. "Asimétrico" significa que calquera cantidade de esta mercadoría pode ser enviada en calquera dirección. "manual" significa que non haberá distribución automática para esta mercadoría. Recoméndase elixir asimétrico ou manual cando se xoguen mapas subárticos ou subtropicais, xa que os bancos só reciben carga nestos climas. Para os climas mornos podes escoller simétrico xa que os bancos enviarán carga de volta o banco orixinal STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Xeito de distribución para outros tipos de mercadoría: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Asimétrico" significa que calquera cantidade de mercadorías pode ser enviada en calquera dirección. "Manual" significa que non haberá distribución automática para estas mercadorías. +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Asimétrico" significa que calquera cantidade de mercadorías pode ser enviada en calquera dirección. "Manual" significa que non haberá distribución automática para estas mercadorías ###length 3 STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manual STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asimétrica STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :simétrica STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Precisión da distribución: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Canto máis alto sexa o valor, máis tempo de CPU levará o cálculo de distribución. Se leva demasiado tempo podes experimentar retraso. Se sen embargo o fixas nun valor baixo, a distribución será imprecisa, e pode que a carga non sexa enviada aos destinos que ti queres. +STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Canto máis alto sexa o valor, máis tempo de CPU levará o cálculo de distribución. Se leva demasiado tempo podes experimentar retraso. Se sen embargo o fixas nun valor baixo, a distribución será imprecisa, e pode que a carga non sexa enviada aos destinos que ti queres STR_CONFIG_SETTING_DEMAND_DISTANCE :Efecto da distancia na demanda: {STRING} -STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Se o fixas nunha cantidade maior que 0, a distancia entre a estación de orixe A dalgunha carga e o posíbel destino B influirá na cantidade de carga enviada de A a B. Canto máis lonxe estea B de A, menos carga será enviada. Canto máis alto sexa o valor, menos carga será enviada a estacións lonxanas e máis a estacións cercanas. +STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Se o fixas nunha cantidade maior que 0, a distancia entre a estación de orixe A dalgunha carga e o posíbel destino B influirá na cantidade de carga enviada de A a B. Canto máis lonxe estea B de A, menos carga será enviada. Canto máis alto sexa o valor, menos carga será enviada a estacións lonxanas e máis a estacións cercanas STR_CONFIG_SETTING_DEMAND_SIZE :Cantidade de carga a retornar en modo simétrico: {STRING} -STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Fixar esta opción a menos do 100% fai que a distribución simétrica se comporte máis coma a asimétrica. Enviarase menos cantidade de carga de volta á forza se unha certa cantidade se envía a unha estación. Se o fixas no 0% a distribución simétrica compórtase coma a asimétrica. +STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Fixar esta opción a menos do 100% fai que a distribución simétrica se comporte máis coma a asimétrica. Enviarase menos cantidade de carga de volta á forza se unha certa cantidade se envía a unha estación. Se o fixas no 0% a distribución simétrica compórtase coma a asimétrica STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Saturación de rutas curtas antes de empregar rutas con capacidade: {STRING} -STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Frecuentemente hai múltiples rutas posíbeis entre dúas estacións dadas. En primero lugar intentarase satura-la ruta máis curta, para posteriormente satura-la segunda máis curta e así sucesivamente. A saturación está determinada por unha estimación de capacidade e uso planificado. Unha vez saturadas tódalas rutas, se aínda queda demanda, sobrecargaranse as rutas comezando por aquelas de maior capacidade. A maior parte das veces, o algoritmo non estimará a capacidade con precisión. Esta opción permite especificar ata que porcentaxe de saturación pode ter unha ruta curta na primeira volta do algoritmo antes de escolle-la seguinte máis curta. Fíxao en menos do 100% para evitar estacións sobrecargadas no caso de que se sobreestime a capacidade. +STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Frecuentemente hai múltiples rutas posíbeis entre dúas estacións dadas. En primero lugar intentarase satura-la ruta máis curta, para posteriormente satura-la segunda máis curta e así sucesivamente. A saturación está determinada por unha estimación de capacidade e uso planificado. Unha vez saturadas tódalas rutas, se aínda queda demanda, sobrecargaranse as rutas comezando por aquelas de maior capacidade. A maior parte das veces, o algoritmo non estimará a capacidade con precisión. Esta opción permite especificar ata que porcentaxe de saturación pode ter unha ruta curta na primeira volta do algoritmo antes de escolle-la seguinte máis curta. Fíxao en menos do 100% para evitar estacións sobrecargadas no caso de que se sobreestime a capacidade STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Unidades de velocidade (terra): {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Unidade de velocidade (náutica): {STRING} @@ -2979,11 +2979,11 @@ STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Colocar STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Árbores aleatorias STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Plantar árbores aleatoriamente sobre a paisaxe STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Normal -STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Planta árbores individuais arrastrando sobre a paisaxe. +STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Planta árbores individuais arrastrando sobre a paisaxe STR_TREES_MODE_FOREST_SM_BUTTON :{BLACK}Arboreda -STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Planta pequenos bosques arrastrando sobre a paisaxe. +STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Planta pequenos bosques arrastrando sobre a paisaxe STR_TREES_MODE_FOREST_LG_BUTTON :{BLACK}Bosque -STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Plantar bosques arrastrando sobre a paisaxe. +STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Plantar bosques arrastrando sobre a paisaxe # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Xeración de terreo @@ -3197,11 +3197,11 @@ STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD STR_FRAMERATE_CAPTION :{WHITE}Imaxes por segundo STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x) STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Velocidade de simulación: {STRING} -STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Número de ticks do xogo simulados por segundo. +STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Número de ticks do xogo simulados por segundo STR_FRAMERATE_RATE_BLITTER :{BLACK}Imaxes por segundo: {STRING} -STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Número de frames renderizados por segundo. +STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Número de frames renderizados por segundo STR_FRAMERATE_SPEED_FACTOR :{BLACK}Factor de velocidade do xogo actual: {DECIMAL}x -STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Como de rápido está a correr o xogo, comparado coa velocidade esperada a unha velocidade de simulación normal. +STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Como de rápido está a correr o xogo, comparado coa velocidade esperada a unha velocidade de simulación normal STR_FRAMERATE_CURRENT :{WHITE}Actual STR_FRAMERATE_AVERAGE :{WHITE}Media STR_FRAMERATE_MEMORYUSE :{WHITE}Memoria @@ -3390,10 +3390,13 @@ STR_GENERATION_ABORT_MESSAGE :{YELLOW}Estás STR_GENERATION_PROGRESS :{WHITE}{NUM}% completado STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Xeración do mundo +STR_GENERATION_LANDSCAPE_GENERATION :{BLACK}Xeración da paisaxe STR_GENERATION_RIVER_GENERATION :{BLACK}Xeración de ríos -STR_GENERATION_TREE_GENERATION :{BLACK}Xeración de árbores -STR_GENERATION_OBJECT_GENERATION :{BLACK}Xeración de obxectos STR_GENERATION_CLEARING_TILES :{BLACK}Xeración de áreas rochosas e escarpadas +STR_GENERATION_TOWN_GENERATION :{BLACK}Xeración de vilas +STR_GENERATION_INDUSTRY_GENERATION :{BLACK}Xeración da industria +STR_GENERATION_OBJECT_GENERATION :{BLACK}Xeración de obxectos +STR_GENERATION_TREE_GENERATION :{BLACK}Xeración de árbores STR_GENERATION_SETTINGUP_GAME :{BLACK}Configurando partida STR_GENERATION_PREPARING_TILELOOP :{BLACK}Executando bucle de cadros STR_GENERATION_PREPARING_SCRIPT :{BLACK}Executando script @@ -3730,7 +3733,7 @@ STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Historia STR_STORY_BOOK_SPECTATOR :Álbum global STR_STORY_BOOK_TITLE :{YELLOW}{STRING} STR_STORY_BOOK_GENERIC_PAGE_ITEM :Páxina {NUM} -STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Vai a unha páxina específica seleccionandoa nesta lista despregable. +STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Vai a unha páxina específica seleccionandoa nesta lista despregable STR_STORY_BOOK_PREV_PAGE :{BLACK}Anterior STR_STORY_BOOK_PREV_PAGE_TOOLTIP :{BLACK}Ir á páxina anterior STR_STORY_BOOK_NEXT_PAGE :{BLACK}Seguinte @@ -4030,7 +4033,7 @@ STR_GROUP_CREATE_TOOLTIP :{BLACK}Pincha p STR_GROUP_DELETE_TOOLTIP :{BLACK}Borrar o grupo seleccionado STR_GROUP_RENAME_TOOLTIP :{BLACK}Renomear o grupo seleccionado STR_GROUP_LIVERY_TOOLTIP :{BLACK}Mudar o deseño do grupo seleccionado -STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Pincha para protexer a este grupo da autosubstitución global. Ctrl+Click para protexer tamén os subgrupos. +STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Pincha para protexer a este grupo da autosubstitución global. Ctrl+Click para protexer tamén os subgrupos STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Borrar Grupo STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Seguro que queres borrar este grupo e calquera descendente? @@ -4446,10 +4449,10 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Capacida STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Créditos de transferencia: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Intervalo de servizo: {LTBLUE}{COMMA}{NBSP}días{BLACK} {STRING} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Intervalo de servizo: {LTBLUE}{COMMA}{NBSP}minutos{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Intervalo de servizo: {LTBLUE}{COMMA}{NBSP}minuto{P "" s}{BLACK} {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Intervalo de servizo: {LTBLUE}{COMMA}%{BLACK} {STRING} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Último servizo: {LTBLUE}{DATE_LONG} -STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Último servizo: {LTBLUE}fai {NUM} minutos +STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Último servizo: {LTBLUE}Fai {NUM} minuto{P "" s} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Incrementar o intervalo de servizo en 10 días. Ctrl+Click para incrementar o intervalo de servizo en 5 días. STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Incrementar o intervalo de servizo en 5 minutos. Ctrl+Click para incrementar o intervalo de servizo en 1 minuto STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Incrementar o intervalo de servizo nun 10%. Ctrl+Click para incrementar o intervalo de servizo en 5%. @@ -4992,7 +4995,7 @@ STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Non se p STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Non se pode construí-la sede # Town related errors -STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Non se poden construír cidades +STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Non se poden construír cidades... STR_ERROR_CAN_T_RENAME_TOWN :{WHITE}Non se pode renomear a cidade... STR_ERROR_CAN_T_FOUND_TOWN_HERE :{WHITE}Non se pode construír a cidade aquí... STR_ERROR_CAN_T_EXPAND_TOWN :{WHITE}Non se pode expandi-la vila @@ -5280,6 +5283,11 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Cambia a STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Aínda non hai vehículos dispoñíbeis STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Comezar unha partida nova a partires de {DATE_SHORT} ou empregar un NewGRF que proporcione vehículos antigos +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL :{WHITE}Non hai estradas dispoñibles que as vilas podan construír +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Cambia a túa configuración NewGRF +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET :{WHITE}Aínda non hai estradas dispoñibles que as vilas podan construír +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET_EXPLANATION :{WHITE}Comeza unha nova partida despois do {DATE_SHORT} ou utiliza NewGRF que engadan tipos de estradas que as vilan podan construír antes + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Non se pode facer que o tren rebase un sinal en perigo... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}No se pode cambia-lo sentido do tren... diff --git a/src/lang/german.txt b/src/lang/german.txt index 2e36fe34..0102e91e 100644 --- a/src/lang/german.txt +++ b/src/lang/german.txt @@ -3390,10 +3390,13 @@ STR_GENERATION_ABORT_MESSAGE :{YELLOW}Soll di STR_GENERATION_PROGRESS :{WHITE}{NUM}% abgeschlossen STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Spielfeld wird erzeugt +STR_GENERATION_LANDSCAPE_GENERATION :{BLACK}Landschaftserzeugung STR_GENERATION_RIVER_GENERATION :{BLACK}Flussgenerierung -STR_GENERATION_TREE_GENERATION :{BLACK}Bäume werden erzeugt -STR_GENERATION_OBJECT_GENERATION :{BLACK}Unbewegliche Objekte werden erzeugt STR_GENERATION_CLEARING_TILES :{BLACK}Raue, felsige Landschaft wird erzeugt +STR_GENERATION_TOWN_GENERATION :{BLACK}Stadterzeugung +STR_GENERATION_INDUSTRY_GENERATION :{BLACK}Industrieerzeugung +STR_GENERATION_OBJECT_GENERATION :{BLACK}Unbewegliche Objekte werden erzeugt +STR_GENERATION_TREE_GENERATION :{BLACK}Bäume werden erzeugt STR_GENERATION_SETTINGUP_GAME :{BLACK}Spiel wird vorbereitet STR_GENERATION_PREPARING_TILELOOP :{BLACK}Spielfeld wird belebt STR_GENERATION_PREPARING_SCRIPT :{BLACK}Führe Skript aus @@ -5280,6 +5283,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Bitte di STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Noch keine Fahrzeuge verfügbar STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Ein neues Spiel nach {DATE_SHORT} beginnen oder ein NewGRF-Fahrzeugset mit früher verfügbaren Fahrzeugen verwenden + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Der Zug kann das Signal nicht gefahrlos passieren ... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Die Zugbewegung kann nicht umgekehrt werden ... diff --git a/src/lang/greek.txt b/src/lang/greek.txt index ec83ae7e..4ab107d8 100644 --- a/src/lang/greek.txt +++ b/src/lang/greek.txt @@ -44,7 +44,7 @@ STR_CARGO_PLURAL_WOOD :{G=f}Ξυλεί STR_CARGO_PLURAL_WOOD.geniki :Ξυλείας STR_CARGO_PLURAL_IRON_ORE :{G=n}Σιδηρομεταλλεύματα STR_CARGO_PLURAL_IRON_ORE.geniki :Σιδηρομεταλλευμάτων -STR_CARGO_PLURAL_STEEL :{G=m}Χάλυβες +STR_CARGO_PLURAL_STEEL :{G=m}Χάλυβα STR_CARGO_PLURAL_STEEL.geniki :Χάλυβα STR_CARGO_PLURAL_VALUABLES :{G=n}Πολύτιμα είδη STR_CARGO_PLURAL_VALUABLES.geniki :Πολύτιμων ειδών @@ -65,7 +65,7 @@ STR_CARGO_PLURAL_GOLD.geniki :Χρυσού STR_CARGO_PLURAL_WATER :{G=n}Νερά STR_CARGO_PLURAL_WATER.geniki :Νερών STR_CARGO_PLURAL_WHEAT :Σιτάρια -STR_CARGO_PLURAL_WHEAT.geniki :Σιταριών +STR_CARGO_PLURAL_WHEAT.geniki :Σιτάρι STR_CARGO_PLURAL_RUBBER :{G=n}Λάστιχα STR_CARGO_PLURAL_RUBBER.geniki :Λάστιχων STR_CARGO_PLURAL_SUGAR :{G=f}Ζάχαρη @@ -228,7 +228,7 @@ STR_BAGS :{COMMA}{NBSP}σ STR_TONS :{COMMA}{NBSP}τόνο{P ς οι} STR_LITERS :{COMMA}{NBSP}λίτρ{P ο α} STR_ITEMS :{COMMA}{NBSP}αντικείμεν{P ο α} -STR_CRATES :{COMMA}{NBSP}κουτ{P ί ιά} +STR_CRATES :{COMMA}{NBSP}κιβώτι{P ο α} STR_COLOUR_DEFAULT :Προεπιλογή ###length 17 @@ -267,7 +267,7 @@ STR_COLOUR_SECONDARY_ORANGE :Πορτοκα STR_COLOUR_SECONDARY_BROWN :Καφέ STR_COLOUR_SECONDARY_GREY :Γκρι STR_COLOUR_SECONDARY_WHITE :Άσπρο -STR_COLOUR_SECONDARY_SAME_AS_PRIMARY :Ίδιο με το πρωταρχικό +STR_COLOUR_SECONDARY_SAME_AS_PRIMARY :Ίδιο με το Αρχικό # Units used in OpenTTD @@ -346,7 +346,7 @@ STR_TOOLTIP_SHADE :{BLACK}Σκία STR_TOOLTIP_DEBUG :{BLACK}Εμφάνιση πληροφοριών αποσφαλμάτωσης για NewGRF STR_TOOLTIP_DEFSIZE :{BLACK}Κλιμακώνει το παράθυρο στο προκαθορισμένο μέγεθος. Με Ctrl+Κλικ αποθηκεύεται το τρέχον μέγεθος ως προκαθορισμένο STR_TOOLTIP_STICKY :{BLACK}Σημειώστε αυτό το παραθύρο ωστέ να μην κλείνει από το πλήκτρο «Κλείσιμο Όλων των Παραθύρων». Πατήστε Ctrl+Κλικ για να αποθηκεύσετε την κατάσταση απο επιλογή -STR_TOOLTIP_RESIZE :{BLACK}Κάντε κλίκ και σύρετε για να αλλάξετε το μέγεθος του παραθύρου +STR_TOOLTIP_RESIZE :{BLACK}Πατήστε και σύρετε για να αλλάξετε το μέγεθος του παραθύρου STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Εναλλαγή μεγάλου/μικρού παραθύρου STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Μπάρα Κύλισης - μετακινεί την λίστα πάνω/κάτω STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Μπάρα κίνησης - κινεί τη λίστα αριστερά/δεξιά @@ -526,7 +526,7 @@ STR_FILE_MENU_EXIT :Έξοδος # Map menu STR_MAP_MENU_MAP_OF_WORLD :Χάρτης του κόσμου -STR_MAP_MENU_EXTRA_VIEWPORT :Πρόσθετη εμφάνιση +STR_MAP_MENU_EXTRA_VIEWPORT :Πρόσθετο παράθυρο προβολής STR_MAP_MENU_LINGRAPH_LEGEND :Υπόμνημα ροής φορτίου STR_MAP_MENU_SIGN_LIST :Λίστα πινακίδων @@ -590,7 +590,7 @@ STR_ABOUT_MENU_HELP :Βοήθεια STR_ABOUT_MENU_TOGGLE_CONSOLE :Εναλλαγή κονσόλας STR_ABOUT_MENU_AI_DEBUG :Αποσφαλμάτωση AI και δέσμης ενεργειών παιχνιδιού STR_ABOUT_MENU_SCREENSHOT :Στιγμιότυπο οθόνης -STR_ABOUT_MENU_SHOW_FRAMERATE :Εμφάνιση ρυθμού καρέ +STR_ABOUT_MENU_SHOW_FRAMERATE :Ρυθμός εμφάνισης καρέ STR_ABOUT_MENU_ABOUT_OPENTTD :Σχετικά με το 'OpenTTD' STR_ABOUT_MENU_SPRITE_ALIGNER :Ευθυγραμμιστής στοιχεών STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Εναλλαγή πλαισίου οριοθέτησης @@ -884,7 +884,7 @@ STR_SMALLMAP_LEGENDA_DESERT :{TINY_FONT}{BLA STR_SMALLMAP_LEGENDA_SNOW :{TINY_FONT}{BLACK}Χιόνι STR_SMALLMAP_TOOLTIP_TOGGLE_TOWN_NAMES_ON_OFF :{BLACK}Εναλλαγή ονομάτων πόλεων στον χάρτη -STR_SMALLMAP_CENTER :{BLACK}Κεντράρισμα του μικρού χάρτη στη τρέχουσα θέση +STR_SMALLMAP_CENTER :{BLACK}Κεντράρισμα του μικρού χάρτη στην τρέχουσα θέση STR_SMALLMAP_INDUSTRY :{TINY_FONT}{STRING} ({NUM}) STR_SMALLMAP_LINKSTATS :{TINY_FONT}{STRING} STR_SMALLMAP_COMPANY :{TINY_FONT}{COMPANY} @@ -1026,7 +1026,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION_MONTHS :{BIG_FONT}{BLAC STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION_MINUTES :{BIG_FONT}{BLACK}Η τοπική αρχή της {TOWN} υπογράφει σύμβαση με την {STRING} για 12 λεπτά αποκλειστικών δικαιωμάτων μεταφοράς! # Extra view window -STR_EXTRA_VIEWPORT_TITLE :{WHITE}Εμφάνιση {COMMA} +STR_EXTRA_VIEWPORT_TITLE :{WHITE}Προβολή {COMMA} STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Αντιγραφή στο παράθυρο εμφάνισης STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Αντιγραφή της τοποθεσίας της κύριας προβολής σε αυτό το παράθυρο εμφάνισης STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Επικόλληση από παράθυρο εμφάνισης @@ -1134,11 +1134,11 @@ STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}Η ρύ STR_GAME_OPTIONS_VIDEO_VSYNC :{BLACK}VSync STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Τσεκάρετε αυτό το κουτί για να ενεργοποιήσετε το v-sync στην οθόνη. Η αλλαγή αυτή θα εφαρμοστεί μετά από επανεκκίνηση του παιχνιδιού. Λειτουργεί μόνο με ενεργοποιημένη την επιτάχυνση υλικού -STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Τρέχον οδηγός: {STRING} +STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Τρέχων οδηγός: {STRING} STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}Μέγεθος διεπαφής STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Σύρετε το κουμπί για να ορίσετε το μέγεθος του περιβάλλοντος διεπαφής. Ctrl+Σύρσιμο για συνεχή προσαρμογή -STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}Αυτόματη εντόπιση μεγέθους +STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}Αυτόματος εντοπισμός μεγέθους STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Τσεκάρετε αυτό το κουτάκι για να ανιχνεύεται το μέγεθος της διεπαφής αυτόματα STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Κλίση κλίμακας @@ -1182,7 +1182,7 @@ STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Βασι STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Επιλέξτε το βασικό σετ μουσικής για χρήση STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Επιπλέον πληροφορίες σχετικά με το βασικό σετ μουσικής -STR_GAME_OPTIONS_SOCIAL_PLUGINS_NONE :{LTBLUE}(δεν έχουν εγκατασταθεί plugins για ενοποίηση με πλατφόρμες κοινωνικής δικτύωσης) +STR_GAME_OPTIONS_SOCIAL_PLUGINS_NONE :{LTBLUE}(δεν έχουν εγκατασταθεί plugins για διασύνδεση με πλατφόρμες κοινωνικής δικτύωσης) STR_GAME_OPTIONS_SOCIAL_PLUGIN_TITLE :{BLACK}{STRING} ({STRING}) STR_GAME_OPTIONS_SOCIAL_PLUGIN_PLATFORM :{BLACK}Πλατφόρμα: @@ -1199,15 +1199,15 @@ STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_INVALID_SIGNATURE :{RED}Άκυρη STR_BASESET_STATUS :{STRING} {RED}({NUM} λείπει/κατεστραμμένο αρχεί{P ο α}) STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Αποτυχία ανάκτησης λίστας υποστηριζόμενων αναλύσεων -STR_ERROR_FULLSCREEN_FAILED :{WHITE}Θέση του παιχνιδιού σε λειτουργία πλήρης οθόνης απέτυχε +STR_ERROR_FULLSCREEN_FAILED :{WHITE}Απέτυχε η λειτουργία πλήρους οθόνης # Custom currency window STR_CURRENCY_WINDOW :{WHITE}Προσαρμοσμένο νόμισμα STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Ισοτιμία: {ORANGE}{CURRENCY_LONG} = £ {COMMA} -STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Μείωση του ποσού της ισοτιμίας σας για μία λίρα (£) -STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Αυξήστε το ποσό της ισοτιμίας σας για μία Λίρα (£) -STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Ρυθμίστε τη συναλλαγματική ισοτιμία του νομίσματος για μια λίρα (£) +STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Μείωση του ποσού του νομίσματός σας για μία λίρα (£) +STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Αύξηση του ποσού του νομίσματός σας για μία Λίρα (£) +STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Ορίστε τη συναλλαγματική ισοτιμία του νομίσματος σας για μια λίρα (£) STR_CURRENCY_SEPARATOR :{LTBLUE}Διαχωριστής: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Ορίστε το διαχωριστικό για το νόμισμά σας @@ -1224,7 +1224,7 @@ STR_CURRENCY_DECREASE_CUSTOM_CURRENCY_TO_EURO_TOOLTIP :{BLACK}Να γ STR_CURRENCY_INCREASE_CUSTOM_CURRENCY_TO_EURO_TOOLTIP :{BLACK}Να γίνει η μετάβαση σε Ευρώ αργότερα STR_CURRENCY_PREVIEW :{LTBLUE}Προεπισκόπιση: {ORANGE}{CURRENCY_LONG} -STR_CURRENCY_CUSTOM_CURRENCY_PREVIEW_TOOLTIP :{BLACK}10000 λίρες (£) στο νόμισμά σας +STR_CURRENCY_CUSTOM_CURRENCY_PREVIEW_TOOLTIP :{BLACK}10.000 λίρες (£) στο νόμισμά σας STR_CURRENCY_CHANGE_PARAMETER :{BLACK}Αλλαγή παραμέτρων προσαρμοσμένου νομίσματος STR_NONE :Κανένα @@ -1292,12 +1292,12 @@ STR_TERRAIN_TYPE_CUSTOM :Προσαρμ STR_TERRAIN_TYPE_CUSTOM_VALUE :Προσαρμοσμένο ύψος ({NUM}) ###length 4 -STR_CITY_APPROVAL_LENIENT :Ήπειο +STR_CITY_APPROVAL_LENIENT :Ήπια STR_CITY_APPROVAL_TOLERANT :Υπομονετική STR_CITY_APPROVAL_HOSTILE :Εχθρική STR_CITY_APPROVAL_PERMISSIVE :Ανεκτική (χωρίς επίδραση σε ενέργειες της εταιρίας) -STR_WARNING_NO_SUITABLE_AI :{WHITE}Δεν είναι διαθέσιμο κανένα κατάλληλο Al...{}Μπορείτε να κατεβάσετε AIs μέσω του συστήματος «Διαδικτυακού Περιεχομένου» +STR_WARNING_NO_SUITABLE_AI :{WHITE}Δεν υπάρχει διαθέσιμο κατάλληλο Al...{}Μπορείτε να κατεβάσετε AIs μέσω του συστήματος «Διαδικτυακού Περιεχομένου» # Settings tree window STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Ρυθμίσεις @@ -1342,8 +1342,8 @@ STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK}Εμφά ###length 3 STR_CONFIG_SETTING_OFF :Ανενεργό -STR_CONFIG_SETTING_ON :Ενεργή -STR_CONFIG_SETTING_DISABLED :Ανένεργη +STR_CONFIG_SETTING_ON :Ενεργό +STR_CONFIG_SETTING_DISABLED :Ανένεργο ###length 3 STR_CONFIG_SETTING_COMPANIES_OFF :Ανένεργο @@ -1380,8 +1380,8 @@ STR_CONFIG_SETTING_RUNNING_COSTS_HELPTEXT :Θέτει το STR_CONFIG_SETTING_CONSTRUCTION_SPEED :Ταχύτητα οικοδόμησης: {STRING} STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Περιορίζει το ποσοστό των οικοδομήμσεων από τα ΑΙ -STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Καταρρεύσεις οχημάτων: {STRING} -STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS_HELPTEXT :Ελέγχει πόσο συχνά καταρρέουν τα ανεπαρκώς συντηρημένα οχήματα +STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Βλάβες οχημάτων: {STRING} +STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS_HELPTEXT :Ελέγχει πόσο συχνά παθαίνουν βλάβες τα ανεπαρκώς συντηρημένα οχήματα STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER :Πολλαπλασιαστής επιδότησης: {STRING} STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT :Θέστε πόσο ξεπληρώνεται για επιδοτημένες συνδέσεις @@ -1433,7 +1433,7 @@ STR_CONFIG_SETTING_TRAIN_LENGTH :Μέγιστο STR_CONFIG_SETTING_TRAIN_LENGTH_HELPTEXT :Ορίστε το μέγιστο μήκος των τρένων STR_CONFIG_SETTING_TILE_LENGTH :{COMMA} τετραγωνίδι{P 0 ο α} -STR_CONFIG_SETTING_SMOKE_AMOUNT :Ποσότητα καπνού/σπινθύρων οχήματος: {STRING} +STR_CONFIG_SETTING_SMOKE_AMOUNT :Ποσότητα καπνού/σπινθήρων οχήματος: {STRING} STR_CONFIG_SETTING_SMOKE_AMOUNT_HELPTEXT :Ορίστε τον όγκο του καπνού ή τον αριθμό των σπιθών που παράγονται από τα οχήματα STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL :Μοντέλο επιτάχυνσης τρένων: {STRING} @@ -1449,7 +1449,7 @@ STR_CONFIG_SETTING_PERCENTAGE :{COMMA}% STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Κλίση εδάφους για τα οδικά οχήματα: {STRING} STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Η κλίση ενός κεκλιμένου τετραγωνίδιου για τα οδικά οχήματα. Μεγαλύτερες τιμές καθιστούν δυσκολότερο το ανέβασμα λόφων -STR_CONFIG_SETTING_FORBID_90_DEG :Απαγόρευση στα τρένα να κάνουν στροφές 90°: {STRING} +STR_CONFIG_SETTING_FORBID_90_DEG :Απαγορεύεται στα τρένα να κάνουν στροφές 90°: {STRING} STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Στροφές 90 μοιρών προκύπτουν όταν μια οριζόντια σιδηροτροχιά ακολουθείται από μια κάθετη στο επόμενο τετραγωνίδιο, κάνοντας το τρένο να στρίψει κατά 90 μοίρες όταν αλλάζει τετραγωνίδιο, αντί για τις συνηθισμένες 45 μοίρες σε άλλους συνδυασμούς σιδηροτροχιών STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Να επιτρέπεται η συνένωση μη παρακείμενων σταθμών: {STRING} @@ -1495,10 +1495,10 @@ STR_CONFIG_SETTING_SHOWFINANCES_PERIOD :Εμφάνισ STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Όταν ενεργοποιείται, το παράθυρο των οικονομικών πληροφοριών εμφανίζεται στο τέλος κάθε χρόνου για ευκολότερο έλεγχο της οικονομικής κατάστασης της εταιρείας STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT_PERIOD :Εάν είναι ενεργοποιημένο, το παράθυρο οικονομικών αναδύεται στο τέλος κάθε περιόδου για να επιτρέψει την εύκολη επιθεώρηση της οικονομικής κατάστασης της εταιρείας -STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Οι νέες οδηγίες είναι «χωρίς στάση» από προεπιλογή: {STRING} +STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Οι νέες οδηγίες είναι «χωρίς στάση» εξ' ορισμού: {STRING} STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Κανονικά, τα οχήματα σταματούν σε κάθε σταθμό που περνούν. Ενεργοποιώντας αυτήν τη ρύθμιση, δεν θα σταματούν σε κανένα σταθμό που θα βρει στη διαδρομή τους προς τον τελικό προορισμό. Σημείωστε πως αυτή η ρύθμιση ορίζει μόνο μια καθορισμένη τιμή για νέες εντολές. Ειδικές εντολές μπορούν να δοθούν για οποιαδήποτε συμπεριφορά, άσχετα από την προκαθορισμένη -STR_CONFIG_SETTING_STOP_LOCATION :Οι εντόλες νέων τρένων διορίζουν ότι σταματάνε εξ ορισμού στο {STRING} της πλατφόρμας +STR_CONFIG_SETTING_STOP_LOCATION :Οι νέες εντόλες τρένων έχουν στάση εξ' ορισμού στο {STRING} της πλατφόρμας STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Ορισμός προεπιλεγμένου σημείου που θα σταματούν τα τρένα στην πλατφόρμα. Το «κοντινό άκρο» σημαίνει κοντά στο σημείο εισόδου, «μέση» σημαίνει στο μέσο της πλατφόρμας και «μακρινό άκρο» σημαίνει στο άλλο άκρο από το σημείο εισόδου. Σημειώστε ότι αυτή η ρύθμιση ορίζει μόνο την προεπιλεγμένη τιμή για νέες εντολές. Οι μεμονωμένες εντολές μπορούν να έχουν τη δική τους θέση στάσης κάνοντας κλικ πάνω στο κείμενο της εντολής ###length 3 STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :κοντινό άκρο @@ -1508,10 +1508,10 @@ STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :μακρινό STR_CONFIG_SETTING_AUTOSCROLL :Μετακίνηση παραθύρου όταν το ποντίκι είναι στην άκρη: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Όταν είναι ενεργή, η εμφάνιση θα κυλά όταν το ποντίκι είναι κοντά στην άκρη του παραθύρου ###length 4 -STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Απενεργοποιημένη -STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :Κύρια εμφάνιση, μόνο σε πλήρη οθόνη -STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT :Κύρια εμφάνιση -STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :Κάθε εμφάνιση +STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Απενεργοποιημένο +STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :Κύριο παράθυρο προβολής, μόνο σε πλήρη οθόνη +STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT :Κύριο παράθυρο προβολής +STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :Κάθε παράθυρο προβολής STR_CONFIG_SETTING_BRIBE :Επιτρέπεται η δωροδοκία της τοπικής αρχής: {STRING} ###length 2 @@ -1539,7 +1539,7 @@ STR_CONFIG_SETTING_PLANE_SPEED :Παράγον STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Ορίζεται η σχετική ταχύτητα των αεροπλάνων συγκριτικά με τους άλλους τύπους οχημάτων, ώστε να μειώνεται το ποσό του εισοδήματος από μεταφορές με αεροσκάφη STR_CONFIG_SETTING_PLANE_SPEED_VALUE :1 / {COMMA} -STR_CONFIG_SETTING_PLANE_CRASHES :Αριθμός των αεροπορικών ατυχημάτων: {STRING} +STR_CONFIG_SETTING_PLANE_CRASHES :Αριθμός αεροπορικών ατυχημάτων: {STRING} STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Ορίστε την πιθανότητα συντριβής ενός τυχαίου αεροσκάφους.{}* Μεγάλα αεροσκάφη πάντα έχουν ένα ρίσκο συντριβής όταν προσγειώνονται σε μικρά αεροδρόμια. ###length 3 STR_CONFIG_SETTING_PLANE_CRASHES_NONE :Κανένα* @@ -1556,7 +1556,7 @@ STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Επιτρέπ STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Δεν είναι δυνατή η αλλαγή αυτής της ρύθμισης όταν υπάρχουν οχήματα. STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Συντήρηση υποδομής: {STRING} -STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Όταν είναι ενεργοποιημένη, οι υποδομές προκαλούν έξοδα συντήρησης. Το κόστος μεγαλώνει δυσανάλογα με το μέγεθος του δικτύου, επηρεάζοντας έτσι τις μεγάλες εταιρείες περισσότερο από τις μικρότερες +STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Όταν είναι ενεργοποιημένο, οι υποδομές προκαλούν έξοδα συντήρησης. Το κόστος μεγαλώνει υπεραναλογικά με το μέγεθος του δικτύου, επηρεάζοντας έτσι τις μεγάλες εταιρείες περισσότερο από τις μικρότερες STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Αρχικό χρώμα εταιρίας: {STRING} STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Επιλογή του αρχικού χρώματος της εταιρίας @@ -1607,21 +1607,21 @@ STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Αυτόματη ανανέωση όταν ένα όχημα παλιώνει: {STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Όταν είναι ενεργοποιημένη, τα οχήματα που πλησιάζουν το τέλος της ζωής τους αντικαθίσταται αυτόματα όταν πληρούνται οι προϋποθέσεις αντικατάστασής του -STR_CONFIG_SETTING_AUTORENEW_MONTHS :Αυτόματη αντικατάστηση όταν το όχημα είναι {STRING} μέγιστης ηλικίας +STR_CONFIG_SETTING_AUTORENEW_MONTHS :Αυτόματη αντικατάστηση όταν το όχημα είναι {STRING} την μέγιστη ηλικία STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Σχετική ηλικία κατά την οποία κάποιο όχημα θα πρέπει να εξεταστεί για αυτόματη ανανέωση ###length 2 STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE :{COMMA} μήν{P 0 α ες} πριν STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} μήν{P 0 α ες} μετά STR_CONFIG_SETTING_AUTORENEW_MONEY :Αυτόματη ανανέωση με τα ελάχιστα απαιτούμενα χρήματα: {STRING} -STR_CONFIG_SETTING_AUTORENEW_MONEY_HELPTEXT :Ελάχιστο χρηματικό ποσό που θα πρέπει να υπολείπεται στην τράπεζα πριν εξεταστεί η αυτόματη ανανέωση των οχημάτων +STR_CONFIG_SETTING_AUTORENEW_MONEY_HELPTEXT :Ελάχιστο χρηματικό ποσό που θα πρέπει να απομείνει στην τράπεζα πριν εξεταστεί η αυτόματη ανανέωση των οχημάτων STR_CONFIG_SETTING_ERRMSG_DURATION :Διάρκεια μηνύματος σφάλματος: {STRING} STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Διάρκεια εμφάνισης μηνύματων σφάλματος σε κόκκινο παράθυρο. Σημειώστε ότι μερικά (κρίσιμα) μηνύματα σφάλματος δεν κλείνουν αυτόματα μετά από αυτόν τον χρόνο, αλλά πρέπει να κλείσουν χειροκίνητα STR_CONFIG_SETTING_HOVER_DELAY :Εμφάνιση αναδυόμενων μηνυμάτων: {STRING} STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Καθυστέρηση πριν την εμφάνιση των επεξηγήσεων όταν ο δείκτης του ποντικιού βρίσκεται πάνω από κάποιο στοιχείο της διεπαφής. Εναλλακτικά, οι επεξηγήσεις συνδέονται με το δεξί κουμπί του ποντικιού όταν η τιμή αυτού του πεδίου είναι 0 -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Ο δείκτης του ποντικιού να βρίσκεται από πάνω για {COMMA} δευτερόλεπτ{P 0 ο α} +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Ο δείκτης του ποντικιού να βρίσκεται από πάνω για {COMMA} χιλιοστά του δευτερολέπτου ###setting-zero-is-special STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Δεξί κουμπί @@ -1668,10 +1668,10 @@ STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Ανωμαλία επιφάνειας (μόνο με TerraGenesis) : {STRING} STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Επιλογή του σχήματος και του αριθμού των λόφων: Τα λεία τοπία έχουν λιγότερους, πιο πλατείς λόφους, ενώ τα τραχιά τοπία έχουν πολλούς και μικρούς λόφους ###length 4 -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Πολύ Απαλή -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Απαλή -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Ανώμαλη -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Πολύ Ανώμαλη +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Πολύ Λεία +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Λεία +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Τραχιά +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Πολύ Τραχιά STR_CONFIG_SETTING_VARIETY :Διανομή ποικιλομορφίας: {STRING} STR_CONFIG_SETTING_VARIETY_HELPTEXT :Επιλέξτε αν ο χάρτης περιέχει και βουνά και επίπεδες περιοχές. Όσο μεγαλύτερη είναι η ποικιλία, τόσο περισσότερες οι υψομετρικές διαφορές μεταξύ ορεινών και επίπεδων περιοχών @@ -1690,8 +1690,8 @@ STR_CONFIG_SETTING_ROAD_SIDE :Οχήματα STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Επιλέξτε την πλευρά οδήγησης ###length 2 -STR_CONFIG_SETTING_ROAD_SIDE_LEFT :Οδηγούν από αριστερά -STR_CONFIG_SETTING_ROAD_SIDE_RIGHT :Οδηγούν από δεξιά +STR_CONFIG_SETTING_ROAD_SIDE_LEFT :Οδήγηση από αριστερά +STR_CONFIG_SETTING_ROAD_SIDE_RIGHT :Οδήγηση από δεξιά STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Περιστροφή χάρτη υψομετρίας: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_TOOLTIP :Επιλέξτε με ποιον τρόπο θα περιστραφεί η εικόνα του ύψους χάρτη, για να ταιριάζει στον κόσμο του παιχνιδιού @@ -1745,7 +1745,7 @@ STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Εμφάνισ STR_CONFIG_SETTING_LIVERIES :Εμφάνιση χρωμάτων των εταιριών: {STRING} STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Ελέγξτε τη χρήση του χρωματικού μοτίβου των τύπων των οχημάτων για τα οχήματα (σε αντίθεση με τα εταιρικά) ###length 3 -STR_CONFIG_SETTING_LIVERIES_NONE :Κανένας +STR_CONFIG_SETTING_LIVERIES_NONE :Κανένα STR_CONFIG_SETTING_LIVERIES_OWN :Η εταιρία μου STR_CONFIG_SETTING_LIVERIES_ALL :Όλες οι εταιρίες @@ -1791,7 +1791,7 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_NO :Όχι STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES :Ναι STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES_EXCEPT_STICKY :Ναι, εκτός από το καρφιτσωμένο -STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Χρήση της {STRING} ημερολογιακής μορφής στα ονόματα αποθηκευμένων παιχνιδιών +STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Χρήση της ημερολογιακής μορφής {STRING} στα ονόματα αποθηκευμένων παιχνιδιών STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Μορφή της ημερομηνίας στα αρχεία αποθήκευσης παιχνιδιών ###length 3 STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :μακριά (31 Δεκ 2008) @@ -1864,10 +1864,10 @@ STR_CONFIG_SETTING_SOUND_NEW_PERIOD :Τέλος πε STR_CONFIG_SETTING_SOUND_NEW_YEAR_HELPTEXT :Παίζει ηχητικό εφέ στο τέλος του χρόνου που συνοψίζει την επίδοση της εταιρείας κατά την διάρκεια αυτού του χρόνου σε σχέση με τον προηγούμενο χρόνο STR_CONFIG_SETTING_SOUND_NEW_PERIOD_HELPTEXT :Παίζει ηχητικό εφέ στο τέλος του χρόνου που συνοψίζει την επίδοση της εταιρείας κατά την διάρκεια αυτής της περιόδου σε σχέση με την προηγούμεη περίοδο -STR_CONFIG_SETTING_SOUND_CONFIRM :Οικοδομή: {STRING} +STR_CONFIG_SETTING_SOUND_CONFIRM :Κατασκευή: {STRING} STR_CONFIG_SETTING_SOUND_CONFIRM_HELPTEXT :Παίζει ηχητικό εφέ σε επιτυχής οικοδομές ή άλλες δράσεις -STR_CONFIG_SETTING_SOUND_CLICK :πατήματα κουμπιού: {STRING} +STR_CONFIG_SETTING_SOUND_CLICK :Πατήματα κουμπιού: {STRING} STR_CONFIG_SETTING_SOUND_CLICK_HELPTEXT :Παίζει ήχο όταν γίνεται κλικ σε κουμπιά STR_CONFIG_SETTING_SOUND_DISASTER :Καταστροφές/ατυχήματα: {STRING} @@ -1927,7 +1927,7 @@ STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}Η ###setting-zero-is-special STR_CONFIG_SETTING_SERVINT_DISABLED :Απενεργοποιημένο -STR_CONFIG_SETTING_NOSERVICE :Απενεργοποίηση επισκευών όταν οι καταρρεύσεις είναι απενεργοποιημένες: {STRING} +STR_CONFIG_SETTING_NOSERVICE :Απενεργοποίηση επισκευών όταν οι βλάβες είναι απενεργοποιημένες: {STRING} STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Όταν είναι ενεργοποιημένη, τα οχήματα δεν συντηρούνται όταν δεν είναι δυνατό να χαλάσουν STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Ποινή ταχύτητας φόρτωσης για τρένα που είναι μεγαλύτερα από τον σταθμό: {STRING} @@ -1966,7 +1966,7 @@ STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES_HELPTEXT :Εμφάνισ STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY :Αλλαγή της παραγωγής των βιομηχανιών που εξυπηρετούνται από την εταιρία: {STRING} STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY_HELPTEXT :Εμφάνιση εφημερίδας όταν μεταβάλλεται η παραγωγικότητα μιας βιομηχανίας που εξυπηρετείται από την εταιρία -STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER :Διαφοροποιήσεις στην παραγωγή των βιομηχανιών που εξυπηρετούνται από ανταγωνιστή(-ές): {STRING} +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER :Διαφοροποιήσεις στην παραγωγή των βιομηχανιών που εξυπηρετούνται από ανταγωνιστή/ές: {STRING} STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER_HELPTEXT :Εμφάνιση εφημερίδας όταν μεταβάλλεται η παραγωγικότητα μιας βιομηχανίας που εξυπηρετείται από ανταγωνιστές STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED :Άλλες διαφοροποιήσεις στη παραγωγή: {STRING} @@ -1987,7 +1987,7 @@ STR_CONFIG_SETTING_NEWS_SUBSIDIES_HELPTEXT :Πρόβαλλ STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION :Γενικές πληροφορίες: {STRING} STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION_HELPTEXT :Εμφάνιση εφημερίδας σε γενικά συμβάντα, όπως αγορά αποκλειστικών δικαιωμάτων ή χρηματοδότηση ανακατασκευής δρόμων ###length 3 -STR_CONFIG_SETTING_NEWS_MESSAGES_OFF :Απενεργοποιημένα +STR_CONFIG_SETTING_NEWS_MESSAGES_OFF :Απενεργοποιημένο STR_CONFIG_SETTING_NEWS_MESSAGES_SUMMARY :Περιλήψεις STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Ολόκληρα @@ -2079,7 +2079,7 @@ STR_CONFIG_SETTING_SNAP_RADIUS_HELPTEXT :Απόστασ STR_CONFIG_SETTING_SNAP_RADIUS_VALUE :{COMMA} εικονοστοιχεί{P 0 ο α} ###setting-zero-is-special STR_CONFIG_SETTING_SNAP_RADIUS_DISABLED :Απενεργοποιημένη -STR_CONFIG_SETTING_SOFT_LIMIT :Μέγιστο όριο μη καρφωμένων παραθύρων: {STRING} +STR_CONFIG_SETTING_SOFT_LIMIT :Μέγιστο όριο μη καρφιτσωμένων παραθύρων: {STRING} STR_CONFIG_SETTING_SOFT_LIMIT_HELPTEXT :Αριθμός μη μόνιμων ανοικτών παράθυρων πριν παλαιότερα παράθυρα κλείσουν αυτόματα για να κάνουν χώρα για τα νεότερα STR_CONFIG_SETTING_SOFT_LIMIT_VALUE :{COMMA} ###setting-zero-is-special @@ -2233,7 +2233,7 @@ STR_CONFIG_SETTING_REVERSE_AT_SIGNALS :Αυτόματ STR_CONFIG_SETTING_REVERSE_AT_SIGNALS_HELPTEXT :Επιτρέπεται στα τρένα να αντιστραφούν σε σήμα, εάν περιμένουν εκεί για πολύ ώρα ###length 2 STR_CONFIG_SETTING_PATHFINDER_NPF :NPF -STR_CONFIG_SETTING_PATHFINDER_YAPF :YAPF {BLUE}(Συνίσταται) +STR_CONFIG_SETTING_PATHFINDER_YAPF :YAPF {BLUE}(Συνιστάται) STR_CONFIG_SETTING_QUERY_CAPTION :{WHITE}Αλλαγή τιμής ρύθμισης @@ -2739,22 +2739,22 @@ STR_NETWORK_ERROR_COORDINATOR_ISOLATED :{WHITE}Ο serve STR_NETWORK_ERROR_COORDINATOR_ISOLATED_DETAIL :{WHITE}Οι άλλοι παίκτες δεν θα μπορούν να συνδεθούν στον server σας # Content downloading window -STR_CONTENT_TITLE :{WHITE}Περιεχόμενο κατεβαίνει +STR_CONTENT_TITLE :{WHITE}Λαμβάνεται το περιεχόμενο STR_CONTENT_TYPE_CAPTION :{BLACK}Τύπος STR_CONTENT_TYPE_CAPTION_TOOLTIP :{BLACK}Τύπος περιεχόμενου STR_CONTENT_NAME_CAPTION :{BLACK}Όνομα STR_CONTENT_NAME_CAPTION_TOOLTIP :{BLACK}Το όνομα του περιεχομένου STR_CONTENT_MATRIX_TOOLTIP :{BLACK}Πατήστε σε μια γραμμή για να δείτε λεπτομέρειες{}Πατήστε στο κουτάκι για το επιλέξετε για κατέβασμα STR_CONTENT_SELECT_ALL_CAPTION :{BLACK}Επιλογή όλων -STR_CONTENT_SELECT_ALL_CAPTION_TOOLTIP :{BLACK}Μαρκάρισμα όλων των περιεχομένων για κατέβασμα +STR_CONTENT_SELECT_ALL_CAPTION_TOOLTIP :{BLACK}Μαρκάρισμα όλων των περιεχομένων για λήψη STR_CONTENT_SELECT_UPDATES_CAPTION :{BLACK}Επιλέξτε αναβαθμίσεις STR_CONTENT_SELECT_UPDATES_CAPTION_TOOLTIP :{BLACK}Μαρκάρισμα όλων των περιεχόμενων που είναι για αναβάθμιση υπαρχόντων περιεχόμενων για κατέβασμα STR_CONTENT_UNSELECT_ALL_CAPTION :{BLACK}Αποεπιλογή όλων STR_CONTENT_UNSELECT_ALL_CAPTION_TOOLTIP :{BLACK}Σημείωση όλων των περιεχομένων να μην κατέβουν STR_CONTENT_SEARCH_EXTERNAL :{BLACK}Αναζήτηση εξωτερικών ιστοσελίδων -STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Αναζήτηση για περιεχόμενο που δεν είναι διαθέσιμο μέσω την υπηρεσία λήψης περιεχομένου του OpenTTD σε ιστοσελίδες που δεν σχετίζονται με το OpenTTD +STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Αναζήτηση για περιεχόμενο που δεν είναι διαθέσιμο μέσω της υπηρεσίας λήψης περιεχομένου του OpenTTD σε ιστοσελίδες που δεν σχετίζονται με το OpenTTD STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}Φεύγετε από το OpenTTD! -STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}Οι όροι και προϋποθέσεις για τη λήψη περιεχομένου από εξωτερικές ιστοσελίδες διαφέρουν.{}Θα πρέπει να αναφερθείτε στις εξωτερικές ιστοσελίδες για οδηγίες περί της εγκατάστασης του περιεχομένου στο OpenTTD.{}Θέλετε να συνεχίσετε; +STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}Οι όροι και προϋποθέσεις για τη λήψη περιεχομένου από εξωτερικές ιστοσελίδες διαφέρουν.{}Θα πρέπει να ανατρέξετε σε αυτές για οδηγίες σχετικά με την εγκατάσταση του περιεχομένου στο OpenTTD.{}Θέλετε να συνεχίσετε; STR_CONTENT_FILTER_TITLE :{BLACK}Ετικέτα/όνομα φίλτρου: STR_CONTENT_OPEN_URL :{BLACK}Ιστοσελίδα STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Επισκεφθείτε την ιστοσελίδα αυτού του περιεχομένου @@ -2864,7 +2864,7 @@ STR_JOIN_STATION_CAPTION :{WHITE}Συνέ STR_JOIN_STATION_CREATE_SPLITTED_STATION :{YELLOW}Κατασκευάστε ένα ξεχωριστό σταθμό STR_JOIN_WAYPOINT_CAPTION :{WHITE}Συνένωση σημείου καθοδήγησης -STR_JOIN_WAYPOINT_CREATE_SPLITTED_WAYPOINT :{YELLOW}κατασκευή ενός ξεχωριστού σημείου καθοδήγησης +STR_JOIN_WAYPOINT_CREATE_SPLITTED_WAYPOINT :{YELLOW}Κατασκευή ενός ξεχωριστού σημείου καθοδήγησης # Generic toolbar STR_TOOLBAR_DISABLED_NO_VEHICLE_AVAILABLE :{BLACK}Απενεργοποιημένο διότι δεν υπάρχουν διαθέσιμα οχήματα για αυτή την υποδομή @@ -2917,7 +2917,7 @@ STR_STATION_CLASS_DFLT :Προεπιλ STR_STATION_CLASS_DFLT_STATION :Προεπιλεγμένος σταθμός STR_STATION_CLASS_DFLT_ROADSTOP :Προεπιλεγμένη οδική στάση STR_STATION_CLASS_WAYP :Σημείο καθοδηγήσης -STR_STATION_CLASS_WAYP_WAYPOINT :Προεπιλεγμένο σημείο διαδρομής +STR_STATION_CLASS_WAYP_WAYPOINT :Προεπιλεγμένο σημείο καθοδήγησης # Signal window STR_BUILD_SIGNAL_CAPTION :{WHITE}Επιλογή Σηματοδότη @@ -2934,7 +2934,7 @@ STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Σημα STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Συνδυαστικός Σηματοδότης (ηλεκτρικός){}Ο συνδυαστικός σηματοδότης δουλεύει απλά ως σηματοδότης εισόδου και εξόδου ταυτόχρονα. Αυτό σας επιτρέπει την κατασκευή μεγάλων «δέντρων» με προ-σηματοδότες STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Σηματοδότης Τροχιάς (ηλεκτρικός){}Ένας σηματοδότης τροχιάς επιτρέπει σε περισσότερα από ένα τρένο να είναι σε ένα κομμάτι ελέγχου την ίδια στιγμή, εάν το τρένο μπορεί να δεσμεύσει τροχιά σε ασφαλές σημείο στάσης. Κανονικοί σηματοδότες τροχιάς μπορούν να περαστούν από την πίσω πλευρά STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Μονόδρομος Σηματοδότης Τροχιάς (ηλεκτρικός){}Ένας σηματοδότης τροχιάς επιτρέπει σε περισσότερα από ένα τρένο να είναι σε ένα κομμάτι ελέγχου την ίδια στιγμή, εάν το τρένο μπορεί να δεσμεύσει τροχιά σε ασφαλές σημείο στάσης. Μονόδρομοι σηματοδότες τροχιάς δεν μπορούν να περαστούν από την πίσω πλευρά -STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Μετατροπή σήματος{}Κάντε κλικ σε ένα υπάρχον σήμα για να το μετατρέψετε στον επιλεγμένο τύπο και παραλλαγή. Ctrl+Κλικ για εναλλαγή της υπάρχουσας παραλλαγής. Το Shift+Κλικ εμφανίζει το εκτιμώμενο κόστος μετατροπής +STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Μετατροπή σήματος{}Πατήστε σε ένα υπάρχον σήμα για να το μετατρέψετε στον επιλεγμένο τύπο και παραλλαγή. Ctrl+Κλικ για εναλλαγή της υπάρχουσας παραλλαγής. Το Shift+Κλικ εμφανίζει το εκτιμώμενο κόστος μετατροπής STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Απόσταση μεταξύ σηματοδοτών με σύρσιμο STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Μείωση απόστασης μεταξύ σηματοδοτών με σύρσιμο STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Αύξηση απόστασης μεταξύ σηματοδοτών με σύρσιμο @@ -3349,7 +3349,7 @@ STR_SAVELOAD_SAVE_SCENARIO :{WHITE}Αποθ STR_SAVELOAD_LOAD_SCENARIO :{WHITE}Φόρτωση Σεναρίου STR_SAVELOAD_LOAD_HEIGHTMAP :{WHITE}Φόρτωση Χάρτη Υψομετρίας STR_SAVELOAD_SAVE_HEIGHTMAP :{WHITE}Αποθήκευση Χάρτη Υψομετρίας -STR_SAVELOAD_HOME_BUTTON :{BLACK}Πατήστε εδώ για να πάτε στον τρέχων φάκελο αποθήκευσης +STR_SAVELOAD_HOME_BUTTON :{BLACK}Πατήστε εδώ για να μεταβείτε στον τρέχοντα φάκελο αποθήκευσης/φόρτωσης STR_SAVELOAD_BYTES_FREE :{BLACK}{BYTES} ελεύθερα STR_SAVELOAD_LIST_TOOLTIP :{BLACK}Λίστα δισκών, φακέλων και αποθηκευμένων παιχνιδιών STR_SAVELOAD_EDITBOX_TOOLTIP :{BLACK}Τρέχον επιλεγμένο όνομα για το αποθηκευμένο παιχνίδι @@ -3481,10 +3481,13 @@ STR_GENERATION_ABORT_MESSAGE :{YELLOW}Σίγ STR_GENERATION_PROGRESS :{WHITE}{NUM}% ολοκληρώθηκε STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Δημιουργία κόσμου +STR_GENERATION_LANDSCAPE_GENERATION :{BLACK}Δημιουργία τοπίου STR_GENERATION_RIVER_GENERATION :{BLACK}Δημιουργία ποταμού -STR_GENERATION_TREE_GENERATION :{BLACK}Δημιουργία δέντρων -STR_GENERATION_OBJECT_GENERATION :{BLACK}Δημιουργία μη μετακινούμενων STR_GENERATION_CLEARING_TILES :{BLACK}Δημιουργία άγριας και πετρώδης περιοχής +STR_GENERATION_TOWN_GENERATION :{BLACK}Δημιουργία πόλης +STR_GENERATION_INDUSTRY_GENERATION :{BLACK}Δημιουργία βιομηχανίας +STR_GENERATION_OBJECT_GENERATION :{BLACK}Δημιουργία μη μετακινούμενων +STR_GENERATION_TREE_GENERATION :{BLACK}Δημιουργία δέντρων STR_GENERATION_SETTINGUP_GAME :{BLACK}Ρύθμιση παιχνιδιού STR_GENERATION_PREPARING_TILELOOP :{BLACK}Εκτέλεση βρόχου τετραγωνίδιων STR_GENERATION_PREPARING_SCRIPT :{BLACK}Τρέχουσα δέσμη ενεργειών @@ -3995,7 +3998,7 @@ STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Προβ STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Δώστε χρήματα STR_COMPANY_VIEW_GIVE_MONEY_TOOLTIP :{BLACK}Δώστε χρήματα σε αυτή την εταρία STR_COMPANY_VIEW_HOSTILE_TAKEOVER_BUTTON :{BLACK}Εχθρική εξαγορά -STR_COMPANY_VIEW_HOSTILE_TAKEOVER_TOOLTIP :{BLACK}Κάντε μια εχθρική εξαγορά αυτής της εταιρείας +STR_COMPANY_VIEW_HOSTILE_TAKEOVER_TOOLTIP :{BLACK}Κάντε εχθρική εξαγορά αυτής της εταιρείας STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Νέο Πρόσωπο STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Επιλογή νέου προσώπου διευθυντή @@ -4275,9 +4278,9 @@ STR_DEPOT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Αερο ###length VEHICLE_TYPES STR_DEPOT_TRAIN_SELL_TOOLTIP :{BLACK}Τραβήξτε το όχημα τρένου εδώ για να το πουλήσετε -STR_DEPOT_ROAD_VEHICLE_SELL_TOOLTIP :{BLACK}Τραβήξτε το όχημα δρόμου εδώ για να το πουλήσετε +STR_DEPOT_ROAD_VEHICLE_SELL_TOOLTIP :{BLACK}Σύρετε το όχημα δρόμου εδώ για να το πουλήσετε STR_DEPOT_SHIP_SELL_TOOLTIP :{BLACK}Τραβήξτε το πλοίο εδώ για να το πουλήσετε -STR_DEPOT_AIRCRAFT_SELL_TOOLTIP :{BLACK}Τραβήξτε το αεροσκάφος εδώ για να το πουλήσετε +STR_DEPOT_AIRCRAFT_SELL_TOOLTIP :{BLACK}Σύρετε το αεροσκάφος εδώ για να το πουλήσετε ###length VEHICLE_TYPES STR_DEPOT_SELL_ALL_BUTTON_TRAIN_TOOLTIP :{BLACK}Πουλήστε όλα τα τρένα στο αμαξοστάσιο @@ -4289,7 +4292,7 @@ STR_DEPOT_SELL_ALL_BUTTON_AIRCRAFT_TOOLTIP :{BLACK}Πουλ STR_DEPOT_AUTOREPLACE_TRAIN_TOOLTIP :{BLACK}Αυτόματη αντικατάσταση όλων των τρένων στο αμαξοστάσιο STR_DEPOT_AUTOREPLACE_ROAD_VEHICLE_TOOLTIP :{BLACK}Αυτόματη αντικατάσταση όλων των οχημάτων στο αμαξοστάσιο STR_DEPOT_AUTOREPLACE_SHIP_TOOLTIP :{BLACK}Αυτόματη αντικατάσταση όλων των πλοίων στο ναυπηγείο -STR_DEPOT_AUTOREPLACE_AIRCRAFT_TOOLTIP :{BLACK}Αυτόματη αντικατάσταση όλων των αεροσκαφών του υποστέγου +STR_DEPOT_AUTOREPLACE_AIRCRAFT_TOOLTIP :{BLACK}Αυτόματη αντικατάσταση όλων των αεροσκαφών στο υπόστεγο ###length VEHICLE_TYPES STR_DEPOT_TRAIN_NEW_VEHICLES_BUTTON :{BLACK}Νέα Οχήματα @@ -4310,7 +4313,7 @@ STR_DEPOT_CLONE_SHIP :{BLACK}Κλων STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Κλωνοποίηση Αεροσκάφους ###length VEHICLE_TYPES -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Αγορά αντιγράφου ενός τρένου μαζί με τα όλα τα βαγόνια. Πατήστε αυτό το κουμπί και μετά σε κάποιο τρένο μέσα ή έξω από το αμαξοστάσιο. Ctrl+Κλικ για διαμοιρασμό εντολών. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Αγορά αντιγράφου ενός τρένου μαζί με όλα τα βαγόνια. Πατήστε αυτό το κουμπί και μετά σε κάποιο τρένο μέσα ή έξω από το αμαξοστάσιο. Ctrl+Κλικ για διαμοιρασμό εντολών. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Αγορά αντιγράφου ενός οχήματος δρόμου. Πατήστε αυτό το κουμπί και μετά σε κάποιο όχημα μέσα ή έξω από το αμαξοστάσιο. Ctrl+Κλικ για διαμοιρασμό εντολών. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Αγορά αντιγράφου ενός πλοίου. Πατήστε αυτό το κουμπί και μετά σε κάποιο πλοίο μέσα ή έξω από το ναυπηγείο. Ctrl+Κλικ για διαμοιρασμό εντολών. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Αγορά αντιγράφου του αεροσκάφους. Πατήστε αυτό το κουμπί και μετά σε κάποιο αεροσκάφος μέσα ή έξω από το υπόστεγο. Με Ctrl+Κλικ θα διαμοιραστούν τις εντολές. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο @@ -4339,7 +4342,7 @@ STR_DEPOT_MASS_START_DEPOT_ROAD_VEHICLE_TOOLTIP :{BLACK}Πατή STR_DEPOT_MASS_START_DEPOT_SHIP_TOOLTIP :{BLACK}Πατήστε για να ξεκινήσουν όλα τα πλοία μέσα στο ναυπηγείο STR_DEPOT_MASS_START_HANGAR_TOOLTIP :{BLACK}Πατήστε για να ξεκινήσουν όλα τα αεροσκάφη μέσα στο υπόστεγο -STR_DEPOT_DRAG_WHOLE_TRAIN_TO_SELL_TOOLTIP :{BLACK}Τραβήξτε τη μηχανή του τρένου εδώ για να πουληθεί ολόκληρο το τρένο +STR_DEPOT_DRAG_WHOLE_TRAIN_TO_SELL_TOOLTIP :{BLACK}Σύρετε τη μηχανή του τρένου εδώ για να πουληθεί ολόκληρο το τρένο STR_DEPOT_SELL_CONFIRMATION_TEXT :{YELLOW}Πρόκειται να πουλήσετε όλα τα οχήματα στο αμαξοστάσιο. Είσαστε σίγουροι; # Engine preview window @@ -4472,10 +4475,10 @@ STR_VEHICLE_VIEW_SHIP_SHOW_DETAILS_TOOLTIP :{BLACK}Εμφά STR_VEHICLE_VIEW_AIRCRAFT_SHOW_DETAILS_TOOLTIP :{BLACK}Εμφάνιση λεπτομερειών αεροσκάφους ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_TRAIN_STATUS_START_STOP_TOOLTIP :{BLACK}Τρέχουσα δράση τρένου - κάντε κλικ για να σταματήσετε/ξεκινήσετε το τρένο -STR_VEHICLE_VIEW_ROAD_VEHICLE_STATUS_START_STOP_TOOLTIP :{BLACK}Τρέχων ενέργεια οχήματος - κάντε κλικ για να σταματήσετε/ξεκινήσετε το όχημα -STR_VEHICLE_VIEW_SHIP_STATE_STATUS_STOP_TOOLTIP :{BLACK}Τρέχουσα ενέργεια πλοίου - κάντε κλικ για να σταματήσετε/ξεκινήσετε το πλοίο -STR_VEHICLE_VIEW_AIRCRAFT_STATUS_START_STOP_TOOLTIP :{BLACK}Τρέχουσα δράση αεροσκάφους - κάντε κλικ για να σταματήσετε/ξεκινήσετε το αεροσκάφος +STR_VEHICLE_VIEW_TRAIN_STATUS_START_STOP_TOOLTIP :{BLACK}Τρέχουσα δράση τρένου - πατήστε για να σταματήσετε/ξεκινήσετε το τρένο +STR_VEHICLE_VIEW_ROAD_VEHICLE_STATUS_START_STOP_TOOLTIP :{BLACK}Τρέχουσα ενέργεια οχήματος - πατήστε για να σταματήσετε/ξεκινήσετε το όχημα +STR_VEHICLE_VIEW_SHIP_STATE_STATUS_STOP_TOOLTIP :{BLACK}Τρέχουσα ενέργεια πλοίου - πατήστε για να σταματήσετε/ξεκινήσετε το πλοίο +STR_VEHICLE_VIEW_AIRCRAFT_STATUS_START_STOP_TOOLTIP :{BLACK}Τρέχουσα δράση αεροσκάφους - πατήστε για να σταματήσετε/ξεκινήσετε το αεροσκάφος # Messages in the start stop button in the vehicle view STR_VEHICLE_STATUS_LOADING_UNLOADING :{LTBLUE}Φόρτωση / Εκφόρτωση @@ -4534,7 +4537,7 @@ STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Κέρδ STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Φετινό κέρδος: {LTBLUE}{CURRENCY_LONG} (Περσινό: {CURRENCY_LONG}) {BLACK}Ελάχιστη απόδοση: {LTBLUE}{POWER_TO_WEIGHT} STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD :{BLACK}Κέρδος αυτή την περίοδο: {LTBLUE}{CURRENCY_LONG} (τελευταία περίοδο: {CURRENCY_LONG}) STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD_MIN_PERFORMANCE :{BLACK}Κέρδος αυτή την περίοδο: {LTBLUE}{CURRENCY_LONG} (τελευταία περίοδο: {CURRENCY_LONG}) {BLACK}Ελάχ. απόδοση: {LTBLUE}{POWER_TO_WEIGHT} -STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Αξιοπιστία: {LTBLUE}{COMMA}% {BLACK}Καταρρεύσεις μετά από την τελευταία επισκευή: {LTBLUE}{COMMA} +STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Αξιοπιστία: {LTBLUE}{COMMA}% {BLACK}Βλάβες μετά από την τελευταία επισκευή: {LTBLUE}{COMMA} STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Κατασκευή: {LTBLUE}{NUM}{BLACK} Αξία: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_INFO_NO_CAPACITY :{BLACK}Χωρητικότητα: {LTBLUE}Τίποτα{STRING} @@ -4598,7 +4601,7 @@ STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Νέα STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Νέα χωρητικότητα: {GOLD}{CARGO_LONG}{}{BLACK}Κέρδος από τη μετατροπή: {GREEN}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Νέα χωρητικότητα: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Κόστος μετατροπής: {RED}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Νέα χωρητικότητα: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Κέρδος από τη μετατροπή: {GREEN}{CURRENCY_LONG} -STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Επιλέξτε τα οχήματα για μετατροπή. Κλικ+Σύρσιμο για επιλογή πολλαπλών οχημάτων. Κάντε κλικ σε έναν κενό χώρο για να επιλέξετε ολόκληρο το όχημα. Ctrl+Κλικ για να επιλέξετε ένα όχημα και την ακόλουθη αλυσίδα +STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Επιλέξτε τα οχήματα για μετατροπή. Κλικ+Σύρσιμο για επιλογή πολλαπλών οχημάτων. Πατήστε σε κενό χώρο για να επιλέξετε ολόκληρο το όχημα. Ctrl+Κλικ για να επιλέξετε κάποιο όχημα και την ακόλουθη αλυσίδα ###length VEHICLE_TYPES STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}Επιλέξτε τον τύπο εμπορεύματος που θα μεταφέρει το τρένο @@ -4713,7 +4716,7 @@ STR_ORDER_GO_TO_NEAREST_DEPOT :Πήγαινε STR_ORDER_GO_TO_NEAREST_HANGAR :Πήγαινε στο κοντινότερο υπόστεγο STR_ORDER_CONDITIONAL :Εκτέλεση εντόλης υπο προυπόθεση STR_ORDER_SHARE :Μοίρασμα εντολών -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Εισάγετε μια νέα εντολή πριν την επιλεγμένη ή προσθέστε στο τέλος της λίστας. Ctrl+Κλικ σε έναν σταθμό για ορισμό εντολής σε "πλήρης φόρτωση οποιουδήποτε εμπορεύματος", σε σημείο διαδρομής για αντιστροφή εντολής "χωρίς στάση εξ ορισμού" ή σε αμαξοστάσιο για "αποσύνδεση". Κάντε κλικ σε άλλο όχημα για να αντιγράψετε τις εντολές του ή Ctrl+Κλικ για διαμοιρασμό εντολών. Μια εντολή αμαξοστασίου απενεργοποιεί την αυτόματη συντήρηση του οχήματος +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Εισαγάγετε νέα εντολή πριν την επιλεγμένη ή προσθέστε στο τέλος της λίστας. Ctrl+Κλικ σε σταθμό για «πλήρη φόρτωση οποιουδήποτε εμπορεύματος», σε σημείο διαδρομής για αντιστροφή της εντολής «προεπιλογή χωρίς στάση» ή σε αμαξοστάσιο για «αποσύνδεση». Πατήστε σε άλλο όχημα για να αντιγράψετε τις εντολές του ή Ctrl+Κλικ για διαμοιρασμό εντολών. Η εντολή για αμαξοστάσιο απενεργοποιεί την αυτόματη συντήρηση του οχήματος STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Εμφάνιση όλων των οχημάτων που μοιράζονται αυτό το δρομολόγιο @@ -4883,7 +4886,7 @@ STR_AI_GAME_SCRIPT :{BLACK}Δέσμ STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Έλεγχος ιστορικού δέσμης ενεργειών παιχνιδιού. Ctrl+Κλικ για άνοιγμα σε νέο παράθυρο STR_ERROR_AI_NO_AI_FOUND :Δεν βρέθηκε κατάλληλη AI για φόρτωση.{}Αυτή η AI είναι ψεύτικη και δεν θα κάνει τίποτα.{}Μπορείτε να κατεβάσετε διάφορες AΙ από το σύστημα Διαδικτυακού Περιεχομένου. -STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Μια τρέχουσα δέσμη ενεργειών τερμάτισε απότομα. Παρακαλώ ενημερώστε τον συγγραφέα της δέσμης ενεργειών με ένα στιγμιότυπο οθόνης από το παράθυρο αποσφαλμάτωσης AI/Παιχνιδιού +STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Μια από τις δέσμες ενεργειών που εκτελούνται τερμάτισε απότομα. Παρακαλώ ενημερώστε τον συγγραφέα της δέσμης ενεργειών με ένα στιγμιότυπο οθόνης από το παράθυρο αποσφαλμάτωσης AI/Παιχνιδιού STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}Το παράθυρο αποσφαλμάτωσης ΑΙ και δέσμης ενεργειών είναι διαθέσιμο μόνο για τον διακομιστή # AI configuration window @@ -5023,10 +5026,10 @@ STR_ERROR_BMPMAP_IMAGE_TYPE :{WHITE}... δε STR_ERROR_HEIGHTMAP_TOO_LARGE :{WHITE}... η εικόνα είναι πολύ μεγάλη STR_WARNING_HEIGHTMAP_SCALE_CAPTION :{WHITE}Προειδοποίηση κλίμακας -STR_WARNING_HEIGHTMAP_SCALE_MESSAGE :{YELLOW}Αλλαγή μεγέθους του πηγαίου χάρτη δεν συνίσταται. Να προχωρήσει η δημιουργία; +STR_WARNING_HEIGHTMAP_SCALE_MESSAGE :{YELLOW}Αλλαγή μεγέθους του πηγαίου χάρτη δεν συνιστάται. Να προχωρήσει η δημιουργία; # Soundset messages -STR_WARNING_FALLBACK_SOUNDSET :{WHITE}Βρέθηκε μόνο εφεδρικό σετ ήχου. Αν θέλετε ήχους, εγκαταστήστε ένα πακέτο ήχων μέσω του συστήματος μεταφόρτωσης υλικού +STR_WARNING_FALLBACK_SOUNDSET :{WHITE}Βρέθηκε μόνο εφεδρικό πακέτο ήχων. Αν θέλετε ήχους, εγκαταστήστε πακέτο ήχων μέσω του συστήματος μεταφόρτωσης υλικού # Screenshot related messages STR_WARNING_SCREENSHOT_SIZE_CAPTION :{WHITE}Τεράστιο στιγμιότυπο οθόνης @@ -5146,23 +5149,23 @@ STR_ERROR_TOO_MANY_TRUCK_STOPS :{WHITE}Πάρα STR_ERROR_TOO_CLOSE_TO_ANOTHER_DOCK :{WHITE}Πολύ κοντά σε άλλη αποβάθρα STR_ERROR_TOO_CLOSE_TO_ANOTHER_AIRPORT :{WHITE}Πολύ κοντά σε άλλο αεροδρόμιο STR_ERROR_CAN_T_RENAME_STATION :{WHITE}Δεν μπορεί να μετονομαστεί ο σταθμός... -STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... δρόμος ιδιοκτησία μιας πόλης +STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... δρόμος ιδιοκτησία κάποιας πόλης STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... ο δρόμος βλέπει σε λάθος κατεύθυνση STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... οι μη τερματικοί σταθμοί δε μπορούν να έχουν στροφές STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... οι μη τερματικοί σταθμοί δε μπορούν να έχουν διασταυρώσεις # Station destruction related errors STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Δεν μπορεί να αφαιρεθεί μέρος του σταθμού... -STR_ERROR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Πρέπει πρώτα να αφαιρέσετε τον σταθμό σιδηροδρόμου +STR_ERROR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Πρέπει να αφαιρεθεί ο σταθμός σιδηροδρόμου πρώτα STR_ERROR_CAN_T_REMOVE_BUS_STATION :{WHITE}Αδύνατο να αφαιρεθεί η στάση λεωφορείων... STR_ERROR_CAN_T_REMOVE_TRUCK_STATION :{WHITE}Δεν μπορεί να αφαιρεθεί ο σταθμός φορτηγών... STR_ERROR_CAN_T_REMOVE_PASSENGER_TRAM_STATION :{WHITE}Δεν μπορεί να αφαιρεθεί η στάση επιβατών τραμ... STR_ERROR_CAN_T_REMOVE_CARGO_TRAM_STATION :{WHITE}Δεν μπορεί να αφαιρεθεί ο σταθμός εμπορευμάτων τραμ... -STR_ERROR_MUST_REMOVE_ROAD_STOP_FIRST :{WHITE}Πρέπει να γίνει αφαίρεση της στάσης οχημάτων πρώτα +STR_ERROR_MUST_REMOVE_ROAD_STOP_FIRST :{WHITE}Πρέπει να αφαιρεθεί η στάση οχημάτων πρώτα STR_ERROR_THERE_IS_NO_STATION :{WHITE}... δεν υπάρχει σταθμός εδώ STR_ERROR_MUST_DEMOLISH_RAILROAD :{WHITE}Πρέπει να κατεδαφιστεί ο σιδηροδρομικός σταθμός πρώτα -STR_ERROR_MUST_DEMOLISH_BUS_STATION_FIRST :{WHITE}Πρέπει να κατεδαφιστεί η στάσης λεωφορείου πρώτα +STR_ERROR_MUST_DEMOLISH_BUS_STATION_FIRST :{WHITE}Πρέπει να κατεδαφιστεί η στάση λεωφορείου πρώτα STR_ERROR_MUST_DEMOLISH_TRUCK_STATION_FIRST :{WHITE}Πρέπει να κατεδαφιστεί ο σταθμός φορτηγών πρώτα STR_ERROR_MUST_DEMOLISH_PASSENGER_TRAM_STATION_FIRST :{WHITE}Πρέπει να κατεδαφιστεί ο επιβατικός σταθμός τραμ πρώτα STR_ERROR_MUST_DEMOLISH_CARGO_TRAM_STATION_FIRST :{WHITE}Πρέπει να κατεδαφιστεί ο εμπορευματικός σταθμός τραμ πρώτα @@ -5170,7 +5173,7 @@ STR_ERROR_MUST_DEMOLISH_DOCK_FIRST :{WHITE}Πρέπ STR_ERROR_MUST_DEMOLISH_AIRPORT_FIRST :{WHITE}Πρέπει να κατεδαφιστεί το αεροδρόμιο πρώτα # Waypoint related errors -STR_ERROR_WAYPOINT_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Προστίθεται σε περισσότερο από ένα υπάρχον σημείο καθοδήγησης +STR_ERROR_WAYPOINT_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Συνενώνει περισσότερα από ένα υπάρχοντα σημεία καθοδήγησης STR_ERROR_TOO_CLOSE_TO_ANOTHER_WAYPOINT :{WHITE}Πολύ κοντά σε άλλο σημείο καθοδήγησης STR_ERROR_CAN_T_BUILD_TRAIN_WAYPOINT :{WHITE}Δεν μπορεί να κατασκευαστεί σημείο καθοδήγησης τρένου εδώ... @@ -5178,7 +5181,7 @@ STR_ERROR_CAN_T_POSITION_BUOY_HERE :{WHITE}Δεν STR_ERROR_CAN_T_CHANGE_WAYPOINT_NAME :{WHITE}Αδύνατο να αλλαχτεί το όνομα του σημείου καθοδήγησης... STR_ERROR_CAN_T_REMOVE_TRAIN_WAYPOINT :{WHITE}Αδύνατο να αφαιρεθεί το σημείο καθοδήγησης τρένου από εδώ... -STR_ERROR_MUST_REMOVE_RAILWAYPOINT_FIRST :{WHITE}Πρέπει να αφαιρεθεί πρώτα το σημείο καθοδήγησης σιδηρόδρομου +STR_ERROR_MUST_REMOVE_RAILWAYPOINT_FIRST :{WHITE}Πρέπει να αφαιρεθεί το σημείο καθοδήγησης σιδηρόδρομου πρώτα STR_ERROR_BUOY_IN_THE_WAY :{WHITE}... σημαδούρα στη μέση STR_ERROR_BUOY_IS_IN_USE :{WHITE}... σημαδούρα σε χρήση από άλλη εταιρία! @@ -5224,7 +5227,7 @@ STR_ERROR_AUTOREPLACE_INCOMPATIBLE_REFIT :{WHITE}Το κ # Rail construction errors STR_ERROR_IMPOSSIBLE_TRACK_COMBINATION :{WHITE}Αδύνατος συνδυασμός σιδηροδρόμου -STR_ERROR_MUST_REMOVE_SIGNALS_FIRST :{WHITE}Πρέπει να γίνει αφαίρεση του σήματος πρώτα +STR_ERROR_MUST_REMOVE_SIGNALS_FIRST :{WHITE}Πρέπει να αφαιρεθεί το σήμα πρώτα STR_ERROR_NO_SUITABLE_RAILROAD_TRACK :{WHITE}Μη συμβατή σιδηροτροχιά STR_ERROR_MUST_REMOVE_RAILROAD_TRACK :{WHITE}Πρέπει να αφαιρεθεί ο σιδηρόδρομος πρώτα STR_ERROR_CROSSING_ON_ONEWAY_ROAD :{WHITE}Η δρόμος είναι μονόδρομος ή μπλοκαρισμένος @@ -5241,7 +5244,7 @@ STR_ERROR_THERE_ARE_NO_SIGNALS :{WHITE}... δε STR_ERROR_CAN_T_CONVERT_RAIL :{WHITE}Δε γίνεται να μετατραπεί ο τύπος της σιδηροτροχιάς εδώ... # Road construction errors -STR_ERROR_MUST_REMOVE_ROAD_FIRST :{WHITE}Πρέπει πρώτα να αφαιρεθεί ο δρόμος +STR_ERROR_MUST_REMOVE_ROAD_FIRST :{WHITE}Πρέπει να αφαιρεθεί ο δρόμος πρώτα STR_ERROR_ONEWAY_ROADS_CAN_T_HAVE_JUNCTION :{WHITE}... οι μονόδρομοι δεν μπορούν να έχουν διασταυρώσεις STR_ERROR_CAN_T_BUILD_ROAD_HERE :{WHITE}Δεν μπορεί να κατασκευαστεί δρόμος εδώ... STR_ERROR_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Δεν μπορεί να κατασκευαστεί τροχιοδρόμος εδώ... @@ -5273,7 +5276,7 @@ STR_ERROR_CAN_T_PLANT_TREE_HERE :{WHITE}Δεν # Bridge related errors STR_ERROR_CAN_T_BUILD_BRIDGE_HERE :{WHITE}Δεν μπορεί να κατασκευαστεί γέφυρα εδώ... -STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Πρέπει πρώτα να καταστραφεί η γέφυρα +STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Πρέπει να καταστραφεί η γέφυρα πρώτα STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Δεν γίνεται να ξεκινάει και να τελειώνει στο ίδιο σημείο STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Η γέφυρα δεν καταλήγει στο ίδιο επίπεδο STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Η γέφυρα είναι πολύ χαμηλή για το έδαφος @@ -5286,7 +5289,7 @@ STR_ERROR_BRIDGE_THROUGH_MAP_BORDER :{WHITE}Η γέ # Tunnel related errors STR_ERROR_CAN_T_BUILD_TUNNEL_HERE :{WHITE}Δεν μπορεί να κατασκευαστεί τούνελ εδώ... STR_ERROR_SITE_UNSUITABLE_FOR_TUNNEL :{WHITE}Ακατάλληλη τοποθεσία για είσοδο τούνελ -STR_ERROR_MUST_DEMOLISH_TUNNEL_FIRST :{WHITE}Πρέπει πρώτα να καταστραφεί το τούνελ +STR_ERROR_MUST_DEMOLISH_TUNNEL_FIRST :{WHITE}Πρέπει να καταστραφεί το τούνελ πρώτα STR_ERROR_ANOTHER_TUNNEL_IN_THE_WAY :{WHITE}Υπάρχει άλλο τούνελ στη μέση STR_ERROR_TUNNEL_THROUGH_MAP_BORDER :{WHITE}Το τούνελ θα καταλήξει εκτός του χάρτη STR_ERROR_UNABLE_TO_EXCAVATE_LAND :{WHITE}Αδύνατο να γίνει εκσκαφή γης στην άλλη άκρη του τούνελ @@ -5377,7 +5380,12 @@ STR_ERROR_CAN_T_CLONE_VEHICLE_LIST :{WHITE}... όλ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Δεν θα είναι κανένα όχημα διαθέσιμο STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Αλλάξτε τις ρύθμισεις NewGRF σας STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Κανένα όχημα δεν είναι διαθέσιμο ακόμη -STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Ξεκινήστε ένα νέο παιχνίδι αργότερα από {DATE_SHORT} η χρησιμοποιήστε ένα NewGRF το οποίο προσφέρει νωρίτερα οχήματα +STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Ξεκινήστε ένα νέο παιχνίδι αργότερα από {DATE_SHORT} η χρησιμοποιήστε ένα NewGRF το οποίο προσφέρει πρώιμα οχήματα + +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL :{WHITE}Δεν υπάρχουν διαθέσιμοι τύποι δρόμων που μπορούν να κατασκευαστούν από πόλη +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Αλλάξτε τις ρύθμισεις NewGRF σας +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET :{WHITE}Δεν υπάρχουν διαθέσιμοι τύποι δρόμων που μπορούν να κατασκευαστούν από πόλη ακόμη +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET_EXPLANATION :{WHITE}Ξεκινήστε ένα νέο παιχνίδι μετά από την {DATE_SHORT} ή χρησιμοποιήστε ένα NewGRF που παρέχει πρώιμους τύπους δρόμων που μπορούν να κατασκευαστούν από πόλη # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Δεν μπορεί το τρένο να περάσει σήμα με κίνδυνο... @@ -5420,7 +5428,7 @@ STR_ERROR_NO_STOP_COMPATIBLE_TRAM_TYPE :{WHITE}Δεν STR_ERROR_NO_STOP_ARTICULATED_VEHICLE :{WHITE}Δεν υπάρχουν στάσεις που να είναι κατάλληλες για αρθρωτά οδικά οχήματα.{}Τα αρθρωτά οδικά οχήματα απαιτούν μια στάση-πέρασμα (drive-through) και όχι κλειστή στάση STR_ERROR_AIRPORT_NO_PLANES :{WHITE}Το αεροπλάνο αυτό δεν μπορεί να προσγειωθεί σε αυτό το ελικοδρόμιο STR_ERROR_AIRPORT_NO_HELICOPTERS :{WHITE}Το ελικόπτερο αυτό δεν μπορεί να προσγειωθεί σε αυτό το αεροδρόμιο -STR_ERROR_NO_RAIL_WAYPOINT :{WHITE}Δεν υπάρχει σιδηροδρομικό σημείο +STR_ERROR_NO_RAIL_WAYPOINT :{WHITE}Δεν υπάρχει σημείο καθοδήγησης σιδηροδρόμου STR_ERROR_NO_BUOY :{WHITE}Δεν υπάρχει σημαδούρα # Timetable related errors @@ -5912,10 +5920,10 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} -STR_CURRENCY_SHORT_KILO :{NBSP}k -STR_CURRENCY_SHORT_MEGA :{NBSP}m -STR_CURRENCY_SHORT_GIGA :{NBSP}Δις -STR_CURRENCY_SHORT_TERA :{NBSP}tn +STR_CURRENCY_SHORT_KILO :{NBSP}χιλ. +STR_CURRENCY_SHORT_MEGA :{NBSP}εκ. +STR_CURRENCY_SHORT_GIGA :{NBSP}δισ. +STR_CURRENCY_SHORT_TERA :{NBSP}τρισ. STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} diff --git a/src/lang/hebrew.txt b/src/lang/hebrew.txt index 5b3d7b6d..f08ab5f0 100644 --- a/src/lang/hebrew.txt +++ b/src/lang/hebrew.txt @@ -2982,9 +2982,9 @@ STR_GENERATION_PROGRESS :{WHITE}{NUM}% : STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}יצור עולם STR_GENERATION_RIVER_GENERATION :{BLACK}יצירת נהרות -STR_GENERATION_TREE_GENERATION :{BLACK}יצירת עצים -STR_GENERATION_OBJECT_GENERATION :{BLACK}יצירת מבנים בלתי ניידים STR_GENERATION_CLEARING_TILES :{BLACK}יצירת איזורים סלעיים +STR_GENERATION_OBJECT_GENERATION :{BLACK}יצירת מבנים בלתי ניידים +STR_GENERATION_TREE_GENERATION :{BLACK}יצירת עצים STR_GENERATION_SETTINGUP_GAME :{BLACK}קביעת הגדרות המשחק STR_GENERATION_PREPARING_TILELOOP :{BLACK}מריץ לולאה על כל המשבצות STR_GENERATION_PREPARING_SCRIPT :{BLACK}מריץ סקריפט @@ -4691,6 +4691,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}שנה STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}כלי תחבורה עדיין לא זמינים STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}התחל משחק חדש אחרי {DATE_SHORT} או השתמש ב-NewGRF המכיל כלי תחבורה קדומים + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}לא ניתן להכריח את הרכבת לעבור ברמזור בעת סכנה... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}לא ניתן להפוך את כיוון הנסיעה של הרכבת... diff --git a/src/lang/hindi.txt b/src/lang/hindi.txt index ffa56608..f51febbd 100644 --- a/src/lang/hindi.txt +++ b/src/lang/hindi.txt @@ -1574,6 +1574,7 @@ STR_ERROR_CAN_T_SELL_TRAIN :{WHITE}रे + # Specific vehicle errors STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}ट्रेन की दिशा उलट नहीं सकते... diff --git a/src/lang/hungarian.txt b/src/lang/hungarian.txt index ec9cc385..0c9cadcc 100644 --- a/src/lang/hungarian.txt +++ b/src/lang/hungarian.txt @@ -459,7 +459,7 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}A válla STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Gazdasági épületek listázása, ipari lánc megnyitása, vagy új gazdasági épületek építése STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Vonatlista megnyitása. Ctrl+kattintással válszthatsz a csoport- vagy járműlista között STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Közúti járműlista megnyitása. Ctrl+kattintással válszthatsz a csoport- vagy járműlista között -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Hajóista megnyitása. Ctrl+kattintással válszthatsz a csoport- vagy járműlista között +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Hajólista megnyitása. Ctrl+kattintással válszthatsz a csoport- vagy járműlista között STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Repülőgéplista megnyitása. Ctrl+kattintással válszthatsz a csoport- vagy járműlista között STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Nagyítás STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Kicsinyítés @@ -3453,10 +3453,13 @@ STR_GENERATION_ABORT_MESSAGE :{YELLOW}Tényle STR_GENERATION_PROGRESS :{WHITE}{NUM}% kész STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Világ létrehozása +STR_GENERATION_LANDSCAPE_GENERATION :{BLACK}Tájkép generálás STR_GENERATION_RIVER_GENERATION :{BLACK}Folyó generálás -STR_GENERATION_TREE_GENERATION :{BLACK}Fák generálása -STR_GENERATION_OBJECT_GENERATION :{BLACK}Mozgathatatlan létesítmények létrehozása STR_GENERATION_CLEARING_TILES :{BLACK}Durva és köves területek generálása +STR_GENERATION_TOWN_GENERATION :{BLACK}Város generálás +STR_GENERATION_INDUSTRY_GENERATION :{BLACK}Ipar generálás +STR_GENERATION_OBJECT_GENERATION :{BLACK}Mozgathatatlan létesítmények létrehozása +STR_GENERATION_TREE_GENERATION :{BLACK}Fák generálása STR_GENERATION_SETTINGUP_GAME :{BLACK}Játék beállítása STR_GENERATION_PREPARING_TILELOOP :{BLACK}Mezők véglegesítése STR_GENERATION_PREPARING_SCRIPT :{BLACK}Futó szkript @@ -4453,7 +4456,7 @@ STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Nincs ára STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Szabad útra vár STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}A következő repülőtér túl messze van -STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - Ütban {0:STATION} állomás felé +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - Útban {0:STATION} állomás felé STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} - Nincs utasítás STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Útban {0:WAYPOINT} felé STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Útban {0:DEPOT} felé @@ -5343,6 +5346,10 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Változt STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Még nincsenek elérhető járművek STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Indíts új játékot {DATE_SHORT} után, vagy használj olyan NewGRF-et, ami tartalmaz megfelelően korai járműveket! +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL :{WHITE}Nincs városban építhető út-típus +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Saját NewGRF konfiguráció módosítása +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET :{WHITE}Még nem érhető el városban építhető úttípus + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Nem haladhatja meg a vonat a megállj jelzést... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Nem fordíthatod meg a vonatot... diff --git a/src/lang/icelandic.txt b/src/lang/icelandic.txt index 320ebcb1..e0c9bb1a 100644 --- a/src/lang/icelandic.txt +++ b/src/lang/icelandic.txt @@ -2692,9 +2692,9 @@ STR_GENERATION_PROGRESS :{WHITE}{NUM}% t STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Sköpun heims STR_GENERATION_RIVER_GENERATION :{BLACK}Bý til ár -STR_GENERATION_TREE_GENERATION :{BLACK}Gróðursetning trjáa -STR_GENERATION_OBJECT_GENERATION :{BLACK}Staðsetning fastra hluta STR_GENERATION_CLEARING_TILES :{BLACK}Hrjúft og grýtt landslag +STR_GENERATION_OBJECT_GENERATION :{BLACK}Staðsetning fastra hluta +STR_GENERATION_TREE_GENERATION :{BLACK}Gróðursetning trjáa STR_GENERATION_SETTINGUP_GAME :{BLACK}Set upp leik STR_GENERATION_PREPARING_TILELOOP :{BLACK}Keyri reitalykkju STR_GENERATION_PREPARING_SCRIPT :{BLACK}Keyri forskrift @@ -4259,6 +4259,7 @@ STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... öku STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Engin farartæki verða í boði STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Breyta NewGRF stillingunum þínum + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Get ekki látið lest fara framhjá hættumerki... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Get ekki snúið lest við... diff --git a/src/lang/ido.txt b/src/lang/ido.txt index b229f9bb..e7ddb7a9 100644 --- a/src/lang/ido.txt +++ b/src/lang/ido.txt @@ -1600,6 +1600,7 @@ STR_ERROR_TOO_MANY_VEHICLES_IN_GAME :{WHITE}Tro mult + # Specific vehicle errors diff --git a/src/lang/indonesian.txt b/src/lang/indonesian.txt index 8dbf0aa9..7fdbe366 100644 --- a/src/lang/indonesian.txt +++ b/src/lang/indonesian.txt @@ -3330,9 +3330,9 @@ STR_GENERATION_PROGRESS :{WHITE}{NUM}% s STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Pembuatan Bentang Darat STR_GENERATION_RIVER_GENERATION :{BLACK}Pembuatan Sungai -STR_GENERATION_TREE_GENERATION :{BLACK}Membuat pepohonan -STR_GENERATION_OBJECT_GENERATION :{BLACK}Membuat objek tak bergerak STR_GENERATION_CLEARING_TILES :{BLACK}Membersihan area +STR_GENERATION_OBJECT_GENERATION :{BLACK}Membuat objek tak bergerak +STR_GENERATION_TREE_GENERATION :{BLACK}Membuat pepohonan STR_GENERATION_SETTINGUP_GAME :{BLACK}Mengatur permainan STR_GENERATION_PREPARING_TILELOOP :{BLACK}Menyiapkan area loop STR_GENERATION_PREPARING_SCRIPT :{BLACK}Menjalankan skrip @@ -5164,6 +5164,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Tukarkan STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Belum ada kendaraan yang tersedia saat ini STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Mulai permainan baru setelah {DATE_SHORT} atau gunakan NewGRF yang menyediakan kendaraan awal + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Tidak dapat memaksa kereta melanggar sinyal pada saat bahaya... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Tidak dapat memutar balik arah kereta... diff --git a/src/lang/irish.txt b/src/lang/irish.txt index 46091c3c..64997b8b 100644 --- a/src/lang/irish.txt +++ b/src/lang/irish.txt @@ -3117,9 +3117,9 @@ STR_GENERATION_PROGRESS :{WHITE}{NUM}% c STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Domhan a chruthú STR_GENERATION_RIVER_GENERATION :{BLACK}Giniúint aibhneacha -STR_GENERATION_TREE_GENERATION :{BLACK}Crainn a chruthú -STR_GENERATION_OBJECT_GENERATION :{BLACK}Cruthú oibiachtaí STR_GENERATION_CLEARING_TILES :{BLACK}Limistear garbh agus carraigeach a chruthú +STR_GENERATION_OBJECT_GENERATION :{BLACK}Cruthú oibiachtaí +STR_GENERATION_TREE_GENERATION :{BLACK}Crainn a chruthú STR_GENERATION_SETTINGUP_GAME :{BLACK}Cluiche á chumrú STR_GENERATION_PREPARING_TILELOOP :{BLACK}Lúb tíleanna á rith STR_GENERATION_PREPARING_SCRIPT :{BLACK}Script reatha @@ -4869,6 +4869,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Athraigh STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Níl aon fheithicil ar fáil fós STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Tosaigh cluiche nua ó {DATE_SHORT} ar aghaidh nó úsáid NewGRF lena gcuirtear feithiclí luath ar fáil + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Ní féidir iallach a chur ar thraein dul thar comhartha agus contúirt ann... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Ní féidir treo na traenach a aisiompú... diff --git a/src/lang/italian.txt b/src/lang/italian.txt index 10c1284d..1a6a7066 100644 --- a/src/lang/italian.txt +++ b/src/lang/italian.txt @@ -3431,9 +3431,9 @@ STR_GENERATION_PROGRESS :{WHITE}{NUM}% c STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Generazione mondo STR_GENERATION_RIVER_GENERATION :{BLACK}Generazione fiumi -STR_GENERATION_TREE_GENERATION :{BLACK}Generazione alberi -STR_GENERATION_OBJECT_GENERATION :{BLACK}Generazione oggetti inamovibili STR_GENERATION_CLEARING_TILES :{BLACK}Generazione aree brulle e rocciose +STR_GENERATION_OBJECT_GENERATION :{BLACK}Generazione oggetti inamovibili +STR_GENERATION_TREE_GENERATION :{BLACK}Generazione alberi STR_GENERATION_SETTINGUP_GAME :{BLACK}Impostazione partita STR_GENERATION_PREPARING_TILELOOP :{BLACK}Generazione caselle del terreno STR_GENERATION_PREPARING_SCRIPT :{BLACK}Esecuzione script @@ -5320,6 +5320,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Cambiare STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Non sono ancora disponibili veicoli STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Iniziare una nuova partita dopo il {DATE_SHORT} o utilizzare un NewGRF che fornisca veicoli a partire da date antecedenti + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Impossibile far passare al treno un segnale di pericolo... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Impossibile invertire la direzione del treno... diff --git a/src/lang/japanese.txt b/src/lang/japanese.txt index a130c506..077f93db 100644 --- a/src/lang/japanese.txt +++ b/src/lang/japanese.txt @@ -3204,9 +3204,9 @@ STR_GENERATION_PROGRESS :{WHITE}{NUM}% STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM}/{NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}マップ生成 STR_GENERATION_RIVER_GENERATION :{BLACK}河川を生成中 -STR_GENERATION_TREE_GENERATION :{BLACK}植林中 -STR_GENERATION_OBJECT_GENERATION :{BLACK}灯台/電波塔配置中 STR_GENERATION_CLEARING_TILES :{BLACK}岩石/荒地を設定中 +STR_GENERATION_OBJECT_GENERATION :{BLACK}灯台/電波塔配置中 +STR_GENERATION_TREE_GENERATION :{BLACK}植林中 STR_GENERATION_SETTINGUP_GAME :{BLACK}ゲームを設定中 STR_GENERATION_PREPARING_TILELOOP :{BLACK}タイルループを実行中 STR_GENERATION_PREPARING_SCRIPT :{BLACK}スクリプト実行中 @@ -4992,6 +4992,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}NewGRF STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}利用可能な輸送機器がありません STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}{DATE_SHORT}年以降に開始するか、これより早い時期に輸送機器が開発されるNewGRFを利用して下さい + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}赤信号を無視させることができません STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}列車を反転できません diff --git a/src/lang/korean.txt b/src/lang/korean.txt index 2457eea5..996e8490 100644 --- a/src/lang/korean.txt +++ b/src/lang/korean.txt @@ -3390,10 +3390,13 @@ STR_GENERATION_ABORT_MESSAGE :{YELLOW}세계 STR_GENERATION_PROGRESS :{WHITE}{NUM}% 완료 STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}지형 만드는 중 +STR_GENERATION_LANDSCAPE_GENERATION :{BLACK}지형 생성 STR_GENERATION_RIVER_GENERATION :{BLACK}강 제작 -STR_GENERATION_TREE_GENERATION :{BLACK}나무 심는 중 -STR_GENERATION_OBJECT_GENERATION :{BLACK}움직일수 없는 객체 만드는 중 STR_GENERATION_CLEARING_TILES :{BLACK}거친 암석지대 만드는 중 +STR_GENERATION_TOWN_GENERATION :{BLACK}도시 생성 +STR_GENERATION_INDUSTRY_GENERATION :{BLACK}산업시설 생성 +STR_GENERATION_OBJECT_GENERATION :{BLACK}움직일수 없는 객체 만드는 중 +STR_GENERATION_TREE_GENERATION :{BLACK}나무 심는 중 STR_GENERATION_SETTINGUP_GAME :{BLACK}게임 설정 중 STR_GENERATION_PREPARING_TILELOOP :{BLACK}타일 루프 실행 중 STR_GENERATION_PREPARING_SCRIPT :{BLACK}스크립트 생성 중 @@ -5276,9 +5279,14 @@ STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... 차 STR_ERROR_CAN_T_CLONE_VEHICLE_LIST :{WHITE}... 동일한 구성이 아닌 차량이 있습니다 STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}사용할 수 있는 차량이 모두 없어질 것입니다 -STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}NewGRF 설정을 변경하십시오 +STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}NewGRF 설정을 변경하세요 STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}사용할 수 있는 차량이 하나도 없습니다 -STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}{DATE_SHORT}년 이후에 새로운 게임을 시작하거나 차량이 더 빨리 개발되는 NewGRF을 사용하십시오. +STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}{DATE_SHORT}년 이후에 새로운 게임을 시작하거나 차량이 더 빨리 개발되는 NewGRF을 사용하세요 + +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL :{WHITE}도시가 만들 수 있는 도로 종류가 없습니다 +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}NewGRF 설정을 변경하세요 +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET :{WHITE}아직 도시가 만들 수 있는 도로 종류가 없습니다 +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET_EXPLANATION :{WHITE}{DATE_SHORT}년 이후에 새로운 게임을 시작하거나 도시가 더 빨리 사용할 수 있는 도로 종류를 추가하는 NewGRF를 사용하세요 # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}너무 위험해서 신호를 무시할 수 없습니다... diff --git a/src/lang/latin.txt b/src/lang/latin.txt index 40c09de3..e881e6cc 100644 --- a/src/lang/latin.txt +++ b/src/lang/latin.txt @@ -3066,9 +3066,9 @@ STR_GENERATION_PROGRESS :{WHITE}{NUM}% f STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Creatio orbis terrarum STR_GENERATION_RIVER_GENERATION :{BLACK}Creatio fluminum -STR_GENERATION_TREE_GENERATION :{BLACK}Creatio arborum -STR_GENERATION_OBJECT_GENERATION :{BLACK}Creatio ornamentorum STR_GENERATION_CLEARING_TILES :{BLACK}Creatio terrarum saxosarum asperarumque +STR_GENERATION_OBJECT_GENERATION :{BLACK}Creatio ornamentorum +STR_GENERATION_TREE_GENERATION :{BLACK}Creatio arborum STR_GENERATION_SETTINGUP_GAME :{BLACK}Ludum instruens STR_GENERATION_PREPARING_TILELOOP :{BLACK}Tegularum cursum exsequens STR_GENERATION_PREPARING_SCRIPT :{BLACK}Scriptum exsequens @@ -4756,6 +4756,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Muta con STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Nulla vehicula adhuc parabilia sunt STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Incipe ludum post {DATE_SHORT} sive eligere idoneum NewGRF quod vehicula antiqua parat + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Non licet tramen impellere post signale... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Non licet tramini cursum reflectere... diff --git a/src/lang/latvian.txt b/src/lang/latvian.txt index cc798c17..6ec44fdf 100644 --- a/src/lang/latvian.txt +++ b/src/lang/latvian.txt @@ -3395,9 +3395,9 @@ STR_GENERATION_PROGRESS :{WHITE}{NUM}% p STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Pasaules radīšana STR_GENERATION_RIVER_GENERATION :{BLACK}Upes radīšana -STR_GENERATION_TREE_GENERATION :{BLACK}Koka radīšana -STR_GENERATION_OBJECT_GENERATION :{BLACK}Objekta radīšana STR_GENERATION_CLEARING_TILES :{BLACK}Nelīdzena un akmeņaina apvidus radīšana +STR_GENERATION_OBJECT_GENERATION :{BLACK}Objekta radīšana +STR_GENERATION_TREE_GENERATION :{BLACK}Koka radīšana STR_GENERATION_SETTINGUP_GAME :{BLACK}Iestatīt spēli STR_GENERATION_PREPARING_TILELOOP :{BLACK}Skrejošs nosaukums STR_GENERATION_PREPARING_SCRIPT :{BLACK}Strādājošs skripts @@ -5290,6 +5290,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Mainiet STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Transportlīdzekļi vēl nav pieejami STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Sākt jaunu spēli pēc {DATE_SHORT} vai izmantot NewGRF, kas nodrošina agrīnus transporta līdzekļus + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Vilciens nevar šķērsot signālu briesmās... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Vilcienu nevar apgriezt... diff --git a/src/lang/lithuanian.txt b/src/lang/lithuanian.txt index 951b4c52..2db95eb7 100644 --- a/src/lang/lithuanian.txt +++ b/src/lang/lithuanian.txt @@ -692,7 +692,7 @@ STR_NEWS_MENU_DELETE_ALL_MESSAGES :Pašalinti visa STR_ABOUT_MENU_LAND_BLOCK_INFO :Žemės ploto informacija STR_ABOUT_MENU_HELP :Pagalba ir gidai STR_ABOUT_MENU_TOGGLE_CONSOLE :Perjungti konsolę -STR_ABOUT_MENU_AI_DEBUG :AI / GameScript derinimas +STR_ABOUT_MENU_AI_DEBUG :DI / „GameScript“ derinimas STR_ABOUT_MENU_SCREENSHOT :Ekrano nuotrauka STR_ABOUT_MENU_SHOW_FRAMERATE :Kadrų dažniai STR_ABOUT_MENU_ABOUT_OPENTTD :Apie „OpenTTD“ @@ -1095,7 +1095,13 @@ STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Įkelti STR_GAME_OPTIONS_CAPTION :{WHITE}Pagrindinės nuostatos +STR_GAME_OPTIONS_VOLUME :Tūris +STR_GAME_OPTIONS_VOLUME_0 :0% +STR_GAME_OPTIONS_VOLUME_25 :25% +STR_GAME_OPTIONS_VOLUME_50 :50% +STR_GAME_OPTIONS_VOLUME_75 :75% +STR_GAME_OPTIONS_VOLUME_100 :100% STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Valiuta STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Valiutos pasirinkimas @@ -1151,6 +1157,10 @@ STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Pasirink # Autosave dropdown ###length 5 STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Išjungta +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_10_MINUTES :Kas 10min. +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_30_MINUTES :Kas 30min. +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_60_MINUTES :Kas 60min. +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_120_MINUTES :Kas 120min. STR_GAME_OPTIONS_LANGUAGE :{BLACK}Kalba STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Pasirinkite aplinkos kalbą @@ -1789,6 +1799,7 @@ STR_CONFIG_SETTING_LOADING_INDICATORS :Rodyti krovos i STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Krovos indikatoriai rodomi virš pakraunamų bei iškraunamų tansporto priemonių ###length 3 +STR_CONFIG_SETTING_TIMETABLE_MODE_DAYS :Dienos STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Rodyti arvykimą ir išvykimą tvarkaraščiuose: {STRING} STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Tvarkaraščiuose rodyti numatomas atvykimo ir išvykimo datas @@ -2302,10 +2313,12 @@ STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Rodyti a STR_LIVERY_SHIP_TOOLTIP :{BLACK}Rodyti laivų spalvas STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Rodyti lėktuvų spalvas STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Rodyti traukinių grupių spalvas +STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Rodyti laivų grupių spalvas STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Pasirinkite pirminę spalvą pasirinktai schemai. Spustelėjus laikant nuspaustą Ctrl klavišą, pasirinkta spava bus nustatyta visoms schemoms. STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Pasirinkite antrinę spalvą pasirinktai schemai. Spustelėjus laikant nuspaustą Ctrl klavišą, pasirinkta spava bus nustatyta visoms schemoms. STR_LIVERY_PANEL_TOOLTIP :{BLACK}Pasirinkite objektą, kurio spalvas norite pakeisti. Spragsint laikant nuspaustą Ctrl klavišą, galėsite pasirinkti iškart kelis objektus. STR_LIVERY_TRAIN_GROUP_EMPTY :Nėra nustatytų traukinių grupių +STR_LIVERY_SHIP_GROUP_EMPTY :Nėra nustatytų laivų grupių ###length 23 STR_LIVERY_DEFAULT :Numatytosios spalvos @@ -3291,6 +3304,7 @@ STR_MAPGEN_DESERT_COVERAGE_DOWN :{BLACK}Sumažin STR_MAPGEN_DESERT_COVERAGE_TEXT :{BLACK}{NUM}% STR_MAPGEN_TERRAIN_TYPE :{BLACK}Vietovės tipas: STR_MAPGEN_SEA_LEVEL :{BLACK}Jūros lygis: +STR_MAPGEN_SEA_LEVEL_TOOLTIP :{BLACK}Pasirinkti jūros lygį STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Upių kiekis: STR_MAPGEN_SMOOTHNESS :{BLACK}Jautrumas: STR_MAPGEN_VARIETY :{BLACK}Įvairovės paskirstymas: @@ -3369,9 +3383,9 @@ STR_GENERATION_PROGRESS :{WHITE}{NUM}% u STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Pasaulio generacija STR_GENERATION_RIVER_GENERATION :{BLACK}Upių generavimas -STR_GENERATION_TREE_GENERATION :{BLACK}Medžių generacija -STR_GENERATION_OBJECT_GENERATION :{BLACK}Nejudinama generacija STR_GENERATION_CLEARING_TILES :{BLACK}Daubų ir uolų generacija +STR_GENERATION_OBJECT_GENERATION :{BLACK}Nejudinama generacija +STR_GENERATION_TREE_GENERATION :{BLACK}Medžių generacija STR_GENERATION_SETTINGUP_GAME :{BLACK}Sukurti zaidima STR_GENERATION_PREPARING_TILELOOP :{BLACK}Paleidžiamas tile-loop STR_GENERATION_PREPARING_SCRIPT :{BLACK}Skriptas veikia @@ -4702,7 +4716,7 @@ STR_DATE_YEAR_TOOLTIP :{BLACK}Pasirink # AI debug window -STR_AI_DEBUG :{WHITE}DI / GameScript derinimas +STR_AI_DEBUG :{WHITE}DI / „GameScript“ derinimas STR_AI_DEBUG_NAME_AND_VERSION :{BLACK}{STRING} (v{NUM}) STR_AI_DEBUG_NAME_TOOLTIP :{BLACK}Skripto pavadinimas STR_AI_DEBUG_SETTINGS :{BLACK}Nustatymai @@ -4723,9 +4737,10 @@ STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Patikrin STR_ERROR_AI_NO_AI_FOUND :Nerasta jokio tinkamo DI.{}Šis DI yra netikras ir nieko nedarys.{}Galite parsisiųsti keletą DI per 'Turinio internete' sistemą. STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Vienas iš paleistų skriptų išsijungė. Praneškite apie tai šio skripto autoriui su skripto debug lango vaizdu -STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}DI / GameScript derinimo langas yra pasiekiamas tik iš serverio +STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}DI / „GameScript“ derinimo langas yra pasiekiamas tik iš serverio # AI configuration window +STR_AI_CONFIG_CAPTION_AI :{WHITE}DI nustatymai STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}Žaidimo skriptas bus įkeltas sekančiame žaidime STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}DI'ai bus įkelti sekančiame žaidime STR_AI_CONFIG_HUMAN_PLAYER :Žaidėjas Žmogus @@ -4772,6 +4787,7 @@ STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Teminio STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Mini žemėlapio kopija # Script Parameters +STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parametrai STR_AI_SETTINGS_CAPTION_AI :DI STR_AI_SETTINGS_CLOSE :{BLACK}Uždaryti STR_AI_SETTINGS_RESET :{BLACK}Atstatyti @@ -5195,6 +5211,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Pakeiski STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Kol kas negalima įsigyti jokių transporto priemonių STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Pradėkite žaidimą vėliau, nei {DATE_SHORT}, arba įdiekite plėtinių, kurie leistų įsigyti transporto priemonių šiame ankstyvame laikotarpyje + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Neįmanoma priversti traukinio važiuoti nesaugiai... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Traukinio vaziavimo krypties pakeisti negalima... diff --git a/src/lang/luxembourgish.txt b/src/lang/luxembourgish.txt index 31ab6039..f719e852 100644 --- a/src/lang/luxembourgish.txt +++ b/src/lang/luxembourgish.txt @@ -3390,9 +3390,9 @@ STR_GENERATION_PROGRESS :{WHITE}{NUM}% k STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Welt-Generatioun STR_GENERATION_RIVER_GENERATION :{BLACK}Generéiren vu Flëss -STR_GENERATION_TREE_GENERATION :{BLACK}Baam Generatioun -STR_GENERATION_OBJECT_GENERATION :{BLACK}Objets-Generatioun STR_GENERATION_CLEARING_TILES :{BLACK}Generatioun vu knubbelegem a stengege Land +STR_GENERATION_OBJECT_GENERATION :{BLACK}Objets-Generatioun +STR_GENERATION_TREE_GENERATION :{BLACK}Baam Generatioun STR_GENERATION_SETTINGUP_GAME :{BLACK}Spill gëtt opgestallt STR_GENERATION_PREPARING_TILELOOP :{BLACK}Felder-Verdeelung STR_GENERATION_PREPARING_SCRIPT :{BLACK}Lafende Script @@ -5279,6 +5279,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Änner d STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Nach keng Gefierer verfügbar STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}En neit Spill no {DATE_SHORT} ufenken oder benotz en NewGRF den al Gefierer erlaabt + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Kann den Zuch net bei Gefor durch d'Signal schécken... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Kann d'Richtung vum Zuch net änneren... diff --git a/src/lang/macedonian.txt b/src/lang/macedonian.txt index 34310c24..c8d9571d 100644 --- a/src/lang/macedonian.txt +++ b/src/lang/macedonian.txt @@ -2117,6 +2117,7 @@ STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... во + # Specific vehicle errors diff --git a/src/lang/malay.txt b/src/lang/malay.txt index 390c9497..18df1f31 100644 --- a/src/lang/malay.txt +++ b/src/lang/malay.txt @@ -2588,9 +2588,9 @@ STR_GENERATION_PROGRESS :{WHITE}{NUM}% s STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Penjanaan dunia STR_GENERATION_RIVER_GENERATION :{BLACK}Penjanaan sungai -STR_GENERATION_TREE_GENERATION :{BLACK}Penjanaan pokok -STR_GENERATION_OBJECT_GENERATION :{BLACK}Penjanaan objek-objek yang tidak boleh digerakkan STR_GENERATION_CLEARING_TILES :{BLACK}Penjanaan kawasan berbatu dan tanah kasar +STR_GENERATION_OBJECT_GENERATION :{BLACK}Penjanaan objek-objek yang tidak boleh digerakkan +STR_GENERATION_TREE_GENERATION :{BLACK}Penjanaan pokok STR_GENERATION_SETTINGUP_GAME :{BLACK}Permainan sedang diuruskan STR_GENERATION_PREPARING_TILELOOP :{BLACK}Lingkaran petak sedang dijalankan STR_GENERATION_PREPARING_SCRIPT :{BLACK}Skrip sedang berjalan @@ -4165,6 +4165,7 @@ STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... kend STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Mulakan permainan baru selepas {DATE_SHORT} atau gunakan NewGRF yang digunakan kenderaan terdahulu + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Keretapi tidak boleh melanggar isyarat kerana terdapat kemungkinan bahaya... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Keretapi tidak boleh ditukar arah... diff --git a/src/lang/maltese.txt b/src/lang/maltese.txt index 044b9c04..ae1e7f47 100644 --- a/src/lang/maltese.txt +++ b/src/lang/maltese.txt @@ -1468,6 +1468,7 @@ STR_ERROR_TOO_MANY_VEHICLES_IN_GAME :{WHITE}Hemm wis + # Specific vehicle errors STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Ma tistax tbiddel id-direzzjoni tal-ferrovija... diff --git a/src/lang/marathi.txt b/src/lang/marathi.txt index 88f4c547..14de691a 100644 --- a/src/lang/marathi.txt +++ b/src/lang/marathi.txt @@ -1867,6 +1867,7 @@ STR_ERROR_BRIDGE_THROUGH_MAP_BORDER :{WHITE}पू + # Specific vehicle errors diff --git a/src/lang/norwegian_bokmal.txt b/src/lang/norwegian_bokmal.txt index f0412977..ee1685b1 100644 --- a/src/lang/norwegian_bokmal.txt +++ b/src/lang/norwegian_bokmal.txt @@ -3391,10 +3391,13 @@ STR_GENERATION_ABORT_MESSAGE :{YELLOW}Vil du STR_GENERATION_PROGRESS :{WHITE}{NUM}{NBSP}% ferdig STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Generer en verden +STR_GENERATION_LANDSCAPE_GENERATION :{BLACK}Landskapsgenerering STR_GENERATION_RIVER_GENERATION :{BLACK}Skap elver -STR_GENERATION_TREE_GENERATION :{BLACK}Tregenerering -STR_GENERATION_OBJECT_GENERATION :{BLACK}Objektgenerering STR_GENERATION_CLEARING_TILES :{BLACK}Generering av ulendt og steinete område +STR_GENERATION_TOWN_GENERATION :{BLACK}Bygenerering +STR_GENERATION_INDUSTRY_GENERATION :{BLACK}Industrigenerering +STR_GENERATION_OBJECT_GENERATION :{BLACK}Objektgenerering +STR_GENERATION_TREE_GENERATION :{BLACK}Tregenerering STR_GENERATION_SETTINGUP_GAME :{BLACK}Klargjør spillet STR_GENERATION_PREPARING_TILELOOP :{BLACK}Kjører ruteløkke STR_GENERATION_PREPARING_SCRIPT :{BLACK}Kjører skript @@ -5281,6 +5284,11 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Endre di STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Ingen kjøretøyer er tilgjengelig ennå STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Starte et nytt spill etter {DATE_SHORT}, eller bruke en NewGRF som inneholder tidlige kjøretøy +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL :{WHITE}Ingen veityper som kan bygges i byer er tilgjengelig +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Endre NewGRF-innstillingene dine +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET :{WHITE}Ingen veityper som kan bygges i byer er tilgjengelig ennå +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET_EXPLANATION :{WHITE}Start et nytt spill etter {DATE_SHORT} eller bruk en NewGRF som tilbyr tidlige veityper som kan bygges av byer + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Kan ikke tvinge tog til å passere signal ved fare... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Kan ikke reversere toget... diff --git a/src/lang/norwegian_nynorsk.txt b/src/lang/norwegian_nynorsk.txt index 63be836b..b14f3c2f 100644 --- a/src/lang/norwegian_nynorsk.txt +++ b/src/lang/norwegian_nynorsk.txt @@ -2758,9 +2758,9 @@ STR_GENERATION_PROGRESS :{WHITE}{NUM}{NB STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Generer ei verd STR_GENERATION_RIVER_GENERATION :{BLACK}Elvgenerering -STR_GENERATION_TREE_GENERATION :{BLACK}Tregenerering -STR_GENERATION_OBJECT_GENERATION :{BLACK}Ikkje-flyttbar generering STR_GENERATION_CLEARING_TILES :{BLACK}Generering av ulendt og steinete område +STR_GENERATION_OBJECT_GENERATION :{BLACK}Ikkje-flyttbar generering +STR_GENERATION_TREE_GENERATION :{BLACK}Tregenerering STR_GENERATION_SETTINGUP_GAME :{BLACK}Klargjer spelet STR_GENERATION_PREPARING_TILELOOP :{BLACK}Køyrer rute-løkkje STR_GENERATION_PREPARING_SCRIPT :{BLACK}Kjøyrande script @@ -4400,6 +4400,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Byt NewG STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Det finst ikkje nokon køyretøy enno STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Start spelet etter {DATE_SHORT} eller bruk ein GRF som har køyretøy frå tidlegare tider + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Kan ikkje tvinge tog til å passere signal ved fare... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Kan ikkje snu toget... diff --git a/src/lang/persian.txt b/src/lang/persian.txt index 4db5c798..8f4f2c9c 100644 --- a/src/lang/persian.txt +++ b/src/lang/persian.txt @@ -2588,9 +2588,9 @@ STR_GENERATION_PROGRESS :{WHITE}{NUM}% STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}ساخت دنیا STR_GENERATION_RIVER_GENERATION :{BLACK}ساخت رودخانه -STR_GENERATION_TREE_GENERATION :{BLACK}ساختن درخت -STR_GENERATION_OBJECT_GENERATION :{BLACK}ساختن اشیاء STR_GENERATION_CLEARING_TILES :{BLACK}ساختن مناطق ناهموار و صخره ها +STR_GENERATION_OBJECT_GENERATION :{BLACK}ساختن اشیاء +STR_GENERATION_TREE_GENERATION :{BLACK}ساختن درخت STR_GENERATION_SETTINGUP_GAME :{BLACK}راه اندازی بازی STR_GENERATION_PREPARING_TILELOOP :{BLACK}اجرای حلقه قطعه ها STR_GENERATION_PREPARING_SCRIPT :{BLACK}کدهای در حال اجرا @@ -3751,6 +3751,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}بطور STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}تنظیمات مربوط به NewGRF را تغییر دهید STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}هنوز خودرویی در دسترس نیست + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}در هنگام خطر نمی توان علامت عبور قطار را داد STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}جهت قطار را نمی شود تغییر داد... diff --git a/src/lang/polish.txt b/src/lang/polish.txt index 335ae969..88eb7111 100644 --- a/src/lang/polish.txt +++ b/src/lang/polish.txt @@ -3769,11 +3769,14 @@ STR_GENERATION_ABORT_MESSAGE :{YELLOW}Czy na STR_GENERATION_PROGRESS :{WHITE}Ukończono w {NUM}% STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Tworzenie świata -STR_GENERATION_RIVER_GENERATION :{BLACK}Generator rzek -STR_GENERATION_TREE_GENERATION :{BLACK}Tworzenie drzew -STR_GENERATION_OBJECT_GENERATION :{BLACK}Tworzenie obiektów +STR_GENERATION_LANDSCAPE_GENERATION :{BLACK}Tworzenie krajobrazu +STR_GENERATION_RIVER_GENERATION :{BLACK}Tworzenie rzek STR_GENERATION_CLEARING_TILES :{BLACK}Tworzenie terenów skalistych i nierówności -STR_GENERATION_SETTINGUP_GAME :{BLACK}Ustawianie gry +STR_GENERATION_TOWN_GENERATION :{BLACK}Tworzenie miast +STR_GENERATION_INDUSTRY_GENERATION :{BLACK}Rozmieszczanie przedsiębiorstw +STR_GENERATION_OBJECT_GENERATION :{BLACK}Rozmieszczanie obiektów +STR_GENERATION_TREE_GENERATION :{BLACK}Rozmieszczanie drzew +STR_GENERATION_SETTINGUP_GAME :{BLACK}Konfigurowanie rozgrywki STR_GENERATION_PREPARING_TILELOOP :{BLACK}Uaktywnianie pól STR_GENERATION_PREPARING_SCRIPT :{BLACK}Uruchamianie skryptu STR_GENERATION_PREPARING_GAME :{BLACK}Przygotowywanie gry @@ -5665,6 +5668,11 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Zmień k STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Obecnie żaden pojazd nie jest dostępny STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Zacznij grę po {DATE_SHORT} albo użyj zestawu NewGRF, który zawiera wczesne pojazdy +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL :{WHITE}Brak dostępnych typów dróg miejskich +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Zmień konfigurację NewGRF +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET :{WHITE}Brak jeszcze dostępnych typów dróg miejskich +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET_EXPLANATION :{WHITE}Rozpocznij nową grę po {DATE_SHORT} roku lub użyj NewGRF, który umożliwia wczesne budowanie dróg miejskich + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Nie można przepuścić pociągu za sygnał, niebezpieczeństwo... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Nie można odwrócić kierunku jazdy pociągu... diff --git a/src/lang/portuguese.txt b/src/lang/portuguese.txt index ce23d775..9dee7d2d 100644 --- a/src/lang/portuguese.txt +++ b/src/lang/portuguese.txt @@ -3390,10 +3390,13 @@ STR_GENERATION_ABORT_MESSAGE :{YELLOW}Quer me STR_GENERATION_PROGRESS :{WHITE}{NUM}% completo STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}A gerar mundo +STR_GENERATION_LANDSCAPE_GENERATION :{BLACK}Geração de paisagem STR_GENERATION_RIVER_GENERATION :{BLACK}A gerar rios -STR_GENERATION_TREE_GENERATION :{BLACK}A gerar árvores -STR_GENERATION_OBJECT_GENERATION :{BLACK}Geração inamovível STR_GENERATION_CLEARING_TILES :{BLACK}A gerar zonas rochosas e montanhosas +STR_GENERATION_TOWN_GENERATION :{BLACK}Geração de localidades +STR_GENERATION_INDUSTRY_GENERATION :{BLACK}Geração de indústrias +STR_GENERATION_OBJECT_GENERATION :{BLACK}Geração inamovível +STR_GENERATION_TREE_GENERATION :{BLACK}A gerar árvores STR_GENERATION_SETTINGUP_GAME :{BLACK}Definindo jogo STR_GENERATION_PREPARING_TILELOOP :{BLACK}A preparar o terreno STR_GENERATION_PREPARING_SCRIPT :{BLACK}Script a correr @@ -5280,6 +5283,11 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Mudar a STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Nenhum veículo ainda disponível STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Começar um novo jogo depois de {DATE_SHORT} ou utilizar um NewGRF que forneça veículos iniciais +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL :{WHITE}Não está disponível nenhum tipo de estrada edificável para localidades +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Mudar a sua configuração NewGRF +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET :{WHITE}Ainda não estão disponíveis tipos de estradas edificáveis para localidades +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET_EXPLANATION :{WHITE}Começar um novo jogo depois de {DATE_SHORT} ou usar um NewGRF que forneça antecipadamente tipos de estradas edificáveis em localidades + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Não é possível fazer o comboio passar o sinal com perigo... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Não é possível inverter a direcção do comboio... diff --git a/src/lang/romanian.txt b/src/lang/romanian.txt index 7e0bd7c3..865478d9 100644 --- a/src/lang/romanian.txt +++ b/src/lang/romanian.txt @@ -3388,9 +3388,9 @@ STR_GENERATION_PROGRESS :{WHITE}{NUM}% e STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Generare lume STR_GENERATION_RIVER_GENERATION :{BLACK}Generarea râurilor -STR_GENERATION_TREE_GENERATION :{BLACK}Generare arbori -STR_GENERATION_OBJECT_GENERATION :{BLACK}Generare fixă STR_GENERATION_CLEARING_TILES :{BLACK}Generare zonă dură și pietroasă +STR_GENERATION_OBJECT_GENERATION :{BLACK}Generare fixă +STR_GENERATION_TREE_GENERATION :{BLACK}Generare arbori STR_GENERATION_SETTINGUP_GAME :{BLACK}Se configurează jocul STR_GENERATION_PREPARING_TILELOOP :{BLACK}Initializez ciclul dalelor STR_GENERATION_PREPARING_SCRIPT :{BLACK}Se rulează script-ul @@ -5277,6 +5277,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Schimbă STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Niciun vehicul nu este disponibil încă STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Începe un joc nou după {DATE_SHORT} sau utilizează un NewGRF care oferă vehicule în avans + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Nu se poate permite trenului să treacă în caz de pericol... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Nu se poate schimba sensul de mers al trenului... diff --git a/src/lang/russian.txt b/src/lang/russian.txt index 5881aa13..f0dca79d 100644 --- a/src/lang/russian.txt +++ b/src/lang/russian.txt @@ -2374,7 +2374,7 @@ STR_QUIT_NO :{BLACK}Нет # Abandon game STR_ABANDON_GAME_CAPTION :{WHITE}В главное меню -STR_ABANDON_GAME_QUERY :{YELLOW}Вы действительно хотите выйти из игры? +STR_ABANDON_GAME_QUERY :{YELLOW}Вы уверены, что хотите выйти из игры? STR_ABANDON_SCENARIO_QUERY :{YELLOW}Вы уверены, что хотите выйти из этого сценария? # Help window @@ -3124,7 +3124,7 @@ STR_AIRPORT_CLASS_LARGE.nom :Средний STR_AIRPORT_CLASS_HUB :Большие аэропорты STR_AIRPORT_CLASS_HUB.nom :Большой STR_AIRPORT_CLASS_HELIPORTS :Вертолётные площадки -STR_AIRPORT_CLASS_HELIPORTS.nom :Вертолётный +STR_AIRPORT_CLASS_HELIPORTS.nom :Вертолётная STR_STATION_BUILD_NOISE :{BLACK}Производимый шум: {GOLD}{COMMA} @@ -3564,10 +3564,13 @@ STR_GENERATION_ABORT_MESSAGE :{YELLOW}Вы д STR_GENERATION_PROGRESS :{WHITE}{NUM}% готово STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Создание мира +STR_GENERATION_LANDSCAPE_GENERATION :{BLACK}Создание ландшафта STR_GENERATION_RIVER_GENERATION :{BLACK}Создание рек -STR_GENERATION_TREE_GENERATION :{BLACK}Высадка лесов -STR_GENERATION_OBJECT_GENERATION :{BLACK}Создание объектов STR_GENERATION_CLEARING_TILES :{BLACK}Расстановка декораций и камней +STR_GENERATION_TOWN_GENERATION :{BLACK}Создание городов +STR_GENERATION_INDUSTRY_GENERATION :{BLACK}Создание предприятий +STR_GENERATION_OBJECT_GENERATION :{BLACK}Создание объектов +STR_GENERATION_TREE_GENERATION :{BLACK}Высадка лесов STR_GENERATION_SETTINGUP_GAME :{BLACK}Настройка STR_GENERATION_PREPARING_TILELOOP :{BLACK}Подготовка к запуску... STR_GENERATION_PREPARING_SCRIPT :{BLACK}Выполняется скрипт @@ -5466,6 +5469,11 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Изме STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Нет доступных транспортных средств STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Начните игру не ранее {DATE_SHORT} либо подключите NewGRF, добавляющий транспортные средства, использовавшиеся в это время. +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL :{WHITE}Отсутствуют типы дорог, которые могла бы прокладывать городская администрация +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Измените конфигурацию установленных модулей NewGRF +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET :{WHITE}Пока что отсутствуют типы дорог, которые могла бы прокладывать городская администрация +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET_EXPLANATION :{WHITE}Установите дату начала игры не ранее {DATE_SHORT} или установите модуль NewGRF, добавляющий типы дорог, которые будут доступны администрациям городов на выбранную вами дату + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Невозможно игнорировать светофор. Опасно... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Невозможно развернуть поезд... diff --git a/src/lang/serbian.txt b/src/lang/serbian.txt index f97dbdaf..9d1eaf95 100644 --- a/src/lang/serbian.txt +++ b/src/lang/serbian.txt @@ -3521,9 +3521,9 @@ STR_GENERATION_PROGRESS :{WHITE}{NUM}% z STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Stvaranje sveta STR_GENERATION_RIVER_GENERATION :{BLACK}Određivanje toka reka -STR_GENERATION_TREE_GENERATION :{BLACK}Postavljanje drveća -STR_GENERATION_OBJECT_GENERATION :{BLACK}Postavljenje nepomičnih objekata STR_GENERATION_CLEARING_TILES :{BLACK}Dodavanje grubih i stenovitih područja +STR_GENERATION_OBJECT_GENERATION :{BLACK}Postavljenje nepomičnih objekata +STR_GENERATION_TREE_GENERATION :{BLACK}Postavljanje drveća STR_GENERATION_SETTINGUP_GAME :{BLACK}Podešavanje igre STR_GENERATION_PREPARING_TILELOOP :{BLACK}Razrađivanje pločica STR_GENERATION_PREPARING_SCRIPT :{BLACK}Pokretanje skripte @@ -5384,6 +5384,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Promeni STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Nijedno vozilo još uvek nije dostupno STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Pokreni novu igru koja počinje posle {DATE_SHORT} ili koristi NewGRF koji omogućava ranija vozila + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Nemoguć je prolaz voza na signal opasnosti... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}... vozilo je uništeno diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt index 5a5f6efe..ba21b6b0 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt @@ -2160,7 +2160,7 @@ STR_CONFIG_ERROR_INVALID_GRF_UNKNOWN :未知 STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_LEVEL :{WHITE}... 压缩等级 '{STRING}' 无效 STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_ALGORITHM :{WHITE}...存档格式 '{STRING}' 不适用. 请转换成 '{STRING}' STR_CONFIG_ERROR_INVALID_BASE_GRAPHICS_NOT_FOUND :{WHITE}... 禁用基础图形设置 '{STRING}': 未找到 -STR_CONFIG_ERROR_INVALID_BASE_SOUNDS_NOT_FOUND :{WHITE}... 禁用基础意义设置 '{STRING}': 未找到 +STR_CONFIG_ERROR_INVALID_BASE_SOUNDS_NOT_FOUND :{WHITE}……禁用基础音效设置 '{STRING}': 未找到 STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... 禁用基础音乐设置 '{STRING}': 未找到 STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}内存溢出 STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}无法分配 {BYTES} 的 Sprite 缓存。Sprite 缓存的大小已降至 {BYTES}。OpenTTD 的性能将受到影响。请尝试停用 32bpp 图形及/或减少放大倍数,以降低内存需求 @@ -3389,10 +3389,13 @@ STR_GENERATION_ABORT_MESSAGE :{YELLOW}确定 STR_GENERATION_PROGRESS :{WHITE}已完成 {NUM}% STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}地图生成 +STR_GENERATION_LANDSCAPE_GENERATION :{BLACK}景观生成 STR_GENERATION_RIVER_GENERATION :{BLACK}生成河流 -STR_GENERATION_TREE_GENERATION :{BLACK}生成树木 -STR_GENERATION_OBJECT_GENERATION :{BLACK}生成固定设施 STR_GENERATION_CLEARING_TILES :{BLACK}生成岩石地貌 +STR_GENERATION_TOWN_GENERATION :{BLACK}城镇生成 +STR_GENERATION_INDUSTRY_GENERATION :{BLACK}工业生成 +STR_GENERATION_OBJECT_GENERATION :{BLACK}生成固定设施 +STR_GENERATION_TREE_GENERATION :{BLACK}生成树木 STR_GENERATION_SETTINGUP_GAME :{BLACK}设置游戏 STR_GENERATION_PREPARING_TILELOOP :{BLACK}地貌细节生成 STR_GENERATION_PREPARING_SCRIPT :{BLACK}当前脚本 @@ -5279,6 +5282,11 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}请改 STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}暂时沒有可用的载具 STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}在{DATE_SHORT}后开始新游戏,或使用一款能提供早期载具的NewGRF +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL :{WHITE}没有可用的城镇道路类型 +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}请改动您的 NewGRF 设置 +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET :{WHITE}目前没有可用的城镇道路类型 +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET_EXPLANATION :{WHITE}在 {DATE_SHORT} 后开始新游戏,或使用一款能提供早期城镇可建造的道路类型的NewGRF + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}不能让列车冒险通过信号... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}不能命令列车调头... diff --git a/src/lang/slovak.txt b/src/lang/slovak.txt index 7b9a45fc..fee5208b 100644 --- a/src/lang/slovak.txt +++ b/src/lang/slovak.txt @@ -3458,9 +3458,9 @@ STR_GENERATION_PROGRESS :{WHITE}{NUM}% h STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Generovanie sveta STR_GENERATION_RIVER_GENERATION :{BLACK}Generovanie riek -STR_GENERATION_TREE_GENERATION :{BLACK}Generovanie stromov -STR_GENERATION_OBJECT_GENERATION :{BLACK}Generovanie objektov STR_GENERATION_CLEARING_TILES :{BLACK}Generovanie nerovností a skál +STR_GENERATION_OBJECT_GENERATION :{BLACK}Generovanie objektov +STR_GENERATION_TREE_GENERATION :{BLACK}Generovanie stromov STR_GENERATION_SETTINGUP_GAME :{BLACK}Nastavovanie hry STR_GENERATION_PREPARING_TILELOOP :{BLACK}Spúšťanie políčkového cyklu STR_GENERATION_PREPARING_SCRIPT :{BLACK}Spúšťanie skriptu @@ -5347,6 +5347,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Zmena va STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Zatiaľ nie sú dostupné žiadne vozidlá STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Začnite novú hru po {DATE_SHORT} alebo použite NewGRF, ktoré zabezpečí vozidlá v skoršom čase + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Nemožno nechať vlak prejsť návestidlo ak hrozí nebezpečenstvo... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Nemožno otočiť vlak naopak... diff --git a/src/lang/slovenian.txt b/src/lang/slovenian.txt index f8c88f8f..85bc8a78 100644 --- a/src/lang/slovenian.txt +++ b/src/lang/slovenian.txt @@ -2996,9 +2996,9 @@ STR_GENERATION_PROGRESS :{WHITE}{NUM}% n STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Ustvarjanje sveta STR_GENERATION_RIVER_GENERATION :{BLACK}Ustvarjanje reke -STR_GENERATION_TREE_GENERATION :{BLACK}Ustvarjanje dreves -STR_GENERATION_OBJECT_GENERATION :{BLACK}Ustvarjanje zgradbe STR_GENERATION_CLEARING_TILES :{BLACK}Generiranje grobih in skalnatih tal +STR_GENERATION_OBJECT_GENERATION :{BLACK}Ustvarjanje zgradbe +STR_GENERATION_TREE_GENERATION :{BLACK}Ustvarjanje dreves STR_GENERATION_SETTINGUP_GAME :{BLACK}Nastavljanje igre STR_GENERATION_PREPARING_TILELOOP :{BLACK}Zagnano ponavljanje polj STR_GENERATION_PREPARING_SCRIPT :{BLACK}Poganjam skripto @@ -4649,6 +4649,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Zamenjaj STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Ni še vozil na razpolago. STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Začni novo igro po {DATE_SHORT} ali uporabi NewGRF, ki vsebuje zgodnja vozila + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Ni mogoče, da vlak v nevarnosti pelje mimo signalov... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Ni mogoče spremeniti smeri vlaka... diff --git a/src/lang/spanish.txt b/src/lang/spanish.txt index 8cd796da..c4247979 100644 --- a/src/lang/spanish.txt +++ b/src/lang/spanish.txt @@ -3391,9 +3391,9 @@ STR_GENERATION_PROGRESS :{WHITE}{NUM}% c STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Generación de mundo STR_GENERATION_RIVER_GENERATION :{BLACK}Generación de ríos -STR_GENERATION_TREE_GENERATION :{BLACK}Generación de árboles -STR_GENERATION_OBJECT_GENERATION :{BLACK}Generación de inamovibles STR_GENERATION_CLEARING_TILES :{BLACK}Generación de áreas ásperas o rocosas +STR_GENERATION_OBJECT_GENERATION :{BLACK}Generación de inamovibles +STR_GENERATION_TREE_GENERATION :{BLACK}Generación de árboles STR_GENERATION_SETTINGUP_GAME :{BLACK}Configurar juego STR_GENERATION_PREPARING_TILELOOP :{BLACK}Ejecutar ciclo de casillas STR_GENERATION_PREPARING_SCRIPT :{BLACK}Script en funcionamiento @@ -5280,6 +5280,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Es neces STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}En esta fecha no hay vehículos disponibles STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Comienza una nueva partida después de {DATE_SHORT} o usa un NewGRF que provea vehículos más antiguos + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}No se puede pasar la señal en peligro al tren... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}No se puede cambiar la dirección... diff --git a/src/lang/spanish_MX.txt b/src/lang/spanish_MX.txt index 487f2343..3d09f155 100644 --- a/src/lang/spanish_MX.txt +++ b/src/lang/spanish_MX.txt @@ -3325,9 +3325,9 @@ STR_GENERATION_PROGRESS :{WHITE}{NUM}% c STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM}/{NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Generación de mapa STR_GENERATION_RIVER_GENERATION :{BLACK}Generación de ríos -STR_GENERATION_TREE_GENERATION :{BLACK}Generación de árboles -STR_GENERATION_OBJECT_GENERATION :{BLACK}Generación de objetos STR_GENERATION_CLEARING_TILES :{BLACK}Generación de áreas rugosas y rocosas +STR_GENERATION_OBJECT_GENERATION :{BLACK}Generación de objetos +STR_GENERATION_TREE_GENERATION :{BLACK}Generación de árboles STR_GENERATION_SETTINGUP_GAME :{BLACK}Configurando partida STR_GENERATION_PREPARING_TILELOOP :{BLACK}Generando casillas STR_GENERATION_PREPARING_SCRIPT :{BLACK}Ejecutando script @@ -5159,6 +5159,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Se debe STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Todavía no hay vehículos disponibles STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Se debe empezar una nueva partida después de {DATE_SHORT} o usar un NewGRF que proporcione vehículos más antiguos + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}El tren no puede rebasar la señal si está en peligro... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}No se puede cambiar la dirección del tren... diff --git a/src/lang/swedish.txt b/src/lang/swedish.txt index e700941d..7d60dbe9 100644 --- a/src/lang/swedish.txt +++ b/src/lang/swedish.txt @@ -3389,10 +3389,13 @@ STR_GENERATION_ABORT_MESSAGE :{YELLOW}Vill du STR_GENERATION_PROGRESS :{WHITE}{NUM}% färdigt STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Generera värld +STR_GENERATION_LANDSCAPE_GENERATION :{BLACK}Landskapsgenerering STR_GENERATION_RIVER_GENERATION :{BLACK}Generera Flod -STR_GENERATION_TREE_GENERATION :{BLACK}Generera Träd -STR_GENERATION_OBJECT_GENERATION :{BLACK}Generera objekt STR_GENERATION_CLEARING_TILES :{BLACK}Svår och stenig markgenerering +STR_GENERATION_TOWN_GENERATION :{BLACK}Stadsgenerering +STR_GENERATION_INDUSTRY_GENERATION :{BLACK}Industrigenerering +STR_GENERATION_OBJECT_GENERATION :{BLACK}Generera objekt +STR_GENERATION_TREE_GENERATION :{BLACK}Generera Träd STR_GENERATION_SETTINGUP_GAME :{BLACK}Ställer in spel STR_GENERATION_PREPARING_TILELOOP :{BLACK}Kör tile-loop STR_GENERATION_PREPARING_SCRIPT :{BLACK}Kör skript @@ -5279,6 +5282,11 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Ändra d STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Inga fordon är tillgängliga än STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Starta ett nytt spel efter {DATE_SHORT} eller använd en NewGRF som erbjuder tidiga fordon +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL :{WHITE}Inga vägtyper som kan byggas av städer finns tillgängliga +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Ändra din NewGRF-konfiguration +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET :{WHITE}Inga vägtyper som kan byggas av städer finns tillgängliga ännu +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET_EXPLANATION :{WHITE}Starta ett nytt spel efter {DATE_SHORT} eller använd en NewGRF som tidigt erbjuder vägtyper som städer kan bygga + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Kan inte tillåta tåg att passera signal under fara... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Kan inte byta tågets riktning... diff --git a/src/lang/tamil.txt b/src/lang/tamil.txt index 7b240764..49e5e411 100644 --- a/src/lang/tamil.txt +++ b/src/lang/tamil.txt @@ -3107,9 +3107,9 @@ STR_GENERATION_PROGRESS :{WHITE}{NUM}% STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}உலகம் உருவாக்குதல் STR_GENERATION_RIVER_GENERATION :{BLACK}ஆறு உருவாக்குதல் -STR_GENERATION_TREE_GENERATION :{BLACK}மரங்கள் உருவாக்குதல் -STR_GENERATION_OBJECT_GENERATION :{BLACK}பொருள் உருவாக்குதல் STR_GENERATION_CLEARING_TILES :{BLACK}சமமில்லாத மற்றும் கல்லான பகுதி உருவாக்குதல் +STR_GENERATION_OBJECT_GENERATION :{BLACK}பொருள் உருவாக்குதல் +STR_GENERATION_TREE_GENERATION :{BLACK}மரங்கள் உருவாக்குதல் STR_GENERATION_SETTINGUP_GAME :{BLACK}ஆட்டம் அமைக்கப்படுகின்றது STR_GENERATION_PREPARING_SCRIPT :{BLACK}வரிவடிவம் செயல்படுத்தப்படுகின்றது STR_GENERATION_PREPARING_GAME :{BLACK}ஆட்டம் தயாராகிறது @@ -4873,6 +4873,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}தங STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}தற்போது எந்த வாகனங்களும் கிடையாது STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}{DATE_SHORT} இற்கு பிறகு புதிய ஆட்டம் ஒன்றினைத் தொடங்கு அல்லது NewGRF ஒன்றினைப் பயன்படுத்தி பிற்கால வாகனங்களைப் பயன்படுத்து + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}இரயில் சிக்னலைத் தாண்டிச் செல்ல முடியாது... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}இரயில் செல்லும் திசையினை திருப்ப முடியாது... diff --git a/src/lang/thai.txt b/src/lang/thai.txt index bc4ec29a..bbc3f2d6 100644 --- a/src/lang/thai.txt +++ b/src/lang/thai.txt @@ -2931,9 +2931,9 @@ STR_GENERATION_PROGRESS :{WHITE}{NUM}% STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}เครื่องมือสร้างแผนที่ STR_GENERATION_RIVER_GENERATION :{BLACK}สร้างแม่น้ำ -STR_GENERATION_TREE_GENERATION :{BLACK}สร้างต้นไม่ -STR_GENERATION_OBJECT_GENERATION :{BLACK}สร้างวัตถุ STR_GENERATION_CLEARING_TILES :{BLACK}สร้างพื้นหิน +STR_GENERATION_OBJECT_GENERATION :{BLACK}สร้างวัตถุ +STR_GENERATION_TREE_GENERATION :{BLACK}สร้างต้นไม่ STR_GENERATION_SETTINGUP_GAME :{BLACK}ตั้งค่าให้กับเกม STR_GENERATION_PREPARING_TILELOOP :{BLACK}Running tile-loop STR_GENERATION_PREPARING_SCRIPT :{BLACK}Running script @@ -4605,6 +4605,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}เป STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}ยังไม่มียานพาหานะให้เลือก STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}เริ่มเกมหลังจาก {DATE_SHORT} หรือเลือกใช้งาน NewGRF ของยานพาหนะที่จัดเตรียมไว้ก่อนหน้านี้ + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}ไม่สามารถสั่งให้รถไฟวิ่งผ่านเสาอาณัติสัญญาณที่แสดงท่า "ห้าม"... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}ไม่สามารถกลับทิศขบวนรถไฟได้... diff --git a/src/lang/traditional_chinese.txt b/src/lang/traditional_chinese.txt index b48737f5..02ade699 100644 --- a/src/lang/traditional_chinese.txt +++ b/src/lang/traditional_chinese.txt @@ -3279,9 +3279,9 @@ STR_GENERATION_PROGRESS :{WHITE}完成 { STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}產生世界 STR_GENERATION_RIVER_GENERATION :{BLACK}產生河流 -STR_GENERATION_TREE_GENERATION :{BLACK}產生樹木 -STR_GENERATION_OBJECT_GENERATION :{BLACK}無法移動 STR_GENERATION_CLEARING_TILES :{BLACK}產生粗地與岩石區域 +STR_GENERATION_OBJECT_GENERATION :{BLACK}無法移動 +STR_GENERATION_TREE_GENERATION :{BLACK}產生樹木 STR_GENERATION_SETTINGUP_GAME :{BLACK}設定遊戲 STR_GENERATION_PREPARING_TILELOOP :{BLACK}執行單格迴圈中 STR_GENERATION_PREPARING_SCRIPT :{BLACK}正在運行腳本 @@ -5104,6 +5104,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}請修 STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}未有可用的車輛 STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}在{DATE_SHORT}後開始新遊戲,或使用提供早期車輛的NewGRF + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}無法讓列車通過險阻號誌... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}無法倒轉列車方向... diff --git a/src/lang/turkish.txt b/src/lang/turkish.txt index 38bf3204..5e92d4e1 100644 --- a/src/lang/turkish.txt +++ b/src/lang/turkish.txt @@ -3390,10 +3390,13 @@ STR_GENERATION_ABORT_MESSAGE :{YELLOW}Oluştu STR_GENERATION_PROGRESS :{WHITE}%{NUM} tamamlandı STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Harita üretimi +STR_GENERATION_LANDSCAPE_GENERATION :{BLACK}Peyzaj oluşumu STR_GENERATION_RIVER_GENERATION :{BLACK}Nehir oluşturma -STR_GENERATION_TREE_GENERATION :{BLACK}Ağaç üretimi -STR_GENERATION_OBJECT_GENERATION :{BLACK}Nesne oluşturma STR_GENERATION_CLEARING_TILES :{BLACK}Engebeli ve kayalık alan oluştur +STR_GENERATION_TOWN_GENERATION :{BLACK}Kasaba Oluşumu +STR_GENERATION_INDUSTRY_GENERATION :{BLACK}Endüstri Oluşumu +STR_GENERATION_OBJECT_GENERATION :{BLACK}Nesne oluşturma +STR_GENERATION_TREE_GENERATION :{BLACK}Ağaç üretimi STR_GENERATION_SETTINGUP_GAME :{BLACK}Oyun ayarlanıyor STR_GENERATION_PREPARING_TILELOOP :{BLACK}tile-loop çalıştırılıyor STR_GENERATION_PREPARING_SCRIPT :{BLACK}Betik çalıştırılıyor @@ -5280,6 +5283,9 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Yeni New STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Henüz hiçbir araç kullanılabilir değil STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}{DATE_SHORT} sonra yeni bir oyun başlat veya erken araç sağlayan NewGRF kullan +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL :{WHITE}Kasabada inşa edilebilir yol türleri mevcut değil +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}NewGRF Yapılandırma Ayarlarını Değiştir + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Tehlikedeki tren sinyali geçemez... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Tren çevrilemez... diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index 34f73267..8d07ea9e 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -1126,7 +1126,7 @@ STR_GAME_OPTIONS_CURRENCY_NLG :Нідерла STR_GAME_OPTIONS_CURRENCY_NOK :Норвезька крона STR_GAME_OPTIONS_CURRENCY_PLN :Польський злотий STR_GAME_OPTIONS_CURRENCY_RON :Румунський лей -STR_GAME_OPTIONS_CURRENCY_RUR :Російський рубель +STR_GAME_OPTIONS_CURRENCY_RUR :Російський рубль STR_GAME_OPTIONS_CURRENCY_SIT :Словенський талер STR_GAME_OPTIONS_CURRENCY_SEK :Шведська крона STR_GAME_OPTIONS_CURRENCY_TRY :Турецька ліра @@ -1139,7 +1139,7 @@ STR_GAME_OPTIONS_CURRENCY_ZAR :Південн STR_GAME_OPTIONS_CURRENCY_CUSTOM :Власна... STR_GAME_OPTIONS_CURRENCY_GEL :Грузинські ларі STR_GAME_OPTIONS_CURRENCY_IRR :Іранський ріал -STR_GAME_OPTIONS_CURRENCY_RUB :Російський новий рубель +STR_GAME_OPTIONS_CURRENCY_RUB :Російський новий рубль STR_GAME_OPTIONS_CURRENCY_MXN :Мексиканське песо STR_GAME_OPTIONS_CURRENCY_NTD :Новий тайваньський долар STR_GAME_OPTIONS_CURRENCY_CNY :Китайські ренміні @@ -1154,7 +1154,7 @@ STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Вибе # Autosave dropdown ###length 5 -STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :вимкнено +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Вимкнено STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_10_MINUTES :Кожні 10 хвилин STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_30_MINUTES :Кожні 30 хвилин STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_60_MINUTES :Кожні 60 хвилин @@ -1165,7 +1165,7 @@ STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Вибе STR_GAME_OPTIONS_LANGUAGE_PERCENTAGE :{STRING} ({NUM}% виконано) STR_GAME_OPTIONS_FULLSCREEN :{BLACK}Повноекранний режим -STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Натисніть цю кнопку, щоби грати в OpenTTD у повноекранному режимі +STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Позначте цей прапорець для використання повноекранного режиму STR_GAME_OPTIONS_RESOLUTION :{BLACK}Роздільна здатність екрана STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Виберіть, яку роздільну здатність екрана використовувати @@ -1173,7 +1173,7 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :інша STR_GAME_OPTIONS_RESOLUTION_ITEM :{NUM}x{NUM} STR_GAME_OPTIONS_VIDEO_ACCELERATION :{BLACK}Апаратне прискорення -STR_GAME_OPTIONS_VIDEO_ACCELERATION_TOOLTIP :{BLACK}Увімкнутий прапорець дозволить використання грою прискорення апаратного забезпечення. Налаштування запрацює тільки після перезапуску гри +STR_GAME_OPTIONS_VIDEO_ACCELERATION_TOOLTIP :{BLACK}Позначте цей прапорець для використання апаратного прискорення. Зміни застосуються тільки після перезапуску гри STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}Налаштування запрацює тільки після перезапуску гри STR_GAME_OPTIONS_VIDEO_VSYNC :{BLACK}Вертикальна синхронізація @@ -1182,17 +1182,17 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Позн STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Використовуваний драйвер: {STRING} STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}Розмір інтерфейсу -STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Перетягніть повзунок для встановлення розміру інтерфейсу. Ctrl+протягування для точнішого перетягування +STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Потягніть повзунок для зміни розміру інтерфейсу. Ctrl+протягування для точнішого коригування STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}Визначати розмір автоматично STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Позначте цей прапорець для того, щоби визначати розмір інтерфейсу автоматично -STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Межі шкали -STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :BLACK}Увімкнутий прапорець дозволить змінити розмір інтерфейсу +STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Масштабування рельєфних елементів +STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Позначте цей прапорець для того, щоби масштабувати рельєфні елементи інтерфейсу -STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Використовувати шрифт звичайної роздільності -STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Увімкніть прапорець для використання шрифтів незмінних розмірів +STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Використовувати стандартний растровий шрифт +STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Позначте цей прапорець для використання стандартних растрових шрифтів фіксованого розміру STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Згладжування шрифтів -STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Увімкніть прапорець для згладження шрифтів змінних розмірів +STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Позначте цей прапорець для того, щоби згладжувати шрифти змінних розмірів STR_GAME_OPTIONS_GUI_SCALE_1X :1x STR_GAME_OPTIONS_GUI_SCALE_2X :2x @@ -1201,7 +1201,7 @@ STR_GAME_OPTIONS_GUI_SCALE_4X :4x STR_GAME_OPTIONS_GUI_SCALE_5X :5x STR_GAME_OPTIONS_PARTICIPATE_SURVEY_FRAME :{BLACK}Автоматизований збір даних -STR_GAME_OPTIONS_PARTICIPATE_SURVEY :{BLACK}Участь в автоматизованому зборі даних +STR_GAME_OPTIONS_PARTICIPATE_SURVEY :{BLACK}Брати участь в автоматизованому зборі даних STR_GAME_OPTIONS_PARTICIPATE_SURVEY_TOOLTIP :{BLACK}Якщо увімкнено, OpenTTD передаватиме зібрані дані при виході з гри STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK :{BLACK}Про збір даних і приватність STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK_TOOLTIP :{BLACK}Відкриє переглядач з детальнішою інформацією про автоматичний збір даних @@ -2661,7 +2661,7 @@ STR_NETWORK_ASK_RELAY_YES_ONCE :{BLACK}Так, STR_NETWORK_ASK_RELAY_YES_ALWAYS :{BLACK}Так, більше не питати STR_NETWORK_ASK_SURVEY_CAPTION :Дозволити автоматизований збір даних? -STR_NETWORK_ASK_SURVEY_TEXT :Бажаєте долучитись до автоматичного збору даних?{}OpenTTD передаватиме дані при виході з гри.{}Це можна будь-коли змінити в "Налаштуваннях гри". +STR_NETWORK_ASK_SURVEY_TEXT :Бажаєте долучитися до автоматичного збору даних?{}OpenTTD передаватиме деякі дані при виході з гри.{}Це можна змінити в розділі "Налаштування гри" будь-коли. STR_NETWORK_ASK_SURVEY_PREVIEW :Попередній перегляд збору даних STR_NETWORK_ASK_SURVEY_LINK :Про збір даних і приватність STR_NETWORK_ASK_SURVEY_NO :Ні @@ -3530,9 +3530,9 @@ STR_GENERATION_PROGRESS :{WHITE}{NUM}% STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Створення світу STR_GENERATION_RIVER_GENERATION :{BLACK}Генерація річок -STR_GENERATION_TREE_GENERATION :{BLACK}Насадження дерев -STR_GENERATION_OBJECT_GENERATION :{BLACK}Генерація нерухомості STR_GENERATION_CLEARING_TILES :{BLACK}Розкидати каміння +STR_GENERATION_OBJECT_GENERATION :{BLACK}Генерація нерухомості +STR_GENERATION_TREE_GENERATION :{BLACK}Насадження дерев STR_GENERATION_SETTINGUP_GAME :{BLACK}Налаштування гри STR_GENERATION_PREPARING_TILELOOP :{BLACK}Виконуємо цикл STR_GENERATION_PREPARING_SCRIPT :{BLACK}Виконується скрипт @@ -5421,6 +5421,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Змін STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Жоден вид транспорту ще не став доступним STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Починайте нову гру після {DATE_SHORT} або використовуйте NewGRF, в якому транспорт з’являється раніше + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Неможливо проїхати сигнал - небезпечно... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Неможливо розвернути поїзд... diff --git a/src/lang/urdu.txt b/src/lang/urdu.txt index e4a7f4ed..3cdf337d 100644 --- a/src/lang/urdu.txt +++ b/src/lang/urdu.txt @@ -2881,6 +2881,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}مرمت + # Specific vehicle errors diff --git a/src/lang/vietnamese.txt b/src/lang/vietnamese.txt index 0f0527cf..599b79b8 100644 --- a/src/lang/vietnamese.txt +++ b/src/lang/vietnamese.txt @@ -2222,7 +2222,7 @@ STR_QUIT_YES :{BLACK}Đồng STR_QUIT_NO :{BLACK}Không đồng ý # Abandon game -STR_ABANDON_GAME_CAPTION :{WHITE}Bỏ Màn Chơi +STR_ABANDON_GAME_CAPTION :{WHITE}Loại bỏ Game STR_ABANDON_GAME_QUERY :{YELLOW}Bạn có chắc chắn muốn bỏ màn chơi này không? STR_ABANDON_SCENARIO_QUERY :{YELLOW}Bạn có chắc bạn muốn bỏ màn chơi kịch bản này? @@ -3389,10 +3389,13 @@ STR_GENERATION_ABORT_MESSAGE :{YELLOW}Bạn c STR_GENERATION_PROGRESS :{WHITE}{NUM}% hoàn thành STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Tạo màn +STR_GENERATION_LANDSCAPE_GENERATION :{BLACK}Khởi tạo cảnh quan STR_GENERATION_RIVER_GENERATION :{BLACK}Khởi tạo sông suối -STR_GENERATION_TREE_GENERATION :{BLACK}Trồng cây -STR_GENERATION_OBJECT_GENERATION :{BLACK}Sinh đối tượng cứng STR_GENERATION_CLEARING_TILES :{BLACK}Sinh đá và sự gồ ghề +STR_GENERATION_TOWN_GENERATION :{BLACK}Khởi tạo thị trấn +STR_GENERATION_INDUSTRY_GENERATION :{BLACK}Khởi tạo nhà máy +STR_GENERATION_OBJECT_GENERATION :{BLACK}Sinh đối tượng cứng +STR_GENERATION_TREE_GENERATION :{BLACK}Trồng cây STR_GENERATION_SETTINGUP_GAME :{BLACK}Thiết lập ván chơi STR_GENERATION_PREPARING_TILELOOP :{BLACK}Đang chạy sinh tile STR_GENERATION_PREPARING_SCRIPT :{BLACK}Đang chạy tập lệnh @@ -5279,6 +5282,11 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Thay đ STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Chưa có phương tiện nào có sẵn STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Bắt đầu một màn chơi mới sau {DATE_SHORT} hoặc sử dụng một NewGRF cung cấp sớm phương tiện +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL :{WHITE}Không có sẵn loại đường có thể xây dựng được trong thị trấn +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Thay đổi cấu hình NewGRF của bạn +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET :{WHITE}Hiện tại chưa có các loại đường thị trấn +STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET_EXPLANATION :{WHITE}Hãy bắt đầu trò chơi mới sau {DATE_SHORT} hoặc sử dụng NewGRF khác có hỗ trợ xây dựng sớm các loại đường đô thị + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Không thể để tàu hoả qua tín hiệu đèn khi nguy hiểm... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Không thể đổi hướng đoàn tàu... diff --git a/src/lang/welsh.txt b/src/lang/welsh.txt index 73e8731f..9195718a 100644 --- a/src/lang/welsh.txt +++ b/src/lang/welsh.txt @@ -3390,9 +3390,9 @@ STR_GENERATION_PROGRESS :{WHITE}{NUM}% c STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Cynhyrchu byd STR_GENERATION_RIVER_GENERATION :{BLACK}Cynhyrchu afonydd -STR_GENERATION_TREE_GENERATION :{BLACK}Cynhyrchu coed -STR_GENERATION_OBJECT_GENERATION :{BLACK}Cynhyrchu gwrthrych STR_GENERATION_CLEARING_TILES :{BLACK}Cynhyrchu ardaloedd creigiog a chnapiog +STR_GENERATION_OBJECT_GENERATION :{BLACK}Cynhyrchu gwrthrych +STR_GENERATION_TREE_GENERATION :{BLACK}Cynhyrchu coed STR_GENERATION_SETTINGUP_GAME :{BLACK}Gosod gêm yn ei le STR_GENERATION_PREPARING_TILELOOP :{BLACK}Rhedeg dolen teiliau STR_GENERATION_PREPARING_SCRIPT :{BLACK}Rhedeg sgript @@ -5279,6 +5279,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Newid ei STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Dim cerbydau ar gael eto STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Dechreuwch gêm newydd wedi {DATE_SHORT} neu defnyddiwch NewGRF sy'n darparu cerbydau cynnar + # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Does dim modd gwneud i drên basio signal pan fo perygl... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Methu gwrthdroi'r trên... diff --git a/src/league_base.h b/src/league_base.h index b43db4ac..1799b92c 100644 --- a/src/league_base.h +++ b/src/league_base.h @@ -20,7 +20,7 @@ bool IsValidLink(Link link); typedef Pool LeagueTableElementPool; extern LeagueTableElementPool _league_table_element_pool; -typedef Pool LeagueTablePool; +typedef Pool LeagueTablePool; extern LeagueTablePool _league_table_pool; diff --git a/src/network/network.cpp b/src/network/network.cpp index 18c67bd0..dd1a4a71 100644 --- a/src/network/network.cpp +++ b/src/network/network.cpp @@ -37,6 +37,9 @@ #include "../gfx_func.h" #include "../error.h" #include "../misc_cmd.h" +#ifdef DEBUG_DUMP_COMMANDS +# include "../fileio_func.h" +#endif #include #include #include @@ -44,8 +47,11 @@ #include "../safeguards.h" #ifdef DEBUG_DUMP_COMMANDS -#include "../fileio_func.h" -/** When running the server till the wait point, run as fast as we can! */ +/** Helper variable to make the dedicated server go fast until the (first) join. + * Used to load the desync debug logs, i.e. for reproducing a desync. + * There's basically no need to ever enable this, unless you really know what + * you are doing, i.e. debugging a desync. + * See docs/desync.md for details. */ bool _ddc_fastforward = true; #endif /* DEBUG_DUMP_COMMANDS */ @@ -1099,6 +1105,16 @@ void NetworkGameLoop() } } + /* Skip all entries in the command-log till we caught up with the current game again. */ + if (TimerGameEconomy::date > next_date || (TimerGameEconomy::date == next_date && TimerGameEconomy::date_fract > next_date_fract)) { + Debug(desync, 0, "Skipping to next command at {:08x}:{:02x}", next_date, next_date_fract); + if (cp != nullptr) { + delete cp; + cp = nullptr; + } + check_sync_state = false; + } + if (cp != nullptr || check_sync_state) break; char buff[4096]; @@ -1158,7 +1174,8 @@ void NetworkGameLoop() assert(ret == 4); check_sync_state = true; } else if (strncmp(p, "msg: ", 5) == 0 || strncmp(p, "client: ", 8) == 0 || - strncmp(p, "load: ", 6) == 0 || strncmp(p, "save: ", 6) == 0) { + strncmp(p, "load: ", 6) == 0 || strncmp(p, "save: ", 6) == 0 || + strncmp(p, "warning: ", 9) == 0) { /* A message that is not very important to the log playback, but part of the log. */ #ifndef DEBUG_FAILED_DUMP_COMMANDS } else if (strncmp(p, "cmdf: ", 6) == 0) { diff --git a/src/network/network_func.h b/src/network/network_func.h index 369eb0fc..1a9800a9 100644 --- a/src/network/network_func.h +++ b/src/network/network_func.h @@ -12,7 +12,7 @@ /** * Uncomment the following define to enable command replaying. - * See docs/desync.txt for details. + * See docs/desync.md for details. */ // #define DEBUG_DUMP_COMMANDS // #define DEBUG_FAILED_DUMP_COMMANDS diff --git a/src/network/network_internal.h b/src/network/network_internal.h index 66dea11b..35adc689 100644 --- a/src/network/network_internal.h +++ b/src/network/network_internal.h @@ -37,19 +37,6 @@ #define NETWORK_SEND_DOUBLE_SEED #endif /* RANDOM_DEBUG */ -/** - * Helper variable to make the dedicated server go fast until the (first) join. - * Used to load the desync debug logs, i.e. for reproducing a desync. - * There's basically no need to ever enable this, unless you really know what - * you are doing, i.e. debugging a desync. - * See docs/desync.txt for details. - */ -#ifdef DEBUG_DUMP_COMMANDS -extern bool _ddc_fastforward; -#else -#define _ddc_fastforward (false) -#endif /* DEBUG_DUMP_COMMANDS */ - typedef class ServerNetworkGameSocketHandler NetworkClientSocket; /** Status of the clients during joining. */ diff --git a/src/newgrf.cpp b/src/newgrf.cpp index 34952c84..0bca10e7 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -2563,6 +2563,7 @@ static ChangeInfoResult TownHouseChangeInfo(uint hid, int numinfo, int prop, Byt } else { housespec->accepts_cargo[j] = cargo; } + housespec->accepts_cargo_label[j] = CT_INVALID; } break; } @@ -3299,6 +3300,7 @@ static ChangeInfoResult IndustrytilesChangeInfo(uint indtid, int numinfo, int pr uint16_t acctp = buf->ReadWord(); tsp->accepts_cargo[prop - 0x0A] = GetCargoTranslation(GB(acctp, 0, 8), _cur.grffile); tsp->acceptance[prop - 0x0A] = Clamp(GB(acctp, 8, 8), 0, 16); + tsp->accepts_cargo_label[prop - 0x0A] = CT_INVALID; break; } diff --git a/src/newgrf_profiling.cpp b/src/newgrf_profiling.cpp index 115dd88b..48ed9cda 100644 --- a/src/newgrf_profiling.cpp +++ b/src/newgrf_profiling.cpp @@ -157,7 +157,7 @@ std::string NewGRFProfiler::GetOutputFilename() const /** * Check whether profiling is active and should be finished. */ -static TimeoutTimer _profiling_finish_timeout(0, []() +static TimeoutTimer _profiling_finish_timeout({ TimerGameTick::Priority::NONE, 0 }, []() { NewGRFProfiler::FinishAll(); }); @@ -167,7 +167,7 @@ static TimeoutTimer _profiling_finish_timeout(0, []() */ /* static */ void NewGRFProfiler::StartTimer(uint64_t ticks) { - _profiling_finish_timeout.Reset(ticks); + _profiling_finish_timeout.Reset({ TimerGameTick::Priority::NONE, static_cast(ticks) }); } /** diff --git a/src/newgrf_storage.cpp b/src/newgrf_storage.cpp index b071c3c7..ff309a66 100644 --- a/src/newgrf_storage.cpp +++ b/src/newgrf_storage.cpp @@ -91,7 +91,7 @@ void AddChangedPersistentStorage(BasePersistentStorageArray *storage) /* Discard all temporary changes */ for (auto &it : *_changed_storage_arrays) { - Debug(desync, 1, "Discarding persistent storage changes: Feature {}, GrfID {:08X}, Tile {}", it->feature, BSWAP32(it->grfid), it->tile); + Debug(desync, 2, "warning: discarding persistent storage changes: Feature {}, GrfID {:08X}, Tile {}", it->feature, BSWAP32(it->grfid), it->tile); it->ClearChanges(); } _changed_storage_arrays->clear(); diff --git a/src/openttd.cpp b/src/openttd.cpp index a1db3396..5c2702f7 100644 --- a/src/openttd.cpp +++ b/src/openttd.cpp @@ -1260,7 +1260,7 @@ static void CheckCaches() uint i = 0; for (Town *t : Town::Iterate()) { if (MemCmpT(old_town_caches.data() + i, &t->cache) != 0) { - Debug(desync, 2, "town cache mismatch: town {}", t->index); + Debug(desync, 2, "warning: town cache mismatch: town {}", t->index); } i++; } @@ -1274,7 +1274,7 @@ static void CheckCaches() i = 0; for (const Company *c : Company::Iterate()) { if (MemCmpT(old_infrastructure.data() + i, &c->infrastructure) != 0) { - Debug(desync, 2, "infrastructure cache mismatch: company {}", c->index); + Debug(desync, 2, "warning: infrastructure cache mismatch: company {}", c->index); } i++; } @@ -1330,23 +1330,23 @@ static void CheckCaches() for (const Vehicle *u = v; u != nullptr; u = u->Next()) { FillNewGRFVehicleCache(u); if (memcmp(&grf_cache[length], &u->grf_cache, sizeof(NewGRFCache)) != 0) { - Debug(desync, 2, "newgrf cache mismatch: type {}, vehicle {}, company {}, unit number {}, wagon {}", v->type, v->index, v->owner, v->unitnumber, length); + Debug(desync, 2, "warning: newgrf cache mismatch: type {}, vehicle {}, company {}, unit number {}, wagon {}", v->type, v->index, v->owner, v->unitnumber, length); } if (memcmp(&veh_cache[length], &u->vcache, sizeof(VehicleCache)) != 0) { - Debug(desync, 2, "vehicle cache mismatch: type {}, vehicle {}, company {}, unit number {}, wagon {}", v->type, v->index, v->owner, v->unitnumber, length); + Debug(desync, 2, "warning: vehicle cache mismatch: type {}, vehicle {}, company {}, unit number {}, wagon {}", v->type, v->index, v->owner, v->unitnumber, length); } switch (u->type) { case VEH_TRAIN: if (memcmp(&gro_cache[length], &Train::From(u)->gcache, sizeof(GroundVehicleCache)) != 0) { - Debug(desync, 2, "train ground vehicle cache mismatch: vehicle {}, company {}, unit number {}, wagon {}", v->index, v->owner, v->unitnumber, length); + Debug(desync, 2, "warning: train ground vehicle cache mismatch: vehicle {}, company {}, unit number {}, wagon {}", v->index, v->owner, v->unitnumber, length); } if (memcmp(&tra_cache[length], &Train::From(u)->tcache, sizeof(TrainCache)) != 0) { - Debug(desync, 2, "train cache mismatch: vehicle {}, company {}, unit number {}, wagon {}", v->index, v->owner, v->unitnumber, length); + Debug(desync, 2, "warning: train cache mismatch: vehicle {}, company {}, unit number {}, wagon {}", v->index, v->owner, v->unitnumber, length); } break; case VEH_ROAD: if (memcmp(&gro_cache[length], &RoadVehicle::From(u)->gcache, sizeof(GroundVehicleCache)) != 0) { - Debug(desync, 2, "road vehicle ground vehicle cache mismatch: vehicle {}, company {}, unit number {}, wagon {}", v->index, v->owner, v->unitnumber, length); + Debug(desync, 2, "warning: road vehicle ground vehicle cache mismatch: vehicle {}, company {}, unit number {}, wagon {}", v->index, v->owner, v->unitnumber, length); } break; default: @@ -1393,11 +1393,11 @@ static void CheckCaches() } UpdateStationDockingTiles(st); if (ta.tile != st->docking_station.tile || ta.w != st->docking_station.w || ta.h != st->docking_station.h) { - Debug(desync, 2, "station docking mismatch: station {}, company {}", st->index, st->owner); + Debug(desync, 2, "warning: station docking mismatch: station {}, company {}", st->index, st->owner); } for (TileIndex tile : ta) { if (docking_tiles[tile] != IsDockingTile(tile)) { - Debug(desync, 2, "docking tile mismatch: tile {}", tile); + Debug(desync, 2, "warning: docking tile mismatch: tile {}", tile); } } @@ -1405,7 +1405,7 @@ static void CheckCaches() IndustryList industries_near = st->industries_near; st->RecomputeCatchment(); if (st->industries_near != industries_near) { - Debug(desync, 2, "station industries near mismatch: station {}", st->index); + Debug(desync, 2, "warning: station industries near mismatch: station {}", st->index); } } @@ -1413,14 +1413,14 @@ static void CheckCaches() i = 0; for (Town *t : Town::Iterate()) { if (t->stations_near != old_town_stations_near[i]) { - Debug(desync, 2, "town stations near mismatch: town {}", t->index); + Debug(desync, 2, "warning: town stations near mismatch: town {}", t->index); } i++; } i = 0; for (Industry *ind : Industry::Iterate()) { if (ind->stations_near != old_industry_stations_near[i]) { - Debug(desync, 2, "industry stations near mismatch: industry {}", ind->index); + Debug(desync, 2, "warning: industry stations near mismatch: industry {}", ind->index); } i++; } diff --git a/src/pathfinder/yapf/yapf.h b/src/pathfinder/yapf/yapf.h index 80b6c4ca..186986ce 100644 --- a/src/pathfinder/yapf/yapf.h +++ b/src/pathfinder/yapf/yapf.h @@ -21,12 +21,10 @@ * Finds the best path for given ship using YAPF. * @param v the ship that needs to find a path * @param tile the tile to find the path from (should be next tile the ship is about to enter) - * @param enterdir diagonal direction which the ship will enter this new tile from - * @param tracks available tracks on the new tile (to choose from) * @param path_found [out] Whether a path has been found (true) or has been guessed (false) * @return the best trackdir for next turn or INVALID_TRACK if the path could not be found */ -Track YapfShipChooseTrack(const Ship *v, TileIndex tile, DiagDirection enterdir, TrackBits tracks, bool &path_found, ShipPathCache &path_cache); +Track YapfShipChooseTrack(const Ship *v, TileIndex tile, bool &path_found, ShipPathCache &path_cache); /** * Returns true if it is better to reverse the ship before leaving depot using YAPF. diff --git a/src/pathfinder/yapf/yapf_rail.cpp b/src/pathfinder/yapf/yapf_rail.cpp index 94ec48f1..50cfd807 100644 --- a/src/pathfinder/yapf/yapf_rail.cpp +++ b/src/pathfinder/yapf/yapf_rail.cpp @@ -241,7 +241,7 @@ class CYapfFollowAnyDepotRailT pf2.DisableCache(true); FindDepotData result2 = pf2.FindNearestDepotTwoWay(v, t1, td1, t2, td2, max_penalty, reverse_penalty); if (result1.tile != result2.tile || (result1.reverse != result2.reverse)) { - Debug(desync, 2, "CACHE ERROR: FindNearestDepotTwoWay() = [{}, {}]", + Debug(desync, 2, "warning: FindNearestDepotTwoWay cache mismatch: {} vs {}", result1.tile != INVALID_TILE ? "T" : "F", result2.tile != INVALID_TILE ? "T" : "F"); DumpState(pf1, pf2); @@ -325,7 +325,7 @@ class CYapfFollowAnySafeTileRailT : public CYapfReserveTrack pf2.DisableCache(true); result1 = pf2.FindNearestSafeTile(v, t1, td, override_railtype, false); if (result1 != result2) { - Debug(desync, 2, "CACHE ERROR: FindSafeTile() = [{}, {}]", result2 ? "T" : "F", result1 ? "T" : "F"); + Debug(desync, 2, "warning: FindSafeTile cache mismatch: {} vs {}", result2 ? "T" : "F", result1 ? "T" : "F"); DumpState(pf1, pf2); } } @@ -409,7 +409,7 @@ class CYapfFollowRailT : public CYapfReserveTrack pf2.DisableCache(true); Trackdir result2 = pf2.ChooseRailTrack(v, tile, enterdir, tracks, path_found, reserve_track, target, dest); if (result1 != result2) { - Debug(desync, 2, "CACHE ERROR: ChooseRailTrack() = [{}, {}]", result1, result2); + Debug(desync, 2, "warning: ChooseRailTrack cache mismatch: {} vs {}", result1, result2); DumpState(pf1, pf2); } } @@ -471,7 +471,7 @@ class CYapfFollowRailT : public CYapfReserveTrack pf2.DisableCache(true); bool result2 = pf2.CheckReverseTrain(v, t1, td1, t2, td2, reverse_penalty); if (result1 != result2) { - Debug(desync, 2, "CACHE ERROR: CheckReverseTrain() = [{}, {}]", result1 ? "T" : "F", result2 ? "T" : "F"); + Debug(desync, 2, "warning: CheckReverseTrain cache mismatch: {} vs {}", result1 ? "T" : "F", result2 ? "T" : "F"); DumpState(pf1, pf2); } } diff --git a/src/pathfinder/yapf/yapf_ship.cpp b/src/pathfinder/yapf/yapf_ship.cpp index 22360c63..19c037fa 100644 --- a/src/pathfinder/yapf/yapf_ship.cpp +++ b/src/pathfinder/yapf/yapf_ship.cpp @@ -172,6 +172,14 @@ class CYapfFollowShipT return 'w'; } + /** Returns a random trackdir out of a set of trackdirs. */ + static Trackdir GetRandomTrackdir(TrackdirBits trackdirs) + { + const int strip_amount = RandomRange(CountBits(trackdirs)); + for (int s = 0; s < strip_amount; ++s) RemoveFirstTrackdir(&trackdirs); + return FindFirstTrackdir(trackdirs); + } + /** Returns a random tile/trackdir that can be reached from the current tile/trackdir, or tile/INVALID_TRACK if none is available. */ static std::pair GetRandomFollowUpTileTrackdir(const Ship *v, TileIndex tile, Trackdir dir) { @@ -180,17 +188,15 @@ class CYapfFollowShipT TrackdirBits dirs = follower.m_new_td_bits; const TrackdirBits dirs_without_90_degree = dirs & ~TrackdirCrossesTrackdirs(dir); if (dirs_without_90_degree != TRACKDIR_BIT_NONE) dirs = dirs_without_90_degree; - const int strip_amount = RandomRange(CountBits(dirs)); - for (int s = 0; s < strip_amount; ++s) RemoveFirstTrackdir(&dirs); - return { follower.m_new_tile, FindFirstTrackdir(dirs) }; + return { follower.m_new_tile, GetRandomTrackdir(dirs) }; } return { follower.m_new_tile, INVALID_TRACKDIR }; } /** Creates a random path, avoids 90 degree turns. */ - static Trackdir CreateRandomPath(const Ship *v, TileIndex tile, Trackdir dir, ShipPathCache &path_cache, int path_length) + static Trackdir CreateRandomPath(const Ship *v, ShipPathCache &path_cache, int path_length) { - std::pair tile_dir = { tile, dir }; + std::pair tile_dir = { v->tile, v->GetVehicleTrackdir()}; for (int i = 0; i < path_length; ++i) { tile_dir = GetRandomFollowUpTileTrackdir(v, tile_dir.first, tile_dir.second); if (tile_dir.second == INVALID_TRACKDIR) break; @@ -204,33 +210,14 @@ class CYapfFollowShipT return result; } - static Trackdir ChooseShipTrack(const Ship *v, TileIndex tile, DiagDirection enterdir, TrackBits tracks, bool &path_found, ShipPathCache &path_cache) + static Trackdir ChooseShipTrack(const Ship *v, TileIndex tile, TrackdirBits forward_dirs, TrackdirBits reverse_dirs, + bool &path_found, ShipPathCache &path_cache, Trackdir &best_origin_dir) { - /* Handle special case - when next tile is destination tile. */ - if (tile == v->dest_tile) { - /* Convert tracks to trackdirs */ - TrackdirBits trackdirs = TrackBitsToTrackdirBits(tracks); - /* Limit to trackdirs reachable from enterdir. */ - trackdirs &= DiagdirReachesTrackdirs(enterdir); - - /* use vehicle's current direction if that's possible, otherwise use first usable one. */ - Trackdir veh_dir = v->GetVehicleTrackdir(); - return (HasTrackdir(trackdirs, veh_dir)) ? veh_dir : (Trackdir)FindFirstBit(trackdirs); - } - - /* Move back to the old tile/trackdir (where ship is coming from). */ - const TileIndex src_tile = TileAddByDiagDir(tile, ReverseDiagDir(enterdir)); - const Trackdir trackdir = v->GetVehicleTrackdir(); - assert(IsValidTrackdir(trackdir)); - - /* Convert origin trackdir to TrackdirBits. */ - const TrackdirBits trackdirs = TrackdirToTrackdirBits(trackdir); - const std::vector high_level_path = YapfShipFindWaterRegionPath(v, tile, NUMBER_OR_WATER_REGIONS_LOOKAHEAD + 1); if (high_level_path.empty()) { path_found = false; /* Make the ship move around aimlessly. This prevents repeated pathfinder calls and clearly indicates that the ship is lost. */ - return CreateRandomPath(v, src_tile, trackdir, path_cache, SHIP_LOST_PATH_LENGTH); + return CreateRandomPath(v, path_cache, SHIP_LOST_PATH_LENGTH); } /* Try one time without restricting the search area, which generally results in better and more natural looking paths. @@ -240,7 +227,7 @@ class CYapfFollowShipT Tpf pf(MAX_SHIP_PF_NODES); /* Set origin and destination nodes */ - pf.SetOrigin(src_tile, trackdirs); + pf.SetOrigin(v->tile, forward_dirs | reverse_dirs); pf.SetDestination(v); const bool is_intermediate_destination = static_cast(high_level_path.size()) >= NUMBER_OR_WATER_REGIONS_LOOKAHEAD + 1; if (is_intermediate_destination) pf.SetIntermediateDestination(high_level_path.back()); @@ -253,14 +240,16 @@ class CYapfFollowShipT path_found = pf.FindPath(v); Node *node = pf.GetBestNode(); if (attempt == 0 && !path_found) continue; // Try again with restricted search area. - if (!path_found || node == nullptr) return GetRandomFollowUpTileTrackdir(v, src_tile, trackdir).second; + + /* Make the ship move around aimlessly. This prevents repeated pathfinder calls and clearly indicates that the ship is lost. */ + if (!path_found) return CreateRandomPath(v, path_cache, SHIP_LOST_PATH_LENGTH); /* Return only the path within the current water region if an intermediate destination was returned. If not, cache the entire path * to the final destination tile. The low-level pathfinder might actually prefer a different docking tile in a nearby region. Without * caching the full path the ship can get stuck in a loop. */ const WaterRegionPatchDesc end_water_patch = GetWaterRegionPatchInfo(node->GetTile()); - const WaterRegionPatchDesc start_water_patch = GetWaterRegionPatchInfo(tile); - assert(start_water_patch == high_level_path.front()); + assert(GetWaterRegionPatchInfo(tile) == high_level_path.front()); + const WaterRegionPatchDesc start_water_patch = high_level_path.front(); while (node->m_parent) { const WaterRegionPatchDesc node_water_patch = GetWaterRegionPatchInfo(node->GetTile()); @@ -276,10 +265,18 @@ class CYapfFollowShipT } node = node->m_parent; } + assert(node->GetTile() == v->tile); + + /* Return INVALID_TRACKDIR to trigger a ship reversal if that is the best option. */ + best_origin_dir = node->GetTrackdir(); + if ((TrackdirToTrackdirBits(best_origin_dir) & forward_dirs) == TRACKDIR_BIT_NONE) { + path_cache.clear(); + return INVALID_TRACKDIR; + } /* A empty path means we are already at the destination. The pathfinder shouldn't have been called at all. * Return a random reachable trackdir to hopefully nudge the ship out of this strange situation. */ - if (path_cache.empty()) return GetRandomFollowUpTileTrackdir(v, src_tile, trackdir).second; + if (path_cache.empty()) return CreateRandomPath(v, path_cache, 1); /* Take out the last trackdir as the result. */ const Trackdir result = path_cache.front(); @@ -298,52 +295,30 @@ class CYapfFollowShipT * Check whether a ship should reverse to reach its destination. * Called when leaving depot. * @param v Ship. - * @param tile Current position. - * @param td1 Forward direction. - * @param td2 Reverse direction. * @param trackdir [out] the best of all possible reversed trackdirs. * @return true if the reverse direction is better. */ - static bool CheckShipReverse(const Ship *v, TileIndex tile, Trackdir td1, Trackdir td2, Trackdir *trackdir) + static bool CheckShipReverse(const Ship *v, Trackdir *trackdir) { - const std::vector high_level_path = YapfShipFindWaterRegionPath(v, tile, NUMBER_OR_WATER_REGIONS_LOOKAHEAD + 1); - if (high_level_path.empty()) { - if (trackdir) *trackdir = INVALID_TRACKDIR; - return false; - } + bool path_found = false; + ShipPathCache dummy_cache; + Trackdir best_origin_dir = INVALID_TRACKDIR; - /* Create pathfinder instance. */ - Tpf pf(MAX_SHIP_PF_NODES); - /* Set origin and destination nodes. */ if (trackdir == nullptr) { - pf.SetOrigin(tile, TrackdirToTrackdirBits(td1) | TrackdirToTrackdirBits(td2)); + /* The normal case, typically called when ships leave a dock. */ + const Trackdir reverse_dir = ReverseTrackdir(v->GetVehicleTrackdir()); + const TrackdirBits forward_dirs = TrackdirToTrackdirBits(v->GetVehicleTrackdir()); + const TrackdirBits reverse_dirs = TrackdirToTrackdirBits(reverse_dir); + (void)ChooseShipTrack(v, v->tile, forward_dirs, reverse_dirs, path_found, dummy_cache, best_origin_dir); + return path_found && best_origin_dir == reverse_dir; } else { - DiagDirection entry = ReverseDiagDir(VehicleExitDir(v->direction, v->state)); - TrackdirBits rtds = DiagdirReachesTrackdirs(entry) & TrackStatusToTrackdirBits(GetTileTrackStatus(tile, TRANSPORT_WATER, 0, entry)); - pf.SetOrigin(tile, rtds); - } - pf.SetDestination(v); - if (high_level_path.size() > 1) pf.SetIntermediateDestination(high_level_path.back()); - pf.RestrictSearch(high_level_path); - - /* Find best path. */ - if (!pf.FindPath(v)) return false; - - Node *pNode = pf.GetBestNode(); - if (pNode == nullptr) return false; - - /* Path was found, walk through the path back to the origin. */ - while (pNode->m_parent != nullptr) { - pNode = pNode->m_parent; - } - - Trackdir best_trackdir = pNode->GetTrackdir(); - if (trackdir != nullptr) { - *trackdir = best_trackdir; - } else { - assert(best_trackdir == td1 || best_trackdir == td2); + /* This gets called when a ship suddenly can't move forward, e.g. due to terraforming. */ + const DiagDirection entry = ReverseDiagDir(VehicleExitDir(v->direction, v->state)); + const TrackdirBits reverse_dirs = DiagdirReachesTrackdirs(entry) & TrackStatusToTrackdirBits(GetTileTrackStatus(v->tile, TRANSPORT_WATER, 0, entry)); + (void)ChooseShipTrack(v, v->tile, TRACKDIR_BIT_NONE, reverse_dirs, path_found, dummy_cache, best_origin_dir); + *trackdir = path_found && best_origin_dir != INVALID_TRACKDIR ? best_origin_dir : GetRandomTrackdir(reverse_dirs); + return true; } - return best_trackdir != td1; } }; @@ -449,16 +424,15 @@ struct CYapfShip : CYapfTGetVehicleTrackdir()); + const Trackdir td_ret = CYapfShip::ChooseShipTrack(v, tile, origin_dirs, TRACKDIR_BIT_NONE, path_found, path_cache, best_origin_dir); return (td_ret != INVALID_TRACKDIR) ? TrackdirToTrack(td_ret) : INVALID_TRACK; } bool YapfShipCheckReverse(const Ship *v, Trackdir *trackdir) { - Trackdir td = v->GetVehicleTrackdir(); - Trackdir td_rev = ReverseTrackdir(td); - TileIndex tile = v->tile; - return CYapfShip::CheckShipReverse(v, tile, td, td_rev, trackdir); + return CYapfShip::CheckShipReverse(v, trackdir); } diff --git a/src/rev.cpp.in b/src/rev.cpp.in index e876d65d..4715d4ed 100644 --- a/src/rev.cpp.in +++ b/src/rev.cpp.in @@ -35,7 +35,7 @@ bool IsReleasedVersion() * * shows a "M", if the binary is made from modified source code. */ -const char _openttd_revision[] = "14.0"; +const char _openttd_revision[] = "14.1"; /** * The text version of OpenTTD's build date. @@ -48,7 +48,7 @@ const char _openttd_build_date[] = __DATE__ " " __TIME__; /** * The git revision hash of this version. */ -const char _openttd_revision_hash[] = "b3c704a6306027de4aad575c8e394a2d8a1878f9"; +const char _openttd_revision_hash[] = "61342620bc4c0971b28b3578379b53d04d2f11f1"; /** * The year of this version. diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index 188cc471..c9c87c87 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -3269,7 +3269,7 @@ bool AfterLoadGame() /* We did load the "period" of the timer, but not the fired/elapsed. We can deduce that here. */ extern TimeoutTimer _new_competitor_timeout; _new_competitor_timeout.storage.elapsed = 0; - _new_competitor_timeout.fired = _new_competitor_timeout.period == 0; + _new_competitor_timeout.fired = _new_competitor_timeout.period.value == 0; } if (IsSavegameVersionBefore(SLV_NEWGRF_LAST_SERVICE)) { diff --git a/src/saveload/misc_sl.cpp b/src/saveload/misc_sl.cpp index f72ad09d..6475b34b 100644 --- a/src/saveload/misc_sl.cpp +++ b/src/saveload/misc_sl.cpp @@ -99,9 +99,9 @@ static const SaveLoad _date_desc[] = { SLEG_CONDVAR("pause_mode", _pause_mode, SLE_UINT8, SLV_4, SL_MAX_VERSION), SLEG_CONDSSTR("id", _game_session_stats.savegame_id, SLE_STR, SLV_SAVEGAME_ID, SL_MAX_VERSION), /* For older savegames, we load the current value as the "period"; afterload will set the "fired" and "elapsed". */ - SLEG_CONDVAR("next_competitor_start", _new_competitor_timeout.period, SLE_FILE_U16 | SLE_VAR_U32, SL_MIN_VERSION, SLV_109), - SLEG_CONDVAR("next_competitor_start", _new_competitor_timeout.period, SLE_UINT32, SLV_109, SLV_AI_START_DATE), - SLEG_CONDVAR("competitors_interval", _new_competitor_timeout.period, SLE_UINT32, SLV_AI_START_DATE, SL_MAX_VERSION), + SLEG_CONDVAR("next_competitor_start", _new_competitor_timeout.period.value, SLE_FILE_U16 | SLE_VAR_U32, SL_MIN_VERSION, SLV_109), + SLEG_CONDVAR("next_competitor_start", _new_competitor_timeout.period.value, SLE_UINT32, SLV_109, SLV_AI_START_DATE), + SLEG_CONDVAR("competitors_interval", _new_competitor_timeout.period.value, SLE_UINT32, SLV_AI_START_DATE, SL_MAX_VERSION), SLEG_CONDVAR("competitors_interval_elapsed", _new_competitor_timeout.storage.elapsed, SLE_UINT32, SLV_AI_START_DATE, SL_MAX_VERSION), SLEG_CONDVAR("competitors_interval_fired", _new_competitor_timeout.fired, SLE_BOOL, SLV_AI_START_DATE, SL_MAX_VERSION), }; diff --git a/src/saveload/oldloader_sl.cpp b/src/saveload/oldloader_sl.cpp index 8448367c..1747d01c 100644 --- a/src/saveload/oldloader_sl.cpp +++ b/src/saveload/oldloader_sl.cpp @@ -1693,7 +1693,7 @@ static const OldChunks main_chunk[] = { OCL_ASSERT( OC_TTO, 0x496CE ), - OCL_VAR ( OC_FILE_U16 | OC_VAR_U32, 1, &_new_competitor_timeout.period ), + OCL_VAR ( OC_FILE_U16 | OC_VAR_U32, 1, &_new_competitor_timeout.period.value ), OCL_CNULL( OC_TTO, 2 ), ///< available monorail bitmask diff --git a/src/ship_cmd.cpp b/src/ship_cmd.cpp index da0f8eac..09ed0af2 100644 --- a/src/ship_cmd.cpp +++ b/src/ship_cmd.cpp @@ -501,14 +501,11 @@ static void ShipArrivesAt(const Vehicle *v, Station *st) * * @param v Ship to navigate * @param tile Tile, the ship is about to enter - * @param enterdir Direction of entering * @param tracks Available track choices on \a tile * @return Track to choose, or INVALID_TRACK when to reverse. */ -static Track ChooseShipTrack(Ship *v, TileIndex tile, DiagDirection enterdir, TrackBits tracks) +static Track ChooseShipTrack(Ship *v, TileIndex tile, TrackBits tracks) { - assert(IsValidDiagDirection(enterdir)); - bool path_found = true; Track track; @@ -535,7 +532,7 @@ static Track ChooseShipTrack(Ship *v, TileIndex tile, DiagDirection enterdir, Tr switch (_settings_game.pf.pathfinder_for_ships) { case VPF_NPF: track = NPFShipChooseTrack(v, path_found); break; - case VPF_YAPF: track = YapfShipChooseTrack(v, tile, enterdir, tracks, path_found, v->path); break; + case VPF_YAPF: track = YapfShipChooseTrack(v, tile, path_found, v->path); break; default: NOT_REACHED(); } } @@ -821,7 +818,7 @@ static void ShipController(Ship *v) } /* Choose a direction, and continue if we find one */ - const Track track = ChooseShipTrack(v, gp.new_tile, diagdir, tracks); + const Track track = ChooseShipTrack(v, gp.new_tile, tracks); if (track == INVALID_TRACK) return ReverseShip(v); const ShipSubcoordData &b = _ship_subcoord[diagdir][track]; diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index 0807f126..ab3b4ddc 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -4329,6 +4329,19 @@ void BuildOilRig(TileIndex tile) st->rect.BeforeAddTile(tile, StationRect::ADD_FORCE); st->UpdateVirtCoord(); + + /* An industry tile has now been replaced with a station tile, this may change the overlap between station catchments and industry tiles. + * Recalculate the station catchment for all stations currently in the industry's nearby list. + * Clear the industry's station nearby list first because Station::RecomputeCatchment cannot remove nearby industries in this case. */ + if (_settings_game.station.serve_neutral_industries) { + StationList nearby = std::move(st->industry->stations_near); + st->industry->stations_near.clear(); + for (Station *near : nearby) { + near->RecomputeCatchment(true); + UpdateStationAcceptance(near, true); + } + } + st->RecomputeCatchment(); UpdateStationAcceptance(st, false); } diff --git a/src/timer/timer.h b/src/timer/timer.h index 3b76be0b..982b8673 100644 --- a/src/timer/timer.h +++ b/src/timer/timer.h @@ -98,7 +98,7 @@ class IntervalTimer : public BaseTimer { */ void SetInterval(const TPeriod interval, bool reset = true) { - this->period = interval; + TimerManager::ChangeRegisteredTimerPeriod(*this, interval); if (reset) this->storage = {}; } @@ -150,7 +150,7 @@ class TimeoutTimer : public BaseTimer { */ void Reset(const TPeriod timeout) { - this->period = timeout; + TimerManager::ChangeRegisteredTimerPeriod(*this, timeout); this->fired = false; this->storage = {}; } diff --git a/src/timer/timer_game_tick.cpp b/src/timer/timer_game_tick.cpp index 92399a4e..d8699220 100644 --- a/src/timer/timer_game_tick.cpp +++ b/src/timer/timer_game_tick.cpp @@ -21,13 +21,13 @@ TimerGameTick::TickCounter TimerGameTick::counter = 0; template<> void IntervalTimer::Elapsed(TimerGameTick::TElapsed delta) { - if (this->period == 0) return; + if (this->period.value == 0) return; this->storage.elapsed += delta; uint count = 0; - while (this->storage.elapsed >= this->period) { - this->storage.elapsed -= this->period; + while (this->storage.elapsed >= this->period.value) { + this->storage.elapsed -= this->period.value; count++; } @@ -40,11 +40,11 @@ template<> void TimeoutTimer::Elapsed(TimerGameTick::TElapsed delta) { if (this->fired) return; - if (this->period == 0) return; + if (this->period.value == 0) return; this->storage.elapsed += delta; - if (this->storage.elapsed >= this->period) { + if (this->storage.elapsed >= this->period.value) { this->callback(); this->fired = true; } @@ -64,7 +64,16 @@ bool TimerManager::Elapsed(TimerGameTick::TElapsed delta) #ifdef WITH_ASSERT template<> -void TimerManager::Validate(TimerGameTick::TPeriod) +void TimerManager::Validate(TimerGameTick::TPeriod period) { + if (period.priority == TimerGameTick::Priority::NONE) return; + + /* Validate we didn't make a developer error and scheduled more than one + * entry on the same priority. There can only be one timer on + * a specific priority, to ensure we are deterministic, and to avoid + * container sort order invariant issues with timer period saveload. */ + for (const auto &timer : TimerManager::GetTimers()) { + assert(timer->period.priority != period.priority); + } } #endif /* WITH_ASSERT */ diff --git a/src/timer/timer_game_tick.h b/src/timer/timer_game_tick.h index 0151e45b..02ae2b16 100644 --- a/src/timer/timer_game_tick.h +++ b/src/timer/timer_game_tick.h @@ -24,7 +24,34 @@ class TimerGameTick { using Ticks = int32_t; ///< The type to store ticks in using TickCounter = uint64_t; ///< The type that the tick counter is stored in - using TPeriod = uint; + enum Priority { + NONE, ///< These timers can be executed in any order; the order is not relevant. + + /* For all other priorities, the order is important. + * For safety, you can only setup a single timer on a single priority. */ + COMPETITOR_TIMEOUT, + }; + + struct TPeriod { + Priority priority; + uint value; + + TPeriod(Priority priority, uint value) : priority(priority), value(value) + {} + + bool operator < (const TPeriod &other) const + { + /* Sort by priority before value, such that changes in value for priorities other than NONE do not change the container order */ + if (this->priority != other.priority) return this->priority < other.priority; + return this->value < other.value; + } + + bool operator == (const TPeriod &other) const + { + return this->priority == other.priority && this->value == other.value; + } + }; + using TElapsed = uint; struct TStorage { uint elapsed; diff --git a/src/timer/timer_manager.h b/src/timer/timer_manager.h index c3b45a73..92e45ccc 100644 --- a/src/timer/timer_manager.h +++ b/src/timer/timer_manager.h @@ -56,6 +56,20 @@ class TimerManager { GetTimers().erase(&timer); } + /** + * Change the period of a registered timer. + * + * @param timer The timer to change the period of. + * @param new_period The new period value. + */ + static void ChangeRegisteredTimerPeriod(BaseTimer &timer, TPeriod new_period) + { + /* Unregistration and re-registration is necessary because the period is used as the sort key in base_timer_sorter */ + UnregisterTimer(timer); + timer.period = new_period; + RegisterTimer(timer); + } + #ifdef WITH_ASSERT /** * Validate that a new period is actually valid. diff --git a/src/timetable_gui.cpp b/src/timetable_gui.cpp index a7e700f5..12247db2 100644 --- a/src/timetable_gui.cpp +++ b/src/timetable_gui.cpp @@ -799,7 +799,7 @@ struct TimetableWindow : Window { /** * In real-time mode, the timetable GUI shows relative times and needs to be redrawn every second. */ - IntervalTimer redraw_interval = {Ticks::TICKS_PER_SECOND, [this](auto) { + IntervalTimer redraw_interval = { { TimerGameTick::Priority::NONE, Ticks::TICKS_PER_SECOND }, [this](auto) { if (_settings_client.gui.timetable_mode == TimetableMode::Seconds) { this->SetDirty(); } diff --git a/src/town.h b/src/town.h index f096bfa5..686e7f85 100644 --- a/src/town.h +++ b/src/town.h @@ -315,5 +315,6 @@ inline uint16_t TownTicksToGameTicks(uint16_t ticks) RoadType GetTownRoadType(); +bool CheckTownRoadTypes(); #endif /* TOWN_H */ diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp index ffa3d746..6d972a3e 100644 --- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -940,6 +940,45 @@ RoadType GetTownRoadType() return best_rt; } +/** + * Get the calendar date of the earliest town-buildable road type. + * @return introduction date of earliest road type, or INT32_MAX if none available. + */ +static TimerGameCalendar::Date GetTownRoadTypeFirstIntroductionDate() +{ + const RoadTypeInfo *best = nullptr; + for (RoadType rt = ROADTYPE_BEGIN; rt != ROADTYPE_END; rt++) { + if (RoadTypeIsTram(rt)) continue; + const RoadTypeInfo *rti = GetRoadTypeInfo(rt); + if (rti->label == 0) continue; // Unused road type. + if (!HasBit(rti->flags, ROTF_TOWN_BUILD)) continue; // Town can't build this road type. + + if (best != nullptr && rti->introduction_date >= best->introduction_date) continue; + best = rti; + } + + if (best == nullptr) return INT32_MAX; + return best->introduction_date; +} + +/** + * Check if towns are able to build road. + * @return true iff the towns are currently able to build road. + */ +bool CheckTownRoadTypes() +{ + auto min_date = GetTownRoadTypeFirstIntroductionDate(); + if (min_date <= TimerGameCalendar::date) return true; + + if (min_date < INT32_MAX) { + SetDParam(0, min_date); + ShowErrorMessage(STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET, STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_YET_EXPLANATION, WL_CRITICAL); + } else { + ShowErrorMessage(STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL, STR_ERROR_NO_TOWN_ROADTYPES_AVAILABLE_AT_ALL_EXPLANATION, WL_CRITICAL); + } + return false; +} + /** * Check for parallel road inside a given distance. * Assuming a road from (tile - TileOffsByDiagDir(dir)) to tile, diff --git a/src/vehicle.cpp b/src/vehicle.cpp index c2a61d44..7772535f 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -691,7 +691,7 @@ void ResetVehicleColourMap() * List of vehicles that should check for autoreplace this tick. * Mapping of vehicle -> leave depot immediately after autoreplace. */ -using AutoreplaceMap = std::map; +using AutoreplaceMap = std::map; static AutoreplaceMap _vehicles_to_autoreplace; void InitializeVehicles() @@ -919,7 +919,7 @@ Vehicle::~Vehicle() void VehicleEnteredDepotThisTick(Vehicle *v) { /* Vehicle should stop in the depot if it was in 'stopping' state */ - _vehicles_to_autoreplace[v] = !(v->vehstatus & VS_STOPPED); + _vehicles_to_autoreplace[v->index] = !(v->vehstatus & VS_STOPPED); /* We ALWAYS set the stopped state. Even when the vehicle does not plan on * stopping in the depot, so we stop it to ensure that it will not reserve @@ -1067,7 +1067,7 @@ void CallVehicleTicks() Backup cur_company(_current_company, FILE_LINE); for (auto &it : _vehicles_to_autoreplace) { - Vehicle *v = it.first; + Vehicle *v = Vehicle::Get(it.first); /* Autoreplace needs the current company set as the vehicle owner */ cur_company.Change(v->owner); @@ -1623,7 +1623,7 @@ void VehicleEnterDepot(Vehicle *v) cur_company.Restore(); if (cost.Failed()) { - _vehicles_to_autoreplace[v] = false; + _vehicles_to_autoreplace[v->index] = false; if (v->owner == _local_company) { /* Notify the user that we stopped the vehicle */ SetDParam(0, v->index); @@ -1645,7 +1645,7 @@ void VehicleEnterDepot(Vehicle *v) } if (v->current_order.GetDepotActionType() & ODATFB_HALT) { /* Vehicles are always stopped on entering depots. Do not restart this one. */ - _vehicles_to_autoreplace[v] = false; + _vehicles_to_autoreplace[v->index] = false; /* Invalidate last_loading_station. As the link from the station * before the stop to the station after the stop can't be predicted * we shouldn't construct it when the vehicle visits the next stop. */ @@ -1664,7 +1664,14 @@ void VehicleEnterDepot(Vehicle *v) /* If we've entered our unbunching depot, record the round trip duration. */ if (v->current_order.GetDepotActionType() & ODATFB_UNBUNCH && v->depot_unbunching_last_departure > 0) { - v->round_trip_time = (TimerGameTick::counter - v->depot_unbunching_last_departure); + TimerGameTick::Ticks measured_round_trip = TimerGameTick::counter - v->depot_unbunching_last_departure; + if (v->round_trip_time == 0) { + /* This might be our first round trip. */ + v->round_trip_time = measured_round_trip; + } else { + /* If we have a previous trip, smooth the effects of outlier trip calculations caused by jams or other interference. */ + v->round_trip_time = Clamp(measured_round_trip, (v->round_trip_time / 2), ClampTo(v->round_trip_time * 2)); + } } v->current_order.MakeDummy(); @@ -2510,7 +2517,7 @@ void Vehicle::LeaveUnbunchingDepot() SetWindowDirty(WC_VEHICLE_TIMETABLE, this->index); /* Find the average travel time of vehicles that we share orders with. */ - uint num_vehicles = 0; + int num_vehicles = 0; TimerGameTick::Ticks total_travel_time = 0; Vehicle *u = this->FirstShared(); @@ -2523,10 +2530,10 @@ void Vehicle::LeaveUnbunchingDepot() } /* Make sure we cannot divide by 0. */ - num_vehicles = std::max(num_vehicles, 1u); + num_vehicles = std::max(num_vehicles, 1); /* Calculate the separation by finding the average travel time, then calculating equal separation (minimum 1 tick) between vehicles. */ - TimerGameTick::Ticks separation = std::max((total_travel_time / num_vehicles / num_vehicles), 1u); + TimerGameTick::Ticks separation = std::max((total_travel_time / num_vehicles / num_vehicles), 1); TimerGameTick::TickCounter next_departure = TimerGameTick::counter + separation; /* Set the departure time of all vehicles that we share orders with. */ @@ -2536,6 +2543,7 @@ void Vehicle::LeaveUnbunchingDepot() if (u->vehstatus & (VS_STOPPED | VS_CRASHED)) continue; u->depot_unbunching_next_departure = next_departure; + SetWindowDirty(WC_VEHICLE_VIEW, u->index); } } diff --git a/src/vehicle_gui.cpp b/src/vehicle_gui.cpp index fca6bde1..b208e50e 100644 --- a/src/vehicle_gui.cpp +++ b/src/vehicle_gui.cpp @@ -1681,6 +1681,17 @@ uint GetVehicleListHeight(VehicleType type, uint divisor) return base + (rem == 0 ? 0 : divisor - rem); } +/** + * Get width required for the formatted unit number display. + * @param digits Number of digits required for unit number. + * @return Required width in pixels. + */ +static int GetUnitNumberWidth(int digits) +{ + SetDParamMaxDigits(0, digits); + return GetStringBoundingBox(STR_JUST_COMMA).width; +} + /** * Draw all the vehicle list items. * @param selected_vehicle The vehicle that is to be highlighted. @@ -1693,7 +1704,7 @@ void BaseVehicleListWindow::DrawVehicleListItems(VehicleID selected_vehicle, int bool rtl = _current_text_dir == TD_RTL; Dimension profit = GetSpriteSize(SPR_PROFIT_LOT); - int text_offset = std::max(profit.width, GetDigitWidth() * this->unitnumber_digits) + WidgetDimensions::scaled.hsep_normal; + int text_offset = std::max(profit.width, GetUnitNumberWidth(this->unitnumber_digits)) + WidgetDimensions::scaled.hsep_normal; Rect tr = ir.Indent(text_offset, rtl); bool show_orderlist = this->vli.vtype >= VEH_SHIP; @@ -3109,12 +3120,12 @@ struct VehicleViewWindow : Window { } else { // no train str = STR_VEHICLE_STATUS_STOPPED; } + } else if (v->IsInDepot() && v->IsWaitingForUnbunching()) { + str = STR_VEHICLE_STATUS_WAITING_UNBUNCHING; } else if (v->type == VEH_TRAIN && HasBit(Train::From(v)->flags, VRF_TRAIN_STUCK) && !v->current_order.IsType(OT_LOADING)) { str = STR_VEHICLE_STATUS_TRAIN_STUCK; } else if (v->type == VEH_AIRCRAFT && HasBit(Aircraft::From(v)->flags, VAF_DEST_TOO_FAR) && !v->current_order.IsType(OT_LOADING)) { str = STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR; - } else if (v->IsInDepot() && v->IsWaitingForUnbunching()) { - str = STR_VEHICLE_STATUS_WAITING_UNBUNCHING; } else { // vehicle is in a "normal" state, show current order if (mouse_over_start_stop) { if (v->vehstatus & VS_STOPPED) { diff --git a/src/video/dedicated_v.cpp b/src/video/dedicated_v.cpp index e2613f23..a41fcdda 100644 --- a/src/video/dedicated_v.cpp +++ b/src/video/dedicated_v.cpp @@ -217,7 +217,6 @@ void VideoDriver_Dedicated::MainLoop() if (!_dedicated_forks) DedicatedHandleKeyInput(); this->DrainCommandQueue(); - ChangeGameSpeed(_ddc_fastforward); this->Tick(); this->SleepTillNextTick(); } diff --git a/src/video/sdl2_v.cpp b/src/video/sdl2_v.cpp index 2bb381f5..e57cfa61 100644 --- a/src/video/sdl2_v.cpp +++ b/src/video/sdl2_v.cpp @@ -282,7 +282,16 @@ static const SDLVkMapping _vk_mapping[] = { AM_UP(SDLK_F1, SDLK_F12, WKC_F1, WKC_F12), /* Numeric part. */ - AM(SDLK_KP_0, SDLK_KP_9, '0', '9'), + AS(SDLK_KP_1, '1'), + AS(SDLK_KP_2, '2'), + AS(SDLK_KP_3, '3'), + AS(SDLK_KP_4, '4'), + AS(SDLK_KP_5, '5'), + AS(SDLK_KP_6, '6'), + AS(SDLK_KP_7, '7'), + AS(SDLK_KP_8, '8'), + AS(SDLK_KP_9, '9'), + AS(SDLK_KP_0, '0'), AS(SDLK_KP_DIVIDE, WKC_NUM_DIV), AS(SDLK_KP_MULTIPLY, WKC_NUM_MUL), AS(SDLK_KP_MINUS, WKC_NUM_MINUS), diff --git a/src/video/video_driver.hpp b/src/video/video_driver.hpp index 87155d2b..9954d978 100644 --- a/src/video/video_driver.hpp +++ b/src/video/video_driver.hpp @@ -16,6 +16,7 @@ #include "../gfx_func.h" #include "../settings_type.h" #include "../zoom_type.h" +#include "../network/network_func.h" #include #include #include @@ -311,6 +312,12 @@ class VideoDriver : public Driver { std::chrono::steady_clock::duration GetGameInterval() { +#ifdef DEBUG_DUMP_COMMANDS + /* When replaying, run as fast as we can. */ + extern bool _ddc_fastforward; + if (_ddc_fastforward) return std::chrono::microseconds(0); +#endif /* DEBUG_DUMP_COMMANDS */ + /* If we are paused, run on normal speed. */ if (_pause_mode) return std::chrono::milliseconds(MILLISECONDS_PER_TICK); /* Infinite speed, as quickly as you can. */ diff --git a/src/window.cpp b/src/window.cpp index 314bc9a7..e5b53195 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -1444,7 +1444,7 @@ void Window::FindWindowPlacementAndResize(int def_width, int def_height) if (this->resize.step_width > 1) enlarge_x -= enlarge_x % (int)this->resize.step_width; if (this->resize.step_height > 1) enlarge_y -= enlarge_y % (int)this->resize.step_height; - ResizeWindow(this, enlarge_x, enlarge_y); + ResizeWindow(this, enlarge_x, enlarge_y, true, false); /* ResizeWindow() calls this->OnResize(). */ } else { /* Always call OnResize; that way the scrollbars and matrices get initialized. */