diff --git a/bin/ai/regression/regression_info.nut b/bin/ai/regression/regression_info.nut index 49cc4478b3..d964660f14 100644 --- a/bin/ai/regression/regression_info.nut +++ b/bin/ai/regression/regression_info.nut @@ -1,4 +1,4 @@ -/* $Id: regression_info.nut 27518 2016-03-01 20:00:22Z frosch $ */ +/* $Id: regression_info.nut 27780 2017-03-11 20:50:26Z frosch $ */ class Regression extends AIInfo { function GetAuthor() { return "OpenTTD NoAI Developers Team"; } @@ -6,7 +6,7 @@ class Regression extends AIInfo { function GetShortName() { return "REGR"; } function GetDescription() { return "This runs regression-tests on some commands. On the same map the result should always be the same."; } function GetVersion() { return 1; } - function GetAPIVersion() { return "1.7"; } + function GetAPIVersion() { return "1.8"; } function GetDate() { return "2007-03-18"; } function CreateInstance() { return "Regression"; } } diff --git a/bin/baseset/openttd.grf b/bin/baseset/openttd.grf index 85d3fc8adc..5d124f3f8f 100644 Binary files a/bin/baseset/openttd.grf and b/bin/baseset/openttd.grf differ diff --git a/bin/baseset/opntitle.dat b/bin/baseset/opntitle.dat index a51c644e2b..680dea774d 100644 Binary files a/bin/baseset/opntitle.dat and b/bin/baseset/opntitle.dat differ diff --git a/changelog.txt b/changelog.txt index 8edba15fb4..5e1540a1e0 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,44 @@ +1.8.0 (2018-04-01) +------------------------------------------------------------------------ +(None) + + +1.8.0-RC1 (2018-03-21) +------------------------------------------------------------------------ +- Feature: [GFX] Climate-specific Action5 extra airport sprites [FS#6664] (r27976) +- Feature: Draw vertical separators at tile distance in the train depot GUI (r27938, r27899) +- Feature: [Build] MSVC 2017 project file generator. Most noticeable, std:c++latest is enabled (r27920, r27919, r27918, r27917) +- Feature: [Build] Project file generator for kdevelop 4/5 [FS#6577] (r27897) +- Feature: Add option to close windows with right click [FS#4950] (r27826, r27825) +- Feature: Vehicle Group Info: Add profits and occupancy display to group vehicle list (r27822) +- Feature: Display aircraft type in vehicle preview/purchase/detail windows (r27802, r27799, r27797) +- Change: [NewGRF] Various performance improvements to resolving VA2 (r27989, r27985, r27984, r27983, r27982) +- Change: [NewGRF] Increase maximum allowed vehicle sprite size to reduce clipping of ships (r27987) +- Change: Check companies for bankruptcy before subtracting reoccuring monthly costs [FS#6679] (r27981) +- Change: [GFX] Replace the office building sprite on various toyland airports with a better fitting sprite [FS#6664] (r27977) +- Change: [GFX] The switch-toolbar icon contained pixels from the fire cycle. Replace the whole icon with a new version [FS#6654] (r27961) +- Change: Reword texts in industry view, when stockpiling is used (r27952) +- Change: Remove the gap between windows when positioning them after opening [FS#6568] (r27934, r27900) +- Change: [Build] Enable usage of static_assert for MSVC (r27916) +- Change: [Build] Preserve PKG_CONFIG_PATH and PKG_CONFIG_LIBDIR environment variables in config.cache file [FS#6614] (r27902) +- Change: Do not cancel headquarter construction and engine-preview-query when shift-clicking (r27889) +- Change: Parse extmidi command string for parameters to pass on (r27834) +- Change: Draw images in centre of buttons (r27829, r27821) +- Fix: Store the map variety setting in the savegame like the other mapgen settings, so restarting maps considers it [FS#6673] (r27978) +- Fix: Hair selection was missing one option [FS#6642] (r27975) +- Fix: Avoid tile operations outside map border when building lock [FS#6662] (r27973) +- Fix: Catenary sprites got mixed up for depots [FS#6670] (r27972) +- Fix: Make automatic window-positioning RTL-aware (r27934, r27900) +- Fix: Automatic window-positioning now uses GUI-scale/style dependent sizes/distances instead of fixed pixel values (r27934, r27900) +- Fix: [NewGRF] While executing random triggers, var 5F should include the new triggers (r27928) +- Fix: [NewGRF] Reset used random triggers only after all A123 chains have been resolved, so that all RA2 in all chains can test the shared triggers (r27928) +- Fix: [NewGRF] Industry random triggers are stored per tile, even when randomising the shared random bits of the parent industry (r27928) +- Fix: [NPF] Reserved track bits were not accounted for when trying to find any safe position (r27912) +- Fix: Do not modify argv[0] [FS#6575] (r27886) +- Fix: Do not search directories when opening ini files as we already have their full path [FS#6421] (r27816) +- Fix: Road tunnel/bridge heads have no trackbits wrt. catenary drawing (r27812) + + 1.7.2 (2017-12-24) ------------------------------------------------------------------------ (None) diff --git a/config.lib b/config.lib index acfbc80767..0a9a5ef5be 100644 --- a/config.lib +++ b/config.lib @@ -1,4 +1,4 @@ -# $Id: config.lib 27949 2017-12-24 12:09:20Z frosch $ +# $Id: config.lib 28002 2018-04-01 11:14:34Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -172,7 +172,7 @@ set_default() { with_grfcodec with_nforenum with_sse - CC CXX CFLAGS CXXFLAGS LDFLAGS CFLAGS_BUILD CXXFLAGS_BUILD LDFLAGS_BUILD" + CC CXX CFLAGS CXXFLAGS LDFLAGS CFLAGS_BUILD CXXFLAGS_BUILD LDFLAGS_BUILD PKG_CONFIG_PATH PKG_CONFIG_LIBDIR" } detect_params() { @@ -473,6 +473,8 @@ detect_params() { CFLAGS_BUILD=* | --CFLAGS_BUILD=* | --CFLAGS-BUILD=*) CFLAGS_BUILD="$optarg";; CXXFLAGS_BUILD=* | --CXXFLAGS_BUILD=* | --CXXFLAGS-BUILD=*) CXXFLAGS_BUILD="$optarg";; LDFLAGS_BUILD=* | --LDFLAGS_BUILD=* | --LDFLAGS-BUILD=*) LDFLAGS_BUILD="$optarg";; + PKG_CONFIG_PATH=* | --PKG_CONFIG_PATH=* | --PKG-CONFIG-PATH=*) PKG_CONFIG_PATH="$optarg";; + PKG_CONFIG_LIBDIR=* | --PKG_CONFIG_LIBDIR=* | --PKG-CONFIG-LIBDIR=*) PKG_CONFIG_LIBDIR="$optarg";; --ignore-extra-parameters) ignore_extra_parameters="1";; @@ -517,6 +519,20 @@ save_params() { echo "" >> $config_log } +# Export a variable so tools like pkg-config can see it when invoked. +# If the variable contains an empty string then unset it. +# $1 - name of the variable to export or unset +export_or_unset() { + eval local value=\$$1 + if [ -n "$value" ]; then + export $1; + log 2 "using $1=$value"; + else + unset $1; + log 2 "not using $1"; + fi +} + check_params() { # Some params want to be in full uppercase, else they might not work as # expected.. fix that here @@ -525,6 +541,16 @@ check_params() { os=`echo $os | tr '[a-z]' '[A-Z]'` cpu_type=`echo $cpu_type | tr '[a-z]' '[A-Z]'` + # Export some variables to be used by pkg-config + # + # PKG_CONFIG_LIBDIR variable musn't be set if we are not willing to + # override the default pkg-config search path, it musn't be an empty + # string. If the variable is empty (e.g. when an empty string comes + # from config.cache) then unset it. This way the "don't override" state + # will be properly preserved when (re)configuring. + export_or_unset PKG_CONFIG_PATH + export_or_unset PKG_CONFIG_LIBDIR + # Check if all params have valid values # Endian only allows AUTO, LE and, BE @@ -3562,6 +3588,8 @@ showhelp() { echo " CFLAGS_BUILD C compiler flags for build time tool generation" echo " CXXFLAGS_BUILD C++ compiler flags for build time tool generation" echo " LDFLAGS_BUILD linker flags for build time tool generation" + echo " PKG_CONFIG_PATH additional library search paths (see \"man pkg-config\")" + echo " PKG_CONFIG_LIBDIR replace the default library search path (see \"man pkg-config\")" echo "" echo "Use these variables to override the choices made by 'configure' or to help" echo "it to find libraries and programs with nonstandard names/locations." diff --git a/known-bugs.txt b/known-bugs.txt index 440176a844..f324b1dcb6 100644 --- a/known-bugs.txt +++ b/known-bugs.txt @@ -1,6 +1,6 @@ OpenTTD's known bugs -Last updated: 2017-12-24 -Release version: 1.7.2 +Last updated: 2018-04-01 +Release version: 1.8.0 ------------------------------------------------------------------------ diff --git a/media/extra_grf/airports.nfo b/media/extra_grf/airports.nfo index b03f6306f4..6471407c32 100644 --- a/media/extra_grf/airports.nfo +++ b/media/extra_grf/airports.nfo @@ -1,5 +1,5 @@ // -// $Id: airports.nfo 23982 2012-02-24 22:29:44Z rubidium $ +// $Id: airports.nfo 27976 2018-03-11 11:43:32Z frosch $ // // This file is part of OpenTTD. // OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -23,3 +23,16 @@ -1 sprites/airports.png 8bpp 82 88 64 31 -31 0 normal -1 sprites/airports.png 8bpp 162 88 64 31 -31 0 normal -1 sprites/airports.png 8bpp 242 88 64 31 -31 0 normal + -1 * 0 0C "Climate specific sprites by PaulC" + -1 * 0 07 83 01 \7! 01 03 + -1 * 0 05 90 02 0D + -1 sprites/airports.png 8bpp 320 88 64 31 -31 0 normal + -1 sprites/airports.png 8bpp 400 88 64 31 -31 0 normal + -1 * 0 07 83 01 \7! 02 03 + -1 * 0 05 90 02 0D + -1 sprites/airports.png 8bpp 480 88 64 31 -31 0 normal + -1 sprites/airports.png 8bpp 560 88 64 31 -31 0 normal + -1 * 0 07 83 01 \7! 03 03 + -1 * 0 05 90 02 0D + -1 sprites/airports.png 8bpp 640 88 64 31 -31 0 normal + -1 sprites/airports.png 8bpp 720 88 64 31 -31 0 normal diff --git a/media/extra_grf/airports.png b/media/extra_grf/airports.png index fd63355b1f..5fb9618bc5 100644 Binary files a/media/extra_grf/airports.png and b/media/extra_grf/airports.png differ diff --git a/media/extra_grf/chars.nfo b/media/extra_grf/chars.nfo index b2f77c6a92..6b853e9226 100644 --- a/media/extra_grf/chars.nfo +++ b/media/extra_grf/chars.nfo @@ -1,5 +1,5 @@ // -// $Id: chars.nfo 27940 2017-12-11 19:24:46Z frosch $ +// $Id: chars.nfo 27915 2017-09-11 18:31:32Z frosch $ // // This file is part of OpenTTD. // OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. diff --git a/media/extra_grf/openttdgui.png b/media/extra_grf/openttdgui.png index 28ad2fbafe..94871968d3 100644 Binary files a/media/extra_grf/openttdgui.png and b/media/extra_grf/openttdgui.png differ diff --git a/os/debian/changelog b/os/debian/changelog index ce2582128c..d55b9ab4ce 100644 --- a/os/debian/changelog +++ b/os/debian/changelog @@ -1,3 +1,15 @@ +openttd (1.8.0-0) unstable; urgency=low + + * New upstream release 1.8.0 + + -- OpenTTD Sun, 01 Apr 2018 14:00:00 +0200 + +openttd (1.8.0~RC1-0) unstable; urgency=low + + * New upstream release 1.8.0-RC1 + + -- OpenTTD Wed, 21 Mar 2018 21:00:00 +0100 + openttd (1.7.2-0) unstable; urgency=low * New upstream release 1.7.2 diff --git a/os/debian/copyright b/os/debian/copyright index ab62f66a42..05cbfc4328 100644 --- a/os/debian/copyright +++ b/os/debian/copyright @@ -5,7 +5,7 @@ Source: http://www.openttd.org Files: * -Copyright: © 2004-2017 Ludvig Strigeous and others. +Copyright: © 2004-2018 Ludvig Strigeous and others. License: GPL-2.0 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2.0 as diff --git a/os/os2/installer/make_installer.cmd b/os/os2/installer/make_installer.cmd index de01554a07..5e30e4c354 100644 --- a/os/os2/installer/make_installer.cmd +++ b/os/os2/installer/make_installer.cmd @@ -1,6 +1,6 @@ @echo off -set OPENTTD_VERSION=1.7.0 +set OPENTTD_VERSION=1.8.0 set OPENSFX_VERSION=0.8.0 set NOSOUND_VERSION=0.8.0 set OPENGFX_VERSION=1.2.0 diff --git a/os/rpm/openttd.spec b/os/rpm/openttd.spec index 2dfa1a3ba3..27acc1b7df 100644 --- a/os/rpm/openttd.spec +++ b/os/rpm/openttd.spec @@ -2,7 +2,7 @@ # spec file for package openttd # # Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. -# Copyright (c) 2007-2017 The OpenTTD developers +# Copyright (c) 2007-2018 The OpenTTD developers # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,9 +17,9 @@ # Name: openttd -Version: 1.7.beta1 +Version: 1.8.beta1 Release: 0 -%define srcver 1.7.0-beta1 +%define srcver 1.8.0-beta1 Summary: An open source reimplementation of Chris Sawyer's Transport Tycoon Deluxe License: GPL-2.0 Group: Amusements/Games/Strategy/Other diff --git a/os/windows/installer/install.nsi b/os/windows/installer/install.nsi index b45b0cbccc..a6fedacdca 100644 --- a/os/windows/installer/install.nsi +++ b/os/windows/installer/install.nsi @@ -1,7 +1,7 @@ # Version numbers to update !define APPV_MAJOR 1 -!define APPV_MINOR 7 -!define APPV_MAINT 2 +!define APPV_MINOR 8 +!define APPV_MAINT 0 !define APPV_BUILD 1 !define APPV_EXTRA "" diff --git a/projects/generate b/projects/generate index 78fd3b437b..c96f541411 100755 --- a/projects/generate +++ b/projects/generate @@ -1,6 +1,6 @@ #!/bin/bash -# $Id: generate 27382 2015-08-10 20:36:57Z michi_cc $ +# $Id: generate 27918 2017-09-24 16:19:29Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -22,6 +22,15 @@ then exit 1 fi +# openttd_vs141.sln is for MSVC 2017 +# openttd_vs141.vcxproj is for MSVC 2017 +# openttd_vs141.vcxproj.filters is for MSVC 2017 +# langs_vs141.vcxproj is for MSVC 2017 +# strgen_vs141.vcxproj is for MSVC 2017 +# strgen_vs141.vcxproj.filters is for MSVC 2017 +# generate_vs141.vcxproj is for MSVC 2017 +# version_vs141.vcxproj is for MSVC 2017 + # openttd_vs140.sln is for MSVC 2015 # openttd_vs140.vcxproj is for MSVC 2015 # openttd_vs140.vcxproj.filters is for MSVC 2015 @@ -317,15 +326,21 @@ generate "$openttdvcxproj" "openttd_vs100.vcxproj" generate "$openttdfiles" "openttd_vs100.vcxproj.filters" "$openttdfilters" generate "$openttdvcxproj" "openttd_vs140.vcxproj" generate "$openttdfiles" "openttd_vs140.vcxproj.filters" "$openttdfilters" +generate "$openttdvcxproj" "openttd_vs141.vcxproj" +generate "$openttdfiles" "openttd_vs141.vcxproj.filters" "$openttdfilters" generate "$lang" "langs_vs80.vcproj" generate "$lang" "langs_vs90.vcproj" generate "$langvcxproj" "langs_vs100.vcxproj" generate "$langfiles" "langs_vs100.vcxproj.filters" generate "$langvcxproj" "langs_vs140.vcxproj" generate "$langfiles" "langs_vs140.vcxproj.filters" +generate "$langvcxproj" "langs_vs141.vcxproj" +generate "$langfiles" "langs_vs141.vcxproj.filters" generate "$settings" "settings_vs80.vcproj" "$settingscommand" generate "$settings" "settings_vs90.vcproj" "$settingscommand" generate "$settingsvcxproj" "settings_vs100.vcxproj" "$settingscommand" generate "$settingsfiles" "settings_vs100.vcxproj.filters" generate "$settingsvcxproj" "settings_vs140.vcxproj" "$settingscommand" generate "$settingsfiles" "settings_vs140.vcxproj.filters" +generate "$settingsvcxproj" "settings_vs141.vcxproj" "$settingscommand" +generate "$settingsfiles" "settings_vs141.vcxproj.filters" diff --git a/projects/generate.vbs b/projects/generate.vbs index 25001f3e13..e303f955fc 100755 --- a/projects/generate.vbs +++ b/projects/generate.vbs @@ -1,6 +1,6 @@ Option Explicit -' $Id: generate.vbs 27382 2015-08-10 20:36:57Z michi_cc $ +' $Id: generate.vbs 27918 2017-09-24 16:19:29Z frosch $ ' ' This file is part of OpenTTD. ' OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -10,6 +10,15 @@ Option Explicit Dim FSO Set FSO = CreateObject("Scripting.FileSystemObject") +' openttd_vs141.sln is for MSVC 2017 +' openttd_vs141.vcxproj is for MSVC 2017 +' openttd_vs141.vcxproj.filters is for MSVC 2017 +' langs_vs141.vcxproj is for MSVC 2017 +' strgen_vs141.vcxproj is for MSVC 2017 +' strgen_vs141.vcxproj.filters is for MSVC 2017 +' generate_vs141.vcxproj is for MSVC 2017 +' version_vs141.vcxproj is for MSVC 2017 + ' openttd_vs140.sln is for MSVC 2015 ' openttd_vs140.vcxproj is for MSVC 2015 ' openttd_vs140.vcxproj.filters is for MSVC 2015 @@ -380,6 +389,8 @@ generate openttdvcxproj, ROOT_DIR & "/projects/openttd_vs100.vcxproj", Null generate openttdfiles, ROOT_DIR & "/projects/openttd_vs100.vcxproj.filters", openttdfilters generate openttdvcxproj, ROOT_DIR & "/projects/openttd_vs140.vcxproj", Null generate openttdfiles, ROOT_DIR & "/projects/openttd_vs140.vcxproj.filters", openttdfilters +generate openttdvcxproj, ROOT_DIR & "/projects/openttd_vs141.vcxproj", Null +generate openttdfiles, ROOT_DIR & "/projects/openttd_vs141.vcxproj.filters", openttdfilters Dim lang, langvcxproj, langfiles lang = load_lang_data(ROOT_DIR & "/src/lang", langvcxproj, langfiles) @@ -389,6 +400,8 @@ generate langvcxproj, ROOT_DIR & "/projects/langs_vs100.vcxproj", Null generate langfiles, ROOT_DIR & "/projects/langs_vs100.vcxproj.filters", Null generate langvcxproj, ROOT_DIR & "/projects/langs_vs140.vcxproj", Null generate langfiles, ROOT_DIR & "/projects/langs_vs140.vcxproj.filters", Null +generate langvcxproj, ROOT_DIR & "/projects/langs_vs141.vcxproj", Null +generate langfiles, ROOT_DIR & "/projects/langs_vs141.vcxproj.filters", Null Dim settings, settingsvcxproj, settingscommand, settingsfiles settings = load_settings_data(ROOT_DIR & "/src/table", settingsvcxproj, settingscommand, settingsfiles) @@ -398,3 +411,5 @@ generate settingsvcxproj, ROOT_DIR & "/projects/settings_vs100.vcxproj", setting generate settingsfiles, ROOT_DIR & "/projects/settings_vs100.vcxproj.filters", Null generate settingsvcxproj, ROOT_DIR & "/projects/settings_vs140.vcxproj", settingscommand generate settingsfiles, ROOT_DIR & "/projects/settings_vs140.vcxproj.filters", Null +generate settingsvcxproj, ROOT_DIR & "/projects/settings_vs141.vcxproj", settingscommand +generate settingsfiles, ROOT_DIR & "/projects/settings_vs141.vcxproj.filters", Null diff --git a/projects/langs_vs140.vcxproj b/projects/langs_vs140.vcxproj index b866630d00..317fd34a11 100644 --- a/projects/langs_vs140.vcxproj +++ b/projects/langs_vs140.vcxproj @@ -379,7 +379,7 @@ - + {a133a442-bd0a-4ade-b117-ad7545e4bdd1} false diff --git a/projects/langs_vs140.vcxproj.in b/projects/langs_vs140.vcxproj.in index f75ef9d6b5..3271fecffa 100644 --- a/projects/langs_vs140.vcxproj.in +++ b/projects/langs_vs140.vcxproj.in @@ -50,7 +50,7 @@ !!FILES!! - + {a133a442-bd0a-4ade-b117-ad7545e4bdd1} false diff --git a/projects/openttd_vs140.vcxproj b/projects/openttd_vs140.vcxproj index 979de07700..2849dd11f3 100644 --- a/projects/openttd_vs140.vcxproj +++ b/projects/openttd_vs140.vcxproj @@ -1306,15 +1306,15 @@ - + {0f066b23-18df-4284-8265-f4a5e7e3b966} false - + {a133a442-bd0a-4ade-b117-ad7545e4bdd1} false - + {1a2b3c5e-1c23-41a5-9c9b-acba2aa75fec} false diff --git a/projects/openttd_vs140.vcxproj.in b/projects/openttd_vs140.vcxproj.in index 100062c1ad..ac51d814d9 100644 --- a/projects/openttd_vs140.vcxproj.in +++ b/projects/openttd_vs140.vcxproj.in @@ -327,15 +327,15 @@ - + {0f066b23-18df-4284-8265-f4a5e7e3b966} false - + {a133a442-bd0a-4ade-b117-ad7545e4bdd1} false - + {1a2b3c5e-1c23-41a5-9c9b-acba2aa75fec} false diff --git a/readme.txt b/readme.txt index ed8a9a8458..a32bfdce25 100644 --- a/readme.txt +++ b/readme.txt @@ -1,5 +1,5 @@ -Last updated: 2017-12-24 -Release version: 1.7.2 +Last updated: 2018-04-01 +Release version: 1.8.0 ------------------------------------------------------------------------ @@ -680,6 +680,7 @@ http://homer.rice.edu/~sandmann/cwsdpmi/csdpmi5s.zip X.X) Credits ---- ------- The OpenTTD team (in alphabetical order): + Grzegorz Duczyński (adf88) - General coding (since 1.7.2) Albert Hofkamp (Alberth) - GUI expert (since 0.7) Matthijs Kooijman (blathijs) - Pathfinder-guru, Debian port (since 0.3) Ulf Hermann (fonsinchen) - Cargo Distribution (since 1.3) diff --git a/src/3rdparty/squirrel/squirrel/sqvm.cpp b/src/3rdparty/squirrel/squirrel/sqvm.cpp index 973002b49d..c66c4aca59 100644 --- a/src/3rdparty/squirrel/squirrel/sqvm.cpp +++ b/src/3rdparty/squirrel/squirrel/sqvm.cpp @@ -215,7 +215,7 @@ bool SQVM::ObjCmp(const SQObjectPtr &o1,const SQObjectPtr &o2,SQInteger &result) _RET_SUCCEED(_integer(res)) } } - //continues through (no break needed) + FALLTHROUGH; default: _RET_SUCCEED( _userpointer(o1) < _userpointer(o2)?-1:1 ); } @@ -287,6 +287,7 @@ void SQVM::ToString(const SQObjectPtr &o,SQObjectPtr &res) //else keeps going to the default } } + FALLTHROUGH; default: seprintf(buf, lastof(buf),"(%s : 0x%p)",GetTypeName(o),(void*)_rawval(o)); } @@ -539,7 +540,7 @@ bool SQVM::FOREACH_OP(SQObjectPtr &o1,SQObjectPtr &o2,SQObjectPtr _generator(o1)->Resume(this, arg_2+1); _FINISH(0); } - /* FALL THROUGH */ + FALLTHROUGH; default: Raise_Error("cannot iterate %s", GetTypeName(o1)); } @@ -769,7 +770,7 @@ exception_restore: ct_stackbase = _stackbase; goto common_call; } - /* FALL THROUGH */ + FALLTHROUGH; case _OP_CALL: { ct_tailcall = false; ct_target = arg0; @@ -1101,7 +1102,7 @@ exception_trap: _lasterror = currerror; return false; } - assert(0); + NOT_REACHED(); } bool SQVM::CreateClassInstance(SQClass *theclass, SQObjectPtr &inst, SQObjectPtr &constructor) @@ -1330,7 +1331,7 @@ bool SQVM::Set(const SQObjectPtr &self,const SQObjectPtr &key,const SQObjectPtr return true; } } - //keeps going + FALLTHROUGH; case OT_USERDATA: if(_delegable(self)->_delegate) { SQObjectPtr t; diff --git a/src/ai/ai_gui.cpp b/src/ai/ai_gui.cpp index e4140afd7a..5b7ebb3ddf 100644 --- a/src/ai/ai_gui.cpp +++ b/src/ai/ai_gui.cpp @@ -1,4 +1,4 @@ -/* $Id: ai_gui.cpp 27862 2017-05-03 20:05:52Z frosch $ */ +/* $Id: ai_gui.cpp 27787 2017-03-12 18:19:01Z peter1138 $ */ /* * This file is part of OpenTTD. diff --git a/src/ai/ai_info.cpp b/src/ai/ai_info.cpp index 7df34cdf39..be9c3b1a52 100644 --- a/src/ai/ai_info.cpp +++ b/src/ai/ai_info.cpp @@ -1,4 +1,4 @@ -/* $Id: ai_info.cpp 27518 2016-03-01 20:00:22Z frosch $ */ +/* $Id: ai_info.cpp 27780 2017-03-11 20:50:26Z frosch $ */ /* * This file is part of OpenTTD. @@ -28,7 +28,8 @@ static bool CheckAPIVersion(const char *api_version) { return strcmp(api_version, "0.7") == 0 || strcmp(api_version, "1.0") == 0 || strcmp(api_version, "1.1") == 0 || strcmp(api_version, "1.2") == 0 || strcmp(api_version, "1.3") == 0 || strcmp(api_version, "1.4") == 0 || - strcmp(api_version, "1.5") == 0 || strcmp(api_version, "1.6") == 0 || strcmp(api_version, "1.7") == 0; + strcmp(api_version, "1.5") == 0 || strcmp(api_version, "1.6") == 0 || strcmp(api_version, "1.7") == 0 || + strcmp(api_version, "1.8") == 0; } #if defined(WIN32) diff --git a/src/ai/ai_scanner.cpp b/src/ai/ai_scanner.cpp index 9fc8542312..04e2a71314 100644 --- a/src/ai/ai_scanner.cpp +++ b/src/ai/ai_scanner.cpp @@ -1,4 +1,4 @@ -/* $Id: ai_scanner.cpp 26509 2014-04-25 15:40:32Z rubidium $ */ +/* $Id: ai_scanner.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -114,7 +114,7 @@ AIInfo *AIScannerInfo::FindInfo(const char *nameParam, int versionParam, bool fo *e = '\0'; e++; versionParam = atoi(e); - /* FALL THROUGH, like we were calling this function with a version. */ + /* Continue, like we were calling this function with a version. */ } if (force_exact_match) { diff --git a/src/airport.cpp b/src/airport.cpp index 65c2f55487..1b90aa09c1 100644 --- a/src/airport.cpp +++ b/src/airport.cpp @@ -1,4 +1,4 @@ -/* $Id: airport.cpp 26482 2014-04-23 20:13:33Z rubidium $ */ +/* $Id: airport.cpp 27908 2017-08-31 06:55:38Z adf88 $ */ /* * This file is part of OpenTTD. @@ -27,7 +27,7 @@ * @param delta_z Height of the airport above the land. */ #define AIRPORT_GENERIC(name, terminals, num_helipads, flags, delta_z) \ - static AirportFTAClass _airportfta_ ## name(_airport_moving_data_ ## name, terminals, \ + static const AirportFTAClass _airportfta_ ## name(_airport_moving_data_ ## name, terminals, \ num_helipads, _airport_entries_ ## name, flags, _airport_fta_ ## name, delta_z); /** diff --git a/src/blitter/32bpp_anim.cpp b/src/blitter/32bpp_anim.cpp index 60f844e43b..b242e23145 100644 --- a/src/blitter/32bpp_anim.cpp +++ b/src/blitter/32bpp_anim.cpp @@ -1,4 +1,4 @@ -/* $Id: 32bpp_anim.cpp 27863 2017-05-03 20:09:51Z frosch $ */ +/* $Id: 32bpp_anim.cpp 27796 2017-03-18 17:14:53Z frosch $ */ /* * This file is part of OpenTTD. diff --git a/src/blitter/32bpp_anim.hpp b/src/blitter/32bpp_anim.hpp index 90dc7f3ca5..06083ab4ca 100644 --- a/src/blitter/32bpp_anim.hpp +++ b/src/blitter/32bpp_anim.hpp @@ -1,4 +1,4 @@ -/* $Id: 32bpp_anim.hpp 27863 2017-05-03 20:09:51Z frosch $ */ +/* $Id: 32bpp_anim.hpp 27796 2017-03-18 17:14:53Z frosch $ */ /* * This file is part of OpenTTD. diff --git a/src/blitter/32bpp_anim_sse4.cpp b/src/blitter/32bpp_anim_sse4.cpp index 2c5bd279f1..d53b877082 100644 --- a/src/blitter/32bpp_anim_sse4.cpp +++ b/src/blitter/32bpp_anim_sse4.cpp @@ -1,4 +1,4 @@ -/* $Id: 32bpp_anim_sse4.cpp 27863 2017-05-03 20:09:51Z frosch $ */ +/* $Id: 32bpp_anim_sse4.cpp 27796 2017-03-18 17:14:53Z frosch $ */ /* * This file is part of OpenTTD. diff --git a/src/blitter/8bpp_simple.cpp b/src/blitter/8bpp_simple.cpp index 33c6c0726b..8b87fe917d 100644 --- a/src/blitter/8bpp_simple.cpp +++ b/src/blitter/8bpp_simple.cpp @@ -1,4 +1,4 @@ -/* $Id: 8bpp_simple.cpp 27863 2017-05-03 20:09:51Z frosch $ */ +/* $Id: 8bpp_simple.cpp 27837 2017-03-30 21:33:40Z peter1138 $ */ /* * This file is part of OpenTTD. diff --git a/src/build_vehicle_gui.cpp b/src/build_vehicle_gui.cpp index 715c87e99e..7add9de4ff 100644 --- a/src/build_vehicle_gui.cpp +++ b/src/build_vehicle_gui.cpp @@ -1,4 +1,4 @@ -/* $Id: build_vehicle_gui.cpp 26960 2014-10-05 11:20:02Z peter1138 $ */ +/* $Id: build_vehicle_gui.cpp 27799 2017-03-18 20:46:15Z alberth $ */ /* * This file is part of OpenTTD. @@ -719,7 +719,15 @@ static int DrawShipPurchaseInfo(int left, int right, int y, EngineID engine_numb return y; } -/* Draw aircraft specific details */ +/** + * Draw aircraft specific details in the buy window. + * @param left Left edge of the window to draw in. + * @param right Right edge of the window to draw in. + * @param y Top of the area to draw in. + * @param engine_number Engine to display. + * @param refittable If set, the aircraft can be refitted. + * @return Bottom of the used area. + */ static int DrawAircraftPurchaseInfo(int left, int right, int y, EngineID engine_number, bool refittable) { const Engine *e = Engine::Get(engine_number); @@ -755,6 +763,12 @@ static int DrawAircraftPurchaseInfo(int left, int right, int y, EngineID engine_ DrawString(left, right, y, STR_PURCHASE_INFO_RUNNINGCOST); y += FONT_HEIGHT_NORMAL; + /* Aircraft type */ + SetDParam(0, e->GetAircraftTypeText()); + DrawString(left, right, y, STR_PURCHASE_INFO_AIRCRAFT_TYPE); + y += FONT_HEIGHT_NORMAL; + + /* Aircraft range, if available. */ uint16 range = e->GetRange(); if (range != 0) { SetDParam(0, range); diff --git a/src/company_cmd.cpp b/src/company_cmd.cpp index 3a94078582..36320b6901 100644 --- a/src/company_cmd.cpp +++ b/src/company_cmd.cpp @@ -1,4 +1,4 @@ -/* $Id: company_cmd.cpp 26802 2014-09-07 16:12:58Z alberth $ */ +/* $Id: company_cmd.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -162,7 +162,7 @@ static bool IsValidCompanyManagerFace(CompanyManagerFace cmf) for (CompanyManagerFaceVariable cmfv = CMFV_CHEEKS; cmfv < CMFV_END; cmfv++) { switch (cmfv) { case CMFV_MOUSTACHE: if (!has_moustache) continue; break; - case CMFV_LIPS: // FALL THROUGH + case CMFV_LIPS: case CMFV_NOSE: if (has_moustache) continue; break; case CMFV_TIE_EARRING: if (!has_tie_earring) continue; break; case CMFV_GLASSES: if (!has_glasses) continue; break; diff --git a/src/company_gui.cpp b/src/company_gui.cpp index a0e7498474..97f669573f 100644 --- a/src/company_gui.cpp +++ b/src/company_gui.cpp @@ -1,4 +1,4 @@ -/* $Id: company_gui.cpp 27427 2015-10-30 17:24:30Z frosch $ */ +/* $Id: company_gui.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -318,7 +318,8 @@ struct CompanyFinancesWindow : Window { case WID_CF_EXPS_PRICE2: case WID_CF_EXPS_PRICE3: size->height = _expenses_list_types[type].GetHeight(); - /* FALL THROUGH */ + FALLTHROUGH; + case WID_CF_BALANCE_VALUE: case WID_CF_LOAN_VALUE: case WID_CF_TOTAL_VALUE: @@ -636,7 +637,8 @@ public: size->width = 0; break; } - /* FALL THROUGH */ + FALLTHROUGH; + case WID_SCL_PRI_COL_DROPDOWN: { int padding = this->square.width + NWidgetScrollbar::GetVerticalDimension().width + 10; for (const StringID *id = _colour_dropdown; id != endof(_colour_dropdown); id++) { @@ -892,7 +894,7 @@ void DrawCompanyManagerFace(CompanyManagerFace cmf, int colour, int x, int y) for (CompanyManagerFaceVariable cmfv = CMFV_CHEEKS; cmfv < CMFV_END; cmfv++) { switch (cmfv) { case CMFV_MOUSTACHE: if (!has_moustache) continue; break; - case CMFV_LIPS: // FALL THROUGH + case CMFV_LIPS: case CMFV_NOSE: if (has_moustache) continue; break; case CMFV_TIE_EARRING: if (!has_tie_earring) continue; break; case CMFV_GLASSES: if (!has_glasses) continue; break; @@ -1365,7 +1367,7 @@ public: /* OK button */ case WID_SCMF_ACCEPT: DoCommandP(0, 0, this->face, CMD_SET_COMPANY_MANAGER_FACE); - /* FALL THROUGH */ + FALLTHROUGH; /* Cancel button */ case WID_SCMF_CANCEL: @@ -2381,7 +2383,7 @@ struct CompanyWindow : Window virtual void OnPlaceObject(Point pt, TileIndex tile) { - if (DoCommandP(tile, OBJECT_HQ, 0, CMD_BUILD_OBJECT | CMD_MSG(STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS))) { + if (DoCommandP(tile, OBJECT_HQ, 0, CMD_BUILD_OBJECT | CMD_MSG(STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS)) && !_shift_pressed) { ResetObjectToPlace(); this->RaiseButtons(); } diff --git a/src/company_manager_face.h b/src/company_manager_face.h index 1c104713c1..ebbc6a348a 100644 --- a/src/company_manager_face.h +++ b/src/company_manager_face.h @@ -1,4 +1,4 @@ -/* $Id: company_manager_face.h 25490 2013-06-27 20:20:13Z rubidium $ */ +/* $Id: company_manager_face.h 27975 2018-03-11 07:16:58Z peter1138 $ */ /* * This file is part of OpenTTD. @@ -78,7 +78,7 @@ static const CompanyManagerFaceBitsInfo _cmf_info[] = { /* CMFV_MOUSTACHE */ { 13, 2, { 3, 0, 3, 0 }, { 0x367, 0, 0x397, 0 } }, ///< Depends on CMFV_HAS_MOUSTACHE /* CMFV_LIPS */ { 13, 4, { 12, 10, 9, 9 }, { 0x35B, 0x351, 0x3A5, 0x3C8 } }, ///< Depends on !CMFV_HAS_MOUSTACHE /* CMFV_NOSE */ { 17, 3, { 8, 4, 4, 5 }, { 0x349, 0x34C, 0x393, 0x3B3 } }, ///< Depends on !CMFV_HAS_MOUSTACHE - /* CMFV_HAIR */ { 20, 4, { 9, 5, 5, 4 }, { 0x382, 0x38B, 0x3D4, 0x3D9 } }, + /* CMFV_HAIR */ { 20, 4, { 9, 5, 5, 5 }, { 0x382, 0x38B, 0x3D4, 0x3D9 } }, /* CMFV_JACKET */ { 24, 2, { 3, 3, 3, 3 }, { 0x36B, 0x378, 0x36B, 0x378 } }, /* CMFV_COLLAR */ { 26, 2, { 4, 4, 4, 4 }, { 0x36E, 0x37B, 0x36E, 0x37B } }, /* CMFV_TIE_EARRING */ { 28, 3, { 6, 3, 6, 3 }, { 0x372, 0x37F, 0x372, 0x3D1 } }, ///< Depends on CMFV_HAS_TIE_EARRING diff --git a/src/console.cpp b/src/console.cpp index 612d696f3b..a3e005c90d 100644 --- a/src/console.cpp +++ b/src/console.cpp @@ -1,4 +1,4 @@ -/* $Id: console.cpp 27939 2017-12-11 19:20:44Z frosch $ */ +/* $Id: console.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -468,7 +468,7 @@ void IConsoleCmdExec(const char *cmdstr) tokenstream[tstream_i++] = *++cmdptr; break; } - /* FALL THROUGH */ + FALLTHROUGH; default: // Normal character tokenstream[tstream_i++] = *cmdptr; diff --git a/src/console_cmds.cpp b/src/console_cmds.cpp index 0cf76f1c9e..1efc72068b 100644 --- a/src/console_cmds.cpp +++ b/src/console_cmds.cpp @@ -1,4 +1,4 @@ -/* $Id: console_cmds.cpp 27939 2017-12-11 19:20:44Z frosch $ */ +/* $Id: console_cmds.cpp 27914 2017-09-10 14:03:29Z adf88 $ */ /* * This file is part of OpenTTD. diff --git a/src/depot_gui.cpp b/src/depot_gui.cpp index 2940e81d15..90f2e23cc6 100644 --- a/src/depot_gui.cpp +++ b/src/depot_gui.cpp @@ -1,4 +1,4 @@ -/* $Id: depot_gui.cpp 27940 2017-12-11 19:24:46Z frosch $ */ +/* $Id: depot_gui.cpp 27938 2017-12-10 13:48:49Z frosch $ */ /* * This file is part of OpenTTD. @@ -147,6 +147,7 @@ static void TrainDepotMoveVehicle(const Vehicle *wagon, VehicleID sel, const Veh static VehicleCellSize _base_block_sizes_depot[VEH_COMPANY_END]; ///< Cell size for vehicle images in the depot view. static VehicleCellSize _base_block_sizes_purchase[VEH_COMPANY_END]; ///< Cell size for vehicle images in the purchase list. +static uint _consistent_train_width; ///< Whether trains of all lengths are consistently scaled. Either TRAININFO_DEFAULT_VEHICLE_WIDTH, VEHICLEINFO_FULL_VEHICLE_WIDTH, or 0. /** * Get the GUI cell size for a vehicle image. @@ -219,6 +220,34 @@ void InitDepotWindowBlockSizes() InitBlocksizeForVehicles(vt, EIT_IN_DEPOT); InitBlocksizeForVehicles(vt, EIT_PURCHASE); } + + _consistent_train_width = TRAININFO_DEFAULT_VEHICLE_WIDTH; + bool first = true; + const Engine *e; + FOR_ALL_ENGINES_OF_TYPE(e, VEH_TRAIN) { + if (!e->IsEnabled()) continue; + + uint w = TRAININFO_DEFAULT_VEHICLE_WIDTH; + if (e->GetGRF() != NULL && is_custom_sprite(e->u.rail.image_index)) { + w = e->GetGRF()->traininfo_vehicle_width; + if (w != VEHICLEINFO_FULL_VEHICLE_WIDTH) { + /* Hopeless. + * This is a NewGRF vehicle that uses TRAININFO_DEFAULT_VEHICLE_WIDTH. + * If the vehicles are shorter than 8/8 we have fractional lengths, which are not consistent after rounding. + */ + _consistent_train_width = 0; + break; + } + } + + if (first) { + _consistent_train_width = w; + first = false; + } else if (w != _consistent_train_width) { + _consistent_train_width = 0; + break; + } + } } static void DepotSellAllConfirmationCallback(Window *w, bool confirmed); @@ -292,7 +321,10 @@ struct DepotWindow : Window { const Train *u = Train::From(v); free_wagon = u->IsFreeWagon(); - uint x_space = free_wagon ? ScaleGUITrad(TRAININFO_DEFAULT_VEHICLE_WIDTH) : 0; + uint x_space = free_wagon ? + ScaleGUITrad(_consistent_train_width != 0 ? _consistent_train_width : TRAININFO_DEFAULT_VEHICLE_WIDTH) : + 0; + DrawTrainImage(u, image_left + (rtl ? 0 : x_space), image_right - (rtl ? x_space : 0), sprite_y - 1, this->sel, EIT_IN_DEPOT, free_wagon ? 0 : this->hscroll->GetPosition(), this->vehicle_over); @@ -340,6 +372,29 @@ struct DepotWindow : Window { /* Set the row and number of boxes in each row based on the number of boxes drawn in the matrix */ const NWidgetCore *wid = this->GetWidget(WID_D_MATRIX); + + /* Draw vertical separators at whole tiles. + * This only works in two cases: + * - All vehicles use VEHICLEINFO_FULL_VEHICLE_WIDTH as reference width. + * - All vehicles are 8/8. This cannot be checked for NewGRF, so instead we check for "all vehicles are original vehicles". + */ + if (this->type == VEH_TRAIN && _consistent_train_width != 0) { + int w = ScaleGUITrad(2 * _consistent_train_width); + int col = _colour_gradient[wid->colour][4]; + int image_left = rtl ? r.left + this->count_width : r.left + this->header_width; + int image_right = rtl ? r.right - this->header_width : r.right - this->count_width; + int first_line = w + (-this->hscroll->GetPosition()) % w; + if (rtl) { + for (int x = image_right - first_line; x >= image_left; x -= w) { + GfxDrawLine(x, r.top, x, r.bottom, col, 1, 3); + } + } else { + for (int x = image_left + first_line; x <= image_right; x += w) { + GfxDrawLine(x, r.top, x, r.bottom, col, 1, 3); + } + } + } + uint16 rows_in_display = wid->current_y / wid->resize_y; uint16 num = this->vscroll->GetPosition() * this->num_columns; @@ -445,7 +500,8 @@ struct DepotWindow : Window { switch (this->type) { case VEH_TRAIN: if (wagon) return MODE_ERROR; - /* FALL THROUGH */ + FALLTHROUGH; + case VEH_ROAD: if (xm <= this->flag_width) return MODE_START_STOP; break; @@ -679,7 +735,7 @@ struct DepotWindow : Window { } /* Always have 1 empty row, so people can change the setting of the train */ this->vscroll->SetCount(this->vehicle_list.Length() + this->wagon_list.Length() + 1); - /* Always make it longer than the longest train, so you can attach vehicles at the end */ + /* Always make it longer than the longest train, so you can attach vehicles at the end, and also see the next vertical tile separator line */ this->hscroll->SetCount(max_width + ScaleGUITrad(2 * VEHICLEINFO_FULL_VEHICLE_WIDTH + 1)); } else { this->vscroll->SetCount(CeilDiv(this->vehicle_list.Length(), this->num_columns)); diff --git a/src/economy.cpp b/src/economy.cpp index 51c65bc85b..0ced0467c1 100644 --- a/src/economy.cpp +++ b/src/economy.cpp @@ -1,4 +1,4 @@ -/* $Id: economy.cpp 27862 2017-05-03 20:05:52Z frosch $ */ +/* $Id: economy.cpp 27981 2018-03-11 12:46:05Z frosch $ */ /* * This file is part of OpenTTD. @@ -654,12 +654,16 @@ static void CompanyCheckBankrupt(Company *c) */ static void CompaniesGenStatistics() { - Station *st; + /* Check for bankruptcy each month */ + Company *c; + FOR_ALL_COMPANIES(c) { + CompanyCheckBankrupt(c); + } Backup cur_company(_current_company, FILE_LINE); - Company *c; if (!_settings_game.economy.infrastructure_maintenance) { + Station *st; FOR_ALL_STATIONS(st) { cur_company.Change(st->owner); CommandCost cost(EXPENSES_PROPERTY, _price[PR_STATION_VALUE] >> 1); @@ -688,11 +692,6 @@ static void CompaniesGenStatistics() } cur_company.Restore(); - /* Check for bankruptcy each month */ - FOR_ALL_COMPANIES(c) { - CompanyCheckBankrupt(c); - } - /* Only run the economic statics and update company stats every 3rd month (1st of quarter). */ if (!HasBit(1 << 0 | 1 << 3 | 1 << 6 | 1 << 9, _cur_month)) return; @@ -1726,7 +1725,7 @@ static void LoadUnloadVehicle(Vehicle *front) /* update stats */ int t; switch (front->type) { - case VEH_TRAIN: /* FALL THROUGH */ + case VEH_TRAIN: case VEH_SHIP: t = front->vcache.cached_max_speed; break; diff --git a/src/elrail.cpp b/src/elrail.cpp index 170f205a76..f939800907 100644 --- a/src/elrail.cpp +++ b/src/elrail.cpp @@ -1,4 +1,4 @@ -/* $Id: elrail.cpp 27676 2016-11-05 11:53:03Z frosch $ */ +/* $Id: elrail.cpp 27812 2017-03-20 17:57:24Z peter1138 $ */ /* * This file is part of OpenTTD. @@ -99,6 +99,7 @@ static TrackBits GetRailTrackBitsUniversal(TileIndex t, byte *override) break; case MP_TUNNELBRIDGE: + if (GetTunnelBridgeTransportType(t) != TRANSPORT_RAIL) return TRACK_BIT_NONE; if (!HasRailCatenary(GetRailType(t))) return TRACK_BIT_NONE; if (override != NULL && (IsTunnel(t) || GetTunnelBridgeLength(t, GetOtherBridgeEnd(t)) > 0)) { *override = 1 << GetTunnelBridgeDirection(t); diff --git a/src/engine.cpp b/src/engine.cpp index 82b29ddd3e..9037d5ccc6 100644 --- a/src/engine.cpp +++ b/src/engine.cpp @@ -1,4 +1,4 @@ -/* $Id: engine.cpp 27700 2016-12-20 12:35:36Z frosch $ */ +/* $Id: engine.cpp 27797 2017-03-18 20:43:43Z alberth $ */ /* * This file is part of OpenTTD. @@ -464,7 +464,26 @@ uint16 Engine::GetRange() const } /** - * Initializes the EngineOverrideManager with the default engines. + * Get the name of the aircraft type for display purposes. + * @return Aircraft type string. + */ +StringID Engine::GetAircraftTypeText() const +{ + switch (this->type) { + case VEH_AIRCRAFT: + switch (this->u.air.subtype) { + case AIR_HELI: return STR_LIVERY_HELICOPTER; + case AIR_CTOL: return STR_LIVERY_SMALL_PLANE; + case AIR_CTOL | AIR_FAST: return STR_LIVERY_LARGE_PLANE; + default: NOT_REACHED(); + } + + default: NOT_REACHED(); + } +} + +/** + * Initializes the #EngineOverrideManager with the default engines. */ void EngineOverrideManager::ResetToDefaultMapping() { diff --git a/src/engine_base.h b/src/engine_base.h index 2b49c29657..0e857028c8 100644 --- a/src/engine_base.h +++ b/src/engine_base.h @@ -1,4 +1,4 @@ -/* $Id: engine_base.h 26802 2014-09-07 16:12:58Z alberth $ */ +/* $Id: engine_base.h 27797 2017-03-18 20:43:43Z alberth $ */ /* * This file is part of OpenTTD. @@ -111,6 +111,7 @@ struct Engine : EnginePool::PoolItem<&_engine_pool> { uint GetDisplayMaxTractiveEffort() const; Date GetLifeLengthInDays() const; uint16 GetRange() const; + StringID GetAircraftTypeText() const; /** * Check whether the engine is hidden in the GUI for the given company. diff --git a/src/engine_gui.cpp b/src/engine_gui.cpp index 707e121e3e..87a08ace02 100644 --- a/src/engine_gui.cpp +++ b/src/engine_gui.cpp @@ -1,4 +1,4 @@ -/* $Id: engine_gui.cpp 26934 2014-09-28 09:21:51Z peter1138 $ */ +/* $Id: engine_gui.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -126,9 +126,9 @@ struct EnginePreviewWindow : Window { switch (widget) { case WID_EP_YES: DoCommandP(0, this->window_number, 0, CMD_WANT_ENGINE_PREVIEW); - /* FALL THROUGH */ + FALLTHROUGH; case WID_EP_NO: - delete this; + if (!_shift_pressed) delete this; break; } } @@ -196,6 +196,7 @@ static StringID GetAircraftEngineInfoString(const Engine *e) uint i = 0; SetDParam(i++, e->GetCost()); SetDParam(i++, e->GetDisplayMaxSpeed()); + SetDParam(i++, e->GetAircraftTypeText()); if (range > 0) SetDParam(i++, range); SetDParam(i++, cargo); SetDParam(i++, capacity); @@ -204,10 +205,10 @@ static StringID GetAircraftEngineInfoString(const Engine *e) SetDParam(i++, CT_MAIL); SetDParam(i++, mail_capacity); SetDParam(i++, e->GetRunningCost()); - return range > 0 ? STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST : STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST; + return range > 0 ? STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST : STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST; } else { SetDParam(i++, e->GetRunningCost()); - return range > 0 ? STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST : STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST; + return range > 0 ? STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST : STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST; } } @@ -224,7 +225,7 @@ static StringID GetRoadVehEngineInfoString(const Engine *e) SetDParam(2, CT_INVALID); } SetDParam(4, e->GetRunningCost()); - return STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST; + return STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST; } else { SetDParam(0, e->GetCost()); SetDParam(2, e->GetDisplayMaxSpeed()); @@ -252,7 +253,7 @@ static StringID GetShipEngineInfoString(const Engine *e) SetDParam(2, e->GetDefaultCargoType()); SetDParam(3, e->GetDisplayDefaultCapacity()); SetDParam(4, e->GetRunningCost()); - return STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST; + return STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST; } diff --git a/src/fileio.cpp b/src/fileio.cpp index 2943bf8e1a..cdcdbfcd90 100644 --- a/src/fileio.cpp +++ b/src/fileio.cpp @@ -1,4 +1,4 @@ -/* $Id: fileio.cpp 26514 2014-04-25 21:29:54Z rubidium $ */ +/* $Id: fileio.cpp 27954 2017-12-27 22:07:59Z frosch $ */ /* * This file is part of OpenTTD. @@ -522,7 +522,7 @@ FILE *FioFOpenFile(const char *filename, const char *mode, Subdirectory subdir, case BASESET_DIR: f = FioFOpenFile(filename, mode, OLD_GM_DIR, filesize); if (f != NULL) break; - /* FALL THROUGH */ + FALLTHROUGH; case NEWGRF_DIR: f = FioFOpenFile(filename, mode, OLD_DATA_DIR, filesize); break; @@ -584,32 +584,6 @@ bool AppendPathSeparator(char *buf, const char *last) return true; } -/** - * Allocates and files a variable with the full path - * based on the given directory. - * @param dir the directory to base the path on - * @return the malloced full path - */ -char *BuildWithFullPath(const char *dir) -{ - char *dest = MallocT(MAX_PATH); - char *last = dest + MAX_PATH - 1; - strecpy(dest, dir, last); - - /* Check if absolute or relative path */ - const char *s = strchr(dest, PATHSEPCHAR); - - /* Add absolute path */ - if (s == NULL || dest != s) { - if (getcwd(dest, MAX_PATH) == NULL) *dest = '\0'; - AppendPathSeparator(dest, last); - strecat(dest, dir, last); - } - AppendPathSeparator(dest, last); - - return dest; -} - /** * Find the first directory in a tar archive. * @param tarname the name of the tar archive to look in. @@ -1032,30 +1006,29 @@ extern void DetermineBasePaths(const char *exe); */ static bool ChangeWorkingDirectoryToExecutable(const char *exe) { + char tmp[MAX_PATH]; + strecpy(tmp, exe, lastof(tmp)); + bool success = false; #ifdef WITH_COCOA - char *app_bundle = strchr(exe, '.'); + char *app_bundle = strchr(tmp, '.'); while (app_bundle != NULL && strncasecmp(app_bundle, ".app", 4) != 0) app_bundle = strchr(&app_bundle[1], '.'); - if (app_bundle != NULL) app_bundle[0] = '\0'; + if (app_bundle != NULL) *app_bundle = '\0'; #endif /* WITH_COCOA */ - char *s = const_cast(strrchr(exe, PATHSEPCHAR)); + char *s = strrchr(tmp, PATHSEPCHAR); if (s != NULL) { *s = '\0'; #if defined(__DJGPP__) /* If we want to go to the root, we can't use cd C:, but we must use '/' */ - if (s[-1] == ':') chdir("/"); + if (s > tmp && *(s - 1) == ':') chdir("/"); #endif - if (chdir(exe) != 0) { + if (chdir(tmp) != 0) { DEBUG(misc, 0, "Directory with the binary does not exist?"); } else { success = true; } - *s = PATHSEPCHAR; } -#ifdef WITH_COCOA - if (app_bundle != NULL) app_bundle[0] = '.'; -#endif /* WITH_COCOA */ return success; } @@ -1478,7 +1451,7 @@ uint FileScanner::Scan(const char *extension, Subdirectory sd, bool tars, bool r switch (sd) { case BASESET_DIR: num += this->Scan(extension, OLD_GM_DIR, tars, recursive); - /* FALL THROUGH */ + FALLTHROUGH; case NEWGRF_DIR: num += this->Scan(extension, OLD_DATA_DIR, tars, recursive); break; diff --git a/src/fios.cpp b/src/fios.cpp index a5bc0f7988..9eb79941df 100644 --- a/src/fios.cpp +++ b/src/fios.cpp @@ -1,4 +1,4 @@ -/* $Id: fios.cpp 27653 2016-09-04 16:06:50Z alberth $ */ +/* $Id: fios.cpp 27896 2017-08-20 21:04:21Z frosch $ */ /* * This file is part of OpenTTD. @@ -77,7 +77,7 @@ void FileList::BuildFileList(AbstractFileType abstract_filetype, SaveLoadOperati { this->Clear(); - assert(fop == SLO_LOAD || SLO_SAVE); + assert(fop == SLO_LOAD || fop == SLO_SAVE); switch (abstract_filetype) { case FT_NONE: break; @@ -158,7 +158,8 @@ const char *FiosBrowseTo(const FiosItem *item) #elif defined(WIN32) || defined(__OS2__) seprintf(_fios_path, _fios_path_last, "%c:" PATHSEP, item->title[0]); #endif - /* FALL THROUGH */ + break; + case FIOS_TYPE_INVALID: break; diff --git a/src/fios_gui.cpp b/src/fios_gui.cpp index 4b146a6abd..d8b00e5d0c 100644 --- a/src/fios_gui.cpp +++ b/src/fios_gui.cpp @@ -1,4 +1,4 @@ -/* $Id: fios_gui.cpp 27653 2016-09-04 16:06:50Z alberth $ */ +/* $Id: fios_gui.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -702,7 +702,8 @@ public: this->vscroll->SetCount(this->fios_items.Length()); this->selected = NULL; _load_check_data.Clear(); - /* FALL THROUGH */ + FALLTHROUGH; + case 1: /* Selection changes */ if (!gui_scope) break; diff --git a/src/fontcache.cpp b/src/fontcache.cpp index 56ceda9324..c334f3bbc9 100644 --- a/src/fontcache.cpp +++ b/src/fontcache.cpp @@ -1,4 +1,4 @@ -/* $Id: fontcache.cpp 27187 2015-03-15 12:19:58Z frosch $ */ +/* $Id: fontcache.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -41,7 +41,7 @@ FontCache::FontCache(FontSize fs) : parent(FontCache::Get(fs)), fs(fs), height(_ ascender(_default_font_ascender[fs]), descender(_default_font_ascender[fs] - _default_font_height[fs]), units_per_em(1) { - assert(parent == NULL || this->fs == parent->fs); + assert(this->parent == NULL || this->fs == this->parent->fs); FontCache::caches[this->fs] = this; Layouter::ResetFontCache(this->fs); } @@ -49,7 +49,7 @@ FontCache::FontCache(FontSize fs) : parent(FontCache::Get(fs)), fs(fs), height(_ /** Clean everything up. */ FontCache::~FontCache() { - assert(this->fs == parent->fs); + assert(this->fs == this->parent->fs); FontCache::caches[this->fs] = this->parent; Layouter::ResetFontCache(this->fs); } @@ -126,7 +126,7 @@ void SpriteFontCache::InitializeUnicodeGlyphMap() SpriteID base; switch (this->fs) { default: NOT_REACHED(); - case FS_MONO: // Use normal as default for mono spaced font, i.e. FALL THROUGH + case FS_MONO: // Use normal as default for mono spaced font case FS_NORMAL: base = SPR_ASCII_SPACE; break; case FS_SMALL: base = SPR_ASCII_SPACE_SMALL; break; case FS_LARGE: base = SPR_ASCII_SPACE_BIG; break; @@ -474,7 +474,7 @@ static bool GetFontAAState(FontSize size) const Sprite *FreeTypeFontCache::GetGlyph(GlyphID key) { - if ((key & SPRITE_GLYPH) != 0) return parent->GetGlyph(key); + if ((key & SPRITE_GLYPH) != 0) return this->parent->GetGlyph(key); /* Check for the glyph in our cache */ GlyphEntry *glyph = this->GetGlyphPtr(key); diff --git a/src/game/game_info.cpp b/src/game/game_info.cpp index 7ee65aef2f..ff6f0cab8d 100644 --- a/src/game/game_info.cpp +++ b/src/game/game_info.cpp @@ -1,4 +1,4 @@ -/* $Id: game_info.cpp 27518 2016-03-01 20:00:22Z frosch $ */ +/* $Id: game_info.cpp 27780 2017-03-11 20:50:26Z frosch $ */ /* * This file is part of OpenTTD. @@ -25,7 +25,8 @@ static bool CheckAPIVersion(const char *api_version) { return strcmp(api_version, "1.2") == 0 || strcmp(api_version, "1.3") == 0 || strcmp(api_version, "1.4") == 0 || - strcmp(api_version, "1.5") == 0 || strcmp(api_version, "1.6") == 0 || strcmp(api_version, "1.7") == 0; + strcmp(api_version, "1.5") == 0 || strcmp(api_version, "1.6") == 0 || strcmp(api_version, "1.7") == 0 || + strcmp(api_version, "1.8") == 0; } #if defined(WIN32) diff --git a/src/game/game_scanner.cpp b/src/game/game_scanner.cpp index af9eedd9f6..c4eae02a18 100644 --- a/src/game/game_scanner.cpp +++ b/src/game/game_scanner.cpp @@ -1,4 +1,4 @@ -/* $Id: game_scanner.cpp 26487 2014-04-23 21:16:58Z rubidium $ */ +/* $Id: game_scanner.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -55,7 +55,7 @@ GameInfo *GameScannerInfo::FindInfo(const char *nameParam, int versionParam, boo *e = '\0'; e++; versionParam = atoi(e); - /* FALL THROUGH, like we were calling this function with a version. */ + /* Continue like we were calling this function with a version. */ } if (force_exact_match) { diff --git a/src/gfx_func.h b/src/gfx_func.h index 0514264b46..58119eb7e9 100644 --- a/src/gfx_func.h +++ b/src/gfx_func.h @@ -1,4 +1,4 @@ -/* $Id: gfx_func.h 27711 2016-12-25 17:55:10Z frosch $ */ +/* $Id: gfx_func.h 27829 2017-03-25 23:19:41Z peter1138 $ */ /* * This file is part of OpenTTD. @@ -142,6 +142,18 @@ void CheckBlitter(); bool FillDrawPixelInfo(DrawPixelInfo *n, int left, int top, int width, int height); +/** + * Determine where to draw a centred object inside a widget. + * @param min The top or left coordinate. + * @param max The bottom or right coordinate. + * @param size The height or width of the object to draw. + * @return Offset of where to start drawing the object. + */ +static inline int CenterBounds(int min, int max, int size) +{ + return min + (max - min - size + 1) / 2; +} + /* window.cpp */ void DrawOverlappedWindowForAll(int left, int top, int right, int bottom); diff --git a/src/group_gui.cpp b/src/group_gui.cpp index 99b8da1bb9..e1988f00f0 100644 --- a/src/group_gui.cpp +++ b/src/group_gui.cpp @@ -1,4 +1,4 @@ -/* $Id: group_gui.cpp 27630 2016-08-15 18:33:52Z frosch $ */ +/* $Id: group_gui.cpp 27822 2017-03-24 07:33:31Z peter1138 $ */ /* * This file is part of OpenTTD. @@ -55,6 +55,7 @@ static const NWidgetPart _nested_group_widgets[] = { SetFill(1, 0), SetResize(0, 1), SetScrollbar(WID_GL_LIST_GROUP_SCROLLBAR), NWidget(NWID_VSCROLLBAR, COLOUR_GREY, WID_GL_LIST_GROUP_SCROLLBAR), EndContainer(), + NWidget(WWT_PANEL, COLOUR_GREY, WID_GL_INFO), SetFill(1, 0), EndContainer(), NWidget(NWID_HORIZONTAL), NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, WID_GL_CREATE_GROUP), SetFill(0, 1), SetDataTip(SPR_GROUP_CREATE_TRAIN, STR_GROUP_CREATE_TOOLTIP), @@ -371,6 +372,9 @@ public: max_icon_height = max(max_icon_height, GetSpriteSize(this->GetWidget(WID_GL_DELETE_GROUP)->widget_data).height); max_icon_height = max(max_icon_height, GetSpriteSize(this->GetWidget(WID_GL_REPLACE_PROTECTION)->widget_data).height); + /* ... minus the height of the group info ... */ + max_icon_height += (FONT_HEIGHT_NORMAL * 3) + WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM; + /* Get a multiple of tiny_step_height of that amount */ size->height = Ceil(size->height - max_icon_height, tiny_step_height); break; @@ -403,6 +407,11 @@ public: *size = maxdim(*size, d); break; } + + case WID_GL_INFO: { + size->height = (FONT_HEIGHT_NORMAL * 3) + WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM; + break; + } } } @@ -527,6 +536,44 @@ public: DrawGroupInfo(r.top + WD_FRAMERECT_TOP, r.left, r.right, DEFAULT_GROUP); break; + case WID_GL_INFO: { + Money this_year = 0; + Money last_year = 0; + uint32 occupancy = 0; + uint32 vehicle_count = this->vehicles.Length(); + + for (uint i = 0; i < vehicle_count; i++) { + const Vehicle *v = this->vehicles[i]; + assert(v->owner == this->owner); + + this_year += v->GetDisplayProfitThisYear(); + last_year += v->GetDisplayProfitLastYear(); + occupancy += v->trip_occupancy; + } + + const int left = r.left + WD_FRAMERECT_LEFT + 8; + const int right = r.right - WD_FRAMERECT_RIGHT - 8; + + int y = r.top + WD_FRAMERECT_TOP; + DrawString(left, right, y, STR_GROUP_PROFIT_THIS_YEAR, TC_BLACK); + SetDParam(0, this_year); + DrawString(left, right, y, STR_JUST_CURRENCY_LONG, TC_BLACK, SA_RIGHT); + + y += FONT_HEIGHT_NORMAL; + DrawString(left, right, y, STR_GROUP_PROFIT_LAST_YEAR, TC_BLACK); + SetDParam(0, last_year); + DrawString(left, right, y, STR_JUST_CURRENCY_LONG, TC_BLACK, SA_RIGHT); + + y += FONT_HEIGHT_NORMAL; + DrawString(left, right, y, STR_GROUP_OCCUPANCY, TC_BLACK); + if (vehicle_count > 0) { + SetDParam(0, occupancy / vehicle_count); + DrawString(left, right, y, STR_GROUP_OCCUPANCY_VALUE, TC_BLACK, SA_RIGHT); + } + + break; + } + case WID_GL_LIST_GROUP: { int y1 = r.top + WD_FRAMERECT_TOP; int max = min(this->group_sb->GetPosition() + this->group_sb->GetCapacity(), this->groups.Length()); diff --git a/src/hotkeys.cpp b/src/hotkeys.cpp index 8933acb840..137500eaad 100644 --- a/src/hotkeys.cpp +++ b/src/hotkeys.cpp @@ -1,4 +1,4 @@ -/* $Id: hotkeys.cpp 26509 2014-04-25 15:40:32Z rubidium $ */ +/* $Id: hotkeys.cpp 27816 2017-03-20 19:30:49Z peter1138 $ */ /* * This file is part of OpenTTD. @@ -311,7 +311,7 @@ int HotkeyList::CheckMatch(uint16 keycode, bool global_only) const static void SaveLoadHotkeys(bool save) { IniFile *ini = new IniFile(); - ini->LoadFromDisk(_hotkeys_file, BASE_DIR); + ini->LoadFromDisk(_hotkeys_file, NO_DIRECTORY); for (HotkeyList **list = _hotkey_lists->Begin(); list != _hotkey_lists->End(); ++list) { if (save) { diff --git a/src/industry.h b/src/industry.h index 894fd9f716..d41525de96 100644 --- a/src/industry.h +++ b/src/industry.h @@ -1,4 +1,4 @@ -/* $Id: industry.h 24900 2013-01-08 22:46:42Z planetmaker $ */ +/* $Id: industry.h 27929 2017-10-25 15:38:19Z frosch $ */ /* * This file is part of OpenTTD. @@ -66,7 +66,6 @@ struct Industry : IndustryPool::PoolItem<&_industry_pool> { Date last_cargo_accepted_at; ///< Last day cargo was accepted by this industry byte selected_layout; ///< Which tile layout was used when creating the industry - byte random_triggers; ///< Triggers for the random uint16 random; ///< Random value used for randomisation of all kinds of things PersistentStorage *psa; ///< Persistent storage for NewGRF industries. diff --git a/src/industry_cmd.cpp b/src/industry_cmd.cpp index 81c55eb6c8..58ed46a7ea 100644 --- a/src/industry_cmd.cpp +++ b/src/industry_cmd.cpp @@ -1,4 +1,4 @@ -/* $Id: industry_cmd.cpp 27940 2017-12-11 19:24:46Z frosch $ */ +/* $Id: industry_cmd.cpp 27932 2017-11-25 16:50:28Z frosch $ */ /* * This file is part of OpenTTD. diff --git a/src/industry_gui.cpp b/src/industry_gui.cpp index b932ec7d85..1d2dc75070 100644 --- a/src/industry_gui.cpp +++ b/src/industry_gui.cpp @@ -1,4 +1,4 @@ -/* $Id: industry_gui.cpp 27751 2017-02-26 15:34:15Z alberth $ */ +/* $Id: industry_gui.cpp 27952 2017-12-27 21:54:52Z frosch $ */ /* * This file is part of OpenTTD. @@ -777,37 +777,30 @@ public: y += FONT_HEIGHT_NORMAL; first = false; } + SetDParam(0, CargoSpec::Get(i->accepts_cargo[j])->name); + SetDParam(1, i->accepts_cargo[j]); + SetDParam(2, i->incoming_cargo_waiting[j]); + SetDParamStr(3, ""); + StringID str = STR_NULL; switch (cargo_suffix[j].display) { + case CSD_CARGO_AMOUNT_TEXT: + SetDParamStr(3, cargo_suffix[j].text); + FALLTHROUGH; case CSD_CARGO_AMOUNT: - if (stockpiling) { - SetDParam(0, i->accepts_cargo[j]); - SetDParam(1, i->incoming_cargo_waiting[j]); - DrawString(left_side, right - WD_FRAMERECT_RIGHT, y, STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT); - break; - } - /* FALL THROUGH */ - - case CSD_CARGO: - SetDParam(0, CargoSpec::Get(i->accepts_cargo[j])->name); - DrawString(left_side, right - WD_FRAMERECT_RIGHT, y, STR_INDUSTRY_VIEW_ACCEPT_CARGO); + str = stockpiling ? STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT : STR_INDUSTRY_VIEW_ACCEPT_CARGO; break; case CSD_CARGO_TEXT: - SetDParam(0, CargoSpec::Get(i->accepts_cargo[j])->name); - SetDParamStr(1, cargo_suffix[j].text); - DrawString(left_side, right - WD_FRAMERECT_RIGHT, y, STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT); - break; - - case CSD_CARGO_AMOUNT_TEXT: - SetDParam(0, i->accepts_cargo[j]); - SetDParam(1, i->incoming_cargo_waiting[j]); - SetDParamStr(2, cargo_suffix[j].text); - DrawString(left_side, right - WD_FRAMERECT_RIGHT, y, STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT); + SetDParamStr(3, cargo_suffix[j].text); + FALLTHROUGH; + case CSD_CARGO: + str = STR_INDUSTRY_VIEW_ACCEPT_CARGO; break; default: NOT_REACHED(); } + DrawString(left_side, right - WD_FRAMERECT_RIGHT, y, str); y += FONT_HEIGHT_NORMAL; } diff --git a/src/lang/afrikaans.txt b/src/lang/afrikaans.txt index d5061d2b3b..aa5a31ea0b 100644 --- a/src/lang/afrikaans.txt +++ b/src/lang/afrikaans.txt @@ -11,7 +11,7 @@ ##gender male -# $Id: afrikaans.txt 27777 2017-03-11 16:49:51Z frosch $ +# $Id: afrikaans.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -2688,7 +2688,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Maatskappy-besi STR_ABOUT_OPENTTD :{WHITE}Oor OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Oorspronklike kopiereg {COPYRIGHT} 1995 Chris Sawyer, Alle regte voorbehou STR_ABOUT_VERSION :{BLACK}OpenTTD uitgawe {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 Die OpenTTD span +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 Die OpenTTD span # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spaar Spel @@ -3113,8 +3113,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Aanvaar STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Wys lys van aanvaarde vrag STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Aanvaar: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Die stasie het eksklusiewe vervoer regte vir die dorp -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} het eksklusiewe vervoer regte in die dorp gekoop. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Die stasie het eksklusiewe vervoer regte vir die dorp +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} het eksklusiewe vervoer regte in die dorp gekoop. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Graderings STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Toon stasie graderings @@ -3361,6 +3361,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Verwyder alle v STR_GROUP_RENAME_CAPTION :{BLACK}Hernoem 'n groep + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nuwe treine STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nuwe Elektries Spoor Voertuie @@ -3525,10 +3526,7 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :maglev lokomoti STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Koste: {CURRENCY_LONG} Massa: {WEIGHT_SHORT}{}Spoed: {VELOCITY} Krag: {POWER}{}Loopkoste: {CURRENCY_LONG}/jr{}Kapasitiet: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Koste: {CURRENCY_LONG} Gewig: {WEIGHT_SHORT}{}Spoed: {VELOCITY} Krag: {POWER} Maks. Treg Krag: {6:FORCE}{}Lopende Koste: {4:CURRENCY_LONG}/jaar{}Kapasitiet: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Koste: {CURRENCY_LONG} Maks. Spoed: {VELOCITY}{}Kapasiteit: {CARGO_LONG}, {CARGO_LONG}{}Lopende Koste: {CURRENCY_LONG}/jaar -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Koste: {CURRENCY_LONG} Maks. Spoed: {VELOCITY}{}Kapasiteit: {CARGO_LONG}{}Lopende Koste: {CURRENCY_LONG}/jaar -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Koste: {CURRENCY_LONG} Max. Spoed: {VELOCITY} Afstand: {COMMA} teëls{}Kapasiteit: {CARGO_LONG}, {CARGO_LONG}{}Hardloop Koste: {CURRENCY_LONG}/jaar -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Koste: {CURRENCY_LONG} Max. Spoed: {VELOCITY} Afstand: {COMMA} teels{}Kapasiteit: {CARGO_LONG}{}Hardloop Koste: {CURRENCY_LONG}/jaar +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Koste: {CURRENCY_LONG} Maks. Spoed: {VELOCITY}{}Kapasiteit: {CARGO_LONG}{}Lopende Koste: {CURRENCY_LONG}/jaar # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Vervang {STRING} - {STRING} @@ -3650,7 +3648,6 @@ STR_VEHICLE_INFO_AGE :{COMMA} ja{P ar STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} ja{P ar re} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Maks. spoed: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Max. spoed: {LTBLUE}{VELOCITY} {BLACK}Afstand: {LTBLUE}{COMMA} teëls STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Gewig: {LTBLUE}{WEIGHT_SHORT} {BLACK}Krag: {LTBLUE}{POWER}{BLACK} Maks. spoed: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Massa: {LTBLUE}{WEIGHT_SHORT} {BLACK}Krag: {LTBLUE}{POWER}{BLACK} Maks. spoed: {LTBLUE}{VELOCITY} {BLACK}Maks. T.E.: {LTBLUE}{FORCE} diff --git a/src/lang/arabic_egypt.txt b/src/lang/arabic_egypt.txt index cf6a594ad9..51932b50dc 100644 --- a/src/lang/arabic_egypt.txt +++ b/src/lang/arabic_egypt.txt @@ -10,7 +10,7 @@ ##grflangid 0x14 -# $Id: arabic_egypt.txt 27865 2017-05-03 20:43:22Z frosch $ +# $Id: arabic_egypt.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -2320,7 +2320,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :ارض مملو STR_ABOUT_OPENTTD :{WHITE}حول النسخة المفتوحة STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}الحقوق الاصلية {COPYRIGHT} كريس سوير 1995 , جميع الحقوق محفوظة STR_ABOUT_VERSION :{BLACK}النسخة المفتوحة رقم {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}النسخة المفتوحة {COPYRIGHT}2002-2017 فريق النسخة المفتوحة +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}النسخة المفتوحة {COPYRIGHT}2002-2018 فريق النسخة المفتوحة # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}حفظ اللعبة @@ -2886,6 +2886,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :أزل جميع STR_GROUP_RENAME_CAPTION :{BLACK}إعادة تسمية مجموعة + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :عربات قطار جديدة STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :عربات قطار كهربائية جديدة @@ -3037,8 +3038,7 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :قاطرة سك STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK} التكلفة: {CURRENCY_LONG} الوزن: {WEIGHT_SHORT}{} السرعة: {VELOCITY} الطاقة: {POWER}{} كلفة التشغيل: {CURRENCY_LONG} / سنة{} السعة: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}التكلفة {CURRENCY_LONG} الوزن {WEIGHT_SHORT}{}السرعة {VELOCITY} Power: {POWER}قوة السحب {6:FORCE}{}التكلفة التشغيلية {4:CURRENCY_LONG}/سنة{}السعة: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK} التكلفة {CURRENCY_LONG} السرعة القصوى {VELOCITY}{}Capacity السعة {CARGO_LONG} {CARGO_LONG}{} كلفة التشغيل {CURRENCY_LONG} / سنة -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK} التكلفة {CURRENCY_LONG} السرعة القصوى {VELOCITY}{} السعة {CARGO_LONG}{} كلفة التشغيل {CURRENCY_LONG} / سنة +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK} التكلفة {CURRENCY_LONG} السرعة القصوى {VELOCITY}{} السعة {CARGO_LONG}{} كلفة التشغيل {CURRENCY_LONG} / سنة # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}تبديل {STRING} - {STRING} diff --git a/src/lang/basque.txt b/src/lang/basque.txt index 4927000891..a9f94057cb 100644 --- a/src/lang/basque.txt +++ b/src/lang/basque.txt @@ -10,7 +10,7 @@ ##grflangid 0x21 -# $Id: basque.txt 27777 2017-03-11 16:49:51Z frosch $ +# $Id: basque.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -2592,7 +2592,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Konpainia jabe STR_ABOUT_OPENTTD :{WHITE}OpenTTD-ri buruz STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved STR_ABOUT_VERSION :{BLACK}OpenTTD bertsioa {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 The OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 The OpenTTD team # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Gordetako jokoa @@ -3001,8 +3001,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Onartu STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Onartzen diren zamen zerrenda STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Onartzen da: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Geltoki honek herriko garraio eskubide esklusiboa dauka. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} garraioaren eskubide esklusiboak erosi ditu +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Geltoki honek herriko garraio eskubide esklusiboa dauka. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} garraioaren eskubide esklusiboak erosi ditu STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Zama balorazioak STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Geltokiaren zama balorazioak erakutsi @@ -3245,6 +3245,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Ibilgailu guzti STR_GROUP_RENAME_CAPTION :{BLACK}Taldea berrizendatu + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Tren berriak STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Tren elektriko berriak @@ -3405,10 +3406,7 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :Lokomotora magn STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Kostea: {CURRENCY_LONG} Pisua: {WEIGHT_SHORT}{}Pisua: {VELOCITY} Potentzia: {POWER}{}Mantenimendua: {CURRENCY_LONG}/urtero{}Edukiera: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Kostua: {CURRENCY_LONG} Pisua: {WEIGHT_SHORT}{}Abiadura: {VELOCITY} Potentzia: {POWER} Gehienezko trakzioa: {6:FORCE}{}Mantinemendua: {4:CURRENCY_LONG}/urtero{}Edukiera: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Kostea: {CURRENCY_LONG} Gehienezko abiadura: {VELOCITY}{}Edukiera: {CARGO_LONG}, {CARGO_LONG}{}Mantenimendua: {CURRENCY_LONG}/urtero -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Kostea: {CURRENCY_LONG} Gehienezko abiadura: {VELOCITY}{}Edukiera: {CARGO_LONG}{}Mantenimendua: {CURRENCY_LONG}/urtero -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Kostea: {CURRENCY_LONG} Gehienezko abiadura: {VELOCITY} Irismena: {COMMA} tiles{}Edukiera: {CARGO_LONG}, {CARGO_LONG}{}Mantenimendua: {CURRENCY_LONG}/urtero -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Kostea: {CURRENCY_LONG} Gehienezko abiadura: {VELOCITY} Irismena: {COMMA} tiles{}Edukiera: {CARGO_LONG}{}Mantenimendua: {CURRENCY_LONG}/urtero +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Kostea: {CURRENCY_LONG} Gehienezko abiadura: {VELOCITY}{}Edukiera: {CARGO_LONG}{}Mantenimendua: {CURRENCY_LONG}/urtero # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Ordezkatu {STRING} - {STRING} @@ -3528,7 +3526,6 @@ STR_VEHICLE_INFO_AGE :{COMMA} urte ({ STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} urte ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Gehienezko abiadura: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Gehienezko abiadura: {LTBLUE}{VELOCITY} {BLACK}Irismena: {LTBLUE}{COMMA} lauki STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Pisua: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potentzia: {LTBLUE}{POWER}{BLACK} Gehienezko abiadura: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Pisua: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potentzia: {LTBLUE}{POWER}{BLACK} Gehienezko abiadura: {LTBLUE}{VELOCITY} {BLACK}Gehienezko trakzio indarra: {LTBLUE}{FORCE} diff --git a/src/lang/belarusian.txt b/src/lang/belarusian.txt index 44c6c473cf..7b6a90f076 100644 --- a/src/lang/belarusian.txt +++ b/src/lang/belarusian.txt @@ -12,7 +12,7 @@ ##case m f n p nom gen dat acc abl pre -# $Id: belarusian.txt 27865 2017-05-03 20:43:22Z frosch $ +# $Id: belarusian.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -3020,7 +3020,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Зямля на STR_ABOUT_OPENTTD :{WHITE}Аб OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Арыґінальныя аўтарскія правы {COPYRIGHT} 1995 Chris Sawyer. Усе правы абароненыя. STR_ABOUT_VERSION :{BLACK}OpenTTD вэрсія {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002–2017 Каманда распрацоўнікаў OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002–2018 Каманда распрацоўнікаў OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Захаваць гульню @@ -3445,8 +3445,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Прым STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Паказаць сьпіс прымаемых грузаў STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Прымае: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Гэта станцыя мае эксклюзыўныя транспартныя правы ў гэтым населеным пункце. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} набыў эксклюзыўныя транспартныя правы ў гэтым населеным пункце. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Гэта станцыя мае эксклюзыўныя транспартныя правы ў гэтым населеным пункце. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} набыў эксклюзыўныя транспартныя правы ў гэтым населеным пункце. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Рэйтынґ STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Паказаць рэйтынґ станцыі @@ -3693,6 +3693,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Выдаліц STR_GROUP_RENAME_CAPTION :{BLACK}Перайменаваць групу + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Новы цягнік STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Новы электрычны цягнік @@ -3869,10 +3870,7 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE.acc :магніта STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Кошт: {CURRENCY_LONG} Вага: {WEIGHT_SHORT}{}Хуткасьць: {VELOCITY} Магутнасьць: {POWER}{}Кошт абслуг.: {CURRENCY_LONG}/год{}Ёмістасьць: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Кошт: {CURRENCY_LONG} Вага: {WEIGHT_SHORT}{}Хуткасьць: {VELOCITY} Магутнасьць: {POWER} Макс. ЦН: {6:FORCE}{}Кошт абслуг.: {4:CURRENCY_LONG}/год{}Ёмістасьць: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Кошт: {CURRENCY_LONG} Макс. хуткасьць: {VELOCITY}{}Ёмістасьць: {CARGO_LONG}, {CARGO_LONG}{}Кошт абслуг.: {CURRENCY_LONG}/год -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Кошт: {CURRENCY_LONG} Макс. хуткасьць: {VELOCITY}{}Ёмістасьць: {CARGO_LONG}{}Кошт абслуг.: {CURRENCY_LONG}/год -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Кошт: {CURRENCY_LONG} Макс. хуткасьць: {VELOCITY} Далёкасьць: {COMMA} клетк{P а i ак}{}Умяшчальнасьць: {CARGO_LONG}, {CARGO_LONG}{}Кошт абслугоўваньня: {CURRENCY_LONG}/год -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Кошт: {CURRENCY_LONG} Макс. хуткасьць: {VELOCITY} Далёкасьць: {COMMA} клет{P ка кi ак}{}Умяшчальнасьць: {CARGO_LONG}{}Кошт абслугоўваньня: {CURRENCY_LONG}/год +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Кошт: {CURRENCY_LONG} Макс. хуткасьць: {VELOCITY}{}Ёмістасьць: {CARGO_LONG}{}Кошт абслуг.: {CURRENCY_LONG}/год # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Замена {STRING.gen} — {STRING} @@ -4002,7 +4000,6 @@ STR_VEHICLE_INFO_AGE :{COMMA} г{P о STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} г{P од ады адоў} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Макс. хуткасьць: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Макс. хуткасьць: {LTBLUE}{VELOCITY} {BLACK}Далёкасьць: {LTBLUE}{COMMA} клетк{P а i ак} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Вага: {LTBLUE}{WEIGHT_SHORT} {BLACK}Магутнасьць: {LTBLUE}{POWER}{BLACK} Макс. хуткасьць: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Вага: {LTBLUE}{WEIGHT_SHORT} {BLACK}Магутнасьць: {LTBLUE}{POWER}{BLACK} Макс. хуткасьць: {LTBLUE}{VELOCITY} {BLACK}Макс. ЦН: {LTBLUE}{FORCE} diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index e7c7b9648f..0f9bb81197 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -11,7 +11,7 @@ ##gender m f -# $Id: brazilian_portuguese.txt 27941 2017-12-11 19:50:30Z frosch $ +# $Id: brazilian_portuguese.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -1373,6 +1373,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Desligado STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Mover a tela com o botão esquerdo: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Ativa rolamento do mapa por clique e arraste com o botão esquerdo. Especialmente útil ao usar um touchscreen para o rolamento +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Fechar janela com botão direito do mouse: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Fecha uma janela ao clicar com o botão direito do mouse nela. Desativa o tooltip com o botão direito! STR_CONFIG_SETTING_AUTOSAVE :Auto-salvar: {STRING} STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Selecione intervalo entre jogos salvos automaticamente @@ -2690,7 +2692,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :O terreno é pr STR_ABOUT_OPENTTD :{WHITE}Sobre o OpenTTD... STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer, Todos os direitos reservados STR_ABOUT_VERSION :{BLACK}OpenTTD versão {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 A equipe do OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 A equipe do OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Salvar Jogo @@ -3115,8 +3117,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Aceita STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Exibir lista de carga aceita STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Aceita: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Essa estação tem direitos de transporte exclusivos nessa cidade. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} adquiriu direitos exclusivos de transporte nessa cidade. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Essa estação tem direitos de transporte exclusivos nessa cidade. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} adquiriu direitos exclusivos de transporte nessa cidade. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Avaliações STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Exibir avaliações da estação @@ -3295,11 +3297,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Requer: STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Requer: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING} ############ range for requires ends -STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Necessita -STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}aguardando -STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING} +STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Necessita: +STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} aguardando{STRING} ############ range for produces starts STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produz: {YELLOW}{STRING}{STRING} @@ -3368,6 +3368,11 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Remover todos o STR_GROUP_RENAME_CAPTION :{BLACK}Renomear um grupo +STR_GROUP_PROFIT_THIS_YEAR :Lucros deste ano: +STR_GROUP_PROFIT_LAST_YEAR :Lucros do ano passado: +STR_GROUP_OCCUPANCY :Uso atual: +STR_GROUP_OCCUPANCY_VALUE :{NUM}% + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Novos Veículos Ferroviários STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nova Locomotiva Elétrica @@ -3399,6 +3404,7 @@ STR_PURCHASE_INFO_ALL_TYPES :Todos as cargas STR_PURCHASE_INFO_ALL_BUT :Todas menos {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Tração máx : {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Alcance: {GOLD}{COMMA} quadrados +STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Tipo de aeronave: {GOLD}{STRING} STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Lista de trens - clique num trem para informações. Cltr+Clique para alterar a visibilidade do tipo de trem STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Lista de automóveis - clique num automóvel para informações. Cltr+Clique para alterar a visibilidade do tipo de automóvel @@ -3532,10 +3538,11 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :locomotiva magl STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Preço: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Velocidade: {VELOCITY} Potência: {POWER}{}Custo de manutenção: {CURRENCY_LONG}/ano{}Capacidade: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Preço: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Vel.: {VELOCITY} Potência: {POWER} Tração Máx: {6:FORCE}{}Custo de manutenção: {4:CURRENCY_LONG}/yr{}Capacidade: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Preço: {CURRENCY_LONG} Vel. Max.: {VELOCITY}{}Capacidade: {CARGO_LONG}, {CARGO_LONG}{}Custo de manutenção: {CURRENCY_LONG}/ano -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Preço: {CURRENCY_LONG} Vel. Max.: {VELOCITY}{}Capacidade: {CARGO_LONG}{}Custo de manuteção: {CURRENCY_LONG}/ano -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Preço: {CURRENCY_LONG} Vel. Máx.: {VELOCITY} Alcance: {COMMA} quadrados{}Capacidade: {CARGO_LONG}, {CARGO_LONG}{}Cust de manut.: {CURRENCY_LONG}/ano -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Custo: {CURRENCY_LONG} Vel. Máx.: {VELOCITY} Alcance: {COMMA} quadrados{}Capacidade: {CARGO_LONG}{}Custo de manut.: {CURRENCY_LONG}/ano +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Preço: {CURRENCY_LONG} Vel. Max.: {VELOCITY}{}Capacidade: {CARGO_LONG}{}Custo de manuteção: {CURRENCY_LONG}/ano +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Custo: {CURRENCY_LONG} Vel Máx.: {VELOCITY}{}Tipo de aeronave: {STRING}{}Capacidade: {CARGO_LONG}, {CARGO_LONG}{}Custo de oper.: {CURRENCY_LONG}/ano +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Custo: {CURRENCY_LONG} Vel Máx.: {VELOCITY}{}Tipo de aeronave: {STRING}{}Capacidade: {CARGO_LONG}{}Custo de oper.: {CURRENCY_LONG}/ano +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Custo: {CURRENCY_LONG} Vel. Máx.: {VELOCITY}{}Tipo de aeronave: {STRING} Alcance: {COMMA} quadrados{}Capacidade: {CARGO_LONG}, {CARGO_LONG}{}Custo de oper.: {CURRENCY_LONG}/ano +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Custo: {CURRENCY_LONG} Vel. Máx.: {VELOCITY}{}Tipo de aeronave: {STRING} Alcance: {COMMA} quadrados{}Capacidade: {CARGO_LONG}{}Custo de oper.: {CURRENCY_LONG}/ano # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Substituir {STRING} - {STRING} @@ -3658,7 +3665,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} ano{P " STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} ano{P "" s} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Velocidade Max: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{G=f}{BLACK}Vel. máx.: {LTBLUE}{VELOCITY} {BLACK}Alcance: {LTBLUE}{COMMA} quadrados +STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Vel. Máx.: {LTBLUE}{VELOCITY} {BLACK}Tipo de aeronave: {LTBLUE}{STRING} +STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Vel. Máx.: {LTBLUE}{VELOCITY} {BLACK}Tipo de aeronave: {LTBLUE}{STRING} {BLACK}Alcance: {LTBLUE}{COMMA} quadrados STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Força: {LTBLUE}{POWER}{BLACK} Velocidade Max: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Força: {LTBLUE}{POWER}{BLACK} Velocidade Max: {LTBLUE}{VELOCITY} {BLACK}Max. T.E.: {LTBLUE}{FORCE} diff --git a/src/lang/bulgarian.txt b/src/lang/bulgarian.txt index 45da501b9a..4038a713ad 100644 --- a/src/lang/bulgarian.txt +++ b/src/lang/bulgarian.txt @@ -12,7 +12,7 @@ ##case m f n p -# $Id: bulgarian.txt 27865 2017-05-03 20:43:22Z frosch $ +# $Id: bulgarian.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -2626,7 +2626,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Земя, пр STR_ABOUT_OPENTTD :{WHITE}Относно OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Авторски права {COPYRIGHT} 1995 Крис Сойер (Chris Sawyer), Всички права са запазени STR_ABOUT_VERSION :{BLACK}OpenTTD версия {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 The OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 The OpenTTD team # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Запази играта @@ -3035,8 +3035,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Прие STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Покажи списък с приетите товари STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Приема: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Тази станция има специални транспортни привилегии за града -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} закупи специални транспортни привилегии за града. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Тази станция има специални транспортни привилегии за града +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} закупи специални транспортни привилегии за града. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Рейтинги STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Покажи нивото на обслужване @@ -3280,6 +3280,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Премахн STR_GROUP_RENAME_CAPTION :{BLACK}Преименовай група + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Нови Машини за Двурелсов път STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Нови електрически влакове @@ -3444,10 +3445,7 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :локомот STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Цена: {CURRENCY_LONG} Тегло: {WEIGHT_SHORT}{}Скорост: {VELOCITY} Мощност: {POWER}{}Разход: {CURRENCY_LONG}/г.{}Капацитет: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Цена: {CURRENCY_LONG} Тегло: {WEIGHT_SHORT}{}Скорост: {VELOCITY} Мощност: {POWER} Макс. Т.С.: {6:FORCE}{}Експлоатационни разходи: {4:CURRENCY_LONG}/год.{}Вместимост: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Цена: {CURRENCY_LONG} Макс. Скорост: {VELOCITY}{}Вместимост: {CARGO_LONG}, {CARGO_LONG}{}Експлоатационни разходи: {CURRENCY_LONG}/год. -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Цена: {CURRENCY_LONG} Макс. Скорост: {VELOCITY}{}Вместимост: {CARGO_LONG}{}Експлоатационни разходи: {CURRENCY_LONG}/год. -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Цена: {CURRENCY_LONG} Макс. Скорост: {VELOCITY} Обхват: {COMMA} полета{}Капацитет: {CARGO_LONG}, {CARGO_LONG}{}Транспортни разходи: {CURRENCY_LONG}/година -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Цена: {CURRENCY_LONG} Макс. Скорост: {VELOCITY} Обхват: {COMMA} полета{}Капацитет: {CARGO_LONG}{}Транспортни разходи: {CURRENCY_LONG}/година +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Цена: {CURRENCY_LONG} Макс. Скорост: {VELOCITY}{}Вместимост: {CARGO_LONG}{}Експлоатационни разходи: {CURRENCY_LONG}/год. # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Замяна {STRING} - {STRING} @@ -3569,7 +3567,6 @@ STR_VEHICLE_INFO_AGE :{COMMA} год STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} годин{P а и} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Макс. скорост: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Макс. скорост: {LTBLUE}{VELOCITY} {BLACK}Обхват: {LTBLUE}{COMMA} полета STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Тегло: {LTBLUE}{WEIGHT_SHORT} {BLACK}Мощност: {LTBLUE}{POWER}{BLACK} Макс. Скорост: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Тегло: {LTBLUE}{WEIGHT_SHORT} {BLACK}Мощност: {LTBLUE}{POWER}{BLACK} Макс. Скорост: {LTBLUE}{VELOCITY} {BLACK}Макс. Т.С.: {LTBLUE}{FORCE} diff --git a/src/lang/catalan.txt b/src/lang/catalan.txt index 8ce638f73a..8942f19919 100644 --- a/src/lang/catalan.txt +++ b/src/lang/catalan.txt @@ -11,7 +11,7 @@ ##gender Masculin Femenin -# $Id: catalan.txt 27865 2017-05-03 20:43:22Z frosch $ +# $Id: catalan.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -1373,6 +1373,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Desactivat STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Desplaçament amb el botó esquerre: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Activa el desplaçament del mapa arrossegant-lo amb el botó esquerre del ratolí. Això és especialment útil quan s'utilitzen pantalles tàctils +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Tanca la finestra amb un clic dret del ratolí: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Tanca una finestra fent-hi un clic amb el botó dret del ratolí. Aquesta opció desactiva els indicadors de funció amb el mateix botó. STR_CONFIG_SETTING_AUTOSAVE :Desada automàtica: {STRING} STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Selecciona l'interval entre desades automàtiques de les partides. @@ -2690,7 +2692,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :terreny propiet STR_ABOUT_OPENTTD :{WHITE}Quant a l'OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer. Tots els drets reservats. STR_ABOUT_VERSION :{BLACK}Versió {REV} de l'OpenTTD -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 L'equip de l'OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 L'equip de l'OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Desa la Partida @@ -3115,8 +3117,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Accepta STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Mostra la llista de càrregues admeses STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Accepta: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Aquesta estació té els drets exclusius de transport en aquesta ciutat. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} ha comprat els drets exclusius de transport en aquesta ciutat. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Aquesta estació té els drets exclusius de transport en aquesta ciutat. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} ha comprat els drets exclusius de transport en aquesta ciutat. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Ratis STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Mostra els ratis de l'estació @@ -3295,11 +3297,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Necessit STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Necessita: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING} ############ range for requires ends -STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Necessita -STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}esperant -STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING} +STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Necessita: +STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} esperant{STRING} ############ range for produces starts STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produeix: {YELLOW}{STRING}{STRING} @@ -3368,6 +3368,11 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Treu tots els v STR_GROUP_RENAME_CAPTION :{BLACK}Canvia de nom el grup +STR_GROUP_PROFIT_THIS_YEAR :Benefici d'enguany: +STR_GROUP_PROFIT_LAST_YEAR :Benefici de l'any passat: +STR_GROUP_OCCUPANCY :Ocupació actual: +STR_GROUP_OCCUPANCY_VALUE :{NUM}% + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Compra de nous vehicles ferroviaris STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Compra de nous vehicles ferroviaris per vies electrificades @@ -3399,6 +3404,7 @@ STR_PURCHASE_INFO_ALL_TYPES :Totes les càrr STR_PURCHASE_INFO_ALL_BUT :Qualsevol excepte {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Esforç de tracció màxim: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Abast: {GOLD}{COMMA} cel·les +STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Tipus d'aeronau: {GOLD}{STRING} STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Llista de selecció de trens i vagons. Clica al vehicle per més informació. Ctrl+Click per a alternar entre mostrar/ocultar el vehicle ferroviari STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Llista de models de vehicles de carretera. Clica sobre el model per més informació. Amb Ctrl+Clic, commuta entre mostrar o ocultar el model. @@ -3532,10 +3538,11 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :{G=Femenin}loco STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Cost: {CURRENCY_LONG} Pes: {WEIGHT_SHORT}{}Velocitat: {VELOCITY} Potència: {POWER}{}Cost de circulació: {CURRENCY_LONG}/any{}Capacitat: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Cost: {CURRENCY_LONG} Pes: {WEIGHT_SHORT}{}Velocitat: {VELOCITY} Potència: {POWER} Màx. E.T.: {6:FORCE}{}Cost d'utilització: {4:CURRENCY_LONG}/any{}Capacitat: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Vel. Màx: {VELOCITY}{}Capacitat: {CARGO_LONG}, {CARGO_LONG}{}Cost d'utilització: {CURRENCY_LONG}/any -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Vel. Màx: {VELOCITY}{}Capacitat: {CARGO_LONG}{}Cost d'utilització: {CURRENCY_LONG}/any -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Cost: {CURRENCY_LONG} Vel. màx.: {VELOCITY} Abast: {COMMA} cel·les{}Capacitat: {CARGO_LONG}, {CARGO_LONG}{}Cost d'utilització: {CURRENCY_LONG}/any -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Vel. màx.: {VELOCITY} Abast: {COMMA} cel·les{}Capacitat: {CARGO_LONG}{}Cost d'utilització: {CURRENCY_LONG}/any +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Vel. Màx: {VELOCITY}{}Capacitat: {CARGO_LONG}{}Cost d'utilització: {CURRENCY_LONG}/any +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Velocitat màx.: {VELOCITY}{}Tipus d'aeronau: {STRING}{}Capacitat: {CARGO_LONG}, {CARGO_LONG}{}Cost de circulació: {CURRENCY_LONG} per any +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Velocitat màx.: {VELOCITY}{}Tipus d'aeronau: {STRING}{}Capacitat: {CARGO_LONG}{}Cost de circulació: {CURRENCY_LONG} per any +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Velocitat màx.: {VELOCITY}{}Tipus d'aeronau: {STRING} Abast: {COMMA} caselles{}Capacitat: {CARGO_LONG}, {CARGO_LONG}{}Cost de circulació: {CURRENCY_LONG} per any +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Velocitat màx.: {VELOCITY}{}Tipus d'aeronau: {STRING} Abast: {COMMA} caselles{}Capacitat: {CARGO_LONG}{}Cost de circulació: {CURRENCY_LONG} per any # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Substitueix {STRING} - {STRING} @@ -3658,7 +3665,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} any{P " STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} any{P "" s} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Vel. màx.: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Vel. màx: {LTBLUE}{VELOCITY} {BLACK}Abast: {LTBLUE}{COMMA} cel·les +STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Velocitat màx.: {LTBLUE}{VELOCITY} {BLACK}Tipus d'aeronau: {LTBLUE}{STRING} +STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Velocitat màx.: {LTBLUE}{VELOCITY} {BLACK}Tipus d'aeronau: {LTBLUE}{STRING} {BLACK}Abast: {LTBLUE}{COMMA} caselles STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Pes: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potència: {LTBLUE}{POWER}{BLACK} Vel. Màx: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Pes: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potència: {LTBLUE}{POWER}{BLACK} Vel. màx: {LTBLUE}{VELOCITY} {BLACK}E.T. màx.: {LTBLUE}{FORCE} diff --git a/src/lang/croatian.txt b/src/lang/croatian.txt index 9373dfc0bc..688156a3fa 100644 --- a/src/lang/croatian.txt +++ b/src/lang/croatian.txt @@ -12,7 +12,7 @@ ##case nom gen dat aku vok lok ins -# $Id: croatian.txt 27941 2017-12-11 19:50:30Z frosch $ +# $Id: croatian.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -1468,6 +1468,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Isključeno STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Skrolanje lijevim klikom: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Uključi pomicanje karte povlačenjem pomoću lijevog gumba miša. Ovo je posebno korisno kada se koristi zaslon osjetljiv na dodir +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Zatvori prozor nakon desnog klika: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Zatvara prozor nakon desnog klika unutar prozora. S desnim klikom zatvaraju se i upute alata! STR_CONFIG_SETTING_AUTOSAVE :Automatsko snimanje: {STRING} STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Odaberite interval između automatskog snimanja igre @@ -2785,7 +2787,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Zemlja u posjed STR_ABOUT_OPENTTD :{WHITE}O OpenTTD-u STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Izvorno autorsko pravo {COPYRIGHT} 1995 Chris Sawyer, sva prava pridržana STR_ABOUT_VERSION :{BLACK}OpenTTD verzija {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 OpenTTD tim +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 OpenTTD tim # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spremi igru @@ -3210,8 +3212,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Prihvać STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Pokaži popis tereta koji se prihvaća STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Prihvaća: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Ova stanica ima ekskluzivna prava trasnporta u ovom gradu. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} kupljena ekskluzivna prava transporta u ovom gradu. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Ova stanica ima ekskluzivna prava trasnporta u ovom gradu. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} kupljena ekskluzivna prava transporta u ovom gradu. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Ocjene STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Pokaži ocjene postaje @@ -3390,11 +3392,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Treba: { STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Treba: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING} ############ range for requires ends -STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Treba -STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}čeka -STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING} +STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Treba: +STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} čeka{STRING} ############ range for produces starts STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Proizvodi: {YELLOW}{STRING}{STRING} @@ -3463,6 +3463,11 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Ukloni sva vozi STR_GROUP_RENAME_CAPTION :{BLACK}Preimenuj grupu +STR_GROUP_PROFIT_THIS_YEAR :Dobit ove godine: +STR_GROUP_PROFIT_LAST_YEAR :Dobit prošle godine: +STR_GROUP_OCCUPANCY :Trenutna uporaba: +STR_GROUP_OCCUPANCY_VALUE :{NUM}% + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nova željeznička vozila STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nova električna pružna vozila @@ -3494,6 +3499,7 @@ STR_PURCHASE_INFO_ALL_TYPES :Sve vrste teret STR_PURCHASE_INFO_ALL_BUT :Sve osim {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK} Najveća vučna sila: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Domet: {GOLD}{COMMA} polja +STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Vrsta zrakoplova: {GOLD}{STRING} STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Popis vlakova za odabir. Klikni na vozilo za informacije. Ctrl+klik za uključivanje ili isključivanje prikaza vrste vozila STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Popis cestovnih vozila za odabir. Klikni na vozilo za informacije. Ctrl+klik za uključivanje ili isključivanje prikaza vrste cestovnog vozila @@ -3627,10 +3633,11 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :maglev lokomoti STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Cijena: {CURRENCY_LONG} Težina: {WEIGHT_SHORT}{}Brzina: {VELOCITY} Snaga: {POWER}{}Trošak uporabe: {CURRENCY_LONG}/god{}Kapacitet: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Trošak: {CURRENCY_LONG} Težina: {WEIGHT_SHORT}{}Brzina: {VELOCITY} Snaga: {POWER} Maks. T.E.: {6:FORCE}{}Trošak uporabe: {4:CURRENCY_LONG}/god{}Nosivost: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Trošak: {CURRENCY_LONG} Maks. brzina: {VELOCITY}{}Nosivost: {CARGO_LONG}, {CARGO_LONG}{}Trošak uporabe: {CURRENCY_LONG}/god -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Trošak: {CURRENCY_LONG} Maks. brzina: {VELOCITY}{}Nosivost: {CARGO_LONG}{}Trošak uporabe: {CURRENCY_LONG}/god -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Cijena: {CURRENCY_LONG} Maks. brzina: {VELOCITY} Domet: {COMMA} tiles{}Kapacitet: {CARGO_LONG}, {CARGO_LONG}{}Trošak vožnje: {CURRENCY_LONG}/god -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Cijena: {CURRENCY_LONG} Maks. Brzina: {VELOCITY} Domet: {COMMA} tiles{}Kapacitet: {CARGO_LONG}{}Trošak vožnje: {CURRENCY_LONG}/god +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Trošak: {CURRENCY_LONG} Maks. brzina: {VELOCITY}{}Nosivost: {CARGO_LONG}{}Trošak uporabe: {CURRENCY_LONG}/god +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Trošak: {CURRENCY_LONG} Maks. brzina: {VELOCITY}{}Vrsta zrakoplova: {STRING}{}Kapacitet: {CARGO_LONG}, {CARGO_LONG}{}Trošak uporabe: {CURRENCY_LONG}/god +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Trošak: {CURRENCY_LONG} Maks. brzina: {VELOCITY}{}Vrsta zrakoplova: {STRING}{}Kapacitet: {CARGO_LONG}{}Trošak uporabe: {CURRENCY_LONG}/god +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Trošak: {CURRENCY_LONG} Maks. brzina: {VELOCITY}{}Vrsta zrakoplova: {STRING} Doseg: {COMMA} polja{}Kapacitet: {CARGO_LONG}, {CARGO_LONG}{}Trošak uporabe: {CURRENCY_LONG}/god +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Trošak: {CURRENCY_LONG} Maks. brzina: {VELOCITY}{}Vrsta zrakoplova: {STRING} Doseg: {COMMA} polja{}Kapacitet: {CARGO_LONG}{}Trošak uporabe: {CURRENCY_LONG}/god # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Zamijeni {STRING} - {STRING} @@ -3753,7 +3760,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} godin{P STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} godin{P a e a} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Najveća brzina: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Najveća brzina: {LTBLUE}{VELOCITY} {BLACK}Domet: {LTBLUE}{COMMA} polj{P e a a} +STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Maks. brzina: {LTBLUE}{VELOCITY} {BLACK}Vrsta zrakoplova: {LTBLUE}{STRING} +STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Maks. brzina: {LTBLUE}{VELOCITY} {BLACK}Vrsta zrakoplova: {LTBLUE}{STRING} {BLACK}Doseg: {LTBLUE}{COMMA} polja STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Težina: {LTBLUE}{WEIGHT_SHORT} {BLACK}Snaga: {LTBLUE}{POWER}{BLACK} Najveća brzina: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Težina: {LTBLUE}{WEIGHT_SHORT} {BLACK}Snaga: {LTBLUE}{POWER}{BLACK} Najveća brzina: {LTBLUE}{VELOCITY} {BLACK}Najveća vučna sila: {LTBLUE}{FORCE} diff --git a/src/lang/czech.txt b/src/lang/czech.txt index 25e8b0424f..582d67f0cc 100644 --- a/src/lang/czech.txt +++ b/src/lang/czech.txt @@ -12,7 +12,7 @@ ##case nom gen dat acc voc loc ins big small -# $Id: czech.txt 27941 2017-12-11 19:50:30Z frosch $ +# $Id: czech.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -1459,6 +1459,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :vypnutá STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Posouvání levým tlačítkem: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Povolit posouvání mapy chycením pomocí levého tlačítka myši. Toto je velmi užitečné hlavně při použití s dotykovou obrazovkou. +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Zavírat okno kliknutím pravým tlačítkem myši: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Zavírat okno kliknutím pravým tlačítkem na něj. Znemožňuje využívat nápovědu zobrazující se při stisknutí pravého tlačítka myši! STR_CONFIG_SETTING_AUTOSAVE :Automaticky ukládat: {STRING} STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Zvol frekvenci automatického ukládání @@ -2782,7 +2784,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Půda vlastněn STR_ABOUT_OPENTTD :{WHITE}O OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Původní copyright: {COPYRIGHT} 1995 Chris Sawyer, všechna práva vyhrazena STR_ABOUT_VERSION :{BLACK}OpenTTD verze {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 Tým OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 Tým OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Uložit hru @@ -3207,8 +3209,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Přijím STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Ukázat seznam přijímaného nákladu STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Přijímá: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Tato stanice má v tomto městě výhradní přepravní práva. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :Společnost {YELLOW}{COMPANY}{BLACK} koupila v tomto městě výhradní přepravní práva. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Tato stanice má v tomto městě výhradní přepravní práva. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :Společnost {YELLOW}{COMPANY}{BLACK} koupila v tomto městě výhradní přepravní práva. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Hodnocení STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Ukázat hodnocení společností @@ -3387,11 +3389,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Vyžaduj STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Vyžaduje: {YELLOW}{STRING.acc}{STRING}, {STRING.acc}{STRING}, {STRING.acc}{STRING} ############ range for requires ends -STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Vyžaduje -STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}ček{P á ají á} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING} +STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Vyžaduje: +STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} ček{P á ají á}{STRING} ############ range for produces starts STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produkuje: {YELLOW}{STRING}{STRING} @@ -3460,6 +3460,11 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Odstranit všec STR_GROUP_RENAME_CAPTION :{BLACK}Přejmenovat skupinu +STR_GROUP_PROFIT_THIS_YEAR :Letošní zisk: +STR_GROUP_PROFIT_LAST_YEAR :Loňský zisk: +STR_GROUP_OCCUPANCY :Současné využití: +STR_GROUP_OCCUPANCY_VALUE :{NUM}% + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nové lokomotivy a vagony STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nové elektrické lokomotivy a vagony @@ -3491,6 +3496,7 @@ STR_PURCHASE_INFO_ALL_TYPES :Všechny druhy STR_PURCHASE_INFO_ALL_BUT :Všechny kromě {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Max. tažná síla: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Dosah: {GOLD}{COMMA} polí +STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Typ letadla: {GOLD}{STRING} STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Seznam vlaků - pro informace klikni na vlak. Ctrl+kliknutí způsobí přepínání skrytí typů lokomotiv a vagónů. STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Seznam silničních vozidel - klikni na vozidlo pro informace. Ctrl+kliknutí způsobí přepínání skrytí typu silničního vozidla. @@ -3627,10 +3633,11 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE.acc :lokomotivu Magl STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Cena: {CURRENCY_LONG} Hmotnost: {WEIGHT_SHORT}{}Rychlost: {VELOCITY} Výkon: {POWER}{}Cena provozu: {CURRENCY_LONG} ročně{}Kapacita: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Cena: {CURRENCY_LONG} Váha: {WEIGHT_SHORT}{}Rychlost: {VELOCITY} Síla: {POWER} Maximální tažná síla: {6:FORCE}{}Provozní náklady: {4:CURRENCY_LONG}/rok{}Kapacita: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Cena: {CURRENCY_LONG} Max. rychlost: {VELOCITY}{}Kapacita: {CARGO_LONG}, {CARGO_LONG}{}Cena provozu: {CURRENCY_LONG} ročně -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Cena: {CURRENCY_LONG} Max. rychlost: {VELOCITY}{}Kapacita: {CARGO_LONG}{}Cena provozu: {CURRENCY_LONG} ročně -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Cena {CURRENCY_LONG} Max. Rychlost: {VELOCITY} Dosah: {COMMA} polí{}Kapacita: {CARGO_LONG}, {CARGO_LONG}{}Provozní náklady: {CURRENCY_LONG}/rok -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Cena {CURRENCY_LONG} Max. Rychlost {VELOCITY} Dosah: {COMMA} polí{}Kapacita: {CARGO_LONG}{}Provozní náklady: {CURRENCY_LONG}/rok +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Cena: {CURRENCY_LONG} Max. rychlost: {VELOCITY}{}Kapacita: {CARGO_LONG}{}Cena provozu: {CURRENCY_LONG} ročně +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Cena: {CURRENCY_LONG} Max. rychlost: {VELOCITY}{}Typ letadla: {STRING}{}Kapacita: {CARGO_LONG}, {CARGO_LONG}{}Provozní náklady: {CURRENCY_LONG}/rok +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Cena: {CURRENCY_LONG} Max. rychlost: {VELOCITY}{}Typ letadla: {STRING}{}Kapacita: {CARGO_LONG}{}Provozní náklady: {CURRENCY_LONG}/rok +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Cena: {CURRENCY_LONG} Max. rychlost: {VELOCITY}{}Typ letadla: {STRING} Dosah: {COMMA} políč{P ko ka ek}{}Kapacita: {CARGO_LONG}, {CARGO_LONG}{}Provozní náklady: {CURRENCY_LONG}/rok +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Cena: {CURRENCY_LONG} Max. rychlost: {VELOCITY}{}Typ letadla: {STRING} Dosah: {COMMA} políč{P ko ka ek}{}Kapacita: {CARGO_LONG}{}Provozní náklady: {CURRENCY_LONG}/rok # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Vyměňování {STRING} - {STRING} @@ -3753,7 +3760,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} {P rok STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} {P rok roky let} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Max. rychlost: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Max. rychlost: {LTBLUE}{VELOCITY} {BLACK}Dosah: {LTBLUE}{COMMA} polí +STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Max. rychlost: {LTBLUE}{VELOCITY} {BLACK}Typ letadla: {LTBLUE}{STRING} +STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Max. rychlost: {LTBLUE}{VELOCITY} {BLACK}Typ letadla: {LTBLUE}{STRING} {BLACK}Dosah: {LTBLUE}{COMMA} políč{P ko ka ek} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Hmotnost: {LTBLUE}{WEIGHT_SHORT} {BLACK}Výkon: {LTBLUE}{POWER}{BLACK} Max. rychlost: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Hmotnost: {LTBLUE}{WEIGHT_SHORT} {BLACK}Výkon: {LTBLUE}{POWER}{BLACK} Max. rychlost: {LTBLUE}{VELOCITY} {BLACK}Max. tažná síla: {LTBLUE}{FORCE} diff --git a/src/lang/danish.txt b/src/lang/danish.txt index d1f11d2fba..e24a78355f 100644 --- a/src/lang/danish.txt +++ b/src/lang/danish.txt @@ -10,7 +10,7 @@ ##grflangid 0x2d -# $Id: danish.txt 27777 2017-03-11 16:49:51Z frosch $ +# $Id: danish.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -1372,6 +1372,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Fra STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Venstreklik-scrolling: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Aktiver rulle kortet ved at trække den med venstre museknap. Dette er især nyttigt, når du bruger en touch-screen til at rulle +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Luk vindue ved højre-klik: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Lukker vinduet ved at højreklikke inde i det. Deaktiverer værktøjstip ved at højreklikke! STR_CONFIG_SETTING_AUTOSAVE :Auto gem: {STRING} STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Vælg interval mellem automatisk gemte spil @@ -1761,6 +1763,7 @@ STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Tjek for STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Vis computerspiller/spilscript indstillinger STR_INTRO_TOOLTIP_QUIT :{BLACK}Afslut 'OpenTTD' +STR_INTRO_BASESET :{BLACK} Det aktuelt valgte base grafiksæt mangler {NUM} sprite {P "" s}. Se venligst efter opdateringer til basesættet. STR_INTRO_TRANSLATION :{BLACK}Denne oversættelse mangler {NUM} streng{P "" e}. Hjælp venligst med at gøre OpenTTD bedre ved at tilmelde dig som oversætter. Se readme.txt for detaljer. # Quit window @@ -2589,6 +2592,7 @@ STR_LAND_AREA_INFORMATION_AIRPORTTILE_NAME :{BLACK}Lufthavn STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Accepteret last: {LTBLUE} STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING}) +STR_LANG_AREA_INFORMATION_RAIL_TYPE :{BLACK}Tog type: {LTBLUE}{STRING} STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Togspors hastighedsgrænse: {LTBLUE}{VELOCITY} STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Vej hastighedsbegrænsning: {LTBLUE}{VELOCITY} @@ -2604,13 +2608,13 @@ STR_LAI_CLEAR_DESCRIPTION_DESERT :Ørken STR_LAI_RAIL_DESCRIPTION_TRACK :Jernbane spor STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Jernbane spor med bloksignaler STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Jernbane spor med with pre-signaler -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Jernbane spor med udgangssignaler +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Jernbane spor med udgangs-signaler STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Jernbane spor med kombinerede signaler STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Jernbane spor med rute-signaler STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Jernbane spor med en-vejs-signaler STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Jernbane spor med blok- og pre-signaler STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Jernbane spor med blok- og udgangs-signaler -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Jernbane spor med blok og kombinerede signaler +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Jernbane spor med blok- og kombinerede signaler STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Jernbane spor med blok- og rute-signaler STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Jernbane spor med blok og en-vejs rute-signaler STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Jernbane spor med pre- og udgangs-signaler @@ -2621,7 +2625,7 @@ STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Jernbane spor m STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Jernbane spor med udgangs- og rute-signaler STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Jernbane spor med udgangs- og en-vejs rute-signaler STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Jernbane spor med kombinerede og rute-signaler -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Jernbane spor med kombinerede og en-vejs rute-signaler +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Jernbane spor med kombinationede- og en-vejs rute-signaler STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Jernbane spor med rute- og en-vejs rute-signaler STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Jernbane togdepot @@ -2687,7 +2691,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Land ejet af se STR_ABOUT_OPENTTD :{WHITE}Om OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, Alle rettigheder reserveret STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 OpenTTD teamet +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 OpenTTD teamet # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Gem spil @@ -3112,8 +3116,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Accepter STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Vis liste over accepteret last STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Accepterer: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK} Denne station har eksklusive transport rettigheder i denne by. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW} {COMPANY} {BLACK} købte eksklusive transport rettigheder i denne by. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK} Denne station har eksklusive transport rettigheder i denne by. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW} {COMPANY} {BLACK} købte eksklusive transport rettigheder i denne by. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Bedømmelse STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Vis stationens bedømmelse @@ -3292,6 +3296,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Kræver: STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Kræver: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING} ############ range for requires ends +STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Kræver: +STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} venter{STRING} ############ range for produces starts STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Producerer: {YELLOW}{STRING}{STRING} @@ -3360,6 +3367,11 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Fjern alle kør STR_GROUP_RENAME_CAPTION :{BLACK}Omdøb en gruppe +STR_GROUP_PROFIT_THIS_YEAR :Afkast i år: +STR_GROUP_PROFIT_LAST_YEAR :Afkast sidste år: +STR_GROUP_OCCUPANCY :Nuværende brug: +STR_GROUP_OCCUPANCY_VALUE :{NUM}% + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nye jernbanekøretøjer STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nyt elektrisk lokomotiv @@ -3391,6 +3403,7 @@ STR_PURCHASE_INFO_ALL_TYPES :Alle lasttyper STR_PURCHASE_INFO_ALL_BUT :Alle undtagen {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Maks. trækkraft: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Rækkevidde: {GOLD}{COMMA} felter +STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Fly type: {GOLD}{STRING} STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Togvalgsliste - klik på et køretøj for mere information STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Liste over køretøjstyper - klik på køretøj for information @@ -3524,10 +3537,11 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :magnetskinnelok STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Pris: {CURRENCY_LONG} Vægt: {WEIGHT_SHORT}{}Hastighed: {VELOCITY} Styrke: {POWER}{}Driftsomkostninger: {CURRENCY_LONG}/år{}Kapacitet: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Pris: {CURRENCY_LONG} Vægt: {WEIGHT_SHORT}{}Hastighed: {VELOCITY} Hestekræfter: {POWER} Maks. Trækkraft: {6:FORCE}{}Driftsomkostning: {4:CURRENCY_LONG}/år{}Kapacitet: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Pris: {CURRENCY_LONG} Maks. hast.: {VELOCITY}{}Kapacitet: {CARGO_LONG}, {CARGO_LONG}{}Driftsomkostninger: {CURRENCY_LONG}/år -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Pris: {CURRENCY_LONG} Maks. hast.: {VELOCITY}{}Kapacitet: {CARGO_LONG}{}Driftsomkostninger: {CURRENCY_LONG}/år -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Pris: {CURRENCY_LONG} Max. hastighed: {VELOCITY} Rækkevidde: {COMMA} felter{}Kapacitet: {CARGO_LONG}, {CARGO_LONG}{}Faste udgifter: {CURRENCY_LONG}/år -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Pris: {CURRENCY_LONG} Max. hastighed: {VELOCITY} Rækkevidde: {COMMA} felter{}Capacity: {CARGO_LONG}{}Running Cost: {CURRENCY_LONG}/yr +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Pris: {CURRENCY_LONG} Maks. hast.: {VELOCITY}{}Kapacitet: {CARGO_LONG}{}Driftsomkostninger: {CURRENCY_LONG}/år +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Pris: {CURRENCY_LONG} Max. Hastighed: {VELOCITY}{}Aircraft type: {STRING}{}Kapacitet: {CARGO_LONG}, {CARGO_LONG}{}Omkostninger: {CURRENCY_LONG}/år +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Pris: {CURRENCY_LONG} Max. Hastighed: {VELOCITY}{}Fly type: {STRING}{}Kapacitet: {CARGO_LONG}{}Omkostninger: {CURRENCY_LONG}/år +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Pris: {CURRENCY_LONG} Max. Hastighed: {VELOCITY}{}Fly type: {STRING} Rækkevidde: {COMMA} felter{}Kapacitet: {CARGO_LONG}, {CARGO_LONG}{}Omkostninger: {CURRENCY_LONG}/år +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Pris: {CURRENCY_LONG} Max. Hastighed{VELOCITY}{}Fly type: {STRING} Rækkevidde: {COMMA} felter{}Kapacitet: {CARGO_LONG}{}Omkostninger: {CURRENCY_LONG}/år # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Udskift {STRING} - {STRING} @@ -3557,6 +3571,7 @@ STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Tryk for STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Skift imellem lokomotiv- og vognudskiftningsvindue STR_REPLACE_ENGINES :Lokomotiver STR_REPLACE_WAGONS :Vogne +STR_REPLACE_ALL_RAILTYPE :Alle jernbanevogne STR_REPLACE_HELP_RAILTYPE :{BLACK}Vælg den skinne type, du ønsker at udskifte lokomotiver til STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Viser hvilket køretøj det valgte køretøj til venstre bliver udskiftet med, hvis det udskiftes @@ -3649,7 +3664,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} år ({C STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} år ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Maks. hast.: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Max. hastighed: {LTBLUE}{VELOCITY} {BLACK}Rækkevidde: {LTBLUE}{COMMA} felter +STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Max. hastighed: {LTBLUE}{VELOCITY} {BLACK}Fly type: {LTBLUE}{STRING} +STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Max. hastighed: {LTBLUE}{VELOCITY} {BLACK}Fly type: {LTBLUE}{STRING} {BLACK}Rækkevidde: {LTBLUE}{COMMA} felter STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Vægt: {LTBLUE}{WEIGHT_SHORT} {BLACK}Effekt: {LTBLUE}{POWER}{BLACK} Maks. hast.: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Vægt: {LTBLUE}{WEIGHT_SHORT} {BLACK}Effekt: {LTBLUE}{POWER}{BLACK} Maks. hast.: {LTBLUE}{VELOCITY} {BLACK}Maks. trækkraft: {LTBLUE}{FORCE} diff --git a/src/lang/dutch.txt b/src/lang/dutch.txt index 58ae20ab8a..a9f366522e 100644 --- a/src/lang/dutch.txt +++ b/src/lang/dutch.txt @@ -10,7 +10,7 @@ ##grflangid 0x1f -# $Id: dutch.txt 27941 2017-12-11 19:50:30Z frosch $ +# $Id: dutch.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -1372,6 +1372,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Uit STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Scrollen met linkermuisknop: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Schakel scrollen met de linkermuisknop in door te slepen. Dit is vooral handig bij het gebruik van een touchscreen voor scrollen +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Sluit window met rechts-klik: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Sluit een venster door met de rechtermuisknop erin te klikken. Schakelt de tooltip uit met de rechtermuisknop! STR_CONFIG_SETTING_AUTOSAVE :Automatisch opslaan: {STRING} STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Kies interval tussen automatische spelopslag @@ -2689,7 +2691,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terrein in bedr STR_ABOUT_OPENTTD :{WHITE}Over OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Originele copyright {COPYRIGHT} 1995 Chris Sawyer, alle rechten voorbehouden STR_ABOUT_VERSION :{BLACK}OpenTTD versie {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 Het OpenTTD-team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 Het OpenTTD-team # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spel Opslaan @@ -3114,8 +3116,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Acceptee STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Laat lijst van gevraagde goederen zien STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Accepteert: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Dit station heeft exclusieve transportrechten in deze gemeente. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} kocht exclusieve transportrechten in deze gemeente +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Dit station heeft exclusieve transportrechten in deze gemeente. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} kocht exclusieve transportrechten in deze gemeente STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Rangen STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Bekijk stationsreputaties @@ -3294,11 +3296,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Vereist: STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Vereist: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING} ############ range for requires ends -STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Vereist -STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}wachtend -STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING} +STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Vereist: +STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} wachtend{STRING} ############ range for produces starts STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produceert: {YELLOW}{STRING}{STRING} @@ -3367,6 +3367,11 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Verwijder alle STR_GROUP_RENAME_CAPTION :{BLACK}Hernoem een groep +STR_GROUP_PROFIT_THIS_YEAR :Winst dit jaar: +STR_GROUP_PROFIT_LAST_YEAR :Winst vorig jaar: +STR_GROUP_OCCUPANCY :Huidig gebruik: +STR_GROUP_OCCUPANCY_VALUE :{NUM}% + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nieuwe spoorvoertuigen STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nieuwe elektrische spoorvoertuigen @@ -3398,6 +3403,7 @@ STR_PURCHASE_INFO_ALL_TYPES :Alle vrachttype STR_PURCHASE_INFO_ALL_BUT :Alles behalve {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Max. trekkracht: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Bereik: {GOLD}{COMMA} tegels +STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Vliegtuig type: {GOLD}{STRING} STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Spoorvoertuigkeuzelijst. Klik op een spoorvoertuig voor informatie. Ctrl+klik voor het aan/uitzetten van het verbergen van het voertuigtype STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Wegvoertuigkeuzelijst. Klik op een wegvoertuig voor informatie. Ctrl+klik om het verbergen van het voertuigtype aan/uit te zetten. @@ -3531,10 +3537,11 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :zweeflocomotief STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Prijs: {CURRENCY_LONG} Gewicht: {WEIGHT_SHORT}{}Snelheid: {VELOCITY} Kracht: {POWER}{}Brandstofprijs: {CURRENCY_LONG}/jr{}Capaciteit: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Prijs: {CURRENCY_LONG} Gewicht: {WEIGHT_SHORT}{}Snelheid: {VELOCITY} Kracht: {POWER} Max. T.E.: {6:FORCE}{}Bedrijfskosten: {4:CURRENCY_LONG}/yr{}Capaciteit: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Kosten: {CURRENCY_LONG} Max. Snelheid: {VELOCITY}{}Capaciteit: {CARGO_LONG}, {CARGO_LONG}{}Gebruikskosten: {CURRENCY_LONG}/yr -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Kosten: {CURRENCY_LONG} Max. Snelheid: {VELOCITY}{}Capaciteit: {CARGO_LONG}{}Gebruikskosten: {CURRENCY_LONG}/jaar -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Kosten: {CURRENCY_LONG} Max. Snelheid: {VELOCITY} Bereik: {COMMA} tegels{}Capaciteit: {CARGO_LONG}, {CARGO_LONG}{}Bedrijfskosten: {CURRENCY_LONG}/jr -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Kosten: {CURRENCY_LONG} Max. Snelheid: {VELOCITY} Bereik: {COMMA} tegels{}Capaciteit: {CARGO_LONG}{}Bedrijfskosten: {CURRENCY_LONG}/jr +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Kosten: {CURRENCY_LONG} Max. Snelheid: {VELOCITY}{}Capaciteit: {CARGO_LONG}{}Gebruikskosten: {CURRENCY_LONG}/jaar +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Prijs: {CURRENCY_LONG} Max. Snelheid: {VELOCITY}{}Vliegtuig type: {STRING}{}Capaciteit: {CARGO_LONG}, {CARGO_LONG}{}Gebruikskosten: {CURRENCY_LONG}/jaar +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Prijs: {CURRENCY_LONG} Max. Snelheid: {VELOCITY}{}Vliegtuig type: {STRING}{}Capaciteit: {CARGO_LONG}{}Gebruikskosten: {CURRENCY_LONG}/jaar +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Prijs: {CURRENCY_LONG} Max. Snelheid: {VELOCITY}{}Vliegtuig type: {STRING} Bereik: {COMMA} tiles{}Capaciteit: {CARGO_LONG}, {CARGO_LONG}{}Gebruikskosten: {CURRENCY_LONG}/jaar +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Prijs: {CURRENCY_LONG} Max. Snelheid: {VELOCITY}{}Vliegtuig type: {STRING} Bereik: {COMMA} tiles{}Capaciteit: {CARGO_LONG}{}Gebruikskosten: {CURRENCY_LONG}/jaar # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Vervang {STRING} - {STRING} @@ -3657,7 +3664,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} ja{P ar STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} ja{P ar ren} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Max. snelheid: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Max. snelheid: {LTBLUE}{VELOCITY} {BLACK}Bereik: {LTBLUE}{COMMA} tegels +STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Max. snelheid: {LTBLUE}{VELOCITY} {BLACK}Vliegtuig type: {LTBLUE}{STRING} +STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Max. snelheid: {LTBLUE}{VELOCITY} {BLACK}Vliegtuig type: {LTBLUE}{STRING} {BLACK}Bereik: {LTBLUE}{COMMA} tegels STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Gewicht: {LTBLUE}{WEIGHT_SHORT} {BLACK}Kracht: {LTBLUE}{POWER}{BLACK} Max. snelheid: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Gewicht: {LTBLUE}{WEIGHT_SHORT} {BLACK}Kracht: {LTBLUE}{POWER}{BLACK} Max. snelheid: {LTBLUE}{VELOCITY} {BLACK}Max. T.K.: {LTBLUE}{FORCE} diff --git a/src/lang/english.txt b/src/lang/english.txt index f63bffa453..fe7836877a 100644 --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -10,7 +10,7 @@ ##grflangid 0x01 -# $Id: english.txt 27777 2017-03-11 16:49:51Z frosch $ +# $Id: english.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -1372,6 +1372,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Off STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Left-click scrolling: {STRING2} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Enable scrolling the map by dragging it with the left mouse button. This is especially useful when using a touch-screen for scrolling +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Close window on right-click: {STRING2} +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Closes a window by right-clicking inside it. Disables the tooltip on right-click! STR_CONFIG_SETTING_AUTOSAVE :Autosave: {STRING2} STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Select interval between automatic game saves @@ -2689,7 +2691,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Company-owned l STR_ABOUT_OPENTTD :{WHITE}About OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 The OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 The OpenTTD team # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Save Game @@ -3114,8 +3116,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Accepts STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Show list of accepted cargo STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Accepts: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}This station has exclusive transport rights in this town. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} bought exclusive transport rights in this town. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}This station has exclusive transport rights in this town. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} bought exclusive transport rights in this town. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Ratings STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Show station ratings @@ -3294,11 +3296,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Requires STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Requires: {YELLOW}{STRING}{RAW_STRING}, {STRING}{RAW_STRING}, {STRING}{RAW_STRING} ############ range for requires ends -STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Requires -STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}waiting -STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{RAW_STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{RAW_STRING} +STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Requires: +STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:RAW_STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} waiting{RAW_STRING} ############ range for produces starts STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produces: {YELLOW}{STRING}{RAW_STRING} @@ -3367,6 +3367,11 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Remove all vehi STR_GROUP_RENAME_CAPTION :{BLACK}Rename a group +STR_GROUP_PROFIT_THIS_YEAR :Profit this year: +STR_GROUP_PROFIT_LAST_YEAR :Profit last year: +STR_GROUP_OCCUPANCY :Current usage: +STR_GROUP_OCCUPANCY_VALUE :{NUM}% + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :New Rail Vehicles STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :New Electric Rail Vehicles @@ -3398,6 +3403,7 @@ STR_PURCHASE_INFO_ALL_TYPES :All cargo types STR_PURCHASE_INFO_ALL_BUT :All but {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Max. Tractive Effort: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Range: {GOLD}{COMMA} tiles +STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Aircraft type: {GOLD}{STRING} STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Train vehicle selection list. Click on vehicle for information. Ctrl+Click for toggling hiding of the vehicle type STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Road vehicle selection list. Click on vehicle for information. Ctrl+Click for toggling hiding of the vehicle type @@ -3531,10 +3537,11 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :maglev locomoti STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Cost: {CURRENCY_LONG} Weight: {WEIGHT_SHORT}{}Speed: {VELOCITY} Power: {POWER}{}Running Cost: {CURRENCY_LONG}/yr{}Capacity: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Cost: {CURRENCY_LONG} Weight: {WEIGHT_SHORT}{}Speed: {VELOCITY} Power: {POWER} Max. T.E.: {6:FORCE}{}Running Cost: {4:CURRENCY_LONG}/yr{}Capacity: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Max. Speed: {VELOCITY}{}Capacity: {CARGO_LONG}, {CARGO_LONG}{}Running Cost: {CURRENCY_LONG}/yr -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Max. Speed: {VELOCITY}{}Capacity: {CARGO_LONG}{}Running Cost: {CURRENCY_LONG}/yr -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Cost: {CURRENCY_LONG} Max. Speed: {VELOCITY} Range: {COMMA} tiles{}Capacity: {CARGO_LONG}, {CARGO_LONG}{}Running Cost: {CURRENCY_LONG}/yr -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Max. Speed: {VELOCITY} Range: {COMMA} tiles{}Capacity: {CARGO_LONG}{}Running Cost: {CURRENCY_LONG}/yr +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Max. Speed: {VELOCITY}{}Capacity: {CARGO_LONG}{}Running Cost: {CURRENCY_LONG}/yr +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Max. Speed: {VELOCITY}{}Aircraft type: {STRING}{}Capacity: {CARGO_LONG}, {CARGO_LONG}{}Running Cost: {CURRENCY_LONG}/yr +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Max. Speed: {VELOCITY}{}Aircraft type: {STRING}{}Capacity: {CARGO_LONG}{}Running Cost: {CURRENCY_LONG}/yr +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Max. Speed: {VELOCITY}{}Aircraft type: {STRING} Range: {COMMA} tiles{}Capacity: {CARGO_LONG}, {CARGO_LONG}{}Running Cost: {CURRENCY_LONG}/yr +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Max. Speed: {VELOCITY}{}Aircraft type: {STRING} Range: {COMMA} tiles{}Capacity: {CARGO_LONG}{}Running Cost: {CURRENCY_LONG}/yr # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Replace {STRING} - {STRING1} @@ -3657,7 +3664,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} year{P STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} year{P "" s} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Max. speed: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Max. speed: {LTBLUE}{VELOCITY} {BLACK}Range: {LTBLUE}{COMMA} tiles +STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Max. speed: {LTBLUE}{VELOCITY} {BLACK}Aircraft type: {LTBLUE}{STRING} +STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Max. speed: {LTBLUE}{VELOCITY} {BLACK}Aircraft type: {LTBLUE}{STRING} {BLACK}Range: {LTBLUE}{COMMA} tiles STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Weight: {LTBLUE}{WEIGHT_SHORT} {BLACK}Power: {LTBLUE}{POWER}{BLACK} Max. speed: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Weight: {LTBLUE}{WEIGHT_SHORT} {BLACK}Power: {LTBLUE}{POWER}{BLACK} Max. speed: {LTBLUE}{VELOCITY} {BLACK}Max. T.E.: {LTBLUE}{FORCE} diff --git a/src/lang/english_AU.txt b/src/lang/english_AU.txt index 7f41fbba2f..d5169628fd 100644 --- a/src/lang/english_AU.txt +++ b/src/lang/english_AU.txt @@ -10,7 +10,7 @@ ##grflangid 0x3d -# $Id: english_AU.txt 27777 2017-03-11 16:49:51Z frosch $ +# $Id: english_AU.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -2662,7 +2662,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Company-owned l STR_ABOUT_OPENTTD :{WHITE}About OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 The OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 The OpenTTD team # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Save Game @@ -3079,8 +3079,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Accepts STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Show list of accepted cargo STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Accepts: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}This station has exclusive transport rights in this town. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} bought exclusive transport rights in this town. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}This station has exclusive transport rights in this town. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} bought exclusive transport rights in this town. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Ratings STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Show station ratings @@ -3327,6 +3327,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Remove all vehi STR_GROUP_RENAME_CAPTION :{BLACK}Rename a group + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :New Rail Vehicles STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :New Electric Rail Vehicles @@ -3479,10 +3480,7 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :maglev locomoti STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Cost: {CURRENCY_LONG} Weight: {WEIGHT_SHORT}{}Speed: {VELOCITY} Power: {POWER}{}Running Cost: {CURRENCY_LONG}/yr{}Capacity: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Cost: {CURRENCY_LONG} Weight: {WEIGHT_SHORT}{}Speed: {VELOCITY} Power: {POWER} Max. T.E.: {6:FORCE}{}Running Cost: {4:CURRENCY_LONG}/yr{}Capacity: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Max. Speed: {VELOCITY}{}Capacity: {CARGO_LONG}, {CARGO_LONG}{}Running Cost: {CURRENCY_LONG}/yr -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Max. Speed: {VELOCITY}{}Capacity: {CARGO_LONG}{}Running Cost: {CURRENCY_LONG}/yr -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Cost: {CURRENCY_LONG} Max. Speed: {VELOCITY} Range: {COMMA} tiles{}Capacity: {CARGO_LONG}, {CARGO_LONG}{}Running Cost: {CURRENCY_LONG}/yr -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Max. Speed: {VELOCITY} Range: {COMMA} tiles{}Capacity: {CARGO_LONG}{}Running Cost: {CURRENCY_LONG}/yr +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Max. Speed: {VELOCITY}{}Capacity: {CARGO_LONG}{}Running Cost: {CURRENCY_LONG}/yr # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Replace {STRING} - {STRING} @@ -3600,7 +3598,6 @@ STR_VEHICLE_INFO_AGE :{COMMA} year{P STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} year{P "" s} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Max. speed: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Max. speed: {LTBLUE}{VELOCITY} {BLACK}Range: {LTBLUE}{COMMA} tiles STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Weight: {LTBLUE}{WEIGHT_SHORT} {BLACK}Power: {LTBLUE}{POWER}{BLACK} Max. speed: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Weight: {LTBLUE}{WEIGHT_SHORT} {BLACK}Power: {LTBLUE}{POWER}{BLACK} Max. speed: {LTBLUE}{VELOCITY} {BLACK}Max. T.E.: {LTBLUE}{FORCE} diff --git a/src/lang/english_US.txt b/src/lang/english_US.txt index 16dd260815..1f38c3a8a0 100644 --- a/src/lang/english_US.txt +++ b/src/lang/english_US.txt @@ -10,7 +10,7 @@ ##grflangid 0x00 -# $Id: english_US.txt 27941 2017-12-11 19:50:30Z frosch $ +# $Id: english_US.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -1372,6 +1372,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Off STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Left-click scrolling: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Enable scrolling the map by dragging it with the left mouse button. This is especially useful when using a touch-screen for scrolling +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Close window on right-click: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Closes a window by right-clicking inside it. Disables the tooltip on right-click! STR_CONFIG_SETTING_AUTOSAVE :Autosave: {STRING} STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Select interval between automatic game saves @@ -2689,7 +2691,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Company-owned l STR_ABOUT_OPENTTD :{WHITE}About OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 The OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 The OpenTTD team # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Save Game @@ -3114,8 +3116,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Accepts STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Show list of accepted cargo STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Accepts: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}This station has exclusive transport rights in this town. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} bought exclusive transport rights in this town. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}This station has exclusive transport rights in this town. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} bought exclusive transport rights in this town. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Ratings STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Show station ratings @@ -3294,11 +3296,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Requires STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Requires: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING} ############ range for requires ends -STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Requires -STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}waiting -STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING} +STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Requires: +STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} waiting{STRING} ############ range for produces starts STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produces: {YELLOW}{STRING}{STRING} @@ -3367,6 +3367,11 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Remove all vehi STR_GROUP_RENAME_CAPTION :{BLACK}Rename a group +STR_GROUP_PROFIT_THIS_YEAR :Profit this year: +STR_GROUP_PROFIT_LAST_YEAR :Profit last year: +STR_GROUP_OCCUPANCY :Current usage: +STR_GROUP_OCCUPANCY_VALUE :{NUM}% + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :New Rail Vehicles STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :New Electric Rail Vehicles @@ -3398,6 +3403,7 @@ STR_PURCHASE_INFO_ALL_TYPES :All cargo types STR_PURCHASE_INFO_ALL_BUT :All but {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Max. Tractive Effort: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Range: {GOLD}{COMMA} tiles +STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Aircraft type: {GOLD}{STRING} STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Train vehicle selection list. Click on vehicle for information. Ctrl+Click to toggle hiding of the vehicle type STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Road vehicle selection list. Click on vehicle for information. Ctrl+Click to toggle hiding of the vehicle type @@ -3531,10 +3537,11 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :maglev locomoti STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Cost: {CURRENCY_LONG} Weight: {WEIGHT_SHORT}{}Speed: {VELOCITY} Power: {POWER}{}Running Cost: {CURRENCY_LONG}/yr{}Capacity: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Cost: {CURRENCY_LONG} Weight: {WEIGHT_SHORT}{}Speed: {VELOCITY} Power: {POWER} Max. T.E.: {6:FORCE}{}Running Cost: {4:CURRENCY_LONG}/yr{}Capacity: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Max. Speed: {VELOCITY}{}Capacity: {CARGO_LONG}, {CARGO_LONG}{}Running Cost: {CURRENCY_LONG}/yr -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Max. Speed: {VELOCITY}{}Capacity: {CARGO_LONG}{}Running Cost: {CURRENCY_LONG}/yr -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Cost: {CURRENCY_LONG} Max. Speed: {VELOCITY} Range: {COMMA} tiles{}Capacity: {CARGO_LONG}, {CARGO_LONG}{}Running Cost: {CURRENCY_LONG}/yr -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Max. Speed: {VELOCITY} Range: {COMMA} tiles{}Capacity: {CARGO_LONG}{}Running Cost: {CURRENCY_LONG}/yr +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Max. Speed: {VELOCITY}{}Capacity: {CARGO_LONG}{}Running Cost: {CURRENCY_LONG}/yr +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Max. Speed: {VELOCITY}{}Aircraft type: {STRING}{}Capacity: {CARGO_LONG}, {CARGO_LONG}{}Running Cost: {CURRENCY_LONG}/yr +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Max. Speed: {VELOCITY}{}Aircraft type: {STRING}{}Capacity: {CARGO_LONG}{}Running Cost: {CURRENCY_LONG}/yr +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Max. Speed: {VELOCITY}{}Aircraft type: {STRING} Range: {COMMA} tiles{}Capacity: {CARGO_LONG}, {CARGO_LONG}{}Running Cost: {CURRENCY_LONG}/yr +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Max. Speed: {VELOCITY}{}Aircraft type: {STRING} Range: {COMMA} tiles{}Capacity: {CARGO_LONG}{}Running Cost: {CURRENCY_LONG}/yr # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Replace {STRING} - {STRING} @@ -3657,7 +3664,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} year{P STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} year{P "" s} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Max. speed: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Max. speed: {LTBLUE}{VELOCITY} {BLACK}Range: {LTBLUE}{COMMA} tiles +STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Max. speed: {LTBLUE}{VELOCITY} {BLACK}Aircraft type: {LTBLUE}{STRING} +STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Max. speed: {LTBLUE}{VELOCITY} {BLACK}Aircraft type: {LTBLUE}{STRING} {BLACK}Range: {LTBLUE}{COMMA} tiles STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Weight: {LTBLUE}{WEIGHT_SHORT} {BLACK}Power: {LTBLUE}{POWER}{BLACK} Max. speed: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Weight: {LTBLUE}{WEIGHT_SHORT} {BLACK}Power: {LTBLUE}{POWER}{BLACK} Max. speed: {LTBLUE}{VELOCITY} {BLACK}Max. T.E.: {LTBLUE}{FORCE} diff --git a/src/lang/esperanto.txt b/src/lang/esperanto.txt index a8f8822f8f..502d0b578f 100644 --- a/src/lang/esperanto.txt +++ b/src/lang/esperanto.txt @@ -11,7 +11,7 @@ ##case n -# $Id: esperanto.txt 27777 2017-03-11 16:49:51Z frosch $ +# $Id: esperanto.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -2265,7 +2265,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Kompanie poseda STR_ABOUT_OPENTTD :{WHITE}Pri OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Origina kopirajto {COPYRIGHT} 1995 Chris Sawyer, Ĉiuj rajtoj rezervitaj STR_ABOUT_VERSION :{BLACK}OpenTTD-versio {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 La teamo de OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 La teamo de OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Konservu Ludon @@ -2796,6 +2796,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Forigi ĉiujn v STR_GROUP_RENAME_CAPTION :{BLACK}Alinomi grupon + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Novaj Relaj Veturiloj STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Novaj Elektraj Relaj Veturiloj @@ -2954,8 +2955,7 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :magleva lokomot STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Kosto: {CURRENCY_LONG} Pezo: {WEIGHT_SHORT}{}Rapido: {VELOCITY} Forto: {POWER}{}Irkosto: po {CURRENCY_LONG} jare{}Kapablo: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Kosto: {CURRENCY_LONG} Pezo: {WEIGHT_SHORT}{}Rapido: {VELOCITY} Povo: {POWER} Maks. T.E.: {6:FORCE}{}Irkosto: {4:CURRENCY_LONG}/jaro{}Kapacito: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Kosto: {CURRENCY_LONG} Maks. Rapido: {VELOCITY}{}Kapacito: {CARGO_LONG}, {CARGO_LONG}{}Irkosto: {CURRENCY_LONG}/jaro -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Kosto: {CURRENCY_LONG} Maks. Rapido: {VELOCITY}{}Kapacito: {CARGO_LONG}{}Irkosto: {CURRENCY_LONG}/jaro +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Kosto: {CURRENCY_LONG} Maks. Rapido: {VELOCITY}{}Kapacito: {CARGO_LONG}{}Irkosto: {CURRENCY_LONG}/jaro # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Anstataŭu {STRING.n} - {STRING} diff --git a/src/lang/estonian.txt b/src/lang/estonian.txt index 14979ce0ce..b0c6656d58 100644 --- a/src/lang/estonian.txt +++ b/src/lang/estonian.txt @@ -11,7 +11,7 @@ ##case g in sü -# $Id: estonian.txt 27777 2017-03-11 16:49:51Z frosch $ +# $Id: estonian.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -2745,7 +2745,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Ettevõtte maa STR_ABOUT_OPENTTD :{WHITE}OpenTTD lisainfo STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Algne autorikaitse {COPYRIGHT} 1995 Chris Sawyer, kõik õigused kaitstud STR_ABOUT_VERSION :{BLACK}OpenTTD osa {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 OpenTTD meeskond +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 OpenTTD meeskond # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Mängu salvestamine @@ -3170,8 +3170,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Võtab v STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Näita vastuvõetavate veoste nimistut STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Võtab vastu: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Antud jaamal on eksklusiivsed transpordiõigused selles linnas. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} ostis eksklusiivsed transpordiõigused antud linnas. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Antud jaamal on eksklusiivsed transpordiõigused selles linnas. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} ostis eksklusiivsed transpordiõigused antud linnas. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Hinnangud STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Näita jaamahinnangut @@ -3418,6 +3418,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Eemalda kõik s STR_GROUP_RENAME_CAPTION :{BLACK}Rühma nime vahetamine + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Uued rööbassõidukid STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Uus elektriraudteesõiduk @@ -3582,10 +3583,7 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :magnethõljukve STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Hind: {CURRENCY_LONG} Tühimass: {WEIGHT_SHORT}{}Tippkiirus: {VELOCITY} Võimsus: {POWER}{}Käituskulud: {CURRENCY_LONG}/aastas{}Kandevõime: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Hind: {CURRENCY_LONG} Tühimass: {WEIGHT_SHORT}{}Kiirus: {VELOCITY} Võimsus: {POWER} Veojõud: {6:FORCE}{}Käituskulud: {4:CURRENCY_LONG}/aasta{}Mahutavus: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Hind: {CURRENCY_LONG} Tippkiirus: {VELOCITY}{}Kandevõime: {CARGO_LONG}, {CARGO_LONG}{}Käituskulud: {CURRENCY_LONG}/a -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Hind: {CURRENCY_LONG} Tippkiirus: {VELOCITY}{}Kandevõime: {CARGO_LONG}{}Käituskulud: {CURRENCY_LONG}/a -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Maksumus: {CURRENCY_LONG} Maksimaalne kiirus: {VELOCITY} Tegevusraadius: {COMMA} ruutu{}Mahutavus: {CARGO_LONG}, {CARGO_LONG}{}Kasutamise hind: {CURRENCY_LONG}/aastas -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Maksumus: {CURRENCY_LONG} Maksimaalne kiirus: {VELOCITY} Tegevusraadius: {COMMA} ruutu{}Mahutavus: {CARGO_LONG}{}Kasutamise kulu: {CURRENCY_LONG}/aastas +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Hind: {CURRENCY_LONG} Tippkiirus: {VELOCITY}{}Kandevõime: {CARGO_LONG}{}Käituskulud: {CURRENCY_LONG}/a # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Asenda {STRING} - {STRING} @@ -3707,7 +3705,6 @@ STR_VEHICLE_INFO_AGE :{COMMA} aasta{P STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} aasta{P "" t} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Tippkiirus: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Maksimaalne kiirus: {LTBLUE}{VELOCITY} {BLACK}Tegevusraadius: {LTBLUE}{COMMA} ruutu STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Tühimass: {LTBLUE}{WEIGHT_SHORT} {BLACK}Võimsus: {LTBLUE}{POWER}{BLACK} Tippkiirus: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Tühimass: {LTBLUE}{WEIGHT_SHORT} {BLACK}Võimsus: {LTBLUE}{POWER}{BLACK} Tippkiirus: {LTBLUE}{VELOCITY} {BLACK}Veojõud: {LTBLUE}{FORCE} diff --git a/src/lang/faroese.txt b/src/lang/faroese.txt index 10121bc64a..1f2b0075b9 100644 --- a/src/lang/faroese.txt +++ b/src/lang/faroese.txt @@ -11,7 +11,7 @@ ##gender m f n -# $Id: faroese.txt 27777 2017-03-11 16:49:51Z frosch $ +# $Id: faroese.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -2427,7 +2427,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Ogn hjá fyrit STR_ABOUT_OPENTTD :{WHITE}Um OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Upprunalig upphavsrættindi {COPYRIGHT} 1995 Chris Sawyer, Øll rættindi umbiðin STR_ABOUT_VERSION :{BLACK}OpenTTD útgáva {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 OpenTTD toymi +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 OpenTTD toymi # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Goym spæl @@ -2767,8 +2767,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Tekur í STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Vís lista yvir góðtiknan farm STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Tekur í móti: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Henda støðin hevur flutnings einkarættindi í hesari bygdini. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} keypti flutnings einkarættindi í hesi bygdini. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Henda støðin hevur flutnings einkarættindi í hesari bygdini. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} keypti flutnings einkarættindi í hesi bygdini. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Metingar STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Vís støð metingar @@ -2989,6 +2989,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Bein øll flutn STR_GROUP_RENAME_CAPTION :{BLACK}Navngev ein bólk + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nýggj jarnbreyta flutningstól STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nýggj ravmagns jarnbreyta flutningstól @@ -3141,10 +3142,7 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :maglev lokomoti STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Kostnaður: {CURRENCY_LONG} Vekt: {WEIGHT_SHORT}{}Ferð: {VELOCITY} Megi: {POWER}{}Rakstrar kostnaður: {CURRENCY_LONG}/ár{}Pláss: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Kostnaður: {CURRENCY_LONG} Vekt: {WEIGHT_SHORT}{}Ferð: {VELOCITY} Megi: {POWER} Maks. D.Ó.: {6:FORCE}{}Rakstrar kostnaður: {4:CURRENCY_LONG}/ár{}Pláss: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Kostnaður: {CURRENCY_LONG} Maks. Ferð: {VELOCITY}{}Pláss: {CARGO_LONG}, {CARGO_LONG}{}Rakstrar kostnaður: {CURRENCY_LONG}/ár -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Kostnaður: {CURRENCY_LONG} Maks. Ferð: {VELOCITY}{}Pláss: {CARGO_LONG}{}Rakstrar kostnaður: {CURRENCY_LONG}/ár -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Kostnaður: {CURRENCY_LONG} Maks. Ferð: {VELOCITY} Vídd: {COMMA} puntar{}Pláss: {CARGO_LONG}, {CARGO_LONG}{}Rakstrar kostnaður: {CURRENCY_LONG}/ár -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Kostnaður: {CURRENCY_LONG} Maks. Ferð: {VELOCITY} Vídd: {COMMA} puntar{}Pláss: {CARGO_LONG}{}Rakstrar kostnaður: {CURRENCY_LONG}/ár +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Kostnaður: {CURRENCY_LONG} Maks. Ferð: {VELOCITY}{}Pláss: {CARGO_LONG}{}Rakstrar kostnaður: {CURRENCY_LONG}/ár # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Být um {STRING} - {STRING} @@ -3230,7 +3228,6 @@ STR_VEHICLE_INFO_AGE :{COMMA} ár ({C STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} ár ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Maks. ferð: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Maks. ferð: {LTBLUE}{VELOCITY} {BLACK}Vídd: {LTBLUE}{COMMA} puntar STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Vekt: {LTBLUE}{WEIGHT_SHORT} {BLACK}Megi: {LTBLUE}{POWER}{BLACK} Maks. ferð: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Vekt: {LTBLUE}{WEIGHT_SHORT} {BLACK}Megi: {LTBLUE}{POWER}{BLACK} Maks. ferð: {LTBLUE}{VELOCITY} {BLACK}Maks. D.Ó.: {LTBLUE}{FORCE} diff --git a/src/lang/finnish.txt b/src/lang/finnish.txt index 8afa6ab6ab..645340ee9f 100644 --- a/src/lang/finnish.txt +++ b/src/lang/finnish.txt @@ -10,7 +10,7 @@ ##grflangid 0x35 -# $Id: finnish.txt 27941 2017-12-11 19:50:30Z frosch $ +# $Id: finnish.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -1372,6 +1372,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Pois STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Vasemmalla hiiren painikkeella liikkuminen: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Salli näkymän siirtäminen vetämällä hiiren vasemmalla näppäimellä. Hyödyllinen erityisesti kosketusnäyttöä käytettäessä +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Sulje ikkuna hiiren oikealla painikkeella napsauttamalla: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Ikkunat sulkeutuvat, kun niitä napsautetaan hiiren oikealla painikkeella. Tämä korvaa tavallisesti näkyvän työkaluvihjeen! STR_CONFIG_SETTING_AUTOSAVE :Automaattitallennus: {STRING} STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Valitse aikaväli automaattisille pelitallennuksille @@ -2689,7 +2691,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Yhtiön omistam STR_ABOUT_OPENTTD :{WHITE}Tietoja OpenTTD:stä STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Alkuperäiset oikeudet {COPYRIGHT} 1995 Chris Sawyer, kaikki oikeudet pidätetään STR_ABOUT_VERSION :{BLACK}OpenTTD-versio {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 The OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 The OpenTTD team # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Tallenna peli @@ -3114,8 +3116,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Ottaa va STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Näytä luettelo vastaanotettavasta rahdista. STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Vastaanottaa: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Tällä asemalla on kuljetusyksinoikeus tässä kaupungissa. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} osti tämän kaupungin kuljetusyksinoikeuden. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Tällä asemalla on kuljetusyksinoikeus tässä kaupungissa. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} osti tämän kaupungin kuljetusyksinoikeuden. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Arviot STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Näytä aseman arviot. @@ -3294,9 +3296,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Tarvitse STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Tarvitsee: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING} ############ range for requires ends -STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Tarvitsee -STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}odottamassa +STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Tarvitsee: +STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} odottamassa{STRING} ############ range for produces starts STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Tuottaa: {YELLOW}{STRING}{STRING} @@ -3365,6 +3367,10 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Poista kaikki a STR_GROUP_RENAME_CAPTION :{BLACK}Nimeä ryhmä +STR_GROUP_PROFIT_THIS_YEAR :Tuotto tänä vuonna: +STR_GROUP_PROFIT_LAST_YEAR :Tuotto viime vuonna: +STR_GROUP_OCCUPANCY_VALUE :{NUM} % + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Uusi juna STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Uusi sähköjuna @@ -3396,6 +3402,7 @@ STR_PURCHASE_INFO_ALL_TYPES :Kaikki rahtityy STR_PURCHASE_INFO_ALL_BUT :Kaikki paitsi {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Suurin vetovoima: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Toimintasäde: {GOLD}{COMMA} ruutua +STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Lentokonetyyppi: {GOLD}{STRING} STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Junien valintaluettelo. Lisää tietoja junaa napsauttamalla. Ctrl+Klik näyttää tai piilottaa kulkuneuvon tyypin STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Ajoneuvojen valintaluettelo. Napsauta ajoneuvoa saadaksesi lisää tietoja. Ctrl+Klik näyttää tai piilottaa ajoneuvon tyypin @@ -3529,10 +3536,11 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :maglev-veturin STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Hinta: {CURRENCY_LONG} Paino: {WEIGHT_SHORT}{}Nopeus: {VELOCITY} Teho: {POWER}{}Käyttökustannukset: {CURRENCY_LONG}/vuosi{}Kapasiteetti: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Hinta: {CURRENCY_LONG} Paino: {WEIGHT_SHORT}{}Nopeus: {VELOCITY} Teho: {POWER} Maks. vetovoima: {6:FORCE}{}Käyttökustannukset: {4:CURRENCY_LONG}/v{}Kapasiteetti: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Hinta: {CURRENCY_LONG} Maks. Nopeus: {VELOCITY}{}Kapasiteetti: {CARGO_LONG}, {CARGO_LONG}{}Käyttökustannukset: {CURRENCY_LONG}/yr -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Hinta: {CURRENCY_LONG} Maks. Nopeus: {VELOCITY}{}Kapasiteetti: {CARGO_LONG}{}Käyttökustannukset: {CURRENCY_LONG}/yr -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Hinta: {CURRENCY_LONG} Suurin nopeus: {VELOCITY} Toimintasäde: {COMMA} ruutua{}Kapasiteetti: {CARGO_LONG}, {CARGO_LONG}{}Käyttökustannukset: {CURRENCY_LONG}/vuosi -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Hinta: {CURRENCY_LONG} Suurin nopeus: {VELOCITY} Toimintasäde: {COMMA} ruutua{}Kapasiteetti: {CARGO_LONG}{}Käyttökustannukset: {CURRENCY_LONG}/vuosi +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Hinta: {CURRENCY_LONG} Maks. nopeus: {VELOCITY}{}Kapasiteetti: {CARGO_LONG}{}Käyttökustannukset: {CURRENCY_LONG}/v +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Hinta: {CURRENCY_LONG} Maks. nopeus: {VELOCITY}{}Lentokonetyyppi: {STRING}{}Kapasiteetti: {CARGO_LONG}, {CARGO_LONG}{}Käyttökustannukset: {CURRENCY_LONG}/v +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Hinta: {CURRENCY_LONG} Maks. nopeus: {VELOCITY}{}Lentokonetyyppi: {STRING}{}Kapasiteetti: {CARGO_LONG}{}Käyttökustannukset: {CURRENCY_LONG}/v +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Hinta: {CURRENCY_LONG} Maks. nopeus: {VELOCITY}{}Lentokonetyyppi: {STRING} Toimintamatka: {COMMA} ruutua{}Kapasiteetti: {CARGO_LONG}, {CARGO_LONG}{}Käyttökustannukset: {CURRENCY_LONG}/v +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Hinta: {CURRENCY_LONG} Maks. nopeus: {VELOCITY}{}Lentokonetyyppi: {STRING} Toimintamatka: {COMMA} ruutua{}Kapasiteetti: {CARGO_LONG}{}Käyttökustannukset: {CURRENCY_LONG}/v # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Korvaa {STRING} - {STRING} @@ -3655,7 +3663,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} vuo{P s STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} vuo{P si tta} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Huippunopeus: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Suurin nopeus: {LTBLUE}{VELOCITY} {BLACK}Toimintasäde: {LTBLUE}{COMMA} ruutua +STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Maks. nopeus: {LTBLUE}{VELOCITY} {BLACK}Lentokonetyyppi: {LTBLUE}{STRING} +STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Maks. nopeus: {LTBLUE}{VELOCITY} {BLACK}Lentokonetyyppi: {LTBLUE}{STRING} {BLACK}Toimintamatka: {LTBLUE}{COMMA} ruutua STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Paino: {LTBLUE}{WEIGHT_SHORT} {BLACK}Teho: {LTBLUE}{POWER}{BLACK} Maks. nopeus: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Paino: {LTBLUE}{WEIGHT_SHORT} {BLACK}Teho: {LTBLUE}{POWER}{BLACK} Maks. nopeus: {LTBLUE}{VELOCITY} {BLACK}Maks. T.E.: {LTBLUE}{FORCE} diff --git a/src/lang/french.txt b/src/lang/french.txt index f773b29f3b..e6df9662a2 100644 --- a/src/lang/french.txt +++ b/src/lang/french.txt @@ -11,7 +11,7 @@ ##gender m m2 f -# $Id: french.txt 27777 2017-03-11 16:49:51Z frosch $ +# $Id: french.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -1373,6 +1373,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Désactivé STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Défilement par clic gauche{NBSP}: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Active le défilement de la carte en la glissant avec le bouton gauche de la souris. C'est surtout utile pour les écrans tactiles +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Fermer une fenêtre en cliquant droit{NBSP}: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Fermer une fenêtre en cliquant droit à l’intérieur de celle-ci. Désactive l'infobulle sur clic droit{NBSP}! STR_CONFIG_SETTING_AUTOSAVE :Sauvegarde automatique{NBSP}: {STRING} STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Sélectionner l'intervalle de temps entre les sauvegardes automatiques @@ -2690,7 +2692,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terrain apparte STR_ABOUT_OPENTTD :{WHITE}À propos de OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer, Tous droits réservés STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 L'équipe OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 L'équipe OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Sauvegarder la partie @@ -3115,8 +3117,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Accepte STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Afficher les marchandises acceptées STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Accepte{NBSP}: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Cette station a les droits de transport exclusifs dans cette ville. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} a acheté les droits de transport exclusifs dans cette ville. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Cette station a les droits de transport exclusifs dans cette ville. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} a acheté les droits de transport exclusifs dans cette ville. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Qualité STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Afficher la qualité de service de la station @@ -3295,11 +3297,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Nécessi STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Nécessite{NBSP}: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING} ############ range for requires ends -STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Nécessite -STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}en attente -STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING} +STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Nécessite{NBSP}: +STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}{NBSP}: {CARGO_SHORT} en attente{STRING} ############ range for produces starts STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produit{NBSP}: {YELLOW}{STRING}{STRING} @@ -3368,6 +3368,11 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Retirer tous le STR_GROUP_RENAME_CAPTION :{BLACK}Renommer un groupe +STR_GROUP_PROFIT_THIS_YEAR :Profit cette année{NBSP}: +STR_GROUP_PROFIT_LAST_YEAR :Profit l'année précédente{NBSP}: +STR_GROUP_OCCUPANCY :Utilisation actuelle{NBSP}: +STR_GROUP_OCCUPANCY_VALUE :{NUM}% + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nouveaux véhicules ferroviaires STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nouveaux véhicules ferroviaires électriques @@ -3399,6 +3404,7 @@ STR_PURCHASE_INFO_ALL_TYPES :Tous les types STR_PURCHASE_INFO_ALL_BUT :Tous sauf {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Effort de traction max.{NBSP}: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Rayon d'action{NBSP}: {GOLD}{COMMA}{NBSP}cases +STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Type d'aéronef{NBSP}: {GOLD}{STRING} STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Choix du véhicule. Cliquer sur un véhicule pour obtenir des informations. Ctrl-clic pour basculer le masquage du type de véhicule STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Choix du véhicule routier. Cliquer sur un véhicule pour obtenir des informations. Ctrl-clic pour basculer le masquage du type de véhicule @@ -3532,10 +3538,11 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :{G=f}locomotive STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Prix{NBSP}: {CURRENCY_LONG} − Poids{NBSP}: {WEIGHT_SHORT}{}Vitesse{NBSP}: {VELOCITY} − Puissance{NBSP}: {POWER}{}Coûts d'entretien{NBSP}: {CURRENCY_LONG}/an{}Capacité{NBSP}: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Prix{NBSP}: {CURRENCY_LONG} − Poids{NBSP}: {WEIGHT_SHORT}{}Vitesse{NBSP}: {VELOCITY} − Puissance{NBSP}: {POWER}{}Effort de traction max.{NBSP}: {6:FORCE}{}Coûts d'entretien{NBSP}: {4:CURRENCY_LONG}/an{}Capacité{NBSP}: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Prix{NBSP}: {CURRENCY_LONG} − Vitesse max.{NBSP}: {VELOCITY}{}Capacité{NBSP}: {CARGO_LONG}, {CARGO_LONG}{}Coûts d'entretien{NBSP}: {CURRENCY_LONG}/an -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Prix{NBSP}: {CURRENCY_LONG} − Vitesse max.{NBSP}: {VELOCITY}{}Capacité{NBSP}: {CARGO_LONG}{}Coûts d'entretien{NBSP}: {CURRENCY_LONG}/an -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Coût{NBSP}: {CURRENCY_LONG} − Vitesse max.{NBSP}: {VELOCITY} − Rayon d'action{NBSP}: {COMMA} cases{}Capacité{NBSP}: {CARGO_LONG}, {CARGO_LONG}{}Coûts d'entretien{NBSP}: {CURRENCY_LONG}/an -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Coût{NBSP}: {CURRENCY_LONG} − Vitesse max.{NBSP}: {VELOCITY} − Rayon d'action{NBSP}: {COMMA} cases{}Capacité{NBSP}: {CARGO_LONG}{}Coûts d'entretien{NBSP}: {CURRENCY_LONG}/an +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Prix{NBSP}: {CURRENCY_LONG} − Vitesse max.{NBSP}: {VELOCITY}{}Capacité{NBSP}: {CARGO_LONG}{}Coûts d'entretien{NBSP}: {CURRENCY_LONG}/an +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Prix{NBSP}: {CURRENCY_LONG} - Vitesse max.{NBSP}: {VELOCITY}{}Type d'aéronef{NBSP}: {STRING}{}Capacité{NBSP}: {CARGO_LONG}, {CARGO_LONG}{}Coûts d'entretien{NBSP}: {CURRENCY_LONG}/an +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Prix{NBSP}: {CURRENCY_LONG} - Vitesse max.{NBSP}: {VELOCITY}{}Type d'aéronef{NBSP}: {STRING}{}Capacité{NBSP}: {CARGO_LONG}{}Coûts d'entretien{NBSP}: {CURRENCY_LONG}/an +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Prix{NBSP}: {CURRENCY_LONG} - Vitesse max.{NBSP}: {VELOCITY}{}Type d'aéronef{NBSP}: {STRING} - Rayon d'action{NBSP}: {COMMA} cases{}Capacité{NBSP}: {CARGO_LONG}, {CARGO_LONG}{}Coûts d'entretien{NBSP}: {CURRENCY_LONG}/an +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Prix{NBSP}: {CURRENCY_LONG} - Vitesse max.{NBSP}: {VELOCITY}{}Type d'aéronef{NBSP}: {STRING} - Rayon d'action{NBSP}: {COMMA} cases{}Capacité{NBSP}: {CARGO_LONG}{}Coûts d'entretien{NBSP}: {CURRENCY_LONG}/an # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Remplacer {STRING} - {STRING} @@ -3658,7 +3665,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} an{P "" STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} an{P "" nées} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Vitesse max.{NBSP}: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Vitesse max.{NBSP}: {LTBLUE}{VELOCITY}{BLACK} − Rayon d'action{NBSP}: {LTBLUE}{COMMA} cases +STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Vitesse max.{NBSP}: {LTBLUE}{VELOCITY}{BLACK} - Type d'aéronef{NBSP}: {LTBLUE}{STRING} +STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Vitesse max.{NBSP}: {LTBLUE}{VELOCITY}{BLACK} - Type d'aéronef{NBSP}: {LTBLUE}{STRING}{BLACK} - Rayon d'action{NBSP}: {LTBLUE}{COMMA} cases STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Poids{NBSP}: {LTBLUE}{NBSP}{WEIGHT_SHORT} − {BLACK}Puissance{NBSP}: {LTBLUE}{NBSP}{POWER}{BLACK} − Vitesse max.{NBSP}: {LTBLUE}{NBSP}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Poids{NBSP}: {LTBLUE}{WEIGHT_SHORT}{BLACK} − Puissance{NBSP}: {LTBLUE}{POWER}{BLACK} − Vitesse max.{NBSP}: {LTBLUE}{VELOCITY}{BLACK} − E.T. max.{NBSP}: {LTBLUE}{FORCE} diff --git a/src/lang/gaelic.txt b/src/lang/gaelic.txt index f07b2ed526..d91fef5cad 100644 --- a/src/lang/gaelic.txt +++ b/src/lang/gaelic.txt @@ -12,7 +12,7 @@ ##case nom gen dat voc -# $Id: gaelic.txt 27941 2017-12-11 19:50:30Z frosch $ +# $Id: gaelic.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -1574,6 +1574,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Dheth STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Sgroladh le briogadh clì: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Cuir an comas gun tèid am mapa a sgroladh le slaodadh le putan clì na luchaige. Tha seo feumail gu h-àraidh nuair a chleachdas tu sgrìn-shuathaidh airson sgroladh +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Dùin an uinneag le briogadh deas: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Dùinidh seo uinneag le briogadh deas ’na broinn. Cuiridh e à comas an gliocas-sgrìn le briogadh deas! STR_CONFIG_SETTING_AUTOSAVE :Fèin-sàbhaladh: {STRING} STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Tagh dè cho tric ’s a thèid geamannan a shàbhaladh gu fèin-obrachail @@ -2930,7 +2932,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Tìr a' chompan STR_ABOUT_OPENTTD :{WHITE}Mu dheidhinn OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Còir-lethbhreac tùsail {COPYRIGHT} 1995 Chris Sawyer, a h-uile còir glèidhte STR_ABOUT_VERSION :{BLACK}OpenTTD tionndadh {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 An sgioba OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 An sgioba OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Sàbhail an geama @@ -3355,8 +3357,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Na ghabh STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Seall liosta a' charago a thèid a ghabhail ris STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Gabhar ri: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Tha còirichean giùlain às-dùnach aig an stèisean seo sa bhaile seo. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{BLACK}Cheannaich {YELLOW}{COMPANY}{BLACK} còirichean giùlain às-dùnach sa bhaile seo. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Tha còirichean giùlain às-dùnach aig an stèisean seo sa bhaile seo. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{BLACK}Cheannaich {YELLOW}{COMPANY}{BLACK} còirichean giùlain às-dùnach sa bhaile seo. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Rangachaidhean STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Seall rangachaidhean nan stèiseanan @@ -3535,11 +3537,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Feum air STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Feum air: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING} ############ range for requires ends -STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Feum air -STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}a' feitheamh -STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING} +STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Feum air: +STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} a' feitheamh{STRING} ############ range for produces starts STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Toradh: {YELLOW}{STRING}{STRING} @@ -3608,6 +3608,11 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Thoir a h-uile STR_GROUP_RENAME_CAPTION :{BLACK}Thoir ainm ùr air buidheann +STR_GROUP_PROFIT_THIS_YEAR :Prothaid am bliadhna: +STR_GROUP_PROFIT_LAST_YEAR :Prothaid an-uiridh: +STR_GROUP_OCCUPANCY :Cleachdadh an-dràsta: +STR_GROUP_OCCUPANCY_VALUE :{NUM}% + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Carbadan-rèile ùra STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Carbadan-rèile dealain ùra @@ -3639,6 +3644,7 @@ STR_PURCHASE_INFO_ALL_TYPES :Na h-uile seòr STR_PURCHASE_INFO_ALL_BUT :Na h-uile ach {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Spàirn tàirnge as motha: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Astar: {GOLD}{COMMA} {P leac leac leacan leac} +STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Seòrsa a' charbaid-adhair: {GOLD}{STRING} STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Liosta airson carbadan-rèile a thaghadh. Briog air carbad airson fiosrachaidh. Ctrl+briog gus toglachadh an tèid seòrsa a’ charbaid fhalach gus nach tèid STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Liosta airson carbadan-rathaid a thaghadh. Briog air carbad airson fiosrachaidh. Ctrl+briog gus toglachadh an tèid seòrsa a’ charbaid fhalach gus nach tèid @@ -3772,10 +3778,11 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :einnsean magnai STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Cosgais: {CURRENCY_LONG} Cuideam: {WEIGHT_SHORT}{}Luaths: {VELOCITY} Cumhachd: {POWER}{}Cosgaisean ruith: {CURRENCY_LONG}/bliadhna{}Tomhas-lìonaidh: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Cosgais: {CURRENCY_LONG} Cuideam: {WEIGHT_SHORT}{}Luaths: {VELOCITY} Cumhachd: {POWER} Neart: {6:FORCE}{}Cosgaisean ruith: {4:CURRENCY_LONG}/bliadhna{}Tomhas-lìonaidh: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Cosgais: {CURRENCY_LONG} Luaths as motha: {VELOCITY}{}Tomhas-lìonaidh: {CARGO_LONG}, {CARGO_LONG}{}Cosgaisean ruith: {CURRENCY_LONG}/bliadhna -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Cosgais: {CURRENCY_LONG} Luaths as motha: {VELOCITY}{}Tomhas-lìonaidh: {CARGO_LONG}{}Cosgaisean ruith: {CURRENCY_LONG}/bliadhna -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Cosgais: {CURRENCY_LONG} Luaths as motha: {VELOCITY} Astar: {COMMA} leacan{}Tomhas-lìonaidh: {CARGO_LONG}, {CARGO_LONG}{}Cosgaisean ruith: {CURRENCY_LONG}/bliadhna -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Cosgais: {CURRENCY_LONG} Luaths as motha: {VELOCITY} Astar: {COMMA} leacan{}Tomhas-lìonaidh: {CARGO_LONG}{}Cosgaisean ruith: {CURRENCY_LONG}/bliadhna +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Cosgais: {CURRENCY_LONG} Luaths as motha: {VELOCITY}{}Tomhas-lìonaidh: {CARGO_LONG}{}Cosgaisean ruith: {CURRENCY_LONG}/bliadhna +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Cogais: {CURRENCY_LONG} Luaths as motha: {VELOCITY}{}Seòrsa carbaid-adhair: {STRING}{}Tomhas-lìonaidh: {CARGO_LONG}, {CARGO_LONG}{}Cosgaisean ruith: {CURRENCY_LONG}/bliadhna +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Cogais: {CURRENCY_LONG} Astar as motha: {VELOCITY}{}Seòrsa carbaid-adhair: {STRING}{}Tomhas-lìonaidh: {CARGO_LONG}{}Cosgaisean ruith: {CURRENCY_LONG}/bliadhna +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Cogais: {CURRENCY_LONG} Luaths as motha: {VELOCITY}{}Seòrsa carbaid-adhair: {STRING} Astar: {COMMA} {P leacag leacag leacagan leacag}{}Tomhas-lìonaidh: {CARGO_LONG}, {CARGO_LONG}{}Cosgaisean ruith: {CURRENCY_LONG}/bliadhna +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Cosgais: {CURRENCY_LONG} Astar as motha: {VELOCITY}{}Seòrsa carbaid-adhair: {STRING} Astar: {COMMA} {P leacag leacag leacagan leacag}{}Capacity: {CARGO_LONG}{}Cosgaisean ruith: {CURRENCY_LONG}/bliadhna # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Leasaich {STRING} - {STRING} @@ -3898,7 +3905,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} {P bhli STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} {P bhliadhna bhliadhna bliadhna bliadhna} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Luaths as motha: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Luaths as motha: {LTBLUE}{VELOCITY} {BLACK}Astar: {LTBLUE}{COMMA} {P leac leac leacan leac} +STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Luaths as motha: {LTBLUE}{VELOCITY} {BLACK}Seòrsa carbaid-adhair: {LTBLUE}{STRING} +STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Luaths as motha: {LTBLUE}{VELOCITY} {BLACK}Seòrsa carbaid-adhair: {LTBLUE}{STRING} {BLACK}Astar: {LTBLUE}{COMMA} {P leacag leacag leacagan leacag} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Cuideam: {LTBLUE}{WEIGHT_SHORT} {BLACK}Cumhachd: {LTBLUE}{POWER}{BLACK} Luaths as motha: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Cuideam: {LTBLUE}{WEIGHT_SHORT} {BLACK}Cumhachd: {LTBLUE}{POWER}{BLACK} Luaths as motha: {LTBLUE}{VELOCITY} {BLACK}Neart as motha: {LTBLUE}{FORCE} diff --git a/src/lang/galician.txt b/src/lang/galician.txt index 3db42a79bc..2504d9db48 100644 --- a/src/lang/galician.txt +++ b/src/lang/galician.txt @@ -11,7 +11,7 @@ ##gender m f n -# $Id: galician.txt 27941 2017-12-11 19:50:30Z frosch $ +# $Id: galician.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -1373,6 +1373,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Apagado STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Desprazamento con click esquerdo: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Habilitar o desprazamento do mapa arrastrándoo co botón esquerdo do rato. Isto é especialmente útil se se emprega unha pantalla táctil para desprazarse +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Pechar a fiestra con click dereito: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Pecha a fiestra facendo botón dereito dentro de ela. Deshabilita a axuda contextual facendo click-dereito! STR_CONFIG_SETTING_AUTOSAVE :Autogravado: {STRING} STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Selecciona o intervalo entre gravados automáticos das partidas @@ -2690,7 +2692,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terreo propieda STR_ABOUT_OPENTTD :{WHITE}Acerca de OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright orixinal {COPYRIGHT} 1995 Chris Sawyer, Tódolos dereitos reservados STR_ABOUT_VERSION :{BLACK}OpenTTD versión {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 O equipo de OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 O equipo de OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Gravar partida @@ -3115,8 +3117,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Acepta STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Mostrar a lista da carga aceptada STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Acepta: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Esta estación ten dereitos de transporte exclusivos nesta cidade. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} comprou a exclusiva de dereitos de transporte nesta cidade. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Esta estación ten dereitos de transporte exclusivos nesta cidade. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} comprou a exclusiva de dereitos de transporte nesta cidade. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Puntuacións: STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Mostra-las puntuacións da estación @@ -3295,11 +3297,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Require: STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Require: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING} ############ range for requires ends -STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Require -STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}agardando -STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING} +STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Require: +STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} agardando{STRING} ############ range for produces starts STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produce: {YELLOW}{STRING}{STRING} @@ -3368,6 +3368,11 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Borrar tódolos STR_GROUP_RENAME_CAPTION :{BLACK}Renomear un grupo +STR_GROUP_PROFIT_THIS_YEAR :Beneficio este ano: +STR_GROUP_PROFIT_LAST_YEAR :Beneficio do último ano: +STR_GROUP_OCCUPANCY :Uso actual: +STR_GROUP_OCCUPANCY_VALUE :{NUM}% + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Novos vehículos ferroviarios STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Novos vehículos ferroviarios eléctricos @@ -3399,6 +3404,7 @@ STR_PURCHASE_INFO_ALL_TYPES :Tódolos tipos STR_PURCHASE_INFO_ALL_BUT :Todos excepto {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Esforzo máximo de tracción: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Autonomía: {GOLD}{COMMA} cadros +STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Tipo de aeronave: {GOLD}{STRING} STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Lista de selección de vehículos ferroviarios - pincha nun vehículo para obter información STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Lista de selección de vehículos de estrada - pincha nun vehículo para obter información @@ -3532,10 +3538,11 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :locomotora de m STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Custo: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Velocidade: {VELOCITY} Potencia: {POWER}{}Custo operativo: {CURRENCY_LONG}/ano{}Capacidade: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Custo: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Velocidade: {VELOCITY} Potencia: {POWER} Esforzo tractor máximo: {6:FORCE}{}Custo operativo: {4:CURRENCY_LONG}/ano{}Capacidade: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Custo: {CURRENCY_LONG} Velocidade máxima: {VELOCITY}{}Capacidade: {CARGO_LONG}, {CARGO_LONG}{}Custo operativo: {CURRENCY_LONG}/ano -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Custo: {CURRENCY_LONG} Velocidade máxima: {VELOCITY}{}Capacidade: {CARGO_LONG}{}Custo operativo: {CURRENCY_LONG}/ano -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Custo: {CURRENCY_LONG} Velocidade máxima: {VELOCITY} Autonomía: {COMMA} cadros{}Capacidade: {CARGO_LONG}, {CARGO_LONG}{}Custo operativo: {CURRENCY_LONG}/ano -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Custo: {CURRENCY_LONG} Velocidade máxima: {VELOCITY} Autonomía: {COMMA} cadros{}Capacidade: {CARGO_LONG}{}Custo operativo: {CURRENCY_LONG}/ano +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Custo: {CURRENCY_LONG} Velocidade máxima: {VELOCITY}{}Capacidade: {CARGO_LONG}{}Custo operativo: {CURRENCY_LONG}/ano +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Custo: {CURRENCY_LONG} Vel. Máxima: {VELOCITY}{}Tipo aeronave: {STRING}{}Capacidade: {CARGO_LONG}, {CARGO_LONG}{}Custo operativo: {CURRENCY_LONG}/ano +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Custo: {CURRENCY_LONG} Vel. Máxima: {VELOCITY}{}Tipo aeronave: {STRING}{}Capacidade: {CARGO_LONG}{}Custo operativo: {CURRENCY_LONG}/ano +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Custo: {CURRENCY_LONG} Vel. Máxima: {VELOCITY}{}Tipo aeronave: {STRING} Distancia: {COMMA} tiles{}Capacidade: {CARGO_LONG}, {CARGO_LONG}{}Custo operativo: {CURRENCY_LONG}/ano +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Custo: {CURRENCY_LONG} Vel. Máxima: {VELOCITY}{}Tipo Aeronave: {STRING} Autonomía: {COMMA} tiles{}Capacidade: {CARGO_LONG}{}Custo Operativo: {CURRENCY_LONG}/ano # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Substituír {STRING} - {STRING} @@ -3658,7 +3665,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} ano{P " STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} ano{P "" s} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Velocidade máxima: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Velocidade máxima: {LTBLUE}{VELOCITY} {BLACK}Autonomía: {LTBLUE}{COMMA} cadros +STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Vel. máxima: {LTBLUE}{VELOCITY} {BLACK}Tipo de aeronave: {LTBLUE}{STRING} +STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Vel. máxima: {LTBLUE}{VELOCITY} {BLACK}Tipo de aeronave: {LTBLUE}{STRING} {BLACK}Alcance: {LTBLUE}{COMMA} cadros STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potencia: {LTBLUE}{POWER}{BLACK} Velocidade máxima: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potencia: {LTBLUE}{POWER}{BLACK} Velocidade máxima: {LTBLUE}{VELOCITY} {BLACK}T.E. máx.: {LTBLUE}{FORCE} diff --git a/src/lang/german.txt b/src/lang/german.txt index b812cd93db..e1f33bdb6d 100644 --- a/src/lang/german.txt +++ b/src/lang/german.txt @@ -11,7 +11,7 @@ ##gender m w n p -# $Id: german.txt 27941 2017-12-11 19:50:30Z frosch $ +# $Id: german.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -1373,6 +1373,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Aus STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Scrollen mit linker Maustaste: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Scrolle die Karte, indem mit der linken Maustaste gezogen wird. Dies ist besonders sinnvoll, wenn ein Touchscreen zum Scrollen genutzt wird +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Fenster mit Rechtsklick schließen: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Schließt ein Fenster mittels Rechts-Klick. Schaltet Tooltip mit Rechts-Klick ab! STR_CONFIG_SETTING_AUTOSAVE :Autosave: {STRING} STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Wähle das Interval zwischen automatischen Speicherungen @@ -2690,7 +2692,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Firmeneigenes G STR_ABOUT_OPENTTD :{WHITE}OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Transport Tycoon-Urheberrecht {COPYRIGHT} 1995 Chris Sawyer, alle Rechte vorbehalten STR_ABOUT_VERSION :{BLACK}OpenTTD-Version {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 OpenTTD-Team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 OpenTTD-Team # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spiel speichern @@ -3115,8 +3117,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Angenomm STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Zeige Liste der angenommenen Frachtarten STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Nimmt an: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Diese Station hat in der zugehörigen Stadt exklusive Transportrechte . -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} hat die exklusiven Transportrechte in dieser Stadt erworben. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Diese Station hat in der zugehörigen Stadt exklusive Transportrechte . +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} hat die exklusiven Transportrechte in dieser Stadt erworben. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Bewertung STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Stationsbewertung anzeigen @@ -3295,11 +3297,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Benötig STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Benötigt: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING} ############ range for requires ends -STR_INDUSTRY_VIEW_REQUIRES :{BLACK}benötigt -STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}wartend -STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING} +STR_INDUSTRY_VIEW_REQUIRES :{BLACK}benötigt: +STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} wartend{STRING} ############ range for produces starts STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produziert: {YELLOW}{STRING}{STRING} @@ -3368,6 +3368,11 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Liste leeren STR_GROUP_RENAME_CAPTION :{BLACK}Gruppe umbenennen +STR_GROUP_PROFIT_THIS_YEAR :Gewinn in diesem Jahr: +STR_GROUP_PROFIT_LAST_YEAR :Gewinn im letzten Jahr: +STR_GROUP_OCCUPANCY :Aktuelle Nutzung: +STR_GROUP_OCCUPANCY_VALUE :{NUM}% + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Neue Schienenfahrzeuge STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Neue elektrische Schienenfahrzeuge @@ -3399,6 +3404,7 @@ STR_PURCHASE_INFO_ALL_TYPES :Alle Frachtarte STR_PURCHASE_INFO_ALL_BUT :Alles außer {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Max. Zugkraft: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Reichweite: {GOLD}{COMMA} Felder +STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Flugzeugtyp: {GOLD}{STRING} STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Schienenfahrzeugsliste - Einzelheiten durch Anklicken des Fahrzeuges. Strg+Klick schaltet um zwischen Verstecken und Zeigen des Fahrzeugtyps STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Straßenfahrzeugsliste - Klicke auf ein Fahrzeug für Einzelheiten. Strg+Klick schaltet um zwischen Verstecken und Zeigen des Fahrzeugtyps @@ -3532,10 +3538,11 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :{G=w}Magnetschw STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Kosten: {CURRENCY_LONG} Gewicht: {WEIGHT_SHORT}{}Geschwindigk.: {VELOCITY} Leistung: {POWER}{}Betriebskosten: {CURRENCY_LONG} pro Jahr{}Kapazität: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Preis: {CURRENCY_LONG} Gewicht: {WEIGHT_SHORT}{}Max. Geschwindigkeit: {VELOCITY} Leistung: {POWER} Max. Zugkraft: {6:FORCE}{}Betriebskosten: {4:CURRENCY_LONG}/yr{}Kapazität: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Preis: {CURRENCY_LONG} Höchstgeschw.: {VELOCITY}{}Kapazität: {CARGO_LONG}, {CARGO_LONG}{}Betriebskosten: {CURRENCY_LONG}/yr -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Preis: {CURRENCY_LONG} Höchstgeschw.: {VELOCITY}{}Kapazität: {CARGO_LONG}{}Betriebskosten: {CURRENCY_LONG}/Jahr -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Kosten: {CURRENCY_LONG} Höchstgeschwindigkeit: {VELOCITY} Reichweite: {COMMA} Felder{}Kapazität: {CARGO_LONG}, {CARGO_LONG}{}Betriebskosten: {CURRENCY_LONG}/a -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Kosten: {CURRENCY_LONG} Höchstgeschwindigkeit: {VELOCITY} Reichweite: {COMMA} Felder{}Kapazität: {CARGO_LONG}{}Betriebskosten: {CURRENCY_LONG}/a +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Preis: {CURRENCY_LONG} Höchstgeschw.: {VELOCITY}{}Kapazität: {CARGO_LONG}{}Betriebskosten: {CURRENCY_LONG}/Jahr +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Kosten: {CURRENCY_LONG} Max. Geschw.: {VELOCITY}{}Flugzeugtyp: {STRING}{}Kapazität: {CARGO_LONG}, {CARGO_LONG}{}Betriebskosten: {CURRENCY_LONG}/Jahr +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Kosten: {CURRENCY_LONG} Max. Geschw.: {VELOCITY}{}Flugzeugtyp: {STRING}{}Kapazität: {CARGO_LONG}{}Betriebskosten: {CURRENCY_LONG}/Jahr +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Kosten: {CURRENCY_LONG} Max. Geschw.: {VELOCITY}{}Flugzeugtyp: {STRING} Reichweite: {COMMA} Felder{}Capacity: {CARGO_LONG}, {CARGO_LONG}{}Betriebskosten: {CURRENCY_LONG}/Jahr +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Kosten: {CURRENCY_LONG} Max. Geschw.: {VELOCITY}{}Flugzeugtyp: {STRING} Reichweite: {COMMA} tiles{}Kapazität: {CARGO_LONG}{}Laufende Kosten: {CURRENCY_LONG}/yr # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}{STRING} ersetzen - {STRING} @@ -3658,7 +3665,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} Jahr{P STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} Jahr{P "" e} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Max. Geschw.: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Max. Geschwindigkeit: {LTBLUE}{VELOCITY} {BLACK}Reichweite: {LTBLUE}{COMMA} Felder +STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Max. Geschw.: {LTBLUE}{VELOCITY} {BLACK}Flugzeugtyp: {LTBLUE}{STRING} +STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Max. Geschw.: {LTBLUE}{VELOCITY} {BLACK}Flugzeugtyp: {LTBLUE}{STRING} {BLACK}Reichweite: {LTBLUE}{COMMA} Felder STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Gewicht: {LTBLUE}{WEIGHT_SHORT} {BLACK}Leistung: {LTBLUE}{POWER}{BLACK} Max. Geschw.: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Gewicht: {LTBLUE}{WEIGHT_SHORT} {BLACK}Leistung: {LTBLUE}{POWER}{BLACK} Max. Geschw.: {LTBLUE}{VELOCITY} {BLACK}Max. Zugkraft: {LTBLUE}{FORCE} diff --git a/src/lang/greek.txt b/src/lang/greek.txt index a95caf1c1f..b6984220e1 100644 --- a/src/lang/greek.txt +++ b/src/lang/greek.txt @@ -12,7 +12,7 @@ ##case subs date geniki -# $Id: greek.txt 27941 2017-12-11 19:50:30Z frosch $ +# $Id: greek.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -1479,6 +1479,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Απενεργ STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Μετάβαση με αριστερό κλικ: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Ενεργοποίηση της κύλισης του χάρτη σύροντας τον με το αριστερό κουμπί του ποντικιού. Αυτό είναι ιδιαίτερα χρήσιμο για την κύλιση όταν χρησιμοποιείται οθόνη αφής +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Κλείσιμο παραθύρου με δεξί-κλικ: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Κλείνει το παράθυρο με δεξί πάτημα μέσα του. Απενεργοποιεί την ανάδυση επεξηγήσεων με το δεξί κουμπί! STR_CONFIG_SETTING_AUTOSAVE :Αυτόματο σώσιμο: {STRING} STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Επιλέξτε το διάστημα ανάμεσα σε δυο διαδοχικά σωσίματα του παιχνιδιου @@ -2796,7 +2798,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Ιδιοκτη STR_ABOUT_OPENTTD :{WHITE}Σχετικά με το OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Αρχικά Πνευματικά Δικαιώματα {COPYRIGHT} 1995 Chris Sawyer, Όλα τα δικαιώματα διατηρούνται STR_ABOUT_VERSION :{BLACK}Έκδοση OpenTTD{REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 Η ομάδα του OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 Η ομάδα του OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Αποθήκευση Παιχνιδιού @@ -3221,8 +3223,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Δέχε STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Εμφάνιση λίστας αποδεκτών φορτίων STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Δέχεται: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Αυτός ο σταθμός έχει αποκλειστικά δικαιώματα μεταφοράς σε αυτήν την πόλη. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :Η {YELLOW}{COMPANY}{BLACK} αγόρασε αποκλειστικά δικαιώματα για αυτήν την πόλη. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Αυτός ο σταθμός έχει αποκλειστικά δικαιώματα μεταφοράς σε αυτήν την πόλη. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :Η {YELLOW}{COMPANY}{BLACK} αγόρασε αποκλειστικά δικαιώματα για αυτήν την πόλη. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Βαθμολογίες STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Εμφάνιση στατιστικών σταθμού @@ -3401,9 +3403,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Απαι STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Απαιτεί: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING} ############ range for requires ends -STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Απαιτεί -STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}σε αναμονή +STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Απαιτεί: +STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} σε αναμονή{STRING} ############ range for produces starts STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Παράγει: {YELLOW}{STRING}{STRING} @@ -3472,6 +3474,11 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Αφαίρεσ STR_GROUP_RENAME_CAPTION :{BLACK}Μετονομασία μίας ομάδας +STR_GROUP_PROFIT_THIS_YEAR :Κέρδος τρέχοντος έτους: +STR_GROUP_PROFIT_LAST_YEAR :Κέρδος προηγούμενου έτους +STR_GROUP_OCCUPANCY :Τρέσουσα χρήση: +STR_GROUP_OCCUPANCY_VALUE :{NUM}% + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Νέα Οχήματα Σιδηρόδρομου STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Νέα Οχήματα Ηλεκτροδοτουμένου Σιδηρόδρομου @@ -3503,6 +3510,7 @@ STR_PURCHASE_INFO_ALL_TYPES :Όλοι οι STR_PURCHASE_INFO_ALL_BUT :Όλοι εκτός από {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Μέγ. Δύναμη Έλξης: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Εύρος: {GOLD}{COMMA} τετραγωνίδια +STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Τύπος αεροσκάφους: {GOLD}{STRING} STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Λίστα επιλογής βαγονιού τρένου. Πατήστε σε ένα βαγόνι για πληροφορίες. Ctrl+Click για εμφάνιση/απόκρυψη του τύπου βαγονιού STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Λίστα επιλογής οχήματος δρόμου. Πατήστε σε ένα όχημα για πληροφορίες. Ctrl+Click για εμφάνιση/απόκρυψη του τύπου οχήματος @@ -3642,10 +3650,11 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE.geniki :μηχανής STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Κόστος: {CURRENCY_LONG} Βάρος: {WEIGHT_SHORT}{}Ταχύτητα: {VELOCITY} Δύναμη Κινητήρα: {POWER}{}Λειτουργικό κόστος: {CURRENCY_LONG}/έτος{}Χωρητικότητα: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Κόστος: {CURRENCY_LONG} Βάρος: {WEIGHT_SHORT}{}Ταχύτητα: {VELOCITY} Δύναμη Κινητήρα: {POWER} Μεγ. Ε.Δ: {6:FORCE}{}Λειτουργικό Κόστος: {4:CURRENCY_LONG}/έτος{}Χωρητικότητα: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Κόστος: {CURRENCY_LONG} Μέγ. Ταχύτητα: {VELOCITY}{}Χωρητικότητα: {CARGO_LONG}, {CARGO_LONG}{}Κόστος Λειτουργίας: {CURRENCY_LONG}/έτος -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Κόστος: {CURRENCY_LONG} Μέγ. Ταχύτητα: {VELOCITY}{}Χωρητικότητα: {CARGO_LONG}{}Κόστος Λειτουργίας: {CURRENCY_LONG}/έτος -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Κόστος: {CURRENCY_LONG} Μέγ. Ταχύτητα: {VELOCITY} Εμβέλεια: {COMMA} τετραγωνίδια{}Χωρητικότητα: {CARGO_LONG}, {CARGO_LONG}{}Κόστος Λειτουργίας: {CURRENCY_LONG}/έτος -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Κόστος: {CURRENCY_LONG} Μέγ. Ταχύτητα: {VELOCITY} Εμβέλεια: {COMMA} τετραγωνίδια{}Χωρητικότητα: {CARGO_LONG}{}Κόστος Λειτουργίας: {CURRENCY_LONG}/έτος +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Κόστος: {CURRENCY_LONG} Μέγ. Ταχύτητα: {VELOCITY}{}Χωρητικότητα: {CARGO_LONG}{}Λειτουργικό κόστος: {CURRENCY_LONG}/έτος +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Κόστος: {CURRENCY_LONG} Μεγ. Ταχύτητα: {VELOCITY}{}Τύπος αεροσκάφους: {STRING}{}Χωρητικότητα: {CARGO_LONG}, {CARGO_LONG}{}Λειτουργικό κόστος: {CURRENCY_LONG}/έτος +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Κόστος: {CURRENCY_LONG} Μεγ. ταχύτητα: {VELOCITY}{}Τύπος αεροσκάφους: {STRING}{}Χωρητικότητα: {CARGO_LONG}{}Λειτουργικό κόστος: {CURRENCY_LONG}/έτος +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Κόστος: {CURRENCY_LONG} Μεγ. Ταχύτητα: {VELOCITY}{}Τύπος αεροσκάφους: {STRING} Εμβέλεια: {COMMA} tiles{}Χωρητικότητα: {CARGO_LONG}, {CARGO_LONG}{}Running Κόστος: {CURRENCY_LONG}/έτος +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Κόστος: {CURRENCY_LONG} Μεγ. Ταχύτητα: {VELOCITY}{}Τύπος αεροσκάφους: {STRING} Εμβέλεια: {COMMA} τεταγωνίδια{}Χωρητικότητα: {CARGO_LONG}{}Λειτουργικό κόστος: {CURRENCY_LONG}/έτος # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Αντικατάσταση {STRING} - {STRING} @@ -3768,7 +3777,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} χρό STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} χρόν{P ος ια} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Μέγ. ταχύτητα: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Μέγ. ταχύτητα: {LTBLUE}{VELOCITY} {BLACK}Εμβέλεια: {LTBLUE}{COMMA} τετραγωνίδια +STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Μεγ. ταχύτητα: {LTBLUE}{VELOCITY} {BLACK}Τύπος αεροσκάφους: {LTBLUE}{STRING} +STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Μεγ. ταχύτητα: {LTBLUE}{VELOCITY} {BLACK}Τύπος αεροσκάφους: {LTBLUE}{STRING} {BLACK}Εμβέλεια: {LTBLUE}{COMMA} τετραγωνίδια STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Βάρος: {LTBLUE}{WEIGHT_SHORT} {BLACK}Δύναμη Κινητήρα: {LTBLUE}{POWER}{BLACK} Μέγ. Ταχύτητα: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Βάρος: {LTBLUE}{WEIGHT_SHORT} {BLACK}Δύναμη Κινητήρα: {LTBLUE}{POWER}{BLACK} Μέγ. Ταχύτητα: {LTBLUE}{VELOCITY} {BLACK}Μέγ. Ε.Δ: {LTBLUE}{FORCE} diff --git a/src/lang/hebrew.txt b/src/lang/hebrew.txt index 532054857d..2da4e58d5d 100644 --- a/src/lang/hebrew.txt +++ b/src/lang/hebrew.txt @@ -12,7 +12,7 @@ ##case singular plural gen -# $Id: hebrew.txt 27941 2017-12-11 19:50:30Z frosch $ +# $Id: hebrew.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -1386,6 +1386,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :כבוי STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :גלילה בלחיצה שמאלית: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :אפשר גלילת המפה באמצעות גרירתה עם כפתור העכבר השמאלי. אפשרות זו שימושית במיוחד בעת שימוש במסך מגע לצורך גלילה +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :סגירת חלון בכפתור ימני: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :סוגר חלון על-ידי לחיצה ימנית בתוכו. מבטל הצגת מידע בלחיצה ימנית! STR_CONFIG_SETTING_AUTOSAVE :שמירה אוטומטית: {STRING} STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :בחר פרק זמן בין שמירות אוטומטיות @@ -2703,7 +2705,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :שטח בבעל STR_ABOUT_OPENTTD :{WHITE}OpenTTD אודות STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}כל הזכויות שמורות , {COPYRIGHT}1995 כריס סויר - זכויות יוצרים מקוריות STR_ABOUT_VERSION :{BLACK}{REV} גירסה , OpenTTD -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 The OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 The OpenTTD team # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}שמור משחק @@ -3128,8 +3130,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}מקבל STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}הצג רשימת סוגי המטען שהתחנה מקבלת STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}מקבלת: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}לתחנה זו זכויות תעבורה בלעדיות בעיירה זו. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} רכשה זכויות תעבורה בלעדיות בעיירה זו. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}לתחנה זו זכויות תעבורה בלעדיות בעיירה זו. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} רכשה זכויות תעבורה בלעדיות בעיירה זו. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}דירוג STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}הצג את דירוג השירות @@ -3308,11 +3310,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{YELLOW}{3:STRI STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{YELLOW}{5:STRING}{4:STRING},{3:STRING}{2:STRING},{1:STRING}{0:STRING}{BLACK} :דורש ############ range for requires ends -STR_INDUSTRY_VIEW_REQUIRES :{BLACK}דורש -STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}ממתין -STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING} +STR_INDUSTRY_VIEW_REQUIRES :{BLACK}דורש: +STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} ממתין{STRING} ############ range for produces starts STR_INDUSTRY_VIEW_PRODUCES_CARGO :{YELLOW}{1:STRING}{0:STRING}{BLACK} :מייצר @@ -3381,6 +3381,11 @@ STR_GROUP_REMOVE_ALL_VEHICLES :הסר את כ STR_GROUP_RENAME_CAPTION :{BLACK}שנה שם קבוצה +STR_GROUP_PROFIT_THIS_YEAR :רווח בשנה זו: +STR_GROUP_PROFIT_LAST_YEAR :רווח שנה שעברה: +STR_GROUP_OCCUPANCY :שימוש נוכחי: +STR_GROUP_OCCUPANCY_VALUE :{NUM}% + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :רכבות חדשות STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :רכבות חשמליות חדשות @@ -3412,6 +3417,7 @@ STR_PURCHASE_INFO_ALL_TYPES :כל סוגי STR_PURCHASE_INFO_ALL_BUT :{CARGO_LIST} כל סוגי המטען למעט STR_PURCHASE_INFO_MAX_TE :{BLACK}כוח סחיבה מקסימלי: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}טווח: {GOLD}{COMMA} משבצות +STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}סוג כלי טיס: {GOLD}{STRING} STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK} בחירת קרונות - לחץ על קרון לקבלת מידע STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}רשימת כלי הרכב - בחר כלי רכב למידע @@ -3545,10 +3551,11 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :קטר פס מ STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}{1:WEIGHT_SHORT} :משקל {NBSP}{0:CURRENCY_LONG} :מחיר{} {NBSP}{3:POWER} :עצמת מנוע {NBSP}{2:VELOCITY} :מהירות {NBSP}{}{5:CARGO_LONG} : קיבולת {NBSP} לשנה {NBSP}{4:CURRENCY_LONG} :עלות תפעולית STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}עלות: {CURRENCY_LONG} משקל: {WEIGHT_SHORT}{}מהירות: {VELOCITY} הספק: {POWER} מקסימלי T.E.: {6:FORCE}{}עלות תפעולית: {4:CURRENCY_LONG}/לשנה{}קיבולת: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}עלות: {CURRENCY_LONG} מהירות מקסימלית: {VELOCITY}{}קיבולת: {CARGO_LONG}, {CARGO_LONG}{}עלות שוטפת: {CURRENCY_LONG}/לשנה -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}עלות: {CURRENCY_LONG} מהירות מקסימלית: {VELOCITY}{}קיבולת: {CARGO_LONG}{}הוצאה שוטפת: {CURRENCY_LONG}/לשנה -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}עלות: {CURRENCY_LONG} מהירות מירבית: {VELOCITY} טווח: {COMMA} משבצות{}קיבולת: {CARGO_LONG}, {CARGO_LONG}{}עלות תפעול: {CURRENCY_LONG}/שנה -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}עלות: {CURRENCY_LONG} מהירות מירבית: {VELOCITY} טווח: {COMMA} משבצות{}קיבולת: {CARGO_LONG}{}עלות תפעול: {CURRENCY_LONG}/שנה +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}עלות: {CURRENCY_LONG} מהירות מקסימלית: {VELOCITY}{}קיבולת: {CARGO_LONG}{}הוצאה שוטפת: {CURRENCY_LONG}/לשנה +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}עלות: {CURRENCY_LONG} מהירות מקסימלית: {VELOCITY}{}סוג כלי טיס: {STRING}{}קיבולת: {CARGO_LONG}, {CARGO_LONG}{}עלות תפעולית: {CURRENCY_LONG}/שנה +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}עלות: {CURRENCY_LONG} מהירות מקסימלית: {VELOCITY}{}סוג כלי טיס: {STRING}{}קיבולת: {CARGO_LONG}{}עלות תפעולית: {CURRENCY_LONG}/שנה +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}עלות: {CURRENCY_LONG} מהירות מקסימלית: {VELOCITY}{}סוג כלי טיס: {STRING} טווח: {COMMA} משבצות{}קיבולת: {CARGO_LONG}, {CARGO_LONG}{}עלות תפעולית: {CURRENCY_LONG}/שנה +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}עלות: {CURRENCY_LONG} מהירות מקסימלית: {VELOCITY}{}סוג כלי טיס: {STRING} טווח: {COMMA} משבצות{}קיבולת: {CARGO_LONG}{}עלות תפעולית: {CURRENCY_LONG}/שנה # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}החלף {STRING} - {STRING} @@ -3671,7 +3678,8 @@ STR_VEHICLE_INFO_AGE :({1:COMMA}) ש STR_VEHICLE_INFO_AGE_RED :{RED}({1:COMMA}) שנים {NBSP}{0:COMMA} STR_VEHICLE_INFO_MAX_SPEED :{BLACK}מהירות מקסימלית: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}מהירות מירבית: {LTBLUE}{VELOCITY} {BLACK}טווח: {LTBLUE}{COMMA} משבצות +STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}מהירות מקס.: {LTBLUE}{VELOCITY} {BLACK}סוג כלי טיס: {LTBLUE}{STRING} +STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}מהירות מקסימלית: {LTBLUE}{VELOCITY} {BLACK}סוג כלי טיס: {LTBLUE}{STRING} {BLACK}טווח: {LTBLUE}{COMMA} משבצות STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}משקל: {LTBLUE}{WEIGHT_SHORT} {BLACK}הספק: {LTBLUE}{POWER}{BLACK} מהירות מקסימלית: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}משקל: {LTBLUE}{WEIGHT_SHORT} {BLACK}הספק: {LTBLUE}{POWER}{BLACK} מהירות מקסימלית: {LTBLUE}{VELOCITY} {BLACK}T.E. מקסימלי: {LTBLUE}{FORCE} diff --git a/src/lang/hungarian.txt b/src/lang/hungarian.txt index f17bd1f089..589235b051 100644 --- a/src/lang/hungarian.txt +++ b/src/lang/hungarian.txt @@ -11,7 +11,7 @@ ##case t ba -# $Id: hungarian.txt 27941 2017-12-11 19:50:30Z frosch $ +# $Id: hungarian.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -1436,6 +1436,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Kikapcsolva STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Bal gombos térképmozgatás: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Bal egérgombbal történő térképmozgatás engedélyezése. Különösen hasznos érintőképernyős mozgatás használata esetén +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Ablakok bezárása jobb gombbal: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :A jobb gombbal való kattintás az ablak területén bezárja az ablakot. Ez a beállítás kikapcsolja a segédletek jobb gombbal való megjelenítését! STR_CONFIG_SETTING_AUTOSAVE :Automatikus mentés: {STRING} STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Az automatikus mentések között eltelő idő @@ -2753,7 +2755,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Vállalat álta STR_ABOUT_OPENTTD :{WHITE}Az OpenTTD-ről STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Eredeti copyright {COPYRIGHT} 1995 Chris Sawyer, Minden jog fenntartva STR_ABOUT_VERSION :{BLACK}OpenTTD {REV} verzió -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 Az OpenTTD csapat +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 Az OpenTTD csapat # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Játék mentése @@ -3178,8 +3180,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Elfogad STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Az elfogadott áruk listájának mutatása STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Elfogad:{WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Ez az állomás kizárólagos szállítási jogokkal rendelkezik ezen a településen. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} kizárólagos szállítási jogokat vásárolt a településen. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Ez az állomás kizárólagos szállítási jogokkal rendelkezik ezen a településen. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} kizárólagos szállítási jogokat vásárolt a településen. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Vélemény STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Vélemény megmutatása az állomásról @@ -3359,10 +3361,8 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Felhaszn ############ range for requires ends STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Elfogad: -STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}várakozik -STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} várakozik{STRING} ############ range for produces starts STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Gyárt: {YELLOW}{STRING}{STRING} @@ -3431,6 +3431,11 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Összes jármű STR_GROUP_RENAME_CAPTION :{BLACK}Csoport átnevezése +STR_GROUP_PROFIT_THIS_YEAR :Idei nyereség: +STR_GROUP_PROFIT_LAST_YEAR :Tavalyi nyereség: +STR_GROUP_OCCUPANCY :Jelenlegi kihasználtság: +STR_GROUP_OCCUPANCY_VALUE :{NUM}% + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Új vasúti járművek STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Új villamos vasúti járművek @@ -3462,6 +3467,7 @@ STR_PURCHASE_INFO_ALL_TYPES :Minden rakomán STR_PURCHASE_INFO_ALL_BUT :Mindenre, kivéve {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Maximális vonóerő: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Hatótávolság: {GOLD}{COMMA} mező +STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Típus: {GOLD}{STRING} STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Vasúti jármű kiválasztása - kattints egy járműre az adataihoz. Ctrl+kattintással a járműtípus elrejthető/felfedhető STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Közúti jármű kiválasztása - kattints egy járműre az adataihoz. Ctrl+kattintással a járműtípus elrejthető/felfedhető @@ -3595,10 +3601,11 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :Maglev mozdony STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Ár: {CURRENCY_LONG} Súly: {WEIGHT_SHORT}{}Sebesség: {VELOCITY} Teljesítmény: {POWER}{}Üzemeltetés: {CURRENCY_LONG}/év{}Kapacitás: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Ár: {CURRENCY_LONG} Súly: {WEIGHT_SHORT}{}Sebesség: {VELOCITY} Teljesítmény: {POWER} Maximális vonóerő: {6:FORCE}{}Üzemeltetés: {4:CURRENCY_LONG}/év{}Kapacitás: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Ár: {CURRENCY_LONG} Végsebesség: {VELOCITY}{}Kapacitás: {CARGO_LONG}, {CARGO_LONG}{}Üzemeltetés: {CURRENCY_LONG}/év -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Ár: {CURRENCY_LONG} Végsebesség: {VELOCITY}{}Kapacitás: {CARGO_LONG}{}Üzemeltetés: {CURRENCY_LONG}/év -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Ár: {CURRENCY_LONG} Végsebesség: {VELOCITY} Hatótávolság: {COMMA} mező{}Kapacitás: {CARGO_LONG}, {CARGO_LONG}{}Üzemeltetés: {CURRENCY_LONG}/év -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Ár: {CURRENCY_LONG} Végsebesség: {VELOCITY} Hatótávolság: {COMMA} mező{}Kapacitás: {CARGO_LONG}{}Üzemeltetés: {CURRENCY_LONG}/év +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Ár: {CURRENCY_LONG} Végsebesség: {VELOCITY}{}Kapacitás: {CARGO_LONG}{}Üzemeltetés: {CURRENCY_LONG}/év +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Ár: {CURRENCY_LONG} Sebesség: {VELOCITY}{}Típus: {STRING}{}Kapacitás: {CARGO_LONG}, {CARGO_LONG}{}Üzemeltetés: {CURRENCY_LONG}/év +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Ár: {CURRENCY_LONG} Sebesség: {VELOCITY}{}Típus: {STRING}{}Kapacitás: {CARGO_LONG}{}Üzemeltetés: {CURRENCY_LONG}/év +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Ár: {CURRENCY_LONG} Sebesség: {VELOCITY}{}Típus: {STRING} Hatótávolság: {COMMA} mező{}Kapacitás: {CARGO_LONG}, {CARGO_LONG}{}Üzemeltetés: {CURRENCY_LONG}/év +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Ár: {CURRENCY_LONG} Sebesség: {VELOCITY}{}Típus: {STRING} Hatótávolság: {COMMA} mező{}Kapacitás: {CARGO_LONG}{}Üzemeltetés: {CURRENCY_LONG}/év # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}{STRING} lecserélése - {STRING} @@ -3721,7 +3728,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} év ({C STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} év ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Végsebesség: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Végsebesség: {LTBLUE}{VELOCITY} {BLACK}Hatótávolság: {LTBLUE}{COMMA} mező +STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Sebesség: {LTBLUE}{VELOCITY} {BLACK}Típus: {LTBLUE}{STRING} +STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Sebesség: {LTBLUE}{VELOCITY} {BLACK}Típus: {LTBLUE}{STRING} {BLACK}Hatótávolság: {LTBLUE}{COMMA} mező STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Súly: {LTBLUE}{WEIGHT_SHORT} {BLACK}Teljesítmény: {LTBLUE}{POWER}{BLACK} Végsebesség: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Súly: {LTBLUE}{WEIGHT_SHORT} {BLACK}Teljesítmény: {LTBLUE}{POWER}{BLACK} Végsebesség: {LTBLUE}{VELOCITY} {BLACK}Vonóerő: {LTBLUE}{FORCE} diff --git a/src/lang/icelandic.txt b/src/lang/icelandic.txt index 57f570c8b8..a821e88176 100644 --- a/src/lang/icelandic.txt +++ b/src/lang/icelandic.txt @@ -11,7 +11,7 @@ ##gender karlkyn kvenkyn hvorugkyn -# $Id: icelandic.txt 27777 2017-03-11 16:49:51Z frosch $ +# $Id: icelandic.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -2536,7 +2536,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Land í eigu fy STR_ABOUT_OPENTTD :{WHITE}Um OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Upphaflegur höfundarréttur {COPYRIGHT} 1995 Chris Sawyer, Öll réttindi áskilin STR_ABOUT_VERSION :{BLACK}OpenTTD útgáfa {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 OpenTTD hópurinn +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 OpenTTD hópurinn # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Vista leik @@ -2925,8 +2925,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Tekur vi STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Sýna lista yfir móttækilegan varning STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Móttekur: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Þessi stöð er með sérleyfi til flutninga í þessum bæ. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} keypti sérleyfi til flutninga í þessum bæ. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Þessi stöð er með sérleyfi til flutninga í þessum bæ. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} keypti sérleyfi til flutninga í þessum bæ. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Einkunn STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Sýna einkunn stöðvar @@ -3149,6 +3149,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Fjarlægja öll STR_GROUP_RENAME_CAPTION :{BLACK}Endurnefna hóp + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Lestaúrval STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nýjir rafdrifnir lestarvagnar @@ -3301,10 +3302,7 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :Segulsvifvagn STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Verð: {CURRENCY_LONG} Þyngd: {WEIGHT_SHORT}{}Hraði: {VELOCITY} Afl: {POWER}{}Rekstrarkostnaður: {CURRENCY_LONG} á ári{}Burðargeta: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Verð: {CURRENCY_LONG} Þyngd: {WEIGHT_SHORT}{}Hámarskhraði: {VELOCITY} Afl: {POWER} Hámarks kraftur: {6:FORCE}{}Running Cost: {4:CURRENCY_LONG}/ári{}Burðargeta: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Verð: {CURRENCY_LONG} Hámarkshraði: {VELOCITY}{}Burðargeta: {CARGO_LONG}, {CARGO_LONG}{}Rekstrarkostnaður: {CURRENCY_LONG} á ári -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Verð: {CURRENCY_LONG} Hámarkshraði: {VELOCITY}{}Burðargeta: {CARGO_LONG}{}Rekstrarkostnaður: {CURRENCY_LONG} á ári -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Verð: {CURRENCY_LONG} Hámarkshraði: {VELOCITY} Drægni: {COMMA} reitir{}Capacity: {CARGO_LONG}, {CARGO_LONG}{}Rekstrarkosnaður: {CURRENCY_LONG} á ári -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Verð: {CURRENCY_LONG} Hámarkshraði: {VELOCITY} Drægni: {COMMA} reitir{}Burðargeta: {CARGO_LONG}{}Rekstrarkostnaður: {CURRENCY_LONG} á ári +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Verð: {CURRENCY_LONG} Hámarkshraði: {VELOCITY}{}Burðargeta: {CARGO_LONG}{}Rekstrarkostnaður: {CURRENCY_LONG} á ári # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Endurnýja {STRING} - {STRING} @@ -3422,7 +3420,6 @@ STR_VEHICLE_INFO_AGE :{COMMA} ár ({C STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} ár ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Hámarkshraði: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Hámarkshraði: {LTBLUE}{VELOCITY} {BLACK}Drægni: {LTBLUE}{COMMA} reitir STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Þyngd: {LTBLUE}{WEIGHT_SHORT} {BLACK}Afl: {LTBLUE}{POWER}{BLACK} Hámarkshraði: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Þyngd: {LTBLUE}{WEIGHT_SHORT} {BLACK}Afl: {LTBLUE}{POWER}{BLACK} Hámarkshraði: {LTBLUE}{VELOCITY} {BLACK}Hámarks dráttarafl.: {LTBLUE}{FORCE} diff --git a/src/lang/indonesian.txt b/src/lang/indonesian.txt index 11b68967d2..54680619bc 100644 --- a/src/lang/indonesian.txt +++ b/src/lang/indonesian.txt @@ -10,7 +10,7 @@ ##grflangid 0x5a -# $Id: indonesian.txt 27777 2017-03-11 16:49:51Z frosch $ +# $Id: indonesian.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -2687,7 +2687,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Tanah milik Per STR_ABOUT_OPENTTD :{WHITE}Tentang OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Hak Cipta asli {COPYRIGHT} 1995 Chris Sawyer, Hak Cipta dilindungi STR_ABOUT_VERSION :{BLACK}OpenTTD versi {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 Tim OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 Tim OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Simpan Permainan @@ -3108,8 +3108,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Menerima STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Tampilkan daftar kargo yang bisa diterima STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Menerima: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Stasiun memiliki hak transportasi eksklusif di kota ini -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} beli hak transportasi eksklusif di kota ini +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Stasiun memiliki hak transportasi eksklusif di kota ini +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} beli hak transportasi eksklusif di kota ini STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Peringkat STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Tampilkna peringkat dari stasiun @@ -3356,6 +3356,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Jual semua STR_GROUP_RENAME_CAPTION :{BLACK}Ubah nama kelompok + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Kereta Baru STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Kereta listrik baru @@ -3520,10 +3521,7 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :lokomotif magle STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Biaya: {CURRENCY_LONG} Berat: {WEIGHT_SHORT}{}Kecepatan: {VELOCITY} Daya: {POWER}{}Biaya ops.: {CURRENCY_LONG}/thn{}Kapasitas: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Biaya: {CURRENCY_LONG} Berat: {WEIGHT_SHORT}{}Kecepatan: {VELOCITY} Power: {POWER} Max. T.E.: {6:FORCE}{}Biaya Operasional: {4:CURRENCY_LONG}/yr{}Kapasitas: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Biaya: {CURRENCY_LONG} Kec. Max: {VELOCITY}{}Kapasitas: {CARGO_LONG}, {CARGO_LONG}{}Bea Berjalan: {CURRENCY_LONG}/thn -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Biaya: {CURRENCY_LONG} Kec. Max: {VELOCITY}{}Kapasitas: {CARGO_LONG}{}Bea Berjalan: {CURRENCY_LONG}/thn -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Biaya: {CURRENCY_LONG} Kecepatan Max.: {VELOCITY} Jangkauan: {COMMA} kotak{}Kapasitas: {CARGO_LONG}, {CARGO_LONG}{}Biaya Operasi: {CURRENCY_LONG}/thn -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Biaya: {CURRENCY_LONG} Kecepatan Max.: {VELOCITY} Jangkauan: {COMMA} kotak{}Kapasitas: {CARGO_LONG}{}Biaya Operasi: {CURRENCY_LONG}/thn +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Biaya: {CURRENCY_LONG} Kec. Max: {VELOCITY}{}Kapasitas: {CARGO_LONG}{}Bea Berjalan: {CURRENCY_LONG}/thn # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Ganti {STRING} - {STRING} @@ -3645,7 +3643,6 @@ STR_VEHICLE_INFO_AGE :{COMMA} tahun ( STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} tahun ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Kec. Max: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Kecepatan Max.: {LTBLUE}{VELOCITY} {BLACK}Jangkauan: {LTBLUE}{COMMA} kotak STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Berat: {LTBLUE}{WEIGHT_SHORT} {BLACK}Tenaga: {LTBLUE}{POWER}{BLACK} Kec. Max: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Berat: {LTBLUE}{WEIGHT_SHORT} {BLACK}Tenaga: {LTBLUE}{POWER}{BLACK} Kec. Max: {LTBLUE}{VELOCITY} {BLACK}Max. T.E.: {LTBLUE}{FORCE} diff --git a/src/lang/irish.txt b/src/lang/irish.txt index 47fd96720d..729319b989 100644 --- a/src/lang/irish.txt +++ b/src/lang/irish.txt @@ -10,7 +10,7 @@ ##grflangid 0x08 -# $Id: irish.txt 27777 2017-03-11 16:49:51Z frosch $ +# $Id: irish.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -2687,7 +2687,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Talamh faoi úi STR_ABOUT_OPENTTD :{WHITE}Maidir le OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Cóipcheart bunaidh {COPYRIGHT} 1995 Chris Sawyer, Gach ceart ar cosaint STR_ABOUT_VERSION :{BLACK}OpenTTD leagan {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 An fhoireann OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 An fhoireann OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Sábháil an Cluiche @@ -3112,8 +3112,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Glactar STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Taispeáin liosta den lastas a ghlactar leis STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Glactar le: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Tá cearta eisiacha iompair ag an stáisiún seo sa bhaile seo. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{BLACK}Cheannaigh {YELLOW}{COMPANY}{BLACK} cearta eisiacha iompair sa bhaile seo.. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Tá cearta eisiacha iompair ag an stáisiún seo sa bhaile seo. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{BLACK}Cheannaigh {YELLOW}{COMPANY}{BLACK} cearta eisiacha iompair sa bhaile seo.. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Rátálacha STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Taispeáin rátálacha na stáisiún @@ -3360,6 +3360,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Bain gach feith STR_GROUP_RENAME_CAPTION :{BLACK}Athainmnigh grúpa + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Feithiclí Iarnróid Nua STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Feithiclí Iarnróid Leictreacha Nua @@ -3524,10 +3525,7 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :inneall gluaist STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Costas {CURRENCY_LONG} Meáchan: {WEIGHT_SHORT}{}Luas: {VELOCITY} Cumhacht: {POWER}{}Costas Coinneála {CURRENCY_LONG}/bl{}Toilleadh: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Costas: {CURRENCY_LONG} Meáchan: {WEIGHT_SHORT}{}Luas: {VELOCITY} Cumhacht: {POWER} T.E. uasta: {6:FORCE}{}Costas Coinneála: {4:CURRENCY_LONG}/bl{}Toilleadh: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Costas: {CURRENCY_LONG} Luas Uasta: {VELOCITY}{}Toilleadh: {CARGO_LONG}, {CARGO_LONG}{}Costas Coinneála: {CURRENCY_LONG}/bl -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Costas: {CURRENCY_LONG} Luas Uasta: {VELOCITY}{}Toilleadh: {CARGO_LONG}{}Costas Coinneála: {CURRENCY_LONG}/bl -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Costas: {CURRENCY_LONG} Luas uasta: {VELOCITY} Raon: {COMMA} tíl{}Toilleadh: {CARGO_LONG}, {CARGO_LONG}{}Costas Coinneála: {CURRENCY_LONG}/bl -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Costas: {CURRENCY_LONG} Luas uasta: {VELOCITY} Raon: {COMMA} tíleanna{}Toilleadh: {CARGO_LONG}{}Costas Coinneála: {CURRENCY_LONG}/yr +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Costas: {CURRENCY_LONG} Luas Uasta: {VELOCITY}{}Toilleadh: {CARGO_LONG}{}Costas Coinneála: {CURRENCY_LONG}/bl # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Ionadaigh{STRING} - {STRING} @@ -3649,7 +3647,6 @@ STR_VEHICLE_INFO_AGE :{COMMA} {P bhli STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} {P bhliain bhliain bliana mbliana bliana} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Luas uasta: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Luas uasta: {LTBLUE}{VELOCITY} {BLACK}Raon: {LTBLUE}{COMMA} {P th th th dt t}íl STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Meáchan: {LTBLUE}{WEIGHT_SHORT} {BLACK}Cumhacht: {LTBLUE}{POWER}{BLACK}Luas uasta: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Meáchan: {LTBLUE}{WEIGHT_SHORT} {BLACK}Cumhacht: {LTBLUE}{POWER}{BLACK} Uas-luas: {LTBLUE}{VELOCITY} {BLACK}T.E. Uasta: {LTBLUE}{FORCE} diff --git a/src/lang/italian.txt b/src/lang/italian.txt index 39f699eca0..7a5bfaa0bf 100644 --- a/src/lang/italian.txt +++ b/src/lang/italian.txt @@ -12,7 +12,7 @@ ##case ms mp fs fp -# $Id: italian.txt 27777 2017-03-11 16:49:51Z frosch $ +# $Id: italian.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -1396,6 +1396,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Nessuna STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Scorrimento con clic sinistro: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Abilita lo scorrimento della mappa trascinandola con il pulsante sinistro del mouse. Questa impostazione è utile quando si utilizza un touch-screen +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Chiudi finestra con clic destro: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Consente di chiudere una finestra facendo clic col pulsante destro al suo interno. Disabilita i suggerimenti attivati al clic col pulsante destro! STR_CONFIG_SETTING_AUTOSAVE :Salvataggi automatici: {STRING} STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Seleziona l'intervallo fra i salvataggi automatici della partita @@ -2719,7 +2721,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terreno possedu STR_ABOUT_OPENTTD :{WHITE}Informazioni su OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright originale {COPYRIGHT} 1995 Chris Sawyer, Tutti i diritti riservati STR_ABOUT_VERSION :{BLACK}OpenTTD versione {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 Il team OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 Il team OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Salva partita @@ -3144,8 +3146,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Accetta STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Mostra la lista dei carichi accettati STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Accetta: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Questa stazione gode di diritti di trasporto esclusivi in questa città. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}La {COMPANY}{BLACK} ha acquistato diritti di trasporto esclusivi in questa città. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Questa stazione gode di diritti di trasporto esclusivi in questa città. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}La {COMPANY}{BLACK} ha acquistato diritti di trasporto esclusivi in questa città. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Valutazione STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Mostra la valutazione della stazione @@ -3324,11 +3326,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Richiede STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Richiede: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING} ############ range for requires ends -STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Richiede -STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}in attesa -STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING} +STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Richiede: +STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} in attesa{STRING} ############ range for produces starts STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produce: {YELLOW}{STRING}{STRING} @@ -3397,6 +3397,11 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Rimuovi tutti i STR_GROUP_RENAME_CAPTION :{BLACK}Rinomina un gruppo +STR_GROUP_PROFIT_THIS_YEAR :Profitto quest'anno: +STR_GROUP_PROFIT_LAST_YEAR :Profitto anno scorso: +STR_GROUP_OCCUPANCY :Utilizzo corrente: +STR_GROUP_OCCUPANCY_VALUE :{NUM}% + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nuovi veicoli ferroviari STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nuovi veicoli ferroviari elettrici @@ -3428,6 +3433,7 @@ STR_PURCHASE_INFO_ALL_TYPES :Tutti i tipi di STR_PURCHASE_INFO_ALL_BUT :Tutto tranne {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Sforzo di trazione massimo: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Autonomia: {GOLD}{COMMA} riquadr{P o i} +STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Tipo di aeromobile: {GOLD}{STRING} STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Elenco di selezione dei veicoli ferroviari - fare clic su un veicolo per informazioni. CTRL+clic mostra/nasconde il tipo di veicolo STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Elenco selezione automezzi - fare clic su un veicolo per informazioni. CTRL+clic mostra/nasconde il tipo di automezzo @@ -3561,10 +3567,11 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :{G=f}motrice ma STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Costo: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Velocità: {VELOCITY} Potenza: {POWER}{}Costo d'esercizio: {CURRENCY_LONG}/anno{}Capacità: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Costo: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Velocità: {VELOCITY} Potenza: {POWER}{} S.T. max.: {6:FORCE}{}Costo d'esercizio: {4:CURRENCY_LONG}/anno{}Capacità: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Costo: {CURRENCY_LONG} Velocità max.: {VELOCITY}{}Capacità: {CARGO_LONG}, {CARGO_LONG}{}Costo d'esercizio: {CURRENCY_LONG}/anno -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Costo: {CURRENCY_LONG} Velocità max.: {VELOCITY}{}Capacità: {CARGO_LONG}{}Costo d'esercizio: {CURRENCY_LONG}/anno -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Costo: {CURRENCY_LONG} Velocità max.: {VELOCITY} Autonomia: {COMMA} riquadr{P o i}{}Capacità: {CARGO_LONG}, {CARGO_LONG}{}Costo d'esercizio: {CURRENCY_LONG}/anno -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Costo: {CURRENCY_LONG} Velocità max.: {VELOCITY} Autonomia: {COMMA} riquadr{P o i}{}Capacità: {CARGO_LONG}{}Costo d'esercizio: {CURRENCY_LONG}/anno +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Costo: {CURRENCY_LONG} Velocità max.: {VELOCITY}{}Capacità: {CARGO_LONG}{}Costo d'esercizio: {CURRENCY_LONG}/anno +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Costo: {CURRENCY_LONG} Velocità max.: {VELOCITY}{}Tipo aeromobile: {STRING}{}Capacità: {CARGO_LONG}, {CARGO_LONG}{}Costo d'esercizio: {CURRENCY_LONG}/anno +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Costo: {CURRENCY_LONG} Velocità max.: {VELOCITY}{}Tipo aeromobile: {STRING}{}Capacità: {CARGO_LONG}{}Costo d'esercizio: {CURRENCY_LONG}/anno +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Costo: {CURRENCY_LONG} Velocità max.: {VELOCITY}{}Tipo aeromobile: {STRING} Autonomia: {COMMA} riquadr{P o i}{}Capacità: {CARGO_LONG}, {CARGO_LONG}{}Costo d'esercizio: {CURRENCY_LONG}/anno +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Costo: {CURRENCY_LONG} Velocità max.: {VELOCITY}{}Tipo aeromobile: {STRING} Autonomia: {COMMA} riquadr{P o i}{}Capacità: {CARGO_LONG}{}Costo d'esercizio: {CURRENCY_LONG}/anno # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Rimpiazza {STRING} - {STRING} @@ -3687,7 +3694,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} ann{P o STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} ann{P o i} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Velocità max.: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Velocità max.: {LTBLUE}{VELOCITY} {BLACK}Autonomia: {LTBLUE}{COMMA} riquadr{P o i} +STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Velocità max.: {LTBLUE}{VELOCITY} {BLACK}Tipo aeromobile: {LTBLUE}{STRING} +STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}elocità max.: {LTBLUE}{VELOCITY} {BLACK}Tipo aeromobile: {LTBLUE}{STRING} {BLACK}Autonomia: {LTBLUE}{COMMA} riquadr{P o i} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potenza: {LTBLUE}{POWER}{BLACK} Velocità max.: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potenza: {LTBLUE}{POWER}{BLACK} Velocità max.: {LTBLUE}{VELOCITY} {BLACK}S.T. max.: {LTBLUE}{FORCE} diff --git a/src/lang/japanese.txt b/src/lang/japanese.txt index 942faa27c9..c2bfbddd38 100644 --- a/src/lang/japanese.txt +++ b/src/lang/japanese.txt @@ -10,7 +10,7 @@ ##grflangid 0x39 -# $Id: japanese.txt 27865 2017-05-03 20:43:22Z frosch $ +# $Id: japanese.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -2688,7 +2688,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :社有地 STR_ABOUT_OPENTTD :{WHITE}OpenTTDについて STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}オリジナル版権{COPYRIGHT} 1995 Chris Sawyer All rights reserved STR_ABOUT_VERSION :{BLACK}OpenTTD バージョン {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 The OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 The OpenTTD team # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}ゲームを保存 @@ -3113,8 +3113,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}受入 STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}受入れる貨物のリストを表示します STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}受入れ貨物: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}この停留施設は街の独占輸送契約の恩恵下にあります -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK}はこの街と独占輸送契約を締結しています +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}この停留施設は街の独占輸送契約の恩恵下にあります +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK}はこの街と独占輸送契約を締結しています STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}評価 STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}停留施設の評価を表示します @@ -3293,8 +3293,7 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}必要 STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}必要資源: {YELLOW}{STRING}{STRING}、{STRING}{STRING}、{STRING}{STRING} ############ range for requires ends -STR_INDUSTRY_VIEW_REQUIRES : {BLACK}必要物資 -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT : {YELLOW}{CARGO_LONG}{STRING} +STR_INDUSTRY_VIEW_REQUIRES : {BLACK}必要物資: ############ range for produces starts STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}生産品: {YELLOW}{STRING}{STRING} @@ -3363,6 +3362,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :全輸送機器 STR_GROUP_RENAME_CAPTION :{BLACK}グループ名を変更 + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :新規機関車(非電化) STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :新規機関車(電化)/電車 @@ -3527,10 +3527,7 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :リニア列車 STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}価格: {CURRENCY_LONG} 重量: {WEIGHT_SHORT}{}最高速度: {VELOCITY}{}出力: {POWER}{}運用費: {CURRENCY_LONG}/年{}収容量: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}価格: {CURRENCY_LONG} 重量: {WEIGHT_SHORT}{}最高速度: {VELOCITY} 出力: {POWER} 最大牽引力: {6:FORCE}{}運用費: {4:CURRENCY_LONG}/年{}収容量 {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}価格: {CURRENCY_LONG} 最高速度: {VELOCITY}{}収容量: {CARGO_LONG}、{CARGO_LONG}{}運用費: {CURRENCY_LONG}/年 -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}価格: {CURRENCY_LONG} 最高速度: {VELOCITY}{}収容量: {CARGO_LONG}{}運用費: {CURRENCY_LONG}/年 -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}価格: {CURRENCY_LONG} 最高速度: {VELOCITY} 航続距離: {COMMA}タイル{}収容量: {CARGO_LONG}、{CARGO_LONG}{}運用費: {CURRENCY_LONG}/年 -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}価格: {CURRENCY_LONG} 最高速度: {VELOCITY} 航続距離: {COMMA}タイル{}収容量: {CARGO_LONG}{}運用費: {CURRENCY_LONG}/年 +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}価格: {CURRENCY_LONG} 最高速度: {VELOCITY}{}収容量: {CARGO_LONG}{}運用費: {CURRENCY_LONG}/年 # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}{STRING}の自動置換 - {STRING} @@ -3653,7 +3650,6 @@ STR_VEHICLE_INFO_AGE :{COMMA}年({COM STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA}年({COMMA}年) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}最高速度: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}最高速度: {LTBLUE}{VELOCITY} {BLACK}航続距離: {LTBLUE}{COMMA}タイル STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}重量: {LTBLUE}{WEIGHT_SHORT} {BLACK}出力: {LTBLUE}{POWER}{BLACK} 最高速度: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}重量: {LTBLUE}{WEIGHT_SHORT} {BLACK}出力: {LTBLUE}{POWER}{BLACK} 最高速度: {LTBLUE}{VELOCITY} {BLACK}最大牽引力: {LTBLUE}{FORCE} diff --git a/src/lang/korean.txt b/src/lang/korean.txt index aba437dc84..a35f1edc8d 100644 --- a/src/lang/korean.txt +++ b/src/lang/korean.txt @@ -11,7 +11,7 @@ ##gender m f -# $Id: korean.txt 27941 2017-12-11 19:50:30Z frosch $ +# $Id: korean.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -1373,6 +1373,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :끄기 STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :마우스 왼쪽 버튼으로 스크롤: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :왼쪽 마우스 버튼을 드래그하여 지도를 스크롤 할 수 있도록 합니다. 터치 스크린 환경에서 이 설정을 켜면 매우 유용합니다. +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :오른쪽 클릭으로 창 닫기: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :창 내부를 오른쪽 클릭하여 창을 닫습니다. 오른쪽 클릭으로 도움말 표시 설정을 해제해야 합니다! STR_CONFIG_SETTING_AUTOSAVE :자동 저장: {STRING} STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :게임을 자동으로 저장할 간격을 선택하십시오. @@ -2383,7 +2385,7 @@ STR_BRIDGE_NAME_GIRDER_STEEL :강철 거더 STR_BRIDGE_NAME_CANTILEVER_STEEL :강철 캔틸레버교 STR_BRIDGE_NAME_SUSPENSION_CONCRETE :콘크리트 현수교 STR_BRIDGE_NAME_WOODEN :나무 다리 -STR_BRIDGE_NAME_CONCRETE :콘트리트교 +STR_BRIDGE_NAME_CONCRETE :콘크리트교 STR_BRIDGE_NAME_TUBULAR_STEEL :강철 원통형 다리 STR_BRIDGE_TUBULAR_SILICON :실리콘 원통형 다리 @@ -2690,7 +2692,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :회사 소유 STR_ABOUT_OPENTTD :{WHITE}OpenTTD에 대해서 STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved STR_ABOUT_VERSION :{BLACK}OpenTTD 버전 {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 OpenTTD 개발팀 +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 OpenTTD 개발팀 # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}게임 저장 @@ -3115,8 +3117,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}받음 STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}받는 화물의 목록 표시 STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}받음: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}이 역은 도시의 수송권을 독점하고 있는 역입니다. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} 이(가) 이 도시의 수송 독점권을 구매하였습니다. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}이 역은 도시의 수송권을 독점하고 있는 역입니다. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} 이(가) 이 도시의 수송 독점권을 구매하였습니다. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}등급 STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}역의 등급 표시 @@ -3295,11 +3297,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}필요 STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}필요함: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING} ############ range for requires ends -STR_INDUSTRY_VIEW_REQUIRES :{BLACK}받는 화물 -STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}대기중 -STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING} +STR_INDUSTRY_VIEW_REQUIRES :{BLACK}받는 화물: +STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} 대기중{STRING} ############ range for produces starts STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}생산: {YELLOW}{STRING}{STRING} @@ -3368,6 +3368,11 @@ STR_GROUP_REMOVE_ALL_VEHICLES :모든 차량 STR_GROUP_RENAME_CAPTION :{BLACK}그룹 이름 설정 +STR_GROUP_PROFIT_THIS_YEAR :올해 수익: +STR_GROUP_PROFIT_LAST_YEAR :작년 수익: +STR_GROUP_OCCUPANCY :현재 사용량: +STR_GROUP_OCCUPANCY_VALUE :{NUM}% + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :새 열차 STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :새 전기 열차 @@ -3399,6 +3404,7 @@ STR_PURCHASE_INFO_ALL_TYPES :모든 화물 STR_PURCHASE_INFO_ALL_BUT :{CARGO_LIST} 이외의 모든 화물 STR_PURCHASE_INFO_MAX_TE :{BLACK}최고 견인력: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}항속거리: {GOLD}{COMMA} 칸 +STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}항공기 종류: {GOLD}{STRING} STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}열차 차량 구매 목록입니다. 차량의 정보를 보려면 클릭하세요. CTRL + 클릭하면 해당 차량을 숨김/표시 처리할 수 있습니다. STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}자동차/전차 구매 목록입니다. 차량의 정보를 보려면 클릭하세요. CTRL + 클릭하면 해당 차량을 숨김/표시 처리할 수 있습니다. @@ -3532,10 +3538,11 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :{G=f}자기부 STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}가격: {CURRENCY_LONG} 무게: {WEIGHT_SHORT}{}속력: {VELOCITY} 힘: {POWER}{}유지비: {CURRENCY_LONG}/년{}수송량: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}가격: {CURRENCY_LONG} 무게: {WEIGHT_SHORT}{}속력: {VELOCITY} 힘: {POWER} 최대 견인력: {6:FORCE}{}유지비: {4:CURRENCY_LONG}/년{}수송량: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}가격: {CURRENCY_LONG} 최고속력: {VELOCITY}{}수송량: {CARGO_LONG}, {CARGO_LONG}{}유지비: {CURRENCY_LONG}/년 -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}가격: {CURRENCY_LONG} 최고속력: {VELOCITY}{}수송량: {CARGO_LONG}{}유지비: {CURRENCY_LONG}/년 -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}가격: {CURRENCY_LONG} 최고 속력: {VELOCITY} 항속거리: {COMMA} 칸{}수용량: {CARGO_LONG}, {CARGO_LONG}{}유지비: {CURRENCY_LONG}/년 -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}가격: {CURRENCY_LONG} 최고 속력: {VELOCITY} 항속거리: {COMMA} 칸{}수용량: {CARGO_LONG}{}유지비: {CURRENCY_LONG}/년 +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}가격: {CURRENCY_LONG} 최고 속력: {VELOCITY}{}수송량: {CARGO_LONG}{}유지비: {CURRENCY_LONG}/년 +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}가격: {CURRENCY_LONG} 최고 속력: {VELOCITY}{}항공기 종류: {STRING}{}수송량: {CARGO_LONG}, {CARGO_LONG}{}유지비: {CURRENCY_LONG}/년 +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}가격: {CURRENCY_LONG} 최고 속력: {VELOCITY}{}항공기 종류: {STRING}{}수송량: {CARGO_LONG}{}유지비: {CURRENCY_LONG}/년 +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}가격: {CURRENCY_LONG} 최고 속력: {VELOCITY}{}항공기 종류: {STRING} 항속거리: {COMMA}칸{}수송량: {CARGO_LONG}, {CARGO_LONG}{}유지비: {CURRENCY_LONG}/년 +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}가격: {CURRENCY_LONG} 최고 속력: {VELOCITY}{}항공기 종류: {STRING} 항속거리: {COMMA}칸{}수송량: {CARGO_LONG}{}유지비: {CURRENCY_LONG}/년 # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}{STRING} 교체 - {STRING} @@ -3658,7 +3665,8 @@ STR_VEHICLE_INFO_AGE :{COMMA}년 ({CO STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA}년 ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}최고 속력: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}최고 속력: {LTBLUE}{VELOCITY} {BLACK}항속거리: {LTBLUE}{COMMA} 칸 +STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}최고 속력: {LTBLUE}{VELOCITY} {BLACK}항공기 종류: {LTBLUE}{STRING} +STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}최고 속력: {LTBLUE}{VELOCITY} {BLACK}항공기 종류: {LTBLUE}{STRING} {BLACK}항속거리: {LTBLUE}{COMMA}칸 STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}무게: {LTBLUE}{WEIGHT_SHORT} {BLACK}힘: {LTBLUE}{POWER}{BLACK} 최고 속력: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}무게: {LTBLUE}{WEIGHT_SHORT} {BLACK}힘: {LTBLUE}{POWER}{BLACK} 최고 속력: {LTBLUE}{VELOCITY} {BLACK}최고 견인력: {LTBLUE}{FORCE} diff --git a/src/lang/latin.txt b/src/lang/latin.txt index d9b1bfd46f..1485d00c65 100644 --- a/src/lang/latin.txt +++ b/src/lang/latin.txt @@ -12,7 +12,7 @@ ##case gen acc abl dat -# $Id: latin.txt 27941 2017-12-11 19:50:30Z frosch $ +# $Id: latin.txt 27953 2017-12-27 21:55:30Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -1560,6 +1560,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Neglecta STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Vagatio globuli sinistri: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Annuere tabulam vagari trahendo globuli sinistri. Magnopere utilis est cum tangendo navigas in scrinio +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Claudere fenestras globulo muris dextro: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Facit ut globulus muris dexter fenestras claudat. Cave: hac electa, non apparent nuntia adiuvantia globulo dextro. STR_CONFIG_SETTING_AUTOSAVE :Servare automatice: {STRING} STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Eligere crebritatem automatice ludum servandi @@ -3316,8 +3318,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Accipit STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Monstrare index onerum acceptorum STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Onera accepta: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Haec statio monopolio benefit. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} monopolium emit in hoc oppido. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Haec statio monopolio benefit. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} monopolium emit in hoc oppido. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Censiones STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Monstrare censiones stationum @@ -3496,11 +3498,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Postulat STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Postulat: {YELLOW}{STRING.acc}{STRING}, {STRING.acc}{STRING}, {STRING.acc}{STRING} ############ range for requires ends -STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Postulat -STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING.acc} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}manet -STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING.acc}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING} +STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Postulat: +STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING.acc}{BLACK}{3:STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} manet{STRING} ############ range for produces starts STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Efficit: {YELLOW}{STRING.acc}{STRING} @@ -3569,6 +3569,11 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Removere omnia STR_GROUP_RENAME_CAPTION :{BLACK}Renominare gregem +STR_GROUP_PROFIT_THIS_YEAR :Lucrum huius anni: +STR_GROUP_PROFIT_LAST_YEAR :Lucrum anni prioris: +STR_GROUP_OCCUPANCY :Usus currens: +STR_GROUP_OCCUPANCY_VALUE :{NUM}% + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Vehicula Ferriviaria Nova STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Vehicula Ferriviaria Electrica Nova @@ -3600,6 +3605,7 @@ STR_PURCHASE_INFO_ALL_TYPES :Omnibus onerum STR_PURCHASE_INFO_ALL_BUT :Omnibus praeterquam {CARGO_LIST.dat} STR_PURCHASE_INFO_MAX_TE :{BLACK}Vis Tractionis Maxima: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Max. distantia volatus: {GOLD}{COMMA} tegulas +STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Typus aeroplani: {GOLD}{STRING} STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Index electionis vehiculorum ferriviariorum. Preme in vehiculum ut plura indicia monstrentur. Ctrl+Preme ut typus vehiculi celetur STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Index electionis vehiculorum viariorum. Preme in vehiculum ut plura indicia monstrentur. Ctrl+Preme ut typus vehiculi celetur @@ -3733,10 +3739,11 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :{G=f}hamaxam ma STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Pretium: {CURRENCY_LONG} Pondus: {WEIGHT_SHORT}{}Velocitas: {VELOCITY} Potestas: {POWER}{}Pretium Operandi: {CURRENCY_LONG} per annum{}Capacitas: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Pretium: {CURRENCY_LONG} Pondus: {WEIGHT_SHORT}{}Velocitas: {VELOCITY} Potestas: {POWER} V.T. Max.: {6:FORCE}{}Pretium Operandi: {4:CURRENCY_LONG} per annum{}Capacitas: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Pretium: {CURRENCY_LONG} Velocitas Maxima: {VELOCITY}{}Capacitas: {CARGO_LONG}, {CARGO_LONG}{}Pretium Operandi: {CURRENCY_LONG} per annum -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Pretium: {CURRENCY_LONG} Velocitas Maxima: {VELOCITY}{}Capacitas: {CARGO_LONG}{}Pretium Operandi: {CURRENCY_LONG} per annum -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Pretium: {CURRENCY_LONG} Velocitas Maxima: {VELOCITY} Range: {COMMA} tiles{}Capacitas: {CARGO_LONG}, {CARGO_LONG}{}Pretium Operandi: {CURRENCY_LONG} per annum -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Pretium: {CURRENCY_LONG} Velocitas Maxima: {VELOCITY} Range: {COMMA} tiles{}Capacitas: {CARGO_LONG}{}Pretium Operandi: {CURRENCY_LONG} per annum +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Pretium: {CURRENCY_LONG} Velocitas Maxima: {VELOCITY}{}Capacitas: {CARGO_LONG}{}Pretium Operandi: {CURRENCY_LONG} per annum +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Pretium: {CURRENCY_LONG} Velocitas Maxima: {VELOCITY}{}Typus Aeroplani: {STRING}{}Capacitas: {CARGO_LONG}, {CARGO_LONG}{}Pretium Operandi: {CURRENCY_LONG} per annum +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Pretium: {CURRENCY_LONG} Velocitas Maxima: {VELOCITY}{}Typus Aeroplani: {STRING}{}Capacitas: {CARGO_LONG}{}Pretium Operandi: {CURRENCY_LONG} per annum +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Pretium: {CURRENCY_LONG} Velocitas Maxima: {VELOCITY}{}Typus Aeroplani: {STRING} Max. Distantia Volatus: {COMMA} tegulas{}Capacitas: {CARGO_LONG}, {CARGO_LONG}{}Pretium Operandi: {CURRENCY_LONG} per annum +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Pretium: {CURRENCY_LONG} Velocitas Maxima: {VELOCITY}{}Typus Aeroplani: {STRING} Max. Distantia Volatus: {COMMA} tegulas{}Capacitas: {CARGO_LONG}{}Pretium Operandi: {CURRENCY_LONG} per annum # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Mutare {STRING} - {STRING} @@ -3859,7 +3866,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} ann{P u STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} ann{P us i} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Velocitas maxima: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Velocitas maxima: {LTBLUE}{VELOCITY} {BLACK}Max. distantia volatus: {LTBLUE}{COMMA} tegulas +STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Velocitas maxima: {LTBLUE}{VELOCITY} {BLACK}Typus aeroplani: {LTBLUE}{STRING} +STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Velocitas maxima: {LTBLUE}{VELOCITY} {BLACK}Typus aeroplani: {LTBLUE}{STRING} {BLACK}Max. distantia volatus: {LTBLUE}{COMMA} tegulas STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Pondus: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potestas: {LTBLUE}{POWER}{BLACK} Velocitas maxima: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Pondus: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potestas: {LTBLUE}{POWER}{BLACK} Velocitas maxima: {LTBLUE}{VELOCITY} {BLACK}V.T. Max.: {LTBLUE}{FORCE} diff --git a/src/lang/latvian.txt b/src/lang/latvian.txt index 7dc19132b7..fdc3a0dbe1 100644 --- a/src/lang/latvian.txt +++ b/src/lang/latvian.txt @@ -12,7 +12,7 @@ ##case kas -# $Id: latvian.txt 27777 2017-03-11 16:49:51Z frosch $ +# $Id: latvian.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -2628,7 +2628,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Uzņēmumam pie STR_ABOUT_OPENTTD :{WHITE}Par OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Oriģināla autortiesības {COPYRIGHT} 1995 Kriss Sojers. Visas tiesības paturētas STR_ABOUT_VERSION :{BLACK}OpenTTD versija {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 OpenTTD darba grupa +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 OpenTTD darba grupa # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Saglabāt spēli @@ -3046,8 +3046,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Pieņem STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Rādīt pieņemamo kravu sarakstu STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Pieņem: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Šai stacijai pieder izņēmuma pārvadājumu tiesības šajā pilsētā. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} ir nopirktas izņēmuma pārvadājumu tiesības šajā pilsētā. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Šai stacijai pieder izņēmuma pārvadājumu tiesības šajā pilsētā. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} ir nopirktas izņēmuma pārvadājumu tiesības šajā pilsētā. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Vērtējumi STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Rādīt stacijas vērtējumus @@ -3293,6 +3293,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Novākt visus t STR_GROUP_RENAME_CAPTION :{BLACK}Pārdēvēt grupu + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Jauni dzelzceļa transportlīdzekļi STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Jauni elektrificētā dzelzceļa transportlīdzekļi @@ -3457,10 +3458,7 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :magleva lokomot STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Cena: {CURRENCY_LONG} Svars: {WEIGHT_SHORT}{}Ātrums: {VELOCITY} Jauda: {POWER}{}Kārtējās izmaksas: {CURRENCY_LONG} gadā{}Ietilpība: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Cena: {CURRENCY_LONG} Svars: {WEIGHT_SHORT}{}Ātrums: {VELOCITY} Jauda: {POWER} Maks. spēks: {6:FORCE}{}Kārtējās izmaksas: {4:CURRENCY_LONG} gadā{}Ietilpība: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Cena: {CURRENCY_LONG} Maks. ātrums: {VELOCITY}{}Ietilpība: {CARGO_LONG}, {CARGO_LONG}{}Kārtējās izmaksas: {CURRENCY_LONG} gadā -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Cena: {CURRENCY_LONG} Maks. ātrums: {VELOCITY}{}Ietilpība: {CARGO_LONG}{}Kārtējās izmaksas: {CURRENCY_LONG} gadā -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Cena: {CURRENCY_LONG} Maks. ātrums: {VELOCITY} Apgabals: {COMMA} lauciņi{}Ietilpība: {CARGO_LONG}, {CARGO_LONG}{}Kārtējās izmaksas: {CURRENCY_LONG} gadā -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Cena: {CURRENCY_LONG} Maks. ātrums: {VELOCITY} Apgabals: {COMMA} lauciņi{}Ietilpība: {CARGO_LONG}{} Kārtējās izmaksas : {CURRENCY_LONG} gadā +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Cena: {CURRENCY_LONG} Maks. ātrums: {VELOCITY}{}Ietilpība: {CARGO_LONG}{}Kārtējās izmaksas: {CURRENCY_LONG} gadā # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Nomainīt {STRING} - {STRING} @@ -3580,7 +3578,6 @@ STR_VEHICLE_INFO_AGE :{COMMA} gad{P s STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} gad{P s i u} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Maks. ātrums: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Maks. ātrums: {LTBLUE}{VELOCITY} {BLACK}Apgabals: {LTBLUE}{COMMA} flīzes STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Svars: {LTBLUE}{WEIGHT_SHORT} {BLACK}Jauda: {LTBLUE}{POWER}{BLACK} Maks. ātrums: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Svars: {LTBLUE}{WEIGHT_SHORT} {BLACK}Jauda: {LTBLUE}{POWER}{BLACK} Maks. ātrums: {LTBLUE}{VELOCITY} {BLACK}Maks. spēks: {LTBLUE}{FORCE} diff --git a/src/lang/lithuanian.txt b/src/lang/lithuanian.txt index 4436f0fda2..00cbe5e473 100644 --- a/src/lang/lithuanian.txt +++ b/src/lang/lithuanian.txt @@ -12,7 +12,7 @@ ##case kas ko kam ka kuo kur kreip -# $Id: lithuanian.txt 27865 2017-05-03 20:43:22Z frosch $ +# $Id: lithuanian.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -2906,7 +2906,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Kompanijos žem STR_ABOUT_OPENTTD :{WHITE}Apie OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Pradinės versijos teisės priklauso {COPYRIGHT} 1995 Chris Sawyer, Visos teisės saugomos STR_ABOUT_VERSION :{BLACK}OpenTTD versija {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 OpenTTD komanda +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 OpenTTD komanda # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Išsaugoti žaidimą @@ -3331,8 +3331,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Priima STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Rodyti priimamų krovinių sąrašą STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Priima: {WHITE}{CARGO_LIST.ka} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Šiai stotelei priklauso išskirtinės šio miesto pervežimo teisės -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} įsigijo išskirtines pervežimo teises šiame mieste. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Šiai stotelei priklauso išskirtinės šio miesto pervežimo teisės +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} įsigijo išskirtines pervežimo teises šiame mieste. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Reitingai STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Rodyti stoties reitingus @@ -3579,6 +3579,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Iškelti visas STR_GROUP_RENAME_CAPTION :{BLACK}Pervadinti grupę + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nauji lokomotyvai STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nauji elektriniai lokomotyvai @@ -3779,10 +3780,7 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE.kur :„Maglev“ lo STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Kaina: {CURRENCY_LONG} Svoris: {WEIGHT_SHORT}{}Greitis: {VELOCITY} Galia: {POWER}{}Eksploatavimo išlaidos: {CURRENCY_LONG} per metus{}Talpa: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Kaina: {CURRENCY_LONG} Svoris: {WEIGHT_SHORT}{}Greitis: {VELOCITY} Galia: {POWER} Maks. T.E.: {6:FORCE}{}Einamosios išlaidos: {4:CURRENCY_LONG}/yr{}Talpa: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Kaina: {CURRENCY_LONG} Didž. greitis: {VELOCITY}{}Talpa: {CARGO_LONG}, {CARGO_LONG}{}Eksploatavimo išlaidos: {CURRENCY_LONG} per metus -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Kaina: {CURRENCY_LONG} Didž. Greitis: {VELOCITY}{}Talpa: {CARGO_LONG}{}Eksploatacijos išlaidos: {CURRENCY_LONG}/metams -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Kaina: {CURRENCY_LONG} Didž. greitis: {VELOCITY} Nuotolis: {COMMA} langeliai{}Talpa: {CARGO_LONG}, {CARGO_LONG}{}Eksploatavimo išlaidos: {CURRENCY_LONG} per metus -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Kaina: {CURRENCY_LONG} Didž. greitis: {VELOCITY} Nuotolis: {COMMA} langeliai{}Talpa: {CARGO_LONG}{}Eksploatavimo išlaidos: {CURRENCY_LONG} per metus +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Kaina: {CURRENCY_LONG} Didž. Greitis: {VELOCITY}{}Talpa: {CARGO_LONG}{}Eksploatacijos išlaidos: {CURRENCY_LONG}/metams # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Keisti tr. priemones {STRING} - {STRING} @@ -3906,7 +3904,6 @@ STR_VEHICLE_INFO_AGE :{COMMA} met{P a STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} met{P ai ai ų} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Didž. greitis: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Didž. greitis: {LTBLUE}{VELOCITY} {BLACK}Nuotolis: {LTBLUE}{COMMA} langeliai STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Svoris: {LTBLUE}{WEIGHT_SHORT} {BLACK}Galia: {LTBLUE}{POWER}{BLACK} Didž. greitis: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Svoris: {LTBLUE}{WEIGHT_SHORT} {BLACK}Galia: {LTBLUE}{POWER}{BLACK} Didž. greitis: {LTBLUE}{VELOCITY} {BLACK}Didž. traukos jėga: {LTBLUE}{FORCE} diff --git a/src/lang/luxembourgish.txt b/src/lang/luxembourgish.txt index 1c54347d34..f7288ad7e4 100644 --- a/src/lang/luxembourgish.txt +++ b/src/lang/luxembourgish.txt @@ -10,7 +10,7 @@ ##grflangid 0x23 -# $Id: luxembourgish.txt 27941 2017-12-11 19:50:30Z frosch $ +# $Id: luxembourgish.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -1372,6 +1372,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Aus STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Lénksklickscroll: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Schalt d'Scrollen vun der Kaart un, wann se mat der lénker Maustast gezunn gëtt +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Fënster mat rietsem Mausklick zouman: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Mécht eng Fenster mat engem Rietsklick zou, wann een an d'Fënster klickt. Schalt Tooltips aus déi per Rietsklick gemet ginn! STR_CONFIG_SETTING_AUTOSAVE :Autospäicheren: {STRING} STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Setz den Interval tëschend automateschen Späicherstänn @@ -2689,7 +2691,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Land am Firmenb STR_ABOUT_OPENTTD :{WHITE}Iwwert OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original Copyright {COPYRIGHT} 1995 Chris Sawyer, All Rechter virbehalen STR_ABOUT_VERSION :{BLACK}OpenTTD Versioun {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 D'OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 D'OpenTTD team # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spill späicheren @@ -3114,8 +3116,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Akzepté STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Weis d'Lëscht vun den akzptéierten Wueren STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Akzeptéiert: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Des Statioun huet exklusiv Transportrechter an deser Stad -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} huet exklusiv Transportrechter an deser Stad kaf. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Des Statioun huet exklusiv Transportrechter an deser Stad +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} huet exklusiv Transportrechter an deser Stad kaf. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Bewäertungen STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Weis d'Statiounsbewäertungen @@ -3294,11 +3296,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Brauch: STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Brauch: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING} ############ range for requires ends -STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Brauch -STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}um waarden -STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING} +STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Brauch: +STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} um waarden{STRING} ############ range for produces starts STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produzéiert: {YELLOW}{STRING}{STRING} @@ -3367,6 +3367,11 @@ STR_GROUP_REMOVE_ALL_VEHICLES :All Gefierer ew STR_GROUP_RENAME_CAPTION :{BLACK}Eng Grupp ëmbenennen +STR_GROUP_PROFIT_THIS_YEAR :Profit dëst Joer: +STR_GROUP_PROFIT_LAST_YEAR :Profit lescht Joer: +STR_GROUP_OCCUPANCY :Aktuell Benotzung: +STR_GROUP_OCCUPANCY_VALUE :{NUM}% + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nei Zich STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nei Elektrozich @@ -3398,6 +3403,7 @@ STR_PURCHASE_INFO_ALL_TYPES :All Wuerentyp STR_PURCHASE_INFO_ALL_BUT :Alles ausser {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Max. Zéikraaft: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Distanz: {GOLD}{COMMA} Felder +STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Fliger Typ: {GOLD}{STRING} STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Zuchlëscht - klick op en Zuch fir Informatiounen. Ctrl+Klick fir tëscht dem Verstoppen hin an hier ze sprangen STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Stroossegefierlëscht - klick op en Gefier fir Informatiounen. Ctrl+Klick fir tëscht dem Verstoppen hin an hier ze sprangen @@ -3531,10 +3537,11 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :Magnéitbunnlok STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Käschten: {CURRENCY_LONG} Gewiicht: {WEIGHT_SHORT}{}Geschwindegkeet: {VELOCITY} Kraaft: {POWER}{}Betribskäschten {CURRENCY_LONG}/Jr{}Kapazitéit: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Käschten: {CURRENCY_LONG} Gewicht: {WEIGHT_SHORT}{}Geschw.: {VELOCITY} Kraaft: {POWER} Max. T.E.: {6:FORCE}{}Betribskäschten: {4:CURRENCY_LONG}/Jr{}Kapazitéit: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Käschten: {CURRENCY_LONG} Max. Geschwindegkeet: {VELOCITY}{}Kapazitéit: {CARGO_LONG}, {CARGO_LONG}{}Betribskäschten {CURRENCY_LONG}/Joer -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Käschten: {CURRENCY_LONG} Max. Geschwindegkeet: {VELOCITY}{}Kapazitéit: {CARGO_LONG}{}Betribskäschten: {CURRENCY_LONG}/Joer -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Käschten: {CURRENCY_LONG} Max. Geschw.: {VELOCITY} Distanz: {COMMA} Felder{}Kapazitéit: {CARGO_LONG}, {CARGO_LONG}{}Betribskäschten: {CURRENCY_LONG}/Jr -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Käschten: {CURRENCY_LONG} Max. Geschw.: {VELOCITY} Distanz: {COMMA} Felder{}Kapazitéit: {CARGO_LONG}{}Betribskäschten: {CURRENCY_LONG}/Jr +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Käschten: {CURRENCY_LONG} Max. Geschwindegkeet: {VELOCITY}{}Kapazitéit: {CARGO_LONG}{}Betribskäschten: {CURRENCY_LONG}/Jr +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Käschten: {CURRENCY_LONG} Max. Geschw.: {VELOCITY}{}Fliger Typ: {STRING}{}Kapazitéit: {CARGO_LONG}, {CARGO_LONG}{}Betribskäschten: {CURRENCY_LONG}/Jr +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Käschten: {CURRENCY_LONG} Max. Geschw.: {VELOCITY}{}Fliger Typ: {STRING}{}Kapazitéit: {CARGO_LONG}{}Betribskäschten: {CURRENCY_LONG}/Jr +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Käschten: {CURRENCY_LONG} Max. Geschw.: {VELOCITY}{}Fliger Typ: {STRING} Reeschwäit: {COMMA} Felder{}Kapazitéit: {CARGO_LONG}, {CARGO_LONG}{}Betribskäschten: {CURRENCY_LONG}/Jr +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Käschten: {CURRENCY_LONG} Max. Geschw.: {VELOCITY}{}Fliger Typ: {STRING} Reechwäit: {COMMA} Felder{}Kapazitéit: {CARGO_LONG}{}Betribskäschten: {CURRENCY_LONG}/Jr # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Ersetz {STRING} - {STRING} @@ -3657,7 +3664,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} Joer ({ STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} Joer ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Max. Geschwindegkeet: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Max. Geschw.: {LTBLUE}{VELOCITY} {BLACK}Distanz: {LTBLUE}{COMMA} Felder +STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Max. Geschw.: {LTBLUE}{VELOCITY} {BLACK}Fliger Typ: {LTBLUE}{STRING} +STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Max. Geschw.: {LTBLUE}{VELOCITY} {BLACK}Fliger Typ: {LTBLUE}{STRING} {BLACK}Reechwäit: {LTBLUE}{COMMA} Felder STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Gewiicht: {LTBLUE}{WEIGHT_SHORT} {BLACK}Kraaft: {LTBLUE}{POWER}{BLACK} Max. Geschwindegkeet: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Gewiicht: {LTBLUE}{WEIGHT_SHORT} {BLACK}Kraaft: {LTBLUE}{POWER}{BLACK} Max. Geschwindegkeet: {LTBLUE}{VELOCITY} {BLACK}Max. T.E.: {LTBLUE}{FORCE} diff --git a/src/lang/malay.txt b/src/lang/malay.txt index dca4061f37..4d362fc8c8 100644 --- a/src/lang/malay.txt +++ b/src/lang/malay.txt @@ -10,7 +10,7 @@ ##grflangid 0x3c -# $Id: malay.txt 27941 2017-12-11 19:50:30Z frosch $ +# $Id: malay.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -2406,7 +2406,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Tanah dimiliki STR_ABOUT_OPENTTD :{WHITE}Tentang OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Hakcipta Asal {COPYRIGHT} 1995 Chris Sawyer, Hakcipta terpelihara STR_ABOUT_VERSION :{BLACK}OpenTTD versi {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 The OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 The OpenTTD team # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Simpankan Permainan @@ -2957,7 +2957,7 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Memerluk STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Memerlukan: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING} ############ range for requires ends -STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Diperlukan +STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Diperlukan: ############ range for produces starts STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Mengeluarkan: {YELLOW}{STRING}{STRING} @@ -3024,6 +3024,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Buang semua ken STR_GROUP_RENAME_CAPTION :{BLACK}Namakan semula kenderaan + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Keretapi Baru STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Keretapi Elektrik Baru @@ -3188,10 +3189,7 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :keretapi maglev STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Kos: {CURRENCY_LONG} Berat: {WEIGHT_SHORT}{}Kelajuan: {VELOCITY} Kuasa: {POWER}{}Kos Pengendalian: {CURRENCY_LONG}/thn{}Kapasiti: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Kos: {CURRENCY_LONG} Berat: {WEIGHT_SHORT}{}Kelajuan: {VELOCITY} Kuasa: {POWER} Maks. E.K.: {6:FORCE}{}Kos Pengendalian: {4:CURRENCY_LONG}/thn{}Kapasiti: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Kos: {CURRENCY_LONG} Kelajuan Maks.: {VELOCITY}{}Kapasiti: {CARGO_LONG}, {CARGO_LONG}{}Kos Pengendalian: {CURRENCY_LONG}/thn -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Kos: {CURRENCY_LONG} Kelajuan Maks.: {VELOCITY}{}Kapasiti: {CARGO_LONG}{}Kos Pengendalian: {CURRENCY_LONG}/thn -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Kos: {CURRENCY_LONG}Kelajuan Maks.: {VELOCITY} Jarak: {COMMA} petak{}Kapasiti: {CARGO_LONG}, {CARGO_LONG}{}Kos berjalan: {CURRENCY_LONG}/thn -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Kos: {CURRENCY_LONG} Kelajuan Maks.: {VELOCITY} Jarak: {COMMA} petak{}Kapasiti: {CARGO_LONG}{}Kos berjalan: {CURRENCY_LONG}/thn +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Kos: {CURRENCY_LONG} Kelajuan Maks.: {VELOCITY}{}Kapasiti: {CARGO_LONG}{}Kos Pengendalian: {CURRENCY_LONG}/thn # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Gantikan {STRING} - {STRING} @@ -3306,7 +3304,6 @@ STR_VEHICLE_INFO_AGE :{COMMA} tahun ( STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} tahun ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Kelajuan Maks.: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Kelajuan Maks.: {LTBLUE}{VELOCITY} {BLACK}Jarak: {LTBLUE}{COMMA} petak STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Berat: {LTBLUE}{WEIGHT_SHORT} {BLACK}Kuasa: {LTBLUE}{POWER}{BLACK} Kelajuan Maks.: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Berat: {LTBLUE}{WEIGHT_SHORT} {BLACK}Kuasa: {LTBLUE}{POWER}{BLACK} Max. speed: {LTBLUE}{VELOCITY} {BLACK}T.E. Maks.: {LTBLUE}{FORCE} diff --git a/src/lang/norwegian_bokmal.txt b/src/lang/norwegian_bokmal.txt index 0b1dbe1989..422e7ee569 100644 --- a/src/lang/norwegian_bokmal.txt +++ b/src/lang/norwegian_bokmal.txt @@ -12,7 +12,7 @@ ##case small -# $Id: norwegian_bokmal.txt 27941 2017-12-11 19:50:30Z frosch $ +# $Id: norwegian_bokmal.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -1375,6 +1375,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Av STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Venstre-klikk rulling: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Tillat rulling av kartet ved å dra det med den venstre museknappen. Dette er spesielt nyttig når du bruker en berøringsskjerm +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Lukk vinduet med høyreklikk: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Lukker et vindu ved å høyreklikke i det. Deaktiverer verktøytipset med høyreklikk! STR_CONFIG_SETTING_AUTOSAVE :Autolagring: {STRING} STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Velg intervall mellom automatiske lagringer av spillet @@ -2693,7 +2695,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Firma-eid lando STR_ABOUT_OPENTTD :{WHITE}Om OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Opprinnelig opphavsbeskyttet {COPYRIGHT} 1995 Chris Sawyer, Alle rettigheter reservert STR_ABOUT_VERSION :{BLACK}OpenTTD versjon {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 OpenTTD-teamet +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 OpenTTD-teamet # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Lagre spill @@ -3118,8 +3120,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Godtar STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Vis liste over godtatte varer STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Godtar: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Denne stasjonen har eksklusive transportrettigheter i denne byen. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} kjøpte eksklusive transportrettigheter i denne byen. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Denne stasjonen har eksklusive transportrettigheter i denne byen. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} kjøpte eksklusive transportrettigheter i denne byen. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Vurderinger STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Vis stasjonsvurdering @@ -3279,8 +3281,8 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL :{WHITE}{CURRENC # Industry directory STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Industrier STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Ingen - -STR_INDUSTRY_DIRECTORY_ITEM :{ORANGE}{INDUSTRY}{BLACK} ({CARGO_LONG}{STRING}){YELLOW} ({COMMA}{NBSP}% transportert) -STR_INDUSTRY_DIRECTORY_ITEM_TWO :{ORANGE}{INDUSTRY}{BLACK} ({CARGO_LONG}{STRING}/{CARGO_LONG}{STRING}){YELLOW} ({COMMA}{NBSP}%/{COMMA}{NBSP}% transportert) +STR_INDUSTRY_DIRECTORY_ITEM :{ORANGE}{INDUSTRY}{BLACK} ({CARGO_LONG}{STRING}){YELLOW} ({COMMA}% transportert) +STR_INDUSTRY_DIRECTORY_ITEM_TWO :{ORANGE}{INDUSTRY}{BLACK} ({CARGO_LONG}{STRING}/{CARGO_LONG}{STRING}){YELLOW} ({COMMA}%/{COMMA}% transportert) STR_INDUSTRY_DIRECTORY_ITEM_NOPROD :{ORANGE}{INDUSTRY} STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Industrinavn - klikk på navn for å gå til industri. Ctrl+klikk åpner et nytt tilleggsvindu over industrien @@ -3298,11 +3300,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Trenger: STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Trenger: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING} ############ range for requires ends -STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Krever -STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}venter -STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING} +STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Krever: +STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} venter{STRING} ############ range for produces starts STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produserer: {YELLOW}{STRING}{STRING} @@ -3371,6 +3371,11 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Fjern alle kjø STR_GROUP_RENAME_CAPTION :{BLACK}Endre navn på gruppe +STR_GROUP_PROFIT_THIS_YEAR :Profitt i år: +STR_GROUP_PROFIT_LAST_YEAR :Profitt i fjor: +STR_GROUP_OCCUPANCY :Gjeldende bruk: +STR_GROUP_OCCUPANCY_VALUE :{NUM} % + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nye tog/vogner for jernbane STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nye tog/vogner for elektrisk jernbane @@ -3402,6 +3407,7 @@ STR_PURCHASE_INFO_ALL_TYPES :Alle varetyper STR_PURCHASE_INFO_ALL_BUT :Alt utenom {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Maks trekkraft: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Rekkevidde: {GOLD}{COMMA} ruter +STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Flytype: {GOLD}{STRING} STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Liste over tog/vogner - klikk på tog/vogn for mer informasjon. Ctrl+klikk for å skjule/vise denne typen STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Liste over kjøretøy - klikk på kjøretøy for mer informasjon. Ctrl+klikk for å skjule/vise kjøretøytypen @@ -3535,10 +3541,11 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :{G=neuter}magle STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Kostnad: {CURRENCY_LONG} Vekt: {WEIGHT_SHORT}{}Hastighet: {VELOCITY} Kraft: {POWER}{}Driftskostnader: {CURRENCY_LONG}/år{}Kapasitet: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Kostnad: {CURRENCY_LONG} Vekt: {WEIGHT_SHORT}{}Hastighet: {VELOCITY} Kraft: {POWER} Maks trekkraft: {6:FORCE}{}Vedlikehold: {4:CURRENCY_LONG}/år{}Kapasitet: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Kostnad: {CURRENCY_LONG} Maks hastighet: {VELOCITY}{}Kapasitet: {CARGO_LONG}, {CARGO_LONG}{}Driftskostnader: {CURRENCY_LONG}/år -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Kostnad: {CURRENCY_LONG} Maks hastighet: {VELOCITY}{}Kapasitet: {CARGO_LONG}{}Driftskostnader: {CURRENCY_LONG}/år -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Kostnad: {CURRENCY_LONG} Maks hastighet: {VELOCITY} Rekkevidde: {COMMA} ruter{}Kapasitet: {CARGO_LONG}, {CARGO_LONG}{}Driftskostnad: {CURRENCY_LONG}/år -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Kostnad: {CURRENCY_LONG} Maks hastighet: {VELOCITY} Rekkevidde: {COMMA} ruter{}Kapasitet: {CARGO_LONG}{}Driftskostnad: {CURRENCY_LONG}/år +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Kostnad: {CURRENCY_LONG} Maks hastighet: {VELOCITY}{}Kapasitet: {CARGO_LONG}{}Driftskostnader: {CURRENCY_LONG}/år +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Kostnad: {CURRENCY_LONG} Maks. hastighet: {VELOCITY}{}Flytype: {STRING}{}Kapasitet: {CARGO_LONG}, {CARGO_LONG}{}Driftskostnader: {CURRENCY_LONG}/år +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Kostnad: {CURRENCY_LONG} Maks. hastighet: {VELOCITY}{}Flytype: {STRING}{}Kapasitet: {CARGO_LONG}{}Driftskostnad: {CURRENCY_LONG}/år +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Kostnad: {CURRENCY_LONG} Maks. hastighet: {VELOCITY}{}Flytype: {STRING} Rekkevidde: {COMMA} ruter{}kapasitet: {CARGO_LONG}, {CARGO_LONG}{}Driftskostnader: {CURRENCY_LONG}/år +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Kostnad: {CURRENCY_LONG} Maks. hastighet: {VELOCITY}{}Flytype: {STRING} Rekkevidde: {COMMA} ruter{}Kapasitet: {CARGO_LONG}{}Driftskostnad: {CURRENCY_LONG}/år # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Erstatte {STRING} - {STRING} @@ -3661,7 +3668,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} år ({C STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} år ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Maks hastighet: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Maks hastighet: {LTBLUE}{VELOCITY} {BLACK}Rekkevidde: {LTBLUE}{COMMA} ruter +STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Maks. hastighet: {LTBLUE}{VELOCITY} {BLACK}Flytype: {LTBLUE}{STRING} +STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Maks. hastighet: {LTBLUE}{VELOCITY} {BLACK}Flytype: {LTBLUE}{STRING} {BLACK}Rekkevidde: {LTBLUE}{COMMA} ruter STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Vekt: {LTBLUE}{WEIGHT_SHORT} {BLACK}Kraft: {LTBLUE}{POWER}{BLACK} Maks hastighet: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Vekt: {LTBLUE}{WEIGHT_SHORT} {BLACK}Kraft: {LTBLUE}{POWER}{BLACK} Maks hastighet: {LTBLUE}{VELOCITY} {BLACK}Maks trekkraft: {LTBLUE}{FORCE} diff --git a/src/lang/norwegian_nynorsk.txt b/src/lang/norwegian_nynorsk.txt index 714eb2aa5e..96b00c9c88 100644 --- a/src/lang/norwegian_nynorsk.txt +++ b/src/lang/norwegian_nynorsk.txt @@ -12,7 +12,7 @@ ##case small -# $Id: norwegian_nynorsk.txt 27777 2017-03-11 16:49:51Z frosch $ +# $Id: norwegian_nynorsk.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -2608,7 +2608,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Feltet eigast a STR_ABOUT_OPENTTD :{WHITE}Om OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Opphaveleg opphavsbeskytta av {COPYRIGHT} 1995 Chris Sawyer, Alle rettigheiter reservert STR_ABOUT_VERSION :{BLACK}OpenTTD versjon {REV}. Oversett til nynorsk av Thor Morten Skogrand med fleire. -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 OpenTTD-teamet +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 OpenTTD-teamet # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Lagre spel @@ -3029,8 +3029,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Aksepter STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Syne liste over godtekne varer STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Godtek: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Eigaren av stasjonen har eksklusive transportrettar i den her byen. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} har kjøp eksklusive transportrettar i byen. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Eigaren av stasjonen har eksklusive transportrettar i den her byen. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} har kjøp eksklusive transportrettar i byen. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Vurderingar STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Syne stasjonsvurdering @@ -3277,6 +3277,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Fjern alle køy STR_GROUP_RENAME_CAPTION :{BLACK}Gje nytt namn til ei gruppe + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nye tog/vogner for jernbane STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nytt elektrisk tog @@ -3441,10 +3442,7 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :maglev-lokomoti STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Kostnad: {CURRENCY_LONG} Vekt: {WEIGHT_SHORT}{}Hastigheit: {VELOCITY} Kraft: {POWER}{}Driftskostnader: {CURRENCY_LONG}/år{}Kapasitet: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Pris: {CURRENCY_LONG} Vekt: {WEIGHT_SHORT}{}Hastigheit: {VELOCITY} Kraft: {POWER} Maks. trekkraft: {6:FORCE}{}Driftskostnad: {4:CURRENCY_LONG}/yr{}Kapasitet: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Pris: {CURRENCY_LONG} Maks. hastigheit: {VELOCITY}{}Kapasitet: {CARGO_LONG}, {CARGO_LONG}{}Driftskostnad: {CURRENCY_LONG}/år -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Pris: {CURRENCY_LONG} Maks. hastigheit: {VELOCITY}{}Kapasitet: {CARGO_LONG}{}Driftskostnad: {CURRENCY_LONG}/år -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Kostnad: {CURRENCY_LONG} Maks. fart: {VELOCITY} Rekkevidde: {COMMA} ruter{}Kapasitet: {CARGO_LONG}, {CARGO_LONG}{}Driftskostnad: {CURRENCY_LONG}/år -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Kostnad: {CURRENCY_LONG} Maks. fart: {VELOCITY} Rekkevidde: {COMMA} ruter{}Kapasitet: {CARGO_LONG}{}Driftskostnad: {CURRENCY_LONG}/år +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Pris: {CURRENCY_LONG} Maks. hastigheit: {VELOCITY}{}Kapasitet: {CARGO_LONG}{}Driftskostnad: {CURRENCY_LONG}/år # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Erstatt {STRING} - {STRING} @@ -3566,7 +3564,6 @@ STR_VEHICLE_INFO_AGE :{COMMA} år ({C STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} år ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Maks. hastigheit: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Maks fart: {LTBLUE}{VELOCITY} {BLACK}Rekkevidde: {LTBLUE}{COMMA} ruter STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Vekt: {LTBLUE}{WEIGHT_SHORT} {BLACK}Kraft: {LTBLUE}{POWER}{BLACK} Maks. hastigheit: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Vekt: {LTBLUE}{WEIGHT_SHORT} {BLACK}Kraft: {LTBLUE}{POWER}{BLACK} Maks. hastigheit: {LTBLUE}{VELOCITY} {BLACK}Maks. trekkraft: {LTBLUE}{FORCE} diff --git a/src/lang/polish.txt b/src/lang/polish.txt index b36b002d26..ece3e59515 100644 --- a/src/lang/polish.txt +++ b/src/lang/polish.txt @@ -12,7 +12,7 @@ ##case d c b n m w -# $Id: polish.txt 27941 2017-12-11 19:50:30Z frosch $ +# $Id: polish.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -1752,6 +1752,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Wyłączona STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Przewijanie lewym przyciskiem myszy: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Włącz przewijanie mapy przeciąganiem lewym przyciskiem myszki. Jest to przydatne podczas używania ekranu dotykowego do przewijania +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Zamknij okno prawym przyciskiem: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Zamyka okno poprzez kliknięcie prawym przyciskiem. Wyłącza pomoc kontekstową! STR_CONFIG_SETTING_AUTOSAVE :Autozapis: {STRING} STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Częstotliwość automatycznego zapisu stanu gry @@ -3069,7 +3071,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Teren w posiada STR_ABOUT_OPENTTD :{WHITE}OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Prawa Autorskie {COPYRIGHT} 1995 Chris Sawyer, Wszelkie prawa zastrzeżone STR_ABOUT_VERSION :{BLACK}OpenTTD wersja {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 Zespół OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 Zespół OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Zapisz grę @@ -3494,8 +3496,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Akceptuj STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Pokaż listę akceptowanych ładunków STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Akceptuje: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Ta stacja posiada wyłączność na usługi transportowe w tym mieście. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :Firma {YELLOW}{COMPANY}{BLACK} kupiła wyłączność na usługi transportowe w tym mieście. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Ta stacja posiada wyłączność na usługi transportowe w tym mieście. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :Firma {YELLOW}{COMPANY}{BLACK} kupiła wyłączność na usługi transportowe w tym mieście. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Oceny STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Pokaż ocenę stacji @@ -3674,11 +3676,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Wymaga: STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Wymaga: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING} ############ range for requires ends -STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Potrzebuje -STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}oczekuje -STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING} +STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Potrzebuje: +STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} oczekuje{STRING} ############ range for produces starts STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produkuje: {YELLOW}{STRING}{STRING} @@ -3747,6 +3747,11 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Usuń wszystkie STR_GROUP_RENAME_CAPTION :{BLACK}Zmień nazwę grupy +STR_GROUP_PROFIT_THIS_YEAR :Zysk w tym roku: +STR_GROUP_PROFIT_LAST_YEAR :Zysk w zeszłym roku: +STR_GROUP_OCCUPANCY :Aktualne wykorzystanie: +STR_GROUP_OCCUPANCY_VALUE :{NUM}% + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nowe pociągi STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nowe elektryczne pojazdy szynowe @@ -3778,6 +3783,7 @@ STR_PURCHASE_INFO_ALL_TYPES :wszystkie typy STR_PURCHASE_INFO_ALL_BUT :wszystko oprócz {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Maks. siła pociągowa: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Zasięg: {GOLD}{COMMA} pól +STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Typ samolotu: {GOLD}{STRING} STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Lista wyboru pociągów - kliknij na pojeździe, aby uzyskać informacje. Ctrl+klik przełącza ukrywanie typu pojazdu STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Lista wyboru pojazdów drogowych - kliknij na pojeździe, aby uzyskać więcej informacji. Ctrl+klik przełącza ukrywanie typu pojazdu @@ -3917,10 +3923,11 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE.b :lokomotywę Mag STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Koszt: {CURRENCY_LONG} Masa: {WEIGHT_SHORT}{}Prędkość: {VELOCITY} Moc: {POWER}{}Koszt utrzymania: {CURRENCY_LONG}/rok{}Ładowność: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Koszt: {CURRENCY_LONG} Masa: {WEIGHT_SHORT}{}Prędkość: {VELOCITY} Moc: {POWER} Maksymalna siła pociągowa: {6:FORCE}{}Koszt utrzymania: {4:CURRENCY_LONG}/rok{}Ładowność: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Koszt: {CURRENCY_LONG} Prędkość maksymalna: {VELOCITY}{}Ładowność: {CARGO_LONG}, {CARGO_LONG}{}Koszt utrzymania: {CURRENCY_LONG}/rok -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Koszt: {CURRENCY_LONG} Prędkość maksymalna: {VELOCITY}{}Ładowność: {CARGO_LONG}{}Koszt utrzymania: {CURRENCY_LONG}/rok -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Koszt: {CURRENCY_LONG} Prędkość maksymalna: {VELOCITY} Zasięg: {COMMA} pól{}Ładowność: {CARGO_LONG}, {CARGO_LONG}{}Koszt utrzymania: {CURRENCY_LONG}/rok -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Koszt: {CURRENCY_LONG} Prędkość maksymalna: {VELOCITY} Zasięg: {COMMA} pól{}Ładowność: {CARGO_LONG}{}Koszt utrzymania: {CURRENCY_LONG}/rok +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Koszt: {CURRENCY_LONG} Prędkość maksymalna: {VELOCITY}{}Ładowność: {CARGO_LONG}{}Koszt utrzymania: {CURRENCY_LONG}/rok +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Koszt: {CURRENCY_LONG} Max. prędkość: {VELOCITY}{}Typ samolotu: {STRING}{}Ładowność: {CARGO_LONG}, {CARGO_LONG}{}Koszt utrzymania: {CURRENCY_LONG}/rok +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Koszt: {CURRENCY_LONG} Max. prędkość: {VELOCITY}{}Typ samolotu: {STRING}{}Ładowność: {CARGO_LONG}{}Koszt utrzymania: {CURRENCY_LONG}/rok +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Koszt: {CURRENCY_LONG} Max. prędkość: {VELOCITY}{}Typ samolotu: {STRING} Zasięg: {COMMA}{}Ładowność: {CARGO_LONG}, {CARGO_LONG}{}Koszt utrzymania: {CURRENCY_LONG}/rok +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Koszt: {CURRENCY_LONG} Max. prędkość: {VELOCITY}{}Typ samolotu: {STRING} Zasięg: {COMMA}{}Ładowność: {CARGO_LONG}{}Koszt utrzymania: {CURRENCY_LONG}/rok # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Zastąp {STRING} - {STRING} @@ -4043,7 +4050,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} {P rok STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} {P rok lata lat} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Prędkość maksymalna: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Prędkość maksymalna: {LTBLUE}{VELOCITY} {BLACK}Zasięg: {LTBLUE}{COMMA} pól +STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Max. prędkość: {LTBLUE}{VELOCITY} {BLACK}Typ samolotu: {LTBLUE}{STRING} +STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Max. prędkość: {LTBLUE}{VELOCITY} {BLACK}Typ samolotu: {LTBLUE}{STRING} {BLACK}Zasięg: {LTBLUE}{COMMA} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Masa: {LTBLUE}{WEIGHT_SHORT} {BLACK}Moc: {LTBLUE}{POWER}{BLACK} Prędkość maksymalna: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Masa: {LTBLUE}{WEIGHT_SHORT} {BLACK}Moc: {LTBLUE}{POWER}{BLACK} Prędkość maksymalna: {LTBLUE}{VELOCITY} {BLACK}Maksymalna siła pociągowa: {LTBLUE}{FORCE} diff --git a/src/lang/portuguese.txt b/src/lang/portuguese.txt index c56816b0ae..97790e8462 100644 --- a/src/lang/portuguese.txt +++ b/src/lang/portuguese.txt @@ -11,7 +11,7 @@ ##gender n m f mp fp -# $Id: portuguese.txt 27941 2017-12-11 19:50:30Z frosch $ +# $Id: portuguese.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -1199,9 +1199,9 @@ STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Altura máxima STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Tamanho máximo de túneis: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Tamanho máximo para construção de túneis STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Método de financiamento de indústrias primárias: {STRING} -STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT :Método de financiar uma indústria pirmária. 'nenhum' significa que não é possível financiar nenhuma, 'prospecção' significa que é possível financiar, mas a construção é feita num local arbitrário no mapa e até pode falhar, 'como outras indústrias' significa que as indústrias de matérias primas podem ser construídas por companhias como indústrias de processamento em qualquer sítio que elas escolham +STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT :Método de financiar uma indústria primária. 'nenhum' significa que não é possível financiar nenhuma, 'prospecção' significa que é possível financiar, mas a construção é feita num local arbitrário no mapa e até pode falhar, 'como as outras' significa que as indústrias de matérias primas podem ser construídas em qualquer sítio pelas empresas, como se fossem indústrias de processamento STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE :Nenhum -STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :Mesmo método +STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :Como as outras STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :Prospecção STR_CONFIG_SETTING_INDUSTRY_PLATFORM :Área plana à volta das industrias: {STRING} STR_CONFIG_SETTING_INDUSTRY_PLATFORM_HELPTEXT :Quantidade de terreno plano á volta de uma industria. Isto garante que terreno vazio esteja disponível para construir linhas, etc @@ -1373,6 +1373,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Desligado STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Deslocar com botão esquerdo: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Activar deslocamento do mapa através de arrastamento com o botão esquerdo do rato. Esta opção é particularmente útil quando é usado um ecran de toque para deslocamento +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Fechar janelas ao fazer clique direito: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Fecha uma janela ao fazer clique direito dentro dela. Desactiva os textos de ajuda ao fazer clique direito! STR_CONFIG_SETTING_AUTOSAVE :Guardar automaticamente: {STRING} STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Seleccione o intervalo entre gravações automáticas @@ -1402,7 +1404,7 @@ STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Mostrar horári STR_CONFIG_SETTING_QUICKGOTO :Criação rápida de ordens de veículos: {STRING} STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT :Pré-seleccionar o 'cursor Ir Para' ao abrir a janela de ordens STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE :Tipo padrão de ferrovia (ao criar ou abrir jogo): {STRING} -STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Tipo de carrir seleccionado após o início ou carregamento de um jogo. 'primeiro disponível' selecciona o tipo mais antigo de carril, 'último disponível' selecciona o tipo mais recente de carril e 'mais utilizado' selecciona o tipo mais utilizado actualmente +STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Tipo de carril seleccionado após o início ou carregamento de um jogo. 'primeiro disponível' selecciona o tipo mais antigo de carril, 'último disponível' selecciona o tipo mais recente de carril e 'mais utilizado' selecciona o tipo mais utilizado actualmente STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :Primeiro disponível STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :Último disponível STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :Mais utilizado @@ -2591,6 +2593,7 @@ STR_LAND_AREA_INFORMATION_AIRPORTTILE_NAME :{BLACK}Nome do STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Carga aceite: {LTBLUE} STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING}) +STR_LANG_AREA_INFORMATION_RAIL_TYPE :{BLACK}Tipo de carril: {LTBLUE}{STRING} STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Limite de velocidade da linha: {LTBLUE}{VELOCITY} STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Limite de velocidade da estrada: {LTBLUE}{VELOCITY} @@ -2603,29 +2606,29 @@ STR_LAI_CLEAR_DESCRIPTION_FIELDS :Campos STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Neve STR_LAI_CLEAR_DESCRIPTION_DESERT :Deserto -STR_LAI_RAIL_DESCRIPTION_TRACK :Caminhos-de-ferro linha -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Caminhos-de-ferro linha com sinais de bloqueio -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Caminhos-de-ferro linha com pre-sinais -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Caminhos-de-ferro linha com sinais de saída -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Caminhos-de-ferro linha com sinais combinados -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Caminhos-de-ferro linha com sinais de caminho -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Caminhos-de-ferro linha com sinais de sentido único -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Caminhos-de-ferro linha com bloqueio e pré-sinais -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Caminhos-de-ferro linha com bloqueio e sinais de saida -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Caminhos-de-ferro linha com bloqueio e sinais combinados -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Caminhos-de-ferro linha com bloqueio e sinais de rota -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Caminhos-de-ferro linha com bloqueio e sinais de sentido único -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Caminhos-de-ferro linha com pré-sinais e sinais de saida -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Caminhos-de-ferro linha com pré-sinais e sinais combinados -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Caminhos-de-ferro linha com pré-sinais e sinais de rota -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :Caminhos-de-ferro linha com pré-sinais e sinais de sentido único -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Caminhos-de-ferro linha com sinais de saida e sinais combinados -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Caminhos-de-ferro linha com sinais de saida e sinais de rota -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Caminhos-de-ferro linha com sinais de saida e de sentido único -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Caminhos-de-ferro linha com sinais combinados e sinais de rota -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Caminhos-de-ferro linha com sinais combinados e sentido unico -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Caminhos-de-ferro linha com sinais de rota e de sentido unico -STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Caminhos-de-ferro depósito de comboios +STR_LAI_RAIL_DESCRIPTION_TRACK :Linha de caminhos-de-ferro +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Linha de caminhos-de-ferro com sinais de bloqueio +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Linha de caminhos-de-ferro com pre-sinais +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Linha de caminhos-de-ferro com sinais de saída +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Linha de caminhos-de-ferro com sinais combinados +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Linha de caminhos-de-ferro com sinais de rota +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Linha de caminhos-de-ferro com sinais de sentido único +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Linha de caminhos-de-ferro com sinais de bloqueio e pré-sinais +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Linha de caminhos-de-ferro com sinais de bloqueio e de saida +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Linha de caminhos-de-ferro com sinais de bloqueio e combinados +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Linha de caminhos-de-ferro com sinais de bloqueio e de rota +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Linha de caminhos-de-ferro com sinais de bloqueio e de sentido único +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Linha de caminhos-de-ferro com pré-sinais e sinais de saida +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Linha de caminhos-de-ferro com pré-sinais e sinais combinados +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Linha de caminhos-de-ferro com pré-sinais e sinais de rota +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :Linha de caminhos-de-ferro com pré-sinais e sinais de sentido único +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Linha de caminhos-de-ferro com sinais de saida e combinados +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Linha de caminhos-de-ferro com sinais de saida e de rota +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Linha de caminhos-de-ferro com sinais de saida e de sentido único +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Linha de caminhos-de-ferro com sinais combinados e de rota +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Linha de caminhos-de-ferro com sinais combinados e de sentido único +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Linha de caminhos-de-ferro com sinais de rota e de sentido único +STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Depósito de comboios de caminhos-de-ferro STR_LAI_ROAD_DESCRIPTION_ROAD :Estrada STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Estrada com iluminação @@ -2689,7 +2692,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terreno proprie STR_ABOUT_OPENTTD :{WHITE}Sobre o OpenTTD... STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Direitos de autor originais {COPYRIGHT} 1995 Chris Sawyer, Todos os direitos reservados STR_ABOUT_VERSION :{BLACK}OpenTTD versão {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 A equipa do OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 A equipa do OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Guardar Jogo @@ -3114,8 +3117,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Aceita STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Mostrar lista de carga aceite STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Aceita: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Esta estação tem direitos de transporte exclusivos nesta cidade. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} comprou direitos exclusivos de transporte nesta cidade. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Esta estação tem direitos de transporte exclusivos nesta cidade. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} comprou direitos exclusivos de transporte nesta cidade. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Avaliações STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Mostrar avaliações da estação @@ -3294,8 +3297,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Necessá STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Necessário: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING} ############ range for requires ends -STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}a aguardar +STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Requer: +STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} a aguardar{STRING} ############ range for produces starts STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produz: {YELLOW}{STRING}{STRING} @@ -3364,6 +3368,11 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Remover todos o STR_GROUP_RENAME_CAPTION :{BLACK}Renomear um grupo +STR_GROUP_PROFIT_THIS_YEAR :Lucro deste ano: +STR_GROUP_PROFIT_LAST_YEAR :Lucro no último ano: +STR_GROUP_OCCUPANCY :Utilização actual: +STR_GROUP_OCCUPANCY_VALUE :{NUM}% + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Novos Veículos Ferroviários STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Novos comboios para carris electrificados @@ -3395,6 +3404,7 @@ STR_PURCHASE_INFO_ALL_TYPES :Todos os tipos STR_PURCHASE_INFO_ALL_BUT :Todas menos {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Máx. Força de Tracção: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Alcance: {GOLD}{COMMA} quadrados +STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Tipo de aeronave: {GOLD}{STRING} STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Lista de veículos ferroviários - clique num veículo para informações STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Lista de veículos rodoviários - clique num veículo para informações @@ -3526,12 +3536,13 @@ STR_ENGINE_PREVIEW_SHIP :barco STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :locomotiva monocarril STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :locomotiva maglev -STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Custo: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Velocidade: {VELOCITY} Potência: {POWER}{}Custo de circulação: {CURRENCY_LONG}/ano{}Capacidade: {CARGO_LONG} -STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Custo: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Velocidade: {VELOCITY} Potência: {POWER} Máx. F.T.: {6:FORCE}{}Custo de circulação: {4:CURRENCY_LONG}/ano{}Capacidade: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Custo: {CURRENCY_LONG} Máx. Velocidade: {VELOCITY}{}Capacidade: {CARGO_LONG}, {CARGO_LONG}{}Custo de circulação: {CURRENCY_LONG}/ano -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Custo: {CURRENCY_LONG} Máx. Velocidade: {VELOCITY}{}Capacidade: {CARGO_LONG}{}Custo de circulação: {CURRENCY_LONG}/ano -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Preço: {CURRENCY_LONG} Velocidade max.: {VELOCITY} Alcance: {COMMA} quadrados{}Capacidade: {CARGO_LONG}, {CARGO_LONG}{}Custo de manutenção: {CURRENCY_LONG}/ano -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Preço: {CURRENCY_LONG} Velocidade max.: {VELOCITY} Alcance: {COMMA} quadrados{}Capacidade: {CARGO_LONG}{}Custo de manutenção: {CURRENCY_LONG}/ano +STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Custo: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Velocidade Máx.: {VELOCITY} Potência: {POWER}{}Custo de Circulação: {CURRENCY_LONG}/ano{}Capacidade: {CARGO_LONG} +STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Custo: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Velocidade Máx.: {VELOCITY} Potência: {POWER} F.T. Máx.: {6:FORCE}{}Custo de Circulação: {4:CURRENCY_LONG}/ano{}Capacidade: {5:CARGO_LONG} +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Custo: {CURRENCY_LONG} Velocidade Máx.: {VELOCITY}{}Capacidade: {CARGO_LONG}{}Custo de Circulação: {CURRENCY_LONG}/ano +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Custo: {CURRENCY_LONG} Velocidade Máx.: {VELOCITY}{}Tipo de Aeronave: {STRING}{}Capacidade: {CARGO_LONG}, {CARGO_LONG}{}Custo de Circulação: {CURRENCY_LONG}/ano +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Custo: {CURRENCY_LONG} Velocidade Máx.: {VELOCITY}{}Tipo de Aeronave: {STRING}{}Capacidade: {CARGO_LONG}{}Custo de Circulação: {CURRENCY_LONG}/ano +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Custo: {CURRENCY_LONG} Velocidade Máx.: {VELOCITY}{}Tipo de Aeronave: {STRING} Alcance: {COMMA} quadrados{}Capacidade: {CARGO_LONG}, {CARGO_LONG}{}Custo de Circulação: {CURRENCY_LONG}/ano +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Custo: {CURRENCY_LONG} Velocidade Máx.: {VELOCITY}{}Tipo de Aeronave: {STRING} Alcance: {COMMA} quadrados{}Capacidade: {CARGO_LONG}{}Custo de Circulação: {CURRENCY_LONG}/ano # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Substituir {STRING} - {STRING} @@ -3561,6 +3572,7 @@ STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Pression STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Alternar entre a janela de substituição de locomotivas e a janela de substituição de vagões STR_REPLACE_ENGINES :Locomotivas STR_REPLACE_WAGONS :Vagões +STR_REPLACE_ALL_RAILTYPE :Todos os veículos ferroviários STR_REPLACE_HELP_RAILTYPE :{BLACK}Seleccione o tipo de carril para o qual deseja efectuar a substituição dos motores STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Exibe o tipo de motor que substituirá o que está seleccionado à esquerda, se algum @@ -3653,7 +3665,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} ano{P " STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} ano{P "" s} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Máx. velocidade: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Velocidade max.: {LTBLUE}{VELOCITY} {BLACK}Alcance: {LTBLUE}{COMMA} quadrados +STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Vel. máxima: {LTBLUE}{VELOCITY} {BLACK}Tipo de Aeronave: {LTBLUE}{STRING} +STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Velocidade Máx.: {LTBLUE}{VELOCITY} {BLACK}Tipo de Aeronave: {LTBLUE}{STRING} {BLACK}Alcance: {LTBLUE}{COMMA} quadrados STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potência: {LTBLUE}{POWER}{BLACK} Max. velocidade: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potência: {LTBLUE}{POWER}{BLACK} Máx. velocidade: {LTBLUE}{VELOCITY} {BLACK}Máx. E.T.: {LTBLUE}{FORCE} @@ -4024,7 +4037,7 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Script de Jogo STR_AI_SETTINGS_CLOSE :{BLACK}Fechar STR_AI_SETTINGS_RESET :{BLACK}Repor STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_START_DELAY :Número de dias para iniciar esta IA depois da anterior (tomar ou lorgar): {ORANGE}{STRING} +STR_AI_SETTINGS_START_DELAY :Número de dias para iniciar esta IA depois da anterior (aproximadamente): {ORANGE}{STRING} # Textfile window diff --git a/src/lang/romanian.txt b/src/lang/romanian.txt index 7d12a26e98..43958ee5e5 100644 --- a/src/lang/romanian.txt +++ b/src/lang/romanian.txt @@ -10,7 +10,7 @@ ##grflangid 0x28 -# $Id: romanian.txt 27777 2017-03-11 16:49:51Z frosch $ +# $Id: romanian.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -2652,7 +2652,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Teren în propr STR_ABOUT_OPENTTD :{WHITE}Despre OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer, Toate drepturile rezervate STR_ABOUT_VERSION :{BLACK}OpenTTD versiunea {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 Echipa OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 Echipa OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Salvează joc @@ -3071,8 +3071,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Acceptă STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Afişează lista de încărcături acceptate STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Acceptă: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Această staţie are drepturi exclusive de transport în acest oraş. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} a cumpărat drepturi exclusive de transport în acest oraş. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Această staţie are drepturi exclusive de transport în acest oraş. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} a cumpărat drepturi exclusive de transport în acest oraş. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Evaluări STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Afişează evaluările staţiei @@ -3317,6 +3317,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Elimină toate STR_GROUP_RENAME_CAPTION :{BLACK}Redenumeşte un grup + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Noi vehicule feroviare STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Noi Vehicule Electrice pe Sine @@ -3481,10 +3482,7 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :locomotivă per STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Cost: {CURRENCY_LONG} Greutate: {WEIGHT_SHORT}{}Vitezã: {VELOCITY} Putere: {POWER}{}Cost de rulare: {CURRENCY_LONG}/an{}Capacitate: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Cost: {CURRENCY_LONG} Greutate: {WEIGHT_SHORT}{}Viteză: {VELOCITY} Putere: {POWER} Ef. T. Max.: {6:FORCE}{}Cost rulaj: {4:CURRENCY_LONG}/an{}Capacitate: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Viteză max.: {VELOCITY}{}Capacitate: {CARGO_LONG}, {CARGO_LONG}{}Mentenanţă: {CURRENCY_LONG}/an -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Viteză max.: {VELOCITY}{}Capacitate: {CARGO_LONG}{}Mentenanţă: {CURRENCY_LONG}/an -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Cost: {CURRENCY_LONG} Viteză maximă: {VELOCITY} Rază de acțiune: {COMMA} tiles{}Capacitate: {CARGO_LONG}, {CARGO_LONG}{}Cost rulare: {CURRENCY_LONG}/an -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Viteză maximă: {VELOCITY} Rază de acțiune: {COMMA} pătrățele{}Capacitate: {CARGO_LONG}{}Cost de rulare: {CURRENCY_LONG}/yr +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Viteză max.: {VELOCITY}{}Capacitate: {CARGO_LONG}{}Mentenanţă: {CURRENCY_LONG}/an # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Înlocuieşte {STRING} - {STRING} @@ -3606,7 +3604,6 @@ STR_VEHICLE_INFO_AGE :{COMMA} an{P "" STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} an{P "" i} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Viteză max.: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Viteză maximă: {LTBLUE}{VELOCITY} {BLACK}Rază de acțiune: {LTBLUE}{COMMA} pătrățele STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Greutate: {LTBLUE}{WEIGHT_SHORT} {BLACK}Putere: {LTBLUE}{POWER}{BLACK} Viteză max.: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Greutate: {LTBLUE}{WEIGHT_SHORT} {BLACK}Putere: {LTBLUE}{POWER}{BLACK} Viteză max.: {LTBLUE}{VELOCITY} {BLACK}Efort tractiv: {LTBLUE}{FORCE} diff --git a/src/lang/russian.txt b/src/lang/russian.txt index d9f4a843a6..e00a6c22f4 100644 --- a/src/lang/russian.txt +++ b/src/lang/russian.txt @@ -12,7 +12,7 @@ ##case m f n p nom gen dat acc abl pre -# $Id: russian.txt 27777 2017-03-11 16:49:51Z frosch $ +# $Id: russian.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -1524,6 +1524,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Выкл. STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Смещение обзора по нажатию левой кнопки мыши: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Смещение обзора левой кнопкой мыши. Это удобно при использовании сенсорного экрана. +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Закрывать окна щелчком ПКМ: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Закрывать окно щелчком правой кнопкой мыши в его пределах. При этом отключается появление подсказок по правой кнопке. STR_CONFIG_SETTING_AUTOSAVE :Автосохранения: {STRING} STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Укажите интервал между автоматическими сохранениями @@ -2869,7 +2871,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Земля в STR_ABOUT_OPENTTD :{WHITE}Об OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Оригинальные авторские права {COPYRIGHT} 1995 Chris Sawyer. Все права защищены. STR_ABOUT_VERSION :{BLACK}OpenTTD версия {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 Команда разработчиков OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 Команда разработчиков OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Сохранить игру @@ -3294,8 +3296,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Прин STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Показать список принимаемых грузов STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Принимается: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Компания-владелец этой станции обладает эксклюзивными правами перевозки пассажиров и грузов в этом городе. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} приобрела эксклюзивные права на перевозку пассажиров и грузов в этом городе. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Компания-владелец этой станции обладает эксклюзивными правами перевозки пассажиров и грузов в этом городе. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} приобрела эксклюзивные права на перевозку пассажиров и грузов в этом городе. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Рейтинг STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Показать рейтинг станции @@ -3475,10 +3477,8 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Треб ############ range for requires ends STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Требуется: -STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}ожидает -STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} ожидает{STRING} ############ range for produces starts STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Производит: {YELLOW}{STRING}{STRING} @@ -3547,6 +3547,11 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Удалить STR_GROUP_RENAME_CAPTION :{BLACK}Название группы +STR_GROUP_PROFIT_THIS_YEAR :Прибыль в текущем году: +STR_GROUP_PROFIT_LAST_YEAR :Прибыль в прошлом году: +STR_GROUP_OCCUPANCY :Средняя загрузка ТС: +STR_GROUP_OCCUPANCY_VALUE :{NUM}% + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Новый поезд STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Новый электропоезд @@ -3578,6 +3583,7 @@ STR_PURCHASE_INFO_ALL_TYPES :Все типы STR_PURCHASE_INFO_ALL_BUT :Всё, кроме {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Макс. тяговое усилие: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Дальность: {GOLD}{COMMA} клет{P ка ки ок} +STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Тип возд. судна: {GOLD}{STRING} STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Список локомотивов и вагонов - щёлкните для получения информации. Ctrl+щелчок скроет/покажет ТС. STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Список автотранспорта - щёлкните для получения информации. Ctrl+щелчок скроет/покажет выбранный автомобиль. @@ -3717,10 +3723,11 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE.gen :магнито STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Цена: {CURRENCY_LONG} Вес: {WEIGHT_SHORT}{}Скорость: {VELOCITY} Мощность: {POWER}{}Стоимость обслуж.: {CURRENCY_LONG}/год{}Ёмкость: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Цена: {CURRENCY_LONG} Вес: {WEIGHT_SHORT}{}Скорость: {VELOCITY} Мощность: {POWER} Макс. ТУ: {6:FORCE}{}Стоимость обслуж.: {4:CURRENCY_LONG}/год{}Ёмкость: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Цена: {CURRENCY_LONG} Макс. скорость: {VELOCITY}{}Ёмкость: {CARGO_LONG}, {CARGO_LONG}{}Стоимость обслуживания: {CURRENCY_LONG}/год -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Цена: {CURRENCY_LONG} Макс. скорость: {VELOCITY}{}Ёмкость: {CARGO_LONG}{}Стоимость обслуж.: {CURRENCY_LONG}/год -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Цена: {CURRENCY_LONG} Макс. скорость: {VELOCITY} Дальность: {COMMA} клет{P 3 ка ки ок}{}Ёмкость: {CARGO_LONG}, {CARGO_LONG}{}Стоимость обслуживания: {CURRENCY_LONG}/год -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Цена: {CURRENCY_LONG} Макс. скорость: {VELOCITY} Дальность: {COMMA} клет{P 3 ка ки ок}{}Ёмкость: {CARGO_LONG}{}Стоимость обслуживания: {CURRENCY_LONG}/год +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Цена: {CURRENCY_LONG} Макс. скорость: {VELOCITY}{}Ёмкость: {CARGO_LONG}{}Стоимость обслуж.: {CURRENCY_LONG}/год +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Цена: {CURRENCY_LONG} Макс. скорость: {VELOCITY}{}Тип: {STRING}{}Ёмкость: {CARGO_LONG}, {CARGO_LONG}{}Стоимость обслуж.: {CURRENCY_LONG}/год +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Цена: {CURRENCY_LONG} Макс. скорость: {VELOCITY}{}Тип: {STRING}{}Ёмкость: {CARGO_LONG}{}Стоимость обслуж.: {CURRENCY_LONG}/год +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Цена: {CURRENCY_LONG} Макс. скорость: {VELOCITY}{}Тип: {STRING} Дальность: {COMMA} клеток{}Ёмкость: {CARGO_LONG}, {CARGO_LONG}{}Стоимость обслуж.: {CURRENCY_LONG}/год +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Цена: {CURRENCY_LONG} Макс. скорость: {VELOCITY}{}Тип: {STRING} Дальность: {COMMA} клеток{}Ёмкость: {CARGO_LONG}{}Стоимость обслуж.: {CURRENCY_LONG}/год # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Замена {STRING.gen} - {STRING} @@ -3847,7 +3854,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} {P го STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} {P год года лет} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Макс. скорость: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Макс. скорость: {LTBLUE}{VELOCITY} {BLACK}Дальность: {LTBLUE}{COMMA} клет{P ка ки ок} +STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Макс. скорость: {LTBLUE}{VELOCITY} {BLACK}Тип возд. судна: {LTBLUE}{STRING} +STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Макс. скорость: {LTBLUE}{VELOCITY} {BLACK}Тип: {LTBLUE}{STRING} {BLACK}Дальность: {LTBLUE}{COMMA} клеток STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Вес: {LTBLUE}{WEIGHT_SHORT} {BLACK}Мощность: {LTBLUE}{POWER}{BLACK} Макс. скорость: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Вес: {LTBLUE}{WEIGHT_SHORT} {BLACK}Мощность: {LTBLUE}{POWER}{BLACK} Макс. скорость: {LTBLUE}{VELOCITY} {BLACK}Макс. ТУ: {LTBLUE}{FORCE} diff --git a/src/lang/serbian.txt b/src/lang/serbian.txt index a1dd917ae2..9805a1b2b5 100644 --- a/src/lang/serbian.txt +++ b/src/lang/serbian.txt @@ -12,7 +12,7 @@ ##case nom big gen dat aku vok lok ins -# $Id: serbian.txt 27865 2017-05-03 20:43:22Z frosch $ +# $Id: serbian.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -2882,7 +2882,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Zemljište u po STR_ABOUT_OPENTTD :{WHITE}O OpenTTD-u STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Originalni kopirajt {COPYRIGHT} 1995 Chris Sawyer, Sva prava zadržana STR_ABOUT_VERSION :{BLACK}OpenTTD verzija {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 OpenTTD tim +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 OpenTTD tim # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Sačuvaj poziciju @@ -3307,8 +3307,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Prihvata STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Prikaži spisak tovara koje stanica prihvata STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Prihvata: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Ova stanica ima ekskluzivna transportna prava u ovom gradu. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} je kupio ekskluzivna prava prevoza u ovom gradu. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Ova stanica ima ekskluzivna transportna prava u ovom gradu. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} je kupio ekskluzivna prava prevoza u ovom gradu. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Ocene STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Prikaži ocene stanice @@ -3555,6 +3555,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Ukloni sva vozi STR_GROUP_RENAME_CAPTION :{BLACK}Preimenuj grupu + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nova Železnička Vozila STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nova Železnička Električna Vozila @@ -3725,10 +3726,7 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE.aku :magnetnog žel. STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Cena: {CURRENCY_LONG} Težina: {WEIGHT_SHORT}{}Brzina: {VELOCITY} Snaga: {POWER}{}Cena Održavanja: {CURRENCY_LONG}/god.{}Nosivost: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Cena: {CURRENCY_LONG} Težina: {WEIGHT_SHORT}{}Brzina: {VELOCITY} Snaga: {POWER} Najveća vučna snaga: {6:FORCE}{}Cena Održavanja: {4:CURRENCY_LONG}/god{}Nosivost: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Cena: {CURRENCY_LONG} Najveća Brzina: {VELOCITY}{}Nosivost: {CARGO_LONG}, {CARGO_LONG}{}Cena Održavanja: {CURRENCY_LONG}/god. -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Cena: {CURRENCY_LONG} Najveća Brzina: {VELOCITY}{}Nosivost: {CARGO_LONG}{}Cena Održavanja: {CURRENCY_LONG}/god. -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Cena: {CURRENCY_LONG} Najveća Brzina: {VELOCITY} Domet: {COMMA} pločica{}Nosivost: {CARGO_LONG}, {CARGO_LONG}{}Cena Održavanja: {CURRENCY_LONG}/god. -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Cena: {CURRENCY_LONG} Najveća Brzina: {VELOCITY} Domet: {COMMA} pločica{}Nosivost: {CARGO_LONG}{}Cena Održavanja: {CURRENCY_LONG}/god. +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Cena: {CURRENCY_LONG} Najveća Brzina: {VELOCITY}{}Nosivost: {CARGO_LONG}{}Cena Održavanja: {CURRENCY_LONG}/god. # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Zameni {STRING} - {STRING} @@ -3860,7 +3858,6 @@ STR_VEHICLE_INFO_AGE :{COMMA} godin{P STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} godin{P a e a} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Najveća brzina: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Najveća brzina: {LTBLUE}{VELOCITY} {BLACK}Domet: {LTBLUE}{COMMA} pločica STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Težina: {LTBLUE}{WEIGHT_SHORT} {BLACK}Snaga: {LTBLUE}{POWER}{BLACK} Najveća brzina: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Težina: {LTBLUE}{WEIGHT_SHORT} {BLACK}Snaga: {LTBLUE}{POWER}{BLACK} Najveća brzina: {LTBLUE}{VELOCITY} {BLACK} Najveća vučna snaga: {LTBLUE}{FORCE} diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt index e80d30b73f..0704c8ee1a 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt @@ -10,7 +10,7 @@ ##grflangid 0x56 -# $Id: simplified_chinese.txt 27941 2017-12-11 19:50:30Z frosch $ +# $Id: simplified_chinese.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -2688,7 +2688,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :公司属地 STR_ABOUT_OPENTTD :{WHITE}关于 OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}原始版权由 {COPYRIGHT} 1995 Chris Sawyer 所有,保留一切权力。 STR_ABOUT_VERSION :{BLACK}OpenTTD 版本 {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 OpenTTD 团队 +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 OpenTTD 团队 # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}保存游戏 @@ -3113,8 +3113,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}接受 STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}显示接受的货物列表 STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}接受:{WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}这个车站在这个镇里享有独家经营权 -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} 购买了本城镇专属经营权 +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}这个车站在这个镇里享有独家经营权 +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} 购买了本城镇专属经营权 STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}评价 STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}显示车站评价 @@ -3293,8 +3293,8 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}需要 STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}需要:{YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING} ############ range for requires ends -STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}等待中 +STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} 等待中{STRING} ############ range for produces starts STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}产出: {YELLOW}{STRING}{STRING} @@ -3363,6 +3363,10 @@ STR_GROUP_REMOVE_ALL_VEHICLES :移除所有车 STR_GROUP_RENAME_CAPTION :{BLACK}重命名分组 +STR_GROUP_PROFIT_THIS_YEAR :今年利润: +STR_GROUP_PROFIT_LAST_YEAR :去年利润 +STR_GROUP_OCCUPANCY_VALUE :{NUM}% + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :购买普通列车 STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :购买电气化列车 @@ -3394,6 +3398,7 @@ STR_PURCHASE_INFO_ALL_TYPES :所有类型 STR_PURCHASE_INFO_ALL_BUT :除了 {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}最大牵引力:{GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}航行距离: {GOLD}{COMMA} 格 +STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}飞机类型: {GOLD}{STRING} STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}列车车辆选择列表。点击车辆查看详细信息,或者按住 Ctrl 键再点击以切换是否隐藏车辆的种类 STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}路面车辆选择列表。点击车辆查看详细信息,或者按住 Ctrl 键再点击以切换是否隐藏车辆的种类 @@ -3527,10 +3532,8 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :磁悬浮机车 STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}售价:{CURRENCY_LONG} 重量:{WEIGHT_SHORT}{}速度:{VELOCITY} 功率:{POWER}{}运行费用:{CURRENCY_LONG}/年{}运载能力: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}售价:{CURRENCY_LONG} 重量:{WEIGHT_SHORT}{}速度:{VELOCITY} 功率:{POWER} 最大牵引力:{6:FORCE}{}运行费用{4:CURRENCY_LONG}/年{}运载能力:{5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}售价:{CURRENCY_LONG} 最大速度:{VELOCITY}{}运载能力:{CARGO_LONG}, {CARGO_LONG}{}运行成本:{CURRENCY_LONG} /年 -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}售价:{CURRENCY_LONG} 最大速度:{VELOCITY}{}运载能力:{CARGO_LONG}{}运行成本:{CURRENCY_LONG} /年 -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}费用: {CURRENCY_LONG} 最大速度: {VELOCITY} 航行距离: {COMMA} 格{}运载量: {CARGO_LONG}, {CARGO_LONG}{}运营成本: {CURRENCY_LONG}/年 -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}购买费用: {CURRENCY_LONG} 最大速度: {VELOCITY} 航行距离: {COMMA} 格{}运载量: {CARGO_LONG}{}运营成本: {CURRENCY_LONG}/年 +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}售价:{CURRENCY_LONG} 最大速度:{VELOCITY}{}运载能力:{CARGO_LONG}{}运行成本:{CURRENCY_LONG} /年 +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}购买费用: {CURRENCY_LONG} 最大速度: {VELOCITY}{}飞机种类: {STRING} 最大航程: {COMMA} 格{}装载量: {CARGO_LONG}, {CARGO_LONG}{}运行费用: {CURRENCY_LONG}/年 # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}更新 {STRING} - {STRING} @@ -3653,7 +3656,6 @@ STR_VEHICLE_INFO_AGE :{COMMA} 年 ({C STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} 年 ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}最大速度:{LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}最大速度: {LTBLUE}{VELOCITY} {BLACK}航行距离: {LTBLUE}{COMMA} 格 STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}重量:{LTBLUE}{WEIGHT_SHORT} {BLACK}功率:{LTBLUE}{POWER}{BLACK} 最大速度:{LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}重量:{LTBLUE}{WEIGHT_SHORT} {BLACK}功率:{LTBLUE}{POWER}{BLACK} 最大速度:{LTBLUE}{VELOCITY} {BLACK}最大牵引力:{LTBLUE}{FORCE} diff --git a/src/lang/slovak.txt b/src/lang/slovak.txt index e94c26d2af..65863261ca 100644 --- a/src/lang/slovak.txt +++ b/src/lang/slovak.txt @@ -12,7 +12,7 @@ ##case g -# $Id: slovak.txt 27777 2017-03-11 16:49:51Z frosch $ +# $Id: slovak.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -2755,7 +2755,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Spoločnosťou STR_ABOUT_OPENTTD :{WHITE}OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Pôvodný copyright: {COPYRIGHT} 1995 Chris Sawyer, všetky práva vyhradené STR_ABOUT_VERSION :{BLACK}OpenTTD verzia {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 team OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 team OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Uložiť hru @@ -3180,8 +3180,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Prijíma STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Zobraziť zoznam prijímaného nákladu STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Prijíma: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Táto stanica má exkluzívne prepravné práva v tomto meste. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :Spoločnosť {YELLOW}{COMPANY}{BLACK} si kúpila exkluzívne prepravné práva v tomto meste +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Táto stanica má exkluzívne prepravné práva v tomto meste. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :Spoločnosť {YELLOW}{COMPANY}{BLACK} si kúpila exkluzívne prepravné práva v tomto meste STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Hodnotenie STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Zobraziť hodnotenia stanice @@ -3428,6 +3428,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Odstrániť vš STR_GROUP_RENAME_CAPTION :{BLACK}Premenovať skupinu + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nove vlaky STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nové elektrické lokomotívy a vagóny @@ -3592,10 +3593,7 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :{G=z}magnetick STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Cena: {CURRENCY_LONG} Hmotnosť: {WEIGHT_SHORT}{}Rýchlosť: {VELOCITY} Výkon: {POWER}{}Prevádzkové náklady: {CURRENCY_LONG}/rok{}Kapacita: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Cena: {CURRENCY_LONG} Hmotnosť: {WEIGHT_SHORT}{}Rýchlosť: {VELOCITY} Sila: {POWER} Max. T.E.: {6:FORCE}{}Prevádzkové náklady: {4:CURRENCY_LONG}/yr{}Kapacita: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Cena: {CURRENCY_LONG} Max. Rýchlosť: {VELOCITY}{}Kapacita: {CARGO_LONG}, {CARGO_LONG}{}Prevádzkové náklady: {CURRENCY_LONG}/rok -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Cena: {CURRENCY_LONG} Max. Rýchlosť: {VELOCITY}{}Kapacita: {CARGO_LONG}{}Prevádzkové náklady: {CURRENCY_LONG}/rok -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Cena: {CURRENCY_LONG} Max. rýchlosť: {VELOCITY} Dosah: {COMMA} políčok{}Kapacita: {CARGO_LONG}, {CARGO_LONG}{}Prevádzkové náklady: {CURRENCY_LONG}/rok -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Cena: {CURRENCY_LONG} Max. rýchlosť: {VELOCITY} Dosah: {COMMA} políčok{}Kapacita: {CARGO_LONG}{}Prevádzkové náklady: {CURRENCY_LONG}/rok +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Cena: {CURRENCY_LONG} Max. Rýchlosť: {VELOCITY}{}Kapacita: {CARGO_LONG}{}Prevádzkové náklady: {CURRENCY_LONG}/rok # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Výmena {STRING} - {STRING} @@ -3717,7 +3715,6 @@ STR_VEHICLE_INFO_AGE :{COMMA} rok{P " STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} rok{P "" y ov} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Max. rýchlosť: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Max. rýchlosť: {LTBLUE}{VELOCITY} {BLACK}Dosah: {LTBLUE}{COMMA} políčok STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Hmotnosť: {LTBLUE}{WEIGHT_SHORT} {BLACK}Sila: {LTBLUE}{POWER}{BLACK} Max. rýchlosť: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Hmotnosť: {LTBLUE}{WEIGHT_SHORT} {BLACK}Sila: {LTBLUE}{POWER}{BLACK} Max. rýchlosť: {LTBLUE}{VELOCITY} {BLACK}Max. T.E.: {LTBLUE}{FORCE} diff --git a/src/lang/slovenian.txt b/src/lang/slovenian.txt index e4177849ce..3f85ef3418 100644 --- a/src/lang/slovenian.txt +++ b/src/lang/slovenian.txt @@ -11,7 +11,7 @@ ##case r d t -# $Id: slovenian.txt 27777 2017-03-11 16:49:51Z frosch $ +# $Id: slovenian.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -1525,6 +1525,7 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Izklop STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Premik slike z levim klikom: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Omogoči pomik pogleda z levim klikom miške in vlečenjem. Primerno za dotične zaslone. +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Zapri okno z desnim klikom: {STRING} STR_CONFIG_SETTING_AUTOSAVE :Samodejno shrani: {STRING} STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Izberi časovni interval samodejnega shranjevanja igre @@ -2840,7 +2841,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Ozemlje v lasti STR_ABOUT_OPENTTD :{WHITE}O OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Prvotne avtorske pravice {COPYRIGHT} 1995 Chris Sawyer, vse pravice pridržane STR_ABOUT_VERSION :{BLACK}OpenTTD različica {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 ekipa OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 ekipa OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Shrani igro @@ -3265,8 +3266,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Sprejema STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Prikaži seznam sprejetega tovora STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Sprejema: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Ta postaja ima ekskluzivne pravice v tem mestu. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} je odkupilo ekskluzivne prevozne pravice v tem mestu. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Ta postaja ima ekskluzivne pravice v tem mestu. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} je odkupilo ekskluzivne prevozne pravice v tem mestu. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Ocene STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Prikaz ocen postaje @@ -3513,6 +3514,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Odstrani vsa vo STR_GROUP_RENAME_CAPTION :{BLACK}Preimenuj eno skupino + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nova železniška vozila STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nova električna tirna vozila @@ -3677,10 +3679,8 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :magnetna lokomo STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Cena: {CURRENCY_LONG} Teža: {WEIGHT_SHORT}{}Hitrost: {VELOCITY} Moč: {POWER}{}Cena delovanja: {CURRENCY_LONG}/leto{}Zmogljivost: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Cena: {CURRENCY_LONG} Teža: {WEIGHT_SHORT}{}Hitrost: {VELOCITY} Moč: {POWER} Max. T.E.: {6:FORCE}{}Stroški: {4:CURRENCY_LONG}/yr{}Zmogljivost: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Cena: {CURRENCY_LONG} Max. hitrost: {VELOCITY}{}Zmogljivost: {CARGO_LONG}, {CARGO_LONG}{}Cena delovanja: {CURRENCY_LONG}/leto -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Cena: {CURRENCY_LONG} Max. hitrost: {VELOCITY}{}Zmogljivost: {CARGO_LONG}{}Cena delovanja: {CURRENCY_LONG}/leto -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Cena: {CURRENCY_LONG} Max. Hitrost: {VELOCITY} Domet: {COMMA} polj{}Zmogljivost: {CARGO_LONG}, {CARGO_LONG}{}Stroški delovanja: {CURRENCY_LONG}/leto -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Cena: {CURRENCY_LONG} Max. Hitrost: {VELOCITY} Domet: {COMMA} polj{}Zmogljivost: {CARGO_LONG}{}Stroški delovanja: {CURRENCY_LONG}/leto +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Cena: {CURRENCY_LONG} Max. hitrost: {VELOCITY}{}Zmogljivost: {CARGO_LONG}{}Cena delovanja: {CURRENCY_LONG}/leto +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Cena: {CURRENCY_LONG} Max. hitrost: {VELOCITY}{}Vrsta letala: {STRING}{}Zmogljivost: {CARGO_LONG}{}Stroški obratovanja: {CURRENCY_LONG}/leto # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Zamenjaj {STRING} - {STRING} @@ -3802,7 +3802,6 @@ STR_VEHICLE_INFO_AGE :{COMMA} let{P o STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} let{P o i a ""} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Max. hitrost: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Max. hitrost: {LTBLUE}{VELOCITY} {BLACK}Domet: {LTBLUE}{COMMA} polj STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Teža: {LTBLUE}{WEIGHT_SHORT} {BLACK}Moč: {LTBLUE}{POWER}{BLACK} Max. hitrost: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Teža: {LTBLUE}{WEIGHT_SHORT} {BLACK}Moč: {LTBLUE}{POWER}{BLACK} Max. hitrost: {LTBLUE}{VELOCITY} {BLACK}Max. T.E.: {LTBLUE}{FORCE} diff --git a/src/lang/spanish.txt b/src/lang/spanish.txt index 22182fb61b..c3f6dfa899 100644 --- a/src/lang/spanish.txt +++ b/src/lang/spanish.txt @@ -11,7 +11,7 @@ ##gender m f -# $Id: spanish.txt 27941 2017-12-11 19:50:30Z frosch $ +# $Id: spanish.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -1373,6 +1373,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Desactivado STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Desplazamiento con botón izquierdo: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Activa el deslizamiento del mapa al arrastrarlo con el botón izquierdo. Esto es especialmente útil al usar pantallas táctiles +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Cerrar ventana con click derecho: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Cierra una ventana al hacer click derecho dentro. ¡Quita la información al hacer click derecho! STR_CONFIG_SETTING_AUTOSAVE :Autoguardado: {STRING} STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Selecciona el intervalo entre guardados automáticos del juego @@ -2690,7 +2692,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terreno propied STR_ABOUT_OPENTTD :{WHITE}Acerca de OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright Original {COPYRIGHT} 1995 Chris Sawyer, Todos los derechos reservados STR_ABOUT_VERSION :{BLACK}OpenTTD versión {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 El equipo OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 El equipo OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Guardar Juego @@ -3115,8 +3117,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Acepta STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Mostrar lista de carga aceptada STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Acepta: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Esta estación tiene derechos de transporte exclusivos en este municipio. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} compró derechos de transporte exclusivo en este municipio. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Esta estación tiene derechos de transporte exclusivos en este municipio. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} compró derechos de transporte exclusivo en este municipio. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Calificación STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Ver calificación de la estación @@ -3295,11 +3297,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Necesita STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Requiere: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING} ############ range for requires ends -STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Necesita -STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}esperando -STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING} +STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Necesita: +STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} esperando{STRING} ############ range for produces starts STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produce: {YELLOW}{STRING}{STRING} @@ -3368,6 +3368,11 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Quitar todos lo STR_GROUP_RENAME_CAPTION :{BLACK}Renombrar un grupo +STR_GROUP_PROFIT_THIS_YEAR :Beneficio este año: +STR_GROUP_PROFIT_LAST_YEAR :Beneficio del último año: +STR_GROUP_OCCUPANCY :Uso actual: +STR_GROUP_OCCUPANCY_VALUE :{NUM}% + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nuevos Vehículos de Ferrocarril STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nuevos Vehículos de Ferrocarril Eléctrico @@ -3399,6 +3404,7 @@ STR_PURCHASE_INFO_ALL_TYPES :Todos los tipos STR_PURCHASE_INFO_ALL_BUT :Todo excepto {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}F.T máxima: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Alcance: {GOLD}{COMMA} casillas +STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Tipo de aeronave: {GOLD}{STRING} STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Lista de selección de los vehículos de ferrocarril. Click en el vehículo para más información. Ctrl+Click para mostrar/ocultar el tipo del vehículo STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Lista de selección de vehículos de carretera. Click en el vehículo para más información. Ctrl+Click para mostrar/ocultar el tipo del vehículo @@ -3532,10 +3538,11 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :{G=f}locomotora STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Coste: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Velocidad: {VELOCITY} Potencia: {POWER}{}Coste Mantenimiento: {CURRENCY_LONG}/año{}Capacidad: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Coste: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Velocidad: {VELOCITY} Potencia: {POWER} F.T. Máxima: {6:FORCE}{}Coste Mantenimiento: {4:CURRENCY_LONG}/año{}Capacidad: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Coste: {CURRENCY_LONG} Velocidad Máx.: {VELOCITY}{}Capacidad: {CARGO_LONG}, {CARGO_LONG}{}Coste Mantenimiento: {CURRENCY_LONG}/año -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Coste: {CURRENCY_LONG} Velocidad Máx.: {VELOCITY}{}Capacidad: {CARGO_LONG}{}Coste Mantenimiento: {CURRENCY_LONG}/año -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Coste: {CURRENCY_LONG} Velocidad Máx.: {VELOCITY} Alcance: {COMMA} casillas{}Capacidad: {CARGO_LONG}, {CARGO_LONG}{}Coste de Operación: {CURRENCY_LONG}/año -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Coste: {CURRENCY_LONG} Velocidad Máx.: {VELOCITY} Alcance: {COMMA} casillas{}Capacidad: {CARGO_LONG}{}Coste de Operación: {CURRENCY_LONG}/año +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Coste: {CURRENCY_LONG} Velocidad Máx.: {VELOCITY}{}Capacidad: {CARGO_LONG}{}Coste Mantenimiento: {CURRENCY_LONG}/año +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Coste: {CURRENCY_LONG} Velocidad Máx.: {VELOCITY}{}Tipo de aeronave: {STRING}{}Capacidad: {CARGO_LONG}, {CARGO_LONG}{}Coste Mantenimiento: {CURRENCY_LONG}/año +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Coste: {CURRENCY_LONG} Velocidad Máx.: {VELOCITY}{}Tipo de aeronave: {STRING}{}Capacidad: {CARGO_LONG}{}Coste Mantenimiento: {CURRENCY_LONG}/año +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Coste: {CURRENCY_LONG} Velocidad Máx.: {VELOCITY}{}Tipo de aeronave: {STRING} Alcance: {COMMA} casillas{}Capacidad: {CARGO_LONG}, {CARGO_LONG}{}Coste Mantenimiento: {CURRENCY_LONG}/año +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Coste: {CURRENCY_LONG} Velocidad Máx.: {VELOCITY}{}Tipo de aeronave: {STRING} Alcance: {COMMA} casillas{}Capacidad: {CARGO_LONG}{}Coste Mantenimiento: {CURRENCY_LONG}/año # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Reemplazar {STRING} - {STRING} @@ -3658,7 +3665,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} año{P STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} año{P "" s} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Velocidad Máx.: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Velocidad Máx.: {LTBLUE}{VELOCITY} {BLACK}Alcance: {LTBLUE}{COMMA} casillas +STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Velocidad Máx.: {LTBLUE}{VELOCITY} {BLACK}Tipo de aeronave: {LTBLUE}{STRING} +STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Velocidad Máx.: {LTBLUE}{VELOCITY} {BLACK}Tipo de aeronave: {LTBLUE}{STRING} {BLACK}Alcance: {LTBLUE}{COMMA} casillas STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potencia: {LTBLUE}{POWER}{BLACK} Velocidad Máx.: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potencia: {LTBLUE}{POWER}{BLACK} Velocidad Máx.: {LTBLUE}{VELOCITY} {BLACK}F.T. Máx.: {LTBLUE}{FORCE} diff --git a/src/lang/spanish_MX.txt b/src/lang/spanish_MX.txt index f33095424d..8eaf61b27b 100644 --- a/src/lang/spanish_MX.txt +++ b/src/lang/spanish_MX.txt @@ -11,7 +11,7 @@ ##gender m f -# $Id: spanish_MX.txt 27941 2017-12-11 19:50:30Z frosch $ +# $Id: spanish_MX.txt 27991 2018-03-14 18:45:37Z translators $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -55,7 +55,7 @@ STR_CARGO_PLURAL_CANDY :{G=m}Dulces STR_CARGO_PLURAL_COLA :{G=f}Bebida de cola STR_CARGO_PLURAL_COTTON_CANDY :{G=m}Algodón de azúcar STR_CARGO_PLURAL_BUBBLES :{G=f}Burbujas -STR_CARGO_PLURAL_TOFFEE :{G=m}Jamoncillos +STR_CARGO_PLURAL_TOFFEE :{G=m}Caramelos suaves STR_CARGO_PLURAL_BATTERIES :{G=f}Pilas STR_CARGO_PLURAL_PLASTIC :{G=m}Plástico STR_CARGO_PLURAL_FIZZY_DRINKS :{G=m}Refrescos @@ -89,7 +89,7 @@ STR_CARGO_SINGULAR_CANDY :{G=m}Dulce STR_CARGO_SINGULAR_COLA :{G=f}Bebida de cola STR_CARGO_SINGULAR_COTTON_CANDY :{G=m}Algodón de azúcar STR_CARGO_SINGULAR_BUBBLE :{G=f}Burbuja -STR_CARGO_SINGULAR_TOFFEE :{G=m}Jamoncillo +STR_CARGO_SINGULAR_TOFFEE :{G=m}Caramelo suave STR_CARGO_SINGULAR_BATTERY :{G=f}Pila STR_CARGO_SINGULAR_PLASTIC :{G=m}Plástico STR_CARGO_SINGULAR_FIZZY_DRINK :{G=m}Refresco @@ -123,7 +123,7 @@ STR_QUANTITY_SWEETS :{COMMA}{NBSP}bo STR_QUANTITY_COLA :{VOLUME_LONG} de cola STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} de algo{P dón dones} de azúcar STR_QUANTITY_BUBBLES :{COMMA} burbuja{P "" s} -STR_QUANTITY_TOFFEE :{WEIGHT_LONG} de jamoncillo{P "" s} +STR_QUANTITY_TOFFEE :{WEIGHT_LONG} de caramelo suave STR_QUANTITY_BATTERIES :{COMMA} pila{P "" s} STR_QUANTITY_PLASTIC :{VOLUME_LONG} de plásticos STR_QUANTITY_FIZZY_DRINKS :{COMMA} refresco{P "" s} @@ -131,39 +131,39 @@ STR_QUANTITY_N_A :N/A # Two letter abbreviation of cargo name STR_ABBREV_NOTHING : -STR_ABBREV_PASSENGERS :{TINY_FONT}PJ -STR_ABBREV_COAL :{TINY_FONT}CB -STR_ABBREV_MAIL :{TINY_FONT}CR -STR_ABBREV_OIL :{TINY_FONT}PT -STR_ABBREV_LIVESTOCK :{TINY_FONT}GN -STR_ABBREV_GOODS :{TINY_FONT}MC +STR_ABBREV_PASSENGERS :{TINY_FONT}PS +STR_ABBREV_COAL :{TINY_FONT}CA +STR_ABBREV_MAIL :{TINY_FONT}CO +STR_ABBREV_OIL :{TINY_FONT}PE +STR_ABBREV_LIVESTOCK :{TINY_FONT}GA +STR_ABBREV_GOODS :{TINY_FONT}ME STR_ABBREV_GRAIN :{TINY_FONT}GR -STR_ABBREV_WOOD :{TINY_FONT}MD -STR_ABBREV_IRON_ORE :{TINY_FONT}MH +STR_ABBREV_WOOD :{TINY_FONT}MA +STR_ABBREV_IRON_ORE :{TINY_FONT}HI STR_ABBREV_STEEL :{TINY_FONT}AC -STR_ABBREV_VALUABLES :{TINY_FONT}VA -STR_ABBREV_COPPER_ORE :{TINY_FONT}MC +STR_ABBREV_VALUABLES :{TINY_FONT}OV +STR_ABBREV_COPPER_ORE :{TINY_FONT}CB STR_ABBREV_MAIZE :{TINY_FONT}MZ -STR_ABBREV_FRUIT :{TINY_FONT}FT -STR_ABBREV_DIAMONDS :{TINY_FONT}DM +STR_ABBREV_FRUIT :{TINY_FONT}FR +STR_ABBREV_DIAMONDS :{TINY_FONT}DI STR_ABBREV_FOOD :{TINY_FONT}AL -STR_ABBREV_PAPER :{TINY_FONT}PP +STR_ABBREV_PAPER :{TINY_FONT}PA STR_ABBREV_GOLD :{TINY_FONT}OR STR_ABBREV_WATER :{TINY_FONT}AG -STR_ABBREV_WHEAT :{TINY_FONT}TG -STR_ABBREV_RUBBER :{TINY_FONT}GA +STR_ABBREV_WHEAT :{TINY_FONT}TR +STR_ABBREV_RUBBER :{TINY_FONT}CH STR_ABBREV_SUGAR :{TINY_FONT}AZ -STR_ABBREV_TOYS :{TINY_FONT}JG -STR_ABBREV_SWEETS :{TINY_FONT}DC +STR_ABBREV_TOYS :{TINY_FONT}JU +STR_ABBREV_SWEETS :{TINY_FONT}DU STR_ABBREV_COLA :{TINY_FONT}CL STR_ABBREV_CANDYFLOSS :{TINY_FONT}AA STR_ABBREV_BUBBLES :{TINY_FONT}BU -STR_ABBREV_TOFFEE :{TINY_FONT}JM +STR_ABBREV_TOFFEE :{TINY_FONT}CS STR_ABBREV_BATTERIES :{TINY_FONT}PI STR_ABBREV_PLASTIC :{TINY_FONT}PL -STR_ABBREV_FIZZY_DRINKS :{TINY_FONT}RF -STR_ABBREV_NONE :{TINY_FONT}NO -STR_ABBREV_ALL :{TINY_FONT}TOD +STR_ABBREV_FIZZY_DRINKS :{TINY_FONT}RE +STR_ABBREV_NONE :{TINY_FONT}NADA +STR_ABBREV_ALL :{TINY_FONT}TODO # 'Mode' of transport for cargoes STR_PASSENGERS :{COMMA}{NBSP}pasajero{P "" s} @@ -212,7 +212,7 @@ STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}ga STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} gal{P ón ones} +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP} gal{P ón ones} STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}litro{P "" s} STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ @@ -247,7 +247,7 @@ STR_TOOLTIP_RESIZE :{BLACK}Arrastra STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Cambiar entre tamaño de ventana grande o pequeño STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra de desplazamiento (mueve la lista arriba o abajo) STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra de desplazamiento (mueve la lista izquierda o derecha) -STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Demoler edificios, etc. en un área de terreno. Ctrl permite trazar una diagonal para seleccionar un área cuadrada. Mayús muestra una estimación del precio +STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Demoler edificios, etc. en un área de terreno. Ctrl para seleccionar un área en diagonal. Mayús muestra una estimación del precio # Show engines button STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Mostrar ocultos @@ -271,7 +271,7 @@ STR_OSK_KEYBOARD_LAYOUT_CAPS :°!"#$%&/()=?¡ # Measurement tooltip STR_MEASURE_LENGTH :{BLACK}Longitud: {NUM} -STR_MEASURE_AREA :{BLACK}Área: {NUM} x {NUM} +STR_MEASURE_AREA :{BLACK}Área: {NUM} × {NUM} STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Longitud: {NUM}{}Diferencia altura: {HEIGHT} STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Área: {NUM}×{NUM}{}Diferencia altura: {HEIGHT} @@ -598,8 +598,8 @@ STR_COMPANY_LEAGUE_COMPANY_NAME :{ORANGE}{COMPAN STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_ENGINEER :Ingeniero STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRAFFIC_MANAGER :Director de Tráfico STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRANSPORT_COORDINATOR :Coordinador de Transporte -STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_ROUTE_SUPERVISOR :Supervisor de Ruta -STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_DIRECTOR :Directivo +STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_ROUTE_SUPERVISOR :Supervisor de Rutas +STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_DIRECTOR :Jefe STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_CHIEF_EXECUTIVE :Subdirector STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_CHAIRMAN :Director STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_PRESIDENT :Presidente @@ -804,7 +804,7 @@ STR_NEWS_DISASTER_FLOOD_VEHICLE :{BIG_FONT}{BLAC STR_NEWS_COMPANY_IN_TROUBLE_TITLE :{BIG_FONT}{BLACK}¡Empresa de transporte en problemas! STR_NEWS_COMPANY_IN_TROUBLE_DESCRIPTION :{BIG_FONT}{BLACK}¡{STRING} será vendida o declarada en bancarrota de no incrementar su desempeño pronto! -STR_NEWS_COMPANY_MERGER_TITLE :{BIG_FONT}{BLACK}¡Fusión de empresa de transportes! +STR_NEWS_COMPANY_MERGER_TITLE :{BIG_FONT}{BLACK}¡Fusión de empresas de transportes! STR_NEWS_COMPANY_MERGER_DESCRIPTION :{BIG_FONT}{BLACK}¡{STRING} fue vendida a {STRING} por {CURRENCY_LONG}! STR_NEWS_COMPANY_BANKRUPT_TITLE :{BIG_FONT}{BLACK}¡En bancarrota! STR_NEWS_COMPANY_BANKRUPT_DESCRIPTION :{BIG_FONT}{BLACK}¡{STRING} fue cerrada por sus acreedores y todos sus activos fueron vendidos! @@ -844,32 +844,32 @@ STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} tiene muy pocas órdenes en la lista STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} tiene una orden vacía STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} tiene órdenes duplicadas -STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} tiene en la lista una estación no válida -STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} tiene en la lista un aeropuerto con una pista muy corta +STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} tiene una estación no válida en la lista +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} tiene un aeropuerto con una pista muy corta en la lista STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} se está haciendo viejo STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} se está haciendo muy viejo STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD_AND :{WHITE}{VEHICLE} se está haciendo muy viejo y requiere renovación urgente STR_NEWS_TRAIN_IS_STUCK :{WHITE}{VEHICLE} no encuentra una ruta para continuar STR_NEWS_VEHICLE_IS_LOST :{WHITE}{VEHICLE} se perdió -STR_NEWS_VEHICLE_IS_UNPROFITABLE :{WHITE}La utilidad del año pasado del {VEHICLE} fue de {CURRENCY_LONG} +STR_NEWS_VEHICLE_IS_UNPROFITABLE :{WHITE}La utilidad de {VEHICLE} el año pasado fue de {CURRENCY_LONG} STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}{VEHICLE} no puede llegar al siguiente destino porque no está a su alcance -STR_NEWS_ORDER_REFIT_FAILED :{WHITE}{VEHICLE} no avanza porque no pudo reequipar su carga +STR_NEWS_ORDER_REFIT_FAILED :{WHITE}{VEHICLE} no avanza porque no pudo reformarse STR_NEWS_VEHICLE_AUTORENEW_FAILED :{WHITE}Renovación automática fallida para {VEHICLE}{}{STRING} STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLACK}¡Nuev{G o a} {STRING} ahora disponible! STR_NEWS_NEW_VEHICLE_TYPE :{BIG_FONT}{BLACK}{ENGINE} STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}¡Nuev{G o a} {STRING} ahora disponible! - {ENGINE} -STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO :{WHITE}{STATION} ya no recibe {STRING} -STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}{STATION} ya no recibe {STRING} ni {STRING} -STR_NEWS_STATION_NOW_ACCEPTS_CARGO :{WHITE}{STATION} recibe ahora {STRING} -STR_NEWS_STATION_NOW_ACCEPTS_CARGO_AND_CARGO :{WHITE}{STATION} recibe ahora {STRING} y {STRING} +STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO :{WHITE}{STATION} ya no acepta {STRING} +STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}{STATION} ya no acepta {STRING} ni {STRING} +STR_NEWS_STATION_NOW_ACCEPTS_CARGO :{WHITE}{STATION} acepta ahora {STRING} +STR_NEWS_STATION_NOW_ACCEPTS_CARGO_AND_CARGO :{WHITE}{STATION} acepta ahora {STRING} y {STRING} STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Oferta de subsidio vencida:{}{}{STRING} de {STRING} a {STRING} ya no está subsidiado STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Subsidio retirado:{}{}El servicio de {STRING} desde {STRING} a {STRING} ya no está subsidiado -STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Se ofrece subsidio.{}{}¡El primer servicio de {STRING} desde {STRING} a {STRING} tendrá subsidio durante un año parte del ayuntamiento local! +STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Se ofrece subsidio.{}{}¡El primer servicio de {STRING} desde {STRING} a {STRING} tendrá subsidio durante un año por parte del ayuntamiento local! STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}¡Subsidio otorgado a {STRING}!{}{}¡El servicio de {STRING} desde {STRING} a {STRING} generará un 50% extra por un año! STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}¡Subsidio otorgado a {STRING}!{}{}¡El servicio de {STRING} desde {STRING} a {STRING} generará tasa doble durante un año! STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}¡Subsidio otorgado a {STRING}!{}{}¡El servicio de {STRING} desde {STRING} a {STRING} generará tasa triple durante un año! @@ -1108,7 +1108,7 @@ STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Tipo: STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Mostrar lista con opciones predeterminadas STR_CONFIG_SETTING_RESTRICT_BASIC :Básico (mostrar solo las opciones más esenciales) STR_CONFIG_SETTING_RESTRICT_ADVANCED :Avanzado (mostrar la mayoría de las opciones) -STR_CONFIG_SETTING_RESTRICT_ALL :Experto (mostrar todas las opciones, hasta las más extrañas) +STR_CONFIG_SETTING_RESTRICT_ALL :Experto (mostrar todas las opciones, incluso las avanzadas) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Opciones con un valor diferente al predeterminado STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Opciones con un valor diferente a las opciones de partida nueva @@ -1134,14 +1134,14 @@ STR_CONFIG_SETTING_COMPANIES_ALL :Todas las empre STR_CONFIG_SETTING_NONE :Ninguno STR_CONFIG_SETTING_ORIGINAL :Original -STR_CONFIG_SETTING_REALISTIC :Simulado +STR_CONFIG_SETTING_REALISTIC :Realista STR_CONFIG_SETTING_HORIZONTAL_POS_LEFT :Izquierda STR_CONFIG_SETTING_HORIZONTAL_POS_CENTER :Centro STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :Derecha STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Máximo préstamo inicial: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Máxima cantidad que una empresa puede recibir como préstamo (sin tener en cuenta la inflación) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Máxima cantidad que una empresa puede pedir prestada (sin tener en cuenta la inflación) STR_CONFIG_SETTING_INTEREST_RATE :Porcentaje de interés: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Porcentaje de interés de los préstamos; controla también la inflación, en caso de estar activada STR_CONFIG_SETTING_RUNNING_COSTS :Costos de operación: {STRING} @@ -1373,6 +1373,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Ninguno STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Desplazamiento con botón izquierdo: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Activar el desplazamiento del mapa al arrastrar con el botón izquierdo. Esto es especialmente útil al usar pantallas táctiles +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Cerrar ventana con clic derecho: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Cerrar la ventana haciendo clic derecho sobre ella. ¡Desactiva los mensajes de ayuda con clic derecho! STR_CONFIG_SETTING_AUTOSAVE :Guardado automático: {STRING} STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Intervalo entre guardados automáticos de la partida @@ -1790,9 +1792,9 @@ STR_ABANDON_SCENARIO_QUERY :{YELLOW}¿Está # Cheat window STR_CHEATS :{WHITE}Trucos -STR_CHEATS_TOOLTIP :{BLACK}Las casillas verificadas indican que ya se usó este truco +STR_CHEATS_TOOLTIP :{BLACK}Las casillas marcadas indican que ya se usó este truco STR_CHEATS_WARNING :{BLACK}¡Atención! Estás a punto de traicionar a tus competidores. Recuerda que siempre se recordará tal deshonra -STR_CHEAT_MONEY :{LTBLUE}Recibir {CURRENCY_LONG} de dinero +STR_CHEAT_MONEY :{LTBLUE}Añadir {CURRENCY_LONG} en efectivo STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Jugar como la empresa: {ORANGE}{COMMA} STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Excavadora mágica (elimina industrias y objetos inamovibles): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Los túneles se pueden cruzar: {ORANGE}{STRING} @@ -1808,18 +1810,18 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Cambiar STR_CHEAT_SETUP_PROD :{LTBLUE}Permitir cambiar los valores de producción: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Diseño de colores corporativos +STR_LIVERY_CAPTION :{WHITE}Nueva cromática -STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Mostrar diseño general de colores -STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Mostrar diseño general de colores para trenes -STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Mostrar diseño general de colores para vehículos de carretera -STR_LIVERY_SHIP_TOOLTIP :{BLACK}Mostrar diseño general de colores de colores para barcos -STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Mostrar diseño general de colores de colores para aeronaves -STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Elegir el color principal para el diseño seleccionado. Ctrl+Clic para establecerlo como diseño general -STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Elegir el color secundario para el diseño seleccionado. Ctrl+Clic para establecerlo como diseño general -STR_LIVERY_PANEL_TOOLTIP :{BLACK}Elegir un solo diseño de colores, o Ctrl+Clic para elegir varios. Verificar cada una casilla para establecer diferentes combinaciones según el tipo de vehículo +STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Mostrar cromática general +STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Mostrar cromáticas para trenes +STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Mostrar cromáticas para vehículos de carretera +STR_LIVERY_SHIP_TOOLTIP :{BLACK}Mostrar cromáticas para barcos +STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Mostrar cromáticas para aeronaves +STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Elegir el color principal para la cromática elegida. Ctrl+Clic para establecerlo como cromática general +STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Elegir el color secundario para el diseño seleccionado. Ctrl+Clic para establecerlo como cromática general +STR_LIVERY_PANEL_TOOLTIP :{BLACK}Elegir un solo tipo de cromática, o Ctrl+Clic para elegir varios. Marcar las casillas para establecer diferentes combinaciones según el tipo de vehículo -STR_LIVERY_DEFAULT :Diseño de colores estándar +STR_LIVERY_DEFAULT :Cromática estándar STR_LIVERY_STEAM :Locomotora a vapor STR_LIVERY_DIESEL :Locomotora de diésel STR_LIVERY_ELECTRIC :Locomotora eléctrica @@ -1855,7 +1857,7 @@ STR_FACE_FEMALE_BUTTON :{BLACK}Mujer STR_FACE_FEMALE_TOOLTIP :{BLACK}Elegir cara femenina STR_FACE_NEW_FACE_BUTTON :{BLACK}Nueva cara STR_FACE_NEW_FACE_TOOLTIP :{BLACK}Generar cara al azar -STR_FACE_ADVANCED :{BLACK}Avanzada +STR_FACE_ADVANCED :{BLACK}Avanzado STR_FACE_ADVANCED_TOOLTIP :{BLACK}Selección avanzada de caras STR_FACE_SIMPLE :{BLACK}Simple STR_FACE_SIMPLE_TOOLTIP :{BLACK}Selección simple de caras @@ -2189,7 +2191,7 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} cr STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} salió de la partida ({2:STRING}) STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} cambió su nombre a {STRING} STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} le dio a tu empresa {2:CURRENCY_LONG} -STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** {2:CURRENCY_LONG} entregado a la empresa {1:STRING} +STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** {2:CURRENCY_LONG} cedidos a la empresa {1:STRING} STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}El servidor ha cerrado la sesión STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Se está reiniciando el servidor...{}Espera por favor... @@ -2296,7 +2298,7 @@ STR_STATION_BUILD_COVERAGE_OFF :{BLACK}Desactiv STR_STATION_BUILD_COVERAGE_ON :{BLACK}Activado STR_STATION_BUILD_COVERAGE_AREA_OFF_TOOLTIP :{BLACK}No mostrar área de recolección en el sitio planeado STR_STATION_BUILD_COVERAGE_AREA_ON_TOOLTIP :{BLACK}Mostrar área de recolección en el sitio planeado -STR_STATION_BUILD_ACCEPTS_CARGO :{BLACK}Recibe: {GOLD}{CARGO_LIST} +STR_STATION_BUILD_ACCEPTS_CARGO :{BLACK}Acepta: {GOLD}{CARGO_LIST} STR_STATION_BUILD_SUPPLIES_CARGO :{BLACK}Provee: {GOLD}{CARGO_LIST} # Join station window @@ -2473,9 +2475,9 @@ STR_STATION_BUILD_NOISE :{BLACK}Ruido ge # Landscaping toolbar STR_LANDSCAPING_TOOLBAR :{WHITE}Modificación de terreno -STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Disminuir una esquina del terreno. Al arrastrar el ratón se reduce la primera esquina elegida y se nivela el resto del terreno seleccionado a dicha altura. Ctrl permite trazar una diagonal para seleccionar un área cuadrada. -STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Elevar una esquina del terreno. Al arrastrar el ratón se eleva la primera esquina elegida y se nivela el resto del terreno seleccionado a dicha altura. Ctrl permite trazar una diagonal para seleccionar un área cuadrada. Mayús muestra una estimación del precio -STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Nivela un área de terreno a la altura de la primera esquina seleccionada. Ctrl permite trazar una diagonal para seleccionar un área cuadrada. Mayús muestra una estimación del precio +STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Disminuir una esquina del terreno. Al arrastrar el ratón se reduce la primera esquina elegida y se nivela el resto del terreno seleccionado a dicha altura. Ctrl para seleccionar un área en diagonal. +STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Elevar una esquina del terreno. Al arrastrar el ratón se eleva la primera esquina elegida y se nivela el resto del terreno seleccionado a dicha altura. Ctrl para seleccionar un área en diagonal. Mayús muestra una estimación del precio +STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Nivela un área de terreno a la altura de la primera esquina seleccionada. Ctrl para seleccionar un área en diagonal. Mayús muestra una estimación del precio STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Comprar terreno para usos futuros. Mayús muestra una estimación del precio # Object construction window @@ -2690,7 +2692,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terreno propied STR_ABOUT_OPENTTD :{WHITE}Acerca de OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer, Todos los derechos reservados STR_ABOUT_VERSION :{BLACK}OpenTTD versión {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017, el equipo de OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018, el equipo de OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Guardar partida @@ -2936,7 +2938,7 @@ STR_NEWGRF_LIST_MISSING :{RED}Archivos q STR_NEWGRF_BROKEN :{WHITE}Es posible que el funcionamiento del NewGRF '{0:STRING}' cause desincronizaciones o errores STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Cambió el estado 'vagón con motor' para '{1:ENGINE}' cuando no estaba dentro de un depósito STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}cambió la longitud del vehículo para '{1:ENGINE}' cuando no estaba dentro de un depósito -STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Cambió la capacidad del vehículo para '{1:ENGINE}' cuando no estaba dentro de un depósito o mientras no se estaba reequipando +STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Cambió la capacidad del vehículo para '{1:ENGINE}' cuando no estaba dentro de un depósito o mientras no se estaba reformando STR_BROKEN_VEHICLE_LENGTH :{WHITE}Tren '{VEHICLE}' perteneciente a '{COMPANY}' tiene una longitud no válida. Puede ser debido a problemas con los NewGRF. El juego puede fallar STR_NEWGRF_BUGGY :{WHITE}El NewGRF '{0:STRING}' da información incorrecta @@ -3095,7 +3097,7 @@ STR_STORY_BOOK_NEXT_PAGE_TOOLTIP :{BLACK}Ir a la STR_STORY_BOOK_INVALID_GOAL_REF :{RED}Referencia a objetivos no válida # Station list window -STR_STATION_LIST_TOOLTIP :{BLACK}Nombres de estación: Clic en un nombre para centrar la vista principal en la estación. Ctrl+Clic abre una ventana de vista en dicha ubicación +STR_STATION_LIST_TOOLTIP :{BLACK}Nombres de estaciones: Clic en un nombre para centrar la vista principal en la estación. Ctrl+Clic abre una ventana de vista en dicha ubicación STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}Mantener pulsado Ctrl para seleccionar más de un elemento STR_STATION_LIST_CAPTION :{WHITE}{COMPANY}: {COMMA} estaci{P ón ones} STR_STATION_LIST_STATION :{YELLOW}{STATION} {STATION_FEATURES} @@ -3111,12 +3113,12 @@ STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_L STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} en camino desde {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} reservado para cargar) -STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Recibe -STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Mostrar lista de cargamento recibido -STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Recibe: {WHITE}{CARGO_LIST} +STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Acepta +STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Lista de cargamento aceptado +STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Acepta: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Esta estación tiene los derechos exclusivos de transporte en este pueblo. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} compró los derechos exclusivos de transporte en este pueblo. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Esta estación tiene los derechos exclusivos de transporte en este pueblo. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} compró los derechos exclusivos de transporte en este pueblo. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Evaluación STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Ver evaluación de la estación @@ -3129,11 +3131,11 @@ STR_STATION_VIEW_WAITING_AMOUNT :Cantidad: Esper STR_STATION_VIEW_PLANNED_STATION :Estación: Planeado STR_STATION_VIEW_PLANNED_AMOUNT :Cantidad: Planeado STR_STATION_VIEW_FROM :{YELLOW}{CARGO_SHORT} desde {STATION} -STR_STATION_VIEW_VIA :{YELLOW}{CARGO_SHORT} por {STATION} +STR_STATION_VIEW_VIA :{YELLOW}{CARGO_SHORT} pasando por {STATION} STR_STATION_VIEW_TO :{YELLOW}{CARGO_SHORT} a {STATION} STR_STATION_VIEW_FROM_ANY :{RED}{CARGO_SHORT} desde estación desconocida STR_STATION_VIEW_TO_ANY :{RED}{CARGO_SHORT} a cualquier estación -STR_STATION_VIEW_VIA_ANY :{RED}{CARGO_SHORT} por cualquier estación +STR_STATION_VIEW_VIA_ANY :{RED}{CARGO_SHORT} pasando por cualquier estación STR_STATION_VIEW_FROM_HERE :{GREEN}{CARGO_SHORT} con salida desde esta estación STR_STATION_VIEW_VIA_HERE :{GREEN}{CARGO_SHORT} se detendrá en esta estación STR_STATION_VIEW_TO_HERE :{GREEN}{CARGO_SHORT} a esta estación @@ -3269,7 +3271,7 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_TRAMWAY :{WHITE}Tranvía STR_COMPANY_INFRASTRUCTURE_VIEW_WATER_SECT :{GOLD}Casillas de agua: STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS :{WHITE}Canales STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}Estaciones: -STR_COMPANY_INFRASTRUCTURE_VIEW_STATIONS :{WHITE}Casillas de estación +STR_COMPANY_INFRASTRUCTURE_VIEW_STATIONS :{WHITE}Casillas de estaciones STR_COMPANY_INFRASTRUCTURE_VIEW_AIRPORTS :{WHITE}Aeropuertos STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL :{WHITE}{CURRENCY_LONG}/año @@ -3295,11 +3297,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Requiere STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Requiere: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING} ############ range for requires ends -STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Requiere -STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}esperando -STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING} +STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Requiere: +STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} esperando{STRING} ############ range for produces starts STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produce: {YELLOW}{STRING}{STRING} @@ -3368,6 +3368,11 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Quitar todos lo STR_GROUP_RENAME_CAPTION :{BLACK}Cambiar nombre del grupo +STR_GROUP_PROFIT_THIS_YEAR :Ganancias de este año: +STR_GROUP_PROFIT_LAST_YEAR :Ganancias del año pasado: +STR_GROUP_OCCUPANCY :Uso actual: +STR_GROUP_OCCUPANCY_VALUE :{NUM}% + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nuevos trenes STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nuevos trenes eléctricos @@ -3394,11 +3399,12 @@ STR_PURCHASE_INFO_WEIGHT_CWEIGHT :{BLACK}Peso: {G STR_PURCHASE_INFO_COST_SPEED :{BLACK}Costo: {GOLD}{CURRENCY_LONG}{BLACK} Velocidad: {GOLD}{VELOCITY} STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Capacidad: {GOLD}{CARGO_LONG}, {CARGO_LONG} STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Vagones con motor: {GOLD}+{POWER}{BLACK} Peso: {GOLD}+{WEIGHT_SHORT} -STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Reequipamiento: {GOLD}{STRING} +STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Reforma: {GOLD}{STRING} STR_PURCHASE_INFO_ALL_TYPES :Todo tipo de carga STR_PURCHASE_INFO_ALL_BUT :Todo excepto {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Máx. fuerza de tracción: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Alcance: {GOLD}{COMMA} casillas +STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Tipo de aeronave: {GOLD}{STRING} STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Lista de selección trenes. Clic en un tren para más información. Ctrl+Clic para mostrar u ocultar el tipo de tren STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Lista de selección de vehículos de carretera. Clic en un vehículo para más información. Ctrl+Clic para mostrar u ocultar el tipo del vehículo @@ -3532,10 +3538,11 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :{G=f}locomotora STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Costo: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Velocidad: {VELOCITY} Potencia: {POWER}{}Costo de operación: {CURRENCY_LONG}/año{}Capacidad: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Costo: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Velocidad: {VELOCITY} Potencia: {POWER} Máx. F.T.: {6:FORCE}{}Costo de operación: {4:CURRENCY_LONG}/año{}Capacidad: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Costo: {CURRENCY_LONG} Velocidad máx.: {VELOCITY}{}Capacidad: {CARGO_LONG}, {CARGO_LONG}{}Costo de mantenimiento: {CURRENCY_LONG}/año -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Costo: {CURRENCY_LONG} Velocidad máx.: {VELOCITY}{}Capacidad: {CARGO_LONG}{}Costo de mantenimiento: {CURRENCY_LONG}/año -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Costo: {CURRENCY_LONG} Velocidad máx.: {VELOCITY} Alcance: {COMMA} casillas{}Capacidad: {CARGO_LONG}, {CARGO_LONG}{}Costo de operación: {CURRENCY_LONG}/año -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Costo: {CURRENCY_LONG} Velocidad máx.: {VELOCITY} Alcance: {COMMA} casillas{}Capacidad: {CARGO_LONG}{}Costo de operación: {CURRENCY_LONG}/año +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Costo: {CURRENCY_LONG} Velocidad máx.: {VELOCITY}{}Capacidad: {CARGO_LONG}{}Costo de mantenimiento: {CURRENCY_LONG}/año +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Costo: {CURRENCY_LONG} Vel. máx.: {VELOCITY}{}Tipo de aeronave: {STRING}{}Capacidad: {CARGO_LONG}, {CARGO_LONG}{}Costo de operación: {CURRENCY_LONG} al año +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Costo: {CURRENCY_LONG} Vel. máx.: {VELOCITY}{}Tipo de aeronave: {STRING}{}Capacidad: {CARGO_LONG}{}Costo de operación: {CURRENCY_LONG} al año +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Costo: {CURRENCY_LONG} Vel. máx.: {VELOCITY}{}Tipo de aeronave: {STRING} Alcance: {COMMA} casillas{}Capacidad: {CARGO_LONG}, {CARGO_LONG}{}Costo de operación: {CURRENCY_LONG} al año +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Costo: {CURRENCY_LONG} Vel. máx.: {VELOCITY}{}Tipo de aeronave: {STRING} Alcance: {COMMA} tiles{}Capacidad: {CARGO_LONG}{}Costo de operación: {CURRENCY_LONG} al año # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Reemplazar {STRING} - {STRING} @@ -3597,10 +3604,10 @@ STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Esto com STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}Forzar al tren a proceder sin esperar a que la señal le ceda vía libre -STR_VEHICLE_VIEW_TRAIN_REFIT_TOOLTIP :{BLACK}Reequipar tren para transportar otro tipo de cargamento -STR_VEHICLE_VIEW_ROAD_VEHICLE_REFIT_TOOLTIP :{BLACK}Reequipar vehículo de carretera para transportar otro tipo de cargamento -STR_VEHICLE_VIEW_SHIP_REFIT_TOOLTIP :{BLACK}Reequipar barco para que transporte otro tipo de cargamento -STR_VEHICLE_VIEW_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Reequipar aeronave para llevar otro tipo de cargamento +STR_VEHICLE_VIEW_TRAIN_REFIT_TOOLTIP :{BLACK}Reformar tren para transportar otro tipo de cargamento +STR_VEHICLE_VIEW_ROAD_VEHICLE_REFIT_TOOLTIP :{BLACK}Reformar vehículo de carretera para transportar otro tipo de cargamento +STR_VEHICLE_VIEW_SHIP_REFIT_TOOLTIP :{BLACK}Reformar barco para que transporte otro tipo de cargamento +STR_VEHICLE_VIEW_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Reformar aeronave para llevar otro tipo de cargamento STR_VEHICLE_VIEW_TRAIN_REVERSE_TOOLTIP :{BLACK}Cambiar dirección del tren STR_VEHICLE_VIEW_ROAD_VEHICLE_REVERSE_TOOLTIP :{BLACK}Forzar al vehículo a girar en sentido opuesto @@ -3658,7 +3665,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} año{P STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} año{P "" s} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Velocidad máx.: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Velocidad máx.: {LTBLUE}{VELOCITY} {BLACK}Alcance: {LTBLUE}{COMMA} casillas +STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Vel. máx.: {LTBLUE}{VELOCITY} {BLACK}Tipo de aeronave: {LTBLUE}{STRING} +STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Vel. máx.: {LTBLUE}{VELOCITY} {BLACK}Tipo de aeronave: {LTBLUE}{STRING} {BLACK}Alcance: {LTBLUE}{COMMA} casillas STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potencia: {LTBLUE}{POWER}{BLACK} Velocidad máx.: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potencia: {LTBLUE}{POWER}{BLACK} Velocidad máx.: {LTBLUE}{VELOCITY} {BLACK}F.T. máx.: {LTBLUE}{FORCE} @@ -3712,35 +3720,35 @@ STR_VEHICLE_DETAILS_TRAIN_TOTAL_CARGO_TOOLTIP :{BLACK}Mostrar STR_VEHICLE_DETAILS_TRAIN_ARTICULATED_RV_CAPACITY :{BLACK}Capacidad: {LTBLUE} # Vehicle refit -STR_REFIT_CAPTION :{WHITE}{VEHICLE} (reequipar) +STR_REFIT_CAPTION :{WHITE}{VEHICLE} (reformar) STR_REFIT_TITLE :{GOLD}Elegir el nuevo tipo de cargamento: -STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Nueva capacidad: {GOLD}{CARGO_LONG}{}{BLACK}Costo por reequipar: {RED}{CURRENCY_LONG} -STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Nueva capacidad: {GOLD}{CARGO_LONG}{}{BLACK}Ingreso al reequipar: {GREEN}{CURRENCY_LONG} -STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Nueva capacidad: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Costo por reequipar: {RED}{CURRENCY_LONG} -STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Nueva capacidad: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Ingreso al reequipar: {GREEN}{CURRENCY_LONG} -STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Elegir los vehículos de ferrocarril a reequipar. Arrastrar con el ratón para elegir más de un vehículo. Clic en un espacio vacío para elegir el tren completo. Ctrl+Clic para elegir una unidad del tren y los vagones subsecuentes +STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Nueva capacidad: {GOLD}{CARGO_LONG}{}{BLACK}Costo por reformar: {RED}{CURRENCY_LONG} +STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Nueva capacidad: {GOLD}{CARGO_LONG}{}{BLACK}Ingreso al reformar: {GREEN}{CURRENCY_LONG} +STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Nueva capacidad: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Costo por reformar: {RED}{CURRENCY_LONG} +STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Nueva capacidad: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Ingreso al reformar: {GREEN}{CURRENCY_LONG} +STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Elegir los vehículos de ferrocarril a reformar. Arrastrar con el ratón para elegir más de un vehículo. Clic en un espacio vacío para elegir el tren completo. Ctrl+Clic para elegir una unidad del tren y los vagones subsecuentes STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}Elegir el tipo de cargamento para el tren STR_REFIT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Elegir el tipo de cargamento para el vehículo de carretera STR_REFIT_SHIP_LIST_TOOLTIP :{BLACK}Elegir el tipo de cargamento para el barco STR_REFIT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Elegir el tipo de cargamento para la aeronave -STR_REFIT_TRAIN_REFIT_BUTTON :{BLACK}Reequipar tren -STR_REFIT_ROAD_VEHICLE_REFIT_BUTTON :{BLACK}Reequipar vehículo de carretera -STR_REFIT_SHIP_REFIT_BUTTON :{BLACK}Reequipar barco -STR_REFIT_AIRCRAFT_REFIT_BUTTON :{BLACK}Reequipar aeronave +STR_REFIT_TRAIN_REFIT_BUTTON :{BLACK}Reformar tren +STR_REFIT_ROAD_VEHICLE_REFIT_BUTTON :{BLACK}Reformar vehículo de carretera +STR_REFIT_SHIP_REFIT_BUTTON :{BLACK}Reformar barco +STR_REFIT_AIRCRAFT_REFIT_BUTTON :{BLACK}Reformar aeronave -STR_REFIT_TRAIN_REFIT_TOOLTIP :{BLACK}Reequipar el tren para transportar el cargamento elegido -STR_REFIT_ROAD_VEHICLE_REFIT_TOOLTIP :{BLACK}Reequipar el vehículo de carretera para transportar el cargamento elegido -STR_REFIT_SHIP_REFIT_TOOLTIP :{BLACK}Reequipar el barco para transportar el cargamento elegido -STR_REFIT_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Reequipar la aeronave para transportar el cargamento elegido +STR_REFIT_TRAIN_REFIT_TOOLTIP :{BLACK}Reformar el tren para transportar el cargamento elegido +STR_REFIT_ROAD_VEHICLE_REFIT_TOOLTIP :{BLACK}Reformar el vehículo de carretera para transportar el cargamento elegido +STR_REFIT_SHIP_REFIT_TOOLTIP :{BLACK}Reformar el barco para transportar el cargamento elegido +STR_REFIT_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Reformar la aeronave para transportar el cargamento elegido # Order view STR_ORDERS_CAPTION :{WHITE}{VEHICLE} (Órdenes) STR_ORDERS_TIMETABLE_VIEW :{BLACK}Itinerario STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}Cambiar a la ventana de itinerarios -STR_ORDERS_LIST_TOOLTIP :{BLACK}Lista de órdenes: Clic en una orden para seleccionarla. Ctrl+Clic para desplazarse a la estación indicada en la orden +STR_ORDERS_LIST_TOOLTIP :{BLACK}Lista de órdenes: Clic en una orden para resaltarla. Ctrl+Clic para desplazarse a la estación indicada en la orden STR_ORDER_INDEX :{COMMA}:{NBSP} STR_ORDER_TEXT :{STRING} {STRING} {STRING} @@ -3751,28 +3759,28 @@ STR_ORDERS_END_OF_SHARED_ORDERS :- - Fin de órd STR_ORDER_NON_STOP :{BLACK}Sin paradas STR_ORDER_GO_TO :Ir a STR_ORDER_GO_NON_STOP_TO :Ir sin paradas a -STR_ORDER_GO_VIA :Ir por +STR_ORDER_GO_VIA :Pasar por STR_ORDER_GO_NON_STOP_VIA :Ir sin paradas por -STR_ORDER_TOOLTIP_NON_STOP :{BLACK}Cambiar el comportamiento de parada en la orden elegida +STR_ORDER_TOOLTIP_NON_STOP :{BLACK}Cambiar la forma de parada en la orden resaltada -STR_ORDER_TOGGLE_FULL_LOAD :{BLACK}Llenar cualquier carga +STR_ORDER_TOGGLE_FULL_LOAD :{BLACK}Llenar cualquiera STR_ORDER_DROP_LOAD_IF_POSSIBLE :Cargar si hay disponible -STR_ORDER_DROP_FULL_LOAD_ALL :Llenar todas las cargas -STR_ORDER_DROP_FULL_LOAD_ANY :Llenar cualquier carga +STR_ORDER_DROP_FULL_LOAD_ALL :Llenar todo +STR_ORDER_DROP_FULL_LOAD_ANY :Llenar cualquiera STR_ORDER_DROP_NO_LOADING :No cargar -STR_ORDER_TOOLTIP_FULL_LOAD :{BLACK}Cambiar el comportamiento de carga en la orden elegida +STR_ORDER_TOOLTIP_FULL_LOAD :{BLACK}Cambiar la forma de carga en la orden resaltada STR_ORDER_TOGGLE_UNLOAD :{BLACK}Descargar todo -STR_ORDER_DROP_UNLOAD_IF_ACCEPTED :Descargar si es recibido +STR_ORDER_DROP_UNLOAD_IF_ACCEPTED :Descargar si es aceptado STR_ORDER_DROP_UNLOAD :Descargar todo STR_ORDER_DROP_TRANSFER :Transferir STR_ORDER_DROP_NO_UNLOADING :No descargar -STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Cambiar el comportamiento de descarga en la orden elegida +STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Cambiar la forma de descarga en la orden resaltada -STR_ORDER_REFIT :{BLACK}Reequipar -STR_ORDER_REFIT_TOOLTIP :{BLACK}Elegir el tipo de cargamento a reequipar en esta orden. Ctrl+Clic para eliminar la orden -STR_ORDER_REFIT_AUTO :{BLACK}Reequipar en estación -STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Elegir el tipo de cargamento a reequipar en esta orden. Ctrl+Clic para eliminar la orden. Reequipar solo es posible si el vehículo lo permite +STR_ORDER_REFIT :{BLACK}Reformar +STR_ORDER_REFIT_TOOLTIP :{BLACK}Elegir el tipo de cargamento a reformar en esta orden. Ctrl+Clic para eliminar la orden +STR_ORDER_REFIT_AUTO :{BLACK}Reformar en estación +STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Elegir el tipo de cargamento a reformar en esta orden. Ctrl+Clic para eliminar la orden. Reformar solo es posible si el vehículo lo permite STR_ORDER_DROP_REFIT_AUTO :Cargamento fijo STR_ORDER_DROP_REFIT_AUTO_ANY :Cargamento disponible @@ -3796,21 +3804,21 @@ STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Tiempo de vida STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Comparación de los datos del vehículo respecto al valor dado STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :es igual a STR_ORDER_CONDITIONAL_COMPARATOR_NOT_EQUALS :no es igual a -STR_ORDER_CONDITIONAL_COMPARATOR_LESS_THAN :es menos de -STR_ORDER_CONDITIONAL_COMPARATOR_LESS_EQUALS :es menor o igual a -STR_ORDER_CONDITIONAL_COMPARATOR_MORE_THAN :es más de -STR_ORDER_CONDITIONAL_COMPARATOR_MORE_EQUALS :es más o igual a +STR_ORDER_CONDITIONAL_COMPARATOR_LESS_THAN :es menor que +STR_ORDER_CONDITIONAL_COMPARATOR_LESS_EQUALS :es menor o igual que +STR_ORDER_CONDITIONAL_COMPARATOR_MORE_THAN :es mayor que +STR_ORDER_CONDITIONAL_COMPARATOR_MORE_EQUALS :es mayor o igual a STR_ORDER_CONDITIONAL_COMPARATOR_IS_TRUE :es verdadero STR_ORDER_CONDITIONAL_COMPARATOR_IS_FALSE :es falso STR_ORDER_CONDITIONAL_VALUE_TOOLTIP :{BLACK}El valor contra el cual comparar de los datos del vehículo -STR_ORDER_CONDITIONAL_VALUE_CAPT :{WHITE}Indicar el valor contra el cual comparar +STR_ORDER_CONDITIONAL_VALUE_CAPT :{WHITE}Indicar el valor a comparar -STR_ORDERS_SKIP_BUTTON :{BLACK}Saltar -STR_ORDERS_SKIP_TOOLTIP :{BLACK}Ignorar la orden actual y saltar a la siguiente. Ctrl+Clic salta a la orden elegida +STR_ORDERS_SKIP_BUTTON :{BLACK}Ignorar +STR_ORDERS_SKIP_TOOLTIP :{BLACK}Ignorar la orden actual y proceder con la siguiente. Ctrl+Clic para iniciar la orden resaltada STR_ORDERS_DELETE_BUTTON :{BLACK}Eliminar -STR_ORDERS_DELETE_TOOLTIP :{BLACK}Eliminar orden marcada +STR_ORDERS_DELETE_TOOLTIP :{BLACK}Eliminar orden resaltada STR_ORDERS_DELETE_ALL_TOOLTIP :{BLACK}Eliminar todas las órdenes STR_ORDERS_STOP_SHARING_BUTTON :{BLACK}Dejar de compartir STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Dejar de compartir la lista de órdenes. Ctrl+Clic elimina también todas las órdenes de este vehículo @@ -3825,11 +3833,11 @@ STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Añadir STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Ver todos los vehículos que comparten el mismo itinerario # String parts to build the order string -STR_ORDER_GO_TO_WAYPOINT :Ir por {WAYPOINT} -STR_ORDER_GO_NON_STOP_TO_WAYPOINT :Ir sin paradas por {WAYPOINT} +STR_ORDER_GO_TO_WAYPOINT :Ir pasando por {WAYPOINT} +STR_ORDER_GO_NON_STOP_TO_WAYPOINT :Ir sin paradas pasando por {WAYPOINT} STR_ORDER_SERVICE_AT :Mantenimiento en -STR_ORDER_SERVICE_NON_STOP_AT :Mantenimiento sin paradas en +STR_ORDER_SERVICE_NON_STOP_AT :Ir a sin paradas a mantenimiento en STR_ORDER_NEAREST_DEPOT :el más cercano STR_ORDER_NEAREST_HANGAR :el hangar más cercano @@ -3839,8 +3847,8 @@ STR_ORDER_SHIP_DEPOT :astillero de ba STR_ORDER_GO_TO_NEAREST_DEPOT_FORMAT :{STRING} {STRING} {STRING} STR_ORDER_GO_TO_DEPOT_FORMAT :{STRING} {DEPOT} -STR_ORDER_REFIT_ORDER :(Reequipar a {STRING}) -STR_ORDER_REFIT_STOP_ORDER :(Reequipar a {STRING} y detenerse) +STR_ORDER_REFIT_ORDER :(Reformar a {STRING}) +STR_ORDER_REFIT_STOP_ORDER :(Reformar a {STRING} y detenerse) STR_ORDER_STOP_ORDER :(Detenerse) STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING} @@ -3851,7 +3859,7 @@ STR_ORDER_FULL_LOAD :(Llenar todo) STR_ORDER_FULL_LOAD_ANY :(Llenar cualquiera) STR_ORDER_NO_LOAD :(No cargar) STR_ORDER_UNLOAD :(Descargar y cargar) -STR_ORDER_UNLOAD_FULL_LOAD :(Descargar y llenar) +STR_ORDER_UNLOAD_FULL_LOAD :(Descargar y llenar todo) STR_ORDER_UNLOAD_FULL_LOAD_ANY :(Descargar y llenar cualquiera) STR_ORDER_UNLOAD_NO_LOAD :(Descargar y dejar vacío) STR_ORDER_TRANSFER :(Transferir y cargar) @@ -3859,22 +3867,22 @@ STR_ORDER_TRANSFER_FULL_LOAD :(Transferir y l STR_ORDER_TRANSFER_FULL_LOAD_ANY :(Transferir y llenar cualquiera) STR_ORDER_TRANSFER_NO_LOAD :(Transferir y dejar vacío) STR_ORDER_NO_UNLOAD :(No descargar y cargar) -STR_ORDER_NO_UNLOAD_FULL_LOAD :(No descargar y llenar) +STR_ORDER_NO_UNLOAD_FULL_LOAD :(No descargar y llenar todo) STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(No descargar y llenar cualquiera) STR_ORDER_NO_UNLOAD_NO_LOAD :(No descargar ni cargar) -STR_ORDER_AUTO_REFIT :(Reequipar a {STRING}) -STR_ORDER_FULL_LOAD_REFIT :(Reequipar a {STRING} y llenar) -STR_ORDER_FULL_LOAD_ANY_REFIT :(Reequipar a {STRING} y llenar cualquiera) -STR_ORDER_UNLOAD_REFIT :(Descargar y cargar con reequipamiento a {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Descargar y llenar con reequipamiento a {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Descargar y llenar cualquiera con reequipamiento a {STRING}) -STR_ORDER_TRANSFER_REFIT :(Transferir y cargar con reequipamiento a {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Transferir y llenar con reequipamiento a {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Transferir y llenar cualquiera con reequipamiento a {STRING}) -STR_ORDER_NO_UNLOAD_REFIT :(No descargar y cargar con reequipamiento a {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(No descargar y llenar con reequipamiento a {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(No descargar y llenar cualquiera con reequipamiento a {STRING}) +STR_ORDER_AUTO_REFIT :(Reformar a {STRING}) +STR_ORDER_FULL_LOAD_REFIT :(Llenar todo y reformar a{STRING}) +STR_ORDER_FULL_LOAD_ANY_REFIT :(Llenar cualquiera y reformar a {STRING}) +STR_ORDER_UNLOAD_REFIT :(Descargar y cargar con reforma a {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Descargar y llenar todo con reforma a {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Descargar y llenar cualquiera con reforma a {STRING}) +STR_ORDER_TRANSFER_REFIT :(Transferir y cargar con reforma a {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Transferir y llenar con reforma a {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Transferir y llenar cualquiera con reforma a {STRING}) +STR_ORDER_NO_UNLOAD_REFIT :(No descargar y cargar con reforma a {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(No descargar y llenar todo con reforma a {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(No descargar y llenar cualquiera con reforma a {STRING}) STR_ORDER_AUTO_REFIT_ANY :cargamento disponible @@ -3882,7 +3890,7 @@ STR_ORDER_STOP_LOCATION_NEAR_END :[principio] STR_ORDER_STOP_LOCATION_MIDDLE :[centro] STR_ORDER_STOP_LOCATION_FAR_END :[fondo] -STR_ORDER_OUT_OF_RANGE :{RED} (El sig. destino está legos del alcance) +STR_ORDER_OUT_OF_RANGE :{RED} (El siguiente destino está muy lejos) STR_ORDER_CONDITIONAL_UNCONDITIONAL :Saltar a orden {COMMA} STR_ORDER_CONDITIONAL_NUM :Saltar a orden {COMMA} cuando {STRING} {STRING} {COMMA} @@ -3906,9 +3914,9 @@ STR_TIMETABLE_TRAVEL_FOR_SPEED :Viajar durante STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Viajar (durante {STRING}, no programado) STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Viajar (durante {STRING}, no programado) a {VELOCITY} como máximo STR_TIMETABLE_STAY_FOR_ESTIMATED :(esperar {STRING}, no programado) -STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(viajar por {STRING}, no programado) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(viajar {STRING}, no programado) STR_TIMETABLE_STAY_FOR :y esperar {STRING} -STR_TIMETABLE_AND_TRAVEL_FOR :y viajar por {STRING} +STR_TIMETABLE_AND_TRAVEL_FOR :y viajar {STRING} STR_TIMETABLE_DAYS :{COMMA}{NBSP}día{P "" s} STR_TIMETABLE_TICKS :{COMMA}{NBSP}tick{P "" s} @@ -3939,8 +3947,8 @@ STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Borrar e STR_TIMETABLE_RESET_LATENESS :{BLACK}Reiniciar retrasos STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Reiniciar el contador del retraso para que el vehículo vaya a tiempo -STR_TIMETABLE_AUTOFILL :{BLACK}Rellenar automáticamente -STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Rellenar la tabla de itinerarios automáticamente con los valores del siguiente recorrido (Ctrl+Clic para intentar mantener los tiempos de espera) +STR_TIMETABLE_AUTOFILL :{BLACK}Llenar automáticamente +STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Llenar la tabla de itinerarios automáticamente con los valores del siguiente recorrido (Ctrl+Clic para intentar mantener los tiempos de espera) STR_TIMETABLE_EXPECTED :{BLACK}Esperado STR_TIMETABLE_SCHEDULED :{BLACK}Programado @@ -4090,7 +4098,7 @@ STR_ERROR_NO_TOWN_IN_SCENARIO :{WHITE}... no h STR_ERROR_PNGMAP :{WHITE}No se puede cargar mapa desde PNG... STR_ERROR_PNGMAP_FILE_NOT_FOUND :{WHITE}... archivo no encontrado STR_ERROR_PNGMAP_IMAGE_TYPE :{WHITE}... no se pudo convertir el tipo de imagen. Se requieren imágenes PNG de 8 o 24 bits -STR_ERROR_PNGMAP_MISC :{WHITE}... algo salió mal (quizá el archivo esté tenga errores) +STR_ERROR_PNGMAP_MISC :{WHITE}... algo salió mal (quizá el archivo está dañado) STR_ERROR_BMPMAP :{WHITE}No se pudo cargar mapa desde BMP... STR_ERROR_BMPMAP_IMAGE_TYPE :{WHITE}... no se pudo convertir el tipo de imagen @@ -4117,13 +4125,13 @@ STR_ERROR_MESSAGE_CAPTION_OTHER_COMPANY :{YELLOW}Mensaje # Generic construction errors STR_ERROR_OFF_EDGE_OF_MAP :{WHITE}Fuera del borde del mapa STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Demasiado cerca del borde del mapa -STR_ERROR_NOT_ENOUGH_CASH_REQUIRES_CURRENCY :{WHITE}No hay suficiente dinero: se requieren {CURRENCY_LONG} +STR_ERROR_NOT_ENOUGH_CASH_REQUIRES_CURRENCY :{WHITE}No alcanza el dinero: se necesitan {CURRENCY_LONG} STR_ERROR_FLAT_LAND_REQUIRED :{WHITE}Se requiere terreno plano STR_ERROR_LAND_SLOPED_IN_WRONG_DIRECTION :{WHITE}Tierra inclinada en dirección errónea STR_ERROR_CAN_T_DO_THIS :{WHITE}No se puede hacer eso... STR_ERROR_BUILDING_MUST_BE_DEMOLISHED :{WHITE}Primero se debe demoler el edificio STR_ERROR_CAN_T_CLEAR_THIS_AREA :{WHITE}No se puede despejar esta zona... -STR_ERROR_SITE_UNSUITABLE :{WHITE}... lugar no apropiado +STR_ERROR_SITE_UNSUITABLE :{WHITE}... lugar no apto STR_ERROR_ALREADY_BUILT :{WHITE}... ya construido STR_ERROR_OWNED_BY :{WHITE}... propiedad de {STRING} STR_ERROR_AREA_IS_OWNED_BY_ANOTHER :{WHITE}... otra empresa es dueña de esta área @@ -4164,7 +4172,7 @@ STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}No se pu STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}No se puede construir la sede de la empresa... STR_ERROR_CAN_T_BUY_25_SHARE_IN_THIS :{WHITE}No se puede comprar el 25% de acciones... STR_ERROR_CAN_T_SELL_25_SHARE_IN :{WHITE}No se puede vender el 25% de acciones... -STR_ERROR_PROTECTED :{WHITE}Esta empresa es aún muy reciente para comerciar con acciones... +STR_ERROR_PROTECTED :{WHITE}Esta empresa es muy reciente para comerciar con acciones... # Town related errors STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}No se puede crear ningún pueblo @@ -4175,10 +4183,10 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... dema STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... demasiado cerca de otro pueblo STR_ERROR_TOO_MANY_TOWNS :{WHITE}... demasiados pueblos STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... ya no hay espacio en el mapa -STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}El pueblo no construirá carreteras. La función de construcción de carreteras puede activarse Configuración->Ambiente->Pueblos +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}El pueblo no construirá carreteras. La función de construcción de carreteras puede activarse en Configuración->Ambiente->Pueblos STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Obras de carretera en progreso STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}No se puede eliminar este pueblo...{}Quedan estaciones o depósitos relacionados con él, o una propiedad suya no puede ser retirada -STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... no hay lugar apropiado para una estatua en el centro de esta pueblo +STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... no hay ningún lugar apto para una estatua en el centro de este pueblo # Industry related errors STR_ERROR_TOO_MANY_INDUSTRIES :{WHITE}... demasiadas industrias @@ -4199,8 +4207,8 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... los STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... solo se puede construir por encima del nivel de nieve STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... solo se puede construir por debajo del nivel de nieve -STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}No hubo sitios apropiados para industrias '{STRING}' -STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Cambia los parámetros de generación para obtener un mejor mapa +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}No hubo espacio para industrias de tipo "{STRING}" +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Cambia las opciones de generación para crear un mejor mapa # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}No se puede construir la estación de tren aquí... @@ -4217,7 +4225,7 @@ STR_ERROR_TOO_MANY_STATIONS_LOADING :{WHITE}Demasiad STR_ERROR_TOO_MANY_STATION_SPECS :{WHITE}Demasiadas partes de estación de tren STR_ERROR_TOO_MANY_BUS_STOPS :{WHITE}Demasiadas paradas de autobuses STR_ERROR_TOO_MANY_TRUCK_STOPS :{WHITE}Demasiadas estaciones de camiones -STR_ERROR_TOO_CLOSE_TO_ANOTHER_STATION :{WHITE}Demasiado cerca de otra estación de pasajeros o carga +STR_ERROR_TOO_CLOSE_TO_ANOTHER_STATION :{WHITE}Demasiado cerca de otra estación o zona de carga STR_ERROR_TOO_CLOSE_TO_ANOTHER_DOCK :{WHITE}Demasiado cerca de otro muelle STR_ERROR_TOO_CLOSE_TO_ANOTHER_AIRPORT :{WHITE}Demasiado cerca de otro aeropuerto STR_ERROR_CAN_T_RENAME_STATION :{WHITE}No se puede cambiar nombre de la estación... @@ -4270,14 +4278,14 @@ STR_ERROR_ROAD_VEHICLE_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... pued STR_ERROR_SHIP_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... puede que esté detenido dentro de un astillero STR_ERROR_AIRCRAFT_MUST_BE_STOPPED_INSIDE_HANGAR :{WHITE}... puede que esté detenido dentro de un hangar -STR_ERROR_TRAINS_CAN_ONLY_BE_ALTERED_INSIDE_A_DEPOT :{WHITE}Los trenes únicamente pueden modificarse si están detenidos dentro de un depósito +STR_ERROR_TRAINS_CAN_ONLY_BE_ALTERED_INSIDE_A_DEPOT :{WHITE}Los trenes pueden modificarse solo si están detenidos dentro de un depósito STR_ERROR_TRAIN_TOO_LONG :{WHITE}Tren demasiado largo STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE :{WHITE}No se puede cambiar dirección del vehículo... STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE_MULTIPLE_UNITS :{WHITE}... vehículo compuesto por múltiples unidades STR_ERROR_INCOMPATIBLE_RAIL_TYPES :Los tipos de vías férreas no son compatibles STR_ERROR_CAN_T_MOVE_VEHICLE :{WHITE}No se puede mover vehículo... -STR_ERROR_REAR_ENGINE_FOLLOW_FRONT :{WHITE}El motor posterior debe seguir siempre al delantero +STR_ERROR_REAR_ENGINE_FOLLOW_FRONT :{WHITE}La locomotora trasera debe conectarse a la delantera STR_ERROR_UNABLE_TO_FIND_ROUTE_TO :{WHITE}No se puede encontrar ruta al depósito STR_ERROR_UNABLE_TO_FIND_LOCAL_DEPOT :{WHITE}No se puede encontrar depósito @@ -4349,14 +4357,14 @@ STR_ERROR_CAN_T_BUILD_TUNNEL_HERE :{WHITE}No se pu STR_ERROR_SITE_UNSUITABLE_FOR_TUNNEL :{WHITE}Lugar no apto para entrada de túnel STR_ERROR_MUST_DEMOLISH_TUNNEL_FIRST :{WHITE}Primero se debe demoler el túnel STR_ERROR_ANOTHER_TUNNEL_IN_THE_WAY :{WHITE}Otro túnel obstaculiza -STR_ERROR_TUNNEL_THROUGH_MAP_BORDER :{WHITE}El túnel terminaría fuera del mapa +STR_ERROR_TUNNEL_THROUGH_MAP_BORDER :{WHITE}El túnel se extendería más allá del mapa STR_ERROR_UNABLE_TO_EXCAVATE_LAND :{WHITE}No se puede excavar la tierra al otro lado del túnel STR_ERROR_TUNNEL_TOO_LONG :{WHITE}... túnel demasiado largo # Object related errors STR_ERROR_TOO_MANY_OBJECTS :{WHITE}... demasiados objetos STR_ERROR_CAN_T_BUILD_OBJECT :{WHITE}No se puede colocar objeto... -STR_ERROR_OBJECT_IN_THE_WAY :{WHITE}Otro objeto obstaculiza +STR_ERROR_OBJECT_IN_THE_WAY :{WHITE}Otro objeto estorba STR_ERROR_COMPANY_HEADQUARTERS_IN :{WHITE}... la sede de la empresa obstaculiza STR_ERROR_CAN_T_PURCHASE_THIS_LAND :{WHITE}No es posible adquirir este terreno... STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... ¡ya fue adquirido por el jugador! @@ -4371,15 +4379,15 @@ STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}No se pu STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}No se pueden añadir vehículos compartidos al grupo... # Generic vehicle errors -STR_ERROR_TRAIN_IN_THE_WAY :{WHITE}Tren obstaculiza -STR_ERROR_ROAD_VEHICLE_IN_THE_WAY :{WHITE}Vehículo de carretera obstaculiza -STR_ERROR_SHIP_IN_THE_WAY :{WHITE}Barco obstaculiza +STR_ERROR_TRAIN_IN_THE_WAY :{WHITE}Tren estorba +STR_ERROR_ROAD_VEHICLE_IN_THE_WAY :{WHITE}Vehículo de carretera estorba +STR_ERROR_SHIP_IN_THE_WAY :{WHITE}Barco estorba STR_ERROR_AIRCRAFT_IN_THE_WAY :{WHITE}Aeronave obstaculiza -STR_ERROR_CAN_T_REFIT_TRAIN :{WHITE}No se puede reequipar tren... -STR_ERROR_CAN_T_REFIT_ROAD_VEHICLE :{WHITE}No se puede reequipar vehículo de carretera... -STR_ERROR_CAN_T_REFIT_SHIP :{WHITE}No se puede reequipar barco... -STR_ERROR_CAN_T_REFIT_AIRCRAFT :{WHITE}No se puede reequipar aeronave... +STR_ERROR_CAN_T_REFIT_TRAIN :{WHITE}No se puede reformar tren... +STR_ERROR_CAN_T_REFIT_ROAD_VEHICLE :{WHITE}No se puede reformar vehículo de carretera... +STR_ERROR_CAN_T_REFIT_SHIP :{WHITE}No se puede reformar barco... +STR_ERROR_CAN_T_REFIT_AIRCRAFT :{WHITE}No se puede reformar aeronave... STR_ERROR_CAN_T_RENAME_TRAIN :{WHITE}No se puede cambiar nombre del tren... STR_ERROR_CAN_T_RENAME_ROAD_VEHICLE :{WHITE}No se puede cambiar nombre del vehículo... @@ -4457,7 +4465,7 @@ STR_ERROR_AIRCRAFT_NOT_ENOUGH_RANGE :{WHITE}... la a # Timetable related errors STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}No se pueden asignar itinerarios al vehículo... STR_ERROR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}Los vehículos solo pueden esperar en estaciones -STR_ERROR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}Este vehículo se detendrá en esta estación +STR_ERROR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}Este vehículo no se detendrá en esta estación # Sign related errors STR_ERROR_TOO_MANY_SIGNS :{WHITE}... demasiados carteles @@ -4485,7 +4493,7 @@ STR_TOWN_BUILDING_NAME_OFFICE_BLOCK_1 :Edificio de ofi STR_TOWN_BUILDING_NAME_SMALL_BLOCK_OF_FLATS_1 :Conjunto habitacional pequeño STR_TOWN_BUILDING_NAME_CHURCH_1 :Iglesia STR_TOWN_BUILDING_NAME_LARGE_OFFICE_BLOCK_1 :Complejo de oficinas -STR_TOWN_BUILDING_NAME_TOWN_HOUSES_1 :Casas de pueblo +STR_TOWN_BUILDING_NAME_TOWN_HOUSES_1 :Casas adosadas STR_TOWN_BUILDING_NAME_HOTEL_1 :Hotel STR_TOWN_BUILDING_NAME_STATUE_1 :Estatua STR_TOWN_BUILDING_NAME_FOUNTAIN_1 :Fuente @@ -4574,7 +4582,7 @@ STR_SV_STNAME_TRANSFER :Transferencia { STR_SV_STNAME_HALT :Parada {STRING} STR_SV_STNAME_VALLEY :Valle de {STRING} STR_SV_STNAME_HEIGHTS :Altos de {STRING} -STR_SV_STNAME_WOODS :Alameda de {STRING} +STR_SV_STNAME_WOODS :Bosques de {STRING} STR_SV_STNAME_LAKESIDE :Lago de {STRING} STR_SV_STNAME_EXCHANGE :Intercambio {STRING} STR_SV_STNAME_AIRPORT :Aeropuerto de {STRING} diff --git a/src/lang/swedish.txt b/src/lang/swedish.txt index 745e8c5f23..33f18791db 100644 --- a/src/lang/swedish.txt +++ b/src/lang/swedish.txt @@ -10,7 +10,7 @@ ##grflangid 0x2e -# $Id: swedish.txt 27941 2017-12-11 19:50:30Z frosch $ +# $Id: swedish.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -1372,6 +1372,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Av STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Scrolla med vänster musknappsklick: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Aktivera skrollning av kartan genom att dra den med den vänstra musknappen. Detta är särskilt användbart för skrollning vid användning av en pekskärm +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Stäng fönster med högerklick: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Stänger fönster när man högerklickar inuti dem. Denna inställning inaktiverar tooltips vid högerklick! STR_CONFIG_SETTING_AUTOSAVE :Autospara: {STRING} STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Välj intervall mellan automatisk sparande @@ -2689,7 +2691,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Mark som ägs a STR_ABOUT_OPENTTD :{WHITE}Om OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Ursprunglig upphovsrätt {COPYRIGHT} 1995 Chris Sawyer, Alla rättigheter hävdas STR_ABOUT_VERSION :{BLACK}OpenTTD-version {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 OpenTTD-teamet +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 OpenTTD-teamet # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spara spel @@ -3114,8 +3116,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Accepter STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Visa lista över accepterat gods STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Accepterar: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Den här stationen har exklusiva transporträttigheter i den här staden. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} har köpt exklusiva transporträttigheter i den här staden. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Den här stationen har exklusiva transporträttigheter i den här staden. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} har köpt exklusiva transporträttigheter i den här staden. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Värderingar STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Visa stationens klassificering @@ -3294,11 +3296,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Kräver: STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Kräver: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING} ############ range for requires ends -STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Kräver -STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}väntar -STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING} +STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Kräver: +STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} väntar{STRING} ############ range for produces starts STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Producerar: {YELLOW}{STRING}{STRING} @@ -3367,6 +3367,11 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Ta bort alla fo STR_GROUP_RENAME_CAPTION :{BLACK}Döp om en grupp +STR_GROUP_PROFIT_THIS_YEAR :Vinst i år: +STR_GROUP_PROFIT_LAST_YEAR :Vinst förra året: +STR_GROUP_OCCUPANCY :Nuvarande användning: +STR_GROUP_OCCUPANCY_VALUE :{NUM}% + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nytt tågfordon STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nya elektriska järnvägsfordon @@ -3398,6 +3403,7 @@ STR_PURCHASE_INFO_ALL_TYPES :Alla typer av l STR_PURCHASE_INFO_ALL_BUT :Allt utom {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Maximal Dragkraft: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Räckvidd: {GOLD}{COMMA} rutor +STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Flygplanstyp: {GOLD}{STRING} STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Lista av tågvagnar. Klicka på tågvagn för information. Ctrl+klick visar eller döljer vagnstypen STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Vägfordonslista. Klicka på fordon för information. Ctrl+klick visar eller döljer fordonstypen @@ -3531,10 +3537,11 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :maglev-lok STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Kostnad: {CURRENCY_LONG} Vikt: {WEIGHT_SHORT}{}Hastighet: {VELOCITY} Kraft {POWER}{}Löpande kostnad: {CURRENCY_LONG}/år{}Kapacitet: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Kostnad: {CURRENCY_LONG} Vikt: {WEIGHT_SHORT}{}Hastighet: {VELOCITY} Effekt: {POWER} Max. T.E.: {6:FORCE}{}Löpande kostnad: {4:CURRENCY_LONG}/år{}Kapacitet: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Kostnad: {CURRENCY_LONG} Maxhastiget: {VELOCITY}{}Kapacitet: {CARGO_LONG}, {CARGO_LONG}{}Körkostnad: {CURRENCY_LONG}/år -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Kostnad: {CURRENCY_LONG} Maxhastiget: {VELOCITY}{}Kapacitet: {CARGO_LONG}{}Körkostnad: {CURRENCY_LONG}/år -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Kostnad: {CURRENCY_LONG} Maxhastighet: {VELOCITY} Räckvidd: {COMMA} rutor{}Kapacitet: {CARGO_LONG}, {CARGO_LONG}{}Driftkostnad: {CURRENCY_LONG}/år -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Kostnad: {CURRENCY_LONG} Maxhastighet: {VELOCITY} Räckvidd: {COMMA} rutor{}Kapacitet: {CARGO_LONG}{}Driftkostnad: {CURRENCY_LONG}/yr +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Kostnad: {CURRENCY_LONG} Maxhastiget: {VELOCITY}{}Kapacitet: {CARGO_LONG}{}Körkostnad: {CURRENCY_LONG}/år +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Kostnad: {CURRENCY_LONG} Maxhastighet: {VELOCITY}{}Flygplanstyp: {STRING}{}Kapacitet: {CARGO_LONG}, {CARGO_LONG}{}Körkostnad: {CURRENCY_LONG}/år +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Kostnad: {CURRENCY_LONG} Maxhastighet: {VELOCITY}{}Flygplanstyp: {STRING}{}Kapacitet: {CARGO_LONG}{}Körkostnad: {CURRENCY_LONG}/år +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Kostnad: {CURRENCY_LONG} Maxhastighet: {VELOCITY}{}Flygplanstyp: {STRING} Räckvidd: {COMMA} rutor{}Kapacitet: {CARGO_LONG}, {CARGO_LONG}{}Körkostnad: {CURRENCY_LONG}/år +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Kostnad: {CURRENCY_LONG} Maxhastighet: {VELOCITY}{}Flygplanstyp: {STRING} Räckvidd: {COMMA} rutor{}Kapacitet: {CARGO_LONG}{}Körkostnad: {CURRENCY_LONG}/år # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Byt ut {STRING} - {STRING} @@ -3657,7 +3664,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} år ({C STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} år ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Maxhastiget: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Maxhastighet: {LTBLUE}{VELOCITY} {BLACK}Räckvidd: {LTBLUE}{COMMA} rutor +STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Maxhastighet: {LTBLUE}{VELOCITY} {BLACK}Flygplanstyp: {LTBLUE}{STRING} +STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Maxhastighet: {LTBLUE}{VELOCITY} {BLACK}Flygplanstyp: {LTBLUE}{STRING} {BLACK}Räckvidd: {LTBLUE}{COMMA} rutor STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Vikt: {LTBLUE}{WEIGHT_SHORT} {BLACK}Kraft: {LTBLUE}{POWER}{BLACK} Maxhastiget: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Vikt: {LTBLUE}{WEIGHT_SHORT} {BLACK}Kraft: {LTBLUE}{POWER}{BLACK} Maxhastiget: {LTBLUE}{VELOCITY} {BLACK}Max. T.E.: {LTBLUE}{FORCE} diff --git a/src/lang/tamil.txt b/src/lang/tamil.txt index 1baa96c7b6..cd9b7591e7 100644 --- a/src/lang/tamil.txt +++ b/src/lang/tamil.txt @@ -10,7 +10,7 @@ ##grflangid 0x0a -# $Id: tamil.txt 27777 2017-03-11 16:49:51Z frosch $ +# $Id: tamil.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -2378,7 +2378,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :நிறுவ STR_ABOUT_OPENTTD :{WHITE}OpenTTD-ஐ பற்றி STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}அசல் உரிமைகள் {COPYRIGHT} 1995 கிறிஸ் சாயர், எல்லா உரிமைகளும் பதிவுசெய்யப்பட்டது STR_ABOUT_VERSION :{BLACK}OpenTTD பதிப்பு {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 OpenTTD குழுமம் +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 OpenTTD குழுமம் # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}ஆட்டத்தை பதிவு செய் @@ -2747,8 +2747,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}ஏற STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}ஏற்றுக்கொள்ளப்படும் சரக்குகளின் பட்டியலினைக் காட்டு STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}ஏற்றுக்கொள்பவை: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}இந்த நிலையம் இந்த நகரின் முழு போக்குவரத்து உரிமைகளையும் பெற்றுள்ளது. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} இந்த நகரின் மொத்த போக்குவரத்து உரிமைகளையும் வாங்கியது. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}இந்த நிலையம் இந்த நகரின் முழு போக்குவரத்து உரிமைகளையும் பெற்றுள்ளது. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} இந்த நகரின் மொத்த போக்குவரத்து உரிமைகளையும் வாங்கியது. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}தரங்கள் STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}நிலைய தரத்தினைக் காட்டவும் @@ -2976,6 +2976,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :அனைத் STR_GROUP_RENAME_CAPTION :{BLACK}குழுவின் பெயரினை மாற்றவும் + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :புது இரயில் வாகனங்கள் STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :புது மின்சார இரயில் வாகனங்கள் @@ -3118,10 +3119,7 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :மேக்ல STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}செலவு: {CURRENCY_LONG} எடை: {WEIGHT_SHORT}{}வேகம்: {VELOCITY} திறன்: {POWER}{}ஓட்டுவதற்கான செலவு: {CURRENCY_LONG}/வரு{}கொள்ளளவு: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}செலவு: {CURRENCY_LONG} எடை: {WEIGHT_SHORT}{}வேகம்: {VELOCITY} திறன்: {POWER} அதி. T.E.: {6:FORCE}{}ஓட்டுவதற்கான செலவு: {4:CURRENCY_LONG}/வரு{}கொள்ளளவு: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}செலவு: {CURRENCY_LONG} அதி. வேகம்: {VELOCITY}{}கொள்ளளவு: {CARGO_LONG}, {CARGO_LONG}{}ஓட்டும் செலவு: {CURRENCY_LONG}/ஆண்டிற்கு -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}செலவு: {CURRENCY_LONG} அதி. வேகம்: {VELOCITY}{}கொள்ளளவு: {CARGO_LONG}{}ஓட்டும் செலவு: {CURRENCY_LONG}/ஆண்டிற்கு -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}செலவு: {CURRENCY_LONG} அதி. வேகம்: {VELOCITY} எல்லை: {COMMA} கட்டங்கள்{}கொள்ளளவு: {CARGO_LONG}, {CARGO_LONG}{}ஓட்டும் செலவு: {CURRENCY_LONG}/ஆண்டிற்கு -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}செலவு: {CURRENCY_LONG} அதி. வேகம்: {VELOCITY} வரையறை: {COMMA} கட்டங்கள்{}கொள்ளளவு: {CARGO_LONG}{}இயக்குவதற்கான செலவு: {CURRENCY_LONG}/வரு +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}செலவு: {CURRENCY_LONG} அதி. வேகம்: {VELOCITY}{}கொள்ளளவு: {CARGO_LONG}{}ஓட்டும் செலவு: {CURRENCY_LONG}/ஆண்டிற்கு # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}மாற்று {STRING} - {STRING} @@ -3228,7 +3226,6 @@ STR_VEHICLE_INFO_AGE :{COMMA} வர STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} வருடம்{P "" கள்} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}அதி. வேகம்: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}அதி. வேகம்: {LTBLUE}{VELOCITY} {BLACK}வரையறை: {LTBLUE}{COMMA} கட்டங்கள் STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}எடை: {LTBLUE}{WEIGHT_SHORT} {BLACK}திறன்: {LTBLUE}{POWER}{BLACK} அதி. வேகம்: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}எடை: {LTBLUE}{WEIGHT_SHORT} {BLACK}திறன்: {LTBLUE}{POWER}{BLACK} அதி. வேகம்: {LTBLUE}{VELOCITY} {BLACK}அதி. T.E.: {LTBLUE}{FORCE} diff --git a/src/lang/thai.txt b/src/lang/thai.txt index df89c8da4b..7af7a5b901 100644 --- a/src/lang/thai.txt +++ b/src/lang/thai.txt @@ -10,7 +10,7 @@ ##grflangid 0x42 -# $Id: thai.txt 27865 2017-05-03 20:43:22Z frosch $ +# $Id: thai.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -2635,7 +2635,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :บริษั STR_ABOUT_OPENTTD :{WHITE}เกี่ยวกับ OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}ลิขสิทธิ์เดิม {COPYRIGHT} ค.ศ.1995 ของ Chris Sawyer, สงวนลิขสิทธิ์ STR_ABOUT_VERSION :{BLACK}OpenTTD รุ่นที่ {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}ลิขสิทธิ์ OpenTTD {COPYRIGHT}2002-2017 ของ The OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}ลิขสิทธิ์ OpenTTD {COPYRIGHT}2002-2018 ของ The OpenTTD team # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}บันทึกเกม @@ -3044,8 +3044,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}ปิ STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}ปิดหน้าต่างความนิยมลงและแสดงเฉพาะรายการสินค้าที่สถานีรองรับและรอการขนส่ง STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}กำลังต้องการ: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}สถานนีนี้มีสัมปทานขนส่งจากเมืองนี้ -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} ซื้อสัมปทานขนส่งที่เมืองนี้ +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}สถานนีนี้มีสัมปทานขนส่งจากเมืองนี้ +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} ซื้อสัมปทานขนส่งที่เมืองนี้ STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}ความพึงพอใจ STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}แสดงความพึงพอใจของสถานี @@ -3290,6 +3290,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :ลบยาน STR_GROUP_RENAME_CAPTION :{BLACK}เปลี่ยนชื่อกลุ่ม + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :รถไฟใหม่ STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :รถไฟฟ้าใหม่ @@ -3446,10 +3447,7 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :รถไฟร STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}มูลค่า: {CURRENCY_LONG} น้ำหนัก: {WEIGHT_SHORT}{}ความเร็ว: {VELOCITY}พลังขับเคลื่อน: {POWER}{}ค่าปฏิบัติการ: {CURRENCY_LONG}/ปี{}ความจุ: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}มูลค่า: {CURRENCY_LONG} น้ำหนัก: {WEIGHT_SHORT}{}ความเร็ว: {VELOCITY}พลังขับเคลื่อน: {POWER} กำัลังลากจูงสูงสุด: {6:FORCE}{}ค่าปฎิบัติการ: {4:CURRENCY_LONG}/ปี{}ความจุ: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}มูลค่า: {CURRENCY_LONG} ความเร็วสูงสุด: {VELOCITY}{}ความจุ: {CARGO_LONG}, {CARGO_LONG}{}ค่าปฎิบัติการ: {CURRENCY_LONG}/ปี -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}มูลค่า: {CURRENCY_LONG} ความเร็วสูงสุด: {VELOCITY}{}ความจุ: {CARGO_LONG}{}ค่าปฏิบัติการ: {CURRENCY_LONG}/ปี -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}มูลค่า: {CURRENCY_LONG} ความเร็วสูงสุด: {VELOCITY} พิสัย: {COMMA} ช่อง{}ความจุ: {CARGO_LONG}, {CARGO_LONG}{}ค่าปฏิบัติการ: {CURRENCY_LONG}/ปี -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}มูลค่า: {CURRENCY_LONG} ความเร็วสูงสุด: {VELOCITY} พิสัย: {COMMA} tiles{}ความจุ: {CARGO_LONG}{}ค่าปฏิบัติการ: {CURRENCY_LONG}/ปี +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}มูลค่า: {CURRENCY_LONG} ความเร็วสูงสุด: {VELOCITY}{}ความจุ: {CARGO_LONG}{}ค่าปฏิบัติการ: {CURRENCY_LONG}/ปี # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}เปลี่ยน {STRING} - {STRING} @@ -3568,7 +3566,6 @@ STR_VEHICLE_INFO_AGE :{COMMA} ปี STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} ปี ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}ความเร็วสูงสุด: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}ความเร็วสูงสุด: {LTBLUE}{VELOCITY} {BLACK}พิสัย: {LTBLUE}{COMMA} ช่อง STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}น้ำหนัก: {LTBLUE}{WEIGHT_SHORT} {BLACK}พลังขับเคลื่อน: {LTBLUE}{POWER}{BLACK} ความเร็วสูงสุด: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}น้ำหนัก: {LTBLUE}{WEIGHT_SHORT} {BLACK}พลังขับเคลื่อน: {LTBLUE}{POWER}{BLACK} ความเร็วสูงสุด: {LTBLUE}{VELOCITY} {BLACK}กำลังลากจูงสูงสุด: {LTBLUE}{FORCE} diff --git a/src/lang/traditional_chinese.txt b/src/lang/traditional_chinese.txt index b8ef6c7527..e847108d86 100644 --- a/src/lang/traditional_chinese.txt +++ b/src/lang/traditional_chinese.txt @@ -10,7 +10,7 @@ ##grflangid 0x0c -# $Id: traditional_chinese.txt 27865 2017-05-03 20:43:22Z frosch $ +# $Id: traditional_chinese.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -2687,7 +2687,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :公司所有土 STR_ABOUT_OPENTTD :{WHITE}關於 OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}原著作權為 {COPYRIGHT} 1995 Chris Sawyer,保留所有權利 STR_ABOUT_VERSION :{BLACK}OpenTTD 版本 {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 OpenTTD 開發小組 +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 OpenTTD 開發小組 # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}儲存遊戲 @@ -3112,8 +3112,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}接受 STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}顯示接受的貨物種類 STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}接受:{WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}此車站享有所屬市鎮的專屬運輸權 -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK}已購買此市鎮的專屬運輸權 +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}此車站享有所屬市鎮的專屬運輸權 +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK}已購買此市鎮的專屬運輸權 STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}評價 STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}顯示車站評價 @@ -3360,6 +3360,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :移去所有運 STR_GROUP_RENAME_CAPTION :{BLACK}重新命名群組 + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :新購鐵路列車 STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :新購電氣化列車 @@ -3524,10 +3525,7 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :磁浮機車頭 STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}費用:{CURRENCY_LONG} 載重:{WEIGHT_SHORT}{}速度:{VELOCITY} 功率:{POWER}{}營運成本:{CURRENCY_LONG} / 年{}容量:{CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}費用:{CURRENCY_LONG} 載重:{WEIGHT_SHORT}{}速度:{VELOCITY} 功率:{POWER} 最大牽引力:{6:FORCE}{}營運成本:{4:CURRENCY_LONG}/年{}容量:{5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}費用:{CURRENCY_LONG} 最高速度:{VELOCITY}{}容量:{CARGO_LONG}, {CARGO_LONG}{}營運成本:{CURRENCY_LONG}/年 -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}費用:{CURRENCY_LONG} 最高速度:{VELOCITY}{}容量:{CARGO_LONG}{}營運成本:{CURRENCY_LONG}/年 -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}成本: {CURRENCY_LONG} 最高速度: {VELOCITY} 範圍: {COMMA} 格{}容量: {CARGO_LONG}, {CARGO_LONG}{}營運成本: {CURRENCY_LONG}/年 -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}成本: {CURRENCY_LONG} 最高速度: {VELOCITY} 範圍: {COMMA} 格{}容量: {CARGO_LONG}{}營運成本: {CURRENCY_LONG}/年 +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}費用:{CURRENCY_LONG} 最高速度:{VELOCITY}{}容量:{CARGO_LONG}{}營運成本:{CURRENCY_LONG}/年 # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}替換 {STRING} - {STRING} @@ -3649,7 +3647,6 @@ STR_VEHICLE_INFO_AGE :{COMMA} 年 ({C STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} 年 ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}最高速度:{LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}最高速度: {LTBLUE}{VELOCITY} {BLACK}範圍: {LTBLUE}{COMMA} 格 STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}載重:{LTBLUE}{WEIGHT_SHORT} {BLACK}功率:{LTBLUE}{POWER}{BLACK} 最高速度:{LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}載重:{LTBLUE}{WEIGHT_SHORT} {BLACK}功率:{LTBLUE}{POWER}{BLACK} 最高速度:{LTBLUE}{VELOCITY} {BLACK}最大牽引力:{LTBLUE}{FORCE} diff --git a/src/lang/turkish.txt b/src/lang/turkish.txt index 0d9bda7a2f..109b572172 100644 --- a/src/lang/turkish.txt +++ b/src/lang/turkish.txt @@ -11,7 +11,7 @@ ##case tamlanan -# $Id: turkish.txt 27941 2017-12-11 19:50:30Z frosch $ +# $Id: turkish.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -1373,6 +1373,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Kapalı STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Sol tık ile ekran kaydır: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Sol fare tuşuyla sürükleyerek harita kaydırma özelliğini etkinleştir. Özellikle dokunmatik-ekran kullanırken kaydırma yapmak için kullanılabilir. +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Sağ tıklama ile pencereyi kapat: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :İçerisinde sağ tıklandığında pencereyi kapatır. Sağ tıklandığında ipuçları gösterimini devre dışı bırakır! STR_CONFIG_SETTING_AUTOSAVE :Otomatik kaydet: {STRING} STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Otomatik oyun kaydetme sıklığını seçin @@ -2690,7 +2692,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Satın alınmı STR_ABOUT_OPENTTD :{WHITE}OpenTTD Hakkında STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Telif hakkı {COPYRIGHT} 1995 Chris Sawyer, Her hakkı saklıdır STR_ABOUT_VERSION :{BLACK}OpenTTD sürüm {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 OpenTTD ekibi +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 OpenTTD ekibi # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Oyunu Kaydet @@ -3115,8 +3117,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}İstenen STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}İstenen kargoların listesini göster STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}İstenen: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Bu istasyon şehrin ulaşım haklarına sahip. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} bu şehirdeki ulaşım haklarını satın aldı. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Bu istasyon şehrin ulaşım haklarına sahip. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} bu şehirdeki ulaşım haklarını satın aldı. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Değerlendirmeler STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}İstasyon değerlendirmelerini göster @@ -3295,11 +3297,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}İstenen STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}İstenenler: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING} ############ range for requires ends -STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Gereken -STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}bekliyor -STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING} +STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Gereken: +STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} bekliyor{STRING} ############ range for produces starts STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Üretir: {YELLOW}{STRING}{STRING} @@ -3368,6 +3368,11 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Bütün araçla STR_GROUP_RENAME_CAPTION :{BLACK}Grubun ismini değiştir +STR_GROUP_PROFIT_THIS_YEAR :Bu yılki kar: +STR_GROUP_PROFIT_LAST_YEAR :Geçen yılki kar: +STR_GROUP_OCCUPANCY :Şu anki kullanım: +STR_GROUP_OCCUPANCY_VALUE :%{NUM} + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Yeni Tren STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Yeni Elektrikli Trenler @@ -3399,6 +3404,7 @@ STR_PURCHASE_INFO_ALL_TYPES :Tüm kargo tür STR_PURCHASE_INFO_ALL_BUT :Şunlar hariç tümü: {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Aza. Çekim Gücü: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Menzil: {GOLD}{COMMA} kare +STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Uçak türü: {GOLD}{STRING} STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Tren seçim listesi. Bilgi için araç tıklayın. Ctrl+Tıklama araç türünün gizlenmesini açar/kapatır STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Karayolu araçları seçim listesi. Bilgi için araca tıklayın. Ctrl+Tıklama araç türünün gizlenmesini açar/kapatır @@ -3532,10 +3538,11 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :maglev lokomoti STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Fiyat: {CURRENCY_LONG} Ağırlık: {WEIGHT_SHORT}{}Hız: {VELOCITY} Güç: {POWER}{}İşletme Gideri: {CURRENCY_LONG}/yıl{}Kapasite: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Maliyet: {CURRENCY_LONG} Ağırlık: {WEIGHT_SHORT}{}Hız: {VELOCITY} Güç: {POWER} Azami Tork: {6:FORCE}{}İşletme Gideri: {4:CURRENCY_LONG}/yıl{}Kapasite: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Maliyet: {CURRENCY_LONG} Azami Hız: {VELOCITY}{}Kapasite: {CARGO_LONG}, {CARGO_LONG}{}İşletme Gideri: {CURRENCY_LONG}/yıl -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Maliyet: {CURRENCY_LONG} Azami Hız: {VELOCITY}{}Kapasite: {CARGO_LONG}{}İşletme Gideri: {CURRENCY_LONG}/yıl -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Maliyet: {CURRENCY_LONG} Azami Hız: {VELOCITY} Menzil: {COMMA} kare{}Kapasite: {CARGO_LONG}, {CARGO_LONG}{}Çalışma gideri: {CURRENCY_LONG}/yıl -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Maliyet: {CURRENCY_LONG} Azami Hız: {VELOCITY} Menzil: {COMMA} kare{}Kapasite: {CARGO_LONG}{}Çalışma gideri: {CURRENCY_LONG}/yıl +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Maliyet: {CURRENCY_LONG} Azami Hız: {VELOCITY}{}Kapasite: {CARGO_LONG}{}İşletme Gideri: {CURRENCY_LONG}/yıl +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Maliyet: {CURRENCY_LONG} Azami Hız: {VELOCITY}{}Uçak türü: {STRING}{}Kapasite: {CARGO_LONG}, {CARGO_LONG}{}İşletme Gideri: {CURRENCY_LONG}/yıl +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Maliyet: {CURRENCY_LONG} Azami Hız: {VELOCITY}{}Uçak türü: {STRING}{}Kapasite: {CARGO_LONG}{}İşletme Gideri: {CURRENCY_LONG}//yıl +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Maliyet: {CURRENCY_LONG} Azami Hız: {VELOCITY}{}Uçak türü: {STRING} Menzil: {COMMA} kare{}Kapasite: {CARGO_LONG}, {CARGO_LONG}{}İşletme Gideri: {CURRENCY_LONG}/yıl +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Maliyet: {CURRENCY_LONG} Azami Hız: {VELOCITY}{}Uçak türü: {STRING} Menzil: {COMMA} kare{}Kapasite: {CARGO_LONG}{}İşletme Gideri: {CURRENCY_LONG}/yıl # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Değiştir {STRING} - {STRING} @@ -3658,7 +3665,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} sene ({ STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} sene ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Azami Hız: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Azami hız: {LTBLUE}{VELOCITY} {BLACK}Menzil: {LTBLUE}{COMMA} kare +STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Azami hız: {LTBLUE}{VELOCITY} {BLACK}Uçak türü: {LTBLUE}{STRING} +STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Azami hız: {LTBLUE}{VELOCITY} {BLACK}Uçak türü: {LTBLUE}{STRING} {BLACK}Menzil: {LTBLUE}{COMMA} kare STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Ağırlık: {LTBLUE}{WEIGHT_SHORT} {BLACK}Güç: {LTBLUE}{POWER}{BLACK} Azami Hız: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Ağırlık: {LTBLUE}{WEIGHT_SHORT} {BLACK}Güç: {LTBLUE}{POWER}{BLACK} Azami Hız: {LTBLUE}{VELOCITY} {BLACK}Azami Tork: {LTBLUE}{FORCE} diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index 5263a58313..13f7161df7 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -12,7 +12,7 @@ ##case r d z -# $Id: ukrainian.txt 27865 2017-05-03 20:43:22Z frosch $ +# $Id: ukrainian.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -2818,7 +2818,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Ця ділян STR_ABOUT_OPENTTD :{WHITE}Про OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Авторське право {COPYRIGHT} 1995 Кріс Сойєр, Всі права захищені STR_ABOUT_VERSION :{BLACK}OpenTTD версія {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 команда OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 команда OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Зберегти гру @@ -3243,8 +3243,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Прий STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Показати список приймання вантажів STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Приймає: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Ця станція має ексклюзивні права на перевезення. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} отримала ексклюзивні права на перевезення. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Ця станція має ексклюзивні права на перевезення. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} отримала ексклюзивні права на перевезення. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Рейтинг STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Показати рейтинг станції @@ -3491,6 +3491,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Позбути STR_GROUP_RENAME_CAPTION :{BLACK}Перейменувати групу + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Новий неелектрифікований поїзд STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Новий електрифікований поїзд @@ -3655,10 +3656,7 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :магнітн STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Ціна: {CURRENCY_LONG} Вага: {WEIGHT_SHORT}{}Швидкість: {VELOCITY}{}Потужність: {POWER}{}Вартість експлуатації: {CURRENCY_LONG}/рік{}Місткість: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Вартість: {CURRENCY_LONG} Вага: {WEIGHT_SHORT}{}Швидкість: {VELOCITY} Потужність: {POWER} Макс. тяга: {6:FORCE}{}Вартість експлуатації: {4:CURRENCY_LONG}/рік{}Місткість: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Вартість: {CURRENCY_LONG} Макс. швидкість: {VELOCITY}{}Місткість: {CARGO_LONG}, {CARGO_LONG}{}Вартість експлуатації: {CURRENCY_LONG}/рік -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Вартість: {CURRENCY_LONG} Макс. швидкість: {VELOCITY}{}Місткість: {CARGO_LONG}{}Вартість експлуатації: {CURRENCY_LONG}/рік -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Ціна: {CURRENCY_LONG} Макс. швидкість: {VELOCITY} Дальність: {COMMA} клітинок{}Місткість: {CARGO_LONG}, {CARGO_LONG}{}Вартість експлуатації: {CURRENCY_LONG}/рік -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Вартість: {CURRENCY_LONG} Макс. швидкість: {VELOCITY} Дальність: {COMMA} клітинок{}Місткість: {CARGO_LONG}{}Витрати від експлуатації: {CURRENCY_LONG}/рік +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Вартість: {CURRENCY_LONG} Макс. швидкість: {VELOCITY}{}Місткість: {CARGO_LONG}{}Вартість експлуатації: {CURRENCY_LONG}/рік # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Оновити {STRING} - {STRING} @@ -3780,7 +3778,6 @@ STR_VEHICLE_INFO_AGE :{COMMA} р{P і STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} р{P ік оки оків} ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Макс. швидкість: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Макс. швидкість: {LTBLUE}{VELOCITY} {BLACK}Дальність: {LTBLUE}{COMMA} клітинок STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Вага: {LTBLUE}{WEIGHT_SHORT} {BLACK}Потужність: {LTBLUE}{POWER}{BLACK} Макс. швидкість: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Вага: {LTBLUE}{WEIGHT_SHORT} {BLACK}Потужність: {LTBLUE}{POWER}{BLACK} Макс. швидкість: {LTBLUE}{VELOCITY} {BLACK}Макс. тяга: {LTBLUE}{FORCE} diff --git a/src/lang/unfinished/chuvash.txt b/src/lang/unfinished/chuvash.txt index 05438c34f2..c853324d62 100644 --- a/src/lang/unfinished/chuvash.txt +++ b/src/lang/unfinished/chuvash.txt @@ -10,7 +10,7 @@ ##grflangid 0x0b -# $Id: chuvash.txt 27753 2017-02-26 18:45:43Z translators $ +# $Id: chuvash.txt 27824 2017-03-24 18:45:45Z translators $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -1133,6 +1133,7 @@ STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Ҫу + # Build vehicle window diff --git a/src/lang/unfinished/frisian.txt b/src/lang/unfinished/frisian.txt index 496bebd52b..86a4a7fa21 100644 --- a/src/lang/unfinished/frisian.txt +++ b/src/lang/unfinished/frisian.txt @@ -10,7 +10,7 @@ ##grflangid 0x32 -# $Id: frisian.txt 27777 2017-03-11 16:49:51Z frosch $ +# $Id: frisian.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -2475,7 +2475,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Lân fan bedriu STR_ABOUT_OPENTTD :{WHITE}Oer OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Orizjineel copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved STR_ABOUT_VERSION :{BLACK}OpenTTD-ferzje {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 It OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 It OpenTTD team # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spul Opslaan @@ -2877,8 +2877,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK} STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Akseptearre fracht sjen litte STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Aksepteart: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Dit stasjon hat eksklusyfe transportrjochten in dizze plak. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} Hat eksklusyfe transportrjochten in dizze plak kocht. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Dit stasjon hat eksklusyfe transportrjochten in dizze plak. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} Hat eksklusyfe transportrjochten in dizze plak kocht. STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Stasjonwurdearing sjen litte STR_STATION_VIEW_SUPPLY_RATINGS_TITLE :{BLACK}Moanlikse foarried en wurdearring: @@ -3097,6 +3097,7 @@ STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Ferwider STR_GROUP_REMOVE_ALL_VEHICLES :Alle fiertugen weihelje + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nije spoar weinen STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nije elektryske treinen @@ -3220,8 +3221,7 @@ STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :monorail lokomo STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :maglevlokomotyf STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Kosten: {CURRENCY_LONG} Gewicht: {WEIGHT_SHORT}{}Snelheid: {VELOCITY} Kracht: {POWER}{}Underhâldskosten: {CURRENCY_LONG}/jr{}Kapasiteit: {CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Kosten: {CURRENCY_LONG} Maks. Faasje: {VELOCITY}{}Kapasiteit: {CARGO_LONG}{}Underhâldskosten: {CURRENCY_LONG}/jr -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Kosten: {CURRENCY_LONG} Maks. Faasje: {VELOCITY} Bereik: {COMMA} tegels{}Kapasiteit: {CARGO_LONG}{}Underhâldskosten: {CURRENCY_LONG}/jr +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Kosten: {CURRENCY_LONG} Maks. Faasje: {VELOCITY}{}Kapasiteit: {CARGO_LONG}{}Underhâldskosten: {CURRENCY_LONG}/jr # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Ferfang {STRING} - {STRING} diff --git a/src/lang/unfinished/ido.txt b/src/lang/unfinished/ido.txt index 2156610cf3..f273a74320 100644 --- a/src/lang/unfinished/ido.txt +++ b/src/lang/unfinished/ido.txt @@ -10,7 +10,7 @@ ##grflangid 0x06 -# $Id: ido.txt 27777 2017-03-11 16:49:51Z frosch $ +# $Id: ido.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -776,7 +776,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS :Stabeyo di komp # About OpenTTD window STR_ABOUT_VERSION :{BLACK}OpenTTD versiono {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 La kruo OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 La kruo OpenTTD # Save/load game/scenario STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Ludo Detali @@ -967,6 +967,7 @@ STR_GROUP_DEFAULT_AIRCRAFTS :Negrupigita aer + # Build vehicle window diff --git a/src/lang/unfinished/macedonian.txt b/src/lang/unfinished/macedonian.txt index efaa6dce31..0737c38877 100644 --- a/src/lang/unfinished/macedonian.txt +++ b/src/lang/unfinished/macedonian.txt @@ -10,7 +10,7 @@ ##grflangid 0x26 -# $Id: macedonian.txt 27777 2017-03-11 16:49:51Z frosch $ +# $Id: macedonian.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -1202,7 +1202,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Компани STR_ABOUT_OPENTTD :{WHITE}За OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Оригинален copyright {COPYRIGHT} 1995 Chris Sawyer, Сите права се задржани STR_ABOUT_VERSION :{BLACK}OpenTTD верзија {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 OpenTTD тимот +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 OpenTTD тимот # Save/load game/scenario STR_SAVELOAD_LOAD_BUTTON :{BLACK}Оптоварување @@ -1448,6 +1448,7 @@ STR_VEHICLE_LIST_SEND_SHIP_TO_DEPOT :Испрати + # Build vehicle window STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Шински возила @@ -1501,8 +1502,6 @@ STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Цент # Engine preview window -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Цена: {CURRENCY_LONG} Макс. брзина: {VELOCITY} Опсег: {COMMA} плочки{}Капацитет: {CARGO_LONG}, {CARGO_LONG}{}Вклучување Цена: {CURRENCY_LONG}/год -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Цена: {CURRENCY_LONG} Макс. брзина: {VELOCITY} Опсег: {COMMA}плочки{}капацитет: {CARGO_LONG}{}Вклучување Цена: {CURRENCY_LONG}/год # Autoreplace window STR_REPLACE_VEHICLE_TRAIN :Воз @@ -1549,7 +1548,6 @@ STR_VEHICLE_DETAILS_AIRCRAFT_RENAME :{BLACK}Име STR_VEHICLE_INFO_AGE :{COMMA} година{P "" s} ({COMMA}) STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} година{P "" s} ({COMMA}) -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Макс. брзина: {LTBLUE}{VELOCITY} {BLACK}Опсег: {LTBLUE}{COMMA} плочки diff --git a/src/lang/unfinished/maltese.txt b/src/lang/unfinished/maltese.txt index b5f1d3f03f..a7fa1dd02e 100644 --- a/src/lang/unfinished/maltese.txt +++ b/src/lang/unfinished/maltese.txt @@ -10,7 +10,7 @@ ##grflangid 0x09 -# $Id: maltese.txt 27753 2017-02-26 18:45:43Z translators $ +# $Id: maltese.txt 27824 2017-03-24 18:45:45Z translators $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -839,6 +839,7 @@ STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURREN + # Build vehicle window diff --git a/src/lang/unfinished/marathi.txt b/src/lang/unfinished/marathi.txt index c9b772effb..0a8fbd9665 100644 --- a/src/lang/unfinished/marathi.txt +++ b/src/lang/unfinished/marathi.txt @@ -10,7 +10,7 @@ ##grflangid 0x11 -# $Id: marathi.txt 27753 2017-02-26 18:45:43Z translators $ +# $Id: marathi.txt 27824 2017-03-24 18:45:45Z translators $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -1310,6 +1310,7 @@ STR_GROUP_ALL_AIRCRAFTS :सर्व STR_GROUP_REMOVE_ALL_VEHICLES :सगळे वाहने काढा + # Build vehicle window STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :नवीन रस्त्यावरचे वाहन diff --git a/src/lang/unfinished/persian.txt b/src/lang/unfinished/persian.txt index ce4cfaa51c..2dbed20b00 100644 --- a/src/lang/unfinished/persian.txt +++ b/src/lang/unfinished/persian.txt @@ -10,7 +10,7 @@ ##grflangid 0x62 -# $Id: persian.txt 27777 2017-03-11 16:49:51Z frosch $ +# $Id: persian.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -2389,7 +2389,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :زمین خری STR_ABOUT_OPENTTD :{WHITE}OpenTTD در باره ی STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved STR_ABOUT_VERSION :{BLACK}OpenTTD ویرایش {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 The OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 The OpenTTD team # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}ذخیره ی بازی @@ -2951,6 +2951,7 @@ STR_VEHICLE_LIST_SEND_AIRCRAFT_TO_HANGAR :فرستادن + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :قطار جدید STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :قطار جدید مونوریل @@ -3054,8 +3055,6 @@ STR_ENGINE_PREVIEW_SHIP :کشتی STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :لوکوموتیو مونوریل STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :لوکوموتیو ریل مغناطیسی -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}قیمت: {CURRENCY_LONG} بیشینه سرعت: {VELOCITY} برد: {COMMA} قطعه{}ظرفیت: {CARGO_LONG}, {CARGO_LONG}{}هزینه نگهداری: {CURRENCY_LONG}/درسال -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}قیمت: {CURRENCY_LONG} بیشینه سرعت: {VELOCITY} برد: {COMMA} قطعه{}ظرفیت: {CARGO_LONG}{}هزینه نگهداری: {CURRENCY_LONG}/درسال # Autoreplace window STR_REPLACE_VEHICLE_TRAIN :قطار @@ -3128,7 +3127,6 @@ STR_VEHICLE_DETAILS_AIRCRAFT_RENAME :{BLACK}نامگ STR_VEHICLE_INFO_AGE :{COMMA}سال ({COMMA}) STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} سال ({COMMA}) -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}بیشینه سرعت: {LTBLUE}{VELOCITY} {BLACK}برد: {LTBLUE}{COMMA} قطعه STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}ظرفیت: {LTBLUE}{CARGO_LONG}, {CARGO_LONG}{STRING} diff --git a/src/lang/unfinished/urdu.txt b/src/lang/unfinished/urdu.txt index 58957d06e1..b77669dd4b 100644 --- a/src/lang/unfinished/urdu.txt +++ b/src/lang/unfinished/urdu.txt @@ -11,7 +11,7 @@ ##gender m f -# $Id: urdu.txt 27753 2017-02-26 18:45:43Z translators $ +# $Id: urdu.txt 27824 2017-03-24 18:45:45Z translators $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -2349,6 +2349,7 @@ STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}گروپ + # Build vehicle window STR_BUY_VEHICLE_AIRCRAFT_CAPTION :نیا طیارہ @@ -2405,8 +2406,6 @@ STR_DEPOT_VEHICLE_TOOLTIP_CARGO :{}{CARGO_LONG} # Engine preview window -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}قیمت: {CURRENCY_LONG} حد رفتار: {VELOCITY} پہنچ: {COMMA} ٹائلیں{} گنجائش: {CARGO_LONG}, {CARGO_LONG}{}چلانے کا خرچہ: {CURRENCY_LONG} سالانہ -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}قیمت: {CURRENCY_LONG} حد رفتار: {VELOCITY} پہنچ: {COMMA} ٹائلیں{} گنجائش: {CARGO_LONG}{}چلانے کا خرچہ: {CURRENCY_LONG} سالانہ # Autoreplace window @@ -2447,7 +2446,6 @@ STR_VEHICLE_COMMAND_STARTED :{GREEN} شرو # The next two need to stay in this order -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}حد رفتار: {LTBLUE}{VELOCITY} {BLACK} پہنچ: {LTBLUE}{COMMA} ٹائلیں diff --git a/src/lang/vietnamese.txt b/src/lang/vietnamese.txt index aabe16c9ae..5813c06efa 100644 --- a/src/lang/vietnamese.txt +++ b/src/lang/vietnamese.txt @@ -10,7 +10,7 @@ ##grflangid 0x54 -# $Id: vietnamese.txt 27941 2017-12-11 19:50:30Z frosch $ +# $Id: vietnamese.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -1372,6 +1372,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Tắt STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Cuộn chuột trái: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Cho phép cuộn bản đồ bằng cách kéo với nút trái chuột. Tùy chọn này sẽ hữu ích khi dùng màn hình cảm ứng +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Đóng cửa số khi click chuột phải: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Đóng cửa sổ bằng cách bấm chuột phải vào đó. Ngăn tooltip bằng cách bấm phải! STR_CONFIG_SETTING_AUTOSAVE :Tự động save: {STRING} STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Chọn chu kỳ giữa mỗi lần tự động save @@ -2689,7 +2691,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Đất công ty STR_ABOUT_OPENTTD :{WHITE}Về OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Nguyên tác bản quyền {COPYRIGHT} 1995 Chris Sawyer, All rights reserved STR_ABOUT_VERSION :{BLACK}OpenTTD phiên bản {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 Nhóm OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 Nhóm OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Lưu Ván Chơi @@ -3114,8 +3116,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Chấp n STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Liệt kê hàng hoá được chấp nhận STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Chấp nhận: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Trạm này độc quyền vận tải tại thị trấn này. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} đã mua quyền vận tải độc quyền ở đô thị này. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Trạm này độc quyền vận tải tại thị trấn này. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} đã mua quyền vận tải độc quyền ở đô thị này. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Uy tín STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Hiện uy tín ga, bến, cảng @@ -3294,11 +3296,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Yêu c STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Yêu cầu: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING} ############ range for requires ends -STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Cần cung cấp -STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}đang chờ -STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING} +STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Cần cung cấp: +STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} đang chờ{STRING} ############ range for produces starts STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Sản xuất: {YELLOW}{STRING}{STRING} @@ -3367,6 +3367,11 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Xoá tất cả STR_GROUP_RENAME_CAPTION :{BLACK}Đổi tên nhóm +STR_GROUP_PROFIT_THIS_YEAR :Lợi nhuận năm nay: +STR_GROUP_PROFIT_LAST_YEAR :Lợi nhuận năm trước: +STR_GROUP_OCCUPANCY :Hiện đang dùng: +STR_GROUP_OCCUPANCY_VALUE :{NUM}% + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Tàu Hỏa Mới STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Tàu Điện Mới @@ -3398,6 +3403,7 @@ STR_PURCHASE_INFO_ALL_TYPES :Tất cả ki STR_PURCHASE_INFO_ALL_BUT :Tất cả trừ {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Lực kéo tối đa: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Tầm xa: {GOLD}{COMMA} ô +STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Kiểu máy bay: {GOLD}{STRING} STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Danh sách tàu hỏa có thể chọn. Click vào tàu hỏa để xem thông tin. Ctrl+Click để ẩn/hiện loại được chọn STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Danh sách xe có thể chọn. Click vào xe để xem thông tin. Ctrl+Click để ẩn/hiện loại được chọn @@ -3531,10 +3537,11 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :đầu máy đ STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Giá thành: {CURRENCY_LONG} Tải trọng: {WEIGHT_SHORT}{}Tốc độ: {VELOCITY} Công suất: {POWER}{}Chi phí hoạt động: {CURRENCY_LONG}/năm{}Sức chứa: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Giá: {CURRENCY_LONG} Nặng: {WEIGHT_SHORT}{}Tốc độ: {VELOCITY} Công suất: {POWER} Max. T.E.: {6:FORCE}{}Giá vận hành: {4:CURRENCY_LONG}/yr{}Năng suất: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Giá thành: {CURRENCY_LONG} Tốc độ tối đa: {VELOCITY}{}Sức chứa: {CARGO_LONG}, {CARGO_LONG}{}Running Cost: {CURRENCY_LONG}/yr -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Giá thành: {CURRENCY_LONG} Tốc độ tối đa: {VELOCITY}{}Sức chứa: {CARGO_LONG}{}Chi phí hoạt động: {CURRENCY_LONG}/năm -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Gía: {CURRENCY_LONG} Tốc độ max: {VELOCITY} Tầm xa: {COMMA} ô{}Trọng tải: {CARGO_LONG}, {CARGO_LONG}{}Chi phí hoạt động: {CURRENCY_LONG}/năm -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Giá: {CURRENCY_LONG} Tốc độ max: {VELOCITY} Tầm xa: {COMMA} ô{}Trọng tải: {CARGO_LONG}{}Chi phí hoạt động: {CURRENCY_LONG}/năm +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Giá thành: {CURRENCY_LONG} Tốc độ tối đa: {VELOCITY}{}Sức chứa: {CARGO_LONG}{}Chi phí hoạt động: {CURRENCY_LONG}/năm +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Giá: {CURRENCY_LONG} Tốc độ tối đa: {VELOCITY}{}Kiểu máy bay: {STRING}{}Sức chứa: {CARGO_LONG}, {CARGO_LONG}{}Chi phí hoạt động: {CURRENCY_LONG}/năm +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}GIá: {CURRENCY_LONG} Tốc độ tối đa: {VELOCITY}{}Kiểu máy bay: {STRING}{}Sức chứa: {CARGO_LONG}{}Chi phí hoạt động: {CURRENCY_LONG}/năm +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Giá: {CURRENCY_LONG} Tốc độ tối đa: {VELOCITY}{}Kiểu máy bay: {STRING} Tầm xa: {COMMA} ô{}Sức chứa: {CARGO_LONG}, {CARGO_LONG}{}Chi phí hoạt động: {CURRENCY_LONG}/năm +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Giá: {CURRENCY_LONG} Tốc độ tối đa: {VELOCITY}{}Kiểu máy bay: {STRING} Tầm xa: {COMMA} ô{}Sức chứa: {CARGO_LONG}{}Chi phí hoạt động: {CURRENCY_LONG}/năm # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Thay thế {STRING} - {STRING} @@ -3657,7 +3664,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} năm ({ STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} năm ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Tốc độ tối đa: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Tốc độ max: {LTBLUE}{VELOCITY} {BLACK} Tầm xa: {LTBLUE}{COMMA} ô +STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Tốc độ tối đa: {LTBLUE}{VELOCITY} {BLACK}Kiểu máy bay: {LTBLUE}{STRING} +STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Tốc độ tối đa: {LTBLUE}{VELOCITY} {BLACK}Kiểu máy bay: {LTBLUE}{STRING} {BLACK}Tầm bay: {LTBLUE}{COMMA} ô STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Tải trọng: {LTBLUE}{WEIGHT_SHORT} {BLACK}Công suất: {LTBLUE}{POWER}{BLACK} Tốc độ tối đa: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Tải trọng: {LTBLUE}{WEIGHT_SHORT} {BLACK}Công suất: {LTBLUE}{POWER}{BLACK} Tốc độ tối đa: {LTBLUE}{VELOCITY} {BLACK}Max. T.E.: {LTBLUE}{FORCE} diff --git a/src/lang/welsh.txt b/src/lang/welsh.txt index 1a7206162f..57b18e3bc8 100644 --- a/src/lang/welsh.txt +++ b/src/lang/welsh.txt @@ -10,7 +10,7 @@ ##grflangid 0x0f -# $Id: welsh.txt 27777 2017-03-11 16:49:51Z frosch $ +# $Id: welsh.txt 27980 2018-03-11 12:24:32Z frosch $ # This file is part of OpenTTD. # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -2688,7 +2688,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Tir cwmni STR_ABOUT_OPENTTD :{WHITE}Gwybodaeth am OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Hawlfraint Wreiddiol {COPYRIGHT} 1995 Chris Sawyer, Holl cedwir pob hawl STR_ABOUT_VERSION :{BLACK}fersiwn OpenTTD {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 Y tîm OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 Y tîm OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Cadw Gêm @@ -3113,8 +3113,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Derbyn STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Dangos rhestr o'r llwythi sy'n cael eu derbyn STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Derbyn: {WHITE}{CARGO_LIST} -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Mae gan yr orsaf hon hawliau cludo cyfyngol yn y dref hon. -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :Mae {YELLOW}{COMPANY}{BLACK} wedi prynnu hawliau cludo cyfyngol yn y dref hon. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Mae gan yr orsaf hon hawliau cludo cyfyngol yn y dref hon. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :Mae {YELLOW}{COMPANY}{BLACK} wedi prynnu hawliau cludo cyfyngol yn y dref hon. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Perfformiad STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Dangos graddfeydd gorsaf @@ -3361,6 +3361,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Dileu pob cerby STR_GROUP_RENAME_CAPTION :{BLACK}Ailenwi grŵp + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Cerbydau Rheilffordd Newydd STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Cerbydau Rheilffordd Trydan Newydd @@ -3525,10 +3526,7 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :trên maglef STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Côst: {CURRENCY_LONG} Pwysau: {WEIGHT_SHORT}{}Cyflymder: {VELOCITY} Pŵer: {POWER}{}Côst Rhedeg: {CURRENCY_LONG}/bl{}Gallu cludo: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Cost: {CURRENCY_LONG} Pwysau: {WEIGHT_SHORT}{}Cyflymder: {VELOCITY} Pŵer: {POWER} Grym Uchaf: {6:FORCE}{}Cost Rhedeg: {4:CURRENCY_LONG}/bl{}Cynhwysedd: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Cyflym. Uchaf: {VELOCITY}{}Cynhwysedd: {CARGO_LONG}, {CARGO_LONG}{}Côst Rhedeg: {CURRENCY_LONG}/bl -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Cyflym. Uchaf: {VELOCITY}{}Cynhwysedd: {CARGO_LONG}{}Cost Rhedeg: {CURRENCY_LONG}/bl -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Cost: {CURRENCY_LONG} Cyf. Uchaf: {VELOCITY} Pellter: {COMMA} teil{}Cynhwysedd: {CARGO_LONG}, {CARGO_LONG}{}Cost Rhedeg: {CURRENCY_LONG}/bl -STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Cyf. Uchaf: {VELOCITY} Pellter: {COMMA} teil{}Cynhwysedd: {CARGO_LONG}{}Cost Rhedeg: {CURRENCY_LONG}/bl +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Cost: {CURRENCY_LONG} Cyflym. Uchaf: {VELOCITY}{}Cynhwysedd: {CARGO_LONG}{}Cost Rhedeg: {CURRENCY_LONG}/bl # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Disodli {STRING} - {STRING} @@ -3651,7 +3649,6 @@ STR_VEHICLE_INFO_AGE :{COMMA} blwyddy STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} blwyddyn ({COMMA}) STR_VEHICLE_INFO_MAX_SPEED :{BLACK}cyflymder uchaf: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Cyf. uchaf: {LTBLUE}{VELOCITY} {BLACK}Pell. Cyrraedd: {LTBLUE}{COMMA} teil STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Pwys: {LTBLUE}{WEIGHT_SHORT} {BLACK}Pŵer: {LTBLUE}{POWER}{BLACK} Cyflym. Max: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Pwys: {LTBLUE}{WEIGHT_SHORT} {BLACK}Pŵer: {LTBLUE}{POWER}{BLACK} Cyflym. Max: {LTBLUE}{VELOCITY} {BLACK}Max. T.E.: {LTBLUE}{FORCE} diff --git a/src/linkgraph/linkgraph_gui.h b/src/linkgraph/linkgraph_gui.h index 44762c3149..5a254382e9 100644 --- a/src/linkgraph/linkgraph_gui.h +++ b/src/linkgraph/linkgraph_gui.h @@ -1,4 +1,4 @@ -/* $Id: linkgraph_gui.h 27612 2016-07-10 11:57:16Z fonsinchen $ */ +/* $Id: linkgraph_gui.h 27887 2017-07-11 19:34:21Z frosch $ */ /* * This file is part of OpenTTD. @@ -77,7 +77,6 @@ protected: Point GetStationMiddle(const Station *st) const; - void DrawForwBackLinks(Point pta, StationID sta, Point ptb, StationID stb) const; void AddLinks(const Station *sta, const Station *stb); void DrawLinks(const DrawPixelInfo *dpi) const; void DrawStationDots(const DrawPixelInfo *dpi) const; diff --git a/src/misc_gui.cpp b/src/misc_gui.cpp index 285be81b95..c3c022ff6a 100644 --- a/src/misc_gui.cpp +++ b/src/misc_gui.cpp @@ -1,4 +1,4 @@ -/* $Id: misc_gui.cpp 27781 2017-03-11 21:02:32Z frosch $ */ +/* $Id: misc_gui.cpp 27995 2018-03-21 19:34:17Z frosch $ */ /* * This file is part of OpenTTD. @@ -397,6 +397,7 @@ static const char * const _credits[] = { "Original graphics by Simon Foster", "", "The OpenTTD team (in alphabetical order):", + " Grzegorz Duczy\xC5\x84ski (adf88) - General coding (since 1.7.2)", " Albert Hofkamp (Alberth) - GUI expert (since 0.7)", " Matthijs Kooijman (blathijs) - Pathfinder-guru, Debian port (since 0.3)", " Ulf Hermann (fonsinchen) - Cargo Distribution (since 1.3)", @@ -440,7 +441,7 @@ static const char * const _credits[] = { " Mike Ragsdale - OpenTTD installer", " Christian Rosentreter (tokai) - MorphOS / AmigaOS port", " Richard Kempton (richK) - additional airports, initial TGP implementation", - " HvS - titlegame", + " Emperor Jake - titlegame", "", " Alberto Demichelis - Squirrel scripting language \xC2\xA9 2003-2008", " L. Peter Deutsch - MD5 implementation \xC2\xA9 1999, 2000, 2002", @@ -1008,10 +1009,12 @@ struct QueryStringWindow : public Window switch (widget) { case WID_QS_DEFAULT: this->editbox.text.DeleteAll(); - /* FALL THROUGH */ + FALLTHROUGH; + case WID_QS_OK: this->OnOk(); - /* FALL THROUGH */ + FALLTHROUGH; + case WID_QS_CANCEL: delete this; break; @@ -1161,7 +1164,8 @@ struct QueryWindow : public Window { this->proc(this->parent, true); this->proc = NULL; } - /* FALL THROUGH */ + FALLTHROUGH; + case WKC_ESC: delete this; return ES_HANDLED; diff --git a/src/music/extmidi.cpp b/src/music/extmidi.cpp index e83dc92559..84ccf4907e 100644 --- a/src/music/extmidi.cpp +++ b/src/music/extmidi.cpp @@ -1,4 +1,4 @@ -/* $Id: extmidi.cpp 26556 2014-05-03 20:21:01Z rubidium $ */ +/* $Id: extmidi.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -12,6 +12,7 @@ #include "../stdafx.h" #include "../debug.h" #include "../string_func.h" +#include "../core/alloc_func.hpp" #include "../sound/sound_driver.hpp" #include "../video/video_driver.hpp" #include "../gfx_func.h" @@ -42,9 +43,33 @@ const char *MusicDriver_ExtMidi::Start(const char * const * parm) } const char *command = GetDriverParam(parm, "cmd"); +#ifndef MIDI_ARG if (StrEmpty(command)) command = EXTERNAL_PLAYER; +#else + if (StrEmpty(command)) command = EXTERNAL_PLAYER " " MIDI_ARG; +#endif + + /* Count number of arguments, but include 3 extra slots: 1st for command, 2nd for song title, and 3rd for terminating NULL. */ + uint num_args = 3; + for (const char *t = command; *t != '\0'; t++) if (*t == ' ') num_args++; + + this->params = CallocT(num_args); + this->params[0] = stredup(command); + + /* Replace space with \0 and add next arg to params */ + uint p = 1; + while (true) { + this->params[p] = strchr(this->params[p - 1], ' '); + if (this->params[p] == NULL) break; + + this->params[p][0] = '\0'; + this->params[p]++; + p++; + } + + /* Last parameter is the song file. */ + this->params[p] = this->song; - this->command = stredup(command); this->song[0] = '\0'; this->pid = -1; return NULL; @@ -52,7 +77,8 @@ const char *MusicDriver_ExtMidi::Start(const char * const * parm) void MusicDriver_ExtMidi::Stop() { - free(command); + free(params[0]); + free(params); this->song[0] = '\0'; this->DoStop(); } @@ -91,18 +117,14 @@ void MusicDriver_ExtMidi::DoPlay() close(0); int d = open("/dev/null", O_RDONLY); if (d != -1 && dup2(d, 1) != -1 && dup2(d, 2) != -1) { - #if defined(MIDI_ARG) - execlp(this->command, "extmidi", MIDI_ARG, this->song, (char*)0); - #else - execlp(this->command, "extmidi", this->song, (char*)0); - #endif + execvp(this->params[0], this->params); } _exit(1); } case -1: DEBUG(driver, 0, "extmidi: couldn't fork: %s", strerror(errno)); - /* FALL THROUGH */ + FALLTHROUGH; default: this->song[0] = '\0'; diff --git a/src/music/extmidi.h b/src/music/extmidi.h index d986504be4..bc17adf970 100644 --- a/src/music/extmidi.h +++ b/src/music/extmidi.h @@ -1,4 +1,4 @@ -/* $Id: extmidi.h 26108 2013-11-25 14:30:22Z rubidium $ */ +/* $Id: extmidi.h 27834 2017-03-29 17:36:46Z peter1138 $ */ /* * This file is part of OpenTTD. @@ -16,7 +16,7 @@ class MusicDriver_ExtMidi : public MusicDriver { private: - char *command; + char **params; char song[MAX_PATH]; pid_t pid; diff --git a/src/music/qtmidi.cpp b/src/music/qtmidi.cpp index 003cc05076..aac48e5191 100644 --- a/src/music/qtmidi.cpp +++ b/src/music/qtmidi.cpp @@ -1,4 +1,4 @@ -/* $Id: qtmidi.cpp 26482 2014-04-23 20:13:33Z rubidium $ */ +/* $Id: qtmidi.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -242,7 +242,7 @@ void MusicDriver_QtMidi::Stop() case QT_STATE_PLAY: StopSong(); - /* FALL THROUGH */ + FALLTHROUGH; case QT_STATE_STOP: DisposeMovie(_quicktime_movie); @@ -267,13 +267,13 @@ void MusicDriver_QtMidi::PlaySong(const char *filename) case QT_STATE_PLAY: StopSong(); DEBUG(driver, 3, "qtmidi: previous tune stopped"); - /* FALL THROUGH */ + FALLTHROUGH; case QT_STATE_STOP: DisposeMovie(_quicktime_movie); DEBUG(driver, 3, "qtmidi: previous tune disposed"); _quicktime_state = QT_STATE_IDLE; - /* FALL THROUGH */ + FALLTHROUGH; case QT_STATE_IDLE: LoadMovieForMIDIFile(filename, &_quicktime_movie); @@ -294,7 +294,7 @@ void MusicDriver_QtMidi::StopSong() switch (_quicktime_state) { case QT_STATE_IDLE: - /* FALL THROUGH */ + FALLTHROUGH; case QT_STATE_STOP: DEBUG(driver, 3, "qtmidi: stop requested, but already idle"); diff --git a/src/network/core/udp.cpp b/src/network/core/udp.cpp index 289f573b12..c06c2f1a51 100644 --- a/src/network/core/udp.cpp +++ b/src/network/core/udp.cpp @@ -1,4 +1,4 @@ -/* $Id: udp.cpp 26482 2014-04-23 20:13:33Z rubidium $ */ +/* $Id: udp.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -252,17 +252,20 @@ void NetworkUDPSocketHandler::ReceiveNetworkGameInfo(Packet *p, NetworkGameInfo *dst = c; dst = &c->next; } - /* FALL THROUGH */ } + FALLTHROUGH; + case 3: info->game_date = Clamp(p->Recv_uint32(), 0, MAX_DATE); info->start_date = Clamp(p->Recv_uint32(), 0, MAX_DATE); - /* FALL THROUGH */ + FALLTHROUGH; + case 2: info->companies_max = p->Recv_uint8 (); info->companies_on = p->Recv_uint8 (); info->spectators_max = p->Recv_uint8 (); - /* FALL THROUGH */ + FALLTHROUGH; + case 1: p->Recv_string(info->server_name, sizeof(info->server_name)); p->Recv_string(info->server_revision, sizeof(info->server_revision)); diff --git a/src/network/network_chat_gui.cpp b/src/network/network_chat_gui.cpp index 3b9551b2d0..eba6d2c0c7 100644 --- a/src/network/network_chat_gui.cpp +++ b/src/network/network_chat_gui.cpp @@ -1,4 +1,4 @@ -/* $Id: network_chat_gui.cpp 27863 2017-05-03 20:09:51Z frosch $ */ +/* $Id: network_chat_gui.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -492,10 +492,13 @@ struct NetworkChatWindow : public Window { virtual void OnClick(Point pt, int widget, int click_count) { switch (widget) { - /* Send */ - case WID_NC_SENDBUTTON: SendChat(this->message_editbox.text.buf, this->dtype, this->dest); - /* FALL THROUGH */ - case WID_NC_CLOSE: /* Cancel */ delete this; break; + case WID_NC_SENDBUTTON: /* Send */ + SendChat(this->message_editbox.text.buf, this->dtype, this->dest); + FALLTHROUGH; + + case WID_NC_CLOSE: /* Cancel */ + delete this; + break; } } diff --git a/src/network/network_client.cpp b/src/network/network_client.cpp index a710475f75..05d38e85ab 100644 --- a/src/network/network_client.cpp +++ b/src/network/network_client.cpp @@ -1,4 +1,4 @@ -/* $Id: network_client.cpp 27653 2016-09-04 16:06:50Z alberth $ */ +/* $Id: network_client.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -965,7 +965,8 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_CHAT(Packet *p) /* For speaking to company or giving money, we need the company-name */ case NETWORK_ACTION_GIVE_MONEY: if (!Company::IsValidID(ci_to->client_playas)) return NETWORK_RECV_STATUS_OKAY; - /* FALL THROUGH */ + FALLTHROUGH; + case NETWORK_ACTION_CHAT_COMPANY: { StringID str = Company::IsValidID(ci_to->client_playas) ? STR_COMPANY_NAME : STR_NETWORK_SPECTATORS; SetDParam(0, ci_to->client_playas); diff --git a/src/network/network_content_gui.cpp b/src/network/network_content_gui.cpp index 8ff2fe61be..3a098c537c 100644 --- a/src/network/network_content_gui.cpp +++ b/src/network/network_content_gui.cpp @@ -1,4 +1,4 @@ -/* $Id: network_content_gui.cpp 27469 2015-12-10 19:58:33Z zuu $ */ +/* $Id: network_content_gui.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -908,7 +908,8 @@ public: } return ES_HANDLED; } - /* FALL THROUGH, space is pressed and filter is focused. */ + /* space is pressed and filter is focused. */ + FALLTHROUGH; default: return ES_NOT_HANDLED; diff --git a/src/network/network_gui.cpp b/src/network/network_gui.cpp index 00a8ac72bb..e44977ca7a 100644 --- a/src/network/network_gui.cpp +++ b/src/network/network_gui.cpp @@ -1,4 +1,4 @@ -/* $Id: network_gui.cpp 27653 2016-09-04 16:06:50Z alberth $ */ +/* $Id: network_gui.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -2053,7 +2053,8 @@ struct NetworkJoinStatusWindow : Window { progress = 15; // We don't have the final size yet; the server is still compressing! break; } - /* FALL THROUGH */ + FALLTHROUGH; + default: // Waiting is 15%, so the resting receivement of map is maximum 70% progress = 15 + _network_join_bytes * (100 - 15) / _network_join_bytes_total; } @@ -2182,7 +2183,7 @@ struct NetworkCompanyPasswordWindow : public Window { switch (widget) { case WID_NCP_OK: this->OnOk(); - /* FALL THROUGH */ + FALLTHROUGH; case WID_NCP_CANCEL: delete this; diff --git a/src/network/network_server.cpp b/src/network/network_server.cpp index 140d9254b8..e9acda2ba8 100644 --- a/src/network/network_server.cpp +++ b/src/network/network_server.cpp @@ -1,4 +1,4 @@ -/* $Id: network_server.cpp 26975 2014-10-07 17:32:29Z rubidium $ */ +/* $Id: network_server.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -1361,7 +1361,8 @@ void NetworkServerSendChat(NetworkAction action, DestType desttype, int dest, co } default: DEBUG(net, 0, "[server] received unknown chat destination type %d. Doing broadcast instead", desttype); - /* FALL THROUGH */ + FALLTHROUGH; + case DESTTYPE_BROADCAST: FOR_ALL_CLIENT_SOCKETS(cs) { cs->SendChat(action, from_id, false, msg, data); @@ -1396,7 +1397,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::Receive_CLIENT_CHAT(Packet *p) switch (action) { case NETWORK_ACTION_GIVE_MONEY: if (!Company::IsValidID(ci->client_playas)) break; - /* FALL THROUGH */ + FALLTHROUGH; case NETWORK_ACTION_CHAT: case NETWORK_ACTION_CHAT_CLIENT: case NETWORK_ACTION_CHAT_COMPANY: diff --git a/src/newgrf.cpp b/src/newgrf.cpp index e9c7bc7b2d..03a60b09bd 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -1,4 +1,4 @@ -/* $Id: newgrf.cpp 27769 2017-03-05 14:45:13Z frosch $ */ +/* $Id: newgrf.cpp 27989 2018-03-11 15:08:51Z frosch $ */ /* * This file is part of OpenTTD. @@ -12,6 +12,7 @@ #include "stdafx.h" #include +#include #include "debug.h" #include "fileio_func.h" @@ -2969,7 +2970,7 @@ static ChangeInfoResult CargoChangeInfo(uint cid, int numinfo, int prop, ByteRea case 0x0B: cs->town_effect = TE_FOOD; break; default: grfmsg(1, "CargoChangeInfo: Unknown town growth substitute value %d, setting to none.", substitute_type); - /* FALL THROUGH */ + FALLTHROUGH; case 0xFF: cs->town_effect = TE_NONE; break; } break; @@ -3672,6 +3673,9 @@ static void DuplicateTileTable(AirportSpec *as) HangarTileTable *depot_table = MallocT(as->nof_depots); MemCpyT(depot_table, as->depot_table, as->nof_depots); as->depot_table = depot_table; + Direction *rotation = MallocT(as->num_table); + MemCpyT(rotation, as->rotation, as->num_table); + as->rotation = rotation; } /** @@ -3741,6 +3745,7 @@ static ChangeInfoResult AirportChangeInfo(uint airport, int numinfo, int prop, B } case 0x0A: { // Set airport layout + free(as->rotation); as->num_table = buf->ReadByte(); // Number of layaouts as->rotation = MallocT(as->num_table); uint32 defsize = buf->ReadDWord(); // Total size of the definition @@ -3750,7 +3755,7 @@ static ChangeInfoResult AirportChangeInfo(uint airport, int numinfo, int prop, B const AirportTileTable *copy_from; try { for (byte j = 0; j < as->num_table; j++) { - as->rotation[j] = (Direction)buf->ReadByte(); + const_cast(as->rotation[j]) = (Direction)buf->ReadByte(); for (int k = 0;; k++) { att[k].ti.x = buf->ReadByte(); // Offsets from northermost tile att[k].ti.y = buf->ReadByte(); @@ -4094,7 +4099,7 @@ static ChangeInfoResult RailTypeChangeInfo(uint id, int numinfo, int prop, ByteR RailType rt = GetRailTypeByLabel(BSWAP32(label), false); if (rt != INVALID_RAILTYPE) { switch (prop) { - case 0x0F: SetBit(rti->powered_railtypes, rt); // Powered implies compatible. + case 0x0F: SetBit(rti->powered_railtypes, rt); FALLTHROUGH; // Powered implies compatible. case 0x0E: SetBit(rti->compatible_railtypes, rt); break; case 0x18: SetBit(rti->introduction_required_railtypes, rt); break; case 0x19: SetBit(rti->introduces_railtypes, rt); break; @@ -4211,7 +4216,7 @@ static ChangeInfoResult RailTypeReserveInfo(uint id, int numinfo, int prop, Byte break; } grfmsg(1, "RailTypeReserveInfo: Ignoring property 1D for rail type %u because no label was set", id + i); - /* FALL THROUGH */ + FALLTHROUGH; case 0x0E: // Compatible railtype list case 0x0F: // Powered railtype list @@ -4350,7 +4355,7 @@ static bool HandleChangeInfoResult(const char *caller, ChangeInfoResult cir, uin case CIR_UNKNOWN: grfmsg(0, "%s: Unknown property 0x%02X of feature 0x%02X, disabling", caller, property, feature); - /* FALL THROUGH */ + FALLTHROUGH; case CIR_INVALID_ID: { /* No debug message for an invalid ID, as it has already been output */ @@ -4683,16 +4688,63 @@ static void NewSpriteGroup(ByteReader *buf) group->adjusts = MallocT(group->num_adjusts); MemCpyT(group->adjusts, adjusts.Begin(), group->num_adjusts); - group->num_ranges = buf->ReadByte(); - if (group->num_ranges > 0) group->ranges = CallocT(group->num_ranges); - - for (uint i = 0; i < group->num_ranges; i++) { - group->ranges[i].group = GetGroupFromGroupID(setid, type, buf->ReadWord()); - group->ranges[i].low = buf->ReadVarSize(varsize); - group->ranges[i].high = buf->ReadVarSize(varsize); + std::vector ranges; + ranges.resize(buf->ReadByte()); + for (uint i = 0; i < ranges.size(); i++) { + ranges[i].group = GetGroupFromGroupID(setid, type, buf->ReadWord()); + ranges[i].low = buf->ReadVarSize(varsize); + ranges[i].high = buf->ReadVarSize(varsize); } group->default_group = GetGroupFromGroupID(setid, type, buf->ReadWord()); + group->error_group = ranges.size() > 0 ? ranges[0].group : group->default_group; + /* nvar == 0 is a special case -- we turn our value into a callback result */ + group->calculated_result = ranges.size() == 0; + + /* Sort ranges ascending. When ranges overlap, this may required clamping or splitting them */ + std::vector bounds; + for (uint i = 0; i < ranges.size(); i++) { + bounds.push_back(ranges[i].low); + if (ranges[i].high != UINT32_MAX) bounds.push_back(ranges[i].high + 1); + } + std::sort(bounds.begin(), bounds.end()); + bounds.erase(std::unique(bounds.begin(), bounds.end()), bounds.end()); + + std::vector target; + for (uint j = 0; j < bounds.size(); ++j) { + uint32 v = bounds[j]; + const SpriteGroup *t = group->default_group; + for (uint i = 0; i < ranges.size(); i++) { + if (ranges[i].low <= v && v <= ranges[i].high) { + t = ranges[i].group; + break; + } + } + target.push_back(t); + } + assert(target.size() == bounds.size()); + + std::vector optimised; + for (uint j = 0; j < bounds.size(); ) { + if (target[j] != group->default_group) { + DeterministicSpriteGroupRange r; + r.group = target[j]; + r.low = bounds[j]; + while (j < bounds.size() && target[j] == r.group) { + j++; + } + r.high = j < bounds.size() ? bounds[j] - 1 : UINT32_MAX; + optimised.push_back(r); + } else { + j++; + } + } + + group->num_ranges = optimised.size(); + if (group->num_ranges > 0) { + group->ranges = MallocT(group->num_ranges); + MemCpyT(group->ranges, &optimised.front(), group->num_ranges); + } break; } @@ -7915,6 +7967,7 @@ static void ResetCustomAirports() } free(as->table); free(as->depot_table); + free(as->rotation); free(as); } diff --git a/src/newgrf_airport.cpp b/src/newgrf_airport.cpp index ed661e2077..fd8c5a0c2a 100644 --- a/src/newgrf_airport.cpp +++ b/src/newgrf_airport.cpp @@ -1,4 +1,4 @@ -/* $Id: newgrf_airport.cpp 26482 2014-04-23 20:13:33Z rubidium $ */ +/* $Id: newgrf_airport.cpp 27984 2018-03-11 13:19:41Z frosch $ */ /* * This file is part of OpenTTD. @@ -26,7 +26,18 @@ struct AirportScopeResolver : public ScopeResolver { byte layout; ///< Layout of the airport to build. TileIndex tile; ///< Tile for the callback, only valid for airporttile callbacks. - AirportScopeResolver(ResolverObject &ro, TileIndex tile, Station *st, byte airport_id, byte layout); + /** + * Constructor of the scope resolver for an airport. + * @param ro Surrounding resolver. + * @param tile %Tile for the callback, only valid for airporttile callbacks. + * @param st %Station of the airport for which the callback is run, or \c NULL for build gui. + * @param airport_id Type of airport for which the callback is run. + * @param layout Layout of the airport to build. + */ + AirportScopeResolver(ResolverObject &ro, TileIndex tile, Station *st, byte airport_id, byte layout) + : ScopeResolver(ro), st(st), airport_id(airport_id), layout(layout), tile(tile) + { + } /* virtual */ uint32 GetRandomBits() const; /* virtual */ uint32 GetVariable(byte variable, uint32 parameter, bool *available) const; @@ -242,22 +253,6 @@ AirportResolverObject::AirportResolverObject(TileIndex tile, Station *st, byte a this->root_spritegroup = AirportSpec::Get(airport_id)->grf_prop.spritegroup[0]; } -/** - * Constructor of the scope resolver for an airport. - * @param ro Surrounding resolver. - * @param tile %Tile for the callback, only valid for airporttile callbacks. - * @param st %Station of the airport for which the callback is run, or \c NULL for build gui. - * @param airport_id Type of airport for which the callback is run. - * @param layout Layout of the airport to build. - */ -AirportScopeResolver::AirportScopeResolver(ResolverObject &ro, TileIndex tile, Station *st, byte airport_id, byte layout) : ScopeResolver(ro) -{ - this->st = st; - this->airport_id = airport_id; - this->layout = layout; - this->tile = tile; -} - SpriteID GetCustomAirportSprite(const AirportSpec *as, byte layout) { AirportResolverObject object(INVALID_TILE, NULL, as->GetIndex(), layout); diff --git a/src/newgrf_airport.h b/src/newgrf_airport.h index e2ca18ce60..e4d3755ef4 100644 --- a/src/newgrf_airport.h +++ b/src/newgrf_airport.h @@ -1,4 +1,4 @@ -/* $Id: newgrf_airport.h 25705 2013-08-09 18:43:44Z rubidium $ */ +/* $Id: newgrf_airport.h 27908 2017-08-31 06:55:38Z adf88 $ */ /* * This file is part of OpenTTD. @@ -100,7 +100,7 @@ struct HangarTileTable { struct AirportSpec { const struct AirportFTAClass *fsm; ///< the finite statemachine for the default airports const AirportTileTable * const *table; ///< list of the tiles composing the airport - Direction *rotation; ///< the rotation of each tiletable + const Direction *rotation; ///< the rotation of each tiletable byte num_table; ///< number of elements in the table const HangarTileTable *depot_table; ///< gives the position of the depots on the airports byte nof_depots; ///< the number of hangar tiles in this airport @@ -133,7 +133,7 @@ struct AirportSpec { return (byte)(this - specs); } - static AirportSpec dummy; ///< The dummy airport. + static const AirportSpec dummy; ///< The dummy airport. private: static AirportSpec specs[NUM_AIRPORTS]; ///< Specs of the airports. diff --git a/src/newgrf_airporttiles.cpp b/src/newgrf_airporttiles.cpp index 4880b044ee..d248921354 100644 --- a/src/newgrf_airporttiles.cpp +++ b/src/newgrf_airporttiles.cpp @@ -1,4 +1,4 @@ -/* $Id: newgrf_airporttiles.cpp 26482 2014-04-23 20:13:33Z rubidium $ */ +/* $Id: newgrf_airporttiles.cpp 27984 2018-03-11 13:19:41Z frosch $ */ /* * This file is part of OpenTTD. @@ -222,21 +222,6 @@ AirportTileResolverObject::AirportTileResolverObject(const AirportTileSpec *ats, this->root_spritegroup = ats->grf_prop.spritegroup[0]; } -/** - * Constructor of the scope resolver specific for airport tiles. - * @param ats Specification of the airport tiles. - * @param tile %Tile for the callback, only valid for airporttile callbacks. - * @param st Station of the airport for which the callback is run, or \c NULL for build gui. - */ -AirportTileScopeResolver::AirportTileScopeResolver(ResolverObject &ro, const AirportTileSpec *ats, TileIndex tile, Station *st) : ScopeResolver(ro) -{ - assert(st != NULL); - - this->st = st; - this->airport_id = st->airport.type; - this->tile = tile; -} - uint16 GetAirportTileCallback(CallbackID callback, uint32 param1, uint32 param2, const AirportTileSpec *ats, Station *st, TileIndex tile, int extra_data = 0) { AirportTileResolverObject object(ats, tile, st, callback, param1, param2); diff --git a/src/newgrf_airporttiles.h b/src/newgrf_airporttiles.h index 3d6639eeb5..dbfbc70501 100644 --- a/src/newgrf_airporttiles.h +++ b/src/newgrf_airporttiles.h @@ -1,4 +1,4 @@ -/* $Id: newgrf_airporttiles.h 26085 2013-11-24 14:41:19Z frosch $ */ +/* $Id: newgrf_airporttiles.h 27984 2018-03-11 13:19:41Z frosch $ */ /* * This file is part of OpenTTD. @@ -17,6 +17,7 @@ #include "newgrf_animation_type.h" #include "newgrf_commons.h" #include "newgrf_spritegroup.h" +#include "station_base.h" /** Scope resolver for handling the tiles of an airport. */ struct AirportTileScopeResolver : public ScopeResolver { @@ -24,7 +25,18 @@ struct AirportTileScopeResolver : public ScopeResolver { byte airport_id; ///< Type of airport for which the callback is run. TileIndex tile; ///< Tile for the callback, only valid for airporttile callbacks. - AirportTileScopeResolver(ResolverObject &ro, const AirportTileSpec *ats, TileIndex tile, Station *st); + /** + * Constructor of the scope resolver specific for airport tiles. + * @param ats Specification of the airport tiles. + * @param tile %Tile for the callback, only valid for airporttile callbacks. + * @param st Station of the airport for which the callback is run, or \c NULL for build gui. + */ + AirportTileScopeResolver(ResolverObject &ro, const AirportTileSpec *ats, TileIndex tile, Station *st) + : ScopeResolver(ro), st(st), tile(tile) + { + assert(st != NULL); + this->airport_id = st->airport.type; + } /* virtual */ uint32 GetRandomBits() const; /* virtual */ uint32 GetVariable(byte variable, uint32 parameter, bool *available) const; diff --git a/src/newgrf_canal.cpp b/src/newgrf_canal.cpp index 708bd9647b..737dd29f49 100644 --- a/src/newgrf_canal.cpp +++ b/src/newgrf_canal.cpp @@ -1,4 +1,4 @@ -/* $Id: newgrf_canal.cpp 26482 2014-04-23 20:13:33Z rubidium $ */ +/* $Id: newgrf_canal.cpp 27984 2018-03-11 13:19:41Z frosch $ */ /* * This file is part of OpenTTD. @@ -25,7 +25,10 @@ WaterFeature _water_feature[CF_END]; struct CanalScopeResolver : public ScopeResolver { TileIndex tile; ///< Tile containing the canal. - CanalScopeResolver(ResolverObject &ro, TileIndex tile); + CanalScopeResolver(ResolverObject &ro, TileIndex tile) + : ScopeResolver(ro), tile(tile) + { + } /* virtual */ uint32 GetRandomBits() const; /* virtual */ uint32 GetVariable(byte variable, uint32 parameter, bool *available) const; @@ -110,11 +113,6 @@ struct CanalResolverObject : public ResolverObject { return group->loaded[0]; } -CanalScopeResolver::CanalScopeResolver(ResolverObject &ro, TileIndex tile) : ScopeResolver(ro) -{ - this->tile = tile; -} - /** * Canal resolver constructor. * @param feature Which canal feature we want. diff --git a/src/newgrf_engine.cpp b/src/newgrf_engine.cpp index 91fcf77275..7a839e933d 100644 --- a/src/newgrf_engine.cpp +++ b/src/newgrf_engine.cpp @@ -1,4 +1,4 @@ -/* $Id: newgrf_engine.cpp 27668 2016-10-16 14:59:44Z frosch $ */ +/* $Id: newgrf_engine.cpp 27984 2018-03-11 13:19:41Z frosch $ */ /* * This file is part of OpenTTD. @@ -347,21 +347,6 @@ static byte MapAircraftMovementAction(const Aircraft *v) return this->v == NULL ? 0 : this->v->waiting_triggers; } -/* virtual */ void VehicleScopeResolver::SetTriggers(int triggers) const -{ - /* Evil cast to get around const-ness. This used to be achieved by an - * innocent looking function pointer cast... Currently I cannot see a - * way of avoiding this without removing consts deep within gui code. - */ - Vehicle *v = const_cast(this->v); - - /* This function must only be called when processing triggers -- any - * other time is an error. */ - assert(this->ro.trigger != 0); - - if (v != NULL) v->waiting_triggers = triggers; -} - /* virtual */ ScopeResolver *VehicleResolverObject::GetScope(VarSpriteGroupScope scope, byte relative) { @@ -952,21 +937,6 @@ static uint32 VehicleGetVariable(Vehicle *v, const VehicleScopeResolver *object, return in_motion ? group->loaded[set] : group->loading[set]; } -/** - * Scope resolver of a single vehicle. - * @param ro Surrounding resolver. - * @param engine_type Engine type - * @param v %Vehicle being resolved. - * @param info_view Indicates if the item is being drawn in an info window. - */ -VehicleScopeResolver::VehicleScopeResolver(ResolverObject &ro, EngineID engine_type, const Vehicle *v, bool info_view) - : ScopeResolver(ro) -{ - this->v = v; - this->self_type = engine_type; - this->info_view = info_view; -} - /** * Get the grf file associated with an engine type. * @param engine_type Engine to query. @@ -1140,13 +1110,18 @@ static void DoTriggerVehicle(Vehicle *v, VehicleTrigger trigger, byte base_rando assert(v != NULL); VehicleResolverObject object(v->engine_type, v, VehicleResolverObject::WO_CACHED, false, CBID_RANDOM_TRIGGER); - object.trigger = trigger; + object.waiting_triggers = v->waiting_triggers | trigger; + v->waiting_triggers = object.waiting_triggers; // store now for var 5F const SpriteGroup *group = object.Resolve(); if (group == NULL) return; + /* Store remaining triggers. */ + v->waiting_triggers = object.GetRemainingTriggers(); + + /* Rerandomise bits. Scopes other than SELF are invalid for rerandomisation. For bug-to-bug-compatibility with TTDP we ignore the scope. */ byte new_random_bits = Random(); - uint32 reseed = object.GetReseedSum(); // The scope only affects triggers, not the reseeding + uint32 reseed = object.GetReseedSum(); v->random_bits &= ~reseed; v->random_bits |= (first ? new_random_bits : base_random_bits) & reseed; diff --git a/src/newgrf_engine.h b/src/newgrf_engine.h index f8342d4646..752af28789 100644 --- a/src/newgrf_engine.h +++ b/src/newgrf_engine.h @@ -1,4 +1,4 @@ -/* $Id: newgrf_engine.h 27666 2016-10-16 14:57:56Z frosch $ */ +/* $Id: newgrf_engine.h 27984 2018-03-11 13:19:41Z frosch $ */ /* * This file is part of OpenTTD. @@ -26,14 +26,23 @@ struct VehicleScopeResolver : public ScopeResolver { EngineID self_type; ///< Type of the vehicle. bool info_view; ///< Indicates if the item is being drawn in an info window. - VehicleScopeResolver(ResolverObject &ro, EngineID engine_type, const Vehicle *v, bool info_view); + /** + * Scope resolver of a single vehicle. + * @param ro Surrounding resolver. + * @param engine_type Engine type + * @param v %Vehicle being resolved. + * @param info_view Indicates if the item is being drawn in an info window. + */ + VehicleScopeResolver(ResolverObject &ro, EngineID engine_type, const Vehicle *v, bool info_view) + : ScopeResolver(ro), v(v), self_type(engine_type), info_view(info_view) + { + } void SetVehicle(const Vehicle *v) { this->v = v; } /* virtual */ uint32 GetRandomBits() const; /* virtual */ uint32 GetVariable(byte variable, uint32 parameter, bool *available) const; /* virtual */ uint32 GetTriggers() const; - /* virtual */ void SetTriggers(int triggers) const; }; /** Resolver for a vehicle (chain) */ diff --git a/src/newgrf_generic.cpp b/src/newgrf_generic.cpp index bdc7f85ce2..879ba7202a 100644 --- a/src/newgrf_generic.cpp +++ b/src/newgrf_generic.cpp @@ -1,4 +1,4 @@ -/* $Id: newgrf_generic.cpp 26482 2014-04-23 20:13:33Z rubidium $ */ +/* $Id: newgrf_generic.cpp 27984 2018-03-11 13:19:41Z frosch $ */ /* * This file is part of OpenTTD. @@ -31,7 +31,16 @@ struct GenericScopeResolver : public ScopeResolver { uint8 count; uint8 station_size; - GenericScopeResolver(ResolverObject &ro, bool ai_callback); + /** + * Generic scope resolver. + * @param ro Surrounding resolver. + * @param ai_callback Callback comes from the AI. + */ + GenericScopeResolver(ResolverObject &ro, bool ai_callback) + : ScopeResolver(ro), cargo_type(0), default_selection(0), src_industry(0), dst_industry(0), distance(0), + event(), count(0), station_size(0), ai_callback(ai_callback) + { + } /* virtual */ uint32 GetVariable(byte variable, uint32 parameter, bool *available) const; @@ -145,24 +154,6 @@ GenericResolverObject::GenericResolverObject(bool ai_callback, CallbackID callba { } -/** - * Generic scope resolver. - * @param ro Surrounding resolver. - * @param ai_callback Callback comes from the AI. - */ -GenericScopeResolver::GenericScopeResolver(ResolverObject &ro, bool ai_callback) : ScopeResolver(ro) -{ - this->cargo_type = 0; - this->default_selection = 0; - this->src_industry = 0; - this->dst_industry = 0; - this->distance = 0; - this->event = (AIConstructionEvent)0; - this->count = 0; - this->station_size = 0; - this->ai_callback = ai_callback; -} - /** * Follow a generic feature callback list and return the first successful diff --git a/src/newgrf_gui.cpp b/src/newgrf_gui.cpp index e4cf835ace..eabe853988 100644 --- a/src/newgrf_gui.cpp +++ b/src/newgrf_gui.cpp @@ -1,4 +1,4 @@ -/* $Id: newgrf_gui.cpp 27729 2017-01-14 13:12:49Z frosch $ */ +/* $Id: newgrf_gui.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -1032,8 +1032,9 @@ struct NewGRFWindow : public Window, NewGRFScanCallback { if (this->editable && this->active_sel != NULL) SetObjectToPlaceWnd(SPR_CURSOR_MOUSE, PAL_NONE, HT_DRAG, this); break; } - /* FALL THROUGH, with double click. */ + /* With double click, continue */ } + FALLTHROUGH; case WID_NS_REMOVE: { // Remove GRF if (this->active_sel == NULL || !this->editable) break; @@ -1087,8 +1088,9 @@ struct NewGRFWindow : public Window, NewGRFScanCallback { if (this->editable && this->avail_sel != NULL && !HasBit(this->avail_sel->flags, GCF_INVALID)) SetObjectToPlaceWnd(SPR_CURSOR_MOUSE, PAL_NONE, HT_DRAG, this); break; } - /* FALL THROUGH, with double click. */ + /* With double click, continue */ } + FALLTHROUGH; case WID_NS_ADD: if (this->avail_sel == NULL || !this->editable || HasBit(this->avail_sel->flags, GCF_INVALID)) break; @@ -1225,10 +1227,12 @@ struct NewGRFWindow : public Window, NewGRFScanCallback { } this->avails.ForceRebuild(); - /* FALL THROUGH */ + FALLTHROUGH; + case GOID_NEWGRF_LIST_EDITED: this->preset = -1; - /* FALL THROUGH */ + FALLTHROUGH; + case GOID_NEWGRF_PRESET_LOADED: { /* Update scrollbars */ int i = 0; diff --git a/src/newgrf_house.cpp b/src/newgrf_house.cpp index 73e95ff557..f57068e950 100644 --- a/src/newgrf_house.cpp +++ b/src/newgrf_house.cpp @@ -1,4 +1,4 @@ -/* $Id: newgrf_house.cpp 27574 2016-05-22 10:23:22Z frosch $ */ +/* $Id: newgrf_house.cpp 27984 2018-03-11 13:19:41Z frosch $ */ /* * This file is part of OpenTTD. @@ -31,28 +31,6 @@ static HouseClassMapping _class_mapping[HOUSE_CLASS_MAX]; HouseOverrideManager _house_mngr(NEW_HOUSE_OFFSET, NUM_HOUSES, INVALID_HOUSE_ID); -/** - * Constructor of a house scope resolver. - * @param ro Surrounding resolver. - * @param house_id House type being queried. - * @param tile %Tile containing the house. - * @param town %Town containing the house. - * @param not_yet_constructed House is still under construction. - * @param initial_random_bits Random bits during construction checks. - * @param watched_cargo_triggers Cargo types that triggered the watched cargo callback. - */ -HouseScopeResolver::HouseScopeResolver(ResolverObject &ro, HouseID house_id, TileIndex tile, Town *town, - bool not_yet_constructed, uint8 initial_random_bits, uint32 watched_cargo_triggers) - : ScopeResolver(ro) -{ - this->house_id = house_id; - this->tile = tile; - this->town = town; - this->not_yet_constructed = not_yet_constructed; - this->initial_random_bits = initial_random_bits; - this->watched_cargo_triggers = watched_cargo_triggers; -} - /** * Retrieve the grf file associated with a house. * @param house_id House to query. @@ -169,12 +147,6 @@ void DecreaseBuildingCount(Town *t, HouseID house_id) return this->not_yet_constructed ? 0 : GetHouseTriggers(this->tile); } -/* virtual */ void HouseScopeResolver::SetTriggers(int triggers) const -{ - assert(!this->not_yet_constructed && IsValidTile(this->tile) && IsTileType(this->tile, MP_HOUSE)); - SetHouseTriggers(this->tile, triggers); -} - static uint32 GetNumHouses(HouseID house_id, const Town *town) { uint8 map_id_count, town_id_count, map_class_count, town_class_count; @@ -613,14 +585,19 @@ static void DoTriggerHouse(TileIndex tile, HouseTrigger trigger, byte base_rando if (hs->grf_prop.spritegroup[0] == NULL) return; HouseResolverObject object(hid, tile, Town::GetByTile(tile), CBID_RANDOM_TRIGGER); - object.trigger = trigger; + object.waiting_triggers = GetHouseTriggers(tile) | trigger; + SetHouseTriggers(tile, object.waiting_triggers); // store now for var 5F const SpriteGroup *group = object.Resolve(); if (group == NULL) return; + /* Store remaining triggers. */ + SetHouseTriggers(tile, object.GetRemainingTriggers()); + + /* Rerandomise bits. Scopes other than SELF are invalid for houses. For bug-to-bug-compatibility with TTDP we ignore the scope. */ byte new_random_bits = Random(); byte random_bits = GetHouseRandomBits(tile); - uint32 reseed = object.GetReseedSum(); // The scope only affects triggers, not the reseeding + uint32 reseed = object.GetReseedSum(); random_bits &= ~reseed; random_bits |= (first ? new_random_bits : base_random) & reseed; SetHouseRandomBits(tile, random_bits); diff --git a/src/newgrf_house.h b/src/newgrf_house.h index 452896923a..2ec8b91327 100644 --- a/src/newgrf_house.h +++ b/src/newgrf_house.h @@ -1,4 +1,4 @@ -/* $Id: newgrf_house.h 26085 2013-11-24 14:41:19Z frosch $ */ +/* $Id: newgrf_house.h 27984 2018-03-11 13:19:41Z frosch $ */ /* * This file is part of OpenTTD. @@ -27,13 +27,26 @@ struct HouseScopeResolver : public ScopeResolver { uint16 initial_random_bits; ///< Random bits during construction checks. uint32 watched_cargo_triggers; ///< Cargo types that triggered the watched cargo callback. + /** + * Constructor of a house scope resolver. + * @param ro Surrounding resolver. + * @param house_id House type being queried. + * @param tile %Tile containing the house. + * @param town %Town containing the house. + * @param not_yet_constructed House is still under construction. + * @param initial_random_bits Random bits during construction checks. + * @param watched_cargo_triggers Cargo types that triggered the watched cargo callback. + */ HouseScopeResolver(ResolverObject &ro, HouseID house_id, TileIndex tile, Town *town, - bool not_yet_constructed, uint8 initial_random_bits, uint32 watched_cargo_triggers); + bool not_yet_constructed, uint8 initial_random_bits, uint32 watched_cargo_triggers) + : ScopeResolver(ro), house_id(house_id), tile(tile), town(town), not_yet_constructed(not_yet_constructed), + initial_random_bits(initial_random_bits), watched_cargo_triggers(watched_cargo_triggers) + { + } /* virtual */ uint32 GetRandomBits() const; /* virtual */ uint32 GetVariable(byte variable, uint32 parameter, bool *available) const; /* virtual */ uint32 GetTriggers() const; - /* virtual */ void SetTriggers(int triggers) const; }; /** Resolver object to be used for houses (feature 07 spritegroups). */ diff --git a/src/newgrf_industries.cpp b/src/newgrf_industries.cpp index 0be46b7363..9bb021bb52 100644 --- a/src/newgrf_industries.cpp +++ b/src/newgrf_industries.cpp @@ -1,4 +1,4 @@ -/* $Id: newgrf_industries.cpp 27279 2015-05-09 10:21:55Z frosch $ */ +/* $Id: newgrf_industries.cpp 27984 2018-03-11 13:19:41Z frosch $ */ /* * This file is part of OpenTTD. @@ -128,7 +128,7 @@ static uint32 GetCountAndDistanceOfClosestInstance(byte param_setID, byte layout case 0xFFFFFFFF: // current grf GrfID = GetIndustrySpec(current->type)->grf_prop.grffile->grfid; - /* FALL THROUGH */ + FALLTHROUGH; default: // use the grfid specified in register 100h SetBit(param_setID, 7); // bit 7 means it is not an old type @@ -380,13 +380,7 @@ static uint32 GetCountAndDistanceOfClosestInstance(byte param_setID, byte layout /* virtual */ uint32 IndustriesScopeResolver::GetTriggers() const { - return this->industry != NULL ? this->industry->random_triggers : 0; -} - -/* virtual */ void IndustriesScopeResolver::SetTriggers(int triggers) const -{ - assert(this->industry != NULL && this->industry->index != INVALID_INDUSTRY); - this->industry->random_triggers = triggers; + return 0; } /* virtual */ void IndustriesScopeResolver::StorePSA(uint pos, int32 value) @@ -463,23 +457,6 @@ TownScopeResolver *IndustriesResolverObject::GetTown() return this->town_scope; } -/** - * Scope resolver for industries. - * @param ro Surrounding resolver. - * @param tile %Tile owned by the industry. - * @param industry %Industry being resolved. - * @param type Type of the industry. - * @param random_bits Random bits of the new industry. - */ -IndustriesScopeResolver::IndustriesScopeResolver(ResolverObject &ro, TileIndex tile, Industry *industry, IndustryType type, uint32 random_bits) - : ScopeResolver(ro) -{ - this->tile = tile; - this->industry = industry; - this->type = type; - this->random_bits = random_bits; -} - /** * Perform an industry callback. * @param callback The callback to perform. diff --git a/src/newgrf_industries.h b/src/newgrf_industries.h index 91ac891b65..24e2297f29 100644 --- a/src/newgrf_industries.h +++ b/src/newgrf_industries.h @@ -1,4 +1,4 @@ -/* $Id: newgrf_industries.h 26085 2013-11-24 14:41:19Z frosch $ */ +/* $Id: newgrf_industries.h 27984 2018-03-11 13:19:41Z frosch $ */ /* * This file is part of OpenTTD. @@ -21,12 +21,22 @@ struct IndustriesScopeResolver : public ScopeResolver { IndustryType type; ///< Type of the industry. uint32 random_bits; ///< Random bits of the new industry. - IndustriesScopeResolver(ResolverObject &ro, TileIndex tile, Industry *industry, IndustryType type, uint32 random_bits = 0); + /** + * Scope resolver for industries. + * @param ro Surrounding resolver. + * @param tile %Tile owned by the industry. + * @param industry %Industry being resolved. + * @param type Type of the industry. + * @param random_bits Random bits of the new industry. + */ + IndustriesScopeResolver(ResolverObject &ro, TileIndex tile, Industry *industry, IndustryType type, uint32 random_bits = 0) + : ScopeResolver(ro), tile(tile), industry(industry), type(type), random_bits(random_bits) + { + } /* virtual */ uint32 GetRandomBits() const; /* virtual */ uint32 GetVariable(byte variable, uint32 parameter, bool *available) const; /* virtual */ uint32 GetTriggers() const; - /* virtual */ void SetTriggers(int triggers) const; /* virtual */ void StorePSA(uint pos, int32 value); }; @@ -48,9 +58,11 @@ struct IndustriesResolverObject : public ResolverObject { case VSG_SCOPE_PARENT: { TownScopeResolver *tsr = this->GetTown(); if (tsr != NULL) return tsr; - /* FALL-THROUGH */ } - default: return ResolverObject::GetScope(scope, relative); + FALLTHROUGH; + + default: + return ResolverObject::GetScope(scope, relative); } } }; diff --git a/src/newgrf_industrytiles.cpp b/src/newgrf_industrytiles.cpp index af1fe61cb9..e46848424e 100644 --- a/src/newgrf_industrytiles.cpp +++ b/src/newgrf_industrytiles.cpp @@ -1,4 +1,4 @@ -/* $Id: newgrf_industrytiles.cpp 26482 2014-04-23 20:13:33Z rubidium $ */ +/* $Id: newgrf_industrytiles.cpp 27984 2018-03-11 13:19:41Z frosch $ */ /* * This file is part of OpenTTD. @@ -117,12 +117,6 @@ uint32 GetRelativePosition(TileIndex tile, TileIndex ind_tile) return GetIndustryTriggers(this->tile); } -/* virtual */ void IndustryTileScopeResolver::SetTriggers(int triggers) const -{ - assert(this->industry != NULL && this->industry->index != INVALID_INDUSTRY && IsValidTile(this->tile) && IsTileType(this->tile, MP_INDUSTRY)); - SetIndustryTriggers(this->tile, triggers); -} - /** * Get the associated NewGRF file from the industry graphics. * @param gfx Graphics to query. @@ -152,18 +146,6 @@ IndustryTileResolverObject::IndustryTileResolverObject(IndustryGfx gfx, TileInde this->root_spritegroup = GetIndustryTileSpec(gfx)->grf_prop.spritegroup[0]; } -/** - * Constructor of the scope resolver for the industry tile. - * @param ro Surrounding resolver. - * @param industry %Industry owning the tile. - * @param tile %Tile of the industry. - */ -IndustryTileScopeResolver::IndustryTileScopeResolver(ResolverObject &ro, Industry *industry, TileIndex tile) : ScopeResolver(ro) -{ - this->industry = industry; - this->tile = tile; -} - static void IndustryDrawTileLayout(const TileInfo *ti, const TileLayoutSpriteGroup *group, byte rnd_colour, byte stage, IndustryGfx gfx) { const DrawTileSprites *dts = group->ProcessRegisters(&stage); @@ -326,11 +308,16 @@ static void DoTriggerIndustryTile(TileIndex tile, IndustryTileTrigger trigger, I if (itspec->grf_prop.spritegroup[0] == NULL) return; IndustryTileResolverObject object(gfx, tile, ind, CBID_RANDOM_TRIGGER); - object.trigger = trigger; + object.waiting_triggers = GetIndustryTriggers(tile) | trigger; + SetIndustryTriggers(tile, object.waiting_triggers); // store now for var 5F const SpriteGroup *group = object.Resolve(); if (group == NULL) return; + /* Store remaining triggers. */ + SetIndustryTriggers(tile, object.GetRemainingTriggers()); + + /* Rerandomise tile bits */ byte new_random_bits = Random(); byte random_bits = GetIndustryRandomBits(tile); random_bits &= ~object.reseed[VSG_SCOPE_SELF]; diff --git a/src/newgrf_industrytiles.h b/src/newgrf_industrytiles.h index 3cf01de8fd..e9de0ab76e 100644 --- a/src/newgrf_industrytiles.h +++ b/src/newgrf_industrytiles.h @@ -1,4 +1,4 @@ -/* $Id: newgrf_industrytiles.h 26085 2013-11-24 14:41:19Z frosch $ */ +/* $Id: newgrf_industrytiles.h 27984 2018-03-11 13:19:41Z frosch $ */ /* * This file is part of OpenTTD. @@ -21,12 +21,20 @@ struct IndustryTileScopeResolver : public ScopeResolver { Industry *industry; ///< Industry owning the tiles. TileIndex tile; ///< %Tile being resolved. - IndustryTileScopeResolver(ResolverObject &ro, Industry *industry, TileIndex tile); + /** + * Constructor of the scope resolver for the industry tile. + * @param ro Surrounding resolver. + * @param industry %Industry owning the tile. + * @param tile %Tile of the industry. + */ + IndustryTileScopeResolver(ResolverObject &ro, Industry *industry, TileIndex tile) + : ScopeResolver(ro), industry(industry), tile(tile) + { + } /* virtual */ uint32 GetRandomBits() const; /* virtual */ uint32 GetVariable(byte variable, uint32 parameter, bool *available) const; /* virtual */ uint32 GetTriggers() const; - /* virtual */ void SetTriggers(int triggers) const; }; /** Resolver for industry tiles. */ diff --git a/src/newgrf_object.cpp b/src/newgrf_object.cpp index 9051ea96f9..fbe26f157c 100644 --- a/src/newgrf_object.cpp +++ b/src/newgrf_object.cpp @@ -1,4 +1,4 @@ -/* $Id: newgrf_object.cpp 26482 2014-04-23 20:13:33Z rubidium $ */ +/* $Id: newgrf_object.cpp 27984 2018-03-11 13:19:41Z frosch $ */ /* * This file is part of OpenTTD. @@ -128,21 +128,6 @@ bool NewGRFClass::IsUIAvailable(uint index) const INSTANTIATE_NEWGRF_CLASS_METHODS(ObjectClass, ObjectSpec, ObjectClassID, OBJECT_CLASS_MAX) -/** - * Constructor of an object scope resolver. - * @param ro Surrounding resolver. - * @param obj Object being resolved. - * @param tile %Tile of the object. - * @param view View of the object. - */ -ObjectScopeResolver::ObjectScopeResolver(ResolverObject &ro, Object *obj, TileIndex tile, uint8 view) - : ScopeResolver(ro) -{ - this->obj = obj; - this->tile = tile; - this->view = view; -} - /* virtual */ uint32 ObjectScopeResolver::GetRandomBits() const { return IsValidTile(this->tile) && IsTileType(this->tile, MP_OBJECT) ? GetObjectRandomBits(this->tile) : 0; @@ -232,7 +217,7 @@ static uint32 GetCountAndDistanceOfClosestInstance(byte local_id, uint32 grfid, case 0xFFFFFFFF: // current grf grf_id = grfid; - /* FALL THROUGH */ + FALLTHROUGH; default: // use the grfid specified in register 100h idx = _object_mngr.GetID(local_id, grf_id); diff --git a/src/newgrf_object.h b/src/newgrf_object.h index 7861d43368..5c6963ddcc 100644 --- a/src/newgrf_object.h +++ b/src/newgrf_object.h @@ -1,4 +1,4 @@ -/* $Id: newgrf_object.h 26085 2013-11-24 14:41:19Z frosch $ */ +/* $Id: newgrf_object.h 27984 2018-03-11 13:19:41Z frosch $ */ /* * This file is part of OpenTTD. @@ -104,7 +104,17 @@ struct ObjectScopeResolver : public ScopeResolver { TileIndex tile; ///< The tile related to the object. uint8 view; ///< The view of the object. - ObjectScopeResolver(ResolverObject &ro, Object *obj, TileIndex tile, uint8 view = 0); + /** + * Constructor of an object scope resolver. + * @param ro Surrounding resolver. + * @param obj Object being resolved. + * @param tile %Tile of the object. + * @param view View of the object. + */ + ObjectScopeResolver(ResolverObject &ro, Object *obj, TileIndex tile, uint8 view = 0) + : ScopeResolver(ro), obj(obj), tile(tile), view(view) + { + } /* virtual */ uint32 GetRandomBits() const; /* virtual */ uint32 GetVariable(byte variable, uint32 parameter, bool *available) const; @@ -128,10 +138,11 @@ struct ObjectResolverObject : public ResolverObject { case VSG_SCOPE_PARENT: { TownScopeResolver *tsr = this->GetTown(); if (tsr != NULL) return tsr; - /* FALL-THROUGH */ } + FALLTHROUGH; - default: return ResolverObject::GetScope(scope, relative); + default: + return ResolverObject::GetScope(scope, relative); } } diff --git a/src/newgrf_railtype.cpp b/src/newgrf_railtype.cpp index 9a7714b7d4..d0df6e8e8a 100644 --- a/src/newgrf_railtype.cpp +++ b/src/newgrf_railtype.cpp @@ -1,4 +1,4 @@ -/* $Id: newgrf_railtype.cpp 27342 2015-07-26 12:25:37Z frosch $ */ +/* $Id: newgrf_railtype.cpp 27984 2018-03-11 13:19:41Z frosch $ */ /* * This file is part of OpenTTD. @@ -67,18 +67,6 @@ return NULL; } -/** - * Constructor of the railtype scope resolvers. - * @param ro Surrounding resolver. - * @param tile %Tile containing the track. For track on a bridge this is the southern bridgehead. - * @param context Are we resolving sprites for the upper halftile, or on a bridge? - */ -RailTypeScopeResolver::RailTypeScopeResolver(ResolverObject &ro, TileIndex tile, TileContext context) : ScopeResolver(ro) -{ - this->tile = tile; - this->context = context; -} - /** * Resolver object for rail types. * @param rti Railtype. NULL in NewGRF Inspect window. diff --git a/src/newgrf_railtype.h b/src/newgrf_railtype.h index 838dce26df..947d68f710 100644 --- a/src/newgrf_railtype.h +++ b/src/newgrf_railtype.h @@ -1,4 +1,4 @@ -/* $Id: newgrf_railtype.h 27342 2015-07-26 12:25:37Z frosch $ */ +/* $Id: newgrf_railtype.h 27984 2018-03-11 13:19:41Z frosch $ */ /* * This file is part of OpenTTD. @@ -21,7 +21,16 @@ struct RailTypeScopeResolver : public ScopeResolver { TileIndex tile; ///< Tracktile. For track on a bridge this is the southern bridgehead. TileContext context; ///< Are we resolving sprites for the upper halftile, or on a bridge? - RailTypeScopeResolver(ResolverObject &ro, TileIndex tile, TileContext context); + /** + * Constructor of the railtype scope resolvers. + * @param ro Surrounding resolver. + * @param tile %Tile containing the track. For track on a bridge this is the southern bridgehead. + * @param context Are we resolving sprites for the upper halftile, or on a bridge? + */ + RailTypeScopeResolver(ResolverObject &ro, TileIndex tile, TileContext context) + : ScopeResolver(ro), tile(tile), context(context) + { + } /* virtual */ uint32 GetRandomBits() const; /* virtual */ uint32 GetVariable(byte variable, uint32 parameter, bool *available) const; diff --git a/src/newgrf_spritegroup.cpp b/src/newgrf_spritegroup.cpp index 5b1c04d91a..883208eb72 100644 --- a/src/newgrf_spritegroup.cpp +++ b/src/newgrf_spritegroup.cpp @@ -1,4 +1,4 @@ -/* $Id: newgrf_spritegroup.cpp 27600 2016-06-13 17:34:18Z frosch $ */ +/* $Id: newgrf_spritegroup.cpp 27989 2018-03-11 15:08:51Z frosch $ */ /* * This file is part of OpenTTD. @@ -10,6 +10,7 @@ /** @file newgrf_spritegroup.cpp Handling of primarily NewGRF action 2. */ #include "stdafx.h" +#include #include "debug.h" #include "newgrf_spritegroup.h" #include "core/pool_func.hpp" @@ -60,11 +61,7 @@ RandomizedSpriteGroup::~RandomizedSpriteGroup() static inline uint32 GetVariable(const ResolverObject &object, ScopeResolver *scope, byte variable, uint32 parameter, bool *available) { - /* First handle variables common with Action7/9/D */ uint32 value; - if (GetGlobalVariable(variable, &value, object.grffile)) return value; - - /* Non-common variable */ switch (variable) { case 0x0C: return object.callback; case 0x10: return object.callback_param1; @@ -79,18 +76,14 @@ static inline uint32 GetVariable(const ResolverObject &object, ScopeResolver *sc if (object.grffile == NULL) return 0; return object.grffile->GetParam(parameter); - /* Not a common variable, so evaluate the feature specific variables */ - default: return scope->GetVariable(variable, parameter, available); + default: + /* First handle variables common with Action7/9/D */ + if (variable < 0x40 && GetGlobalVariable(variable, &value, object.grffile)) return value; + /* Not a common variable, so evaluate the feature specific variables */ + return scope->GetVariable(variable, parameter, available); } } -ScopeResolver::ScopeResolver(ResolverObject &ro) - : ro(ro) -{ -} - -ScopeResolver::~ScopeResolver() {} - /** * Get a few random bits. Default implementation has no random bits. * @return Random bits. @@ -109,12 +102,6 @@ ScopeResolver::~ScopeResolver() {} return 0; } -/** - * Set the triggers. Base class implementation does nothing. - * @param triggers Triggers to set. - */ -/* virtual */ void ScopeResolver::SetTriggers(int triggers) const {} - /** * Get a variable value. Default implementation has no available variables. * @param variable Variable to read @@ -136,27 +123,6 @@ ScopeResolver::~ScopeResolver() {} */ /* virtual */ void ScopeResolver::StorePSA(uint reg, int32 value) {} -/** - * Resolver constructor. - * @param grffile NewGRF file associated with the object (or \c NULL if none). - * @param callback Callback code being resolved (default value is #CBID_NO_CALLBACK). - * @param callback_param1 First parameter (var 10) of the callback (only used when \a callback is also set). - * @param callback_param2 Second parameter (var 18) of the callback (only used when \a callback is also set). - */ -ResolverObject::ResolverObject(const GRFFile *grffile, CallbackID callback, uint32 callback_param1, uint32 callback_param2) - : default_scope(*this) -{ - this->callback = callback; - this->callback_param1 = callback_param1; - this->callback_param2 = callback_param2; - this->ResetState(); - - this->grffile = grffile; - this->root_spritegroup = NULL; -} - -ResolverObject::~ResolverObject() {} - /** * Get the real sprites of the grf. * @param group Group to get. @@ -201,11 +167,9 @@ static U EvalAdjustT(const DeterministicSpriteGroupAdjust *adjust, ScopeResolver value >>= adjust->shift_num; value &= adjust->and_mask; - if (adjust->type != DSGA_TYPE_NONE) value += (S)adjust->add_val; - switch (adjust->type) { - case DSGA_TYPE_DIV: value = (S)value / (S)adjust->divmod_val; break; - case DSGA_TYPE_MOD: value = (S)value % (S)adjust->divmod_val; break; + case DSGA_TYPE_DIV: value = ((S)value + (S)adjust->add_val) / (S)adjust->divmod_val; break; + case DSGA_TYPE_MOD: value = ((S)value + (S)adjust->add_val) % (S)adjust->divmod_val; break; case DSGA_TYPE_NONE: break; } @@ -238,6 +202,11 @@ static U EvalAdjustT(const DeterministicSpriteGroupAdjust *adjust, ScopeResolver } +static bool RangeHighComparator(const DeterministicSpriteGroupRange& range, uint32 value) +{ + return range.high < value; +} + const SpriteGroup *DeterministicSpriteGroup::Resolve(ResolverObject &object) const { uint32 last_value = 0; @@ -269,7 +238,7 @@ const SpriteGroup *DeterministicSpriteGroup::Resolve(ResolverObject &object) con if (!available) { /* Unsupported variable: skip further processing and return either * the group from the first range or the default group. */ - return SpriteGroup::Resolve(this->num_ranges > 0 ? this->ranges[0].group : this->default_group, object, false); + return SpriteGroup::Resolve(this->error_group, object, false); } switch (this->size) { @@ -283,7 +252,7 @@ const SpriteGroup *DeterministicSpriteGroup::Resolve(ResolverObject &object) con object.last_value = last_value; - if (this->num_ranges == 0) { + if (this->calculated_result) { /* nvar == 0 is a special case -- we turn our value into a callback result */ if (value != CALLBACK_FAILED) value = GB(value, 0, 15); static CallbackResultSpriteGroup nvarzero(0, true); @@ -291,9 +260,17 @@ const SpriteGroup *DeterministicSpriteGroup::Resolve(ResolverObject &object) con return &nvarzero; } - for (i = 0; i < this->num_ranges; i++) { - if (this->ranges[i].low <= value && value <= this->ranges[i].high) { - return SpriteGroup::Resolve(this->ranges[i].group, object, false); + if (this->num_ranges > 4) { + DeterministicSpriteGroupRange *lower = std::lower_bound(this->ranges + 0, this->ranges + this->num_ranges, value, RangeHighComparator); + if (lower != this->ranges + this->num_ranges && lower->low <= value) { + assert(lower->low <= value && value <= lower->high); + return SpriteGroup::Resolve(lower->group, object, false); + } + } else { + for (i = 0; i < this->num_ranges; i++) { + if (this->ranges[i].low <= value && value <= this->ranges[i].high) { + return SpriteGroup::Resolve(this->ranges[i].group, object, false); + } } } @@ -304,21 +281,15 @@ const SpriteGroup *DeterministicSpriteGroup::Resolve(ResolverObject &object) con const SpriteGroup *RandomizedSpriteGroup::Resolve(ResolverObject &object) const { ScopeResolver *scope = object.GetScope(this->var_scope, this->count); - if (object.trigger != 0) { + if (object.callback == CBID_RANDOM_TRIGGER) { /* Handle triggers */ - /* Magic code that may or may not do the right things... */ - byte waiting_triggers = scope->GetTriggers(); - byte match = this->triggers & (waiting_triggers | object.trigger); + byte match = this->triggers & object.waiting_triggers; bool res = (this->cmp_mode == RSG_CMP_ANY) ? (match != 0) : (match == this->triggers); if (res) { - waiting_triggers &= ~match; + object.used_triggers |= match; object.reseed[this->var_scope] |= (this->num_groups - 1) << this->lowest_randbit; - } else { - waiting_triggers |= object.trigger; } - - scope->SetTriggers(waiting_triggers); } uint32 mask = (this->num_groups - 1) << this->lowest_randbit; diff --git a/src/newgrf_spritegroup.h b/src/newgrf_spritegroup.h index c2eb38532b..d965d2846a 100644 --- a/src/newgrf_spritegroup.h +++ b/src/newgrf_spritegroup.h @@ -1,4 +1,4 @@ -/* $Id: newgrf_spritegroup.h 26388 2014-03-03 20:02:31Z frosch $ */ +/* $Id: newgrf_spritegroup.h 27989 2018-03-11 15:08:51Z frosch $ */ /* * This file is part of OpenTTD. @@ -174,13 +174,16 @@ struct DeterministicSpriteGroup : SpriteGroup { VarSpriteGroupScope var_scope; DeterministicSpriteGroupSize size; uint num_adjusts; - byte num_ranges; + uint num_ranges; + bool calculated_result; DeterministicSpriteGroupAdjust *adjusts; DeterministicSpriteGroupRange *ranges; // Dynamically allocated /* Dynamically allocated, this is the sole owner */ const SpriteGroup *default_group; + const SpriteGroup *error_group; // was first range, before sorting ranges + protected: const SpriteGroup *Resolve(ResolverObject &object) const; }; @@ -288,12 +291,11 @@ struct IndustryProductionSpriteGroup : SpriteGroup { struct ScopeResolver { ResolverObject &ro; ///< Surrounding resolver object. - ScopeResolver(ResolverObject &ro); - virtual ~ScopeResolver(); + ScopeResolver(ResolverObject &ro) : ro(ro) {} + virtual ~ScopeResolver() {} virtual uint32 GetRandomBits() const; virtual uint32 GetTriggers() const; - virtual void SetTriggers(int triggers) const; virtual uint32 GetVariable(byte variable, uint32 parameter, bool *available) const; virtual void StorePSA(uint reg, int32 value); @@ -306,8 +308,20 @@ struct ScopeResolver { * to get the results of callbacks, rerandomisations or normal sprite lookups. */ struct ResolverObject { - ResolverObject(const GRFFile *grffile, CallbackID callback = CBID_NO_CALLBACK, uint32 callback_param1 = 0, uint32 callback_param2 = 0); - virtual ~ResolverObject(); + /** + * Resolver constructor. + * @param grffile NewGRF file associated with the object (or \c NULL if none). + * @param callback Callback code being resolved (default value is #CBID_NO_CALLBACK). + * @param callback_param1 First parameter (var 10) of the callback (only used when \a callback is also set). + * @param callback_param2 Second parameter (var 18) of the callback (only used when \a callback is also set). + */ + ResolverObject(const GRFFile *grffile, CallbackID callback = CBID_NO_CALLBACK, uint32 callback_param1 = 0, uint32 callback_param2 = 0) + : default_scope(*this), callback(callback), callback_param1(callback_param1), callback_param2(callback_param2), grffile(grffile), root_spritegroup(NULL) + { + this->ResetState(); + } + + virtual ~ResolverObject() {} ScopeResolver default_scope; ///< Default implementation of the grf scope. @@ -315,9 +329,10 @@ struct ResolverObject { uint32 callback_param1; ///< First parameter (var 10) of the callback. uint32 callback_param2; ///< Second parameter (var 18) of the callback. - byte trigger; - uint32 last_value; ///< Result of most recent DeterministicSpriteGroup (including procedure calls) + + uint32 waiting_triggers; ///< Waiting triggers to be used by any rerandomisation. (scope independent) + uint32 used_triggers; ///< Subset of cur_triggers, which actually triggered some rerandomisation. (scope independent) uint32 reseed[VSG_END]; ///< Collects bits to rerandomise while triggering triggers. const GRFFile *grffile; ///< GRFFile the resolved SpriteGroup belongs to @@ -346,6 +361,14 @@ struct ResolverObject { virtual ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, byte relative = 0); + /** + * Returns the waiting triggers that did not trigger any rerandomisation. + */ + uint32 GetRemainingTriggers() const + { + return this->waiting_triggers & ~this->used_triggers; + } + /** * Returns the OR-sum of all bits that need reseeding * independent of the scope they were accessed with. @@ -367,7 +390,8 @@ struct ResolverObject { void ResetState() { this->last_value = 0; - this->trigger = 0; + this->waiting_triggers = 0; + this->used_triggers = 0; memset(this->reseed, 0, sizeof(this->reseed)); } }; diff --git a/src/newgrf_station.cpp b/src/newgrf_station.cpp index a3548ec945..c417dde44c 100644 --- a/src/newgrf_station.cpp +++ b/src/newgrf_station.cpp @@ -1,4 +1,4 @@ -/* $Id: newgrf_station.cpp 26580 2014-05-11 18:02:11Z rubidium $ */ +/* $Id: newgrf_station.cpp 27984 2018-03-11 13:19:41Z frosch $ */ /* * This file is part of OpenTTD. @@ -235,13 +235,6 @@ static uint32 GetRailContinuationInfo(TileIndex tile) } -/* virtual */ void StationScopeResolver::SetTriggers(int triggers) const -{ - BaseStation *st = const_cast(this->st); - assert(st != NULL); - st->waiting_triggers = triggers; -} - /** * Station variable cache * This caches 'expensive' station variable lookups which iterate over @@ -585,23 +578,6 @@ StationResolverObject::~StationResolverObject() delete this->town_scope; } -/** - * Constructor for station scopes. - * @param ro Surrounding resolver. - * @param statspec Station (type) specification. - * @param st Instance of the station. - * @param tile %Tile of the station. - */ -StationScopeResolver::StationScopeResolver(ResolverObject &ro, const StationSpec *statspec, BaseStation *st, TileIndex tile) - : ScopeResolver(ro) -{ - this->tile = tile; - this->st = st; - this->statspec = statspec; - this->cargo_type = CT_INVALID; - this->axis = INVALID_AXIS; -} - /** * Resolve sprites for drawing a station tile. * @param statspec Station spec @@ -997,8 +973,9 @@ void TriggerStationRandomisation(Station *st, TileIndex tile, StationRandomTrigg } } - /* Convert trigger to bit */ - uint8 trigger_bit = 1 << trigger; + /* Store triggers now for var 5F */ + SetBit(st->waiting_triggers, trigger); + uint32 used_triggers = 0; /* Check all tiles over the station to check if the specindex is still in use */ TILE_AREA_LOOP(tile, area) { @@ -1014,11 +991,13 @@ void TriggerStationRandomisation(Station *st, TileIndex tile, StationRandomTrigg if (cargo_type == CT_INVALID || HasBit(ss->cargo_triggers, cargo_type)) { StationResolverObject object(ss, st, tile, CBID_RANDOM_TRIGGER, 0); - object.trigger = trigger_bit; + object.waiting_triggers = st->waiting_triggers; const SpriteGroup *group = object.Resolve(); if (group == NULL) continue; + used_triggers |= object.used_triggers; + uint32 reseed = object.GetReseedSum(); if (reseed != 0) { whole_reseed |= reseed; @@ -1037,6 +1016,7 @@ void TriggerStationRandomisation(Station *st, TileIndex tile, StationRandomTrigg } /* Update whole station random bits */ + st->waiting_triggers &= ~used_triggers; if ((whole_reseed & 0xFFFF) != 0) { st->random_bits &= ~whole_reseed; st->random_bits |= Random() & whole_reseed; diff --git a/src/newgrf_station.h b/src/newgrf_station.h index cfa04af352..aad2edda47 100644 --- a/src/newgrf_station.h +++ b/src/newgrf_station.h @@ -1,4 +1,4 @@ -/* $Id: newgrf_station.h 26085 2013-11-24 14:41:19Z frosch $ */ +/* $Id: newgrf_station.h 27984 2018-03-11 13:19:41Z frosch $ */ /* * This file is part of OpenTTD. @@ -30,11 +30,20 @@ struct StationScopeResolver : public ScopeResolver { CargoID cargo_type; ///< Type of cargo of the station. Axis axis; ///< Station axis, used only for the slope check callback. - StationScopeResolver(ResolverObject &ro, const StationSpec *statspec, BaseStation *st, TileIndex tile); + /** + * Constructor for station scopes. + * @param ro Surrounding resolver. + * @param statspec Station (type) specification. + * @param st Instance of the station. + * @param tile %Tile of the station. + */ + StationScopeResolver(ResolverObject &ro, const StationSpec *statspec, BaseStation *st, TileIndex tile) + : ScopeResolver(ro), tile(tile), st(st), statspec(statspec), cargo_type(CT_INVALID), axis(INVALID_AXIS) + { + } /* virtual */ uint32 GetRandomBits() const; /* virtual */ uint32 GetTriggers() const; - /* virtual */ void SetTriggers(int triggers) const; /* virtual */ uint32 GetVariable(byte variable, uint32 parameter, bool *available) const; }; @@ -59,8 +68,8 @@ struct StationResolverObject : public ResolverObject { case VSG_SCOPE_PARENT: { TownScopeResolver *tsr = this->GetTown(); if (tsr != NULL) return tsr; - /* FALL-THROUGH */ } + FALLTHROUGH; default: return ResolverObject::GetScope(scope, relative); diff --git a/src/newgrf_text.cpp b/src/newgrf_text.cpp index c7654b8526..8157bcbbba 100644 --- a/src/newgrf_text.cpp +++ b/src/newgrf_text.cpp @@ -1,4 +1,4 @@ -/* $Id: newgrf_text.cpp 27864 2017-05-03 20:13:05Z frosch $ */ +/* $Id: newgrf_text.cpp 27851 2017-04-09 21:58:07Z peter1138 $ */ /* * This file is part of OpenTTD. diff --git a/src/newgrf_text.h b/src/newgrf_text.h index 961fc8a23a..6502adac29 100644 --- a/src/newgrf_text.h +++ b/src/newgrf_text.h @@ -1,4 +1,4 @@ -/* $Id: newgrf_text.h 27864 2017-05-03 20:13:05Z frosch $ */ +/* $Id: newgrf_text.h 27851 2017-04-09 21:58:07Z peter1138 $ */ /* * This file is part of OpenTTD. diff --git a/src/newgrf_town.cpp b/src/newgrf_town.cpp index f0cc5a3118..1fab2a48ee 100644 --- a/src/newgrf_town.cpp +++ b/src/newgrf_town.cpp @@ -1,4 +1,4 @@ -/* $Id: newgrf_town.cpp 26482 2014-04-23 20:13:33Z rubidium $ */ +/* $Id: newgrf_town.cpp 27984 2018-03-11 13:19:41Z frosch $ */ /* * This file is part of OpenTTD. @@ -16,18 +16,6 @@ #include "safeguards.h" -/** - * Resolver of a town scope. - * @param ro Surrounding resolver. - * @param t %Town of the scope. - * @param readonly Scope may change persistent storage of the town. - */ -TownScopeResolver::TownScopeResolver(ResolverObject &ro, Town *t, bool readonly) : ScopeResolver(ro) -{ - this->t = t; - this->readonly = readonly; -} - /* virtual */ uint32 TownScopeResolver::GetVariable(byte variable, uint32 parameter, bool *available) const { switch (variable) { diff --git a/src/newgrf_town.h b/src/newgrf_town.h index 83dfd6885c..a1575f4131 100644 --- a/src/newgrf_town.h +++ b/src/newgrf_town.h @@ -1,4 +1,4 @@ -/* $Id: newgrf_town.h 26085 2013-11-24 14:41:19Z frosch $ */ +/* $Id: newgrf_town.h 27984 2018-03-11 13:19:41Z frosch $ */ /* * This file is part of OpenTTD. @@ -25,7 +25,16 @@ struct TownScopeResolver : public ScopeResolver { Town *t; ///< %Town of the scope. bool readonly; ///< When set, persistent storage of the town is read-only, - TownScopeResolver(ResolverObject &ro, Town *t, bool readonly); + /** + * Resolver of a town scope. + * @param ro Surrounding resolver. + * @param t %Town of the scope. + * @param readonly Scope may change persistent storage of the town. + */ + TownScopeResolver(ResolverObject &ro, Town *t, bool readonly) + : ScopeResolver(ro), t(t), readonly(readonly) + { + } virtual uint32 GetVariable(byte variable, uint32 parameter, bool *available) const; virtual void StorePSA(uint reg, int32 value); diff --git a/src/news_gui.cpp b/src/news_gui.cpp index 50f4be6280..62ea864846 100644 --- a/src/news_gui.cpp +++ b/src/news_gui.cpp @@ -1,4 +1,4 @@ -/* $Id: news_gui.cpp 27864 2017-05-03 20:13:05Z frosch $ */ +/* $Id: news_gui.cpp 27838 2017-03-31 23:09:50Z peter1138 $ */ /* * This file is part of OpenTTD. diff --git a/src/order_cmd.cpp b/src/order_cmd.cpp index e3ae8c20f7..55266fe104 100644 --- a/src/order_cmd.cpp +++ b/src/order_cmd.cpp @@ -1,4 +1,4 @@ -/* $Id: order_cmd.cpp 26694 2014-07-16 22:24:55Z frosch $ */ +/* $Id: order_cmd.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -772,7 +772,8 @@ CommandCost CmdInsertOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3 case OSL_PLATFORM_NEAR_END: case OSL_PLATFORM_MIDDLE: if (v->type != VEH_TRAIN) return CMD_ERROR; - /* FALL THROUGH */ + FALLTHROUGH; + case OSL_PLATFORM_FAR_END: break; @@ -880,7 +881,8 @@ CommandCost CmdInsertOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3 case OCV_LOAD_PERCENTAGE: case OCV_RELIABILITY: if (new_order.GetConditionValue() > 100) return CMD_ERROR; - /* FALL THROUGH */ + FALLTHROUGH; + default: if (occ == OCC_IS_TRUE || occ == OCC_IS_FALSE) return CMD_ERROR; break; @@ -1466,7 +1468,8 @@ CommandCost CmdModifyOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3 case OCV_LOAD_PERCENTAGE: case OCV_RELIABILITY: if (order->GetConditionValue() > 100) order->SetConditionValue(100); - /* FALL THROUGH */ + FALLTHROUGH; + default: if (occ == OCC_IS_TRUE || occ == OCC_IS_FALSE) order->SetConditionComparator(OCC_EQUALS); break; diff --git a/src/order_gui.cpp b/src/order_gui.cpp index 56b4c15521..e57e987d5c 100644 --- a/src/order_gui.cpp +++ b/src/order_gui.cpp @@ -1,4 +1,4 @@ -/* $Id: order_gui.cpp 27425 2015-10-30 17:23:16Z frosch $ */ +/* $Id: order_gui.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -841,7 +841,7 @@ public: case VIWD_AUTOREPLACE: /* Autoreplace replaced the vehicle */ this->vehicle = Vehicle::Get(this->window_number); - /* FALL THROUGH */ + FALLTHROUGH; case VIWD_CONSIST_CHANGED: /* Vehicle composition was changed. */ diff --git a/src/os/windows/ottdres.rc.in b/src/os/windows/ottdres.rc.in index 035411f174..0b4b17de47 100644 --- a/src/os/windows/ottdres.rc.in +++ b/src/os/windows/ottdres.rc.in @@ -1,5 +1,5 @@ //Microsoft Developer Studio generated resource script. -// $Id: ottdres.rc.in 27949 2017-12-24 12:09:20Z frosch $ +// $Id: ottdres.rc.in 27980 2018-03-11 12:24:32Z frosch $ // // This file is part of OpenTTD. // OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -79,8 +79,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,7,2,!!REVISION!! - PRODUCTVERSION 1,7,2,!!REVISION!! + FILEVERSION 1,8,0,!!REVISION!! + PRODUCTVERSION 1,8,0,!!REVISION!! FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -100,7 +100,7 @@ BEGIN VALUE "FileDescription", "OpenTTD\0" VALUE "FileVersion", "!!VERSION!!\0" VALUE "InternalName", "openttd\0" - VALUE "LegalCopyright", "Copyright \xA9 OpenTTD Developers 2002-2017. All Rights Reserved.\0" + VALUE "LegalCopyright", "Copyright \xA9 OpenTTD Developers 2002-2018. All Rights Reserved.\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "openttd.exe\0" VALUE "PrivateBuild", "\0" diff --git a/src/pathfinder/npf/npf.cpp b/src/pathfinder/npf/npf.cpp index d598f03b4d..fc36de5fc3 100644 --- a/src/pathfinder/npf/npf.cpp +++ b/src/pathfinder/npf/npf.cpp @@ -1,4 +1,4 @@ -/* $Id: npf.cpp 27733 2017-01-15 13:59:46Z frosch $ */ +/* $Id: npf.cpp 27912 2017-09-03 13:06:29Z michi_cc $ */ /* * This file is part of OpenTTD. @@ -961,7 +961,7 @@ static void NPFFollowTrack(AyStar *aystar, OpenListNode *current) * multiple targets that are spread around, we should perform a breadth first * search by specifiying CalcZero as our heuristic. */ -static NPFFoundTargetData NPFRouteInternal(AyStarNode *start1, bool ignore_start_tile1, AyStarNode *start2, bool ignore_start_tile2, NPFFindStationOrTileData *target, AyStar_EndNodeCheck target_proc, AyStar_CalculateH heuristic_proc, AyStarUserData *user, uint reverse_penalty) +static NPFFoundTargetData NPFRouteInternal(AyStarNode *start1, bool ignore_start_tile1, AyStarNode *start2, bool ignore_start_tile2, NPFFindStationOrTileData *target, AyStar_EndNodeCheck target_proc, AyStar_CalculateH heuristic_proc, AyStarUserData *user, uint reverse_penalty, bool ignore_reserved = false) { int r; NPFFoundTargetData result; @@ -982,12 +982,14 @@ static NPFFoundTargetData NPFRouteInternal(AyStarNode *start1, bool ignore_start start1->user_data[NPF_TRACKDIR_CHOICE] = INVALID_TRACKDIR; start1->user_data[NPF_NODE_FLAGS] = 0; NPFSetFlag(start1, NPF_FLAG_IGNORE_START_TILE, ignore_start_tile1); + NPFSetFlag(start1, NPF_FLAG_IGNORE_RESERVED, ignore_reserved); _npf_aystar.AddStartNode(start1, 0); if (start2 != NULL) { start2->user_data[NPF_TRACKDIR_CHOICE] = INVALID_TRACKDIR; start2->user_data[NPF_NODE_FLAGS] = 0; NPFSetFlag(start2, NPF_FLAG_IGNORE_START_TILE, ignore_start_tile2); NPFSetFlag(start2, NPF_FLAG_REVERSE, true); + NPFSetFlag(start2, NPF_FLAG_IGNORE_RESERVED, ignore_reserved); _npf_aystar.AddStartNode(start2, reverse_penalty); } @@ -1031,12 +1033,8 @@ static NPFFoundTargetData NPFRouteToStationOrTileTwoWay(TileIndex tile1, Trackdi start1.tile = tile1; start2.tile = tile2; - /* We set this in case the target is also the start tile, we will just - * return a not found then */ - start1.user_data[NPF_TRACKDIR_CHOICE] = INVALID_TRACKDIR; start1.direction = trackdir1; start2.direction = trackdir2; - start2.user_data[NPF_TRACKDIR_CHOICE] = INVALID_TRACKDIR; return NPFRouteInternal(&start1, ignore_start_tile1, (IsValidTile(tile2) ? &start2 : NULL), ignore_start_tile2, target, NPFFindStationOrTile, NPFCalcStationOrTileHeuristic, user, 0); } @@ -1063,12 +1061,8 @@ static NPFFoundTargetData NPFRouteToDepotBreadthFirstTwoWay(TileIndex tile1, Tra start1.tile = tile1; start2.tile = tile2; - /* We set this in case the target is also the start tile, we will just - * return a not found then */ - start1.user_data[NPF_TRACKDIR_CHOICE] = INVALID_TRACKDIR; start1.direction = trackdir1; start2.direction = trackdir2; - start2.user_data[NPF_TRACKDIR_CHOICE] = INVALID_TRACKDIR; /* perform a breadth first search. Target is NULL, * since we are just looking for any depot...*/ @@ -1233,11 +1227,7 @@ bool NPFTrainFindNearestSafeTile(const Train *v, TileIndex tile, Trackdir trackd AyStarNode start1; start1.tile = tile; - /* We set this in case the target is also the start tile, we will just - * return a not found then */ - start1.user_data[NPF_TRACKDIR_CHOICE] = INVALID_TRACKDIR; start1.direction = trackdir; - NPFSetFlag(&start1, NPF_FLAG_IGNORE_RESERVED, true); RailTypes railtypes = v->compatible_railtypes; if (override_railtype) railtypes |= GetRailTypeInfo(v->railtype)->compatible_railtypes; @@ -1245,7 +1235,7 @@ bool NPFTrainFindNearestSafeTile(const Train *v, TileIndex tile, Trackdir trackd /* perform a breadth first search. Target is NULL, * since we are just looking for any safe tile...*/ AyStarUserData user = { v->owner, TRANSPORT_RAIL, railtypes, ROADTYPES_NONE }; - return NPFRouteInternal(&start1, true, NULL, false, &fstd, NPFFindSafeTile, NPFCalcZero, &user, 0).res_okay; + return NPFRouteInternal(&start1, true, NULL, false, &fstd, NPFFindSafeTile, NPFCalcZero, &user, 0, true).res_okay; } bool NPFTrainCheckReverse(const Train *v) diff --git a/src/pathfinder/yapf/yapf_costrail.hpp b/src/pathfinder/yapf/yapf_costrail.hpp index b096333904..25b2deab32 100644 --- a/src/pathfinder/yapf/yapf_costrail.hpp +++ b/src/pathfinder/yapf/yapf_costrail.hpp @@ -1,4 +1,4 @@ -/* $Id: yapf_costrail.hpp 27864 2017-05-03 20:13:05Z frosch $ */ +/* $Id: yapf_costrail.hpp 27885 2017-06-22 16:57:06Z frosch $ */ /* * This file is part of OpenTTD. @@ -562,6 +562,9 @@ no_entry_cost: // jump here at the beginning if the node has no parent (it is th } // for (;;) + /* Don't consider path any further it if exceeded max_cost. */ + if (end_segment_reason & ESRB_PATH_TOO_LONG) return false; + bool target_seen = false; if ((end_segment_reason & ESRB_POSSIBLE_TARGET) != ESRB_NONE) { /* Depot, station or waypoint. */ diff --git a/src/pathfinder/yapf/yapf_destrail.hpp b/src/pathfinder/yapf/yapf_destrail.hpp index 163226ef8c..0c6042b437 100644 --- a/src/pathfinder/yapf/yapf_destrail.hpp +++ b/src/pathfinder/yapf/yapf_destrail.hpp @@ -1,4 +1,4 @@ -/* $Id: yapf_destrail.hpp 27363 2015-08-08 13:19:38Z alberth $ */ +/* $Id: yapf_destrail.hpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -140,7 +140,8 @@ public: * waypoint. */ Yapf().DisableCache(true); } - /* FALL THROUGH */ + FALLTHROUGH; + case OT_GOTO_STATION: m_destTile = CalcClosestStationTile(v->current_order.GetDestination(), v->tile, v->current_order.IsType(OT_GOTO_STATION) ? STATION_RAIL : STATION_WAYPOINT); m_dest_station_id = v->current_order.GetDestination(); diff --git a/src/pathfinder/yapf/yapf_rail.cpp b/src/pathfinder/yapf/yapf_rail.cpp index 52bbffe99b..7d1b2da440 100644 --- a/src/pathfinder/yapf/yapf_rail.cpp +++ b/src/pathfinder/yapf/yapf_rail.cpp @@ -1,4 +1,4 @@ -/* $Id: yapf_rail.cpp 27362 2015-08-08 10:06:24Z alberth $ */ +/* $Id: yapf_rail.cpp 27845 2017-04-03 22:02:28Z peter1138 $ */ /* * This file is part of OpenTTD. @@ -223,7 +223,7 @@ public: return 't'; } - static bool stFindNearestDepotTwoWay(const Train *v, TileIndex t1, Trackdir td1, TileIndex t2, Trackdir td2, int max_penalty, int reverse_penalty, TileIndex *depot_tile, bool *reversed) + static FindDepotData stFindNearestDepotTwoWay(const Train *v, TileIndex t1, Trackdir td1, TileIndex t2, Trackdir td2, int max_penalty, int reverse_penalty) { Tpf pf1; /* @@ -236,16 +236,16 @@ public: * depot orders and you do not disable automatic servicing. */ if (max_penalty != 0) pf1.DisableCache(true); - bool result1 = pf1.FindNearestDepotTwoWay(v, t1, td1, t2, td2, max_penalty, reverse_penalty, depot_tile, reversed); + FindDepotData result1 = pf1.FindNearestDepotTwoWay(v, t1, td1, t2, td2, max_penalty, reverse_penalty); if (_debug_desync_level >= 2) { Tpf pf2; - TileIndex depot_tile2 = INVALID_TILE; - bool reversed2 = false; pf2.DisableCache(true); - bool result2 = pf2.FindNearestDepotTwoWay(v, t1, td1, t2, td2, max_penalty, reverse_penalty, &depot_tile2, &reversed2); - if (result1 != result2 || (result1 && (*depot_tile != depot_tile2 || *reversed != reversed2))) { - DEBUG(desync, 2, "CACHE ERROR: FindNearestDepotTwoWay() = [%s, %s]", result1 ? "T" : "F", result2 ? "T" : "F"); + 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() = [%s, %s]", + result1.tile != INVALID_TILE ? "T" : "F", + result2.tile != INVALID_TILE ? "T" : "F"); DumpState(pf1, pf2); } } @@ -253,7 +253,7 @@ public: return result1; } - inline bool FindNearestDepotTwoWay(const Train *v, TileIndex t1, Trackdir td1, TileIndex t2, Trackdir td2, int max_penalty, int reverse_penalty, TileIndex *depot_tile, bool *reversed) + inline FindDepotData FindNearestDepotTwoWay(const Train *v, TileIndex t1, Trackdir td1, TileIndex t2, Trackdir td2, int max_penalty, int reverse_penalty) { /* set origin and destination nodes */ Yapf().SetOrigin(t1, td1, t2, td2, reverse_penalty, true); @@ -261,13 +261,10 @@ public: Yapf().SetMaxCost(max_penalty); /* find the best path */ - bool bFound = Yapf().FindPath(v); - if (!bFound) return false; + if (!Yapf().FindPath(v)) return FindDepotData(); - /* some path found - * get found depot tile */ + /* Some path found. */ Node *n = Yapf().GetBestNode(); - *depot_tile = n->GetLastTile(); /* walk through the path back to the origin */ Node *pNode = n; @@ -277,9 +274,7 @@ public: /* if the origin node is our front vehicle tile/Trackdir then we didn't reverse * but we can also look at the cost (== 0 -> not reversed, == reverse_penalty -> reversed) */ - *reversed = (pNode->m_cost != 0); - - return true; + return FindDepotData(n->GetLastTile(), n->m_cost, pNode->m_cost != 0); } }; @@ -611,15 +606,13 @@ bool YapfTrainCheckReverse(const Train *v) FindDepotData YapfTrainFindNearestDepot(const Train *v, int max_penalty) { - FindDepotData fdd; - const Train *last_veh = v->Last(); PBSTileInfo origin = FollowTrainReservation(v); TileIndex last_tile = last_veh->tile; Trackdir td_rev = ReverseTrackdir(last_veh->GetVehicleTrackdir()); - typedef bool (*PfnFindNearestDepotTwoWay)(const Train*, TileIndex, Trackdir, TileIndex, Trackdir, int, int, TileIndex*, bool*); + typedef FindDepotData (*PfnFindNearestDepotTwoWay)(const Train*, TileIndex, Trackdir, TileIndex, Trackdir, int, int); PfnFindNearestDepotTwoWay pfnFindNearestDepotTwoWay = &CYapfAnyDepotRail1::stFindNearestDepotTwoWay; /* check if non-default YAPF type needed */ @@ -627,9 +620,7 @@ FindDepotData YapfTrainFindNearestDepot(const Train *v, int max_penalty) pfnFindNearestDepotTwoWay = &CYapfAnyDepotRail2::stFindNearestDepotTwoWay; // Trackdir, forbid 90-deg } - bool ret = pfnFindNearestDepotTwoWay(v, origin.tile, origin.trackdir, last_tile, td_rev, max_penalty, YAPF_INFINITE_PENALTY, &fdd.tile, &fdd.reverse); - fdd.best_length = ret ? max_penalty / 2 : UINT_MAX; // some fake distance or NOT_FOUND - return fdd; + return pfnFindNearestDepotTwoWay(v, origin.tile, origin.trackdir, last_tile, td_rev, max_penalty, YAPF_INFINITE_PENALTY); } bool YapfTrainFindNearestSafeTile(const Train *v, TileIndex tile, Trackdir td, bool override_railtype) diff --git a/src/pathfinder/yapf/yapf_type.hpp b/src/pathfinder/yapf/yapf_type.hpp index bc7738be26..19dd33e88d 100644 --- a/src/pathfinder/yapf/yapf_type.hpp +++ b/src/pathfinder/yapf/yapf_type.hpp @@ -1,4 +1,4 @@ -/* $Id: yapf_type.hpp 25608 2013-07-14 09:20:34Z rubidium $ */ +/* $Id: yapf_type.hpp 27885 2017-06-22 16:57:06Z frosch $ */ /* * This file is part of OpenTTD. diff --git a/src/rail.cpp b/src/rail.cpp index 65fa8b8f5b..50da9d3e0f 100644 --- a/src/rail.cpp +++ b/src/rail.cpp @@ -1,4 +1,4 @@ -/* $Id: rail.cpp 26482 2014-04-23 20:13:33Z rubidium $ */ +/* $Id: rail.cpp 27808 2017-03-19 22:30:47Z peter1138 $ */ /* * This file is part of OpenTTD. @@ -56,7 +56,7 @@ extern const Trackdir _next_trackdir[TRACKDIR_END] = { }; /* Maps a trackdir to all trackdirs that make 90 deg turns with it. */ -extern const TrackdirBits _track_crosses_trackdirs[TRACKDIR_END] = { +extern const TrackdirBits _track_crosses_trackdirs[TRACK_END] = { TRACKDIR_BIT_Y_SE | TRACKDIR_BIT_Y_NW, // TRACK_X TRACKDIR_BIT_X_NE | TRACKDIR_BIT_X_SW, // TRACK_Y TRACKDIR_BIT_RIGHT_N | TRACKDIR_BIT_RIGHT_S | TRACKDIR_BIT_LEFT_N | TRACKDIR_BIT_LEFT_S, // TRACK_UPPER diff --git a/src/rail_cmd.cpp b/src/rail_cmd.cpp index a59e6eb0d2..5b7bb2a97b 100644 --- a/src/rail_cmd.cpp +++ b/src/rail_cmd.cpp @@ -1,4 +1,4 @@ -/* $Id: rail_cmd.cpp 27862 2017-05-03 20:05:52Z frosch $ */ +/* $Id: rail_cmd.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -554,8 +554,8 @@ CommandCost CmdBuildSingleRail(TileIndex tile, DoCommandFlag flags, uint32 p1, u if (IsLevelCrossing(tile) && GetCrossingRailBits(tile) == trackbit) { return_cmd_error(STR_ERROR_ALREADY_BUILT); } - /* FALL THROUGH */ } + FALLTHROUGH; default: { /* Will there be flat water on the lower halftile? */ @@ -2444,33 +2444,60 @@ static void DrawTile_Track(TileInfo *ti) SpriteID ground = GetCustomRailSprite(rti, ti->tile, RTSG_GROUND); switch (GetRailDepotDirection(ti->tile)) { - case DIAGDIR_NE: if (!IsInvisibilitySet(TO_BUILDINGS)) break; // else FALL THROUGH - case DIAGDIR_SW: DrawGroundSprite(ground + RTO_X, PAL_NONE); break; - case DIAGDIR_NW: if (!IsInvisibilitySet(TO_BUILDINGS)) break; // else FALL THROUGH - case DIAGDIR_SE: DrawGroundSprite(ground + RTO_Y, PAL_NONE); break; - default: break; + case DIAGDIR_NE: + if (!IsInvisibilitySet(TO_BUILDINGS)) break; + FALLTHROUGH; + case DIAGDIR_SW: + DrawGroundSprite(ground + RTO_X, PAL_NONE); + break; + case DIAGDIR_NW: + if (!IsInvisibilitySet(TO_BUILDINGS)) break; + FALLTHROUGH; + case DIAGDIR_SE: + DrawGroundSprite(ground + RTO_Y, PAL_NONE); + break; + default: + break; } if (_settings_client.gui.show_track_reservation && HasDepotReservation(ti->tile)) { SpriteID overlay = GetCustomRailSprite(rti, ti->tile, RTSG_OVERLAY); switch (GetRailDepotDirection(ti->tile)) { - case DIAGDIR_NE: if (!IsInvisibilitySet(TO_BUILDINGS)) break; // else FALL THROUGH - case DIAGDIR_SW: DrawGroundSprite(overlay + RTO_X, PALETTE_CRASH); break; - case DIAGDIR_NW: if (!IsInvisibilitySet(TO_BUILDINGS)) break; // else FALL THROUGH - case DIAGDIR_SE: DrawGroundSprite(overlay + RTO_Y, PALETTE_CRASH); break; - default: break; + case DIAGDIR_NE: + if (!IsInvisibilitySet(TO_BUILDINGS)) break; + FALLTHROUGH; + case DIAGDIR_SW: + DrawGroundSprite(overlay + RTO_X, PALETTE_CRASH); + break; + case DIAGDIR_NW: + if (!IsInvisibilitySet(TO_BUILDINGS)) break; + FALLTHROUGH; + case DIAGDIR_SE: + DrawGroundSprite(overlay + RTO_Y, PALETTE_CRASH); + break; + default: + break; } } } else { /* PBS debugging, draw reserved tracks darker */ if (_game_mode != GM_MENU && _settings_client.gui.show_track_reservation && HasDepotReservation(ti->tile)) { switch (GetRailDepotDirection(ti->tile)) { - case DIAGDIR_NE: if (!IsInvisibilitySet(TO_BUILDINGS)) break; // else FALL THROUGH - case DIAGDIR_SW: DrawGroundSprite(rti->base_sprites.single_x, PALETTE_CRASH); break; - case DIAGDIR_NW: if (!IsInvisibilitySet(TO_BUILDINGS)) break; // else FALL THROUGH - case DIAGDIR_SE: DrawGroundSprite(rti->base_sprites.single_y, PALETTE_CRASH); break; - default: break; + case DIAGDIR_NE: + if (!IsInvisibilitySet(TO_BUILDINGS)) break; + FALLTHROUGH; + case DIAGDIR_SW: + DrawGroundSprite(rti->base_sprites.single_x, PALETTE_CRASH); + break; + case DIAGDIR_NW: + if (!IsInvisibilitySet(TO_BUILDINGS)) break; + FALLTHROUGH; + case DIAGDIR_SE: + DrawGroundSprite(rti->base_sprites.single_y, PALETTE_CRASH); + break; + default: + break; } } } diff --git a/src/rev.cpp b/src/rev.cpp index cf6d28018c..c6c5a02e68 100644 --- a/src/rev.cpp +++ b/src/rev.cpp @@ -1,4 +1,4 @@ -/* $Id: rev.cpp.in 27949 2017-12-24 12:09:20Z frosch $ */ +/* $Id: rev.cpp.in 28002 2018-04-01 11:14:34Z frosch $ */ /* * This file is part of OpenTTD. @@ -39,7 +39,7 @@ bool IsReleasedVersion() * norev000 is for non-releases that are made on systems without * subversion or sources that are not a checkout of subversion. */ -const char _openttd_revision[] = "1.7.2"; +const char _openttd_revision[] = "h24491fc8M-openttd"; /** * The text version of OpenTTD's build date. @@ -57,7 +57,7 @@ const char _openttd_build_date[] = __DATE__ " " __TIME__; * (compiling from sources without any version control software) * and 2 is for modified revision. */ -const byte _openttd_revision_modified = 0; +const byte _openttd_revision_modified = 2; /** * The NewGRF revision of OTTD: @@ -72,11 +72,11 @@ const byte _openttd_revision_modified = 0; * final release will always have a lower version number than the released * version, thus making comparisons on specific revisions easy. */ -const uint32 _openttd_newgrf_version = 1 << 28 | 7 << 24 | 2 << 20 | 1 << 19 | (27949 & ((1 << 19) - 1)); +const uint32 _openttd_newgrf_version = 1 << 28 | 8 << 24 | 0 << 20 | 1 << 19 | (0 & ((1 << 19) - 1)); #ifdef __MORPHOS__ /** * Variable used by MorphOS to show the version. */ -extern const char morphos_versions_tag[] = "$VER: OpenTTD 1.7.2 (15.01.18) OpenTTD Team [MorphOS, PowerPC]"; +extern const char morphos_versions_tag[] = "$VER: OpenTTD h24491fc8M-openttd (06.04.18) OpenTTD Team [MorphOS, PowerPC]"; #endif diff --git a/src/rev.cpp.in b/src/rev.cpp.in index 8145d7882c..32a7d75390 100644 --- a/src/rev.cpp.in +++ b/src/rev.cpp.in @@ -1,4 +1,4 @@ -/* $Id: rev.cpp.in 27949 2017-12-24 12:09:20Z frosch $ */ +/* $Id: rev.cpp.in 28002 2018-04-01 11:14:34Z frosch $ */ /* * This file is part of OpenTTD. @@ -72,7 +72,7 @@ const byte _openttd_revision_modified = !!MODIFIED!!; * final release will always have a lower version number than the released * version, thus making comparisons on specific revisions easy. */ -const uint32 _openttd_newgrf_version = 1 << 28 | 7 << 24 | 2 << 20 | 1 << 19 | (!!REVISION!! & ((1 << 19) - 1)); +const uint32 _openttd_newgrf_version = 1 << 28 | 8 << 24 | 0 << 20 | 1 << 19 | (!!REVISION!! & ((1 << 19) - 1)); #ifdef __MORPHOS__ /** diff --git a/src/roadveh_cmd.cpp b/src/roadveh_cmd.cpp index 4cbcd4d0a1..9de4347d52 100644 --- a/src/roadveh_cmd.cpp +++ b/src/roadveh_cmd.cpp @@ -1,4 +1,4 @@ -/* $Id: roadveh_cmd.cpp 27667 2016-10-16 14:58:38Z frosch $ */ +/* $Id: roadveh_cmd.cpp 27814 2017-03-20 18:16:23Z peter1138 $ */ /* * This file is part of OpenTTD. @@ -69,24 +69,10 @@ bool IsValidImageIndex(uint8 image_index) return image_index < lengthof(_roadveh_images); } -/** 'Convert' the DiagDirection where a road vehicle enters to the trackdirs it can drive onto */ -static const TrackdirBits _road_enter_dir_to_reachable_trackdirs[DIAGDIR_END] = { - TRACKDIR_BIT_LEFT_N | TRACKDIR_BIT_LOWER_E | TRACKDIR_BIT_X_NE, // Enter from north east - TRACKDIR_BIT_LEFT_S | TRACKDIR_BIT_UPPER_E | TRACKDIR_BIT_Y_SE, // Enter from south east - TRACKDIR_BIT_UPPER_W | TRACKDIR_BIT_X_SW | TRACKDIR_BIT_RIGHT_S, // Enter from south west - TRACKDIR_BIT_RIGHT_N | TRACKDIR_BIT_LOWER_W | TRACKDIR_BIT_Y_NW // Enter from north west -}; - static const Trackdir _road_reverse_table[DIAGDIR_END] = { TRACKDIR_RVREV_NE, TRACKDIR_RVREV_SE, TRACKDIR_RVREV_SW, TRACKDIR_RVREV_NW }; -/** Converts the exit direction of a depot to trackdir the vehicle is going to drive to */ -static const Trackdir _roadveh_depot_exit_trackdir[DIAGDIR_END] = { - TRACKDIR_X_NE, TRACKDIR_Y_SE, TRACKDIR_X_SW, TRACKDIR_Y_NW -}; - - /** * Check whether a roadvehicle is a bus * @return true if bus @@ -935,7 +921,7 @@ static Trackdir RoadFindPathToDest(RoadVehicle *v, TileIndex tile, DiagDirection */ /* Remove tracks unreachable from the enter dir */ - trackdirs &= _road_enter_dir_to_reachable_trackdirs[enterdir]; + trackdirs &= DiagdirReachesTrackdirs(enterdir); if (trackdirs == TRACKDIR_BIT_NONE) { /* No reachable tracks, so we'll reverse */ return_track(_road_reverse_table[enterdir]); @@ -1001,7 +987,7 @@ static bool RoadVehLeaveDepot(RoadVehicle *v, bool first) DiagDirection dir = GetRoadDepotDirection(v->tile); v->direction = DiagDirToDir(dir); - Trackdir tdir = _roadveh_depot_exit_trackdir[dir]; + Trackdir tdir = DiagDirToDiagTrackdir(dir); const RoadDriveEntry *rdp = _road_drive_data[v->roadtype][(_settings_game.vehicle.road_side << RVS_DRIVE_SIDE) + tdir]; int x = TileX(v->tile) * TILE_SIZE + (rdp[RVC_DEPOT_START_FRAME].x & 0xF); diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index b28c44d7dd..dec18c878b 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -1,4 +1,4 @@ -/* $Id: afterload.cpp 27760 2017-02-26 20:31:02Z frosch $ */ +/* $Id: afterload.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -154,7 +154,7 @@ static void ConvertTownOwner() if (GB(_m[tile].m5, 4, 2) == ROAD_TILE_CROSSING && HasBit(_m[tile].m3, 7)) { _m[tile].m3 = OWNER_TOWN; } - /* FALL THROUGH */ + FALLTHROUGH; case MP_TUNNELBRIDGE: if (_m[tile].m1 & 0x80) SetTileOwner(tile, OWNER_TOWN); diff --git a/src/saveload/company_sl.cpp b/src/saveload/company_sl.cpp index fe21860e61..2c9a9888f3 100644 --- a/src/saveload/company_sl.cpp +++ b/src/saveload/company_sl.cpp @@ -1,4 +1,4 @@ -/* $Id: company_sl.cpp 27757 2017-02-26 19:41:14Z frosch $ */ +/* $Id: company_sl.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -185,7 +185,7 @@ void AfterLoadCompanyStats() } } } - /* FALL THROUGH */ + FALLTHROUGH; case MP_OBJECT: if (GetWaterClass(tile) == WATER_CLASS_CANAL) { diff --git a/src/saveload/industry_sl.cpp b/src/saveload/industry_sl.cpp index fd32c5ae76..3474b67055 100644 --- a/src/saveload/industry_sl.cpp +++ b/src/saveload/industry_sl.cpp @@ -1,4 +1,4 @@ -/* $Id: industry_sl.cpp 27291 2015-05-21 18:59:11Z frosch $ */ +/* $Id: industry_sl.cpp 27929 2017-10-25 15:38:19Z frosch $ */ /* * This file is part of OpenTTD. @@ -57,7 +57,7 @@ static const SaveLoad _industry_desc[] = { SLEG_CONDARR(_old_ind_persistent_storage.storage, SLE_UINT32, 16, 76, 160), SLE_CONDREF(Industry, psa, REF_STORAGE, 161, SL_MAX_VERSION), - SLE_CONDVAR(Industry, random_triggers, SLE_UINT8, 82, SL_MAX_VERSION), + SLE_CONDNULL(1, 82, 196), // random_triggers SLE_CONDVAR(Industry, random, SLE_UINT16, 82, SL_MAX_VERSION), SLE_CONDNULL(32, 2, 143), // old reserved space diff --git a/src/saveload/saveload.cpp b/src/saveload/saveload.cpp index 3179300902..0df7108404 100644 --- a/src/saveload/saveload.cpp +++ b/src/saveload/saveload.cpp @@ -1,4 +1,4 @@ -/* $Id: saveload.cpp 27862 2017-05-03 20:05:52Z frosch $ */ +/* $Id: saveload.cpp 27990 2018-03-14 18:05:06Z frosch $ */ /* * This file is part of OpenTTD. @@ -264,8 +264,9 @@ * 194 26881 1.5.x, 1.6.0 * 195 27572 1.6.x * 196 27778 1.7.x + * 197 27978 1.8.x */ -extern const uint16 SAVEGAME_VERSION = 196; ///< Current savegame version of OpenTTD. +extern const uint16 SAVEGAME_VERSION = 197; ///< Current savegame version of OpenTTD. SavegameType _savegame_type; ///< type of savegame we are loading FileToSaveLoad _file_to_saveload; ///< File to save or load in the openttd loop. diff --git a/src/saveload/vehicle_sl.cpp b/src/saveload/vehicle_sl.cpp index 9b7a60c594..52c7f33d2b 100644 --- a/src/saveload/vehicle_sl.cpp +++ b/src/saveload/vehicle_sl.cpp @@ -1,4 +1,4 @@ -/* $Id: vehicle_sl.cpp 27668 2016-10-16 14:59:44Z frosch $ */ +/* $Id: vehicle_sl.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -375,6 +375,8 @@ void AfterLoadVehicles(bool part_of_load) FOR_ALL_VEHICLES(v) { assert(v->first != NULL); + v->trip_occupancy = CalcPercentVehicleFilled(v, NULL); + switch (v->type) { case VEH_TRAIN: { Train *t = Train::From(v); @@ -431,8 +433,8 @@ void AfterLoadVehicles(bool part_of_load) RoadVehicle *rv = RoadVehicle::From(v); rv->roadtype = HasBit(EngInfo(v->First()->engine_type)->misc_flags, EF_ROAD_TRAM) ? ROADTYPE_TRAM : ROADTYPE_ROAD; rv->compatible_roadtypes = RoadTypeToRoadTypes(rv->roadtype); - /* FALL THROUGH */ } + FALLTHROUGH; case VEH_TRAIN: case VEH_SHIP: diff --git a/src/script/api/ai_changelog.hpp b/src/script/api/ai_changelog.hpp index 7fbf77f54e..28e2971be6 100644 --- a/src/script/api/ai_changelog.hpp +++ b/src/script/api/ai_changelog.hpp @@ -1,4 +1,4 @@ -/* $Id: ai_changelog.hpp 27942 2017-12-11 20:14:55Z frosch $ */ +/* $Id: ai_changelog.hpp 27996 2018-03-21 19:39:49Z frosch $ */ /* * This file is part of OpenTTD. @@ -15,6 +15,10 @@ * functions may still be available if you return an older API version * in GetAPIVersion() in info.nut. * + * \b 1.8.0 + * + * No changes + * * \b 1.7.0 - 1.7.2 * * No changes diff --git a/src/script/api/game_changelog.hpp b/src/script/api/game_changelog.hpp index 9f8ddf4565..a769f661d1 100644 --- a/src/script/api/game_changelog.hpp +++ b/src/script/api/game_changelog.hpp @@ -1,4 +1,4 @@ -/* $Id: game_changelog.hpp 27942 2017-12-11 20:14:55Z frosch $ */ +/* $Id: game_changelog.hpp 27996 2018-03-21 19:39:49Z frosch $ */ /* * This file is part of OpenTTD. @@ -15,6 +15,10 @@ * functions may still be available if you return an older API version * in GetAPIVersion() in info.nut. * + * \b 1.8.0 + * + * No changes + * * \b 1.7.0 - 1.7.2 * * No changes diff --git a/src/script/api/script_error.cpp b/src/script/api/script_error.cpp index 5ce1e768bf..3d88c0971e 100644 --- a/src/script/api/script_error.cpp +++ b/src/script/api/script_error.cpp @@ -1,4 +1,4 @@ -/* $Id: script_error.cpp 27758 2017-02-26 19:41:30Z frosch $ */ +/* $Id: script_error.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -40,7 +40,8 @@ ScriptError::ScriptErrorMapString ScriptError::error_map_string = ScriptError::S case TEXT_TAB_SPECIAL: if (index < 0xE4) break; // Player name - /* FALL THROUGH */ + FALLTHROUGH; + case TEXT_TAB_TOWN: if (index < 0xC0) break; // Town name /* These strings are 'random' and have no meaning. diff --git a/src/settings.cpp b/src/settings.cpp index 9e421f2d47..ac8f5930cb 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -1,4 +1,4 @@ -/* $Id: settings.cpp 27285 2015-05-16 12:01:19Z alberth $ */ +/* $Id: settings.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -178,7 +178,8 @@ static int ParseIntList(const char *p, int *items, int maxitems) /* Do not accept multiple commas between numbers */ if (!comma) return -1; comma = false; - /* FALL THROUGH */ + FALLTHROUGH; + case ' ': p++; break; @@ -1688,7 +1689,7 @@ static void HandleSettingDescs(IniFile *ini, SettingDescProc *proc, SettingDescP static IniFile *IniLoadConfig() { IniFile *ini = new IniFile(_list_group_names); - ini->LoadFromDisk(_config_file, BASE_DIR); + ini->LoadFromDisk(_config_file, NO_DIRECTORY); return ini; } diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp index 2f04ac2aee..bb4b6fd6d9 100644 --- a/src/settings_gui.cpp +++ b/src/settings_gui.cpp @@ -1,4 +1,4 @@ -/* $Id: settings_gui.cpp 27863 2017-05-03 20:09:51Z frosch $ */ +/* $Id: settings_gui.cpp 27827 2017-03-25 12:21:17Z frosch $ */ /* * This file is part of OpenTTD. @@ -1502,6 +1502,7 @@ static SettingsContainer &GetSettingsTree() general->Add(new SettingEntry("gui.errmsg_duration")); general->Add(new SettingEntry("gui.window_snap_radius")); general->Add(new SettingEntry("gui.window_soft_limit")); + general->Add(new SettingEntry("gui.right_mouse_wnd_close")); } SettingsPage *viewports = interface->Add(new SettingsPage(STR_CONFIG_SETTING_INTERFACE_VIEWPORTS)); diff --git a/src/settings_type.h b/src/settings_type.h index 41b26b5468..216f3b63af 100644 --- a/src/settings_type.h +++ b/src/settings_type.h @@ -1,4 +1,4 @@ -/* $Id: settings_type.h 27144 2015-02-12 20:00:23Z frosch $ */ +/* $Id: settings_type.h 27825 2017-03-24 18:55:16Z peter1138 $ */ /* * This file is part of OpenTTD. @@ -113,6 +113,7 @@ struct GUISettings { uint8 scrollwheel_multiplier; ///< how much 'wheel' per incoming event from the OS? bool timetable_arrival_departure; ///< show arrivals and departures in vehicle timetables bool left_mouse_btn_scrolling; ///< left mouse button scroll + bool right_mouse_wnd_close; ///< close window with right click bool pause_on_newgame; ///< whether to start new games paused or not bool enable_signal_gui; ///< show the signal GUI when the signal button is pressed Year coloured_news_year; ///< when does newspaper become coloured? diff --git a/src/ship_cmd.cpp b/src/ship_cmd.cpp index a1817f090d..78227561a2 100644 --- a/src/ship_cmd.cpp +++ b/src/ship_cmd.cpp @@ -1,4 +1,4 @@ -/* $Id: ship_cmd.cpp 27864 2017-05-03 20:13:05Z frosch $ */ +/* $Id: ship_cmd.cpp 27858 2017-04-23 09:19:32Z peter1138 $ */ /* * This file is part of OpenTTD. @@ -318,11 +318,6 @@ void Ship::UpdateDeltaXY(Direction direction) this->z_extent = 6; } -static const TileIndexDiffC _ship_leave_depot_offs[] = { - {-1, 0}, - { 0, -1} -}; - static bool CheckShipLeaveDepot(Ship *v) { if (!v->IsChainInDepot()) return false; @@ -338,9 +333,9 @@ static bool CheckShipLeaveDepot(Ship *v) Axis axis = GetShipDepotAxis(tile); DiagDirection north_dir = ReverseDiagDir(AxisToDiagDir(axis)); - TileIndex north_neighbour = TILE_ADD(tile, ToTileIndexDiff(_ship_leave_depot_offs[axis])); + TileIndex north_neighbour = TILE_ADD(tile, TileOffsByDiagDir(north_dir)); DiagDirection south_dir = AxisToDiagDir(axis); - TileIndex south_neighbour = TILE_ADD(tile, -2 * ToTileIndexDiff(_ship_leave_depot_offs[axis])); + TileIndex south_neighbour = TILE_ADD(tile, 2 * TileOffsByDiagDir(south_dir)); TrackBits north_tracks = DiagdirReachesTracks(north_dir) & GetTileShipTrackStatus(north_neighbour); TrackBits south_tracks = DiagdirReachesTracks(south_dir) & GetTileShipTrackStatus(south_neighbour); @@ -458,27 +453,6 @@ static Track ChooseShipTrack(Ship *v, TileIndex tile, DiagDirection enterdir, Tr return track; } -static const Direction _new_vehicle_direction_table[] = { - DIR_N , DIR_NW, DIR_W , INVALID_DIR, - DIR_NE, DIR_N , DIR_SW, INVALID_DIR, - DIR_E , DIR_SE, DIR_S -}; - -static Direction ShipGetNewDirectionFromTiles(TileIndex new_tile, TileIndex old_tile) -{ - uint offs = (TileY(new_tile) - TileY(old_tile) + 1) * 4 + - TileX(new_tile) - TileX(old_tile) + 1; - assert(offs < 11 && offs != 3 && offs != 7); - return _new_vehicle_direction_table[offs]; -} - -static Direction ShipGetNewDirection(Vehicle *v, int x, int y) -{ - uint offs = (y - v->y_pos + 1) * 4 + (x - v->x_pos + 1); - assert(offs < 11 && offs != 3 && offs != 7); - return _new_vehicle_direction_table[offs]; -} - static inline TrackBits GetAvailShipTracks(TileIndex tile, DiagDirection dir) { return GetTileShipTrackStatus(tile) & DiagdirReachesTracks(dir); @@ -601,9 +575,8 @@ static void ShipController(Ship *v) /* New tile */ if (!IsValidTile(gp.new_tile)) goto reverse_direction; - dir = ShipGetNewDirectionFromTiles(gp.new_tile, gp.old_tile); - assert(dir == DIR_NE || dir == DIR_SE || dir == DIR_SW || dir == DIR_NW); - DiagDirection diagdir = DirToDiagDir(dir); + DiagDirection diagdir = DiagdirBetweenTiles(gp.old_tile, gp.new_tile); + assert(diagdir != INVALID_DIAGDIR); tracks = GetAvailShipTracks(gp.new_tile, diagdir); if (tracks == TRACK_BIT_NONE) goto reverse_direction; @@ -644,7 +617,6 @@ static void ShipController(Ship *v) } /* update image of ship, as well as delta XY */ - dir = ShipGetNewDirection(v, gp.x, gp.y); v->x_pos = gp.x; v->y_pos = gp.y; v->z_pos = GetSlopePixelZ(gp.x, gp.y); diff --git a/src/signal.cpp b/src/signal.cpp index ddae34f342..fd8b496233 100644 --- a/src/signal.cpp +++ b/src/signal.cpp @@ -1,4 +1,4 @@ -/* $Id: signal.cpp 26482 2014-04-23 20:13:33Z rubidium $ */ +/* $Id: signal.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -504,7 +504,8 @@ static SigSegState UpdateSignalsInBuffer(Owner owner) _tbdset.Add(tile, INVALID_DIAGDIR); // start from depot inside break; } - /* FALL THROUGH */ + FALLTHROUGH; + case MP_STATION: case MP_ROAD: if ((TrackStatusToTrackBits(GetTileTrackStatus(tile, TRANSPORT_RAIL, 0)) & _enterdir_to_trackbits[dir]) != TRACK_BIT_NONE) { @@ -513,7 +514,8 @@ static SigSegState UpdateSignalsInBuffer(Owner owner) _tbdset.Add(tile + TileOffsByDiagDir(dir), ReverseDiagDir(dir)); break; } - /* FALL THROUGH */ + FALLTHROUGH; + default: /* jump to next tile */ tile = tile + TileOffsByDiagDir(dir); diff --git a/src/signs_gui.cpp b/src/signs_gui.cpp index a33a0395a6..cc3f873bb9 100644 --- a/src/signs_gui.cpp +++ b/src/signs_gui.cpp @@ -1,4 +1,4 @@ -/* $Id: signs_gui.cpp 27381 2015-08-10 20:24:13Z michi_cc $ */ +/* $Id: signs_gui.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -514,7 +514,7 @@ struct SignWindow : Window, SignList { case WID_QES_OK: if (RenameSign(this->cur_sign, this->name_editbox.text.buf)) break; - /* FALL THROUGH */ + FALLTHROUGH; case WID_QES_CANCEL: delete this; diff --git a/src/smallmap_gui.cpp b/src/smallmap_gui.cpp index e6e77d9822..60c1e719bd 100644 --- a/src/smallmap_gui.cpp +++ b/src/smallmap_gui.cpp @@ -1,4 +1,4 @@ -/* $Id: smallmap_gui.cpp 27939 2017-12-11 19:20:44Z frosch $ */ +/* $Id: smallmap_gui.cpp 27905 2017-08-31 06:48:55Z adf88 $ */ /* * This file is part of OpenTTD. @@ -1241,10 +1241,12 @@ void SmallMapWindow::RebuildColourIndexIfNecessary() if (tbl->show_on_map && tbl->type == _smallmap_industry_highlight) { legend_colour = _smallmap_industry_highlight_state ? PC_WHITE : PC_BLACK; } - /* FALL THROUGH */ + FALLTHROUGH; + case SMT_LINKSTATS: SetDParam(0, tbl->legend); - /* FALL_THROUGH */ + FALLTHROUGH; + case SMT_OWNER: if (this->map_type != SMT_OWNER || tbl->company != INVALID_COMPANY) { if (this->map_type == SMT_OWNER) SetDParam(0, tbl->company); @@ -1258,7 +1260,8 @@ void SmallMapWindow::RebuildColourIndexIfNecessary() } break; } - /* FALL_THROUGH */ + FALLTHROUGH; + default: if (this->map_type == SMT_CONTOUR) SetDParam(0, tbl->height * TILE_HEIGHT_STEP); /* Anything that is not an industry or a company is using normal process */ @@ -1477,7 +1480,6 @@ int SmallMapWindow::GetPositionOnLegend(Point pt) break; case WID_SM_ENABLE_ALL: - /* FALL THROUGH */ case WID_SM_DISABLE_ALL: { LegendAndColour *tbl = NULL; switch (this->map_type) { diff --git a/src/smallmap_gui.h b/src/smallmap_gui.h index 877c4aa6da..6b3421f4b2 100644 --- a/src/smallmap_gui.h +++ b/src/smallmap_gui.h @@ -1,4 +1,4 @@ -/* $Id: smallmap_gui.h 27939 2017-12-11 19:20:44Z frosch $ */ +/* $Id: smallmap_gui.h 27905 2017-08-31 06:48:55Z adf88 $ */ /* * This file is part of OpenTTD. diff --git a/src/spritecache.cpp b/src/spritecache.cpp index 2c139674c9..381c3d337e 100644 --- a/src/spritecache.cpp +++ b/src/spritecache.cpp @@ -1,4 +1,4 @@ -/* $Id: spritecache.cpp 27732 2017-01-14 18:30:26Z frosch $ */ +/* $Id: spritecache.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -818,7 +818,7 @@ static void *HandleInvalidSpriteRequest(SpriteID sprite, SpriteType requested, S switch (requested) { case ST_NORMAL: if (sprite == SPR_IMG_QUERY) usererror("Uhm, would you be so kind not to load a NewGRF that makes the 'query' sprite a non-normal sprite?"); - /* FALL THROUGH */ + FALLTHROUGH; case ST_FONT: return GetRawSprite(SPR_IMG_QUERY, ST_NORMAL, allocator); case ST_RECOLOUR: diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index eee411bf0b..0ca20cc5f4 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -1,4 +1,4 @@ -/* $Id: station_cmd.cpp 27686 2016-12-09 21:27:22Z frosch $ */ +/* $Id: station_cmd.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -1142,6 +1142,30 @@ CommandCost FindJoiningWaypoint(StationID existing_waypoint, StationID waypoint_ return FindJoiningBaseStation(existing_waypoint, waypoint_to_join, adjacent, ta, wp); } +/** + * Clear platform reservation during station building/removing. + * @param v vehicle which holds reservation + */ +static void FreeTrainReservation(Train *v) +{ + FreeTrainTrackReservation(v); + if (IsRailStationTile(v->tile)) SetRailStationPlatformReservation(v->tile, TrackdirToExitdir(v->GetVehicleTrackdir()), false); + v = v->Last(); + if (IsRailStationTile(v->tile)) SetRailStationPlatformReservation(v->tile, TrackdirToExitdir(ReverseTrackdir(v->GetVehicleTrackdir())), false); +} + +/** + * Restore platform reservation during station building/removing. + * @param v vehicle which held reservation + */ +static void RestoreTrainReservation(Train *v) +{ + if (IsRailStationTile(v->tile)) SetRailStationPlatformReservation(v->tile, TrackdirToExitdir(v->GetVehicleTrackdir()), true); + TryPathReserve(v, true, true); + v = v->Last(); + if (IsRailStationTile(v->tile)) SetRailStationPlatformReservation(v->tile, TrackdirToExitdir(ReverseTrackdir(v->GetVehicleTrackdir())), true); +} + /** * Build rail station * @param tile_org northern most position of station dragging/placement @@ -1281,11 +1305,8 @@ CommandCost CmdBuildRailStation(TileIndex tile_org, DoCommandFlag flags, uint32 /* Check for trains having a reservation for this tile. */ Train *v = GetTrainForReservation(tile, AxisToTrack(GetRailStationAxis(tile))); if (v != NULL) { - FreeTrainTrackReservation(v); *affected_vehicles.Append() = v; - if (IsRailStationTile(v->tile)) SetRailStationPlatformReservation(v->tile, TrackdirToExitdir(v->GetVehicleTrackdir()), false); - for (; v->Next() != NULL; v = v->Next()) { } - if (IsRailStationTile(v->tile)) SetRailStationPlatformReservation(v->tile, TrackdirToExitdir(ReverseTrackdir(v->GetVehicleTrackdir())), false); + FreeTrainReservation(v); } } @@ -1336,11 +1357,7 @@ CommandCost CmdBuildRailStation(TileIndex tile_org, DoCommandFlag flags, uint32 for (uint i = 0; i < affected_vehicles.Length(); ++i) { /* Restore reservations of trains. */ - Train *v = affected_vehicles[i]; - if (IsRailStationTile(v->tile)) SetRailStationPlatformReservation(v->tile, TrackdirToExitdir(v->GetVehicleTrackdir()), true); - TryPathReserve(v, true, true); - for (; v->Next() != NULL; v = v->Next()) { } - if (IsRailStationTile(v->tile)) SetRailStationPlatformReservation(v->tile, TrackdirToExitdir(ReverseTrackdir(v->GetVehicleTrackdir())), true); + RestoreTrainReservation(affected_vehicles[i]); } /* Check whether we need to expand the reservation of trains already on the station. */ @@ -1504,14 +1521,7 @@ CommandCost RemoveFromRailBaseStation(TileArea ta, SmallVector &affected if (HasStationReservation(tile)) { v = GetTrainForReservation(tile, track); - if (v != NULL) { - /* Free train reservation. */ - FreeTrainTrackReservation(v); - if (IsRailStationTile(v->tile)) SetRailStationPlatformReservation(v->tile, TrackdirToExitdir(v->GetVehicleTrackdir()), false); - Vehicle *temp = v; - for (; temp->Next() != NULL; temp = temp->Next()) { } - if (IsRailStationTile(temp->tile)) SetRailStationPlatformReservation(temp->tile, TrackdirToExitdir(ReverseTrackdir(temp->GetVehicleTrackdir())), false); - } + if (v != NULL) FreeTrainReservation(v); } bool build_rail = keep_rail && !IsStationTileBlocked(tile); @@ -1531,13 +1541,7 @@ CommandCost RemoveFromRailBaseStation(TileArea ta, SmallVector &affected affected_stations.Include(st); - if (v != NULL) { - /* Restore station reservation. */ - if (IsRailStationTile(v->tile)) SetRailStationPlatformReservation(v->tile, TrackdirToExitdir(v->GetVehicleTrackdir()), true); - TryPathReserve(v, true, true); - for (; v->Next() != NULL; v = v->Next()) { } - if (IsRailStationTile(v->tile)) SetRailStationPlatformReservation(v->tile, TrackdirToExitdir(ReverseTrackdir(v->GetVehicleTrackdir())), true); - } + if (v != NULL) RestoreTrainReservation(v); } } @@ -3087,7 +3091,8 @@ static void TileLoop_Station(TileIndex tile) case STATION_DOCK: if (!IsTileFlat(tile)) break; // only handle water part - /* FALL THROUGH */ + FALLTHROUGH; + case STATION_OILRIG: //(station part) case STATION_BUOY: TileLoop_Water(tile); diff --git a/src/station_gui.cpp b/src/station_gui.cpp index faa80aea60..cbe3c41d15 100644 --- a/src/station_gui.cpp +++ b/src/station_gui.cpp @@ -1,4 +1,4 @@ -/* $Id: station_gui.cpp 27381 2015-08-10 20:24:13Z michi_cc $ */ +/* $Id: station_gui.cpp 27894 2017-08-20 07:11:08Z alberth $ */ /* * This file is part of OpenTTD. @@ -1820,7 +1820,7 @@ struct StationViewWindow : public Window { if (st->town->exclusive_counter > 0) { SetDParam(0, st->town->exclusivity); - y = DrawStringMultiLine(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, r.bottom, st->town->exclusivity == st->owner ? STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_SELF : STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY); + y = DrawStringMultiLine(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, r.bottom, st->town->exclusivity == st->owner ? STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF : STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY); y += WD_PAR_VSEP_WIDE; } diff --git a/src/stdafx.h b/src/stdafx.h index dfe7561c70..0a0f41cd27 100644 --- a/src/stdafx.h +++ b/src/stdafx.h @@ -1,4 +1,4 @@ -/* $Id: stdafx.h 27380 2015-08-10 20:21:29Z michi_cc $ */ +/* $Id: stdafx.h 27916 2017-09-24 13:35:27Z frosch $ */ /* * This file is part of OpenTTD. @@ -156,6 +156,17 @@ #else #define FINAL #endif + + /* Use fallthrough attribute where supported */ + #if __GNUC__ >= 7 + #if __cplusplus > 201402L // C++17 + #define FALLTHROUGH [[fallthrough]] + #else + #define FALLTHROUGH __attribute__((fallthrough)) + #endif + #else + #define FALLTHROUGH + #endif #endif /* __GNUC__ */ #if defined(__WATCOMC__) @@ -164,6 +175,7 @@ #define GCC_PACK #define WARN_FORMAT(string, args) #define FINAL + #define FALLTHROUGH #include #endif /* __WATCOMC__ */ @@ -235,6 +247,13 @@ #define WARN_FORMAT(string, args) #define FINAL sealed + /* fallthrough attribute, VS 2017 */ + #if (_MSC_VER >= 1910) + #define FALLTHROUGH [[fallthrough]] + #else + #define FALLTHROUGH + #endif + #if defined(WINCE) int CDECL vsnprintf(char *str, size_t size, const char *format, va_list ap); #endif @@ -364,7 +383,7 @@ typedef unsigned char byte; /* Compile time assertions. Prefer c++0x static_assert(). * Older compilers cannot evaluate some expressions at compile time, * typically when templates are involved, try assert_tcompile() in those cases. */ -#if defined(__STDCXX_VERSION__) || defined(__GXX_EXPERIMENTAL_CXX0X__) || defined(__GXX_EXPERIMENTAL_CPP0X__) || defined(static_assert) +#if defined(__STDCXX_VERSION__) || defined(__GXX_EXPERIMENTAL_CXX0X__) || defined(__GXX_EXPERIMENTAL_CPP0X__) || defined(static_assert) || (defined(_MSC_VER) && _MSC_VER >= 1600) /* __STDCXX_VERSION__ is c++0x feature macro, __GXX_EXPERIMENTAL_CXX0X__ is used by gcc, __GXX_EXPERIMENTAL_CPP0X__ by icc */ #define assert_compile(expr) static_assert(expr, #expr ) #define assert_tcompile(expr) assert_compile(expr) diff --git a/src/table/airport_defaults.h b/src/table/airport_defaults.h index 1df5dbd3f4..13437d22af 100644 --- a/src/table/airport_defaults.h +++ b/src/table/airport_defaults.h @@ -1,4 +1,4 @@ -/* $Id: airport_defaults.h 23415 2011-12-03 23:40:46Z michi_cc $ */ +/* $Id: airport_defaults.h 27908 2017-08-31 06:55:38Z adf88 $ */ /* * This file is part of OpenTTD. @@ -28,7 +28,7 @@ #define MKEND {{-0x80, 0}, 0} /** Tiles for Country Airfield (small) */ -static AirportTileTable _tile_table_country_0[] = { +static const AirportTileTable _tile_table_country_0[] = { MK(0, 0, APT_SMALL_BUILDING_1), MK(1, 0, APT_SMALL_BUILDING_2), MK(2, 0, APT_SMALL_BUILDING_3), @@ -44,12 +44,12 @@ static AirportTileTable _tile_table_country_0[] = { MKEND }; -static AirportTileTable *_tile_table_country[] = { +static const AirportTileTable * const _tile_table_country[] = { _tile_table_country_0, }; /** Tiles for Commuter Airfield (small) */ -static AirportTileTable _tile_table_commuter_0[] = { +static const AirportTileTable _tile_table_commuter_0[] = { MK(0, 0, APT_TOWER), MK(1, 0, APT_BUILDING_3), MK(2, 0, APT_HELIPAD_2_FENCE_NW), @@ -73,12 +73,12 @@ static AirportTileTable _tile_table_commuter_0[] = { MKEND }; -static AirportTileTable *_tile_table_commuter[] = { +static const AirportTileTable * const _tile_table_commuter[] = { _tile_table_commuter_0, }; /** Tiles for City Airport (large) */ -static AirportTileTable _tile_table_city_0[] = { +static const AirportTileTable _tile_table_city_0[] = { MK(0, 0, APT_BUILDING_1), MK(1, 0, APT_APRON_FENCE_NW), MK(2, 0, APT_STAND_1), @@ -118,12 +118,12 @@ static AirportTileTable _tile_table_city_0[] = { MKEND }; -static AirportTileTable *_tile_table_city[] = { +static const AirportTileTable * const _tile_table_city[] = { _tile_table_city_0, }; /** Tiles for Metropolitain Airport (large) - 2 runways */ -static AirportTileTable _tile_table_metropolitan_0[] = { +static const AirportTileTable _tile_table_metropolitan_0[] = { MK(0, 0, APT_BUILDING_1), MK(1, 0, APT_APRON_FENCE_NW), MK(2, 0, APT_STAND_1), @@ -163,12 +163,12 @@ static AirportTileTable _tile_table_metropolitan_0[] = { MKEND }; -static AirportTileTable *_tile_table_metropolitan[] = { +static const AirportTileTable * const _tile_table_metropolitan[] = { _tile_table_metropolitan_0, }; /** Tiles for International Airport (large) - 2 runways */ -static AirportTileTable _tile_table_international_0[] = { +static const AirportTileTable _tile_table_international_0[] = { MK(0, 0, APT_RUNWAY_END_FENCE_NW), MK(1, 0, APT_RUNWAY_FENCE_NW), MK(2, 0, APT_RUNWAY_FENCE_NW), @@ -221,12 +221,12 @@ static AirportTileTable _tile_table_international_0[] = { MKEND }; -static AirportTileTable *_tile_table_international[] = { +static const AirportTileTable * const _tile_table_international[] = { _tile_table_international_0, }; /** Tiles for International Airport (large) - 2 runways */ -static AirportTileTable _tile_table_intercontinental_0[] = { +static const AirportTileTable _tile_table_intercontinental_0[] = { MK(0, 0, APT_RADAR_FENCE_NE), MK(1, 0, APT_RUNWAY_END_FENCE_NE_NW), MK(2, 0, APT_RUNWAY_FENCE_NW), @@ -329,22 +329,22 @@ static AirportTileTable _tile_table_intercontinental_0[] = { MKEND }; -static AirportTileTable *_tile_table_intercontinental[] = { +static const AirportTileTable * const _tile_table_intercontinental[] = { _tile_table_intercontinental_0, }; /** Tiles for Heliport */ -static AirportTileTable _tile_table_heliport_0[] = { +static const AirportTileTable _tile_table_heliport_0[] = { MK(0, 0, APT_HELIPORT), MKEND }; -static AirportTileTable *_tile_table_heliport[] = { +static const AirportTileTable * const _tile_table_heliport[] = { _tile_table_heliport_0, }; /** Tiles for Helidepot */ -static AirportTileTable _tile_table_helidepot_0[] = { +static const AirportTileTable _tile_table_helidepot_0[] = { MK(0, 0, APT_LOW_BUILDING_FENCE_N), MK(1, 0, APT_DEPOT_SE), MK(0, 1, APT_HELIPAD_2_FENCE_NE_SE), @@ -352,12 +352,12 @@ static AirportTileTable _tile_table_helidepot_0[] = { MKEND }; -static AirportTileTable *_tile_table_helidepot[] = { +static const AirportTileTable * const _tile_table_helidepot[] = { _tile_table_helidepot_0, }; /** Tiles for Helistation */ -static AirportTileTable _tile_table_helistation_0[] = { +static const AirportTileTable _tile_table_helistation_0[] = { MK(0, 0, APT_DEPOT_SE), MK(1, 0, APT_LOW_BUILDING_FENCE_NW), MK(2, 0, APT_HELIPAD_3_FENCE_NW), @@ -369,11 +369,11 @@ static AirportTileTable _tile_table_helistation_0[] = { MKEND }; -static AirportTileTable *_tile_table_helistation[] = { +static const AirportTileTable * const _tile_table_helistation[] = { _tile_table_helistation_0, }; -static Direction _default_airports_rotation[] = { +static const Direction _default_airports_rotation[] = { DIR_N, }; @@ -410,7 +410,7 @@ extern const AirportSpec _origin_airport_specs[] = { assert_compile(NEW_AIRPORT_OFFSET == lengthof(_origin_airport_specs)); -AirportSpec AirportSpec::dummy = AS_GENERIC(&_airportfta_dummy, NULL, _default_airports_rotation, 0, NULL, 0, 0, 0, 0, 0, MIN_YEAR, MIN_YEAR, 0, ATP_TTDP_LARGE, APC_BEGIN, STR_NULL, 0, false); +const AirportSpec AirportSpec::dummy = AS_GENERIC(&_airportfta_dummy, NULL, _default_airports_rotation, 0, NULL, 0, 0, 0, 0, 0, MIN_YEAR, MIN_YEAR, 0, ATP_TTDP_LARGE, APC_BEGIN, STR_NULL, 0, false); #undef AS #undef AS_ND diff --git a/src/table/elrail_data.h b/src/table/elrail_data.h index 86f5b0ca30..9c71f94c7d 100644 --- a/src/table/elrail_data.h +++ b/src/table/elrail_data.h @@ -1,4 +1,4 @@ -/* $Id: elrail_data.h 27676 2016-11-05 11:53:03Z frosch $ */ +/* $Id: elrail_data.h 27972 2018-03-05 21:24:48Z peter1138 $ */ /* * This file is part of OpenTTD. @@ -310,10 +310,10 @@ enum WireSpriteOffset { WSO_X_NE_UP, WSO_Y_NW_DOWN, - WSO_ENTRANCE_NE, - WSO_ENTRANCE_SE, WSO_ENTRANCE_SW, WSO_ENTRANCE_NW, + WSO_ENTRANCE_NE, + WSO_ENTRANCE_SE, }; struct SortableSpriteStruct { @@ -400,10 +400,10 @@ static const SortableSpriteStruct RailCatenarySpriteData_Depot[] = { }; static const SortableSpriteStruct RailCatenarySpriteData_Tunnel[] = { - { WSO_ENTRANCE_NE, 0, 7, 15, 1, 1, ELRAIL_ELEVATION }, //! Wire for NE tunnel exit - { WSO_ENTRANCE_SE, 7, 0, 1, 15, 1, ELRAIL_ELEVATION }, //! Wire for SE tunnel exit - { WSO_ENTRANCE_SW, 0, 7, 15, 1, 1, ELRAIL_ELEVATION }, //! Wire for SW tunnel exit - { WSO_ENTRANCE_NW, 7, 0, 1, 15, 1, ELRAIL_ELEVATION } //! Wire for NW tunnel exit + { WSO_ENTRANCE_SW, 0, 7, 15, 1, 1, ELRAIL_ELEVATION }, //! Wire for NE tunnel (SW facing exit) + { WSO_ENTRANCE_NW, 7, 0, 1, 15, 1, ELRAIL_ELEVATION }, //! Wire for SE tunnel (NW facing exit) + { WSO_ENTRANCE_NE, 0, 7, 15, 1, 1, ELRAIL_ELEVATION }, //! Wire for SW tunnel (NE facing exit) + { WSO_ENTRANCE_SE, 7, 0, 1, 15, 1, ELRAIL_ELEVATION } //! Wire for NW tunnel (SE facing exit) }; diff --git a/src/table/settings.ini b/src/table/settings.ini index 960e5c0a61..a39a3e4131 100644 --- a/src/table/settings.ini +++ b/src/table/settings.ini @@ -1,4 +1,4 @@ -; $Id: settings.ini 27760 2017-02-26 20:31:02Z frosch $ +; $Id: settings.ini 27978 2018-03-11 12:11:09Z frosch $ ; ; This file is part of OpenTTD. ; OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. @@ -2189,7 +2189,7 @@ cat = SC_BASIC base = GameSettings var = game_creation.variety type = SLE_UINT8 -flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC +from = 197 guiflags = SGF_MULTISTRING | SGF_NEWGAME_ONLY def = 0 min = 0 @@ -2583,6 +2583,14 @@ str = STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING strhelp = STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT cat = SC_BASIC +[SDTC_BOOL] +var = gui.right_mouse_wnd_close +flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC +def = false +str = STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE +strhelp = STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT +cat = SC_BASIC + [SDTC_BOOL] var = gui.measure_tooltip flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC diff --git a/src/terraform_gui.cpp b/src/terraform_gui.cpp index c5bd25b20a..6b011b40b4 100644 --- a/src/terraform_gui.cpp +++ b/src/terraform_gui.cpp @@ -1,4 +1,4 @@ -/* $Id: terraform_gui.cpp 27571 2016-05-22 10:07:48Z frosch $ */ +/* $Id: terraform_gui.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -80,12 +80,14 @@ static void GenerateRockyArea(TileIndex end, TileIndex start) switch (GetTileType(tile)) { case MP_TREES: if (GetTreeGround(tile) == TREE_GROUND_SHORE) continue; - /* FALL THROUGH */ + FALLTHROUGH; + case MP_CLEAR: MakeClear(tile, CLEAR_ROCKS, 3); break; - default: continue; + default: + continue; } MarkTileDirtyByTile(tile); success = true; diff --git a/src/tile_type.h b/src/tile_type.h index 671f89e540..c49496f627 100644 --- a/src/tile_type.h +++ b/src/tile_type.h @@ -1,4 +1,4 @@ -/* $Id: tile_type.h 27148 2015-02-14 12:53:07Z frosch $ */ +/* $Id: tile_type.h 27987 2018-03-11 13:25:26Z frosch $ */ /* * This file is part of OpenTTD. @@ -18,6 +18,8 @@ static const uint TILE_PIXELS = 32; ///< Pixel distan static const uint TILE_HEIGHT = 8; ///< Height of a height level in world coordinate AND in pixels in #ZOOM_LVL_BASE. static const uint MAX_BUILDING_PIXELS = 200; ///< Maximum height of a building in pixels in #ZOOM_LVL_BASE. (Also applies to "bridge buildings" on the bridge floor.) +static const int MAX_VEHICLE_PIXEL_X = 192; ///< Maximum width of a vehicle in pixels in #ZOOM_LVL_BASE. +static const int MAX_VEHICLE_PIXEL_Y = 96; ///< Maximum height of a vehicle in pixels in #ZOOM_LVL_BASE. static const uint MAX_TILE_HEIGHT = 255; ///< Maximum allowed tile height diff --git a/src/timetable_gui.cpp b/src/timetable_gui.cpp index b0097ea1c0..5e45a5f112 100644 --- a/src/timetable_gui.cpp +++ b/src/timetable_gui.cpp @@ -1,4 +1,4 @@ -/* $Id: timetable_gui.cpp 26639 2014-06-10 16:29:03Z frosch $ */ +/* $Id: timetable_gui.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -197,7 +197,8 @@ struct TimetableWindow : Window { this->deparr_time_width = GetStringBoundingBox(STR_JUST_DATE_TINY).width; this->deparr_abbr_width = max(GetStringBoundingBox(STR_TIMETABLE_ARRIVAL_ABBREVIATION).width, GetStringBoundingBox(STR_TIMETABLE_DEPARTURE_ABBREVIATION).width); size->width = WD_FRAMERECT_LEFT + this->deparr_abbr_width + 10 + this->deparr_time_width + WD_FRAMERECT_RIGHT; - /* FALL THROUGH */ + FALLTHROUGH; + case WID_VT_ARRIVAL_DEPARTURE_SELECTION: case WID_VT_TIMETABLE_PANEL: resize->height = FONT_HEIGHT_NORMAL; diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp index e26045ed65..b3d62923e1 100644 --- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -1,4 +1,4 @@ -/* $Id: town_cmd.cpp 27739 2017-01-22 13:13:15Z frosch $ */ +/* $Id: town_cmd.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -1244,7 +1244,7 @@ static void GrowTownInTile(TileIndex *tile_ptr, RoadBits cur_rb, DiagDirection t case TL_3X3_GRID: // Use 2x2 grid afterwards! GrowTownWithExtraHouse(t1, TileAddByDiagDir(house_tile, target_dir)); - /* FALL THROUGH */ + FALLTHROUGH; case TL_2X2_GRID: rcmd = GetTownRoadGridElement(t1, tile, target_dir); @@ -1253,7 +1253,7 @@ static void GrowTownInTile(TileIndex *tile_ptr, RoadBits cur_rb, DiagDirection t case TL_BETTER_ROADS: // Use original afterwards! GrowTownWithExtraHouse(t1, TileAddByDiagDir(house_tile, target_dir)); - /* FALL THROUGH */ + FALLTHROUGH; case TL_ORIGINAL: /* Allow a house at the edge. 60% chance or @@ -3259,7 +3259,7 @@ Town *ClosestTownFromTile(TileIndex tile, uint threshold) return town; } - /* FALL THROUGH */ + FALLTHROUGH; case MP_HOUSE: return Town::GetByTile(tile); diff --git a/src/town_gui.cpp b/src/town_gui.cpp index b97cde092c..2bd8286dd3 100644 --- a/src/town_gui.cpp +++ b/src/town_gui.cpp @@ -1,4 +1,4 @@ -/* $Id: town_gui.cpp 27577 2016-05-22 10:52:02Z frosch $ */ +/* $Id: town_gui.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -267,9 +267,10 @@ public: this->sel_index = y; this->SetDirty(); } - /* FALL THROUGH, when double-clicking. */ + /* When double-clicking, continue */ if (click_count == 1 || y < 0) break; } + FALLTHROUGH; case WID_TA_EXECUTE: DoCommandP(this->town->xy, this->window_number, this->sel_index, CMD_DO_TOWN_ACTION | CMD_MSG(STR_ERROR_CAN_T_DO_THIS)); diff --git a/src/track_func.h b/src/track_func.h index 522fff77d5..43ba93f6bf 100644 --- a/src/track_func.h +++ b/src/track_func.h @@ -1,4 +1,4 @@ -/* $Id: track_func.h 26105 2013-11-25 13:16:06Z rubidium $ */ +/* $Id: track_func.h 27808 2017-03-19 22:30:47Z peter1138 $ */ /* * This file is part of OpenTTD. @@ -594,7 +594,7 @@ static inline TrackdirBits TrackdirReachesTrackdirs(Trackdir trackdir) static inline TrackdirBits TrackdirCrossesTrackdirs(Trackdir trackdir) { assert(IsValidTrackdirForRoadVehicle(trackdir)); - extern const TrackdirBits _track_crosses_trackdirs[TRACKDIR_END]; + extern const TrackdirBits _track_crosses_trackdirs[TRACK_END]; return _track_crosses_trackdirs[TrackdirToTrack(trackdir)]; } diff --git a/src/track_type.h b/src/track_type.h index 99f615395d..0cb5fd1e2b 100644 --- a/src/track_type.h +++ b/src/track_type.h @@ -1,4 +1,4 @@ -/* $Id: track_type.h 23595 2011-12-19 17:48:04Z rubidium $ */ +/* $Id: track_type.h 27833 2017-03-28 21:44:40Z peter1138 $ */ /* * This file is part of OpenTTD. @@ -104,22 +104,22 @@ typedef TinyEnumT TrackdirByte; * direction (corresponding to the Track enum) and 8-13 in the other direction. */ enum TrackdirBits { - TRACKDIR_BIT_NONE = 0x0000, ///< No track build - TRACKDIR_BIT_X_NE = 0x0001, ///< Track x-axis, direction north-east - TRACKDIR_BIT_Y_SE = 0x0002, ///< Track y-axis, direction south-east - TRACKDIR_BIT_UPPER_E = 0x0004, ///< Track upper, direction east - TRACKDIR_BIT_LOWER_E = 0x0008, ///< Track lower, direction east - TRACKDIR_BIT_LEFT_S = 0x0010, ///< Track left, direction south - TRACKDIR_BIT_RIGHT_S = 0x0020, ///< Track right, direction south + TRACKDIR_BIT_NONE = 0U, ///< No track build + TRACKDIR_BIT_X_NE = 1U << TRACKDIR_X_NE, ///< Track x-axis, direction north-east + TRACKDIR_BIT_Y_SE = 1U << TRACKDIR_Y_SE, ///< Track y-axis, direction south-east + TRACKDIR_BIT_UPPER_E = 1U << TRACKDIR_UPPER_E, ///< Track upper, direction east + TRACKDIR_BIT_LOWER_E = 1U << TRACKDIR_LOWER_E, ///< Track lower, direction east + TRACKDIR_BIT_LEFT_S = 1U << TRACKDIR_LEFT_S, ///< Track left, direction south + TRACKDIR_BIT_RIGHT_S = 1U << TRACKDIR_RIGHT_S, ///< Track right, direction south /* Again, note the two missing values here. This enables trackdir -> track conversion by doing (trackdir & 0xFF) */ - TRACKDIR_BIT_X_SW = 0x0100, ///< Track x-axis, direction south-west - TRACKDIR_BIT_Y_NW = 0x0200, ///< Track y-axis, direction north-west - TRACKDIR_BIT_UPPER_W = 0x0400, ///< Track upper, direction west - TRACKDIR_BIT_LOWER_W = 0x0800, ///< Track lower, direction west - TRACKDIR_BIT_LEFT_N = 0x1000, ///< Track left, direction north - TRACKDIR_BIT_RIGHT_N = 0x2000, ///< Track right, direction north - TRACKDIR_BIT_MASK = 0x3F3F, ///< Bitmask for bit-operations - INVALID_TRACKDIR_BIT = 0xFFFF, ///< Flag for an invalid trackdirbit value + TRACKDIR_BIT_X_SW = 1U << TRACKDIR_X_SW, ///< Track x-axis, direction south-west + TRACKDIR_BIT_Y_NW = 1U << TRACKDIR_Y_NW, ///< Track y-axis, direction north-west + TRACKDIR_BIT_UPPER_W = 1U << TRACKDIR_UPPER_W, ///< Track upper, direction west + TRACKDIR_BIT_LOWER_W = 1U << TRACKDIR_LOWER_W, ///< Track lower, direction west + TRACKDIR_BIT_LEFT_N = 1U << TRACKDIR_LEFT_N, ///< Track left, direction north + TRACKDIR_BIT_RIGHT_N = 1U << TRACKDIR_RIGHT_N, ///< Track right, direction north + TRACKDIR_BIT_MASK = 0x3F3F, ///< Bitmask for bit-operations + INVALID_TRACKDIR_BIT = 0xFFFF, ///< Flag for an invalid trackdirbit value }; DECLARE_ENUM_AS_BIT_SET(TrackdirBits) typedef SimpleTinyEnumT TrackdirBitsShort; diff --git a/src/train.h b/src/train.h index 78f76ef227..e2066fbd97 100644 --- a/src/train.h +++ b/src/train.h @@ -1,4 +1,4 @@ -/* $Id: train.h 27666 2016-10-16 14:57:56Z frosch $ */ +/* $Id: train.h 27811 2017-03-20 17:49:44Z peter1138 $ */ /* * This file is part of OpenTTD. @@ -61,7 +61,7 @@ byte FreightWagonMult(CargoID cargo); void CheckTrainsLengths(); -void FreeTrainTrackReservation(const Train *v, TileIndex origin = INVALID_TILE, Trackdir orig_td = INVALID_TRACKDIR); +void FreeTrainTrackReservation(const Train *v); bool TryPathReserve(Train *v, bool mark_as_stuck = false, bool first_tile_okay = false); int GetTrainStopLocation(StationID station_id, TileIndex tile, const Train *v, int *station_ahead, int *station_length); diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp index 34b374446b..a3777eaacd 100644 --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -1,4 +1,4 @@ -/* $Id: train_cmd.cpp 27667 2016-10-16 14:58:38Z frosch $ */ +/* $Id: train_cmd.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -1700,8 +1700,8 @@ void UpdateLevelCrossing(TileIndex tile, bool sound) { assert(IsLevelCrossingTile(tile)); - /* train on crossing || train approaching crossing || reserved */ - bool new_state = HasVehicleOnPos(tile, NULL, &TrainOnTileEnum) || TrainApproachingCrossing(tile) || HasCrossingReservation(tile); + /* reserved || train on crossing || train approaching crossing */ + bool new_state = HasCrossingReservation(tile) || HasVehicleOnPos(tile, NULL, &TrainOnTileEnum) || TrainApproachingCrossing(tile); if (new_state != IsCrossingBarred(tile)) { if (new_state && sound) { @@ -2254,16 +2254,14 @@ static void ClearPathReservation(const Train *v, TileIndex tile, Trackdir track_ /** * Free the reserved path in front of a vehicle. * @param v %Train owning the reserved path. - * @param origin %Tile to start clearing (if #INVALID_TILE, use the current tile of \a v). - * @param orig_td Track direction (if #INVALID_TRACKDIR, use the track direction of \a v). */ -void FreeTrainTrackReservation(const Train *v, TileIndex origin, Trackdir orig_td) +void FreeTrainTrackReservation(const Train *v) { assert(v->IsFrontEngine()); - TileIndex tile = origin != INVALID_TILE ? origin : v->tile; - Trackdir td = orig_td != INVALID_TRACKDIR ? orig_td : v->GetVehicleTrackdir(); - bool free_tile = tile != v->tile || !(IsRailStationTile(v->tile) || IsTileType(v->tile, MP_TUNNELBRIDGE)); + TileIndex tile = v->tile; + Trackdir td = v->GetVehicleTrackdir(); + bool free_tile = !(IsRailStationTile(v->tile) || IsTileType(v->tile, MP_TUNNELBRIDGE)); StationID station_id = IsRailStationTile(v->tile) ? GetStationIndex(v->tile) : INVALID_STATION; /* Can't be holding a reservation if we enter a depot. */ @@ -2504,6 +2502,7 @@ public: case OT_GOTO_DEPOT: /* Skip service in depot orders when the train doesn't need service. */ if ((order->GetDepotOrderType() & ODTFB_SERVICE) && !this->v->NeedsServicing()) break; + FALLTHROUGH; case OT_GOTO_STATION: case OT_GOTO_WAYPOINT: this->v->current_order = *order; @@ -3610,7 +3609,7 @@ static bool TrainApproachingLineEnd(Train *v, bool signal, bool reverse) * for other directions, it will be 1, 3, 5, ..., 15 */ switch (v->direction) { case DIR_N : x = ~x + ~y + 25; break; - case DIR_NW: x = y; // FALL THROUGH + case DIR_NW: x = y; FALLTHROUGH; case DIR_NE: x = ~x + 16; break; case DIR_E : x = ~x + y + 9; break; case DIR_SE: x = y; break; diff --git a/src/train_gui.cpp b/src/train_gui.cpp index 18c5649622..ce88bff086 100644 --- a/src/train_gui.cpp +++ b/src/train_gui.cpp @@ -1,4 +1,4 @@ -/* $Id: train_gui.cpp 27940 2017-12-11 19:24:46Z frosch $ */ +/* $Id: train_gui.cpp 27936 2017-12-10 13:45:53Z frosch $ */ /* * This file is part of OpenTTD. diff --git a/src/tree_cmd.cpp b/src/tree_cmd.cpp index 132fa2aaa6..46e45c5291 100644 --- a/src/tree_cmd.cpp +++ b/src/tree_cmd.cpp @@ -1,4 +1,4 @@ -/* $Id: tree_cmd.cpp 27406 2015-09-30 17:28:58Z frosch $ */ +/* $Id: tree_cmd.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -375,7 +375,8 @@ CommandCost CmdPlantTree(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 msg = STR_ERROR_CAN_T_BUILD_ON_WATER; continue; } - /* FALL THROUGH */ + FALLTHROUGH; + case MP_CLEAR: { if (IsBridgeAbove(tile)) { msg = STR_ERROR_SITE_UNSUITABLE; @@ -680,7 +681,7 @@ static void TileLoop_Trees(TileIndex tile) SetTreeGrowth(tile, 0); break; } - /* FALL THROUGH */ + FALLTHROUGH; case 2: { // add a neighbouring tree /* Don't plant extra trees if that's not allowed. */ diff --git a/src/vehicle.cpp b/src/vehicle.cpp index d3edff9ca9..69684bb90b 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -1,4 +1,4 @@ -/* $Id: vehicle.cpp 27939 2017-12-11 19:20:44Z frosch $ */ +/* $Id: vehicle.cpp 27986 2018-03-11 13:23:26Z frosch $ */ /* * This file is part of OpenTTD. @@ -57,7 +57,30 @@ #include "safeguards.h" -#define GEN_HASH(x, y) ((GB((y), 6 + ZOOM_LVL_SHIFT, 6) << 6) + GB((x), 7 + ZOOM_LVL_SHIFT, 6)) +/* Number of bits in the hash to use from each vehicle coord */ +static const uint GEN_HASHX_BITS = 6; +static const uint GEN_HASHY_BITS = 6; + +/* Size of each hash bucket */ +static const uint GEN_HASHX_BUCKET_BITS = 7; +static const uint GEN_HASHY_BUCKET_BITS = 6; + +/* Compute hash for vehicle coord */ +#define GEN_HASHX(x) GB((x), GEN_HASHX_BUCKET_BITS + ZOOM_LVL_SHIFT, GEN_HASHX_BITS) +#define GEN_HASHY(y) (GB((y), GEN_HASHY_BUCKET_BITS + ZOOM_LVL_SHIFT, GEN_HASHY_BITS) << GEN_HASHX_BITS) +#define GEN_HASH(x, y) (GEN_HASHY(y) + GEN_HASHX(x)) + +/* Maximum size until hash repeats */ +static const int GEN_HASHX_SIZE = 1 << (GEN_HASHX_BUCKET_BITS + GEN_HASHX_BITS + ZOOM_LVL_SHIFT); +static const int GEN_HASHY_SIZE = 1 << (GEN_HASHY_BUCKET_BITS + GEN_HASHY_BITS + ZOOM_LVL_SHIFT); + +/* Increments to reach next bucket in hash table */ +static const int GEN_HASHX_INC = 1; +static const int GEN_HASHY_INC = 1 << GEN_HASHX_BITS; + +/* Mask to wrap-around buckets */ +static const uint GEN_HASHX_MASK = (1 << GEN_HASHX_BITS) - 1; +static const uint GEN_HASHY_MASK = ((1 << GEN_HASHY_BITS) - 1) << GEN_HASHX_BITS; VehicleID _new_vehicle_id; uint16 _returned_refit_capacity; ///< Stores the capacity after a refit operation. @@ -618,7 +641,7 @@ static void UpdateVehicleTileHash(Vehicle *v, bool remove) v->hash_tile_current = new_hash; } -static Vehicle *_vehicle_viewport_hash[0x1000]; +static Vehicle *_vehicle_viewport_hash[1 << (GEN_HASHX_BITS + GEN_HASHY_BITS)]; static void UpdateVehicleViewportHash(Vehicle *v, int x, int y) { @@ -1088,26 +1111,26 @@ void ViewportAddVehicles(DrawPixelInfo *dpi) /* The hash area to scan */ int xl, xu, yl, yu; - if (dpi->width + (70 * ZOOM_LVL_BASE) < (1 << (7 + 6 + ZOOM_LVL_SHIFT))) { - xl = GB(l - (70 * ZOOM_LVL_BASE), 7 + ZOOM_LVL_SHIFT, 6); - xu = GB(r, 7 + ZOOM_LVL_SHIFT, 6); + if (dpi->width + (MAX_VEHICLE_PIXEL_X * ZOOM_LVL_BASE) < GEN_HASHX_SIZE) { + xl = GEN_HASHX(l - MAX_VEHICLE_PIXEL_X * ZOOM_LVL_BASE); + xu = GEN_HASHX(r); } else { /* scan whole hash row */ xl = 0; - xu = 0x3F; + xu = GEN_HASHX_MASK; } - if (dpi->height + (70 * ZOOM_LVL_BASE) < (1 << (6 + 6 + ZOOM_LVL_SHIFT))) { - yl = GB(t - (70 * ZOOM_LVL_BASE), 6 + ZOOM_LVL_SHIFT, 6) << 6; - yu = GB(b, 6 + ZOOM_LVL_SHIFT, 6) << 6; + if (dpi->height + (MAX_VEHICLE_PIXEL_Y * ZOOM_LVL_BASE) < GEN_HASHY_SIZE) { + yl = GEN_HASHY(t - MAX_VEHICLE_PIXEL_Y * ZOOM_LVL_BASE); + yu = GEN_HASHY(b); } else { /* scan whole column */ yl = 0; - yu = 0x3F << 6; + yu = GEN_HASHY_MASK; } - for (int y = yl;; y = (y + (1 << 6)) & (0x3F << 6)) { - for (int x = xl;; x = (x + 1) & 0x3F) { + for (int y = yl;; y = (y + GEN_HASHY_INC) & GEN_HASHY_MASK) { + for (int x = xl;; x = (x + GEN_HASHX_INC) & GEN_HASHX_MASK) { const Vehicle *v = _vehicle_viewport_hash[x + y]; // already masked & 0xFFF while (v != NULL) { @@ -1269,7 +1292,7 @@ bool Vehicle::HandleBreakdown() SetWindowDirty(WC_VEHICLE_VIEW, this->index); SetWindowDirty(WC_VEHICLE_DETAILS, this->index); - /* FALL THROUGH */ + FALLTHROUGH; case 1: /* Aircraft breakdowns end only when arriving at the airport */ if (this->type == VEH_AIRCRAFT) return false; @@ -2160,6 +2183,7 @@ void Vehicle::LeaveStation() st->loading_vehicles.remove(this); HideFillingPercent(&this->fill_percent_te_id); + trip_occupancy = CalcPercentVehicleFilled(this, NULL); if (this->type == VEH_TRAIN && !(this->vehstatus & VS_CRASHED)) { /* Trigger station animation (trains only) */ diff --git a/src/vehicle_base.h b/src/vehicle_base.h index f65f2a4df5..9ed6596442 100644 --- a/src/vehicle_base.h +++ b/src/vehicle_base.h @@ -1,4 +1,4 @@ -/* $Id: vehicle_base.h 27668 2016-10-16 14:59:44Z frosch $ */ +/* $Id: vehicle_base.h 27822 2017-03-24 07:33:31Z peter1138 $ */ /* * This file is part of OpenTTD. @@ -308,6 +308,7 @@ public: uint16 refit_cap; ///< Capacity left over from before last refit. VehicleCargoList cargo; ///< The cargo this vehicle is carrying uint16 cargo_age_counter; ///< Ticks till cargo is aged next. + int8 trip_occupancy; ///< NOSAVE: Occupancy of vehicle of the current trip (updated after leaving a station). byte day_counter; ///< Increased by one for each day byte tick_counter; ///< Increased by one for each tick diff --git a/src/vehicle_gui.cpp b/src/vehicle_gui.cpp index fd1eaadf6b..79edb8161e 100644 --- a/src/vehicle_gui.cpp +++ b/src/vehicle_gui.cpp @@ -1,4 +1,4 @@ -/* $Id: vehicle_gui.cpp 27939 2017-12-11 19:20:44Z frosch $ */ +/* $Id: vehicle_gui.cpp 27895 2017-08-20 08:28:05Z alberth $ */ /* * This file is part of OpenTTD. @@ -817,8 +817,8 @@ struct RefitWindow : public Window { Vehicle *v = Vehicle::Get(this->window_number); this->selected_vehicle = v->index; this->num_vehicles = UINT8_MAX; - /* FALL THROUGH */ } + FALLTHROUGH; case 2: { // The vehicle selection has changed; rebuild the entire list. if (!gui_scope) break; @@ -843,8 +843,8 @@ struct RefitWindow : public Window { this->information_width = max_width; this->ReInit(); } - /* FALL THROUGH */ } + FALLTHROUGH; case 1: // A new cargo has been selected. if (!gui_scope) break; @@ -905,8 +905,8 @@ struct RefitWindow : public Window { if (_ctrl_pressed) this->num_vehicles = UINT8_MAX; break; } - /* FALL THROUGH */ } + FALLTHROUGH; default: /* Clear the selection. */ @@ -940,8 +940,8 @@ struct RefitWindow : public Window { this->InvalidateData(1); if (click_count == 1) break; - /* FALL THROUGH */ } + FALLTHROUGH; case WID_VR_REFIT: // refit button if (this->cargo != NULL) { @@ -2069,9 +2069,14 @@ struct VehicleDetailsWindow : Window { } } else { SetDParam(0, v->GetDisplayMaxSpeed()); - if (v->type == VEH_AIRCRAFT && Aircraft::From(v)->GetRange() > 0) { - SetDParam(1, Aircraft::From(v)->GetRange()); - string = STR_VEHICLE_INFO_MAX_SPEED_RANGE; + if (v->type == VEH_AIRCRAFT) { + SetDParam(1, v->GetEngine()->GetAircraftTypeText()); + if (Aircraft::From(v)->GetRange() > 0) { + SetDParam(2, Aircraft::From(v)->GetRange()); + string = STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE; + } else { + string = STR_VEHICLE_INFO_MAX_SPEED_TYPE; + } } else { string = STR_VEHICLE_INFO_MAX_SPEED; } @@ -2633,8 +2638,7 @@ public: str = STR_VEHICLE_STATUS_LEAVING; break; } - /* FALL THROUGH, if aircraft. Does this even happen? */ - + FALLTHROUGH; default: if (v->GetNumManualOrders() == 0) { str = STR_VEHICLE_STATUS_NO_ORDERS_VEL; diff --git a/src/vehiclelist.cpp b/src/vehiclelist.cpp index 7b4d3d5b56..11af523ba1 100644 --- a/src/vehiclelist.cpp +++ b/src/vehiclelist.cpp @@ -1,4 +1,4 @@ -/* $Id: vehiclelist.cpp 27677 2016-11-05 19:16:59Z frosch $ */ +/* $Id: vehiclelist.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -156,7 +156,7 @@ bool GenerateVehicleSortList(VehicleList *list, const VehicleListIdentifier &vli } break; } - /* FALL THROUGH */ + FALLTHROUGH; case VL_STANDARD: FOR_ALL_VEHICLES(v) { diff --git a/src/video/cocoa/event.mm b/src/video/cocoa/event.mm index e986634ce3..3ff7f856c9 100644 --- a/src/video/cocoa/event.mm +++ b/src/video/cocoa/event.mm @@ -1,4 +1,4 @@ -/* $Id: event.mm 27167 2015-02-22 23:06:45Z frosch $ */ +/* $Id: event.mm 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -610,7 +610,7 @@ static bool QZ_PollEvent() * the mouse position programmatically, which would trigger OS X to show * the default arrow cursor if the events are propagated. */ if (_cursor.fix_at) break; - /* FALL THROUGH */ + FALLTHROUGH; default: [ NSApp sendEvent:event ]; diff --git a/src/video/win32_v.cpp b/src/video/win32_v.cpp index daee92b02d..47d7e012e4 100644 --- a/src/video/win32_v.cpp +++ b/src/video/win32_v.cpp @@ -1,4 +1,4 @@ -/* $Id: win32_v.cpp 27940 2017-12-11 19:24:46Z frosch $ */ +/* $Id: win32_v.cpp 27935 2017-12-09 19:21:45Z michi_cc $ */ /* * This file is part of OpenTTD. @@ -684,7 +684,7 @@ static LRESULT CALLBACK WndProcGdi(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP case WM_PALETTECHANGED: if ((HWND)wParam == hwnd) return 0; - /* FALL THROUGH */ + FALLTHROUGH; case WM_QUERYNEWPALETTE: { HDC hDC = GetWindowDC(hwnd); diff --git a/src/viewport.cpp b/src/viewport.cpp index d7cac4e850..21dd7f19e6 100644 --- a/src/viewport.cpp +++ b/src/viewport.cpp @@ -1,4 +1,4 @@ -/* $Id: viewport.cpp 27344 2015-07-28 08:16:52Z alberth $ */ +/* $Id: viewport.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -2633,8 +2633,8 @@ static int CalcHeightdiff(HighLightStyle style, uint distance, TileIndex start_t byte style_t = (byte)(TileX(end_tile) > TileX(start_tile)); start_tile = TILE_ADD(start_tile, ToTileIndexDiff(heightdiff_area_by_dir[style_t])); end_tile = TILE_ADD(end_tile, ToTileIndexDiff(heightdiff_area_by_dir[2 + style_t])); - /* FALL THROUGH */ } + FALLTHROUGH; case HT_POINT: h0 = TileHeight(start_tile); @@ -2979,7 +2979,7 @@ void VpSelectTilesWithMethod(int x, int y, ViewportPlaceMethod method) case VPM_X_LIMITED: // Drag in X direction (limited size). limit = (_thd.sizelimit - 1) * TILE_SIZE; - /* FALL THROUGH */ + FALLTHROUGH; case VPM_FIX_X: // drag in Y direction x = sx; @@ -2988,7 +2988,7 @@ void VpSelectTilesWithMethod(int x, int y, ViewportPlaceMethod method) case VPM_Y_LIMITED: // Drag in Y direction (limited size). limit = (_thd.sizelimit - 1) * TILE_SIZE; - /* FALL THROUGH */ + FALLTHROUGH; case VPM_FIX_Y: // drag in X direction y = sy; @@ -3026,7 +3026,7 @@ calc_heightdiff_single_direction:; limit = (_thd.sizelimit - 1) * TILE_SIZE; x = sx + Clamp(x - sx, -limit, limit); y = sy + Clamp(y - sy, -limit, limit); - /* FALL THROUGH */ + FALLTHROUGH; case VPM_X_AND_Y: // drag an X by Y area if (_settings_client.gui.measure_tooltip) { diff --git a/src/viewport_sprite_sorter.h b/src/viewport_sprite_sorter.h index a34036efe2..a430f868cf 100644 --- a/src/viewport_sprite_sorter.h +++ b/src/viewport_sprite_sorter.h @@ -1,4 +1,4 @@ -/* $Id: viewport_sprite_sorter.h 26205 2014-01-02 16:48:16Z rubidium $ */ +/* $Id: viewport_sprite_sorter.h 27916 2017-09-24 13:35:27Z frosch $ */ /* * This file is part of OpenTTD. @@ -37,7 +37,7 @@ struct ParentSpriteToDraw { int32 left; ///< minimal screen X coordinate of sprite (= x + sprite->x_offs), reference point for child sprites int32 top; ///< minimal screen Y coordinate of sprite (= y + sprite->y_offs), reference point for child sprites - int first_child; ///< the first child to draw. + int32 first_child; ///< the first child to draw. bool comparison_done; ///< Used during sprite sorting: true if sprite has been compared with all other sprites }; diff --git a/src/water_cmd.cpp b/src/water_cmd.cpp index e0ed78c8a6..3c6a601f28 100644 --- a/src/water_cmd.cpp +++ b/src/water_cmd.cpp @@ -1,4 +1,4 @@ -/* $Id: water_cmd.cpp 27254 2015-04-26 10:50:36Z frosch $ */ +/* $Id: water_cmd.cpp 27973 2018-03-05 22:57:49Z peter1138 $ */ /* * This file is part of OpenTTD. @@ -73,7 +73,7 @@ static const uint8 _flood_from_dirs[] = { */ static inline void MarkTileDirtyIfCanalOrRiver(TileIndex tile) { - if (IsTileType(tile, MP_WATER) && (IsCanal(tile) || IsRiver(tile))) MarkTileDirtyByTile(tile); + if (IsValidTile(tile) && IsTileType(tile, MP_WATER) && (IsCanal(tile) || IsRiver(tile))) MarkTileDirtyByTile(tile); } /** @@ -437,7 +437,7 @@ CommandCost CmdBuildCanal(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 MakeSea(tile); break; } - /* FALL THROUGH */ + FALLTHROUGH; default: MakeCanal(tile, _current_company, Random()); @@ -1015,7 +1015,7 @@ FloodingBehaviour GetFloodingBehaviour(TileIndex tile) Slope tileh = GetTileSlope(tile); return (IsSlopeWithOneCornerRaised(tileh) ? FLOOD_ACTIVE : FLOOD_DRYUP); } - /* FALL THROUGH */ + FALLTHROUGH; case MP_STATION: case MP_INDUSTRY: case MP_OBJECT: @@ -1064,7 +1064,7 @@ void DoFloodTile(TileIndex target) flooded = true; break; } - /* FALL THROUGH */ + FALLTHROUGH; case MP_CLEAR: if (DoCommand(target, 0, 0, DC_EXEC, CMD_LANDSCAPE_CLEAR).Succeeded()) { diff --git a/src/waypoint_cmd.cpp b/src/waypoint_cmd.cpp index 361ebbac17..93ab44ab24 100644 --- a/src/waypoint_cmd.cpp +++ b/src/waypoint_cmd.cpp @@ -1,4 +1,4 @@ -/* $Id: waypoint_cmd.cpp 27862 2017-05-03 20:05:52Z frosch $ */ +/* $Id: waypoint_cmd.cpp 27785 2017-03-12 15:32:40Z peter1138 $ */ /* * This file is part of OpenTTD. diff --git a/src/widget.cpp b/src/widget.cpp index fae5491184..aad94fd335 100644 --- a/src/widget.cpp +++ b/src/widget.cpp @@ -1,4 +1,4 @@ -/* $Id: widget.cpp 27863 2017-05-03 20:09:51Z frosch $ */ +/* $Id: widget.cpp 27893 2017-08-13 18:38:42Z frosch $ */ /* * This file is part of OpenTTD. @@ -221,7 +221,8 @@ static inline void DrawImageButtons(const Rect &r, WidgetType type, Colours colo DrawFrameRect(r.left, r.top, r.right, r.bottom, colour, (clicked) ? FR_LOWERED : FR_NONE); if ((type & WWT_MASK) == WWT_IMGBTN_2 && clicked) img++; // Show different image when clicked for #WWT_IMGBTN_2. - DrawSprite(img, PAL_NONE, r.left + WD_IMGBTN_LEFT + clicked, r.top + WD_IMGBTN_TOP + clicked); + Dimension d = GetSpriteSize(img); + DrawSprite(img, PAL_NONE, CenterBounds(r.left, r.right, d.width) + clicked, CenterBounds(r.top, r.bottom, d.height) + clicked); } /** @@ -459,8 +460,7 @@ static inline void DrawFrame(const Rect &r, Colours colour, StringID str) */ static inline void DrawShadeBox(const Rect &r, Colours colour, bool clicked) { - DrawFrameRect(r.left, r.top, r.right, r.bottom, colour, (clicked) ? FR_LOWERED : FR_NONE); - DrawSprite((clicked) ? SPR_WINDOW_SHADE : SPR_WINDOW_UNSHADE, PAL_NONE, r.left + WD_SHADEBOX_LEFT + clicked, r.top + WD_SHADEBOX_TOP + clicked); + DrawImageButtons(r, WWT_SHADEBOX, colour, clicked, clicked ? SPR_WINDOW_SHADE: SPR_WINDOW_UNSHADE); } /** @@ -471,8 +471,7 @@ static inline void DrawShadeBox(const Rect &r, Colours colour, bool clicked) */ static inline void DrawStickyBox(const Rect &r, Colours colour, bool clicked) { - DrawFrameRect(r.left, r.top, r.right, r.bottom, colour, (clicked) ? FR_LOWERED : FR_NONE); - DrawSprite((clicked) ? SPR_PIN_UP : SPR_PIN_DOWN, PAL_NONE, r.left + WD_STICKYBOX_LEFT + clicked, r.top + WD_STICKYBOX_TOP + clicked); + DrawImageButtons(r, WWT_STICKYBOX, colour, clicked, clicked ? SPR_PIN_UP : SPR_PIN_DOWN); } /** @@ -483,8 +482,7 @@ static inline void DrawStickyBox(const Rect &r, Colours colour, bool clicked) */ static inline void DrawDefSizeBox(const Rect &r, Colours colour, bool clicked) { - DrawFrameRect(r.left, r.top, r.right, r.bottom, colour, (clicked) ? FR_LOWERED : FR_NONE); - DrawSprite(SPR_WINDOW_DEFSIZE, PAL_NONE, r.left + WD_DEFSIZEBOX_LEFT + clicked, r.top + WD_DEFSIZEBOX_TOP + clicked); + DrawImageButtons(r, WWT_DEFSIZEBOX, colour, clicked, SPR_WINDOW_DEFSIZE); } /** @@ -495,8 +493,7 @@ static inline void DrawDefSizeBox(const Rect &r, Colours colour, bool clicked) */ static inline void DrawDebugBox(const Rect &r, Colours colour, bool clicked) { - DrawFrameRect(r.left, r.top, r.right, r.bottom, colour, (clicked) ? FR_LOWERED : FR_NONE); - DrawSprite(SPR_WINDOW_DEBUG, PAL_NONE, r.left + WD_DEBUGBOX_LEFT + clicked, r.top + WD_DEBUGBOX_TOP + clicked); + DrawImageButtons(r, WWT_DEBUGBOX, colour, clicked, SPR_WINDOW_DEBUG); } /** @@ -528,7 +525,9 @@ static inline void DrawResizeBox(const Rect &r, Colours colour, bool at_left, bo static inline void DrawCloseBox(const Rect &r, Colours colour) { if (colour != COLOUR_WHITE) DrawFrameRect(r.left, r.top, r.right, r.bottom, colour, FR_NONE); - DrawSprite(SPR_CLOSEBOX, (colour != COLOUR_WHITE ? TC_BLACK : TC_SILVER) | (1 << PALETTE_TEXT_RECOLOUR), r.left + WD_CLOSEBOX_LEFT, r.top + WD_CLOSEBOX_TOP); + Dimension d = GetSpriteSize(SPR_CLOSEBOX); + int s = UnScaleGUI(1); /* Offset to account for shadow of SPR_CLOSEBOX */ + DrawSprite(SPR_CLOSEBOX, (colour != COLOUR_WHITE ? TC_BLACK : TC_SILVER) | (1 << PALETTE_TEXT_RECOLOUR), CenterBounds(r.left, r.right, d.width - s), CenterBounds(r.top, r.bottom, d.height - s)); } /** @@ -2288,8 +2287,8 @@ void NWidgetLeaf::SetupSmallestSize(Window *w, bool init_array) Dimension sprite_size = GetSpriteSize(_current_text_dir == TD_RTL ? SPR_IMG_DELETE_RIGHT : SPR_IMG_DELETE_LEFT); size.width = max(size.width, 30 + sprite_size.width); size.height = max(sprite_size.height, GetStringBoundingBox("_").height + WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM); - /* FALL THROUGH */ } + FALLTHROUGH; case WWT_PUSHBTN: { static const Dimension extra = {WD_FRAMERECT_LEFT + WD_FRAMERECT_RIGHT, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM}; padding = &extra; diff --git a/src/widget_type.h b/src/widget_type.h index 95af708b3a..b0b3d8c85f 100644 --- a/src/widget_type.h +++ b/src/widget_type.h @@ -1,4 +1,4 @@ -/* $Id: widget_type.h 26971 2014-10-06 19:16:29Z rubidium $ */ +/* $Id: widget_type.h 27900 2017-08-27 11:48:38Z frosch $ */ /* * This file is part of OpenTTD. @@ -779,13 +779,13 @@ public: static void InvalidateDimensionCache(); static Dimension dropdown_dimension; ///< Cached size of a dropdown widget. + static Dimension resizebox_dimension; ///< Cached size of a resizebox widget. + static Dimension closebox_dimension; ///< Cached size of a closebox widget. private: static Dimension shadebox_dimension; ///< Cached size of a shadebox widget. static Dimension debugbox_dimension; ///< Cached size of a debugbox widget. static Dimension defsizebox_dimension; ///< Cached size of a defsizebox widget. static Dimension stickybox_dimension; ///< Cached size of a stickybox widget. - static Dimension resizebox_dimension; ///< Cached size of a resizebox widget. - static Dimension closebox_dimension; ///< Cached size of a closebox widget. }; /** diff --git a/src/widgets/dropdown.cpp b/src/widgets/dropdown.cpp index be9c3d243a..856cdcaa3f 100644 --- a/src/widgets/dropdown.cpp +++ b/src/widgets/dropdown.cpp @@ -1,4 +1,4 @@ -/* $Id: dropdown.cpp 27863 2017-05-03 20:09:51Z frosch $ */ +/* $Id: dropdown.cpp 27820 2017-03-23 20:07:59Z peter1138 $ */ /* * This file is part of OpenTTD. diff --git a/src/widgets/group_widget.h b/src/widgets/group_widget.h index eaa0a6f3a8..272616bb2e 100644 --- a/src/widgets/group_widget.h +++ b/src/widgets/group_widget.h @@ -1,4 +1,4 @@ -/* $Id: group_widget.h 23600 2011-12-19 20:46:17Z truebrain $ */ +/* $Id: group_widget.h 27822 2017-03-24 07:33:31Z peter1138 $ */ /* * This file is part of OpenTTD. @@ -32,6 +32,7 @@ enum GroupListWidgets { WID_GL_DELETE_GROUP, ///< Delete group button. WID_GL_RENAME_GROUP, ///< Rename group button. WID_GL_REPLACE_PROTECTION, ///< Replace protection button. + WID_GL_INFO, ///< Group info. }; #endif /* WIDGETS_GROUP_WIDGET_H */ diff --git a/src/window.cpp b/src/window.cpp index 6086d2aaaa..789f5ab6b9 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -1,4 +1,4 @@ -/* $Id: window.cpp 27712 2016-12-25 17:56:57Z frosch $ */ +/* $Id: window.cpp 27934 2017-12-09 19:21:41Z michi_cc $ */ /* * This file is part of OpenTTD. @@ -139,7 +139,7 @@ int16 WindowDesc::GetDefaultHeight() const void WindowDesc::LoadFromConfig() { IniFile *ini = new IniFile(); - ini->LoadFromDisk(_windows_file, BASE_DIR); + ini->LoadFromDisk(_windows_file, NO_DIRECTORY); for (WindowDesc **it = _window_descs->Begin(); it != _window_descs->End(); ++it) { if ((*it)->ini_key == NULL) continue; IniLoadWindowSettings(ini, (*it)->ini_key, *it); @@ -165,7 +165,7 @@ void WindowDesc::SaveToConfig() QSortT(_window_descs->Begin(), _window_descs->Length(), DescSorter); IniFile *ini = new IniFile(); - ini->LoadFromDisk(_windows_file, BASE_DIR); + ini->LoadFromDisk(_windows_file, NO_DIRECTORY); for (WindowDesc **it = _window_descs->Begin(); it != _window_descs->End(); ++it) { if ((*it)->ini_key == NULL) continue; IniSaveWindowSettings(ini, (*it)->ini_key, *it); @@ -772,7 +772,12 @@ static void DispatchRightClickEvent(Window *w, int x, int y) if (w->OnRightClick(pt, wid->index)) return; } - if (_settings_client.gui.hover_delay_ms == 0 && wid->tool_tip != 0) GuiShowTooltips(w, wid->tool_tip, 0, NULL, TCC_RIGHT_CLICK); + /* Right-click close is enabled and there is a closebox */ + if (_settings_client.gui.right_mouse_wnd_close && w->nested_root->GetWidgetOfType(WWT_CLOSEBOX)) { + delete w; + } else if (_settings_client.gui.hover_delay_ms == 0 && wid->tool_tip != 0) { + GuiShowTooltips(w, wid->tool_tip, 0, NULL, TCC_RIGHT_CLICK); + } } /** @@ -1259,39 +1264,46 @@ static inline bool IsVitalWindow(const Window *w) * Get the z-priority for a given window. This is used in comparison with other z-priority values; * a window with a given z-priority will appear above other windows with a lower value, and below * those with a higher one (the ordering within z-priorities is arbitrary). - * @param w The window to get the z-priority for - * @pre w->window_class != WC_INVALID + * @param wc The window class of window to get the z-priority for + * @pre wc != WC_INVALID * @return The window's z-priority */ -static uint GetWindowZPriority(const Window *w) +static uint GetWindowZPriority(WindowClass wc) { - assert(w->window_class != WC_INVALID); + assert(wc != WC_INVALID); uint z_priority = 0; - switch (w->window_class) { + switch (wc) { case WC_ENDSCREEN: ++z_priority; + FALLTHROUGH; case WC_HIGHSCORE: ++z_priority; + FALLTHROUGH; case WC_TOOLTIPS: ++z_priority; + FALLTHROUGH; case WC_DROPDOWN_MENU: ++z_priority; + FALLTHROUGH; case WC_MAIN_TOOLBAR: case WC_STATUS_BAR: ++z_priority; + FALLTHROUGH; case WC_OSK: ++z_priority; + FALLTHROUGH; case WC_QUERY_STRING: case WC_SEND_NETWORK_MSG: ++z_priority; + FALLTHROUGH; case WC_ERRMSG: case WC_CONFIRM_POPUP_QUERY: @@ -1299,6 +1311,7 @@ static uint GetWindowZPriority(const Window *w) case WC_NETWORK_STATUS_WINDOW: case WC_SAVE_PRESET: ++z_priority; + FALLTHROUGH; case WC_GENERATE_LANDSCAPE: case WC_SAVELOAD: @@ -1310,15 +1323,19 @@ static uint GetWindowZPriority(const Window *w) case WC_AI_SETTINGS: case WC_TEXTFILE: ++z_priority; + FALLTHROUGH; case WC_CONSOLE: ++z_priority; + FALLTHROUGH; case WC_NEWS_WINDOW: ++z_priority; + FALLTHROUGH; default: ++z_priority; + FALLTHROUGH; case WC_MAIN_WINDOW: return z_priority; @@ -1341,11 +1358,11 @@ static void AddWindowToZOrdering(Window *w) /* Search down the z-ordering for its location. */ Window *v = _z_front_window; uint last_z_priority = UINT_MAX; - while (v != NULL && (v->window_class == WC_INVALID || GetWindowZPriority(v) > GetWindowZPriority(w))) { + while (v != NULL && (v->window_class == WC_INVALID || GetWindowZPriority(v->window_class) > GetWindowZPriority(w->window_class))) { if (v->window_class != WC_INVALID) { /* Sanity check z-ordering, while we're at it. */ - assert(last_z_priority >= GetWindowZPriority(v)); - last_z_priority = GetWindowZPriority(v); + assert(last_z_priority >= GetWindowZPriority(v->window_class)); + last_z_priority = GetWindowZPriority(v->window_class); } v = v->z_back; @@ -1538,16 +1555,16 @@ void Window::FindWindowPlacementAndResize(int def_width, int def_height) * @param top Top edge of the rectangle * @param width Width of the rectangle * @param height Height of the rectangle + * @param toolbar_y Height of main toolbar * @param pos If rectangle is good, use this parameter to return the top-left corner of the new window * @return Boolean indication that the rectangle is a good place for the new window */ -static bool IsGoodAutoPlace1(int left, int top, int width, int height, Point &pos) +static bool IsGoodAutoPlace1(int left, int top, int width, int height, int toolbar_y, Point &pos) { int right = width + left; int bottom = height + top; - const Window *main_toolbar = FindWindowByClass(WC_MAIN_TOOLBAR); - if (left < 0 || (main_toolbar != NULL && top < main_toolbar->height) || right > _screen.width || bottom > _screen.height) return false; + if (left < 0 || top < toolbar_y || right > _screen.width || bottom > _screen.height) return false; /* Make sure it is not obscured by any window. */ const Window *w; @@ -1575,17 +1592,25 @@ static bool IsGoodAutoPlace1(int left, int top, int width, int height, Point &po * @param top Top edge of the rectangle * @param width Width of the rectangle * @param height Height of the rectangle + * @param toolbar_y Height of main toolbar * @param pos If rectangle is good, use this parameter to return the top-left corner of the new window * @return Boolean indication that the rectangle is a good place for the new window */ -static bool IsGoodAutoPlace2(int left, int top, int width, int height, Point &pos) +static bool IsGoodAutoPlace2(int left, int top, int width, int height, int toolbar_y, Point &pos) { + bool rtl = _current_text_dir == TD_RTL; + /* Left part of the rectangle may be at most 1/4 off-screen, * right part of the rectangle may be at most 1/2 off-screen */ - if (left < -(width >> 2) || left > _screen.width - (width >> 1)) return false; + if (rtl) { + if (left < -(width >> 1) || left > _screen.width - (width >> 2)) return false; + } else { + if (left < -(width >> 2) || left > _screen.width - (width >> 1)) return false; + } + /* Bottom part of the rectangle may be at most 1/4 off-screen */ - if (top < 22 || top > _screen.height - (height >> 2)) return false; + if (top < toolbar_y || top > _screen.height - (height >> 2)) return false; /* Make sure it is not obscured by any window. */ const Window *w; @@ -1615,11 +1640,14 @@ static Point GetAutoPlacePosition(int width, int height) { Point pt; + bool rtl = _current_text_dir == TD_RTL; + /* First attempt, try top-left of the screen */ const Window *main_toolbar = FindWindowByClass(WC_MAIN_TOOLBAR); - if (IsGoodAutoPlace1(0, main_toolbar != NULL ? main_toolbar->height + 2 : 2, width, height, pt)) return pt; + const int toolbar_y = main_toolbar != NULL ? main_toolbar->height : 0; + if (IsGoodAutoPlace1(rtl ? _screen.width - width : 0, toolbar_y, width, height, toolbar_y, pt)) return pt; - /* Second attempt, try around all existing windows with a distance of 2 pixels. + /* Second attempt, try around all existing windows. * The new window must be entirely on-screen, and not overlap with an existing window. * Eight starting points are tried, two at each corner. */ @@ -1627,39 +1655,41 @@ static Point GetAutoPlacePosition(int width, int height) FOR_ALL_WINDOWS_FROM_BACK(w) { if (w->window_class == WC_MAIN_WINDOW) continue; - if (IsGoodAutoPlace1(w->left + w->width + 2, w->top, width, height, pt)) return pt; - if (IsGoodAutoPlace1(w->left - width - 2, w->top, width, height, pt)) return pt; - if (IsGoodAutoPlace1(w->left, w->top + w->height + 2, width, height, pt)) return pt; - if (IsGoodAutoPlace1(w->left, w->top - height - 2, width, height, pt)) return pt; - if (IsGoodAutoPlace1(w->left + w->width + 2, w->top + w->height - height, width, height, pt)) return pt; - if (IsGoodAutoPlace1(w->left - width - 2, w->top + w->height - height, width, height, pt)) return pt; - if (IsGoodAutoPlace1(w->left + w->width - width, w->top + w->height + 2, width, height, pt)) return pt; - if (IsGoodAutoPlace1(w->left + w->width - width, w->top - height - 2, width, height, pt)) return pt; + if (IsGoodAutoPlace1(w->left + w->width, w->top, width, height, toolbar_y, pt)) return pt; + if (IsGoodAutoPlace1(w->left - width, w->top, width, height, toolbar_y, pt)) return pt; + if (IsGoodAutoPlace1(w->left, w->top + w->height, width, height, toolbar_y, pt)) return pt; + if (IsGoodAutoPlace1(w->left, w->top - height, width, height, toolbar_y, pt)) return pt; + if (IsGoodAutoPlace1(w->left + w->width, w->top + w->height - height, width, height, toolbar_y, pt)) return pt; + if (IsGoodAutoPlace1(w->left - width, w->top + w->height - height, width, height, toolbar_y, pt)) return pt; + if (IsGoodAutoPlace1(w->left + w->width - width, w->top + w->height, width, height, toolbar_y, pt)) return pt; + if (IsGoodAutoPlace1(w->left + w->width - width, w->top - height, width, height, toolbar_y, pt)) return pt; } - /* Third attempt, try around all existing windows with a distance of 2 pixels. + /* Third attempt, try around all existing windows. * The new window may be partly off-screen, and must not overlap with an existing window. * Only four starting points are tried. */ FOR_ALL_WINDOWS_FROM_BACK(w) { if (w->window_class == WC_MAIN_WINDOW) continue; - if (IsGoodAutoPlace2(w->left + w->width + 2, w->top, width, height, pt)) return pt; - if (IsGoodAutoPlace2(w->left - width - 2, w->top, width, height, pt)) return pt; - if (IsGoodAutoPlace2(w->left, w->top + w->height + 2, width, height, pt)) return pt; - if (IsGoodAutoPlace2(w->left, w->top - height - 2, width, height, pt)) return pt; + if (IsGoodAutoPlace2(w->left + w->width, w->top, width, height, toolbar_y, pt)) return pt; + if (IsGoodAutoPlace2(w->left - width, w->top, width, height, toolbar_y, pt)) return pt; + if (IsGoodAutoPlace2(w->left, w->top + w->height, width, height, toolbar_y, pt)) return pt; + if (IsGoodAutoPlace2(w->left, w->top - height, width, height, toolbar_y, pt)) return pt; } - /* Fourth and final attempt, put window at diagonal starting from (0, 24), try multiples - * of (+5, +5) + /* Fourth and final attempt, put window at diagonal starting from (0, toolbar_y), try multiples + * of the closebox */ - int left = 0, top = 24; + int left = rtl ? _screen.width - width : 0, top = toolbar_y; + int offset_x = rtl ? -(int)NWidgetLeaf::closebox_dimension.width : (int)NWidgetLeaf::closebox_dimension.width; + int offset_y = max(NWidgetLeaf::closebox_dimension.height, FONT_HEIGHT_NORMAL + WD_CAPTIONTEXT_TOP + WD_CAPTIONTEXT_BOTTOM); restart: FOR_ALL_WINDOWS_FROM_BACK(w) { if (w->left == left && w->top == top) { - left += 5; - top += 5; + left += offset_x; + top += offset_y; goto restart; } } @@ -1708,16 +1738,31 @@ static Point LocalGetWindowPlacement(const WindowDesc *desc, int16 sm_width, int int16 default_width = max(desc->GetDefaultWidth(), sm_width); int16 default_height = max(desc->GetDefaultHeight(), sm_height); - if (desc->parent_cls != 0 /* WC_MAIN_WINDOW */ && - (w = FindWindowById(desc->parent_cls, window_number)) != NULL && - w->left < _screen.width - 20 && w->left > -60 && w->top < _screen.height - 20) { - - pt.x = w->left + ((desc->parent_cls == WC_BUILD_TOOLBAR || desc->parent_cls == WC_SCEN_LAND_GEN) ? 0 : 10); - if (pt.x > _screen.width + 10 - default_width) { - pt.x = (_screen.width + 10 - default_width) - 20; + if (desc->parent_cls != 0 /* WC_MAIN_WINDOW */ && (w = FindWindowById(desc->parent_cls, window_number)) != NULL) { + bool rtl = _current_text_dir == TD_RTL; + if (desc->parent_cls == WC_BUILD_TOOLBAR || desc->parent_cls == WC_SCEN_LAND_GEN) { + pt.x = w->left + (rtl ? w->width - default_width : 0); + pt.y = w->top + w->height; + return pt; + } else { + /* Position child window with offset of closebox, but make sure that either closebox or resizebox is visible + * - Y position: closebox of parent + closebox of child + statusbar + * - X position: closebox on left/right, resizebox on right/left (depending on ltr/rtl) + */ + int indent_y = max(NWidgetLeaf::closebox_dimension.height, FONT_HEIGHT_NORMAL + WD_CAPTIONTEXT_TOP + WD_CAPTIONTEXT_BOTTOM); + if (w->top + 3 * indent_y < _screen.height) { + pt.y = w->top + indent_y; + int indent_close = NWidgetLeaf::closebox_dimension.width; + int indent_resize = NWidgetLeaf::resizebox_dimension.width; + if (_current_text_dir == TD_RTL) { + pt.x = max(w->left + w->width - default_width - indent_close, 0); + if (pt.x + default_width >= indent_close && pt.x + indent_resize <= _screen.width) return pt; + } else { + pt.x = min(w->left + indent_close, _screen.width - default_width); + if (pt.x + default_width >= indent_resize && pt.x + indent_close <= _screen.width) return pt; + } + } } - pt.y = w->top + ((desc->parent_cls == WC_BUILD_TOOLBAR || desc->parent_cls == WC_SCEN_LAND_GEN) ? w->height : 10); - return pt; } switch (desc->default_pos) { @@ -2825,11 +2870,12 @@ static void MouseLoop(MouseClick click, int mousewheel) switch (click) { case MC_DOUBLE_LEFT: case MC_LEFT: - if (!HandleViewportClicked(vp, x, y) && - !(w->flags & WF_DISABLE_VP_SCROLL) && + if (HandleViewportClicked(vp, x, y)) return; + if (!(w->flags & WF_DISABLE_VP_SCROLL) && _settings_client.gui.left_mouse_btn_scrolling) { _scrolling_viewport = true; _cursor.fix_at = false; + return; } break; @@ -2841,13 +2887,16 @@ static void MouseLoop(MouseClick click, int mousewheel) /* clear 2D scrolling caches before we start a 2D scroll */ _cursor.h_wheel = 0; _cursor.v_wheel = 0; + return; } break; default: break; } - } else { + } + + if (vp == NULL || (w->flags & WF_DISABLE_VP_SCROLL)) { switch (click) { case MC_LEFT: case MC_DOUBLE_LEFT: @@ -2858,7 +2907,7 @@ static void MouseLoop(MouseClick click, int mousewheel) if (!scrollwheel_scrolling || w == NULL || w->window_class != WC_SMALLMAP) break; /* We try to use the scrollwheel to scroll since we didn't touch any of the buttons. * Simulate a right button click so we can get started. */ - /* FALL THROUGH */ + FALLTHROUGH; case MC_RIGHT: DispatchRightClickEvent(w, x - w->left, y - w->top); break;